Reduce redundancy between tree types
By combining rich encoding unit segmentation modes and using corresponding transformations, the video data is encoded and decoded, and the problem of redundancy of encoding unit segmentation mode in the prior art is solved, and the compression efficiency and simplicity of encoder design are improved.
Patent Information
- Application Number
- CN202211109970.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-03-27
- Filing Date
- 2018-03-23
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2038-03-23
AI Technical Summary
In the existing video compression technology, there is redundancy in the segmentation mode of the encoding unit, resulting in low encoding efficiency and high encoder design complexity.
A method is proposed to divide the block into rectangular sub-blocks by combining rich encoding unit segmentation modes, using binary segmentation or ternary segmentation, and encode and decode sub-blocks using corresponding transformations to ensure that there is no redundancy between segmentation modes.
It improves the compression efficiency of video data, reduces the complexity of encoder design, and avoids redundancy between segmentation modes, achieving more flexible and efficient video data representation.
Smart Images

Figure CN115514966B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with an international application date of March 23, 2018, Chinese application number 201880021482.5, and invention name “Reducing Redundancy Between Tree Types”. Technical Field
[0002] The present principles relate to the field of video compression. Background Art
[0003] In the HEVC video compression standard (International Telecommunication Union, ITU-T H.265 High Efficiency Video Coding), a picture is divided into so-called Coding Tree Units (CTUs), the size of which is typically 64×64, 128×128 or 256×256 pixels.
[0004] Each CTU is represented by a coding tree in the compressed domain. It is a quadtree partition of the CTU, where each leaf is called a coding unit (CU), such as Figure 1 as shown in .
[0005] Each CU is then given some intra or inter prediction parameters (prediction information). To do this, it is spatially partitioned into one or more prediction units (PUs), each of which is assigned some prediction information. To assign intra or inter coding modes at the CU level, see Figure 2 .
[0006] Partitioning of a coding unit into prediction units is done based on the partition type signaled in the bitstream. For intra coding units, only Figure 3 The partition types shown in are 2N×2N and N×N. This means that only square prediction units are used in intra coding units.
[0007] Instead, inter-frame coding units can use Figure 3 All partition types shown in .
[0008] According to the HEVC standard, coding units are also divided recursively into so-called transform units according to a "transform tree". Thus, a transform tree is a quadtree partitioning of coding units and transform units are the leaves of the transform tree. A transform unit encapsulates a square transform block for each picture component corresponding to the square spatial region considered. A transform block is a square block of samples in a single component, where the same transform is applied.
[0009] Emerging video compression tools including coding tree unit representation in the compressed domain are proposed to represent picture data in a more flexible way in the compressed domain. The advantage of this flexible representation of the coding tree is that it provides increased compression efficiency compared to the CU / PU / TU arrangement of the HEVC standard.
[0010] The Quadtree Plus Binary Tree (QTBT) coding tool provides this increased flexibility. It includes a coding tree where coding units can be split in both a quadtree and a binary tree manner. Figure 4 Such a coding tree representation of a coding tree unit is illustrated in FIG. Fig.15 The QTBT representation on a block is illustrated in FIG.
[0011] The partitioning of the coding units is decided at the encoder side by a rate-distortion optimization process, which involves determining the QTBT representation of the CTU with the minimum rate-distortion cost.
[0012] In QTBT technology, a CU has a square or rectangular shape. The size of a coding unit is always a power of 2 and typically ranges from 4 to 128.
[0013] Besides the various rectangular shapes used for coding units, this new CTU representation has the following different characteristics compared to HEVC:
[0014] The QTBT decomposition of a CTU consists of two stages: first, the CTU is split in a quadtree fashion, and then each quadtree leaf can be further split in a binary fashion. Figure 4 , where the solid line represents the quadtree decomposition stage and the dashed line represents the binary decomposition spatially embedded in the quadtree leaves.
[0015] In intra slices, the luma and chroma block partition structures are separated and determined independently.
[0016] • Partitioning of CUs into prediction units or transform units is no longer adopted. In other words, each coding unit systematically consists of a single prediction unit (previous 2N×2N prediction unit partition type) and a single transform unit (not divided into transform trees).
[0017] However, there is a need for further improved compression efficiency compared to QTBT technology.In the disclosure of "Asymmetric Coding Units Codec Architecture" (EP-IPA 16306308.4), coding units with a new rectangular shape are introduced, which result from a new binary partitioning pattern called asymmetric partitioning pattern. Summary of the invention
[0018] These and other drawbacks and disadvantages of the prior art are solved by at least one of the described embodiments, which relate to methods and apparatuses for encoding or decoding blocks of video data. In at least one embodiment, a rich set of coding unit partition patterns is proposed, which aims to provide a flexible rectangle-based representation of pictures in the compression domain while ensuring no redundancy among these partition patterns in terms of spatial topology.
[0019] According to at least one general embodiment described herein, a method for encoding a block of video data is provided. The method includes partitioning the block into at least two rectangular sub-blocks using binary partitioning or ternary partitioning, and then encoding the sub-blocks using a transform corresponding to the sub-block size.
[0020] According to at least one general embodiment described herein, a method for decoding a block of video data is provided. The method includes decoding at least one sub-block using an inverse transform corresponding to the sub-block size, and then recombining at least two sub-blocks into a block by an inverse partitioning operation.
[0021] According to another general embodiment described herein, an apparatus for encoding a block of video data is provided. The apparatus includes a memory, and a processor configured to partition the block into at least two rectangular sub-blocks using binary partitioning or ternary partitioning, and then encode the sub-blocks using a transform corresponding to the sub-block size.
[0022] According to another general embodiment described herein, an apparatus for decoding a block of video data is provided. The apparatus includes a memory, and a processor configured to decode at least one sub-block using an inverse transform corresponding to the sub-block size, and then recombine at least two sub-blocks into a block by an inverse partitioning operation.
[0023] According to at least one general embodiment described herein, any of the above first four embodiments is provided, wherein the partitioning includes, if the resulting partition is not equal to a ternary partition, partitioning the block into sub-blocks using asymmetric partitioning in the horizontal or vertical direction, otherwise partitioning the block into sub-blocks using a ternary partition pattern in the horizontal or vertical direction.
[0024] According to at least one general embodiment described herein, any of the above first four embodiments is provided, wherein the partitioning includes, if the resulting partition is not equal to a ternary partition, partitioning the block into sub-blocks using asymmetric partitioning in any direction, otherwise partitioning the block into sub-blocks using a ternary partition pattern in any direction.
[0025] According to another aspect described herein, a non-transitory computer-readable storage medium is provided, which contains data content generated according to the method of any one of the aforementioned method embodiments or by the apparatus of any one of the aforementioned apparatus embodiments for playback using a processor.
[0026] According to another aspect described herein, a signal is provided that includes video data generated according to a method of any one of the aforementioned method embodiments for encoding blocks of video data or by an apparatus of any one of the aforementioned device embodiments for encoding blocks of video data, for playback using a processor.
[0027] According to another aspect described herein, there is provided a computer program product comprising instructions which, when the program is executed by a computer, cause the computer to perform a method of any one of the aforementioned method embodiments.
[0028] These and other aspects, features and advantages of the present principles will become apparent from the following detailed description of illustrative embodiments, which is to be read in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 An example of the coding tree unit and coding tree concept representing a compressed picture is shown.
[0030] Figure 2 An example of dividing a coding tree unit into coding units, prediction units, and transform units is shown.
[0031] Figure 3 An example of partitioning of coding units is shown.
[0032] Figure 4 An example quadtree plus binary tree coding tree unit representation is shown.
[0033] Figure 5 An example of an additional coding unit binary asymmetric partitioning pattern in QTBT is shown.
[0034] Figure 6 A ternary pattern segmentation of a block is shown.
[0035] Figure 7 Different partitioning of the block for handling block non-uniformity is shown.
[0036] Figure 8 The set of all coding unit partitioning modes supported in the video coding scheme described herein is shown.
[0037] Fig. 9 A first asymmetric partitioning of the block is shown (HOR_UP1 / 4), followed by a second asymmetric partitioning (HOR_DOWN1 / 3).
[0038] Fig.10 A coding unit partitioning configuration that can be achieved using the coding scheme described herein is shown (bottom right).
[0039] Fig.11 The grammatical arrangements for binary and ternary tree partitioning are shown.
[0040] Fig.12 An example of the proposed functional blocks interfacing with a general video compression scheme is shown.
[0041] Fig.13 A general video decoding scheme is shown.
[0042] Fig.14 An example of restricting the use of an asymmetric binary tree to prevent duplication of ternary tree operations is shown.
[0043] Fig.15 An embodiment of a quadtree plus binary tree representation on a coding block is shown.
[0044] Fig.16 Examples of limitations in existing approaches are shown.
[0045] Fig.17 One embodiment of a method of encoding a video block using one of the general aspects described herein is shown.
[0046] Fig.18 Another embodiment of a method of decoding a video block using one of the general aspects described herein is shown.
[0047] Fig.19 One embodiment of an apparatus for encoding or decoding a block of video data utilizing at least one of the general aspects described herein is shown.
[0048] Fig. 20 Another embodiment of a method of partitioning blocks of video data using at least one of the general aspects described herein is shown.
[0049] Fig.21 Another embodiment of a method of partitioning blocks of video data using at least one of the general aspects described herein is shown. DETAILED DESCRIPTION
[0050] Methods are described for improving entropy coding efficiency of transform coefficients in asymmetric coding units, thereby providing good compression and minimal increase in encoder design complexity.
[0051] For clarity, in this description, "partitioning," "segmenting," and "segmentation" all mean the same thing, which is the action of performing a straight-line division of a block of pixels. Similarly, "segmentation" and "partitioning" mean the same thing, the grouping of pixels as a result of dividing, segmenting, or segmenting a block or sub-block.
[0052] In the HEVC video compression standard, pictures are divided into so-called Coding Tree Units (CTUs), having typical sizes of 64x64, 128x128 or 256x256 pixels.
[0053] Each CTU is represented by a coding tree in the compressed domain. It is a quadtree partition of the CTU, where each leaf is called a coding unit (CU), see Figure 1 .
[0054] Each CU is then given some intra or inter prediction parameters (prediction information). To do this, it is spatially partitioned into one or more prediction units (PUs), each of which is assigned some prediction information. To assign intra or inter coding modes at the CU level, see Figure 2 .
[0055] Partitioning of a coding unit into prediction units is done based on the partition type signaled in the bitstream. For intra coding units, only Figure 3 The partition types shown in are 2N×2N and N×N. This means that only square prediction units are used in intra coding units.
[0056] Instead, inter-frame coding units can use Figure 3 All partition types shown in .
[0057] According to the HEVC standard, coding units are also divided recursively into so-called transform units according to a "transform tree". Thus, a transform tree is a quadtree partitioning of coding units and transform units are the leaves of the transform tree. A transform unit encapsulates a square transform block for each picture component corresponding to the square spatial region considered. A transform block is a square block of samples in a single component, where the same transform is applied.
[0058] Emerging video compression tools include coding tree unit representation in the compressed domain to represent picture data in a more flexible way in the compressed domain. The advantage of this flexible representation of the coding tree is that it provides increased compression efficiency compared to the CU / PU / TU arrangement of the HEVC standard.
[0059] The Quadtree plus Binary Tree (QTBT) coding tool provides this increased flexibility. It includes a coding tree where the coding units can be split both in a quadtree (4 sub-units) and a binary tree (2 sub-units) manner. Figure 4Such a coding tree representation of a coding tree unit is illustrated in .
[0060] The partitioning of the coding units is decided at the encoder side by a rate-distortion optimization process, which involves determining the QTBT representation of the CTU with the minimum rate-distortion cost.
[0061] In QTBT technology, a CU has a square or rectangular shape. The size of a coding unit is always a power of 2 and typically ranges from 4 to 128.
[0062] Besides the various rectangular shapes used for coding units, this new CTU representation has the following different characteristics compared to HEVC:
[0063] The QTBT decomposition of a CTU consists of two stages: first, the CTU is split in a quadtree fashion, and then each quadtree leaf can be further split in a binary fashion. Figure 4 , where the solid line represents the quadtree decomposition stage and the dashed line represents the binary decomposition spatially embedded in the quadtree leaves.
[0064] In intra slices, the luma and chroma block partition structures are separated and determined independently.
[0065] • Partitioning of CUs into prediction units or transform units is no longer adopted. In other words, each coding unit systematically consists of a single prediction unit (previous 2N×2N prediction unit partition type) and a single transform unit (not divided into transform trees).
[0066] The described embodiments relate to the field of compressed picture coding unit representation and aim at further improving the compression efficiency compared to the QTBT technique.
[0067] In another application (Asymmetric Coding Unit Codec Architecture, EP-EPA16306308.4), it is proposed to introduce new asymmetric partitions in QTBT. These new shapes include equal to 3·2 in width and / or height. n In addition, a CU with a size that is a multiple of 3 in width or height can be further split horizontally or vertically in a binary manner. We call this type of splitting a quarter split.
[0068] When one of the sub-blocks has 3·2 n These embodiments support encoding / decoding using the current quarter division when the size is . If we divide the sub-block again with a quarter division in the same direction, we will get a sub-block of size 3·2 in the same direction. n-2 and 3 2 2 n-2For example, two consecutive asymmetric horizontal top partitions: first the block 32×32 is divided into 32×8 and 32×24, and then the second sub-block is further divided into 32×6 and 32×18.
[0069] The disadvantage is that a block of size 18 cannot be divided by 4, so it cannot be split further. Continuous asymmetric splitting will result in many different block sizes. Many different block sizes will require many new transform sizes associated with each block size. These transforms require a lot of memory for fast and efficient implementation.
[0070] In a first prior art approach, a ternary tree is introduced. The ternary tree or ternary partitioning partitions a coding unit or sub-unit into three parts. One advantage is that all sub-blocks are powers of 2. The main disadvantage is that it does not provide enough flexibility to optimally choose the partitioning of the block, because it imposes three sub-blocks even if only two are needed, for example, when the boundary of an object passes near an edge (see Figure 7 , ternary segmentation relative to asymmetric segmentation).
[0071] The basic idea of the second prior art method (EP-EPA 16306308.4) is to make the asymmetric split ratio dependent on the block size. n The asymmetric partitioning type HOR_UP (horizontally up) results in 2 sub-coding units with corresponding rectangular sizes and But for a cell with dimensions (w,h), where the height is 3·2 n The asymmetric split type HOR_DOWN (horizontally down) will result in 2 sub-coding units with corresponding rectangular sizes and We call this type of split a one-third split.
[0072] For example, for a block 32×32, a first asymmetric partition (quarter partition) results in a 32×8 block and a 32×24 block, and a second asymmetric partition (one-third partition) for the second sub-block results in a 32×16 sub-block and a 32×8 sub-block, as shown in FIG. Fig. 9 Therefore, the split size (quarter / third split) depends on the current size of the block.
[0073] Therefore, the encoder can choose a value equal to 3·2 n In this case, intra prediction and inter processing of some rectangular blocks with a size that is a multiple of 3 are performed. In addition, nThe 2D transform of the size of , and the subsequent entropy coding process of the transform coefficients. These technical aspects do not exist in HEVC or QTBT.
[0074] The most recent coding unit partitioning mode (called horizontal or vertical ternary tree partitioning mode) consists in partitioning a coding unit (CU) into 3 sub-coding units (sub-CUs) having respective sizes equal to 1 / 4, 1 / 2 and 1 / 4 of the parent CU size in the considered spatial partitioning direction. Figure 6 Shown in.
[0075] One context of the described embodiments is a video encoding / decoding scheme in which Figure 4 , Figure 5 and Figure 6 All CU partitioning modes of are active in video coding, which means that the encoder can select any of these partitioning modes and signal them to the decoder.
[0076] Figure 8 The complete set of CU partitioning modes present in such a codec is shown in .
[0077] Figure 8 The set of all coding unit partitioning modes supported in the video coding schemes considered here is shown.In real video images, this rich set of coding unit topologies helps to have a coding structure that spatially matches the structure and discontinuities contained in the original signal.
[0078] Fig.11 The grammatical arrangements for binary and ternary tree partitioning are shown.
[0079] The above-mentioned existing methods provide an asymmetric partitioning process, in which the size ratio between the child CU and the parent CU depends on the size of the parent CU. This allows cascading several asymmetric partitioning operations for a given CU, which may result in Fig. 9 Configuration.
[0080] However, this approach results in several different partitioning operation sequences (successions) that can result in the same spatial partitioning of a given coding unit. Fig. 9 In Figure 1, it can be seen that the obtained topology is the same as that which would be obtained using the HOR_TRIPLE segmentation mode. Therefore, there is some redundancy between the several coding tree representations in this case. This redundancy leads to suboptimal coding efficiency, because a given segmentation syntax specification supports several ways to perform the same spatial partitioning. In addition, this redundancy also leads to high complexity on the encoder side, because the rate-distortion optimization process evaluates several coding tree representations that are identical from a topological perspective.
[0081] A problem addressed by at least one of the described embodiments is how to ensure that there is no redundancy between different sequences of CU partitioning operations when using ternary tree mode and asymmetric binary tree mode in the same video compression design.
[0082] A first way to solve this problem is to prohibit the use of binary asymmetric partitioning with block size ratios (1 / 3, 2 / 3), as disclosed in the aforementioned prior art methods. Fig.16 The advantages of the method described here are to ensure that Fig. 9 The segmentation configuration on the right cannot be achieved by continuous asymmetric binary segmentation and can only be achieved by the HOR_TRIPLE segmentation mode (e.g. Figure 6 This can be achieved by using the HOR_TRIPLE splitting mode shown in .
[0083] The disadvantage is that some topologies cannot be achieved using ternary trees and asymmetric binary trees in this mutually exclusive way.
[0084] The basic idea of the embodiments described here is to allow the use of asymmetric partitioning patterns with ratios (1 / 3, 2 / 3) of existing methods while preventing the codec from emulating ternary tree partitioning by continuous asymmetric binary partitioning with adaptive block size ratios. Fig.10 Typical examples of allowed and disallowed segmentation configurations according to the proposed method are shown in FIG.
[0085] The advantage of this method is that it allows to achieve Fig.10 In fact, if the partition ratio (1 / 3, 2 / 3) is disabled, the 24x16 exemplary CU resulting from the asymmetric then symmetric binary partition cannot be further divided into 16x16 sub-CUs and 16x8 sub-CUs.
[0086] The proposed method has the following two features:
[0087] - (1 / 3, 2 / 3) asymmetric partitioning ratios may allow the codec to use asymmetric partitioning with embedding of an existing CU whose size results from an asymmetric partitioning already performed at a higher hierarchical level in the considered coding tree, and so on.
[0088] - Restrictions are placed on the use of asymmetric binary tree partitioning patterns to prevent a sequence of asymmetric partitioning operations from simulating any ternary tree pattern (VER_TRIPLE of HOR_TRIPLE). Simulating means producing the same or equivalent spatial partitioning into coding units as another different series of partitioning operations.
[0089] One advantage of the proposed method is that it achieves Fig.10The split configuration at the bottom is similar to the split configuration. However, the proposed method eliminates the problem of achieving the same Fig.10 The top split configuration requires a similar split configuration as it can be achieved with a single ternary split.
[0090] Fig.12 An example of how image partition blocks may be positioned relative to a typical encoder is shown. The affected codec modules involve blocks with various square and rectangular sizes (see Fig.10 105) in which the picture to be encoded / decoded is divided.
[0091] Fig.13 A typical decoder is shown where the inverse process occurs.
[0092] Fig.14 An embodiment of a method of performing a restriction process corresponding to the second characteristic of the proposed method is shown.
[0093] The method includes the following:
[0094] The input to this method is the following:
[0095] - The current CU to be encoded currCU, which has dimensions width, height, and the current binary / ternary tree depth value denoted as btDepth
[0096] -The split mode associated with the current CU, denoted as currSplitMode
[0097] The first step of the process consists in checking whether both ternary trees and asymmetric binary trees are allowed in the current codec configuration. If not, the process ends, since emulating a ternary partitioning pattern by asymmetric partitioning cannot occur.
[0098] In the next step, a check is performed to determine whether the restriction on asymmetric partitioning to avoid emulating a ternary tree is valid in the current codec configuration. If not, the process ends.
[0099] The next step checks whether both binary asymmetric splitting mode and ternary splitting mode are allowed for the current coding unit. Basically, this includes checking the following:
[0100] - The depth level associated with the current CU is lower than the maximum depth level allowed for the current CU. The maximum depth level is selected as an encoder configuration parameter and encoded into the bitstream, for example in a sequence parameter set (SPS) or a picture parameter set (PPS) or a slice header.
[0101] - The encoding / decoding system supports sub-CU sizes resulting from partitioning the current CU by a ternary partitioning mode or an asymmetric partitioning mode. In particular, this means that related transform sizes in luma and chroma components are supported.
[0102] - If asymmetric partition mode or ternary partition mode is not allowed for the current CU, the process ends.
[0103] - Otherwise, the following occurs:
[0104] o For each of the four existing binary asymmetric split modes, the method tests whether the split mode currSplitMode of the current CU is equal to the binary asymmetric mode under consideration.
[0105] ■ If yes, then opposite asymmetric splitting modes are not allowed. Opposite means binary asymmetric modes with the same orientation but of different types (eg: the opposite of HOR_UP is HOR_DOWN).
[0106] Once the test has been performed for each of the four asymmetric partitioning patterns, the process ends.
[0107] This section describes modifications for normative CU partitioning mode signaling.
[0108] Table 1 shows the specification of the signaling of the segmentation mode without the method proposed here.
[0109]
[0110] Table 1: BT split mode syntax agreement for coding CU according to the initial asymmetric CU tool
[0111] Table 2 shows the specification of the signaling of the segmentation mode using the method proposed here.
[0112] As can be seen, the normative modifications due to the proposed approach lie in the conditions marked in italics in the table. In fact, the variables horizontal_asymmetric_allowed and horizontal_asymmetric_allowed are calculated as a function of the flags splitAllowed[HOR_UP], splitAllowed[HOR_BOTTOM], splitAllowed[VER_LEFT], splitAllowed[VER_RIGHT], which depend on Fig.14 processing.
[0113] horizontal_asymmetric_allowed=(splitAllowed[HOR_UP]||splitAllowed[HOR_BOTTOM]);
[0114] vertical_asymmetric_allowed=(splitAllowed[VER_LEFT]||splitAllowed[VER_RIGHT]);
[0115] In addition, the presence of the flags horizontal_asymmetric_type and vertical_asymmetric_type also depends on the flags splitAllowed[HOR_UP], splitAllowed[HOR_BOTTOM], splitAllowed[VER_LEFT], splitAllowed[VER_RIGHT], which depend on Fig.14 processing.
[0116] In a first alternative embodiment, the proposed restriction on the use of asymmetric binary tree partitioning for preventing simulated ternary tree partitioning is performed in a synchronized manner by both the encoder and the decoder to jointly limit the combination of rate-distortion searches for the best partitioning pattern performed by the encoder while improving the coding efficiency of the encoder, the bitstream and the decoder.
[0117] In a second alternative embodiment, the proposed restriction on the use of asymmetric binary tree partitioning to prevent simulated ternary tree partitioning is performed only at the encoder side to speed up the rate-distortion search for the best partitioning pattern with a very limited loss in coding efficiency.
[0118] The foregoing embodiments have been described with respect to an encoder or encoding operation. However, corresponding inverse operations apply to a decoder or decoding operation. For example, a decoding operation may perform a process such that a transform corresponding to each sub-block size is used, decoding at least one of a plurality of sub-blocks comprising a block, and reorganizing the plurality of sub-blocks into a block, wherein the reorganization comprises an inverse operation of partitioning the block. The reorganization operation is substantially the inverse of the encoding partitioning operation.
[0119]
[0120] Table 2: Syntax conventions for BT partitioning modes used to encode CUs according to the method proposed here
[0121] Fig.17One embodiment of a method 1700 for encoding a block of video data is shown. The method starts at start block 1701 and proceeds to block 1710 for partitioning the block into at least two rectangular sub-blocks using binary and / or ternary partitioning. Control proceeds from block 1710 to block 1720 for encoding each sub-block using a process such that a transform corresponding to the size of each sub-block is used.
[0122] Fig.18 One embodiment of a method 1800 for decoding a block of video data is shown. The method starts at start block 1801 and proceeds to block 1810 for decoding at least one sub-block of a plurality of sub-blocks comprising a block using processing such that a transform corresponding to the size of each sub-block is used. Control then proceeds from block 1810 to block 1820 for regrouping the plurality of sub-blocks into a block, wherein the regrouping comprises the inverse operation of partitioning or segmenting the block.
[0123] Fig.19 One embodiment of an apparatus 1900 for encoding or decoding a block of video data is shown. The apparatus comprises a processor 1910 having input and output ports and in signal connection with a memory 1920 also having input and output ports. The apparatus may perform any of the foregoing method embodiments or variations.
[0124] Fig. 20 Another embodiment of a method 2000 for implementing the partitioning of the aforementioned method or apparatus embodiment is shown. The method starts at start block 2001 and proceeds to block 2010 for partitioning a block into sub-blocks using asymmetric partitioning in the horizontal or vertical direction if the partitioning produced is not equal to the ternary partitioning. Otherwise, control proceeds from block 2010 to block 2020 for partitioning the block into multiple sub-blocks in the horizontal or vertical direction if the partitioning produced by block 2010 does result in a result equivalent to the ternary partitioning.
[0125] Fig.21 Another embodiment of a method 2100 for implementing the partitioning of the aforementioned method or apparatus embodiment is shown. The method starts at start block 2101 and proceeds to block 2110 for partitioning a block into a plurality of sub-blocks using an asymmetric partitioning if the partitioning produced is not equal to a ternary partitioning. Otherwise, control proceeds from block 2110 to block 2120 for partitioning a block into a plurality of sub-blocks if the partitioning produced at block 2110 does result in a result equivalent to a ternary partitioning.
[0126] The functions of the various elements shown in the figures may be provided using dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or multiple separate processors (some of which may be shared). In addition, the explicit use of the term "processor" or "controller" should not be interpreted as referring exclusively to hardware capable of executing software, but may implicitly include, but is not limited to, digital signal processor ("DSP") hardware, read-only memory ("ROM") for storing software, random access memory ("RAM"), and non-volatile memory.
[0127] Other conventional and / or custom hardware may also be included. Similarly, any switches shown in the figures are conceptual only. Their functions may be performed through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
[0128] This description illustrates the present concepts. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the present concepts and are included within its spirit and scope.
[0129] All examples and conditional language recited herein are intended for teaching purposes to aid the reader in understanding the present principles and concepts contributed by the inventors to advance the art, and are to be construed as not being limited to such specifically recited examples and conditions.
[0130] In addition, all statements describing the principles, aspects and embodiments of the present principles and specific examples thereof are intended to include structural and functional equivalents thereof. In addition, it is intended that such equivalents include currently known equivalents and equivalents developed in the future, that is, any element that performs the same function, regardless of structure.
[0131] Thus, for example, those skilled in the art will appreciate that the block diagrams presented herein represent conceptual views of illustrative circuitry embodying the present principles. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo-code, etc., representations may substantially represent various processes in a computer-readable medium and thus executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0132] In the claims herein, any element expressed as a means for performing a specified function is intended to encompass any means of performing that function, including, for example, a) a combination of circuit elements that perform that function, or b) any form of software (thus including firmware, microcode, etc.) combined with appropriate circuitry for executing that software to perform that function. The present principle defined by such claims resides in the fact that the functions provided by the various described components are combined and brought together in the manner required by the claims. It is therefore considered that any components that can provide those functions are equivalent to those shown herein.
[0133] References in the specification to "one embodiment" or "an embodiment" of the present principles and other variations thereof mean that a particular feature, structure, characteristic, etc. described in conjunction with the embodiment is included in at least one embodiment of the present principles. Therefore, the appearance of the phrases "in one embodiment" or "in an embodiment" and any other variations appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
Claims
1. A method for encoding blocks of video data, include: dividing the block into at least two rectangular sub-blocks by using binary partitioning or ternary partitioning such that consecutive binary partitioning is not used if it results in an equivalent ternary partitioning, and Each sub-block is encoded using a process such that a transform corresponding to the size of each sub-block is used, The division includes: When successive partitions using asymmetric partitioning do not result in an equivalent partitioning obtained using a ternary partitioning pattern, partitioning the block into at least two rectangular sub-blocks using a horizontal partitioning or a vertical partitioning, and wherein the partitioning comprises a binary symmetric partitioning, a quarter and three quarters partitioning, a third and two thirds partitioning, and a ternary partitioning, wherein any of the partitioning can be in the horizontal or vertical direction, and When the continuous asymmetric partitioning using the asymmetric partitioning does result in an equivalent partitioning obtained using the ternary partitioning pattern, the block is partitioned into at least two rectangular sub-blocks using the ternary partitioning pattern instead of the asymmetric partitioning.
2. The method of claim 1, wherein the partitioning include: Using one-third and two-thirds partitions with another binary partition does not result in a partition that can be performed using a ternary split. The method of claim 2 , wherein the first division is a quarter and three quarter division, and the second division is a third and two third division.
4. The method of any one of claims 2 or 3, wherein the partitioning is performed cooperatively by an encoder and an inverse operation in a corresponding decoder.
5. The method of any one of claims 2 or 3, wherein the partitioning is performed by an encoder. The method of claim 3 , wherein the second partition occurs after an intermediate partition that occurs after the first partition.
7. The method of claim 1, wherein the partitioning include: When successive partitions using asymmetric partitioning do not result in an equivalent partitioning obtained using a ternary partitioning pattern, partitioning the block into at least two rectangular sub-blocks, and wherein the partitioning includes a binary symmetric partitioning, a quarter and three quarters partitioning, a third and two thirds partitioning, and a ternary partitioning, wherein any of the partitioning can be in any direction, and When the continuous asymmetric partitioning using the asymmetric partitioning does result in an equivalent partitioning obtained using the ternary partitioning pattern, the block is partitioned into at least two rectangular sub-blocks using the ternary partitioning pattern instead of the asymmetric partitioning.
8. The method of claim 1, wherein a pattern representing the partitioning is signaled.
9. A method of decoding a block of video data, include: decoding at least one of a plurality of subblocks including the block using a process such that an inverse transform corresponding to a size of each subblock is used, and reorganizing the plurality of sub-blocks into the block, wherein the reorganizing comprises an inverse operation of partitioning the block by using a binary partition or a ternary partition such that if consecutive binary partitions result in an equivalent ternary partition, the consecutive binary partitions are not used, The division includes: When successive partitions using asymmetric partitioning do not result in an equivalent partitioning obtained using a ternary partitioning pattern, partitioning the block into at least two rectangular sub-blocks using a horizontal partitioning or a vertical partitioning, and wherein the partitioning comprises a binary symmetric partitioning, a quarter and three quarters partitioning, a third and two thirds partitioning, and a ternary partitioning, wherein any of the partitioning can be in the horizontal or vertical direction, and When the continuous asymmetric partitioning using the asymmetric partitioning does result in an equivalent partitioning obtained using the ternary partitioning pattern, the block is partitioned into at least two rectangular sub-blocks using the ternary partitioning pattern instead of the asymmetric partitioning.
10. The method of claim 9, wherein the partitioning include: Using one-third and two-thirds partitions with another binary partition does not result in a partition that can be performed using a ternary split.
Citation Information
Patent Citations
Layered encoded bitstream structure
CN101868978A
Method and apparatus for video encoding / decoding of encoding / decoding block filter information on the basis of a quadtree
CN103190149A