Information technology — MPEG video technologies — Part 4: Video tool library

ISO/IEC 23002-4:2018 defines the description of the MPEG video tool library (VTL) based on the decoder description specified in ISO/IEC 23001-4. This tool library defines the specification of FUs, which are sufficient to build complete decoding solutions according to the following coding standards: - ISO/IEC 14496-2 (MPEG-4 Simple Profile), - ISO/IEC 14496-10 (MPEG-4 AVC Constrained Baseline Profile and Progressive High Profile), - ISO/IEC 14496-16 (MPEG-4 SC3DMC), and - ISO/IEC 23008-2 (HEVC Main Profile). The objective of ISO/IEC 23001-4 is to define the general framework principles, and this document defines the MPEG VTL that includes relevant tools (or FUs) from the existing MPEG coding standards. Each FU is defined in the form of a textual description, which can be found in 4.1. The input and output behaviour follows the conventions described in Clause 5, Clause 6, and Clause 7. ISO/IEC 23002-4:2018 compliant implementations can be designed using any software or hardware language and components. The reference software for the textual specification of FUs is written in RVC-CAL language of which a formal syntax is provided in ISO/IEC 23001-4.

Technologies de l'information — Technologies vidéo MPEG — Partie 4: Bibliothèque d'outils vidéo

General Information

Status
Published
Publication Date
06-Mar-2018
Current Stage
9060 - Close of review
Start Date
02-Sep-2028
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 23002-4:2018 - Information technology -- MPEG video technologies
English language
261 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 23002-4
Third edition
2018-03
Information technology — MPEG video
technologies —
Part 4:
Video tool library
Technologies de l'information — Technologies vidéo MPEG —
Partie 4: Bibliothèque d'outils vidéo
Reference number
ISO/IEC 23002-4:2018(E)
©
ISO/IEC 2018

---------------------- Page: 1 ----------------------
ISO/IEC 23002-4:2018(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2018
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2018 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 23002-4:2018(E)
Contents Page
Foreword. viii
Introduction. x
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 2
4 FU description convention . 2
4.1 FU interface . 2
4.2 FU IDs . 3
4.3 Token pool . 7
4.4 Array data order . 10
4.5 Input ports (reset_i, init_i, start_i). 10
4.6 FU block diagram notations . 10
4.7 Conventions . 11
4.8 Granular FU . 11
5 General-purpose FUs . 11
5.1 Syntax parsing . 11
5.1.1 Generic syntax parser . 11
5.1.2 Algo_Byte2bit . 11
5.1.3 Mgnt_Select_MB_4 . 12
5.1.4 Mgnt_Merger420 . 12
5.1.5 Mgnt_Select_MB_8 . 12
5.1.6 Mgnt_SynP_DEMUX . 13
5.1.7 Mgnt_SynP_BytePreprocessor . 13
5.2 General processing FUs . 14
5.2.1 Algo_InverseQuantization1D . 14
5.2.2 Algo_InverseQuantizationND . 15
5.2.3 Algo_InversePrediction1D . 18
5.2.4 Algo_InversePredictionND . 20
5.2.5 Algo_ED_AD_StaticBit . 24
5.2.6 Algo_ED_VLD. 26
5.2.7 Alog_ED_AD_AdaptiveBit . 27
5.2.8 Algo_ED_BitPrecision . 28
5.2.9 Algo_ED_AD . 31
5.2.10 Algo_ED_AD_EG . 36
5.2.11 Algo_ED_4bitsD. 42
5.2.12 Algo_ED_FixedLength . 44
5.2.13 Algo_LookUpTable1D . 45
5.2.14 Algo_ContextModeling . 46
5.2.15 Algo_simpleMath_2op . 48
5.2.16 Mgnt_Replicate_1_2 . 50
5.2.17 Mgnt_Replicate_1_4 . 50
5.2.18 Mgnt_Replicate_1_8 . 51
5.2.19 Mgnt_MUX_2_1 . 52
5.2.20 Mgnt_MUX_4_1 . 53
5.2.21 Mgnt_MUX_8_1 . 55
5.2.22 Mgnt_DEMUX_1_2 . 56
5.2.23 Mgnt_DEMUX_1_4 . 57
5.2.24 Mgnt_DEMUX_1_8 . 59
5.2.25 Mgnt_ExtractSegment . 60
5.2.26 Mgnt_ProviderValue . 61
5.2.27 Mgnt_RepeatSegment . 62
5.2.28 Mgnt_ExtractBytes . 64
5.2.29 Mgnt_ExtractBits . 65
© ISO/IEC 2018 — All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 23002-4:2018(E)
5.2.30 Mgnt_Provider1D . 66
5.2.31 Mgnt_Provider2D . 67
6 FUs for MPEG-4 Simple Profile . 69
6.1 General . 69
6.2 Syntax parsing . 69
6.2.1 Algo_SynP . 69
6.2.2 Mgnt_BlockExpand . 69
6.2.3 Mgnt_Splitter420B . 70
6.2.4 Mgnt_Splitter420MV . 70
6.2.5 Algo_MVR_MedianOfThreeLeftAndTopAndTopRight . 71
6.2.6 Mgnt_Splitter_420_TYPE . 71
6.2.7 Algo_VLDtableB6_MPEG4Part2 . 72
6.2.8 Algo_VLDtableB7_MPEG4Part2 . 72
6.2.9 Algo_VLDtableB8_MPEG4Part2 . 73
6.2.10 Algo_VLDtableB12_MPEG4Part2 . 73
6.2.11 Algo_VLDtableB13_MPEG4Part2 . 73
6.2.12 Algo_VLDtableB14_MPEG4Part2 . 74
6.2.13 Algo_VLDtableB15_MPEG4Part2 . 74
6.2.14 Algo_VLDtableB16_MPEG4Part2 . 75
6.2.15 Algo_VLDtableB17_MPEG4Part2 . 75
6.3 Texture decoding . 76
6.3.1 Algo_IQ_QSAndQmatrixMp4vOrH263Scaler . 76
6.3.2 Algo_DCRAddr_ThreeLeftTop_8x8 . 76
6.3.3 Algo_DCRAddr_ThreeLeftTop_16x16 . 77
6.3.4 Algo_DCRInvPred_CHROMA_8x8 . 77
6.3.5 Algo_DCRInvPred_LUMA_16x16 . 78
6.3.6 Algo_IS_ZigzagOrAlternateHorizontalVertical_8x8 . 79
6.3.7 Algo_IAP_AdaptiveHorizontalOrVerticalPred_8x8 . 79
6.3.8 Algo_IAP_AdaptiveHorizontalOrVerticalPred_16x16 . 80
6.3.9 Algo_IDCT2D_ISOIEC_23002_1 . 80
6.3.10 Mgnt_DCSplit . 81
6.4 Motion compensation . 81
6.4.1 Mgnt_FB_w_Addess_8x8 . 81
6.4.2 Mgnt_FB_w_Addess_16x16 . 82
6.4.3 Algo_PictureReconstruction_Saturation . 82
6.4.4 Algo_Interp_HalfpelBilinearRoundingControl . 83
7 FUs for MPEG-4 AVC Constrained Baseline Profile . 84
7.1 General . 84
7.2 Syntax parsing . 84
7.2.1 Algo_NALU . 84
7.2.2 Algo_SynP . 84
7.2.3 Algo_BlockExpand. 85
7.2.4 Algo_BlockSplit . 85
7.2.5 Algo_IntraPred_Split . 86
7.2.6 Algo_Parser_I_PCM . 86
7.2.7 Algo_DemuxParserInfoForBlocks_Chroma . 87
7.2.8 Algo_DemuxParserInfoForBlocks_Luma . 87
7.3 Texture decoding . 88
7.3.1 Algo_IS_Zigzag_4x4 . 88
7.3.2 Algo_DCR_Hadamard_LUMA_IHT1d. 88
7.3.3 Algo_Transpose4x4 . 89
7.3.4 Algo_DCR_Hadamard_LUMA_Reordering . 89
7.3.5 Algo_DCR_Hadamard_LUMA_Scaling . 90
7.3.6 Algo_DCR_Hadamard_CHROMA . 90
7.3.7 Algo_IT4x4_1d . 90
7.3.8 Algo_IT4x4_Addshift . 91
7.3.9 Algo_IntraPred_LUMA_16x16 . 91
7.3.10 Algo_IntraPred_LUMA_4x4 . 92
iv © ISO/IEC 2018 — All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 23002-4:2018(E)
7.3.11 Algo_Merge_4x4_to_16x16 . 92
7.3.12 Algo_IQ_QSAndSLAndIDCTScaler_4x4 . 92
7.3.13 Mgnt_IQ_INTRA16x16 . 93
7.3.14 Algo_IntraPred_4x4_to_8x8 . 93
7.3.15 Algo_IntraPred_CHROMA . 94
7.3.16 Mgnt_Intra16x16 . 94
7.3.17 Mgnt_Intra4x4 . 95
7.3.18 Mgnt_IQ_Chroma . 95
7.3.19 Mgnt_Buffer_Neighbour_FullMb. 95
7.3.20 Mgnt_Buffer_Neighbour_YxY . 96
7.3.21 Algo_Merge_4x4_to_16x16_norasterscan . 96
7.3.22 Algo_Split_16x16_to_4x4_norasterscan. 97
7.4 Motion compensation . 97
7.4.1 Algo_Interp_EighthPelBilinear . 97
7.4.2 Algo_Interp_SeparableSixTapQuarterPel . 98
7.4.3 Algo_Interp_Reord . 98
7.4.4 Algo_MvLXReconstr . 99
7.4.5 Mgnt_DPB . 99
7.4.6 Algo_MMCO . 100
7.4.7 AlgoRefList . 100
7.4.8 Mgnt_InterPred . 101
7.4.9 Algo_RefIdxtoFrameNum . 101
7.5 Filtering . 102
7.5.1 Mgnt_DBF_AdaptiveFilter . 102
7.5.2 Algo_DBF_AdaptiveFilter . 102
7.5.3 Algo_MvComponentReorder . 103
7.6 Renderer . 103
7.6.1 Mgnt_POC . 103
7.6.2 Mgnt_BufferRender . 103
7.6.3 Mgnt_Merger420_AVC. 104
8 FUs for MPEG-4 AVC Progressive High Profile . 104
8.1 General . 104
8.1.1 Overview . 104
8.1.2 Algo_SynP . 104
8.1.3 Algo_BlockExpand . 106
8.1.4 Algo_DemuxParserInfoForBlocks_Luma . 106
8.2 Texture decoding . 107
8.2.1 Algo_IS_Zigzag_8x8 . 107
8.2.2 Algo_IQ_QSAndSLAndIDCTScaler_8x8 . 107
8.2.3 Algo_IIT_8x8 . 107
8.2.4 Algo_IntraPred_LUMA_8x8. 108
8.2.5 Mgnt_Intra_8x8. 108
8.2.6 Algo_Merge_8x8_to_16x16 . 109
8.2.7 Algo_DCR_Hadamard_CHROMA . 109
8.2.8 Algo_DCR_Hadamard_LUMA_Scaling . 110
8.2.9 Algo_IQ_QSAndSLAndIDCTScaler_4x4 . 110
8.2.10 Algo_Merge_8x8_to_16x16_norasterscan . 111
8.2.11 Algo_Split_16x16_to_8x8_norasterscan. 111
8.2.12 Mgnt_I4x4_I8x8_demux . 111
8.2.13 Mgnt_I4x4_I8x8_mux . 112
8.3 Motion compensation .
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.