屏幕内容的词典编码和解码的制作方法_3

文档序号:9476575阅读:来源:国知局
解码经编码帧(431)以产生相应的经解码帧(451)。在适 当时,当执行其解码处理时,解码器(450)可以将一个或多个先前解码的帧(469)用作帧间 预测的参考帧。解码器(450)从经解码帧临时存储器存储区域(460)中读取这样的先前解 码的帧(469)。通常,解码器(450)包括执行诸如熵解码、逆量化、逆频率变换、帧内预测、运 动补偿和小块合并之类的解码任务的多个解码模块。由解码器(450)执行的确切操作可以 取决于压缩格式而变化。
[0073] 例如,解码器(450)接收经压缩的帧或帧序列的经编码数据,并产生包括经解码 的帧(451)的输出。在解码器(450)中,缓冲器接收针对经压缩的帧的经编码数据,并在适 当时,使得接收到的经编码数据对熵解码器可用。熵解码器对经熵编码的量化数据以及经 熵编码的辅助信息进行熵解码,通常应用编码器中执行的熵编码的逆来进行熵解码。运动 补偿器将运动信息应用于一个或多个参考帧以形成针对正被重构的帧的任何帧间编码块 的经运动补偿的预测值。帧内预测模块可以在空间上从邻近的、先前重构的采样值中空间 地预测当前块的样本值。
[0074] 对于本文中描述的各种词典编码模式,解码器可用匹配模式和/或直接模式来解 码当前像素值。在匹配模式中,解码器对当前像素值进行解码,这些当前像素值是从被存储 在1-D词典或另一位置(例如,经重构的图片)中的先前解码的像素值(例如,先前重构的 像素值)中预测的。例如,解码器可接收指示(例如,在词典内的)偏移和(指示来自该偏 移的要被预测的像素值的数目的)长度的一个或多个代码。在直接模式中,解码器可直接 解码像素值,而无需预测。
[0075] 在非词典模式中,解码器(450)还重构预测残留值。逆量化器对经熵解码的数据 进行逆量化。例如,解码器(450)基于比特流中的句法元素为图片、小块、片和/或视频的 其它部分设置QP值,并相应地对变换系数进行逆量化。逆频率变换器将经量化的频域数据 转换成空间域信息。对于帧间预测的块,解码器(450)将经重构的预测残留值与经运动补 偿的预测组合。解码器(450)可以类似地将预测残留值与来自帧内预测的预测组合。视频 解码器(450)中的运动补偿环路包括用于平滑经解码的帧(451)中的块边界行和/或列上 的间断的自适应去块滤波器。
[0076] 经解码帧临时存储器存储区域(460)包括多个帧缓冲存储区域(461、462、46n)。 经解码帧存储区域(460)是经解码图片缓冲器的一个示例。解码器(450)使用MMC0/PS信 息(432)来标识该解码器可将经解码帧(451)存储在其中的帧缓冲器(46U462等)。解码 器(450)将经解码的帧(451)存储在那个帧缓冲器中。
[0077] 输出序列发生器(480)使用MMC0/RPS信息(432)来标识按输出次序将产生的下 一帧何时可在经解码帧存储区域(460)中获得。当按输出次序将产生的下一帧(481)可在 经解码帧存储区域(460)中获得时,输出序列发生器(480)读取该下一帧并将其输出到输 出目的地(490)(例如显示器)。一般来说,输出序列发生器(480)将帧从经解码帧存储区 域(460)中输出的次序可以与解码器(450)解码这些帧的次序不同。
[0078] V.示例视频编码器
[0079] 图5a和5b是可结合其实现所描述的一些实施例的通用视频编码器(500)的框 图。编码器(500)接收包括当前图片的视频图片序列作为输入视频信号(505)并在经编码 视频流(595)中产生经编码的数据作为输出。
[0080] 编码器(500)是基于块的并使用取决于实现的块格式。块还可在不同的阶段上被 进一步细分,例如在预测、频率变换和/或熵编码阶段。例如,图片可以被划分成64x64块、 32x32块或16x16块,这些块随后可以被划分成更小的样本值块以用于编码和解码。在针对 HEVC标准的编码的实现中,编码器将图片分割成CTU (CTB)、CU (CB)、PU (PB)和TU (TB)。
[0081] 编码器(500)使用图片内编码和/或图片间编码来压缩图片。编码器(500)的许 多组件被用于图片内编码和图片间编码两者。由这些组件执行的确切操作可取决于所压缩 的信息的类型而变化。
[0082] 小块化模块(510)可选地将图片分割成相同尺寸或不同尺寸的多个小块。例如, 小块化模块(510)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义 在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。小块化模块(510)可随后 将这些小块分组成一个或多个小块集合,其中一小块集合是这些小块中的一个或多个的群 组。
[0083] 通用编码控件(520)接收输入视频信号(505)的图片以及来自编码器(500)的各 个模块的反馈(未示出)。整体上,通用编码控件(520)将控制信号(未示出)提供给其它 模块(例如小块化模块(510)、变换器/缩放器/量化器(530)、缩放器/逆变换器(535)、 图片内估计器(540)、运动估计器(550)以及帧内/帧间切换)以设置和改变编码期间的编 码参数。具体地,通用编码控件(520)可以判定在编码期间是否和如何使用词典模式。通用 编码控件(520)还可以估计编码期间的中间结果,例如执行速率-失真分析来估计。通用 编码控件(520)产生指示在编码期间所做出的判定的通用控制数据(522),使得对应的解 码器可以作出一致的判定。通用控制数据(522)被提供给头部格式化器/熵编码器(590)。
[0084] 如果当前图片是使用图片间预测来预测的,则运动估计器(550)相对于一个或多 个参考图片估计输入视频信号(505)的当前图片中的样本值块的运动。经解码图片缓冲器 (570)缓冲一个或多个重构的先前编码的图片以供用作参考图片。当使用多个参考图片时, 这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(550)产生诸如 运动矢量数据和参考图片选择数据之类的辅助信息运动数据(552)。运动数据(552)被提 供给头部格式化器/熵编码器(590)以及运动补偿器(555)。
[0085] 运动补偿器(555)将各运动矢量应用于来自经解码图片缓冲器(570)的(诸)经 重构的参考图片。运动补偿器(555)产生针对当前图片的经运动补偿的预测。
[0086] 在编码器(500)内的分开的路径中,图片内估计器(540)确定如何执行对输入视 频信号(505)的当前图片的样本值块的图片内预测。当前图片可全部或部分使用图片内编 码来编码。对于帧内空间预测,使用当前图片的重构(538)的值,图片内估计器(540)确 定如何从当前图片的邻近的、先前重构的样本值中空间地预测当前图片中的当前块的样本 值。
[0087] 对于本文中描述的各种词典编码模式,编码器(500)可计算先前重构的样本值 (例如,1个像素、2个像素、4个像素、8个像素并以此类推的群组)的散列值并对那些散列 值进行比较以得到正被编码的当前像素值的散列值。可基于散列比较在先前重构的样本值 中标识出一个或多个长度匹配,并且可使用本文中描述的各种1-D和伪2-D词典模式(或 者参考参考图片的帧间伪2-D词典模式)来编码一个(或多个)当前像素值。
[0088] 帧内预测估计器(540)产生辅助信息帧内预测数据(542),诸如指示帧内预测是 使用空间预测还是各种词典模式之一的信息(例如,每帧内块或特定预测模式方向的每帧 内块的标志值)、(针对帧内空间预测的)预测模式方向。帧内预测数据(542)被提供给头 部格式化器/熵编码器(590)以及图片内预测器(545)。根据帧内预测数据(542),图片内 预测器(545)从当前图片的相邻的、先前重构的样本值中空间地预测当前图片中的当前块 的样本值。
[0089] 在非词典模式中,帧内/帧间切换选择经运动补偿的预测或图片内预测的值以供 用作给定块的预测(558)。在非词典模式中,预测(558)的块和输入视频信号(505)的原 始当前图片的对应部分之间的差异(如果有的话)提供残留值(518)。在当前图片的重 构期间,经重构的残留值与预测(558)组合来从视频信号(505)中产生对原始内容的重构 (538)。然而,在有损压缩中,还是从视频信号(505)中丢失了一些信息。
[0090] 在变换器/缩放器/量化器(530)中,对于非词典模式,频率变换器将空间域视频 信息转换为频域(即频谱、变换)数据。对于基于块的视频编码,频率变换器将离散余弦变 换("DCT")、其整数近似、或另一类型的前向块变换应用于预测残留数据的块(或者在预测 (558)为空的情况下,应用于样本值数据),从而产生频率变换系数的块。编码器(500)可 能还能够指示这样的变换步骤被省略了。缩放器/量化器对变换系数进行缩放和量化。例 如,量化器将用步骤尺寸将非统一的标量量化应用于频域数据,该步骤尺寸在逐帧的基础、 逐小块的基础、逐片的基础、逐块的基础、或其它基础上变化。经量化的变换系数数据(532) 被提供给头部格式化器/熵编码器(590)。
[0091] 在缩放器/逆变换器(535)中,对于非词典模式,缩放器/逆量化器对经量化的变 换系数执行逆缩放和逆量化。逆频率变换器执行逆频率变换,从而产生经重构的预测残留 值或样本值的块。编码器(500)将经重构的残留值与预测(558)的值(例如,经运动补偿 的预测值、图片内预测值)组合以形成重构(538)。
[0092] 对于图片内预测,重构(538)的值可以被馈送回图片内估计器(540)和图片内预 测器(545)。同样,重构(538)的值可以被用于后续图片的运动补偿的预测。重构(538)的 值可以被进一步滤波。对于视频信号(505)的给定图片,滤波控件(560)确定如何对重构 (538)的值执行去块滤波和样本自适应偏移("SA0")滤波。滤波控件(560)生成滤波控 制数据(562),它被提供给头部格式化器/熵编码器(590)和合并器八诸)滤波器(565)。
[0093] 在合并器八诸)滤波器(565)中,编码器(500)将来自不同小块的内容合并到图 片的经重构版本中。编码器(500)根据滤波器控制数据(562)选择性地执行去块滤波和 SA0滤波,以便自适应地平滑各帧中的各边界上的间断。取决于编码器(500)的设置,小块 边界可以被选择性地滤波或根本不被滤波,并且编码器(500)可以在经编码的比特流内提 供指示这样的滤波是否被应用的句法。经解码图片缓冲器(570)缓冲经重构的当前图片以 供在后续的运动补偿的预测中使用。
[0094] 头部格式化器/熵编码器(590)格式化和/或熵编码通用控制数据(522)、经量化 的变换系数数据(532)、帧内预测数据(542)和打包的索引值、运动数据(552)以及滤波器 控制数据(562)。例如,头部格式化器/熵编码器(590)将上下文自适应二进制算法编码 ("CABAC")用于对系数编码句法结构的各句法元素进行熵编码。
[0095] 头部格式化器/熵编码器(590)在经编码视频比特流(595)中提供经编码的数 据。经编码的视频比特流(595)的格式可以是HEVC格式、Windows媒体视频格式、VC-1格 式、MPEG-x 格式(例如,MPEG-UMPEG-2 或 MPEG-4)、Η· 26x 格式(例如,Η· 261、Η· 262、Η· 263 或Η. 264)或其它格式的变型或扩展。
[0096] 取决于所需的压缩的实现和类型,编码器的模块可被添加、省略、拆分成多个模 块、与其它模块组合、和/或用相似的模块来替代。在替换实施例中,具有不同模块和/或 其它配置的模块的编码器执行一个或多个所描述的技术。编码器的具体实施例通常使用编 码器(500)的变型或补充版本。所示的编码器(500)内的各模块之间的关系指示了信息在 编码器中的一般流动;为简明起见,未示出其它关系。
[0097] VI.示例视频解码器
[0098] 图6是结合其可实现所描述的若干实施例的通用解码器(600)的框图。解码器 (600)接收经编码的视频比特流(605)中的经编码的数据并产生包括经重构视频(695)的 图片的输出。经编码的视频比特流的格式(605)可以是H.265/HEVC格式、Windows媒体视 频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、Η· 26x格式(例如, H. 261、H. 262、H. 263或H. 264)或其它格式的变型或扩展。
[0099] 解码器(600)是基于块的并使用取决于实现的块格式。块可以在不同的阶段被进 一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划 分成更小的样本值块。在针对HEVC标准的解码实现中,将图片分割成CTU(CTB)、CU(CB)、 PU (PB)和 TU (TB)。
[0100] 解码器(600)使用图片内解码和/或图片间解码来对图片进行解压缩。解码器 (600)的许多组件被用于图片内解码和图片间解码这两者。由这些组件执行的确切操作可 以取决于正被解压缩的信息的类型而变化。
[0101] 缓冲器在经编码的视频比特流(605)中接收经编码数据,并使得接收到的经编码 数据可用于解析器/熵解码器(610)。解析器/熵解码器(610)通常应用在编码器(500) 中执行的熵编码的逆(例如上下文自适应二进制算术解码)对经熵编码的数据进行熵解 码。例如,解析器/熵解码器(610)将上下文自适应二进制算法解码用于对系数编码句法 结构中的各句法元素进行熵解码。"作为解析和熵解码的结果,解析器/熵解码器(610)产 生通用控制数据(622)、经量化的变换系数数据(632)、帧内预测数据(642)和打包的索引 值、运动数据(652)以及滤波器控制数据(662)。
[0102] 通用解码控件(620)接收通用控制数据(622)并将控制信号(未示出)提供给其 它模块(例如缩放器/逆变换器(635)、图片内预测器(645)、运动补偿器(655)以及帧内 /帧间切换)以设置和改变解码期间的解码参数。
[0103] 如果当前图片是使用图片间预测来预测的,则运动补偿器(655)接收运动数据 (652),诸如运动矢量数据和参考图片选择数据。运动补偿器(655)将运动矢量应用于来自 经解码图片缓冲器(670)的(诸)经重构的参考图片。运动补偿器(655)产生针对当前图 片中的帧间编码块的运动补偿的预测。经解码图片缓冲器(670)存储一个或多个先前重构 的图片以供用作参考图片。
[0104] 在解码器(600)内的分开路径中,帧内预测预测器(645)接收帧内预测数据 (642),诸如指示帧内预测是使用空间预测还是各词典模式之一的信息(例如,每帧内块或 特定预测模式方向的每帧内块的标志值)、(针对帧内空间预测的)预测模式方向。对于帧 内空间内预测,根据预测模式数据使用当前图片的重构(638)的值,图片内预测器(645)从 当前图片的相邻的、先前重构的样本值中空间地预测当前图片的当前块的样本值。
[0105] 对于本文中描述的各种词典编码模式,解码器可用匹配模式和/或直接模式来解 码当前像素值。在匹配模式中,解码器对当前像素值进行解码,这些当前像素值是从被存储 在1-D词典或另一位置(例如,经重构的
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1