TECHNICAL FIELD
[0001] The present disclosure relates to the image compression field, and in particular,
to devices and methods for video processing.
BACKGROUND
[0002] In the image compression field, prediction techniques have been widely investigated
over the last decades for image and video compression.
[0003] A digital video sequence is a temporal succession of digital images, also referred
to as pictures or frames, which usually presents a significant amount of temporal
and spatial correlations. Prediction methods may play an important role in image and
video coding standards, due to their ability to reduce the signal redundancy based
on the previously encoded samples. The main prediction techniques include the intra
directional prediction for efficient spatial redundancy coding and the motion-compensated
prediction for inter-frame temporal redundancy coding.
[0004] However, as the demand for higher resolutions, more complex graphical content, and
faster transmission time increases, so does the need for better video processing methods.
[0005] US20130287116 A1 discloses a decoder configured to decode a bit stream signaling one of supported
partitioning patterns for a current block of a picture, the decoder being configured
to if the signaled one of the supported partitioning patterns specifies a subdivision
of the current block into two or more block partitions, remove for each of the block
partitions except a first block partition of the bock partitions of the current block
in a coding order, from a set of coding parameter candidates for the respective block
partition, coding parameter candidates which equal coding parameters associated with
any of the block partitions.
[0006] US20130279582 A1 discloses a moving image encoding device in which when a coding mode selected by
an encoding controlling unit is an intra prediction mode, a prediction image generating
unit carries out an intra-frame prediction process using pixels adjacent to each coding
block which is generated through a division by a block dividing unit or pixels adjacent
to a higher layer coding block to which each coding block belongs to generate a prediction
image.
SUMMARY
[0008] The present invention is defined by the independent claims. Additional features of
the invention are provided in the dependent claims. Enabling disclosure for the protected
invention is provided with the embodiments disclosed in relation to figure 6. Remaining
aspects, examples or embodiments, unless disclosed in combination with all the features
of an independent claim, are not presented as embodiments of the invention, but as
examples useful for understanding the invention. This disclosure describes devices
and methods for video processing. In one embodiment, a predictive decoding method
performed by a decoder is provided. The method includes the following steps: receiving
a coding block from an encoder; partitioning the coding block into N coding unites
(CUs) based on coding tree information; identifying whether first N-1 CUs have same
prediction information; and excluding the prediction information from a merging candidate
list or a probable intra prediction mode list for N
th CU when the first N-1 CUs have same prediction information.
[0009] In another embodiment, a decoder device, includes a non-transitory memory storage
comprising instructions; and one or more processors in communication with the memory.
The one or more processors executes the instructions to: receive a coding block from
an encoder; partition the coding block into N coding unites (CUs) based on coding
tree information; identify whether first N-1 CUs have same prediction information;
and exclude the prediction information from a merging candidate list or a probable
intra prediction mode list for N
th CU when the first N-1 CUs have same prediction information.
[0010] In other embodiments, a non-transitory computer-readable medium storing computer
instructions, that when executed by one or more processors, cause the one or more
processors to: receive a coding block from an encoder; partition the coding block
into N coding unites (CUs) based on coding tree information; identify whether first
N-1 CUs have same prediction information; and exclude the prediction information from
a merging candidate list or a probable intra prediction mode list for N
th CU when the first N-1 CUs have same prediction information.
[0011] In other embodiments, a video processing system is provided. The video processing
system includes an encoder being configured to send a coding block to a decoder; and
the decoder, being configured to: receive the coding block from the encoder; partition
the coding block into N coding unites (CUs) based on coding tree information; identify
whether first N-1 CUs have same prediction information; and exclude the prediction
information from a merging candidate list or a probable intra prediction mode list
for N
th CU when the first N-1 CUs have same prediction information.
[0012] By considering the prediction information of first N-1 coding when deciding a merging
candidate list or a probable intra prediction mode list for the N
th CU, this disclosure increase the accuracy of image prediction for the last coding
or prediction block.
BRIEF DESCRIPTION OF DRAWINGS
[0013] To describe the technical solutions in the embodiments of the present disclosure
more clearly, the following briefly describes the accompanying drawings required for
describing the embodiments.
FIG. 1A is a schematic diagram illustrating a quad-tree (QT) split according to an
embodiment of the present disclosure;
FIG. 1B is a schematic diagram illustrating a binary tree (BT) split in vertical orientation
according to an embodiment of the present disclosure;
FIG. 1C is a schematic diagram illustrating a binary tree (BT) split in horizontal
orientation according to an embodiment of the present disclosure;
FIG. ID is a schematic diagram illustrating a triple tree (TT) split in vertical orientation
according to an embodiment of the present disclosure;
FIG. IE is a schematic diagram illustrating a triple tree (TT) split in horizontal
orientation according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram illustrating 33 directional modes for intra prediction;
FIG. 3 is a schematic diagram illustrating inter prediction;
FIG. 4 is a schematic diagram illustrating merging candidate selection process ;
FIG. 5A is a schematic diagram illustrating "T-shape" partition according to an embodiment
of the present disclosure;
FIG. 5B is a schematic diagram illustrating "multiple row" partition according to
an embodiment of the present disclosure;
FIG. 6 is a flowchart to compress/decompress the last coding or prediction block according
to an embodiment of the present disclosure;
FIG. 7 is a flowchart to compress/decompress the last coding or prediction block according
to an embodiment of the present disclosure; and
Fig. 8 is a block diagram of a network element 800 that can be used to implement various
embodiments.
DETAILED DESCRIPTION
[0014] The present disclosure relates to video coding. FIGS. 1A-1E illustrate various tree
splits. FIG. 1A illustrates a block partitioning structure by adopting a quad-tree
(QT) split. The QT is a tree structure for block partitioning in which a node of size
4Mx4N may be split into four child nodes of size 2Mx2N. FIG. 1B illustrates a block
partitioning structure by adopting a binary tree (BT) split in vertical orientation.
FIG. 1C illustrates a block partitioning structure by adopting a binary tree (BT)
split in horizontal orientation. The BT is a tree structure for block partitioning
in which a node of size 4Mx4N may either be horizontally split into two child nodes
of size 4Mx2N or vertically split into two child nodes of size 2Mx4N. FIG. ID illustrates
a block partitioning structure by adopting a triple tree (TT) split in vertical orientation.
FIG. IE illustrates block partitioning structure by adopting a triple tree (TT) split
in horizontal orientation. The TT is a tree structure for block partitioning in which
a node of size 4Mx4N may either be horizontally split into three child nodes of size
4MxN, 4Mx2N and 4MxN, respectively; or vertically split into three child nodes of
size Mx4N, 2Mx4N and Mx4N, respectively. Among the three child nodes shown in FIG.
ID or FIG. IE, the largest node is positioned in the center.
[0015] Quad-tree plus binary tree (QTBT) is a quad-tree plus binary tree structure in which
a block is first partitioned using quad-tree split, then each quad-tree child node
may be further partitioned using binary tree split. Quad-tree plus binary tree or
triple tree (QT-BT/TT) is a quad-tree plus binary tree or triple tree structure in
which a block is first partitioned using quad-tree split, then each quad-tree child
node may be further partitioned using binary tree or triple tree split.
[0016] In video coding based on QT, QTBT, QT-BT/TT block partitioning structure, a coding
or prediction block in depth K may be split into N smaller coding or prediction blocks
in depth K+1 by a BT, TT or QT split, where N=2, 3, or 4, respectively. If all of
the smaller blocks in depth K+1 are leaf nodes (i.e., leaf nodes are the smaller blocks
that cannot be further split) and the first N-1 coding blocks in depth K+1 have the
same prediction information, the last smaller block is more likely to have different
prediction information.
[0017] Disclosed herein is a method of block information sharing in video coding. If all
of the smaller coding block or prediction block in depth K+1 are leaf nodes and the
first N-1 coding blocks in depth K+1 have the same (or similar with difference less
than a small threshold) prediction information, the prediction information of the
first N-1 coding blocks is not allowed to be used for the last coding block in depth
K+1; or, is excluded from the most probable intra prediction modes of the last coding
block if the last block is intra coded, or from the merging candidate list of the
last coding block if the last coding block is inter coded. As a result, signaling
bits of prediction information for the last coding block in depth K+1 may be reduced.
The accuracy of image prediction for the last coding or prediction block is increased.
The prediction information includes one or more intra prediction modes, where the
intra prediction modes includes DC mode, planar mode and angular prediction modes.
The prediction information includes inter prediction information, where the inter
prediction information includes inter prediction direction, reference frame index
and motion vector information.
[0018] There are two approaches to realize excluding the prediction information of the first
N-1 coding blocks to be used for the last coding block. If during generating a merging
candidate list or a probable intra prediction mode list for N
th CU, the prediction information of the first N-1 coding blocks are not added to the
merging candidate list or the probable intra prediction mode list for N
th CU. If a merging candidate list or a probable intra prediction mode list for N
th CU is already generated, a decoder can remove the prediction information of the first
N-1 coding blocks from the merging candidate list or the probable intra prediction
mode list for N
th coding block.
[0019] The intra prediction modes use the previously decoded boundary samples from spatially
neighboring blocks in order to predict a new prediction block (PB). The neighboring
blocks have been previously decoded from within the same picture. High efficiency
video coding (HEVC) specifies 33 directional modes for intra prediction compared with
the 8 directional modes for intra prediction specified by H.264/MPEG-4 AVC. The 33
directional modes as shown in FIG. 2, are also called as angular modes. In FIG. 2,
the angular modes are indexed from 2 to 34. Directions may cover angles from near-horizontal
through near-diagonal to near-vertical. Each mode has associated a displacement parameter
d, where the value of d indicates the numeric part which is the pixel's displacement
expressed in 1/32 pixel fractions of accuracy, and H and V indicate the horizontal
and vertical directionalities. The modes 10 and 26 are known as pure horizontal predication
and pure vertical predication, respectively. HEVC also specifies DC intra prediction
and planar prediction modes. The DC intra prediction mode generates a mean value by
averaging reference samples and can be used for flat surfaces. The DC intra prediction
mode is known as mode 1. The planar prediction mode in HEVC supports all block sizes
defined in HEVC while the planar prediction mode in H.264/MPEG-4 AVC is limited to
a block size of 16x 16 pixels. The planar prediction mode is known as mode 0. Therefore,
there are total 35 intra prediction modes in HEVC.
[0020] For example, most probable intra prediction modes for the first N-1 coding blocks
are intra prediction modes 1,8, and 17. Then the intra prediction modes 1,8, and 17
are excluded from most probable intra prediction modes for the last coding block,
i.e., the N
th coding block. Therefore, there is no need to transmit intra prediction modes 1, 8,
and 17 for the last coding block. Correspondingly, signaling bits of prediction information
for the last coding block in depth K+1 may be reduced.
[0021] Inter coding uses temporal prediction. Temporal prediction with motion compensation
is used to remove temporal redundancy between successive pictures. The temporal prediction
with motion compensation algorithm may utilize one or two reference pictures to encode
a particular picture. A reference picture is a picture that has already been encoded.
By comparing the particular picture that is to be encoded with one of the reference
pictures, the temporal prediction with motion compensation algorithm can take advantage
of the temporal redundancy that exists between the reference picture and the particular
picture that is to be encoded and encode the picture with a higher amount of compression
than if the picture were encoded without using the temporal prediction with motion
compensation algorithm. One of the reference pictures may be in the backward direction
in relation to the particular picture that is to be encoded. The other reference picture
is in the forward direction in relation to the particular picture that is to be encoded.
List 0 may represent past picture reference, and List 1 may represent future pictures
reference. As shown in FIG. 3, if the encoder succeeds on its search to find a reference
block, the block could be encoded by a vector, known as motion vector (MV), which
points to the position of the matching block at the reference frame. The process of
motion vector determination is called motion estimation. In most cases, the block
found is likely not an exact match to the block it is encoding. This is why the encoder
will compute the differences between them. Those residual values are known as the
prediction error and need to be transformed and sent to the decoder. To sum up, if
the encoder succeeds in finding a matching block on a reference frame, it will obtain
a motion vector pointing to the matched block and a prediction error. Using both elements,
the decoder will be able to recover the raw pixels of the block.
[0022] There are three types of modes for the inter prediction, namely skip mode, merge
mode and inter mode. For each coding unit (CU), a skip flag is coded to indicate whether
the current CU uses skip mode. If the current CU used skip mode, a number of parallel
motion predictors are constructed as a merging candidate list for the skip mode. If
it is merge mode, a merging candidate list for merge mode is constructed similar as
the merge list for skip mode. If the current CU is not coded as merge mode, it is
coded as a traditional inter mode.
[0023] A merging candidate list may be generated by utilizing the MV information from neighbor
coding blocks, and the index of best candidate from MERGE list is signaled to the
decoder. Reference CUs used in merging candidate selection process are shown in FIG.
4. Reference CUs are checked one-by-one to determine if the Reference CUs are qualified
for merging candidate. The predefined checking order in HEVC standard is: a1, b1,
b0, a0, b2, TBR (temporal bottom right collocated candidate), TCT (temporal central
collocated candidate), and Zero MV.
[0024] For example, if the first N-1 coded CUs are coded using inter prediction and have
the same inter prediction direction, reference frame(s) and motion vector(s), in the
merging candidate list construction process, any merging candidate that has the same
inter prediction direction, reference frame(s) and motion vector(s) as those used
by the first N-1 coded CUs are excluded to be added into the merging candidate list.
Correspondingly, signaling bits of prediction information for the last coding block
in depth K+1 may be reduced.
[0025] This present disclosure provides a set of methods to compress/decompress the last
coding or prediction block which is partitioned from a parent coding or prediction
block by a QT, TT or BT split, taking into consideration of the coding information
(e.g., intra prediction mode, motion vector, reference picture index and so on) of
other coding or prediction blocks in the same depth, i.e., partitioned from the same
parent coding or prediction block.
[0026] In one method, if all coding or prediction blocks in depth K+1 are leaf nodes and
the first N-1 coding blocks in depth K+1 have the same (or similar with difference
less than a small threshold) prediction information, the prediction information of
the first N-1 coding blocks is not allowed for the last coding block in depth K+1.
As a result, as an approach, there is no need to signal (code) eliminated prediction
mode or information and thus the less signaling bits are needed for the current block.
As another alternative approach, other prediction modes or prediction information
may be included and signaled without additional bits.
[0027] In another method, if all coding or prediction blocks in depth K+1 are leaf nodes
and the first N-1 coding blocks in depth K+1 have the same (or similar with difference
less than a small threshold) prediction information, the prediction information of
the first N-1 coding blocks is excluded from the most probable intra prediction modes
of the last coding block if the last block is intra coded, or from the merging candidate
list of the last coding block if the last coding block is inter coded. As a result,
other different intra prediction modes may be included in the most probable mode list,
or other neighboring motion vectors may be included in the merging candidate list
without using additional signaling bits.
[0028] Note that QT, TT and BT are types of trees used in this disclosure for illustration
purpose. The methods that are described in this disclosure can be applied to other
types of split trees or partitions. One example is the "T-shape" partition as shown
in FIG. 5A. In this example, if partition 1 and 2 share the same prediction information,
the partition 3 will not be allowed to use the same prediction information; or the
same prediction information will not be included in such as intra most probable mode
list or inter merging candidate list. Another example is the "multiple row" partition
shown in FIG. 5B. In this example, if partition 1, 2 and 3 share the same prediction
information, the partition 4 will not be allowed to use the same prediction information;
or the same prediction information will not be included in such as intra most probable
mode list or inter merging candidate list. Same methods applied to "multiple column"
partition or other partition types.
[0029] The present disclosure presents a set of methods to compress/decompress the last
coding or prediction block which is partitioned from a parent coding or prediction
block by a QT, TT or BT split, which includes the following five steps in a first
embodiment, performed by a decoder, as shown in FIG. 6. Process 600 is an example
for the decoder's processing. Similarly, an encoder does the vice versa process.
[0030] The decoder receives bit streams (for example, large coding block) from an encoder.
Then at block 610, the larger coding block (e.g., coding tree unit (CTU)) is partitioned
into a plurality of smaller coding or prediction blocks (e.g., coding units (CUs))
based on coding tree information, where the coding tree information includes QT, QTBT
or QT-BT/TT, or other types information.
[0031] At block 620, if the current CU in depth K+1 is the last coded CU partitioned from
a parent CU in depth K, and all of the N CUs split from the parent CU are leaf nodes
and all of the N CUs use intra prediction, the prediction information of the first
N-1 coded CUs are compared to identify whether the first N-1 coded CUs have the same
first intra prediction mode. More specifically, DC mode, planar mode and every angular
prediction mode are considered as different intra prediction modes. If the first N-1
coded CUs do not have the same intra prediction mode, then the encoder may adopt conventional
method at block 630.
[0032] At block 640, if the first N-1 coded CUs have the same first intra prediction mode
(PA), the first intra prediction mode (PA) is excluded from most probable intra prediction
modes for the last coded CU. A probable intra prediction mode list includes those
most probable intra prediction modes. One of the remaining mode may be moved into
the most probably mode list. The PA may be used as one of the remaining modes or,
as an alternative, if the first N-1 coded CUs have the same intra prediction mode
PA, it is not allowed to use the prediction mode PA for the last coded CU at all.
[0033] At block 650, derive a second intra prediction mode for the last coded CU from the
probable intra prediction modes, and generate intra prediction samples according to
the second intra prediction mode.
[0034] At block 660, generate residual for the last coded CU and obtain reconstructed samples
of the last coded CU by adding the residual and prediction samples.
[0035] The present disclosure presents a set of methods to compress/decompress the last
coding or prediction block which is partitioned from a parent coding or prediction
block by a QT, TT or BT split, which includes the following five steps in an embodiment,
performed by a decoder, as shown in FIG. 7. Process 700 is an example for the decoder's
processing. Similarly, an encoder does the vice versa process.
[0036] The decoder receives bit streams (for example, large coding block) from an encoder.
Then at block 710, the larger coding block (e.g., coding tree unit (CTU)) is partitioned
into a plurality of smaller coding or prediction blocks (e.g., coding units (CUs))
based on coding tree information, where the coding tree information may include QT,
QTBT or QT-BT/TT, or other types information
[0037] At block 720, if the current CU in depth K+1 is the last coded CU partitioned from
a parent CU in depth K, and all of the N CUs split from the parent CU are leaf nodes
and all of the first N-1 coded CUs use inter prediction and the last coded CU uses
skip or merge mode, the prediction information of the first N-1 coded CUs are compared
to identify whether the first N-1 coded CUs have the same inter prediction information.
[0038] More specifically, if the N CUs are coded using inter prediction, the inter prediction
direction, reference frame index and motion vector information of the first N-1 coded
CUs are compared. If all of the inter prediction direction, reference frame index
and motion vector information of the first N-1 coded CUs are the same, the N-1 CUs
are considered to have the same inter prediction information.
[0039] In more details, if a CU uses skip or merge mode, the motion information for inter
prediction of the CU is copied from motion information of neighboring blocks of the
CU, and there is no need to signal additional inter prediction parameters like the
inter prediction direction, reference frame index, and motion vector difference.
[0040] At block 730, if the first N-1 coded CUs do not have the same inter prediction information,
the decoder may use the conventional method.
[0041] At block 740, if the first N-1 coded CUs have the same inter prediction information
and the last coded CU uses skip or merge mode, the inter prediction information is
excluded from a merging candidate list (or merging candidate list) for the last coded
CU.
[0042] More specifically, if the first N-1 coded CUs are coded using inter prediction and
have the same inter prediction direction, reference frame(s) and motion vector(s),
in the merging candidate list construction process, any merging candidate that has
the same inter prediction direction, reference frame(s) and motion vector(s) as those
used by the first N-1 coded CUs are not allowed to be added into the merging candidate
list.
[0043] At block 750, derive a merging candidate from the merging candidate list and generate
inter prediction samples according to the merging candidate.
[0044] At block 760, generate residual for the last coded CU and obtain reconstructed samples
of the last coded CU by adding the residual and the inter prediction samples.
[0045] This present disclosure provides a video processing system, including an encoder
and a decoder. The encoder is configured to send a coding block to the decoder. The
decoder is configured to perform the methods described above, such as process 600
and process 700.
[0046] Relative to known video coding, the present disclosure considers the intra prediction
mode and/or motion information of first N-1 coding or prediction blocks partitioned
from a QT, TT or BT split when deciding the intra prediction mode and/or motion information
of the last coding or prediction block. As a result, this present disclosure increase
the accuracy of image prediction for the last coding or prediction block
[0047] Quad-tree is a key feature of International Telecommunication Union (ITU) Telecommunication
Standardization Sector (ITU-T) H.265 video coding standard (most recently dated December
2016). Intra prediction, inter prediction, de-quantization, inverse transform and
parsing of syntax are basic processing of video coding, and additional details are
found in the H.265 video coding standard.
[0048] QTBT was introduced in J. An, Y.-W. Chen, K. Zhang, H. Huang, Y.-W. Huang, and S.
Lei, "Block partitioning structure for next generation video coding," ITU-T SG16 Doc.
COM16-C966, Sept. 2015.
[0049] QT-BT/TT was introduced in X. Li et al., Multi-Type-Tree, JVET-D0117, Oct. 2016
[0050] FIG. 8 is a schematic diagram of a network element 800 according to an embodiment
of the disclosure. The network element 800 is suitable for implementing the disclosed
embodiments as described herein. The network element 800 may be the encoder or the
decoder to perform the methods described above. The network element 800 comprises
ingress ports 810 and receiver units (Rx) 820 for receiving data; a processor, logic
unit, or central processing unit (CPU) 830 to process the data; transmitter units
(Tx) 840 and egress ports 850 for transmitting the data; and a memory 860 for storing
the data. The network element 800 may also comprise optical-to-electrical (OE) components
and electrical-to-optical (EO) components coupled to the ingress ports 810, the receiver
units 820, the transmitter units 840, and the egress ports 850 for egress or ingress
of optical or electrical signals.
[0051] The processor 830 is implemented by hardware and software. The processor 830 may
be implemented as one or more CPU chips, cores (e.g., as a multi-core processor),
field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs),
and digital signal processors (DSPs). The processor 830 is in communication with the
ingress ports 810, receiver units 820, transmitter units 840, egress ports 850, and
memory 860. The processor 830 includes a coding module 870. The coding module 870
implements the disclosed embodiments described above. For instance, the coding module
870 implements the methods of compressing/decompressing the last coding or prediction
block. The inclusion of the coding module 870 therefore provides a substantial improvement
to the functionality of the network element 800 and effects a transformation of the
network element 800 to a different state. Alternatively, the coding module 870 is
implemented as instructions stored in the memory 860 and executed by the processor
830.
[0052] The memory 860 comprises one or more disks, tape drives, and solid-state drives and
may be used as an over-flow data storage device, to store programs when such programs
are selected for execution, and to store instructions and data that are read during
program execution. The memory 860 may be volatile and/or non-volatile and may be read-only
memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM),
and/or static random-access memory (SRAM).
[0053] By considering the intra prediction mode and/or motion information of first N-1 coding
or prediction blocks partitioned from a QT, TT or BT split when deciding the intra
prediction mode and/or motion information of the last coding or prediction block,
this present disclosure increase the accuracy of image prediction for the last coding
or prediction block.
[0054] While several embodiments have been provided in the present disclosure, it should
be understood that the disclosed systems and methods might be embodied in many other
specific forms The present examples are to be considered as illustrative and not restrictive,
and the intention is not to be limited to the details given herein. For example, the
various elements or components may be combined or integrated in another system.
[0055] In addition, techniques, systems, subsystems, and methods described and illustrated
in the various embodiments as discrete or separate may be combined or integrated with
other systems, modules, techniques, or methods. Other items shown or discussed as
coupled or directly coupled or communicating with each other may be indirectly coupled
or communicating through some interface, device, or intermediate component whether
electrically, mechanically, or otherwise.
1. A predictive decoding method performed by a decoder on encoded video data, comprising:
partitioning a coding block into N coding units (CUs) based on coding tree information;
identifying whether first N-1 coded CUs of the coding block have the same prediction
information; and characterized in:
excluding a first intra prediction mode from a probable intra prediction mode list
for the CU of the coding block when all of the first N-1 CUs have the first intra
prediction mode.
2. The method of claim 1, wherein the method further comprises:
adding a remaining mode to the probable intra prediction mode list, wherein the remaining
mode is different from the first intra prediction mode.
3. The method of claim 1, wherein the method further comprises:
deriving a second intra prediction mode for the Nth CU from the probable intra prediction mode list;
generating intra prediction samples according to the second intra prediction mode;
generating residual for the Nth CU; and
obtaining reconstructed samples of the Nth CU by adding the residual and the intra prediction samples.
4. The method of claim 1, wherein, when
the prediction information includes inter prediction information, the identifying
further comprises: identifying whether the first N-1 coded CUs have same inter prediction
information, the inter prediction information includes inter prediction direction,
reference frame index and motion vector information; and
wherein the method further comprises: excluding the inter prediction information from
the merging candidate list for the Nth CU when the first N-1 CUs have the same prediction information.
5. The method of claim 4, wherein the Nth CU uses skip or merge mode, and all of the first N-1 CUs use inter prediction.
6. The method of claim 4, wherein the method further comprises:
deriving a merging candidate for the Nth CU from the merging candidate list;
generating inter prediction samples according to the merging candidate;
generating residual for the Nth CU; and
obtaining reconstructed samples of the Nth CU by adding the residual and the inter prediction samples.
7. The method of any one of claims 1 to 3, wherein the excluding the first intra prediction
mode from a probable intra prediction mode list for N
th CU comprises:
if the excluding of the first intra prediction mode is realized during generating
the probable intra prediction mode list for Nth CU, the first intra prediction mode of the first N-1 coding blocks is not added to
the probable intra prediction mode list for the Nth CU; and
if the probable intra prediction mode list for Nth CU is already generated when the excluding of the first intra prediction mode is
realized, removing the first intra prediction mode of the first N-1 coding blocks
from the probable intra prediction mode list for the Nth coding block.
8. A decoder device for performing predictive decoding of encoded video data, comprising:
a non-transitory memory storage comprising instructions; and
one or more processors in communication with the memory, wherein the one or more processors
when executing the instructions, are configured to:
partition a coding block into N coding unites (CUs) based on coding tree information;
identify whether first N-1 coded CUs of the coding block have the same prediction
information; and:
exclude a first intra prediction mode from a probable intra prediction mode list for
the Nth CU of the coding block when all of the first N-1 CUs have the first intra prediction
mode.
9. The device of claim 8, wherein the one or more processors, when executing the instructions,
are further configured to:
add a remaining mode to the probable intra prediction mode list, wherein the remaining
mode is different from the first intra prediction mode.
10. The device of claim 8, wherein the one or more processors, when executing the instructions,
are further configured to:
derive a second intra prediction mode for the Nth CU from the probable intra prediction mode list;
generate intra prediction samples according to the second intra prediction mode;
generate residual for the Nth CU; and
obtain reconstructed samples of the Nth CU by adding the residual and the intra prediction samples.
11. The device of claim 7, wherein,
the prediction information includes inter prediction information, the one or more
processors when executing the instructions, are further configured to:
identify whether the first N-1 coded CUs have same inter prediction information, the
inter prediction information includes inter prediction direction, reference frame
index and motion vector information; and
exclude the inter prediction information from the merging candidate list for the Nth CU when the first N-1 CUs have same prediction information.
12. The device of claim 11, wherein the Nth CU uses skip or merge mode, and all of the first N-1 CUs use inter prediction.
13. The device of claim 11, wherein the one or more processors, when executing the instructions,
are further configured to:
derive a merging candidate for the Nth CU from the merging candidate list;
generate inter prediction samples according to the merging candidate;
generate residual for the Nth CU; and
obtain reconstructed samples of the Nth CU by adding the residual and the inter prediction samples.
14. The device of any one of claims 8 to 10, wherein the one or more processors when executing
the instructions, are further configured to:
if the excluding of the first intra prediction mode is realized during generating
the probable intra prediction mode list for Nth CU, not add the first intra prediction
mode of the first N-1 coding blocks to the probable intra prediction mode list for
the Nth CU; and
if the probable intra prediction mode list for Nth CU is already generated when the
excluding of the first intra prediction mode is realized, remove the first intra prediction
mode of the first N-1 coding blocks from the probable intra prediction mode list for
the Nth coding block.
15. A non-transitory computer-readable medium storing computer instructions, that when
executed by one or more processors, cause the one or more processors to perform any
one of claims 1-7.
1. Prädiktives Decodierungsverfahren, das durch einen Decodierer an codierten Videodaten
durchgeführt wird, das Folgendes umfasst:
Partitionieren eines Codierungsblocks in N Codierungseinheiten (coding units - CUs)
basierend auf Codierungsbauminformationen;
Identifizieren, ob erste N-1 codierte CUs des Codierungsblocks die gleichen Prädiktionsinformationen
aufweisen; und gekennzeichnet durch:
Ausschließen eines ersten Intraprädiktionsmodus aus einer wahrscheinlichen Intraprädiktionsmodusliste
für die Nte CU des Codierungsblocks, wenn alle der ersten N-1 CUs den ersten Intraprädiktionsmodus
aufweisen.
2. Verfahren nach Anspruch 1, wobei das Verfahren ferner Folgendes umfasst:
Hinzufügen eines verbleibenden Modus zu der wahrscheinlichen Intraprädiktionsmodusliste,
wobei sich der verbleibende Modus von dem ersten Intraprädiktionsmodus unterscheidet.
3. Verfahren nach Anspruch 1, wobei das Verfahren ferner Folgendes umfasst:
Ableiten eines zweiten Intraprädiktionsmodus für die Nte CU aus der wahrscheinlichen Intraprädiktionsmodusliste;
Erzeugen von Intraprädiktionsabtastwerten gemäß dem zweiten Intraprädiktionsmodus;
Erzeugen einer Restgröße für die Nte CU; und
Erhalten von rekonstruierten Abtastwerten der Nten CU durch Hinzufügen der Restgröße und der Intraprädiktionsabtastwerte.
4. Verfahren nach Anspruch 1, wobei, wenn die Prädiktionsinformationen Interprädiktionsinformationen
einschließen, das Identifizieren ferner Folgendes umfasst: Identifizieren, ob die
ersten N-1 codierten CUs gleiche Interprädiktionsinformationen aufweisen, wobei die
Interprädiktionsinformationen Interprädiktionsrichtung, Referenzrahmenindex und Bewegungsvektorinformationen
einschließen; und
wobei das Verfahren ferner Folgendes umfasst: Ausschließen der Interprädiktionsinformationen
von der Zusammenführungskandidatenliste für die Nte CU, wenn die ersten N-1 CUs die gleichen Prädiktionsinformationen aufweisen.
5. Verfahren nach Anspruch 4, wobei die Nte CU einen Überspring- oder Zusammenführungsmodus verwendet und alle der ersten N-1
CUs Interprädiktion verwenden.
6. Verfahren nach Anspruch 4, wobei das Verfahren ferner Folgendes umfasst:
Ableiten eines Zusammenführungskandidaten für die Nte CU von der Zusammenführungskandidatenliste;
Erzeugen von Interprädiktionsabtastwerten gemäß dem
Zusammenführungskandidaten;
Erzeugen einer Restgröße für die Nte CU; und
Erhalten von rekonstruierten Abtastwerten der NtenCU durch Hinzufügen der Restgröße und der Interprädiktionsabtastwerte.
7. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Ausschließen des ersten Intraprädiktionsmodus
aus einer wahrscheinlichen Intraprädiktionsmodusliste für die N
te CU Folgendes umfasst:
falls das Ausschließen des ersten Intraprädiktionsmodus während des Erzeugens der
wahrscheinlichen Intraprädiktionsmodusliste für die Nte CU realisiert wird, der erste Intraprädiktionsmodus der ersten N-1 Codierungsblöcke
nicht zu der wahrscheinlichen Intraprädiktionsmodusliste für die Nte CU hinzugefügt wird; und
falls die wahrscheinliche Intraprädiktionsmodusliste für die Nte CU bereits erzeugt wird, wenn das Ausschließen des ersten Intraprädiktionsmodus realisiert
wird, Entfernen des ersten Intraprädiktionsmodus der ersten N-1 Codierungsblöcke aus
der wahrscheinlichen Intraprädiktionsmodusliste für den Nten Codierungsblock.
8. Decodiervorrichtung zum Durchführen einer prädiktiven Decodierung von codierten Videodaten,
die Folgendes umfasst:
eine nicht flüchtige Memoryspeicherung, die Anweisungen umfasst; und
einen oder mehrere Prozessoren in Kommunikation mit dem Memory, wobei der eine oder
die mehreren Prozessoren bei einem Ausführen der Anweisungen, für Folgendes konfiguriert
sind:
Partitionieren eines Codierungsblocks in N Codierungseinheiten (CUs) basierend auf
Codierungsbauminformationen;
Identifizieren, ob erste N-1 codierte CUs des Codierungsblocks die gleichen Prädiktionsinformationen
aufweisen; und
Ausschließen eines ersten Intraprädiktionsmodus aus einer wahrscheinlichen Intraprädiktionsmodusliste
für die Nte CU des Codierungsblocks, wenn alle der ersten N-1 CUs den ersten Intraprädiktionsmodus
aufweisen.
9. Vorrichtung nach Anspruch 8, wobei der eine oder die mehreren Prozessoren bei dem
Ausführen der Anweisungen, ferner für Folgendes konfiguriert sind: Hinzufügen eines
verbleibenden Modus zu der wahrscheinlichen Intraprädiktionsmodusliste, wobei sich
der verbleibende Modus von dem ersten Intraprädiktionsmodus unterscheidet.
10. Vorrichtung nach Anspruch 8, wobei der eine oder die mehreren Prozessoren bei dem
Ausführen der Anweisungen, ferner für Folgendes konfiguriert sind:
Ableiten eines zweiten Intraprädiktionsmodus für die Nte CU aus der wahrscheinlichen Intraprädiktionsmodusliste;
Erzeugen von Intraprädiktionsabtastwerten gemäß dem zweiten Intraprädiktionsmodus;
Erzeugen der Restgröße für die Nte CU; und
Erhalten von rekonstruierten Abtastwerten der Nten CU durch Hinzufügen der Restgröße und der Intraprädiktionsabtastwerte.
11. Vorrichtung nach Anspruch 7, wobei, wenn die Prädiktionsinformationen Interprädiktionsinformationen
einschließen, der eine oder die mehreren Prozessoren, bei dem Ausführen der Anweisungen,
ferner für Folgendes konfiguriert sind:
Identifizieren, ob die ersten N-1 codierten CUs gleiche Interprädiktionsinformationen
aufweisen, wobei die Interprädiktionsinformationen Interprädiktionsrichtung, Referenzrahmenindex
und Bewegungsvektorinformationen einschließen; und
Ausschließen der Interprädiktionsinformationen von der Zusammenführungskandidatenliste
für die Nte CU, wenn die ersten N-1 CUs gleiche Prädiktionsinformationen aufweisen.
12. Vorrichtung nach Anspruch 11, wobei die Nte CU den Überspring- oder Zusammenführungsmodus verwendet und alle der ersten N-1 CUs
Interprädiktion verwenden.
13. Vorrichtung nach Anspruch 11, wobei der eine oder die mehreren Prozessoren bei dem
Ausführen der Anweisungen, ferner für Folgendes konfiguriert sind:
Ableiten eines Zusammenführungskandidaten für die Nte CU von der Zusammenführungskandidatenliste;
Erzeugen von Interprädiktionsabtastwerten gemäß dem
Zusammenführungskandidaten;
Erzeugen der Restgröße für die Nte CU; und
Erhalten von rekonstruierten Abtastwerten der Nten CU durch Hinzufügen der Restgröße und der Interprädiktionsabtastwerte.
14. Vorrichtung nach einem der Ansprüche 8 bis 10, wobei der eine oder die mehreren Prozessoren
bei dem Ausführen der Anweisungen, ferner für Folgendes konfiguriert sind:
falls das Ausschließen des ersten Intraprädiktionsmodus während des Erzeugens der
wahrscheinlichen Intraprädiktionsmodusliste für die Nte CU realisiert wird, Nichthinzufügen des ersten Intraprädiktionsmodus der ersten N-1
Codierungsblöcke zu der wahrscheinlichen Intraprädiktionsmodusliste für die Nte CU; und
falls die wahrscheinliche Intraprädiktionsmodusliste für die Nte CU bereits erzeugt wird, wenn das Ausschließen des ersten Intraprädiktionsmodus realisiert
wird, Entfernen des ersten Intraprädiktionsmodus der ersten N-1 Codierungsblöcke aus
der wahrscheinlichen Intraprädiktionsmodusliste für den Nten Codierungsblock.
15. Nicht flüchtiges computerlesbares Medium, das Computeranweisungen speichert, die bei
dem Ausführen durch einen oder mehrere Prozessoren, den einen oder die mehreren Prozessoren
veranlassen, einen der Ansprüche 1-7 durchzuführen.
1. Procédé de décodage prédictif mis en œuvre par un décodeur sur des données vidéo codées,
comprenant :
le partitionnement d'un bloc de codage en N unités de codage (UC) sur la base d'informations
d'arbre de codage ;
le fait d'identifier si les premières N-1 UC codées du bloc de codage ont les mêmes
informations de prédiction ; et caractérisé en ce que :
l'exclusion d'un premier mode d'intra-prédiction d'une liste de modes d'intra-prédiction
probables pour la Nième UC du bloc de codage lorsque toutes les premières N-1 UC ont le premier mode d'intra-prédiction.
2. Procédé selon la revendication 1, le procédé comprenant en outre :
l'ajout d'un mode restant à la liste de modes d'intra-prédiction probables, le mode
restant étant différent du premier mode d'intra-prédiction.
3. Procédé selon la revendication 1, le procédé comprenant en outre :
le fait de dériver un second mode d'intra-prédiction pour la Nième UC à partir de la liste de modes d'intra-prédiction probables ;
la génération d'échantillons d'intra-prédiction selon le second mode d'intra-prédiction
;
la génération d'un résidu pour la Nième UC ; et
l'obtention d'échantillons reconstruits de la Nième UC en ajoutant les échantillons résiduels et d'intra-prédiction.
4. Procédé selon la revendication 1, dans lequel, lorsque les informations de prédiction
comportent des informations d'inter-prédiction, l'identification comprend en outre
: le fait d'identifier si les premières N-1 UC codées ont les mêmes informations d'inter-prédiction,
les informations d'inter-prédiction comportent la direction d'inter-prédiction, l'index
de trame de référence et des informations de vecteur de mouvement ; et
dans lequel le procédé comprend en outre : l'exclusion des informations d'inter-prédiction
de la liste de candidats à la fusion pour la Nième UC lorsque les premières N-1 UC ont les mêmes informations de prédiction.
5. Procédé selon la revendication 4, dans lequel la Nième UC utilise le mode saut ou fusion, et toutes les premières N-1 UC utilisent l'inter-prédiction.
6. Procédé selon la revendication 4, le procédé comprenant en outre :
le fait de dériver un candidat à la fusion pour la Nième UC à partir de la liste de candidats à la fusion ;
la génération d'échantillons d'inter-prédiction en fonction du candidat à la fusion
;
la génération d'un résidu pour la Nième UC ; et
l'obtention d'échantillons reconstruits de la Nième UC en ajoutant les échantillons résiduels et d'inter-prédiction.
7. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel l'exclusion du
premier mode d'intra-prédiction d'une liste de modes d'intra-prédiction probables
pour la N
ième UC comprend :
si l'exclusion du premier mode d'intra-prédiction est réalisée lors de la génération
de la liste de modes d'intra-prédiction probables pour la Nième UC, le premier mode d'intra-prédiction des premiers N-1 blocs de codage n'est pas
ajouté à la liste de modes d'intra-prédiction probables pour la Nième UC ; et
si la liste de modes d'intra-prédiction probables pour la Nième UC est déjà générée lorsque l'exclusion du premier mode d'intra-prédiction est réalisée,
la suppression du premier mode d'intra-prédiction des premiers N-1 blocs de codage
de la liste de modes d'intra-prédiction probables pour le Nième bloc de codage.
8. Dispositif décodeur pour effectuer un décodage prédictif de données vidéo codées,
comprenant :
une mémoire de stockage non transitoire comprenant des instructions ; et
un ou plusieurs processeurs en communication avec la mémoire, le ou les processeurs,
lors de l'exécution des instructions, étant configuré(s) pour :
partitionner un bloc de codage en N unités de codage (UC) sur la base d'informations
d'arbre de codage ;
identifier si les premières N-1 UC codées du bloc de codage ont les mêmes informations
de prédiction ; et
exclure un premier mode d'intra-prédiction d'une liste de modes d'intra-prédiction
probables pour la Nième UC du bloc de codage lorsque toutes les premières N-1 UC ont le premier mode d'intra-prédiction.
9. Dispositif selon la revendication 8, le ou les processeurs, lors de l'exécution des
instructions, étant en outre configuré(s) pour :
ajouter un mode restant à la liste de modes d'intra-prédiction probables, le mode
restant étant différent du premier mode d'intra-prédiction.
10. Dispositif selon la revendication 8, le ou les processeurs, lors de l'exécution des
instructions, étant en outre configuré(s) pour :
dériver un second mode d'intra-prédiction pour la Nième UC à partir de la liste de modes d'intra-prédiction probables ;
générer des échantillons d'intra-prédiction selon le second mode d'intra-prédiction
;
générer un résidu pour la Nième UC ; et
obtenir des échantillons reconstruits de la Nième UC en ajoutant les échantillons résiduels et d'intra-prédiction.
11. Dispositif selon la revendication 7, lorsque les informations de prédiction comportent
des informations d'inter-prédiction, le ou les processeurs, lors de l'exécution des
instructions, étant en outre configuré(s) pour :
identifier si les premières N-1 UC codées ont les mêmes informations d'inter-prédiction,
les informations d'inter-prédiction comportant la direction d'inter-prédiction, l'index
de trame de référence et des informations de vecteur de mouvement ; et
exclure les informations d'inter-prédiction de la liste des candidats à la fusion
pour la Nième UC lorsque les premières N-1 UC ont les mêmes informations de prédiction.
12. Dispositif selon la revendication 11, dans lequel la Nième UC utilise un mode de saut ou de fusion, et toutes les premières N-1 UC utilisent
l'inter-prédiction.
13. Dispositif selon la revendication 11, le ou les processeurs, lors de l'exécution des
instructions, étant en outre configuré(s) pour :
dériver un candidat à la fusion pour la Nième UC à partir de la liste de candidats à la fusion ;
générer des échantillons d'inter-prédiction en fonction du candidat à la fusion ;
générer un résidu pour la Nième UC ; et
obtenir des échantillons reconstruits de la Nième UC en ajoutant les échantillons résiduels et d'inter-prédiction.
14. Dispositif selon l'une quelconque des revendications 8 à 10, le ou les processeurs,
lors de l'exécution des instructions, étant en outre configuré(s) pour :
si l'exclusion du premier mode d'intra-prédiction est réalisée lors de la génération
de la liste de modes d'intra-prédiction probables pour la Nième UC, ne pas ajouter le premier mode d'intra-prédiction des premiers N-1 blocs de codage
à la liste de modes d'intra-prédiction probables pour la Nième UC ; et
si la liste de modes d'intra-prédiction probables pour la Nième UC est déjà générée lorsque l'exclusion du premier mode d'intra-prédiction est réalisée,
supprimer le premier mode d'intra-prédiction des premiers N-1 blocs de codage de la
liste de modes d'intra-prédiction probables pour le Nième bloc de codage.
15. Support non transitoire lisible par ordinateur stockant des instructions informatiques
qui, lorsqu'elles sont exécutées par un ou plusieurs processeurs, amènent le ou les
processeurs à réaliser l'une quelconque des revendications 1 à 7.