摘要:
An image is divided into one or more (e.g., foreground) regions of interest with transition regions defined between each region of interest and the relatively least-important (e.g., background) region. Each region is encoded using a single selected quantization level, where quantizer values can differ between different regions. In general, in order to optimize video quality while still meeting target bit allocations, the quantizer assigned to a region of interest is preferably lower than the quantizer assigned to the corresponding transition region, which is itself preferably lower than the quantizer assigned to the background region. The present invention can be implemented iteratively to adjust the quantizer values as needed to meet the frame's specified bit target. The present invention can also be implemented using a non-iterative scheme that can be more easily implemented in real time. The present invention enables a video compression algorithm to meet a frame-level bit target, while ensuring spatial and temporal smoothness in frame quality, thus resulting in improved visual perception during playback.
摘要:
The algorithm assumes a constant bit rate over a timing window of specified duration (e.g., a specified number of consecutive frames), where the current frame to be encoded lies in the interior of the timing window. A target bit rate for the current frame is initially selected by calculating the number of bits already used to encode other frames within the window and then assuming that the remaining available bits allocated to the timing window will be evenly distributed to the remaining unencoded frames in the timing window. The target bit rate may then be optionally adjusted based on scene content, encoder state, and buffer considerations. Through a combination of target bit allocation and frame skipping, spatial and temporal resolutions are maintained within acceptable ranges while meeting buffer delay constraints. The algorithm has also been extended to include PB frames in addition to P-only coders.
摘要:
For video compression processing, each frame in a video sequence is segmented into one or more different regions, where the macroblocks of each region are to be encoded using the same quantizer value, but the quantizer value can vary between regions in a frame. For example, for the videophone or video-conferencing paradigm of one or more “talking heads” in front of a relatively static background, each frame is segmented into a foreground region corresponding to the talking head, a background region corresponding to the static background, and an intervening transition region. An encoding complexity measure is generated for each macroblock of the previous frame using a (e.g., first-order) rate distortion model and the resulting macroblock-level encoding complexities are used to generate an average encoding complexity for each region. These region complexities are then used to select quantizer values for each region in the current frame, e.g., iteratively until the target bit rate for the frame is satisfied to within a specified tolerance range. The selected quantizer values may be modified based on spatial and/or temporal constraints to satisfy spatial requirements of the video compression algorithm and/or to provide temporal smoothness in quality, respectively.
摘要:
A variety of different types of video frame encoders can be configured with, e.g., a multimedia processing subsystem, as long as the video frame encoder conforms to the interface protocol of the subsystem. A video controller in the subsystem performs the higher-level functions of coordinating the encoding of the video stream, thereby allowing the video frame encoder to limit its processing to the lower, frame level. In particular, the video controller provides information needed by the video frame encoder to encode the current frame in the video sequence. In addition to the raw image data, this information includes the type of frame to be encoded (e.g., an I or P frame), the currently available bandwidth for encoding the current frame, the time since the previous encoded frame, the desired frame rate, and a quality measure that may be used to trade off spatial and temporal qualities. The video frame encoder either encodes the frame as requested or indicates to the video controller that the frame should be skipped or otherwise not encoded as requested. The video controller can then respond appropriately, e.g., by requesting the video frame encoder to encode the next frame in the video sequence.
摘要:
Apparatus and method for classifying regions of an image, based on the relative “importance” of the various areas and to adaptively use the importance information to allocate processing resources and input image formation.
摘要:
Apparatus and method for classifying regions of an image, based on the relative “importance” of the various areas and to adaptively use the importance information to allocate processing resources, e.g., bit allocation in an encoding environment.
摘要:
After performing integer-pel motion estimation to select the best integer-pel location, half-pel (or other fractional-pel) motion estimation is performed by estimating the distortion values for all of the surrounding half-pel locations by linearly interpolating using the distortion value for the best integer-pel location and the distortion values available from the integer-pel motion estimation analysis corresponding to the surrounding integer-pel locations. A subset of those half-pel locations is then selected as candidate half-pel locations (e.g., based on lowest estimated distortion values) and true distortion values are then generated for those candidate locations. The best half-pel location is then selected based on the distortion values for the candidate half-pel locations and the best integer-pel location. This best half-pel location may then be used to perform the motion-compensated inter-frame differencing step of a video coding scheme.
摘要:
Embodiments of the present invention provide for batch and incremental loading of data into a database. In the present invention, the loader infrastructure utilizes machine code database instructions and hardware acceleration to parallelize the load operations with the I/O operations. A large, hardware accelerator memory is used as staging cache for the load process. The load process also comprises an index profiling phase that enables balanced partitioning of the created indexes to allow for pipelined load. The online incremental loading process may also be performed while serving queries.
摘要:
Embodiments of the present invention provide hardware-friendly indexing of databases. In particular, forward and reverse indexing are utilized to allow for easy traversal of primary key to foreign key relationships. A novel structure known as a hit list also allows for easy scanning of various indexes in hardware. Group indexing is provided for flexible support of complex group key definition, such as for date range indexing and text indexing. A Replicated Reordered Column (RRC) may also be added to the group index to convert random I/O pattern into sequential I/O of only needed column elements.
摘要:
Systems, architectures, and data structures are described which are used to manage distributed design chains, specifically for domains in which data reside in multiple applications and are linked through complex interrelationships. The design chains or design networks integrated by the invention may include multiple companies in multiple sites collaborating to design and develop a new product. The invention is intended to integrate seamlessly and transparently with existing, diverse legacy applications, which include inter-linked data relevant to the design, thereby addressing the needs identified above.