Abstract:
A video residual decoding apparatus includes a residual decoding circuit and a neighbor storage device. The residual decoding circuit applies residual decoding to a transform block, wherein the transform block is divided into M sub-blocks, M is a positive integer, and the M sub-blocks are processed by the residual decoding in a diagonal scan order. The neighbor storage device stores neighbor data that belong to neighboring sub-blocks and are referenced by the residual decoding of a current sub-block, wherein neighbor data belonging to a sub-block is derived from a residual decoding result of the sub-block, and a storage size of the neighbor storage device is not larger than a maximum data amount of neighbor data derived from residual decoding results of N sub-blocks, where N is a positive integer, and N is smaller than M.
Abstract:
A context-based adaptive binary arithmetic coding (CABAC) decoder includes a bin decode circuit and a context update circuit. The bin decode circuit supports decoding of multiple bins in one cycle. The multiple bins include a first bin and a second bin. The bin decode circuit generates a bin value of the first bin according to a first set of multiple contexts, a first range and a first offset, and generates one bin value of the second bin according to a second set of multiple contexts, a second range and a second offset. The context update circuit updates the first set of multiple contexts in response to the bin value of the first bin, to generate a first set of multiple updated contexts, and updates the second set of multiple contexts in response to said one bin value of the second bin, to generate a second set of multiple updated contexts.
Abstract:
A video residual decoding apparatus is used for applying residual decoding to a transform block that is divided into sub-blocks, and includes a residual decoding circuit and a storage device. The residual decoding circuit enters a coefficient loop for decoding one or more syntax elements at each of coefficient positions within a sub-block that has at least one non-zero coefficient level. The coefficient loop includes one decoding pass and at least one other decoding pass. During the at least one other decoding pass, the residual decoding circuit records side information in the storage device, where the side information is indicative of specific coefficient positions at which specific syntax elements need to be decoded in the one decoding pass. During the one decoding pass, the residual decoding circuit refers to the side information for decoding the specific syntax elements at the specific coefficient positions, respectively.
Abstract:
A backward adaptation apparatus includes a first storage apparatus, a count table maintenance apparatus, and a backward probability update circuit. The first storage apparatus has a first buffer and a second buffer allocated therein. The first buffer stores a first probability table involved in processing of a first frame. The second buffer stores a second probability table selectable for processing of a second frame following the first frame. The count table maintenance apparatus maintains a count table, wherein the count table maintenance apparatus has at least one count data updating circuit shared for dynamically updating the count table during the processing of the first frame. The backward probability update circuit refers to information of the count table and information of the first probability table to calculate the second probability table in the second buffer at an end of the processing of the first frame.
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 backward adaptation apparatus includes a first storage apparatus, a count table maintenance apparatus, and a backward probability update circuit. The first storage apparatus has a first buffer and a second buffer allocated therein. The first buffer stores a first probability table involved in processing of a first frame. The second buffer stores a second probability table selectable for processing of a second frame following the first frame. The count table maintenance apparatus maintains a count table, wherein the count table maintenance apparatus has at least one count data updating circuit shared for dynamically updating the count table during the processing of the first frame. The backward probability update circuit refers to information of the count table and information of the first probability table to calculate the second probability table in the second buffer at an end of the processing of the first frame.
Abstract:
A count table maintenance apparatus for maintaining a count table referenced to apply a backward adaptation to a probability table. The count table maintenance apparatus includes a count data access interface, at least one buffer, and at least one count data updating circuit. The count data access interface determines a read address and a write address of the storage apparatus. The at least one buffer buffers at least one input count data, wherein the at least one input count data is derived from count data read from the count table according to the read address. The at least one count data updating circuit updates the at least one input count data read from the at least one buffer to generate at least one updated count data, and store the at least one updated count data into the storage apparatus according to the write address.
Abstract:
A count table maintenance apparatus for maintaining a count table referenced to apply a backward adaptation to a probability table. The count table maintenance apparatus includes a count data access interface, at least one buffer, and at least one count data updating circuit. The count data access interface determines a read address and a write address of the storage apparatus. The at least one buffer buffers at least one input count data, wherein the at least one input count data is derived from count data read from the count table according to the read address. The at least one count data updating circuit updates the at least one input count data read from the at least one buffer to generate at least one updated count data, and store the at least one updated count data into the storage apparatus according to the write address.
Abstract:
A video residual decoding apparatus includes a residual decoding circuit and a neighbor storage device. The residual decoding circuit applies residual decoding to a transform block, wherein the transform block is divided into M sub-blocks, M is a positive integer, and the M sub-blocks are processed by the residual decoding in a diagonal scan order. The neighbor storage device stores neighbor data that belong to neighboring sub-blocks and are referenced by the residual decoding of a current sub-block, wherein neighbor data belonging to a sub-block is derived from a residual decoding result of the sub-block, and a storage size of the neighbor storage device is not larger than a maximum data amount of neighbor data derived from residual decoding results of N sub-blocks, where N is a positive integer, and N is smaller than M.
Abstract:
A motion vector refinement apparatus includes a storage device, a reference block fetch circuit, and a processing circuit. The reference block fetch circuit fetches a forward reference block and a backward reference block according to at least specified motion vectors (MVs) of a current block, and stores the forward reference block and the backward reference block into the storage device. The processing circuit derives a first reference block from the forward reference block and a second reference block from the backward reference block, calculates at least one accumulated pixel difference (APD) value for at least one block pair each having a first block found in the first reference block and a second block found in the second reference block, and determines an offset setting for motion vector refinement of the specified MVs according to the at least one APD value.