摘要:
Multi-threaded implementations of deblock filtering improve encoding and/or decoding efficiency. For example, a video encoder or decoder partitions a video picture into multiple segments. The encoder/decoder selects between multiple different patterns for splitting operations of deblock filtering into multiple passes. The encoder/decoder organizes the deblock filtering as multiple tasks, where a given task includes the operations of one of the passes for one of the segments. The encoder/decoder then performs the tasks with multiple threads. The performance of the tasks is constrained by task dependencies which, in general, are based at least in part on which lines of the picture are in the respective segments and which deblock filtering operations are in the respective passes. The task dependencies can include a cross-pass, cross-segment dependency between a given pass of a given segment and an adjacent pass of an adjacent segment.
摘要:
Techniques and tools for interpolation of image/video content are described. For example, a tool such as a display processing module in a computing device receives pixel values of a low-resolution picture and determines an interpolated pixel value between a set of the pixel values from the low-resolution picture. The tool uses auto-regressive edge-directed interpolation that incorporates a backward projection constraint (AR-EDIBC). As part of the AR-EDIBC, the tool can compute auto-regressive (AR) coefficients then apply the AR coefficients to the set of pixel values to determine the interpolated pixel value. For the backward projection constraint, the tool accounts for effects of projecting interpolated pixel values back to the pixel values of the low-resolution picture. The tool stores the interpolated pixel values and pixel values from the low-resolution picture as part of a high-resolution picture. The tool can adaptively use AR-EDIBC depending on content and other factors.
摘要:
Multi-threaded implementations of deblock filtering improve encoding and/or decoding efficiency. For example, a video encoder or decoder partitions a video picture into multiple segments. The encoder/decoder selects between multiple different patterns for splitting operations of deblock filtering into multiple passes. The encoder/decoder organizes the deblock filtering as multiple tasks, where a given task includes the operations of one of the passes for one of the segments. The encoder/decoder then performs the tasks with multiple threads. The performance of the tasks is constrained by task dependencies which, in general, are based at least in part on which lines of the picture are in the respective segments and which deblock filtering operations are in the respective passes. The task dependencies can include a cross-pass, cross-segment dependency between a given pass of a given segment and an adjacent pass of an adjacent segment.
摘要:
Techniques and tools for interpolation of image/video content are described. For example, a tool such as a display processing module in a computing device receives pixel values of a low-resolution picture and determines an interpolated pixel value between a set of the pixel values from the low-resolution picture. The tool uses auto-regressive edge-directed interpolation that incorporates a backward projection constraint (AR-EDIBC). As part of the AR-EDIBC, the tool can compute auto-regressive (AR) coefficients then apply the AR coefficients to the set of pixel values to determine the interpolated pixel value. For the backward projection constraint, the tool accounts for effects of projecting interpolated pixel values back to the pixel values of the low-resolution picture. The tool stores the interpolated pixel values and pixel values from the low-resolution picture as part of a high-resolution picture. The tool can adaptively use AR-EDIBC depending on content and other factors.
摘要:
Disclosed herein are tools and techniques for storing and using video processing tool configuration information that can identify combinations of video processing tools to be used for processing video. In one exemplary embodiment, video processing tools of a computing system are identified. The performance of a combination of the video processing tools is measured. The performance measurement is compared with another performance measurement of another combination of the video processing tools. Based on the comparison, video processing tool configuration information is set. In another exemplary embodiment, video processing tool configuration information indicating a combination of video processing tools is accessed, and video data is processed using the combination of video processing tools based on the video processing tool configuration information.
摘要:
Disclosed herein are tools and techniques for storing and using video processing tool configuration information that can identify combinations of video processing tools to be used for processing video. In one exemplary embodiment, video processing tools of a computing system are identified. The performance of a combination of the video processing tools is measured. The performance measurement is compared with another performance measurement of another combination of the video processing tools. Based on the comparison, video processing tool configuration information is set. In another exemplary embodiment, video processing tool configuration information indicating a combination of video processing tools is accessed, and video data is processed using the combination of video processing tools based on the video processing tool configuration information.