Iso/iec jtc 1/sc 29 N



Yüklə 144,65 Kb.
tarix26.08.2018
ölçüsü144,65 Kb.
#74546


INTERNATIONAL ORGANISATION FOR STANDARDISATION

ORGANISATION INTERNATIONALE DE NORMALISATION

ISO/IEC JTC1/SC29/WG11

CODING OF MOVING PICTURES AND AUDIO

ISO/IEC JTC1/SC29/WG11

MPEG2009/N10714

July 2009, London, UK
Source: Video Subgroup

Status: Approved

Title: Text of ISO/IEC 23002-4/FPDAM 1 Video Tool Library Conformance and Reference Software

Editor: Gwo Giun (Chris) Lee, Christophe Lucarz, and He-Yuan Lin

ISO/IEC JTC 1/SC 29   

Date:   2009-09-9

ISO/IEC 23002-4:200X/FPDAM 1

ISO/IEC JTC 1/SC 29/WG 11

Secretariat:   

Information technology — MPEG video technologies — Part 4: Video tool librar, AMENDMENT 1: Video tool library conformance and reference software

Élément introductif — Élément central — Partie 4: Titre de la partie



Warning

This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard.

Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.



Copyright notice

This ISO document is a Draft International Standard and is copyright-protected by ISO. Except as permitted under the applicable laws of the user's country, neither this ISO draft nor any extract from it may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, photocopying, recording or otherwise, without prior written permission being secured.

Requests for permission to reproduce should be addressed to either ISO at the address below or ISO's member body in the country of the requester.

ISO copyright office

Case postale 56  CH-1211 Geneva 20

Tel.  + 41 22 749 01 11

Fax  + 41 22 749 09 47

E-mail  copyright@iso.org

Web  www.iso.org

Reproduction may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.



Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.

International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.

The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

Amendment 1 to ISO/IEC 23002 4:200X was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.

Information technology — MPEG video technologies — Part 4: Video tool librar, AMENDMENT 1: Video tool library conformance and reference software

After 3.11, add the following:

decoder configuration


conceptual configuration of a decoding solution.

  • A decoding solution of an existing MPEG standard at a specific profile and level.

  • A new decoding solution built from tools of an existing MPEG standard.

  • A new decoding solution built from tools of an existing MPEG standard and some new MPEG tools included in the MPEG video tool library.

  • A new decoding solution that is composed of new MPEG tools included in the MPEG video tool library.

In summary a RVC decoder description essentially consists of a list of FU and of the specification of the FU connections (FND expressed in FNL) plus the implicit specification of the parser in terms of bistream syntax description (BSPD expressed in RVC-BSDL). So as to be complete behavioural model (the ADM) an RVC decoder description needs to make reference to the behaviour of each FU that is provided in terms of I/O behaviour by the RVC video toolbox library specified in RVC-CAL.

model instantiation


building of the abstract decoder model from the decoder description (consisting of the BSD and the FND) and from FUs from VTL

NOTE During the model instantiation, the parser FU is reconfigured according to the btstream syntax description (BSD) or loaded from VTL.


FU network language

FNL


language that describes the FND, known also as “network of FUs”.

BSDL


description of the bitstream syntax and the parsing rules

NOTE Bitstream Syntax Description Language (BSDL) was standardized in ISO/IEC 23001-5.


RVC-BSDL


pertinent subset of BSDL which is defined within the scope of the current RVC framework

Black box testing


testing that specifies only the input, output of the object under verification, where the internals of the object being tested are irrelevant and therefore hidden.

Add the following after 7.3:

8Conformance testing for MPEG-C Part 4 (ISO/IEC 23002-4)


In order to warrant the reusability, maintainability, and flexibility of the functional units, their corresponding testbeds should also be created for conformance validation prior to inclusion in the RVC specification. These testbeds also serve as executable “application notes” which provide the users with concise procedures on the utilization of the RVC video tool library. Furthermore, specification of the I/O behaviors of the RVC video tool library is also achieved by executing the tool with its conformance testbed. Hence, the testbed should not only verify the functionality but also validate the conformance of the FU’s.

8.1Internal description of FU’s and Conformance Testing Environment


As mentioned in previous sections, the RVC toolbox is composed of functional units and tools to test the conformance of functional units as shown in Figure AMD1.1 [2].

Figure AMD1.1 — Basic Functional Unit of Video Tool Library

FU’s in RVC are modeled as actors in the CAL language, where the behavior of the FU’s depend on the input tokens and the internal state of the actors. Benefiting from the CAL-based FU’s, the verification processes of the FU’s should be performed by feeding tokens to the FU’s and checking the state and corresponding output tokens, since the functional units are encapsulated independently. The conformance testing tools should also be implemented in CAL, where the testing tools act as the testbed for functional units in Moses as shown in Figure AMD1.2 .

The testbed is composed of the test pattern database, the golden response database, and the automatic comparison and analysis unit. The test pattern database contains the test patterns or tokens to feed the functional unit under verification or testing for different purposes. The tokens are categorized (tbd) into different classes and the tokens in both the test pattern database and the expected golden response database should be conformal to the textual definitions in the RVC specification. Scheduling of the tokens will also be described in the textual description for conformal testing purposes (tbd).



Figure AMD1.2 — Conformance testbed of functional units


8.1.1Generation of the Test Pattern and Golden Response


Test patterns or predefined input tokens and the corresponding golden responses or expected output tokens to and from the FU’s have been generated from the corresponding MPEG reference software by using the associated development kit from CAL (tbd).

8.1.2Conformance


The verification tests should be conformal to the normative textual description for the corresponding functional units in the RVC Video Tool Library specification. For conformance purposes, all normative portions of the FU’s should be verified using black box strategy.

8.1.3Different categories of verification Tests


The verification tests in RVC conformance tools are categorized into FU level and CODEC level testing. During the addition of new beneficial coding tools to the tool library in MPEG RMC/RVC, the corresponding conformal tests should also be specified and performed before being accepted in the ISO/IEC 23001-4 and ISO/IEC 23002-4 specifications. In addition, systematic top down procedures for codec level conformance testing should also be generated.

8.1.4Verification test coverage


Coverage analysis as described below is used in the informative verification of RVC to measure the quality of the testbed quantitatively. This analysis will indicate both the parts of the functional units that have been executed and also specify places where further verification are required. The major types of coverage measures include action coverage, condition coverage, branch coverage, and path coverage.

8.1.4.1Action coverage: The percentage of all the statements of actions which have been exercised in the actors of a FU for CAL codes.

8.1.4.2Branch coverage: The percentage of the branches which has been tested, where the branch is the outcome of a decision.

8.1.4.3Condition coverage: The percentage of the outcome (true or false) of each conditional sub-expression that has been executed.

8.1.4.4Path coverage: The percentage of the paths in the FU that has been executed. A path is the independent sequence of all the possible combinations of the branches in the FU.

8.2Description of Functional Unit Conformance Testing

8.2.1Test Procedure


The functional units of RVC are classified into two major categories, namely algorithmic content FU’s and data management FU’s [7].

8.2.1.1Algorithmic content FU’s: This type of FU comprises a coding tool of a specific MPEG standard with particular profile-and-level. The behaviors of an algorithmic content FU should be completely conformal to the correspding specifaction described in MPEG standard document.

8.2.1.2Data management FU’s: This category of FU packs the required decoding information and data into tokens in CAL and feeds the tokens into the other functional units in the correct order.


The conformance test requirements for these two types of functional units are slightly different, since the functionalities of algorithmic content FU’s have been specified in the existing MPEG standard but the data management FU’s, however, are brand-new and under development. Therefore, for the data management FU’s, it is mandatory that test patterns and the corresponding golden response achieve 100% test coverage to guarantee the functionality of such FU’s. In order to claim that an algorithmic content FU is compliant to a specific MPEG standard with particular profile and level, the FU is strictly required to successfully pass all the conformance test cases extracted from decoding the existing conformance bitstreams of the normative test suite by using the corresponding reference software. Note that normative test suites of each standard can be found in the electronic annex of the MPEG standards. In addition, the testbed for the algorithmic content FU’s must accomplish 100% test coverage as well. After RVC is standardized, some of the test patterns and golden response generated for verification of functional units will serve as the conformance test suites of FU’s directly.

In order for the FU’s to be included in the RVC specification, it is mandatory that at least one successful test is performed from every coverage categories including action coverage, condition coverage, branch coverage, and path coverage (TBD).


8.2.1.3Conformance testing procedures for ALGO FU


The functionalities of ALGO FU’s have to be fully verified with the following procedures:

Verify all the modes of operations for the ALGO FU with



  1. meaningful and clearly specified test cases. These descriptions should include:

i. the token granularity used and tested,

ii. the parameter settings, etc.



  1. The purpose (e.g. testing the dynamic range in color components, syntax elements) and inputs/outputs of the test cases shall be clearly specified. The input and output includes test tokens drawn from the existing conformance test bitstreams of the corresponding standards.

8.2.1.4Conformance testing procedures for MGNT FUs


The conformance testing of MGNT FUs is conducted when conformance testing of network of FUs is performed.

8.2.1.5Conformance testing procedures for network of FUs


The network of FUs in this context is tested using the same procedures as described in 8.2.1.3 for the ALGO FUs. This time the network of FUs can be considered as a virtual ALGO FU in that it receives input tokens and produces output tokens. A network of FUs may contain a number of ALGO FUs as well as MGNT FUs. A network of FUs may also contain several networks of FUs

8.2.2List of functional units for video tool library and associated conformance testing

8.2.2.1Syntax Parsing


FU Name

RVC simulation model

Conformance testing

Contributor

Algo_ SynP_Generic











8.2.2.2Syntax Parsing FU for MPEG-4 Simple Profile


FU Name

RVC simulation model

Conformance testing

Contributor

Algo_MVR_MedianOfThreeLeftAndTopAndTopRight









Algo_MVSequence_LeftAndTopAndTopRight






EPFL/Xilinx

Mgnt_Splitter_420_TYPE






EPFL/Xilinx

Algo_VLDtableB6_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB7_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB8_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB12_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB13_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB14_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB15_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB16_MPEG4Part2






ZJU/EPFL

Algo_VLDtableB17_MPEG4Part2






ZJU/EPFL


8.2.2.3Texture Decoding FU for MPEG-4 Simple Profile


FU Name

RVC simulation model

Conformance testing

Contributor

Algo_IQ_QSAndQmatrixMp4vOrH263Scaler






EPFL/Xilinx

Algo_DCRAddr_ThreeLeftTop_8x8






EPFL/Xilinx

Algo_DCRAddr_ThreeLeftTop_16x16






EPFL/Xilinx

Algo_DCRInvPred_CHROMA_8x8






EPFL/Xilinx

Algo_DCRInvPred_LUMA_16x16






EPFL/Xilinx

Algo_IS_ZigzagOrAlternateHorizontalVertical_8x8






Mitsubishi

Algo_IAP_AdaptiveHorizontalOrVerticalPred_8x8






EPFL/Xilinx

Algo_IAP_AdaptiveHorizontalOrVerticalPred_16x16






EPFL/Xilinx

Algo_IDCT2D_ISOIEC_23002_1






EPFL/Xilinx

Mgnt_DCSplit






EPFL/Xilinx


8.2.2.4Motion Compensation FU for MPEG-4 Simple Profile


FU Name

RVC simulation model

Conformance testing

Contributor

Mgnt_FB









Mgnt_FBAddr









Algo_PictureReconstruction_Saturation






EPFL/Xilinx

Algo_Interp_HalfpelBilinearRoundingControl






EPFL/Xilinx


8.2.2.5Syntax Parsing FU for MPEG-4 AVC Constrained Baseline Profile


FU Name

RVC simulation model

Conformance testing

Contributor

Algo_NALU






IETR/INSA

Algo_Synp_AVC









Algo_BlockExpand_AVC









Algo_BlockSplit_AVC









Algo_IntraPred_Split










8.2.2.6Texture Decoding FU for MPEG-4 AVC Constrained Baseline Profile


FU Name

RVC simulation model

Conformance testing

Contributor

Algo_IS_Zigzag_4x4






Mitsubishi

Algo_DCR_Hadamard_LUMA_IHT1d






Mitsubishi

Algo_Transpose4x4






Mitsubishi

Algo_DCR_Hadamard_LUMA_Reordering






Mitsubishi

Algo_DCR_Hadamard_LUMA_Scaling






Mitsubishi

Algo_DCR_Hadamard_CHROMA






Mitsubishi

Algo_IT4x4_1d






Mitsubishi

Algo_IT4x4_Addshift






Mitsubishi

Algo_IntraPred_LUMA_16x16






Mitsubishi

Algo_IntraPred_LUMA_4x4






Mitsubishi

Algo_Merge_4x4_to_16x16









Algo_IQ_QSAndSLAndIDCTScaler_4x4






Mitsubishi

Mgnt_IQ_INTRA16x16









Mgnt_DemuxIntraInter










Algo_IntraPred_4x4_to_8x8










Algo_IntraPred_Add









Algo_IntraPred_CHROMA






Mitsubishi

Mgnt_Intra









Mgnt_Intra4x4









Mgnt_IQ_Chroma










8.2.2.7Motion Compensation FU for MPEG-4 AVC Constrained Baseline Profile


FU Name

RVC simulation model

Conformance testing

Contributor

Mgnt_DBF










Algo_DBF_AdaptiveFilter_AVC







NCKU

Algo_Interp_EighthPelBilinear






NCKU

Algo_Interp_SeparableSixTapQuarterPelAVC






NCKU

Algo_Interp_split_MB









Algo_Interp_split_MB_C









Algo_MVR_MultiFrameAdptive









Mgnt_DPB_without_adaptiveFilter









Mgnt_Buffer_Neighbor_FullMb









Mgnt_Buffer_Neighbor_4x4









Algo_MMCO









Mgnt_FBAddr_Chroma_MxN






NCKU

Mgnt_Interp_FBAddr_Luma_MxN






NCKU

Mgnt_POC










Mgnt_MVR









Algo_Add










8.3Conformance Testing at Decoder Level

8.3.1Test Procedure

8.3.1.1Conformance testing procedure for a decoder


A decoder can be considered as a network of FUs that contains all the necessary FUs and networks of FUs inside. Therefore, the conformance testing of a decoder can be conducted in the same manner as in 8.2.1.5. The only difference is that the input token of the decoder network is the conformant bitstream.

8.3.1.2Conformance testing and acceptance procedures for a new decoder


For accepting a new decoder in RVC framework, it is expected that the proposers bring the conformance testing of newly described FUs and network of FUs that contains the newly described FUs. If the new decoder is drawn from the supported decoder in RVC, the proposers can skip the conformance testing of the existing FUs and network of FUs in RVC conformance test.

To test the newly described FUs and network of FUs, the proposers should follow the procedures as described below:



  1. The new FU’s must pass the conformance testing procedure described in 8.2.1.

  2. Verify the bitstream syntax description (BSD) of the decoder. All the possible bitstream syntax structures must be verified.

  3. The FU network description (FND) of the decoder including the instantiation of FU’s, the parameters of FU’s and the interconnection of FU network should be verified.

  4. Verify the overall decoder configuration by building a decoding solution. All the functionalities in the RVC decoder must be verified by test bitstreams with the consideration on:

  1. the token granularity used and the synchronization between each FU

  2. the possible isolation of FU’s to improve the controllability and accessibility for identifying the locations of bugs and inconformity

8.3.2MPEG-4 SP

8.3.3AVC BP

9RVC Simulation Model (RSM)

9.1Overview


This Clause describes the RVC Simulation Model. The following figure illustrates the RVC platform.

The Decoder Description is composed of:



  • the Bitstream Syntax Description(BSD) in RVC-BSDL [support: any XML editor]

  • the FU Network Description (FND) in FNL [support: any XML editor]

The encoded video data is a binary bitstream composed of 0s and 1s. [Binary file]

The Abstract Decoder Model (ADM) is the instantiated decoder model. It is composed of the FUs and their connections. The ADM is written in CAL (for actors) and in XDF (for the networks). [Support: Open DataFlow environment]

The Video Toolbox Library (VTL) is a collection of FUs written in CAL and XDF.

The Model Instantiation comprises:



  • the instantiation of the ADM from the FUs of the VTL

  • the generation of the parser FU which outputs the parser in CAL and its network description in FNL from the RVC-BSDL description. [Support: any XML Editor / XSLT debugger]

The Decoder Implementation is the methodology of the designer to implement the ADM into implementation languages. CAL2C and CAL2HDL tools are under development to transform the ADM into an implementation representation (C and VHDL for example). During this process, the designers can pick FUs which are implemented in a target language and belong to the proprietary toolbox. [Support: code generators (CAL2C and CAL2HDL) under Open DataFlow environment]

The Decoding Solution may be any final implementation of the decoder. For example, the MPEG-4 Simple Profile decoder has been completely translated into hardware on a FPGA, this is a decoding solution that fills some requirements.

The decoder video data is the video itself, outputted in a given format.

9.2Guidelines to build a RVC platform


Constructing a new decoder requires modifying at least one of the following items:

  • The bitstream: build a new bitstream binary file and a new RVC-BSDL schema

  • The FU network description: define new connections between FUs composing the decoder

  • New Functional Units: define new coding tools for the new algorithm

The different steps of the procedure to build a new decoder with the RSM are:

9.2.1Encoder side issues


Define the bitstream

The bitstream can be build with a C/C++ reference software or using any methodology that enables to output a binary file. The equivalent RVC-BSDL description of the bitstream must be done/completed by the designer himself. The outputs of this task is the RVC-BSDL description of the bitstream and the bitstream itself in a binary format.



Build the FU network description

Once all the FUs are designed, they must be connected together to build the decoder. The designer can pick in the VTL to complete his decoder with existing FUs. It consists simply to copy paste the necessary FUs into the working directory under OpenDF. Thus, the output of this task is the Decoder Description (in FNL).


9.2.2Video Tool Library issue


Building the FUs

For a designer to test his new decoder, he needs to write his new coding tools in CAL and to integrate it into VTL. The designer will design his FU under the OpenDF environment. The outputs of this task are the FUs written in CAL necessary for the new decoder.


9.2.3Decoder Composition Mechanism


Building the parser FU

The generation of the main parser actor has been automated. It generates a parser written in CAL and FNL from the bitstream schema (in RVC-BSDL) describing the bitstream. This transformation process is written in XSLT. The generated parser FU is a hierarchical FU: it contains a main component and several other components connected together in order to parse the bitstream (e.g. VLD tables).



  • Build the main parser component: the first subtask is to generate the main parser FU. The bitstream syntax description is given to the process which generates automatically the main component of the parser according to the following figure:

Pre-processing is the first operation conducted by the top level stylesheet. The pre-processing collects the individual schemata into a single intermediate tree, taking care to correctly manage the namespace of each component Schema and also performs a number of other tasks, including assigning names to anonymous types and structures. The processing is divided in the main CALML subparts. Globals includes all constant/variables used in the actions. Actions provide all the operations with their guard, input, output and behavior. Transitions define the state machine passing from one state to another by the actions. Priorities define the priorities between different possible actions available at a same state. CALML Templates collects templates used by other modules to generate the output. Finally CALML Structure put all the things together to generate the new CALML Parser Actor.



The output of this task is the CAL and FNL codes describing the hierarchical parser FU built from the BSDL schema of the bitstream.

  • Connecting the main parser components with the others components:

This task consists in connecting the other necessary components with the main component, using NL. The output of this task is the FNL showing the connection between the main parser actor and its parsing FU (for example VLD FUs).

Building the Abstract Decoder Model

It consists in picking the FUs from the VTL and to assemble them according to the FU network description. Designer copy the files of the FUs (.cal files) and insert them into the OpenDF simulator.

At this step, the ADM design which is composed of CAL actors and their respective connections has been successfully output based on the Decoder Composition Mechanism.

Decoder Implementation

Implementation begins when the ADM is available. This step can be done by several ways and it is not normative. Designers can use whatever methodology to implement this ADM. For the moment, some tools already exist to generate automatically C and Verilog/VHDL code from the ADM. The generated code can lead to an implementation.



Table of mapping software modules with the FUs (new section)

The Decoding Solution

At this end, the designer obtains a decoding solution, which is the means to decode a bitstream to produce video data.



Bibliography

  1. The Ptolemy Project. Department EECS, University of California at Berkeley (http://ptolemy.eecs.berkeley.edu).

  2. ISO/IEC JTC1/SC29/WG11 MPEG N8484, “WD 2 of ISO/IEC 23002-4,” Hangzhou, October 2006

  3. ISO/IEC JTC1SC29/WG11 MPEG N8772 “RVC Simulation Model (RSM) V3.0,” Marrakech, January 2007

  4. ISO/IEC JTC1SC29/WG11 MPEG N8040. “Study of Reconfigurable Video Coding V1.0,” Montreux, April 2006.

  5. M. Keating and P. Bricaud, “Reuse Methodology Manual 3rd Edition”, Kluwer Academic Publishing Group, 2002.

  6. D. Drako and P. Cohen, “HDL Verification Coverage”, Integrated System Design Magazine, June 1998.

  7. ISO/IEC JTC1/SC29/WG11 MPEG M14113, “A proposal for the classification and mapping of MPEG video coding technology into functional units for the RVC framework,” Marrakech, January 2007



Document type:   

Document subtype:   

Document stage:   

Document language:   


  


Yüklə 144,65 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin