Patentable/Patents/US-9332276
US-9332276

Variable-sized super block based direct prediction mode

PublishedMay 3, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Coding a video stream having a plurality of frames is disclosed. A frame of a video stream is processed to determine if direct motion prediction can be applied to the macroblocks of the frame. Macroblocks to which direct motion can be applied are grouped into superblocks. The distribution of superblock size and configuration is analyzed to determine variable-length codes that can vary for each frame or segment encoded using direct prediction superblocks, thereby reducing the number of bits used to indicate superblock encoding in the encoded video stream.

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for encoding a video stream of frames, each frame having a plurality of macroblocks, comprising: determining a motion vector predictor for one or more macroblocks of a frame using a processor; generating a residual error for the one or more macroblocks using the motion vector predictor; deciding, based on the residual error, whether to encode the one or more macroblocks using direct prediction; combining those of the macroblocks to be encoded using direct prediction into at least one superblock, each superblock formed of at least two macroblocks to be encoded using direct prediction, wherein, for a first macroblock to be encoded using direct prediction, defining the first macroblock as a first superblock, determining whether an adjacent macroblock is to be encoded using direct prediction, and combining the adjacent macroblock with the first superblock when the adjacent macroblock is to be encoded using direct prediction and when the first superblock has not yet reached a predefined size limit; encoding the at least one superblock using direct prediction into a bitstream; and including a variable length code in the bitstream that indicates a size of the at least one superblock.

2

2. The method of claim 1 wherein the at least one superblock is rectangular in shape.

3

3. The method of claim 1 wherein the variable length code includes one bit to describe a most frequent size for the at least one superblock in the frame.

4

4. The method of claim 1 wherein the variable length code includes two bits to describe each of a second and a third most frequent size for the at least one superblock in the frame.

5

5. The method of claim 1 wherein the variable length code defines a plurality of coding modes in a header of the frame, each of the coding modes defining a superblock size using two two-bit multiplier fields, a first one of the two-bit multiplier fields defining a number of macroblocks of a first dimension of the superblock and a second one of the two-bit multiplier fields defining a number of macroblocks of a second dimension of the superblock.

6

6. The method of claim 5 wherein including the variable length code in the bitstream that indicates the size of the at least one superblock comprises: including one coding mode of the plurality of coding modes in a header of each encoded superblock having a size corresponding to the superblock sizes defined in the header of the frame; or including two two-bit fixed length fields in the header of each encoded superblock having a size not corresponding to the superblock sizes defined in the header of the frame, a first one of the two-bit fixed length fields defining a number of macroblocks of a first dimension of the superblock and a second one of the two-bit fixed length fields defining a number of macroblocks of a second dimension of the superblock.

7

7. The method of claim 1 , further comprising: including a single bit in a frame header in the bitstream indicating the at least one superblock encoded with direct prediction.

8

8. The method of claim 1 wherein combining those of the macroblocks to be encoded using direct prediction comprises: continuing to combine macroblocks adjacent to the first superblock that are to be encoded using direct prediction in the first superblock until the first superblock has reached the predefined size limit.

9

9. The method of claim 1 , further comprising: encoding those of the plurality of macroblocks of the frame not to be encoded using direct prediction into the bitstream.

10

10. A method for decoding a video stream of frames, each frame having a plurality of macroblocks, comprising: receiving a frame of a video stream to be decoded; determining, based on a header of the frame, a variable length code defining sizes of one or more superblocks in the frame using a processor, each superblock formed of at least one macroblock encoded using direct prediction, wherein the one or more superblocks are formed by: determining a motion vector predictor for one or more macroblocks of the frame, generating a residual error for the one or more macroblocks using the motion vector predictor, deciding, based on the residual error, whether to encode the one or more macroblocks using direct prediction, and combining those of the macroblocks to be encoded using direct prediction into the one or more superblocks; selecting a superblock of the frame; determining a size of the superblock based on a header of the superblock and the variable length code, a size of the superblock indicating a number of macroblocks belonging to the superblock; and decoding those macroblocks belonging to the superblock using direct prediction; and decoding any macroblocks of the frame that do not belong to the one or more superblocks.

11

11. The method of claim 10 wherein the variable length code includes one bit to describe a most frequent size for the one or more superblocks in the frame.

12

12. The method of claim 11 wherein the variable length code uses two bits to describe a second and a third most frequent size for the one or more superblocks in the frame.

13

13. The method of claim 1 wherein the variable length code defines a plurality of coding modes in a header of the frame, each of the coding modes defining a superblock size using two two-bit multiplier fields, a first one of the two-bit multiplier fields defining a number of macroblocks of a first dimension of a superblock and a second one of the two-bit multiplier fields defining a number of macroblocks of a second dimension of the superblock.

14

14. The method of claim 13 wherein determining the size of the superblock based on the header of the superblock and the variable length code comprises: reading one coding mode of the plurality of coding modes in the header of the superblock when the superblock has a size corresponding to the superblock sizes defined in the header of the frame; or reading two two-bit fixed length fields in the header of the superblock when the superblock has a size not corresponding to the superblock sizes defined in the header of the frame, a first one of the two-bit fixed length fields defining a number of macroblocks of a first dimension of the superblock and a second one of the two-bit fixed length fields defining a number of macroblocks of a second dimension of the superblock.

15

15. The method of claim 10 wherein the one or more superblocks have a maximum size limit.

16

16. An apparatus for encoding a video stream of frames, each frame having a plurality of macroblocks, the apparatus comprising: a memory; and a processor configured to execute instructions stored in the memory to: determine a motion vector predictor for one or more macroblocks of a frame; generate a residual error for the one or more macroblocks using the motion vector predictor; decide, based on the residual error, whether to encode the one or more macroblocks using direct prediction; combine those of the macroblocks to be encoded using direct prediction into at least one superblock, each superblock formed of at least two macroblocks to be encoded using direct prediction, wherein for a first macroblock to be encoded using direct prediction: define the first macroblock as a first superblock; determine whether an adjacent macroblock is to be encoded using direct prediction, and combine the adjacent macroblock with the first superblock when the adjacent macroblock is to be encoded using direct prediction and when the first superblock has not yet reached a predefined size limit; encode the at least one superblock using direct prediction into a bitstream; and include a variable length code in the bitstream that indicates a size of the at least one superblock.

17

17. The apparatus of claim 16 wherein the variable length code includes one bit to describe a most frequent size for the at least one superblock in the frame, two bits to describe a second most frequent size for the at least one superblock in the frame and two bits to describe a third most frequent size for the at least one superblock in the frame.

18

18. The apparatus of claim 16 wherein the processor is configured to: add a macroblock of the frame to a superblock when the macroblock is adjacent to another macroblock belonging to the superblock when a decision is made to encode the macroblock using direct prediction based on the residual error or a decision is made to encode the macroblock using other than direct prediction based on the residual error and a reduction in bits of encoding the macroblock as part of the superblock is at least equal to an increase in bits of encoding the macroblock as part of the superblock due to an increase in the residual error.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

August 9, 2012

Publication Date

May 3, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Variable-sized super block based direct prediction mode” (US-9332276). https://patentable.app/patents/US-9332276

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.