视频帧重建的制作方法

文档序号:9240333阅读:430来源:国知局
视频帧重建的制作方法
【专利说明】
【背景技术】
[0001]数字视频广泛用于各种目的,包括例如视频娱乐、视频广告、视频会议以及用户生成的视频的共享。更多的设备在使用视频编码和解码技术以遵守各种约束,包括例如带宽或存储要求。视频压缩方案包括诸如VPx(由纽约州克利夫顿帕克的On2 Technologies有限公司发布)、由ITU-T视频编码专家组(VCEG)和IS0/IEC运动图像专家组(MPEG)发布的H.264标准之类的格式,包括其当前和将来的版本。H.264还称为MPEG-4部分10或MPEG-4AVC (正式地,IS0/IEC 14496-10)。这些和其它示例视频编码和解码技术可能不得不在具有诸如内部存储器的有限资源的设备上操作,诸如智能电话、平板计算机、计算机等。
[0002]许多视频编码技术使用基于块的预测和量化块变换。利用基于块的预测,重建帧缓冲区可以被用来预测随后的帧。然而,常规重建帧缓冲区可能要求相对大量的存储器以操作。
【附图说明】
[0003]通过阅读以下说明书和随附权利要求并且通过参考以下附图,本发明的实施例的各种优点将对于本领域技术人员变得显而易见,其中:
图1图示了使用本发明的实施例的一方面的示例视频系统;
图2是依照本发明的实施例的一方面的视频编码器的示例的框图;
图3是依照本发明的实施例的一方面的被配置为施行关键帧编码的视频编码器的示例的框图;
图4A是依照本发明的实施例的一方面的被配置为施行非关键帧编码的视频编码器的示例的框图;
图4B是依照本发明的实施例的一方面的被配置为施行可替换的非关键帧编码的视频编码器的示例的框图;
图5是依照本发明的实施例的一方面的被配置为施行非关键帧编码的VP8视频编码器的示例的框图;
图6是依照本发明的实施例的一方面的被配置为施行可替换的非关键帧编码的VP8视频编码器的示例的框图;
图7A和7B是依照本发明的实施例的一方面的在非关键帧编码期间所采用的FIFO缓冲区的示例的图示;
图8是依照本发明的实施例的一方面的视频帧编码的示例的流程图;
图9是依照本发明的实施例的一方面的非关键帧编码的示例的流程图;以及图10和11是本发明的实施例的图示。
【具体实施方式】
[0004]本发明的实施例使用FIFO (先进先出)缓冲区重建非关键视频帧。具体地,本发明的实施例可以被用来通过分配一个相当小的缓冲区以存储重建宏块(MB)行而不是分配整个帧缓冲区来节省存储器。
[0005]视频是对表示运动中的场景的静止图像的序列电子地捕获、记录、处理、存储、传输和重建的技术。图1图示了使用本发明的实施例的一方面的示例视频系统。典型地,在视频系统中,视频源110可以向视频处理设备120提供以一系列视频帧115的形式的视频信号。除其它组件之外,视频处理设备120可以包括编码器130、存储器190和控制器126。
[0006]控制器126可以是芯片、扩展卡、独立设备、其组合等,其与诸如外围设备之类的其它设备交接并且可以控制诸如外围设备之类的其它设备。控制器126可以在计算机的部件(例如管理对存储器190的访问的存储器控制器或视频编码器130)之间链接。在计算设备中,控制器可以是插入板、主板上的单个集成电路或外部设备。
[0007]编码器的输出可以是被输运到后处理设备140的经编码的比特流135。后处理设备的示例可以包括存储设备、输运设备(以通过网络或其它输运路径将经编码的比特流135输运到其它解码器设备)、计算机、服务器、其组合等。
[0008]可以以帧速率提供视频帧。帧速率可以是视频的每单位时间的帧(或图片)的数目,典型地范围从用于较老的系统的每秒六个或八个帧(帧/s)到用于较新的系统的每秒的更多帧。实现移动图像的幻觉的最小帧速率可以大概为每秒十五个帧。
[0009]视频可以采用各种技术来传输或输运,包括作为无线广播的数字信号、通过同轴线缆系统、光纤系统、有线系统(例如电话、双绞线缆、差分双绞线缆)、数字网络(例如内联网、因特网)、其组合等。
[0010]视频传输机制可以具有带宽和其它限制,其约束可以在一段时间内输运的信息量。为了克服这些限制,可以使用各种各样的方法来压缩视频流。视频数据包含空间和时间冗余,从而使未经压缩的视频流极其低效。广泛地说,空间冗余可以通过配准(register)单个帧的部分之间的差异来减小。该任务可以称为帧内压缩并且与图像压缩紧密相关。同样地,时间冗余可以通过配准帧之间的差异来减小;该任务称为帧间压缩并且可以包括运动压缩和其它技术。许多视频压缩算法和编解码器组合空间图像压缩和时间运动压缩。用于压缩的常见现代标准包括但不限于:MPEG-x (例如MPEG-2和MPEG_4)、H.264和VPx (例如 VP8)o
[0011]许多视频压缩算法使用具有在直觉上相对难以区分的结果的有损压缩,其中数据可能被消除。在使用有损压缩时,可能存在视频质量、处理压缩和解压缩的成本以及系统要求之间的权衡。
[0012]其中完整图像可以存储在数据流中的帧是关键帧,同样称为内帧。从一个帧到下一帧发生的仅有改变可以存储在数据流中以大幅减小所存储的信息的量。该技术以以下事实为资本:大多数视频源(诸如典型的电影)仅具有从一个帧到下一帧的图像中的小改变。每当图像的剧烈改变发生时,诸如当从一个相机镜头切换到另一个时,或在场景改变时,可以创建关键帧。在两个帧之间的视觉差异如此大以致于从之前帧以增量方式表示新图像将更复杂并且将要求甚至比再现整个图像更多的比特时,可以输出用于帧的整个图像。
[0013]非关键帧可以存储帧之间的增量改变。换言之,用于给定非关键帧的数据可以仅表示该帧与之前帧如何不同。出于该原因,关键帧可以在编码视频时间隔地插入。为了表示该帧与之前帧如何不同,视频压缩可以在相邻像素的方形组(通常称为宏块)上操作。这些像素组或像素块可以从一个帧到下一帧进行比较并且视频压缩编解码器可以仅发送那些块内的差异。在具有更多运动的视频的领域中,压缩可以编码更多数据以跟上改变中的较大数目的像素。基于视频改变的量的质量改变可以降低或增加可变比特速率。例如,利用宏块操作的压缩格式是VP8,其由On2 Technologies创建并且由Google有限公司在2010年购买。
[0014]类似H.264/AVC,VP8采用用于运动估计和压缩的多个参考帧以提供编码效率和误差隐蔽。一般地,存在被分配用于参考的三个帧缓冲区(即黄金帧缓冲区、可替换帧缓冲区以及最后(之前)的帧缓冲区)以及用于当前重建帧的一个缓冲区。当前要求保护的发明的实施例可以减小所要求的帧缓冲区的数目,从而减小硬件成本,尤其是在一些存储器受约束的设备中。
[0015]在研宄中可能已经提出通过经由下采样或重压缩帧减小参考帧的大小来减小用于存储帧的存储器要求。然而,这些方案可能引入“漂移”误差,其源自由于编码器和解码器利用不同参考数据进行运动压缩所导致的失配数据。附加地,这些方案可能由于采用附加编码器和解码器对每一个重建图片进行编码而具有极大量的计算复杂性。当前要求保护的发明的实施例可以减小重建缓冲区而不是参考帧上的存储器大小。
[0016]图2是依照本发明的实施例的一方面的被配置为重建非关键视频帧215的编码器230的框图。所图示的编码器包括第一缓冲区250、行编码器260、先进先出(FIFO)缓冲区270和参考帧缓冲区280。
[0017]第一缓冲区250可以是保持当前帧的当前帧缓冲区,其中当前帧可以是描述数个行255的改变信息的非关键帧215。改变信息可以描述宏块从之前帧的移动。
[0018]行编码器260可以生成重建宏块行264以用于数个行255中的每一个。行编码器260可以使用当前行256从当前帧215 (在当前帧缓冲区250中)和先进先出缓冲区270中的至少一个重建参考行272来生成(多个)经编码的行265直到所有数个行已经被处理为止。行编码器260可以是诸如例如VP8编码器之类的编码器的一部分。
[0019]先进先出缓冲区(FIF0)270可以大小设计成保持数个重建宏块行264。先进先出缓冲区(FIFO) 270大小设计成保持的数个重建宏块行264可以取决于重建算法。例如,在一些情形中,重建宏块行264的数目可以为三。在又一些情形中,重建宏块行264的数目可以大于三,例如为十六或十七。重建宏块行264越多,FIFO缓冲区保持的将可用于当前行255的重建的宏块就越多。
[0020]根据各个实施例中的一些,先进先出缓冲区270可以是参考缓冲区280的一部分。在其它实施例中,先进先出缓冲区270可以是专用缓冲区
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1