HOME   Cart(0)   Quotation   About-Us Tax PDFs Standard-List Powered by Google www.ChineseStandard.net Database: 189759 (29 Sep 2024)

GB/T 25724-2017 PDF in English


GB/T 25724-2017 (GB/T25724-2017, GBT 25724-2017, GBT25724-2017)
Standard IDContents [version]USDSTEP2[PDF] delivered inName of Chinese StandardStatus
GB/T 25724-2017English1205 Add to Cart 0-9 seconds. Auto-delivery. Technical specifications for surveillance video and audio coding Valid
GB/T 25724-2010EnglishRFQ ASK 15 days Technical specification of surveillance video and audio coding Obsolete
Standards related to (historical): GB/T 25724-2017
PDF Preview

GB/T 25724-2017: PDF in English (GBT 25724-2017)

GB/T 25724-2017 GB NATIONAL STANDARD OF THE PEOPLE’S REPUBLIC OF CHINA ICS 13.310 A 91 Replacing GB/T 25724-2010 Technical specifications for surveillance video and audio coding ISSUED ON: MARCH 9, 2017 IMPLEMENTED ON: JUNE 1, 2017 Issued by: General Administration of Quality Supervision, Inspection and Quarantine of the People’s Republic of China; Standardization Administration of the People’s Republic of China. Table of Contents Foreword ... 4 Introduction ... 6 1 Scope ... 10 2 Normative reference ... 10 3 Terms, definitions and abbreviations ... 10 3.1 Terms and definitions ... 10 3.2 Abbreviations ... 24 4 Agreement ... 27 4.1 Arithmetic operators ... 27 4.2 Logical operators ... 27 4.3 Relational operators ... 28 4.4 Bit operators ... 28 4.5 Assignment operators ... 29 4.6 Mathematical functions ... 29 4.7 Syntax elements, variables and tables ... 30 4.8 Text description of logical operators ... 31 4.9 Process ... 33 5 Video section ... 33 5.1 Coded bitstream and output data format ... 33 5.2 Syntaxes and semantics ... 39 5.3 Decoding process ... 94 5.4 Parsing process ... 166 6 Audio part ... 265 6.1 General description ... 265 6.2 Encoder function description ... 270 6.2.1 Pre-processing ... 270 6.3 Decoder function description ... 347 6.4 Bit allocation description ... 359 6.5 Storage, transmission interface format... 362 Appendix A (Normative) Hypothetical reference decoder (HRD) ... 370 Appendix B (Normative) Byte stream format ... 374 Appendix C (Normative) Video profile and level ... 377 Appendix D (Normative) Video usability information (VUI) ... 381 Appendix E (Normative) Supplemental enhancement information (SEI) ... 385 Appendix F (Normative) Intelligent analysis data description ... 391 Appendix G (Normative) Audio profile and level ... 412 Appendix H (Normative) Exception sound event type definition ... 414 Appendix I (Informative) VAD detection ... 415 Appendix J (Informative) Noise elimination ... 421 References ... 435 Technical specifications for surveillance video and audio coding 1 Scope This Standard specifies the decoding process of digital video and audio compression coding for public security video surveillance. This Standard applies to the audio and video real-time compression, transmission, playback and storage services of the field of public security; other fields that need audio and video coding may also refer to this Standard. 2 Normative reference The following document is indispensable for the application of this document. For dated references, the only dated edition applies to this document. For undated references, the latest edition (including all modifications) applies to this document. rfc 3548 The Base 16, Base 32, and Base 64 Data Encodings 3 Terms, definitions and abbreviations 3.1 Terms and definitions For the purpose of this document, the following terms and definitions apply. 3.1.1 NAL unit A syntax structure that contains the instruction type and the number of bytes contained in the subsequent data. The data appears in RBSP form and, if necessary, contains the scattered emulation prevention bytes. 3.1.2 NAL unit stream A sequence of NAL units. 3.1.3 4.9 Process The process is used to describe the decoding of the syntax elements. All the syntax elements and uppercase variables that belong to the current syntax structure, as well as the associated syntax structures, are available in both the specification and the call of the process. The specification of the process may also contain lowercase variables that are explicitly specified as input. Each specification explicitly specifies the output. The output can be uppercase variables or lowercase variables. In the specification of the process, a particular macroblock can be represented by a variable name whose value is equal to its macroblock index. 5 Video section 5.1 Coded bitstream and output data format 5.1.1 Bitstream format This clause specifies the relationship between the NAL unit stream and the byte stream, both of which are referred to as bitstreams. The NAL unit stream format consists of a series of syntax structures called NAL units, arranged by decoding order. The decoding order and contents of the NAL units in the NAL unit stream are constrained. The byte stream can be constructed by the NAL unit stream, by arranging the NAL units in the decoding order, and adding a start code prefix and a number of zero bytes to each NAL unit to form a byte stream. The NAL unit stream format can be extracted from the byte stream format by searching a unique start code prefix in the byte stream. Except for the byte stream format, other methods of constructing the NAL unit are not specified in this Standard. The byte stream format is specified in Annex B. 5.1.2 Picture format This clause specifies the relationship between the source determined by the bitstream and the decoded frame. The video stream represented by the bitstream is a series of frames arranged in decoding order. Each source or decoded frame is composed of one or more video sample point arrays: - array of only luma (Y) (monochrome); - array of luma and two chroma (YCbCr); The following functions are used for the syntax description. These functions assume that there is a bitstream pointer in the decoder that points to the next bit position in the bitstream where the decoding process is to be read. Specific requirements are as follows: Specification for byte_aligned (): - If the current position of the bitstream is at the boundary of the byte, that is, the next bit in the bitstream is the first bit of the byte, then the return value of byte_aligned () is TRUE; - otherwise, the return value of byte_aligned () is FALSE. Specification for get_left_ae_bits (): - The value of the counter count in the entropy decoder plus 8 and then perform the modulo operation on 8, if it is equal to 0, continue to parse through the fixed probability of 128; - if it is not equal to 0, then continue to parse through the fixed probability of 128 to obtain the value after modulo operation and plus 8 bits. Specification for more_data_in_byte_stream (), which is used in the byte stream NAL unit syntax specified in Annex B: - If there is more data in the byte stream, the return value of more_data_in_byte_stream () is TRUE; - otherwise, the return value of more_data_in_byte_stream () is FALSE. Specification for more_rbsp_data (): - If there is more data in RBSP before rbsp_trailing_bits (), the return value of more_rbsp_data () is TRUE; - otherwise, the return value of more_rbsp_data () is FALSE. The method of determining whether there is more data in RBSP is not specified in this Standard. next_bits (n) provides the next n bits in the bitstream without changing the bitstream pointer. This function makes the next n bits in the bitstream visible. When it is used in the byte stream specified in Annex B, the return value of next_bits (n) is 0 if the remaining byte stream has less than n bits. Read_bits (n) reads the following n bits from the bitstream, and moves the bitstream pointer forward by n bits. When n is equal to 0, the return value of read_bits (n) is 0 may also contain some emulation_prevention_three_byte. NumBytesInNALunit is required for decoding the NAL unit. In order to be able to export NumBytesInNALunit, the boundary of the NAL unit needs to be divided. Annex B specifies a method for dividing the byte stream type. Other partition methods may be given outside this Standard. forbidden_zero_bit indicates the version of the SVAC standard that the video stream supports. forbidden_zero_bit shall be equal to 1. forbidden_zero_bit equal to 0 indicates that the video stream supports GB/T 25724- 2010 standard. When nal_ref_idc is not equal to 0, the contents of the NAL unit contain a sequence parameter set, or a picture parameter set, or a security parameter set, or tiles of a reference picture. When the nal_ref_idc of a tile NAL unit of a coded picture is equal to 0, the nal_ref_idc of all the tile NAL units of the coded picture shall be equal to 0. nal_unit_type indicates the type of RBSP data structure in the NAL unit, see Table 30. The VCL NAL unit refers to those NAL units with the value of nal_unit_type equal to 1, 2, 3 or 4. All other NAL units are called non-VCL NAL units. NOTE 1: The VCL specification is for effectively representing the contents of the video data. The NAL specification is for formatting the data and providing header information for storage or transmission over a variety of communication channels. Each NAL unit contains integer bytes. The NAL unit specifies a general format that applies to both packet-oriented and bitstream systems. Without affecting the decoding process of NAL units with nal_unit_type not equal to 5 and without affecting the consistency of this Standard, NAL units with nal_unit_type equal to 5 can be discarded by the decoder. NOTE 2: This Standard does not specify the decoding process of NAL units with the value nal_unit_type is reserved. The decoder can ignore (removed from the bitstream and discarded) all contents of NAL unit with the value nal_unit_type is reserved. When the value of nal_unit_type of a tile NAL unit is equal to 2, the value of nal_unit_type of all other tile NAL units encoding the same picture shall be the same, and the value of nal_unit_type of all the tile NAL units of the corresponding SVC enhance layer coded picture shall be equal to 4. Such a picture is called an IDR picture. The NAL unit type is as shown in Table 30. Parameters included in a sequence parameter set RBSP can be used by one or more pictures or SEI NAL units containing buffer cycle SEI messages. Each sequence parameter set RBSP takes effect at the same time as it is received by the decoder, and the previously valid sequence parameter set RBSP (if any) will be fail. Not more than one sequence parameter set RBSP is valid at the specified time in the decoding process. When a sequence parameter set RBSP is used by the SEI NAL unit containing a buffer cycle SEI message, the SEI NAL unit shall be located after the sequence parameter set RBSP. Parameters included in the picture parameter set RBSP can be used by the coding tile NAL unit of a coded picture. Each picture parameter set RBSP takes effect at the same time as it is received by the decoder, and the previously valid sequence parameter set RBSP (if any) will be fail. For a layer picture of SVC, not more than one picture parameter set RBSP is valid at the specified time in the decoding process. The specification for the relationship between the syntax element values and the other syntax elements in the sequence parameter sets and the picture parameter set is only for the valid sequence parameter set and the valid picture parameter set. During the decoding process, the parameter values of the valid picture parameter set and the valid sequence parameter set shall remain valid. 5.2.4.3.2.2 Taking effect of security parameter set RBSP Parameters included in the security parameter set RBSP can be used by one or more other types of NAL units. At the beginning of the decoding process, each security parameter set RBSP takes effect at the same time as it is received by the decoder, and the previously valid sequence parameter set RBSP (if any) will be fail. When ldp_mode_flag of the sequence parameter set is equal to 1, the security parameter set shall only appear before the IDR picture. Not more than one security parameter set RBSP is valid at the specified time in the decoding process. NOTE: In some applications, the security parameter set can also be passed to the decoder via other reliable mechanisms. 5.2.4.3.2.3 Order of VCL NAL unit and its relationship with encoded pictures Each VCL NAL unit is part of a coded picture. The order of the VCL NAL units in a coded picture is defined as follows: - the tile order of a picture shall be in ascending order of the first CTU index of the tile; lf_mode_delta_enable [i] indicates that the mode related loop filter parameter difference update is enabled, equal to 0 indicates that the mode related loop filter parameter difference update is closed, equal to 1 indicates that the mode related loop filter parameter difference update is opened. lf_mode_deltas [i] indicates the mode related loop filter parameter difference. lf_mode_deltas_sign [i] indicates the sign of the mode related loop filter parameter difference. mode_deltas [i] = lf_mode_deltas [i] × lf_mode_deltas_sign [i] picture_sao_enable [i] indicates whether the sample adaptive offset of the luma and chroma components is opened. picture_sao_enable [i] equal to 0 indicates that it does not open, equal to 1 indicates open, where i equal to 0 indicates the luma component; i equal to 1 or 2 indicates the chroma component. picture_alf_enable [i] is the permission sign of picture adaptive loop filter, indicating whether the adaptive loop filter of the luma and chroma components of the current picture is opened. picture_alf_enable [i] equal to 0 indicates that the ith component of the current picture shall not use adaptive loop filter; equal to 1 indicates that the ith component of the current ipicture uses adaptive loop filter, where i equal to 0 indicates the luma component; i equal to 1 or 2 indicates the chroma component. The value of alf_filter_num_minus1 plus 1 indicates the number of current picture’s luma component adaptive loop filter. The value of alf_filter_num_minus1 shall be 0 to 15. alf_region_distance [i] indicates the difference between the base unit start sign of luma component’s ith adaptive loop filter region and the base unit start sign of luma component’s i-1th adaptive loop filter region. The value of alf_region_distance [i] shall be 1 to 15. If alf_region_distance [i] is not exist in the bitstream, when i is equal to 0, the value of alf_region_distance [i] is 0. when i is not equal to 0 and the value of alf_filter_num_minus1 is 15, the value of alf_region_distance [i] is 1. The bitstream shall satisfy that the sum of alf_region_distance [i] (i = 0 ~ alf_filter_num_minus1) is less than or equal to 15. alf_coeff_luma [i] [j] indicates the jth coefficient of the luma component of the ith adaptive loop filter. The value range of alf_coeff_luma [i] [j] (j = 0 ~ 8) obtained from decoding in the bitstream shall be -64 to 63, and the value range of alf_coeff_luma [i] [9] shall be -1088 ~ 1071. alf_coeff_chroma [0] [j] indicates the coefficient of the jth adaptive loop filter of the sao_merge_flag equal to 0 indicates that the parameter is not merged; equal to 1 indicates that the parameter is merged, and the SAO parameter is the same as the SAO parameter of the CTU adjacent to its left or adjacent to its upper. sao_merge_type equal to 1 indicates that the SAO parameter of the current CTU uses the SAO parameter of the adjacent CTU on the left; equal to 0 indicates that the SAO parameter of the current CTU uses the SAO parameter of the upper adjacent CTU on the upper side. sao_mode [compIdx] equal to 0 indicates that the SAO mode of the compIdxth component in the current CTU is SAO_OFF; equal to 1 indicates that the SAO mode of the compIdxth component in the current CTU is determined by sao_type [compIdx]. sao_type [compIdx] equal to 0 indicates that the SAO mode of the compIdxth component in the current CTU is SAO_BO; equal to 1 indicates that the SAO mode of the compIdxth component in the current CTU is SAO_EO. sao_start_band [compIdx] indicates the start compensation interval of the compIdxth component in the current CTU in SAO_BO mode, and the value shall be 0 ~ 31. sao_offset_sign [compIdx] [j] indicates the sign of sao_offset [compIdx] [j] in SAO_BO mode. sao_offset_sign [compIdx] [j] equal to 0 indicates that the value of corresponding sao_offset [compIdx] [j] is positive, equal to 1 indicateds that the value of corresponding sao_offset [compIdx] [j] is negative. sao_offset_abs [compIdx] [j] indicates the absolute value of the compensation value sao_offset [compIdx] [j] in SAO_BO mode, the value shall be 0 ~ (1 < < (Min (bit_depth, 10) - 5)) - 1. sao_edge_type [compIdx] indicates the angular direction of the compIdxth component in the current CTU in SAO_EO mode. sao_edge_type [compIdx] equal to 0 indicates EO_0°; equal to 1 indicates EO_90°; equal to 2 indicates EO_135°; equal to 3 indicates EO_45°. sao_edge_offset [compIdx] [j] indicates the corresponding compensation value in SAO_EO mode. alf_ctu_enable [compIdx] equal to 0 indicates that the compIdxth component of the current CTU does not perform adaptive loop filter. alf_ctu_enable [compIdx] equal to 1 indicates that the compIdxth component of the current CTU performs adaptive loop filter. 5.2.4.4.6 Authentication data RBSP semantics frame_num indicates that the picture of authentication data shall be included; the picture is the same picture as the authentication data frame_num which is closest before the authentication data NAL unit. When frame_num is equal to 0, frame_num inter_block indicates whether the current block is an inter coded block. skip_flag indicates whether the current block is skipped. coeff_value indicates the value of the block coefficients. coeff_sign indicates the sign of the block coefficients. tx_size indicates the size of the transform matrix used by the current block. tx_size equal to 0 indicates that the transform matrix is TX_4 × 4; equal to 1 indicates that the transform matrix is TX_8 × 8; equal to 2 indicates that the transform matrix is TX_16 × 16; equal to 3 indicates that the transform matrix is TX_32 × 32. prev_intra_luma_pred_flag indicates whether the luma intra prediction mode is in the intra prediction mode prediction list and the prediction list contains 5 most likely prediction modes. mpm_idx0 equal to 0 indicates that the current luma prediction mode is the first mode in the prediction list; equal to 1 indicates that the current luma prediction mode is not the first mode in the prediction list. mpm_idx1, when mpm_idx0 is 1, mpm_idx1 + 1 indicates the position where the current prediction mode is in the prediction list. The value of mpm_idx1 shall be 0 ~ 3. rem_pred_intra_mode indicates the index in the remaining 32 prediction modes except for the 5 prediction modes in the prediction list in the current luma prediction mode. The value of rem_pred_intra_mode shall be 0 ~ 31. uv_fllow_y_flag equal to 1 indicates that the chroma intra prediction mode is consistent with the luma intra prediction mode of its corresponding position, and uv_fllow_y_flag equal to 0 indicates that the chroma intra prediction mode does not coincide with the luma intra prediction mode of its corresponding position. chroma_intra_mode indicates the chroma intra prediction mode index. block_reference_mode indicates the reference frame mode of the current block, the value is SINGLE_REFERENCE or COM-POUND_REFERENCE. If block_reference_mode does not exist in the code stream, the value of block_reference_mode is equal to frame_reference_mode. If block_reference_mode is equal to COMPOUND_REFERENCE, is_compound is equal to 1, otherwise is_compound is equal to 0. ref_frame indicates the current prediction block reference frame index. When block_reference_mode is equal to SINGLE_REFERENCE, ref_frame has five possible values, namely DYNAMIC_REF, STATIC_REF, OPTIONAL_REF, DY-NAMIC_REF_1 and DYNAMIC_REF_2. When block_reference_mode is equal to OSD extension information with two or more sub_type of the same value shall not appear in one NAL unit. NOTE: The last extension information is valid when OSD extension information with more than one sub_type of the same value appears in the same NAL unit. code_type is an 8-bit unsigned integer, representing the encoding type of the OSD character. The value of code_type equal to 0 indicates encoding with UTF-8. align_type is an 8-bit unsigned integer, representing the alignment type of the OSD character. The value of align_type equal to 0 indicates left alignment; equal to 1 indicates right alignment. char_size is an 8-bit unsigned integer, representing the OSD character size, expressed in sample units. char_type is an 8-bit unsigned integer, representing the OSD character type. char_type equal to 0 indicates white background with black edges; equal to 1 indicates black background with white edges; equal to 2 indicates white; equal to 3 indicates black; equal to 4 indicates automatic anti-color. top_low8 and top_high8 form a 16-bit unsigned integer top, representing the position of the upper border of the OSD character information in the picture, expressed in sample points. The value of top is calculated as follows: top = (top_high8 < < 8) + top_low8 left_low8 and top_high8 form a 16-bit unsigned integer left, representing the position of the left border of the OSD character information in the picture, expressed in sample points. The value of left is calculated as follows: left = (left_high8 < < 8) + left_low8 len is an 8-bit unsigned integer that indicates the length of the byte occupied by osd_data, which shall be 0 ~ 243. res is an 8-bit unsigned integer, and the value shall be between 0 ~ 255. osd_data is OSD character data. Where '\n' is defined as the row break and '\0' is the end character. The length of osd_data is len bytes. 5.2.4.7.5 Geographic information extension semantics extension_id is an 8-bit unsigned integer, and the extension_id of the geographic information extension shall be equal to 0x10. longitude_type equal to 0 indicates east longitude; equal to 1 indicates west longitude. syntax structure encapsulated in the NAL unit. This process is extracting the RBSP syntax structure from the NAL unit. If encryption_idc is equal to 1, when extracting the RBSP syntax structure from the NAL unit, it needs to decrypt the encrypted RBSP to obtain an unencrypted RBSP. The decryption process is not specified in this Standard. The RBSP syntax structure in the NAL unit is decoded in the following manner: - The decoding process of NAL units when the value of nal_unit_type is 1, 2, 3 and 4, see 5.3.3; - The intra prediction process of NAL units when the value of nal_unit_type is 1 and 2, see 5.3.4; - The inter prediction process of NAL units when the value of nal_unit_type is 1, see 5.3.5; - The decoding process and the picture reconstruction process for the coding tree unit in the NAL unit transforms the coefficient before the deblocking filter when the value of nal_unit_type is 1 and 2, see 5.3.6; - The deblocking filter process of the reconstructed picture of the NAL unit when the value of nal_unit_type is 1, 2, 3 and 4, see 5.3.7; - The offset compensation process of sample points of the reconstructed picture of the NAL unit when the value of nal_unit_type is 1, 2, 3 and 4, see 5.3.8; - The filter compensation process of sample points of the reconstructed picture of the NAL unit when the value of nal_unit_type is 1, 2, 3 and 4, see 5.3.9; - The decoding process of the coding tree unit in the NAL unit before the deblocking filter when the value of nal_unit_type is 3 and 4, see 5.3.10; - When the value of nal_unit_type is 7, 8 and 9, the RBSP in the NAL unit is the sequence parameter set, the picture parameter set and the security parameter set, respectively. Effective sequence parameter set, picture parameter set and security parameter set are used in the decoding process of other NAL units; - The decoding process of the NAL unit when the value of nal_unit_type is 13, see Clause 6; - The decoding process of the NAL unit when the value of nal_unit_type is 0, 12, 14 and 15 is not specified in this Standard. 5.3.3 Decoding process of pictures 5.3.3.1 Classification and correspondence of pictures For intra prediction, the prediction block size is bound to the transform block size; because there is only N × N transform, the prediction block size is also N × N. See 5.1.3.3 for adjacent block availability. 5.3.4.4 Acquisition of luma reference sample points For N × N luma blocks, the reference sample point in the upper corner of the current block is marked as r [i], and the reference sample point in the left corner of the current block is marked as c [j], where r [0] = c [0]. Use I to represent the luma sample value matrix of the picture where the current block is after compensation (that is, before filter). Let the coordinate of the sample point in the upper left corner of the current block in the picture be (x0, y0), and the reference sample is obtained by the following rules: a) Initialize r [i], c [j] is 2bitdepth-1, i = 0 ~ 2N, j = 0 ~ 2N; b) If the upper block is available, then r [i] = i [x0 + i - 1, y0 - 1], i = 1 ~ N, r [i] is available; otherwise r [i] is not available; c) If the upper right block is available, then r [i] = i [x0 + i - 1, y0 - 1], I = N + 1 ~ 2N, r [i] is available; otherwise r [i] is equal to r [N], whether r [i] is available depends on whether r [N] is available; d) If the left block is available, then c [j] = I [x0 - 1, y0 + j - 1], j = 1 ~ N, c [j] is available; otherwise c [j] is not available; e) If the lower left block is available, then c [j] = I [x0 - 1, y0 + j - 1], j = N + 1 ~ 2N, c [j] is available; otherwise c [j] is equal to c [N], whether c [j] is available depends on whether c [N] is available; f) If the sample point (x0 - 1, y0 - 1) is available, then r [0] = I [x0 - 1, y0 - 1], r [0] is available, otherwise r [0] is not available. 5.3.4.5 Acquisition of chroma reference sample positions The acquisition method of chroma reference sample points is the same with that of luma reference sample points, except that the luma block becomes the corresponding chroma block. 5.3.4.6 Calculation of prediction sample positions The prediction sample point matrix predMatrix of the luma blocks and chroma blocks in each intra prediction mode is exported as follows: a) Horizontal_PRED candidate motion vector set. When all the candidate positions are searched, enter the fourth step. Wherein the candidate position is the same as the first step. The fourth step, if in the previous block in decoding order, a reference frame used by the block with the same position of the current block is different from the reference frame of the current block, then the MV of the corresponding reference frame of this block is added to the candidate motion vector set. If this reference frame is in different direction with the reference frame of the current block, the MV sign of this block is negated (-mvx, -mvy) and added to the candidate motion vector set. 5.3.5.2.2 Export of luma motion vector If the skip_flag of the current block is equal to 1, the MV of the current block is {0,0} and the corresponding reference frame is DYNAMIC_REF. otherwise: if the block_reference_mode of the current block is equal to SINGLE_REFERENCE, then: a) If the mv_mode of the current block is ZEROMV, the MV of the current block is {0,0}; b) If the mv_mode of the current block is NEARESTMV, the MV of the current block is PMV [0]; c) If the mv_mode of the current block is NEARMV, the MV of the current block is PMV [1]; d) If the mv_mode of the current block is NEWMV, the MV of the current block is MVP [0] + MVD [0]. If the block_reference_mode of the current block is equal to COMPOUND_REFERENCE, the current block is in bidirectional prediction mode, and there are two reference frames of inter prediction, where the first reference frame is read from the code stream and the second reference frame is fixed to OPTIONAL_REF. Two motion vectors are exported in two reference frames, namely MV [0] and MV [1] respectively, and are calculated as follows: a) If the mv_mode of the current block is ZEROMV, both MV [0] and MV [1] are {0,0}; b) If the mv_mode of the current block is NEARESTMV, both MV [0] and MV [1] are PMV [0]; c) If the mv_mode of the current block is NEARMV, both MV [0] and MV [1] are PMV [1]; ah0,0 = Clip1 ((ah'0,0 + 64) >> 7) ha0,0 = Clip1 ((ha'0,0 + 64) >> 7) The fraction sample points of other chroma components, e.g.: bb0,0, bc0,0 ... bh0,0, ... hb0,0, hc0,0, ... hh0,0, need to be calculated using the fraction sample point value (ab'0,0, ac'0,0, ad'0,0, ae'0,0, af'0,0, ag'0,0, ah'0,0) of the row where the integer sample points that have been calculated in the first step locate, the calculation method is as follows: hh'0,0 = -ah'0,-3 + 6 × ah'0,-2 - 19 × ah'0,-1 + 78 × ah'0,0 + 78 × ah'0,1 - 19 × ah'0,2 + 6 × ah'0,3 - ah'0,4 The final predictor of hh0,0 is calculated as follows: hh0,0 = Clip1 ((hh'0,0 + 8192) >> 14) Similarly, the prediction method of the other chroma sample positions is similar, and are calculated using the interpolation coefficients of the corresponding positions. 5.3.6 Transform factor decoding process and picture reconstruction process ......
 
Source: Above contents are excerpted from the PDF -- translated/reviewed by: www.chinesestandard.net / Wayne Zheng et al.