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

文档序号:9476575阅读:502来源:国知局
屏幕内容的词典编码和解码的制作方法
【专利说明】屏幕内容的词典编码和解码
[0001] 背景
[0002] 工程师使用压缩(也叫做源编码(source coding或source encoding))来降低 数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信 息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。"编解码器" 是编码器/解码器系统。
[0003] 在过去的二十年中,已采用了各种视频编解码器标准,包括ITU-T H. 261、 H. 262(MPEG-2 或IS0/IEC 13818-2)、Η·263 和 H. 264(MPEG-4 AVC 或IS0/IEC 14496-10)标 准、MPEG1(IS0/IEC 1 1172-2)和MPEG-4 可视(IS0/IEC 14496-2)标准以及 SMPTE 421Μ标 准。最近,HEVC标准(ITU-T H. 265或IS0/IEC 23008-2)已被批准。当前,正在开发(例 如,针对可缩放视频编码/解码、针对在样本比特深度或色度采样率方面具有较高保真度 的视频的编码/解码、或针对多视图编码/解码的)HEVC标准的扩展。视频编解码器标准 通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特 征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以 在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格 式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
[0004] 对特定类型的内容(诸如屏幕内容)的编码和解码可存在来自编码正常视频内容 的不同挑战。例如,屏幕内容可包括相似内容区域(例如,具有相同色彩或平滑梯度的大型 图形区域)以及重复内容区域。使用正常视频编码技术来编码和解码这样的内容可产生以 下结果:效率低下并且会(例如,通过产生压缩失真)降低质量。
[0005] 概述
[0006] 提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要 求保护主题的范围。
[0007] 描述了用于改善视频和/或图像数据的编码和/或解码效率的技术。在一些创新 中,一维(1-D)词典模式被用来使用存储在1-D词典中的先前像素值(例如,先前重构或先 前解码的像素值)来编码和/或解码像素值。在1-D词典模式中,当前像素值可使用标识 1-D词典内的位置的偏移和指示正被预测的像素值的数目的长度来预测(例如,被精确地 预测,而无需任何残留值)。
[0008] 在其他创新中,伪2-D词典模式被用来使用先前像素值(例如,先前重构或先前解 码的像素值)来编码和/或解码像素值。在2-D词典模式中,当前像素值可使用X和Y偏 移以及长度来预测(例如,被精确地预测,而无需任何残留值)。帧间伪2-D词典模式还可 用于使用参考图片中的像素值(例如,通过X和Y偏移和从参考中的相应像素位置到当前 图片中正被编码或解码的相应当前像素位置的长度被标识在参考图片内)来编码和/或解 码像素值。
[0009] 在其他创新,编码器计算针对先前编码的像素值(例如,针对每1个、2个、4个和8 个像素值)的散列值。随后,通过创建当前像素值的散列并对这些散列值进行匹配来对照 先前编码的像素值匹配正被编码的当前像素值。
[0010] 本文中描述的技术可被应用来对屏幕内容进行编码。屏幕内容指代计算机生成的 视频和/或图像内容(例如,文本、图形、和/或计算机生成的其他人工内容)。屏幕内容的 示例是计算机桌面图形用户界面的图像,包括文本、图标、菜单、窗口和/或其他计算机文 本和图形。本文中描述的技术也可被应用于除屏幕内容以外的内容。
[0011] 参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
[0012] 附图简述
[0013] 图1是其中可实现所描述的一些实施例的示例计算系统的示图。
[0014] 图2a和2b是其中可实现所描述的一些实施例的示例网络环境的示图。
[0015] 图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。
[0016] 图4是结合其可实现所描述的一些实施例的示例解码器系统的示图。
[0017] 图5a和5b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
[0018] 图6是示出结合其可实现所描述的一些实施例的示例视频解码器的示图。
[0019] 图7是示出使用1-D词典模式来编码像素值块的示例的示图。
[0020] 图8是示出使用1-D词典模式来解码像素值块的示例的示图。
[0021] 图9是用于使用词典模式来解码像素值的示例方法的流程图。
[0022] 图10是用于使用1-D词典模式来解码像素值的示例方法的流程图。
[0023] 图11是用于使用词典模式来编码像素值的示例方法的流程图。
[0024] 详细描述
[0025] 该详细描述呈现了在编码和/或解码期间对词典模式的使用中的创新。具体地, 该详细描述呈现了针对使用1-D词典模式、伪2-D词典模式和/或帧间伪2-D词典模式来 编码和/或解码数字视频和/或图像内容(例如,诸如屏幕内容之类的视频内容)的创新。 例如,各种1-D、伪2-D和帧间伪2-D词典模式可被应用来基于存储在词典(例如1-D词典) 中或存储在其他位置中(例如,存储在经重构的图片中)的先前编码或解码的(例如,经重 构的)像素值(例如,视频图片中的像素值)来编码和/或解码视频内容中(例如,该视频 图片中)的像素值。
[0026] 描述了用于改善对视频和/或图像数据的编码和/或解码的效率的技术。在一些 创新中,词典模式被用来使用存储在词典中或另一位置中的先前像素值(例如,先前重构 或先前解码的像素值)来对像素值进行编码和/或解码。在词典模式中,当前像素值可使 用标识在先前像素值内(例如在词典中)的位置的偏移和指示正被预测的像素值的数目的 长度来预测(例如,被精确地预测,而无需任何残留值)。无损预测可通过完全从先前像素 值预测像素值来执行。
[0027] 这些创新中的一些改善了编码和/或解码数字图片内容(例如,图像内容和/或 视频内容)的效率。例如,词典编码模式可被应用来降低编码数字图片内容所需的比特。在 屏幕内容正被编码和/或解码的情况下,各种1-D、伪2-D和帧间伪2-D词典编码模式可被 应用来降低编码复杂性和/或编码该内容所需的比特数。在其他创新中,对数字图片内容 的编码可通过以下该改善:计算各像素群组(例如,1个像素、2个像素、4个像素、8个像素 并以此类推)的散列值并匹配散列值以标识出供用来预测正被编码的当前像素值(例如, 供用来使用文本中描述的各种词典模式来进行编码)的匹配散列值。
[0028] 本文中描述的技术可被应用来对屏幕内容进行编码。屏幕内容指代计算机生成的 视频和/或图像内容(例如,文本、图形、和/或计算机生成的其他人工内容)。屏幕内容的 示例是计算机桌面图形用户界面的图像,包括文本、图标、菜单、窗口和/或其他计算机文 本和图形。本文中描述的技术也可被应用于除屏幕内容以外的内容(例如,其他类型的数 字视频和/或图像内容)。
[0029] 虽然本文中描述的操作是被适当描述为由视频编码器或视频解码器来执行,但在 许多情况中,这些操作可由另一类型的媒体处理工具(例如数字图像或数字图片编码器、 数字图像或数字图片解码器)来执行。
[0030] 本文中描述的一些创新是参考专用于HEVC标准的句法元素和操作来示出的。例 如,对HEVC标准的草稿版本JCTVC-N1005-即2013年7月的"高效视频编码(HEVC)范围 扩展文本规范:第4稿"作出参考。本文中描述的各创新还可以被实现为针对其它标准或 格式。
[0031] 更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方 法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所 公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一 个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常,所给出的 技术/工具并不解决所有这些问题。
[0032] I.示例计算系统
[0033] 图1示出了其中可实现几个所描述的创新的合适计算系统(100)的概括示例。计 算系统(1〇〇)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或 专用计算系统中实现。
[0034] 参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储器(120、 125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元 ("CPU")、专用集成电路("ASIC")中的处理器或任何其它类型的处理器。在多处理系 统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元 (110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是(诸)处理 单元可访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,R0M、 EEPR0M、闪存等)或这两者的某一组合。存储器(120, 125)存储实现针对1-D、伪2-D和/ 或帧间伪2-D词典模式编码的一个或多个创新的软件(180),该软件处于适用于由(诸)处 理单元执行的计算机可执行指令的形式。
[0035] 计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个 输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、 控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系 统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统 (100)的各组件的活动。
[0036] 有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、 CD-R0M、DVD或可用于储存信息并可在计算系统(100)内访问的任何其他介质。
[0037] 存储(140)存储针对实现1-D、伪2-D和/或帧间伪2-D词典模式编码的一个或多 个创新的软件(180)的指令。
[0038] (诸)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音 输入设备、扫描设备或向计算系统(1〇〇)提供输入的另一设备。对于视频,(诸)输入设备 (150)可以是相机、视频卡、TV调谐卡、或接受模拟或数字形式的视频输入的类似设备、或 将视频样本读到计算系统(100)中的CD-ROM或CD-RW。(诸)输出设备(160)可以是显示 器、打印机、扬声器、CD刻录机或提供来自计算系统(100)的输出的另一设备。
[0039] (诸)通信连接(170)允许通过通信介质与另一计算实体通信。通信介质传达诸如 计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。 已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作 为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
[0040] 所公开的创新中的任一创新可被实现成计算机可执行指令或计算机呈现产品,其 被存储在一个或多个计算机可读存储介质上并在计算设备(例如任何可用计算设备,包括 智能电话或其他包括计算硬件的移动设备)上执行。计算机可读存储介质是在计算环境内 可访问的任何可用的有形介质(例如,诸如DVD或CD之类的一个或多个光学介质盘、易失 性存储器组件(诸如DRAM或SRAM)或非易失性存储器组件(诸如闪存或硬件驱动器))。 作为示例并参考图1,计算机可读存储介质包括存储器1020和1025以及存储1040。术语 计算机可读存储介质不包括信号和载波。此外,术语计算机可读存储介质不包括通信连接 (例如,170)。
[0041] 各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处 理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程 序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据 结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之 间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
[0042] 术语"系统"和"设备"在本文中被互换地使用。除非上下文明确指示,否则,术语 并不暗示对计算系统或计算设备的类型的任何限制。一般来说,计算系统或计算设备可以 是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或 通用硬件的任意组合。
[0043] 所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件 来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者 的集成电路(例如,诸如ASIC数字信号处理单元("DSP")之类的ASIC、图形处理单元 ("GPU")、或诸如场可编程门阵列("FPGA")之类的可编程逻辑器件("PLD"))来实现。
[0044] 出于呈现的目的,本详细描述使用了如"确定"和"使用"等术语来描述计算系统 中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的 动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
[0045] II.示例网络环境
[0046] 图2a和2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境 (201,202)。编码器(220)和解码器(270)使用合适的通信协议通过网络(250)连接。网 络(250)可包括因特网或另一计算机网络。
[0047] 在图2a所示的网络环境(201)中,每个实时通信("RTC")工具(210)都包括用 于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220)可以产生符合HEVC 标准、SMPTE 421M标准、ISO/IEC 14496-10标准(也称为Η. 264或AVC)、另一标准、或专用 格式的变型或扩展的输出,使得相应的解码器(270)接受来自编码器(220)的经编码的数 据。双向通信可以是视频会议、视频电话呼叫或其它双方通信场景的部分。虽然,图2a中 的网络环境(201)包括两个实时通信工具(210),但网络环境(201)可改为包括参与多方通 信的三个或更多个实时通信工具(210)。
[0048] 实时通信工具(210)管理编码器(220)作出的编码。图3示出可以被包括在实时 通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具(210)使用另一编码器 系统。实时通信工具(210)还管理解码器(270)做出的解码。图4示出可以被包括在实时 通信工具(210)中的示例解码器系统(400)。替换地,实时通信工具(210)使用另一解码器 系统。
[0049] 在图2b中示出的网络环境(202)中,编码工具(212)包括编码供递送给多个回放 工具(214)的视频的编码器(
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1