A break-out discussion during the meeting (coordinated by Frank Bossen) was held on the software development subject. The topic was later additionally considered by the group as a whole.
The goal was agreed to create a first version of a software implementation of the TMuC and make it available before the next meeting. Some characteristics that were discussed regarding the desirability of various potential software codebases as starting points for collaborative development are listed below:
-
Using well structured code (easily understandable flow, adequate data structures, easy to integrate new tools and replace tools, reasonable code size)
-
Adequate documentation
-
Highly configurable: easy to test individual tools, easy to define "low-complexity" and "high-performance" tool combinations
-
Whether the software can be configured to operate as an AVC encoder/decoder
-
Coding efficiency – we should be able to quickly reach performance levels demonstrated by top CfP responses
-
Reasonable encoding and decoding speed, including fast setting that does not unduly penalize compression performance (i.e., ability to offer speed/coding efficiency trade-offs similar to those demonstrated in responses to CfP)
-
Sizeable overlap with the technical content of the TMuC document such as to minimize the development effort (e.g., large block size support)
-
Using a familiar programming language (e.g., selecting C or C++, perhaps without fancy object-oriented C++ feature usage, seems desirable)
-
Multiple platform support
-
The extent to which the software is already available for evaluation by the participants
-
Whether participants already have some working-level familiarity with the software (e.g., if based on JM, JSVM, or JM-KTA codebases)
The proponents agreed to make available the complete software packages for the seven proposals that are partially included in the TMuC within 2 weeks after the meeting. The proposal packages for the proposals containing TMuC elements were also strongly encouraged to include the Config files for the CfP test set conditions (within 2 weeks). The available JM (e.g., version 17.0) and JMKTA codebases were also suggested as potential starting points for the software development effort.
It was agreed that arrangements should be made to establish an easily-accessed (e.g., public read access) software repository for the software development effort.
A software development ad hoc group (AHG) was set up to coordinate this process. The proposed timeline was as follows:
-
3 weeks after meeting: Complete a technical analysis of software.
-
8 weeks after meeting: Initial combination of software
It was noted that a suitable copyright disclaimer header text needs to be established for the reference software development effort. It was noted that the latest header formats approved by the MPEG parent body can be found in its N10693 (Maui 88th meeting) and N10791 (London 89th meeting) output documents (both of which are public documents) and that the header text used for the AVC (JM, JSVM, and JMVC) reference software may also provide a useful example.
Planning of Tool Experiments (TEs) and Core Experiments (CEs)
While the TMuC software is under development, it was considered desirable to also start further investigations and possible design harmonization of various types of tools that had been proposed. Such tool experiments (TE) were agreed, for first investigations, to possibly be based on multiple available starting codebases (only one for each experiment) and later to be continued as Core Experiments (CE) on the basis of TMuC software when it becomes available.
The following CE/TE processes were agreed:
-
TE/CE definition: Multiple parties running the same experiment in a coordinated way designed to test a particular technology feature or set of features, each producing a report of what was done and what is suggested to be concluded.
-
Participants in an experiment would consist of those who expresses an intent to participate verbally at the meeting or by email to the chairs and TE/CE coordinator within 2 weeks of the end of the meeting. Such participants must commit to providing a report of the outcome of their experiment participation at the next meeting. Participants must be among those qualified for participation in the JCT-VC (as per the ToR). The codebase used for such an experiment will be shared with all participants of that experiment.
-
An experiment description will be written and agreed upon (including identification of the codebase) in draft form at the meeting and will be uploaded by the end of the meeting. The experiment coordinator, in consultation with the other participants, will finalize the description within 2 weeks after the meeting.
-
A TE/CE is proposed by one or more experts, and it is approved by consensus, with a requirement that two or more independent experts will carry out the experiment. Experiments are designed to evaluate the potential for inclusion of a new technique or set of techniques. At the heart of the TE/CE process are multiple, independent, directly comparable experiments, performed to determine whether or not proposed algorithmic techniques have merits.
-
An experiment must be completely and uniquely defined, so that the results are unambiguous. In addition to the specification of the algorithmic technique(s) to be evaluated, a TE/CE also specifies the parameters to be used (for example, software, configuration settings and video resolution), so that the results can be compared.
The experiment description document shall describe, precisely, for the corresponding TE/CE:
-
The tool or combination of tools that will be tested. The description must specify the syntax, semantics, encoding and decoding processes.
-
The test sequences and test points to be used in the experimentation
-
The timeline and responsibilities
-
The software & configuration that shall be used
-
Criteria to evaluate the TE/CE outcome (e.g., compression and complexity analysis)
The interrelationship of different TEs/CEs must be considered, e.g. by using common test sequences and test points (whenever possible) to make results comparable.
The group established four "Tool Experiments" (TEs) to evaluate specific proposed coding tools. (The group thought it best not to refer to the TEs as "Core Experiments", since they are not yet being conducted relative to an adopted "Test Model".)
Four "Tool Experiments" were planned, as follows:
-
JCTVC-A301 on Decoder-side MV derivation, coordinated by Mathias Wien of RWTH Aachen University (wien@ient.rwth-aachen.de) and Yi-Jen Chiu of Intel (yi-jen.chiu@intel.com).
-
JCTVC-A302 on Internal Bit-Depth Increase (IBDI) and Memory Compression, coordinated by Takeshi Chujoh of Toshiba (takeshi.chujoh@toshiba.co.jp).
-
JCTVC-A303 on Inter prediction (focused on adaptive warped reference prediction, adaptive global motion temporal prediction, and geometric block partitioning) global & warped motion, non-rectangular partitioning), coordinated by Andreas Krutz of Tech. Univ. Berlin (krutz@nue.tu-berlin.de).
-
JCTVC-A304 on variable-length coding, coordinated by Xianglin Wang of Qualcomm (xianglin@qualcomm.com).
A preliminary draft of the plan for each Tool Experiment was approved at the meeting, and was made available on the group ftp/web site using the document numbers provided above. The experiment coordinator, in consultation with the other participants, will finalize the description within 2 weeks after the meeting.
Dostları ilə paylaş: |