IP Library Granted Patent US 10,341,662
Granted Patent B2
US 10,341,662 · App. 14/996,547 · Granted Jul 2, 2019

Methods and systems for entropy coder initialization

Inventors: Kiran Misra (Vancouver, WA); Christopher A. Segall (Camas, WA)
Assignee: Velos Media, LLC
H04N19/13H04N19/105H04N19/124H04N19/129H04N19/159H04N19/174H04N19/197H04N19/436H04N19/46H04N19/51H04N19/61H04N19/86H04N19/184
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,341,662
App. No.
14/996,547
Granted
Jul 2, 2019
Kind
B2
Abstract

Aspects of the present invention are related to systems and methods for initialization of entropy encoders and decoders.

Claims (33)

1. A method for decoding a video bitstream comprising: decoding, in a slice header associated with a picture, a first syntax element with an integer value indicating a number of a plurality of entropy slices defining a first slice, wherein each of the entropy slices contains a plurality of largest coding units (LCUs); decoding a second syntax element in the slice header indicating an offset with an index i, wherein the index i has as range from 0 to the integer value of the first syntax element minus 1 and the offset indicates, in a unit of bytes, a distance between (i) one of the plurality of the entropy slices in the first slice in the video bitstream and (ii) an entropy slice preceding the one of the plurality of the entropy slices in the video bitstream;

decoding a third syntax element in the slice header indicating a slice type of the first slice;

in circumstances where the third syntax element indicates the slice type of the first slice is a B slice, decoding a flag in the slice header indicating an initialization method of a Context-Adaptive Binary Arithmetic Coding (CABAC) context;

in circumstances where the decoded flag indicates a first value, initializing the CABAC context using a first initialization method at the first LCU of each of the plurality of entropy slices in the B slice;

in circumstances where the decoded flag indicates a second value, initializing the CABAC context using a second initialization method at the first LCU of each of the plurality of entropy slices in the B slice; and

initializing the CABAC context of a P slice using at least one of the first initialization method and the second initialization method.

2. An apparatus for decoding a video bitstream comprising: at least one processor; at least one memory including computer program code, the memory and the computer program code configured to, working with the processor, cause the apparatus to perform at least the following: decode, in a slice header associated with a picture, a first syntax element with an integer value indicating a number of a plurality of entropy slices defining a first slice, wherein each of the entropy slices contains a plurality of largest coding units (LCUs); decode a second syntax element in the slice header indicating an offset with an index i, wherein the index i has as range from 0 to the integer value of the first syntax element minus 1 and the offset indicates, in a unit of bytes, a distance between (i) one of the plurality of the entropy slices in the first slice in the video bitstream and (ii) an entropy slice preceding the one of the plurality of the entropy slices in the video bitstream;

decode a third syntax element in the slice header indicating a slice type of the first slice;

in circumstances where the third syntax element indicates the slice type of the first slice is a B slice, decode a flag in the slice header indicating an initialization method of a Context-Adaptive Binary Arithmetic Coding (CABAC) context;

in circumstances where the decoded flag indicates a first value, initialize the CABAC context using a first initialization method at the first LCU of each of the plurality of entropy slices in the B slice;

in circumstances where the decoded flag indicates a second value, initialize the CABAC context using a second initialization method at the first LCU of each of the plurality of entropy slices in the B slice; and

initialize the CABAC context of a P slice using at least one of the first initialization method and the second initialization method.

3. A non-transitory computer-readable storage medium storing a program for causing a computer to execute a process for decoding a video bitstream, the process comprising: decoding, in a slice header associated with a picture, a first syntax element with an integer value indicating a number of a plurality of entropy slices defining a first slice, wherein each of the entropy slices contains a plurality of largest coding units (LCUs); decoding a second syntax element in the slice header indicating an offset with an index i, wherein the index i has as range from 0 to the integer value of the first syntax element minus 1 and the offset indicates, in a unit of bytes, a distance between (i) one of the plurality of the entropy slices in the first slice in the video bitstream and (ii) an entropy slice preceding the one of the plurality of the entropy slices in the video bitstream;

decoding a third syntax element in the slice header indicating a slice type of the first slice;

in circumstances where the third syntax element indicates the slice type of the first slice is a B slice, decoding a flag in the slice header indicating an initialization method of a Context-Adaptive Binary Arithmetic Coding (CABAC) context;

in circumstances where the decoded flag indicates a first value, initializing the CABAC context using a first initialization method at the first LCU of each of the plurality of entropy slices in the B slice;

in circumstances where the decoded flag indicates a second value, initializing the CABAC context using a second initialization method at the first LCU of each of the plurality of entropy slices in the B slice; and

initializing the CABAC context of a P slice using at least one of the first initialization method and the second initialization method.

4. The method in claim 1 , wherein the bitstream is decoded using one of the first and second initialization methods based, at least in part, on the decoded flag indicating one of the first value or the second value.

5. The method in claim 4 , wherein decoding the bitstream using one of the first and second initialization methods includes decoding CABAC-coded syntax elements of one of the plurality of LCUs with the CABAC context initialized using the one of the first and second initialization methods.

6. The method in claim 5 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating partitioning of the one LCU.

7. The method in claim 6 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating prediction modes of the partitioning of the one LCU.

8. The method in claim 6 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating transform coefficients of the partitioning of the one LCU.

9. The apparatus in claim 2 , wherein the memory and the computer program code are configured, working with the processor, to cause the apparatus to decode the bitstream using one of the first and second initialization methods based, at least in part, on the decoded flag indicating one of the first value or the second value.

10. The apparatus in claim 9 , wherein the hardware decoding processor is configured to decode CABAC-coded syntax elements of one of the plurality of LCUs with the CABAC context initialized using the one of the first and second initialization methods.

11. The apparatus in claim 10 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating partitioning of the one LCU.

12. The apparatus in claim 11 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating prediction modes of the partitioning of the one LCU.

13. The apparatus in claim 11 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating transform coefficients of the partitioning of the one LCU.

14. The non-transitory computer-readable storage medium in claim 3 , wherein the bitstream is decoded using one of the first and second initialization methods based, at least in part, on the decoded flag indicating one of the first value or the second value.

15. The non-transitory computer-readable storage medium in claim 14 , wherein the process further comprises decoding CABAC-coded syntax elements of one of the plurality of LCUs with the CABAC context initialized using the one of the first and second initialization methods.

16. The non-transitory computer-readable storage medium in claim 15 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating partitioning of the one LCU.

17. The non-transitory computer-readable storage medium in claim 16 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating prediction modes of the partitioning of the one LCU.

18. The non-transitory computer-readable storage medium in claim 16 , wherein the CABAC-coded syntax elements of the one LCU includes a syntax element indicating transform coefficients of the partitioning of the one LCU.

Assignments (4)
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 →
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 30, 2017
From: SHARP CORPORATION
To: VELOS MEDIA, LLC
Reel/Frame 042876/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2016
From: MISRA, KIRAN; SEGALL, CHRISTOPHER A.
To: SHARP KABUSHIKI KAISHA
Reel/Frame 037707/0143 →
Continuity (2)
Continuation 12896778 · Oct 1, 2010
Related Publication 20170078668A1 · Mar 16, 2017