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

文档序号:9476575阅读:来源:国知局
220),此多个回放工具(214)包括解码器(270)。单向通信可 被提供用于视频监视系统、web相机监视系统、远程桌面会议演示或在其中编码视频并将视 频从一个位置发送到一个或多个其它位置的其它场景。虽然在图2b中的网络环境(202)包 括两个回放工具(214),但该网络环境(202)可以包括更多或更少的回放工具(214)。一般 来说,回放工具(214)与编码工具(212)通信以确定回放工具(214)要接收的视频流。回 放工具(214)接收该流、缓冲所接收的经编码的数据达合适的时间段并开始解码和回放。
[0050] 图3示出可以被包括在编码工具(212)中的示例编码器系统(300)。替换地,编码 工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放 工具(214)的连接的服务器侧控制器逻辑。图4示出可以被包括在回放工具(214)中的示 例解码器系统(400)。替换地,回放工具(214)使用另一解码器系统。回放工具(214)还可 以包括用于管理与一个或多个编码工具(212)的连接的客户机侧控制器逻辑。
[0051] III.示例编码器系统
[0052] 图3是结合其可实现所描述的一些实施例的示例编码器系统(300)的框图。编码 器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间 编码模式、转码模式和针对来自文件或流的媒体回放的常规编码模式)操作的通用编码工 具,或它可以是适用于一种这样的编码模式的专用编码工具。编码器系统(300)可以被实 现为操作系统模块、应用库的部分、独立的应用。总体上,编码器系统(300)从视频源(310) 接收源视频帧序列(311)并产生经编码的数据作为到信道(390)的输出。向该信道输出的 经编码的数据可包括使用1-D、伪2-D和/或帧间伪2-D词典模式编码的内容。
[0053] 视频源(310)可以是相机、调谐卡、存储介质、或其它数字视频源。视频源(310) 以例如每秒30帧的帧速率产生视频帧序列。如本文中所使用的,术语"帧"一般指代源、经 编码的或经重构的图像数据。对于逐行扫描视频,帧是逐行扫描视频帧。对于隔行视频,在 各示例实施例中,隔行视频帧可以在编码之前被去隔行。替换地,两个示例性隔行视频场被 编码成经隔行的视频帧或分开的场。除了指示逐行扫描视频帧之外,术语"帧"或"图片"可 以指示单个非成对的视频场、互补的成对视频场、表示在给定时间的视频对象的视频对象 平面、或较大图像中的感兴趣区域。视频对象平面或区域可以是包括场景的多个对象或区 域的较大图像的一部分。
[0054] 抵达的源帧(311)被存储在包括多个帧缓冲器存储区域(321、322、-^3211)的源 帧临时存储器存储区域(320)中。帧缓冲器(32U322等)在源帧存储区域(320)中保持 一个源帧。在一个或多个源帧(311)已被存储在帧缓冲器(321,322等)中后,帧选择器 (330)周期性地从源帧存储区域(320)中选择一个体源帧。帧选择器(330)选择帧以供输 入到编码器(340)的次序可不同于视频源(310)产生这些帧的次序,例如帧可在次序上领 先,以促成时间上向后的预测。在编码器(340)之前,编码器系统(300)可包括预处理器 (未示出),该预处理器在编码之前执行对选中的帧(331)的预处理(例如滤波)。预处理 还可包括到供编码的到主要和次要分量的色彩空间转换。通常,在编码之前,视频已被转 换成诸如YUV的色彩空间,其中亮度(Y)分量的样本值表示明亮度或强度值,而色度(U,V) 分量的样本值表示色差值。色度样本值可以被子采样到较低的色度采样率(例如用于YUV 4:2:0格式),或者色度样本值可以具有与亮度样本值相同的分辨率(例如用于YUV 4:4:4 格式)。或者,视频可用另一格式(例如,RGB 4:4:4格式)来编码。
[0055] 编码器(340)编码选中的帧(331)以产生经编码的帧(341)并且还产生存储器管 理控制操作("MMC0")信号(342)或参考图片集("RPS")信息。如果当前帧不是已被 编码的第一帧,则在执行其编码处理时,编码器(340)可以使用已经被存储在经解码帧的 临时存储器存储区域(360)中的一个或多个先前被编码/解码的帧(369)。这样的存储的 经解码帧(369)被用作用于当前源帧(331)的内容的帧间预测的参考帧。一般来说,编码 器(340)包括执行编码任务的多个编码模块,编码任务为诸如分割成小块、帧内预测估计 和预测、运动估计和补偿、频率变换、量化和熵编码。由编码器(340)执行的确切操作可以 取决于压缩格式而变化。输出的经编码数据的格式可以是HEVC格式、Windows媒体视频格 式、VC-1 格式、MPEG-x 格式(例如,MPEG-UMPEG-2 或 MPEG-4)、Η· 26x 格式(例如,H. 261、 H. 262、H. 263或H. 264)或其它格式的变型或扩展。
[0056] 编码器(340)可以将帧分割成相同尺寸或不同尺寸的多个小块。例如,编码器 (340)沿小块行和小块列来拆分帧,这些小块行和小块列利用帧边界定义在该帧内的小块 的水平和垂直边界,其中每个小块是矩形区域。小块通常被用于改善针对并行处理的选项。 帧还可以被组织成一个或多个片,其中一个片可以是整个帧或该帧的区域。片可以独立于 帧中的其它片编码,这改善了错误复原性。出于编码和解码的目的,片或小块的内容被进一 步分割成块或其它样本值集。
[0057] 对于根据HEVC标准的句法来说,编码器将帧(或片或小块)的内容拆分成编码树 单元。编码树单元("CTU")包括被组织为亮度编码树块("CTB")的亮度样本值和被组 织为两个色度CTB的相应的色度样本值。CTU(及其CTB)的尺寸由编码器来选择,并且可例 如为64x64、32x32或16x16个样本值。CTU包括一个或多个编码单元。编码单元("⑶") 具有亮度编码块("CB")和两个相应的色度CB。例如,具有64x64亮度CTB和两个64x64 色度CTB(YUV 4:4:4格式)的CTU可以被拆分成4个⑶,其中每个⑶包括一 32x32亮度 CB和两个32x32色度CB,并且每个⑶可能被进一步拆分成更小的⑶。或者,作为另一示 例,具有64x64亮度CTB和两个32x32色度CTB (YUV 4:2:0格式)的CTU可以被拆分成4 个⑶,其中每个⑶包括一 32x32亮度CB和两个16x16色度CB,并且每个⑶可能被进一步 拆分成更小的CU。CU的最小允许尺寸(例如8x8、16x16)可被信号化在比特流中。
[0058] 通常,⑶具有诸如帧间或帧内之类的预测模式。出于信号化预测信息(例如预测 模式细节等)和/或预测处理的目的,CU包括一个或多个预测单元。预测单元("PU")具 有亮度预测块("PB")和两个色度PB。对于帧内预测的CU,PU与CU具有相同的尺寸,除 非CU具有最小尺寸(例如8x8)。在那个情况下,CU可被拆分成四个较小的PU(例如,如果 最小⑶尺寸为8x8,则PU为4x4),或者PU可具有最小⑶尺寸,如⑶的句法元素所指示的。 出于残留编码/解码的目的,CU还具有一个或多个变换单元,其中变换单元("TU")具有 一变换块("TB")和两个色度TB。在帧内预测的⑶中的PU可以包含单个TU(尺寸与PU 相同)或多个TU。如本文中所使用的,术语"块"可以指示〇]、08、?8、了8或某些其它样本 值集,这取决于上下文。编码器决定如何将视频分割成CTU、⑶、PU、TU等。
[0059] 回到图3,编码器根据来自源帧(331)中的其它、先前重构的样本值的预测来表示 该帧(331)的帧内编码的块。对于块的帧内空间预测,图片内估计器估计相邻的重构的样 本值到该块的外插。帧内预测估计器可以输出经熵编码的预测信息(例如帧内空间预测的 预测模式(方向))。帧内预测预测器应用预测信息来确定帧内预测值。
[0060] 对于本文种描述的各种词典编码模式,编码器可计算先前重构的样本值(例如,1 个像素、2个像素、4个像素、8个像素并以此类推的群组)的散列值并对这些散列值进行比 较以得到正被编码的当前像素值的散列值。可基于散列比较在先前重构的样本值中标识出 一个或多个长度匹配,并且可使用本文中描述的各种1-D和伪2-D词典模式(或者参考参 考图片的帧间伪2-D词典模式)来编码一个(或多个)当前像素值。
[0061] 编码器(340)依据来自参考帧的预测来表示源帧(331)的帧间编码的预测的块。 运动估计器估计块相对于一个或多个参考帧(369)的运动。当使用多个参考帧时,这多个 参考帧可来自不同的时间方向或相同的时间方向。经运动补偿的预测参考区域是(诸)参 考帧中用于生成当前帧中的样本块的经运动补偿的预测值的样本区域。运动估计器输出诸 如运动矢量信息之类被熵编码的运动信息。运动补偿器将运动矢量应用于参考帧(369)以 确定经运动补偿的预测值。
[0062] 编码器(340)的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如运动 矢量信息、QP值、模式决策、参数选择)。具体地,熵编码器可使用系数编码句法结构来压缩 针对索引图的各元素的数据。典型的熵编码技术包括指数-Golomb编码、算术编码、差分编 码、Huffman编码、行程长度编码、可变长度到可变长度("V2V")编码、可变长度到固定长 度("V2F")编码、LZ编码、词典编码、概率区间划分熵编码("PIPE")和上述编码的组合。 熵编码器可针对不同种类的信息使用不同的编码技术,并可从特定编码技术内的多个代码 表中进行选择。
[0063] 经编码的帧(341)和MMC0/RPS信息(342)通过解码处理仿真器(350)来处理。解 码处理仿真器(350)实现了解码器的一些功能,例如对任务进行解码以重构参考帧。解码 处理仿真器(350)使用MMC0/RPS信息(342)来确定给定的经编码帧(341)是否需要被重 构并被存储以供在对要编码的后续帧的帧间预测中用作参考帧。如果MMC0/RPS信息(342) 指示经编码的帧(341)需要被存储,则解码处理仿真器(350)对将由解码器进行的解码处 理进行建模,该解码器接收经编码的帧(341)并产生相应的经解码的帧(351)。通过这么 做,当编码器(340)已经使用已被存储在经解码帧存储区域(360)中的经解码的帧(369) 时,解码处理仿真器(350)还使用来自存储区域(360)的经解码的帧(369)作为解码处理 的一部分。
[0064] 经解码帧临时存储器存储区域(360)包括多个帧缓冲器存储区域(361、362、…、 36η)。解码处理仿真器(350)使用MMCO/RPS信息(342)来管理存储区域(360)中的内容,以 便标识出具有编码器(340)不再需要将其用作参考帧的帧的任何帧缓冲器(36U362等)。 在对解码处理进行建模之后,解码处理仿真器(350)在帧缓冲(361,362等)中存储已经以 此方式标识出的新解码的帧(351)。
[0065] 经编码的帧(341)和MMC0/RPS信息(342)被缓冲在临时的经编码数据区域(370) 中。被聚集在经编码数据区域(370)中的经编码数据将一个或多个图片的经编码数据作为 基本经编码视频比特流的句法的一部分来包含。聚集在经编码数据区域(370)中的经编码 数据还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个补充增强信 息("SEI")消息或视频可用性信息("VUI")消息中的一个或多个参数)。
[0066] 来自临时经编码数据区域(370)的经聚集的数据(371)由信道编码器(380)处 理。信道编码器(380)可以(例如根据诸如IS0/IEC 13818-1的媒体流复用格式)来分组 化经聚集的数据以供作为媒体流来传输,在这种情况中,信道编码器(380)可以添加句法 元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以(例如根据诸如ISO/ IEC 14496-12的媒体容器格式)组织经聚集的数据以供作为文件来存储,在这种情况中, 信道编码器(380)可以添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地, 信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况中,信 道编码器(380)可以添加句法元素作为(诸)协议的句法的一部分。信道编码器(380)将 输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。
[0067] IV.示例解码器系统
[0068] 图4是结合其可实现所描述的一些实施例的示例解码器系统(400)的框图。解码 器系统(400)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式以及 针对来自文件或流中的媒体回放的常规解码模式)中的任一者操作的通用解码工具,或它 可以是适用于一种这样的解码模式的专用解码工具。解码器系统(400)可以被实现为操作 系统模块、应用库的一部分或独立的应用。总体上,解码器系统(400)从信道(410)接收经 编码的数据并产生经重构的帧作为针对输出目的地(490)的输出。经编码的数据可包括使 用1-D、伪2-D和/或帧间伪2-D词典模式来编码的内容。
[0069] 解码器系统(400)包括信道(410),该信道(410)可以表示存储、通信连接或针对 作为输入的经编码数据的另一信道。信道(410)产生已经被信道编码的经编码数据。信道 解码器(420)可以处理经编码的数据。例如,信道解码器(420)可以(例如根据诸如ISO/ IEC 13818-1的媒体流复用格式)来去分组化已被聚集以供作为媒体流来传输的数据,在 这种情况中,信道解码器(420)可以解析所添加的作为媒体传输流的句法的一部分的句法 元素。或者,信道解码器(420)可以(例如根据诸如IS0/IEC 14496-12的媒体容器格式) 来将已被聚集以供作为文件来存储的经编码的视频数据分开,在这种情况中,信道解码器 (420)可以解析所添加的作为媒体存储文件的句法的一部分的句法元素。或者,更一般地, 信道解码器(420)可以实现一个或多个媒体系统去复用协议或传输协议,在这种情况中, 信道解码器(420)可以解析所添加的作为(诸)协议的句法的一部分的句法元素。
[0070] 从信道解码器(420)输出的经编码的数据(421)被存储在临时的经编码数据区域 (430) 中,直到已经接收到足够数量的这样的数据。经编码的数据(421)包括经编码的帧 (431) 和MMC0/RPS信息(432)。在经编码数据区域(430)中的经编码数据(421)包含一个 或多个图片的经编码数据作为基本编码的视频比特流的句法的一部分。在经编码数据区域 (430)中的经编码数据(421)还可包括与经编码的视频数据相关的媒体元数据(例如作为 一个或多个SEI消息或VUI消息中的一个或多个参数)。
[0071] 一般来说,经编码数据区域(430)临时存储经编码数据(421),直到这样的经编码 数据(421)被解码器(450)使用。此时,经编码帧(431)和MMC0/RPS信息(432)的经编码 数据被从经编码数据区域(430)传输到解码器(450)。当解码继续时,新的经编码数据被添 加到经编码数据区域(430)并且保留在经编码数据区域(430)中的最旧的经编码数据被传 输到解码器(450)。
[0072] 解码器(450)周期性地
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1