# US 11,451,776 B2 · Processing a video frame having slices and tiles

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

- Number: US 11,451,776 B2
- Document ID: US11451776B2
- Status: Granted
- Kind: B2
- Application number: 17/020,595
- Filed: 2020-09-14
- Published: 2020-12-31
- Granted: 2022-09-20
- Earliest claimed: 2011-07-11
- Assignees: Velos Media, LLC
- Applicants: Velos Media, LLC
- Inventors: Kiran Misra; Christopher Segall
- Web page: https://patentgrep.com/patent/US11451776B2

## CPC

- H04N 19/124: Quantisation
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/43: Hardware specially adapted for motion estimation or compensation
- H04N 19/436: using parallelised computational arrangements
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/513: Processing of motion vectors
- H04N 19/55: Motion estimation with spatial constraints, e.g. at image or region borders
- H04N 19/61: in combination with predictive coding
- H04N 19/615: using motion compensated temporal filtering [MCTF]
- H04N 19/63: using sub-band based transform, e.g. wavelets
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N 19/172: the region being a picture, frame or field
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for decoding video includes receiving a frame of the video that includes at least one slice and at least one time. Each of the at least one slice and the at least one tile are not all aligned with one another. Each of the at least one slice is characterized that it is decoded independently of the other the at least one slice. Each of the at least one tile is characterized that it is a rectangular region of the frame and having coding units for the decoding arranged in a raster scan order. The at least one tile of the frame are collectively arranged in a raster scan order of the frame.

## Claims

### Claim 1

A method for decoding a video frame, the method comprising:
(a) receiving a bit-stream representative of the video frame which comprises a plurality of slices and a plurality of tiles, whereby, a tile is a rectangular region of the video frame which includes a plurality of rows of coding units arranged in a raster scan order;
(b) decoding a first syntax element from a picture parameter set of the video frame, the first syntax element indicating whether or not tiles are enabled for the video frame;
(c) decoding, in a case when the first syntax element indicates tiles are enabled for the video frame, a second syntax element from a slice header of at least one slice of the plurality of slices, indicating whether or not bit-stream location information of at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;
(d) decoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element from the slice header, the third syntax element indicating a bit-depth for a bit-stream location value, whereby the bit-depth represents the number of bits necessary to identify a largest bit-stream location value of any tile of the plurality of tiles;
(e) decoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit-depth for a bit-stream location value, a fourth syntax element from the slice header, the fourth syntax element indicating a bit-stream location of a tile of the plurality of tiles; and,
(f) decoding the video frame based at least in part on the fourth syntax element.

### Claim 2 (depends on 1)

The method of claim 1, wherein the fourth syntax element indicates a byte location of the tile in the bit-stream.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
decoding the tile by decoding the plurality of rows of coding units in the tile in the raster scan order.

### Claim 4

A decoding device for decoding video comprising: circuitry configured to:
(a) receive a bit-stream representative of the video frame which comprises a plurality of slices and a plurality of tiles, whereby, a tile is a rectangular region of the video frame which includes a plurality of rows of coding units arranged in a raster scan order;
(b) decode a first syntax element from a picture parameter set of the video frame, the first syntax element indicating whether or not tiles are enabled for the video frame;
(c) decode, in a case when the first syntax element indicates tiles are enabled for the video frame, a second syntax element from a slice header of at least one slice of the plurality of slices, indicating whether or not bit-stream location information of at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;
(d) decode, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element from the slice header, the third syntax element indicating a bit-depth for a bit-stream location value, whereby the bit-depth represents the number of bits necessary to identify a largest bit-stream location value of any tile of the plurality of tiles;
(e) decode, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header, and based on the third syntax element, a fourth syntax element from the slice header, the fourth syntax element indicating a bit-stream location of a tile of the plurality of tiles; and,
(f) decode the video frame based at least in part on the fourth syntax element.

### Claim 5 (depends on 4)

The decoding device of claim 4, wherein the fourth syntax element indicates a byte location of the tile in the bit-stream.

### Claim 6 (depends on 4)

The decoding device of claim 4, wherein the circuitry is further configured to:
decode the tile by decoding the plurality of rows of coding units included in the tile in the raster scan order.

### Claim 7

A non-transitory computer readable medium storing instructions which when executed cause a computer to perform a method, the method comprising:
(a) receiving a bit-stream representative of the video frame which comprises a plurality of slices and a plurality of tiles, whereby, a tile is a rectangular region of the video frame which includes a plurality of rows of coding units arranged in a raster scan order;
(b) decoding a first syntax element from a picture parameter set of the video frame, the first syntax element indicating whether or not tiles are enabled for the video frame;
(c) decoding, in a case when the first syntax element indicates tiles are enabled for the video frame, a second syntax element from a slice header of at least one slice of the plurality of slices, indicating whether or not bit-stream location information of at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;
(d) decoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element from the slice header, the third syntax element indicating a bit-depth for a bit-stream location value, whereby the bit-depth represents the number of bits necessary to identify a largest bit-stream location value of any tile of the plurality of tiles;
(e) decoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit-depth for a bit-stream location value, a fourth syntax element from the slice header, the fourth syntax element indicating a bit-stream location of a tile of the plurality of tiles; and,
(f) decoding the video frame based at least in part on the fourth syntax element.

### Claim 8 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the fourth syntax element indicates a byte location of the tile in the bit-stream.

### Claim 9 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the method further comprises:
decoding the tile by decoding the plurality of rows of coding units in the tile in the raster scan order.

### Claim 10

A method for encoding a video frame, the method comprising generating a bit-stream representative of the video frame where the video frame comprises a plurality of slices and a plurality of tiles, and whereby a tile is a rectangular region of the video frame which includes a plurality of rows of coding units arranged in a raster scan order, and the method further comprising:
(a) encoding a first syntax element into a picture parameter set portion of the bitstream, the first syntax element indicating whether or not tiles are enabled for the video frame;
(b) encoding, in a case when the first syntax element indicates tiles are enabled for the video frame, a second syntax element into a portion of the bitstream corresponding to a slice header of at least one slice of the plurality of slices, the second syntax element indicating whether or not bit-stream location information of at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;
(c) encoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header of the slice, a third syntax element into the slice header portion of the bitstream, the third syntax element indicating a bit-depth for a bit-stream location value, whereby the bit-depth represents the number of bits necessary to identify a largest bit-stream location value of any tile of the plurality of tiles;
(d) encoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header of the slice, and based on the bit-depth for a bit-stream location value, a fourth syntax element into the slice header portion of the bitstream, the fourth syntax element indicating a bit-stream location of a tile of the plurality of tiles; and,
(e) encoding the video frame.

### Claim 11 (depends on 10)

The method of claim 10, wherein the fourth syntax element indicates a byte location of the tile in the bit-stream.

### Claim 12 (depends on 10)

The method of claim 10 further comprising:
encoding the video frame by encoding the plurality of rows of coding units in each tile of the video frame in the raster scan order.

### Claim 13

An encoding device for encoding video comprising:
circuitry configured to generate a bit-stream representative of the video frame where the video frame comprises a plurality of slices and a plurality of tiles, and whereby a tile is a rectangular region of the video frame which includes a plurality of rows of coding units arranged in a raster scan order, and the circuitry being further configured to:
(a) encode a first syntax element into a picture parameter set portion of the bitstream, the first syntax element indicating whether or not tiles are enabled for the video frame;
(b) encode, in a case when the first syntax element indicates tiles are enabled for the video frame, a second syntax element into a portion of the bitstream corresponding to a slice header of at least one slice of the plurality of slices, the second syntax element indicating whether or not bit-stream location information of at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;
(c) encode, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header of the slice, a third syntax element into the slice header portion of the bitstream, the third syntax element indicating a bit-depth for a bit-stream location value, whereby the bit-depth represents the number of bits necessary to identify a largest bit-stream location value of any tile of the plurality of tiles;
(d) encode, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header of the slice, and based on the bit-depth for a bit-stream location value, a fourth syntax element into the slice header portion of the bitstream, the fourth syntax element indicating a bit-stream location of a tile of the plurality of tiles; and,
(e) encode the video frame.

### Claim 14 (depends on 13)

The encoding device of claim 13, wherein the fourth syntax element indicates a byte location of the tile in the bit-stream.

### Claim 15 (depends on 13)

The encoding device of claim 13, wherein the circuitry is further configured to:
encode the video frame by encoding the plurality of rows of coding units included in each tile of the video frame in the raster scan order.

### Claim 16

A non-transitory computer readable medium storing instructions which when executed cause a computer to perform a method, the method comprising generating a bit-stream representative of the video frame where the video frame comprises a plurality of slices and a plurality of tiles, and whereby a tile is a rectangular region of the video frame which includes a plurality of rows of coding units arranged in a raster scan order, and the method further comprising:
(a) encoding a first syntax element into a picture parameter set portion of the bitstream, the first syntax element indicating whether or not tiles are enabled for the video frame;
(b) encoding, in a case when the first syntax element indicates tiles are enabled for the video frame, a second syntax element into a portion of the bitstream corresponding to a slice header of at least one slice of the plurality of slices, the second syntax element indicating whether or not bit-stream location information of at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;
(c) encoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header of the slice, a third syntax element into the slice header portion of the bitstream, the third syntax element indicating a bit-depth for a bit-stream location value, whereby the bit-depth represents the number of bits necessary to identify a largest bit-stream location value of any tile of the plurality of tiles;
(d) encoding, in a case when the second syntax element indicates bit-stream location of at least one tile of the plurality of tiles is transmitted in the slice header of the slice, and based on the bit-depth for a bit-stream location value, a fourth syntax element into the slice header portion of the bitstream, the fourth syntax element indicating a bit-stream location of a tile of the plurality of tiles; and,
(e) encoding the video frame.

### Claim 17 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the fourth syntax element indicates a byte location of the tile in the bit-stream.

### Claim 18 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the method further comprises:
encoding the video frame by encoding the plurality of rows of coding units in each tile in the video frame in the raster scan order.
