使用运动场的图像序列编码/解码的制作方法

文档序号:9621420阅读:471来源:国知局
使用运动场的图像序列编码/解码的制作方法
【专利说明】使用运动场的图像序列编码/解码
[0001] 背景
[0002] 运动场可以被视为描述诸如视频之类的图像序列中的图像之间的差异,常常用于 视频或图像数据的传输和存储中。视频或图像数据通过因特网或其他广播手段的传输或存 储常常受可用的带宽量或存储空间的限制。在很多情况下,可以将数据压缩,以缩小传输或 存储数据所需的带宽量或存储。
[0003] 压缩可以是有损的或无损的。有损压缩是丢弃某些信息的压缩数据的方法。许多 视频编码器/解码器(编解码器)使用有损压缩,该有损压缩可以利用各个图像帧内的空 间冗余和/或图像帧之间的时间冗余,以缩小编码数据所需的比特率。在许多示例中,在结 果被充分降级到被用户注意到之前,会丢弃大量的数据。然而,当由解码器重构图像时,有 损压缩的许多方法会在重构的图像中导致用户看得见的伪像。
[0004] 某些现有的视频压缩方法可以通过基于被称为块的像素的碎片,计算粗的运动 场,来获得紧凑的表示。运动矢量与每一个块相关联,并在块内是恒定的。此近似法使运动 场可有效率地编码,但是,会导致在经解码的图像中产生伪像。在各个示例中,可以使用去 块效应滤波器来减轻伪像或块可以被允许重叠,然后,使用平滑窗口函数,在重叠区上平均 来自不同的块的像素。这两个解决方案都会减少块伪像,但是,产生模糊。
[0005] 在另一个示例中,在图像的需要较高精度的部分,例如,跨对象边界,每一个块都 可以分段为较小子块,分段被编码为辅助信息,为每一个块,编码不同的运动矢量。然而,越 细化的分段要求越多比特;因此,需要增加的网络带宽,来传输已编码的数据。
[0006] 下面所描述的各实施例不限于解决已知图像场的编码和解码系统的任何或全部 缺点的实现。

【发明内容】

[0007] 下面呈现了本发明的简要概述,以便向读者提供基本理解。本概述不是本发明的 详尽概述,并且不标识本说明书的关键/重要元素,也不描述说明书的范围。其唯一的目的 是以简化形式呈现此处所公开的一些概念,作为稍后呈现的更详细的描述的序言。
[0008] 描述了压缩运动场。在一个示例中,视频压缩可以包括计算表示第一图像和第二 图像之间的差异的运动场,运动场用于对第二图像进行预测。在编码视频数据的序列的各 个示例中,第一图像、运动场和表示预测中的错误的残余可以被编码,而并非完整图像序 列。在各个示例中,运动场可以通过以线性为基础(例如,小波基础)的其系数来表示,可 以执行优化,以最小化编码运动场的成本,并最大化重构的图像的质量,而同时还最小化残 余误差。在各个示例中,可以量化已优化的运动场,以允许编码。
[0009] 通过结合附图参考以下详细描述,可更易于领会并更好地理解许多附带特征。
[0010] 附图简述
[0011] 根据附图阅读以下详细描述,将更好地理解本发明,在附图中:
[0012] 图1是用于编码视频数据的设备的示意图;
[0013] 图2是使用可压缩的运动场的示例视频编码器的示意图;
[0014] 图3是可以通过图2的视频编码器来实现的视频编码的示例方法的流程图;
[0015] 图4是获得运动场的译码成本的示例方法的流程图;
[0016] 图5是优化目标函数的示例方法的流程图;
[0017] 图6是量化的示例方法的流程图;
[0018] 图7是用于解码数据的设备的示意图;
[0019] 图8示出了其中可以实现运动场压缩的各实施例的示例性基于计算的设备。
[0020] 在各个附图中使用类似的附图标记来指代类似的部件。
【具体实施方式】
[0021] 下面结合附图提供的详细描述旨在作为本发明示例的描述,并不旨在表示可以构 建或使用本发明示例的唯一形式。本描述阐述了本发明示例的功能,以及用于构建和操作 本发明示例的步骤的序列。然而,可以通过不同的示例来实现相同或等效功能和序列。
[0022] 虽然本示例此处被描述为和示为是在视频压缩系统中实现的,但是,所描述的系 统是作为示例而不是限制来提供的。如本领域技术人员将理解的,本发明示例适用于应用 在各种不同类型的图像压缩系统中。
[0023] 在一个示例中,用户可能希望流式传送数据,该数据可以是视频数据,例如,当用 户正在使用因特网电话服务时,因特网电话服务允许用户执行视频呼叫。在其他示例中, 流式视频数据可以是实况广播视频,例如,音乐会、体育赛事或当前事件的视频。为了流式 传送实况视频数据,图像捕捉、视频数据的编码、传输和解码应该尽可能地接近于实时地发 生。由于网络上的带宽限制,实时流式传送视频常常具有挑战性,因此,流式传送的数据可 以是高度压缩的。在替代的示例中,视频数据不是实况流式传送视频数据。然而,许多类型 的视频数据可以被压缩,用于存储和/或传输。例如,按需TV服务可以使用视频数据的流 式传送和下载,两者都要求压缩。在许多示例中,由于存储空间的限制,也需要有效率的压 缩,例如,许多人现在将大量视频数据存储在具有有限的存储空间的移动设备上。然而,高 度压缩视频数据的视频编码器/解码器(编解码器)常常会导致重构的经解码的图像质量 差或具有许多伪像。因此,应该使用实现高级别的压缩而不会导致图像质量的损失或产生 伪像的有效率的编码器。
[0024] 图1是编码用于流式传送视频的数据的示例情况的示意图。在一个示例中,图像 捕捉设备1〇〇,例如,网络摄像头或其他视频摄像机,捕捉形成视频数据102的序列的用户 的图像。视频数据102可以通过静止图像帧108,110,112的序列来表示。可以使用在计算 设备106上实现的视频编码器104来压缩图像。编码器104将视频数据从模拟格式转换为 数字格式,并压缩数据,以形成经压缩的输出数据114。
[0025] 因此,由编码器104执行的压缩可能企图最小化对于传输经压缩的输出数据114 的带宽要求,而同时最小化质量的损失。
[0026] 视频编码器104可以是混合型视频编码器,该混合型视频编码器使用先前编码的 图像帧和由编码器添加的辅助信息,以估计对于当前帧的预测。辅助信息可以是运动场。 在一个示例中,运动场通过编码指出对象的位置的差异(例如帧之间的像素)的矢量,补偿 摄像机的运动,以及场景中的跨相邻帧的对象运动。编码器的输出数据116可以是表示来 自图像的序列的参考帧的已编码的数据,可以是参考图像和图像的序列中的另一图像之间 的计算出的差异的运动场,以及残余误差,残余误差可以是通过利用运动场卷曲(warping) 参考图像给出的编码的图像的预测和图像本身之间的差异的指示。
[0027] 在一个示例中,如果一个人,例如,用户,将它们的头部移动到第一帧和第二帧之 间的左边,那么,运动场可以编码此差异。在另一个示例中,如果摄像机正在在各帧之间跟 踪,例如,从左向右跟踪,那么,运动场可以编码各帧之间的移动。密的运动场可以是每个像 素运动矢量的场,该场描述如何卷曲先前解码的帧中的像素以形成新图像。通过利用运动 场卷曲先前编码的图像,可以获得对当前图像的预测。预测和当前帧之间的差异被称为残 余或预测误差,并分开地编码,以校正预测。
[0028] 计算设备106可以通过网络116将输出数据114从编码器传输到远程设备118,供 显示在远程设备的显示器上。计算设备104和远程设备118可以是任何合适的设备,例如, 个人计算机、服务器或移动计算设备,例如,平板电脑、移动电话或智能电话。网络116可以 是有线或无线传输网络,例如,WiFi、蓝牙?、有线,或其他合适的网络。
[0029] 在另一个示例中,输出数据114可以可另选地被写入到计算机可读存储介质,例 如,计算设备104或远程设备118上的数据存储124,126。将输出数据写入到计算机可读存 储介质可以作为实时地显示视频数据的替代方案,或作为其补充来执行。
[0030] 可以使用视频解码器122,解码经压缩的输出数据114。在一个示例中,视频解码 器122在远程设备118上实现,然而,它可以与视频编码器104位于同一个设备上或位于第 三设备上。如上文所指出的,可以实时地解码输出数据。解码器122可以恢复视频数据序 列102的每一图像帧108,110,112,用于播放。
[0031] 图2是使用可压缩的运动场的示例视频编码器的示意图。可以在视频编码器204 中接收构成视频数据序列的一部分的图像,例如,图像L 200和I。202。在第一图像200 中,用户可能朝着摄像机,在第二图像202中,用户可能将头转向左;因此,可以使用运动场 来编码这两个帧之间的差异。
[0032]
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1