首页> 中国专利> 使用频域差对图像集合进行重新编码

使用频域差对图像集合进行重新编码

摘要

使用频域差对图像集合进行重新编码的方法以及反转对图像集合的重新编码的相应方法。例如,重新编码工具计算(a)针对来自处于第一格式的经编码的数据的块的经量化的系数以及(b)针对该块的预测的经量化的系数之间的频域差。重新编码工具对频域差进行熵编码,产生针对经压缩的图像的处于第二格式的经编码的数据。这样的重新编码可显著地降低针对先前压缩的图像的存储成本(与针对处于第一格式的先前压缩的图像的存储成本相比),而不会破坏图像质量。随后,可从处于第二格式的经编码的数据恢复处于第一格式的先前压缩的图像。或者,可对处于第二格式的经编码的数据进行解码以重构这些图像。

著录项

  • 公开/公告号CN105474642A

    专利类型发明专利

  • 公开/公告日2016-04-06

    原文格式PDF

  • 申请/专利权人 微软技术许可有限责任公司;

    申请/专利号CN201480043053.X

  • 发明设计人 X·孙;F·吴;H·吴;

    申请日2014-05-22

  • 分类号H04N19/40;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人罗婷婷

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 15:20:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-26

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):H04N19/40 申请日:20140522

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

背景

随着对数字相机(尤其是智能电话或其他设备内包括的那些相机)使用的 增加,数字相片的存储向个人设备并向可通过因特网获得的“云”存储服务提出 了重大的挑战。具体地,智能电话和其他移动计算设备中的数字相机已显著地 增加了所捕捉、共享和存储的数字图像的数目,因为这样的设备被大量用户在 其日常活动中携带。同时,较新的数字相机使用产生更高分辨率图像的传感器。 更高分辨率的图像具有每图像更多的样本值,并且往往具有每图像更高的存储 成本。

工程师使用压缩(也被称为源编码(sourcecoding、sourceencoding)或被 简单地称为编码(coding或encoding))来降低数字图像的比特率。压缩通过 将图像信息转换成较低比特率的形式来降低存储和传送该信息的成本。压缩可 以是无损或有损的。无损压缩通常降低比特率,并且不会破坏图像质量。在另 一方面,在有损压缩时,比特率降低往往更显著,以图像质量的降低为代价。 解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器” 是编码器/解码器系统。

自20世纪90年代早期以来,已采用了各种图像编解码器标准,包括JPEG 标准(ITU-TT.81或ISO/IEC10918-1)、JPEG2000标准(ISO/IEC15444)和 JPEGXR标准(ITU-TT.832或ISO/IEC29199-2)。数字图像也可以使用视频 编解码器标准的图片内编码和解码来处理,视频编解码器标准诸如为 H.264/AVC标准(ITU-TH.264、MPEG-4AVC或ISO/IEC14496-10)或者 H.265/HEVC标准(ITU-TH.265或ISO/IEC23008-2)。编解码器标准通常定 义针对经编码的数据比特流的句法的选项,从而详述当在编码和解码时使用特 定特征时该比特流中的参数。在许多情况下,编解码器标准还提供关于解码器 应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准 外,各种专用编解码器格式(诸如VP8和VP9)定义针对经编码的数据比特流 的句法的其他选项以及相应的解码操作。

由此,图像压缩可降低数字相片的存储成本,但大多数常规图像编码方法 并不利用不同图像之间存在的相关性。例如,考虑使用连拍模式捕捉来捕捉的 一系列数字相片或相册中的数字相片集合。这些系列或相册中的图像可能高度 相关,然而大多数图像编码方法在压缩期间仅考虑每一图像本身。

一些现有的“图像集合”压缩方法利用各图像之间的图像间冗余来降低比特 率。这些编码方法中的几个甚至允许无损压缩。这样的方法通常压缩“原始”输 入数字图像,而非先前编码的数字图像,以便实现存储成本的显著降低。在将 现有的有损图像集合压缩方法应用于先前编码的数字图像的经重构版本时,这 些方法几乎不降低比特率,除非图像质量也受损。将现有的无损图像集合压缩 方法应用于先前编码的数字图像的经重构版本(尝试降低存储成本,而不进一 步降低图像质量)通常增加比特率,而非降低比特率。由此,在一些场景中, 现有的图像集合压缩方法在对先前编码的数字图像进行重新编码时无法提供 高效性能。

概述

总而言之,详细描述提出使用频域差对图像集合进行重新编码的方法以及 反转对图像集合的重新编码的相应方法。在一些示例实现中,重新编码方法可 显著地降低针对先前编码的数字图像的集合的存储成本,而不会破坏图像质 量。换言之,在这些示例实现中,重新编码方法可提供对先前编码的数字图像 的无损压缩。

根据本文中描述的创新的第一方面,重新编码工具对多个图像的集合的处 于第一格式的第一经编码数据进行解码。重新编码工具对多个图像的集合中的 至少一个图像进行重新编码,从而产生此多个图像的处于第二格式的第二经编 码数据。作为重新编码的一部分,重新编码工具确定频域差。

例如,作为重新编码的一部分,重新编码工具相对于一个或多个参考图像 确定预测。重新编码工具可使用空间域视差补偿(例如,运动补偿)来相对于 一个或多个参考图像确定针对多个图像中的给定图像的给定块的预测。对于空 间域视差补偿,多个图像可根据预测结构来被组织,该预测结构取决于对多个 图像的特征的分析。同样,作为空间域视差补偿的一部分,参考图像可根据变 形变换(诸如,全局仿射变换)和/或光度变换(诸如全局亮度补偿)来被调整。

重新编码工具还计算预测的经量化的系数。例如,为了计算针对给定块的 预测的经量化的系数,重新编码工具对针对该块的预测的样本值执行频率变换 以产生该预测的系数,并使用量化参数(“QP”)值来量化该预测的系数。第二 格式重新编码可在若干方面镜像(mirror)第一格式解码。例如,解码可包括 作为重新编码期间使用的频率变换的逆的逆频率变换。同样,解码可包括使用 与重新编码相同的QP值(例如,给定块使用的QP值)的逆量化,其促成针 对重新编码过程的无损压缩。

随后,重新编码工具计算(例如,针对给定块的)预测的经量化的系数和 第一经编码数据中表示的(例如针对该块的)相应的经量化的系数之间的频域 差。由于它们是使用经量化的系数来计算的,因此这些差是频域差。重新编码 工具对这些频域差进行熵编码。

在重新编码期间,对于给定块,重新编码工具可在使用频域差和使用(来 自第一经编码的数据的)相应的经量化的系数之间进行选择,以供包括在第二 经编码的数据中。例如,该选择至少部分地取决于频域差的成本度量和相应的 经量化的系数的成本度量。通过这种方式,在重新编码工具改善了压缩性能时, 该重新编码工具可使用空间域视差补偿,但否则使用根据第一格式的压缩。

重新编码工具可在逐块的基础上对多个图像中的给定图像的多个块重复 该过程。

根据本文中描述的创新的另一方面,计算系统包括基础解码器和预测重新 编码器。基础解码器被适配成对图像的(例如,处于第一格式的)第一经编码 数据进行解码。预测重新编码器被适配成对图像中的至少一个图像进行重新编 码,并由此产生这些图像的(例如,处于第二格式的)第二经编码的数据。预 测重新编码器包括(a)空间域视差补偿模块,该空间域视差补偿模块被适配成 相对于一个或多个参考图像确定预测,(b)频率变换器,该频率变换器被适 配成产生针对该预测的变换系数,(c)量化器,该量化器被适配成量化该预测 的变换系数,(d)差值模块,该差值模块被适配成计算预测的经量化的变换 系数和第一经编码数据中表示的相应的经量化的变换系数之间的频域差,以及 (e)熵编码器,该熵编码器被适配成对频域差进行熵编码。预测重新编码器还 可包括(f)选择器模块,该选择器模块被适配成选择频域差或相应的经量化的 变换系数以供包括在第二经编码的数据中。

根据本文中描述的创新的第三方面,代码转换工具或解码工具反转对图像 集合的重新编码。该工具接收并处理多个图像的集合的经编码的数据。作为该 处理的一部分,该工具(例如,使用空间域视差补偿)相对于一个或多个参考 图像计算预测,并计算该预测的经量化的系数。该工具还对频域差进行熵解码, 并将频域差和该预测的经量化的系数组合以重构相应的经量化的系数。对于解 码,该工具对相应的经量化的系数进行逆量化,随后对经逆量化的系数执行逆 频率变换以重构图像。在另一方面,对于代码转换(例如,代码转换成第一格 式),该工具对相应的经量化的系数进行熵编码。该工具可在逐块的基础上对 给定图像的多个块重复该过程。

使用频域差对图像集合进行重新编码以及相应的代码转换和解码操作的 创新可以被实现为方法的一部分、被适配成执行该方法的计算系统的一部分或 存储用于使计算系统执行该方法的计算机可执行指令的有形计算机可读介质 的一部分。各创新可以结合地或分开地使用。

参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和 优点。

附图简述

图1是其中可实现所描述的一些实施例的示例计算系统的示图。

图2是其中可实现所描述的一些实施例的示例云计算环境的示图。

图3是基本图像编码器和基本图像解码器的示图。

图4是结合其可实现所描述的一些实施例的通用图像重新编码工具的示 图。

图5是在图4的图像重新编码工具中的示例预测图像重新编码器模块的示 图。

图6是结合其可实现所描述的一些实施例的示例图像重新编码工具的示 图。

图7是用于使用频域差来对图像进行重新编码的通用技术的流程图。

图8是用于使用频域差来对图像集合中的图像的块进行重新编码的示例技 术的流程图。

图9是结合其可实现所描述的一些实施例的通用图像代码转换(或解码) 工具的示图。

图10是在图9的图像代码转换(或解码)工具中的示例预测图像解码器 模块的示图。

图11是结合其可实现所描述的一些实施例的示例图像代码转换(或解码) 工具的示图。

图12是用于使用频域差来对图像进行代码转换(或解码)的通用技术的 流程图。

图13是用于使用频域差来对图像集合中的图像的块进行代码转换(或解 码)的示例技术的流程图。

详细描述

详细描述呈现了在对经压缩的图像的集合进行重新编码以及反转这样的 重新编码的领域中的创新。例如,重新编码工具计算(a)来自处于第一格式的 经编码的数据的块的经量化的系数和(b)该块的预测的经量化的系数之间的 频域差,随后对这些频域差进行熵编码,从而产生针对经压缩的图像的处于第 二格式的经编码的数据。在一些示例实现中,重新编码可显著地降低针对先前 压缩的图像的存储成本,而不会破坏图像质量。在许多情况下,重新编码提供 使比特率降低5%、10%或更多的无损压缩(与针对处于第一格式的先前压缩 的图像的存储成本相比)。

随后,可从处于第二格式的经编码的数据中恢复处于第一格式的先前压缩 的图像。或者,处于第二格式的经编码的数据可被解码以重构这些图像。

虽然本文中描述的操作在各处被描述为由图像编码器、图像代码转换器或 图像解码器来执行,但在许多情况中,这些操作可由另一类型的媒体处理工具 (例如视频编码器、视频代码转换器或视频解码器)来执行。可针对诸如静止 图像编码或解码、医疗扫描内容编码或解码、多谱图像内容编码或解码等之类 的应用执行这些操作。

本文中描述的一些创新是参考专用于JPEG标准的句法元素和操作来示出 的。本文中描述的创新还可被实现成针对其他标准或格式,诸如JPEGXR标准、 JPEG2000标准、针对H.264/AVC标准的帧内编码/解码、针对H.265/HEVC标 准的帧内编码/解码、针对VP8格式的帧内编码/解码、针对VP9格式以及WebP 格式的帧内编码/解码。

如本文中所使用的,术语“块”一般指用于频率变换(或逆频率变换)和量 化(或逆量化)的目的的值布置。即,“块”是变换块。用于运动补偿或其他空 间域视差补偿的目的的值布置被称为运动分区或分区,但是术语“块”也可被用 来指示分区。对于给定块(变换块),针对该块的预测可使用相同大小的分区 (分区大小=变换块大小)来确定。或者,针对该块的预测可使用较大的分区 来确定,在该情况下,分区为针对多个块(变换块)的预测提供经预测的样本 值。或者,针对块的预测可使用多个较小的分区来确定。

在本文中描述的示例中,不同附图中相同的参考标记指示相同的组件或模 块。取决于上下文,给定组件或模块可接受不同类型的信息作为输入和/或产生 不同类型的信息作为输出。

更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述 的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些 方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同 的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背 景中指出的一个或多个问题。通常,所给出的技术/工具并不解决所有这些问题。

I.示例计算系统

图1示出了其中可实现若干所描述的创新的示例计算系统(100)的概括 示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创 新可以在不同的通用或专用计算系统中实现。

参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储 器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可 以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任 何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令 以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或 协处理单元(115)。有形存储器(120、125)可以是易失性存储器(例如, 寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪 存等)或两者的某种组合,可由处理单元存取。存储器(120,125)存储实现使 用频域差来对图像集合进行重新编码和/或反转这样的重新编码的相应操作的 一个或多个创新的软件(180),该软件处于适用于由(诸)处理单元执行的 计算机可执行指令的形式。

计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、 一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通 信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算 系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100) 中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。

有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带 盒、CD-ROM、DVD或可用于储存信息并可在计算系统(100)内访问的任何 其他介质。存储(140)存储针对实现使用频域差对图像集合进行重新编码和/ 或反转这样的重新编码的相应操作的一个或多个创新的软件(180)的指令。

(诸)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟 踪球)、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。 对于图像,(诸)输入设备(150)可以是相机、视频卡、TV调谐卡、屏幕捕 捉模块、扫描设备、或接受模拟或数字形式的图像输入的类似设备、或将图像 输入读到计算系统(100)中的CD-ROM或CD-RW。(诸)输出设备(160) 可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统(100)的输 出的另一设备。

(诸)通信连接(170)允许通过通信介质与另一计算实体通信。通信介 质传达诸如计算机可执行指令、图像输入或输出、或已调制数据信号中的其他 数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息 的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学 的、RF或其它载体。

各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可 在计算环境内访问的任何可用有形介质。作为示例而非局限,对于计算系统 (100),计算机可读介质包括存储器(120、125)、存储(140)、和以上任 意的组合。

各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚 拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描 述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、 程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序 模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计 算机可执行指令可以在本地或分布式计算系统中执行。

术语“系统”和“设备”在此被互换地使用。除非上下文明确指示,否则,术 语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或 计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能 的软件的专用硬件和/或通用硬件的任意组合。

所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计 算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的 方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之 类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之 类的可编程逻辑器件(“PLD”))来实现。

为了呈现起见,本详细描述使用了如“确定”和“使用”等术语来描述计算系 统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与 人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不 同。

II.示例云计算环境。

图2示出了其中可实现若干所描述的创新的示例云计算环境(200)的概 括示例。在示例环境(200)中,由云(210)提供各种类型的服务(例如,计 算服务)。例如,云(210)可包括可位于中央或分布式的计算设备集,其向 经由诸如因特网等网络连接的各种类型的用户和设备提供用于图像存储的基 于云的服务。可以不同方式使用云计算环境(200)的计算设备以实现计算任 务。例如,某些任务(例如,处理用户输入和呈现用户界面)可在本地计算设 备(例如,经连接的设备230、240、250)上被执行,而其他任务(例如,图 像存储、图像重新编码、图像代码转换)可在云(210)中被执行。

在示例云计算环境(200)中,云(210)向具有各种屏幕能力的连接的设 备(230、240、250)提供服务。第一连接的设备(230)表示具有计算机屏幕 (例如,中型屏幕)的设备。例如,第一连接的设备(230)可以是个人计算 机,诸如台式计算机、膝上型计算机、笔记本、上网本等。第二连接的设备(240) 表示具有移动设备屏幕(例如,小型屏幕)的设备。例如,第二连接的设备(240) 可以是移动电话、智能电话、个人数字助理、平板计算机等。第三连接的设备 (250)表示与大屏幕相关联的设备。例如,第三连接的设备(250)可以是电 视机屏幕(例如,智能电视机)或连接到电视机的另一设备(例如,机顶盒或 游戏控制台)等。不具备屏幕能力的设备也可在示例云计算环境(200)中被 使用。例如,云(210)可向没有显示器的一个或多个计算机(例如,服务器 计算机)提供服务。

可由云(210)通过服务供应商(220)或通过在线服务的其他供应商(未 描述)来提供服务。可针对特定连接的设备(例如,连接的设备230、240和/ 或250)的屏幕大小、显示能力、和/或触摸屏能力来定制云服务。

在示例云计算环境(200)中,云(210)可至少部分地使用服务提供商(220) 向各个连接的设备(230、240和/或250)提供图像存储服务、图像重新编码服 务、图像代码转换服务和/或本文中描述的其他图像处理服务,在该情况下,服 务提供商(220)可提供用于各种基于云的服务的集中式解决方案。服务提供 商(220)可管理用户和/或设备(例如,连接的设备(230、240、250)和/或 其相应的用户)的服务订阅。例如,连接的设备(230、240或250)向云(210) 提供处于第一格式(例如,JPEG)的经压缩的图像。云(210)中的计算系统 使用频域差对经压缩的图像进行重新编码,并存储处于第二格式的所得到的经 编码的数据。当连接的设备(230、240或250)请求经压缩的图像中的一者或 多者时,云(210)中的计算系统将经压缩的图像从第二格式代码转换回成第 一格式,随后将处于第一格式的(诸)所请求的经压缩的图像提供回给连接的 设备(230、240或250)。

替换地,云计算环境(200)中的连接的设备(230、240或250)之一执 行重新编码、处于第二格式的经压缩的数据的存储、从第二格式的代码转换和 /或解码(例如,用于处理连拍模式捕捉系列中的图像)。

III.示例基本图像编码器和基本图像解码器。

图3示出包括基本图像编码器和相应的基本图像解码器的编解码器系统 (300)。基本图像编码器和基本图像解码器是基于块的并使用取决于实现的 块格式。块(变换块)还可在不同的阶段上细分,例如在频率变换和/或熵编码 阶段上细分。例如,图像可以被划分成64x64块、32x32块、16x16或8x8块, 这些块随后可以被划分成更小的样本值块以用于某些编码和解码阶段。

总的说来,基本图像编码器接收来自图像源(310)的一个或多个图像(312) 并在比特流中产生经编码的数据(348)作为到信道(350)的输出。图像源(310) 可以是相机、调谐卡、存储介质、屏幕捕捉模块或其它数字图像源。图像源(310) (例如,通过连拍模式捕捉)产生单个图像或一系列图像。

A.基本图像编码器和信道。

基本图像编码器使用图片内编码来压缩图像。频率变换器(320)将针对 (诸)图像(312)的空间域图像信息转换为频域(即频谱、变换)数据。对 于基于块的图像编码,频率变换器将离散余弦变换(“DCT”)、其整数近似、 或其它类型的前向块变换(例如离散正弦变换或其整数近似)应用于(诸)图 像(312)之一的样本值的块,从而产生变换系数(322)的块。

量化器(330)量化这些变换系数(322)。量化可包括根据缩放因子的缩 放以及均匀量化。例如,量化器用量化步长将死区标量量化应用于变换系数 (322),该量化步长在逐图像的基础上、逐片的基础上、逐块的基础上、因 频率而异的基础上或在其他基础上变化。经量化的变换系数(332)被提供给 熵编码器(340)。

熵编码器(340)对经量化的变换系数(332)以及某些辅助信息(例如,量 化参数(“QP”)值、模式决策、参数选择)进行熵编码,产生经编码的数据(348)。 典型的熵编码技术包括指数-Golomb编码、Golomb-Rice编码、算术编码、差 分编码、Huffman编码和其他可变长度编码、行程长度编码、可变长度到可变 长度编码、可变长度到固定长度编码、Lempel-Ziv编码、和字典编码以及上述 编码的组合。熵编码器可对不同种类的信息使用不同的编码技术,并可组合地 应用多个技术(例如,通过应用Golomb-Rice编码,随后应用算术编码),并 可从特定编码技术内的多个码表中进行选择。熵编码器(340)或另一模块还 可对通用控制数据进行格式化和/或熵编码,通用控制数据可包括指示图像、片、 块或图像的其他单元的色彩空间、色彩采样率和/或比特深度的信号。熵编码器 (340)在比特流中提供经编码的数据(348)。比特率的格式可以是JPEG、JPEG XR、JPEG2000、H.264/AVC(帧内)、H.265/HEVC(帧内)、或VPx(帧内)、或 其变型或扩展、或某一其他格式。

通用编码控件(未示出)接收来自图像源(310)的图像312以及来自基 本图像编码器的各模块的反馈(未示出)。总的说来,通用编码控件将控制信 号(未示出)提供给其他模块(诸如,频率变换器(320)和量化器(330)) 以在编码期间设置和改变编码参数。具体地,通用编码控件可在编码期间在逐 图像的基础上、逐片的基础上、逐块的基础上或在某一其他逐单元的基础上设 置QP值。通用编码控件产生指示在编码期间所作出的判定的通用控制数据(未 示出),使得对应的解码器可以作出一致的判定。通用控制数据可被提供给熵 编码器(340)。

在替换实施例中,基本图像编码器包括不同的模块和/或其他配置的模块。 例如,基本图像编码器可包括用于图片内预测(例如,空间预测)的模块(诸 如图片内估计器和预测器)以及用于重构供空间预测使用的图像内容的模块。 图片内估计器确定如何从图像的相邻的先前重构的样本值空间地预测针对该 图像的块的预测的样本值。图片内估计器产生诸如(帧内空间预测的)预测模 式方向之类的辅助信息。辅助信息被提供给熵编码器(340)以及图片内预测 器,该图片内预测器从图像的相邻的先前重构的样本值空间地预测针对该块的 预测的样本值。块的样本值和其预测的样本值之间的差或残留值是使用频率变 换器(320)来变换的,使用量化器(330)来量化的,并且使用熵编码器(340) 来熵编码的。基本图像编码器内的逆量化器和逆变换器(未示出)重构残留值, 这些残留值与预测的样本值组合以供在图像内的后续空间预测中使用。

比特流中的经编码的数据(348)被缓冲。经编码的数据(348)可由信道 编码器(未示出)处理,信道编码器可分组化和/或复用经编码的数据(348) 以供作为媒体流来传输或存储,或作为文件来存储。或者,更一般地,信道编 码器可实现复用协议或传输协议的一个或多个媒体系统。信道编码器将输出提 供给信道(350),该信道表示存储、通信连接或该输出的另一信道。信道编 码器或信道(350)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调 制的其它元素(未示出)。

B.基本图像解码器。

信道(350)向基本图像解码器提供经编码的数据(348)。经编码的数据 (348)可能已被信道编码,在该情况下,信道解码器可处理经编码的数据 (348)。例如,信道解码器去分组化和/或去复用已被聚集以供作为媒体流来 传输或存储或作为文件来存储的数据。或者,更一般地,信道解码器可实现去 复用协议或传输协议的一个或多个媒体系统。信道解码器还可包括例如用于 FEC解码和模拟信号解调的其它元素(未示出)。从信道解码器输出的经编码 的数据(348)被缓冲,直到已经接收到足够数量的这样的数据。

总的说来,基本图像解码器接收比特流中经编码的数据(348)并重构一 个或多个图像(382)。使用图片内解码,基本图像解码器对(诸)图像进行 解压缩,(诸)图像(382)被缓冲在经解码的图片缓冲器(390)中。

熵解码器(360)或另一模块可对通用控制数据进行解析和/或熵解码,通 用控制数据可包括指示图像、片、块或图像的其他单元的色彩空间、色彩采样 率和/或比特深度的信号。熵解码器(360)通常应用在基本图像编码器中执行 的熵编码的逆来对经熵编码的数据进行熵解码。典型的熵解码技术包括指数 -Golomb解码、Golomb-Rice解码、算术解码、差分解码、Huffman解码和其他 可变长度解码、行程长度解码、可变长度到可变长度解码、可变长度到固定长 度解码、Lempel-Ziv解码、和字典解码以及上述解码的组合。作为解析和熵解 码的结果,熵解码器(360)产生经量化的变换系数数据(362)以及辅助信息 (例如,QP值、模式判定、参数选择)。

逆量化器(370)对经量化的变换系数(362)进行逆量化,产生经重构的 变换系数(372)。逆量化可包括根据缩放因子的缩放以及均匀(逆)量化。

逆频率变换器(380)执行逆频率变换。对于基于块的解码,逆频率变换 器(380)将经重构的变换系数(372)的块转换成针对经解码的图像(382) 的经重构的样本值的块。逆频率变换可以是逆DCT、其整数近似、或另一种类 型的逆频率变换(例如逆离散正弦变换或其整数近似)。

通用解码控件(未示出)接收通用控制数据(未示出)并将控制信号(未 示出)提供给其他模块(诸如,逆频率变换器(380)和逆量化器(370))以 在解码期间设置和改变解码参数。具体地,通用解码控件可使得基本图像解码 器在解码期间在逐图像的基础上、逐片的基础上、逐块的基础上或在某一其他 逐单元的基础上切换QP值。

在替换实施例中,基本图像解码器包括不同的模块和/或其他配置的模块。 例如,基本图像解码器可包括用于图片内预测(例如,空间预测)的模块,诸 如图片内预测器。基于来自熵解码器(360)的诸如预测模式方向之类的辅助 信息,图片内预测器从图像的相邻的先前重构的样本值空间地预测针对该图像 的块的预测的样本值。使用逆量化器和逆频率变换器来重构块的样本值和预测 的样本值之间的差,随后将该差与预测的样本值组合。

IV.示例图像重新编码工具和技术。

图像重新编码工具对处于第一格式的先前压缩的图像进行解码,随后对这 些图像进行重新编码。重新编码工具计算(a)来自处于第一格式的经编码的数 据的经量化的系数和(b)预测的经量化的系数之间的频域差。重新编码工具 随后对这些差进行熵编码,从而产生经压缩的图像的处于第二格式的经编码的 数据。在许多情况下,重新编码提供使比特率降低5%、10%或更多的无损压 缩(与针对处于第一格式的先前压缩的图像的存储成本相比)。

A.通用图像重新编码工具。

图4是结合其可实现所描述的一些实施例的通用图像重新编码工具(400) 的示图。图像重新编码工具(400)包括基本图像解码器(410)和预测图像重 新编码器(420)。基本图像解码器(410)接收第一经编码的数据(402), 该第一经编码的数据(402)对应于由如图3所示的基本图像编码器(300)产 生的经编码的数据(348)。第一经编码的数据(402)包括针对经压缩的图像 的集合(例如,针对相册或连拍模式捕捉系列)的经编码的数据。第一经编码 的数据(402)的格式可以是JPEG、JPEGXR、JPEG2000、H.264/AVC(帧内)、 H.265/HEVC(帧内)、或VPx(帧内)、或其变型或扩展、或某一其他格式。

基本图像解码器(410)可如参考图3中的基本图像解码器所描述的那样 组织,或者基本图像解码器(410)可具有某一其他组织。在任何情况下,基 本图像解码器(410)对第一经编码的数据(402)进行解码以产生经解码的图 像(382)。基本图像解码器(410)还输出经量化的变换系数(362),其被 预测图像重新编码器(420)使用。

预测图像重新编码器(420)对经解码的图像(382)进行重新编码以产生 第二经编码的数据(422)。作为重新编码的一部分,对于经解码的图像(382) 中的至少一些块,预测图像重新编码器(420)计算(来自基本图像解码器(410)) 经量化的变换系数(362)和预测的经量化的变换系数之间的频域差。预测图 像重新编码器(420)对这些差进行熵编码,这些差被包括在第二经编码的数 据(422)中。预测图像重新编码器(420)可如参考图5所描述的那样组织, 或者预测图像重新编码器(420)可具有某一其他组织(例如,缺少对预测结 构的特征域确定和/或缺少空间域视差补偿)。

图5是示例预测图像重新编码器(500)的示图,该示例预测图像重新编 码器对图像集合中的先前压缩的图像进行重新编码。预测图像重新编码器 (500)使用特征域、空间域和频域压缩技术的组合来压缩图像集合中的图像 以移除图像内冗余。总的说来,预测图像重新编码器(500)对经解码的图像 (382)的集合之间的相关性进行建模,确定经解码的图像(382)的至少一些 块的空间域预测,计算这些预测和经解码的图像(382)的相应块之间的频域 差,以及对这些频域差进行无损地压缩。第二经编码的数据(422)包括经无 损压缩的差以及由预测图像重新编码器(500)的各模块产生的辅助信息。

经解码的图片缓冲器缓冲经解码的图像(382)的集合以供用作参考图像。 预测图像重新编码器(500)的第一模块(510)执行对经解码的图像(382) 的集合的预测结构(512)的特征域确定。特征域确定模块(510)测量经解码 的图像(382)的集合内的各图像之间(例如,各对图像之间)的特征相似性。 基于特征级相似性,特征域确定模块(510)确定预测结构(512)。在概念上, 预测结构(512)通过对经解码的图像(382)进行排序来将这些图像(382) 的集合组织成伪视频序列。

与在图像和图像之间固有地具有时间相关性的自然视频序列不同,针对相 册的经压缩的图像的集合可能是紊乱的,并且仅具有松散的相关性。由于图像 被捕捉时旋转、缩放、照明等方面的变化,由运动造成的图像内视差可能是复 杂的。(相反,连拍模式捕捉系列往往具有图像和图像之间的更强的相关性, 以及旋转、缩放、照明等方面的更少的变化。)

在一些示例实现中,特征域确定模块(510)根据各比例不变特征变换 (“SIFT”)描述符之间的距离来测量各对图像之间的相似性,这有助于避免大 运动偏移和照明变化的影响。一般来说,SIFT描述符描述局部图像区域的各不 同的不变特征,包括关键点位置、比例、定向和特征向量。关键点位置和比例 可通过寻找高斯信号差的最大值和最小值来确定。特征向量为例如用梯度方向 的直方图来表征局部图像区域的128维向量。定向可表示梯度直方图的主要方 向。SIFT描述符通常具有高级别的差异性。为了获得关于SIFT描述符在本上 下文中的计算和使用的附加细节,参见IEEE多媒体会议和博览(IEEE ConferenceonMultimediaandExpo)(2013)第1-6页Shi等人的“Feature-based ImageSetCompression(基于特征的图像集合压缩)”或IEEE电路和系统的新 兴和选题杂志(IEEEJournalonEmergingandSelectedTopicsinCircuitsand Systems)第4卷第1期(2014年3月)Shi等人的“PhotoAlbumCompressionfor CloudStorageUsingLocalFeatures(使用局部特征对云存储的相册压缩)”。

在示例实现中,特征域确定模块(510)依据各图像的SIFT描述符之间的 距离来在这些图像之间近似预测成本。Iset={I1,I2,...,IN}表示包含N个相关图 像的图像集合。将两个图像In和Im用作示例,使用In来预测Im的预测成本pn,m是依据两个图像之间的匹配SIFT描述符的集合sn,m的平均距离来确定的。

pn,m=1|sn,m|Σ(snr,smr)sn,mD(snr,smr),

其中和分别是从In和Im推导出的SIFT描述符,表示集合sn,m中 的第r对匹配SIFT描述符,并且|A|是集合A中的元素数。两个描述符之间的 距离被计算为:

D(snr,smr)=1|vmr|||vnr-vmr||2,

其中和分别表示和的128维特征向量。

在示例实现中,特征域确定模块(510)(使用以上描述的方法)估计经解码 的图像(382)的集合之中的每一对图像之间的预测成本,随后生成有向图, 该有向图合并了成对预测成本。特征域确定模块(510)通过最小化总预测成 本来从有向图确定最小生成树(“MST”),随后根据对MST的深度优先遍历来 确定图像集合Iset的预测结构(512)。为了得到关于确定这些示例实现中的有 向图、MST和预测结构的附加细节,参见以上引用的Shi等人的“PhotoAlbum CompressionforCloudStorageUsingLocalFeatures(使用局部特征对云存储的 相册压缩)”。

替换地,特征域确定模块(510)通过某种其他方式(例如,使用除SIFT 描述符以外的描述符、使用结构相似性(“SSIM”)索引或其他结构相似性测量、 使用像素签名等)确定经解码的图像(382)的集合的预测结构(512)。

预测图像重新编码器(500)的第二模块(520)执行空间域视差补偿。空 间域视差补偿模块(520)在空间域中使用全局和局部对准技术来对在预测结 构(512)中组织的各图像之间的视差进行补偿。这增强了各图像之间的空间 相关性,其随后在频域冗余降低中被利用。空间域视差补偿模块(520)产生 针对经解码的图像(382)的块的预测(524)。空间域视差补偿模块(520) 还输出运动向量(“MV”)数据和/或全局变换数据(522),其分别参数化局部 和全局视差补偿。

在给定预测结构(512)的情况下,图像集合Iset可被组织成伪视频序列。 在一些情况下,图像集合中的各图像之间的视差过于复杂以致无法通过运动估 计和补偿来处理。为了处理这样的视差,空间域视差补偿模块(520)可将变 形变换和/或光度变换应用于经解码的图像(382)中的一者或多者。空间域视 差补偿模块(520)输出针对应用于参考图像的(诸)全局变换的参数值。替 换地,空间域视差补偿模块(520)确定并输出针对应用于某参考图像的片段 或应用于多个参考图像或其片段的(诸)全局变换的参数值。可为当前图像或 其片段确定并输出针对(诸)全局变换的参数值,指示在对当前图像的各分区 或其片段执行运动补偿之前要应用于参考图像的(诸)全局变换。不同的图像 或当前图像内的各片段可具有不同的针对(诸)全局变换的参数值。

在一些示例实现中,为了确定针对当前图像Im的经运动补偿的预测Cn,m, 空间域视差补偿模块(520)可在使用经调整的参考图像对当前图像Im的各分 区执行运动估计和补偿(由函数Fn,m表示)之前,将变形变换(由矩阵Hn,m表 示)和光度变换(由矩阵Tn,m表示)应用于参考图像In

Cn,m=Fn,m(Tn,m×Hn,m×In)。

变形变换矩阵Hn,m有助于降低参考图像In和当前图像Im之间的几何视差。 在示例实现中,空间域视差补偿模块(520)从图像In和Im之间的匹配SIFT 描述符确定矩阵Hn,m。例如,从一个相机平面到另一相机平面的变换可被建模 成单应(homograph)变换,其可使用三维匹配坐标来求解。该变换可被简化 成二维仿射变换,并通过RANSAC技术来计算,如ACM的期刊(1981年) 第24卷第381-395页Fischler等人的“RandomSampleConsensus:aParadigmfor ModelFittingwithApplicationstoImageAnalysisandAutomatedCartography(随 机样本一致性:通过应用图像分析和自动绘图来进行模型拟合的范例)”中所描 述的。为了得到附加细节,参见以上引用的Shi等人的“Feature-basedImageSet Compression(基于特征的图像几何压缩)”或Shi等人的“PhotoAlbum CompressionforCloudStorageUsingLocalFeatures(使用局部特征对云存储的 相册压缩)”。替换地,空间域视差补偿模块(520)用某一其他方式确定矩阵 Hn,m

光度变换矩阵Tn,m有助于降低参考图像In和当前图像Im之间的照明视差。 在这些示例实现中,空间域视差补偿模块(520)从图像In和Im的亮度(光亮 度)样本值中确定矩阵Tn,m。矩阵Tn,m可通过使用图像的所有亮度样本值来计 算。或者,考虑匹配SIFT描述符的稳健性,矩阵Tn,m可仅使用匹配的关键点位 置的亮度样本值来计算。为了得到附加细节,参见以上引用的Shi等人的 “Feature-basedImageSetCompression(基于特征的图像几何压缩)”或Shi等人 的“PhotoAlbumCompressionforCloudStorageUsingLocalFeatures(使用局部 特征对云存储的相册压缩)”。替换地,空间域视差补偿模块(520)用某种其 他方式确定矩阵Tn,m

替换地,空间域视差模块(520)跳过变形变换和光度变换。例如,对于 缺少由旋转、缩放、照明变化等造成的全局视差的连拍模式捕捉系列,可跳过 变形变换和光度变换。

在任何使用变形变换和/或亮度变换的调整之后,空间域视差补偿模块 (520)可执行运动估计和运动补偿Fn,m来处理任何剩下的(经变换的)参考图 像和图像Im之间的局部视差。对于运动估计,运动估计器估计当前图像的样本 值的分区相对于(经变换的)参考图像的运动。运动估计器产生该分区的诸如 MV数据和参考图像选择数据之类的辅助信息运动数据。运动补偿器将MV应 用于来自经解码的图片缓冲器的(诸)(经变换的)参考图像,产生针对各块 的经运动补偿的预测。取决于实现,空间域视差补偿模块(520)可使用常规 视频编码器中使用的各运动估计技术和运动补偿技术。运动分区可具有与用于 对变换系数进行变换和量化的块(变换块)相同的大小,或者它可具有不同的 大小(例如,运动分区大于变换块)。

使用针对当前图像Im的经运动补偿的预测Cn,m和当前图像Im的样本值,一 种压缩方法是计算样本值之间的空间域差,随后(例如使用频率变换、量化和 熵编码)对这些空间域差进行压缩。在该方法中,有损压缩可降低比特率,但 通常妨碍了对先前压缩的图像的准确恢复。另一方面,对空间域差的无损压缩 (利用或不利用频率变换)通常增加针对经压缩的图像的存储成本(与在重新 编码之前先前压缩的图像相比)。

取代对空间域差进行压缩,预测图像重新编码器(500)的第三模块(530) 降低经视差补偿的预测和当前图像之间的频域冗余。频域冗余降低模块(530) 计算针对预测(524)的经量化的变换系数。随后,频域冗余降低模块(530) 确定针对预测(524)的经量化的变换系数和由基本图像解码器(410)提供的 相应的经量化的变换系数(362)之间的频域差。频域冗余移除促成对第一经 编码数据(402)的无损压缩。

在一些示例实现中,频域冗余降低模块(530)确定频域差,并在逐块的 基础上计算针对预测(524)的经量化的变换系数。块大小(变换块大小)可 以为例如8×8、4x4、16×16或某个其它大小。

频域冗余降低模块(530)对第一经编码数据(402)使用与基本图像编码 器中的频率变换和量化过程对准的频率变换和量化过程。对于给定预测(524) (经补偿的图像Cn,m),频域冗余降低模块(530)执行频域变换并量化针对预 测(524)的变换系数。该量化可使用与对第一经编码数据(402)的搭配块使 用的相同的QP值。该量化将变换系数转换成较低分辨率值(例如,将浮点值 转换成整数值),并且还降低这些差的波动。频域冗余降低模块(530)确定 针对预测(524)的经量化的变换系数和第一经编码数据(402)的搭配块的相 应的经量化的变换系数(362)之间的差。

在这些示例实现中,在逐块的基础上,频域冗余降低模块(530)在使用 针对块的频域差或第一经编码数据(402)的搭配块的相应的经量化的变换系 数之间自适应地选择。例如,频域冗余降低模块(530)评估是否更多的比特 被用于使用频域差的编码或使用搭配块的相应的经量化的变换系数的编码。对 于该判定,频域冗余降低模块(530)可考虑实际的编码成本(使用来自熵编 码器(340)的反馈)或估计的编码成本。如果频域差被使用,则频域冗余降 低模块(530)可考虑对针对与该块相关联的分区的MV数据进行信号化的成 本。频域冗余降低模块(530)输出针对这些块的模式判定(534),从而除了 频域差或系数(532)外,还指示是频域差还是相应的经量化的变换系数被用 于这些块。

熵编码器(340)接收频域差或系数(532)并对其进行熵编码,产生针对 这些频域差或系数的经编码的数据(349)。熵编码器(340)可如参考图3的 基本图像编码器描述的那样操作(但有可能对频域差进行编码,而不只是对经 量化的变换系数进行编码),或以某种其他方式操作。

复用器(550)接收针对频域差或系数的经编码的数据(349)、模式判定 (534)、MV数据/全局变换数据(522)(包括指示矩阵Mn,m和/或Tn,m的数据) 以及预测结构(512)。复用器(550)可对尚未被熵编码的任何值(例如,MV 数据、全局变换数据、模式判定)进行熵编码。复用器(550)将经编码的数 据(349)与针对模式判定(534)、MV数据/全局变换数据(522)和预测结 构(512)的句法元素组合,产生处于第二格式的第二经编码数据(422)。

B.示例图像重新编码工具。

图6是结合其可实现所描述的一些实施例的示例重新编码工具(600)的 示图。重新编码工具(600)包括基本解码器的模块和预测重新编码器的模块。 被适配成对图像的第一经编码数据(402)进行解码的基本解码器包括熵解码 器(360)、逆量化器(370)和逆频率变换器(380),其如参考图3描述的 那样操作。经解码的图像缓冲器(390)存储从第一经编码的数据(402)重构 的经解码的图像(382)的集合。

预测重新编码器被适配成对图像(382)中的至少一者进行重新编码,并 产生针对经解码的图像(382)的集合的第二经编码的数据(422)。预测重新 编码器包括特征域确定模块(510),如参考图5所描述的,该特征域确定模 块(510)被适配成确定图像(382)的预测结构(512)。预测重新编码器还 包括空间域视差补偿模块(520),如参考图5所描述的,该空间域视差补偿 模块(520)被适配成相对于一个或多个参考图像确定预测(524)并输出MV 数据/全局变换数据(522)。

为了实现频域冗余降低,预测重新编码器包括频率变换器(320)、量化 器(330)和差值模块(670)。频率变换器(320)如参考图3所描述的那样 操作,但对预测(524)的样本值而非块的样本值执行频率变换。频率变换器 (320)产生针对该预测的变换系数(323)。频率变换器(320)可使用频率 变换,该频率变换是逆频率变换器(380)所使用的变换的逆。

量化器(330)如参考图3所描述的那样操作,但量化针对预测的变换系 数(323),并产生针对预测的经量化的变换系数(333)。对于给定块,量化 器(330)和逆量化器(370)可使用相同的QP值(例如,用于第一经编码的 数据(402)中的块的QP值)。

差值模块(670)被适配成计算针对预测的经量化的变换系数(333)和第 一经编码数据(402)中表示的相应的经量化的变换系数(362)之间的频域差 (672)。例如,差值模块(670)在逐块的基础上计算频域差(672)。

在图6中,预测重新编码器还包括选择器模块(380),该选择器模块(680) 被适配成选择频域差(672)或相应的经量化的变换系数(362)以供包括在第 二经编码的数据(422)中。例如,选择器模块(680)在逐块的基础上作出选 择。这些选择至少部分地取决于这些差(672)的成本度量和相应的经量化的 变换系数(362)的成本度量。替换地,选择器模块(680)考虑其它和/或附加 准则。选择器模块(680)输出这些选择的判定(534)以及频域差或系数(532), 如参考图5描述的。

最终,预测重新编码器还包括熵编码器(340)和复用器(550),其如参 考图5所描述的那样操作。

C.示例图像重新编码技术。

图7是用于使用频域差来对图像进行重新编码的通用技术(700)的流程 图。重新编码工具(诸如参考图4或图6描述的重新编码工具)或其他重新编 码工具可执行技术(700)。

开始,重新编码工具对多个图像的集合的处于第一格式的第一经编码的数 据进行解码(710)。例如,重新编码工具对块执行熵解码、逆量化和逆频率 变换。作为解码(710)的一部分,重新编码工具可执行其他和/或附加的解码 操作(例如,用于空间预测)。

随后,重新编码工具对多个图像的集合中的至少一个图像进行重新编码 (720),产生多个图像的处于第二格式的第二经编码的数据。例如,对于多 个图像中的一个图像的给定块,重新编码工具执行图8中示出的示例技术(800) 以使用频域差来对该块进行重新编码。替换地,重新编码工具执行其他和/或附 加的操作来使用频域差对多个图像中的一个图像的块进行重新编码。

参考图8,重新编码工具相对于一个或多个参考图像确定(810)预测。例 如,重新编码工具相对于(诸)参考图像对与当前图像的给定块相关联的分区 执行运动补偿或另一形式的空间域视差补偿。重新编码工具可使用变形变换和 光度变换中的一者或多者来调整(诸)参考图像之一。给定图像、(诸)参考 图像和多个图像中的任何其他图像可根据预测结构来组织。取决于对图像的特 征的分析的预测结构在空间域视差补偿期间被用来确定参考图像关系。

重新编码工具随后计算(820)针对预测的经量化的系数。例如,重新编 码工具对该预测执行频域变换以产生针对该预测的系数。重新编码工具可在解 码(810)期间使用逆量化所使用的相同的QP值来量化针对该预测的系数。

重新编码工具计算(830)针对该预测的经量化的系数和第一经编码的数 据中表示的相应的经量化的系数之间的频域差。重新编码工具随后对这些差进 行熵编码(840)。

重新编码工具可重复以下动作:确定(810)预测,计算(820)经量化的 系数,计算(830)频域差和在逐块的基础上对多个图像中的当前图像的多个 块进行熵编码(840)。重新编码工具可根据以上描述的准则来选择频域差或 相应的经量化的系数以供包括在块的第二经编码的数据中。例如,重新编码工 具至少部分地取决于频域差的成本度量和相应的经量化的系数的成本度量来 作出该选择。替换地,重新编码工具当在频域差或相应的经量化的系数之间进 行选择时考虑其他和/或附加的准则。

V.示例图像代码转换和解码工具和技术。

图像代码转换工具或解码工具反转对经压缩的图像的重新编码。从处于第 二格式的经编码的数据,代码转换工具或解码工具重构(a)来自处于第一格式 的经编码的数据的经量化的系数和(b)针对预测的经量化的系数之间的频域 差。代码转换工具或解码工具将频域差与针对预测的经量化的系数组合。此后, 这些结果被熵编码(针对代码转换)或被使用逆量化、逆频率变换等进行重构 (针对解码)。在一些示例实现中,可从处于第二格式的经编码的数据中准确 地恢复处于第一格式的先前压缩的图像。

A.通用图像代码转换或解码工具。

图9是结合其可实现所描述的一些实施例的通用图像代码转换(或解码) 工具(900)的示图。图像代码转换(或解码)工具(900)包括基本图像编码 器和/或基本图像解码器的模块(920)以及预测图像解码器(910)。预测图像 解码器(910)接收第二经编码数据(422)并至少部分地对第二经编码数据(422) 进行解码。作为解码的一部分,对于经解码的图像(382)的至少一些块,预 测图像解码器(910)从第二经编码的数据(422)中重构频域差。预测图像解 码器(910)将频域差和针对预测的经量化的变换系数组合,产生经量化的变 换系数(362),这些经量化的变换系数(362)被提供给基本图像编码器和/ 或解码器的模块(920)。预测图像解码器(910)可如参考图10所描述的那 样组织,或者预测图像解码器(910)可具有某种其他组织(例如,缺少空间 域视差补偿)。

图10是示例预测图像解码器(1000)的示图。预测图像解码器(1000) 使用空间域和频域解压缩技术的组合。总的说来,预测图像解码器(1000)使 用经信号化的MV数据来确定针对经解码的图像(382)的至少一些块的空间 域预测,重构频域差,并将这些频域差和针对预测的经量化的变换系数组合。

在预测图像解码器(1000)中,去复用器(1010)接收第二经编码的数据 (422),其包括针对频域差或系数的经编码的数据(349)、模式判定(534)、 MV数据/全局变换数据(522)(包括指示矩阵Mn,m和Tn,m的数据)和预测结 构(512)。除了针对频域差或系数的经编码的数据(349)外,去复用器(1010) 可对被熵编码的值(例如,MV数据、全局变换数据、模式判定)进行熵解码。 去复用器(1010)向预测图像解码器(1000)的适当模块提供经编码的数据 (349)、模式判定(534)、MV数据/全局变换数据(522)和预测结构(512)。

熵解码器(360)接收针对频域差或系数的经编码的数据(349)并对频域 差或系数(532)进行熵解码。熵解码器(360)可如参考图3的基本图像解码 器所描述的那样操作(但有可能对频域差进行解码,而不只是对经量化的变换 系数进行解码),或以镜像预测图像重新编码器(510)的熵编码器(340)的 某种其他方式操作。

预测图像解码器(1000)的第一模块(1040)执行空间域视差补偿。空间 域视差补偿模块(1040)从去复用器(1010)接收MV数据/全局变换数据(522) 和预测结构(512)。空间域视差补偿模块(1040)在空间域中使用全局对准 (根据全局变换数据)和局部对准(根据MV数据)来对在预测结构(512) 中组织的各图像之间的视差进行补偿。空间域视差补偿模块(1040)产生针对 经解码的图像(382)的块的预测(524)。

在一些示例实现中,对于使用局部对准的视差补偿,空间域视差补偿模块 (1040)可执行运动补偿来降低当前图像和一个或多个参考图像之间的视差。 经解码的图片缓冲器缓冲可用作参考图像的经解码的图像(382)。运动补偿 器将MV应用于来自经解码的图片缓冲器的(诸)参考图像,产生经运动补偿 的预测。取决于实现,空间域视差补偿模块(1040)可使用常规视频解码器中 使用的各运动补偿技术。用于运动补偿的运动分区可与变换块具有相同的大 小,或者它可具有不同的大小。

对于太过复杂以致无法通过运动补偿来处理的视差,空间域视差补偿模块 (1040)可将变形变换和/或光度变换应用于参考图像。以上描述了矩阵Hn,m(指 示变形变换的参数)和矩阵Tn,m(指示光度变换的参数)的示例。例如,为了 确定针对当前图像Im的经运动补偿的预测Cn,m,空间域视差补偿模块(1040) 在使用经调整的参考图像执行运动补偿(由函数Fn,m表示)之前,先将变形变 换(由矩阵Hn,m表示)和光度变换(由矩阵Tn,m表示)应用于参考图像In

Cn,m=Fn,m(Tn,m×Hn,m×In).

替换地,空间域视差模块(1040)跳过变形变换和光度变换。

预测图像检测器(1000)的第二模块(1030)执行频域系数恢复。频域系 数恢复模块(1030)计算针对预测(524)的经量化的变换系数。频域系数恢 复模块(1030)还重构针对预测(524)的经量化的变换系数和相应的经量化 的变换系数之间的频域差。频域系数恢复模块(1030)将经重构的差和针对预 测(524)的经量化的变换系数组合,产生经量化的变换系数(362)。

在一些示例实现中,频域系数恢复模块(1030)重构频域差,并在逐块的 基础上计算针对预测(524)的经量化的变换系数。块大小可以为例如8x8、4x4、 16x16或某一其他大小。

频域系数恢复模块(1030)对第一经编码的数据(402)使用频率变换和 量化过程,该频率变换和量化过程与基本图像编码器中的那些频率变换和量化 过程对准。对于给定预测(524)(经补偿的图像Cn,m),频域系数恢复模块(1030) 执行频率变换并量化针对预测(524)的变换系数。该量化可使用与对第一经 编码数据(402)的搭配块使用的相同的QP值。在单独的通路中,频域系数恢 复模块(1030)重构(从熵解码器(360)接收的)频域差,并将其与针对预 测(524)的经量化的变换系数组合,以重构第一经编码数据(402)的搭配块 的相应的经量化的变换系数(362)。

在这些示例实现中,频域系数恢复模块(1030)接收针对块的模式判定 (534),该模式判定指示在编码期间对相应的块使用频域差还是相应的经量 化的变换系数(532)。在逐块的基础上,频域系数恢复模块(1030)在针对 块的频域差(在该情况下,这些差被与针对该块的预测的经量化的变换系数组 合)或搭配块的相应的经量化的变换系数之间进行选择。由此,预测图像解码 器(1000)可使用针对帧间编码的块的频域差来重构该帧间编码的块,或者它 可使用针对帧内编码的块的相应的经量化的变换系数来重构该帧内编码的块。

返回图9,基本图像编码器和/或基本图像解码器的模块(920)接收经量 化的变换系数(362)。对于代码转换,模块(920)包括对经量化的变换系数 (362)进行熵编码的熵编码器。熵编码器可以是如参考图3描述的熵编码器 (340)或另一熵编码器。熵编码器输出针对经压缩图像的集合(例如,针对 相册或连拍模式捕捉系列)的第一经编码的数据(402)。由此,预测图像解 码器(910)可促成处于第一格式的先前压缩的图像的恢复。

对于代码转换或解码,模块(920)包括逆量化器和逆频率变换器。逆量 化器可以是如参考图3描述的逆量化器(370)或其他逆量化器。逆频率变换 器可以是如参考图3描述的逆频率变换器(380)或其他逆频率变换器。在任 何情况下,模块(920)被用来从经量化的变换系数(362)重构经解码的图像 (382)。

可在不使用预测图像解码器(910)的空间域视差补偿模块(1040)和频 域系数恢复模块(1030)的情况下对至少一些图像(382)进行代码转换或解 码。例如,可仅使用基本图像编码器和/或基本图像解码器的模块(920)将帧 内编码的图像代码转换或解码成个体图像。

B.示例图像代码转换或解码工具。

图11是结合其可实现所描述的一些实施例的示例代码转换(或解码)工 具(1100)的示图。代码转换(或解码)工具(1100)包括基本编码器和基本 解码器的模块以及预测解码器的模块。预测解码器包括如参考图10描述的空 间域视差补偿模块(1040),该空间域视差补偿模块被适配成使用MV数据/ 全局变换数据(522)以及预测结构(512)来相对于经解码的图像(382)的 一个或多个参考图像确定预测(524)。

为了实现频域系数恢复,预测解码器包括频率变换器(320)、量化器(330) 和组合模块(1140)。频率变换器(320)如参考图3所描述的那样操作,但 对预测(524)的样本值而非块的样本值执行频率变换。频率变换器(320)产 生针对该预测的变换系数(323)。频率变换器(320)可使用频率变换,该频 率变换是由逆频率变换器(380)所使用的变换的逆。

量化器(330)如参考图3所描述的那样操作,但量化针对该预测的变换 系数(323)并产生针对该预测的经量化的变换系数(333)。对于给定块,量 化器(330)和逆量化器(370)可使用相同的QP值(例如,用于第一经编码 数据(402)中的块的QP值)。

预测解码器还包括熵解码器(360)和去复用器(1010),其如参考图10 所描述的那样操作。

组合模块(1140)被适配成将频域差(672)和针对预测的经量化的变换 系数(333)组合以重构相应的经量化的变换系数(362)。例如,组合模块(1140) 在逐块的基础上组合频域差(672)和经量化的变换系数(333)。

在图11中,预测解码器还包括选择器模块(1130),该选择器模块(1130) 被适配成基于来自第二经编码的数据(422)的模式判定(534)确定在编码期 间对相应的块使用频域差还是相应的经量化的变换系数。在逐块的基础上,选 择器模块(1130)在针对块的频域差(672)(在该情况下,这些差(672)被 与针对该块的预测的经量化的变换系数(333)组合)或搭配块的相应的经量 化的变换系数之间进行选择。任一方式,预测解码器都产生针对该块的经量化 的变换系数(362)。

对于代码转换,基本编码器的模块包括熵编码器(340),该熵编码器(340) 如参考图3所描述的那样操作以对经量化的变换系数(362)进行熵编码并产 生第一经编码的数据(402)。

对于代码转换或解码,基本解码器的模块包括逆量化器(370)和逆频率 变换器(380),其如参考图3所描述的那样操作以从经量化的变换系数(362) 重构经解码的图像(382)。经解码图像缓冲器(390)存储从第一经编码的数 据(402)重构的经解码的图像(382)的集合。

C.示例代码转换/解码技术。

图12是用于适配频域差来对图像进行代码转换(或解码)的通用技术 (1200)的流程图。代码转换工具或解码工具(诸如参考图9或图11描述的 代码转换工具或解码工具)或其他代码转换工具或解码工具可执行技术 (1100)。

开始,代码转换工具或解码工具接收(1210)多个图像的集合的处于第二 格式的经编码的数据,其中多个图像中的至少一些图像是使用频域差来编码 的。代码转换工具或解码工具处理(1220)处于第二格式的经编码的数据。例 如,对于多个图像中的一个图像的给定块,代码转换工具或解码工具执行图13 中示出的示例技术(1300)来使用频域差处理该块。替换地,代码转换工具或 解码工具在处理(1220)多个图像中的一个图像的块时执行其他和/或附加的操 作。

参考图13,代码转换工具或解码工具相对于一个或多个参考图像计算 (1310)预测。例如,使用MV数据,代码转换工具或解码工具相对于(诸) 参考图像对当前图像的给定分区执行运动补偿或另一种形式的空间域视差补 偿。使用全局变换数据,代码转换工具或解码工具可使用变形变换和光度变换 中的一者或多者来调整(诸)参考图像之一。给定图像、(诸)参考图像和多 个图像中的任何其他图像可根据预测结构来组织,在该情况下,空间域视差补 偿可使用该预测结构来确定参考图像关系。

代码转换工具或解码工具随后计算(1320)针对该预测的经量化的系数。 例如,代码转换工具或解码工具对预测执行频率变换以产生针对该预测的系 数,随后量化针对该预测的系数。

代码转换工具或解码工具对频域差进行熵解码(1330),随后将频域差和 针对该预测的经量化的系数组合(1340)以重构相应的经量化的系数。

对于解码,解码工具对相应的经量化的系数进行逆量化,并对经逆量化的 系数执行逆频率变换。对于代码转换,代码转换工具对相应的经量化的系数进 行熵编码。

代码转换工具或解码工具可重复以下动作:计算(1310)预测,计算(1320) 经量化的系数,对频域差进行熵解码(1330),以及在逐块的基础上对多个图 像中的当前图像的多个块进行组合(1340)。基于判定模式信息,代码转换工 具或解码工具可确定块的经编码的数据表示频域差还是相应的经量化的系数。

VI.替换和变型

本文中描述的示例包括编解码器系统、图像重新编码工具和图像代码转换 (或解码)工具。本文中描述的系统或工具中的任一者可被用软件实现为操作 系统模块、应用库的部分、或独立的应用。或者,这些系统或工具中的任一者 可被用硬件(整体或部分地)实现为片上系统(“SoC”)、ASIC或FPGA的一 部分,或使用针对硬件加速的操作的GPU或其他专用硬件来实现。同样,取 决于实现,可以添加、省略这些系统或工具中的任一者的模块,将其拆分成多 个模块,使其与其他模块相结合,和/或将其替换为类似的模块。所示出的系统 或工具内的各模块之间的关系指示一般的信息流;为简单起见,未示出其他关 系。

使用频域差的图像重新编码可用于无损压缩和解压缩,如本文中所描述 的。使用频域差的图像重新编码还可用于有损压缩和解压缩(例如,与处于第 一格式的相应的经量化的变换系数相比,对处于第二格式的频域差或经量化的 变换系数使用更高的QP值)。

在本文中描述的许多示例中,重新编码工具或代码转换(或解码)工具使 用基于块的频率变换和/或基于块的逆频率变换。替换地,重新编码工具或代码 转换(或解码)工具使用基于小波的方法,使用小波计算针对图像的块(部分) 的预测的系数,并计算(或重构)针对该预测的经量化的小波系数和针对该块 (部分)的相应的经量化的小波系数之间的差。在该情况下,频域差是小波域 差。

使用频域差的图像重新编码可包括空间域视差补偿,以便使各块与其在参 考图像中的相应的预测对准,如本文中所描述的。替换地,如果图像已经高度 相关(例如,连拍模式捕捉系列中的图像),则针对当前图像的块的预测可仅 仅是参考图像中的搭配块,而无需任何空间域视差补偿。在这样的实现中,处 于第二格式的经编码的数据通常消耗更少的开销,因为它缺少MV数据。

在本文中描述的一些示例中,重新编码工具或代码转换(或解码)工具使 用运动补偿来确定针对固定大小的分区的预测。替换地,重新编码工具或代码 转换(或解码)工具使用另一种形式的运动补偿(例如,采用合并模式或另一 MV竞争机制、采用MV预测、采用可变大小的运动分区)。

在本文中描述的一些示例中,重新编码工具或代码转换(或解码)工具使 用Huffman编码/解码或另一类型的可变长度编码/解码来对频域差和辅助信息 (例如,MV数据、全局变换数据、预测结构)进行熵编码/解码。替换地,重 新编码工具或代码转换(或解码)工具使用另一类型的熵编码/解码,诸如二进 制自适应算法编码/解码。

鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所 示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反, 本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这 些权利要求范围和精神内的所有内容。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号