IP Library › Granted Patent US 11,677,987
Granted Patent B2
US 11,677,987 · App. 17/224,812 · Granted Jun 13, 2023

Joint termination of bidirectional data blocks for parallel coding

Inventor: Amir Said (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/91G06V10/82H04N19/436H04N19/44
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 11,677,987
App. No.
17/224,812
Granted
Jun 13, 2023
Kind
B2
Abstract

Techniques are described herein for processing video data. For instance, a process can include obtaining encoded video data. The process can include determining an intersection of values between values for a first termination byte of a first parcel of the encoded video data and values of a second termination byte of a second parcel of the encoded video data. The process can further include determining a joint termination byte for the first termination byte of the first parcel and the second termination byte of the second parcel. Values for the joint termination byte are based on the intersection of values. The process can include generating entropy coded data including the joint termination byte for the first parcel and the second parcel. The entropy coded data can be generated using arithmetic coding or binary coding.

Claims (49)

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

obtaining encoded video data;

determining an intersection of values between values for a first termination byte of a first parcel of the encoded video data and values of a second termination byte of a second parcel of the encoded video data;

determining a joint termination byte for the first termination byte of the first parcel and the second termination byte of the second parcel, wherein values for the joint termination byte are based on the intersection of values; and

generating entropy coded data including the joint termination byte for the first parcel and the second parcel.

2. The method of claim 1 , wherein the entropy coded data is generated using arithmetic coding.

3. The method of claim 2 , wherein the values for the first termination byte include a first range of termination byte values allowed for decoding, wherein the values for the second termination byte include a second range of termination byte values allowed for decoding, and wherein the intersection of values includes values that are in the first range and the second range.

4. The method of claim 1 , wherein the entropy coded data is generated using binary coding.

5. The method of claim 4 , wherein the values for the first termination byte include a first number of bits, wherein the values for the second termination byte include a second number of bits, and wherein the intersection of values includes common values that are in the first number of bits and the second number of bits and at least one of a subset of values from the first number of bits and a subset of values from the second number of bits.

6. The method of claim 5 , wherein an order of the first number of bits and an order of the second number of bits is unchanged in the joint termination byte as compared to an order of the first number of bits in the first termination byte and an order of the second number of bits in the second termination byte.

7. The method of claim 1 , wherein generating the entropy coded data includes performing parallel entropy encoding of the first parcel and the second parcel.

8. The method of claim 7 , wherein the first parcel is encoded using a first encoder, and wherein the second parcel is encoded using a second encoder.

9. The method of claim 1 , further comprising:

performing parallel entropy decoding of the first parcel and the second parcel using the joint termination byte for the first parcel and the second parcel.

10. The method of claim 9 , further comprising:

reading the first parcel in a forward order; and

reading the second parcel in a backward order.

11. The method of claim 10 , further comprising:

converting bytes of the second parcel to a reverse order.

12. The method of claim 1 , wherein the joint termination byte is a final termination byte of the first parcel and the second parcel for processing.

13. The method of claim 1 , wherein the encoded video data comprises one or more syntax elements of a video bitstream.

14. The method of claim 13 , wherein the one or more syntax elements are indicative of one or more parameters defining a neural network for decoding the encoded video data.

15. The method of claim 14 , wherein the one or more parameters defining the neural network comprise at least one of weights of the neural network and an activation function of the neural network.

16. An apparatus for processing video data, comprising:

a memory configured to store video data; and

one or more processors coupled to the memory and configured to:

obtain encoded video data;

determine an intersection of values between values for a first termination byte of a first parcel of the encoded video data and values of a second termination byte of a second parcel of the encoded video data;

determine a joint termination byte for the first termination byte of the first parcel and the second termination byte of the second parcel, wherein values for the joint termination byte are based on the intersection of values; and

generate entropy coded data including the joint termination byte for the first parcel and the second parcel.

17. The apparatus of claim 16 , wherein the one or more processors are configured to use arithmetic coding to generate the entropy coded data.

18. The apparatus of claim 17 , wherein the values for the first termination byte include a first range of termination byte values allowed for decoding, wherein the values for the second termination byte include a second range of termination byte values allowed for decoding, and wherein the intersection of values includes values that are in the first range and the second range.

19. The apparatus of claim 16 , wherein the one or more processors are configured to use binary coding to generate the entropy coded data.

20. The apparatus of claim 19 , wherein the values for the first termination byte include a first number of bits, wherein the values for the second termination byte include a second number of bits, and wherein the intersection of values includes common values that are in the first number of bits and the second number of bits and at least one of a subset of values from the first number of bits and a subset of values from the second number of bits.

21. The apparatus of claim 20 , wherein an order of the first number of bits and an order of the second number of bits is unchanged in the joint termination byte as compared to an order of the first number of bits in the first termination byte and an order of the second number of bits in the second termination byte.

22. The apparatus of claim 16 , wherein, to generate the entropy coded data, the one or more processors are configured to perform parallel entropy encoding of the first parcel and the second parcel.

23. The apparatus of claim 22 , further comprising:

a first encoder configured to encode the first parcel; and

a second encoder configured to encode the second parcel.

24. The apparatus of claim 16 , wherein the one or more processors are configured to:

perform parallel entropy decoding of the first parcel and the second parcel using the joint termination byte for the first parcel and the second parcel.

25. The apparatus of claim 24 , wherein the one or more processors are configured to:

read the first parcel in a forward order; and

read the second parcel in a backward order.

26. The apparatus of claim 16 , wherein the joint termination byte is a final termination byte of the first parcel and the second parcel for processing.

27. The apparatus of claim 16 , wherein the encoded video data comprises one or more syntax elements of a video bitstream.

28. The apparatus of claim 27 , wherein the one or more syntax elements are indicative of one or more parameters defining a neural network for decoding the encoded video data.

29. The apparatus of claim 28 , wherein the one or more parameters defining the neural network comprise at least one of weights of the neural network and an activation function of the neural network.

30. The apparatus of claim 16 , wherein the apparatus is one of a mobile device, an extended reality device, or a television, and wherein the apparatus further comprises at least one of a display and a camera configured to capture one or more video frames.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE INFORMATION IN THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL: 056173 FRAME: 0194. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 13, 2023
From: SAID, AMIR
To: QUALCOMM INCORPORATED
Reel/Frame 062381/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2021
From: SAID, AMIR
To: QUALCOMM INCORPORATED
Reel/Frame 056173/0194 →
Continuity (2)
Provisional Application 63092443 · Oct 15, 2020
Related Publication 20220124376A1 · Apr 21, 2022
Cited By (3)
US 12,238,335 US 12,316,863 US 12,615,374