WO2017088170A1 - Entropy coding the binary tree block partitioning structure - Google Patents

Entropy coding the binary tree block partitioning structure Download PDF

Info

Publication number
WO2017088170A1
WO2017088170A1 PCT/CN2015/095775 CN2015095775W WO2017088170A1 WO 2017088170 A1 WO2017088170 A1 WO 2017088170A1 CN 2015095775 W CN2015095775 W CN 2015095775W WO 2017088170 A1 WO2017088170 A1 WO 2017088170A1
Authority
WO
WIPO (PCT)
Prior art keywords
binary tree
block
split
current block
depth
Prior art date
Application number
PCT/CN2015/095775
Other languages
French (fr)
Inventor
Shih-Ta Hsiang
Jicheng An
Original Assignee
Mediatek Inc.
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 Mediatek Inc. filed Critical Mediatek Inc.
Priority to PCT/CN2015/095775 priority Critical patent/WO2017088170A1/en
Priority to EP16868033.8A priority patent/EP3363199B1/en
Priority to PCT/CN2016/107241 priority patent/WO2017088810A1/en
Priority to US15/777,432 priority patent/US10863207B2/en
Priority to CN201680068748.2A priority patent/CN108605130B/en
Publication of WO2017088170A1 publication Critical patent/WO2017088170A1/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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 invention relates generally to video processing.
  • the present invention relates to methods and apparatuses for block partitioning structure in video and image coding.
  • the High Efficiency Video Coding (HEVC) standard is the most recent joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, working together in a partnership known as the Joint Collaborative Team on Video Coding (JCT-VC) .
  • VCEG Video Coding Experts Group
  • MPEG Moving Picture Experts Group
  • one slice is partitioned into multiple coding tree units (CTU) .
  • CTU coding tree units
  • SPS sequence parameter set
  • a raster scan method is used for processing the CTU.
  • the CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics.
  • a quadtree denoted as the coding tree is used to partition the CTU into multiple CUs.
  • CTU size be MxM where M is one of the values of 64, 32, or 16.
  • the CTU can be a single CU or can be split into four smaller units of equal sizes of M/2xM/2, which are nodes of coding tree. If units are leaf nodes of coding tree, the units become CUs. Otherwise, the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size specified in the SPS. This representation results in a recursive structure specified by a coding tree as shown in Fig. 1.
  • the solid lines indicate CU boundaries.
  • the decision whether to code a picture area using interpicture (temporal) or intrapicture (spatial) prediction is made at the CU level. Since the minimum CU size can be 8x8, the minimum granularity for switching different basic prediction type is 8x8.
  • One or more prediction units are specified for each CU. Coupled with the CU, the PU works as a basic representative block for sharing the prediction information. Inside one PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis.
  • a CU can be split into one, two, or four PUs according to the PU splitting type.
  • HEVC defines eight shapes for splitting a CU into PU as shown in Fig. 2. Unlike the CU, the PU may only be split once.
  • a CU After obtaining the residual block by prediction process based on PU splitting type, a CU can be partitioned into transform units (TU) according to another quadtree structure which is analogous to the coding tree for the CU as shown in Fig. 1.
  • the solid lines indicate CU boundaries and dotted lines indicate TU boundaries.
  • the TU is a basic representative block having residual or transform coefficients for applying the integer transform and quantization. For each TU, one integer transform having the same size to the TU is applied to obtain residual coefficients. These coefficients are transmitted to the decoder after quantization on a TU basis.
  • coding tree block CB
  • CB coding block
  • PB prediction block
  • TB transform block
  • the tree partitioning is generally applied simultaneously to both luma and chroma, although exceptions apply when certain minimum sizes are reached for chroma.
  • the coding efficiency is still not sufficient to cope with the ever increasing demands for storage and transmission of video content.
  • a binary tree structure is proposed for partitioning a unit into multiple smaller units such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on.
  • the binary tree structure can be combined with quadtree structure, which is a quadtree plus binary tree (QTBT) structure.
  • QTBT binary tree
  • the root unit is firstly partitioned by a quadtree structure, then the leaf nodes of the quadtree is further partitioned by a binary tree structure.
  • Some parameters for restriction of the quadtree and binary tree can be defined in high level such as in SPS.
  • Fig. 1 illustrates the subdivision of a CTU into CUs and TUs (left) and its corresponding quadtree (right) in HEVC.
  • Fig. 2 illustrates the types for splitting a CU into PUs in HEVC.
  • Fig. 3 illustrates the possible splitting types in the proposed binary tree.
  • Fig. 4 illustrates an example of block partitioning (left) and its corresponding binary tree (right) .
  • Fig. 5 illustrates an example of block partitioning (left) and its corresponding quadtree plus binary tree (right) .
  • a binary tree block partitioning structure is proposed.
  • a block can be recursively split into two smaller blocks.
  • a flag signals whether it is split into two smaller blocks. If yes, another syntax element is signaled to indicate which splitting type is used. If the horizontal splitting is used then it is split into two blocks of size MxN/2, otherwise if the vertical splitting is used then it is split into two blocks of size M/2xN.
  • the binary tree splitting process can be iterated until the size (width or height) for a splitting block reaches a minimum allowed block size (width or height) that can be defined in high level syntax such as SPS. Since the binary tree has two splitting types horizontal and vertical, so the minimum allowed block width and height should be both indicated. Not horizontal splitting is implicit when splitting would result in a block height smaller than the indicated minimum. Not vertical splitting is implicit when splitting would result in a block width smaller than the indicated minimum.
  • Fig. 4 illustrates an example of block partitioning (left) and its corresponding binary tree (right) . In each splitting (i.e., non-leaf) node of the binary tree, one flag indicates which splitting type (horizontal or vertical) is used, 0 indicates horizontal splitting and 1 indicates vertical splitting.
  • the proposed binary tree structure can be used for partitioning a block into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on.
  • the binary tree for partitioning a CTU into CUs i.e., the root node of the binary tree is a CTU and the leaf node of the binary tree is CU, the leaf nodes are further processed by prediction and transform coding.
  • Quadtree plus binary tree (QTBT) structure In order to balance the complexity and coding efficiency, it is proposed to combine the quadtree and binary tree structure, which is called as quadtree plus binary tree (QTBT) structure.
  • QTBT binary tree plus binary tree
  • a block is firstly partitioned by a quadtree structure, the quadtree splitting can be iterated until the size for a splitting block reaches the minimum allowed quadtree leaf node size.
  • the leaf quadtree block is not larger than the maximum allowed binary tree root node size, it can be further partitioned by a binary tree structure, the binary tree splitting can be iterated until the size (width or height) for a splitting block reaches the minimum allowed binary tree leaf node size (width or height) or the binary tree depth reaches the maximum allowed binary tree depth.
  • the minimum allowed quadtree leaf node size, the maximum allowed binary tree root node size, the minimum allowed binary tree leaf node width and height, and the maximum allowed binary tree depth can be indicated in the high level syntax such as in SPS.
  • Fig. 5 illustrates an example of block partitioning (left) and its corresponding QTBT (right) .
  • the solid lines indicate quadtree splitting and dotted lines indicate binary tree splitting.
  • each splitting (i.e., non-leaf) node of the binary tree one flag indicates which splitting type (horizontal or vertical) is used, 0 indicates horizontal splitting and 1 indicates vertical splitting.
  • the proposed QTBT structure can be used for partitioning a block into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on.
  • the QTBT for partitioning a CTU into CUs, i.e., the root node of the QTBT is a CTU which is partitioned into multiple CUs by a QTBT structure, and the CUs are further processed by prediction and transform coding.
  • the CTU is partitioned by a quadtree structure and the leaf quadtree unit may have size from 16x16 (minimum allowed quadtree leaf node size) to 128x128 (equal to CTU size, i.e., no split) , if the leaf quadtree unit is 128x128 it cannot be further split by binary tree since the size exceeds the maximum allowed binary tree root node size 64x64, otherwise the leaf quadtree unit can be further split by binary tree, the leaf quadtree unit which is also the root binary tree unit has binary tree depth as 0.
  • the leaf nodes of the QTBT are further processed by prediction (intrapicture or interpicture) and transform coding.
  • the proposed tree structure is applied separately to luma and chroma for I slice, and applied simultaneously to both luma and chroma (except when certain minimum sizes are reached for chroma) for P and B slice. That is to say that, in I slice, the luma CTB has its QTBT-structured block partitioning, and the two chroma CTBs has another QTBT-structured block partitioning, wherein as another embodiment, the two chroma CTBs can also have their own QTBT-structured block partitionings.
  • the representation of the proposed binary tree structure can be entropy coded by the context-based adaptive binary arithmetic coding (CABAC) mode.
  • CABAC context-based adaptive binary arithmetic coding
  • the context modeling can consider information on the binary tree depths of the neighboring blocks and the current block subject to signaling the split decision.
  • the contextual information can further consider the size and shape of the current block.
  • the context modeling can further consider information on the quadtree depths of the neighboring blocks and the current block.
  • a binary syntax element bt_split_flag is coded to signal if the current block is to be further split or not.
  • a syntax element bt_split_mode is next coded to indicate the split/partitioning mode to be adopted by the current block.
  • context modeling for entropy coding the syntax element bt_split_flag is conditioned on the number of the neighboring blocks, consisting of the top block and left block, with the higher combined QTBT depth than the current block.
  • the combined QTBT depth of a block is defined to be equal to the sum of its quadtree depth scaled by 2 and its binary tree depth.
  • Context modeling for entropy coding the syntax element bt_split_mode is conditioned on the shape of the current block.
  • Tables 1 and 2 provide the example mapping tables for context selection for such an embodiment for coding syntax elements bt_split_flag and bt_split_mode, respectively.
  • the context modeling is further conditioned on the binary tree depth of the current block.
  • Tables 3 and 4 provide the example mapping tables for context selection for such an embodiment for coding syntax elements bt_split_flag and bt_split_mode, respectively, where “W” and “H” denotes the width and height of the current block.
  • context modeling is further conditioned on the quadtree depth of the current block.
  • context modeling for different quadtree depths or binary tree depths can share the same set of modeling contexts.
  • an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein.
  • An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
  • DSP Digital Signal Processor
  • the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) .
  • processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
  • the software code or firmware codes may be developed in different programming languages and different format or style.
  • the software code may also be compiled for different target platform.
  • different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

Landscapes

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

Abstract

A binary tree block partitioning structure is proposed. The proposed flexible block partitioning structure plays an important role in the substantial performance gains relative the HEVC.

Description

ENTROPY CODING THE BINARY TREE BLOCK PARTITIONING STRUCTURE TECHNICAL FIELD
The invention relates generally to video processing. In particular, the present invention relates to methods and apparatuses for block partitioning structure in video and image coding.
BACKGROUND
The High Efficiency Video Coding (HEVC) standard is the most recent joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, working together in a partnership known as the Joint Collaborative Team on Video Coding (JCT-VC) .
In HEVC, one slice is partitioned into multiple coding tree units (CTU) . In main profile, the minimum and the maximum sizes of CTU are specified by the syntax elements in the sequence parameter set (SPS) among the sizes of 8x8, 16x16, 32x32, and 64x64. Inside a slice, a raster scan method is used for processing the CTU.
The CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics. A quadtree denoted as the coding tree is used to partition the CTU into multiple CUs. Let CTU size be MxM where M is one of the values of 64, 32, or 16. The CTU can be a single CU or can be split into four smaller units of equal sizes of M/2xM/2, which are nodes of coding tree. If units are leaf nodes of coding tree, the units become CUs. Otherwise, the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size specified in the SPS. This representation results in a recursive structure specified by a coding tree as shown in Fig. 1. The solid lines indicate CU boundaries. The decision whether to code a picture area using interpicture (temporal) or intrapicture (spatial) prediction is made at the CU level. Since the minimum CU size can be 8x8, the minimum granularity for switching different basic prediction type is 8x8.
One or more prediction units (PU) are specified for each CU. Coupled with the CU, the PU works as a basic representative block for sharing the prediction information. Inside one PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis. A CU can be split into one, two, or four PUs according to the PU splitting type. HEVC defines eight shapes for splitting a CU into PU as shown in Fig. 2. Unlike the CU, the PU may only be split once.
After obtaining the residual block by prediction process based on PU splitting type, a CU can be partitioned into transform units (TU) according to another quadtree structure which is analogous to the coding tree for the CU as shown in Fig. 1. The solid lines indicate CU boundaries and dotted lines indicate TU boundaries. The TU is a basic representative block having residual or transform coefficients for applying the integer transform and quantization. For each TU, one integer transform having the same size to the TU is applied to obtain residual coefficients. These coefficients are transmitted to the decoder after quantization on a TU basis.
The terms coding tree block (CTB) , coding block (CB) , prediction block (PB) , and transform block (TB) are defined to specify the 2-D sample array of one color component associated with CTU, CU, PU, and TU, respectively. Thus, a CTU consists of one luma CTB, two chroma CTBs, and associated syntax elements. A similar relationship is valide for CU, PU, and TU.
The tree partitioning is generally applied simultaneously to both luma and chroma, although exceptions apply when certain minimum sizes are reached for chroma.
However, due to some restrictions in the current HEVC block partitioning structure, e.g., the quadtree based partitioning from CTU to CU and from CU to TU, the limited depth of PU partitioning, the coding efficiency is still not sufficient to cope with the ever increasing demands for storage and transmission of video content.
SUMMARY
In light of the previously described problems, there exists a need for an apparatus and method, in which a more flexible block partitioning structure is used.
A binary tree structure is proposed for partitioning a unit into multiple smaller units such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on.
The binary tree structure can be combined with quadtree structure, which is a quadtree plus binary tree (QTBT) structure. In the QTBT structure, the root unit is firstly partitioned by a quadtree structure, then the leaf nodes of the quadtree is further partitioned by a binary tree structure. Some parameters for restriction of the quadtree and binary tree can be defined in high level such as in SPS.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Fig. 1 illustrates the subdivision of a CTU into CUs and TUs (left) and its corresponding  quadtree (right) in HEVC.
Fig. 2 illustrates the types for splitting a CU into PUs in HEVC.
Fig. 3 illustrates the possible splitting types in the proposed binary tree.
Fig. 4 illustrates an example of block partitioning (left) and its corresponding binary tree (right) .
Fig. 5 illustrates an example of block partitioning (left) and its corresponding quadtree plus binary tree (right) .
DETAILED DESCRIPTION
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
A binary tree block partitioning structure is proposed. In the proposed binary tree partitioning structure, a block can be recursively split into two smaller blocks. There are kinds of splitting types as shown in Fig. 3. The most efficient and simplest ones are the symmetric horizontal and vertical split as shown in the top two splitting types in Fig. 3. Therefore, as one embodiment, we only use these two splitting types. For a given block of size MxN, a flag signals whether it is split into two smaller blocks. If yes, another syntax element is signaled to indicate which splitting type is used. If the horizontal splitting is used then it is split into two blocks of size MxN/2, otherwise if the vertical splitting is used then it is split into two blocks of size M/2xN. The binary tree splitting process can be iterated until the size (width or height) for a splitting block reaches a minimum allowed block size (width or height) that can be defined in high level syntax such as SPS. Since the binary tree has two splitting types horizontal and vertical, so the minimum allowed block width and height should be both indicated. Not horizontal splitting is implicit when splitting would result in a block height smaller than the indicated minimum. Not vertical splitting is implicit when splitting would result in a block width smaller than the indicated minimum. Fig. 4 illustrates an example of block partitioning (left) and its corresponding binary tree (right) . In each splitting (i.e., non-leaf) node of the binary tree, one flag indicates which splitting type (horizontal or vertical) is used, 0 indicates horizontal splitting and 1 indicates vertical splitting.
The proposed binary tree structure can be used for partitioning a block into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on. As one embodiment, we use the binary tree for partitioning a CTU into CUs, i.e., the root node of the binary tree is a CTU and the leaf node of the binary tree is CU, the leaf nodes are  further processed by prediction and transform coding. And for simplification as another embodiment there is no further partitioning from CU to PU or from CU to TU. That means CU equal to PU equal to TU, therefore, it is also to say that the leaf node of the binary tree is the basic unit for prediction and transform coding.
Binary tree structure is more flexible than quadtree structure, since much more partition shapes can be supported which is also the source of coding efficiency improvement. However, the encoding complexity will also increase in order to select the best partition shape. In order to balance the complexity and coding efficiency, it is proposed to combine the quadtree and binary tree structure, which is called as quadtree plus binary tree (QTBT) structure. In the proposed QTBT structure, a block is firstly partitioned by a quadtree structure, the quadtree splitting can be iterated until the size for a splitting block reaches the minimum allowed quadtree leaf node size. If the leaf quadtree block is not larger than the maximum allowed binary tree root node size, it can be further partitioned by a binary tree structure, the binary tree splitting can be iterated until the size (width or height) for a splitting block reaches the minimum allowed binary tree leaf node size (width or height) or the binary tree depth reaches the maximum allowed binary tree depth. In the QTBT structure, the minimum allowed quadtree leaf node size, the maximum allowed binary tree root node size, the minimum allowed binary tree leaf node width and height, and the maximum allowed binary tree depth can be indicated in the high level syntax such as in SPS. Fig. 5 illustrates an example of block partitioning (left) and its corresponding QTBT (right) . The solid lines indicate quadtree splitting and dotted lines indicate binary tree splitting. In each splitting (i.e., non-leaf) node of the binary tree, one flag indicates which splitting type (horizontal or vertical) is used, 0 indicates horizontal splitting and 1 indicates vertical splitting.
The proposed QTBT structure can be used for partitioning a block into multiple smaller blocks such as partitioning a slice into CTUs, a CTU into CUs, a CU into PUs, or a CU into TUs, and so on. As one embodiment, we use the QTBT for partitioning a CTU into CUs, i.e., the root node of the QTBT is a CTU which is partitioned into multiple CUs by a QTBT structure, and the CUs are further processed by prediction and transform coding. And for simplification as another embodiment there is no further partitioning from CU to PU or from CU to TU. That means CU equal to PU equal to TU, therefore, it is also to say that the leaf node of the QTBT structure is the basic unit for prediction and transform.
For the proposed QTBT structure, we can take a specific example here. We have a CTU with size 128x128, and the minimum allowed quadtree leaf node size equal to 16x16, the maximum allowed binary tree root node size equal to 64x64, the minimum allowed binary tree leaf node width and height both equal to 4, and the maximum allowed binary tree depth equal to 4. Firstly, the CTU is partitioned by a quadtree structure and the leaf quadtree unit may have size from 16x16 (minimum allowed quadtree leaf node size) to 128x128 (equal to CTU size, i.e., no split) , if the leaf quadtree unit  is 128x128 it cannot be further split by binary tree since the size exceeds the maximum allowed binary tree root node size 64x64, otherwise the leaf quadtree unit can be further split by binary tree, the leaf quadtree unit which is also the root binary tree unit has binary tree depth as 0. When the binary tree depth reaches 4 (the indicated maximum) , not splitting is implicit, when the binary tree node has width equal to 4, not horizontal splitting is implicit, and when the binary tree node has height equal to 4, not vertical splitting is implicit. The leaf nodes of the QTBT are further processed by prediction (intrapicture or interpicture) and transform coding.
The proposed tree structure is applied separately to luma and chroma for I slice, and applied simultaneously to both luma and chroma (except when certain minimum sizes are reached for chroma) for P and B slice. That is to say that, in I slice, the luma CTB has its QTBT-structured block partitioning, and the two chroma CTBs has another QTBT-structured block partitioning, wherein as another embodiment, the two chroma CTBs can also have their own QTBT-structured block partitionings.
The representation of the proposed binary tree structure can be entropy coded by the context-based adaptive binary arithmetic coding (CABAC) mode. The context modeling can consider information on the binary tree depths of the neighboring blocks and the current block subject to signaling the split decision. The contextual information can further consider the size and shape of the current block. When combined with the quadtree structure, the context modeling can further consider information on the quadtree depths of the neighboring blocks and the current block. A binary syntax element bt_split_flag is coded to signal if the current block is to be further split or not. If the syntax element bt_split_flag is true, a syntax element bt_split_mode is next coded to indicate the split/partitioning mode to be adopted by the current block. In one embodiment for the proposed QTBT structure with the two binary split modes, context modeling for entropy coding the syntax element bt_split_flag is conditioned on the number of the neighboring blocks, consisting of the top block and left block, with the higher combined QTBT depth than the current block. The combined QTBT depth of a block is defined to be equal to the sum of its quadtree depth scaled by 2 and its binary tree depth. Context modeling for entropy coding the syntax element bt_split_mode is conditioned on the shape of the current block. Tables 1 and 2 provide the example mapping tables for context selection for such an embodiment for coding syntax elements bt_split_flag and bt_split_mode, respectively. In another embodiment, the context modeling is further conditioned on the binary tree depth of the current block. Tables 3 and 4 provide the example mapping tables for context selection for such an embodiment for coding syntax elements bt_split_flag and bt_split_mode, respectively, where “W” and “H” denotes the width and height of the current block. In another embodiment, context modeling is further conditioned on the quadtree depth of the current block. In another embodiment, context modeling for different quadtree depths or binary tree depths can share the same set of modeling contexts.
Table 1
Figure PCTCN2015095775-appb-000001
Table2
Figure PCTCN2015095775-appb-000002
Table 3
Figure PCTCN2015095775-appb-000003
Table 4
Figure PCTCN2015095775-appb-000004
The methods described above can be used in a video encoder as well as in a video decoder. Embodiments of the methods according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a  number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target platform. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art) . Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.

Claims (9)

  1. A video or image coding method, the method comprising a binary tree block partitioning structure possibly combined with a quadtree block partitioning structure, an arithmetic coding engine, a plurality of probability models built up from the different contextual conditions, and a entropy coder for coding the said block partitioning structure using context-based adaptive binary arithmetic coding conditioned on the contextual information related to the binary tree depths of the neighboring blocks and the current block and the size and shape of the current block.
  2. The method according to Claim 1, wherein the entropy coder comprising a binary syntax element, indicated by bt_split_flag, to signal if the current block is to be further split or not and entropy coded conditioned on the number of the neighboring blocks with the higher combined QTBT depth than the current block.
  3. The method according to Claim 1, wherein the entropy coder comprising a syntax element, indicated by bt_split_mode, to signal the split/partitioning mode to be adopted by the current block and entropy coded conditioned on the shape of the current block.
  4. The method as claimed in claim 3, wherein the shape of the current block is classified by the relationship between width and height of the block.
  5. The method according to Claim 2, wherein the syntax element bt_split_flag is entropy coded further conditioned on the binary tree depth of the current block.
  6. The method according to Claim 3, wherein the syntax element bt_split_mode is entropy coded further conditioned on the binary tree depth of the current block.
  7. The method as claimed in Claim 2, wherein the combined QTBT depth is replaced by the binary tree depth.
  8. The method as claimed in Claim 5, wherein the binary tree depth is replaced by the combined QTBT depth.
  9. The method as claimed in Claim 6, wherein the binary tree depth is replaced by the combined QTBT depth.
PCT/CN2015/095775 2015-11-27 2015-11-27 Entropy coding the binary tree block partitioning structure WO2017088170A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/CN2015/095775 WO2017088170A1 (en) 2015-11-27 2015-11-27 Entropy coding the binary tree block partitioning structure
EP16868033.8A EP3363199B1 (en) 2015-11-27 2016-11-25 Method and apparatus of entropy coding and context modelling for video and image coding
PCT/CN2016/107241 WO2017088810A1 (en) 2015-11-27 2016-11-25 Method and apparatus of entropy coding and context modelling for video and image coding
US15/777,432 US10863207B2 (en) 2015-11-27 2016-11-25 Method and apparatus of entropy coding and context modelling for video and image coding
CN201680068748.2A CN108605130B (en) 2015-11-27 2016-11-25 Method and device for entropy coding and decoding of symbols related to blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/095775 WO2017088170A1 (en) 2015-11-27 2015-11-27 Entropy coding the binary tree block partitioning structure

Publications (1)

Publication Number Publication Date
WO2017088170A1 true WO2017088170A1 (en) 2017-06-01

Family

ID=58762837

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/095775 WO2017088170A1 (en) 2015-11-27 2015-11-27 Entropy coding the binary tree block partitioning structure

Country Status (1)

Country Link
WO (1) WO2017088170A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830829A (en) * 2018-05-08 2018-11-16 天津大学 Combine the reference-free quality evaluation algorithm of a variety of edge detection operators
WO2019001006A1 (en) * 2017-06-28 2019-01-03 华为技术有限公司 Method and device for encoding and decoding image data
WO2020015592A1 (en) * 2018-07-14 2020-01-23 Mediatek Inc. Methods and apparatuses of processing video pictures with partition constraints in a video coding system
CN111107367A (en) * 2018-10-26 2020-05-05 北京字节跳动网络技术有限公司 Block division method and device
CN111149359A (en) * 2017-09-20 2020-05-12 韩国电子通信研究院 Method and apparatus for encoding/decoding image and recording medium storing bitstream
CN111727607A (en) * 2017-12-22 2020-09-29 交互数字Vc控股公司 Method and apparatus for video encoding and decoding based on context switching
CN112166607A (en) * 2018-05-29 2021-01-01 交互数字Vc控股公司 Method and apparatus for video encoding and decoding using partially shared luma and chroma coding trees
CN113366850A (en) * 2019-01-14 2021-09-07 华为技术有限公司 Video encoder, video decoder and corresponding methods
RU2773641C2 (en) * 2018-03-09 2022-06-06 Хуавей Текнолоджиз Ко., Лтд. Image data encoding method and device, image data decoding method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202602A1 (en) * 2002-04-30 2003-10-30 Apostolopoulos John G. Compression of images and image sequences through adaptive partitioning
CN102801976A (en) * 2012-08-03 2012-11-28 山东省科学院情报研究所 Inter-frame module selecting method based on three-dimensional wavelet video code
CN103503461A (en) * 2011-05-05 2014-01-08 三菱电机株式会社 Residual quadtree structure for transform units in non-square prediction units
CN104883569A (en) * 2011-07-01 2015-09-02 三星电子株式会社 Method And Apparatus For Entropy Encoding Using Hierarchical Data Unit, And Method And Apparatus For Decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202602A1 (en) * 2002-04-30 2003-10-30 Apostolopoulos John G. Compression of images and image sequences through adaptive partitioning
CN103503461A (en) * 2011-05-05 2014-01-08 三菱电机株式会社 Residual quadtree structure for transform units in non-square prediction units
CN104883569A (en) * 2011-07-01 2015-09-02 三星电子株式会社 Method And Apparatus For Entropy Encoding Using Hierarchical Data Unit, And Method And Apparatus For Decoding
CN102801976A (en) * 2012-08-03 2012-11-28 山东省科学院情报研究所 Inter-frame module selecting method based on three-dimensional wavelet video code

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102478441B1 (en) 2017-06-28 2022-12-15 후아웨이 테크놀러지 컴퍼니 리미티드 Method and device for encoding and decoding image data
US10834430B2 (en) 2017-06-28 2020-11-10 Huawei Technologies Co., Ltd. Picture data encoding method and apparatus and picture data decoding method and apparatus
CN109151468A (en) * 2017-06-28 2019-01-04 华为技术有限公司 A kind of coding of image data, coding/decoding method and device
TWI674790B (en) * 2017-06-28 2019-10-11 華為技術有限公司 Method of picture data encoding and decoding and apparatus
RU2754870C2 (en) * 2017-06-28 2021-09-08 Хуавей Текнолоджиз Ко., Лтд. Method and device for encoding image data, method and device for decoding image data
KR20200020915A (en) * 2017-06-28 2020-02-26 후아웨이 테크놀러지 컴퍼니 리미티드 Image data encoding method and apparatus and Image data decoding method and apparatus
US11695968B2 (en) 2017-06-28 2023-07-04 Huawei Technologies Co., Ltd. Picture data encoding method and apparatus and picture data decoding method and apparatus
US11277648B2 (en) 2017-06-28 2022-03-15 Huawei Technologies Co., Ltd. Picture data encoding method and apparatus and picture data decoding method and apparatus
KR20210133320A (en) * 2017-06-28 2021-11-05 후아웨이 테크놀러지 컴퍼니 리미티드 Method and device for encoding and decoding image data
KR102320023B1 (en) 2017-06-28 2021-10-29 후아웨이 테크놀러지 컴퍼니 리미티드 Image data encoding method and apparatus, and image data decoding method and apparatus
CN109151468B (en) * 2017-06-28 2020-12-08 华为技术有限公司 Image data encoding and decoding methods and devices
WO2019001006A1 (en) * 2017-06-28 2019-01-03 华为技术有限公司 Method and device for encoding and decoding image data
US12069317B2 (en) 2017-06-28 2024-08-20 Huawei Technologies Co., Ltd. Picture data encoding method and apparatus and picture data decoding method and apparatus
CN111149359B (en) * 2017-09-20 2023-11-17 韩国电子通信研究院 Method and apparatus for encoding/decoding image and recording medium storing bit stream
CN111149359A (en) * 2017-09-20 2020-05-12 韩国电子通信研究院 Method and apparatus for encoding/decoding image and recording medium storing bitstream
US11677940B2 (en) 2017-09-20 2023-06-13 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image, and recording medium having stored bitstream
US11483562B2 (en) 2017-12-22 2022-10-25 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on context switching
CN111727607A (en) * 2017-12-22 2020-09-29 交互数字Vc控股公司 Method and apparatus for video encoding and decoding based on context switching
RU2773641C2 (en) * 2018-03-09 2022-06-06 Хуавей Текнолоджиз Ко., Лтд. Image data encoding method and device, image data decoding method and device
CN108830829B (en) * 2018-05-08 2021-09-07 天津大学 Non-reference quality evaluation algorithm combining multiple edge detection operators
CN108830829A (en) * 2018-05-08 2018-11-16 天津大学 Combine the reference-free quality evaluation algorithm of a variety of edge detection operators
CN112166607A (en) * 2018-05-29 2021-01-01 交互数字Vc控股公司 Method and apparatus for video encoding and decoding using partially shared luma and chroma coding trees
WO2020015592A1 (en) * 2018-07-14 2020-01-23 Mediatek Inc. Methods and apparatuses of processing video pictures with partition constraints in a video coding system
CN111107367B (en) * 2018-10-26 2023-12-08 北京字节跳动网络技术有限公司 Block segmentation method and device
CN111107367A (en) * 2018-10-26 2020-05-05 北京字节跳动网络技术有限公司 Block division method and device
CN113366850B (en) * 2019-01-14 2022-09-23 华为技术有限公司 Video encoder, video decoder and corresponding methods
US11902506B2 (en) 2019-01-14 2024-02-13 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding methods
CN113366850A (en) * 2019-01-14 2021-09-07 华为技术有限公司 Video encoder, video decoder and corresponding methods

Similar Documents

Publication Publication Date Title
CN108605130B (en) Method and device for entropy coding and decoding of symbols related to blocks
WO2016090568A1 (en) Binary tree block partitioning structure
WO2017008263A1 (en) Conditional binary tree block partitioning structure
EP3731527B1 (en) Method and apparatus of palette mode coding for colour video data
WO2017088170A1 (en) Entropy coding the binary tree block partitioning structure
TWI720584B (en) Methods and apparatuses of chroma quantization parameter derivation in video processing system
US11039147B2 (en) Method and apparatus of palette mode coding for colour video data
WO2018018486A1 (en) Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure
WO2020132294A1 (en) Adaptive loop filtering classification in video coding
WO2020140876A1 (en) Method and apparatus of luma-chroma separated coding tree coding with constraints
TWI702838B (en) Methods and apparatus of video coding for video encoder or decoder
WO2020098786A1 (en) Method and apparatus of luma-chroma separated coding tree coding with constraints

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: 15909081

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: 15909081

Country of ref document: EP

Kind code of ref document: A1