两步量化和编码方法和装置的制造方法

文档序号:8386258阅读:337来源:国知局
两步量化和编码方法和装置的制造方法
【技术领域】
[0001]本公开总体上涉及使用量化的视频编码和解码。
【背景技术】
[0002]如今越来越多的应用使用数字视频用于各种目的,包括例如经由视频会议的远程商务会议、高清视频娱乐、视频广告和用户生成的视频共享。随着技术的发展,用户对视频质量具有更高的预期,并且预期流畅播放的高分辨率视频。
[0003]数字视频流通常使用帧序列来表示视频。每个帧可以包括若干块,块转而可以包含描述颜色、明度或像素的其它属性的值的信息。典型视频流中的数据量较大,并且视频的传输和存储会使用显著的计算或通信资源。各种技术已经被提出以减少视频流中的数据量,包括压缩和其它编码技术。在一些情况下,这些技术使用针对帧内块的不同区段变化的参数或值来对视频流进行编码。

【发明内容】

[0004]本文中公开的是用于使用两步量化过程对视频信号进行编码的系统、方法和装置的实施方式。公开实施方式的一个方面是用于利用计算设备对视频流中的帧进行编码的方法,帧具有多个块。方法包括:标识多个块中的第一块;从第一块生成第二块,使得第二块具有比第一块更低的熵;使用第一编码技术对第二块进行编码,其中第一编码技术是有损的;对经编码的第二块进行解码;基于在经解码的第二块和第一块之间的差值生成第三块;以及使用与第一编码技术不同的第二编码技术对第三块进行编码。公开的方面还包括使用经编码的第二数据块和第三数据块生成经编码的视频比特流。
[0005]公开实施方式的另一方面是用于对包括多个经编码的块的经编码的视频比特流的帧进行解码的方法,并且帧具有多个块。方法包括:接收多个经编码的块的第一经编码的块和第二经编码的块;使用第一解码技术对第一经编码的块进行解码以生成第一经解码的块;使用与第一解码技术不同的第二解码技术对第二经编码的块进行解码以生成第二经解码的块,第二经解码的块具有比第一经解码的块更低的熵;以及组合第一经解码的块与第二经解码的块以形成包含多个块的块。
[0006]公开实施方式的另一方面是用于对视频流中的帧进行编码的装置,帧具有多个块。装置包括存储器和处理器,处理器被配置为执行存储在存储器中的指令以:标识多个块中的第一块;从第一块生成第二块,使得第二块具有比第一块更低的熵;使用第一编码技术对第二块进行编码,其中第一编码技术是有损的;对经编码的第二块进行解码;基于在经解码的第二块和第一块之间的差值,生成第三块;以及使用与第一编码技术不同的第二编码技术对第二块进行编码。
[0007]下面另外详细描述这些方面的变化和其它实施方式。
【附图说明】
[0008]本文中的描述参照附图,其中贯穿若干视图相同的附图标记指的是相同部分,并且其中:
[0009]图1是视频编码和解码系统的不意图;
[0010]图2是待编码和解码的典型视频流的图;
[0011]图3是根据公开实施方式的视频压缩系统的框图;
[0012]图4是根据另一公开实施方式的视频解压缩系统的框图;
[0013]图5是根据公开实施方式的使用两步过程的用于对视频流进行编码的过程的流程图;
[0014]图6是用于对根据图5编码的块进行解码的过程的流程图;
[0015]图7是示出使用离散余弦变换(下文中“DCT变换”)将空间域中的像素的8x8块变换成变换系数的二维矩阵的图;
[0016]图8是使用DCT变换将空间域中的像素的8x8块变换成变换系数的二维矩阵的另一示例的图;
[0017]图9是示出使用DCT变换将空间域中的像素的8x8块变换成变换系数的二维矩阵的图,其中矩阵进一步被量化;
[0018]图10是使用DCT变换将空间域中的像素的8x8块变换成变换系数的二维矩阵的另一示例的图,其中矩阵进一步被量化;以及
[0019]图1lA和图1lB是图示图5的过程的图。
【具体实施方式】
[0020]为了在限制带宽消耗的同时允许数字视频流的传输,视频编码和解码实施方式并入各种压缩方案。这些压缩方案通常将图像打碎成块,并且使用一种或多种技术限制在产生的用于传输的数字视频比特流中包括的信息量。一旦被接收,比特流然后被解码以从有限的信息重新创建块和源图像。
[0021]根据一个示例,由于变换域中的能量紧凑系数分布,基于块的变换域量化和编码可用于压缩。这种紧凑基于如下假定:空间域中的数据大多是缓慢改变的DC值。然而,这可能不是真实的,尤其是在运动预测或帧内方向预测之后,下面更加详细地讨论。空间精细细节、小物体和/或孤立特征的频谱会散布到频谱的宽区域中。由于量化,这些精细特征会被严重扭曲或甚至破坏。因而变换到频域中的数据块可能不是用于表示和编码的最佳形式。作为代替,空间域常常可以适合于小且孤立的物体以及精细特征的表示和编码。
[0022]本文中的教导可以组合数据块的变换域和空间域表示,以提供改善的压缩编码。例如,输入块可以被重新形成为两个分离块:一个块主要包含低频分量并且一个块包含高频分量。高频分量可以由超过块的平均值预定量的尖峰或孤立像素来表示。孤立像素在块中可以由平均值来替换。可以从原始块中减去这种重新形成的块,以形成差值块。重新形成的块可以使用第一编码技术进行编码,而差值块可以使用第二编码技术进行编码。然后两个经编码的块都被输入比特流。
[0023]对以这种方式编码的编码视频比特流进行解码可以通过反转编码过程的一些步骤来执行。通过用设置在帧、片段或块报头中的比特修改比特流语法,可以向解码器指示两步编码,如下面另外详细描述的。当接收到使用两步过程编码的视频流的块时,解码器使用适于每个块的解码处理对块进行解码。然后块可以被加在一起以形成原始块的表示。
[0024]下面描述这些实施方式的附加细节,首先参照它们可以被并入在其中的系统。
[0025]图1是视频编码和解码系统10的示意图。示例性发射站12可以是例如具有包括诸如中央处理单元(CPU) 14之类的处理器和存储器16的硬件的内部配置的计算机。CPU 14是用于控制发射站12的操作的控制器。CPU 14可以通过例如存储器总线与存储器16连接。存储器16可以是只读存储器(ROM)、随机存取存储器(RAM)或者任何其它适合的存储器设备。存储器16可以存储由CPU 14使用的数据和程序指令。发射站12的其它适合的实施方式是可能的。例如,发射站12的处理可以分布在多个设备之中。
[0026]网络28连接发射站12和接收站30,以用于视频流的编码和解码。具体地,视频流可以在发射站12中被编码,并且编码视频流可以在接收站30中被解码。网络28可以是例如因特网。网络28还可以是局域网(LAN)、广域网(WAN)、虚拟私人网络(VPN)、蜂窝电话网络、或者从发射站12向这个示例中的接收站30传递视频流的任何其它装置。
[0027]在一个示例中,接收站30可以是具有包括诸如CPU 32之类的处理器和存储器34的硬件的内容配置的计算机。CPU 32是用于控制接收站30的操作的控制器。CPU 32可以通过例如存储器总线与存储器34连接。存储器34可以是R0M、RAM或任何其它适合的存储器设备。存储器34可以存储由CPU 32使用的数据和程序指令。接收站30的其它适合的实施方式是可能的。例如,接收站30的处理可以分布在多个设备之中。
[0028]被配置为显示视频流的显示器36可以连接到接收站30。显示器36可以以各种方式来实现,包括通过液晶显示器(IXD)或阴极射线管(CRT)或诸如OLED显示器之类的发光二极管显示器(LED)来实现。显示器36连接到CPU 32,并且可以被配置为显示由接收站30中的解码器解码的视频流的渲染38。
[0029]编码器和解码器系统10的其它实施方式是可能的。在所描述的实施方式中,例如,编码器处于发射站12中并且解码器处于接收站30中,作为存储器中的指令或者与存储器分离的部件。然而,编码器或解码器可以连接到相应站12、30,而不是处于其中。进一步地,一个实施方式可以省略网络28和/或显示器36。在另一实施方式中,视频流可以被编码并且然后被存储,以用于在以后的时间向接收站30或具有存储器的任何其它设备的传输。在一个实施方式中,视频流由接收站30(例如,经由网络28、计算机总线、和/或某个通信路径)接收并且被存储,以用于以后的解码。在另一实施方式中,附加部件可以被添加到编码器和解码器系统10。例如,显示器或摄像机可以附接至发射站12,以捕获待编码的视频流。在示例性实施方式中,实时传送协议(RTP)用于传输。在另一实施方式中,可以使用除RTP外的传送协议,例如基于HTTP的视频流协议。
[0030]图2是待编码和解码的典型视频流50的图。视频流50包括视频序列52。在下一级处,视频序列52包括若干相邻帧54。虽然图示了三个帧作为相邻帧54,但是视频序列52可以包括任何数量的相邻帧。然后相邻帧54可以进一步细分成个体帧,例如单个帧56。在下一级处,单个帧56可以分成一系列块58,一系列块58可以包含与例如帧56中的16x16像素对应的数据。每个块可以包含对应像素的亮度和色度数据。块58还可以具有诸如16x8像素组或8x16像素组之类的任何其它适合的大小,并且根据应用可以进一步细分成更小的块。除非另有说明,术语块和宏块在本文中可互换使
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1