Double register array buffer for motion compensation
AssigneeSamsung Electronics Co., Ltd.
InventorsDoo-hyun Kim, Hyun-Sang Park, Si-hwa Lee, Do-hyung Kim
Life of this patent
Estimating the term…
Abstract
Provided are a method and apparatus for buffering image data for motion compensation. One of two buffers of a double register array buffer, i.e., a first buffer, is selected as a buffer in which data corresponding to a row of a block of an image is to be written and the other of the double register array buffer is selected as a buffer from which data corresponding to another row of the block is to be read, thereby speeding up motion compensation processing when compared with the use of a single register array buffer.
Claims18
A buffering method comprising:
- (a) selecting a first buffer from at least two buffers as a buffer in which data corresponding to a row of a block of an image is to be written, based on a signal indicating the state of each of the at least two buffers;
- (b) selecting a second buffer, corresponding to an address, from the at least two buffers as a buffer from which data corresponding to another row of the block of the image is to be read;
- and
- (c) writing the data corresponding to the row of the block of the image in the first buffer and outputting the data corresponding to the other row of the block of the image stored in the second buffer according to the selections made in (a) and (b);
- and
- performing horizontal padding by freezing the address,
- wherein the signal indicating the state of each of the at least two buffers comprises at least two bits.
A buffering method comprising:
- (a) selecting a first buffer from at least two buffers as a buffer in which data corresponding to a row of a block of an image is to be written;
- (b) selecting a second buffer from the at least two buffers as a buffer from which data corresponding to another row of the block of the image is to be read;
- (c) writing the data corresponding to the row of the block of the image in the first buffer and outputting the data corresponding to the other row of the block of the image stored in the second buffer according to the selections made in (a) and (b);
- and
- (d) performing horizontal padding by freezing an address of a register in which the data to be read by an external device is written, based on a result of summing up a horizontal-direction value of a motion vector and a count of one or more pixels that have been read from the row in a horizontal direction.
A buffering method comprising:
- (a) selecting a first buffer from at least two buffers as a buffer in which data corresponding to a row of a block of an image is to be written;
- (b) selecting a second buffer from the at least two buffers as a buffer from which data corresponding to another row of the block of the image is to be read;
- (c) writing the data corresponding to the row of the block of the image in the first buffer and outputting the data corresponding to the other row of the block of the image stored in the second buffer according to the selections made in (a) and (b);
- and
- (d) performing vertical padding by freezing the data stored in the second buffer based on a result of summing up a vertical-direction value of a motion vector and a count of one or more rows that have been read from a block.
A buffer comprising:
- a write finite state machine (FSM) selecting a first buffer from at least two buffers as a buffer in which data corresponding to a row of a block of an image is to be written, based on a signal indicating the state of each of the at least two buffers;
- a read FSM selecting a second buffer, corresponding to an address, from the at least two buffers as a buffer from which data corresponding to another row of the block of the image is to be read;
- and
- a first-input first-out (FIFO) module writing the data corresponding to the row of the block of the image in the first buffer and outputting the data corresponding to the other row of the block of the image stored in the second buffer according to the selections made by the write FSM and the read FSM,
- wherein the signal indicating the state of each of the at least two buffers comprises at least two bits, and
- the read FSM performs horizontal padding by freezing the address.
A buffer comprising:
- a write finite state machine (FSM) selecting a first buffer from at least two buffers as a buffer in which data corresponding to a row of a block of an image is to be written;
- a read FSM selecting a second buffer from the at least two buffers as a buffer from which data corresponding to another row of the block of the image is to be read;
- and
- a first-input first-out (FIFO) module writing the data corresponding to the row of the block of the image in the first buffer and outputting the data corresponding to the other row of the block of the image stored in the second buffer according to the selections made by the write FSM and the read FSM,
- wherein the read FSM performs horizontal padding by freezing an address of a register in which the data to be read by an external device is written, based on a result of summing up a horizontal-direction value of a motion vector and a count of one or more pixels that have been read from the row in a horizontal direction.
A buffer comprising:
- a write finite state machine (FSM) selecting a first buffer from at least two buffers as a buffer in which data corresponding to a row of a block of an image is to be written;
- a read FSM selecting a second buffer from the at least two buffers as a buffer from which data corresponding to another row of the block of the image is to be read;
- and
- a first-input first-out (FIFO) module writing the data corresponding to the row of the block of the image in the first buffer and outputting the data corresponding to the other row of the block of the image stored in the second buffer according to the selections made by the write FSM and the read FSM,
- wherein the read FSM performs vertical padding by freezing the data stored in the second buffer based on a result of summing up a vertical-direction value of a motion vector and a count of one or more rows that have been read from a block.
Dependencies are inferred from the claim text.