CN101263718A - 高效的集成数字视频译码 - Google Patents

高效的集成数字视频译码 Download PDF

Info

Publication number
CN101263718A
CN101263718A CNA2006800335583A CN200680033558A CN101263718A CN 101263718 A CN101263718 A CN 101263718A CN A2006800335583 A CNA2006800335583 A CN A2006800335583A CN 200680033558 A CN200680033558 A CN 200680033558A CN 101263718 A CN101263718 A CN 101263718A
Authority
CN
China
Prior art keywords
decoding
implemented method
computer implemented
bit stream
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800335583A
Other languages
English (en)
Other versions
CN101263718B (zh
Inventor
G·沈
S·李
W·曹
Y·何
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101263718A publication Critical patent/CN101263718A/zh
Application granted granted Critical
Publication of CN101263718B publication Critical patent/CN101263718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers

Abstract

描述了高效的集成数字视频译码。在一方面,一种集成译码器接收已编码比特流。该集成译码器通过基于与第一媒体数据格式相关联的第一变换部分地解码该已编码比特流来对该已编码比特流进行译码。解码操作生成中间数据流。该集成译码器然后使用与第二媒体数据格式相关联的第二变换来编码该中间数据流。第一和第二变换是不相同的。

Description

高效的集成数字视频译码
背景
数字视频内容通常是以特定数据格式为目标而生成的。视频格式一般符合特定的视频编码标准或专有编码算法,其具有特定的比特率、空间分辨率、帧速率等等。这些编码标准包括MPEG-2和WINDOWS Media Video(WINDOWS媒体视频,WMV)。大多数现有的数字视频内容是根据MPEG-2数据格式来编码的。WMV作为流传送领域的合格编解码器而被广泛接受,在因特网上被广泛使用,由HD-DVD联盟采用,并被认为是SMPTE标准。不同的视频编码标准提供了变化的压缩能力和视觉质量。
译码指的是将一种压缩比特流转换成另一种压缩比特流的通用过程。为匹配设备的能力和分发网络,通常期望将一种编码格式的比特流转换成另一种编码格式,诸如从MPEG-2转换成WMV、H.264、甚至是可缩放格式。译码也可用于实现诸如类VCR功能、标志插入或比特流的增强差错回复能力等一些特定功能以便在无线信道上传输。
图1示出了一种常规的级联像素域译码器(CPDT)系统,它将解码输入比特流的前端解码器与用一不同的编码参数集或以新格式生成新比特流的编码器级联。这一常规的译码体系结构的一个缺点是其复杂度通常造成了对实际使用的障碍。结果,图1的CPDT译码体系结构通常被用作对改进方案的性能基准。
图2示出了一种常规的级联DCT域译码器(CDDT)体系结构,它简化了图1的CPDT体系结构。图2的系统限制了空间/时间分辨率缩小和编码参数改变功能。CDDT消除了图1的CPDT译码器实现的DCT/IDCT过程。然而,CDDT在DCT域中执行MC,这通常是耗时且在计算上是昂贵的操作。这是因为DCT块通常与MC块重叠。结果,CDDT体系结构通常需要应用复杂且计算上昂贵的浮点矩阵运算以在DCT域中执行MC。另外,运动矢量(MV)细化利用CDDT体系结构通常是不可行的。
概述
提供本概述是为了用简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
鉴于以上原因,描述了高效的集成数字视频译码。在一方面,一种集成译码器接收已编码比特流。该集成译码器通过基于与第一媒体数据格式相关联的第一组压缩技术部分地解码该已编码比特流来对该已编码比特流译码。解码操作生成中间数据流。该集成译码器然后使用与第二媒体数据格式相关联的第二组压缩技术来编码该中间数据流。该第一和第二组压缩技术不相同。
附图简述
在附图中,组件参考标号最左边的数字标识了该组件首次出现的特定附图。
图1示出了一种传统的级联像素域译码器(CPDT)系统,它将解码输入比特流的前端解码器与用一不同的编码参数集或以新格式生成新比特流的编码器级联。
图2示出了一种常规的级联DCT域译码器(CDDT)体系结构,它简化了图1的CPDT体系结构。
图3示出了根据一个实施例将MPEG-2译码为WMV的示例性非集成像素域译码拆分体系结构。更具体地,该拆分体系结构为高效的集成数字视频译码提供了概念基础。
图4示出了根据一个实施例的用于高效的集成数字视频译码的示例性系统。
图5示出了根据一个实施例的示例性简化的闭环级联像素域译码器。
图6示出了根据一个实施例的示例性简化的闭环DCT域译码器。
图7示出了根据一个实施例的四个4×4 DCT块到一个8×8 DCT块的示例性合并操作。该合并操作是在高效的视频内容译码期间执行的。
图8示出了根据一个实施例的用于简化的DCT域数值2∶1分辨率缩小译码器的示例性体系结构。
图9示出了根据一个实施例的用于2∶1空间分辨率缩小译码操作的、对于隔行扫描媒体四个4×4 DCT块到一个8×8 DCT块的示例性合并操作。
图10示出了根据一个实施例的具有全漂移补偿的示例性简化的2∶1缩小译码器体系结构。
图11示出了用于解码器的示例性标准虚拟缓冲区验证器缓冲区(VBV)模型。
图12示出了根据一个实施例的具有任意空间分辨率缩小的译码器。
图13示出了根据一个实施例的用于高效的集成数字视频译码操作的示例性过程。
图14示出了根据一个实施例的其中可部分或全部实现高效的集成数字视频译码的示例性环境。
出于讨论和图示的目的,在附图中使用了颜色来表示以下约定。蓝色实线箭头代表相对于真实或残留图片数据的像素域信号。红色实线箭头代表DCT域中的信号。橙色虚线箭头代表运动信息。
详细描述
概观
以下参考图4到14描述用于高效的数字视频译码的系统和方法。这些系统和方法利用了输入比特流中的信息来允许应用程序动态地控制误差传播,并且因此选择性地控制视频比特流译码的速度和质量。该选择性控制允许应用程序从闭环译码(高速译码概况)无缝地缩放到开环(高质量译码概况)译码方案。与常规的译码体系结构(例如,图1的CPDT和图2的CDDT)形成对比,用于高效的数字视频译码的体系结构是集成的,并且它们将不同类型的离散余弦变换(DCT)或类DCT变换组合成一个译码模块。该用于高效的视频译码的系统和方法用快速查找表来实现重新量化,并使用三重阈值算法来提供精细的漂移控制机制。
在其中高效数字视频译码将比特流数字格式(例如,MPEG-2等)译码成WMV的一个实现中,高质量概况译码操作支持WMV的高级编码特征。在一个实现中,高速概况译码操作实现任意分辨率的二级缩小(例如,当从高清晰度(HD)译码成标准清晰度(SD)的时候)。在这一二级缩小操作中,部分缩小比例是在DCT域中高效地实现的,而缩小比例操作是在空间域中以实质上降低的分辨率来实现的。
示例性概念基础
图3示出了将MPEG-2转换成WMV的示例性非集成级联像素域译码拆分体系结构300。该拆分体系结构不是集成的,因为单独的模块分别执行解码和编码操作。图3的拆分体系结构为随后对用于高效数字视频译码的集成系统和方法的描述提供了概念基础。表1示出了用于图3的讨论的符号及其各自的含义。
表1
Figure A20068003355800101
出于描述和示例性图示的目的,系统300是相对于从MPEG-2到WMV的带有比特率降低、空间分辨率降低及其组合的译码来描述的。许多现有的数字视频内容是根据MPEG-2数据格式来编码的。WMV作为流传送领域的合格编解码器而被广泛接受,在因特网上被广泛部署,由HD-DVD联盟采用,并被认为是SMPTE标准。
MPEG-2和WMV提供了变化的压缩和视觉质量能力。例如,分别由MPEG-2和WMV使用的压缩技术是大不相同的。例如,运动矢量(MV)精度和运动补偿(MC)滤波技术是不同的。在MPEG-2中,运动精度仅仅最高为半个像素的准确度并且内插方法是双线性滤波。相反,在WMV中,运动精度可以最高达四分之一像素的准确度,并且支持两种内插方法,即双线性滤波和双三次滤波。此外,在滤波过程中涉及一舍入控制参数。与MPEG-2比特率相比,对WMV的使用可导致高达50%的视频比特率降低,并带有可忽略的视觉质量损失。
在另一示例中,由MPEG-2和WMV使用的变换是不同的。例如,MPEG-2使用标准DCT/IDCT,并且变换大小固定为8×8。相反,WMV使用整数变换(VC1-T),其中变换内核矩阵的元素都是小整数。因此,变换大小可使用WMV在使用8×8、8×4、4×8和4×4的各块之间更改。MPEG-2不支持帧级优化。然而,WMV支持各种用于性能优化的帧级句法。WMV支持许多其它高级编码特征,诸如强度补偿、范围缩减以及动态分辨率改变等等。
鉴于以上原因,为了在不改变分辨率的情况下提供比特率降低,桥接图3所示的MPEG-2解码器和WMV编码器的滤波过程是全通滤波器(即,没有生效)。因此,对于帧(i+1),对编码器的输入被表达为:
e i + 1 = r ^ i + 1 + MC mp 2 ( B ^ i , MV mp 2 ) - MC vc 1 ( B ~ i , MV vc 1 ) - - - ( 1 )
在该实现中,图3的WMV编码效率的增益源自更精细的运动精度。在WMV中,除了和MPEG-2中共同的半像素精度之外,还允许四分之一像素运动精度。此外,WMV允许用于MC滤波的更好但是更复杂的内插,称为双三次内插。双线性内插在用于半像素MC的MC模块(MCmp2)中被用于MPEG-2。双线性内插方法类似于WMV中使用的方法,不同之处在于MPEG-2双线性内插没有舍入控制。为达到高速,可在编码器部分中实现半像素运动准确度。对此的一个原因是缺少绝对原始帧(即,已经压缩了比特流输入数据(BS_IN))。由此,在本示例中,难以获得更准确但有意义的运动矢量。另一方面,从MPEG-2解码器获得的运动信息(即MVvc1=MVmp2)可被直接重复使用。由于没有分辨率改变,因此采用这一假设没有MV精度损失。如果编码器被进一步限制为使用双线性内插并强制舍入控制参数为始终关闭,则在运动补偿是线性运算并忽略舍入误差(即MCVC9=MCmp2)的合理假设下,等式(1)被简化如下:
e i + 1 = r ^ i + 1 + MC mp 2 ( B ^ i - B ~ i , MV mp 2 ) - - - ( 2 )
根据等式2,图3中的参考CPDT译码器可被简化。这一简化的体系结构在以下参考图5来描述。在描述该简化的体系结构之前,首先描述用于高效数字视频译码的示例性系统。
示例性系统
尽管并非必需,但高效数字视频译码将在由诸如个人计算机等计算设备执行的计算机程序指令的一般上下文中描述。程序模块一般包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。尽管该系统和方法是在前述上下文中描述的,但是以下描述的动作和操作也可用硬件来实现。
图4示出了用于高效数字视频译码的示例性系统400。在该实现中,系统400的操作是相对于混合的DCT和基于块的运动补偿(MC)视频编码方案来描述的,许多视频编码标准和专有格式都是基于该方案的。更具体地,系统400是用用于将MPEG-2译码成WMV的体系结构、组件和操作来描述的。然而,可以理解,对由用于将MPEG-2译码成WMV的系统400实施的可缩放复杂性和高效译码描述的体系结构、组件和操作也可应用于除MPEG-2和WMV之外的其它比特流数据格式转换。例如,在一个实现中,系统400用于将MPEG-2比特流译码成MPEG-4比特流,以及将MPEG-4比特流数据译码成WMV比特流数据等等。在这些替换实施例中,以下描述的系统400的译码体系结构(包括与其相关联的组件和操作)考虑了所解码、编码的比特流数据的类型和各自的数据格式。
在这一实现中,系统400包括通用计算设备402。计算设备402表示任何类型的计算设备,诸如个人计算机、膝上型计算机、服务器、手持式或移动计算设备等等。计算设备402包括将第一数据格式(例如,MPEG-2)的已编码比特流译码成以不同数据格式(例如,WMV)编码的比特流的程序模块404和程序数据406。程序模块404包括例如高效数字视频译码模块408(“译码模块408”)和其它程序模块410。译码模块408将已编码媒体412(例如,MPEG-2媒体)译码成经译码的媒体414(例如,WMV媒体)。其它程序模块410包括例如操作系统以及利用译码模块408的视频比特流译码能力的应用程序等。在一个实现中,应用程序是操作系统的一部分。在一个实现中,译码模块408经由应用程序编程接口(API)416将其译码能力展示给应用程序。
高速概况译码
图5示出了没有误差传播的示例性简化的集成闭环级联像素域译码器。出于讨论和图示的目的,图5的组件参考图4的组件来描述。例如,图5的体系结构代表了图4的译码模块408的一个示例性体系结构实现。参考图5的体系结构500,与图3的体系结构相比,注意,这是没有单独的编码器和解码器组件的集成体系结构。另外,请注意,从MPEG-2解码器中的MC移除了MV细化运动估计模块。另外,WMV编码器中的MC被合并到在累积的重新量化误差上操作的MC。以此方式,图5的译码体系结构显著降低了对于逐行扫描和隔行扫描视频数据格式的高速译码的计算复杂度。
请注意,WMV变换不同于在MPEG-2中使用的变换。在MPEG-2中,使用标准浮点DCT/IDCT,而在WMV中,采用了其能量填塞(energy packing)属性类似于DCT的整数变换。结果,MPEG-2解码器中的IDCT和WMV编码器中的VC1-T不能彼此抵消。WMV中的整数变换不同于DCT/IDCT的整数实现。WMV中的整数变换以所有变换系数都是小整数来仔细地设计。常规的译码器并没有集成来将相对于第一变换编码的比特流译码成与第一变换不同的第二变换。
等式3提供了对于8×8 VC1-T的示例性变换矩阵。
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 12 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 - - - ( 3 )
等式3结合以下描述的等式4和5示出了如何将两个不同的变换实现到译码模块408(图4)的缩放组件中。在一个实现中,VC1-T的准确度是16位准确度,这对于MMX实现是非常合适的。结果,可显著降低编解码器的复杂度。
图6示出了示例性简化的闭环DCT域译码器。图6的体系结构代表了译码模块408(图4)的一个示例性体系结构实现。图6的体系结构600与图5的体系结构500相比是一简化的体系结构。参考图6,设C8是标准DCT变换矩阵,B是反量化的MPEG-2DCT块,并且b是B的IDCT,则MPEG-2IDCT如下计算:
b=C′8BC8
Figure A20068003355800142
是b的VC1-T,则
Figure A20068003355800143
被计算为:
Figure A20068003355800144
其中ο表示两个矩阵的元素级乘法,而N88是对VC1-T变换的归一化矩阵,其计算如下:
N88=c8·c′8
其中
c8=[8/288 8/289 8/292 8/298 8/288 8/289 8/292 8/298];
Figure A20068003355800145
使用以下公式直接从B计算:
为验证T8C′8和C8T′8非常接近于对角矩阵,如果应用逼近,则等式4变为矩阵B的元素级缩放。即,
Figure A20068003355800147
其中
S88=diag(T8C′8)·diag(C8T′8)οN88
等式5示出WMV编码器中的VC1-T和MPEG-2解码器中的IDCT可被合并。因此,图5中的体系结构可以被进一步简化为图6所示的体系结构。详细比较表明,两个DCT/IDCT模块由两个VC1-T和反VC1-T模块替换。在一个实现中,还添加了一简单缩放模块。在该体系结构中,嵌入了两个开关以及一活动掩码。如下所述的这些嵌入的组件用于译码器408(图4)的译码覆盖(transcoding coating)操作的复杂度的动态控制。此时,这些组件是连接的。WMV变换的16位算术性质有助于对PC和DSP的并行处理。因此,显著地降低了计算复杂度。此外,由于缩放矩阵S88的所有元素基本上彼此非常接近,因此该计算以及一个实现由缩放乘法来替换。
图5和6示出了其中涉及反馈环路的示例性的相应闭环译码体系结构。在该实现中,包括VC-1解量化、VC-1反变换、残留误差累积和对累积误差的MC在内的反馈环路补偿了因VC-1重新量化过程引起的误差。重新量化误差是对于诸如图1所示的比特率降低译码器的漂移误差的主要原因。尽管图5和6的译码体系结构不是完全没有漂移的,但即使有误差补偿,漂移误差也是非常小的。这是因为其余的漂移误差原因是运动补偿滤波期间的舍入误差。残留误差补偿的一个优点是图5和6的体系结构能够动态地打开或关闭补偿过程,如以下参考表2所描述的。图6的译码体系结构以基本最优的方式执行从MPEG-2到WMV的纯比特率降低译码,诸如SD到SD或HD到HD转换。
更具体地,常规的级联译码器体系结构(例如,图1和2的体系结构)缺少复杂度灵活性。对于计算节省,这一常规体系结构可实现的最多结果是通过MV重复使用和模式映射。另一方面,累积残留误差补偿体系结构,例如图6的体系结构(以及如下所述的图8和10的体系结构)具有在复杂度方面的内建的可缩放性。表2示出了图6中的开关的示例性含义。
表2
用于译码速度和质量的动态控制的示例性开关
  S0   块级   误差累积开关
  S1   块级   误差更新开关
  S2   块级   早期跳过块决策开关
在图4的译码模块408实现了无漂移简化之后,一应用程序可在复杂度和质量之间动态地折衷以加快译码速度。在该实现中,可牺牲速度来获得质量,反之亦然。换言之,在更为简化的译码器中可允许某些漂移误差。采用这一策略,较快的方法中引入的漂移误差被限制并且是完全可控制的。基于该考虑,在图6、8和10的体系结构中提供了三个开关(S0、S1和S2)。这些开关仅用于基于残留误差补偿的体系结构。开关选择性地跳过某些耗时的操作以实质性地降低复杂度,同时仅引入少量误差。各种开关的含义在表2中总结。与这些开关相关联的计算决策根据以下相对于每一开关描述的准则来有效地获得。
开关S0控制何时应将块的重新量化误差累积到残留误差缓冲区中。与标准重构选择器相比,开关S0的作用通过采用基于快速查找表的重新量化过程并提供经由三重阈值算法的更精细的控制机制来改善。结果,考虑对开关S0作出的所有观察。例如,在一个实现中,可利用DCT域能量差作为指示符。
开关S1控制何时执行最耗时的模块,即累积残留误差的MC。在一个实现中,开关S1是打开的。对参考帧创建一二进制活动掩码。该活动掩码的每一元素对应于8×8的块的活动性,如由下式确定的
Figure A20068003355800161
其中能量(块i)是累积的残留误差缓冲区中的块的能量。在一个实现中,能量(块i)是在空间域或DCT域中计算的。能量(块i)可通过绝对值的和来逼近。如果MV指向属于低活动的区域的块,则对该特定块的累积残留误差的MC被跳过。
开关S2执行早期检测以确定是否应当编码块误差。这在其中编码器应用粗略的量化步长的变换速率(transrating)应用中尤其有用。在该实现中,如果输入信号(累积残留误差的MC与来自MPEG-2解码器的重构残留之和)小于一阈值,则开关S2关闭,使得将不编码任何误差。
在一个实现中,调整用于开关S0、S1和S2的阈值,使得较早的参考帧以较高的质量和较低的速度来处理。这是因为开关的目的是实现质量和速度之间的更好折衷,以及预测编码的特性。
高质量概况译码器
如果比特率改变不是重要的,或者输入源质量不是非常高的,则图6的体系结构在将MPEG-2比特流转换成WMV比特流时基本优化了比特率降低。另一方面,输入源可能是非常高质量的,并且可能期望高质量的输出,同时译码的速度可能是中等要求(例如,实时)。诸如图3的级联像素域译码器(CDPT)等带有MV细化的高质量概况译码器满足这些准则。采用该体系结构,可打开WMV编码器的所有高级编码特征以确保可实现最高编码效率。
分辨率改变
在常规的媒体译码系统中,一般对具有空间分辨率缩小的译码具有三个误差源。这些误差如下:
·缩小:当获得缩小的视频时生成的误差。它通常是在设计缩小滤波器的操作以在视觉质量和复杂度之间作出折衷时,尤其是在空间域中缩小时的一个硬连线选择(hardwired choice)。
·重新量化误差:如同纯比特率降低译码过程一样,这是由于以粗略的重新量化步长进行的重新量化而引起的误差。
·MV误差:不正确的MV将导致被错误地运动补偿的预测。结果,不论如何补偿重新量化误差,并且不论比特率达到多高,如果没有基于新的MV和模式来重新计算运动补偿,则很难获得完美的结果。这对于译码B帧的常规系统是个问题,因为WMV仅支持一种用于B帧的MV模式。如果希望执行导致编码模式改变(例如,从4MV变为1MV模式)的优化,则这也是有问题的。此外,对色度分量一般存在问题,因为它们通常是用单个MV来补偿的。当应用于P帧时,这对于所描述的高效数字视频译码体系结构不是问题。对于此的一个原因是WMV支持用于P帧的4MV编码模式)。
译码模块408(图4)的操作解决了至少两个误差源,如现在描述的。
重新量化误差补偿
设D表示下采样滤波。参考图3的体系结构,对帧(i+1),VC-1编码器的输入如下导出:
e i + 1 = D ( r ^ i + 1 ) + D ( MC mp 2 ( B ^ i , MV mp 2 ) ) - MC vc 1 ( b ~ i , mv vc 1 ) - - - ( 6 )
假定MCVC1=MCmp2,mvmp2=mvvc1=MVmp2/2。采用以下逼近
D ( MC mp 2 ( B ^ i , MV mp 2 ) ) = MC ′ mp 2 ( D ( B ^ i ) , D ( MV mp 2 ) ) = MC ′ mp 2 ( b ^ i , mv mp 2 ) - - - ( 7 ) ,
等式6被简化为下式:
e i + 1 = D ( r ^ i + 1 ) + MC ′ mp 2 ( b ^ i - b ~ i , mv mp 2 ) - - - ( 8 )
等式8中的第一项
Figure A20068003355800194
指已解码的MPEG-2残留信号的缩小过程。该第一项可使用空间域低通滤波和抽选来确定。然而,使用DCT域缩小来获得该项导致复杂度降低以及更好的PSNR和视觉质量。DCT域缩小结果基本上要好于通过空间域双线性滤波或采用系数(-1,0,9,16,9,0,-1)/32的空间域7抽头滤波获得的结果。在该实现中,DCT域缩小仅保留了最左边的4×4低频DCT系数。即,对所保留的DCT系数应用标准4×4 IDCT将得到空间上2∶1缩小的图像(即,图4的已译码媒体414)。
等式8中的第二项
Figure A20068003355800195
意味着缩小的分辨率下的重新量化误差补偿。在该实现中,MPEG-2解码器中的MC和WMV编码器中的MC被合并成在降低的分辨率下对累积的重新量化误差操作的单个MC过程。
图7示出了四(4)个4×4 DCT块到一个8×8 DCT块的示例性合并操作。仍存在一个实践上的问题。在DCT域缩小中,四个8×8 DCT(原始分辨率下MPEG-2宏块(MB)中的块B1到B4)被映射到降低分辨率下新的MB的一8×8块的四个4×4的子块,并且仍在DCT域中(例如,请参见图7)。在WMV中,对于P帧和B帧,允许4×4变换类型。结果,除了上述缩放之外,无需再进一步做任何事情。然而,对于I帧,仅允许8×8变换类型。由此,当处理I帧时,译码模块408(图4)将四个4×4低频DCT子块转换成一个8×8 DCT块:
Figure A20068003355800201
。在一个实现中,这是通过将四个4×4 DCT子块逆变换回到像素域,然后应用新鲜的8×8 VC1-T来实现的。在一个实现中,为降低计算复杂度,这是在DCT域中实现的。
例如,设
Figure A20068003355800202
Figure A20068003355800203
Figure A20068003355800204
Figure A20068003355800205
分别表示B1、B2、B3和B4的四个4×4低频子块;C4是4×4标准IDCT变换矩阵;T8是整数WMV变换矩阵;并且再设T8=[TL,TR],其中TL和TR是8×4的矩阵。在这一情形中,
Figure A20068003355800206
使用以下等式直接从
Figure A20068003355800207
Figure A20068003355800209
Figure A200680033558002010
计算:
B ^ = ( T L C 4 ′ ) B ^ 1 ( T L C 4 ′ ) ′ + ( T L C 4 ′ ) B ^ 2 ( T R C 4 ′ ) ′ + ( T R C 4 ′ ) B ^ 3 ( T L C ′ ) ′ + ( T R C 4 ′ ) B ^ 4 ( T R C 4 ′ ) ′
在某些处理之后,
Figure A200680033558002012
更高效地计算如下:
B ^ = ( X + Y ) C ′ + ( X - Y ) D ′
其中
C=(TLC′4+TRC′4)/2
D=(TLC′4-TRC′4)/2
X = C ( B ^ 1 + B ^ 3 ) + D ( B ^ 1 - B ^ 3 )
Y = C ( B ^ 2 + B ^ 4 ) + D ( B ^ 2 - B ^ 4 )
在一个实现中,以上等式的C和D都是预计算的。最终结果用N88来归一化。
图8示出了用于简化的DCT域数值2∶1分辨率缩小译码器的示例性体系结构800。在一个实现中,图4的译码模块408实现示例性体系结构800。该体系结构中的开关具有与图6中的那些相同的功能,如以上参考表2所描述的。参考图8,在一个实现中,前两个模块(MPEG-2 VLD和逆量化)与图6所示的相比被简化。这是因为译码模块408仅检索8×8块中的左上角4×4部分。
与具有降低分辨率中的漂移误差补偿的常规的低漂移译码器相比,图6和8的译码器不包括混合的块处理模块。这是因为WMV支持帧间编码宏块中的8×8块的帧内编码模式。换言之,原始分辨率下的帧内MB被映射到降低分辨率下的帧间MB的帧内8×8块。因此,MB模式映射规则变得非常简单,如以下直接示出的:
Figure A20068003355800211
现有的混合块处理操作通常需要解码循环来重构全分辨率图片。因此,混合块处理的移除提供了与常规系统相比实质上的计算节省。
简化的DCT域2∶1分辨率缩小译码体系结构800对于P帧基本上是无漂移的。这是4MV编码模式的结果。与具有缩小滤波的CPDT体系结构相比,漂移误差的唯一原因是MV从四分之一分辨率到半分辨率的舍入(确保mvmp2=mvvc1)以及MC和缩小的不可交换性质。由于低通缩小滤波(例如,在DCT域或像素域中实现的),任何这样的剩余误差是可忽略的。
图9示出了根据一个实施例的用于2∶1空间分辨率缩小译码操作的、对于隔行扫描媒体的四个4×4 DCT块到一个8×8 DCT块的示例性合并操作。2∶1缩小将原始帧的分辨率在水平和垂直方向上都改变了2。在一个实现中,该隔行扫描过程是由图4的译码模块408实现的。更具体地,对于隔行扫描编码的内容,每一MB中的左上角的8×4子块由快捷(shortcut)MPEG-2解码器来重构,两个域在垂直方向上都由低通滤波器来平滑,然后在WMV编码过程之前丢弃一个域。
MV误差补偿
尽管WMV支持4MV编码模式,但是它通常是预期供编码P帧使用的。结果,当输入MPEG-2流中没有B帧或者要在译码器朝向更低时间分辨率的期间要丢弃B帧时,系统400(图4)实现图6的体系结构。对于此的一个原因是WMV对B帧仅允许每一MB一个MV。在这一情形中,译码模块408(图4)在原始分辨率下从与MB相关联的四个MV中组成一个新的运动矢量。上述MV组成方法中的每一个都是兼容的。在一个实现中,译码模块408实现中值滤波。如上所述,不正确的MV将导致被错误地运动补偿的预测。使得事情更糟的是,不管如何补偿重新量化误差,并且不管比特率达到多高,如果没有基于新的MV来重新完成运动补偿,则总是很难获得完美的结果。因此,提供了一种允许补偿这种运动误差的体系结构。
再一次,参考图3的体系结构,对于帧(i+1),VC-1编码器的输入如下导出:
e i + 1 = D ( r ^ i + 1 ) + D ( MC mp 2 ( B ^ i , MV mp 2 ) ) - MC vc 1 ( b ~ i , mv vc 1 ) - - - ( 9 ) ;
采用以下逼近
D ( MC mp 2 ( B ^ i , MV mp 2 ) ) = MC ′ mp 2 ( D ( B ^ i ) , D ( MV mp 2 ) ) = MC ′ mp 2 ( b ^ i , mv mp 2 ) - - - ( 10 )
等式9被简化为
e i + 1 = D ( r ^ i + 1 ) + MC ′ mp 2 ( b ^ i , mv mp 2 ) - MC ′ vc 1 ( b ~ i , mv vc 1 ) - - - ( 11 )
鉴于等式11,获得以下等式:
e i + 1 = D ( r ^ i + 1 ) + MC ′ mp 2 ( b ^ i , mv mp 2 ) - MC ′ vc 1 ( b ~ i , mv vc 1 )
= D ( r ^ i + 1 ) + [ MC ′ mp 2 ( b ^ i , mv mp 2 ) - mC ′ vc 1 ( b ^ i , mv vc 1 ) ] + MC ′ vc 1 ( b ^ i , mv vc 1 ) -
MC ′ vc 1 ( b ~ i , mv vc 1 )
= D ( r ^ i + 1 ) + [ MC ′ mp 2 ( b ^ i , mv mp 2 ) - MC ′ vc 1 ( b ^ i , mv vc 1 ) ] + MC ′ vc 1 ( b ^ i - b ~ i , mv vc 1 ) - - - ( 12 )
等式12中的方括号中的两项补偿了因不一致的MV(即,mvmp2不同于mvvc1)引起或因MPEG-2和WMV之间的不同MV滤波方法引起的运动误差。用于此目的的对应模块在图10中被突出显示并被组合成一淡黄色的框。
图10示出了根据一个实施例的具有全漂移补偿的示例性简化的2∶1缩小译码器体系结构。在一个实现中,图4的译码模块408实现图10的示例性体系结构。参考等式12,请注意,对与原始的帧间编码MB相对应的所有8×8的块执行
Figure A20068003355800231
并且以四分之一像素的精度,mvmp2=MVmp2/2。VC-1编码器中使用的MV是单个MV:mvvc1=median(MVmp2)/2。注意,对于运动误差补偿模块,mvvc1的准确度可达四分之一像素级。等式12中的最后一项补偿了参考帧的重新量化误差。由于对其它帧没有参考B帧,因此它们更能容错。结果,应用程序可安全地关闭误差补偿以达到更高的速度。再一次,这一逼近仅预期供B帧使用。请注意,用于运动误差补偿的MC在重构的像素缓冲区上操作,而用于重新量化误差补偿的MC在累积的残留误差缓冲区上工作。
对于MC,可应用帧内编码到帧间编码或帧间编码到帧内编码转换。这是因为MPEG-2解码器重构了B帧和参考帧。在该实现中,该转换是在图10中的混合块处理模块中完成的。两种模式组成方法是可能的。在一个实现中,主导模式被选为组成的模式。例如,如果原始分辨率下的四个MB的模式是两个双向预测模式、一个后向预测模式和一个前向预测模式,则选择双向预测模式为降低分辨率下的MB的模式。在另一实现中,选择将导致最大误差的模式。鉴于此示例,假定使用后向模式将导致最大误差。在这一情形中,选择后向模式,使得误差可被补偿。结果表明,后一技术与前一模式选择技术相比提供略好的质量。
根据等式12的一个示例性体系结构在图10中示出。存在特别用于该体系结构的四个帧级开关,如表3所示。
表3
示例性帧级开关
  SIP   帧级  仅对I和P帧要关闭的开关
  SP   帧级  仅对P帧要关闭的开关
  SB   帧级  仅对B帧要关闭的开关(=!SIP)
  SIP/B   帧级  仅当有B帧时要对I帧和P帧关闭的开关
四个帧级开关确保不同的编码路径用于不同的帧类型。具体地,该体系结构不执行:对B帧的残留误差累积(SIP),不执行对I和P帧的MV误差补偿(SB),并且在没有B帧要生成的情况下不重构参考帧(SIP/B)。请注意,帧级开关SB可被转到块级开关,因为MV误差只需在对应的四个原始MV都显著不一致的时候才被补偿。
更具体地,开关SIP仅对I帧或P帧关闭。开关SP仅对P帧关闭,而开关SB仅对B帧关闭。所得的体系结构不像图3的参考级联像素域译码器那样复杂。对于此的一个原因是避免了显式像素域缩小过程。相反,通过简单地丢弃高DCT系数在DCT域中隐式地实现了像素域缩小。该体系结构具有通过利用各种开关实现的极佳的复杂度可缩放性,如以上相对于表2所描述的。
对于需要极快的译码速度的应用,图10的体系结构可通过关闭所有的开关而被配置成一开环体系结构。该开环体系结构可通过将MPEG-2的解量化过程和WMV的重新量化过程合并来进一步优化。MPEG-2的逆锯齿扫描模块(在VLD内部)也可与WMV编码器中的该模块相组合。
色度分量
对于MPEG-2和WMV中的色度分量,色度分量(UV)的MV和编码模式从亮度分量(Y)的MV和编码模式中导出。如果对应于降低分辨率下的MB的原始分辨率下的所有四个MB都具有一致的编码模式(即,全部都是帧间编码或全部都是帧内编码的),则没有问题。然而,如果情况并非如此,则会由于MPEG-2和WMV的不同导出规则而造成问题。在MPEG-2中,当MB用帧内编码模式来编码时,UV块是帧间编码的。然而,在WMV中,仅当MB用帧间编码模式来编码并且有少于三个帧内编码8×8 Y块时,UV块才是帧间编码的。这一问题对于P帧和B帧都存在。图4的译码模块408如下解决这些问题:
·帧间编码-帧内编码转换:当帧间编码MB具有三个帧内编码8×8 Y块时(帧间编码的MB要使所有四个8×8 Y块都是帧内编码的是不可能的),UV块是帧内编码的。在这一情况中,原始分辨率下的一个MB连同对应的UV块一起帧间编码。这些UV块将从帧间编码模式转换成帧内编码模式。由于人类视觉系统(HVS)对色度信号较不敏感,因此译码模块408利用空间隐藏技术来将8×8 UV块从帧间编码模式转换成帧内编码模式。在一个实现中,DC距离被用作确定隐藏方向的指示符。隐藏是经由简单复制或任何其它内插方法来实现的。
·帧内编码-帧间编码转换:当帧间编码的MB具有一个或两个帧内编码的8×8 Y块时,译码模块408对UV块进行帧间编码。在这一情形中,在原始分辨率下的四个对应MB中有一个或两个帧内编码MB。这些UV块从帧内编码模式转换成帧间编码模式。在该实现中,译码模块408利用了称为除零(zero-out)方法的时间隐藏技术来处理这些块,并且因此避免了解码循环。
使用误差隐藏操作来处理用于色度分量的模式转换,引入到当前帧中的误差是可忽略的并且可被忽略,尽管它可能导致后续帧中的色漂移。对于色度分量的漂移通常是因不正确的运动引起的。为解决这一问题并改善质量,在一个实现中,译码模块408对色度分量使用基于重构的补偿(即,始终对色度分量应用淡黄色的模块)。
速率控制
图11示出了用于解码器的示例性虚拟缓冲区验证器缓冲区(VBV)模型。图11的基于VBV模型的解码器通常将验证现有的MPEG-2比特流。在该实现中,如果视频速率与输入速率成比例地降低,则经译码的WMV比特流将自动满足VBV要求。鉴于此,本说明书的高效数字视频译码体系结构使得对所有帧,所编码的帧大小与输入帧大小成比例。这些新颖的体系结构继续补偿目标帧大小和实际所得的帧大小之间的累积差,并且通过训练获得了用于不同比特率范围的线性量化步长(QP)映射规则。
对于高比特率,在同样用于MPEG-2TM-5速率控制方法的编码比特(B)和量化步长(QP)之间存在一逼近公式。
B = S · X QP - - - ( 13 )
其中S是帧的复杂度,X是模型参数。假定帧的复杂度对不同编解码器保持相同:
QP vc 1 = ( X vc 1 X mp 2 ) · ( B mp 2 B vc 1 ) · QP mp 2 = k · ( B mp 2 B vc 1 ) · QP mp 2
其中QPvc1是在WMV重新量化中使用的QP值,QPmp2是MPEG-2量化的QP值,而k是与目标比特流有关的模型参数。在一个实现中,利用了以下线性模型:
QPvc1/QPmp2=k·(Bmp2/Bvc1)+t(14)
对于低、中和高比特率情况的参数k和t的值在使用线性回归方法的表4中列出。
表4
用于线性回归方法的示例性参数值
Figure A20068003355800262
基于等式14的一个示例性详细速率控制算法在表5中示出,其中表5中呈现的算法中的各种符号的含义在以下表6中定义。
表5
示例性速率控制算法
Figure A20068003355800271
表6
表5的算法中使用的符号的定义
 Bmp2  MPEG-2帧大小;
 Rmp2  MPEG-2流比特率;
 Rvc1  目标WMV流比特率;
 Bpred_vc1  根据比特率之比预测的WMV帧大小;
 Bvc1  要编码的预期WMV帧大小(新比特率)
 Bactual_vc1  实际编码的WMV帧大小;
 SumD  预测的和实际的WMV帧大小之间从头开始的累积差
任意分辨率改变
内容从HD分辨率到SD分辨率的转换,例如用于支持传统SD接收器/播放器,是有用的。HD格式的典型分辨率是1920×1080i和1280×720p,而用于SD的分辨率是720×480i,用于NTSC的是720×480p。从1920×1080i到720×480i的水平和垂直缩小比率分别是8/3和9/4。为保持宽高比,最终的缩小比率被选为8/3,并且所得的图片大小是720×404。类似地,对于1280×720p到720×480p,缩小比率被选为16/9,并且所得的图片大小是720×404。由解码器/播放器插入黑幅(black banner)以形成完全的720×480图片(而非填充到比特流中)。
根据数字信号处理理论,用于缩小比率m/n的基本最优的缩小方法是首先按n折叠(n-fold)对信号进行上采样(即,在每一原始样本之间插入n-1个0),应用低通滤波器(例如,具有许多抽头的sinc函数),然后按照m折叠抽选所得的信号。执行这些操作,由缩小引入的任何频谱混叠将被最大程度地抑制。然而,该过程也可能在计算上是非常昂贵的,并且难以实时实现,因为输入信号是高清晰度的。为降低这一计算复杂度,实现一种新颖的二级缩小策略。
图12示出了根据一个实施例的具有任意空间分辨率缩小的译码器。在一个实现中,图4的译码模块408实现图12的体系结构。在一个实现中,任意缩小译码器是诸如图12中的非集成译码器。在另一实现中,以下参考图12描述的任意缩小译码操作是在诸如图5、6、8和/或10中所示的集成译码器中实现的。
参考图12,系统1200实现二级缩小操作来达到任何任意缩小目标。第一级缩放的结果被嵌入到解码循环中。这降低了解码操作的复杂度。例如,为达到8/3缩小比率,首先实现缩小操作以按照2/1来缩小。该第一级缩小的结果被输入到解码循环中,其中第二级缩小在空间域中执行。在该示例中,第二级缩小操作缩小4/3以达到8/3的缩小比率。在另一示例中,由系统1200通过应用4/3缩小两次(在两级中)来实现16/9的缩小比率。这一二级缩小方法利用先前讨论的DCT域缩小策略,然后将第一级缩小结果完全嵌入到解码循环中。由于分辨率在第一级缩小之后显著降低,因此可继续在像素域上应用最优缩小方法。
参考图12,请注意,多个MV
(在
Figure A20068003355800291
Figure A20068003355800292
之间)
与一新的MB(MV缩放和滤波模块)相关联。
示例性过程
图13示出了根据一个实施例的用于高效数字视频译码的过程1300。在一个实现中,图4的译码模块408实现过程1300的操作。参考图13,在框1302处,该过程接收已编码比特流(例如,图4的已编码媒体412)。在框1304处,该过程根据与第一媒体数据格式(例如,MPEG-2、MPEG-4等)相关联的第一组压缩技术来部分地解码该已编码比特流。该部分解码操作生成中间数据流。集成译码器不执行完全的解码。例如,在其中“概念”MPEG-2解码器的MC与WMV编码器的MV合并的情况下,难以将解码操作描述为执行MPEG-2解码。在框1306处,如果期望中间数据流的缩小,则该过程在缩小的第一级中缩小与已编码比特流相关联的数据。缩小的第一级是在解码循环的DCT域中实现的。在框1308处,如果期望二级缩小,则该过程进一步在空间域中缩小在DCT域中缩小的数据(见框1306)。
在框1310处,根据第一组压缩技术解码的数据用第二组压缩技术来编码。在一个实现中,过程1300是在诸如相对于图12和14示出并描述的非集成译码体系结构内实现的。在该实现中,第二组压缩技术与第一组压缩技术相同。在另一实现中,过程1300是在诸如相对于图5-11和14示出并描述的集成译码体系结构内实现的。在该其它实现中,第二组压缩技术与第一组压缩技术不相同。例如,在一个实现中,第一组压缩技术与MPEG-2相关联,而第二组压缩技术与WMV相关联。
示例性操作环境
图14示出了其中可全部或部分地实现高效数字视频译码的合适的计算环境的一个示例。示例性计算环境1400仅为适用于图4的示例性系统400的计算环境的一个示例,并非对此处所描述的系统和方法的使用范围或功能提出任何局限。也不应将计算环境1400解释为对计算环境1400中示出的任一组件或其组合具有任何依赖或需求。
此处所描述的方法和系统可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、多处理器系统、基于微处理器的系统、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。该框架的紧致或子集版本也可在诸如手持式计算机或其它计算设备等有限资源的客户机中实现。本发明在其中任务由通过通信网络链接的远程处理设备来执行的网络化计算环境中实施。
参考图14,提供高效数字视频译码体系结构的一个示例性系统包括计算机1410形式的通用计算设备,它实现例如与图1的计算设备102相关联的发起操作。计算机1410的组件可包括但不限于,处理单元1418、系统存储器1430以及将包括系统存储器的各类系统组件耦合至处理单元1418的系统总线1421。系统总线1421可以是若干种总线结构中的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中的任一种的局部总线。作为示例而非局限,这类体系结构可包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、以及外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机1410通常包括各种计算机可读介质。计算机可读介质可以是可由计算机1410访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机1410访问的任一其它介质。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器1430包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)1431和随机存取存储器(RAM)1432。基本输入/输出系统1433(BIOS)包括如在启动时帮助在计算机1410内的元件之间传输信息的基本例程,它通常储存在ROM 1431中。RAM 132通常包含处理单元1418立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图14示出了操作系统1434、应用程序1435、其它程序模块1436和程序数据1437。
计算机1410也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图14示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器1441,对可移动、非易失性磁盘1452进行读写的磁盘驱动器1451,以及对可移动、非易失性光盘1456,如CD ROM或其它光介质进行读写的光盘驱动器1455。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器1441通常通过不可移动存储器接口,如接口1440连接到系统总线1421,磁盘驱动器1451和光盘驱动器1455通常通过可移动存储器接口,如接口1450连接到系统总线1421。
上文讨论并在图14中示出的驱动器及其相关联的计算机存储介质为计算机1410提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图14中,示出硬盘驱动器1441储存操作系统1444、应用程序1445、其它程序模块1446和程序数据1447。注意,这些组件可以与操作系统1434、应用程序1435、其它程序模块1436和程序数据1437相同,也可以与它们不同。这里对操作系统1444、应用程序1445、其它程序模块1446和程序数据1447给予不同的标号来说明至少它们是不同的副本。
用户可以通过输入设备,如键盘1462和定位设备1461(通常指鼠标、跟踪球或触摸垫)向计算机1410输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、图形笔和垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线1421的用户输入接口1460连接至处理单元1418,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。在这一实现中,监视器1491或其它类型的用户界面设备也通过接口,如视频接口1490连接至系统总线1421。
计算机1410可以使用到一个或多个远程计算机,如远程计算机1480的逻辑连接在网络化环境中操作。在一个实现中,远程计算机1480代表如图1所示的应答机的计算设备106。远程计算机1480可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并且根据其特定实现,可包括许多或所有以上相对于计算机1410所描述的元件,尽管在图14中仅示出了存储器存储设备1481。图14描述的逻辑连接包括局域网(LAN)1481和广域网(WAN)1473,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机1410通过网络接口或适配器1470连接至LAN 1471。当在WAN网络环境中使用时,计算机1410通常包括调制解调器1472或用于通过WAN 1473,如因特网建立通信的其它装置。调制解调器1472可以是内置或外置的,它通过用户输入接口1460或其它适当的机制连接至系统总线1421。在网络化环境中,相对于计算机1410所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非局限,图14示出远程应用程序1485驻留在存储器设备1481上。示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
结论
尽管以上各节以对结构特征和/或方法操作或动作专用的语言描述了高效数字视频译码体系结构,但是所附权利要求书中定义的实现不一定限于所描述的具体特征或动作。相反,所描述的高效集成数字视频译码体系结构的具体特征和操作是作为实现所要求保护的主题的示例性形式来公开的。
例如,在一个实现中,所描述的快速且高质量的译码系统和方法,包括译码、任意大小的缩小以及速率降低用于MPEG-2到MPEG-4译码和MPEG-4到WMV译码。例如,图6中的简化的闭环DCT域译码器可用于将MPEG-4译码成WMV。MPEG-2(IS-13818,第2部分)之间的一个区别在于MPEG-2仅在MC中利用了半像素元素(pel)MV精度和双线性内插;在WMV中有这一相同的模式(半pel双线性)。然而,MPEG-4支持半pel和四分之一pel MV精度,以及用于四分之一pel位置的内插(与WMV中的不同)。为解决这一区别,当MPEG-4视频使用1/2pel MV时,则译码过程与MPEG-2到WMV译码相同,如上所述。另外,当MPEG-4视频中包含1/4pel MV时,则由于如上参考图6所描述的MC中的不同内插方法而引入误差。另外,以上相对于图10所描述的具有全漂移补偿的简化的2∶1缩小译码器适用于独立于改变的MPEG-4到WMV 2∶1尺寸缩小译码。此外,包括上述图12的速率降低和任意缩小译码操作的高质量译码可有效地用于MPEG-4到WMV译码。

Claims (20)

1.一种计算机实现的方法,包括:
由集成译码器接收已编码比特流;以及
由所述集成译码器如下译码所述已编码比特流:
由所述集成译码器部分地解码所述已编码比特流以生成一中间数据流,所述已编码比特流是用与第一媒体格式相关联的第一组压缩技术来编码的;以及
由所述集成译码器使用第二组压缩技术来编码所述中间数据流以生成经译码的比特流,所述第二组压缩技术对应于第二媒体格式。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述第一媒体格式是MPEG-2,而所述第二媒体格式是MWV。
3.如权利要求1所述的计算机实现的方法,其特征在于,所述第一媒体格式是MPEG-2,而所述第二媒体格式是MPEG-4。
4.如权利要求1所述的计算机实现的方法,其特征在于,所述集成译码器是经由适当的误差补偿来防止误差传播的闭环译码器。
5.如权利要求1所述的计算机实现的方法,其特征在于,所述集成译码器是不防止误差传播的开环译码器。
6.如权利要求1所述的计算机实现的方法,其特征在于,所述集成译码器在缩放组件中合并分别与所述第一和第二媒体格式相关联的第一和第二变换。
7.如权利要求1所述的计算机实现的方法,其特征在于,译码还包括动态地打开或关闭与残留误差补偿相关联的一个或多个操作,以分别提高所述译码的质量或速度。
8.如权利要求1所述的计算机实现的方法,其特征在于,译码实现残留误差补偿,并且其中译码还包括:
响应于确定正在处理早期参考帧,动态地调整一个或多个操作以用高质量和低速度来译码所述早期参考帧;以及
其中,所述操作包括块重新量化误差累积、累积误差的运动补偿、以及确定是否要编码一特定块的早期检测。
9.如权利要求1所述的计算机实现的方法,其特征在于,译码实现残留误差补偿,并且其中译码还包括以下的一个或多个:
响应于一基于阈值的漂移控制机制,动态地打开或关闭到残留误差缓冲区中的块重新量化误差累积;
响应于对块活动的评估,动态地打开或关闭所述残留误差缓冲区中的累积误差的运动补偿;以及
响应于基于经运动补偿的累积残留误差和从所述部分解码重构的残留之和的确定,动态地打开或关闭确定是否要编码块的早期检测。
10.如权利要求1所述的计算机实现的方法,其特征在于,部分解码还包括:
对所有帧用与输入帧大小成比例的已编码帧大小来实现速率控制;以及
其中,所述速率控制提供了对目标帧大小和实际所得帧大小之间的累积差的持续补偿。
11.如权利要求1所述的计算机实现的方法,其特征在于,还包括:
丢弃高离散余弦变换(DCT)系数以在DCT域中缩小所述中间数据流;以及
其中,不执行显式像素域缩小。
12.如权利要求1所述的计算机实现的方法,其特征在于,译码还包括独立于混合块处理和对应的解码循环从所述已编码比特流中重构全分辨率图片来缩小所述已编码比特流的块。
13.如权利要求1所述的计算机实现的方法,其特征在于,译码还包括实现二级缩小操作以获得任意缩小目标比率。
14.如权利要求13所述的计算机实现的方法,其特征在于,所述二级缩小操作还包括:
在DCT域解码循环中实现第一级缩小操作;以及
在像素域中在所述解码循环之外执行第二级缩小操作。
15.如权利要求13所述的计算机实现的方法,其特征在于,所述二级缩小操作还包括:
执行第一级缩小操作以获得作为所述任意缩小目标比率的中间结果的第一结果;
将所述第一结果输入到解码循环中;以及
在空间域中实现第二级缩小操作以获得所述任意缩小目标比率。
16.一种计算机实现的方法,包括:
由集成译码器如下译码已编码比特流:
由所述集成译码器部分地解码所述已编码比特流以生成中间数据流,所述已编码比特流是用与第一媒体格式相关联的第一组压缩技术来编码的;
由所述集成译码器使用第二组压缩技术来编码所述中间数据流以生成经译码的比特流,所述第二变换对应于第二媒体格式;以及
其中,所述集成译码器在一缩放组件中合并分别与所述第一和第二媒体格式相关联的第一和第二变换。
17.如权利要求16所述的计算机实现的方法,其特征在于,所述第一媒体格式是MEPG-2,而所述第二媒体格式是WMV。
18.如权利要求16所述的计算机实现的方法,其特征在于,译码还包括:
动态地打开或关闭与残留误差补偿相关联的一个或多个操作以分别提高所述译码的质量或速度;以及
其中所述一个或多个操作是基于以下的一个或多个来切换打开或关闭的:
基于阈值的漂移控制机制;
块活动水平的评估;以及
经运动补偿的累积残留误差和从解码操作重构的残留之和。
19.如权利要求16所述的计算机实现的方法,其特征在于,还包括:
在解码循环的DCT域中缩小与所述已编码比特流相关联的数据;或者
在二级缩小过程中缩小所述数据,所述二级缩小过程包括:
在第一级中在DCT域中缩小所述数据;以及
在空间域中降低所述第一级的经缩小结果的分辨率。
20.一种计算机实现的方法,包括:
由集成译码器部分地解码已编码比特流以生成中间数据流,所述已编码比特流是用与第一媒体格式相关联的第一组压缩技术来编码的,所述部分解码包括:
在解码循环的DCT域中缩小比特流数据;
确定是否在空间域中在所述解码循环的外部进一步缩减所述比特流数据,所述确定包括:
在空间域中降低所述DCT域的经缩小的比特流数据的分辨率;或者
允许所述DCT域的经缩小的比特流数据通过而不进一步降低分辨率;
由所述集成译码器使用第二组压缩技术来编码所述中间数据流以生成经译码的比特流,所述第二组压缩技术对应于第二媒体格式。
CN2006800335583A 2005-09-14 2006-09-13 集成数字译码方法 Active CN101263718B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/226,590 US8447121B2 (en) 2005-09-14 2005-09-14 Efficient integrated digital video transcoding
US11/226,590 2005-09-14
PCT/US2006/035640 WO2007033242A1 (en) 2005-09-14 2006-09-13 Efficient integrated digital video transcoding

Publications (2)

Publication Number Publication Date
CN101263718A true CN101263718A (zh) 2008-09-10
CN101263718B CN101263718B (zh) 2010-12-08

Family

ID=37855070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800335583A Active CN101263718B (zh) 2005-09-14 2006-09-13 集成数字译码方法

Country Status (9)

Country Link
US (1) US8447121B2 (zh)
EP (1) EP1925163B1 (zh)
JP (1) JP4955686B2 (zh)
KR (1) KR101279755B1 (zh)
CN (1) CN101263718B (zh)
AU (1) AU2006291017A1 (zh)
BR (1) BRPI0616823A2 (zh)
CA (1) CA2621423C (zh)
WO (1) WO2007033242A1 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136417B2 (en) 2002-07-15 2006-11-14 Scientific-Atlanta, Inc. Chroma conversion optimization
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
US7676590B2 (en) * 2004-05-03 2010-03-09 Microsoft Corporation Background transcoding
US7669121B2 (en) * 2005-01-19 2010-02-23 Microsoft Corporation Transcode matrix
US7558463B2 (en) * 2005-04-18 2009-07-07 Microsoft Corporation Retention of information about digital-media rights in transformed digital media content
US7738766B2 (en) * 2005-04-18 2010-06-15 Microsoft Corporation Sanctioned transcoding of digital-media content
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US7924913B2 (en) * 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US7830800B1 (en) 2006-01-12 2010-11-09 Zenverge, Inc. Architecture for combining media processing with networking
US8102916B1 (en) 2006-01-12 2012-01-24 Zenverge, Inc. Dynamically changing media compression format in compressed domain
JP2009526436A (ja) * 2006-02-06 2009-07-16 トムソン ライセンシング ビデオ符号化向けの動き予測の予測子として利用可能な動き情報を再使用する方法及び装置
WO2007105362A1 (ja) * 2006-03-07 2007-09-20 Nec Corporation 動画像配信システムおよび変換装置
US8311114B1 (en) 2006-12-06 2012-11-13 Zenverge, Inc. Streamlined transcoder architecture
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
US20130101023A9 (en) * 2007-03-12 2013-04-25 Vixs Systems, Inc. Video encoder with video decoder reuse and method for use therewith
US8457958B2 (en) * 2007-11-09 2013-06-04 Microsoft Corporation Audio transcoder using encoder-generated side information to transcode to target bit-rate
WO2009097284A1 (en) * 2008-02-01 2009-08-06 Zenverge, Inc. Intermediate compression of reference frames for transcoding
US8265168B1 (en) 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
JP2009260818A (ja) * 2008-04-18 2009-11-05 Nec Corp サーバ装置とコンテンツ配信方法とプログラム
US8831101B2 (en) * 2008-08-02 2014-09-09 Ecole De Technologie Superieure Method and system for determining a metric for comparing image blocks in motion compensated video coding
US8279925B2 (en) 2008-09-22 2012-10-02 Smith Micro Software, Inc. Video streaming apparatus with quantization and method thereof
BRPI0917087A2 (pt) * 2008-09-22 2016-06-14 Avot Media Inc dispositivo de transmissão de vídeo com quantização e método de quantização
US8295345B2 (en) 2008-09-22 2012-10-23 Smith Micro Software, Inc. Transcoder unit and method
US8345746B2 (en) 2008-09-22 2013-01-01 Smith Micro Software, Inc. Video quantizer unit and method thereof
US8645822B2 (en) * 2008-09-25 2014-02-04 Microsoft Corporation Multi-platform presentation system
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8687685B2 (en) 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
JPWO2010131537A1 (ja) * 2009-05-11 2012-11-01 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、方法およびプログラム、並びに、動画像復号化装置、方法およびプログラム
US8494056B2 (en) * 2009-05-21 2013-07-23 Ecole De Technologie Superieure Method and system for efficient video transcoding
US9100656B2 (en) 2009-05-21 2015-08-04 Ecole De Technologie Superieure Method and system for efficient video transcoding using coding modes, motion vectors and residual information
WO2010141025A1 (en) * 2009-06-05 2010-12-09 Hewlett-Packard Development Company, L.P. Applying transcodings in a determined order to produce output files from a source file
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
TWI401972B (zh) * 2009-06-23 2013-07-11 Acer Inc 時間性錯誤隱藏方法
US8340191B2 (en) * 2009-09-25 2012-12-25 General Instrument Corporation Transcoder from first MPEG stream to second MPEG stream
KR101675118B1 (ko) 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US8553763B2 (en) 2010-06-10 2013-10-08 Sony Corporation Iterative computation of adaptive interpolation filter
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US8755438B2 (en) 2010-11-29 2014-06-17 Ecole De Technologie Superieure Method and system for selectively performing multiple video transcoding operations
US8571099B2 (en) * 2011-06-01 2013-10-29 Sharp Laboratories Of America, Inc. Decoder with dynamic range compensation
US20120307889A1 (en) * 2011-06-01 2012-12-06 Sharp Laboratories Of America, Inc. Video decoder with dynamic range adjustments
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US8812740B2 (en) * 2012-03-30 2014-08-19 Broadcom Corporation Communication over bandwidth-constrained network
US9998750B2 (en) * 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
WO2015056296A1 (ja) 2013-10-15 2015-04-23 株式会社 東芝 電子機器および通信制御方法
US9485456B2 (en) 2013-12-30 2016-11-01 Akamai Technologies, Inc. Frame-rate conversion in a distributed computing system
FR3016764B1 (fr) * 2014-01-17 2016-02-26 Sagemcom Broadband Sas Procede et dispositif de transcodage de donnees video de h.264 vers h.265
US9438910B1 (en) 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
US10136147B2 (en) 2014-06-11 2018-11-20 Dolby Laboratories Licensing Corporation Efficient transcoding for backward-compatible wide dynamic range codec
US20160041993A1 (en) * 2014-08-05 2016-02-11 Time Warner Cable Enterprises Llc Apparatus and methods for lightweight transcoding
US10958948B2 (en) 2017-08-29 2021-03-23 Charter Communications Operating, Llc Apparatus and methods for latency reduction in digital content switching operations
US11368692B2 (en) * 2018-10-31 2022-06-21 Ati Technologies Ulc Content adaptive quantization strength and bitrate modeling
EP4066495A4 (en) 2019-12-26 2023-02-01 ByteDance Inc. PROFILE-LEVEL-LEVEL PARAMETER SET FOR VIDEO ENCODING
US11503322B2 (en) 2020-08-07 2022-11-15 Samsung Display Co., Ltd. DPCM codec with higher reconstruction quality on important gray levels
US11509897B2 (en) 2020-08-07 2022-11-22 Samsung Display Co., Ltd. Compression with positive reconstruction error

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9703849L (sv) 1997-03-14 1998-09-15 Ericsson Telefon Ab L M Nedskalning av bilder
JPH1173410A (ja) 1997-06-16 1999-03-16 Sony Corp ディジタル信号変換方法及び装置並びに変換行列作成方法
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
JP3821415B2 (ja) 1998-09-30 2006-09-13 日本ビクター株式会社 動画像フォーマット変換装置及びその方法
KR100312421B1 (ko) 1998-11-25 2001-12-12 오길록 영상시스템에서의압축동영상변환장치및그방법
US6618442B1 (en) 1998-12-29 2003-09-09 Intel Corporation Method and apparatus for transcoding digital video signals
JP2001145113A (ja) 1999-11-17 2001-05-25 Sony Corp 画像情報変換装置及び方法
JP2003520513A (ja) 2000-01-12 2003-07-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像データの圧縮
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7266148B2 (en) 2001-01-05 2007-09-04 Lg Electronics Inc. Video transcoding apparatus
GB2369952B (en) * 2001-03-10 2002-12-04 Ericsson Telefon Ab L M Transcoding of video signals
US6671322B2 (en) 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction
US20030043908A1 (en) 2001-09-05 2003-03-06 Gao Cheng Wei Bandwidth scalable video transcoder
JP4082025B2 (ja) 2001-12-18 2008-04-30 日本電気株式会社 圧縮動画像の再符号化方法及び装置
JP4275358B2 (ja) 2002-06-11 2009-06-10 株式会社日立製作所 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
JP2006524000A (ja) 2003-04-17 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオトランスコーディング
US20050132264A1 (en) * 2003-12-15 2005-06-16 Joshi Ajit P. System and method for intelligent transcoding
US7391809B2 (en) * 2003-12-30 2008-06-24 Microsoft Corporation Scalable video transcoding
TWI230547B (en) 2004-02-04 2005-04-01 Ind Tech Res Inst Low-complexity spatial downscaling video transcoder and method thereof
US20050175099A1 (en) * 2004-02-06 2005-08-11 Nokia Corporation Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding
US20050232497A1 (en) 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
US20060140274A1 (en) * 2004-12-29 2006-06-29 Mediatek Incorporation Transcoder and method used therein

Also Published As

Publication number Publication date
CA2621423A1 (en) 2007-03-22
EP1925163A4 (en) 2010-02-03
WO2007033242A1 (en) 2007-03-22
EP1925163A1 (en) 2008-05-28
JP2009508445A (ja) 2009-02-26
AU2006291017A1 (en) 2007-03-22
US20070058718A1 (en) 2007-03-15
US8447121B2 (en) 2013-05-21
KR101279755B1 (ko) 2013-07-04
CA2621423C (en) 2014-12-09
CN101263718B (zh) 2010-12-08
JP4955686B2 (ja) 2012-06-20
KR20080055820A (ko) 2008-06-19
BRPI0616823A2 (pt) 2011-07-05
EP1925163B1 (en) 2017-11-29

Similar Documents

Publication Publication Date Title
CN101263718B (zh) 集成数字译码方法
CN101263717A (zh) 任意分辨率改变尺寸缩小解码器
CN102084655B (zh) 通过过滤器选择进行的视频编码
US9654796B2 (en) Method and apparatus for encoding and decoding image through intra prediction
CN101601300B (zh) 用自适应增强层预测对位深度可分级视频数据进行编码和/或解码的方法和设备
CN100553321C (zh) 编码动态滤波器
TWI568271B (zh) 用於視訊編碼之延伸空間可縮放性之改良式層間預測技術
US20070071096A1 (en) Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels
JP6079860B2 (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
CN105432077A (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
CN105230023A (zh) 色彩空间、色彩采样率和/或比特深度的自适应切换
CN101658044A (zh) 以低编码器和解码器复杂度进行视频编码的高精度运动矢量
WO2011086836A1 (ja) 符号化装置、復号装置、および、データ構造
JP4438749B2 (ja) 符号化装置、符号化方法およびプログラム
JP4209134B2 (ja) 圧縮ビットストリームをアップサンプリングする方法および装置
CN102474616B (zh) 用于生成、解码和转码经编码的视频数据流的方法和装置
KR20110024574A (ko) 통합 영상 부호화 방법 및 장치
JP2005236584A (ja) 動画像情報変換符号化装置
JP5682582B2 (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム、並びに、受信装置、受信方法及び受信プログラム
KR20100032235A (ko) 압축영상 트랜스코딩 방법 및 장치
WO2006118114A1 (ja) 画像復号方法、その装置及びプログラム
KR20120057635A (ko) 제1 mpeg 스트림으로부터 제2 mpeg 스트림으로의 트랜스코더

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150427

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150427

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.