CN104838653B - 使用差分传送进行的无损图像压缩 - Google Patents

使用差分传送进行的无损图像压缩 Download PDF

Info

Publication number
CN104838653B
CN104838653B CN201380064978.8A CN201380064978A CN104838653B CN 104838653 B CN104838653 B CN 104838653B CN 201380064978 A CN201380064978 A CN 201380064978A CN 104838653 B CN104838653 B CN 104838653B
Authority
CN
China
Prior art keywords
image
coefficients
data
image data
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380064978.8A
Other languages
English (en)
Other versions
CN104838653A (zh
Inventor
R·L·瑞德诺尔
J·E·佛雷德瑞克森
I·C·亨德瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN104838653A publication Critical patent/CN104838653A/zh
Application granted granted Critical
Publication of CN104838653B publication Critical patent/CN104838653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/547Motion estimation performed in a transform domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了使用差分传送进行的无损图像压缩,其可涉及图像压缩单元,该图像压缩单元接收图像序列中图像的图像数据并传输所述图像数据,使得至少一些图像块的图像数据由于资源限制而使用有损压缩来传输。图像压缩单元然后可接收序列中后续图像的图像数据,并确定至少一些块的图像数据相对于先前图像的对应块的图像数据没有改变。图像压缩单元然后能够以足以创建块的无损版本的方式来传输图像数据,针对该块,先前发送了有损压缩的图像数据。

Description

使用差分传送进行的无损图像压缩
背景技术
电子设备所捕获和/或显示的视觉图像常常以数量相当大的存储器空间占用(即,为了存储表示图像的数据而消耗的存储器的量)为特征。随着图像分辨率的提高,图像的存储器空间占用也增大。期望各种电子设备能够处理这样的图像。例如,移动电子设备(诸如移动电话和个人数字助理)常配备有拍摄静态照片、或者甚至视频的相机。虽然目前包括在这样的设备中的图像捕获传感器往往能够实现大约2-4百万像素,但是包括在较新电话中的传感器将继续提高分辨率。此外,这样的设备正配备有更高分辨率的屏幕,因此用于显示的图像的空间占用也增大。这样的设备还可被设计用于将高分辨率图像/视频输出到外部设备,并且高分辨率图像的空间占用很大。
虽然这样的设备中存储器的大小随着时间也在提高,但是存储器的大小不可能以与图像分辨率和/或尺寸相同的速率提高。另外,这样的设备越来越多地提供重要的功能性以用于其他目的。例如,智能电话正开始提供多线程处理来支持多个应用程序同时在电话上运行。每个应用程序消耗存储器以用于被执行的代码和所处理的数据,这对存储器容量产生了进一步的压力。此外,应用程序竞争访问存储器(例如带宽),这可能对存储器和存储器控制器之间、以及存储器控制器和系统中其他设备(诸如处理器、图形设备、显示控制器等)之间的互连器产生压力。
图像能够以压缩形式被传输和存储。然而,在图像捕获和显示期间,对图像压缩和解压缩的时间和硬件要求可能是过高的。
发明内容
本文所述的系统和方法展示了使用差分传送进行的多种无损图像压缩技术。如本文所述,无损图像压缩可涉及利用图像(或图像的一部分)在多个帧(或其他图像序列)上不改变的实例。由于带宽(或其他资源)限制,可能必须发送仅代表图像近似版本的图像数据。在下一帧正被处理时,如果图像并没有改变,则可发送使得能够生成图像完整版本的附加图像信息。因此,在图像的完整数据(甚至在被压缩时)由于带宽限制而可能不是能传送的时候,使用差分传送进行的无损图像压缩可使得能够生成图像的完整版本。
例如,视频的一个帧的图像数据可能由于带宽或空间局限而使用有损压缩来被压缩。一旦被传送了,则有损压缩的图像数据可能只代表该帧的近似(或有损)版本。在下一帧被处理时,如果该帧没有改变(或者没有改变太多),则使得能够生成该帧的完整(或无损)版本的图像数据可被传送。因此,如果非变化图像由于数据速率(或其他资源)限制而没有被无损地发送,则后续的差分传输可使被接收图像数据完整,以在两个或更多帧之后生成完全无损的结果。
在压缩和传送图像序列(诸如视频)时,在多个帧上,图像帧并非所有部分都可能同时或以同样的速率改变。因此,在(由于资源/带宽限制)为图像的一部分发送有损压缩的图像数据之后,图像的所述一部分在下一帧中可能没有改变。利用图像的特定部分在后续帧中没有改变这一事实,可发送所述图像的该部分的附加图像数据以允许生成图像的该部分的无损图像数据。
附图说明
图1是示出根据一个实施例的一般性数据源和数据目标使用压缩和解压缩的一个实施例的框图的逻辑框图。
图2是示出本文所述的用于执行使用差分传送进行的无损图像压缩的方法的一个实施例的流程图。
图3是示出根据一个实施例的使用无损图像压缩来压缩图像块的逻辑框图,该无损图像压缩使用差分传送进行。
图4是示出能够执行本文所述的使用差分传送进行的无损图像压缩的图像压缩单元的一个实施例的逻辑框图。
图5是示出用于使用无损图像压缩的方法的一个实施例的流程图,该无损图像压缩使用差分传送进行。
图6是示出本文所述的包括系数量化的使用差分传送进行的无损图像压缩方法的一个实施例的流程图。
图7是示出使用差分传送进行的无损图像压缩方法的一个实施例的流程图。
图8是根据一个实施例展示图像解压缩单元的逻辑框图。
图9是示出使用差分传送进行的无损图像压缩方法的一个实施例的流程图。
图10是示出使用差分传送进行的无损图像压缩方法的一个实施例的流程图。
图11是示出根据一个实施例的能够执行本文所述的使用差分传送进行的无损图像压缩的计算机系统的逻辑框图。
虽然各种实施例在本文中以几个实施例和例示性附图的示例方式进行了描述,但是本领域技术人员将认识到,实施例并不限于所描述的那些实施例和附图。应当理解,附图及其详细描述并不旨在要将实施例限制为所公开的具体形式,相反,本发明是要涵盖落在本公开的实质和范围内的所有修改、等同形式和替代形式。本文中所使用的任何标题只是为了编排的目的,而并不是要用于对说明书的范围进行限制。如在整个本专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而不是强制的意义(即,意味着必须)来使用“可以”一词。类似地,词语“包括”、“包含”、和“具有”是指包括、但不限于。
具体实施方式
根据一些实施例,本文所述的使用差分传送进行的无损图像压缩可包括最初由于资源限制而利用有损压缩传送图像数据、但随后以生成无损图像数据的方式来传送图像数据。
如本文所述,使用差分传送进行的无损图像压缩可由图像压缩单元和兼容的图像解压缩单元来实现。图像压缩单元能够以低延迟和相对少的硬件来执行图像的压缩。类似地,图像解压缩单元能够以低延迟和少量硬件来对图像进行解压缩。使用差分传送进行的无损图像压缩可减轻存储器与对图像进行操纵的设备/模块之间的互连器上的带宽压力、以及图像数据与其它数据存储之间对存储器空间的竞争。
图像可作为一系列图像块来被处理(分析、压缩、传送、解压缩等)。每个块可以是统一的大小,并代表总体图像的一部分。因此,视频序列中的每个图像帧可作为在被一起显示时形成整个时间帧的一组块来被处理。本文所述的使用差分传送进行的无损图像压缩可被应用于图像序列(例如视频)中的各个图像块(例如帧)。
例如,图像压缩单元可能由于有限的带宽(诸如存储器与显示控制器之间的限制或其他资源限制)而对于图像帧的一个(或多个)所述块仅发送图像数据的一部分。部分图像数据可以用于生成该图像块的近似(例如有损)版本。然后,如果那个块的内容(例如图像/图形)在下一帧中没有改变,则图像压缩单元于是可发送那个块的使得能够生成那个块的准确(例如无损)版本的图像数据。例如,在一个实施例中,在处理下一帧时,图像压缩单元可发送该块的其余图像数据,从而在与先前发送的图像数据结合时可创建该图像块的完整版本。
请注意,虽然在本文中以图像并利用基于图像的示例来进行描述,但是,使用差分传送进行的无损图像压缩可应用于除了图像之外的数据和/或信息。例如,可作为序列帧来分析的任何数据集合都可使用本文所述的系统、方法和技术来传送。
在以下详细描述中,给出了多个具体细节以提供对要求保护的主题的全面理解。但是,本领域技术人员将理解,要求保护的主题可以在没有这些具体细节的情况下被实现。在其他实例中,方法、装置或系统在下文中没有被详细地描述,这是因为它们是本领域技术人员已知的,以便避免使要求保护的主题模糊不清。
下面的具体实施方式的一些部分是以对二进制数字信号的操作的算法或符号表示来进行展示的,该二进制数字信号存储在特定装置或专用计算设备或平台的存储器内。在这个具体说明书的上下文中,术语“特定装置”等包括通用计算机,只要其被编程为根据来自程序软件的指令执行特定功能。算法描述或符号表示是信号处理或相关领域中普通技术人员用来将其工作实质内容传达给该领域中其他技术人员的技术的示例。算法在这里、并且一般性地被视为是导致所期望结果的操作或类似信号处理的自相一致的序列。在这个语境中,操作或处理涉及物理量的物理操纵。通常,但是不是必然地,这样的量可以采取能够被存储、传送、组合、比较或以其它方式操纵的电或磁信号的形式。已经证明有时(主要是出于惯用用法的原因)将这样的信号指代为位、数据、数值、元素、符号、字符、项、数字、数码等是方便的。但是应该理解,所有这些或类似术语要与适当的物理量相关联并且仅仅是方便的标号。
除非另外特别说明,否则如从下面的讨论中显而易见的那样,应当理解,在本说明书通篇中,利用诸如“处理”、“计算”、“运算”、“确定”等这样的术语的讨论是指特定装置(诸如专用计算机或类似的专用电子计算设备)的动作或过程。因此,在本说明书的上下文中,专用计算机或类似的专用电子计算设备能够操纵或变换信号,信号通常被表示为所述专用计算机或类似的专用电子计算设备的存储器、寄存器、或其他信息存储设备、传输设备、或显示设备内的电子或磁的物理量。
现在转向图1,示出了经由信道150耦接的一般性图像数据源110和一般性图像数据目标140的框图,该信道150包括至少一个带宽受限和/或空间受限的资源。图像数据源110包括图像压缩单元120,并且图像数据目标140包括图像解压缩单元130。
一般而言,图像数据源110可被配置为通过信道150将数据传送到图像数据目标140。图像数据源110可生成数据(例如,图像数据源110可以是传感器,诸如用于图形图像的相机),或者可从其他电路接收数据并任选地可处理该数据以将该数据以某种限定的方式进行变换。图像数据源110于是可利用图像压缩单元120对数据进行压缩。一般而言,根据一些实施例,压缩可以是数据的一种变换,在该变换中减小数据的大小。
压缩可以是无损的或者是有损的。利用无损压缩,原始数据在压缩和随后的解压缩之后可恢复为其准确形式。因此,无损压缩算法可着眼于移除原始数据中的冗余以及更有效地对数据进行编码,但是是以保留所有信息内容的方式。例如,数据中一长串连续的相同数值可以更有效的编码来代替,诸如该数值的实例数量的计数、后面跟有该数值本身的一个实例。在有损压缩中,(通过对原始数据进行压缩并对压缩的数据进行解压缩而得到的)解压缩的数据是原始数据的近似值。特别是对于图形图像,有损压缩可能生成在用人眼观察时基本上难以与原始图像进行区分的解压缩图像,即使解压缩图像已经丢失了一些表示该图像的内容。或者,有损压缩可能导致解压缩的图像相对于原始图像具有明显的差异,但是这些差异可能被认为是观察者能接受的。
通过压缩数据并通过信道150传送压缩的数据,图像数据源110可消耗信道150中更少的可用带宽和/或存储空间。例如,信道150可能包括一个或多个互连器,数据通过所述一个或多个互连器而被传输。每个互连器可能具有一最大带宽,并且至少一些互连器带宽可能不足以支持未压缩数据的“实时”传输。即,未压缩数据可能由图像数据源110以特定速率来生成或接收。如果可用于图像数据源110的带宽小于该速率,则未压缩数据不能在不对数据生成/接收速率产生拖延、或反压力的情况下被传输。在一些情况下,对数据生成/接收速率产生拖延可能并不是能被接受的。例如,如果图像数据源110是相机传感器,则代表图像的数据必须在传感器捕获下一个图像之前被传输。如果图像数据源110正在提供视频,则图像正以特定的帧速率被传输,并且拖延会导致丢失帧。
除了带宽限制之外,空间限制也可能对传输未压缩数据产生问题。例如,信道150可包括设备中的本地存储器缓冲器和/或主存储器系统,所述设备包括图像数据源110和图像数据目标140。数据在存储器中的尺寸(其“占用空间”)可能消耗可用存储器的全部、或者存储器的足够大的部分,从而其他数据被挤出存储器。
即使在信道150的带宽和空间特征足以处理未压缩数据的情况下,系统整体中更高的性能(在该系统整体中,除了将数据从图像数据源110传送到图像数据目标140之外还有可能需要访问信道150的其他活动正在被执行)也可能通过降低图像数据源110对信道150的负载而实现。
图像解压缩单元130被配置为对图像压缩单元120的操作进行反向操作,从而生成原始未压缩数据或其近似值。即,图像解压缩单元130被设计为知道图像压缩单元120所使用的压缩算法。此外,如果压缩算法的参数是可编程的,则图像压缩单元120和图像解压缩单元130均可以相同方式被编程,以确保图像解压缩单元130正确地解释所接收的数据。
另外,图像数据源和图像数据目标均可包括基准缓冲器,从而允许差分数据被编码。因此,在一些实施例中,图像压缩单元120可被配置为将已经被发送的图像数据存储到基准缓冲器,并将未来的图像数据与存储在基准缓冲器中的图像数据进行比较并发送表示二者之间差异的图像数据。类似地,在一些实施例中,图像解压缩单元130可被配置为保持所接收图像数据的基准缓冲器,并将新接收的差分图像数据与基准缓冲器中的图像数据进行比较以便生成完整图像数据。
就图像数据而言,表示图像的数据的帧可具有空间关系。数据的帧例如可表示被布置为二维格式的一组像素的颜色。在帧内,可限定包括像素子组的块。块的尺寸(例如像素数量)可以是能配置的。压缩单元120/解压缩单元130的一个具体实施可提供每个块大约1000到2000个像素的具有良好图像结果的良好压缩比率。因此,例如,可限定水平32个像素乘竖直32个像素(32×32)的块,并且这样的块包括1024个像素。此外,在各种实施例中,块的形状可以是不同的。例如,可限定方形或矩形的块。因此,1024像素块可以是32×32、64×16、128×8、256×4等等。在基于块的具体实施中,每个块可作为一个单元被压缩,并且压缩的块可被传输和解压缩。在另一具体实施中,可以更小的块(例如64像素块,以16×4布置)实现良好的压缩结果。在其他具体实施中也可使用更大的块(例如具有不止2000个像素的块)。
将压缩算法应用到数据的块可包括被应用于数据的一个或多个变换,从而将数据变换为其中至少一些变换后的数据成为零或非零的形式。例如,在一些实施例中,可使用一个或多个小波变换。在一个具体实施中,可以系数[1],[1]来应用Haar小波。在另一具体实施中,可连续应用多个小波,包括例如:具有系数[1,1],[-1,9,9,-1]的Deslauriers-Dubuc(9,7);具有系数[1,1],[1,1]的LeGall(5,3);具有系数[-1,9,9,-1],[-1,9,9,-1]的Deslauriers-Dubuc(13,7);以及具有系数[1],[1]的Haar。利用系数一和九、并将九作为一和八来处理,就可能在图像压缩单元120和图像解压缩单元130中不需要乘法器。即,可利用移位器和加法器来执行计算。其他实施例可实施任何其他变换或变换组合。例如,可使用离散余弦变换(或其整数等同量)。可使用下文中讨论的RGB到YUV变换。
根据一些实施例,色彩空间转换可用于减少可被滤波硬件和/或软件滤波的色彩分量的数量。例如,每个像素的红-绿-蓝(RGB)表示可被转换为该像素的YUV表示。大多数图像信息可能位于可能被滤波的Y分量中。经滤波的Y分量和未被滤波的U和V分量然后可被转换回RGB表示,该RGB表示可接近地近似对R、G、和B分量中每一个进行滤波的结果。在另一实施例中,Bayer传感器输出可被转换为YUVW格式(并且Y分量可被滤波)。
经由一个或多个变换对未压缩数据进行变换而得到的数据可被称为系数。基于系数相对于零的量值,系数可具有相关联的有效性。例如,由上面讨论的小波变换得到的系数可以是正符号整数。因此,系数中的最高有效设置位可被视为系数的有效性的量度。最高有效设置位处于相同位位置的多个系数可被称为一个有效性组。如果与第二系数的最高有效设置位处于的位位置相比,第一系数的最高有效设置位处于更有效位位置,则第一系数可被称为比第二系数更有效。或者,正符号整数和负符号整数都可被包括在系数中。在这样的情况下,如果整数是正的(符号位为零),则最高有效设置位可指示有效性组。如果整数是负的(符号位为一),则两个或更多个最高有效位可被置位。在这样的实施例中,具有相同字段的最高有效设置位的系数可被包括在相同的有效性组中。
图像压缩单元120可根据最可能具有有效系数的数据的区域来对系数进行排序,从而得到排序列表。图像压缩单元120然后可对排序列表进行扫描,从而搜索最高有效系数(即对最高有效位进行置位的那些系数),并且可将最高有效系数传输到图像数据目标140。此外,在扫描期间,图像压缩单元120可为每个其他有效性组生成系数的链接表。即,对于系数中的每个位,链接表可被生成为具有指向具有该位作为最高置位位的系数的指针,从而形成有效性组作为每个链接表的成员。因此,在一个实施例中,每个系数可被包括在仅一个有效性组中。请注意,虽然在本文中利用系数的链接表来进行描述,但在一些实施例中,可利用除了链接表之外的数据结构(例如数组)来生成系数的有效性组。
这样,系数的列表可只被完整地扫描一次。每个其他有效性组的系数的列表可被遍历,从而将对其余每个数值的访问限制为一次。因此,对列表扫描的数量可少于二,并且可接近一。例如,在一实施例中,列表大约11/4的扫描可足以发送所有系数。具体地,在一个实施例中,更有效的系数可能集聚在被压缩块的一个区域中,其中其他有效系数以小的数量出现在其他区域中。
图像压缩单元120可通过发送系数的位置、并且后面跟有系数的数值(例如作为有符号的整数)来“发送”系数。例如,系数列表中系数的地址可作为位置(或者对于第一系数之后的每个系数,相对于先前发送的地址的地址差异,在本文中称为“Δ地址”)来发送。其他实施例可以其他方式来标识位置(例如作为块内或图像内的像素地址)。在一个实施例中,系数列表Δ地址可利用指数编码(诸如指数Golomb码)来传输。根据一些实施例,指数Golomb码发送小量值数(接近零)效率很高,但发送较高量值数效率很低。由于系数列表Δ地址很小,所以指数Golomb码可高效地发送该地址。
在一个实施例中,图像压缩单元120可被配置为将系数的初始二进制二的补码表示转换为有符号的量值系数。最高有效系数被最先发送,然后顺序地发送较低有效系数,直到所有系数被发送或者直到诸如由于缺少空间(例如在接收缓冲器中)或时间,传输被提前终止。在一实施例中,系数数值的最高有效位不被发送,因为其可能始终被置位(即二进制“1”)。对于每个系数数值,其余的位可被发送。在一个实施例中,当存在一时,可为每个系数数值发送符号位。或者,负的系数数值可作为单独的有效性组被发送。例如,在一实施例中,负有效组可在正数值的等同有效性组之后(或之前)被发送。在这样的实施例中,符号可以是隐式的。
图2是展示使用差分传送进行的无损图像压缩方法的一个实施例的流程图。根据一个实施例,如在框200中所示,图像压缩单元(诸如图像压缩单元120)可接收图像序列中图像的图像数据。例如,图像数据源110可代表相机,并且可将图像数据发送到图像压缩单元120。在一个实施例中,图像数据源110可以是例如被配置为以顺序的方式连续地将图像(例如每个图像的图像数据)发送到图像压缩单元120的摄像机。
图像压缩单元120然后可传输图像数据,使得图像的至少一些块的图像数据由于资源局限而利用有损压缩来传输,如框210中所示。例如,图像压缩单元120可被配置为将从图像数据源110接收的图像数据压缩并传输到图像数据目标140,如上所述。此外,由于一个或多个连接或信道(诸如信道150)的受限本质,图像压缩单元120可以有损方式(例如利用有损压缩)压缩图像的一个或多个块,然后传输有损压缩的图像数据(可能与其他块的无损压缩的图像数据一起)。如上所述,根据各种实施例,图像压缩单元120可被配置为使用各种无损和有损压缩技术中的任何技术。
在传输当前图像的图像数据之后,图像压缩单元120可接收图像序列中后续图像的图像数据,如框220中所示。图像压缩单元120然后可确定后续图像的至少一些块的图像数据相对于先前图像的对应块的图像数据没有改变,如框230中所示。例如,图像压缩单元120可被配置为确定当前帧的一个或多个块自先前帧以来还没有改变。这例如可在图像数据源110是捕获具有静态背景的图像的摄像机时、或者在相机视图内的运动(即使片刻地)停止时发生。因此,后续帧中的块的图像数据可能相对于先前图像(例如帧)中的同一块还没有改变。
请注意,根据不同实施例,图像压缩单元120可被配置为利用各种技术中的任何技术来确定块在两个图像之间是否已经改变。例如,在一个实施例中,图像压缩单元120可被配置为在两个帧之间比较块的图像数据。在另一实施例中,图像压缩单元120可被配置为当确定块在两个连续图像(例如帧)之间是否已经改变时比较图像数据的经变换或压缩的版本。在另一个实施例中,图像压缩单元120可被配置为对于块是否已经改变依赖于额外的信息(或元数据)。例如,图像数据源110可被配置为将图像改变信息与图像数据一起传输到图像压缩单元120。
如框240中所示,根据一个实施例,图像压缩单元120被配置为能够以足以创建块的无损版本的方式来传输图像数据,针对所述块,先前已发送了有损压缩的图像数据。例如,图像压缩单元120可对于第一图像内的特定块利用有损压缩来压缩该图像的图像数据,并将有损压缩的图像数据传输到图像解压缩单元130。例如,图像压缩单元120可能已经将图像数据变换为系数,但只将一半的所述系数(诸如最高有效系数)传输到图像解压缩单元130。因此,图像解压缩单元130可能不能构建该特定图像块的无损版本(例如由于其只接收了一半的所述系数)。但是,在处理后续图像时,图像压缩单元120可能确定该特定块的图像数据没有改变。响应于确定该块没有改变,图像压缩单元120于是可传输使得图像解压缩单元130(和/或图像数据目标140)能够构建该块的无损版本的图像数据。
例如,在传输块的有损压缩的图像数据时,图像压缩单元120可能由于信道150上/中有限的资源而仅已经发送了一半的所述变换系数。在处理后续图像的对应块时,图像压缩单元120于是可将另一半的所述系数传输到图像解压缩单元130。因此,在接收到后续图像(例如帧)中对应块的图像数据之后,图像解压缩单元130(和/或图像数据目标140)可具有构建该块的无损版本所必需的所有信息。例如,图像解压缩单元130可将新接收的系数与先前接收的系数组合以构建该块的无损版本(因为图像解压缩单元130现在具有所有所述系数)。
在不同实施例中,图像压缩单元120和图像解压缩单元130可被配置为存储和/或保存各种类型的数据/信息以与后续帧一起使用。例如,图像解压缩单元130可被配置为保存与第一图像(例如有损压缩的版本)一起接收的系数,以便能够将它们与和后续图像一起接收的系数进行组合。此外,图像压缩单元120可被配置为包括关于被发送的压缩图像数据的类型的信息。例如,图像压缩单元120可包括指示被发送的图像数据是否被有损或无损地压缩以及/或者被发送的图像数据是否应该与先前发送的图像数据结合进行考虑的标记或字段。此外,图像压缩单元120在一些实施例中可将图像改变信息与压缩的图像数据一起进行发送。
虽然上文中主要参考在两个连续图像或帧之间没有改变的块来进行了描述,但是在一些实施例中,图像压缩单元120可被配置为确定块的图像数据在两个连续图像之间改变了多少,并且如果块只改变了少于特定量,则图像压缩单元120能够以足以创建该块的无损版本的方式来发送图像数据,针对该块,先前发送了有损压缩的数据。因此,在一些实施例中,即使块的图像数据在后续帧中已经改变了,图像压缩单元120可发送使得能够创建无损版本的该块的图像数据。例如,图像压缩单元120可被配置为不仅发送先前没有发送的其余系数,而且还发送指示该块在这两个连续帧之间的差异的信息。
另外,在一些实施例中,图像压缩单元120可被配置为(除了原始有损压缩的帧之外)使用两个或更多个连续帧来发送为了生成块的无损版本而需要的完整图像数据。例如,图像压缩单元120可在初始帧期间只发送块的变换系数的一部分,并且如果该块在下一帧期间没有改变,则可发送剩余系数中的一些。然后,如果块在第二和第三帧之间又没有改变,则图像压缩单元120可被配置为发送剩余的系数。因此,图像解压缩单元130可被配置为利用在两个或更多个帧上发送的信息来生成块的无损版本或块。
图3是图像块300的一个实施例的框图。对图像块300应用变换(例如小波变换)可生成经变换的块310。经变换的块310被分成4个象限320A-320D,分别标记为LL、HL、LH、和HH。LL象限320A通常可能具有最高有效系数。HL、LH、和HH象限320B-320D可能稀疏地含有有效系数,通常对应于形成图像中颜色之间的边缘的像素。这些象限中的其余系数通常为零或接近零。HH象限320D往往可能最疏松地含有有效系数。L和H可一般性地指变换中的低频分量和高频分量。第一个“L”或“H”是指水平方向,而第二个“L”或“H”是指竖直方向。
变换可再次被应用于象限320A,从而生成象限330A-330D。类似于象限320A-320D,象限330A-330D分别被标记LL、HL、LH和HH。由先前应用变换而得到的LL象限的变换能够以需要的频率被重复。在某个点,HL、LH、和HH象限变得更疏松(更密集)地含有有效系数。因此,应用变换的迭代次数可基于额外的迭代将会提供的减少的压缩返回来被限制。在一实施例中可选择4次迭代的限制,但在其他实施例中可使用更多或更少的迭代。迭代的数量也可基于在每次迭代之后出现在HL、LH、和HH象限中的有效系数的数量而动态地变化。
虽然图3分开地示出了图像块300、经变换的块310、和经变换的象限320A(作为象限330A-330D),但根据一些实施例,该变换可在同样的存储器位置内执行,从而覆写块的原始数据。
现在转向图4,示出了压缩单元16的一个实施例的框图。在图4的实施例中,图像压缩单元120包括数据缓冲器410、格式转换器电路400、变换电路430、压缩和传输控制电路450、系数指针寄存器455A-455B、系数链接存储器440和基准缓冲器460。数据缓冲器410被耦接以接收要被压缩的数据(例如数据的块),并且被耦接到变换电路430以及压缩和传输控制电路450,在一些实施例中,要被压缩的数据可通过格式转换器电路400而被变换。压缩和传输控制电路450被耦接以提供用于传输的压缩数据,并被耦接到系数链接存储器440、系数指针寄存器455A-455B和基准缓冲器460。寄存器455A-455B中每一者都可包括若干字段,在图4中被标记为S0到Sn-1(其中n是系数中的位的数量)。字段可存储指向系数链接存储器440中具有相应有效性的系数的条目的指针。例如,在一个实施例中,最高有效系数指针可在字段Sn-1中。第二最低有效系数指针可在字段S1中,而最低有效系数指针可在字段S0中。寄存器455A-455B可包括为这些指针提供存储所需要的一个或多个寄存器。
系数链接存储器440中的每个条目对应于形成压缩图像的系数的列表中的系数。该列表可被排序为从最内侧压缩的LL象限开始(并且在该象限内按LL系数的预定义次序,诸如以行为主或以列为主)、并从最内侧向最外侧继续通过每个压缩的其他象限,从而到达最外侧压缩的HH象限。在图4中,该列表被显示为系数链接存储器440旁边的虚线形式,以表示该列表的逻辑组织结构。但是,系数列表可在变换电路430所执行的变换已经用变换后的数据覆写了原始数据之后,被物理地存储在缓冲器410中,例如如参考图3所述。
图像压缩单元120(并且视情况而定,更具体地,变换电路430和压缩和传输控制电路450)的操作将参考图5至7中所示的流程图来更详细地描述。虽然框以特定次序被示出以便易于理解,但是可使用其它次序。框可在图像压缩单元120中以组合逻辑并行地执行。框、框组合、和/或流程图整体可在多个时钟周期上流水线处理。图像压缩单元120可被配置为实现流程图所示的操作。
现在转向图5,示出了展示使用差分传送进行的无损图像压缩方法的一个实施例的流程图。如框500中所示,图像压缩单元可开始接收图像序列中下一个图像的图像数据。例如,如上所述,图像压缩单元可从多种图像数据源(诸如摄像机、随着时间推移拍摄多个图像的照相机、或网络屏幕共享设备等等)中的任一者接收图像数据。在接收图像序列中的特定图像或帧的图像数据时,图像压缩单元可接收帧内多个块中每一者的图像数据。然后,如框510中所示,图像压缩单元可接收图像中下一个块的图像数据。
图像压缩单元然后可确定该块的图像数据相对于先前图像(即帧)中的对应块是否改变了,如决策框520中所示。如果如决策框520的肯定输出所指出的那样,当前块的图像数据相对于先前图像中的对应块确实改变了,则图像压缩单元可对该块的图像数据应用数据变换,以生成一组系数,如框530中所示。例如,根据一个实施例,图像压缩单元120可被配置为对图像数据应用一个或多个小波变换,从而生成一组小波系数。在一个实施例中,在执行使用差分传送进行的无损图像压缩时可将另一类型(或多个类型)的变换应用于图像数据,如本文中所述。
图像压缩单元然后可将系数分类为有效性组,并存储这些系数,如框540中所示。如上所述,根据一些实施例,其最高有效设置位处于相同位位置的多个系数可被称为一个有效性组。因此,图像压缩单元120可被配置为将系数分类为一个或多个有效性组,并且可进一步存储这些系数,诸如在基准缓冲器460中,如上所述。在一些实施例中,图像压缩单元120可被配置为将系数存储在有效性组中,而在其他实施例中,图像压缩单元120可利用一些其他数据格式或布置来存储系数。
根据一个实施例,在分类和存储这些系数之后,图像压缩单元可能由于资源限制而只传输所述系数的一部分,并且可将它们按有效性组的次序从最高有效到最低有效进行传输。例如,当在空间受限资源(诸如空间受限资源150)上传输时,图像压缩单元120可被配置为只传输所述系数的一部分,因为可能没有足够的带宽可用于传输所有图像块的所有系数。因此,图像压缩单元120可按有效性组的次序从最高有效到最低有效将悉数的一部分进行传输。因此,通过传输最高有效系数,图像压缩单元120可传输可用于生成图像块的有损版本(例如近似)的系数。
在发送(仅一部分)所述系数之后,图像压缩单元然后可继续处理帧的其余块,如图5的决策框570所示。因此,图像压缩单元120可在开始接收图像序列中下一帧(例如图像)的图像数据之前接收和处理一个帧(例如图像)的块的所有图像数据。
返回到决策框520,如果块的图像数据相对于先前图像(例如帧)中的对应块没有改变,如决策框520的否定输出所指示的那样,则图像压缩单元可被配置为传输先前没有被发送的所述系数中的至少一些系数,如框560所示。根据一些实施例,如框560中所示,图像压缩单元可传输系数,以在图像数据目标处创建块的经改善的一组系数。例如,如果块的图像数据相对于先前帧没有改变,则图像压缩单元120可被配置为发送附加的先前没有发送的系数中的一些。因此,图像压缩单元120可诸如从基准缓冲器460读取先前存储的系数,并传输先前没有发送的系数中的一些或全部。数据图像目标于是能够为块创建改善的一组系数,诸如通过将新发送的系数与图像压缩单元先前发送的那些系数组合。
在一些实施例中,图像压缩单元120可在第二传输中(例如在处理下一帧时)发送所有剩余的系数,但在一些实施例中,图像压缩单元120可能不能在一个传输中发送所有剩余的系数,诸如是由于受局限的资源。因此,在一些实施例中,图像压缩单元120可被配置为在处理下一帧时只发送剩余系数中的一些,并且如果块的图像数据在后续帧上没有改变,则图像压缩单元120然后可发送剩余的系数。换言之,只要块的图像数据或者块没有改变,则图像压缩单元120可被配置为通过多个帧发送系数的局部集合(例如按有效性组的次序),直到所有系数已经被发送。因此,图像数据目标可通过多个帧以不连贯的方式接收所述系数的完整集合,以便构建图像块的无损版本。
如果图像压缩单元120首先发送图像块的系数的一个局部集合,但在后续帧中,该块的图像数据在图像压缩单元120已经发送所有所述系数之前改变了,则图像压缩单元120可丢弃先前的系数并处理该块的新改变的图像数据(诸如通过应用数据变换并对系数进行分类、存储和传输)。
虽然只传输一部分系数,如上文中参考图5所述,但根据一些实施例,图像压缩单元可传输被发送的那些系数的完整副本。在其他实施例中,图像压缩单元可被配置为当在有限资源上传输系数时对系数进行进一步的压缩、变换或近似。现在转向图6,其中示出了作为使用差分传送进行的无损图像压缩的一部分的在传输系数时进一步处理系数的方法的一个实施例。
如框600中所示,根据一些实施例,图像压缩单元可对图像的块的图像数据应用一个或多个数据变换,以生成系数。例如,图像压缩单元120可被配置为对图像数据应用一个或多个小波变换,如上所述。但是,不是完整地传输所得到的系数,在一些实施例中,图像压缩单元可被配置为对系数进行量化并传输所得到的经量化的系数,如框610中所示。因此,在一些实施例中,图像压缩单元可被配置为应用一个或多个额外的方法来在将系数传输到图像数据目标之前减小系数的总体尺寸。在一些实施例中,经量化的系数然后可被用于在图像数据目标上生成块的有损(例如近似)版本。
然后,如果块的图像数据在后续帧中没有改变,则图像压缩单元可传输未量化的系数与量化的系数之间的至少一些差异,以创建块的改善的一组系数,如框620中所示。例如,在一个实施例中,图像压缩单元120可被配置为对系数进行量化,诸如以减小每个系数中的总体尺寸(例如位的数量)。量化的系数因此可表示块的有损(例如近似)版本。如果在后续帧中,块(相对于先前帧)没有改变,则图像压缩单元120然后可发送每个未量化的系数与先前发送的对应的量化的系数之间的差异。
例如,在一个实施例中,图像压缩单元可通过截去每个系数的最低有效4位(并可能对结果进行舍入)来应用简单的量化。因此,这组量化后的系数可表示图像块的近似(例如有损压缩的)版本。如果块在下一帧中没有改变,则图像压缩单元然后可将每个系数的那些最低位(并且可能还有对所进行的舍入的指示)发送到图像数据目标,以生成先前发送的系数的完整版本。请注意,在各种实施例中,不同(或多个)类型的量化可被图像压缩单元应用到系数。
另外,根据一些实施例,上面参考图5和图6所述的技术可在实施使用差分传送进行的无损图像压缩时被组合。因此,在一些实施例中,图像压缩单元120可被配置为对块的图像数据应用数据变换以生成一组系数、根据有效性组来对那些系数进行分类并对那些系数进行量化,如上所述。在将压缩的图像数据传输到图像数据目标时,图像压缩单元120可只传输量化分量的一部分。然后,如果块在后续图像中没有改变,则图像压缩单元120于是可发送已经发送的量化系数与其对应的未量化格式之间的差异。此外,图像压缩单元120也可发送先前没有发送的系数的额外的未量化版本。因此,在一些实施例中,可使用量化和只发送系数总数量的一部分的组合作为在通过带宽或空间受限的资源发送图像数据时的有损压缩。
除了如上所述压缩和传输图像块的图像数据之外,在一些实施例中,图像压缩单元120可被配置为确定图像块的两个后续版本之间的差异。在一些实施例中,该差分化可在已经对图像数据应用了数据传输之后执行。如前所述,图像压缩单元120可存储图像块的所生成的系数,以供在处理后续图像/帧中的对应块时使用。
在一些实施例中,为了生成块的无损版本而被发送的图像数据可在除了特定块正被处理之外的时候被发送。例如,图像压缩单元120可被配置为确定块相对于先前帧还没有改变,并且如果对于该块没有额外的图像数据需要被发送(即,图像数据目标已经具有了该块的无损版本),则图像压缩单元120可发送另一块的额外图像数据,所述另一块的图像数据先前利用有损压缩进行了发送。换言之,根据一些实施例,当确定块还没有改变时,如果对于该块没有图像数据要发送,则如果带宽允许的话就可发送另一块的图像数据(例如额外的系数)。另外,图像压缩单元120也可发送信息来向图像解压缩单元130提醒图像数据是乱序的并标识其所属于的块。此外,图像解压缩单元130在一些实施例中可被配置为接收块的乱序图像数据并生成该块的无损图像数据。
现在转向图7,图像压缩单元可对图像数据应用数据变换以生成块的新系数,如框710中所示。例如,图像压缩单元120可被配置为对块的图像数据应用一个或多个小波变换,从而生成一组系数。如框720中所示,图像压缩单元然后可将新系数与先前传输的系数的基准缓冲器进行比较以生成差分系数。例如,图像压缩单元120可被配置为将新系数与存储在基准缓冲器460中的系数进行比较以确定这两组系数之间的差异。这组系数于是可表示块的这两个版本之间的差异。因此,图像压缩单元120可被配置为通过比较经变换的图像数据(例如在“变换空间”中进行比较)、而不是通过比较原始图像数据,来确定图像块的两个版本之间的差异。
虽然在一些实施例中,图像压缩单元然后可发送这两组系数之间的差异,但是在其他实施例中,图像压缩单元可被配置为确定(例如对于被传输的数据尺寸而言)是发送这些差异还是发送新系数本身会效率更高。因此,图像压缩单元可压缩新系数(如框730中所示)、压缩差分系数(如框740中所示)、并传输这二者中的较小者(如框750中所示)。换言之,在一些实施例中,图像压缩单元120可被配置为确定(就被传输的数据尺寸而言)传输新图像数据(例如在压缩之后)、而不是仅传输图像块的新图像数据与先前图像数据之间的差异是否将会效率更高。
请注意,不管是发送新图像数据还是差分图像数据,被发送的数据可利用本文所述的任何技术来传输。换言之,在发送差分系数时,图像压缩单元120可被配置为在处理一个图像帧时(例如由于有限的带宽)只发送差分系数的一部分,并在处理后续帧时发送其余差分系数(例如如果块没有改变的话)。
图8是图像解压缩单元130的一个实施例的框图。如上所述,图像解压缩单元130可被配置为对图像压缩单元120的操作进行反向操作,从而生成原始未压缩数据或其近似值。换言之,图像解压缩单元130可被设计为知道图像压缩单元120所使用的压缩算法。另外,如果压缩算法的参数是可编程的(或可配置的),则图像压缩单元120和图像解压缩单元130二者可以相同方式被编程(或配置),以确保图像解压缩单元130正确地解释所接收的数据。
在图8的实施例中,图像解压缩单元130包括缓冲器810、接收控制电路820、反变换电路830、格式转换器800和基准缓冲器840。接收控制电路820被耦接以接收压缩的数据,并被耦接到缓冲器810和反变换电路830。反变换电路830和格式转换器800也耦接到缓冲器810,并且格式转换器800被耦接以输出解压缩的数据。
在各种实施例中,缓冲器810可被配置为存储数据的一个或多个块。最初,缓冲器810可存储接收控制电路820所接收的系数列表,然后数据可被变换回原始块数据(或对于有损压缩,是其近似)。因此,接收控制电路820可执行解压缩。接收控制电路820可接收压缩的数据(例如系数列表地址和系数数值的形式),并可在缓冲器810中重建变换后的块。反变换电路830可被配置为以变换被应用的相反顺序(如果使用不止一个应用的话)对由图像压缩单元120对数据应用的变换进行反向操作。格式转换器800可被配置为将数据从YUV转换为RGB格式,并且如果格式转换没有被执行的话,格式转换器800可以是可选的,并且在一些实施例中可以不被包括。
现在转向图9,其中展示了用于接收根据使用差分传送进行的无损图像压缩的数据的方法的一个实施例。如框900中所示,图像解压缩单元(诸如图像解压缩单元130)可被配置为接收图像序列中针对图像压缩的图像数据,其中该图像的至少一些块的图像数据先前利用有损压缩进行了发送。图像解压缩单元然后可接收后续图像的压缩的图像数据以创建先前利用有损压缩发送的块的无损版本。
例如,图像解压缩单元130可接收图像块的有损压缩的图像数据,并且随后(例如作为下一个图像的一部分),图像解压缩单元130可接收使得能够生成该块的无损版本的该块的额外图像数据。
又如,图像解压缩单元130可接收由图像块的一组量化的系数构成的图像数据,并随后可接收先前发送的量化的系数与未量化完全系数之间的差异,从而使得能够生成图像块的无损版本。
因此,图像解压缩单元130可被配置为通过多个图像帧接收图像块的图像数据,其中块的第一组图像数据是利用有损压缩发送的,并且其中后续的图像数据被发送,从而能够创建块的无损版本。
图10是如本文所述展示用于接收根据使用差分传送进行的无损图像压缩的压缩的图像数据的方法的一个实施例的流程图。如框1000中所示,图像解压缩单元可接收图像序列中图像的块的压缩的小波变换系数,其中波系数只包括块的所有系数的一部分。图像解压缩单元然后可解压缩和存储所接收的系数,以生成图像块的有损图像数据。例如,图像压缩单元120可只发送图像块的一部分小波系数,并且图像解压缩单元130可接收和存储那些波系数以生成块的有损图像数据。
例如,图像解压缩单元130可从图像压缩单元120接收块的一组小波变换系数,但那些系数可能仅是块的所有系数的一部分。因此,图像解压缩单元130可接收、解压缩和存储系数。由于系数少于块的系数的总体集合,所以通过对小波变换进行反向操作而得到的图像数据可生成块的有损图像数据。
如框1020中所示,图像解压缩单元然后可接收序列中后续图像的相同块的新的压缩小波变换系数,其中这些系数包括该图像块的先前没有发送的系数。因此,在处理后续图像帧时,图像解压缩单元130可接收其余的所述系数(例如在先前局部集合的系数中没有发送的系数)。图像解压缩单元然后可解压缩新系数,如框1030中所示,并将新系数与所存储的系数组合以生成图像块的无损图像数据,如框1040中所示。因此,图像解压缩单元130在一些实施例中可被配置为将通过多个图像帧接收的这两组(或更多组)系数组合以创建图像块的无损图像数据。
请注意,虽然上文中参考单个图像块和两个后续图像帧进行了描述,但图10中的流程图所示的方法可应用于多个图像块以及跨多个图像帧的数据传输。例如,如果图像块没有改变,则图像解压缩单元130可将作为三个组(对于三个图像帧中每一者有一个)接收的系数进行组合以生成块的无损图像数据。
此外,可使用各种有损压缩方法中的任何方法来替代或与参考图9和图10所述的技术结合。
本文所述的使用差分传送进行的无损图像压缩技术可在各种计算设备上实施。图11示出了被配置为实施本文所述并根据各种实施例的使用差分传送进行的无损图像压缩的一示例性计算系统。计算系统1100可以是各种类型的计算设备中的任何设备,包括但不限于个人计算机系统、台式计算机、膝上型或笔记本型计算机、大型计算机系统、手持式计算设备、蜂窝电话、智能电话、移动电话、工作站、网络计算机、消费者设备、应用服务器、存储设备、智能显示器、外围设备(诸如交换机、调制解调器、路由器等)、或一般意义上任何类型的计算设备。
在一些实施例中,本文所述的方法可通过计算机程序产品、或软件来实施。在一些实施例中,非暂态计算机可读存储介质可已经在其上存储有可被用于对计算机系统(或其他电子设备)编程以执行本文所述技术中的一些或全部的指令。计算机可读存储介质可包括任何以机器(例如计算机)可读的形式(例如软件、处理应用程序)存储信息的机制。机器可读介质可包括但不限于磁存储介质(例如磁盘);光存储介质(例如CD-ROM);磁光存储介质;只读存储器(ROM);随机存取存储器(RAM);可擦除可编程存储器(例如EPROM和EEPROM);闪存存储器;适于存储程序指令的电、或其他类型的介质。此外,程序指令可利用光、声或其他形式的传播信号(例如载波、红外信号、数字信号等)来通信。
计算机系统1100可包括可被配置为运行一个或多个模块(诸如图像压缩单元120和/或图像解压缩单元130)的处理器单元1170(可能包括多个处理器、单线程处理器、多线程处理器、多核处理器等),所述一个或多个模块可被呈现在同一计算机系统1100的存储器1110中所存储的程序指令1120内或者可被呈现在存储于与计算机系统1100类似或不同的另一计算机系统的存储器内的程序指令内。在一些实施例中,计算机系统1100可包括图像压缩单元120,而在其他实施例中,计算机系统1100可包括图像解压缩单元130。在另一些实施例中,计算机系统1110可包括图像压缩单元120和图像解压缩单元130二者。
计算机系统1100可包括一个或多个系统存储器1110(例如一个或多个高速缓存、SRAM DRAM、RDRAM、EDO RAM、DDR RAM、SDRAM、Rambus RAM、EEPROM等)、系统互连器1040(例如LDT、PCI、ISA等)、网络接口1150(例如ATM接口、以太网接口、帧中继接口等)、和一个或多个存储设备1160(例如光学存储装置、磁存储装置等)。存储器介质也可包括其他类型的存储器或其组合。
在其他实施例中,计算机系统1100可包括与图11中所示的那些相比更多、更少、或不同的部件(例如视频卡、音频卡、附加的网络接口、外围设备等)。例如,在一个实施例中,计算机系统1100可以不具有网络接口1150。处理器1170、存储设备1160、网络接口1150和系统存储器1110可耦接到系统互连器1140。
一个或多个所述系统存储器1110可包括被配置为实施本文所述(根据本文所述的任何实施例)用于使用差分传送进行的无损图像压缩的技术中的一些或全部的程序指令1120。例如,根据一个实施例,一个或多个所述系统存储器1110可包括用于实施和/或运行图像压缩单元120和/或图像解压缩单元130的代码。
在各种实施例中,程序指令1120、图像压缩单元120、图像解压缩单元130、和/或这些部件的各个子模块每一个都可以各种编程语言或方法中的任一个来实现。例如,在一个实施例中,图像压缩单元120和/或图像解压缩单元130可以是基于JAVA的,而在另一实施例中,图像压缩单元120和/或图像解压缩单元130可利用C或C++编程语言来编写。而且,在一些实施例中,图像压缩单元120、图像解压缩单元130及其各种子模块可以不是利用相同编程语言实现的。
虽然本文中已经参考特定实施例并且在特定实施例的上下文中介绍了各种系统和方法,但应当理解,这些实施例是例示性的,并且本公开的范围并不限于这些特定实施例。许多变型、修改、添加、和改进是可能的。例如,说明书中所标识的框和逻辑单元是为了理解所描述的实施例,而并不是要对公开内容进行限制。功能性以框形式在本文所述或以不同术语所述的系统和方法的各种实现中可被不同地分割或组合。
这些实施例旨在是例示性的而非限制性的。因此,对在本文中作为单个实例描述的部件,可提供多个实例。各个部件、操作和数据存储之间的边界在一定程度上是任意的,并且在特定例示性配置的上下文中例示了特定操作。功能性的其它分配可被想到,并落入后面的权利要求的范围内。最后,在示例性配置中被展示作为离散部件的结构和功能性可被实现为组合结构或部件。这些和其他变型、修改、添加和改进可以落在以下权利要求界定的本公开的范围之内。
虽然上面已经详细介绍了实施例,但一旦以上公开内容被完全理解,多种变型和修改就将变得显而易见。本发明旨在将以下权利要求解释为涵盖所有此类变型和修改。

Claims (18)

1.一种系统,包括:
图像数据源,所述图像数据源包括图像压缩单元;和
图像数据目标,所述图像数据目标包括图像解压缩单元;
其中所述图像压缩单元被配置为:
接收图像序列中第一图像的图像数据;
将有损压缩的原始图像数据传输到所述图像解压缩单元,其中所述原始图像数据与所述图像序列中所述第一图像的图像块对应;
接收所述图像序列中后续图像的图像数据;
确定所述图像序列中后续图像的对应图像块的图像数据相对于所述原始图像数据还没有改变;以及
以足以生成所述图像块的无损版本的方式将另外的图像数据传输到所述图像解压缩单元,针对所述图像块,先前传输了有损压缩的原始图像数据,
其中所述图像压缩单元还被配置为:
对所述第一图像的图像数据应用一个或多个数据变换,以生成多个数据变换系数;
将所述多个数据变换系数与针对在第一图像前的图像的多个先前传输的系数进行比较,以生成多个差分系数;
压缩所述多个数据变换系数,以生成多个压缩的数据变换系数;
压缩所述多个差分系数,以生成多个压缩的差分系数;并且
通过传输所述多个压缩的数据变换系数或所述多个压缩的差分系数中的较小者来将所述有损压缩的原始图像数据传输到所述图像解压缩单元。
2.根据权利要求1所述的系统,其中所述图像解压缩单元被进一步配置为:
对所述压缩的原始图像数据进行解压缩,其中经解压缩的原始图像数据与所述图像块的有损版本对应;以及
至少部分地基于所述另外的图像数据,生成所述后续图像的所述图像块的无损版本。
3.根据权利要求2所述的系统,其中为了生成所述后续图像的所述图像块的无损版本,所述图像解压缩单元被配置为对所述多个数据变换系数应用一个或多个反向小波变换。
4.根据权利要求1所述的系统,其中所述图像压缩单元被配置为:
对所述第一图像的所述图像块的未压缩的原始图像数据应用一个或多个小波变换,以生成所述多个数据变换系数;以及
将所述多个数据变换系数中的仅一部分作为所述有损压缩的原始图像数据来传输。
5.根据权利要求1所述的系统,其中所述图像压缩单元被进一步配置为:
传输所述图像序列中中间图像的图像数据,其中所述中间图像在所述图像序列中位于所述第一图像之后且位于所述后续图像之前;以及
将所述另外的图像数据的至少一部分与所述中间图像的图像数据一起传输。
6.一种方法,包括:
由计算设备执行:
接收图像序列中第一图像的图像数据,其中所述序列中的每个图像包括多个图像块;
传输所述第一图像的所述图像数据,其中所述传输包括由于资源约束而使用有损压缩来传输所述第一图像的多个块中的至少一些块的图像数据;
接收所述图像序列中后续图像的图像数据;
确定所述后续图像的多个块中的至少一些块的图像数据相对于所述第一图像的对应块的图像数据没有改变超过预先确定的量;
以足以创建块的无损版本的方式来传输另外的图像数据,针对所述块,先前发送了有损压缩的数据,
其中,所述方法还包括:
对所述第一图像的图像数据应用一个或多个数据变换,以生成多个数据变换系数;
将所述多个数据变换系数与针对在第一图像前的图像的多个先前传输的系数进行比较,以生成多个差分系数;
压缩所述多个数据变换系数,以生成多个压缩的数据变换系数;
压缩所述多个差分系数,以生成多个压缩的差分系数;并且
其中所述传输所述第一图像的图像数据包括传输所述多个压缩的数据变换系数或所述多个压缩的差分系数中的较小者。
7.根据权利要求6所述的方法,其中所述由于资源约束而使用有损压缩来传输所述第一图像的多个块中的至少一些块的图像数据包括仅传输所述多个系数的一部分。
8.根据权利要求7所述的方法,还包括:
将所述多个系数分类为多个有效性组,其中给定的有效性组中的每个系数具有相同的一个或多个最高有效设置位,其中所述系数的子集包括所述多个系数的按所述多个有效性组的次序从最高有效到最低有效的第一部分;并且
所述仅传输所述多个系数的一部分包括按所述有效性组的次序从最高有效到最低有效来传输所述多个系数中的所述部分。
9.根据权利要求7所述的方法,其中所述传输所述另外的图像数据包括传输所述多个系数中的其余系数中的至少一些系数,其中所述系数中的所述其余系数先前没有被发送。
10.根据权利要求6所述的方法,还包括:
其中所述由于资源约束而使用有损压缩来传输所述第一图像的多个块中的至少一些块的图像数据包括:
量化所述多个系数以生成对应的多个量化的系数;以及
传输所述多个量化的系数;并且
其中所述传输所述另外的图像数据包括:
将所述多个系数与所述多个量化的系数进行比较以生成多个系数差异;以及
传输所述多个系数差异。
11.根据权利要求6所述的方法,其中所述一个或多个数据变换包括一个或多个小波变换。
12.根据权利要求6所述的方法,其中所述一个或多个数据变换包括一个或多个色彩空间转换。
13.根据权利要求6所述的方法,还包括:
接收图像改变信息,所述图像改变信息为所述后续图像的多个块中的每个块指示相应块相对于所述第一图像的多个块中的对应块是否改变,以及
至少部分地基于所接收的图像改变信息确定所述后续图像的多个块中的至少一些块的图像数据没有改变。
14.根据权利要求6所述的方法,还包括:
确定所述后续图像的多个块中的至少一些块的图像数据没有改变超过预先确定的量,所述确定包括确定所述后续图像的多个块中的至少一些块的图像数据相对于所述第一图像的对应块的图像数据根本没有改变。
15.根据权利要求6所述的方法,还包括:
接收所述第一图像的有损压缩的图像数据;以及
接收所述另外的图像数据;
其中所述另外的图像数据为所述图像序列中后续图像的压缩的图像数据;并且
其中所述后续图像的压缩的图像数据包括足以创建所述后续图像的块中的一个或多个块的无损版本的信息,其中所述后续图像的块中的所述一个或多个块中的每个块与所述第一图像的多个图像块中的至少一些块中的相应的一个块对应,针对所述第一图像的多个图像块,使用有损压缩发送了图像数据。
16.根据权利要求15所述的方法,还包括:
基于所述第一图像的所述图像块的多个压缩的小波变换系数和与所述第一图像的所述图像块对应的后续图像的图像块的附加的一个或多个压缩的小波变换系数来生成所述后续图像的所述图像块的无损版本;
其中所述接收所述第一图像的压缩的图像数据包括接收所述第一图像的图像块的所述多个压缩的小波变换系数,其中所述多个压缩的小波变换系数仅代表所述图像块的所有小波变换系数的一部分;并且
其中所述接收所述后续图像的压缩的图像数据包括接收所述附加的一个或多个压缩的小波变换系数,其中所述附加的压缩的小波变换系数包括并非所述第一图像的所述图像块的所述多个压缩的小波变换系数的一部分的系数。
17.根据权利要求16所述的方法,其中所述生成所述后续图像的所述图像块的无损版本包括:
解压缩所述第一图像的所述图像块的多个压缩的小波变换系数;
解压缩所述后续图像的所述图像块的附加的压缩的小波变换系数;以及
将所述第一图像的所述图像块的解压缩的所述小波变换系数与所述后续图像的所述图像块的解压缩的所述附加的小波变换系数进行组合。
18.根据权利要求15所述的方法,其中足以创建所述后续图像的块中的一个或多个块的无损版本的所述信息包括:
足以创建所述第一图像的多个图像块中的一个或多个块的无损版本的信息,针对所述第一图像的多个图像块,先前使用有损压缩发送了图像数据;和
差量信息,所述差量信息包括表示所述第一图像的多个图像块中的所述一个或多个块的改变并足以创建所述后续图像的对应块的无损版本的信息。
CN201380064978.8A 2012-12-12 2013-12-11 使用差分传送进行的无损图像压缩 Active CN104838653B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261736462P 2012-12-12 2012-12-12
US61/736,462 2012-12-12
US14/035,682 US9386318B2 (en) 2012-12-12 2013-09-24 Lossless image compression using differential transfer
US14/035,682 2013-09-24
PCT/US2013/074432 WO2014093510A1 (en) 2012-12-12 2013-12-11 Lossless image compression using differential transfer

Publications (2)

Publication Number Publication Date
CN104838653A CN104838653A (zh) 2015-08-12
CN104838653B true CN104838653B (zh) 2021-04-27

Family

ID=50881035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380064978.8A Active CN104838653B (zh) 2012-12-12 2013-12-11 使用差分传送进行的无损图像压缩

Country Status (6)

Country Link
US (1) US9386318B2 (zh)
EP (2) EP2932719A1 (zh)
KR (1) KR101775522B1 (zh)
CN (1) CN104838653B (zh)
AU (1) AU2013359365B2 (zh)
WO (1) WO2014093510A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8237830B2 (en) 2007-04-11 2012-08-07 Red.Com, Inc. Video camera
TWI451755B (zh) 2007-04-11 2014-09-01 Red Com Inc 影像攝影機
JP2016508700A (ja) 2013-02-14 2016-03-22 レッド.コム,インコーポレイテッド ビデオカメラ
CN103152573A (zh) * 2013-03-15 2013-06-12 惠州Tcl移动通信有限公司 一种移动终端与智能电视间图像帧传输的方法及系统
CN106576162A (zh) * 2014-07-09 2017-04-19 努梅利有限公司 通用视频编解码器
US9626733B2 (en) * 2014-11-24 2017-04-18 Industrial Technology Research Institute Data-processing apparatus and operation method thereof
KR102268596B1 (ko) * 2014-12-08 2021-06-23 한화테크윈 주식회사 메타데이터 기반 비디오 데이터의 전송조건 변경장치 및 방법
EP3040862B1 (en) * 2014-12-30 2016-12-28 Matthias Auchmann Method and system for the safe visualization of safety-relevant information
US9762912B2 (en) * 2015-01-16 2017-09-12 Microsoft Technology Licensing, Llc Gradual updating using transform coefficients for encoding and decoding
CN104796572A (zh) * 2015-04-22 2015-07-22 深圳市美贝壳科技有限公司 照片投射显示方法
US9967465B2 (en) 2016-05-18 2018-05-08 Realtek Singapore Pte Ltd Image frame processing method
US9996894B2 (en) * 2016-05-18 2018-06-12 Realtek Singapore Pte Ltd Image processing device, video subsystem and video pipeline
US10897635B2 (en) * 2016-09-06 2021-01-19 Apple Inc. Memory compression systems and methods
CN107318021B (zh) * 2017-06-22 2020-10-27 长沙市极云网络科技有限公司 一种远程显示的数据处理方法及系统
CN107318020B (zh) * 2017-06-22 2020-10-27 长沙市极云网络科技有限公司 远程显示的数据处理方法及系统
US11019336B2 (en) 2017-07-05 2021-05-25 Red.Com, Llc Video image data processing in electronic devices
US10498793B2 (en) 2017-07-31 2019-12-03 Microsoft Technology Licensing, Llc System and method for digital compression for streaming data
CN107665128B (zh) * 2017-09-13 2021-11-19 深信服科技股份有限公司 图像处理方法、系统、服务器及可读存储介质
CN109819178B (zh) * 2017-11-21 2022-07-08 虹软科技股份有限公司 一种用于帧处理的方法和装置
GB2569544B (en) * 2017-12-19 2022-07-20 Displaylink Uk Ltd Transmission of a reverse video feed
CN108694735B (zh) * 2018-05-11 2022-04-15 歌尔科技有限公司 穿戴设备及模拟表盘指针图片压缩存储、重绘方法、设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090054298A (ko) * 2007-11-26 2009-05-29 삼성전자주식회사 영상 계조 압축 장치 및 방법
US7796825B2 (en) * 2007-02-16 2010-09-14 Cisco Technology, Inc. Losslessly improving compression of compressed image data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610657A (en) 1993-09-14 1997-03-11 Envistech Inc. Video compression using an iterative error data coding method
US5838377A (en) 1996-12-20 1998-11-17 Analog Devices, Inc. Video compressed circuit using recursive wavelet filtering
US6947486B2 (en) * 2001-03-23 2005-09-20 Visioprime Method and system for a highly efficient low bit rate video codec
US7466867B2 (en) * 2004-11-26 2008-12-16 Taiwan Imagingtek Corporation Method and apparatus for image compression and decompression
US8229245B2 (en) 2006-10-10 2012-07-24 Zoran (France) Method and apparatus for spatio-temporal subband video enhancement with small time delay
JP2009290552A (ja) 2008-05-29 2009-12-10 Fujifilm Corp 動画圧縮装置および動画圧縮プログラム
US8520734B1 (en) * 2009-07-31 2013-08-27 Teradici Corporation Method and system for remotely communicating a computer rendered image sequence
US9075560B2 (en) * 2009-12-10 2015-07-07 Microsoft Technology Licensing, Llc Real-time compression with GPU/CPU
US8428110B2 (en) * 2011-03-25 2013-04-23 International Business Machines Corporation Pipelining and sub-rate operation for memory links
US9578336B2 (en) * 2011-08-31 2017-02-21 Texas Instruments Incorporated Hybrid video and graphics system with automatic content detection process, and other circuits, processes, and systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796825B2 (en) * 2007-02-16 2010-09-14 Cisco Technology, Inc. Losslessly improving compression of compressed image data
KR20090054298A (ko) * 2007-11-26 2009-05-29 삼성전자주식회사 영상 계조 압축 장치 및 방법

Also Published As

Publication number Publication date
AU2013359365A1 (en) 2015-07-02
US9386318B2 (en) 2016-07-05
AU2013359365B2 (en) 2016-07-21
CN104838653A (zh) 2015-08-12
EP3386197A1 (en) 2018-10-10
KR20150095825A (ko) 2015-08-21
WO2014093510A1 (en) 2014-06-19
KR101775522B1 (ko) 2017-09-06
US20140161367A1 (en) 2014-06-12
EP2932719A1 (en) 2015-10-21

Similar Documents

Publication Publication Date Title
CN104838653B (zh) 使用差分传送进行的无损图像压缩
US8378859B2 (en) Memory compression technique with low latency per pixel
US8989509B2 (en) Streaming wavelet transform
US9560310B2 (en) Method and system for rescaling image files
US20140086309A1 (en) Method and device for encoding and decoding an image
US8170334B2 (en) Image processing systems employing image compression and accelerated image decompression
CN103873877A (zh) 远程桌面的图像传输方法及装置
US10304213B2 (en) Near lossless compression scheme and system for processing high dynamic range (HDR) images
CN107018416B (zh) 用于视频和图像压缩的自适应贴片数据大小编码
US7050656B2 (en) Image scaling in the compressed domain
CN110913219A (zh) 一种视频帧预测方法、装置及终端设备
CN112714313A (zh) 图像处理方法、装置、设备和存储介质
CN111083479A (zh) 一种视频帧预测方法、装置及终端设备
US6766341B1 (en) Faster transforms using scaled terms
EP3033877A1 (en) Techniques for low power video compression and transmission
US10448037B2 (en) Decoding apparatus and method for discrete wavelet transform with buffer management
US20060170708A1 (en) Circuits for processing encoded image data using reduced external memory access and methods of operating the same
CN110876062A (zh) 用于特征图的高速压缩处理的电子设备及其控制方法
CN107172425B (zh) 缩略图生成方法、装置及终端设备
US8244071B2 (en) Non-dyadic spatial scalable wavelet transform
CN110830806A (zh) 一种视频帧预测方法、装置及终端设备
US8411971B1 (en) Method and apparatus for normalizing perceptual quality in media compression
CN115063327B (zh) 图像处理方法和装置、以及视频处理方法和装置
CN117856794A (zh) 多压缩算法模式下的自适应选优的装置及方法
Arjun et al. Verilog implementation of adaptive compression of RGB images at low bit rates

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant