Adaptive composite intra prediction for image and video compression

US9628790B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9628790-B1
Application numberUS-201313733329-A
CountryUS
Kind codeB1
Filing dateJan 3, 2013
Priority dateJan 3, 2013
Publication dateApr 18, 2017
Grant dateApr 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for encoding a video stream with at least one frame having a plurality of blocks of pixels including a current block. The method includes identifying, peripheral to the current block, a first set of pixels and a second set of pixels in the at least one frame, wherein the first set of pixels has been coded; determining whether the second set of pixels has been coded; and determining, for the current block, a prediction block using the first set of pixels and the second set of pixels based on the determination of whether the second set of pixels has been coded.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for encoding a video stream with a plurality of frames, each frame having a plurality of blocks of pixels, the method comprising: identifying, peripheral to a current block of a current frame, pixels in the current frame; determining a prediction block using the pixels for use in an encoding process for the current block, such that a first prediction pixel value from the prediction block differs from a second prediction pixel value from the prediction block, wherein determining the prediction block includes: generating the first prediction pixel value based on a first pixel from a block to the left of the current block, a second pixel from a block above the current block, and a third pixel from a block above and to the left of the current block; on a condition that a fourth pixel from a block to the right of the current block is available for encoding the current block and on a condition that a fifth pixel from a block above and to the right of the current block is available for encoding the current block, generating the second prediction pixel value based on the fourth pixel, the fifth pixel, and a sixth pixel from the block above the current block; on a condition that the fourth pixel is unavailable for encoding the current block or on a condition that the fifth pixel is unavailable for encoding the current block, generating the second prediction pixel value based on the first pixel, the sixth pixel, and the third pixel; on a condition that a seventh pixel from a block below the current block is available for encoding the current block and on a condition that an eighth pixel from a block below and to the left of the current block is available for encoding the current block, generating a third prediction pixel value based on the seventh pixel, the eight pixel, and a ninth pixel from the block to the left of the current block; on a condition that the seventh pixel is unavailable for encoding the current block or on a condition that the eighth pixel is unavailable for encoding the current block, generating the third prediction pixel value based on the second pixel, the ninth pixel, and the third pixel; on a condition that a tenth pixel from the block below the current block is available for encoding the current block and on a condition that an eleventh pixel from a block below and to the right of the current block is available for encoding the current block and on a condition that a twelfth pixel from the block to the right of the current block is available for encoding the current block, generating a fourth prediction pixel value based on the tenth pixel, the eleventh pixel, and the twelfth pixel; and on a condition that the tenth pixel is unavailable for encoding the current block or on a condition that the eleventh pixel is unavailable for encoding the current block or on a condition that the twelfth pixel is unavailable for encoding the current block, generating the fourth prediction pixel value based on the sixth pixel, the ninth pixel, and the third pixel; wherein at least one of the fifth pixel, the eight pixel, or the eleventh pixel is available for encoding the current block. 2. The method of claim 1 , wherein determining the prediction block includes: generating the first prediction pixel value based on a weighted sum of the first pixel, the second pixel, and the third pixel; on the condition that the fourth pixel is available for encoding the current block and on the condition that the fifth pixel is available for encoding the current block, generating the second prediction pixel value based on a weighted sum of the fourth pixel, the fifth pixel, and the sixth pixel; on the condition that the fourth pixel is unavailable for encoding the current block or on the condition that the fifth pixel is unavailable for encoding the current block, generating the second prediction pixel value based on a weighted sum of the first pixel, the sixth pixel, and the third pixel; on the condition that the seventh pixel is available for encoding the current block and on the condition that the eighth pixel is available for encoding the current block, generating the third prediction pixel value based on a weighted sum of the seventh pixel, the eight pixel, and the ninth pixel; on the condition that the seventh pixel is unavailable for encoding the current block or on the condition that the eighth pixel is unavailable for encoding the current block, generating the third prediction pixel value based on a weighted sum of the second pixel, the ninth pixel, and the third pixel; on the condition that the tenth pixel is available for encoding the current block and on the condition that the eleventh pixel is available for encoding the current block and on the condition that the twelfth pixel is available for encoding the current block, generating the fourth prediction pixel value based on a weighted sum of the tenth pixel, the eleventh pixel, and the twelfth pixel; and on the condition that the tenth pixel is unavailable for encoding the current block or on the condition that the eleventh pixel is unavailable for encoding the current block or on the condition that the twelfth pixel is unavailable for encoding the current block, generating the fourth prediction pixel value based on a weighted sum of the sixth pixel, the ninth pixel, and the third pixel. 3. The method of claim 1 , further comprising: identifying, for the current block, a composite prediction mode. 4. The method of claim 3 , further comprising: encoding the composite prediction mode. 5. A method for decoding a video stream with a plurality of frames, each frame having a plurality of encoded blocks, the method comprising: identifying, peripheral to a current block of a current frame, pixels in the current frame; and determining a prediction block using the pixels for use in a decoding process for the current block, such that a first prediction pixel value from the prediction block differs from a second prediction pixel value from the prediction block, wherein determining the prediction block includes: generating the first prediction pixel value based on a first pixel from a block to the left of the current block, a second pixel from a block above the current block, and a third pixel from a block above and to the left of the current block; on a condition that a fourth pixel from a block to the right of the current block is available for decoding the current block and on a condition that a fifth pixel from a block above and to the right of the current block is available for decoding the current block, generating the second prediction pixel value based on the fourth pixel, the fifth pixel, and a sixth pixel from the block above the current block; on a condition that the fourth pixel is unavailable for decoding the current block or on a condition that the fifth pixel is unavailable for decoding the current block, generating the second prediction pixel value based on the first pixel, the sixth pixel, and the third pixel; on a condition that a seventh pixel from a block below the current block is available for decoding the current block and on a condition that an eighth pixel from a block below and to the left of the current block is available for decoding the current block, generating a third prediction pixel value based on the seventh pixel, the eight pixel, and a ninth pixel from the block to the left of the current block; on a condition that the seventh pixel is unavailable for decoding the current block or on a condition that the eighth pixel is unavailable for decoding the current block, generating the third prediction pixel value based on the second pixel, the ninth pixel, and the third pixel; on a condition that a tenth pixel from the block below the current block is available for decoding the current block and on a cond

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • H04N19/107Primary

    between spatial and temporal predictive coding, e.g. picture refresh · CPC title

  • H04N19/50Primary

    using predictive coding (H04N19/61 takes precedence) · CPC title

  • Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction · CPC title

  • the region being a block, e.g. a macroblock · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9628790B1 cover?
A method for encoding a video stream with at least one frame having a plurality of blocks of pixels including a current block. The method includes identifying, peripheral to the current block, a first set of pixels and a second set of pixels in the at least one frame, wherein the first set of pixels has been coded; determining whether the second set of pixels has been coded; and determining, fo…
Who is the assignee on this patent?
Xu Yaowu, Su Hui, Google Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/00569. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).