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

文档序号:9221979阅读:来源:国知局

[0049]熵编码器48的作用在于它需要较少的比特来编码较小的、频发的数值,所以,之前的阶段的目的是用尽可能多的小的数值来表示视频信号。
[0050]量化器44的目的在于量化的数值将是更小的,因此,其只需要更少的比特来编码。变换的目的在于,在变换域中,存在趋向于量化为零或小的数值的更多数值,从而当通过随后的阶段被编码时将降低比特率。
[0051]编码器可被布置成以帧内预测编码模式或帧间预测编码模式(即,运动预测)进行编码。如果使用帧间预测,则帧间预测编码模块46相对于之前的帧F(t-l)的一部分而对来自某一帧F(t)的块的已变换的、已量化的系数进行编码。所述块被说成是根据之前的帧预测的。因此,编码器仅仅需要传输在块的预测版本和实际的块之间的差(在本领域被称为残差)以及运动向量。因为残差值趋向于是较小的,所以当它们被传递到熵编码器48时只需要较少的比特来编码。
[0052]之前的帧的一部分的位置由运动向量确定,运动向量由帧间预测模块46中的运动预测算法确定。
[0053]在实施例中,来自某一帧的某一投影的块是根据在之前的帧中具有不同移位的不同投影而预测的。例如,参照图12,来自帧F(t+l)、F(t+2)和/或F(t+3)的投影(b)、(c)和/或⑷的块分别是根据帧F (t-Ι)中的投影(a)的一部分而预测的。因此,编码器只需要根据相对于基本投影的残差来对除一个以外的所有的投影进行编码。在不同投影之间进行预测的这样的情形下,表示帧之间的运动的运动向量可被加到表示不同投影之间的移位的向量上,以便得到正确的预测。这在图11中示意地图示。
[0054]可替换地,运动预测可以在来自不同帧的两个对应的投影之间,S卩,在投影的相应帧内具有相同移位的所述投影之间。例如,参照图12,来自帧F(t+4)的投影(a)的块可以根据帧F(t)的投影(a)预测,来自帧F(t+5)的投影(b)的块可以根据帧F(t)的投影(b)预测等等(在这个示例中,模式以每4个投影重复进行)。在这种情形下,所述移位在任何给定的预测中所使用的帧之间是相同的,而所以不需要进行图11上示出的那种添加。可使用这样的实施例的另一个原因在于,需要的是,在携带不同投影的流之间不存在依赖性,所以携带投影中的一个或多个投影的流可以被丢弃,而(一个或者多个)剩余的流仍然可以被独立地解码。
[0055]如果使用帧间预测,则替代地,已变换的、已量化的样本受到帧内预测模块45的处理。在这种情形下,来自当前的帧F(t)的块的已变换的、已量化的系数相对于在相同帧内的块(典型地,相邻的块)而被编码。编码器然后仅仅需要传输在块的预测版本与相邻的块之间的残差差值。再次,因为残差值趋向于是较小的,所以当它们被传递到熵编码器48时只需要较少的比特来编码。帧内预测模块45在同一帧中的同一投影的块之间进行预测。
[0056]预测可以有利地呈现用于减小残差大小的更多机会,因为来自不同预测的对应的配对样本将趋向于是类似的,并且因此导致小的残差。
[0057]一旦由帧内预测编码模块45或帧间预测编码模块46进行编码,不同投影的样本的块被传递到熵编码器48,在熵编码器48中,它们受到另外的无损编码阶段的处理。由熵编码器48输出的编码视频然后被传递到发射机18,该发射机18把编码视频33通过网络32 (例如,基于分组的网络,诸如互联网)传输到接收端22的接收机28。
[0058]图7给出可被存储在接收端22并在接收端22上运行的解码系统的示意性框图。解码系统包括解码器50和超级分辨率模块70,例如,它们被实现为软件模块(但是没有排除以下选项,即:在专用硬件电路中实现功能性的某些或者全部)。解码器50具有被布置成接收来自接收机28的编码视频的输入,以及操作地耦合到超级分辨率模块70的输入的输出。超级分辨率模块70具有被布置成将解码视频供应到屏幕25的输出。
[0059]图5给出解码器50的示意性框图。解码器50包括熵解码器58、以及帧内预测解码模块55和帧间预测(运动预测)解码模块54、逆量化模块54和逆变换模块52。熵解码器58操作地耦合到来自接收机28的输入。帧内预测解码模块55和帧间预测解码模块56的每一个操作地耦合到熵解码器58。逆量化模块54操作地耦合到帧内和帧间预测解码模块55和56,并且逆变换模块52操作地耦合到逆量化模块54。逆变换模块被操作地耦合,以向超级分辨率模块70供应输出。
[0060]在操作中,每个投影可被单独地传递到解码器50,并被视作是分开的流。
[0061]熵解码器58按照熵编码技术对编码视频信号33的每个投影执行无损解码操作,并把所产生的输出传递到帧内预测解码模块55或帧间预测解码模块56中的一个,以用于进一步解码,这取决于在编码时使用的是帧内预测还是帧间预测(运动预测)。
[0062]如果使用的是帧间预测,则帧间预测模块56使用在编码信号中所接收的运动向量基于之前的帧的一部分在帧的投影之间预测来自某一帧的某个块。如果需要的话,可以加上运动向量和移位,如图11所示。然而,在实施例中,如果运动预测在具有相同投影的帧之间(例如,如果移位模式是四帧长度,在帧F(t)与F(t+4)之间等等),则并不需要加上运动向量和移位。
[0063]如果使用的是帧内预测,则帧内预测模块55根据在同一帧中的某个块来预测另一个块。
[0064]解码的投影然后被传递到逆量化模块54 (其中量化电平被转换成去量化的(de-quantized)尺度)以及被传递到逆变换模块52 (其中去量化的系数从变换域转换到空间域中的样本)。已去量化的、已逆变换的样本被供应到超级分辨率模块70。
[0065]超级分辨率模块70使用来自同一帧的不同投影的较低分辨率样本,以将其“粘合在一起”成为由被解码的信号所表示的视频图像的较高分辨率版本。正如所讨论的,这可以通过把来自序列中的不同帧的不同投影的较低分辨率样本进行重叠,并生成对应于重叠区域的较高分辨率样本而实现。较高分辨率样本的数值通过在重叠的较低分辨率样本的数值之间进行外推(例如,通过取平均值)而找到。例如,参见在图12中分别来自帧F(t)到F(t+3)的四个不同投影(a)到(d)的四个较低分辨率样本S重叠的阴影区域。这允许在解码器侧重建较高分辨率样本S’。
[0066]该过程将牵涉到带来某些降级。例如,参照图12,每个较低分辨率样本表示原始输入帧的四个较高分辨率样本,并且具有(0,O)、(0,+1/2)、(+1/2,+1/2)和(+1/2,O)的移位的四个投影在时间上散布在不同的连续帧上。在这种情形下,来自四个不同投影的四个较低分辨率样本的唯一组合在解码器处是可得到的,以用于重新创建每个较高分辨率样本,并且在解码器侧被重建的较高分辨率样本尺寸可以是与在编码器侧的原始输入帧的较高分辨率样本尺寸相同的。然而,用来实现这个分辨率的数据在时间上是散布的,以致于信息在时域中丢失。如果仅创建两个投影(例如,具有(0,0)和(+1/2,+1/2)的移位),则出现另一个示例。在这种情形下,信息也丢失。然而,在任一种情形下,丢失可被看作为感知上可容忍的。一般地,在解码器侧重建的较高分辨率样本不需要具有与在编码器侧的原始输入帧的较高分辨率样本一样大的尺寸。
[0067]这个过程对被解码的视频信号中所有的帧执行。如在图12中,在不同帧中提供不同投影,解码器在多个帧序列上重复该模式。已重建的、较高分辨率的帧输出以用于供应给屏幕25,以使得视频被显示给接收端22的用户。
[0068]在实施例中,不同投影可以以分开的分组流通过网络32从传输端12传输到接收端22。因此,每个投影以构成相应的流的分开的一组分组来传输,例如,相应的流由被包括在该流的分组中的针对每个流的分开的流标识符来区分。流中的至少一个流被独立地编码,即,通过使用自含的编码,而不是相对于携带其他投影的任何其他流来进行编码。在实施例中,流中的更多流或全部流可以按这种方式被编码。
[0069]图8给出将从在传输端12上运行的编码器传输到在接收端22上运行的解码器的编码视频信号33的示意图。编码视频信号33包括对于每个块的多个已编码的、已量化的样本。此外,编码视频信号被划分成分别携带不同的投影(a)、(b)、(c)、(d)的分开的流33a、33b,33c和33d。在一个示例应用中,编码视频信号可以作为诸如VoIP呼叫之类的实况播送的(实时)视频电话呼叫的一部分在传输端12与接收端22之间进行传输(VoIP呼叫也可以包括视频)。
[0070]在不同的流中进行传输的优点在于这些流中的一个或多个流可被丢弃,或这些流的分组被丢弃,而仍然有可能至少根据剩余投影之一来解码视频的较低分辨率版本,或潜在地根据剩余投影的子集来解码较高分辨率(但不是全分辨率)版本。流或分组可能是被故意丢弃的或者可能是在传输中丢失的。
[0071]投影可以因为各种原因在各种传输阶段中被丢弃。投影可以被传输端12丢弃。可以配置成响应于来自接收端22的以下反馈来丢弃投影,即:在接收端处没有足够的资源(例如,没有足够的处理周期或下行链路宽度)来操控视频的全分辨率版本或较高分辨率版本,或接收端的用户不一定需要全分辨率或较高分辨率;或响应于来自网络32的以下反馈来丢弃投影,即:在网络的一个或多个元件处没有足够的资源来操控视频的全分辨率或较高分辨率版本(例如,存在网络拥塞,以使得一个或多个路由器具有足够满的分组队列从而导致它抛弃分组或整个流,或中间服务器没有足够的处理资源或上行链路或下行链路带宽)。在传输端12没有足够的资源来以全分辨率或较高分辨率进行编码(例如,没有足够的处理周期或上行链路带宽)的场合,可能出
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1