IP Library Granted Patent US 8,503,527
Granted Patent B2
US 8,503,527 · App. 12/562,504 · Granted Aug 6, 2013

Video coding with large macroblocks

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 8,503,527
App. No.
12/562,504
Granted
Aug 6, 2013
Kind
B2
Abstract

Techniques are described for encoding and decoding digital video data using macroblocks that are larger than the macroblocks prescribed by conventional video encoding and decoding standards. For example, the techniques include encoding and decoding a video stream using macroblocks comprising greater than 16×16 pixels. In one example, an apparatus includes a video encoder configured to encode a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels and to generate syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit. The syntax information may also include a minimum size value. In this manner, the encoder may indicate to a decoder the proper syntax decoder to apply to the coded unit.

Claims (48)

1. A method comprising:

encoding, with a video encoder, a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels;

generating syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, wherein generating the syntax information further comprises including, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit; and

coding at least one of the plurality of video blocks having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

2. The method of claim 1 , wherein the coded unit comprises one of a frame, a slice, and a group of pictures.

3. The method of claim 1 , wherein the syntax information comprises a fixed-length code corresponding to a size of the largest one of the plurality of video blocks.

4. The method of claim 1 , wherein generating the syntax information further comprises including, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit.

5. The method of claim 4 , further comprising generating block-based syntax information for each of the plurality of video blocks according to the maximum size value and the minimum size value.

6. An apparatus comprising a video encoder configured to encode a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels, to generate syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, to include, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit, and to code at least one of the plurality of video blocks having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

7. The apparatus of claim 6 , wherein the coded unit comprises one of a frame, a slice, and a group of pictures.

8. The apparatus of claim 6 , wherein the syntax information comprises a fixed-length code corresponding to a size of the largest one of the plurality of video blocks.

9. The apparatus of claim 6 , wherein the video encoder is configured to include, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit.

10. The apparatus of claim 9 , wherein the video encoder is configured to generate block-based syntax information for each of the plurality of video blocks according to the maximum size value and the minimum size value.

11. An apparatus comprising:

means for encoding a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels;

means for generating syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, wherein the means for generating the syntax information further comprises means for including, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit; and

means for coding at least one of the plurality of video blocks having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

12. The apparatus of claim 11 , wherein the coded unit comprises one of a frame, a slice, and a group of pictures.

13. The apparatus of claim 11 , wherein the syntax information comprises a fixed-length code corresponding to a size of the largest one of the plurality of video blocks.

14. The apparatus of claim 11 , wherein the means for generating the syntax information further comprises means for including, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit.

15. The apparatus of claim 14 , further comprising means for generating block-based syntax information for each of the plurality of video blocks according to the maximum size value and the minimum size value.

16. A non-transitory computer-readable storage medium having stored thereon instructions for causing a programmable processor to:

encode a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels;

generate syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, wherein the instructions that cause the processor to generate the syntax information further comprise instructions that cause the processor to include, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit; and

code at least one of the plurality of video blocks having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the coded unit comprises one of a frame, a slice, and a group of pictures.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the syntax information comprises a fixed-length code corresponding to a size of the largest one of the plurality of video blocks.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions to generate the syntax information further comprise instructions to include, in the syntax information, a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit.

20. The non-transitory computer-readable storage medium of claim 19 , further comprising instructions to generate block-based syntax information for each of the plurality of video blocks according to the maximum size value and the minimum size value.

21. A method comprising:

receiving, with a video decoder, a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16pixels;

receiving syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, and wherein the syntax information further includes a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit; and

decoding at least one of the plurality of video blocks in the coded unit having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

22. An apparatus comprising a video decoder configured to receive a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels, receive syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, and wherein the syntax information further includes a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit, and decode at least one of the plurality of video blocks in the coded unit having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

23. An apparatus comprising:

means for receiving a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels;

means for receiving syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, and wherein the syntax information further includes a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit; and

means for decoding at least one of the plurality of video blocks in the coded unit having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

24. A non-transitory computer-readable storage medium having stored thereon instructions for causing a programmable processor to:

receive a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels;

receive syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit, and wherein the syntax information further includes a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit; and

decode at least one of the plurality of video blocks in the coded unit having a size between the largest one of the plurality of video blocks and the smallest one of the plurality of video blocks.

25. A video decoder comprising:

a memory configured to store at least a portion of a video bitstream;

a processor configured to:

receive, from the bitstream, syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of a plurality of video blocks in a coded unit, and that includes a minimum size value, wherein the minimum size value indicates a size of a smallest one of the plurality of video blocks in the coded unit;

receive, from the bitstream, the coded unit comprising the plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels; and

decode each of the plurality of video blocks in the coded unit according to the maximum size value and the minimum size value.

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 Sep 18, 2009
From: CHEN, PEISONG; YE, YAN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 023253/0271 →