# US 8,787,685 B2 · Encoding and decoding an image or image sequence divided into pixel blocks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,787,685 B2
- Document ID: US8787685B2
- Status: Granted
- Kind: B2
- Application number: 12/918,963
- Filed: 2009-02-20
- Published: 2011-01-13
- Granted: 2014-07-22
- Earliest claimed: 2008-02-21
- Assignees: France Telecom
- Applicants: Isabelle Amonou; Stephane Pateux; Nathalie Cammas; Sylvain Kervadec
- Inventors: Isabelle Amonou; Stephane Pateux; Nathalie Cammas; Sylvain Kervadec
- Web page: https://patentgrep.com/patent/US8787685B2

## CPC

- H04N 19/126: Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/14: Coding unit complexity, e.g. amount of activity or edge presence estimation (H04N19/146 takes precedence)
- H04N 19/147: according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567)
- H04N 19/17: the unit being an image region, e.g. an object
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/177: the unit being a group of pictures [GOP]
- H04N 19/182: the unit being a pixel
- H04N 19/196: being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters (processing of motion vectors H04N19/513)
- H04N 19/20: using video object coding
- H04N 19/37: with arrangements for assigning different transmission priorities to video input data or to video coded data
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/463: by compressing encoding parameters before transmission
- H04N 19/503: involving temporal prediction (adaptive coding with adaptive selection between spatial and temporal predictive coding H04N19/107; adaptive coding with adaptive selection among a plurality of temporal predictive coding modes H04N19/109)
- H04N 19/527: Global motion vector estimation
- H04N 19/61: in combination with predictive coding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and apparatus are provided for coding an image or a sequence of images, generating a data stream including data representative of pixel groups, referred to as blocks, in one of the images. The method includes: grouping blocks in a cluster of blocks according to the proximity of their respective values corresponding to at least one block parameter to be coded; determining a value of the parameter, the value being characteristic of said group of blocks; coding blocks of the cluster, where the values of the blocks for the parameter are coded implicitly by inheritance of the characteristic value or are coded as refinements relative to the characteristic value, and coding a data structure associated with the cluster of blocks, the data structure including data associated with the characteristic value.

## Claims

### Claim 1

A coding method comprising:
coding, by a coding device, at least one image of a sequence of images, including grouping pixels of the at least one image into a plurality of blocks and generating a data stream that includes data representative of said blocks, wherein coding comprises:
grouping at least some of the plurality of blocks in a cluster of blocks according to proximity of their respective values corresponding to at least one block parameter to be coded;
determining a value characteristic of said cluster of blocks as a function of a respective value corresponding to the at least one block parameter to be coded of at least one block of said cluster of blocks;
coding each of the blocks of said cluster, where the values of said blocks for said block parameter are coded implicitly by inheritance of said characteristic value or are coded as refinements relative to said characteristic value; and
coding a data structure associated with said cluster of blocks, said data structure including data associated with said characteristic value.

### Claim 2 (depends on 1)

The coding method according to claim 1, wherein said characteristic value corresponds to the value of a particular one of the at least one block of said cluster of blocks for said parameter to be coded.

### Claim 3 (depends on 1)

The coding method according to claim 1, wherein in the block grouping step at least one sub-block of one of the blocks grouped in this way is not assigned to said cluster of blocks, and said step of coding the blocks of said cluster comprises coding partitioning information for said at least one block, which indicates the sub-blocks of said block assigned to said cluster, in said data structure or in said block during said step of coding blocks of said cluster.

### Claim 4 (depends on 1)

The coding method according to claim 1, wherein said cluster of blocks is associated with priority data for decoding the blocks of said cluster relative to other blocks or clusters of blocks of said image.

### Claim 5 (depends on 1)

The coding method according to claim 1, wherein said cluster of blocks is associated with time-to-live data corresponding to a plurality of successive images of said sequence of images, said data structure associated with said cluster being coded only once for said successive images.

### Claim 6

A method comprising:
decoding, by a decoding device, a data stream representative of at least one image of a sequence of images, said stream including data representative of pixel groups, referred to as blocks, in the at least one image, and a data structure associated with a set of said blocks referred to as a cluster of blocks, wherein decoding comprises:
decoding the data structure associated with the cluster of blocks, in which said blocks of said cluster have been grouped according to proximity of their respective values corresponding to at least one block coding parameter, and decoding at least one characteristic value of said cluster, said characteristic value corresponding to a function of a respective value corresponding to the at least one block coding parameter of at least one block of said cluster; and
decoding each of the blocks of said cluster, assigning to said block coding parameter either said characteristic value if said block coding parameter is not coded for said block or a refinement value of said characteristic value calculated from the value corresponding to said block coding parameter if said block coding parameter is coded for said block.

### Claim 7 (depends on 6)

The decoding method according to claim 6, wherein when the block to be decoded contains sub-blocks not assigned to said cluster and sub-blocks assigned to said cluster, said step of decoding said block is preceded by a step of decoding partitioning information for said block determining said sub-blocks of said block assigned to said cluster and during said step of decoding said block, the sub-blocks of said block not assigned to said cluster are decoded without using said characteristic value.

### Claim 8

A method comprising:
receiving with a decoding device a signal from a communication network, said signal carrying a data stream representative of at least one image of a sequence of images, wherein said stream includes data representative of pixel groups, referred to as blocks, in the at least one image, and a data structure associated with a set of said blocks referred to as a cluster of blocks;
decoding, with said decoding device, the data structure associated with the set of said blocks, in which said blocks of said cluster have been grouped according to proximity of their respective values corresponding to at least one block coding parameter, and decoding at least one characteristic value of said cluster, said characteristic value corresponding to a function of a respective value corresponding to the at least one block coding parameter of at least one block of said cluster; and
decoding each of the blocks of said cluster, assigning to said block coding parameter a refinement value of said characteristic value calculated from the decoded value corresponding to said block coding parameter for said cluster.

### Claim 9

A device for coding at least one image of a sequence of images generating a data stream including data representative of pixel groups, referred to as blocks, in the at least one image, the device including:
means for grouping at least some of the blocks into a cluster of blocks according to the proximity of their respective values corresponding to at least one block parameter to be coded;
means for determining a characteristic value of said cluster of blocks as a function of a respective value corresponding to the at least one block parameter to be coded of at least one block of said cluster of blocks;
means for coding a data structure associated with said cluster of blocks, said data structure including data associated with said characteristic value; and
means for coding each of the blocks of said cluster, including at least one of:
means for implicitly coding values of said blocks for said parameter by inheritance of said characteristic value; or
means for coding said values as refinements of said characteristic value.

### Claim 10

A device for decoding a data stream representing at least one image of a sequence of images, said stream including data representative of pixel groups, referred to as blocks, in the at least one image, the device comprising:
means for decoding a data structure included in the stream, associated with a set of said blocks referred to as a cluster of said blocks, in which at least some of said blocks have been grouped according to proximity of their respective values corresponding to at least one block coding parameter, and decoding at least one characteristic value of said cluster of blocks, said characteristic value corresponding to a function of a respective value corresponding to the at least one block coding parameter of at least one block of said cluster; and
means for decoding each of the blocks of said cluster, assigning to said block coding parameter either said characteristic value if said block coding parameter is not coded for said block or a refinement value of said characteristic value calculated from the value corresponding to said block coding parameter if said block coding parameter is coded for said block.

### Claim 11

A computer program stored on a non-transitory computer-readable medium and including instructions for executing a method of decoding a data stream representative of at least one image of a sequence of images, said data stream including data representative of pixel groups, referred to as blocks, in the at least one image, when the method is executed on a computer, wherein the method comprises the following steps performed by a decoding device:
decoding a data structure received in the data stream associated with a set of said blocks referred to as a cluster of blocks, in which said blocks of said cluster have been grouped according to proximity of their respective values corresponding to at least one block coding parameter, and decoding at least one characteristic value of said cluster of blocks received in the data stream, said characteristic value corresponding to a function of a respective value corresponding to the at least one block coding parameter of at least one block of said cluster; and
decoding each block of said cluster, assigning to said block coding parameter either said characteristic value if said parameter is not coded for said block or a refinement value of said characteristic value calculated from the value corresponding to said coded parameter if said parameter is coded for said block.

### Claim 12 (depends on 1)

The method of claim 1, wherein the at least one block parameter to be coded corresponds to at least one of movement, color, texture or orientation.

### Claim 13 (depends on 6)

The method of claim 6, wherein the at least one block coding parameter corresponds to at least one of movement, color, texture or orientation.

### Claim 14 (depends on 10)

The device of claim 10, wherein the at least one block parameter corresponds to at least one of movement, color, texture or orientation.

### Claim 15 (depends on 6)

The method of claim 6, wherein the step of decoding a block of said cluster, comprises assigning to said block coding parameter a refinement value of said characteristic value calculated from the decoded characteristic value corresponding to said block coding parameter for said cluster, wherein the refinement value for said block of the cluster is the difference between the characteristic value of the block coding parameter for the particular block and the characteristic value for the cluster of blocks.

### Claim 16 (depends on 6)

The method of claim 6, wherein the steps of decoding the data structure and decoding each of the blocks of the cluster permit at least one of the blocks in the cluster to be separated from and not adjoining others of the blocks in the cluster within the at least one image.

### Claim 17 (depends on 1)

The method of claim 1, wherein coding each of the blocks of said cluster includes identifying the cluster in which each of said blocks of said cluster belongs.

### Claim 18 (depends on 6)

The method of claim 6, wherein decoding each of the blocks of said cluster includes identifying the cluster in which each of said blocks of said cluster belongs.

### Claim 19 (depends on 8)

The method of claim 8, wherein decoding each of the blocks of said cluster includes identifying the cluster in which each of said blocks of said cluster belongs.

### Claim 20 (depends on 9)

The device of claim 9, wherein the means for coding each of the blocks of said cluster identifies the cluster in which each of said blocks of said cluster belongs.

### Claim 21 (depends on 10)

The device of claim 10, wherein the means for decoding each of the blocks of said cluster identifies the cluster in which each of said blocks of said cluster belongs.

### Claim 22 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein decoding each of the blocks of said cluster includes identifying the cluster in which each of said blocks of said cluster belongs.
