Patentable/Patents/US-9270999
US-9270999

Delayed chroma processing in block processing pipelines

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A block processing pipeline in which macroblocks are input to and processed according to row groups so that adjacent macroblocks on a row are not concurrently at adjacent stages of the pipeline. The input method may allow chroma processing to be postponed until after luma processing. One or more upstream stages of the pipeline may process luma elements of each macroblock to generate luma results such as a best mode for processing the luma elements. Luma results may be provided to one or more downstream stages of the pipeline that process chroma elements of each macroblock. The luma results may be used to determine processing of the chroma elements. For example, if the best mode for luma is an intra-frame mode, then a chroma processing stage may determine a best intra-frame mode for chroma and reconstruct the chroma elements according to the best chroma intra-frame mode.

Patent Claims
20 claims

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

1

1. An apparatus, comprising: a block processing pipeline comprising a plurality of stages, each stage configured to perform one or more operations on a macroblock of pixels passing through the pipeline, wherein each macroblock includes at least one block of luma elements and at least one block of chroma elements; wherein the apparatus is configured to process macroblocks of pixels from a current frame in the block processing pipeline so that adjacent macroblocks on a row are not concurrently at adjacent stages of the pipeline; and wherein the block processing pipeline is configured to: process luma elements of a current macroblock at one or more upstream luma processing stages of the pipeline; and process chroma elements of the current macroblock at one or more downstream chroma processing stages of the pipeline according to results of said processing the luma elements of the current macroblock at the one or more upstream luma processing stages.

2

2. The apparatus as recited in claim 1 , wherein the one or more luma processing stages include a luma intra-frame estimation stage configured to determine a best intra-frame mode for the current macroblock according to neighbor luma elements from one or more neighbor macroblocks of the current macroblock in the current frame and output the determined best intra-frame mode to a mode decision stage in the pipeline.

3

3. The apparatus as recited in claim 2 , wherein the neighbor luma elements include left neighbor luma elements from a left neighbor macroblock of the current macroblock received from a downstream luma reconstruction stage configured to reconstruct luma elements of the left neighbor block according to input from one or more upstream stages and feed back reconstructed luma elements from the reconstructed left neighbor macroblock to the intra-frame estimation stage.

4

4. The apparatus as recited in claim 2 , wherein the one or more luma processing stages include a luma inter-frame estimation stage configured to determine a best inter-frame mode for the current macroblock according to luma elements from one or more previously processed reference frames for the current frame and output the determined best inter-frame mode to the mode decision stage in the pipeline.

5

5. The apparatus as recited in claim 4 , wherein the mode decision stage is configured to: receive input from one or more upstream stages of the pipeline including best intra-frame mode from the luma intra-frame estimation stage and best inter-frame mode from the luma inter-frame estimation stage; determine a best mode for the current macroblock according to the received input; and output at least the determined best mode to one or more downstream stages of the pipeline.

6

6. The apparatus as recited in claim 5 , wherein the one or more luma processing stages include a luma motion compensation stage and a luma reconstruction stage downstream to the mode decision stage, wherein the luma motion compensation stage and the luma reconstruction stage are configured to perform motion compensation and reconstruction of luma elements of the current macroblock according to results of the mode decision stage.

7

7. The apparatus as recited in claim 5 , wherein the one or more chroma processing stages include a chroma motion compensation stage and a chroma reconstruction stage downstream to the mode decision stage, wherein the chroma motion compensation stage and the chroma reconstruction stage are configured to perform motion compensation and reconstruction of chroma elements of the current macroblock according to results of the mode decision stage.

8

8. The apparatus as recited in claim 5 , wherein, to process chroma elements of the current macroblock, the one or more chroma processing stages are configured to: determine that the best mode received from the mode decision stage is an intra-frame mode; and in response to said determining: perform intra-frame estimation for the chroma elements of the current macroblock to determine a best intra-frame mode for chroma; and perform chroma reconstruction for the current macroblock according to the determined intra-frame mode for chroma.

9

9. The apparatus as recited in claim 1 , wherein the rows of macroblocks are separated into a plurality of row groups each including two or more rows, wherein input of the macroblocks to the block processing pipeline is constrained on row group boundaries, wherein, after inputting a macroblock on a bottom row of a row group, a next macroblock is input from a top row of the row group.

10

10. A method, comprising: inputting macroblocks of pixels from a current frame to a block processing pipeline, wherein the pipeline includes a plurality of stages each configured to perform one or more operations on a macroblock, wherein said inputting the macroblocks spaces the macroblocks in the pipeline so that adjacent macroblocks on a row are not concurrently at adjacent stages of the pipeline, and wherein each macroblock includes at least one block of luma elements and at least one block of chroma elements; for each input macroblock: processing luma elements of the macroblock at one or more luma processing stages of the pipeline to generate luma processing results; processing chroma elements of the macroblock at one or more chroma processing stages of the pipeline according to said luma processing results; and outputting the processed macroblock to a memory.

11

11. The method as recited in claim 10 , wherein said processing luma elements of the macroblock at one or more luma processing stages of the pipeline to generate luma processing results comprises determining, by a luma intra-frame estimation stage, a best intra-frame mode for the macroblock according to neighbor luma elements from one or more previously processed neighbor macroblocks in the current frame.

12

12. The method as recited in claim 11 , wherein said processing luma elements of the macroblock at one or more luma processing stages of the pipeline to generate luma processing results further comprises determining, by a mode decision stage, a best mode for reconstructing the macroblock according to input received from one or more upstream stages including the best intra-frame mode received from the luma intra-frame estimation stage.

13

13. The method as recited in claim 12 , wherein said processing luma elements of the macroblock at one or more luma processing stages of the pipeline to generate luma processing results further comprises performing, by at least one of the one or more luma processing stages, motion compensation and reconstruction of luma elements of the macroblock according to results of the mode decision stage.

14

14. The method as recited in claim 12 , wherein said processing chroma elements of the macroblock at one or more chroma processing stages of the pipeline according to said luma processing results comprises performing, by the one or more chroma processing stages, motion compensation and reconstruction of chroma elements of the macroblock according to results of the mode decision stage.

15

15. The method as recited in claim 12 , wherein said processing chroma elements of the macroblock at one or more chroma processing stages of the pipeline according to said luma processing results comprises: determining, by the one or more chroma processing stages, that the best mode received from the mode decision stage is an intra-frame mode; and in response to said determining: performing, by the one or more chroma processing stages, intra-frame estimation for the chroma elements of the macroblock to determine a best intra-frame mode for chroma; and performing, by the one or more chroma processing stages, chroma reconstruction for the macroblock according to the determined intra-frame mode for chroma.

16

16. A device, comprising: a memory; and an apparatus configured to process video frames and to store the processed video frames as frame data to the memory, the apparatus comprising a block processing pipeline that implements a plurality of stages each configured to perform one or more operations on a macroblock of pixels from a frame passing through the pipeline, wherein each macroblock includes at least one block of luma elements and at least one block of chroma elements; wherein each frame is subdivided into rows and columns of macroblocks of pixels, wherein the apparatus is configured to input the macroblocks of pixels from each frame to the block processing pipeline so that adjacent macroblocks on a row are not concurrently at adjacent stages of the pipeline; wherein one or more luma processing stages of the pipeline are configured to process luma elements of a macroblock to generate luma processing results for the macroblock; and wherein one or more chroma processing stages of the pipeline are configured to process chroma elements of the macroblock according to said luma processing results for the macroblock.

17

17. The device as recited in claim 16 , wherein, to process luma elements of a macroblock to generate luma processing results for the macroblock, the one or more luma processing stages are configured to determine a best mode for reconstructing the luma elements of the macroblock, wherein the best mode is one of an intra-frame mode determined according to neighbor luma elements from one or more previously processed neighbor macroblocks in the current frame or an inter-frame mode for the current macroblock determined according to luma elements from one or more previously processed reference frames.

18

18. The device as recited in claim 17 , wherein, to process luma elements of a macroblock to generate luma processing results for the macroblock, the one or more luma processing stages are configured to perform motion compensation and reconstruction of luma elements of the macroblock according to the determined best mode.

19

19. The device as recited in claim 17 , wherein, to process chroma elements of the macroblock according to said luma processing results for the macroblock, the one or more chroma processing stages are configured to perform motion compensation and reconstruction of chroma elements of the macroblock according to the determined best mode.

20

20. The device as recited in claim 17 , wherein, to process chroma elements of the macroblock according to said luma processing results for the macroblock, the one or more chroma processing stages are configured to: determine that the best mode is an intra-frame mode; and in response to said determining: perform intra-frame estimation for the chroma elements of the macroblock to determine an intra-frame mode for chroma; and perform chroma reconstruction for the macroblock according to the determined intra-frame mode for chroma.

Classification Codes (CPC)

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

Patent Metadata

Filing Date

September 25, 2013

Publication Date

February 23, 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. “Delayed chroma processing in block processing pipelines” (US-9270999). https://patentable.app/patents/US-9270999

© 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.