Perceptual processing techniques for video transcoding
AssigneeDialogic Corporation
InventorsKyeong H. Yang, Sangseok Park
Life of this patent
Estimating the term…
Abstract
Systems and methods of video transcoding that employ perceptual processing techniques for enhancing the perceptual quality of transcoded video information, communications, entertainment, and other video content. Such systems and methods of video transcoding are operative to perform perceptual processing of an input video bitstream using predetermined information carried by the input bitstream. Having performed such perceptual processing of the input bitstream, the perceptual quality of transcoded video delivered to an end user is significantly improved.
Claims21
A method of transcoding a coded video bitstream in a video transcoding system, comprising the steps of:
- receiving, at the video transcoding system, a coded video bitstream including a plurality of video frames, each video frame including a plurality of macroblocks, the coded video bitstream being encoded in a first coding format;
- extracting predetermined information from the coded video bitstream;
- for each of at least some of the plurality of video frames in the coded video bitstream:
- decoding the video frame;
- calculating a distortion imperceptibility value for each of at least some of the plurality of macroblocks in the video frame based on at least some of the predetermined information extracted from the coded video bitstream;
- calculating a quantization parameter (QP) for the macroblock (MB) in the video frame using the distortion imperceptibility values for the respective macroblocks in the video frame;
- and
- encoding the video frame in a second coding format using the QPs for the respective macroblocks in the video frame;
- and
- providing the plurality of video frames in an output video bitstream.
A video transcoding system, comprising:
- a video decoder operative (a) to decode a plurality of video frames in a coded video bitstream, and (b) to extract predetermined information from the coded video bitstream, each video frame including a plurality of macroblocks, the coded video bitstream being encoded in a first coding format;
- and
- a video encoder operative, for each of at least some of the plurality of video frames in the coded video bitstream:
- to calculate a distortion imperceptibility value for each of at least some of the plurality of macroblocks in the video frame based on at least some of the predetermined information extracted from the coded video bitstream;
- to calculate a quantization parameter (QP) for the macroblock (MB) in the video frame using the distortion imperceptibility values for the respective macroblocks in the video frame;
- to encode the video frame in a second coding format using the QPs for the respective macroblocks in the video frame;
- and
- to provide the plurality of video frames in an output video bitstream.
A method of transcoding a coded video bitstream in a video transcoding system, comprising the steps of:
- receiving, at the video transcoding system from an external video encoder, a coded video bitstream including a plurality of video frames, each video frame including a plurality of macroblocks, the coded video bitstream being encoded in a first coding format;
- extracting predetermined information from the coded video bitstream, the predetermined information including at least quantization parameter (QP) information for the respective macroblocks in the video frame, and macroblock (MB) information for the respective macroblocks in the video frame;
- determining a likelihood of perceptual processing being employed at the external video encoder based on at least some of the QP information and the MB information for the respective macroblocks;
- for each of at least some of the plurality of video frames in the coded video bitstream:
- decoding the video frame;
- calculating a spatial variation for each of at least some of the plurality of macroblocks in the video frame;
- adjusting the spatial variation for the MB in the video frame based on at least some of the QP information for the respective macroblocks;
- calculating a brightness of the MB in the video frame;
- calculating a distortion imperceptibility value for the MB in the video frame based on at least (a) the spatial variation for the respective MB, and (b) the brightness of the respective MB;
- adjusting the distortion imperceptibility value for the MB in the video frame based on at least the likelihood of perceptual processing being employed at the external video encoder;
- calculating a QP for the MB in the video frame using the distortion imperceptibility values for the respective macroblocks in the video frame;
- and
- encoding the video frame in a second coding format using the quantization parameters for the respective macroblocks in the video frame;
- and
- providing the plurality of video frames in an output video bitstream.
A method of transcoding a coded video bitstream in a video transcoding system, comprising the steps of:
- receiving, at the video transcoding system, a coded video bitstream including a plurality of video frames, each video frame including a plurality of macroblocks, the coded video bitstream being encoded in a first coding format;
- extracting predetermined information from the coded video bitstream, the predetermined information including video frame information;
- for each of at least some of the plurality of video frames in the coded video bitstream:
- decoding the video frame;
- calculating a distortion imperceptibility value for each of at least some of the plurality of macroblocks in the video frame based on at least some of the predetermined information extracted from the coded video bitstream;
- determining a distortion imperceptibility level for the macroblock (MB) in the video frame based on at least the distortion imperceptibility value for the respective MB, the distortion imperceptibility level for the MB in the video frame having an associated threshold value, each threshold value being dependent upon a resolution of the video frame;
- determining the resolution of the video frame based on at least some of the video frame information;
- generating a distortion imperceptibility map for the video frame, the distortion imperceptibility map containing information based on at least the distortion imperceptibility level for the MB in the video frame;
- generating a quantization parameter (QP) for the MB in the video frame, and a target number of bits to be allocated for the video frame, using a predetermined rate control function;
- modulating the QP for the MB in the video frame using one or more of the information contained in the distortion imperceptibility map for the video frame, and the target number of bits to be allocated for the video frame;
- calculating a QP for the MB in the video frame using the distortion imperceptibility values for the respective macroblocks in the video frame;
- calculating motion compensated prediction errors (MCP errors) for the video frame;
- transforming the MCP errors to generate transform coefficients for the MCP errors for the video frame;
- quantizing the transform coefficients for the MCP errors using one or more of the quantization parameters for the respective macroblocks in the video frame;
- and
- encoding the video frame in a second coding format using the quantization parameters for the respective macroblocks in the video frame;
- and
- providing the plurality of video frames in an output video bitstream.
Dependencies are inferred from the claim text.