CN105745930A - 用于图像比特流处理的技术 - Google Patents

用于图像比特流处理的技术 Download PDF

Info

Publication number
CN105745930A
CN105745930A CN201380081031.8A CN201380081031A CN105745930A CN 105745930 A CN105745930 A CN 105745930A CN 201380081031 A CN201380081031 A CN 201380081031A CN 105745930 A CN105745930 A CN 105745930A
Authority
CN
China
Prior art keywords
block
image
coefficient
mcu
entry
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.)
Granted
Application number
CN201380081031.8A
Other languages
English (en)
Other versions
CN105745930B (zh
Inventor
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN105745930A publication Critical patent/CN105745930A/zh
Application granted granted Critical
Publication of CN105745930B publication Critical patent/CN105745930B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/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/18Methods 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 a set of transform coefficients
    • 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/182Methods 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 a pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

各种实施例一般地涉及用于降低从图像比特流检索图像的处理和/或存储资源需求的技术。显示压缩图像的设备包括解析流数据的注释块以定位与多个图像中的图像相关联的条目的解析组件,其中流数据包括多个图像的图像比特流,且条目包括图像比特流内图像的最小编码单元(MCU)的系数块开始处的位置的指针和系数块的系数的指示;和从图像比特流检索MCU并采用指示来对系数块解码的解码组件。对其他实施例也予以描述并要求保护。

Description

用于图像比特流处理的技术
技术领域
本文所述的各实施例一般地涉及降低访问编码在压缩图像比特流内的静态图像中的处理和/或存储需求。
背景技术
已经设计了各种图像压缩的形式来压缩静态图像集以用于存储和/或传输,包括由国际标准化组织和国际电工委员会(ISO/IEC)发布的各种版本的联合图像专家组(JPEG)规范。遵守此规范和/或类似规范的图像压缩器通过离散余弦变换(DCT)、量化和熵编码的组合将多个静态图像压缩成表示每一个静态图像在频域中的像素块的系数的单个图像比特流。
遗憾的是,为了达到相对高的压缩度,此类图像比特流通常是以禁止访问和解码在除其开始处以外的任何位置处沿其长度选择的静态图像中的仅仅一个图像的方式来组织的。更简而言之,此类图像比特流被构造成要求从开始处开始对静态图像的顺序访问和解码,而不启用在沿其的不同点处的“随机”访问。
每一个图像的第一个系数的位置通常并不在规律或另外地可预测的间隔处开始。相反,每一个静态图像的第一个系数的位置很大程度上(如果不是排他地)是由熵编码采用来编码之前的静态图像的比特的数量所确定的。而且,每一个系数的值通常都规定为从前一系数一路延伸回到最先一个静态图像的最先一个系数的差。因此,找到特定静态图像的第一系数的位置并解释该特定静态图像的系数的值要求对图像比特流的开始处从最先一个图像的最先一个系数开始的系数进行访问和解码,并继续进行直到达到特定图像的系数。
此类顺序访问和解码的需求可以要求可观的处理和/或存储资源。而且,随着有更高分辨率的相机、有更高容量的存储介质和有更高数据传输速率的网络全都变得更常见,存储在此类图像比特流中的静态图像的质量和这些静态图像中的每一个的大小都继续在增长。结果是,此类图像比特流继续变得越来越大,从而使得只是从此类图像比特流内检索单个静态图像所要求的已经很可观的处理和/或存储资源恶化。
附图说明
图1示出了图像处理系统的实施例。
图2示出了图像处理系统的替换性实施例。
图3-4各自示出了图像比特流中对图像编码的示例。
图5-6各自示出了增强图3的图像比特流的实施例。
图7示出了检索图像的一部分的实施例。
图8示出了旋转图像的一部分的实施例。
图9-10各自示出了实施例的一部分。
图11-12各自示出了根据实施例的逻辑流。
图13示出了根据实施例的处理体系结构。
图14示出了图形处理系统的另一个替换性实施例。
图15示出了设备的实施例。
具体实施方式
各种实施例一般地涉及用于降低从图像比特流检索图像的处理和/或存储资源需求的技术。包括每一个图像的至少第一系数的指针和系数值的条目集被作为注释块加到图像比特流的头中,以保证包括此类信息不会导致与不用此类信息的解码器的兼容性问题。此注释块可以在图像比特流创建时被包括进去,或者可以加入到已有的图像比特流中。
在一些实施例中,以及取决于在生成图像比特流时采用的特定静态图像压缩规范,每一个图像可以划分成诸如各种版本的JPEG的最小编码单元(MCU)的两维像素块。在此类实施例中,图像的第一个或更多系数可将他们在图像中的位置对应于图像的第一MCU的一个或多个像素,且第一MCU可在图像的左上角中。而且,组成图像的每一个MCU(包括第一MCU)的每一个系数块的第一系数可以是DC系数。
注释块可划分成条目,其每一个都包括至少一个指针和至少一个系数值。在一些实施例中,可能逐图像有单个条目,其中指针指向可能是图像的第一MCU的多个系数块中的一个的第一系数,并且其中有这些多个系数块中的至少一个的第一系数的DC系数值。而且,尽管DC系数值可在每一个MCU内的系数块内被规定为与前一MCU的相对应系数块的DC系数值的差,但注释块的条目的每一个DC系数值可不参考任何其他系数值而以单独的方式规定。
在其他实施例中,在注释块中可针对每一个图像中的每一个水平MCU行有条目。在此类实施例中,每一个条目的指针可指向每一个水平MCU行中的第一MCU(例如,最左MCU)的系数块的第一系数。而且,每一个条目的系数值可不参考任何其他DC系数值而规定水平MCU行中的一个的第一MCU(例如,一行的最左MCU)的一个或多个系数值。
在又其他实施例中,在注释块中可针对每一个图像中的每一个MCU有条目。在此类实施例中,每一个条目的指针可指向其对应MCU的系数块的第一系数,且系数值可规定第一系数的DC系数值。
注释块的条目可从已有图像比特流生成。至少比特流的图像数据可顺序地访问和解码,并且条目可针对至少每一个找到的图像而生成,如果不是如此则针对每一个找到的图像的每一个水平线或者针对每一个找到的MCU而生成。可随后生成新图像比特流,其中头包括由所生成的条目组成的注释块。在一些实施例中,可将注释块熵编码以降低其在新图像比特流内的大小。
在查看包括这样的注释块的图像比特流的特定图像时,可解析注释块以至少定位对应于该特定图像的第一MCU的条目。在一些实施例中,注释块可能需要在被解析之前至少经由熵解码器而解码。在需要检索整个特定图像的实施例中,可随后从该条目指向的MCU开始检索并解码特定图像的MCU用于查看。
在仅需要查看特定图像的一部分的实施例中,随后检索并解码特定图像的MCU的子集用于查看。在注释块中逐图像仅有一个条目的实施例中,检索并解码从特定图像的第一MCU开始的特定图像的MCU直到对应于所需要的图像的部分的MCU的最末已经被检索和解码了。在此检索和解码期间,所检索和解码的不对应于所需要的特定图像的部分的那些MCU在被解码以计算他们的DC值用于计算后续MCU的DC系数之后被丢弃。
然而,在针对每一个图像的每一个水平MCU线的第一MCU有条目的实施例中,仅检索和解码对应于所需要的特定图像的部分的水平MCU线的MCU。对于每一个这样的水平线,这样的检索和解码从第一MCU开始并沿每一个这样的水平线继续直至对应于所需要的特定图像的部分的那条线的最末MCU被检索和解码。在此检索和解码期间,这些线的每一个中不对应于所需要的特定图像的部分的所检索和解码的那些MCU在被解码以计算他们的DC值用于计算该线的后续MCU的DC系数之后被丢弃。
在图像的MCU被检索的每一个案例中,这样的检索可仅需要一次检索和解码MCU的子集。每一个这样的子集都可至少部分地被选择以适合在存储的易失性部分的单个存储页内(例如,在动态随机访问存储器系统的单个四千字节存储页内)。这可取代简单地一次检索MCU的全部或大部分以通过避免在处理MCU的一个或多个时访问这样的存储页的重复改变中可招致的延迟而增强MCU的处理的性能。
作为查看图像比特流的图像或图像的一部分的一部分,可期望旋转或内插(例如,缩小或放大)图像或图像的一部分。而且,旋转或内插可要求的这样的对图像的MCU的处理可用一次仅检索、解码和随后处理MCU的子集来执行。而且,这样的解码和/或处理MCU可完全在他们在检索时所存储进的同一存储页内发生。
根据本文所使用的对标记和术语的一般引用,随后的详细描述的一部分可按照在计算机或计算机网络上执行的程序过程来呈现。这些过程性描述和表示被本领域的技术人员用来将其工作的实质最有效地传达给本领域的其他技术人员。过程在此处且通常被认为是导致所需结果的自相一致的操作序列。这些操作是需要对物理量的物理操纵的那些步骤。尽管并非必需,但这些物理量通常采用能够被存储、传输、组合、比较、或以其它方式操纵的电、磁或光学信号的形式。原则上出于常见用法的原因将这些信号称作位、值、元素、符号、字符、项、数字等被证明有时是方便的。然而,应当记住,所有这些和类似术语都应与适当的物理量相关联并且仅仅是应用于这些物理量的方便的标签。
而且,这些操纵通常用通常与人操作者执行的脑力操作相关联的术语提到,诸如加或比较。然而在大多数情形下,在本文所述的构成一个或多个实施例的部分的任何操作中,人操作者的这种能力都不必要或受期望。而上这些操作是机器操作。由于执行各种实施例的操作的有用的机器包括如由根据本文的教示而写的、存储于其中的计算机程序选择性地激活或配置的通用数字计算机,和/或包括专门为所需要的目的而构造的装置。各种实施例也涉及用于执行这些操作的装置或系统。这些装置可专门为所需要的目的而构造或可包括通用计算机。用于多种多样的这些机器的所需要的结构将从给出的描述中显现。
现在将参考附图,全部附图中相同的附图标记用于指代相同的元素。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以在没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入权利要求书的范围内的所有修改、等效方案和替换方案。
图1示出了包含源设备100、增强设备300和查看设备500和/或700中的一个或多个的图像处理系统1000的实施例的框图。在图像处理系统1000中,包含以压缩形式(例如,压缩成图像比特流)表示图像880的一个或多个静态图像的图像数据131的流数据130可由源设备100生成。流数据130可随后从源设备100接收并由增强设备300用注释块332增强以生成流数据330。增强设备300可在将流数据330传输到查看设备500和700的一个或二者之前存储流数据330。流数据330可随后被解压缩以检索图像数据131且图像数据131可由查看设备500和700的一个或二者视觉地呈现。这些计算设备中的每一个都可以是各种各样类型的计算设备中的任何一个,包括但不限于台式计算机系统、数据输入终端、膝上型计算机、网络本计算机、平板计算机、手持个人数据助理、智能电话、智能眼镜、智能腕表、数码相机、结合进衣服的身体穿戴计算设备、集成进车辆(例如,汽车、自行车、轮椅等等)的计算设备、服务器、服务器群集、服务器场等等。
如所描绘的,这些计算设备100、300、500和/或700通过网络999交换传递表示图像880的静态图像和/或相关数据的压缩和/或未压缩数据的信号。然而,这些计算设备的一个或多个可经由网络999互相和/或与另外的其他计算设备(未示出)交换完全与图像880无关的其他数据。在各种实施例中,网络999可以是可能限于在单个建筑或其他相对有限的区域内扩展的单个网络、可能扩展可观距离的经连接的网络的组合、和/或可包括因特网。因此,网络999可以是基于信号可基于其交换的各种各样的通信技术(或组合)中的任何一个,包括而不限于:采用电子和/或光学导线的有线技术,和采用红外线、射频或其他形式的无线传输的无线技术。
在各种实施例中,源设备100(如果在)包含将源设备100耦合到增强设备300的接口190以向增强设备300提供流数据130。如所描绘的,接口190可通过与将增强设备300耦合到查看设备500和/或700的一个或二者的同一网络999将源设备100耦合到增强设备300。然而,在其他实施例中,源设备100可用完全不同的方式耦合到增强设备300。流数据130的图像数据131的至少一部分可能已经经由源设备100创建了,例如,源设备100包含相机(例如,所描绘的相机110)从而图像数据131包括由源设备100捕捉的图像880的静态图像的表示的情况。替换性地或附加地,包括图像数据131的流数据130的至少一部分可简单地存储在源设备100上用于稍后在其从另外一个设备接收之后传递到增强设备300。
在各种实施例中,增强设备300包含处理器组件350、存储360和将增强设备300耦合到网络999的接口390中的一个或多个。存储360存储控制例程340、流数据130、图像数据131、注释块332和流数据330中的一个或多个。控制例程340包含可在作为计算设备300的主处理器组件的角色的处理器组件350上操作以实现执行各种功能的逻辑的指令序列。
在一些实施例中执行控制例程340时,处理器组件350可从源设备100接收包括表示图像880的静态图像的图像数据131的流数据130,并可将其存储在存储360中。处理器组件350可随后至少部分地解压缩流数据130以至少检索和解码图像数据131的频域中的系数。在其中流数据130至少部分地符合诸如JPEG版本的图像压缩规范的实施例中,通过从像素颜色值块转换到频域中的系数块、通过系数块的量化、和通过熵编码压缩图像数据131以将系数块转换成图像比特流。
图3更详细地描绘了流数据130的内容的示例。如所描绘的,流数据130包括图像数据131和传递关于图像数据131的压缩的信息以启动其后续压缩的头331。头331可包括一个或多个注释块,其中可存储不传递压缩图像数据131所需要的信息的数据,诸如指示由图像数据131表示的图像880的静态图像883中的一个或多个在哪里或何时被捕捉的笔记。此类注释块通常被用来压缩符合JPEG的流数据(诸如流数据130或330)的解压缩器完全忽略。
还如描绘的,图像数据131是由一系列最小编码单元(MCU)135组成的。每一个MCU135对应于图像883的像素888的两维块885。每一个MCU135对应的像素888的两维块885通常是16×16大小的像素888,但也可以是其他大小,包括但不限于8×8、8×16、8×32、16×32等等。MCU135的每一个都是由一个或多个两维系数块组成的以将该MCU135对应的像素888的块885的一个或多个图像分量(例如,红、绿和蓝分量、或亮度和色度分量)编码。更精确地,每一个MCU135在频域中描述图像数据131的图像883之一的像素888的对应块885的像素颜色值,并可对这些像素颜色值的不同图像分量的多个系数块这样做。如图3所描绘的,图像883的每一个的MCU135的次序意在对应通常从每一个图像883的左上角到右下角地在框885的水平行中水平地从左到右进行的像素888的块885的次序。
应注意,图3(以及本文其他图)以刻意简化的方式描绘图像883的示例以辅助讨论和理解,并且不应被理解为就大小、形状、数量或其他特性而言的限制。更具体的,在图3(和稍后的图4)中将图像数据131描绘成仅表示三个图像883,该三个图像883全部是同一大小,并且每一个都仅包括像素888的块885的三行从而仅需要相对小数量的MCU135来表示每一个图像883。尽管如此描绘,应理解图像数据131可表示多得多的图像883,其中这些图像883可每一个都大相当多,和/或其中每一个图像883可以按照组成他们每一个的像素888的块885的数量和安排而言有不同的大小和/或形状从而表示他们每一个的MCU135的数目可不同。
图4描绘包含多个系数块136并对应于像素888的块885的示例实施例的MCU135的示例实施例。如同那些本领域内技术人员所熟悉的,图像的像素的颜色可用各种各样的颜色空间(例如,红-绿-蓝、亮度-色度等等)中的任何一个来规定,其中每一个颜色空间的分量的值可用各种各样的格式中的任何一个规定。在可使用的各种各样的格式之中,对静态图像最常见的之一是YUV4:2:0,其中亮度值(Y)是针对每一个像素规定的,但色度值(Cr和Cb)是针对多个相邻像素规定的。这样的格式至少部分地基于其中细节更多地是作为亮度的结果而不是颜色的结果而被感觉的人视觉系统(HVS)的已知特性。因此,多个相邻像素的色度值可被组合(例如,通过平均化、过滤等等)并用单个值来规定以降低数据大小而没有由HVS感觉的图像中显著的保真度损失。
因此,在采用YUV4:2:0的情况中,所描绘的像素888的16×16的示例块885的像素888的亮度可各自用单独的亮度值规定,而色度值可针对像素888的四个中的每一个2×2集而规定色度。在各种JPEG版本中的一个随后用来将以此方式规定的像素颜色值编码时,要在像素颜色值的8×8集上执行以生成相对应8×8系数块136的DCT转换的JPEG要求可以导致每一个MCU135由多个系数块136组成。更具体的,在编码图像中采用其中每一个MCU135对应于像素888的16×16块885的JPEG版本时,和在像素颜色值是在亮度-色度颜色空间中用YUV4:2:0格式规定时,MCU135的每一个可包括四个亮度的系数块136(Y1-Y4)和两个色度的系数块136(Cr和Cb)。四个亮度系数块136的每一个对应于由MCU135表示的像素888的16×16块885的一个8×8象限。两个色度系数块136的每一个对应于由MCU135表示的像素888的16×16块885整体。
在块136的每一个内,系数也通常以其中每一个块136的第一系数是该块136的DC系数且该块136内跟随该DC系数的所有其他系数是AC系数的方式排次序的。如存储在图像数据131内的,MCU135中的每一个块136的DC系数值通常被指示为与前一MCU135的对应块136的DC系数的差(正的或负的)。因此,对于所描绘的示例MCU135,色度系数Cr块136的DC系数值是在每一个MCU135内规定为与前一MCU135的色度系数Cr块136的DC系数值的差。类似地,色度系数Cb块136的DC系数值是在每一个MCU135内规定为与前一MCU135的色度系数Cb块136的DC系数值的差。对于亮度系数Y1-Y4块136有一些不同,亮度系数Y1块136的DC系数值是在每一个MCU135内规定为与前一MCU135的亮度系数Y4块136的DC系数值的差。此差异来自有多于一个的亮度系数块136。亮度系数Y4块136的DC系数值是在每一个MCU135内规定为与同一MCU135的亮度系数Y3块136的DC系数值的差。类似地,亮度系数Y3和Y2块136的DC系数值分别规定为与同一MCU135的亮度系数Y2和Y1块136的DC系数值的差。仅图像数据131中的最先一个MCU135(是由图像数据131表示的第一图像883的第一MCU135)的所有图像分量的块136的DC系数值是没有参考其他DC系数值而规定的。
参考图1和4二者,在至少部分地解压缩流数据130时,处理器组件350在图像数据131上至少执行熵解码以将其图像比特流转换回在压缩期间经原始熵编码以创建图像数据131的图像比特流的MCU135。通过这样做,处理器组件350跟踪图像数据131的比特流中表示至少一些MCU135的至少一些系数块136的比特开始处的位置。处理器组件350用这些MCU135的条目生成注释块332,指示每一个条目中该比特流中那些块136中的至少一个的位置并包括DC系数值的指示。
图4描绘包含至少一个指示亮度系数Y1块136的第一系数(DC系数)的位置的指针335的注释块332的条目333的示例实施例。此描绘认可用使得一旦每个MCU135内的系数块135中的一个的位置已知的时候能找到该MCU135内的全部系数块135的单个次序来组织每一个MCU135内的系数块136的常用做法。然而如所描绘的,也可有可提供对色度系数Cr和Cb块136的第一系数的位置的单独指示的其他指针135。在一些实施例中,即使不必要,也可认为期望有这样的多个指针以更好地启用每一个图像分量的系数块136的平行解码(例如,Y、Cr和Cb系数的平行解码)。
示例条目333也包含多个DC系数339,这些系数以不参考任何其他系数的独立方式至少规定色度系数Cr和Cb的块136及亮度系数Y1的块136的DC系数值。处理器组件350可随后用注释块332增强流数据130的头331,从而生成包括图像数据131和现在经增强成包括注释块332的头331的流数据330。
图5描绘了注释块332的示例实施例,其中描绘了对应于由图像数据131表示的图像883的每一个的第一MCU135的多个条目333。更准确地说,每一个条目333的对应MCU135是对应于图像883中的一个的像素888的第一个块885(例如,图像883的左上角处的那个块885)的MCU135。而且,条目333的每一个都包括对对应MCU135内的一个或多个系数块的每一个在图像数据131的比特流中开始处的位置的一个或多个指针335。条目333的每一个也包括对应MCU135的一个或多个系数块136的DC系数值的指示339,其中指示339的每一个不参考任何其他DC系数而规定DC系数值。
图6描绘了注释块332的示例实施例,其中条目333是对应于由图像数据131表示的图像883的块885的每一个水平行884的第一MCU135而生成的。更准确地说,不同于图5的注释块332的实施例,在图6的注释块332的实施例中,条目333的每一个的对应MCU135是对应于图像883的块885的水平行884中的像素888的第一个块885(例如,图像883的一个行884的最左位置处的一个块885)的MCU135。
尽管未具体描绘,但在注释块332的又一个实施例中,每一个图像883的每一个MCU135都可在注释块332中有对应条目333。在注释块332的再一个实施例中,每一个条目333都可对应于每一个图像883的块885的水平行884的一个的一部分或者每一个都是随机选择的数量的MCU135的MCU135组(例如,每组中5或10个MCU)。
返回到图1,在生成包括注释块332的流数据330之后,处理器组件350可操作接口390以经由网络999将流数据330传输到查看设备550和770的一个或二者。处理器组件350可响应于接收到的对于流数据330的请求和/或在对多个其他设备的广播中接收的请求而通过网络999或者经由不同的机制将流数据330提供给这样的查看设备。
在各种实施例中,查看设备500(如果在)包含处理器组件550、存储560、输入设备520、显示器580和将查看设备500耦合到网络999的接口590中的一个或多个。存储560存储控制例程540、流数据330和从流数据330检索的图像数据131。控制例程540包含可在作为查看设备500的主处理器组件的角色的处理器组件550上操作以实现执行各种功能的逻辑的指令序列。
在一些实施例中执行控制例程540时,处理器组件550可从增强设备300接收流数据330、可至少压缩其图像数据131、并可在显示器580上视觉地呈现图像880的静态图像883的一个或多个。通过这样做,在执行控制例程540时处理器组件550可完全地忽略流数据330内的注释块332。因此,在输入设备520可由查看设备500的操作员操作以规定待查看的图像883中的特定一个时,处理器组件550可顺序地检索和解码图像数据131的图像883直到到达图像883中的该特定一个。处理器组件550可随后检索和解码图像883中的该特定一个并在显示器580上视觉地呈现它。
在各种实施例中,查看设备700(如果在)包含处理器组件750、存储760、输入设备720、显示器780和将查看设备700耦合到网络999的接口790中的一个或多个。存储760存储控制例程740、流数据330和注释块332和从流数据330检索的图像数据131。控制例程740包含可在作为查看设备700的主处理器组件的角色的处理器组件750上操作以实现执行各种功能的逻辑的指令序列。
在一些实施例中执行控制例程740时,处理器组件750可从增强设备300接收流数据330、可至少压缩其图像数据131、并可在显示器780上视觉地呈现图像880的静态图像883的一个或多个。然而,不同于在查看设备550中执行控制例程540的处理器组件550,处理器组件750检索并采用注释块332的条目333中的一个或多个的指针335以确定一个或多个想要的图像所处于的图像数据131内的位置。
因此,在输入设备720可由查看设备700的操作员操作以规定待查看的图像883中的特定一个时,处理器组件750可首先解析注释块332的条目333以定位至少一个对应于该特定图像883的条目333。在其中注释块332已经被熵编码以降低其大小的实施例中,处理器组件750可首先在注释块332上执行熵解码以在解析条目333之前撤销这样的熵编码。
在其中将查看特定图像883的整体且在注释块332中针对每一个图像883有单个条目333的实施例中,处理器组件750采用对应于该特定图像883的那一个条目333的指针335以检索此特定图像883的全部MCU135。而且,该特定图像的此单个条目333的至少一个指针335指向对应于特定图像883的第一块885的第一MCU135的至少一个系数块136的第一系数,且对特定图像883的MCU135的检索从此第一MCU135开始。事实上,特定图像883的MCU135的检索可从对应于位于左上角的块885的第一MCU135开始,并以对应于从左到右通过特定图像883的块885的水平行884的方式继续通过MCU135直到达到对应于图像883的右下角处的最末块885的MCU135。处理器组件750也采用此第一MCU135的一个或多个系数块136的DC系数值的指示339以从此第一MCU135开始而开始对经检索的MCU135的解码。
以此方式,对比于如由查看设备500执行的查看特定图像883,查看设备700通过采用注释块332的条目333的信息以避免不得不从图像数据131开始直到特定图像883在图像数据131中所处的位置顺序地访问和解码全部的图像883而实现了处理和/或存储资源的相当大的节省。相应地,也节省了大量的功率(例如,存储在查看设备700的电池中的电力)。
在其中将仅查看特定图像883的一部分且在注释块332中针对每一个图像883有单个条目333的实施例中,处理器组件750再次采用对应于该特定图像883的那一个条目333的指针335以开始检索此特定图像的MCU135。而且,检索可从第一MCU135开始,该第一MCU135可对应于左上角处的块885,并可随后如上所述水平地从左到右继续通过块885的行884。然而,当检索和解码了MCU135中的一个时(也从第一MCU135开始),不对应于将被查看的特定图像的部分的MCU135中的每一个,一旦已经计算了其DC系数从而能够计算下一个MCU135的DC系数,都会被丢弃。而且,一旦已经检索了对应于特定图像883的部分的MCU135的最末一个,处理器组件750停止检索特定图像883的任何更多的MCU135。
如将更详细解释的,存储760可用多个存储设备组成,包括基于由于其依赖于可持续性地不中断电力供应以维持其中存储的任何内容而被认为是“易失性”的存储技术的一个或多个存储设备。此类技术包括可施加其他操作性要求或限制(诸如可由于存储单元被组织成行、列等的方式而产生的相对有限的存储页大小(例如,四千字节))的各种形式的动态随机访问存储器(DRAM)。这样的页大小限制的施加在所采用的技术对其中第一访问被导向一个页内的一个或多个存储单元且紧随第一个的第二访问被导向另一页内的一个或多个存储单元的存储单元的访问施加了延迟的时候可变得很显著。这样的延迟可变成处理其中所检索的图像的数据足够大到填充多于一个的这样的页(从而被称为“跨越”一个或多个页边界)的图像数据时候的主要障碍。除了这样的延迟之外,每一个跨越页边界都可导致正被访问的页必须准备好被访问了(有时称为“打开”页),这可要求额外的功耗。
不管可能的此类基于页的延迟的施加和/或功耗增加,包括基于此类易失性存储技术的此类存储设备通常被视为受期望的,因为即使有由跨越页边界实施的延迟,他们的访问速度通常都比用基于非易失性存储技术的存储设备能够达到的大相当多。然而,在便携计算设备特别是采用有限容量的电源(例如,电池)的那些中,基于易失性存储技术的存储设备持续地要求供电的事实对使用什么电源有相当的电源要求。因此,查看设备700的采用易失性存储器技术的存储760的比例可出于节省电力的努力而受限。因此,存储760可包括是由采用易失性存储技术的一个或多个存储设备组成的易失性存储761的一部分,该部分可构成存储760的相对较小比例。
避免在检索和解码单个特定图像883过程中检索和解码众多不想要的图像883的能力消除了分配存储760相当大的部分以试图快速地将对那些不想要的图像883的检索和解码进行完成的动力。相反,将存储760的较小一部分专用于支持对期望要检索和解码以用于视觉呈现的特定图像883的部分的检索和解码变得合理。因此,在平衡图像处理的速度和电力的节省的努力中,对正被查看的特定图像883的检索(如以上处理器组件750检索特定图像883的全部或一部分的示例中的任一个)可需要处理器组件750一次仅检索和解码此特定图像883的有限数量的MCU135。可计算此有限数量以在任何给定时间填充易失性存储761的相对较小数目的存储页,从而最小化由于跨页边界而遭遇的延迟,或者,实际上,可计算此有限数量以出于完全避免此类延迟的努力而仅填充易失性存储761的一个存储页。当针对每一个有限数量的MCU135完成解码时,从这样的解码导出的像素颜色值可存储在显示缓冲区786内,可作为将特定图像883光栅扫描到显示器780上的一部分从该显示缓冲区中重复地访问这些像素颜色值,因而使每一个有限数量的MCU135能被下一个这样的有限数量取代。
图7描绘了其中将仅查看特定图像883的一部分且在注释块332内针对图像883的每一个水平行884有条目333的实施例。在这样的实施例中,处理器组件750在执行控制例程740时解析对应于包括对应于将查看的图像883的部分的块885的行884的一个或多个条目333的注释块332。因此,处理器组件750可采用注释块332的条目333以便不仅跳过整个不想要的图像883,而且也跳过其一部分将被查看的特定图像883的不想要的行884。对于有对应于将查看的部分的至少一个块885的每一个行884,检索MCU135可从行884的第一MCU135开始,该第一MCU135可对应于行884的最左端的处的块885,且可随后从左到右水平地继续通过行884直到达到对应于将查看的部分的行的最右块885。在这些行884的每一个中,当检索和解码了MCU135中的一个时(也从这些行的每一个的第一MCU135开始),不对应于将被查看的特定图像的部分的MCU135中的每一个,一旦已经计算了其DC系数从而能够计算下一个MCU135的DC系数,都会被丢弃。
在其中将查看特定图像883整体且在注释块332内针对图像883的每一个水平行884都有条目333的实施例中,处理器组件750再次解析针对对应于特定图像883的行884的所有条目333的注释块332。对于特定图像883的每一个行884,MCU135的检索可从行884的第一MCU135开始,该第一MCU135可对应于行884的最左端处的块885,并可随后从左到右水平地继续通过行884。每一个行的MCU135都被解码,也从每一个行的第一MCU135开始,并采用每一个行中的此第一MCU135的一个或多个系数块136的DC系数值的指示339。
如图7中也描绘的,MCU135的检索可需要他们的存储和/或解码在易失性存储761内进行。如之前讨论的,可期望在任何给定时间仅检索和解码被检索的MCU135的子集,以使得全部经检索和解码的MCU135适合于易失性存储761的单个存储页或者相对较小数量的存储页内,从而避免或最小化从跨页边界产生的延迟。在检索存储中的MCU135的子集和其将MCU135的系数块136转换回像素颜色值的解码之后,这些经导出的像素颜色值可在相同的存储页内被操纵以完成他们所属于的图像883的旋转和/或内插。
图8更详细地描绘了与图像883的单个MCU135相关联的像素888的示例块885的旋转的示例实施例。出于视觉清晰和简单考虑,在此所描绘的示例中块885是8×8像素的大小(尽管对应于MCU的像素块更通常是16×16的大小),且此经描绘的示例中的MCU135仅包含单个8×8的系数块136(尽管如较早讨论的,MCU更通常包括多个系数块)。如所描绘的,为了准备用于视觉地呈现在显示器780上,相对较小的图像(大小仅3×4个块885)从“横向”方向顺时针方向旋转到“纵向”方向。应注意,已经用各种符号标记了所描绘的十二个块885从而能够产生块885的重定位(既是几何地也按照他们被存储的次序)以更容易跟随和理解。这些各种符号实际上不是所描绘的图像883的一部分。还应注意,用符号“1”标记的8×8像素块885的1×8像素行888已经调暗从而能够产生这些特定像素888的重定位(既是几何地也按照他们被存储的次序)以便也更容易跟随和理解。
如所描绘的,处理器组件750在执行控制例程740时已经采用了注释块332的条目333以从图像数据131检索对应于用符号“1”标记且其像素888中的八个被调暗的块885的MCU135。在检索此MCU135之后,其单个系数块136的系数以对应于从左上角开始并水平地穿过水平行继续到此单个块136的右下角的次序的方式存储在易失性存储761内。如已经讨论的,MCU135(及由此其单个系数块136)可存储在易失性存储761的单个存储页内以至少最少化在处理器组件750在其上执行各种操作时跨越页边界的实例。
至少在初始时,已经将MCU135存储在易失性存储761内之后,处理器组件750将MCU135解码以将其单个系数块136转换成对应的像素颜色值集735。通过这样做,处理器组件750可采用熵解码、逆量化和逆DCT以撤销初始执行用来将像素颜色值转换成MCU135的8×8系数集的前向DCT、量化和熵编码。在这样的解码之后,像素颜色值集735用对应于系数值初始存储在易失性存储761的次序的次序来组织。在一些实施例中,这样的解码可在易失性存储761内在MCU135的系数上执行,以便产生的像素颜色值集737至少部分地盖写易失性存储761内的MCU135的系数,因而重用相同的存储位置和帮助最小化在易失性存储761内使用的空间的全部量。
然而,作为旋转图像883的一部分,处理器组件旋转对应于图像883的每一个MCU135的每一个像素颜色值集735的像素颜色值。因此,解码之后的像素颜色值集735的次序由处理器组件750改变。如表示存储中的像素地图的领域内那些技术人员所熟悉的,此类存储中的两维像素阵列的旋转改变他们在该存储的寻址空间中的相对位置。如所示的,八个经调暗的像素888的像素颜色值不再位于易失性存储761内的可连续寻址存储位置,并被重新定位到现在由其他的像素颜色值的存储位置分隔的可寻址存储位置。
在集735内的此类像素颜色值的旋转之后,处理器组件750随后通过将像素颜色值集735复制到显示缓冲区786内的一组位置来有效地将图像883的块885相对于彼此旋转,该显示缓冲区786对应于对应于集735的像素888的块885将作为图像883的旋转的结果被视觉地呈现在显示器780上的所在。处理器750随后对对应于图像883的其他块885的其他十一个MCU135中的每一个重复相同的操作。这使得能用最少的存储器使用来旋转图像,因为仅要被旋转的图像883的块885被检索和解码,并因此可放在单个存储页或有限数量的存储页内以最少化跨页边界的实例。
图2示出包括源设备100的替换性实施例的图像处理系统1000的替换性实施例的框图。图2的图像处理系统1000的替换性实施例在许多方面都与图1的实施例相似,并因此贯穿使用相似的附图标记来指相似的元素。然而,不同于图1的源设备100,因为图2的源设备100基于图像数据131生成流数据330,所以其生成并包括流数据330中的注释块332。因此,不同于图1的源设备100,图1的源设备100完全不生成注释块332因此需要增强流数据130以包括注释块332(因而创建新流数据330),而图2的源设备100生成注释块332。因而在图2的图像处理系统1000的替换性实施例中,不包括增强设备300,因为其功能被不必要的渲染了。
在各种实施例中,处理器组件350、550和750中的每一个都可包括市场上可购得的多种多样的处理器中的任何一种。而且,这些处理器组件中的一个或多个可包括多个处理器、多线程处理器、多核处理器(无论多个核共存在同一管芯还是在不同管芯上)、和/或将多个物理上分立的处理器以某种方式链接起来的一些其他种类的多处理器体系结构。
尽管处理器组件350、550和750中的每一个可包括多种类型处理器中的任何一个,但构想了控制器400的处理器组件450(如果在)可经某种程度的专门化和/或优化以执行关于图形和/或视频的任务。更广泛而言,构想了控制器400体现计算设备300的图形子系统以通过使用与处理器组件350分立且不同的组件和其更密切相关的组件来启用与图形渲染、视频压缩、图像重缩放等有关的任务的性能。
在各种实施例中,存储360、560和760中的每一个都可基于多种多样的信息存储技术中的任何一种,可能包括要求不中断的电源供应的易失性技术,并可能包括需要使用可以是或可以不是可移除的机器可读存储介质的技术。因此,这些存储中的每一个都可包括多种多样类型(或不同类型的组合)的存储设备中的任何一种,包括但不限于:只读存储器(ROM)、随机访问存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDR-DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存存储器、聚合物存储器(例如,铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、一个或多个个体铁磁盘驱动、或组织成一个或多个阵列的多个存储设备(例如,组织成独立硬盘冗余阵列阵列或RAID阵列的多个铁磁盘驱动)。应注意,尽管这些存储中的每一个都被描绘为单个框,但这些中的一个或多个可包括可基于不同的存储技术的多个存储设备。因此,例如,这些所描绘的存储中的每一个的一个或多个可表示程序和/或数据可由其存储和在机器可读存储介质的一些形式上传递的光驱或闪存读卡器的组合、针对相对延长的时期局部地存储数据和/或数据的铁磁盘驱动、和一个或多个启用对程序和/或数据相对较快的访问的易失性固态存储器设备(例如,SRAM或DRAM)。还应注意,这些存储中的每一个都可由基于同样的存储技术的多个存储组件组成,但作为使用上专门化的结果该多个存储组件可单独地维护(例如,一些DRAM设备用作主存储同时其他DRAM设备用作图形控制器的不同的帧缓冲区)。
在各种实施例中,接口190、390、590和790可采用各种各样的使这些计算设备能如已经描述的耦合到其他设备的信令技术中的任何一种。这些接口中的每一个都包括至少提供一些所需功能性的电路以启用此类耦合。然而,这些接口中的每一个都可至少部分地用由对应的一些处理器组件执行的指令序列来实现(例如,以实现协议栈或其他特征)。在采用了电子和/或光学导线的时候,这些接口可采用遵循多种行业标准中的任何一个的信令和/或协议,多种行业标准包括但不限于:RS-232C、RS-422、USB、以太网(IEEE-802.3)或IEEE-1394。在需要使用无线信号传输的时候,这些接口可采用遵循多种行业标准中的任何一个的信令和/或协议,多种行业标准包括但不限于:IEEE802.11a、802.11b、802.11g、802.16、802.20(通常称为“移动宽带无线接入”)、蓝牙、ZigBee、或诸如带通用分组无线服务的GSM(GSM/GPRS)的蜂窝无线电话服务、CDMA/1xRTT、用于全球进化的增强数据速率(EDGE)、仅数据进化或优化(EV-DO)、数据和语音进化(EV-DV)、高速下行链路分组接入(HSDPA)、高速上行分组访问(HSUPA)、4GLTE等。
图9和10各自更详细地示出了图1或图2的图像处理系统1000的实施例的一部分的框图。更具体来说,图9描绘了增强设备300的操作环境的方面,在该增强设备300中,处理器组件350在执行控制例程340时生成注释块332并用其增强流数据130以从而生成更新的流数据330。图10描绘了查看设备700的操作环境的方面,在该查看设备700中,处理器组件750在执行控制例程740时部分地解压缩数据流330以检索和解码图像880的一个或多个静态图像883用于视觉地呈现在显示器780上。如本领域内技术人员可识别的,选择控制例程340和740,包括组成其每一个的组件,以在被选中实现处理器组件350和750中可行的那些的任何类型的处理器或诸处理器上是可操作的。
在各种实施例中,控制例程340和740的每一个都可包括操作系统、设备驱动器和/或应用级例程(例如,在盘介质上提供的所谓“软件套装”、从远程服务器获得的“小程序”等)中的一个或多个。当包括操作系统时,操作系统可以是多种多样的适于处理器组件350和750中任何对应的那些的可用的操作系统中的任何一个。当包括一个或多个设备驱动器时,这些设备驱动器可对计算设备300和700中的对应的那些的各种其他组件(无论是硬件还是软件组件)中的任何一种提供支持。
控制例程340或740可分别包括通信组件349或749,通信组件349或749可由处理器组件350或750中适用的那些执行以操作接口390或790中对应的那些来如已经描述的经由网络999传输和接收信号。在所接收的信号中可以有经由网络999在计算设备100、300、500或700的一个或多个中传递流数据130和/或330的信号。如本领域技术人员将识别的,这些通信组件中的每一个都被选择为可用选中来实现接口390或790中对应的那些的任何类型的接口技术来操作。
更具体地转向图9,控制例程340可包括可由处理器组件350执行以在所接收的流数据130的图像数据131上至少执行熵解码以撤销较早用来生成图像数据131的图像比特流的熵编码的解码组件341。由于处理器组件350执行此熵解码,处理器组件350跟踪图像比特流中的位置,在该位置处至少一些MCU(例如,对应于图像883的第一块885和/或图像883的每一个块885的水平行的第一块885的那些MCU)的至少一些系数块136。
控制例程340可包括可由处理器组件350执行以采用关于位置的信息的注释组件342,在该位置处至少一些MCU135的至少一些系数块136开始在图像比特流中由解码组件341解码以生成注释块332的条目333。注释组件342也可接收对包括在所生成的条目333中的这些相同的MCU135的这些相同的系数块136的DC系数值的指示。
控制例程340可包括可由处理器组件350执行以从流数据130的由注释块332所增强的部分生成流数据330的增强组件343。更具体而言,增强组件可将注释块332添加到头331,并随后从现在经增强的头331和图像数据131生成流数据330。
更具体地转向图10,控制例程740可包括可由处理器组件750执行以解压缩流数据330以从正被视觉地呈现在显示器780上的流数据330检索一个或多个特定的图像883。解码组件741可包括解析流数据330的注释块332以定位指示与一个或多个特定图像883相关联的一个或多个MCU的一个或多个系数块136在图像数据131的图像比特流中开始处的位置的一个或多个条目333的解析组件742。在其中注释块经熵编码的实施例中,解码组件741可在注释块332上执行熵解码以撤销其熵编码而使解析组件能解析其条目333。
解码组件741也可包括作用在由解析组件742定位的条目333的信息上以选择MCU135中的一些来检索用于由解码组件741为了用于在显示器780上视觉地呈现一个或多个特定图像而解码的选择组件。选择组件743可监视输入设备720以得到关于什么图像883是下一批选中以视觉地呈现的指示。在执行此类对MCU135的选择性检索时,选择组件743可在易失性存储761中存储有限数量的选中的MCU135的子集,在易失性存储761中解码组件741可将他们解码从而导出像素颜色值的块735。如已经讨论的,在如此导出块735时,其像素颜色值可至少部分地盖写从中导出他们的MCU135的一个或多个系数块136的至少一部分。
控制例程740可包括可由处理器组件750执行以操作显示器780视觉地呈现一个或多个特定图像883的呈现组件748。呈现组件748可从易失性存储761检索块735并将他们的像素颜色值复制到显示缓冲区786中以实现其视觉呈现。在一些实施例中,呈现组件748可监视输入设备720以得到关于被操作来传递一个或多个旋转和/或内插(例如,缩小和/或放大)图像883中的一个的命令的输入设备720的指示。为了实现此类旋转和/或内插,呈现组件748可操纵位于易失性存储761内的一个或多个块735的像素颜色值和/或像素颜色值的相对位置。
图11示出了逻辑流2100的一个实施例。逻辑流2100可表示由本文描述的一个或多个实施例所执行的操作中的部分或全部。更具体地,逻辑流2100可示出由处理器组件350在至少执行控制例程340时所执行的操作,和/或由增强设备300的其他组件执行的操作。
在2110,图像处理系统的增强设备的处理器组件(例如,图像处理系统1000的增强设备300的处理器组件350)接收不包含提供关于流数据的一个或多个静态图像的一个或多个MCU的信息的注释块的已有流数据。如已经讨论的,至少部分地符合JPEG标准的一个或多个版本的流数据包括被构造为使其图像从比特流的开始处顺序地被检索和解码的图像比特流。
在2120,图像比特流(例如,被压缩成图像比特流的图像数据131)至少遭受熵解码以至少撤销使其MCU最终转换成比特流的熵编码。如已经讨论的,在执行此类熵解码时,处理器组件可确定在图像比特流中至少一些MCU的至少一些系数块(例如,MCU135的系数块136)开始处的位置。
在2130,生成包括对至少一些MCU的至少一些系数块被确定在图像数据的图像比特流中开始处的位置的指针和包括对每一个此类MCU的每一个此类系数块的DC系数的系数值的指示的注释块条目。如先前讨论的,不同于每一个系数块内规定的DC系数值,在每一个条目中由指示所规定的值不表示成与其他系数的差。
在2140,用包含所生成的条目的注释块增强已有流数据,从而创建新的流数据。如先前讨论的,此类增强可通过将注释块添加到已有流数据的头中来实现。
图12示出了逻辑流2200的一个实施例。逻辑流2200可表示由此处描述的一个或多个实施例所执行的操作中的部分或全部。更具体地,逻辑流2200可示出由处理器组件750在至少执行控制例程740时所执行的操作,和/或由查看设备700的其他组件执行的操作。
在2210,图像处理系统的查看的处理器组件(例如,图像处理系统1000的查看设备700的处理器组件750)在流数据的注释块上执行熵解码以撤销早前应用的熵编码。在2220,解析注释块以定位流数据的特定图像的MCU的至少一个条目。
在2230,使用早前找到的条目或诸条目的指针从流数据的图像数据的图像比特流检索一个或多个所查找的MCU。如已经讨论的,在一些实施例中,针对流数据的每一个静态图像可仅有一个条目,且此一个条目的指针可指向对应于图像的第一像素块的MCU的系数块。在其他实施例中,针对每一个静态图像可有多个条目,且这些条目的指针可指向对应于该图像的像素块的每一个水平线中的第一像素块的MCU的系数块。
在2240,早前在注释块中定位的每一个条目或诸条目的系数值被用来将条目或诸条目的指针指向的MCU的系数块解码。如已经讨论的,不同于每一个MCU的每一个系数块内规定的DC系数值,在每一个条目中由每一个指示所规定的值不表示成与其他系数的差。通过使用早前在注释数据中定位的条目或诸条目内规定的DC系数,能够无需将比特流从其开始点处解码就可导出对应于一个或多个MCU的一个或多个像素块的颜色像素值。
如已经讨论的,为了降低图像的检索和/或解码中的存储需求,可在任意给定时间检索MCU相对较小的子集用于解码和/或其他处理,而不是检索图像的MCU的大部分或全部。在此类实施例中,在每一个小子集的MCU被处理到完全解码其系数块以导出随后至少在准备视觉地呈现图像时使用的像素颜色值的程度时,可由作为另一个小子集的一部分而检索的MCU来代替。
在2250,对一个或多个系数块如在可通过查看设备的操作员对输入设备的操作接收的输入中所要求地旋转和/或内插。操作员可能希望在设备的显示器上看见不同方向的特定图像和/或可能希望缩小或放大图像。
如已经进一步讨论的,作为在处理图像用于视觉呈现时降低存储需求的一部分,小MCU子集的使用可扩展到执行如从位于存储中的MCU导出的像素颜色值上的内插和/或旋转的操作,可能在与从中导出像素颜色值的MCU的存储位置重叠(并因此盖写)的存储位置处。而且,可这样做来将使用的存储页的数量最小化到仅一个存储页或到相对较小数量的存储页。
图13示出适用于实现上述各种实施例的示例性处理架构3000的实施例。更具体地,处理架构3000(或其变体)可实现为计算设备100、300、500或700中的一个或多个的一部分。应注意,给予处理架构3000的组件最末两个数字对应于早前作为计算设备100、300、500或700的一部分而描绘和描述的组件中的至少一些的附图标记的最末两位的附图标记。这是作为对关联每一个的组件的辅助而进行的。
处理架构3000包括数字处理中普遍采用的各种元件,包括但不限于:一个或多个处理器、多核处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,电源等等。如在本申请中所使用的,术语“系统”和“组件”旨在表示数字处理于其中执行的计算机的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件,其示例由此所述的示例性处理架构提供。例如,组件可以是但不限于是:在处理器组件上运行的进程、处理器组件自身、可采用光和/或磁存储介质的存储设备(例如,硬盘驱动、组成阵列的多个存储驱动等)、软件对象、指令的可执行序列、执行的线程、程序、和/或整个计算设备(例如,整个计算机)。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算设备上和/或分布在两个或更多的计算设备之间。此外,组件可以通过各种类型的通信介质可通信地彼此耦合以协调操作。该协调可以涉及单向或双向信息交换。例如,组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给一个或多个信号线的信号。消息(包括命令、状态、地址或数据消息)可以是一个此类信号或者可以是多个此类信号,并可串行地或基本并行地通过多种连接和/或接口中的任何一种传输。
如所描绘的,在实现处理架构3000时,计算设备至少包括处理器组件950、存储960、到其他设备的接口990、和耦合器959。如将解释的,取决于实现处理架构3000的计算设备的各方面(包括其预定用途和/或使用条件),这样的计算设备可进一步包括附加组件,诸如但不限于:可伴随显示缓冲区986的显示接口985。
耦合器959包括一个或多个总线、点对点互连、收发机、缓冲区、交叉点开关、和/或至少将处理器组件950通信地耦合至存储960的其他导体和/或逻辑。耦合器959可进一步将处理器组件950耦合至接口990、音频子系统970和显示接口985的一个或多个(取决于这些和/或其他组件中哪些也存在)。在处理器组件950由耦合器959这样耦合之后,处理器组件950能够执行以上详细描述的前述实现处理架构3000的计算设备中的任何一个的各种任务。耦合器959可用使信号光学地和/或电气地传递的各种技术或技术的组合中任何一种来实现。而且,至少耦合器959的一部分可采用符合各种各样的行业标准中任何一个的计时和/或协议,行业标准包括但不限于:加速图形端口(AGP)、CardBus、扩展工业标准架构(E-ISA)、微通道架构(MCA)、NuBus、外围组件互连(扩展)(PCI-X)、快速PCI(PCI-E)、个人计算机存储器卡国际协会(PCMCIA)总线、超传输(HyperTransport)、快速通道(QuickPath)等等。
如先前讨论的,处理器组件950(对应于处理器组件350、550和750)可包括采用多种多样技术中的任何一种并用以多种方式中的任何一种物理地组合的一个或多个核实现的、多种多样的市场上可购得的处理器中的任何一种。
如先前讨论的,存储960(对应于存储360、560和760)可由基于多种多样技术或技术组合中的任何一种的一个或多个不同的存储设备组成。更具体地,如所描绘的,存储960可包括易失性存储961(例如,基于一种或多种形式的RAM技术的固态存储)、非易失性存储962(例如,固态、铁磁或不要求持续供电来保持其内容的其他存储)、和可移除介质存储963(例如,可使信息在计算设备间传递的可移除碟或固态存储器卡存储)中的一个或多个。将存储960描述为可能包括多个不同类型的存储是出于对计算设备中多于一种类型的存储设备的常见使用的认可,其中一种类型提供启用处理器组件950对数据的更快速的操纵(但可能使用持续要求电力的“易失性”技术)的相当快速的读和写能力,而另一种类型提供相当高密度的非易失性存储(但可能提供相当慢的读和写能力)。
考虑到采用不同技术的不同存储设备通常不同的特性,此类不同存储设备通过不同的存储控制器(通过不同的接口耦合至其不同的存储设备)被耦合至计算设备的其他部分也是常见的。作为示例,当易失性存储961存在并基于RAM技术时,易失性存储961可通过提供对可能采用行和列寻址的易失性存储961的适当接口的存储控制器965a通信地耦合至耦合器959,且其中存储控制器965a可执行行刷新和/或其他维护任务以帮助保存存储在易失性存储961内的信息。作为另一个示例,当非易失性存储962存在并包括一个或多个铁磁和/或固定盘驱动时,非易失性存储962可通过提供对可能采用信息块和/或柱和扇区寻址的非易失性存储962的适当接口的存储控制器965b通信地耦合至耦合器959。作为又一个示例,当可移除介质存储963存在并包括一个或多个采用一片或多片机器可读存储介质969的光学和/或固态盘驱动时,可移除介质存储963可通过提供对可能采用信息块寻址的可移除介质存储963的适当接口的存储控制器965c通信地耦合至耦合器959,且其中存储控制器965c可用专门扩展机器可读存储介质969的生命周期的方式协调读、擦除和写操作。
易失性存储961或非易失性存储962中的一个或另外一个可包括机器可读存储介质形式的制品,取决于各自所基于的技术其上可存储包括可由处理器组件950执行的指令序列的例程。作为示例,当非易失性存储962包括基于铁磁的盘驱动(例如,所谓的“硬盘”)时,每一个此类盘驱动通常采用一个或多个旋转盘片,在该盘片上磁响应粒子涂层沉积并以各种模式磁导向以用类似于诸如软盘的存储介质的方式存储诸如指令序列的信息。作为另一个示例,非易失性存储962可由固态存储设备排组成来以类似于紧致闪存卡的方式存储诸如指令序列的信息。而且,不同的时间在计算设备中采用不同类型的存储设备以存储可执行例程和/或数据是常见的。
因此,包括将由处理器组件950执行的指令序列的例程可初始存储在机器可读存储介质969之上,且随后可采用可移除介质存储963将此例程复制到非易失性存储962以获得更长时间的存储,而不要求在此例程执行时机器可读存储介质969和/或易失性存储961的持续存在以使处理器组件950能更快速地访问。
如先前讨论的,接口990(可能对应于接口190、390或690)可采用对应于可被用来将计算设备通信地耦合至一个或多个其他设备的多种通信技术中的任何一种的多种信令技术中的任何一种。而且,可采用各种形式的有线或无线信令中的一种或二者以使处理器组件950能够与输入/输出设备(例如,所描绘的示例键盘920或打印机925)和/或其他计算设备交互,这种交互可能是通过网络(例如,网络999)或互连网络集进行的。出于认可通常必须被任何一个计算设备支持的多个类型的信令和/或协议通常极大不同的特征,将接口990描绘成包括多个不同的接口控制器995a、995b和995c。接口控制器995a可采用多种类型的有线数字串行接口或射频无线接口中的任何一种来从用户输入设备(诸如所描绘的键盘920)接收串行传输的消息。接口控制器995b可采用多种基于电缆或无线的信令、计时和/或协议中的任何一种来通过所描绘的网络999(可能是由一个或多个链路、较小的网络组成的网络、或可能是因特网)访问其他计算设备。接口995c可采用多种启用串行或并行信号传输的电导线中的任何一种来将数据传递到所描绘的打印机925。可通过接口990的一个或多个接口控制器通信地耦合的设备的其他示例包括但不限于,监听人的声音以接受由这些人经由语音或他们发出的其他声音示意的命令和/或数据的话筒、远程控制、指示笔、读卡器、指纹识别器、虚拟现实交互手套、触摸屏的触摸输入组件、轨迹球、各种传感器、监视人的移动以接受由这些人经由姿势和/或面部表情示意的命令和/或数据的相机或相机阵列、激光打印机、喷墨打印机、机械机器人、研磨机等。
当计算设备通信地耦合至(或者,可能是实际上包括)显示器(例如,所描绘的示例显示器980)时,这样的实现处理架构3000的计算设备也可包括显示接口985。尽管在通信地耦合至显示器时可采用更通用类型的接口,但在视觉地将各种形式的内容显示在显示器上时通常要求一定程度专门化的附加处理,以及所使用的基于电线的接口的一定程度上专门化的本质也通常让不同显示接口的供应受期望。可由显示接口985在对显示器980的通信地耦合中采用的有线和/或无线信令技术可利用符合多种行业标准中的任何一种的信令和/或协议,行业标准包括但不限于,多种模拟视频接口、数字视频接口(DVI)、显示端口(DisplayPort)等中的任何一种。
图14示出系统4000的实施例。在各种实施例中,系统4000可表示适用于本文所述的一个或多个实施例的系统或架构,一个或多个实施例诸如图像处理系统1000;计算设备100、300、500或700中的一个或多个;和/或逻辑流2100或2200中的一个或多个。各实施例不限于此方面。
如所示的,系统4000可包括多个元素。可根据给定的设计或性能限制集的需要使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块、或其任何组合来实现一个或多个元素。尽管作为示例图14示出了某个拓扑中有限数量的元素,但可以理解,在任何适用的拓扑中更多或更少的元素可根据给定实现的需要使用于系统4000中。各实施例不限于该上下文。
在各实施例中,系统4000可以是媒体系统,尽管系统4000不限于此上下文。例如,系统4000可以合并进个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板机、触摸垫、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息收发设备、数据通信设备等。
在各实施例中,系统4000包括耦合到至显示器4980的平台4900a。平台4900a可以从内容设备接收内容,内容设备诸如内容服务设备4900c或内容递送设备4900d或其它类似内容源。包括一个或多个导航特征的导航控制器4920可以用来与例如平台4900a和/或显示器4980交互。下面将更详细地描述这些组件中的每一个。
在各实施例中,平台4900a可包括处理器组件4950、芯片组4955、存储器单元4969、收发机4995、存储4962、应用4940和/或图形子系统4985的任何组合。芯片组4955可提供处理器电路4950、存储器单元4969、收发机4995、存储4962、应用4940和/或图形子系统4985之间的互通信。例如,芯片组4955可包括能够提供与存储4962的互通信的存储适配器(未示出)。
处理器组件4950可使用任何处理器或逻辑设备来实现,并可与处理器组件350、550或750中的一个或多个、和/或与图13中的处理器组件950相同或相似。
存储器单元4969可使用任何能够存储数据的机器可读或计算机可读介质来实现,并可与图13中的存储介质969相同或相似。
收发机4995可包括一个或多个能够使用各种适用的无线通信技术发送和接收信号的无线电,并可与图13中的收发机995b相同或相似。
显示器4980可包括任何电视类型监视器或显示器,并可与显示器580和780中的一个或多个、和/或与图13中的显示器980相同或相似。
存储4962可实现为非易失性存储设备,并可与图13中的非易失性存储962相同或相似。
图形子系统4985可以执行诸如用于显示的静态或视频图像的处理。例如,图形子系统4985可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口将图形子系统4985和显示器4980通信地耦合。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或符合无线HD的技术中的任何一个。图形子系统4985可以集成进处理器电路4950或芯片组4955中。图形子系统4985可以是通信地耦合到芯片组4955的独立卡。
本文所述的图形和/或图像处理技术可用各种硬件架构来实现。例如,图形和/或视频功能可集成在芯片组中。替换性地,可使用离散图形和/或视频处理器。如又一实施例,图形和/或视频功能可以通过通用处理器包括多核处理器来实现。在又一实施例中,功能可以在消费电子设备中实现。
在各实施例中,内容服务设备4900b可由任何国家的、国际的和/或独立服务主存,并因此经由例如因特网对平台4900a是可访问的。内容服务设备4900b可耦合到平台4900a和/或显示器4980。平台4900a和/或内容服务设备4900b可以耦合到网络4999以将媒体信息去往和来自网络4999地通信(例如发送和/或接收)。内容递送设备4900c也可耦合到平台4900a和/或显示器4980。
在各实施例中,内容服务设备4900b可以包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用因特网的设备或电器、和能够经由网络4999或直接地、单向地或双向地在内容提供者和平台4900a和显示器4980之间通信内容的任何其它类似设备。应理解,内容可以经由网络4999单向地和/或双向地去往和来自系统4000中的任何一个组件和内容提供者通信。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备4900b接收内容,诸如有线电视节目包括媒体信息、数字信息或其它内容。内容提供者的示例可以包括任何有线或卫星电视或无线电或因特网内容提供者。所提供的示例不旨在限制实施例。
在各实施例中,平台4900a可从具有一个或多个导航特征的导航控制器4920接收控制信号。导航控制器4920的导航特征可以用来与例如用户接口4880交互。在各实施例中,导航控制器4920可以是定点设备,其可以是允许用户将空间(例如连续的和多维的)数据输入进计算机的计算机硬件组件(具体而言,人机接口设备)。诸如图形用户接口(GUI)和电视机和监视器的许多系统允许用户使用物理姿势控制计算机或电视机并向计算机或电视机提供数据。
导航控制器4920的导航特征的动作可通过指针、光标、焦点环或显示在显示器上的其它视觉指示符的动作而在显示器(例如显示器4980)上回显。例如,在软件应用4940的控制下,位于导航控制器4920上的导航特征可映射到显示在用户接口4880上的虚拟导航特征。在各实施例中,导航控制器4920可以不是单独的组件而是集成进平台702和/或显示器4980中。然而各实施例不限于本文示出或描述的元素或上下文。
在各实施例中,驱动器(未示出)可以包括使用户能够在初始启动之后用按钮的触摸(当启用时,例如)立即打开或关闭像电视机之类的平台4900a的技术。当平台被“关闭”时,程序逻辑可允许平台4900a将内容流传输到介质适配器或其它内容服务设备4900b或内容递送设备4900c。此外,芯片组4955可以包括支持例如5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在各实施例中,图形驱动器可以包括外围组件互连(PCI)快速图形卡。
在各种实施例中,系统4000中示出的任何一个或多个组件都可以是集成的。例如,平台4900a和内容服务设备4900b可集成,或者平台4900a和内容递送设备4900c可集成,或者平台4900a、内容服务设备4900b和内容递送设备4900c可集成。在各种实施例中,平台4900a和显示器4890可以是集成的单元。例如,显示器4980和内容服务设备4900b可集成,或者显示器4980和内容递送设备4900c可集成。这些示例不旨在限制本各实施例。
在各种实施例中,系统4000可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统4000可以包括适合于通过诸如一个或多个天线、发送器、接收器、收发器、放大器、过滤器、控制逻辑等的无线共享介质通信的组件和接口。无线共享介质的示例可包括无线频谱的部分,诸如RF频谱等等。当实现为有线系统时,系统4000可包括适合于通过诸如I/O适配器、将I/O适配器与相对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等的有线通信介质通信的组件和接口。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。平台4900a可建立一个或多个逻辑或物理信道以通信信息。信息可包括媒体信息和控制信息。媒体信息可以指表示为用户准备的内容的任何数据。内容的示例可包括,例如,来自语音对话、视频会议、流视频、电子邮件(email)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是,例如,发言信息、沉默期、背景噪音、舒适噪音、音质等。控制信息可以指表示命令、指令或为自动系统准备的控制字的任何数据。例如,控制信息可以用来路由媒体信息通过系统,或指令节点以预确定的方式处理媒体信息。然而各实施例不限于图14中示出或描述的元素或上下文。
如上所述,系统4000可以用变化的物理风格或形式因子来体现。图15示出了系统4000可以体现于其中的小形式因子设备5000的实施例。例如,在各实施例中,设备5000可以实现为具有无线能力的移动计算设备。移动计算设备可以指具有处理系统和例如诸如一个或多个电池的移动电力源或供应的任何设备。
如上所述,移动计算设备的示例可包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板机、触摸垫、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息收发设备、数据通信设备等。
移动计算设备的示例也可以包括安排为由人佩戴的计算机,诸如腕式计算机、指式计算机、环式计算机、眼镜计算机、带扣计算机、臂环计算机、鞋式计算机、衣式计算机和其它可佩戴的计算机。例如,在各实施例中,移动计算设备可以实现为能够执行计算机应用及语音通信和/或数据通信的智能电话。尽管一些实施例可以用作为示例实现为智能电话的移动计算设备描述,但应理解,其它实施例也可以使用其它无线移动计算设备实现。各实施例不限于该上下文。
如图15中所示,设备5000可包括显示器5980、导航控制器5920a、用户接口5880、外壳5905、I/O设备5920b和天线5998。显示器5980可包括用于显示适用于移动计算设备的信息的任何适合的显示单元,并可与图14中的显示器4980相同或相似。导航控制器5920a可包括可用来与用户接口5880交互的一个或多个导航特征,并可与图14中的导航控制器4920相同或相似。I/O设备5920b可以包括用于将信息输入进移动计算设备的任何适合的I/O设备。I/O设备5920b的示例可以包括字母数字键盘、数字小键盘、触摸垫、输入建、按钮、开关、翘板开关、话筒、扬声器、语音识别设备和软件等。信息也可通过话筒的方式输入进设备5000中。这样的信息可以通过语音识别设备数字化。各实施例不限于该上下文。
更一般地,本文所描述和描绘的计算设备的各种元素可包括各种硬件元素、软件元素、或二者的组合。硬件元素的示例可以包括设备、逻辑设备、组件、处理器、微处理器、电路、处理器组件、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元素的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序编程接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任何组合。然而,确定一实施例是否使用硬件元件和/或软件元素来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
一些实施例可使用表述“一个实施例”和”一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例中”不必全都指的是同一实施例。此外,一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。而且,来自不同实施例的方面或元素可组合起来。
要强调,本公开的摘要是为了允许读者快速确定本技术公开的性质而提供的。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施例中。此公开方法将不被解释为反映所要求保护的实施例要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施例的所有特征少的特征中。从而,据此将所附权利要求结合进“具体实施方式”中,其中每个权利要求独立地代表一个单独的实施例。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。具体实施方式现在转向提供涉及进一步实施例的示例。下面提供的示例不旨在进行限制。
在示例1中,显示压缩图像的设备包括处理器组件;用于由处理器组件执行以解析流数据的注释块从而定位与多个图像中的图像相关联的条目的解析组件,其中流数据包括多个图像的图像比特流,且条目包括图像比特流内图像的最小编码单元(MCU)的系数块开始处的位置的指针和系数块的系数的指示;和用于由处理器组件执行以从图像比特流检索MCU并采用指示来对系数块解码的解码组件。
在包括示例1的主题的示例2中,设备可包括分成多个存储页的存储设备,其中解码组件从图像比特流检索多个MCU并将多个MCU中的每一个的系数块存储在多个存储页中的单个存储页中,多个MCU包括该MCU。
在包括示例1-2中任一项的主题的示例3中,设备可包括显示缓冲区;以及用于由处理器组件执行以将通过解码系数块导出的像素颜色值块从单个存储页复制到显示缓冲区以供在显示器上视觉呈现的呈现组件,其中解码组件解码单个存储页内的系数块。
在包括示例1-3中任一项的主题的示例4中,呈现组件可识别由像素颜色值块占据的单个存储页的一部分内的像素颜色值块的像素颜色值以旋转图像。
在包括示例1-4中任一项的主题的示例5中,解码组件撤销注释块的熵编码以启用对注释块的解析。
在包括示例1-5中任一项的主题的示例6中,指示可包括系数块的DC系数的值的指示,其中系数块包括DC系数和多个AC系数。
在包括示例1-6中任一项的主题的示例7中,解码组件在系数块上执行熵解码、逆量化和逆离散余弦变换以导出对应于系数块的像素颜色值。
在包括示例1-7中任一项的主题的示例8中,解析组件可解析注释块以定位与图像相关联的多个条目,该多个条目包括该条目,多个条目中的每一个条目与对应于图像的像素块的不同水平行的像素块的多个MCU中的MCU相关联。
在包括示例1-8中任一项的主题的示例9中,解码组件可从图像比特流检索多个MCU中的每一个MCU并采用多个条目中的每一个条目的DC系数值的指示来解码多个MCU中的对应MCU的系数块。
在包括示例1-9中任一项的主题的示例10中,设备可包括用于由处理器组件执行以解码图像比特流从而确定图像比特流内系数块开始处的位置、以生成注释块中的条目、并用注释块增强流数据的头的增强组件。
在包括示例1-10中任一项的主题的示例11中,设备可包括视觉地呈现图像的显示器或将处理器组件耦合至网络以从网络接收流数据的接口中的至少一个。
在示例12中,处理压缩图像的设备包括处理器组件、用于由处理器组件执行以执行多个图像的图像比特流熵解码从而确定图像比特流中多个图像中的图像的最小编码单元(MCU)的系数块开始处的位置并确定系数块的DC系数值的解码组件、以及用于由处理器组件执行以将包括指示位置和值的条目的注释块添加到流数据的增强组件,其中流数据包括图像比特流。
在包括示例12的主题的示例13中,增强组件可执行注释块的熵编码以减少注释块的大小。
在包括示例12-13中任一项的主题的示例14中,增强组件可将注释块添加到流数据的头以导致注释块被解码流数据的另一个设备的解压缩器忽略。
在包括示例12-14中任一项的主题的示例15中,增强组件可用遵循联合图像专家组(JPEG)规范的一个版本的方式将注释块添加到流数据。
在包括示例12-15中任一项的主题的示例16中,设备可包括用于产生与图像相关联的注释块中的多个条目的注释组件,该多个条目包括该条目,多个条目中的每一个条目与对应于图像的像素块的不同水平行的像素块的MCU相关联。
在包括示例12-16中任一项的主题的示例17中,设备可包括将处理器组件耦合至网络以在将注释块添加到流数据之前从网络接收流数据或者在将注释块添加到流数据之后经由网络将流数据传输至另一个设备的接口。
在示例18中,用于显示压缩图像的计算实现的方法包括解析流数据的注释块以定位与多个图像中的图像相关联的条目,其中流数据包括多个图像的图像比特流,且条目包括图像比特流内图像的最小编码单元(MCU)的系数块开始处的位置的指针和系数块的系数的指示;从图像比特流检索MCU;和采用指示来对系数块解码。
在包括示例18的主题的示例19中,方法可包括从图像数据流检索多个MCU;以及将多个MCU中的每一个的系数块存储在分成多个存储页的存储设备的单个存储页中,其中多个MCU包括该MCU。
在包括示例18-19中任一项的主题的示例20中,方法可包括解码单个存储页内的系数块;和将通过解码系数块导出的像素颜色值块从单个存储页复制到显示缓冲区中以供在显示器上视觉呈现。
在包括示例18-20中任一项的主题的示例21中,方法可包括识别由像素颜色值块占据的单个存储页的一部分内的像素颜色值块的像素颜色值以旋转图像。
在包括示例18-21中任一项的主题的示例22中,方法可包括执行注释块的熵解码以启用对注释块的解析。
在包括示例18-22中任一项的主题的示例23中,指示可包括系数块的DC系数的值的指示,其中系数块包括DC系数和多个AC系数。
在包括示例18-23中任一项的主题的示例24中,方法可包括在系数块上执行熵解码、逆量化和逆离散余弦变换以导出对应于系数的像素颜色值。
在包括示例18-24中任一项的主题的示例25中,方法可包括解析注释块以定位与图像相关联的多个条目,该多个条目包括该条目,多个条目中的每一个条目与对应于图像的像素块的不同水平行的像素块的多个MCU中的MCU相关联。
在包括示例18-25中任一项的主题的示例26中,方法可包括从图像比特流检索多个MCU中的每一个MCU并采用多个条目中的每一个条目的DC系数值的指示来解码多个MCU中的对应MCU的系数块。
在包括示例18-26中任一项的主题的示例27中,方法可包括解码图像比特流以确定图像比特流内系数块开始处的位置;生成注释块中的条目;和用注释块增强流数据的头。
在包括示例18-27中任一项的主题的示例28中,方法可包括在显示器上视觉地呈现图像或从网络接收流数据中的至少一个。
在示例29中,至少一个机器可读存储介质包括指令,该指令在由计算设备执行时导致计算设备解析流数据的注释块以定位与多个图像中的图像相关联的条目,其中流数据包括多个图像的图像比特流,且条目包括图像比特流内图像的最小编码单元(MCU)的系数块开始处的位置的指针和系数块的系数的指示;从图像比特流检索MCU;和采用指示来对系数块解码。
在包括示例29的主题的示例30中,可使计算设备从图像数据流检索多个MCU;并将多个MCU中的每一个的系数块存储在分成多个存储页的存储设备的单个存储页中,其中多个MCU包括该MCU。
在包括示例29-30中任一项的主题的示例31中,可使计算设备解码单个存储页内的系数块;和将通过解码系数块导出的像素颜色值块从单个存储页复制到显示缓冲区中以供在计算设备的显示器上视觉呈现。
在包括示例29-31中任一项的主题的示例32中,可使计算设备识别由像素颜色值块占据的单个存储页的一部分内的像素颜色值块的像素颜色值以旋转图像。
在包括示例29-32中任一项的主题的示例33中,可使计算设备执行注释块的熵解码以启用对注释块的解析。
在包括示例29-33中任一项的主题的示例34中,指示可包括系数块的DC系数的值的指示,其中系数块包括DC系数和多个AC系数。
在包括示例29-34中任一项的主题的示例35中,可使计算设备在系数块上执行熵解码、逆量化和逆离散余弦变换以导出对应于系数的像素颜色值。
在包括示例29-35中任一项的主题的示例36中,可使计算设备解析注释块以定位与图像相关联的多个条目,该多个条目包括该条目,多个条目中的每一个条目与对应于图像的像素块的不同水平行的像素块的多个MCU中的MCU相关联。
在包括示例29-36中任一项的主题的示例37中,可使计算设备从图像比特流检索多个MCU中的每一个MCU并采用多个条目中的每一个条目的DC系数值的指示来解码多个MCU中的对应MCU的系数块。
在包括示例29-37中任一项的主题的示例38中,可使计算设备解码图像比特流以确定图像比特流内系数块开始处的位置;生成注释块中的条目;和用注释块增强流数据的头。
在包括示例29-30中任一项的主题的示例39中,可使计算设备在显示器上视觉地呈现图像。
在包括示例29-30中任一项的主题的示例40中,可使计算设备从网络接收流数据。
在示例41中,至少一个机器可读存储介质可包括当由处理器组件执行时导致处理器组件执行以上任一项的指令。
在示例42中,显示压缩图像的装置可包括用于执行以上任一项的手段。

Claims (26)

1.一种用于显示压缩图像的设备,所述设备包括:
解析流数据的注释块以定位与多个图像中的图像相关联的条目的解析组件,其中所述流数据包括所述多个图像的图像比特流,且所述条目包括所述图像比特流内所述图像的最小编码单元(MCU)的系数块开始处的位置的指针和所述系数块的系数的指示;以及
从所述图像比特流检索所述MCU并采用所述指示解码所述系数块的解码组件。
2.如权利要求1所述的设备,其特征在于,包括分成多个存储页的存储设备,所述解码组件从所述图像数据流检索多个MCU并将所述多个MCU中的每一个的系数块存储在所述多个存储页中的单个存储页中,所述多个MCU包括所述MCU。
3.如权利要求2所述的设备,其特征在于,包括:
显示缓冲区;以及
将通过解码所述系数块导出的像素颜色值块从所述单个存储页复制到所述显示缓冲区以供在显示器上视觉呈现的呈现组件,所述解码组件解码所述单个存储页内的所述系数块。
4.如权利要求3所述的设备,其特征在于,所述呈现组件识别由所述像素颜色值块占据的所述单个存储页的一部分内的所述像素颜色值块的像素颜色值以旋转所述图像。
5.如权利要求1所述的设备,其特征在于,所述指示包括所述系数块的DC系数的值的指示,所述系数块包括所述DC系数和多个AC系数。
6.如权利要求1所述的设备,其特征在于,所述解析组件解析所述注释块以定位与所述图像相关联的多个条目,所述多个条目包括该所述条目,所述多个条目中的每一个条目与对应于所述图像的像素块的不同水平行的像素块的多个MCU中的MCU相关联。
7.如权利要求6所述的设备,其特征在于,所述解码组件从所述图像比特流检索所述多个MCU中的每一个MCU并采用所述多个条目中的每一个条目的DC系数值的指示来解码所述多个MCU中的对应MCU的系数块。
8.如权利要求1所述的设备,其特征在于,包括增强组件,所述增强组件解码所述图像比特流以确定所述图像比特流内所述系数块开始处的位置;生成所述注释块中的所述条目;和用所述注释块增强所述流数据的头。
9.如权利要求1所述的设备,其特征在于,包括视觉地呈现所述图像的显示器或从所述网络接收所述流数据的接口中的至少一个。
10.一种处理压缩图像的设备,所述设备包括:
解码组件,执行对多个图像的图像比特流的熵解码以确定所述图像比特流中所述多个图像中的图像的最小编码单元(MCU)的系数块开始处的位置和确定所述系数块的DC系数值;以及
增强组件,将包括指示所述位置和所述值的条目的注释块添加到所述流数据,所述流数据包括所述图像比特流。
11.如权利要求10所述的设备,其特征在于,所述增强组件执行所述注释块的熵编码以减少所述注释块的大小。
12.如权利要求10所述的设备,其特征在于,所述增强组件将所述注释块添加到所述流数据的头以使所述注释块被解码所述流数据的另一个设备的解压缩器忽略。
13.如权利要求10所述的设备,其特征在于,所述增强组件用遵循联合图像专家组(JPEG)规范的一个版本的方式将所述注释块添加到所述流数据中。
14.如权利要求10所述的设备,其特征在于,包括在与所述图像相关联的所述注释块中生成多个条目的注释组件,所述多个条目包括所述条目,所述多个条目中的每一个条目与对应于所述图像的像素块的不同水平行的像素块的MCU相关联。
15.如权利要求10所述的设备,其特征在于,包括视觉地呈现所述图像的显示器或者在将所述注释块添加到所述流数据之前从网络接收所述流数据或在将所述注释块添加到所述流数据之后经由所述网络将所述流数据传输至另一个设备的接口中的至少一个。
16.一种用于显示压缩图像的计算机实现的方法,所述方法包括:
解析流数据的注释块以定位与多个图像中的图像相关联的条目,其中所述流数据包括所述多个图像的图像比特流,且所述条目包括所述图像比特流内所述图像的最小编码单元(MCU)的系数块开始处的位置的指针和所述系数块的系数的指示;
从所述图像比特流检索所述MCU;以及
采用所述指示解码所述系数块。
17.如权利要求16所述的计算机实现的方法,其特征在于,还包括:
从所述图像比特流检索多个MCU;以及
将所述多个MCU中的每一个的系数块存储在分成多个存储页的存储设备的单个存储页中,所述多个MCU包括所述MCU。
18.如权利要求17所述的计算机实现的方法,其特征在于,包括:
解码所述单个存储页内的所述系数块;以及
将通过解码所述系数块导出的像素颜色值块从所述单个存储页复制到显示缓冲区以供在显示器上视觉呈现。
19.如权利要求18所述的计算机实现的方法,其特征在于,包括识别由所述像素颜色值块占据的所述单个存储页的一部分内的所述像素颜色值块的像素颜色值以旋转所述图像。
20.如权利要求16所述的计算机实现的方法,其特征在于,包括执行对所述注释块的熵解码以启用对所述注释块的解析。
21.如权利要求16所述的计算机实现的方法,其特征在于,所述指示包括所述系数块的DC系数的值的指示,所述系数块包括所述DC系数和多个AC系数。
22.如权利要求16所述的计算机实现的方法,其特征在于,包括解析所述注释块以定位与所述图像相关联的多个条目,所述多个条目包括该所述条目,所述多个条目中的每一个条目与对应于所述图像的像素块的不同水平行的像素块的多个MCU中的MCU相关联。
23.如权利要求22所述的计算机实现的方法,其特征在于,包括:
从所述图像比特流检索所述多个MCU中的每一个MCU;以及
采用所述多个条目中的每一个条目的DC系数值的指示来解码所述多个MCU中的对应MCU的系数块。
24.如权利要求16所述的计算机实现的方法,其特征在于,包括:
解码所述图像比特流以确定所述图像比特流内所述系数块开始处的位置;
在所述注释块中生成所述条目;以及
用所述注释块增强所述流数据的头。
25.如权利要求16所述的计算机实现的方法,其特征在于,包括在显示器上视觉地呈现所述图像或从网络接收所述流数据的至少一项。
26.至少一种计算机可读存储介质,所述计算机可读存储介质包括在由计处理器组件执行时导致所述处理器组件执行如权利要求16-25中的任一项所述的方法的指令。
CN201380081031.8A 2013-12-18 2013-12-18 用于图像比特流处理的技术 Expired - Fee Related CN105745930B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2013/002946 WO2015092461A1 (en) 2013-12-18 2013-12-18 Techniques for image bitstream processing

Publications (2)

Publication Number Publication Date
CN105745930A true CN105745930A (zh) 2016-07-06
CN105745930B CN105745930B (zh) 2019-04-02

Family

ID=50630822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380081031.8A Expired - Fee Related CN105745930B (zh) 2013-12-18 2013-12-18 用于图像比特流处理的技术

Country Status (4)

Country Link
US (1) US9888250B2 (zh)
EP (1) EP3085096A1 (zh)
CN (1) CN105745930B (zh)
WO (1) WO2015092461A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109997110A (zh) * 2016-11-28 2019-07-09 微软技术许可有限责任公司 用于增强设备流的可插拔组件

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11190335B2 (en) * 2018-01-23 2021-11-30 Intel Corporation Method and apparatus for performing non-unique data pattern detection and alignment in a receiver implemented on a field programmable gate array

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385212B1 (en) * 1997-11-25 2002-05-07 Mitsubishi Denki Kabushiki Kaisha Data switching apparatus for switching received data without changing coding unit
US6608933B1 (en) * 1997-10-17 2003-08-19 Microsoft Corporation Loss tolerant compressed image data
CN1578380A (zh) * 2003-07-08 2005-02-09 松下电器产业株式会社 图像伸长显示方法、图像伸长显示器件及图像伸长显示用程序
CN1653697A (zh) * 2002-04-25 2005-08-10 索尼株式会社 数据处理系统、数据处理方法、数据处理装置以及数据处理程序

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US8902992B2 (en) * 2007-04-04 2014-12-02 Entropic Communications, Inc. Decoder for selectively decoding predetermined data units from a coded bit stream
US20140341302A1 (en) * 2013-05-15 2014-11-20 Ce Wang Slice level bit rate control for video coding
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608933B1 (en) * 1997-10-17 2003-08-19 Microsoft Corporation Loss tolerant compressed image data
US6385212B1 (en) * 1997-11-25 2002-05-07 Mitsubishi Denki Kabushiki Kaisha Data switching apparatus for switching received data without changing coding unit
CN1653697A (zh) * 2002-04-25 2005-08-10 索尼株式会社 数据处理系统、数据处理方法、数据处理装置以及数据处理程序
CN1578380A (zh) * 2003-07-08 2005-02-09 松下电器产业株式会社 图像伸长显示方法、图像伸长显示器件及图像伸长显示用程序

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109997110A (zh) * 2016-11-28 2019-07-09 微软技术许可有限责任公司 用于增强设备流的可插拔组件
US11240282B2 (en) 2016-11-28 2022-02-01 Microsoft Technology Licensing, Llc Pluggable components for augmenting device streams

Also Published As

Publication number Publication date
CN105745930B (zh) 2019-04-02
WO2015092461A1 (en) 2015-06-25
US9888250B2 (en) 2018-02-06
US20160191925A1 (en) 2016-06-30
EP3085096A1 (en) 2016-10-26

Similar Documents

Publication Publication Date Title
CN105917649B (zh) 用于将兴趣区域指示包括在压缩视频数据中的设备及方法
US8907987B2 (en) System and method for downsizing video data for memory bandwidth optimization
US8520734B1 (en) Method and system for remotely communicating a computer rendered image sequence
CN105359533A (zh) 用于低功率图像压缩和显示的技术
US9191108B2 (en) Techniques for low power visual light communication
CN104284187B (zh) 在压缩视频数据中包括缩略图的方法、设备、系统及存储介质
CN104205161B (zh) 用于块压缩图象的解压缩的系统、方法和计算机程序产品
CN105959724B (zh) 一种视频数据处理方法以及装置
US20140086309A1 (en) Method and device for encoding and decoding an image
CN104935926A (zh) 用于估计压缩的动态视频质量的技术
US20110221864A1 (en) Multiscalar Stereo Video Format Conversion
CN103581665A (zh) 转码视频数据
CN104602007A (zh) 基于信道质量的动态视频编码
TWI791578B (zh) 視訊編碼裝置
WO2017222633A1 (en) Image rotation method and apparatus
TWI517089B (zh) 色彩緩衝器快取技術
CN105745930A (zh) 用于图像比特流处理的技术
CN111741343B (zh) 视频处理方法及装置、电子设备
CN104956671A (zh) 视频帧重建
CN110324668A (zh) 图像块编码中的变换方法、解码中的反变换方法及装置
CN101484915A (zh) 提供图像的多个本地表示
US20080278606A9 (en) Image compositing
CN103152571B (zh) 减少数据带宽的视频处理方法及电路
CN105359523A (zh) 用于低功率视频压缩和传输的技术
US9317891B2 (en) Systems and methods for hardware-accelerated key color extraction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190402

Termination date: 20211218