# US 2019/0174135 A1 · Channel line buffer data packing scheme for video codecs

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

- Number: US 2019/0174135 A1
- Document ID: US20190174135A1
- Status: Published application
- Kind: A1
- Application number: 16/252,231
- Filed: 2019-01-18
- Published: 2019-06-06
- Earliest claimed: 2015-08-28
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Shu Lin; Mang Li; Kai Wang; Atul Garg
- Web page: https://patentgrep.com/patent/US20190174135A1

## CPC

- H04N 19/15: by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
- H04N 19/152: by measuring the fullness of the transmission buffer
- H04N 19/423: characterised by memory arrangements (H04N19/433 takes precedence)
- H04N 19/433: characterised by techniques for memory access
- H04N 19/66: involving data partitioning, i.e. separation of data into packets or partitions according to importance
- H04N 19/88: involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Video pixel line buffers are widely used for data processing in video codecs. Video data may be packed into buffers configured to store a plurality of words, each word comprising a series of bits. The video data may be associated with two or more channels. In order to reduce realization costs, data blocks from two different channels may be packed from opposite sides of a word in the buffer in opposite directions. In some embodiments, data blocks from two or more physical channels may be mapped to two or more virtual channels, the virtual channels having balanced data block sizes. The data blocks associated with the virtual channels may then be packed to one or more buffers.

## Claims

### Claim 1

A method operable by a video coding circuit for packing video data, comprising:
receiving the video data from two or more physical channels, the video data comprising a plurality of data blocks;
mapping the data blocks from the physical channels to two or more virtual channels; and
packing data blocks of the virtual channels into at least one buffer, the at least one buffer configured to store a plurality of words, each word comprising a series of bits that extends between a first bit at a first side and last bit at a second side,
wherein the packing further comprises interleaving data blocks from a first virtual channel with data blocks from a second virtual channel via:
packing the data blocks from the first virtual channel in a first direction from the first side toward the second side; and
packing the data blocks from the second virtual channel in a second direction that is opposite of the first direction.

### Claim 2 (depends on 1)

The method of claim 1, wherein a first data block size of a first physical channel of the two or more physical channels is different from a second data block size of a second physical channel of the two or more physical channels.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving a request for one or more data blocks associated with a physical channel of the two or more physical channels;
unpacking virtual channel data from the one or more buffers;
mapping the virtual channel data to one or more physical channels; and
retrieving the requested data blocks through the physical channel.

### Claim 4 (depends on 1)

The method of claim 1, wherein a number of buffers used to pack data from the two or more virtual channels is based at least in part upon a ratio between a total bit count of the two or more physical channels and a number of word bits of a buffer of the one or more buffers.

### Claim 5 (depends on 1)

The method of claim 1, wherein each buffer of the one or more buffers is packed with data blocks from two virtual channels of the two or more virtual channels.

### Claim 6 (depends on 1)

The method of claim 1, wherein a bit count of the first virtual channel and a bit count of the second virtual channel are balanced such that they are identical or differ by one bit.

### Claim 7 (depends on 1)

The method of claim 1, wherein a bit count of a virtual channel is based at least in part upon a total bit count of the two or more physical channels and a number buffers of the one or more buffers.

### Claim 8

A video coding circuit for packing video data, comprising:
a memory configured to store the video data; and
a processor in communication with the memory and configured to:
receive the video data from two or more physical channels, the video data comprising a plurality of data blocks;
map the data blocks from the physical channels to two or more virtual channels; and
pack data blocks of the virtual channels into at least one buffer, the at least one buffer configured to store a plurality of words, each word comprising a series of bits that extends between a first bit at a first side and last bit at a second side,
wherein the data blocks from a first virtual channel and the data blocks from a second virtual channel of the two or more virtual channels are packed in an interleaving order, wherein the data blocks from the first virtual channel are packed in a first direction from the first side toward the second side, and the data blocks from the second virtual channel are packed in a second direction that is opposite of the first direction.

### Claim 9 (depends on 8)

The video coding circuit of claim 8, wherein a first data block size of a first physical channel of the two or more physical channels is different from a second data block size of a second physical channel of the two or more physical channels.

### Claim 10 (depends on 8)

The video coding circuit of claim 8, wherein the processor is further configured to:
receive a request for one or more data blocks associated with a physical channel of the two or more physical channels;
unpack virtual channel data from the one or more buffers;
map the virtual channel data to one or more physical channels; and
retrieve the requested data blocks through the physical channel.

### Claim 11 (depends on 8)

The video coding circuit of claim 8, wherein a number of buffers used to pack data from the two or more virtual channels is based at least in part upon a ratio between a total bit count of the two or more physical channels and a number of word bits of a buffer of the one or more buffers.

### Claim 12 (depends on 8)

The video coding circuit of claim 8, wherein each buffer of the one or more buffers is packed with data blocks from two virtual channels of the two or more virtual channels.

### Claim 13 (depends on 8)

The video coding circuit of claim 8, wherein a bit count of the first virtual channel and a bit count of the second virtual channel are balanced such that they are identical or differ by one bit.

### Claim 14 (depends on 8)

The video coding circuit of claim 8, wherein a bit count of a virtual channel is based at least in part upon a total bit count of the two or more physical channels and a number buffers of the one or more buffers.
