WO2021056211A1 - Video coding and decoding methods and apparatuses, and electronic device - Google Patents

Video coding and decoding methods and apparatuses, and electronic device Download PDF

Info

Publication number
WO2021056211A1
WO2021056211A1 PCT/CN2019/107597 CN2019107597W WO2021056211A1 WO 2021056211 A1 WO2021056211 A1 WO 2021056211A1 CN 2019107597 W CN2019107597 W CN 2019107597W WO 2021056211 A1 WO2021056211 A1 WO 2021056211A1
Authority
WO
WIPO (PCT)
Prior art keywords
coding unit
chroma
flag
split
chrominance
Prior art date
Application number
PCT/CN2019/107597
Other languages
French (fr)
Chinese (zh)
Inventor
蔡文婷
朱建清
Original Assignee
富士通株式会社
蔡文婷
朱建清
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社, 蔡文婷, 朱建清 filed Critical 富士通株式会社
Priority to PCT/CN2019/107597 priority Critical patent/WO2021056211A1/en
Publication of WO2021056211A1 publication Critical patent/WO2021056211A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to the field of information technology.
  • the image will be divided into a series of coding tree units (CTU, coding tree unit), each CTU contains the luminance component and the chrominance component, and two trees can be used (Dual-tree) structure or single-tree (Single-tree) structure divides the luminance CTU and chrominance CTU into coding units (CU, coding unit); for a single tree structure, the luminance CTU and chrominance CTU share a division instruction Signal; For two tree structures, the luminance CTU and the chrominance CTU each use an independent segmentation indicator signal.
  • Figure 1 is a schematic diagram of the existing two tree structure and a single tree structure. Specifically, as shown in Figure 1, the left side is a two-tree structure, and the right side is a single-tree structure. Whether it is a two-tree structure or a single-tree structure, a quadtree is first performed on the luminance CTU and chrominance CTU ( quaternary tree) segmentation; then, in the two tree structure, each node after the quadtree segmentation is independently multi-type tree (MTT, multi-type tree) segmentation. In a single tree structure, After splitting, each node undergoes the same MTT split.
  • MTT multi-type tree
  • MTT splits include vertical binary tree (BT, binary tree) split (SPLIT_BT_VER), horizontal binary tree split (SPLIT_BT_HOR), and vertical tri-tree (TT, ternary tree) split. (SPLIT_TT_VER) and the horizontal tri-tree division (SPLIT_TT_HOR). These nodes obtained after segmentation are called coding units (CU, coding unit).
  • each VPDU does not overlap with each other, and each VPDU includes, for example, 64 ⁇ 64 A sample to be processed with a pixel size of 64 ⁇ 64 luma sample or 32 ⁇ 32 chroma sample.
  • each VPDU includes, for example, 64 ⁇ 64 A sample to be processed with a pixel size of 64 ⁇ 64 luma sample or 32 ⁇ 32 chroma sample.
  • Fig. 2 is a schematic diagram of a method for dividing a video image in 4:2:0 format. As shown in Fig. 2, the difference from Fig. 1 is that the CTU is divided into a quad-tree without using a division indication signal to obtain a luminance CU with a size of 64 ⁇ 64 and a chroma CU with a size of 32 ⁇ 32. After that, two tree structures are used to separate the divided luminance CU and chrominance CU separately.
  • a segmentation method has been proposed.
  • the two tree division structures are directly used to separately divide the luminance component and the chrominance component, and each coding unit after further division is used as a unit for encoding or decoding.
  • Fig. 3 is a schematic diagram of the proposed segmentation method. As shown in Fig.
  • the method includes: step 301, judging Whether the size of each CTU or CU exceeds the size of the VPDU, if the judgment result is yes, go to step 302, otherwise go to step 303; step 302, divide the CTU or CU with a size larger than the VPDU into a quadtree, and return to step 301; Step 303: Use the first tree to further divide the luminance CTU whose size does not exceed the VPDU, or the luminance CU whose size after division does not exceed the VPDU, and use the second tree to further divide the chrominance CTU whose size does not exceed the VPDU, or The chrominance CU of the VPDU whose size after division does not exceed is further divided.
  • the encoding process of the two tree structure used for the I frame if the size of the luminance CTU and its corresponding chrominance CTU are larger than the size of the VPDU, the CTU of each I frame is divided into four CUs without trust. Order until the size of the luminance CU is not greater than the size of the VPDU. Then, the encoding process is performed in the order of "luminance CU first, then chroma CU". In this way, it is necessary to significantly increase the hardware area of the pipeline stage, for example, increase to 4 times the hardware area required in Figure 2; in addition, the VPDU size chroma CU has two partitioning modes, namely quadtree partitioning and no partitioning. Alternatively, other segmentation modes can also be added. Therefore, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs to improve the performance of the codec.
  • Embodiments of the present invention provide a video encoding and decoding method and device, and electronic equipment.
  • the flag split_qt_flag is 1
  • the luminance CTU of 128 ⁇ 128 and the chrominance CTU of 64 ⁇ 64 are provided.
  • a luma CU with a size of 64 ⁇ 64 and a chroma CU with a size of 32 ⁇ 32 are obtained, and then two tree structures are used to separately separate the divided luma CU and chroma CU.
  • the chroma coding unit split flag split_chroma_cu_flag
  • the value of the chroma coding unit split flag is 1, Perform quadtree division on the chrominance coding unit and the luminance coding unit corresponding to the chrominance coding unit; when the value of the chrominance coding unit division flag is 0, quadtree the luminance coding unit corresponding to the chrominance coding unit Tree segmentation does not split the chroma coding unit.
  • the chroma coding unit split flag split_chroma_cu_flag is 1, in each group of data blocks including the luma data block and the chroma data block, according to the first luma data block The order of the chrominance data blocks is processed group by group, and when the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 0, the chrominance data block is processed after all the luminance data blocks are processed.
  • the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
  • a data unit may include a luminance data block of the size of a VPDU and two chrominance data blocks of a corresponding size.
  • the corresponding size of the chrominance data block is 1/4 of the VPDU size.
  • the luminance data block may be a luminance CU of the size of a VPDU, or may be composed of multiple luminance CUs obtained by further dividing the luminance CU of the size of the VPDU;
  • the chrominance data block may be a chrominance CU of a corresponding size, It may also be composed of multiple chrominance CUs obtained by further dividing the chrominance CU.
  • a video encoding method comprising: encoding a chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit whose size is equal to a virtual pipeline data unit (VPDU)
  • split_chroma_cu_flag a chroma coding unit split flag
  • VPDU virtual pipeline data unit
  • a video encoding device comprising: a first encoding unit configured to encode chrominance for a chrominance encoding unit whose size is equal to a virtual pipeline data unit (VPDU)
  • the unit split flag split_chroma_cu_flag
  • the first split unit is used for when the value of the split flag of the chroma coding unit is 1, the chroma coding unit and the brightness corresponding to the chroma coding unit
  • the coding unit performs quadtree partitioning; and a second partitioning unit configured to perform quadtree partitioning on the luma coding unit corresponding to the chroma coding unit when the value of the chroma coding unit partition flag is 0 Instead of dividing the chrominance coding unit.
  • an electronic device including the apparatus according to the second aspect of the embodiments of the present invention.
  • the beneficial effect of the present invention is that for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), the chroma coding unit split flag (split_chroma_cu_flag) is introduced and encoded, when the value of the chroma coding unit split flag is When it is 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are quadtree partitioned; when the value of the chroma coding unit segmentation flag is 0, the luma corresponding to the chroma coding unit is encoded The unit performs quad-tree partitioning without partitioning the chroma coding unit.
  • split_chroma_cu_flag split flag
  • split_chroma_cu_flag value of the chroma coding unit split_chroma_cu_flag is 1, in each group of data blocks including the luma data block and the chroma data block according to The order of the luminance data block and then the chrominance data block is processed group by group.
  • the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 0, the chrominance data block is processed after all the luminance data blocks are processed.
  • the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
  • Figure 1 is a schematic diagram of the existing two tree structure and a single tree structure
  • Fig. 2 is a schematic diagram of a method for dividing a video image in 4:2:0 format
  • Figure 3 is a schematic diagram of the proposed segmentation method
  • FIG. 4 is a schematic diagram of a video encoding method according to Embodiment 1 of the present invention.
  • FIG. 5 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention.
  • FIG. 6 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention.
  • FIG. 7 is a schematic diagram of the data processing sequence of Embodiment 1 of the present invention.
  • FIG. 8 is a schematic diagram of a video encoding device according to Embodiment 2 of the present invention.
  • FIG. 9 is a schematic diagram of an electronic device according to Embodiment 3 of the present invention.
  • FIG. 10 is a schematic block diagram of the system configuration of the electronic device according to Embodiment 3 of the present invention.
  • the embodiment of the present invention provides a video encoding and decoding method.
  • the encoding method is taken as an example for description.
  • the decoding method may correspond to the encoding method.
  • Fig. 4 is a schematic diagram of a video encoding method according to Embodiment 1 of the present invention. As shown in Figure 4, the method includes:
  • Step 401 Encoding the chroma coding unit split flag (split_chroma_cu_flag) for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU);
  • Step 402 When the value of the chroma coding unit split flag is 1, perform quadtree partition on the chroma coding unit and the luma coding unit corresponding to the chroma coding unit;
  • Step 403 When the value of the chroma coding unit division flag is 0, perform quadtree division on the luma coding unit corresponding to the chroma coding unit without dividing the chroma coding unit.
  • the size of the CTU is large, for example, the size of the luma CTU is 128 ⁇ 128, and the size of the chroma CTU is 64 ⁇ 64 .
  • a chroma coding unit split flag split_chroma_cu_flag
  • the processing is performed group by group in the order of the first luminance data block and then the chrominance data block in each group of data blocks including the luminance data block and the chrominance data block.
  • the value of the split_chroma_cu_flag of the chroma coding unit split flag is 0, the chroma data block is processed after all the luma data blocks are processed.
  • one data unit may include one luminance data block with the size of a VPDU and two chrominance data blocks with corresponding sizes.
  • the corresponding size of the chrominance data block is 1/4 of the VPDU size.
  • the luminance data block may be a luminance CU of the size of a VPDU, or may be composed of multiple luminance CUs obtained by further dividing the luminance CU of the size of the VPDU;
  • the chrominance data block may be a chrominance CU of a corresponding size, It may also be composed of multiple chrominance CUs obtained by further dividing the chrominance CU.
  • the chroma coding unit split flag (split_chroma_cu_flag) is valid for chroma CU whose size is equal to VPDU, and is invalid for chroma CU whose size is not equal to VPDU.
  • the coding unit split flag (split_cu_flag) can be used to determine whether to split.
  • CCLM Cross-component linear model
  • the value of the chroma coding unit split flag split_chroma_cu_flag indicates whether to perform quadtree split on the chroma CU.
  • split_chroma_cu_flag 1 or 0, it means that the chroma CU is not divided.
  • split_chroma_cu_flag is 1 or 0, as long as split_chroma_cu_flag is valid, the luminance CU corresponding to the chroma CU is inferred to perform quadtree division.
  • the values of the chroma coding unit split flag split_chroma_cu_flag and the coding unit split flag split_cu_flag are predetermined.
  • the maximum value of the chroma coding unit split flag split_chroma_cu_flag and the coding unit split flag split_cu_flag is determined through search traversal. Merit.
  • step 401 the chroma coding unit split flag (split_chroma_cu_flag) is encoded for the chroma CU whose size is equal to the VPDU, that is, the chroma coding unit split flag split_chroma_cu_flag is encoded into the code stream.
  • a context model may be used to perform entropy coding (entropy coding) on the chroma coding unit segmentation flag.
  • the index corresponding to the context model can be determined according to the neighboring CU of the current chrominance CU, so that more bits can be saved.
  • three context models can be used to entropy encode split_chroma_cu_flag.
  • the index corresponding to the context model used in Method 1 is not determined based on the neighboring CUs of the current chroma CU, and the index corresponding to the context model used in Methods 1 and 2 is determined based on the neighboring CUs of the current CU, for example , Determined according to the upper chromaticity CU and/or the left chromaticity CU of the current chromaticity CU.
  • three methods can be used to encode split_chroma_cu_flag.
  • the context model with index 0 is used for entropy coding;
  • two models the context model with index 0 and the context model with index 1
  • the specific selection method of the corresponding index of the model is shown in Table 2.
  • Table 2 The specific selection method of the corresponding index of the model is shown in Table 2.
  • a context model with an index of 0 a context model with an index of 1
  • a context model with an index of 2 a context model with an index of 2
  • the specific selection method of the index corresponding to the model is shown in Table 2.
  • the context model with an index of 0 is used; when the size of the upper chroma CU ⁇ VPDU and the size of the left chroma CU ⁇ VPDU, or, the size of the upper chroma CU ⁇ VPDU and the size of the left chroma CU ⁇ VPDU, use the context model with index 1; when the size of the upper chroma CU ⁇ When the size of VPDU and the left chroma CU ⁇ VPDU, the context model with index 2 is used.
  • the initial coefficients of each context model can be set according to actual conditions. For example, it is determined according to the quantizer parameter (QP, Quantizer Parameter) and the resolution of the video image.
  • QP quantizer parameter
  • Quantizer Parameter the quantizer parameter
  • the chroma coding unit split flag (split_chroma_cu_flag) is encoded, and it can be determined whether the value of the chroma coding unit split flag (split_chroma_cu_flag) is 0 or 1.
  • step 402 when the value of the chroma coding unit split flag split_chroma_cu_flag is 1, the chroma CU and the luma CU corresponding to the chroma CU are quad-tree partitioned.
  • step 403 when the chroma CU is When the value of the coding unit split flag split_chroma_cu_flag is 0, the luma CU corresponding to the chroma CU is quadtree partitioned without splitting the chroma CU.
  • the method may further include:
  • Step 404 For the divided luma CU and chroma CU, the coding unit split flag (split_cu_flag) is coded.
  • the method may further include:
  • Step 405 For the divided luminance CU, encode the coding unit split flag (split_cu_flag). Among them, for the branch of step 403, for the chroma CU, since it is no longer divided, step 405 does not need to be performed;
  • the method may further include:
  • Step 406 When the value of the coding unit division flag is 1, use two tree structures to divide the divided luma CU and chroma CU respectively, and return to step 404 after the division ends; and
  • Step 407 When the value of the coding unit division flag is 0, code the divided luma CU and chroma CU.
  • the method may further include:
  • Step 408 When the value of the segmentation flag of the coding unit is 1, further segment the segmented luminance CU, and return to step 405 after the segmentation ends;
  • Step 409 When the value of the coding unit division flag is 0, encode the divided luminance CU.
  • step 404 and step 405 the coding unit split flag split_cu_flag is encoded.
  • the specific encoding method can refer to the prior art, which will not be described in detail here.
  • the coding unit split flag split_cu_flag is valid for non-VPDU size chroma CU and non-420 format luma CU of corresponding size.
  • the value of the coding unit split flag split_cu_flag indicates whether to split the current CU (luminance CU or chroma CU).
  • the value of the coding unit split flag split_cu_flag is 1, it indicates that the current CU is split.
  • the value of the coding unit split flag split_cu_flag is 0, it indicates that the current CU will not be split.
  • the segmentation method is, for example, different segmentation of luma CU and chroma CU based on two tree structures.
  • the specific method of encoding the CU can refer to the prior art, and the embodiment of the present invention does not limit the specific method of encoding.
  • the method may further include:
  • Step 410 When the luma CU is encoded, for the chroma CU of the VPDU size, when the value of the chroma coding unit split flag split_chroma_cu_flag is 0, encode the chroma CU.
  • Step 411 For chroma CUs of other sizes, when the value of the coding unit split flag split_cu_flag is 1, the chroma CU is further divided, and when the value of the coding unit split flag split_cu_flag is 0, the chroma CU is encoded .
  • FIG. 5 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention. As shown in Figure 5, the method includes:
  • Step 501 Determine whether the size of the current chrominance CU is greater than the size of the VPDU; when the judgment result is "Yes”, go to step 502, and when the judgment result is "No", go to step 503;
  • Step 502 Perform quadtree division on the current chrominance CU and the luminance CU corresponding to the chrominance CU;
  • Step 503 For the current chroma CU, encode the chroma coding unit split flag split_chroma_cu_flag;
  • Step 504 Determine whether the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 1, when the judgment result is "No”, go to step 505, and when the judgment result is "Yes”, go to step 506;
  • Step 505 Perform quadtree division on the luminance CU corresponding to the chrominance CU;
  • Step 506 Perform quadtree division on the chrominance CU and the luminance CU corresponding to the chrominance CU;
  • Step 507 Encoding the coding unit split flag split_cu_flag for the luma CU and chroma CU obtained by segmentation in step 506, and for the luma CU obtained by segmentation in step 505;
  • Step 508 Determine whether the value of the coding unit split flag split_cu_flag is 1, and when the judgment result is "Yes”, go to step 509, and when the judgment result is "No", go to step 510;
  • Step 509 further divide the luminance CU and chrominance CU obtained by dividing in step 506, and the luminance CU obtained by dividing in step 505;
  • Step 510 Encoding the luma CU and the chroma CU, where for the case where split_chroma_cu_flag is 1, the luma CU and the chroma CU obtained by the division in step 506 are encoded; for the case where split_chroma_cu_flag is 0, first step 505 and Encoding the luma CU obtained by segmentation in step 509, and then encoding the chrominance CU that has not been segmented in step 505 and the segmented chroma CU obtained in step 509;
  • Step 511 Determine whether the luminance CU has completed encoding, when the judgment result is "Yes”, go to step 512, and when the judgment result is "No", return to step 510;
  • Step 512 Determine whether the chroma CU has completed encoding, when the judgment result is "No”, go to step 513, and when the judgment result is "Yes", end the process;
  • luminance data block 1 luminance CU1
  • chrominance data block 1 luminance data block 1
  • luminance data block 2 luminance CU2
  • chrominance data block 2 luminance CU2
  • luminance Data block 3 luminance CU3
  • chroma data block 3 luminance CU3
  • luma data block 4 chroma CU4
  • chroma data block 4 chroma CU4
  • chroma data block 1 contains CUs, determine whether all CUs of chroma data block 1 (chroma CU1) have been processed.
  • the luminance data block 2 luminance CU2 is processed, and so on, until the chroma data block 4 is processed, the process ends.
  • Step 513 For the chrominance CU of the VPDU size, judge whether the value of the chrominance coding unit split flag split_chroma_cu_flag is 0, when the judgment result is "Yes”, go to step 510, and when the judgment result is "No", go back to step 507 prior to.
  • FIG. 6 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention. As shown in Figure 6, the method includes:
  • Step 601 Encode the chroma coding unit split flag (split_chroma_cu_flag);
  • Step 602 When the value of the chrominance coding unit division flag is 1, in each group of data blocks including the luminance data block and the chrominance data block, processing is performed group by group in the order of the luminance data block and then the chrominance data block;
  • Step 603 When the value of the division flag of the chroma coding unit is 0, process the chroma data block after all the luma data blocks are processed.
  • step 602 when the value of the chroma coding unit segmentation flag is 1, the processing may be performed sequentially in units of data units (DU), and each data unit includes one luminance data block and two chrominance data blocks.
  • DU data units
  • step 603 when the value of the chroma coding unit segmentation flag is 0, the processing can also be performed sequentially in units of data units (DU), and all the luma data blocks are processed first, and then the chroma data blocks are processed.
  • each DU only contains a luma data block, or only a chroma coding unit of the size of a VPDU.
  • each DU includes a luma CU that has undergone quadtree division and a chrominance CU that has undergone quadtree division; when the value of the chroma coding unit split flag split_chroma_cu_flag is 0, DU The processing is performed sequentially as a unit.
  • Each DU includes a luma CU that has undergone quadtree division or an unsegmented chroma CU, and each luma CU that has undergone quadtree division is processed first, and then the unsegmented chroma CU.
  • FIG. 7 is a schematic diagram of the data processing sequence of Embodiment 1 of the present invention.
  • the size of the current luma CU is 128 ⁇ 128, the size of the chroma CU is 64 ⁇ 64, and the size of the VPDU is 64 ⁇ 64.
  • a DU as a unit, DU1, DU2, DU3, and DU4 To process.
  • the data block is a CU.
  • DU1 includes the luma CU1 after the quadtree split and the chroma CU2 after the quadtree split
  • DU2 includes the luma CU3 after the quadtree split and the chroma CU2 after the quadtree split
  • the chrominance CU4 of the fork tree segmentation, DU3 includes the luminance CU5 after the quadtree segmentation and the chrominance CU6 after the quadtree segmentation.
  • DU4 includes the luminance CU7 after the quadtree segmentation and the chrominance after the quadtree segmentation.
  • DU1 includes the brightness CU1 after the quadtree split
  • DU2 includes the brightness CU2 after the quadtree split
  • DU3 includes the brightness after the quadtree split CU3 and DU4 include luma CU4 after quadtree division
  • DU5 includes chrominance CU5 without division.
  • the chroma coding unit split flag split_chroma_cu_flag
  • the value of the chroma coding unit split flag is When 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are divided into a quadtree; when the value of the chroma coding unit segmentation flag is 0, the luma coding unit corresponding to the chroma coding unit is Perform quadtree partitioning without partitioning the chroma coding unit.
  • the chroma coding unit split flag split_chroma_cu_flag is 1, in each group of data blocks including the luminance data block and the chroma data block according to the previous The luminance data blocks are processed group by group in the order of the chrominance data blocks.
  • the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 0, the chrominance data blocks are processed after all the luminance data blocks are processed.
  • the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
  • the embodiment of the present invention also provides a video encoding device, which corresponds to the video encoding method of Embodiment 1.
  • Fig. 8 is a schematic diagram of a video encoding device according to Embodiment 2 of the present invention. As shown in FIG. 8, the device 800 includes:
  • the first encoding unit 801 is configured to encode the chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit whose size is equal to a virtual pipeline data unit (VPDU);
  • split_chroma_cu_flag the chroma coding unit split flag
  • the first division unit 802 is configured to perform quadtree division on the chroma coding unit and the luminance coding unit corresponding to the chroma coding unit when the value of the chroma coding unit division flag is 1;
  • the second segmentation unit 803 is configured to perform quadtree segmentation on the luma coding unit corresponding to the chroma coding unit without segmenting the chroma coding unit when the value of the chroma coding unit segmentation flag is 0.
  • the implementation of the functions of the above-mentioned components can refer to the implementation of the steps of the video encoding method in Embodiment 1, which will not be repeated here.
  • FIG. 8 only exemplarily shows the connection relationship between the various components or modules, but it should be clear to those skilled in the art that, for example, various related technologies such as bus connection can be used.
  • the above-mentioned various components or modules may be implemented by hardware facilities such as a processor and a memory; the implementation of the present invention does not limit this.
  • the video encoding device may be a device for encoding an image of a video or a part of the device.
  • the video encoding device is an encoder.
  • an embodiment of the present invention also provides a video decoding device, which corresponds to the above-mentioned video encoding device.
  • the video decoding device may be a device for decoding an image of a video or a part of the device.
  • the video decoding device is a decoder.
  • the chroma coding unit split flag split_chroma_cu_flag
  • the value of the chroma coding unit split flag split_chroma_cu_flag is When the value is 1, each group of data blocks including the luminance data block and the chrominance data block is processed group by group in the order of the first luminance data block and then the chrominance data block.
  • the value of the split_chroma_cu_flag of the chroma coding unit is When it is 0, the chrominance data block will be processed after all the luma data blocks have been processed.
  • the chroma coding unit and the luminance coding unit corresponding to the chroma coding unit are quad-tree partitioned; when the value of the chroma coding unit split flag is 0, Quadtree partitioning is performed on the luma coding unit corresponding to the chroma coding unit without partitioning the chroma coding unit.
  • the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
  • FIG. 9 is a schematic diagram of the electronic device of Embodiment 3 of the present invention.
  • the electronic device 900 includes a video encoding device 901, wherein the structure and function of the video encoding device 901 are the same as those described in Embodiment 2, and will not be repeated here.
  • FIG. 10 is a schematic block diagram of the system configuration of the electronic device according to Embodiment 3 of the present invention.
  • the electronic device 1000 may include a processor 1001 and a memory 1002; the memory 1002 is coupled to the processor 1001.
  • This figure is exemplary; other types of structures can also be used to supplement or replace this structure to implement telecommunication functions or other functions.
  • the electronic device 1000 may further include: an input unit 1003, a display 1004, and a power supply 1005.
  • the functions of the video encoding device described in Embodiment 2 may be integrated into the processor 1001.
  • the processor 1001 may be configured to encode a chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit whose size is equal to a virtual pipeline data unit (VPDU); when the value of the chroma coding unit split flag is When 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are quad-tree partitioned; and when the value of the chroma coding unit split flag is 0, the chroma coding unit corresponds to the chroma coding unit.
  • the luma coding unit is divided into a quadtree without dividing the chrominance coding unit.
  • the processor 1001 may also be configured to: encode the chroma coding unit split flag (split_chroma_cu_flag); when the value of the chroma coding unit split flag is 1, when the value of the chroma coding unit split flag is 1, the Each group of data blocks is processed group by group in the order of first luminance data block and then chrominance data block; when the value of the division flag of the chrominance coding unit is 0, the chrominance is processed after all the luminance data blocks are processed. data block.
  • split_chroma_cu_flag when the value of the chroma coding unit split flag is 1, when the value of the chroma coding unit split flag is 1, the Each group of data blocks is processed group by group in the order of first luminance data block and then chrominance data block; when the value of the division flag of the chrominance coding unit is 0, the chrominance is processed after all the luminance data blocks are processed. data block.
  • the data unit (DU) is used as the unit to process sequentially, and each data unit includes a luminance data block and two chrominance data blocks; when the color When the value of the division flag of the degree coding unit is 0, the data unit (DU) is used as a unit to process sequentially, and all the luminance data blocks are processed first, and then the chrominance data unit is processed.
  • encoding the chroma coding unit split flag includes: using a context model to perform entropy coding on the chroma coding unit split flag.
  • the index corresponding to the context model is determined according to the neighboring coding units of the current chrominance coding unit.
  • the index corresponding to the context model is determined according to the upper chroma coding unit and/or the left chroma coding unit of the current chroma coding unit.
  • the chroma coding unit split flag (split_chroma_cu_flag) is valid for a chroma coding unit whose size is equal to a virtual pipeline data unit, and is invalid for a chroma coding unit whose size is not equal to a virtual pipeline data unit.
  • the value of the chroma coding unit split flag indicates whether the chroma coding unit is quadtree split.
  • the luma coding unit corresponding to the chroma coding unit is estimated to perform quadtree division.
  • the video encoding device described in Embodiment 2 can be configured separately from the processor 1001.
  • the video encoding device can be configured as a chip connected to the processor 1001, and the video encoding can be realized through the control of the processor 1001. The function of the device.
  • the electronic device 1000 does not necessarily include all the components shown in FIG. 10.
  • the processor 1001 is sometimes referred to as a controller or an operating control, and may include a microprocessor or other processor device and/or logic device.
  • the processor 1001 receives input and controls the operation of each component of the electronic device 1000. .
  • the memory 1002 may be one or more of a cache, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory, or other suitable devices.
  • the processor 1001 can execute the program stored in the memory 1002 to implement information storage or processing.
  • the functions of other components are similar to the existing ones, so I won't repeat them here.
  • Each component of the electronic device 1000 may be implemented by dedicated hardware, firmware, software, or a combination thereof, without departing from the scope of the present invention.
  • the electronic device includes an encoding device as an example for description.
  • the electronic device may also include a decoding device corresponding to the encoding device.
  • the chroma coding unit split flag split_chroma_cu_flag
  • the value of the chroma coding unit split flag split_chroma_cu_flag is When the value is 1, each group of data blocks including the luminance data block and the chrominance data block is processed group by group in the order of the first luminance data block and then the chrominance data block.
  • the value of the split_chroma_cu_flag of the chroma coding unit is When it is 0, the chrominance data block will be processed after all the luma data blocks have been processed.
  • the chroma coding unit split flag when the value of the chroma coding unit split flag is 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are quad-tree partitioned; when the value of the chroma coding unit split flag is 0 In this case, the luma coding unit corresponding to the chroma coding unit is quad-tree partitioned without partitioning the chroma coding unit. In this way, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding, and can be easily supported by the hardware decoder architecture of the VPDU size.
  • the embodiment of the present invention also provides a computer readable program, wherein when the program is executed in the video encoding apparatus or electronic equipment, the program causes the computer to execute the embodiment 1 in the video encoding apparatus or electronic equipment.
  • the described video coding method when the program is executed in the video encoding apparatus or electronic equipment, the program causes the computer to execute the embodiment 1 in the video encoding apparatus or electronic equipment.
  • An embodiment of the present invention also provides a storage medium storing a computer-readable program, wherein the computer-readable program enables a computer to execute the video encoding method described in Embodiment 1 in a video encoding device or an electronic device.
  • the method for encoding in a video encoding device described in conjunction with the embodiment of the present invention may be directly embodied in hardware, a software module executed by a processor, or a combination of the two.
  • one or more of the functional block diagrams and/or one or more combinations of the functional block diagrams shown in FIG. 8 may correspond to each software module of the computer program flow, or may correspond to each hardware module.
  • These software modules can respectively correspond to the steps shown in FIG. 4.
  • These hardware modules can be implemented by solidifying these software modules by using a field programmable gate array (FPGA), for example.
  • FPGA field programmable gate array
  • the software module can be located in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other form of storage medium known in the art.
  • a storage medium may be coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium; or the storage medium may be a component of the processor.
  • the processor and the storage medium may be located in the ASIC.
  • the software module can be stored in the memory of the mobile terminal, or can be stored in a memory card that can be inserted into the mobile terminal.
  • the software module can be stored in the MEGA-SIM card or a large-capacity flash memory device.
  • One or more of the functional block diagrams described in FIG. 8 and/or one or more combinations of the functional block diagrams can be implemented as general-purpose processors, digital signal processors (DSP), and special-purpose processors for performing the functions described in this application.
  • One or more of the functional block diagrams described in FIG. 8 and/or one or more combinations of the functional block diagrams can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, One or more microprocessors or any other such configuration combined with DSP communication.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Video coding and decoding methods and apparatuses, and an electronic device. The coding method comprises: for a chrominance coding unit whose size is equal to a virtual pipeline data unit (VPDU), coding a chrominance coding unit split flag (split_chroma_cu_flag); when the value of the chrominance coding unit split flag is 1, performing quaternary tree split on the chrominance coding unit and a luminance coding unit corresponding to the chrominance coding unit; and when the value of the chrominance coding unit split flag is 0, performing quaternary tree split on the luminance coding unit corresponding to the chrominance coding unit but not performing the split on the chrominance coding unit.

Description

视频编码、解码方法及装置、电子设备Video encoding and decoding method and device, electronic equipment 技术领域Technical field
本发明涉及信息技术领域。The present invention relates to the field of information technology.
背景技术Background technique
在新一代视频编码标准(VVC,Versatile Video Coding)草案中,图像将被分割成一系列编码树单元(CTU,coding tree unit),每一个CTU包含了亮度分量和色度分量,可以使用两棵树(Dual-tree)结构或单棵树(Single-tree)结构将亮度CTU和色度CTU分割成编码单元(CU,coding unit);针对单棵树结构,亮度CTU与色度CTU共用一个分割指示信号;针对两棵树结构,亮度CTU和色度CTU各自使用独立的分割指示信号。In the draft of the new generation video coding standard (VVC, Versatile Video Coding), the image will be divided into a series of coding tree units (CTU, coding tree unit), each CTU contains the luminance component and the chrominance component, and two trees can be used (Dual-tree) structure or single-tree (Single-tree) structure divides the luminance CTU and chrominance CTU into coding units (CU, coding unit); for a single tree structure, the luminance CTU and chrominance CTU share a division instruction Signal; For two tree structures, the luminance CTU and the chrominance CTU each use an independent segmentation indicator signal.
图1是现有的两棵树结构和单棵树结构的一示意图。具体的,如图1所示,左侧为两棵树结构,右侧为单棵树结构,不管是两棵树结构还是单棵树结构,首先对亮度CTU和色度CTU进行四叉树(quaternary tree)分割;接着,两棵树结构中,对经过四叉树分割后的各个节点进行独立的多类型树(MTT,multi-type tree)分割,单棵树结构中,对经过四叉树分割后的各个节点进行相同的MTT分割,MTT分割包括垂直方向的二叉树(BT,binary tree)分割(SPLIT_BT_VER)、水平方向的二叉树分割(SPLIT_BT_HOR)、垂直方向的三叉树(TT,ternary tree)分割(SPLIT_TT_VER)以及水平方向的三叉树分割(SPLIT_TT_HOR)。分割后得到的这些节点称为编码单元(CU,coding unit)。Figure 1 is a schematic diagram of the existing two tree structure and a single tree structure. Specifically, as shown in Figure 1, the left side is a two-tree structure, and the right side is a single-tree structure. Whether it is a two-tree structure or a single-tree structure, a quadtree is first performed on the luminance CTU and chrominance CTU ( quaternary tree) segmentation; then, in the two tree structure, each node after the quadtree segmentation is independently multi-type tree (MTT, multi-type tree) segmentation. In a single tree structure, After splitting, each node undergoes the same MTT split. MTT splits include vertical binary tree (BT, binary tree) split (SPLIT_BT_VER), horizontal binary tree split (SPLIT_BT_HOR), and vertical tri-tree (TT, ternary tree) split. (SPLIT_TT_VER) and the horizontal tri-tree division (SPLIT_TT_HOR). These nodes obtained after segmentation are called coding units (CU, coding unit).
另外,在现有的技术(JVET-K0556)中,定义了虚拟流水线数据单元(VPDU,Virtual pipeline data unit),在一个图像中,各个VPDU之间相互不重叠,每个VPDU例如包括64×64个像素的待处理样本,即尺寸为64×64的亮度样本或者32×32的色度样本。在对包含编码器或解码器的电子设备的硬件进行设计时,考虑以每个VPDU即64×64的图像块为单位依次进行处理。In addition, in the existing technology (JVET-K0556), a virtual pipeline data unit (VPDU, Virtual Pipeline Data Unit) is defined. In an image, each VPDU does not overlap with each other, and each VPDU includes, for example, 64×64 A sample to be processed with a pixel size of 64×64 luma sample or 32×32 chroma sample. When designing the hardware of an electronic device including an encoder or a decoder, consider sequentially processing each VPDU, that is, a 64×64 image block.
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发 明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。It should be noted that the above introduction to the technical background is only set forth to facilitate a clear and complete description of the technical solutions of the present invention and to facilitate the understanding of those skilled in the art. It should not be considered that the above technical solutions are well-known to those skilled in the art just because these solutions are described in the background art part of the present invention.
发明内容Summary of the invention
目前,针对4:2:0格式的视频图像,可以不通过显式的分割指示信号先对亮度CTU和色度CTU进行四叉树分割,之后使用两棵树结构分别对分割后的亮度CU和色度CU独立的进行分割。图2是针对4:2:0格式的视频图像的分割方法的一示意图。如图2所示,与图1的不同之处在于,不需要使用分割指示信号就将CTU进行四叉树分割,得到大小为64×64的亮度CU和大小为32×32的色度CU,之后使用两棵树结构分别对分割后的亮度CU和色度CU独立的进行分割。At present, for 4:2:0 format video images, it is possible to perform quad-tree segmentation on luminance CTU and chrominance CTU without explicit segmentation indication signals, and then use two tree structures to separate the luminance CU and chrominance CTU after segmentation. The chroma CU is divided independently. Fig. 2 is a schematic diagram of a method for dividing a video image in 4:2:0 format. As shown in Fig. 2, the difference from Fig. 1 is that the CTU is divided into a quad-tree without using a division indication signal to obtain a luminance CU with a size of 64×64 and a chroma CU with a size of 32×32. After that, two tree structures are used to separate the divided luminance CU and chrominance CU separately.
为了提高视频编解码性能,已经提出了一种分割方法。在CTU或CU的尺寸不超过VPDU的尺寸时,直接使用两棵树分割结构分别对亮度分量和色度分量进行独立地分割,以进一步分割后的各个编码单元为单位进行编码或解码。图3是已经提出的分割方法的一示意图,如图3所示,针对各个亮度CTU和色度CTU,或者经过四叉树分割后的亮度CU和色度CU,该方法包括:步骤301,判断各个CTU或CU的尺寸是否超过VPDU的尺寸,在判断结果为是时,执行步骤302,否则执行步骤303;步骤302,将尺寸大于VPDU的CTU或CU进行四叉树分割,并返回步骤301;步骤303,使用第一棵树对尺寸未超过VPDU的该亮度CTU,或者分割后的尺寸未超过VPDU的亮度CU进行进一步分割,并使用第二棵树对尺寸未超过VPDU的色度CTU,或者分割后的尺寸未超过VPDU的色度CU进行进一步分割。In order to improve video coding and decoding performance, a segmentation method has been proposed. When the size of the CTU or CU does not exceed the size of the VPDU, the two tree division structures are directly used to separately divide the luminance component and the chrominance component, and each coding unit after further division is used as a unit for encoding or decoding. Fig. 3 is a schematic diagram of the proposed segmentation method. As shown in Fig. 3, for each luminance CTU and chrominance CTU, or the luminance CU and chrominance CU after quadtree segmentation, the method includes: step 301, judging Whether the size of each CTU or CU exceeds the size of the VPDU, if the judgment result is yes, go to step 302, otherwise go to step 303; step 302, divide the CTU or CU with a size larger than the VPDU into a quadtree, and return to step 301; Step 303: Use the first tree to further divide the luminance CTU whose size does not exceed the VPDU, or the luminance CU whose size after division does not exceed the VPDU, and use the second tree to further divide the chrominance CTU whose size does not exceed the VPDU, or The chrominance CU of the VPDU whose size after division does not exceed is further divided.
在用于I帧的两棵树结构的编码过程中,如果亮度CTU及其对应的色度CTU的尺寸都大于VPDU的尺寸,则每个I帧的CTU被分割为四个CU而不需要信令,直到亮度CU的尺寸不大于VPDU的尺寸。然后,按照“先亮度CU再色度CU”的顺序进行编码处理。这样,需要显著的增加流水线级的硬件区域,例如,增加为图2所需的硬件区域的4倍;另外,VPDU大小的色度CU有两种分割模式,即四叉树分割和无分割,或者,也可以增加其他分割模式,因此,可以将VPDU大小的色度CU的熵方法与其他CU分开考虑,以提高编解码的性能。In the encoding process of the two tree structure used for the I frame, if the size of the luminance CTU and its corresponding chrominance CTU are larger than the size of the VPDU, the CTU of each I frame is divided into four CUs without trust. Order until the size of the luminance CU is not greater than the size of the VPDU. Then, the encoding process is performed in the order of "luminance CU first, then chroma CU". In this way, it is necessary to significantly increase the hardware area of the pipeline stage, for example, increase to 4 times the hardware area required in Figure 2; in addition, the VPDU size chroma CU has two partitioning modes, namely quadtree partitioning and no partitioning. Alternatively, other segmentation modes can also be added. Therefore, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs to improve the performance of the codec.
本发明实施例提供一种视频编码、解码方法及装置、电子设备,针对4:2:0格式的视频图像,当标志split_qt_flag为1时,128×128的亮度CTU和64×64的色度CTU被四叉树分割,得到大小为64×64的亮度CU和大小为32×32的色度CU,之后 使用两棵树结构分别对分割后的亮度CU和色度CU独立的进行分割。基于此,针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,引入了色度编码单元分割标志(split_chroma_cu_flag)并对其进行编码,当该色度编码单元分割标志的值为1时,对色度编码单元和与色度编码单元对应的亮度编码单元进行四叉树分割;当该色度编码单元分割标志的值为0时,对与色度编码单元对应的亮度编码单元进行四叉树分割而不对色度编码单元进行分割,另外,当该色度编码单元分割标志split_chroma_cu_flag的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,处理完所有的亮度数据块后再处理色度数据块。这样,能够将VPDU大小的色度CU的熵方法与其他CU分开考虑,从而提高了视频编解码的性能,并且,能够容易的被由VPDU大小的硬件解码器架构支持。Embodiments of the present invention provide a video encoding and decoding method and device, and electronic equipment. For a 4:2:0 format video image, when the flag split_qt_flag is 1, the luminance CTU of 128×128 and the chrominance CTU of 64×64 are provided. After being divided by the quadtree, a luma CU with a size of 64×64 and a chroma CU with a size of 32×32 are obtained, and then two tree structures are used to separately separate the divided luma CU and chroma CU. Based on this, for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), the chroma coding unit split flag (split_chroma_cu_flag) is introduced and encoded. When the value of the chroma coding unit split flag is 1, Perform quadtree division on the chrominance coding unit and the luminance coding unit corresponding to the chrominance coding unit; when the value of the chrominance coding unit division flag is 0, quadtree the luminance coding unit corresponding to the chrominance coding unit Tree segmentation does not split the chroma coding unit. In addition, when the chroma coding unit split flag split_chroma_cu_flag is 1, in each group of data blocks including the luma data block and the chroma data block, according to the first luma data block The order of the chrominance data blocks is processed group by group, and when the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 0, the chrominance data block is processed after all the luminance data blocks are processed. In this way, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
在本发明实施例中,一个数据单元(DU)可以包含一个VPDU大小的亮度数据块和两个对应大小的色度数据块。例如,在420格式下,对应大小的色度数据块为1/4的VPDU大小。In the embodiment of the present invention, a data unit (DU) may include a luminance data block of the size of a VPDU and two chrominance data blocks of a corresponding size. For example, in the 420 format, the corresponding size of the chrominance data block is 1/4 of the VPDU size.
例如,亮度数据块可以是一个VPDU大小的亮度CU,也可以是由对VPDU大小的亮度CU进一步分割后得到的多个亮度CU组成的;色度数据块可以是一个对应大小的色度CU,也可以是由对该色度CU进一步分割后得到的多个色度CU组成的。根据本发明实施例的第一方面,提供一种视频编码方法,所述方法包括:针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;当所述色度编码单元分割标志的值为1时,对所述色度编码单元和与所述色度编码单元对应的亮度编码单元进行四叉树分割;当所述色度编码单元分割标志的值为0时,对与所述色度编码单元对应的亮度编码单元进行四叉树分割而不对所述色度编码单元进行分割。For example, the luminance data block may be a luminance CU of the size of a VPDU, or may be composed of multiple luminance CUs obtained by further dividing the luminance CU of the size of the VPDU; the chrominance data block may be a chrominance CU of a corresponding size, It may also be composed of multiple chrominance CUs obtained by further dividing the chrominance CU. According to a first aspect of the embodiments of the present invention, a video encoding method is provided, the method comprising: encoding a chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit whose size is equal to a virtual pipeline data unit (VPDU) When the value of the chroma coding unit split flag is 1, the chroma coding unit and the luminance coding unit corresponding to the chroma coding unit are quadtree partitioned; when the chroma coding unit is divided When the value of the flag is 0, the luma coding unit corresponding to the chroma coding unit is quad-tree partitioned without partitioning the chroma coding unit.
根据本发明实施例的第二方面,提供一种视频编码装置,所述装置包括:第一编码单元,其用于针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;第一分割单元,其用于当所述色度编码单元分割标志的值为1时,对所述色度编码单元和与所述色度编码单元对应的亮度编码单元进行四叉树分割;以及第二分割单元,其用于当所述色度编码单元分割标志的值为0时,对与所述色度编码单元对应的亮度编码单元进行四叉树分割而 不对所述色度编码单元进行分割。According to a second aspect of the embodiments of the present invention, there is provided a video encoding device, the device comprising: a first encoding unit configured to encode chrominance for a chrominance encoding unit whose size is equal to a virtual pipeline data unit (VPDU) The unit split flag (split_chroma_cu_flag) is encoded; the first split unit is used for when the value of the split flag of the chroma coding unit is 1, the chroma coding unit and the brightness corresponding to the chroma coding unit The coding unit performs quadtree partitioning; and a second partitioning unit configured to perform quadtree partitioning on the luma coding unit corresponding to the chroma coding unit when the value of the chroma coding unit partition flag is 0 Instead of dividing the chrominance coding unit.
根据本发明实施例的第三方面,提供一种电子设备,包括根据本发明实施例的第二方面所述的装置。According to a third aspect of the embodiments of the present invention, there is provided an electronic device including the apparatus according to the second aspect of the embodiments of the present invention.
本发明的有益效果在于:针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,引入了色度编码单元分割标志(split_chroma_cu_flag)并对其进行编码,当该色度编码单元分割标志的值为1时,对色度编码单元和与色度编码单元对应的亮度编码单元进行四叉树分割;当该色度编码单元分割标志的值为0时,对与色度编码单元对应的亮度编码单元进行四叉树分割而不对色度编码单元进行分割,另外,当该色度编码单元分割标志split_chroma_cu_flag的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,处理完所有的亮度数据块后再处理色度数据块。这样,能够将VPDU大小的色度CU的熵方法与其他CU分开考虑,从而提高了视频编解码的性能,并且,能够容易的被由VPDU大小的硬件解码器架构支持。The beneficial effect of the present invention is that for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), the chroma coding unit split flag (split_chroma_cu_flag) is introduced and encoded, when the value of the chroma coding unit split flag is When it is 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are quadtree partitioned; when the value of the chroma coding unit segmentation flag is 0, the luma corresponding to the chroma coding unit is encoded The unit performs quad-tree partitioning without partitioning the chroma coding unit. In addition, when the split_chroma_cu_flag value of the chroma coding unit split_chroma_cu_flag is 1, in each group of data blocks including the luma data block and the chroma data block according to The order of the luminance data block and then the chrominance data block is processed group by group. When the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 0, the chrominance data block is processed after all the luminance data blocks are processed. In this way, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。With reference to the following description and drawings, specific embodiments of the present invention are disclosed in detail, indicating the ways in which the principles of the present invention can be adopted. It should be understood that the scope of the embodiments of the present invention is not limited thereby. Within the spirit and scope of the terms of the appended claims, the embodiments of the present invention include many changes, modifications and equivalents.
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。Features described and/or shown for one embodiment can be used in one or more other embodiments in the same or similar manner, combined with features in other embodiments, or substituted for features in other embodiments .
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。It should be emphasized that the term "comprising/comprising" when used herein refers to the existence of a feature, a whole, a step or a component, but does not exclude the existence or addition of one or more other features, a whole, a step or a component.
附图说明Description of the drawings
所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施方式,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:The included drawings are used to provide a further understanding of the embodiments of the present invention, which constitute a part of the specification, are used to illustrate the embodiments of the present invention, and together with the text description, explain the principle of the present invention. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative labor. In the attached picture:
图1是现有的两棵树结构和单棵树结构的一示意图;Figure 1 is a schematic diagram of the existing two tree structure and a single tree structure;
图2是针对4:2:0格式的视频图像的分割方法的一示意图;Fig. 2 is a schematic diagram of a method for dividing a video image in 4:2:0 format;
图3是已经提出的分割方法的一示意图;Figure 3 is a schematic diagram of the proposed segmentation method;
图4是本发明实施例1的视频编码方法的一示意图;FIG. 4 is a schematic diagram of a video encoding method according to Embodiment 1 of the present invention;
图5是本发明实施例1的视频编码方法的另一示意图;FIG. 5 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention;
图6是本发明实施例1的视频编码方法的又一示意图;FIG. 6 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention;
图7是本发明实施例1的数据处理时序的一示意图;FIG. 7 is a schematic diagram of the data processing sequence of Embodiment 1 of the present invention; FIG.
图8是本发明实施例2的视频编码装置的一示意图;FIG. 8 is a schematic diagram of a video encoding device according to Embodiment 2 of the present invention;
图9是本发明实施例3的电子设备的一示意图;FIG. 9 is a schematic diagram of an electronic device according to Embodiment 3 of the present invention;
图10是本发明实施例3的电子设备的系统构成的一示意框图。FIG. 10 is a schematic block diagram of the system configuration of the electronic device according to Embodiment 3 of the present invention.
具体实施方式detailed description
参照附图,通过下面的说明书,本发明的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明的原则的部分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明包括落入所附权利要求的范围内的全部修改、变型以及等同物。With reference to the drawings, the foregoing and other features of the present invention will become apparent through the following description. In the specification and drawings, specific embodiments of the present invention are specifically disclosed, which indicate some embodiments in which the principles of the present invention can be adopted. It should be understood that the present invention is not limited to the described embodiments. On the contrary, the present invention is not limited to the described embodiments. The invention includes all modifications, variations and equivalents falling within the scope of the appended claims.
实施例1Example 1
本发明实施例提供一种视频编码和解码方法。The embodiment of the present invention provides a video encoding and decoding method.
在本实施中,以编码方法为例进说明。解码方法可以对应于编码方法。In this implementation, the encoding method is taken as an example for description. The decoding method may correspond to the encoding method.
图4是本发明实施例1的视频编码方法的一示意图。如图4所示,该方法包括:Fig. 4 is a schematic diagram of a video encoding method according to Embodiment 1 of the present invention. As shown in Figure 4, the method includes:
步骤401:针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;Step 401: Encoding the chroma coding unit split flag (split_chroma_cu_flag) for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU);
步骤402:当该色度编码单元分割标志的值为1时,对该色度编码单元和与该色度编码单元对应的亮度编码单元进行四叉树分割;以及Step 402: When the value of the chroma coding unit split flag is 1, perform quadtree partition on the chroma coding unit and the luma coding unit corresponding to the chroma coding unit; and
步骤403:当该色度编码单元分割标志的值为0时,对与该色度编码单元对应的亮度编码单元进行四叉树分割而不对该色度编码单元进行分割。Step 403: When the value of the chroma coding unit division flag is 0, perform quadtree division on the luma coding unit corresponding to the chroma coding unit without dividing the chroma coding unit.
在编码或解码开始时,对于包含了亮度CTU和色度CTU的编码树单元CTU,如果该CTU的尺寸较大,例如,亮度CTU的尺寸为128×128,色度CTU的尺寸为64×64,首先对亮度CTU和色度CTU均进行四叉树分割。At the beginning of encoding or decoding, for the coding tree unit CTU that contains the luma CTU and the chroma CTU, if the size of the CTU is large, for example, the size of the luma CTU is 128×128, and the size of the chroma CTU is 64×64 , First, perform quadtree segmentation on both the luminance CTU and the chrominance CTU.
在本实施例中,在CTU尺寸较大而经过了四叉树分割的情况下,或者,在CTU尺 寸较小而无需分割的情况下,对于尺寸大于一个VPDU的色度CU,对该色度CU以及与其对应的亮度CU继续进行四叉树分割,针对尺寸等于一个VPDU的色度CU,引入了色度编码单元分割标志(split_chroma_cu_flag)。当该色度编码单元分割标志split_chroma_cu_flag的值为1时,按照包含亮度数据块和色度数据块的每一组数据块中先亮度数据块再色度数据块的顺序逐组进行处理,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,处理完所有的亮度数据块后再处理色度数据块。In this embodiment, when the CTU size is large and undergoes quadtree division, or when the CTU size is small and does not need to be divided, for a chrominance CU with a size larger than one VPDU, the chrominance The CU and its corresponding luma CU continue to perform quadtree division, and for the chroma CU whose size is equal to one VPDU, a chroma coding unit split flag (split_chroma_cu_flag) is introduced. When the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 1, the processing is performed group by group in the order of the first luminance data block and then the chrominance data block in each group of data blocks including the luminance data block and the chrominance data block. When the value of the split_chroma_cu_flag of the chroma coding unit split flag is 0, the chroma data block is processed after all the luma data blocks are processed.
在本实施例中,一个数据单元(DU)可以包含一个VPDU大小的亮度数据块和两个对应大小的色度数据块。例如,在420格式下,对应大小的色度数据块为1/4的VPDU大小。In this embodiment, one data unit (DU) may include one luminance data block with the size of a VPDU and two chrominance data blocks with corresponding sizes. For example, in the 420 format, the corresponding size of the chrominance data block is 1/4 of the VPDU size.
例如,亮度数据块可以是一个VPDU大小的亮度CU,也可以是由对VPDU大小的亮度CU进一步分割后得到的多个亮度CU组成的;色度数据块可以是一个对应大小的色度CU,也可以是由对该色度CU进一步分割后得到的多个色度CU组成的。For example, the luminance data block may be a luminance CU of the size of a VPDU, or may be composed of multiple luminance CUs obtained by further dividing the luminance CU of the size of the VPDU; the chrominance data block may be a chrominance CU of a corresponding size, It may also be composed of multiple chrominance CUs obtained by further dividing the chrominance CU.
在本实施例中,色度编码单元分割标志(split_chroma_cu_flag)对于尺寸为等于VPDU的色度CU是有效的,对于尺寸不等于VPDU的色度CU是无效的,另外,对于尺寸不等于VPDU的色度CU,可以使用编码单元分割标志(split_cu_flag)判断是否分割。In this embodiment, the chroma coding unit split flag (split_chroma_cu_flag) is valid for chroma CU whose size is equal to VPDU, and is invalid for chroma CU whose size is not equal to VPDU. In addition, for chroma CU whose size is not equal to VPDU, For the degree CU, the coding unit split flag (split_cu_flag) can be used to determine whether to split.
在本实施例中,对于尺寸等于VPDU的色度CU,交叉分量线性模型(CCLM,Cross-component linear model)预测是不允许的。In this embodiment, for the chrominance CU whose size is equal to the VPDU, cross-component linear model (CCLM, Cross-component linear model) prediction is not allowed.
对于尺寸等于VPDU的色度CU,色度编码单元分割标志split_chroma_cu_flag的值表示是否对该色度CU进行四叉树分割。当split_chroma_cu_flag为1时,表示对该色度CU进行四叉树分割,当split_chroma_cu_flag为0时,表示不对该色度CU进行分割。另外,无论split_chroma_cu_flag为1还是为0,只要split_chroma_cu_flag有效时,与该色度CU对应的亮度CU被推定(inferred)为进行四叉树分割。For a chroma CU with a size equal to the VPDU, the value of the chroma coding unit split flag split_chroma_cu_flag indicates whether to perform quadtree split on the chroma CU. When split_chroma_cu_flag is 1, it means that the chroma CU is divided into a quadtree, and when split_chroma_cu_flag is 0, it means that the chroma CU is not divided. In addition, regardless of whether split_chroma_cu_flag is 1 or 0, as long as split_chroma_cu_flag is valid, the luminance CU corresponding to the chroma CU is inferred to perform quadtree division.
在本实施例中,色度编码单元分割标志split_chroma_cu_flag和编码单元分割标志split_cu_flag的值是预先确定的,例如,通过搜索遍历的方式来确定色度编码单元分割标志split_chroma_cu_flag和编码单元分割标志split_cu_flag的最优值。In this embodiment, the values of the chroma coding unit split flag split_chroma_cu_flag and the coding unit split flag split_cu_flag are predetermined. For example, the maximum value of the chroma coding unit split flag split_chroma_cu_flag and the coding unit split flag split_cu_flag is determined through search traversal. Merit.
在步骤401中,对针对尺寸等于VPDU的色度CU,对色度编码单元分割标志(split_chroma_cu_flag)进行编码,也就是说,将色度编码单元分割标志 split_chroma_cu_flag编入码流。In step 401, the chroma coding unit split flag (split_chroma_cu_flag) is encoded for the chroma CU whose size is equal to the VPDU, that is, the chroma coding unit split flag split_chroma_cu_flag is encoded into the code stream.
在本实施例中,可以使用上下文模型(context model)对所述色度编码单元分割标志进行熵编码(entropy coding)。In this embodiment, a context model (context model) may be used to perform entropy coding (entropy coding) on the chroma coding unit segmentation flag.
上下文模型对应的索引可以根据当前色度CU的相邻CU确定,这样,能够节省更多的比特数。The index corresponding to the context model can be determined according to the neighboring CU of the current chrominance CU, so that more bits can be saved.
例如,可以使用3种上下文模型来对split_chroma_cu_flag进行熵编码。For example, three context models can be used to entropy encode split_chroma_cu_flag.
表1Table 1
Figure PCTCN2019107597-appb-000001
Figure PCTCN2019107597-appb-000001
如表1所示,方法1中使用的上下文模型对应的索引不根据当前色度CU的相邻CU确定,方法1和2中使用的上下文模型对应的索引根据当前CU的相邻CU确定,例如,根据当前色度CU的上方色度CU和/或左方色度CU确定。As shown in Table 1, the index corresponding to the context model used in Method 1 is not determined based on the neighboring CUs of the current chroma CU, and the index corresponding to the context model used in Methods 1 and 2 is determined based on the neighboring CUs of the current CU, for example , Determined according to the upper chromaticity CU and/or the left chromaticity CU of the current chromaticity CU.
在本实施例中,可以使用三种方法对split_chroma_cu_flag进行编码。在第1种方法中,使用索引为0的上下文模型进行熵编码;In this embodiment, three methods can be used to encode split_chroma_cu_flag. In the first method, the context model with index 0 is used for entropy coding;
在第2种方法中,可以使用索引为0上下文模型和索引为1的上下文模型这两个模型进行熵编码,模型对应索引的具体的选择方法如表2所示,当上方色度CU的尺寸<VPDU且左方色度CU的尺寸<VPDU时,使用索引为0的上下文模型;当上方色度CU的尺寸<VPDU且左方色度CU的尺寸≥VPDU,或者,上方色度CU的尺寸≥VPDU且左方色度CU的尺寸<VPDU,或者,上方色度CU的尺寸≥VPDU且左方色度CU的尺寸≥VPDU时,使用索引为1的上下文模型。In the second method, two models, the context model with index 0 and the context model with index 1, can be used for entropy coding. The specific selection method of the corresponding index of the model is shown in Table 2. When the size of the upper chroma CU <VPDU and the size of the left chroma CU <VPDU, use the context model with index 0; when the size of the upper chroma CU <VPDU and the size of the left chroma CU ≥ VPDU, or the size of the upper chroma CU When ≥VPDU and the size of the left chroma CU<VPDU, or the size of the upper chroma CU≥VPDU and the size of the left chroma CU≥VPDU, the context model with index 1 is used.
表2Table 2
Figure PCTCN2019107597-appb-000002
Figure PCTCN2019107597-appb-000002
在第3种方法中,可以使用索引为0的上下文模型、索引为1的上下文模型以及索引为2的上下文模型这三个模型进行熵编码。模型对应的索引的具体选择方法如表 2所示,当上方色度CU的尺寸<VPDU且左方色度CU的尺寸<VPDU时,使用索引为0的上下文模型;当上方色度CU的尺寸<VPDU且左方色度CU的尺寸≥VPDU,或者,上方色度CU的尺寸≥VPDU且左方色度CU的尺寸<VPDU,使用索引为1的上下文模型;当上方色度CU的尺寸≥VPDU且左方色度CU的尺寸≥VPDU时,使用索引为2的上下文模型。In the third method, three models: a context model with an index of 0, a context model with an index of 1, and a context model with an index of 2 can be used for entropy coding. The specific selection method of the index corresponding to the model is shown in Table 2. When the size of the upper chroma CU<VPDU and the size of the left chroma CU<VPDU, the context model with an index of 0 is used; when the size of the upper chroma CU <VPDU and the size of the left chroma CU ≥ VPDU, or, the size of the upper chroma CU ≥ VPDU and the size of the left chroma CU < VPDU, use the context model with index 1; when the size of the upper chroma CU ≥ When the size of VPDU and the left chroma CU ≥ VPDU, the context model with index 2 is used.
表3table 3
Figure PCTCN2019107597-appb-000003
Figure PCTCN2019107597-appb-000003
在本实施例中,使用方法1至3中的哪种方法对split_chroma_cu_flag进行编码,可以根据实际情况而确定。In this embodiment, which method among methods 1 to 3 is used to encode split_chroma_cu_flag can be determined according to actual conditions.
另外,各个上下文模型的初始系数可以根据实际情况而设置。例如,根据量化参数(QP,Quantizer Parameter)以及视频图像的分辨率确定。In addition, the initial coefficients of each context model can be set according to actual conditions. For example, it is determined according to the quantizer parameter (QP, Quantizer Parameter) and the resolution of the video image.
通过步骤401,对色度编码单元分割标志(split_chroma_cu_flag)进行编码,能够确定色度编码单元分割标志(split_chroma_cu_flag)的值为0还是1。Through step 401, the chroma coding unit split flag (split_chroma_cu_flag) is encoded, and it can be determined whether the value of the chroma coding unit split flag (split_chroma_cu_flag) is 0 or 1.
在步骤402中,当该色度编码单元分割标志split_chroma_cu_flag的值为1时,对该色度CU和与该色度CU对应的亮度CU进行四叉树分割,在步骤403中,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,对与该色度CU对应的亮度CU进行四叉树分割而不对该色度CU进行分割。In step 402, when the value of the chroma coding unit split flag split_chroma_cu_flag is 1, the chroma CU and the luma CU corresponding to the chroma CU are quad-tree partitioned. In step 403, when the chroma CU is When the value of the coding unit split flag split_chroma_cu_flag is 0, the luma CU corresponding to the chroma CU is quadtree partitioned without splitting the chroma CU.
在步骤402之后,该方法还可以包括:After step 402, the method may further include:
步骤404:对于分割后的亮度CU和色度CU,对编码单元分割标志(split_cu_flag)进行编码。Step 404: For the divided luma CU and chroma CU, the coding unit split flag (split_cu_flag) is coded.
在步骤403之后,该方法还可以包括:After step 403, the method may further include:
步骤405:对于分割后的亮度CU,对编码单元分割标志(split_cu_flag)进行编码。其中,对于步骤403这个分支,对于色度CU,由于不再对其进行分割,则不需要执行步骤405;Step 405: For the divided luminance CU, encode the coding unit split flag (split_cu_flag). Among them, for the branch of step 403, for the chroma CU, since it is no longer divided, step 405 does not need to be performed;
在步骤404之后,该方法还可以包括:After step 404, the method may further include:
步骤406:当该编码单元分割标志的值为1时,对经过分割的亮度CU和色度CU 使用两棵树结构分别进行分割,并在分割结束后返回步骤404;以及Step 406: When the value of the coding unit division flag is 1, use two tree structures to divide the divided luma CU and chroma CU respectively, and return to step 404 after the division ends; and
步骤407:当该编码单元分割标志的值为0时,对经过分割的亮度CU和色度CU进行编码。Step 407: When the value of the coding unit division flag is 0, code the divided luma CU and chroma CU.
在步骤405之后,该方法还可以包括:After step 405, the method may further include:
步骤408:当该编码单元分割标志的值为1时,对经过分割的亮度CU进一步分割,并在分割结束后返回步骤405;Step 408: When the value of the segmentation flag of the coding unit is 1, further segment the segmented luminance CU, and return to step 405 after the segmentation ends;
步骤409:当该编码单元分割标志的值为0时,对经过分割的亮度CU进行编码。在步骤404和步骤405中,对编码单元分割标志split_cu_flag进行编码。其具体的编码方法可以参考现有技术,此处不再具体说明。Step 409: When the value of the coding unit division flag is 0, encode the divided luminance CU. In step 404 and step 405, the coding unit split flag split_cu_flag is encoded. The specific encoding method can refer to the prior art, which will not be described in detail here.
在本实施例中,编码单元分割标志split_cu_flag针对非VPDU大小的色度CU和非420格式下对应大小的亮度CU有效。In this embodiment, the coding unit split flag split_cu_flag is valid for non-VPDU size chroma CU and non-420 format luma CU of corresponding size.
在本实施例中,编码单元分割标志split_cu_flag的值表示是否对当前的CU(亮度CU或色度CU)进行分割,当编码单元分割标志split_cu_flag的值为1时,表示对当前的CU进行分割,编码单元分割标志split_cu_flag的值为0时,表示不对当前的CU进行分割。其分割方法例如是基于两棵树结构的对于亮度CU和色度CU的不同分割。In this embodiment, the value of the coding unit split flag split_cu_flag indicates whether to split the current CU (luminance CU or chroma CU). When the value of the coding unit split flag split_cu_flag is 1, it indicates that the current CU is split. When the value of the coding unit split flag split_cu_flag is 0, it indicates that the current CU will not be split. The segmentation method is, for example, different segmentation of luma CU and chroma CU based on two tree structures.
在上述步骤407和步骤409中,对CU进行编码的具体方法可以参考现有技术,本发明实施例不对编码的具体方法进行限制。In the foregoing step 407 and step 409, the specific method of encoding the CU can refer to the prior art, and the embodiment of the present invention does not limit the specific method of encoding.
在上述步骤409之后,该方法还可以包括:After the above step 409, the method may further include:
步骤410:当亮度CU完成编码时,对于VPDU尺寸的色度CU,当色度编码单元分割标志split_chroma_cu_flag的值为0时,对该色度CU进行编码。Step 410: When the luma CU is encoded, for the chroma CU of the VPDU size, when the value of the chroma coding unit split flag split_chroma_cu_flag is 0, encode the chroma CU.
步骤411:对于其他尺寸的色度CU,当编码单元分割标志split_cu_flag的值为1时,对该色度CU进一步分割,当编码单元分割标志split_cu_flag的值为0时,对该色度CU进行编码。Step 411: For chroma CUs of other sizes, when the value of the coding unit split flag split_cu_flag is 1, the chroma CU is further divided, and when the value of the coding unit split flag split_cu_flag is 0, the chroma CU is encoded .
图5是本发明实施例1的视频编码方法的另一示意图。如图5所示,该方法包括:FIG. 5 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention. As shown in Figure 5, the method includes:
步骤501:判断当前的色度CU的尺寸是否大于VPDU的尺寸;当判断结果为“是”时,进入步骤502,当判断结果为“否”时,进入步骤503;Step 501: Determine whether the size of the current chrominance CU is greater than the size of the VPDU; when the judgment result is "Yes", go to step 502, and when the judgment result is "No", go to step 503;
步骤502:对当前的色度CU以及与该色度CU对应的亮度CU进行四叉树分割;Step 502: Perform quadtree division on the current chrominance CU and the luminance CU corresponding to the chrominance CU;
步骤503:针对当前的色度CU,对色度编码单元分割标志split_chroma_cu_flag 进行编码;Step 503: For the current chroma CU, encode the chroma coding unit split flag split_chroma_cu_flag;
步骤504:判断该色度编码单元分割标志split_chroma_cu_flag的值是否为1,当判断结果为“否”时,进入步骤505,当判断结果为“是”时,进入步骤506;Step 504: Determine whether the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 1, when the judgment result is "No", go to step 505, and when the judgment result is "Yes", go to step 506;
步骤505:对与该色度CU对应的亮度CU进行四叉树分割;Step 505: Perform quadtree division on the luminance CU corresponding to the chrominance CU;
步骤506:对该色度CU以及与该色度CU对应的亮度CU进行四叉树分割;Step 506: Perform quadtree division on the chrominance CU and the luminance CU corresponding to the chrominance CU;
步骤507:针对步骤506中分割得到的亮度CU和色度CU,以及针对步骤505中分割得到的亮度CU,对编码单元分割标志split_cu_flag进行编码;Step 507: Encoding the coding unit split flag split_cu_flag for the luma CU and chroma CU obtained by segmentation in step 506, and for the luma CU obtained by segmentation in step 505;
步骤508:判断该编码单元分割标志split_cu_flag的值是否为1,当判断结果为“是”时,进入步骤509,当判断结果为“否”时,进入步骤510;Step 508: Determine whether the value of the coding unit split flag split_cu_flag is 1, and when the judgment result is "Yes", go to step 509, and when the judgment result is "No", go to step 510;
步骤509:对步骤506中分割得到的亮度CU和色度CU,以及步骤505中分割得到的亮度CU进行进一步分割;Step 509: further divide the luminance CU and chrominance CU obtained by dividing in step 506, and the luminance CU obtained by dividing in step 505;
步骤510:对亮度CU和色度CU进行编码,其中,针对split_chroma_cu_flag为1的情况,对步骤506中分割得到的亮度CU和色度CU进行编码;针对split_chroma_cu_flag为0的情况,先对步骤505以及步骤509中分割得到的亮度CU进行编码,再对步骤505中未经过分割的色度CU以及步骤509中得到的经过分割的色度CU进行编码;Step 510: Encoding the luma CU and the chroma CU, where for the case where split_chroma_cu_flag is 1, the luma CU and the chroma CU obtained by the division in step 506 are encoded; for the case where split_chroma_cu_flag is 0, first step 505 and Encoding the luma CU obtained by segmentation in step 509, and then encoding the chrominance CU that has not been segmented in step 505 and the segmented chroma CU obtained in step 509;
步骤511:判断亮度CU是否完成编码,当判断结果为“是”时,进入步骤512,当判断结果为“否”,返回步骤510;Step 511: Determine whether the luminance CU has completed encoding, when the judgment result is "Yes", go to step 512, and when the judgment result is "No", return to step 510;
步骤512:判断色度CU是否完成编码,当判断结果为“否”时,进入步骤513,当判断结果为“是”时,结束进程;Step 512: Determine whether the chroma CU has completed encoding, when the judgment result is "No", go to step 513, and when the judgment result is "Yes", end the process;
其中,以图2为例,按照亮度数据块1(亮度CU1)、色度数据块1(色度CU1)、亮度数据块2(亮度CU2)、色度数据块2(色度CU2)、亮度数据块3(亮度CU3)、色度数据块3(色度CU3)、亮度数据块4(色度CU4)、色度数据块4(色度CU4)的顺序进行处理,先处理亮度数据块1(亮度CU1),如果亮度数据块1(亮度CU1)包含CU,则判断是否处理完亮度数据块1(亮度CU1)的所有CU,当处理完亮度数据块1(亮度CU1)的所有CU时,再处理色度数据块1(色度CU1),如果色度数据块1(色度CU1)包含CU,则判断是否处理完色度数据块1(色度CU1)的所有CU,当处理完数据块CU1(色度CU1)的所有CU时,再处理亮度数据块2(亮度CU2),以此类推,直到处理完色度数据块4后,结束进程。步骤513:对于VPDU尺寸的色度CU,判断 色度编码单元分割标志split_chroma_cu_flag的值是否为0,当判断结果为“是”时,进入步骤510,当判断结果为“否”时,返回步骤507之前。Among them, taking Fig. 2 as an example, according to luminance data block 1 (luminance CU1), chrominance data block 1 (chrominance CU1), luminance data block 2 (luminance CU2), chrominance data block 2 (chrominance CU2), luminance Data block 3 (luminance CU3), chroma data block 3 (chroma CU3), luma data block 4 (chroma CU4), chroma data block 4 (chroma CU4) are processed in the order, and luma data block 1 is processed first (Luminance CU1). If the luminance data block 1 (luminance CU1) contains CUs, it is determined whether all CUs of the luminance data block 1 (luminance CU1) have been processed. When all CUs of the luminance data block 1 (luminance CU1) have been processed, Reprocess chroma data block 1 (chroma CU1). If chroma data block 1 (chroma CU1) contains CUs, determine whether all CUs of chroma data block 1 (chroma CU1) have been processed. When the data is processed When all the CUs of the block CU1 (chroma CU1) are processed, the luminance data block 2 (luminance CU2) is processed, and so on, until the chroma data block 4 is processed, the process ends. Step 513: For the chrominance CU of the VPDU size, judge whether the value of the chrominance coding unit split flag split_chroma_cu_flag is 0, when the judgment result is "Yes", go to step 510, and when the judgment result is "No", go back to step 507 prior to.
在本实施例中,上述各个步骤501-513的具体实施可以参照图4中各个步骤的实施,此处不再重复说明。In this embodiment, the specific implementation of the above steps 501-513 can refer to the implementation of each step in FIG. 4, and the description will not be repeated here.
图6是本发明实施例1的视频编码方法的又一示意图。如图6所示,该方法包括:FIG. 6 is another schematic diagram of the video encoding method according to Embodiment 1 of the present invention. As shown in Figure 6, the method includes:
步骤601:对色度编码单元分割标志(split_chroma_cu_flag)进行编码;Step 601: Encode the chroma coding unit split flag (split_chroma_cu_flag);
步骤602:当色度编码单元分割标志的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理;Step 602: When the value of the chrominance coding unit division flag is 1, in each group of data blocks including the luminance data block and the chrominance data block, processing is performed group by group in the order of the luminance data block and then the chrominance data block;
步骤603:当色度编码单元分割标志的值为0时,处理完所有的亮度数据块后再处理色度数据块。Step 603: When the value of the division flag of the chroma coding unit is 0, process the chroma data block after all the luma data blocks are processed.
在步骤602中,当色度编码单元分割标志的值为1时,可以以数据单元(DU)为单位依次进行处理,每个数据单元包括一个亮度数据块和两个色度数据块。In step 602, when the value of the chroma coding unit segmentation flag is 1, the processing may be performed sequentially in units of data units (DU), and each data unit includes one luminance data block and two chrominance data blocks.
在步骤603中,当色度编码单元分割标志的值为0时,同样可以以数据单元(DU)为单位依次进行处理,并且,先处理完所有的亮度数据块,再处理色度数据块。在该情况下,每个DU只包含亮度数据块,或者只包含VPDU大小的色度编码单元。In step 603, when the value of the chroma coding unit segmentation flag is 0, the processing can also be performed sequentially in units of data units (DU), and all the luma data blocks are processed first, and then the chroma data blocks are processed. In this case, each DU only contains a luma data block, or only a chroma coding unit of the size of a VPDU.
例如,针对尺寸为128×128的亮度CTU、尺寸为64×64的色度CTU,以及VPDU的尺寸为64×64的情况,当色度编码单元分割标志split_chroma_cu_flag的值为1时,以数据单元(DU)为单位依次进行处理,每个DU包括一个经过四叉树分割的亮度CU和一个经过四叉树分割的色度CU;当色度编码单元分割标志split_chroma_cu_flag的值为0时,以DU为单位依次进行处理,每个DU包括一个经过四叉树分割的亮度CU或者未经过分割的色度CU,并且,先处理经过四叉树分割的各个亮度CU,再处理未经过分割的色度CU。For example, for a luma CTU with a size of 128×128, a chroma CTU with a size of 64×64, and a VPDU with a size of 64×64, when the value of the chroma coding unit split flag split_chroma_cu_flag is 1, the data unit (DU) is processed sequentially in units. Each DU includes a luma CU that has undergone quadtree division and a chrominance CU that has undergone quadtree division; when the value of the chroma coding unit split flag split_chroma_cu_flag is 0, DU The processing is performed sequentially as a unit. Each DU includes a luma CU that has undergone quadtree division or an unsegmented chroma CU, and each luma CU that has undergone quadtree division is processed first, and then the unsegmented chroma CU.
图7是本发明实施例1的数据处理时序的一示意图。如图7所示,当前的亮度CU的尺寸为128×128,色度CU的尺寸为64×64,VPDU的尺寸为64×64,以一个DU为单元,依次对DU1、DU2、DU3和DU4进行处理。在该示例中,数据块为一个CU。当色度编码单元分割标志split_chroma_cu_flag的值为1时,DU1包括经过四叉树分割后的亮度CU1和经过四叉树分割的色度CU2,DU2包括经过四叉树分割后的亮度CU3和经过四叉树分割的色度CU4,DU3包括经过四叉树分割后的亮度CU5和经过四叉树分割的色度CU6,DU4包括经过四叉树分割后的亮度CU7和经过四叉树分割的色 度CU8;当色度编码单元分割标志split_chroma_cu_flag的值为0时,DU1包括经过四叉树分割后的亮度CU1,DU2包括经过四叉树分割后的亮度CU2,DU3包括经过四叉树分割后的亮度CU3,DU4包括经过四叉树分割后的亮度CU4,DU5包括未经过分割的色度CU5。这样,当色度编码单元分割标志split_chroma_cu_flag的值为1时,能以很小的代价兼容原来的设计(图2),同时不增加DU大小的前提下使处理的最大色度变换块达到VPDU的尺寸。FIG. 7 is a schematic diagram of the data processing sequence of Embodiment 1 of the present invention. As shown in Figure 7, the size of the current luma CU is 128×128, the size of the chroma CU is 64×64, and the size of the VPDU is 64×64. With a DU as a unit, DU1, DU2, DU3, and DU4 To process. In this example, the data block is a CU. When the value of the chroma coding unit split flag split_chroma_cu_flag is 1, DU1 includes the luma CU1 after the quadtree split and the chroma CU2 after the quadtree split, and DU2 includes the luma CU3 after the quadtree split and the chroma CU2 after the quadtree split. The chrominance CU4 of the fork tree segmentation, DU3 includes the luminance CU5 after the quadtree segmentation and the chrominance CU6 after the quadtree segmentation. DU4 includes the luminance CU7 after the quadtree segmentation and the chrominance after the quadtree segmentation. CU8; when the value of the chroma coding unit split flag split_chroma_cu_flag is 0, DU1 includes the brightness CU1 after the quadtree split, DU2 includes the brightness CU2 after the quadtree split, and DU3 includes the brightness after the quadtree split CU3 and DU4 include luma CU4 after quadtree division, and DU5 includes chrominance CU5 without division. In this way, when the value of the split_chroma_cu_flag of the chroma coding unit split flag is 1, it can be compatible with the original design (Figure 2) at a small cost, and at the same time, the maximum chroma transformation block processed can reach the VPDU without increasing the DU size. size.
由上述实施例可知,针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,引入了色度编码单元分割标志(split_chroma_cu_flag)并对其进行编码,当该色度编码单元分割标志的值为1时,对色度编码单元和与色度编码单元对应的亮度编码单元进行四叉树分割;当该色度编码单元分割标志的值为0时,对与色度编码单元对应的亮度编码单元进行四叉树分割而不对色度编码单元进行分割,另外,当该色度编码单元分割标志split_chroma_cu_flag的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,处理完所有的亮度数据块后再处理色度数据块。这样,能够将VPDU大小的色度CU的熵方法与其他CU分开考虑,从而提高了视频编解码的性能,并且,能够容易的被由VPDU大小的硬件解码器架构支持。It can be seen from the above embodiment that for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), the chroma coding unit split flag (split_chroma_cu_flag) is introduced and encoded. When the value of the chroma coding unit split flag is When 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are divided into a quadtree; when the value of the chroma coding unit segmentation flag is 0, the luma coding unit corresponding to the chroma coding unit is Perform quadtree partitioning without partitioning the chroma coding unit. In addition, when the chroma coding unit split flag split_chroma_cu_flag is 1, in each group of data blocks including the luminance data block and the chroma data block according to the previous The luminance data blocks are processed group by group in the order of the chrominance data blocks. When the value of the split_chroma_cu_flag of the chroma coding unit split_chroma_cu_flag is 0, the chrominance data blocks are processed after all the luminance data blocks are processed. In this way, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
实施例2Example 2
本发明实施例还提供一种视频编码装置,其对应于实施例1的视频编码方法。图8是本发明实施例2的视频编码装置的一示意图。如图8所示,装置800包括:The embodiment of the present invention also provides a video encoding device, which corresponds to the video encoding method of Embodiment 1. Fig. 8 is a schematic diagram of a video encoding device according to Embodiment 2 of the present invention. As shown in FIG. 8, the device 800 includes:
第一编码单元801,其用于针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;The first encoding unit 801 is configured to encode the chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit whose size is equal to a virtual pipeline data unit (VPDU);
第一分割单元802,其用于当该色度编码单元分割标志的值为1时,对该色度编码单元和与该色度编码单元对应的亮度编码单元进行四叉树分割;以及The first division unit 802 is configured to perform quadtree division on the chroma coding unit and the luminance coding unit corresponding to the chroma coding unit when the value of the chroma coding unit division flag is 1; and
第二分割单元803,其用于当该色度编码单元分割标志的值为0时,对与该色度编码单元对应的亮度编码单元进行四叉树分割而不对该色度编码单元进行分割。The second segmentation unit 803 is configured to perform quadtree segmentation on the luma coding unit corresponding to the chroma coding unit without segmenting the chroma coding unit when the value of the chroma coding unit segmentation flag is 0.
在本实施例中,上述各个部件的功能的实现可以参见实施例1中的视频编码方法的各个步骤的实施,此处不再赘述。In this embodiment, the implementation of the functions of the above-mentioned components can refer to the implementation of the steps of the video encoding method in Embodiment 1, which will not be repeated here.
此外,为了简单起见,图8中仅示例性示出了各个部件或模块之间的连接关系, 但是本领域技术人员应该清楚的是,例如可以采用总线连接等各种相关技术。上述各个部件或模块可以通过例如处理器、存储器等硬件设施来实现;本发明实施并不对此进行限制。In addition, for the sake of simplicity, FIG. 8 only exemplarily shows the connection relationship between the various components or modules, but it should be clear to those skilled in the art that, for example, various related technologies such as bus connection can be used. The above-mentioned various components or modules may be implemented by hardware facilities such as a processor and a memory; the implementation of the present invention does not limit this.
在本实施例中,该视频编码装置可以是用于对视频的图像进行编码的装置或该装置的一部分。例如,该视频编码装置是编码器。In this embodiment, the video encoding device may be a device for encoding an image of a video or a part of the device. For example, the video encoding device is an encoder.
另外,本发明实施例还提供一种视频解码装置,其与上述视频编码装置相对应。该视频解码装置可以是用于对视频的图像进行解码的装置或该装置的一部分。例如,该视频解码装置是解码器。In addition, an embodiment of the present invention also provides a video decoding device, which corresponds to the above-mentioned video encoding device. The video decoding device may be a device for decoding an image of a video or a part of the device. For example, the video decoding device is a decoder.
由上述实施例可知,针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,引入了色度编码单元分割标志(split_chroma_cu_flag)并对其进行编码,当该色度编码单元分割标志split_chroma_cu_flag的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,处理完所有的亮度数据块后再处理色度数据块。当该色度编码单元分割标志的值为1时,对色度编码单元和与色度编码单元对应的亮度编码单元进行四叉树分割;当该色度编码单元分割标志的值为0时,对与色度编码单元对应的亮度编码单元进行四叉树分割而不对色度编码单元进行分割。这样,能够将VPDU大小的色度CU的熵方法与其他CU分开考虑,从而提高了视频编解码的性能,并且,能够容易的被由VPDU大小的硬件解码器架构支持。It can be seen from the above embodiment that for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), the chroma coding unit split flag (split_chroma_cu_flag) is introduced and encoded. When the value of the chroma coding unit split flag split_chroma_cu_flag is When the value is 1, each group of data blocks including the luminance data block and the chrominance data block is processed group by group in the order of the first luminance data block and then the chrominance data block. When the value of the split_chroma_cu_flag of the chroma coding unit is When it is 0, the chrominance data block will be processed after all the luma data blocks have been processed. When the value of the chroma coding unit split flag is 1, the chroma coding unit and the luminance coding unit corresponding to the chroma coding unit are quad-tree partitioned; when the value of the chroma coding unit split flag is 0, Quadtree partitioning is performed on the luma coding unit corresponding to the chroma coding unit without partitioning the chroma coding unit. In this way, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding and decoding, and can be easily supported by the hardware decoder architecture of the VPDU size.
实施例3Example 3
本发明实施例还提供了一种电子设备,图9是本发明实施例3的电子设备的一示意图。如图9所示,电子设备900包括视频编码装置901,其中,视频编码装置901的结构和功能与实施例2中的记载相同,此处不再赘述。The embodiment of the present invention also provides an electronic device. FIG. 9 is a schematic diagram of the electronic device of Embodiment 3 of the present invention. As shown in FIG. 9, the electronic device 900 includes a video encoding device 901, wherein the structure and function of the video encoding device 901 are the same as those described in Embodiment 2, and will not be repeated here.
图10是本发明实施例3的电子设备的系统构成的一示意框图。如图10所示,电子设备1000可以包括处理器1001和存储器1002;存储器1002耦合到处理器1001。该图是示例性的;还可以使用其它类型的结构,来补充或代替该结构,以实现电信功能或其它功能。FIG. 10 is a schematic block diagram of the system configuration of the electronic device according to Embodiment 3 of the present invention. As shown in FIG. 10, the electronic device 1000 may include a processor 1001 and a memory 1002; the memory 1002 is coupled to the processor 1001. This figure is exemplary; other types of structures can also be used to supplement or replace this structure to implement telecommunication functions or other functions.
如图10所示,该电子设备1000还可以包括:输入单元1003、显示器1004、电源1005。As shown in FIG. 10, the electronic device 1000 may further include: an input unit 1003, a display 1004, and a power supply 1005.
在一个实施方式中,实施例2所述的视频编码装置的功能可以被集成到处理器 1001中。其中,处理器1001可以被配置为:针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;当该色度编码单元分割标志的值为1时,对该色度编码单元和与该色度编码单元对应的亮度编码单元进行四叉树分割;以及当该色度编码单元分割标志的值为0时,对与该色度编码单元对应的亮度编码单元进行四叉树分割而不对该色度编码单元进行分割。In an implementation manner, the functions of the video encoding device described in Embodiment 2 may be integrated into the processor 1001. The processor 1001 may be configured to encode a chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit whose size is equal to a virtual pipeline data unit (VPDU); when the value of the chroma coding unit split flag is When 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are quad-tree partitioned; and when the value of the chroma coding unit split flag is 0, the chroma coding unit corresponds to the chroma coding unit. The luma coding unit is divided into a quadtree without dividing the chrominance coding unit.
例如,处理器1001也可以被配置为:对色度编码单元分割标志(split_chroma_cu_flag)进行编码;当所述色度编码单元分割标志的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理;当所述色度编码单元分割标志的值为0时,处理完所有的亮度数据块后再处理色度数据块。For example, the processor 1001 may also be configured to: encode the chroma coding unit split flag (split_chroma_cu_flag); when the value of the chroma coding unit split flag is 1, when the value of the chroma coding unit split flag is 1, the Each group of data blocks is processed group by group in the order of first luminance data block and then chrominance data block; when the value of the division flag of the chrominance coding unit is 0, the chrominance is processed after all the luminance data blocks are processed. data block.
例如,当所述色度编码单元分割标志的值为1时,以数据单元(DU)为单位依次进行处理,每个数据单元包括一个亮度数据块和两个色度数据块;当所述色度编码单元分割标志的值为0时,以数据单元(DU)为单位依次进行处理,并且,先处理完所有的所述亮度数据块,再处理所述色度数据单元。For example, when the value of the chroma coding unit division flag is 1, the data unit (DU) is used as the unit to process sequentially, and each data unit includes a luminance data block and two chrominance data blocks; when the color When the value of the division flag of the degree coding unit is 0, the data unit (DU) is used as a unit to process sequentially, and all the luminance data blocks are processed first, and then the chrominance data unit is processed.
例如,对色度编码单元分割标志(split_chroma_cu_flag)进行编码,包括:使用上下文模型(context model)对该色度编码单元分割标志进行熵编码。For example, encoding the chroma coding unit split flag (split_chroma_cu_flag) includes: using a context model to perform entropy coding on the chroma coding unit split flag.
例如,该上下文模型对应的索引根据当前色度编码单元的相邻编码单元确定。For example, the index corresponding to the context model is determined according to the neighboring coding units of the current chrominance coding unit.
例如,该上下文模型对应的索引根据当前色度编码单元的上方色度编码单元和/或左方色度编码单元确定。For example, the index corresponding to the context model is determined according to the upper chroma coding unit and/or the left chroma coding unit of the current chroma coding unit.
例如,该色度编码单元分割标志(split_chroma_cu_flag)对于尺寸等于虚拟流水线数据单元的色度编码单元是有效的,对于尺寸不等于虚拟流水线数据单元的色度编码单元是无效的。For example, the chroma coding unit split flag (split_chroma_cu_flag) is valid for a chroma coding unit whose size is equal to a virtual pipeline data unit, and is invalid for a chroma coding unit whose size is not equal to a virtual pipeline data unit.
例如,对于尺寸等于虚拟流水线数据单元的色度编码单元,该色度编码单元分割标志(split_chroma_cu_flag)的值表示是否对该色度编码单元进行四叉树分割。For example, for a chroma coding unit whose size is equal to a virtual pipeline data unit, the value of the chroma coding unit split flag (split_chroma_cu_flag) indicates whether the chroma coding unit is quadtree split.
例如,该色度编码单元分割标志(split_chroma_cu_flag)有效时,与该色度编码单元对应的亮度编码单元被推定为进行四叉树分割。For example, when the chroma coding unit split flag (split_chroma_cu_flag) is valid, the luma coding unit corresponding to the chroma coding unit is estimated to perform quadtree division.
在另一个实施方式中,实施例2所述的视频编码装置可以与处理器1001分开配置,例如可以将视频编码装置配置为与处理器1001连接的芯片,通过处理器1001的控制来实现视频编码装置的功能。In another embodiment, the video encoding device described in Embodiment 2 can be configured separately from the processor 1001. For example, the video encoding device can be configured as a chip connected to the processor 1001, and the video encoding can be realized through the control of the processor 1001. The function of the device.
在本实施例中电子设备1000也并不是必须要包括图10中所示的所有部件。In this embodiment, the electronic device 1000 does not necessarily include all the components shown in FIG. 10.
如图10所示,处理器1001有时也称为控制器或操作控件,可以包括微处理器或其它处理器装置和/或逻辑装置,处理器1001接收输入并控制电子设备1000的各个部件的操作。As shown in FIG. 10, the processor 1001 is sometimes referred to as a controller or an operating control, and may include a microprocessor or other processor device and/or logic device. The processor 1001 receives input and controls the operation of each component of the electronic device 1000. .
存储器1002,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。并且处理器1001可执行该存储器1002存储的该程序,以实现信息存储或处理等。其它部件的功能与现有类似,此处不再赘述。电子设备1000的各部件可以通过专用硬件、固件、软件或其结合来实现,而不偏离本发明的范围。The memory 1002, for example, may be one or more of a cache, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory, or other suitable devices. In addition, the processor 1001 can execute the program stored in the memory 1002 to implement information storage or processing. The functions of other components are similar to the existing ones, so I won't repeat them here. Each component of the electronic device 1000 may be implemented by dedicated hardware, firmware, software, or a combination thereof, without departing from the scope of the present invention.
在本实施例中,以电子设备包括编码装置为例进行了说明,另外,电子设备也可以包括与编码装置对应的解码装置。In this embodiment, the electronic device includes an encoding device as an example for description. In addition, the electronic device may also include a decoding device corresponding to the encoding device.
由上述实施例可知,针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,引入了色度编码单元分割标志(split_chroma_cu_flag)并对其进行编码,当该色度编码单元分割标志split_chroma_cu_flag的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理,当该色度编码单元分割标志split_chroma_cu_flag的值为0时,处理完所有的亮度数据块后再处理色度数据块。另外,当该色度编码单元分割标志的值为1时,对色度编码单元和与色度编码单元对应的亮度编码单元进行四叉树分割;当该色度编码单元分割标志的值为0时,对与色度编码单元对应的亮度编码单元进行四叉树分割而不对色度编码单元进行分割。这样,能够将VPDU大小的色度CU的熵方法与其他CU分开考虑,从而提高了视频编码的性能,并且,能够容易的被由VPDU大小的硬件解码器架构支持。It can be seen from the above embodiment that for the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), the chroma coding unit split flag (split_chroma_cu_flag) is introduced and encoded. When the value of the chroma coding unit split flag split_chroma_cu_flag is When the value is 1, each group of data blocks including the luminance data block and the chrominance data block is processed group by group in the order of the first luminance data block and then the chrominance data block. When the value of the split_chroma_cu_flag of the chroma coding unit is When it is 0, the chrominance data block will be processed after all the luma data blocks have been processed. In addition, when the value of the chroma coding unit split flag is 1, the chroma coding unit and the luma coding unit corresponding to the chroma coding unit are quad-tree partitioned; when the value of the chroma coding unit split flag is 0 In this case, the luma coding unit corresponding to the chroma coding unit is quad-tree partitioned without partitioning the chroma coding unit. In this way, the entropy method of the chrominance CU of the VPDU size can be considered separately from other CUs, thereby improving the performance of video coding, and can be easily supported by the hardware decoder architecture of the VPDU size.
本发明实施例还提供一种计算机可读程序,其中当在用于视频编码装置或电子设备中执行所述程序时,所述程序使得计算机在所述视频编码装置或电子设备中执行实施例1所述的视频编码方法。The embodiment of the present invention also provides a computer readable program, wherein when the program is executed in the video encoding apparatus or electronic equipment, the program causes the computer to execute the embodiment 1 in the video encoding apparatus or electronic equipment. The described video coding method.
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在视频编码装置或电子设备中执行实施例1所述的视频编码方法。An embodiment of the present invention also provides a storage medium storing a computer-readable program, wherein the computer-readable program enables a computer to execute the video encoding method described in Embodiment 1 in a video encoding device or an electronic device.
结合本发明实施例描述的在视频编码装置中进行编码的方法可直接体现为硬件、由处理器执行的软件模块或二者组合。例如,图8中所示的功能框图中的一个或多个 和/或功能框图的一个或多个组合,既可以对应于计算机程序流程的各个软件模块,亦可以对应于各个硬件模块。这些软件模块,可以分别对应于图4所示的各个步骤。这些硬件模块例如可利用现场可编程门阵列(FPGA)将这些软件模块固化而实现。The method for encoding in a video encoding device described in conjunction with the embodiment of the present invention may be directly embodied in hardware, a software module executed by a processor, or a combination of the two. For example, one or more of the functional block diagrams and/or one or more combinations of the functional block diagrams shown in FIG. 8 may correspond to each software module of the computer program flow, or may correspond to each hardware module. These software modules can respectively correspond to the steps shown in FIG. 4. These hardware modules can be implemented by solidifying these software modules by using a field programmable gate array (FPGA), for example.
软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域已知的任何其它形式的存储介质。可以将一种存储介质耦接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该软件模块可以存储在移动终端的存储器中,也可以存储在可插入移动终端的存储卡中。例如,若设备(例如移动终端)采用的是较大容量的MEGA-SIM卡或者大容量的闪存装置,则该软件模块可存储在该MEGA-SIM卡或者大容量的闪存装置中。The software module can be located in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other form of storage medium known in the art. A storage medium may be coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium; or the storage medium may be a component of the processor. The processor and the storage medium may be located in the ASIC. The software module can be stored in the memory of the mobile terminal, or can be stored in a memory card that can be inserted into the mobile terminal. For example, if the device (such as a mobile terminal) uses a larger-capacity MEGA-SIM card or a large-capacity flash memory device, the software module can be stored in the MEGA-SIM card or a large-capacity flash memory device.
针对图8描述的功能框图中的一个或多个和/或功能框图的一个或多个组合,可以实现为用于执行本申请所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件、或者其任意适当组合。针对图8描述的功能框图中的一个或多个和/或功能框图的一个或多个组合,还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP通信结合的一个或多个微处理器或者任何其它这种配置。One or more of the functional block diagrams described in FIG. 8 and/or one or more combinations of the functional block diagrams can be implemented as general-purpose processors, digital signal processors (DSP), and special-purpose processors for performing the functions described in this application. Integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or any suitable combination thereof. One or more of the functional block diagrams described in FIG. 8 and/or one or more combinations of the functional block diagrams can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, One or more microprocessors or any other such configuration combined with DSP communication.
以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明的精神和原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。The present invention has been described above in conjunction with specific embodiments, but it should be clear to those skilled in the art that these descriptions are all exemplary and do not limit the protection scope of the present invention. Those skilled in the art can make various variations and modifications to the present invention based on the spirit and principle of the present invention, and these variations and modifications are also within the scope of the present invention.

Claims (19)

  1. 一种视频编码方法,所述方法包括:A video encoding method, the method includes:
    步骤1、针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;Step 1. For the chroma coding unit whose size is equal to the virtual pipeline data unit (VPDU), encode the chroma coding unit split flag (split_chroma_cu_flag);
    步骤2、当所述色度编码单元分割标志的值为1时,对所述色度编码单元和与所述色度编码单元对应的亮度编码单元进行四叉树分割;以及Step 2. When the value of the chroma coding unit division flag is 1, perform quadtree division on the chroma coding unit and the luma coding unit corresponding to the chroma coding unit; and
    步骤3、当所述色度编码单元分割标志的值为0时,对与所述色度编码单元对应的亮度编码单元进行四叉树分割而不对所述色度编码单元进行分割。Step 3. When the value of the chrominance coding unit division flag is 0, perform quadtree division on the luminance coding unit corresponding to the chrominance coding unit without dividing the chrominance coding unit.
  2. 根据权利要求1所述的方法,其中,The method of claim 1, wherein:
    在步骤2之后,所述方法还包括:After step 2, the method further includes:
    步骤4、对于分割后的亮度编码单元和色度编码单元,对编码单元分割标志(split_cu_flag)进行编码;Step 4. For the divided luma coding unit and chroma coding unit, encode the coding unit split flag (split_cu_flag);
    步骤6、当所述编码单元分割标志的值为1时,对经过分割的亮度编码单元和色度编码单元使用两棵树结构分别进行分割;以及Step 6. When the value of the coding unit division flag is 1, the divided luminance coding unit and the chrominance coding unit are respectively divided by two tree structures; and
    步骤7、当所述编码单元分割标志的值为0时,对经过分割的亮度编码单元和色度编码单元进行编码。Step 7. When the value of the coding unit division flag is 0, code the divided luminance coding unit and chrominance coding unit.
  3. 根据权利要求1所述的方法,其中,The method of claim 1, wherein:
    在步骤3之后,所述方法还包括:After step 3, the method further includes:
    步骤5、对于分割后的亮度编码单元,对编码单元分割标志(split_cu_flag)进行编码;Step 5. For the divided luminance coding unit, encode the coding unit split flag (split_cu_flag);
    步骤8、当所述编码单元分割标志的值为1时,对经过分割的亮度编码单元进一步分割;以及Step 8. When the value of the coding unit division flag is 1, further divide the divided luminance coding unit; and
    步骤9、当所述编码单元分割标志的值为0时,对经过分割的亮度编码单元进行编码。Step 9. When the value of the coding unit division flag is 0, code the divided luminance coding unit.
  4. 根据权利要求3所述的方法,其中,The method of claim 3, wherein:
    在步骤9之后,所述方法还包括:After step 9, the method further includes:
    步骤10、当亮度编码单元完成编码时,对于VPDU尺寸的色度编码单元,当色度编码单元分割标志的值为0时,对所述色度编码单元进行编码;以及Step 10. When the coding of the luminance coding unit is completed, for the chroma coding unit of the VPDU size, when the value of the chroma coding unit split flag is 0, the chroma coding unit is coded; and
    步骤11、对于其他尺寸的色度编码单元,当编码单元分割标志的值为1时,对所述色度编码单元进一步分割,当编码单元分割标志的值为0时,对所述色度编码单元进行编码。Step 11. For chroma coding units of other sizes, when the value of the coding unit split flag is 1, further partition the chroma coding unit, and when the value of the coding unit split flag is 0, perform the chroma coding The unit is encoded.
  5. 根据权利要求1所述的方法,其中,所述对色度编码单元分割标志(split_chroma_cu_flag)进行编码,包括:The method according to claim 1, wherein said encoding a chroma coding unit split flag (split_chroma_cu_flag) comprises:
    使用上下文模型(context model)对所述色度编码单元分割标志进行熵编码。Entropy coding is performed on the chroma coding unit segmentation flag using a context model.
  6. 根据权利要求5所述的方法,其中,The method of claim 5, wherein:
    所述上下文模型对应的索引根据当前色度编码单元的相邻编码单元确定。The index corresponding to the context model is determined according to adjacent coding units of the current chrominance coding unit.
  7. 根据权利要求6所述的方法,其中,The method according to claim 6, wherein:
    所述上下文模型对应的索引根据当前色度编码单元的上方色度编码单元和/或左方色度编码单元确定。The index corresponding to the context model is determined according to the upper chroma coding unit and/or the left chroma coding unit of the current chroma coding unit.
  8. 根据权利要求1所述的方法,其中,The method of claim 1, wherein:
    所述色度编码单元分割标志(split_chroma_cu_flag)对于尺寸等于虚拟流水线数据单元的色度编码单元是有效的,对于尺寸不等于虚拟流水线数据单元的色度编码单元是无效的。The chroma coding unit split flag (split_chroma_cu_flag) is valid for a chroma coding unit whose size is equal to a virtual pipeline data unit, and is invalid for a chroma coding unit whose size is not equal to a virtual pipeline data unit.
  9. 根据权利要求8所述的方法,其中,The method according to claim 8, wherein:
    对于尺寸等于虚拟流水线数据单元的色度编码单元,所述色度编码单元分割标志(split_chroma_cu_flag)的值表示是否对所述色度编码单元进行四叉树分割。For a chroma coding unit whose size is equal to a virtual pipeline data unit, the value of the chroma coding unit split flag (split_chroma_cu_flag) indicates whether the chroma coding unit is quadtree split.
  10. 根据权利要求8所述的方法,其中,The method according to claim 8, wherein:
    所述色度编码单元分割标志(split_chroma_cu_flag)有效时,与所述色度编码单元对应的亮度编码单元被推定为进行四叉树分割。When the chroma coding unit split flag (split_chroma_cu_flag) is valid, the luma coding unit corresponding to the chroma coding unit is estimated to perform quadtree division.
  11. 一种视频编码方法,所述方法包括:A video encoding method, the method includes:
    对色度编码单元分割标志(split_chroma_cu_flag)进行编码;Encoding the chroma coding unit split flag (split_chroma_cu_flag);
    当所述色度编码单元分割标志的值为1时,在包含亮度数据块和色度数据块的每一组数据块中按照先亮度数据块再色度数据块的顺序逐组进行处理;以及When the value of the chroma coding unit segmentation flag is 1, in each group of data blocks including a luminance data block and a chrominance data block, processing is performed group by group in the order of the luminance data block and then the chrominance data block; and
    当所述色度编码单元分割标志的值为0时,处理完所有的亮度数据块后再处理色度数据块。When the value of the division flag of the chrominance coding unit is 0, the chrominance data block is processed after all the luminance data blocks are processed.
  12. 根据权利要求11所述的方法,其中,The method of claim 11, wherein:
    当所述色度编码单元分割标志的值为1时,以数据单元(DU)为单位依次进行处 理,每个数据单元包括一个亮度数据块和两个色度数据块;When the value of the division flag of the chrominance coding unit is 1, the data unit (DU) is used as a unit to process sequentially, and each data unit includes a luminance data block and two chrominance data blocks;
    当所述色度编码单元分割标志的值为0时,以数据单元(DU)为单位依次进行处理,并且,先处理完所有的所述亮度数据块,再处理所述色度数据块。When the value of the chrominance coding unit division flag is 0, the processing is performed in sequence in units of data units (DU), and all the luminance data blocks are processed first, and then the chrominance data blocks are processed.
  13. 一种视频编码装置,所述装置包括:A video encoding device, the device comprising:
    第一编码单元,其用于针对尺寸等于虚拟流水线数据单元(VPDU)的色度编码单元,对色度编码单元分割标志(split_chroma_cu_flag)进行编码;The first coding unit is used for coding the chroma coding unit split flag (split_chroma_cu_flag) for a chroma coding unit with a size equal to a virtual pipeline data unit (VPDU);
    第一分割单元,其用于当所述色度编码单元分割标志的值为1时,对所述色度编码单元和与所述色度编码单元对应的亮度编码单元进行四叉树分割;以及A first division unit, configured to perform quadtree division on the chrominance coding unit and the luminance coding unit corresponding to the chrominance coding unit when the value of the chrominance coding unit division flag is 1; and
    第二分割单元,其用于当所述色度编码单元分割标志的值为0时,对与所述色度编码单元对应的亮度编码单元进行四叉树分割而不对所述色度编码单元进行分割。The second division unit, which is used to perform quad-tree division on the luminance coding unit corresponding to the chrominance coding unit without performing the quadtree division on the chrominance coding unit when the value of the chrominance coding unit division flag is 0 segmentation.
  14. 根据权利要求13所述的装置,其中,The device according to claim 13, wherein:
    所述第一编码单元使用上下文模型(context model)对所述色度编码单元分割标志进行熵编码。The first coding unit uses a context model to perform entropy coding on the chroma coding unit segmentation flag.
  15. 根据权利要求14所述的装置,其中,The device according to claim 14, wherein:
    所述上下文模型对应的索引根据当前色度编码单元的相邻编码单元确定。The index corresponding to the context model is determined according to adjacent coding units of the current chrominance coding unit.
  16. 根据权利要求15所述的装置,其中,The device according to claim 15, wherein:
    所述上下文模型对应的索引根据当前色度编码单元的上方色度编码单元和/或左方色度编码单元确定。The index corresponding to the context model is determined according to the upper chroma coding unit and/or the left chroma coding unit of the current chroma coding unit.
  17. 根据权利要求13所述的装置,其中,The device according to claim 13, wherein:
    所述色度编码单元分割标志(split_chroma_cu_flag)对于尺寸等于虚拟流水线数据单元的色度编码单元是有效的,对于尺寸不等于虚拟流水线数据单元的色度编码单元是无效的。The chroma coding unit split flag (split_chroma_cu_flag) is valid for a chroma coding unit whose size is equal to a virtual pipeline data unit, and is invalid for a chroma coding unit whose size is not equal to a virtual pipeline data unit.
  18. 根据权利要求17所述的装置,其中,The device of claim 17, wherein:
    对于尺寸等于虚拟流水线数据单元的色度编码单元,所述色度编码单元分割标志(split_chroma_cu_flag)的值表示是否对所述色度编码单元进行四叉树分割。For a chroma coding unit whose size is equal to a virtual pipeline data unit, the value of the chroma coding unit split flag (split_chroma_cu_flag) indicates whether the chroma coding unit is quadtree split.
  19. 根据权利要求17所述的装置,其中,The device of claim 17, wherein:
    所述色度编码单元分割标志(split_chroma_cu_flag)有效时,与所述色度编码单元对应的亮度编码单元被推定为进行四叉树分割。When the chroma coding unit split flag (split_chroma_cu_flag) is valid, the luma coding unit corresponding to the chroma coding unit is estimated to perform quadtree division.
PCT/CN2019/107597 2019-09-24 2019-09-24 Video coding and decoding methods and apparatuses, and electronic device WO2021056211A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/107597 WO2021056211A1 (en) 2019-09-24 2019-09-24 Video coding and decoding methods and apparatuses, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/107597 WO2021056211A1 (en) 2019-09-24 2019-09-24 Video coding and decoding methods and apparatuses, and electronic device

Publications (1)

Publication Number Publication Date
WO2021056211A1 true WO2021056211A1 (en) 2021-04-01

Family

ID=75165537

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/107597 WO2021056211A1 (en) 2019-09-24 2019-09-24 Video coding and decoding methods and apparatuses, and electronic device

Country Status (1)

Country Link
WO (1) WO2021056211A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103444177A (en) * 2011-03-10 2013-12-11 高通股份有限公司 Transforms in video coding
WO2017137311A1 (en) * 2016-02-11 2017-08-17 Thomson Licensing Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel
CN107079160A (en) * 2014-11-11 2017-08-18 联发科技(新加坡)私人有限公司 The method for video coding of separately encoded tree is used brightness and colourity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103444177A (en) * 2011-03-10 2013-12-11 高通股份有限公司 Transforms in video coding
CN107079160A (en) * 2014-11-11 2017-08-18 联发科技(新加坡)私人有限公司 The method for video coding of separately encoded tree is used brightness and colourity
WO2017137311A1 (en) * 2016-02-11 2017-08-17 Thomson Licensing Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T.-D. CHUANG, C.-Y. CHEN, Y.-W. HUANG, S.-M. LEI (MEDIATEK): "CE1-related: Separate tree partitioning at 64x64-luma/32x32-chroma unit level", 11. JVET MEETING; 20180711 - 20180718; LJUBLJANA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 3 July 2018 (2018-07-03), XP030198834 *
W. CAI (FUJITSU), J. ZHU (FUJITSU), J. YAO (FUJITSU), K. KAZUI (FUJITSU): "On Supporting 64x64 Chroma Transform Unit", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 25 June 2019 (2019-06-25), XP030219436 *

Similar Documents

Publication Publication Date Title
US11012489B2 (en) Picture file processing method, picture file processing device, and storage medium
WO2018184458A1 (en) Picture file processing method and device, and storage medium
JP7053722B2 (en) A method and apparatus for signaling a picture / video format of an LDR picture within a bitstream and a picture / video format of a decoded HDR picture obtained from this LDR picture and an illumination picture.
WO2015180428A1 (en) Video coding method and video coding device for intra-frame prediction coding
BR112017004490B1 (en) METHOD FOR CONSTRUCTING A HASH TABLE FOR HASH-BASED BLOCK MATCHING, COMPUTING DEVICE AND COMPUTER READABLE STORAGE MEDIA
BR112013026191A2 (en) encode, decode, and represent high dynamic range images
WO2018184464A1 (en) Picture file processing method and device, and storage medium
WO2022052533A1 (en) Encoding method, decoding method, encoder, decoder, and encoding system
BR112019017670A2 (en) METHOD AND DEVICE FOR REBUILDING AN HDR IMAGE
WO2017063168A1 (en) Image coding method and apparatus, and image processing device
BR122023021045A2 (en) MOTION VECTOR COMPRESSION METHOD, NON-TRAINER COMPUTER READABLE STORAGE MEDIA, ENCODER, DECODER AND STORAGE MEDIA
TWI709330B (en) Apparatus and method for palette decoding
TW201926993A (en) Video decoding apparatus and video decoding method
WO2021056211A1 (en) Video coding and decoding methods and apparatuses, and electronic device
WO2022179354A1 (en) Data processing method and apparatus for edge offset mode based on sample adaptive offset
JP2004509528A (en) Data transfer between RGB color space and YCrCb color space for DCT interface
WO2021217428A1 (en) Image processing method and apparatus, photographic device and storage medium
WO2021128281A1 (en) Coding and decoding method and apparatus using adaptive color transform, and video coding and decoding device
CN111953972A (en) Hash table construction method, device and equipment in IBC mode
WO2020191575A1 (en) Image coding and decoding method, image coding and decoding apparatus, and electronic device
WO2020258056A1 (en) Video image processing method and device and storage medium
WO2018068263A1 (en) Image coding method and device, and image processing apparatus
WO2023272517A1 (en) Encoding and decoding method, bitstream, encoder, decoder, and computer storage medium
WO2020200052A1 (en) Video coding method, video decoding method and relevant device
WO2022217442A1 (en) Coefficient encoding/decoding method, encoder, decoder, and computer storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19946514

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19946514

Country of ref document: EP

Kind code of ref document: A1