保留视频编码中的舍入误差的制作方法_4

文档序号:9221979阅读:来源:国知局
现另一种丢弃的情形。可替换地或另外地,响应于来自接收端22的、没有足够的资源来操控全分辨率或较高分辨率或这样的分辨率在接收端22处是不一定需要的网络条件(例如,拥塞)或信息,携带不同投影的流中的一个或多个流可能被网络32的中间元件(诸如路由器或中间服务器)丢弃。
[0072]例如,比如说,信号在编码器侧被拆分成四个投影(a)到(d),每个投影在分开的流中。如果接收端22接收全部四个流,则解码系统可以重新创建该帧的全分辨率版本。然而,如果一个或多个流被丢弃,例如携带投影(b)和(d)的流被丢弃,则解码系统仍然可以仅仅通过在来自剩余流的投影(a)和(C)的重叠样本之间进行外推而重建视频的较高分辨率(但不是全分辨率)版本。可替换地,如果仅剩余一个流,例如携带投影(a)的流,则其可以被单独用来仅仅显示帧的较低分辨率版本。因此,可以基于将视频信号拆分成不同投影而提供新形式的分层或者缩放编码。
[0073]在实施例中,编码器使用由编码器侧和解码器侧两者所采取的预定移位模式,而不必在它们之间通过网络发信号进行通知,例如,它们两者都被预编程为使用如以上关于图12描述的诸如(O, O)、(O, +1/2)、(+1/2,+1/2)和(+1/2,O)之类的模式。在这种情形下,不必在一个或者多个编码流中将移位模式发信号传送到解码器侧。这样做的优点在于,不必担心包含移位指示的分组或流可能丢失或被丢弃,否则这将会在解码器处导致该重建方案中的故障。然而,使用预定模式不是必要的,并且在替换实施例中,可将移位或移位模式的指示发信号传送到解码器侧。
[0074]按照如上文所举例说明的方案,基于超级分辨率的技术可以有利地被用来减小对于发信号传送编码视频所需要的每单位时间的比特数和/或用来提供新形式的分层编码。
[0075]然而,如之前所提到的,有个问题可能与这样的方案相关联,因为当使用基于运动预测的帧间预测编码时,舍入误差被引入到运动向量中。在图9和10中,作为示例,图示了这个问题。
[0076]图9示出正在被编码的块B。块B包括通过以下而形成的多个较低分辨率样本S,即:组合相应组的较高分辨率样本S’。为了图示的目的,在这个示例中,每个块B包括四个较低分辨率样本的相应2x2正方形,并且每个较低的分辨率根据较高分辨率样本S’的相应2x2正方形形成。然而,可以使用更大的块尺寸(例如,4x4、8x8),并且较低分辨率样本的其他尺寸也是可能的(例如,4x4 )。
[0077]块B根据另一帧(典型地,之前的帧)的一部分来预测。这个部分典型地与所述块具有相同的尺寸,但不限于与块结构的任何一个整个的块共处一个位置(即,一般可以偏移块的一小部分)。
[0078]在实施例中,帧间预测在投影序列内具有相同位置的帧投影之间执行。在图12的示例中,模式以每四帧重复进行,所以序列长度(η)是四帧的长度。在这种情形下,对于给定的投影或流的运动预测可以仅仅在每四帧之间,或在间隔四帧的整数倍的帧之间,或更一般地在帧F(t)与F(t+n)(或t+整数倍的η)之间。所以,在图12中,运动预测仅仅在下述帧之间执行:在被简化为具有与投影(a)对齐的投影的帧之间;在被简化为具有与投影
(b)对齐的投影的帧之间;在被简化为具有与投影(c)对齐的投影的帧之间;在被简化为具有与投影(d)对齐的投影的帧之间。也就是,运动预测仅在序列的不同实例中的相同投影之间进行。所有的投影(a)可被看作为形成一组投影,所有的投影(b)形成另一组投影等等。
[0079]在实施例中,在分开的流中携带每组投影,每个流具有一组其自身自含的运动预测。所以,在图8和12的示例中,来自序列中的位置(a)的所有投影被编码成它们自身相应的流33a,来自序列中的位置(b)的所有投影被编码成分开的相应的流33b,来自序列中的位置(c)的所有投影被编码成另一个分开的相应的流33c,以及来自序列中的位置(d)的所有投影被编码成又一个分开的相应的流33d。这样,如果携带任何一个投影的流丢失(故意丢失或以其他方式丢失),则每个剩余的流仍然是可独立解码的,因为其不依赖于丢失的信息。
[0080]在编码器40处的运动预测模块46生成运动向量,所述运动向量表示在块B和该块B相对于其而被预测的之前的帧的一部分之间的、视频图像平面中的空间偏移。正如本领域技术人员熟悉的,选择根据其来预测块的部分的位置,以使得在所述块与所述部分(BP,最接近的匹配)之间的残差差值最小化。
[0081]运动预测模块46可访问较高分辨率样本S’(由图4的较下方的箭头所表示的)。因此,初始地,运动预测模块46在较高分辨率尺度上确定基于图像的较高分辨率版本的“真实的”运动向量ml。也就是说,以较高分辨率样本尺寸的单位表示。
[0082]对于在投影中的给定的一个投影的流中进行发信号传送,运动向量然后基于由投影表示的图像的较低分辨率版本来按比例缩小到较低分辨率尺度。也就是说,以较低分辨率样本尺寸的单位表示。按比例缩小的运动向量Hl表示相同的物理距离,但是在较低的分辨率(较粗的)尺度上。
[0083]如果确定较高分辨率运动向量ml分别为在水平和垂直方向上的(X’,y’)的较高分辨率样本,并且较低分辨率样本的每一个在尺寸上是fxf的较高分辨率样本以使得在投影之间的移位是较低分辨率像素的1/f,那么在水平和垂直坐标轴上将该向量按比例缩小到Ι/f。这个较低分辨率向量SI (例如,由坐标(X,y)所指代的)将等于按照正在使用的运动预测算法的精度而被舍入的(X’ /f, ? /f)。
[0084]例如,如果较高分辨率运动向量ffij皮确定为分别在水平和垂直方向上是(+10, -9)的较高分辨率样本,以及较低分辨率样本的每个在尺寸上是2x2的较高分辨率样本以使得在投影之间的移位是较低分辨率像素的一半,那么在水平和垂直坐标轴上将该向量按比例缩小到1/2,这将是(+5,-4.5)。
[0085]然而,因为运动向量的较低分辨率版本以比运动向量的较高分辨率版本粗两倍(或更一般地f倍)的尺度而表达,所以将存在舍入误差。因此,在给定的示例中,比如说运动预测算法以整数的样本尺寸单位操作,较低分辨率运动向量?可被舍入到(+5,-4)或(+5,-4.5)。
[0086]这在帧的每个块上重复进行。在一个或者多个编码比特流33中,将针对每个预测的块的运动向量发信号传送到接收端22上的解码器50。
[0087]在解码器侧,解码器50中的帧间预测模块56然后从发信号传送的信息中获知:块B是根据偏移(x,y)的较低分辨率样本(例如,(+5,-4))的部分而预测的。它使用这个信息根据某一帧(例如,F(t))中偏移那个量的某个部分来预测另一帧(例如,F(t+4)或F(t+n))中的较低分辨率样本的块B。
[0088]如果打算的是,仅有单个投影的帧将可独立地解码作为独立的流或信号(S卩,所以任一组投影是具有该选项的信号的独立版本,而不一定与其他组的投影相组合来得到较高分辨率),则可能期望按比例缩小的运动向量。例如,比如说,仅仅接收到携带序列中的类型(a)的投影的一个流。在这种情形下,解码器甚至不需要必须知道该解码器可以根据其来重新创建较高分辨率的其他流,而它只把所接收的流看作为单个低分辨率流。在这种情形下,使得所接收的运动向量以与较低分辨率样本相同的尺度来表示是合期望的,并且解码器因此具有独立地将其视作编码信号的选项,而不必按比例放大到较高分辨率,除非那是期望的或可用的。
[0089]然而,还留有以下问题:当运动向量在经过许多帧在数个帧间预测内积累地相加时,舍入误差将传播。这在图10中示意地图示。随着每次从一帧到下一帧的连续预测(对于所考虑的投影或流),由舍入所产生的误差将在解码器处变得越来越糟糕。
[0090]为了解决这个问题,编码器40中的运动预测模块46被配置成标识舍入误差,并把这个误差发信号传送到在接收端22上的解码器50,例如,把它作为边信息包括在相关的编码比特流中。发信号传送舍入误差是有利的,因为在解码器处,运动估计可被假设为已经以较高分辨率完成。在这种情形下,解码器将必须使用高分辨率运动向量来执行正确的重建。
[0091]例如,如果较低分辨率样本尺寸是2x2的较高分辨率样本,以使得在投影之间的移位是半个(较低分辨率)像素,那么舍入误差可被表达为在水平和垂直方向的每一方向上的单个I比特余数O或I。如果较低分辨率样本尺寸是4x4的较高分辨率样本,以使得在投影之间的移位是四分之一个(较低分辨率)像素,那么余数可以通过使用在水平和垂直方向的每一方向上两个比特00、01、10或11来表达。因此,可以用编码比特流中仅仅几个额外的比特来保留舍入误差。
[0092]在解码器50处,运动预测模块56然后将余数与较低分辨率运动向量?相加,并使用这个结果来得到向量的更精确版本。这进而又被用来预测块B。例如,在半个像素移位的情形下,解码器确定舍入误差是O或I乘以半个较低分辨率样本。例如,如果所接收的运动向量SI是(+5,-4)的较低分辨率样本,以及舍入误差是(O,I),则重建的较高分辨率运动向量将是(+5,-4.5)的较低分辨率样本一或被按比例放大到较高分辨率尺度的完全重新创建的(+10,-9)(而不是+10,-8)。注意,解码器可以通过向上舍入或向下舍入而知道编码器是否工作(例如,解码器基于这一点被预编程),以使得求和将包括加上或减去余数(视情况而定)。可替换地,符号可以被发信号传送。还要注意,运动预测算法可能能够根据非整数样本偏移进行预测,所以即使按照较低分辨率样本来表达,4.5或类似的精度也可能是有用的。
[0093]编码器-解码器系统因此可以从以下能力
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1