Patentable/Patents/US-9271012
US-9271012

Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto

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

A method of coding at least one image comprising the steps of splitting the image into a plurality of blocks, of grouping said blocks into a predetermined number of subsets of blocks, of coding each of said subsets of blocks in parallel, the blocks of a subset considered being coded according to a predetermined sequential order of traversal. The coding step comprises, for a current block of a subset considered, the sub-step of predictive coding of said current block with respect to at least one previously coded and decoded block, and the sub-step of entropy coding of said current block on the basis of at least one probability of appearance of a symbol.

Patent Claims
20 claims

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

1

1. A computer-implemented method comprising: receiving a stream representative of at least one coded image; identifying, from the stream, a predetermined plurality of groups of blocks; providing each group of blocks to a first decoding unit; and processing, by the first decoding unit, a first block in a given group of blocks, wherein the processing of the first block comprises: determining that the first block is first in an order of blocks in the given group of blocks; in response to determining that the first block is first in the order of blocks in the given group of blocks, retrieving a first set of probability data from a buffer, wherein the first set of probability data comprises a first set of probabilities of occurrence of symbols associated with a block that is situated immediately adjacent to the first block and that belongs to another group of blocks that is different from the given group of blocks in the predetermined plurality of groups of blocks; entropy decoding the first block based on the first set of probability data; and processing, by the first decoding unit, a second block in the given group of blocks, wherein the processing of the second block comprises: determining that the second block is not first in the order of blocks in the given group of blocks; in response to determining that the second block is not first in the order of blocks in the given group of blocks, retrieving a second set of probability data from a memory unit, wherein the second set of probability data comprises a second set of probabilities of occurrence of symbols associated with at least one other already decoded block belonging to the given group of blocks in the predetermined plurality of groups of blocks, wherein the second set of probabilities of occurrence of symbols are not associated with blocks that do not belong to the given subset of blocks; and entropy decoding the second block based on the second set of probability data.

2

2. The computer-implemented method of claim 1 comprising: generating a third set of probability data based on the second set of probability data and data about the second block; and replacing the second set of probability data in the memory unit with the third set of probability data.

3

3. The computer-implemented method of claim 1 wherein: entropy decoding the first block based on the first set of probability data comprises entropy decoding the first block based on the first set of probability data using a context-adaptive binary arithmetic coding (CABAC) algorithm; and entropy decoding the second block based on the second set of probability data comprises entropy decoding the second block based on the second set of probability data using the CABAC algorithm.

4

4. The computer-implemented method of claim 1 comprising: generating a third set of probability data based on the first set of probability data and data about the first block; storing the third set of probability data to the memory unit and using at least the third set of probability data to generate the second set of probability data.

5

5. The computer-implemented method of claim 1 comprising: predictive decoding of each of the plurality of blocks with respect to at least one previously decoded block.

6

6. The computer-implemented method of claim 1 comprising: processing, by the first decoding unit, a third block in the given group of blocks, wherein the processing of the third block comprises: retrieving a third set of probability data from the memory unit, wherein the third set of probability data comprises a third set of probabilities of occurrence of symbols associated with blocks in the predetermined plurality of groups of blocks, and wherein the third set of probability data is determined based at least on the second set of probability data; and entropy decoding the third block based on the third set of probability data.

7

7. The method of claim 1 , wherein the processing of the second block comprises: after entropy decoding the second block: determining a third set of probability data; determining whether the second block is ordered as a particular number in the order of blocks in the given group of blocks; in response to determining that the second block is ordered as the particular number in the order of blocks in the given group of blocks, storing the third set of probability data in the buffer, the stored third set of probability data for entropy decoding another block that is first in an order of blocks in another group of blocks; and in response to determining that the second block is not ordered as the particular number in the order of blocks in the given group of blocks, storing the third set of probability data in the memory unit the stored third set of probability data for entropy decoding, by the first decoding unit, another block that is next to the particular number in the order of blocks in the given group of blocks.

8

8. The method of claim 7 , wherein the particular number is first in the order of blocks in the given group of blocks.

9

9. The method of claim 7 , wherein the particular number is second in the order of blocks in the given group of blocks.

10

10. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving a stream representative of at least one coded image; identifying, from the stream, a predetermined plurality of groups of blocks; providing each group of blocks to a first decoding unit; and processing, by the first decoding unit, a first block in a given group of blocks, wherein the processing of the first block comprises: determining that the first block is first in an order of blocks in the given group of blocks; in response to determining that the first block is first in the order of blocks in the given group of blocks, retrieving a first set of probability data from a buffer, wherein the first set of probability data comprises a first set of probabilities of occurrence of symbols associated with a block that is situated immediately adjacent to the first block and that belongs to another group of blocks that is different from the given group of blocks in the predetermined plurality of groups of blocks; entropy decoding the first block based on the first set of probability data; and processing, by the first decoding unit, a second block in the given group of blocks, wherein the processing of the second block comprises: determining that the second block is not first in the order of blocks in the given group of blocks; in response to determining that the second block is not first in the order of blocks in the given group of blocks, retrieving a second set of probability data from a memory unit, wherein the second set of probability data comprises a second set of probabilities of occurrence of symbols associated with at least one other already decoded block belonging to the given group of blocks in the predetermined plurality of groups of blocks, wherein the second set of probabilities of occurrence of symbols are not associated with blocks that do not belong to the given subset of blocks; and entropy decoding the second block based on the second set of probability data.

11

11. The system of claim 10 , wherein the operations further comprise: generating a third set of probability data based on the second set of probability data and data about the second block; and replacing the second set of probability data in the memory unit with the third set of probability data.

12

12. The system of claim 10 , wherein: entropy decoding the first block based on the first set of probability data comprises entropy decoding the first block based on the first set of probability data using a context-adaptive binary arithmetic coding (CABAC) algorithm; and entropy decoding the second block based on the second set of probability data comprises entropy decoding the second block based on the second set of probability data using the CABAC algorithm.

13

13. The system of claim 10 , wherein the operations further comprise: generating a third set of probability data based on the first set of probability data and data about the first block; storing the third set of probability data to the memory unit and using at least the third set of probability data to generate the second set of probability data.

14

14. The system of claim 10 , wherein the operations further comprise: predictive decoding of each of the plurality of blocks with respect to at least one previously decoded block.

15

15. The system of claim 10 , wherein the operations further comprise: processing, by the first decoding unit, a third block in the given group of blocks, wherein the processing of the third block comprises: retrieving a third set of probability data from the memory unit wherein the third set of probability data comprises a third set of probabilities of occurrence of symbols associated with blocks in the predetermined plurality of groups of blocks, and wherein the third set of probability data is determined based at least on the second set of probability data; and entropy decoding the third block based on the third set of probability data.

16

16. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising: receiving a stream representative of at least one coded image; identifying, from the stream, a predetermined plurality of groups of blocks; providing each group of blocks to a first decoding unit; and processing, by the first decoding unit, a first block in a given group of blocks, wherein the processing of the first block comprises: determining that the first block is first in an order of blocks in the given group of blocks; in response to determining that the first block is first in the order of blocks in the given group of blocks, retrieving a first set of probability data from a buffer, wherein the first set of probability data comprises a first set of probabilities of occurrence of symbols associated with a block that is situated immediately adjacent to the first block and that belongs to another group of blocks that is different from the given group of blocks in the predetermined plurality of groups of blocks; entropy decoding the first block based on the first set of probability data; and processing, by the first decoding unit, a second block in the given group of blocks, wherein the processing of the second block comprises: determining that the second block is not first in the order of blocks in the given group of blocks; in response to determining that the second block is not first in the order of blocks in the given group of blocks, retrieving a second set of probability data from a memory unit, wherein the second set of probability data comprises a second set of probabilities of occurrence of symbols associated with at least one other already decoded block belonging to the given group of blocks in the predetermined plurality of groups of blocks, wherein the second set of probabilities of occurrence of symbols are not associated with blocks that do not belong to the given subset of blocks; and entropy decoding the second block based on the second set of probability data.

17

17. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise: generating a third set of probability data based on the second set of probability data and data about the second block; and replacing the second set of probability data in the memory unit with the third set of probability data.

18

18. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise: generating a third set of probability data based on the first set of probability data and data about the first block; and replacing the first set of probability data in the buffer with the third set of probability data.

19

19. The non-transitory computer-readable medium of claim 16 , wherein: entropy decoding the first block based on the first set of probability data comprises entropy decoding the first block based on the first set of probability data using a context-adaptive binary arithmetic coding (CABAC) algorithm; and entropy decoding the second block based on the second set of probability data comprises entropy decoding the second block based on the second set of probability data using the CABAC algorithm.

20

20. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise: processing, by the first decoding unit, a third block in the given group of blocks, wherein the processing of the third block comprises: retrieving a third set of probability data from the memory unit, wherein the third set of probability data comprises a third set of probabilities of occurrence of symbols associated with blocks in the predetermined plurality of groups of blocks, and wherein the third set of probability data is determined based at least on the second set of probability data; and entropy decoding the third block based on the third set of probability data.

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 22, 2014

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. “Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto” (US-9271012). https://patentable.app/patents/US-9271012

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