当前位置: 首页 > 专利查询>微软公司专利>正文

隔行扫描视频的高级双向预测编码制造技术

技术编号:3992070 阅读:205 留言:0更新日期:2012-04-11 18:40
对于隔行扫描B-半帧或隔行扫描B-帧,正向运动向量使用来自正向运动向量缓冲区的正向运动向量来预测,而反向运动向量使用来自反向运动向量缓冲区的反向运动向量来预测。结果的运动向量被添加到相应的缓冲区中。运动向量缓冲区中的空穴可用所估计的运动向量值填充。在隔行扫描B-帧的半帧编码宏块中的半帧之间切换预测模式。对于隔行扫描B-半帧或隔行扫描B-帧,计算直接模式运动向量。对于隔行扫描B-半帧或隔行扫描B-帧,使用4MV编码。编码器/解码器使用“自参考”B-帧。编码器发送二进制信息,表示对隔行扫描B-半帧的一个或多个宏块的预测模式是正向还是非正向的。编码器/解码器使用帧内编码的B-半帧[“BI-半帧”]。

【技术实现步骤摘要】

描述了用于隔行扫描视频编码和解码的技术和工具。例如,视频编码器对隔行扫 描视频中的双向预测宏块进行编码。
技术介绍
数字视频消耗大量的存储和传输容量。典型的原始数字视频序列包括每秒15或 30个图片。每个图片可包括数万或数十万个像素(也称为pel)。每个像素表示图片的小 元素。在原始形式中,计算机通常用24个比特或以上来表示像素。因而,典型的原始数字 视频序列的每秒比特数或比特率可以是5百万比特/秒或以上。大多数计算机和计算机网络缺乏处理原始数字视频的资源。为此,工程师们使用 压缩(也称为译码或编码)来降低数字视频的比特率。压缩可以是无损的,其中视频的质 量未受损,但比特率的降低受视频复杂性的限制。或者,压缩可以是有损的,其中视频的质 量受损,但可获得的比特率降幅更大。解压缩是压缩的反向过程。一般而言,视频压缩技术包括“帧内”压缩和“帧间”或预测压缩。帧内压缩技术 压缩通常称为I-帧或关键帧的各个图片。帧间压缩技术参考前面和/或后续的各帧来压 缩各个帧,而经帧间压缩的帧通常称为预测帧、P-帧、或B-帧。I. Windows Media Video版本8和9中的帧间压缩微软公司的Windows Media Video版本8 包括视频编码器和视频解码5器。WMV8编码器使用帧内压缩和帧间压缩,且WMV8解码器使用帧内解压缩和帧间解压缩。 Windows Media Video版本9则将类似的体系结构用于许多操作。WMV8编码器中的帧内压缩使用基于块的运动补偿预测编码,然后使用残差的变换 编码。图1和2示出WMV8编码器中预测帧的基于块的帧间压缩。特别地,图1示出对预测 帧110的运动估计,而图2示出对预测帧的运动补偿块的预测残差压缩。例如,在图1中,WMV8编码器计算用于预测帧110中的宏块115的运动向量。为 了计算该运动向量,编码器在参考帧130的搜索区域135中进行搜索。在搜索区域135内, 编码器对来自预测帧110的宏块115和各个候选宏块作比较,以便于寻找是好匹配的候选 宏块。编码器输出指定匹配宏块的(经熵编码的)运动向量。因为运动向量值常常相关于空间上位于四周的运动向量的值,所以用来传送运动 向量信息的数据的压缩可通过从相邻宏块中选择运动向量预测值,并使用该预测值来预测 当前宏块的运动向量来获得。编码器可编码运动向量和预测值之前的差值。在通过将差值 添加到预测值中重构运动向量之后,解码器使用该运动向量来用来自参考帧130的信息计 算用于宏块115的预测宏块,该参考帧是在编码器和解码器上可用的先前重构帧。预测很 少是完美的,所以编码器常常编码预测宏块和宏块115本身之间的像素差异(也称为误差 或残差块)的各个块。图2示出WMV8编码器中误差块235的计算和编码的一个示例。该误差块235是 预测块215和原始当前块225之间的差异。编码器将离散余弦变换240应用于误 差块235,得到系数的8x8块245。然后编码器量化(250) DCT系数,得到经量化的DCT系数 的8x8块255。编码器将8x8块255扫描(260)成一维数组265,从而系数通常从最低频率 到最高频率进行排序。编码器使用运行长度编码270的变体来熵编码经扫描的系数。编码 器从一个或多个run/level/last表格275中选择熵码,并输出该熵码。图3示出对经帧间编码块的相应解码过程300的一个示例。从图3总地看来,解 码器使用具有一个或多个run/level/last表格315的可变长度解码310和运行长度解码 320来解码(310、320)表示预测残差的经熵编码的信息。解码器将存储了经熵编码信息的 一维数组325逆扫描(330)成二维块335。解码器逆量化并逆离散余弦变换(一起编号为 340)该数据,产生经重构的误差块345。在独立的运动补偿路径中,解码器使用运动向量信 息355来计算预测块365,用于相对参考帧的位移。解码器将预测块365与经重构的误差块 345组合(370)在一起,以形成重构块375。原始和重构帧之间的改变量是失真,且编码该帧所需的比特数表示该帧的速率。 失真量大致与速率成反比。II.隔行扫描视频和逐行扫描视频视频帧包含视频信号的各行空间信息。对于逐行扫描视频,这些行包含从一时刻 开始并继续后续行直到帧的底部的样本。逐行扫描I帧是帧内编码的逐行扫描视频帧。逐 行扫描P帧是使用正向预测编码的逐行扫描视频帧,而逐行扫描B帧是使用双向预测编码 的逐行扫描视频帧。典型的隔行扫描视频帧由在不同时间开始扫描的两个半帧组成。例如,参照图4, 隔行扫描的视频帧400包括上半帧410和下半帧420。通常,偶数编号行(上半帧)在一时 间(例如时间t)开始扫描而奇数编号行(下半帧)在不同(通常为后续)时间(例如时间t+Ι)开始扫描。该定时可在隔行扫描视频帧的区域中创建锯齿状特征,其中因为两个半 帧在不同时间开始扫描而呈现运动。因此,各个隔行扫描的视频帧可根据半帧结构来重新 排列,其中奇数行组合在一个半帧中而偶数行组合在另一个半帧中。称为半帧编码的该排 列对在高运动图片中减少这种锯齿边缘人工效应是有用的。另一方面,在静态区域中,隔行 扫描视频帧中的图像细节无需这种重新排列就可更为有效地保留。因此,帧编码常用于静 态或低运动的隔行扫描视频帧,其中原始的交替半帧行排列得以保留。典型的逐行扫描视频帧由具有非交替行的一内容帧组成。与隔行扫描视频相比, 逐行扫描视频不将视频帧分成各个半帧,并且整个帧从某个时间开始进行从左到右、从上 到下的扫描。III.先前WMV编码器和解码器中的P-帧编码和解码先前的WMV编码器和解码器使用P-帧中的逐行扫描及隔行扫描的编码和解码。在 隔行扫描和逐行扫描的P-帧中,运动向量通过计算运动向量和运动向量预测值之间的差 值来在编码器中编码,其中运动向量预测值基于相邻的运动向量进行计算。并且,在解码器 中,运动向量通过将运动向量差值添加到运动向量预测值来重新构建,其中运动向量预测 值再次基于相邻的运动向量进行计算(这次是在解码器中)。当前宏块的预测值或当前宏 块的半帧基于候选预测值来选择,而运动向量差值基于该预测值来计算。通过将运动向量 差值添加到编码器侧或解码器侧的选定运动向量预测值,可重构运动向量。通常,亮度运动 向量从经编码的运动信息中重构,而色度运动向量从经重构的亮度运动向量中导出。A.逐行扫描P-帧的编码和解码例如,在先前的WMV编码器和解码器中,逐行扫描P-帧可包含以一运动向量(IMV) 模式或四运动向量(4MV)模式编码的宏块,或被跳过的宏块,其中决定通常在逐个宏块的 基础上作出。仅具有IMV宏块(以及可能被跳过的宏块)的P-帧被称为IMV P-帧,而都 具有IMV和4MV宏块(以及可能被跳过的宏块)的P-帧被称为混合MV的P-帧。一个运 动向量与每个IMV宏块相关联,而四个运动向量与每个4MV宏块相关联(每个块一个)。图5A和5B是示出被视作用于IMV逐行扫描P-帧中宏块的候选运动向量预测值 的宏块的位置的示图。候选预测值从左边、上方和右上方宏块中取得,除了宏块是行中最后 一个宏块的情形。在该情形中,Predicator (预测值)B从左上方宏块而不是从右上方中取 得。对于帧为本文档来自技高网...

【技术保护点】
一种在实现视频解码器的计算设备中的方法,包括:在所述实现视频解码器的计算设备处,接收比特流中的压缩视频信息,包括:接收一个或多个模式句法元素,所述模式句法元素指示隔行扫描的双向预测图片中的半帧编码宏块的第一宏块预测模式;评估所述第一宏块预测模式以确定所述第一宏块预测模式是正向、反向、插值还是直接;如果所述第一宏块预测模式被确定为是正向或反向的,则接收模式切换句法元素,所述模式切换句法元素指示在所述半帧编码宏块的第一和第二半帧之间宏块预测模式从第一方向切换到与所述第一方向相反的第二方向,其中所述比特流中在指示所述第一宏块预测模式的所述一个或多个句法元素之后的所述模式切换句法元素的存在取决于所述第一宏块预测模式是正向还是反向;使用所述实现视频解码器的计算设备,解码所述隔行扫描的双向预测图片,包括:预测所述隔行扫描的双向预测图片的半帧编码宏块中第一半帧的第一运动向量,所述第一半帧在所述第一方向上使用所述第一宏块预测模式来编码;以及预测所述隔行扫描的双向预测图片的半帧编码宏块中第二半帧的第二运动向量,所述第二半帧在与所述第一方向相反的第二方向上使用第二宏块预测模式来编码。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:K慕克吉TW赫尔科比
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1