首页 / 专利库 / 广播 / 帧内预测 / 高保真代码转换

高保真代码转换

阅读:545发布:2023-12-16

专利汇可以提供高保真代码转换专利检索,专利查询,专利分析的服务。并且描述了一种高保真代码转换技术。例如,一视频代码转换器获取源格式压缩视频的重新编码数据集元素,并在以目标格式压缩该视频时使用这些元素用于编码决策和/或等效的参数。这允许跨两种格式维持句法元素和编码决策,包括图像类型、 帧 内/帧间宏 块 编码类型、半帧/帧编码决策和/或量化级别。这帮助了代码转换器在源和目标格式之间匹配压缩视频的 质量 ,从而降低了代码转换损失。同时,代码转换器给予目标格式 编码器 充分利用额外的 压缩机 会来降低总体比特率的 自由度 。代码转换器可应用成比例的速率控制,以产生恒定或相对恒定比特率的输出。,下面是高保真代码转换专利的具体信息内容。

1.一种用于将视频从源格式代码转换成较低比特率的目标格式的方法,其特 征在于,所述方法包括:
获取源格式的压缩视频的多个单元的类型值;
解压源格式的压缩视频;以及
重新压缩所述视频以产生目标格式的压缩视频,包括至少部分地基于所获取 的类型作出第一编码决策以帮助在目标格式和源格式的相应压缩视频之间进行匹 配,并还包括独立地作出第二编码决策以利用目标格式的压缩效率来降低比特率。
2.如权利要求1所述的方法,其特征在于,获取所述类型值包括对所述源格 式压缩视频进行语法分析。
3.如权利要求1所述的方法,其特征在于,独立地作出第二编码决策包括计 算用于运动补偿的新运动矢量,并且其中,对来自所述源格式压缩视频的运动矢量 信息的使用加快了用于计算所述新运动矢量的运动估计的速度。
4.如权利要求3所述的方法,其特征在于,所述运动估计和补偿使用了循环 滤波和亮度补偿。
5.如权利要求3所述的方法,其特征在于,所述运动估计和补偿使用每宏 多达四个运动矢量,以及四分之一像素的运动矢量精度
6.如权利要求1所述的方法,其特征在于,独立地作出第二编码决策包括选 择可变大小频率变换的大小。
7.如权利要求1所述的方法,其特征在于,独立地作出第二编码决策包括为 运动矢量或预测余量选择预测模式。
8.如权利要求1所述的方法,其特征在于,所述解压包括对所述压缩视频进 行全解压。
9.如权利要求1所述的方法,其特征在于,所述源格式的压缩和所述目标格 式的压缩使用了不同的频率变换。
10.如权利要求1所述的方法,其特征在于,所述源格式的压缩和所述目标 格式的压缩使用了不同的熵编码
11.一种储存计算机可执行指令的计算机可读介质,所述计算机可执行指令 用于促使用其编程的计算机系统执行权利要求1所述的方法。
12.如权利要求1所述的方法,其特征在于,所述多个单元是视频图像,并 且其中,所述类型值是包括I图像、P图像和B图像的图像类型值。
13.如权利要求1所述的方法,其特征在于,对于基本上所有的一个或多个 视频图像,所述目标格式压缩视频的比特率在逐图像的基础上等于或低于所述源格 式压缩视频的比特率。
14.如权利要求1所述的方法,其特征在于,所述多个单元是宏块,并且其 中,所述多个类型值是宏块编码类型值。
15.如权利要求14所述的方法,其特征在于,所述宏块包括内编码宏块和 帧间编码宏块,并且其中,所述宏块编码类型值包括帧内和帧间。
16.如权利要求1所述的方法,其特征在于,所述源格式是MPEG-2格式, 并且所述目标格式是WMV9格式。
17.一种将视频从第一格式代码转换成较低比特率的第二格式的方法,其特 征在于,所述方法包括:
获取所述第一格式压缩视频的多个图像的图像类型值;
对所述第一格式压缩视频完全解压;以及
重新压缩所述视频以产生第二格式的压缩视频,包括至少部分地基于所获得 的图像类型值作出图像类型决策,还包括执行运动估计和补偿以利用第二格式的压 缩效率来降低比特率。
18.如权利要求17所述的方法,其特征在于,所述第二格式的运动估计和补 偿与所述第一格式的运动估计和补偿在循环滤波的使用、每一宏块的运动矢量数、 亮度补偿的使用和/或运动矢量精度方面不同。
19.如权利要求17所述的方法,其特征在于,所述第一格式和所述第二格式 使用不同的频率变换。
20.一种储存了计算机可执行指令的计算机可读介质,所述计算机可执行指 令用于促使用其编程的计算机系统执行权利要求17所述的方法。
21.如权利要求17所述的方法,其特征在于,所述图像类型值包括I图像、 P图像和B图像。
22.如权利要求17所述的方法,其特征在于,所述重新压缩包括使用所述图 像类型值以在所述第一格式的压缩视频和所述第二格式的压缩视频之间匹配一个 或多个图像位置
23.如权利要求17所述的方法,其特征在于,所述重新压缩包括使用所述图 像类型以在所述第一格式的压缩视频和所述第二格式的压缩视频之间匹配图像结 构组。
24.一种对视频进行代码转换的方法,其特征在于,包括:
获取第一格式的压缩视频的帧/半帧信息;
对所述第一格式的压缩视频完全解压;以及
重新压缩所述视频以产生与所述第一格式不同的第二格式的压缩视频,包括 至少部分地基于所获取的帧/半帧信息作出编码决策以帮助将所述第二格式的压缩 视频的质量与所述第一格式的压缩视频的质量进行匹配。
25.如权利要求24所述的方法,其特征在于,所述重新压缩包括在所述第二 格式的压缩视频中在宏块级设置半帧/帧类型。
26.如权利要求24所述的方法,其特征在于,所述重新压缩包括在所述第二 格式的压缩视频中在图像层设置半帧/帧类型。
27.如权利要求24所述的方法,其特征在于,所述第二格式的压缩视频具有 的比特率低于所述第一格式的压缩视频的比特率。
28.如权利要求24所述的方法,其特征在于,所述重新压缩包括执行运动估 计和运动补偿以利用所述第二格式的压缩效率来降低比特率。
29.一种储存计算机可读指令的计算机可读介质,所述计算机可读指令用于 促使用其编程的计算机系统执行权利要求24所述的方法。
30.一种对视频进行代码转换的方法,其特征在于,包括:
获取第一格式的压缩视频的量化级别;
对所述第一格式的压缩视频解压;以及
重新压缩所述视频以产生第二格式的压缩视频,包括至少部分地基于所获取 的量化级别设置所述第二格式压缩视频的量化级别,其中,所述第一格式的压缩和 所述第二格式的压缩使用了不同的频率变换。
31.如权利要求30所述的方法,其特征在于,所述第一格式的压缩使用了 DCT,而所述第二格式的压缩使用了快速整数变换。
32.一种储存计算机可执行指令的计算机可读介质,所述计算机可执行指令 用于促使由其编程的计算机系统执行权利要求30所述的方法。
33.如权利要求30所述的方法,其特征在于,所获取的量化级别用于所述第 一格式的压缩视频的宏块。
34.如权利要求30所述的方法,其特征在于,所述重新压缩包括至少部分地 基于所获取的量化级别的平均值设置所述第二格式压缩视频的视频图像的量化级 别。
35.如权利要求30所述的方法,其特征在于,所述重新压缩包括至少部分地 基于所获取的量化级别之一设置所述第二格式压缩视频的宏块的量化级别。
36.如权利要求30所述的方法,其特征在于,还包括在应用所述量化级别前 调整所获取的量化级别用于速率控制。
37.如权利要求30所述的方法,其特征在于,考虑所获取的量化级别有助于 将所述第二格式压缩视频的质量与所述第一格式的压缩视频的质量进行匹配。
38.一种对视频进行代码转换的方法,其特征在于,包括:
获取第一格式的压缩视频的多个宏块的每宏块量化级别;
对所述第一格式压缩视频进行解压;以及
重新压缩所述视频以产生第二格式的压缩视频,包括至少部分地基于所获取 的量化级别设置所述第二格式的压缩视频的对应宏块的量化级别。
39.一种储存计算机可执行指令的计算机可读介质,所述计算机可执行指令 用于促使用其编程的计算机系统执行权利要求38所述的方法。
40.如权利要求38所述的方法,其特征在于,所述第二格式使用了在宏块层 的差分量化级别信令。
41.如权利要求38所述的方法,其特征在于,所述量化级别是量化步长大小。
42.如权利要求38所述的方法,其特征在于,还包括在应用所述量化级别之 前调整所获取的量化级别用于速率控制。
43.一种对视频进行代码转换的方法,其特征在于,包括:
获取第一格式的压缩视频的量化级别;
对所述第一格式的压缩视频进行解压;以及
重新压缩所述视频以产生第二格式的压缩视频,包括将所述第二格式的压缩 视频量化到可与所获取的量化级别比较的程度,以减少所述第一和第二格式的相应 压缩视频之间的质量差异,其中,所述第二格式的压缩效率与所述第一格式的压缩 视频相比,充分地降低了所述第二格式的压缩视频的比特率。
44.如权利要求43所述的方法,其特征在于,包括对所述第一和第二格式的 相应压缩视频,在图像级跟踪量化或比特率。
45.如权利要求43所述的方法,其特征在于,包括对所述第一和第二格式的 相应压缩视频,在宏块级跟踪量化或比特率。
46.如权利要求42所述的方法,其特征在于,所述第二格式的压缩效率与所 述第一格式的压缩视频相比,将所述第二格式的压缩视频的比特率降低了至少 20%。
47.如权利要求43所述的方法,其特征在于,所述第二格式的压缩视频和所 述第一格式的压缩视频之间的质量总体差异低于可视性阈值
48.如权利要求43所述的方法,其特征在于,所述第二格式的运动估计和运 动补偿在循环滤波的使用、每一宏块的运动矢量数、亮度补偿的使用和/或运动矢 量精度方面不同于所述第一格式的运动估计和补偿。
49.如权利要求43所述的方法,其特征在于,所述第二格式的压缩使用了可 变大小的频率变换。
50.如权利要求43所述的方法,其特征在于,所述第二格式的压缩和所述第 一格式的压缩对运动矢量和/或预测余量使用了不同的预测模式。
51.如权利要求43所述的方法,其特征在于,所述第二格式的压缩和所述第 一格式的压缩使用了不同的熵编码。
52.一种储存计算机可执行指令的计算机可读介质,所述计算机可执行指令 用于促使用其编程的计算机系统执行权利要求43所述的方法。
53.一种对视频进行代码转换的方法,其特征在于,包括:
对第一格式的压缩视频进行解压;以及
使用具有默认一次通过可变比特率编码的第二格式编码器重新压缩所述视频 以产生第二格式的压缩视频,包括通过与一个或多个速率控制准则成比例地改变质 量和比特率来调节所述第二格式编码器的压缩参数,以产生恒定或相对恒定比特率 的第二格式压缩视频。
54.如权利要求53所述的方法,其特征在于,所述一个或多个速率控制准则 至少部分地基于缓冲区充满程度值。
55.如权利要求53所述的方法,其特征在于,所述一个或多个速率控制准则 至少部分地基于分配的比特和对先前的视频所使用的比特之间的偏差。
56.一种储存计算机可执行指令的计算机可读介质,所述计算机可执行指令 用于促使用其编程的计算机系统执行权利要求53所述的方法。

说明书全文

技术领域

描述了高保真代码转换。例如,一种视频代码转换器从源格式的压缩视频中 提取句法元素,并使用句法元素用于在压缩目标格式的视频时对决策进行编码。

背景技术

随着通过因特网对DVD和视频传递的引入,数字视频变得越来越常见。工程 师使用各种技术来有效地处理数字视频,同时维持其质量。为理解这些技术,理解 计算机中如何表示并处理视频信息是有帮助的。
I.计算机中视频信息的表示
计算机将视频信息作为表示信息的一系列数字来处理。单个数字通常表示图 像的一个图像元素[“像素”]的亮度值。有若干因素影响视频信息的质量,包括样 值深度、分辨率速率。
样值深度(或精度)指示用于表示样值的数字的范围。当对于样值可能的值 越多,则质量越高,因为数字可捕捉亮度中微小的变化。具有较高分辨率的视频往 往看上去比其它视频更清新,而具有较高帧速率的视频往往看上去比其它视频更平 滑。对于所有这些因素,对高质量的折衷是储存和发送信息的成本,如表1所示。   每像素比特数   分辨率   帧速率   比特率   8(值0-255)   160×120像素   7.5   1.2Mbit/s   24(值0-16,777,215)   240×176像素   15   15.2Mbit/s   24(值0-16,777,215)   352×288像素   30   73Mbit/s
            表1:对原始视频的不同质量级别的比特率
诸如用于HDTV的高分辨率格式对原始视频使用甚至更高的比特率。尽管比 特率很高,然而公司和消费者越来越依赖于计算机来创建、编辑、分发和回放视频 内容。为此,工程师使用压缩(也称为编码)来降低数字视频的比特率。压缩通过 将信息转换成较低比特率的形式降低了储存和发送信息的成本。解压(也称为解码) 从压缩的形式重建原始信息的版本。压缩的两种类别为无损和有损。
无损压缩通过去除冗余度来降低信息的比特率。例如,10个红色像素的序列 在压缩中被表示为用于“红”的代码和数字10,并且该序列较佳地在解压中重建。 无损压缩降低了比特率而不损害质量,但是只能将比特率降低到某一点。比特率的 降低受信息复杂度的限制。熵编码是无损压缩的另一术语。
相反,采用有损压缩,质量受到损害,但是比特率的降低更显著。例如,10 个像素的序列,其每一个具有红色的略微不同的色调,该序列被近似为具有相同的 “红”色的10个像素。有损压缩可通过去除更多质量来更多地降低比特率,但是 损失的质量无法恢复。有损压缩通常结合无损压缩一起使用一有损压缩降低视频的 复杂度和质量,从而在随后的无损压缩中可以更大程度地降低比特率。例如,10 像素的序列,其每一个具有红色的略微不同的色调,该序列在压缩中被表示为用于 “红”的代码和数字10。在解压中,原始的序列被重建为具有相同的“红”色的 10个像素。
各种国际标准着眼于视频压缩、解压和压缩视频的句法。这些标准包括 MPEG-1、MPEG-2、MPEG-4、H.261、H.262和H.264/AVT/JVT。除这些标准外, 各个公司提供了视频压缩和解压产品。这些产品包括来自微软公司的Windows Media Video工具的各种版本。这些标准和产品的每一个都使用了无损和有损压缩 技术的不同组合,
在过去,广播和电缆行业采用了各种类型的MPEG-2(和MPEG-1)用于视频 内容的采集、提供、生产和传送。结果,尤其是以MPEG-2格式,有大量的传统、 归档的内容。然而,作为一种压缩格式,MPEG-2在与诸如WMV版本9[“WMV9”] 等更新近的格式相比并不特别有效。这些行业越来越多地被WMV9的编码效率以 及WMV9用于广播产品和分发工作流应用的多样性所吸引,这些工作流应用包括 播音(on-air)备份、对机顶盒的视频点播传送、发送回传传输、以及高分辨率视 频的浏览代理的创建。这些行业的问题是如何将传统的MPEG-2内容有效地转换 成WMV9用于更有效的处理和分发。
II.代码转换
不同的设备和终端用户具有不同的存储和发送容量以及不同的质量要求。另 外,不同的设备和终端用户可使用不同的压缩格式。一般而言,代码转换将压缩的 信息从一种比特率、质量或格式转换成另一种比特率、质量或格式的压缩信息。不 同的代码转换器使用不同的技术。
同类代码转换器在代码转换期间对解压和压缩使用同一格式,例如,将高比 特率MPEG-2压缩视频转换成较低比特率的MPEG-2压缩视频。异类代码转换器 对解压和压缩使用不同的格式,例如,将MPEG-2压缩视频转换成H.261压缩视 频。对于同类代码转换器的描述,请参阅例如由Shanableh等人的名为“Transcoding of Video into Different Encoding Formats(将视频代码转换成不同的编码格式)”的 文章。
某些代码转换器完全解压压缩信息,然后完全重新压缩该信息。单纯代码转 换仅层叠解压和重新压缩阶段。其它代码转换器仅部分地解压所压缩的信息、重新 压缩所解压的信息、以及令其它仍被压缩的元素作为代码转换的一部分通过。运动 图像和电视工程师协会[“SMPTE”]产生了一种指定在从MPEG-2压缩视频代码转 换到MPEG-2压缩视频时所使用的信息的标准。该标准列出了MPEG-2句法元素, 以及用于以相同或不同的比特率从MPEG-2压缩视频代码转换成MPEG-2压缩视 频的相关的、导出的参数。见SMPTE的“SMPTE 327M-2000-MPEG-2Video Recoding Data Set(SMPTE 327M-2000-MPEG-2视频记录数据集)”,第9页(2000 年1月)。部分解压代码转换器通常重复使用压缩的信息以降低代码转换过程的复 杂度,从而避免了第二种压缩中诸如运动估计和代码模式判断等资源密集型操作。
在解压之后,可对视频进行重新采样、重新量化或其它处理。尽管这有时候 对于降低比特率或确保格式兼容性是必需的,然而这些处理可引入与第二种压缩相 关联的必要损失之外的损失。例如,假定73Mbit/s的视频被压缩成4Mbit/s的 MPEG-2视频,然后被代码转换成2.8Mbit/s的H.261视频。代码转换损失可使经 代码转换的H.261视频的质量比73Mbit/s视频直接被压缩成2.8Mbit/s的H.261视 频时的质量更差。
即使在代码转换成同一格式时,单纯代码转换通常也引入高代码转换失真。 每次代码转换的质量损失被估算成大约为1-2dB(以峰值信号与噪声之比[“PSNR”] 损失表示)。串接的代码转换可导致在每一次生成时图像质量的损失,并且视频质 量在若干变换之后可能是无法接受的。即使在更温和的复杂度的广播产品链中,5 dB的损失也是常见的。此外,重复的量化过程会导致在各个量化性能损失之上或 之外的总体重新量化性能损失。
关于部分解压代码转换器的更多信息,可参考例如以下文章:(1)Assuncao 等人的“Transcoding of Single-Layer MPEG Video Into Lower Rates(将单层MPEG 视频代码转换成较低的速率)”;以及(2)Keesman等人的“Transeoding of MPEG Bitstreams(MPEG比特流的代码转换)”。关于也使用来自压缩信息的句法元素 来影响第二种压缩中的代码决策的代码转换器的更多信息,可参考例如以下文章: (3)Knee等人的“Seamless Concatenation-A 21st Century Dream(无缝串接-21 世纪的梦想)”;(4)Sun等人的“Architectures for MPEG Compressed bitstream Scaling(用于MPEG压缩比特流缩放的体系结构)”;以及(5)Tudor等人的 “Real-Time Transcoding of MPEG-2Video Bit Streams(MPEG-2视频比特流的实时 代码转换)”。关于通过改变量化来降低比特率的代码转换器的描述,可参考例如 参考文献(3)、(4)和(5),以及以下文章:Assuncao等人的“Buffer Analysis and Control in CBR Video Transcoding(CBR视频代码转换中的缓冲区分析和控 制)”。关于代码转换中的速率控制的描述,可参考例如参考文献(5)和(6)。
不论现有视频代码转换器的优点如何,它们都没有本发明的各个不同方面的 优点。具体地,上文提及的参考文献主要着眼于同类代码转换解决方案,而忽视了 对异类代码转化解决方案的需求。另外,在这些参考文献讨论代码转化中压缩信息 的重复使用时,它们通常强调为降低代码转换复杂度的重复使用。一些参考文献在 降低质量损失方面描述了重复使用,但是未示出在代码转换中如何有效地重复使用 信息,并同时利用第二压缩级的压缩效率。尤其是,在先前的视频代码转换器允许 比特率降低的意义上,质量受损,并且在先前的代码转换器保持了质量的意义上, 在比特率中没有任何降低。先前的视频代码转换器未以既充分地保持质量又充分地 降低比特率的方式来进行代码转换。

发明内容

概括而言,描述了用于高保真代码转换的各种策略。采用这些策略,例如, 视频代码转换器以既充分保持质量又充分降低比特率的方式将视频从源格式代码 转换成目标格式。各种策略可组合使用或单独使用。
依照第一策略,一种工具将视频从源格式代码转换成同一比特率或较低比特 率的目标格式。该工具解压源格式的压缩视频,并获取压缩视频的多个单元的类型 值。该类型值可以是图像类型值、宏编码类型值和/或其它信息。当该工具重新 压缩视频时,该工具至少部分地基于获取的类型值作出某些编码决策,以帮助该工 具匹配目标格式和源格式的压缩视频之间的质量。该工具独立地作出其它编码决 策,以利用目标格式的压缩效率来降低比特率。
依照第二策略,一种工具解压一种格式的压缩视频,并获取该压缩视频的量 化级别。当该工具以另一格式压缩该视频时,该工具将该视频量化到可与所获取的 量化级别比较的程度,以减少格式的压缩视频之间的质量差异。同时,第二种格式 的压缩效率充分地降低了比特率。
依照第三策略,一种工具解压第一格式的压缩视频,并重新压缩该视频。该 工具使用了具有一次通过可变比特率编码的第二格式编码器,但是调节压缩参数来 以恒定或相对恒定的比特率产生第二格式的压缩视频。
当参考附图阅读以下实施例的详细描述时,可以清楚本发明的这些和其它特 征和优点。

附图说明

图1是其中可实现所描述的实施例的合适的计算环境的框图
图2是其中可实现所描述的实施例的视频代码转换器的框图。
图3是代码转换器的DMO体系结构的框图。
图4是结合了图3的代码转换器的滤波器图的框图。
图5所示是在代码转换成目标格式时用于获取并使用源格式压缩视频的重新 编码数据集元素的技术的流程图
图6所示是在代码转换成目标格式时用于获取并使用源格式压缩视频的量化 级别的技术的流程图。
图7所示是代码转换时用于速率控制的技术的流程图。
图8是一个实现中用于成比例的速率控制机制的框图。
图9是另一实现中用于成比例的速率控制机制的伪代码清单。

具体实施方式

所描述的实施例针对的是用于高保真代码转换的技术和工具。例如,视频代 码转换器执行视频第一有损压缩格式到第二有损压缩格式的高保真转换。这允许两 种格式之间的互操作性,同时降低了代码转换损失并充分地保持了质量。同时,第 二格式的压缩效率导致了输出比特率充分地低于输入比特率。
关键的观察来自于在单纯代码转换期间在逐图像的基础上对所使用的比特数 的比较。弹出代码转换中的质量损失部分地起源于两种不同的压缩格式中用于压缩 同一图像的比特数的不一致。当过少的比特用于图像的重新压缩时,引入额外的失 真的险将增加,并且质量损失会影响后续的图像。例如,如果一个图像用作后续 图像的运动补偿的参考图像,则代码转换器必须通过花费额外的比特来对预测图像 的预测剩余量进行编码,以补偿参考图像中的质量损失。另一方面,当过多的比特 用于图像的重新压缩时,保持的“质量”远低于人类观察者的可见度阈值,因此浪 费了可用于其它图像的比特。会造成或加重进行中的比特不足的问题,这很可能会 损害后续图像的质量。
此处描述的各种技术和工具在确定如何有效地使用比特用于重新压缩时,使 用来自或关于源格式压缩视频的信息。该信息可在对源格式压缩视频进行解码过程 中或从另一来源获取或导出。代码转换器中的规则定义了如何使用目标格式句法元 素并基于源格式信息作出编码决策。结果,经代码转换的图像的质量充分地匹配源 格式压缩图像的质量。在对比特率的任何总差异进行调整之后,用于以目标格式压 缩图像的比特数概略地追随用于以源格式压缩同一图像的比特数。
在某些实施例中,代码转换器使用诸如源格式句法元素等信息作为重新编码 期间的暗示(被实现为代码转换规则。这允许跨两种压缩格式维护某些对应的句法 元素和编码决策。通过不将图像压缩到远低于其先前的质量级别之下,代码转换器 降低了引入新的人为干扰的风险(例如,由于太过于粗糙的量化)。代码转换器也 避免分配比特来对噪声编码或保持低于可见阈值的质量。在原始编码器用有损压缩 保存比特的区域中,代码转换的质量被降低,因为以较高质量进行代码转换将不会 对改进原始内容的保真度起任何作用,而是相反会引入量化噪声或放大由第一代码 转换引入的量化噪声。由此,经代码转换的视频遵循容限内输入视频的质量和比特 率模式。
在某些实施例中,代码转换器强迫目标格式编码器使用来自源格式压缩视频 的图像类型(如,I、P或B)用于以目标格式压缩的对应图像。这可帮助代码转 换器匹配源和目标格式之间的压缩视频中的质量,并可帮助保持快进、块倒和其它 访问功能。在某些实施例中,代码转换器在以目标格式压缩时使用来自源格式压缩 视频的宏块间/内编码类型。或者,代码转换器使用来自源格式压缩视频的半帧/帧 编码决策信息。这些技术也可帮助代码转换器匹配源和目标格式之间的压缩视频的 质量。同时,代码转换器给予目标格式编码器充分利用额外的压缩机会来降低总体 比特率的自由度
在某些实施例中,代码转换器将源格式压缩视频的量化级别映射到目标格式 压缩视频。例如,代码转换器将宏块层量化级别映射到目标格式压缩视频的对应宏 块。当格式是MPEG-2和WMV9时,代码转换器可使用WMV9的差分量化器信 令机制将MPEG-2量化级别映射到WMV9宏块。
在某些实施例中,应用对视频编码器的一次通过可变比特率模式的外部、成 比例的速率控制,以用恒定或相对恒定的比特率产生输出。这允许代码转换器以恒 定的比特率模式或可变的比特率模式操作。
在各种示例实现中,视频代码转换器执行MPEG-2编码的视频到WMV9编码 的视频的高保真转换,同时对于典型的序列将比特率降低了20-30%。代码转换器 保持了图像和宏块类型,并仔细地映射量化级别映射以减少代码转换损失。代码转 换对于MPEG-2为主要格式的高质量视频生产者和广播者尤其有用。其它应用涉 及用于一种类型消费者设备(如,PC上的MPEG-2)和另一种类型的消费者设备 (如膝上电脑上的WMV9)的格式之间的代码转换。
可选地,代码转换器执行除MPEG-2到WMV9之外的转换。例如,代码转换 器在MPEG-2和H.264之间、MPEG-2和VC-9之间或另一对视频格式之间进行转 换。或者,代码转换器转换除视频之外的信息。除视频代码转换器之外的处理工具 可实现这些技术的一个或多个。
尽管此处在某些地方描述了各种代码转换技术作为单个、集成系统的一部分, 然而这些技术可被单独、可能与其它技术相组合地应用。此外,尽管为了演示目的 以特定的、顺序次序描述了各种技术的操作,然而可以理解,这一描述方式包含了 操作顺序中微小的重新排列,除非要求特定的排序。例如,顺序地描述的操作在某 些情况下可以被重新排列或并发地执行。此外,为简化的目的,流程图可能未示出 可结合其它技术使用特定技术的各种方式。
I.计算环境
图1示出了其中可实现所描述的实施例的合适的计算环境(100)的概括示例。 计算环境(100)并非暗示对使用范围或功能的任何限制,因为这些技术和工具可 以在不同的通用或专用计算环境中实现。
参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。 在图1中,这一最基本的配置(130)包括在虚线内。处理单元(110)执行计算机 可执行指令,并且可以是真实或虚拟处理器。在多处理器系统中,多个处理单元执 行计算机可执行指令以提高处理能。存储器(120)可以是易失性存储器(如, 寄存器、高速缓存、RAM)、非易失性存储器(如,ROM、EEPROM、闪存等), 或两者的某一组合。存储器(120)储存实现高保真代码转换的软件(180)。
计算环境可以具有额外的特征。在图1中,计算环境(100)包括存储(140)、 一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连 接(170)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(100)的 组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软 件提供了操作环境,并协调了计算环境(100)中的组件的活动。
存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁盒、CD-ROM、 CD-RW、DVD或可用于储存信息并可在计算环境(100)内访问的任一其它机制。 存储(140)储存软件(180)的指令。
输入设备(150)可以是诸如键盘鼠标、笔或跟踪球等触摸式输入设备、语 音输入设备、扫描设备或向计算环境(100)提供输入的另一设备。对于音频或视 频,输入设备(150)可以是声卡、视频卡、TV调谐卡或接受模拟或数字形式的 音频或视频输入的类似设备,或者将音频或视频样值读入到计算环境(100)中的 CD-ROM或CD-RW。输出设备(160)可以是显示器、打印机、扬声器、CD刻录 机或提供来自计算环境(100)的输出的另一设备。
通信连接(170)启用了通过通信介质到另一计算实体的通信。通信介质在已 调制数据信号中传达诸如计算机可执行指令、音频或视频输入或输出或其它数据等 信息。已调制数据信号是以对信号中的信息进行编码的方式设置或改变其一个或多 个特征的信号。作为示例而非局限,通信介质包括用电学、光学、RF红外、声学 或其它载波实现的有线或无线技术。
这些技术和工具可在计算机可读介质的通用上下文中描述。计算机可读介质 是可在计算环境内访问的任何可用介质。作为示例而非局限,对于计算环境(100), 计算机可读介质包括存储器(120)、存储(140)、通信介质以及上述的任一个的 组合。
这些技术和工具可以在诸如包括在真实或虚拟目标处理器上的计算环境中执 行的程序模块中的计算机可执行指令的通用上下文中描述。一般而言,程序模块包 括例程、程序、库、对象、类、组件、数据结构等等,它们执行特定的任务或实现 特定的抽象数据类型。如各个实施例中所需要的,程序模块的功能可以被组合或在 程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环 境中执行。
为了演示的目的,详细描述使用了诸如“确定”、“生成”、“调整”和“应 用”等术语,来描述计算环境中的计算机操作。这些术语是计算机执行的操作的高 级抽象,不应当与人类所执行的动作混淆。对应于这些术语的实际计算机操作可根 据实现来变化。
II.视频代码转换器
图2示出了其中可实现所描述的实施例的广义视频代码转换器(200)。图2 的代码转换器可被实现为如图3所示的DirectX媒体对象[“DMO”](300)。DMO 进而可被结合到图4的系统滤波器中。这一体系结构简化了代码转换器的集成、提 供了使用各种源格式解码器的任一个的灵活性、并简化了额外功能的添加。
A.广义视频代码转换器
代码转换器(200)具有各种模块,包括源格式解码器和比特流语法分析器 (210)、重新编码数据集处理器(220)、以及目标格式编码器(230)。代码转 换器(200)内各模块之间示出的关系表明代码转换器(200)中的一般信息流;为 简化的目的,未示出其它关系。
总体上,代码转换器(200)接收以源格式压缩的视频(205)、解码该视频、 重新编码该视频、并产生以目标格式压缩的视频(235)。例如,源格式是MPEG-2 格式,而目标格式是WMV9,但是其它格式对也是可能的。关于MPEG-2的附加 细节,请参考MPEG-2标准(也称为H.262标准),其揭示通过引用结合于此。 关于WMV9的附加细节,请参考2003年7月18日提交的美国临时专利申请序列 号60/488,710,其揭示通过引用结合于此。
代码转换器(200)处理视频图像,视频图像可以是视频帧、视频半帧或帧和 半帧的组合。代码转换器(200)中的解压和压缩是基于块的,并使用诸如4∶2∶0 等色彩格式,在这一情况下,每一宏块[“MB”]包括4个8×8的亮度块(有时候 作为一个16×16的MB来处理)以及两个8×8的色度块。或者,压缩和解压是 基于对象的,使用不同的MB或块格式,或在不同大小或配置的像素集上执行操 作。
参考图2,源格式解码器和比特流语法分析器(210)接收源格式的压缩视频 (205)。解码器(210)解码视频(205)、产生经加码的视频(215)用于代码转 换。可使用相同或不同的经解码视频作为由终端用户预览的视频(213)。解码器 (210)的组件按压缩格式和实现而变化,但是通常包括熵解码器、反量化器、反 频率变换器和运动补偿器。解码器(210)完全解压视频(205)以产生用于代码转 换的视频(215)。
比特流语法分析器(210)可与解码器(210)集成或分离,它提取用于对视 频重新编码的数据元素集(217)。例如,这些元素包括图像类型、MB帧内/帧间 编码模式以及帧/半帧决策信息。对于MPEG-2句法元素的描述,请参考“SMPTE 327M-2000-MPEG-2 Video Recoding Data Set(SMPTE 327M-3000-MPEG-2视频 记录数据集)”,其揭示通过引用结合于此。或者,该数据元素集(217)包括其 它和/或另外的元素。重新编码数据处理器(220)处理并包装提取的元素,用于控 制重新压缩。
目标格式编码器(230)依照目标格式对视频(215)进行重新编码。目标格 式编码器(230)本身包括执行实际压缩的编码器模块(232),以及用于控制压缩 的质量和/或速率的编码器控制模块(234)。编码器控制模块(234)将元素从源 格式视频转换成用于编码器模块(232)的控制信号以及用于目标格式压缩视频的 等效参数。编码器模块(232)产生目标格式的压缩视频(235),它可被路由到目 标格式解码器模块用于预览目的,或被路由到另一模块用于其它反馈目的。编码器 模块(232)的组件可按压缩格式和实现变化,但是通常包括图像预处理器(用于 采样速率转换、滤波等)、运动估计器/补偿器、频率变换器、量化器和熵编码器, 以及必要的解码组件。
视频代码转换器的特定实施例可使用广义代码转换器(200)的变异或补充版 本。根据所期望的代码转换的实现和类型,代码转换器的模块可被添加、省略、分 割成多个模块、与其它模块组合、和/或用类似的模块替换。在一个替换实施例中, 具有不同模块和/或模块的其它配置的代码转换器执行所描述的技术的一个或多 个。
B.代码转换器的内部体系结构
图3示出了DMO(300)的内部体系结构。总体上,DMO(300)的视频模 块具有两个输入管脚和一个输出管脚。输入管脚用于未压缩的视频(302)和源格 式(如,MPEG-2)压缩视频(304),而输出管脚用于目标格式(如,WMV9) 压缩视频(342)。
目标格式视频编码器(310)接收未压缩的视频(302),并在图像准备好用 于压缩时向源格式参数语法分析器(320)发送通知(312)。作为返回,编码器(310) 接收用于作出编码决策的信息。通知/返回协议可被实现为两个组件之间的回叫功 能,或用某一其它机制来实现。与视频编码同步,当进行编码时,一次对几个图像 提取信息。或者,代码转换器使用不同的定时。
语法分析器(320)接收对应的源格式压缩视频(304),并从其中提取句法 元素,以获取关于源视频中的视频图像的信息。语法分析器(320)从压缩视频(304) 中提取任一或所有嵌入的句法元素,并导出元素。例如,语法分析器(320)提取 SMPTE MPEG-2重新编码数据集的子集。或者,语法分析器(320)提取其它和/ 或另外的元素。根据句法元素,语法分析器(320)可作出编码决策,并参数化句 法元素和编码决策用于作为返回参数(322)传送给编码器(310)。使用返回参数 (322),编码器(310)产生了目标格式的压缩视频。
在单独的路径中,目标格式(如,WMA9)音频编码器(330)接收未压缩的 音频(328)并产生目标格式的压缩音频。
队列和缓冲区管理模块(340)从编码器(310、330)接收压缩的视频和压缩 的音频,并产生目标格式的压缩视频(342)和目标格式的压缩音频(344)作为同 步的输出。队列和缓冲区管理模块(340)可包括用于速率控制目的的一个或多个 缓冲区,并可向编码器(310、330)提供反馈以调节质量和/或速率。
C.使用代码转换器的滤波器图
图4示出了结合了代码转换器的DMO(300)作为滤波器的滤波器图实现 (400)。集体上,该系统实现了音频和视频的代码转换、压缩音频和视频多路复 用、以及作为最终输出的有效输出格式(如,ASF)文件的创建。
代码转换以多路复用的源格式(如,MPEG-2)文件作为输入开始。源格式的 源滤波器(410)表示从网络流、文件等播放出的源格式的视频流。源格式流分路 器(420)将源格式流分路成压缩的音频和压缩的视频子流,并将通过单个管脚这 些传递到TEE(430)。TEE(430)将它在其输入管脚上接收的信息传递到其每一 输出管脚。(接收信息的滤波器将使用某些信息,并忽略其余的信息。)
源格式视频解码器(440)对压缩的视频子流进行解码,并产生未压缩的视频。 源格式(如,AES)音频解码器(450)对压缩的音频子流进行解码,并产生未压 缩的音频。
代码转换器滤波器(300)接收未压缩的视频和未压缩的音频,以及来自TEE (430)原始输出,它包括源格式的压缩视频子流。代码转换器滤波器(300)的组 件如上所述地操作,从而产生了目标格式(如,WMV9)的压缩视频和目标格式 (如,WMA9)的压缩音频。记录器/多路复用器(490)将此压缩信息以及头部信 息一起组合到输出格式文件中,该文件被储存和/或发送。
尽管滤波器图(400)可表示代码转换器的仅软件实现,然而其它实现使用了 硬件固件和软件的组合用于代码转换,具有更快代码转换的预期益处。
III.保留类型句法元素
在某些实施例中,视频代码转换器在从源格式到目标格式的代码转换期间保 留了图像类型、MB编码类型、帧/半帧编码决策信息、和/或其它信息。代码转换 器使用这些信息用于目标格式压缩中的代码决策和/或设置等效参数。这帮助了代 码转换器匹配源格式压缩视频的质量。同时,代码转换器给予目标格式编码器对视 频作出各种其它编码决策的自由度,以充分利用压缩效率并降低总比特率。
图5示出了在代码转换期间获取并使用源格式压缩视频的重新编码数据集元 素的技术(500)。源格式解码器对源格式的压缩视频进行解压(510),从而产生 未压缩的视频。例如,解压是完全解压。
代码转换器获取(520)源格式压缩视频的重新编码数据集元素。为获取(520) 这些元素,代码转换器在解码(如,从缓冲的副本中)之前、期间或之后对源格式 压缩视频进行语法分析。或者,单独发信号通知或提供重新编码数据集元素。这些 元素是源格式的句法元素或从源格式句法元素导出的元素,例如,图像类型值、帧 内/帧间MB编码类型值、以及半帧/帧信息。或者,代码转换器获取其它和/或另外 的元素。
目标格式编码器重新压缩(530)未压缩的视频,从而产生目标格式的压缩视 频。在完成这一过程时,编码器在作出编码决策时使用了重新编码数据集。代码转 换器也可传递目标格式压缩中的参数的某些元素。以此方式,编码器在以目标格式 压缩视频时粗略地遵循源格式压缩视频的质量。编码器独立地作出各种其它决策, 以降低比特率而不恶化质量。例如,编码器作出各种预测模式决策和/或变换大小 决策,以更好地将编码适应于本地化的模式,由此降低了比特率。或者,编码器用 循环滤波、亮度补偿、更多运动矢量和/或提高的运动矢量精度对运动补偿计算新 运动矢量,以改进经运动补偿的预测,由此降低了预测余量的比特率。来自源格式 压缩视频的运动矢量信息可在某些运动估计决策中使用(如,通过提供起始点来加 快估计),并在其它运动估计决策中被忽略(如,考虑到循环滤波、亮度补偿等, 找出确切的运动矢量)。
代码转换器可在开始重新压缩(530)前完成解压(510)。更常见的是,代 码转换器对图像、图像组或视频的其它持续时间并发地执行技术(500)的各阶段。
IV.映射量化级别
在某些实施例中,视频代码转换器在进行代码转换时将源格式的压缩视频的 量化级别映射到目标格式的压缩视频。这一映射建立了源和目标压缩视频格式中的 量化器步长的等价性,并有助于代码转换器保持质量和降低代码转化损失。
图6示出了在代码转换期间获取和使用源格式压缩视频的量化级别的技术 (600)。源格式解码器对源格式压缩视频进行解压(610),从而产生了未压缩的 视频。例如,解压是完全解压。
代码转换器获取(620)源格式压缩视频的量化级别。为获取(620)该级别, 代码转换器在解码之前、期间或之后对源格式压缩视频进行语法分析。或者,单独 地发信号通知或提供该级别。例如,量化级别是用于均匀量化的每MB量化步长 值。或者,代码转换器获取其它和/或附加类型的量化级别。
下一步,目标格式编码器重新压缩(630)未压缩的视频,从而产生了目标格 式压缩视频。在完成这一过程时,编码器在作出量化决策时使用了所获取的量化级 别。例如,编码器基于源格式压缩视频中对应图像的MB的每MB量化步长值的 平均值来设置图像的量化值。或者,编码器基于源格式压缩视频中对应MB的每 MB量化步长值设置MB的量化值。这帮助编码器在以目标格式压缩时匹配源格式 压缩视频的质量。如前一章节中所描述的,编码器可作出各种其它决策,以降低比 特率,而不恶化质量。
代码转换器可在开始重新压缩(630)前完成解压(610)。更常见的是,代 码转换器对图像、图像组或视频的其它持续时间并发地执行技术(600)的各阶段。
V.代码转换中的速率控制
在某些实施例中,视频代码转换器在进行代码转换时使用了速率控制。例如, 速率控制允许代码转换器控制比特率以满足因特网流传送或其它应用的恒定比特 率约束,而同时保持接近源格式压缩视频的质量。
图7示出了代码转换中用于速率控制的技术(700)。源格式解码器对源格式 压缩的视频进行解压(710),从而产生了未压缩视频。例如,解压是完全解压。 如前一章节中所描述的,代码转换器获取(720)源格式压缩视频的量化级别。代 码转换器为目标格式的压缩视频中的一个单元设置目标量化级别。例如,如前一章 节中所描述的,编码器为图像或MB分配量化级别。
代码转换器基于一个或多个速率准则调整(740)目标量化级别(在阈值内)。 阈值防止代码转换器偏离源格式压缩视频的对应量化级别太上或太下,这有助于保 持压缩视频质量在目标和源格式之间接近。速率准则基于缓冲区充满度级别、为该 单元所分配的比特数和实际用于编码该单元的比特数之间的偏差、和/或其它因素。 为该单元所分配的比特数可基于期望的比特率、图像类型和/或图像编码复杂度, 或者它可以基于源压缩格式中的同一单元所使用的比特(适当地缩放)。另外,编 码器可调整量化以考虑到复杂度的局部变化。总体上,代码转换器令量化变得粗糙 以向着目标降低比特率,或令量化变得更精细以向着目标提高比特率。代码转换器 在实现目标比特率时也可试图控制质量级别中的波动
在调整(740)了单元的量化级别之后,代码转换器确定(750)代码转换是 否已完成,如果否,则通过为下一单元设置(730)目标量化级别而继续。代码转 换器可在开始设置(730)和调整(740)速率控制前完成解压(710)。更常见的 是,代码转换器对图像、图像组或视频的其它持续时间并发地执行技术(700)的 各阶段。
VI.组合的实现
尽管可独立并单独地应用上述技术,然而它们也可在单个、集成的系统中组 合。在一个实现中,代码转换器将MPEG-2视频转换成WMV9视频。
代码转换器考虑MPEG-2句法和语义元素,并使用允许在MPEG-2压缩和 WMV9压缩之间维持句法元素和代码决策的一组规则。具体地,代码转换器使用 MPEG-2重新编码数据集(如在SMPTE 327M-2000中所描述的)的子集,它从解 码子系统中的MPEG-2视频导出。代码转换器使用MPEG-2重新编码数据作为编 码子系统中的起始点,从而为从其编码的WMV9作出了编码决策,并将某些项推 进到WMV9比特流。由此,代码转换器依照WMV9编码器的具体需求和代码转 换情形保留或修改了各个MPEG-2编码参数。
代码转换器解决了以下问题。给定由MPEG-2编码的一组视频图像,在用 WMV9重新编码同一图像时代码转换器应当如何分配比特和质量(量化)?在代 码转换中,代码转换争取避免(或至少显著地降低)代码转换损失,而充分地保持 质量。代码转换器不消耗过多的比特来保持处于可感知性/可视性阈值之下的质量。 同时,代码转换器充分利用了WMV9的额外压缩效率来以低于MPEG-2压缩输入 的比特率的比特率产生输出。
代码转换器在单次通过中操作,在一次通过视频序列中并发地解压MPEG-2 压缩视频、收集重新编码数据集元素、以及重新压缩视频。具有充足的与实现相关 的定制,单次通过代码转换可在各种流传送情形中使用,其MPEG-2输入和WMV9 输出是实时或几乎实时的。或者,代码转换器可对整个序列解压,并储存序列范围 的统计量,然后启动代码转换。这一多次通过代码转换可提高质量,但是实质上需 要更多的计算时间,由此令在产品中实现变得很困难。
A.广播和电缆应用
代码转换器的质量保持方面对于广播和电缆行业是有意义的。代码转换器启 用了现有内容从MPEG-2到WMV9的有效转换,以利用WMV9的效率,或简单 地允许两种格式间的互操作性。对无缝的MPEG-2到WMV9代码转换的潜在应用 覆盖了各种各样的情形,包括生产、编辑、存储和消费。本节主要着眼于对广播和 电缆“全过程(vertical)”的应用,其商业操作跨越了生产和分发活动的范围。
                  1.用于VOD和PVR的内容转换
内容消费的主导模型曾经是内容推(push)模型。当今,内容拉(pull)模型 变得越来越常见,其中,在消费者决定观看什么内容以及何时观看之后才传送内容。 两种技术促进了这一改变。第一种技术是视频点播[“VOD”],第二种技术是个人 视频记录器[“PVR”]。
由于带宽和存储的节省,VOD和PVR都得益于MPEG-2-WMV9代码转换。 VOD和PVR以大规模实现,并且带宽节省的累积效果可导致大量的成本节省。采 用VOD,操作员将MPEG-2压缩拉伸到可接受质量视频的限制,因此代码转换到 另一格式应当避免任何进一步的质量降低。当代码转换器将MPEG-2 VOD内容转 换成WMV9格式时,它降低了比特率,同时保持了视频质量。
       2.用于向空中播放(play to air)的内容转换视频服务器
视频服务器日常地摄取并播放出内部地以MPEG-2格式储存的视频。被编辑 的资产以MPEG-2重新摄取,或被代码转换成MPEG-2,以适合生产链。WMV9 的压缩效率降低了广播设施内的网络带宽和存储要求。
代码转换器以低于原始的比特率将演播室摄取的内容转换成WMV9格式,而 同时保持了质量。这一重新格式化的内容可用较小的覆盖区(footprint)储存,并 用降低的网络带宽发送到播放服务器。广播设施可使用WMV9内容用于向空中的 播放、空中备份或从远程站点的灾难恢复。在最后一个情况下,由于视频和可能通 过广域网传输,来自降低的比特率的成本节省甚至更大。
                 3.用于内容审阅的代理创建
用于内容审阅的代理创建当前是WMV9的一个普及使用。尽管MPEG-2可对 广播设施内视频的提供和分发起作用,然而它本质上不是流格式,并且当应用与较 低分辨率和比特率时缩放较差。需要一种较低的速率代理来审阅被归档的内容以及 要被播放到空中的摄取内容。
代码转换器创建了仍为原始帧速率的较低比特率和较低分辨率WMV9文件。 在代理低比特率视频中保持了原始视频的时间码。代码转换器可结合允许用户预览 代理、作出剪切和其它编辑、以及创建用于编辑的决策列表的内容播放器一起使用。
                4.用于回传运输传送的内容转换
广播公司日常地使用回传运输传送来将内容发送到其分支机构用于本地空中 广播。内容辛迪加组织者通过租用的光纤或卫星信道使用回传运输传送来将视频发 送到其客户。MPEG-2是用于这些和其它设施间传输的一种常见中间传送格式,它 具有适当的条件访问解码器。在回传运输应用中,即使小的比特率增益也可导致大 的成本节省。中间格式是透明的,它为WMV9的采用提供了一种强健的推动力, 作为更有效的传送格式。
B.使用图像编码类型
MPEG-2和WMV9都使用了三种基本的图像编码类型:帧内[“I”]、单向预 测[“P”]和双向预测[“B”]。在MPEG-2和WMV9之间有两种编码和解码这些 图像类型的差异。WMV9通常具有更好的压缩效率,对同一质量降低了比特率。 因此,代码转换的目标是在输入视频流和经代码转换的视频流之间不保持本质上的 比特分配。MPEG-2和WMV9之间的编码工具差异消除了对这类严格追随的需求。 另一方面,来自MPEG-2压缩视频的每图像和相对比特分配作为对WMV9编码器 的通用引导是有帮助的,因为实质上过分配比特将不会影响图像质量。实际上,使 用图像类型信息来引导代码决策可显著地提高代码转换效率。
每一MPEG-2图像类型具有比特率和质量含意,因为根据图像类型,在已编 码的图像与原始图像的保真度之间有显著的差异。I图像表示全刷新,它在运动补 偿、重建等中结束误差传播。代码转换误差传播也以新的I图像结束。I图像通常 比其它图像消耗更多的比特。由此,插入I图像对比特率产生不利的影响,但是往 往能通过降低传播误差来提高感知质量。
代码转换器在若干情况下在源格式压缩视频和目标格式压缩视频之间匹配I 图像类型。为改进相对于代码转换误差、发送误差或其它误差的传播的弹性,代码 转换器在目标格式压缩视频中使用I图像。或者,当使用了GOP模式匹配时(见 下文),代码转换器匹配I图像类型。WMV9编码器可将I图像的确切位置向前或 向后调整几个图像,以充分利用对序列专用的编码效率。
P图像使用前向预测(从先前的参考图像),而B图像可使用前向和/或后向 预测。通常,P图像比B图像消耗更多的比特。P图像可用作运动补偿的参考图像。 B图像不被任何其它图像参考,因此B图像内的误差是本地化的。
当允许目标格式压缩视频的比特率匹配源格式压缩视频的比特率时,代码转 换器保留了最高质量代码转换的图像编码类型。然而,对于降低了比特率的代码转 换,这一图像类型匹配可阻碍必要的比特率降低。因此,代码转换器在WMV9压 缩视频中选择性地用P图像替代I图像,或降低I图像的频率。通过用B图像替换 P图像可以获得进一步的比特率降低。代码转换器在所有的代码转换情形中将B图 像映射到B图像。
C.使用图像模式组
图像组[“GOP”]是依照图像类型模式的图像排列。MPEG-2 GOP可包括I图 像,之后跟随若干P图像作为锚(anchor),在锚之间的是B图像,例如,I、B、 B、P、B、B、P、B、B、P、B、B。MPEG-2视频流通常使用大小为12帧的GOP 用于电影内容,或者15帧用于电视内容。不同的GOP模式提供了对随机访问、快 进、快倒或其它访问功能的各种级别的支持。相反,WMV9视频通常具有更不频 繁的I图像,默认设置是每10秒插入一个I图像。
代码转换器在各种情况下可在输入视频和经代码转换的视频之间匹配GOP模 式(尤其是I图像的位置)。当在源和目标格式压缩视频之间需要对应的随机访问、 快进、快倒或其它访问功能时,代码转换器匹配GOP模式。作为对质量的试探, 匹配GOP模式往往导致匹配比特率,后者往往导致匹配质量。一旦在WMV9视 频中依照GOP模式定位了I图像,则可定位P图像和B图像以与MPEG-2视频中 的P和B图像位置相符合。
D.使用帧/半帧编码决策信息
MPEG-2允许将整个序列编码为帧或半帧。后者的使用较不常见,因为半帧编 码模式在压缩快速移动内容时准许帧补偿效率的损失。总体上,帧编码经常胜过半 帧编码。
当对帧编码的图像进行代码转换时,代码转换器让WMV9编码器的内部决策 机制确定每一MB的半帧/帧编码类型。代码转换器不自动实施半帧编码。或者, 代码转换器对所有的图像类型在MB层或其它层匹配半帧/帧编码类型决策。例如, 当MPEG-2压缩视频使用半帧图像时,代码转换器迫使WMV9编码器使用隔行扫 描的半帧图像。以此方式匹配帧/半帧图像类型期望能够与代码转换中的类型匹配 的其它示例一样提高代码转换效率。
E.使用宏块帧内/帧间信息
在MPEG-2和WMV9中,P图像和B图像中的MB可被帧内编码(不使用来 自参考帧的预测)或帧间编码(使用来自参考帧的预测)。例如,当运动补偿失败 或给出差的结果时(例如,大的预测余量),则使用帧内编码。当MB包括对其 在参考图像中没有好的匹配的新展示的内容(如新对象或新展现的背景)时,运动 补偿可能失败。
在某些实现中,代码转换器保持帧内/帧间编码类型决策,并在WMV9视频中 在非I图像的MB层上选择性地重新应用这些决策。用于在MB级匹配帧内编码类 型的一个动机是它确保了所考虑的MB的高质量(以更高的比特率为代价)。
F.在图像级匹配量化
MPEG-2和WMV9使用变换系数的均匀量化。系数按照比特精度、允许的量 化器步长数、以及允许的量化器步长范围被类似地表示。这便于将量化用作在 MPEG-2视频和WMV9视频之间匹配质量的驱动机制。通过跟踪MPEG-2压缩视 频和WMV9压缩视频之间的量化级别,代码转换器引导WMV9编码,使得不会 使用过少或过多的比特。使用合适的比特数来压缩每一图像有助于保持质量并降低 代码转换损失。
在代码转换器中,MPEG-2语法分析器为MPEG-2视频中的给定图像的每一 MB提取量化器比例。对于WMV9视频中的图像的图像级量化,代码转换器对 MPEG-2视频的图像中非跳过MB的MPEG-2量化比例求平均值。代码转换器对 WMV9图像使用图像级量化器比例的平均值(对图像内的MB使用图像级量化器 比例)。
如果代码转换器使用速率控制,则代码转换器可调整图像级量化器比例来满 足当前的速率约束。在任一情况下,代码转换器将量化级别维持在MPEG-2视频 中对应的量化级别的容限之内。
G.在宏块级匹配量化
图像级量化级别控制不提供细粒度的质量/速率控制。为更接近地在MPEG-2 视频和WMV9视频之间进行匹配,代码转换器在MB级匹配量化。WMV9允许在 MB级设置量化器级别(有时候称为DQUANT特征)。
采用DQUANT,WMV9编码器可对个别的MB调整量化级别。代码转换器促 使WMV9编码器依照MPEG-2视频的各自对应的MB的量化器值来使用量化。如 果代码转换器使用了速率控制,代码转换器可调整每一MB的量化器级别,以满 足当前的速率约束。再一次,在任一情况下,代码转换器将量化级别维持在MPEG-2 视频的对应量化级别的容限之内。
WMV9MB跳过决策不被调整。换言之,不强制在WMV9视频中要对MB编 码,这仅仅是因为对应的MB在MPEG-2视频中被编码。
H.恒定比特率控制
在许多情况下,代码转换器以低于MPEG-2输入的比特率的可变比特率产生 输出WMV9视频。在其它情况下,代码转换器以等于或低于MPEG-2输入的比特 率的固定或相对固定比特率产生WMV9输出。为此,尽管有变化的图像类型和场 景复杂度,代码转换器仍使用WMV9编码器的默认可变比特率模式之上的速率控 制来帮助维持固定的输出比特率。
代码转换器可使用三步骤处理用于速率控制:(1)目标比特分配、(2)基 于虚拟缓冲区准则对量化的粗糙控制、以及(3)精细自适应控制以将量化值调整 到本地变化。目标比特分配可按图像类型和图像复杂度变化,例如,向I图像分配 比同一质量的P图像更多的比特,而向P图像分配比同一质量的B图像更多的比 特。提取的图像类型值可用于向不同的图像分配比特。向复杂图像分配比同一质量 的简单图像更多的比特,其中复杂度是根据对内容或编码结果的分析来估计的。
代码转换器使用来自WMV9编码器的反馈来根据超额或不足的比特调整量化 级别。具体地,代码转换器以与速率缓冲区充满程度成比例地缩放量化步长。这迫 使输出符合期望的速率,而避免了缓冲区上溢或下溢。当输出比特率目标合理时, 代码转换器仍可实现无缝的代码转换。代码转换器也可应用心理视觉 (psychovisual)准则。只要满足了图像、图像组或内容的其它持续时间的恒定比 特率约束,代码转换器就可以给予WMV9编码器在持续时间内有效地分配比特以 满足质量约束的灵活度。
                    1.第一CBR实现
图8示出了第一成比例速率控制机制(800),它使用了依照从目标比特分配 的偏差的加权。最终的比特分配按照要编码的图像或MB的加权量化器步长(862) 来表达。分配的比特和用于编码图像的实际比特之间的偏差用于缩放目标量化器步 长大小(844),其中,目标量化器步长大小(844)从源格式压缩视频中导出。
若干策略对初始比特分配(802)都是可能的。一种简单的方法是基于比特率 (比特/秒)除以帧速率(帧/秒)来向每一单元分配比特。对每一单元的比特分配 也可基于源格式中使用的对应的比特数,它由目标与源比特率之比来缩放。或者, 该机制如上所述地开始,但是基于目标格式的图像类型修改分配,而仍符合恒定比 特率准则。
实际用于编码图像的比特(882)从为图像分配的比特(802)中减去。这产 生了所分配的比特和所使用的比特之间的偏差。为构建滞后效应,使用从若干过去 的图像的偏差来影响量化器缩放。偏差在延迟缓冲区(820、830)中延迟,并由阈 值缩放因子(822、832)加权。例如,阈值缩放因子是.5,以对先前的两个图像的 每一个的偏差给予相同的权值。或者,向两个先前的图像中较新近的那个给予更大 的权值(如,.7与.3)。加权的偏差被组合,并被路由到阈值评估器(840)。
阈值评估器(840)接收调整的偏差,并计算量化缩放因子(842)以应用于 目标量化步长(844)。尽管图8示出了量化步长因子(842)为乘数,然而该因子 (842)也可以按照要添加的量或要从目标量化步长(844)中减去的量来表达。阈 值评估器(840)可限制缩放的幅度来防止从一个图像到另一个的图像质量中的大 的变化。
                    2.第二CBR实现
图9示出了部分的第二成比例速率控制机制的伪代码(900),它使用了依照 缓冲区满程度级别加权。在这一实现中,目标比特分配g_nAvgBPF被假定为恒定 的,且等于目标比特率除以每秒的帧数。项pInvomingParameter表示编码最后一个 图像所消耗的总比特数。这些项调整了g_nCurrentBufferLever,它是以恒定的速率 耗尽并以可变速率填满的虚拟缓冲区的缓冲区级别。
缓冲区级别被限于0到g_nMaxBufSize的范围,取决于应用。在一种情况下, g_nMaxBufSize以目标比特率被初始化成5秒的视频。缓冲区充满程度 nBufferFraction通过将g_nCurrentBufferLevel除以g_nMaxBufSize来计算。缓冲区 满程度按照ADJUST_SCALE确定了缩放的量,它是实验上导出的值。例如,如果 ADJUST_SCALE是20,则量化缩放因子q_nQPAdjust在-10和10的范围内变化, 如果缓冲区半充满,则nBufferFraction为.5,而q_nQPAdjust为0。当缓冲区达到 充满状态时,q_nQPAdjust达到10,以向上缩放(或递增)量化步长,由此促使比 特率的下降以归一化缓冲区充满程度。另一方面,当缓冲区达到空状态时, q_nQPAdjust达到-10,以向下缩放(或递减)量化步长,由此促使比特率的提高以 归一化缓冲区充满程度。在图9的伪代码(900)中,不使用过去已编码的图像之 外的加权。
I.杂项系统问题
为在代码转换中产生增益,代码转换规则考虑其中使用代码转换器的系统环 境的各种细节。这些细节中的其中一些影响图像质量。其它细节影响实现的速度和 效率。
                           1.色彩采样
MPEG-2对隔行扫描逐行扫描的图像使用4∶2∶0的色彩采样。另外,对标准 定义视频,支持4∶2∶2色彩采样的单独特性。WMV9对逐行扫描和隔行扫描视频都 使用4∶2∶0的色彩采样。当从4∶2∶0的MPEG-2视频代码转换成4∶2∶0的WMV9视 频时,代码转换器处理经解码的视频而不进行样值转换,这有助于避免在压缩阶段 之外的人为干扰。
或者,目标格式编码器可使用另一色彩采样格式,例如,用于隔行扫描视频 的4∶1∶1。如果从4∶2∶0采样到4∶1∶1采样的转换是必要的,则代码转换器在垂直方 向上按2的因子对色彩分量进行上采样(up-sample),并在垂直方向上执行基于 半帧的滤波以降低隔行扫描人为干扰。代码转换器在平方向上使用标准半带宽滤 波对色彩分量进行下采样(donw-sample)。对于使用4∶2∶2色彩采样的源视频,4∶1∶1 是最简单的目标模式。
当视频在多种色彩采样模式之间切换时,代码转换器可只选择并使用一种色 彩采样模式来避免连续地处理不同的色彩采样过程的复杂度。或者,代码转换器可 在逐帧或其它基础上切换色彩采样模式。
代码转换器避免了色彩空间转换,如在亮度/色度色彩空间和红/绿/蓝色彩空间 中的转换。MPEG-2和WMV9视频都在亮度/色度空间中操作,因此色彩转换是不 必要的。
                     2. 3∶2下拉模式
电视以大约每秒60个半帧显示NTSC视频。相反,电影内容是以每秒24个 视频帧来显示的。电视电影转换过程将视频从电视速率转换到电影速率,而逆电视 电影过程从电影转换到电视。电影通常使用3∶2的下拉模式来转换成电视速率,依 照该模式,从第一电影帧中拉出三个半帧(例如,通过重复一个半帧),从下一电 影帧中拉出两个半帧,依此类推。
对于逆电视电影,MPEG-2允许在基本流中的3∶2下来模式信息。这允许显示 设备以每秒60个半帧来显示内容。类似地,WMV9执行逆电视电影检测,并在基 本解码器之外处理。采用某些版本的WMV,逆电视电影信息在WMV比特流中发 信号通知。然而,在其它版本中,基本流的句法不包括逆电视电影信息的元素,因 此逆电视电影信息在ASF级上传递,并由回放设备的组件提取和应用。
代码转换器如下地处理每秒24帧的电影内容。代码转换器从MPEG-2视频中 导出3∶2下拉模式,作为两个标志“最高半帧优先”和“重复第一个半帧”。这些 标志的其中一个或两者被保存用于视频的每一已编码帧(在基础流中或在ASF 级)。结果,模式中由于编辑或其它原因的打断被保存。代码转换器用各种代码转 换规则重新压缩帧。在显示设备处,以每秒约60个半帧使用保存的逆电视电影信 息来播放内容。这一解决方案对纯电影内容能起作用。对于混合的电影和电视内容, 代码转换器将电影内容作为电视内容来处理,以简化处理。
                       3.循环滤波
循环滤波通过平滑量化相关的成块的人为干扰的效应来改进图像质量。这令 参考图像能对后续的运动估计和运动补偿起更好的作用。在WMV9中使用循环滤 波能够缓和来自前一压缩周期的压缩人为干扰,而不对这类人为干扰进行循环滤波 可降低后续压缩的有效性。代码转换器允许在WMV9编码器中进行循环滤波。
                    4.量化比例和量化矩阵
MPEG-2提供了比特流的序列头部中的明确的量化矩阵,用于某些图像类型。 MPEG-2中的默认量化矩阵对I图像是非平面的,而对其它类型的图像是平面的。 相反,WMV9跨所有的图像类型使用了平面量化矩阵,但是为平面量化0周围的 死区(dead zone)的宽度提供了两种变异。(非平面量化在WMV9中仍可被实现 为仅编码器过程。)
为代码转换的目的,对帧间编码的块使用较细的量化器比例看似不改进图像 质量,因为在先前的压缩中丢失的信息不能用较细的量化来恢复。因此,作为一种 代码转换规则,WMV9编码器不超过对应的MPEG-2编码的MB的量化比例,因 此在适当时调整了量化矩阵。对于非帧间块,WMV9编码器使用的量化器比例可 合理地超出对应的MPEG-2MB的量化器比例,因为WMV9支持更复杂的预测模 式和更精确的运动矢量。代码转换器可基于期望的质量设置在不同的死区宽度之间 选择,以精细地调整量化。
                       5.MV模式
MPEG-2一般对每一MB提供了一个运动矢量。对于半帧编码的MB,对MB 的每一半帧生成一个运动矢量。WMV9允许每一MB多达四个运动矢量,这允许 个更细粒度的运动补偿,以适应于本地化的变化,但是以额外的比特为代价来发信 号通知运动矢量。代码转换器在WMV9编码器中允许每一MB四个运动矢量。
                     6.快速整数变换
MPEG-2使用了标准的DCT。WMV9在某些模式中允许DCT,但是其它模式 使用了快速的、基于整数的变换,它与使用MPEG-2风格的DCT相比加快了处理 速度。在质量方面,快速的、基于整数的变换的总体性能类似于标准的DCT一快 速的、基于整数的变换与DCT相比本质上不改进质量。
然而,由于变换中的差异,从MPEG-2视频中导出的DCT系数不能简单地在 WMV9中重复使用。这不是显著的性能损失,因为WMV9在新的运动估计和补偿 之后无论如何都要重新计算变换系数,并且因为快速的、基于整数的变换在计算时 间上有较小的性能损失。
                      7.亮度补偿 
亮度补偿允许将参考图像中的像素重新映射到缩放和/或位移的像素值。这可 帮助保存渐显和渐隐序列中的比特。尽管MPEG-2不使用亮度补偿,但是代码转 换器可在WMV9编码器中允许亮度补偿。
                     8.可变大小变换
WMV9编码器可使用可变大小变化,它是从MPEG-2的显著偏差。变换的块 大小是在局部自适应性和编码开销之间折衷的参数。当期望对局部变化自适应时, 较小的变换大小是较佳的。对变换大小的适当选择可降低阻尼振荡和其它人为干 扰,它们是由于对包括内容边界的块的高频变换系数的粗糙量化而引起的。
                     9.运动矢量精度
在MPEG-2中,运动矢量被限于半像素的精度;在WMV9中允许四分之一像 素精度的运动矢量。四分之一像素精度可能提供编码效率中的增益。尽管在先前有 损压缩之后不能提高MPEG-2视频的质量,但是四分之一像素精度的运动补偿有 助于以同一或更低的比特率保持质量。
                    10.重叠和其它预测模式
WMV9中对运动矢量、预测误差和其它值的预测模式的丰富的可用性将 WMV9从MPEG-2区分开来。一般而言,代码转换器在WMV9编码器中不限制这 些模式的选择。一个例外是对于半帧编码的MB。如果MPEG-2视频使用了MB的 帧编码,则迫使WMV9编码器采用同一模式可降低代码转换损失。
                  11.长或扩展范围的运动矢量
长或扩展范围的运动矢量在P图像的水平和垂直方向上扩展了运动矢量的范 围。
在MPEG-2比特流中发信号通知的运动矢量信息可用作代码转换期间WMV9 编码器中运动估计的起始点,这可能加快WMV9编码器中的运动估计过程的速度。 采用MPEG-2运动矢量作为引导,WMV9编码器也可减小运动估计搜索范围的大 小。
VII.结果
采用上述技术,代码转换器实现了从MPEG-2到WMV9的高保真转换。高保 真转换对无法容忍先前编码的内容的较低保真度表示的高质量视频的生产商和广 播商而言是极其重要的。作为参考点,45dB的PSNR被认为对于代码转换是高的, 并且MPEG-2一WMV9代码转换器经常超出该标记。
第一组测试将MPEG-2的图像大小与使用单纯的代码转换器转换的WMV9视 频的图像大小进行比较。对于WMV9视频的许多图像,所使用的比特数要么远高 于向对应的MPEG-2图像所使用的比特数,要么远低于该比特数。
第二组测试将MPEG-2视频的图像大小与使用改进的代码转换器转换的 WMV9视频的图像大小进行比较。采用这一测试,每一WMV9图像所使用的比特 数一致地低于每一MPEG-2图像所使用的比特数,并且总体使用模式的峰值和谷 值在两种视频序列之间匹配。
后续的测试在不进行速率控制的情况下以各种比特率将单纯代码转换的质量 和改进的代码转换的质量进行比较。这些测试示出改进的代码转换的充分和一致增 益优于对同一MPEG-2内容的单纯代码转换。对于这些测试,对于I图像和P图像, MPEG-2量化器比例参数在WMV9视频中在MB级上匹配。对于B图像,使用了 图像级匹配。测试了短(5秒)和长(30秒)序列。WMV9视频所得的比特率平 均大约比MPEG-2视频低25%。对于单纯代码转换和改进的代码转换两者,与 MPEG-2视频相比,对于经代码转换的WMV9视频,平均PSNR超过40dB。与 单纯代码转换相比,改进的代码转换对于亮度一致地平均要好.5dB(对于色度平 均1dB)。这一差异对应于10%和20%之间的比特率增益,这意味着与改进的代 码转换相比,在单纯代码转换中必须使用多10%到20%的比特来获取质量。观察 者测试确认了这些结果,这些观察者将改进的代码转换结果一致地标识为质量上优 于同一比特率的单纯代码转换结果的质量。
其它测试对于MB编码类型将使用代码转换规则和不使用代码转换规则的结 果进行比较。对于非I图像,代码转换器迫使MPEG-2帧内MB在WMV9视频中 具有对应的帧内MB,但是允许WMV9编码器决定如何对在MPEG-2视频中为帧 间类型的MB进行编码。代码转换器也在所有图像类型中匹配半帧和帧编码决策。 采用这些规则,改进的代码转换的质量要比单纯代码转换的质量高得多,但是与不 采用宏块类型规则相比,PSNR增益较小。PSNR改进对于亮度平均在.2dB和.3dB 之间(对于色度为.8dB)。
其它测试结合其它规则评估了成比例的速率控制。发现输出比特率在目标速 率参数的1%之内,同时避免了缓冲区上溢和下溢。如果输出比特率被设为充分低 于匹配MPEG-2量化级别时所获取的比特率,则代码转换器的质量保持方面失败。 然而,对于调节速率和质量,速率控制仍是一个有用的特征。作为规则,代码转换 器的输出可被设为大约比输入的压缩视频低25%的比特率,以利用WMV9编码器 的压缩效率,而同时仍保持质量和避免代码转换损失。
参考所描述的实施例描述并示出了本发明的原理之后,可以认识到,所描述 的实施例可以在不脱离这些原理的情况下在排列和细节上进行修改。应当理解,此 处所描述的程序、过程或方法不与任何特定类型的计算环境相关或限于任何特定类 型的计算环境,除非另外指明。各种类型的通用或专用计算环境可用于此处所描述 的教导或依照此处描述的教导来执行操作。以软件示出的所描述的实施例的元素可 以用硬件来实现,反之亦然。
鉴于可应用本发明的原理的许多可能的实施例,将本发明要求保护为所有这 样的实施例都落入所附权利要求书及其等效技术方案的范围和精神之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈