Abstract:
A digital video image is compressed by determining for a group of adjacent pixels the global error values that result from the available combinations of truncation and integration of data strings associated with the group of pixels. A combination of truncation and integration that produces a minimum global error value is identified and used to control compression of the individual strings of data associated with the group of pixels.
Abstract:
A process for format conversion of DCT macroblocks in an MPEG video bitstream that are divided into blocks, each of which includes a plurality of microblocks. In each DCT block, the significant frequencies are identified and preserved, isolating a corresponding microblock preferably consisting of the microblock on the top left of each block and setting to zero the coefficients of the remaining microblocks. On the microblock thus isolated there is performed an inverse discrete cosine transform, and the microblock thus obtained is merged with the homologous microblocks obtained from the other blocks comprised in a respective starting macroblock, so as to give rise to a merging block. The merging block thus obtained undergoes a discrete cosine transform so as to obtain a final block, which can be assembled into a macroblock with converted format.
Abstract:
A process and a system is described for generating an MPEG output bitstream starting from an MPEG input bitstream. The output bitstream has a resolution modified with respect to the resolution of the input bitstream. In the input bitstream, first portions that substantially do not affect and second portions that do affect resolution variation are distinguished. The second portions are then subjected to a function of modification of the resolution obtained by filtering the second portions in a domain of the discrete cosine transform, and then are transferred to the output bitstream. A corresponding computer program product is also provided.
Abstract:
A geometric processing stage for a pipelined engine for processing video signals and generating processed video signal in space coordinates (S) adapted for display on a screen. The geometric processing stage includes: a model view module for generating projection coordinates of primitives of the video signals in a view space, said primitives including visible and non-visible primitives, a back face culling module arranged downstream of the model view module for at least partially eliminating the non visible primitives, a projection transform module for transforming the coordinates of the video signals from view space coordinates into normalized projection coordinates (P), and a perspective divide module for transforming the coordinates of the video signals from normalized projection (P) coordinates into screen space coordinates (S). The back face culling module is arranged downstream the projection transform module and operates on normalized projection (P) coordinates of said primitives. The perspective divide module is arranged downstream the back face culling module for transforming the coordinates of the video signals from normalized projection (P) coordinates into screen space coordinates (S). A circuit in the back face culling module can be shared with a standard three dimension back face culling operation when necessary. An application is in graphic engines using standard graphics language like OpenGL and NokiaGL.
Abstract:
A VLSI architecture adapted to be implemented in the form of a reusable IP cell and including a motion estimation engine, configured to process a cost function and identify a motion vector which minimizes the cost function, an internal memory configured to store the sets of initial candidate vectors for the blocks of a reference frame, first and second controllers to manage the motion vectors and manage an external frame memory, a reference synchronizer to align, at the input to the estimation engine, the data relevant to the reference blocks with the data relevant to candidate blocks coming from the second controller, and a control unit for timing the units included in the architecture and the external interfacing of the architecture itself.
Abstract:
A method for measuring the activity of a macroblock of a video picture in the direct cosine transform domain of values assumed by a selected component of the video signal includes dividing the macroblock into blocks of data in the discrete cosine transform domain before quantization, and separately storing each block of data in a memory. The method further includes reading each block of data stored in the memory for obtaining respective coefficients, and multiplying an absolute value of each coefficient by a selected mask of words comprising a number of words not exceeding a number of words forming each block. The results of the multiplications are summed for producing an activity coefficient for each block. A first activity coefficient of the macroblock is calculated corresponding to a sum of the activity coefficients produced for each block. A normalized activity value of the macroblock is calculated as the ratio between a sum of double the first activity coefficient with a mean activity coefficient relative to a preceding coded frame, and a sum of double the mean activity coefficient with the first activity coefficient.
Abstract:
Perfectly resynchronized windowed clock signals are constructed starting from a main clock signal of the same frequency of that of the active phases of the constructed windowed clock signal, advantageously without requiring a main clock of a higher frequency.
Abstract:
The video memory requisite of an MPEG-2 decoder commonly comprising a stage of decompression of the respective I, P and B-pictures of the MPEG compression algorithm before writing the data in respective buffers organized in the video memory and in which the decompression of a B-picture implies the use of forward and backward motion compensation predictors is reduced without losing image quality. This is achieved by: decompressing by macroblocks a B-picture while maintaining the relative backward predictor, stored in the memory, in a compressed form and decompressing macroblocks of a compressed P-picture using the respective forward predictor values; defining through the decompressed P-macroblocks the region of the stored compressed backward predictor containing the backward predictor value of the macroblock of the B-picture undergoing decompression; and extracting from the region the respective backward predictor value for the B-macroblock undergoing decompression, and completing the motion compensation routine according to the MPEG standard.
Abstract:
A system renders a primitive of an image to be displayed, for instance in a mobile 3D graphic pipeline, the primitive including a set of pixels. The system locates the pixels in the area of the primitive, generates, for each pixel located in the area, a set of associated sub-pixels, borrows a set of sub-pixels from neighboring pixels, subjects the set of associated sub-pixels and the borrowed set of pixels to adaptive filtering to create an adaptively filtered set of sub-pixels, and further filters the adaptively filtered set of sub-pixels to compute a final pixel for display. Preferably, the set of associated sub-pixels fulfills at least one of the following: the set includes two associated sub-pixels and the set includes associated sub-pixels placed on pixel edges.
Abstract:
A coprocessor circuit for processing image data in digital form, having a motion vector controller block for generating, starting from the image data, motion vector values that include predictor data and macroblock data relating to a current macroblock of the image data to be estimated and being adapted to be stored at respective memory addresses. Also included is an address generator block for extracting respective addresses from the motion vector values, a predictor fetch block for retrieving predictor data based on respective addresses extracted by the address generator block, a current macroblock fetch and distengine block for retrieving macroblock data based on respective addresses extracted by the address generator block and for processing the macroblock data according to a given function, and a decision block for collecting the retrieved data as partial results and selecting the best result therefrom.