Abstract:
A method and apparatus for deblocking process using multiple processing units are disclosed. The video image is divided into at least two regions. The in-loop filter is applied to block boundaries associated with said at least two regions using multiple processing units. The in-loop filter is re-applied to one or more second block boundaries adjacent to region edge between two regions after applying the in-loop filter to the first block boundaries adjacent to the region edge. Furthermore, at least a first portion of said applying the in-loop filter to the first block boundaries and a second portion of said applying the in-loop filter to the second block boundaries are performed concurrently. The multiple processing units may correspond to multiple processing cores within one processor chip.
Abstract:
A video processing apparatus includes an external storage device, a hardware entropy engine, and a software execution engine. The hardware entropy engine performs entropy processing of a current picture, and further outputs count information to the external storage device during the entropy processing of the current picture. When loaded and executed by the software execution engine, a software program instructs the software execution engine to convert the count information into count table contents, and generate a count table in the external storage device according to at least the count table contents. The count table is referenced to apply a backward adaptation to a probability table that is selectively used by the hardware entropy engine to perform entropy processing of a next picture.
Abstract:
A buffer write method for a buffer, including a plurality of M-bit storage units, has following steps: obtaining pixel data of a plurality of first N-bit pixels of a picture; calculating a corresponding start address of the buffer for the pixel data of the first N-bit pixels; and storing the first N-bit pixels of the picture according to the calculated start address of the buffer in the M-bit storage units by a buffer controller. The storing step includes fully storing at least one of the first N-bit pixels in one of the M-bit storage units storage units, wherein M and N are positive integers, and M is not divisible by N.
Abstract:
A hybrid video decoding apparatus has a hardware entropy decoder and a storage device. The hardware entropy decoder performs hardware entropy decoding to generate an entropy decoding result of a picture. The storage device has a plurality of storage areas allocated to buffer a plurality of entropy-decoded partial data, respectively, and is further arranged to store position information indicative of storage positions of the entropy-decoded partial data in the storage device. The entropy-decoded partial data are derived from the entropy decoding result of the picture, and are associated with a plurality of portions of the picture, respectively.
Abstract:
A method and apparatus for video encoding to generate a partitioned bitstream without buffering transform coefficient and/or prediction data for subsequent coding units are disclosed. An encoder incorporating an embodiment according to the present invention receives first video parameters associated with a current coding unit, wherein no first video parameters associated with subsequent coding units are buffered. The encoder then encodes the first video parameters to generate a current first compressed data corresponding to the current coding unit. A first memory address in the first logic unit is determined and the encoder provides the current first compressed data at the first memory address in the first logic unit.
Abstract:
An exemplary data arrangement method for a picture includes at least the following steps: obtaining pixel data of a plurality of first N-bit pixels of the picture; and storing the obtained pixel data of the first N-bit pixels in a plurality of M-bit storage units of a first buffer based on a raster-scan order of the picture, wherein M and N are positive integers, and M is not divisible by N. Besides, at least one of the M-bit storage units is filled with part of the obtained pixel data of the first N-bit pixels, and the first N-bit pixels include at least one pixel divided into a first part stored in one of the M-bit storage units in the first buffer and a second part stored in another of the M-bit storage units in the first buffer.
Abstract:
A method, apparatus and computer readable medium storing a corresponding computer program for decoding a video bitstream based on multiple decoder cores are disclosed. In one embodiment of the present invention, the method arranges multiple decoder cores to decode one or more frames from a video bitstream using mixed level parallel decoding. The multiple decoder cores are arranged into groups of multiple decoder cores for parallel decoding one or more frames by using one group of multiple decoder cores for said one or more frames, wherein each group of multiple decoder cores comprises one or more decoder cores. The number of frames to be decoded in the mixed level parallel decoding or which frames to be decoded in the mixed level parallel decoding is adaptively determined.
Abstract:
A motion compensation apparatus includes an interpolation filter device, a pixel fetching circuit, and a pixel dispatching circuit. The interpolation filter device generates interpolated pixels by performing interpolation according to reference pixels. The pixel fetching circuit fetches the reference pixels from a reference frame. The pixel dispatching circuit dispatches pixels to the interpolation filter device, wherein the pixels comprise the reference pixels. At least one of the interpolation filter device, the pixel fetching circuit and the pixel dispatching circuit is shared by a normal mode and a resized reference frame (RRF) mode of motion compensation.
Abstract:
A motion vector predictor determination method includes: checking if motion vector data of at least one first neighbor unit adjacent to a block and motion vector data of at least one second neighbor unit adjacent to the block are identical to each other; and when a checking result indicates that the motion vector data of the at least one first neighbor unit is identical to the motion vector data of the at least one second neighbor unit, assigning a motion vector predictor determined for a first sub-block within the block to a second sub-block within the block. The motion vector data of the at least one first neighbor unit is involved in determining the motion vector predictor of the first sub-block, and the motion vector data of the at least one second neighbor unit is not involved in determining the motion vector predictor of the first sub-block.
Abstract:
A method for read pointer maintenance of a buffering apparatus, which is arranged to buffer data of a multi-tile encoded picture having a plurality of tiles included therein, includes the following steps: judging if decoding of a first tile of the multi-tile encoded picture encounters a tile boundary of the first tile; and when it is judged that the tile boundary of the first tile is encountered, storing a currently used read pointer into a pointer buffer, and loading a selected read pointer from the pointer buffer to act as the currently used read pointer.