Adaptive coding of video block prediction mode
First Claim
1. A method of encoding video data, the method comprising:
- selecting from a set of intra prediction modes for a current video block one of a plurality of intra prediction modes for use in generating a prediction block of a video block of a coding unit; and
encoding the intra prediction mode of the current video block based on intra prediction modes of one or more previously encoded video blocks of the coding unit, wherein encoding the intra prediction mode comprises;
if the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, then;
encoding a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, andencoding at least one additional bit representing the intra prediction mode to indicate which of the one or more previously encoded video blocks has the same intra prediction mode as the intra prediction mode of the current video block; and
if the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, then;
encoding a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks,removing from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously encoded video blocks when the one or more previously encoded video blocks have different intra prediction modes,removing from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously encoded video blocks and at least one additional intra prediction mode that is not an intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode,renumbering intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, andencoding a codeword that identifies the intra prediction mode identifier corresponding to the intra prediction mode of the current video block.
6 Assignments
0 Petitions
Accused Products
Abstract
This disclosure describes techniques for coding of header information of video blocks. In particular, the techniques of this disclosure select one of a plurality of prediction modes for use in generating a prediction block of a video block of a coding unit, the plurality of prediction modes including unidirectional prediction modes and multi-directional prediction modes that combine at least two unidirectional prediction modes. An encoding device encodes the prediction mode of the current video block based on prediction modes of one or more previously encoded video blocks of the coding unit. Likewise, a decoding unit receives encoded video data of a video block of a coding unit and decodes the encoded video data to identify one of a plurality of prediction modes for use in generating a prediction block of the video block based on prediction modes of one or more previously decoded video blocks of the coding unit.
50 Citations
28 Claims
-
1. A method of encoding video data, the method comprising:
-
selecting from a set of intra prediction modes for a current video block one of a plurality of intra prediction modes for use in generating a prediction block of a video block of a coding unit; and encoding the intra prediction mode of the current video block based on intra prediction modes of one or more previously encoded video blocks of the coding unit, wherein encoding the intra prediction mode comprises; if the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, then; encoding a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, and encoding at least one additional bit representing the intra prediction mode to indicate which of the one or more previously encoded video blocks has the same intra prediction mode as the intra prediction mode of the current video block; and if the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, then; encoding a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, removing from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously encoded video blocks when the one or more previously encoded video blocks have different intra prediction modes, removing from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously encoded video blocks and at least one additional intra prediction mode that is not an intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode, renumbering intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, and encoding a codeword that identifies the intra prediction mode identifier corresponding to the intra prediction mode of the current video block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A device that encodes video data, the device comprising:
-
a prediction unit that selects one of a plurality of intra prediction modes for use in generating a prediction block of a current video block of a coding unit; and an entropy encoding unit that encodes the intra prediction mode of the current video block based on intra prediction modes of one or more previously encoded video blocks of the coding unit, wherein; if the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, then; the entropy encoding unit encodes a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, and the entropy encoding unit encodes at least one additional bit representing the intra prediction mode to indicate which of the one or more previously encoded video blocks has the same intra prediction mode as the intra prediction mode of the current video block; and if the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, then; the entropy encoding unit encodes a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, the entropy encoding unit removes from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously encoded video blocks when the one or more previously encoded video blocks have different intra prediction modes, the entropy encoding unit removes from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously encoded video blocks and at least one additional intra prediction mode that is not an intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode, the entropy encoding unit renumbers intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, and the entropy encoding unit encodes a codeword that identifies the intra prediction mode identifier corresponding to the intra prediction mode of the current video block. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A device that encodes video data, the device comprising:
-
means for selecting from a set of intra prediction modes for a current video block one of a plurality of intra prediction modes for use in generating a prediction block of a video block of a coding unit; and means for encoding the intra prediction mode of the current video block based on intra prediction modes of one or more previously encoded video blocks of the coding unit; means for encoding a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks if the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks; means for encoding at least one additional bit representing the intra prediction mode to indicate which of the one or more previously encoded video blocks has the same intra prediction mode as the intra prediction mode of the current video block in response to the intra prediction mode of the current video block being the same as one of the intra prediction modes of the one or more previously encoded video blocks; means for encoding a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks; means for removing from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously encoded video blocks when the one or more previously encoded video blocks have different intra prediction modes in response to the intra prediction mode of the current video block not being the same as any of the intra prediction modes of the one or more previously encoded video blocks and in response to the intra prediction mode of the current video block being the same as one of the intra prediction modes of the one or more previously encoded video blocks; means for removing from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously encoded video blocks and at least one additional intra prediction mode that is not an intra prediction mode of the one or more previously encoded video blocks in response to two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode and in response to the intra prediction mode of the current video block being the same as one of the intra prediction modes of the one or more previously encoded video blocks; means for renumbering intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes in response to the intra prediction mode of the current video block being the same as one of the intra prediction modes of the one or more previously encoded video blocks, and means for encoding a codeword that identifies the intra prediction mode identifier corresponding to the intra prediction mode of the current video block in response to the intra prediction mode of the current video block being the same as one of the intra prediction modes of the one or more previously encoded video blocks.
-
-
14. A non-transitory computer readable storage medium storing instruction that upon execution cause one or more processors to:
-
select from a set of intra prediction modes for a current video block one of a plurality of intra prediction modes for use in generating a prediction block of a video block of a coding unit; and encode the intra prediction mode of the current video block based on intra prediction modes of one or more previously encoded video blocks of the coding unit, wherein the instructions cause the one or more processors to encode the intra prediction mode of the current block by; if the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, then; encode a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is the same as one of the intra prediction modes of the one or more previously encoded video blocks, and encode at least one additional bit representing the intra prediction mode to indicate which of the one or more previously encoded video blocks has the same intra prediction mode as the intra prediction mode of the current video block; and if the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, then; encode a first bit representing the intra prediction mode to indicate that the intra prediction mode of the current video block is not the same as any of the intra prediction modes of the one or more previously encoded video blocks, remove from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously encoded video blocks when the one or more previously encoded video blocks have different intra prediction modes, remove from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously encoded video blocks and at least one additional intra prediction mode that is not an intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode, renumber intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, and encode a codeword that identifies the intra prediction mode identifier corresponding to the intra prediction mode of the current video block.
-
-
15. A method of decoding video data, the method comprising:
-
receiving encoded video data of a current video block of a coding unit; and decoding the encoded video data to identify from a set of intra prediction modes for the current video block one of a plurality of intra prediction modes for use in generating a prediction block of the current video block based on intra prediction modes of one or more previously decoded video blocks of the coding unit, comprising; if, based on a first encoded bit representing the intra prediction mode, the intra prediction mode is one of the intra prediction modes of the one or more previously decoded video blocks, then identifying which of the one or more previously decoded video blocks has the same intra prediction mode as the intra prediction mode for use in generating the intra prediction block of the current video block based on at least one additional encoded bit representing the intra prediction mode, and if, based on a first encoded bit representing the intra prediction mode, the intra prediction mode is not any of the intra prediction modes of the one or more previously decoded video blocks, then; removing from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously decoded video blocks when the one or more previously decoded video blocks have different intra prediction modes, removing from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously decoded video blocks and at least one additional intra prediction mode that is not the intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode, renumbering intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, and decoding a codeword to identify the intra prediction mode identifier corresponding to the intra prediction mode for use in generating a prediction block of the current video block. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A device for decoding video data, the device comprising:
-
an entropy decoding unit that decodes encoded video data of a current video block of a coding unit to identify one of a plurality of intra prediction modes for use in generating a prediction block of the current video block based on intra prediction modes of one or more previously decoded video blocks of the coding unit; and a prediction unit that generates the intra prediction block using the decoded prediction mode, wherein; if, based on a first encoded bit representing the intra prediction mode, the intra prediction mode is one of the intra prediction modes of the one or more previously decoded video blocks, the entropy decoding unit identifies which of the one or more previously decoded video blocks has the same intra prediction mode as the intra prediction mode for use in generating the intra prediction block of the current video block based on at least one additional encoded bit representing the intra prediction mode, and for the current video block, the entropy decoding unit selects the intra prediction mode of the identified previously decoded video block; and if, based on a first encoded bit representing the intra prediction mode, the intra prediction mode is not any of the intra prediction modes of the one or more previously decoded video blocks, then; the entropy decoding unit removes from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously decoded video blocks when the one or more previously decoded video blocks have different intra prediction modes, the entropy decoding unit removes from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously decoded video blocks and at least one additional intra prediction mode that is not the intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode, the entropy decoding unit renumbers intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, and the entropy decoding unit decodes a codeword to identify the intra prediction mode identifier corresponding to the intra prediction mode for use in generating a prediction block of the current video block. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A device that decodes video data, the device comprising:
-
means for receiving encoded video data of a current video block of a coding unit; and means for decoding the encoded video data to identify from a set of intra prediction modes for the current video block one of a plurality of intra prediction modes for use in generating a prediction block of the current video block based on intra prediction modes of one or more previously decoded video blocks of the coding unit; means for receiving a first encoded bit representing the intra prediction mode; means for identifying which of the one or more previously decoded video blocks has the same intra prediction mode as the intra prediction mode for use in generating the intra prediction block of the current video block based on at least one additional encoded bit representing the intra prediction mode when the first encoded bit signals the intra prediction mode of the current block is one of the intra prediction modes of the one or more previously decoded video blocks; means for removing from the set of intra prediction modes for the current block at least the intra prediction modes of the one or more previously decoded video blocks when the one or more previously decoded video blocks have different intra prediction modes and when the first encoded bit signals the intra prediction mode of the current block is not any of the intra prediction modes of the one or more previously decoded video blocks; means for removing from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously decoded video blocks and at least one additional intra prediction mode that is not the intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode and when the first encoded bit signals the intra prediction mode of the current block is not any of the intra prediction modes of the one or more previously decoded video blocks; means for renumbering intra prediction mode identifiers for the current video block among the remaining intra prediction modes of the set of intra prediction modes for the current video block when the first encoded bit signals the intra prediction mode of the current block is not any of the intra prediction modes of the one or more previously decoded video blocks; means for decoding a codeword to identify the intra prediction mode identifier corresponding to the intra prediction mode for use in generating a prediction block of the current video block when the first encoded bit signals the intra prediction mode of the current block is not any of the intra prediction modes of the one or more previously decoded video blocks.
-
-
28. A non-transitory computer readable medium storing instruction that upon execution cause one or more processors to:
-
receive encoded video data of a current video block of a coding unit; and decode the encoded video data to identify from a set of intra prediction modes for the current video block one of a plurality of intra prediction modes for use in generating a prediction block of the current video block based on intra prediction modes of one or more previously decoded video blocks of the coding unit, wherein the instructions cause the one or more processors to decode the encoded video data by; if, based on a first encoded bit representing the intra prediction mode, the intra prediction mode is one of the intra prediction modes of the one or more previously decoded video blocks, and if the intra prediction mode of the one or more previously decoded video blocks are not the same, then identify which of the one or more previously decoded video blocks has the same intra prediction mode as the intra prediction mode for use in generating the intra prediction block of the current video block based on at least one additional encoded bit representing the intra prediction mode, and if, based on a first encoded bit representing the intra prediction mode, the intra prediction mode is not any of the intra prediction modes of the one or more previously decoded video blocks, then; remove from the set of intra prediction modes for the current video block at least the intra prediction modes of the one or more previously decoded video blocks when the one or more previously decoded video blocks have different intra prediction modes, remove from the set of intra prediction modes for the current video block the intra prediction modes of the one or more previously decoded video blocks and at least one additional intra prediction mode that is not the intra prediction mode of the one or more previously encoded video blocks when two or more of the previously encoded video blocks of the coding unit have the same intra prediction mode, renumber intra prediction mode identifiers among the remaining intra prediction modes of the set of intra prediction modes for the current video block, and decode a codeword to identify the intra prediction mode identifier corresponding to the intra prediction mode for use in generating a prediction block of the current video block.
-
Specification