IP Library Granted Patent US 9,237,358
Granted Patent B2
US 9,237,358 · App. 13/645,296 · Granted Jan 12, 2016

Context reduction for context adaptive binary arithmetic coding

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 9,237,358
App. No.
13/645,296
Granted
Jan 12, 2016
Kind
B2
Abstract

A reduction in the number of binarizations and/or contexts used in context adaptive binary arithmetic coding (CABAC) for video coding is proposed. In particular, this disclosure proposes techniques that may lower the number contexts used in CABAC by up to 56.

Claims (141)

1. A method of encoding video data, the method comprising:

determining a first prediction type for a block of video data in a P slice;

representing the first prediction type as a P slice prediction type syntax element;

determining a second prediction type for a block of video data in a B slice;

representing the second prediction type as a B slice prediction type syntax element;

determining a third prediction type for a block of video data in an I slice;

representing the third prediction type as an I slice prediction type syntax element;

determining a P slice binarization for the P slice prediction type syntax element using a first binarization mapping;

determining a B slice binarization for the B slice prediction type syntax element using the first binarization mapping;

determining an I slice binarization for the I slice prediction type syntax element using a second binarization mapping, the second binarization mapping being different than the first binarization mapping; and

encoding the video data based on the binarizations of the P slice prediction type syntax element, the B slice prediction type syntax element, and the I slice prediction type syntax element, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type.

2. The method of claim 1 , wherein encoding the video data comprises:

binarizing the P slice prediction type syntax element with the determined P slice binarization;

binarizing the B slice prediction type syntax element with the determined B slice binarization;

binarizing the I slice prediction type syntax element with the determined I slice binarization;

applying context adaptive binary arithmetic coding (CABAC) to the binarized P slice prediction type syntax element;

applying CABAC to the binarized B slice prediction type syntax element; and

applying CABAC to the binarized I slice prediction type syntax element.

3. The method of claim 1 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

4. The method of claim 1 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

5. A method of decoding video data, the method comprising:

mapping a binarized P slice prediction type syntax element to a first prediction type using a first binarization mapping for a block of video data in a P slice;

mapping a binarized B slice prediction type syntax element to a second prediction type using the first binarization mapping for a block of video data in a B slice;

mapping a binarized I slice prediction type syntax element to a third prediction type using a second binarization mapping for a block of video data in an I slice, the second binarization mapping being different than the first binarization mapping, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type; and

decoding the video data based on the mapped first prediction type, second prediction type and third prediction type.

6. The method of claim 5 , further comprising:

receiving a context adaptive binary arithmetic coded P slice prediction type syntax element which indicates the first prediction type for the block of video data in the P slice;

receiving a context adaptive binary arithmetic coded B slice prediction type syntax element which indicates the second prediction type for the block of video data in the B slice; and

receiving a context adaptive binary arithmetic coded I slice prediction type syntax element which indicates the third prediction type for the block of video data in the I slice,

wherein decoding the video data further comprises:

decoding the P slice prediction type syntax element to produce the binarized P slice prediction type syntax element;

decoding the B slice prediction type syntax element to produce the binarized B slice prediction type syntax element; and

decoding the I slice prediction type syntax element to produce the binarized I slice prediction type syntax element.

7. The method of claim 5 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

8. The method of claim 5 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

9. An apparatus configured to encode video data, the apparatus comprising:

means for determining a first prediction type for a block of video data in a P slice;

means for representing the first prediction type as a P slice prediction type syntax element;

means for determining a second prediction type for a block of video data in a B slice;

means for representing the second prediction type as a B slice prediction type syntax element;

means for determining a third prediction type for a block of video data in an I slice;

means for representing the third prediction type as an I slice prediction type syntax element;

means for determining a P slice binarization for the P slice prediction type syntax element using a first binarization mapping;

means for determining a B slice binarization for the B slice prediction type syntax element using the first binarization mapping;

means for determining an I slice binarization for the I slice prediction type syntax element using a second binarization mapping, the second binarization mapping being different than the first binarization mapping; and

means for encoding the video data based on the binarizations of the P slice prediction type syntax element, the B slice prediction type syntax element, and the I slice prediction type syntax element, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type.

10. The apparatus of claim 9 , wherein the means for encoding the video data comprises:

means for binarizing the P slice prediction type syntax element with the determined P slice binarization;

means for binarizing the B slice prediction type syntax element with the determined B slice binarization;

means for binarizing the I slice prediction type syntax element with the determined I slice binarization;

means for applying context adaptive binary arithmetic coding (CABAC) to the binarized P slice prediction type syntax element;

means for applying CABAC to the binarized B slice prediction type syntax element; and

means for applying CABAC to the binarized I slice prediction type syntax element.

11. The apparatus of claim 9 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

12. The apparatus of claim 9 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

13. An apparatus configured to decode video data, the apparatus comprising:

means for mapping a binarized P slice prediction type syntax element to a first prediction type using a first binarization mapping for a block of video data in a P slice;

means for mapping a binarized B slice prediction type syntax element to a second prediction type using the first binarization mapping for a block of video data in a B slice; means for mapping a binarized I slice prediction type syntax element to a third prediction type using a second binarization mapping for a block of video data in an I slice, the second binarization mapping being different than the first binarization mapping, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type; and

means for decoding the video data based on the mapped first prediction type, second prediction type and third prediction type.

14. The apparatus of claim 13 , further comprising:

means for receiving a context adaptive binary arithmetic coded P slice prediction type syntax element which indicates the first prediction type for the block of video data in the P slice;

means for receiving a context adaptive binary arithmetic coded B slice prediction type syntax element which indicates the second prediction type for the block of video data in the B slice; and

means for receiving a context adaptive binary arithmetic coded I slice prediction type syntax element which indicates the third prediction type for the block of video data in the I slice,

wherein the means for decoding the video data further comprises:

means for decoding the P slice prediction type syntax element to produce the binarized P slice prediction type syntax element;

means for decoding the B slice prediction type syntax element to produce the binarized B slice prediction type syntax element; and

means for decoding the I slice prediction type syntax element to produce the binarized I slice prediction type syntax element.

15. The apparatus of claim 13 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

16. The apparatus of claim 13 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

17. An apparatus configured to encode video data, the apparatus comprising:

a memory configured to store the video data; and

a video encoder configured to:

determine a first prediction type for a block of the video data in a P slice;

represent the first prediction type as a P slice prediction type syntax element;

determine a second prediction type for a block of the video data in a B slice;

represent the second prediction type as a B slice prediction type syntax element;

determine a third prediction type for a block of video data in an I slice;

represent the third prediction type as an I slice prediction type syntax element;

determine a P slice binarization for the P slice prediction type syntax element using a first binarization mapping;

determine a B slice binarization for the B slice prediction type syntax element using the first binarization mapping;

determine an I slice binarization for the I slice prediction type syntax element using a second binarization mapping, the second binarization mapping being different than the first binarization mapping; and

encode the video data based on the binarizations of the P slice prediction type syntax element, the B slice prediction type syntax element, and the I slice prediction type syntax element, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type.

18. The apparatus of claim 17 , wherein the video encoder is further configured to:

binarize the P slice prediction type syntax element with the determined P slice binarization;

binarize the B slice prediction type syntax element with the determined B slice binarization;

binarize the I slice prediction type syntax element with the determined I slice binarization;

apply context adaptive binary arithmetic coding (CABAC) to the binarized P slice prediction type syntax element; and

apply CABAC to the binarized B slice prediction type syntax element; and

apply CABAC to the binarized I slice prediction type syntax element.

19. The apparatus of claim 17 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

20. The apparatus of claim 17 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

21. An apparatus configured to decode video data, the apparatus comprising:

a memory configured to store the video data; and

a video decoder configured to:

map a binarized P slice prediction type syntax element to a first prediction type using a first binarization mapping for a block of video data in a P slice;

map a binarized B slice prediction type syntax element to a second prediction type using the first binarization mapping for a block of video data in a B slice;

map a binarized I slice prediction type syntax element to a third prediction type using a second binarization mapping for a block of video data in an I slice, the second binarization mapping being different than the first binarization mapping, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type; and

decode the video data based on the mapped first prediction type, second prediction type and third prediction type.

22. The apparatus of claim 21 , wherein the video decoder is further configured to:

receive a context adaptive binary arithmetic coded P slice prediction type syntax element which indicates the first prediction type for the block of video data in the P slice;

receive a context adaptive binary arithmetic coded B slice prediction type syntax element which indicates the second prediction type for the block of video data in the B slice;

receive a context adaptive binary arithmetic coded I slice prediction type syntax element which indicates the third prediction type for the block of video data in the I slice;

decode the P slice prediction type syntax element to produce the binarized P slice prediction type syntax element;

decode the B slice prediction type syntax element to produce the binarized B slice prediction type syntax element; and

decode the I slice prediction type syntax element to produce the binarized I slice prediction type syntax element.

23. The apparatus of claim 21 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

24. The apparatus of claim 21 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

25. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors configured to encode video data to:

determine a first prediction type for a block of video data in a P slice;

represent the first prediction type as a P slice prediction type syntax element;

determine a second prediction type for a block of video data in a B slice;

represent the second prediction type as a B slice prediction type syntax element;

determine a third prediction type for a block of video data in an I slice;

represent the third prediction type as an I slice prediction type syntax element;

determine a P slice binarization for the P slice prediction type syntax element using a first binarization mapping;

determine a B slice binarization for the B slice prediction type syntax element using the first binarization mapping;

determine an I slice binarization for the I slice prediction type syntax element using a second binarization mapping, the second binarization mapping being different than the first binarization mapping; and

encode the video data based on the binarizations of the P slice prediction type syntax element, the B slice prediction type syntax element, and the I slice prediction type syntax element, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type.

26. The non-transitory computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

binarize the P slice prediction type syntax element with the determined P slice binarization;

binarize the B slice prediction type syntax element with the determined B slice binarization;

binarize the I slice prediction type syntax element with the determined I slice binarization;

apply context adaptive binary arithmetic coding (CABAC) to the binarized P slice prediction type syntax element;

apply CABAC to the binarized B slice prediction type syntax element; and

apply CABAC to the binarized I slice prediction type syntax element.

27. The non-transitory computer-readable storage medium of claim 25 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

28. The non-transitory computer-readable storage medium of claim 25 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

29. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors configured to decode video data to:

map a binarized P slice prediction type syntax element to a first prediction type using a first binarization mapping for a block of video data in a P slice;

map a binarized B slice prediction type syntax element to a second prediction type using the first binarization mapping for a block of video data in a B slice;

map a binarized I slice prediction type syntax element to a third prediction type using a second binarization mapping for a block of video data in an I slice, the second binarization mapping being different than the first binarization mapping, wherein each of the first prediction type, second prediction type, and third prediction type specifies a respective prediction mode and a respective partition type; and

decode the video data based on the mapped first prediction type, second prediction type and third prediction type.

30. The non-transitory computer-readable storage medium of claim 29 , wherein the instructions further cause the one or more processors to:

receive a context adaptive binary arithmetic coded P slice prediction type syntax element which indicates the first prediction type for the block of video data in the P slice;

receive a context adaptive binary arithmetic coded B slice prediction type syntax element which indicates the second prediction type for the block of video data in the B slice;

receive a context adaptive binary arithmetic coded I slice prediction type syntax element which indicates the third prediction type for the block of video data in the I slice;

decode the P slice prediction type syntax element to produce the binarized P slice prediction type syntax element;

decode the B slice prediction type syntax element to produce the binarized B slice prediction type syntax element; and

decode the I slice prediction type syntax element to produce the binarized I slice prediction type syntax element.

31. The non-transitory computer-readable storage medium of claim 29 , wherein the prediction mode includes one of inter-prediction and intra-prediction.

32. The non-transitory computer-readable storage medium of claim 29 , wherein the partition type includes one of symmetric partitions and asymmetric partitions.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2022
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 060923/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2021
From: VELOS MEDIA, LLC
To: QUALCOMM INCORPORATED
Reel/Frame 057575/0431 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 057554/0540 →
SECOND AMENDED AND RESTATED MEMBER INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 2, 2018
From: VELOS MEDIA MANAGEMENT, LLC; VELOS MEDIA, LLC
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 045806/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2017
From: QUALCOMM INCORPORATED
To: VELOS MEDIA, LLC
Reel/Frame 042758/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2013
From: CHIEN, WEI-JUNG; SOLE ROJALS, JOEL; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 029597/0262 →