IP Library › Granted Patent US 10,009,620
Granted Patent B2
US 10,009,620 · App. 15/008,677 · Granted Jun 26, 2018

Combined coding of split information and other block-level parameters for video coding/decoding

Inventors: Arild Fuldseth (Lysaker, NO); Gisle Bjontegaard (Oppegard, NO)
Assignee: Cisco Technology, Inc.
H04N19/51H04N19/103H04N19/119H04N19/176H04N19/70H04N19/91
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,009,620
App. No.
15/008,677
Granted
Jun 26, 2018
Kind
B2
Abstract

A block of size N×M of a video frame can be either split into smaller blocks in n different ways (e.g. horizontal, vertical, quad, etc.), or alternatively it can be coded using one out of m different coding modes (e.g. intra, inter, bi-prediction, etc.). Since splitting into smaller sub-blocks and coding the N×M block in one of the m possible ways are mutually exclusive, there are n+m distinct possibilities for processing the block further. The n+m possible ways of processing the N×M blocks are assigned a code (e.g., a number) and coded with a codeword derived from a VLC table. This achieves efficient combined coding of split information and other block-level parameters.

Claims (89)

1. A method comprising:

partitioning a video frame into a plurality of blocks;

for each of the plurality of blocks, either splitting the block into sub-blocks using one of n different partitioning modes or coding the block using one of m different coding modes such that there are n+m processing modes for each block; and

encoding a given block with a codeword representing one of the n+m processing modes for use in deriving an encoded bit-stream, wherein encoding includes using different variable length codes depending on information from blocks to the left and above the given block.

2. The method of claim 1 , wherein the information from blocks to the left and above the given block includes information indicating a skip mode or no skip mode.

3. The method of claim 2 , wherein the different variable length codes for the different coding modes include:

SPLIT

    1

INTER0

   01

SKIP

   001

MERGE

  0001

INTRA

  00001

INTER1

 000001

INTER2

 0000001

INTER3

00000001

BIPRED

00000000.

4. The method of claim 1 , wherein the n partitioning modes include partitioning symmetrically into N×M sub-blocks where all sub-blocks have the same size horizontally, and all sub-blocks have the same size vertically.

5. The method of claim 1 , wherein the n partitioning modes include partitioning asymmetrically into N×M sub-blocks where at least two sub-blocks have different size either horizontally or vertically.

6. The method of claim 1 , wherein the n partitioning modes include a partitioning mode in which the block is first split horizontally and then at least one resulting sub-block is split vertically, or a partitioning mode in which the block is first split vertically and then at least one resulting sub-block is split horizontally.

7. The method of claim 1 , wherein the m coding modes include intra prediction, skip, merge, inter prediction with uni-prediction, and inter prediction with bi-prediction.

8. The method of claim 7 , wherein the inter prediction with uni-prediction mode includes several sub-modes that depend on a reference index.

9. A method comprising:

receiving an encoded bit-stream representing video frames to be decoded;

deriving from the encoded bit-stream for each of a plurality of blocks partitioned from a given video frame, a codeword representing a processing mode, among a plurality of processing modes, for each block, wherein the codeword for a given block is derived from different variable length codes depending on information from blocks to the left and above the given block;

determining from the codeword which one of n different partitioning modes is used for splitting the given block into sub-blocks or which one of m different coding modes is used for the given block of the plurality of blocks of the given video frame; and

decoding the given block of the given video frame based on the which one of n different partitioning modes or which one of m different coding modes is used for the given block of the plurality of blocks of the given video frame according to the codeword.

10. The method of claim 9 , wherein the information from blocks to the left and above the given block includes information indicating a skip mode or no skip mode.

11. The method of claim 10 , wherein the different variable length codes include:

SPLIT

    1

INTER0

   01

SKIP

   001

MERGE

  0001

INTRA

  00001

INTER1

 000001

INTER2

 0000001

INTER3

00000001

BIPRED

00000000.

12. The method of claim 9 , wherein the n partitioning modes include partitioning symmetrically into N×M sub-blocks where all sub-blocks have the same size horizontally, and all sub-blocks have the same size vertically.

13. The method of claim 9 , wherein the n partitioning modes include partitioning asymmetrically into N×M sub-blocks where at least two sub-blocks have different size either horizontally or vertically.

14. The method of claim 9 , wherein the n partitioning modes include a partitioning mode in which the block is first split horizontally and then at least one resulting sub-block is split vertically, or a partitioning mode in which the block is first split vertically and then at least one resulting sub-block is split horizontally.

15. The method of claim 9 , wherein the m coding modes include intra prediction, skip, merge, inter prediction with uni-prediction, and inter prediction with bi-prediction.

16. The method of claim 15 , wherein the inter prediction with uni-prediction mode includes several sub-modes that depend on a reference index.

17. One or more non-transitory computer readable storage media encoded with executable instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving an encoded bit-stream representing video frames to be decoded;

deriving from the encoded bit-stream for each of a plurality of blocks partitioned from a given video frame, a codeword representing a processing mode, among a plurality of processing modes, for each block, wherein the codeword for a given block is derived from different variable length codes depending on information from blocks to the left and above the given block;

determining from the codeword which one of n different partitioning modes is used for splitting the given block into sub-blocks or which one of m different coding modes is used for the given block of the plurality of blocks of the given video frame; and

decoding the given block of the given video frame based on the which one of n different partitioning modes or which one of m different coding modes is used for the given block of the plurality of blocks of the given video frame according to the codeword.

18. The non-transitory computer readable storage media of claim 17 , wherein the information from blocks to the left and above the given block includes information indicating a skip mode or no skip mode.

19. The non-transitory computer readable storage media of claim 18 , wherein the different variable length codes include:

SPLIT

    1

INTER0

   01

SKIP

   001

MERGE

  0001

INTRA

  00001

INTER1

 000001

INTER2

 0000001

INTER3

00000001

BIPRED

00000000.

20. The non-transitory computer readable storage media of claim 17 , wherein the n partitioning modes include partitioning symmetrically into N×M sub-blocks where all sub-blocks have the same size horizontally, and all sub-blocks have the same size vertically.

21. The non-transitory computer readable storage media of claim 17 , wherein the n partitioning modes include partitioning asymmetrically into N×M sub-blocks where at least two sub-blocks have different size either horizontally or vertically.

22. The non-transitory computer readable storage media of claim 17 , wherein the n partitioning modes include a partitioning mode in which the block is first split horizontally and then at least one resulting sub-block is split vertically, or a partitioning mode in which the block is first split vertically and then at least one resulting sub-block is split horizontally.

23. The non-transitory computer readable storage media of claim 17 , wherein the m coding modes include intra prediction, skip, merge, inter prediction with uni-prediction, and inter prediction with bi-prediction.

24. The non-transitory computer readable storage media of claim 23 , wherein the inter prediction with uni-prediction mode includes several sub-modes that depend on a reference index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2016
From: FULDSETH, ARILD; BJONTEGAARD, GISLE
To: CISCO TECHNOLOGY, INC.
Reel/Frame 037607/0417 →
Continuity (2)
Provisional Application 62182852 · Jun 22, 2015
Related Publication 20160373778A1 · Dec 22, 2016