CN109643456A - 图像压缩方法与设备 - Google Patents

图像压缩方法与设备 Download PDF

Info

Publication number
CN109643456A
CN109643456A CN201780050329.0A CN201780050329A CN109643456A CN 109643456 A CN109643456 A CN 109643456A CN 201780050329 A CN201780050329 A CN 201780050329A CN 109643456 A CN109643456 A CN 109643456A
Authority
CN
China
Prior art keywords
coefficient
frequency
image data
compression
channel
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.)
Pending
Application number
CN201780050329.0A
Other languages
English (en)
Inventor
丹尼尔·莱姆·菲茨杰拉德
蒂莫西·西蒙·卢卡斯
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.)
Inmerschiff Robot Private Ltd
Immersive Robotics Pty Ltd
Original Assignee
Inmerschiff Robot Private Ltd
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
Priority claimed from AU2016905048A external-priority patent/AU2016905048A0/en
Application filed by Inmerschiff Robot Private Ltd filed Critical Inmerschiff Robot Private Ltd
Priority claimed from PCT/AU2017/050594 external-priority patent/WO2017214671A1/en
Publication of CN109643456A publication Critical patent/CN109643456A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/124Quantisation
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities

Abstract

一种将来自形成数字现实内容的部分的一个或更多个图像中的图像数据压缩的方法,该方法包括:从图像数据获得像素数据,像素数据代表在一个或更多个图像内的像素数组;确定在一个或更多个图像内的像素数组相对于定义的位置的位置,该定义的位置至少部分地指示使用者的凝视点;以及至少部分根据确定的位置将像素数据压缩,使得压缩程度取决于像素数组的确定的位置。

Description

图像压缩方法与设备
技术领域
本发明涉及压缩或解压缩图像数据的方法及设备,并且在一个特定示例中涉及用于压缩或解压缩图像数据以允许用降低的带宽并且较少的延迟来传输图像数据的方法及设备。
现有技术的描述
本说明书中对任何现有公开(或其衍生信息)或任何已知事项的引用,不是也不应被视为确认或承认或任何形式的建议,即现有公开物(或其衍生信息)或已知事物,构成本说明书所涉及事业领域的一般常见知识的部分。
在虚拟、增强和混合的现实系统中,通常提供一种可穿戴式显示装置,诸如头戴式显示器(HMD,Head Mounted Display),其基于显示装置的相对空间位置及/或方位将信息显示给佩戴者。这种系统基于关于该显示装置的姿势(位置和方位)的信息产生图像来进行操作,如此随着该显示装置移动,图像被更新以反映该显示装置的新姿势。
为了避免晕动病,在姿势信息的收集和相对应的图像的建立之间的时间差最小化,特别是在该显示装置快速移动的情况下,这是相当重要的。结合对产生高分辨率图像使得它们看起来尽可能逼真的需求,这表示需要有相当高阶的处理硬件。结果,高端现有系统通常需要具有高带宽并且低延迟连接至该显示装置的静态台式计算机。因此,像是HTCViveTM、Oculus RiftTM和Playstation VRTM这些当前的系统在计算机与HMD之间需要有线连接,这并不方便。
虽然有移动解决方案可用,例如Gear VRTM,其并入移动电话来执行在HMD本身内的图像处理和显示,但是处理能力是有限的,意味着可以显示的内容受到限制,特别是在图像分辨率和质量方面受到限制。
我们都知道,压缩图像数据以便缩小数据体积。这在许多应用当中都非常有用,如减少储存该图像数据所需的储存容量,或减少与传输图像数据相关联的带宽需求。
JPEG使用基于离散余弦变换(DCT,discrete cosine transform)的破坏形式的压缩。此算术运算将视频源的每个帧/字段(frame/field)从空间(2D)域转换为频域(也就是转换域)。松散基于人类精神视觉系统的知觉模型抛弃了高频信息,即强度上和色调上的急剧转变。在转换域中,通过量化来减少信息。然后量化系数被序列并松散地封装成输出比特流。
然而,这种方式通常只能实现有限的压缩量并且需要相当多的处理时间,因此不适合将这些用于低延迟应用,像是虚拟或增强现实、远程监控(telepresence)等。
发明内容
在一个广泛的形式中,本发明的方面寻求提供一种对来自形成数字现实内容的部分的一个或更多个图像的图像数据进行压缩的方法,该方法包括:从图像数据获得像素数据,该像素数据代表在一个或更多个图像内的像素数组;确定在一个或更多个图像内的像素数组相对于已定义位置的位置,该已定义位置至少部分地指示使用者的凝视点;以及将像素数据压缩来产生压缩的图像数据,该像素数据以至少部分地根据该已确定位置来进行压缩,使得压缩的程度取决于该像素数组的该已确定位置。
在一个实施例内,该已定义位置是以下项中的至少一项:使用者的测量凝视点;使用者的预期凝视点;相对于使用者的测量凝视点的偏移;相对于使用者的预期凝视点的偏移;以及至少部分地根据指示使用者的凝视点的凝视数据所确定的,该凝视数据是根据凝视追踪系统获得的。
在一个实施例内,该方法包括压缩该像素数据,使得压缩的程度是进行以下项中的至少一项:基于与该已定义点的距离;基于相对于该已定义点的方向;从该已定义点进一步增加;以及提供凹式压缩(foveated compression)。
在一个实施例内,该方法包括:选择多个编码方案中的一个编码方案;以及使用该选择的编码方案对该像素数据进行编码。
在一个实施例内,编码方案中的每个编码方案提供相应的压缩程度,并且其中,该方法包含至少部分地根据以下项中的至少一项来选择编码方案:所要求的压缩程度;以及像素数组的位置。
在一个实施例内,该方法包括:确定指示所使用的编码方案的编码代码;以及使用该编码代码与编码像素数据来产生压缩图像数据。
在一个实施例内,该方法包括使用通过进行以下操作压缩像素数据的编码方案:对该像素数据应用变换,以确定指示该像素数组的频率分量的一组频率系数;使用位编码方案来选择性地对至少某些频率分量进行编码,从而产生一组编码频率系数;以及使用该编码频率系数产生压缩的图像数据。
在一个实施例内,该位编码方案定义用于编码频率系数中的每个频率系数的位数,并且其中,频率系数被选择性地进行编码,使得实现以下项中的至少一项:编码频率系数中的至少一些编码频率系数具有不同位数;较小的位数用于将对应于较高频率的频率系数编码;逐渐较小的位数用于将对应于逐渐较高频率的频率系数编码;至少一个频率系数被丢弃使得该组编码频率系数小于该组频率系数;以及,对应于较高频率的至少一个频率系数被丢弃。
在一个实施例内,该方法包括:选择多个位编码方案中的一个位编码方案;以及根据所选择的位编码方案对频率系数编码。
在一个实施例内,多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
在一个实施例内,位编码方案至少部分地根据以下项中的至少一项来选择的:所要的压缩程度;以及该像素数组的位置。
在一个实施例内,频率分量以多个层级进行布置,并且其中,每个位编码方案定义用于在多个层级中的每个层级内编码频率系数的相应的位数。
在一个实施例内,该数组为N x N像素数组,导致2N-1个频率分量层级。
在一个实施例内,该方法包括将缩放因子应用到频率系数中的至少一些频率系数,使得已缩放的频率系数被编码,该缩放因子用来减少每一频率系数的量级,以及其中,以下项中的至少一项成立:不同的缩放因子被应用到至少某些频率系数;相同的缩放因子被应用到每个频率系数;以及不同的缩放因子被应用到不同信道内的频率系数。
在一个实施例内,图像数据定义多个信道,并且其中,方法包括针对每个信道选择性地编码频率系数。
在一个实施例内,像素数据定义RGB信道,并且其中,该方法包括:将该RGB信道转换成YCbCr信道;以及变换YCbCr信道。
在一个实施例内,该方法包括以下项中的至少一项:针对该Y信道比针对Cb或Cr信道选择性地编码更多频率系数;针对YCbCr信道选择性地并行编码频率系数;以及针对CbCr信道选择性地编码频率系数并使用该Y信道。
在一个实施例内,该变换为二维(2-D)离散余弦变换。
在一个实施例内,该方法包括通过以下操作从图像数据获得像素数据:缓冲对应于该图像的接下来的n-1个像素行的图像数据;缓冲关于接下来的像素行中的接下来的n个像素的图像数据;从该已缓冲图像数据中获得关于接下来的nxn像素块的像素数据;重复步骤b)和c),直到已经从所有的n个像素行中获得像素数据为止;以及重复步骤a)至d),直到已经从该图像的每一个像素行中获得像素数据为止。
在一个实施例内,n是基于以下中的至少一项进行选择的:所选择的位编码方案;所要的压缩程度;以及该像素数组的位置。
在一个实施例内,该方法包括:选择性地并行编码频率系数;以及至少部分通过并行串行字节编码来产生压缩的图像数据。
在一个广泛的形式中,本发明的方面寻求提供一种将形成数字现实内容的部分的一个或更多个图像中的压缩图像数据解压缩的方法,该方法包括:获得压缩的图像数据,该压缩图像数据代表在一个或更多个图像内的像素数组,并且至少部分基于在一个或更多个图像内的像素数组相对于已定义位置的位置来进行压缩,该已定义位置至少部分指示使用者的凝视点;以及至少部分根据该已确定位置来将该压缩图像数据解压缩。
在一个实施例内,该已定义位置为以下项中的至少一项:该使用者的测量凝视点;使用者的预期凝视点;使用者的测量凝视点的偏移;使用者的预期凝视点的偏移;以及至少部分地根据指示该使用者的凝视点的凝视数据所确定的,该凝视数据是从凝视追踪系统获得的。
在一个实施例内,该方法包括:选择多个解码方案中的一个解码方案;以及使用所选择的解码方案对该像素数据解码。
在一个实施例内,该方法包括至少部分地基于以下项中的至少一项来选择解码方案:所要的压缩程度;像素数组的位置;以及指示所使用的编码方案的编码代码,该编码代码是根据压缩的图像数据确定的。
在一个实施例内,该方法包括使用通过以下操作来解压缩压缩的像素数据的解码方案:根据定义在每个编码频率系数内所使用的位数的位编码方案,从压缩图像数据确定一组编码频率系数;根据该位编码方案来执行该编码频率系数的位解码,从而产生一组频率系数,其中,至少一个频率系数被产生,使得该组编码频率系数小于该组频率系数;以及对该组频率系数应用逆变换,来确定代表在一个或更多个图像内的像素数组的像素数据。
在一个实施例内,该位编码方案定义用于编码频率系数中的每个频率系数的位数,该位编码方案使用较小的位数来编码对应于较高频率的频率系数,并且其中,该方法包括产生对应于较高频率的频率系数中的至少一些。
在一个实施例内,该方法包括:选择多个位编码方案中的一个位编码方案;以及根据所选择的位编码方案对该编码频率系数解码。
在一个实施例内,多个位编码方案中的每个位编码方案选择性地用不同的位数来编码不同的频率系数,以提供不同的压缩程度。
在一个实施例内,位编码方案至少部分是根据以下项中的至少一项来选择的:编码代码;用于产生压缩的图像数据的位编码方案;以及,像素数组的位置。
在一个实施例内,频率分量是以多个层级进行布置的,并且其中,每个位编码方案定义用于在多个层级中的每个层级内编码频率系数的相应的位数。
在一个实施例内,该数组为N x N像素数组,导致2N-1个频率分量层级。
在一个实施例内,该方法包括将缩放因子应用到频率系数中的至少一些频率系数,使得被缩放的编码频率系数被解码,该缩放因子被用来增加每个频率系数的量级,以及其中,以下项中的至少一项成立:不同的缩放因子被应用到至少一些编码频率系数;相同的缩放因子被应用到每个编码频率系数;以及,不同的缩放因子被应用到不同信道内的编码频率系数。
在一个实施例内,图像数据定义多个信道,并且其中,该方法包括针对每个信道选择性地解码编码的频率系数。
在一个实施例内,该压缩图像数据定义YCbCr信道,并且其中,该方法包括:执行YCbCr信道的逆变换;以及将所变换的YCbCr信道转换成RGB信道。
在一个实施例内,该方法包括以下项中的至少一项:针对Cb或Cr信道比针对Y信道产生更多频率系数;并行解码编码的YCbCr信道;以及解码CbCr信道,并将解码的CbCr信道与该Y信道转换成RGB信道。
在一个实施例内,该逆变换为逆二维(2-D)离散余弦变换。
在一个实施例内,该方法包括:至少部分通过串行并行字节解码来解码压缩的图像数据;以及选择性地并行解码频率系数。
在一个实施例内,所要的压缩程度是至少基于以下项中的至少一项确定的:像素数组的位置;用来传输压缩图像数据的通信链路的传输带宽;用来传输压缩图像数据的通信链路的传输服务质量;显示装置的移动;图像显示需求;目标显示分辨率;被处理的信道;以及误差度量。
在一个实施例内,该数字现实是以下项中的至少一项:增强现实;虚拟现实;混合现实;以及远程呈现。
在一个实施例内,该方法用于经由以下项中的至少一项将图像数据从计算装置传输到可穿戴式数字现实头戴设备:通信网络;以及无线通信链路。
在一个广泛的形式中,本发明的方面寻求提供一种将形成数字现实内容的部分的一个或更多个图像中的图像数据压缩的设备,该设备包括至少一个电子编码器处理装置,该至少一个电子编码器处理装置:从该图像数据获得像素数据,该像素数据代表在一个或更多个图像内的像素数组;确定在一个或更多个图像内的像素数组相对于已定义位置的位置,该已定义位置至少部分地指示该使用者的凝视点;以及至少部分地根据已确定位置将该图像数据压缩,使得压缩程度取决于像素数组的已确定位置。
在一个广泛的形式中,本发明的方面寻求提供将形成数字现实内容的部分的一个或更多个图像中的压缩图像数据解压缩的设备,该设备包括至少一个电子解码器处理装置,该至少一个电子解码器处理装置:获得压缩的图像数据,该压缩图像数据代表在一个或更多个图像的像素数组,并且至少部分地基于在一个或更多个图像内的像素数组相对于已定义位置的位置来压缩,该已定义位置至少部分指示使用者的凝视点;以及,至少部分根据已确定位置来将该压缩图像数据解压缩。
在一个广泛的形式中,本发明的方面寻求提供一种将代表一个或更多个图像的图像数据压缩的方法,该方法包括:从该图像数据获得像素数据,该像素数据代表在一个或更多个图像内的像素数组;对像素数据应用变换,以确定指示该像素数组的频率分量的一组频率系数;使用位编码方案选择性地编码频率系数中的至少一些频率系数,从而产生一组编码频率系数,其中,该位编码方案定义用于将频率系数中的每个频率系数编码的位数,使得当频率系数被选择性地编码时:使用不同位数将编码频率系数中的至少一些频率系数进行编码;以及,至少一个频率系数被丢弃,使得该组编码频率系数小于该组频率系数;以及,使用编码频率系数产生压缩图像数据。
在一个实施例内,频率系数被选择性地编码,使得以下中的至少一项成立:用于编码每个频率系数的位数被定义,而不管相应的频率系数的值;较小的位数被用于将对应于较高频率的频率系数编码;逐渐较小的位数被用于将对应于逐渐较高频率的频率系数编码;对应于较高频率的至少一个频率系数被丢弃。
在一个实施例内,该方法包括将缩放因子应用到频率系数中的至少一些频率系数,使得已缩放的频率系数被编码,以及其中以下项中的至少一项成立:不同的缩放因子被应用到至少某些频率系数;相同的缩放因子被应用到每个频率系数;以及,该缩放因子被用来降低每个频率系数的量级。
在一个实施例内,该方法包括:选择多个编码方案中的一个编码方案;以及,使用所选择的编码方案对像素数据编码。
在一个实施例内,编码方案中的每个编码方案提供相应的压缩程度,并且其中,该方法包含至少部分地根据以下项中的至少一项来选择编码方案:所要的压缩程度;以及像素数组的位置。
在一个实施例内,该方法包括根据以下项中的至少一项来选择性地编码频率系数:选择规则;所要的压缩程度;以及在一个或更多个图像内的像素数组的位置。
在一个实施例内,该方法包括:选择多个位编码方案中的一个位编码方案;以及根据所选择的位编码方案对频率系数编码。
在一个实施例内,多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
在一个实施例内,位编码方案是至少部分地根据以下项中的至少一项选择的:选择规则;所要的压缩程度;以及像素数组的位置。
在一个实施例内,该方法包括根据以下项中的至少一项来选择该位编码方案:用于传输压缩图像数据的通信链路的传输带宽;用于传输压缩图像数据的通信链路的传输服务质量;显示装置的移动;图像显示需求;目标显示分辨率;被处理的信道;在一个或更多个图像内的像素数组的位置;在一个或更多个图像内的像素数组相对于一个或更多个图像的观察者的凝视点的位置;以及误差度量。
在一个实施例内,频率分量以多个层级进行布置,并且其中,每个位编码方案定义相应的位数以用来在多个层级中的每个层级中编码频率系数。
在一个实施例内,该数组为N x N像素数组,导致2N-1个频率分量层级。
在一个实施例内,该方法包括:确定一个或更多个图像的观察者的凝视点;至少部分地根据凝视点选择性地将频率系数编码。
在一个实施例内,该方法包括:确定在凝视点与一个或更多个图像内的像素数组的位置之间的距离;以及根据距离选择性地将频率系数编码,使得较少的频率系数被编码用于较大距离。
在一个实施例内,图像数据定义多个信道,并且其中,该方法包括针对每个信道选择性地编码频率系数。
在一个实施例内,该像素数据定义RGB信道,并且其中,该方法包括:将该RGB信道转换成YCbCr信道;以及,变换YCbCr信道。
在一个实施例内,该方法包括以下项中的至少一项:针对Y信道比针对Cb或Cr信道选择性地编码更多频率系数;针对YCbCr信道选择性地并行编码更多频率系数;以及,通过以下操作产生压缩图像数据:编码CbCr信道;以及使用Y信道。
在一个实施例内,该变换是2-D离散余弦变换。
在一个实施例内,该方法包括从视频馈送获取像素数据。
在一个实施例内,该方法包括通过以下操作从图像数据获得像素数据:缓冲对应于图像的接下来的n-1个像素行的图像数据;缓冲关于接下来的像素行的接下来的n个像素的图像数据;从该已缓冲图像数据中获得关于接下来的nxn像素块的像素数据;重复步骤b)和c),直到已经从所有的n个像素行中获得像素数据为止;以及重复步骤a)至d),直到已经从该图像的每个像素行中获得像素数据为止。
在一个实施例内,n是基于以下项中的至少一项进行选择的:选择规则;所选择的位编码方案;以及像素数组的位置。
在一个实施例内,该方法包括:选择性地并行编码频率系数;以及,至少部分地通过并行串行字节编码来产生压缩的图像数据。
在一个广泛的形式中,本发明的方面寻求提供用于将代表一个或更多个图像的图像数据压缩的设备,该设备包括至少一个电子编码器处理装置,该至少一个电子编码器处理装置:从该图像数据获得像素数据,该像素数据代表在一个或更多个图像内的像素数组;对该像素数据应用变换,以确定指示像素数组的频率分量的一组频率系数;使用位编码方案选择性地编码频率系数中的至少一些频率系数,从而产生一组编码频率系数,其中,该位编码方案定义用于编码频率系数的位数,并且其中,频率系数被选择性地编码使得:编码频率系数中的至少一些编码频率系数具有不同位数;以及,至少一频率系数被丢弃,使得该组编码频率系数小于该组频率系数;以及,使用编码频率系数产生压缩的图像数据。
在一个实施例内,该设备包括:编码器输入缓冲区,其用于接收图像数据;以及编码器输出缓冲区,其储存压缩的图像数据。
在一个实施例内,该设备包括编码器输入缓冲区,该编码器输入缓冲区:缓冲对应于图像的接下来n-1个像素行的图像数据;缓冲关于接下来的像素行的接下来的n个像素的图像数据,允许至少一个编码器处理装置从已缓冲图像数据中获取接下来的nxn像素块的像素数据;重复步骤b),直到已经从所有的n个像素行中获得像素数据为止;以及,重复步骤a)和b),直到已经从该图像的每个像素行中获得像素数据为止。
在一个实施例内,该设备包括编码器传输器,其传输来自编码器输出缓冲区的图像数据。
在一个实施例内,至少一个编码器处理装置包括:现场可程序门阵列;专用集成电路以及图形处理单元。
在一个实施例内,该像素数据定义多个信道,并且其中,该设备包括针对每个信道的相应的处理设备和针对并行处理每个信道的并行处理设备中的至少一者。
在一个实施例内,该像素数据定义RGB信道,并且其中,该设备:将该RGB信道转换成YCbCr信道;以及,使用处理装置来选择性地编码YCbCr信道。
在一个实施例内,该像素数据定义RGB信道,并且其中,该设备:使用YCbCr处理装置来将RGB信道转换成CbCr信道;使用至少一个处理装置来对CbCr信道解码;以及,使用延迟块来将Y信道从YCbCr处理装置转移至输出缓冲区。
在一个实施例内,该设备包括编码器,该编码器与解码器无线通信,允许图像数据以压缩图像数据方式在该编码器与该解码器之间转移。
在一个实施例内,该编码器为耦合至适当编程的处理系统和是适当编程的处理系统的一部分的至少一种情况。
在一个实施例内,该解码器为耦合至可穿戴式显示装置和是可穿戴式显示装置的一部分的至少一种情况。
在一个实施例内,该编码器和解码器通信以交换以下中的至少一项:压缩的图像数据;指示显示装置移动的移动数据;至少部分用于控制显示装置的控制数据;指示使用者输入指令的输入数据;指示观察者的凝视点的凝视数据;以及,来自与可穿戴显示装置关联的传感器的传感器数据。
在一个广泛的形式中,本发明的方面寻求提供一种将代表一个或更多个图像的压缩图像数据解压缩的方法,该方法包括:获得压缩的图像数据;根据定义每个编码频率系数中所使用的位数的位编码方案,从压缩图像数据确定一组编码频率系数;根据位编码方案来执行该编码频率系数的位解码,从而产生一组频率系数,其中,至少一个频率系数被产生,使得该组编码频率系数小于该组频率系数;以及,对该组频率系数应用逆变换,来确定代表在一个或更多个图像内的像素数组的像素数据。
在一个实施例内,该方法包括:选择多个解码方案中的一个解码方案;以及,使用所选择的解码方案对像素数据解码。
在一个实施例内,该方法包括至少部分地根据以下项中的至少一项来选择解码方案:选择规则;所要的压缩程度;像素数组的位置;以及,指示所使用的编码方案的编码代码,该编码代码是根据压缩的数据图像确定的。
在一个实施例内,该位编码方案使用较小的位数来编码对应于较高频率的频率系数,并且其中,该方法包括产生对应于较高频率的频率系数中的至少一些频率系数。
在一个实施例内,该方法包括将缩放因子应用到至少某些频率系数,使得缩放的频率系数被变换,以及其中以下项中的至少一项成立:将不同的缩放因子应用到至少一些编码频率系数;相同的缩放因子被应用到每个编码频率系数;以及该缩放因子被用来增加每个编码频率系数的量级(magnitude)。
在一个实施例内,该方法包括:选择多个位编码方案中的一个位编码方案;以及,根据所选择的位编码方案对编码频率系数解码。
在一个实施例内,多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
在一个实施例内,至少部分地根据以下中的至少一项来选择位编码方案:编码代码;选择规则;用于产生压缩的图像数据的位编码方案;以及像素数组的位置。
在一个实施例内,选择规则至少根据以下中的至少一项:用来传输压缩图像数据的通信链路的传输带宽;用来传输压缩图像数据的通信的传输服务质量;显示装置的移动;图像显示需求;目标显示分辨率;被处理的信道;在一个或更多个图像内的像素数组的位置;以及,在一个或更多个图像内的像素数组相对于一个或更多个图像的观察者的凝视点的位置;以及误差度量。
在一个实施例内,该方法包括:确定一个或更多个图像的观察者的凝视点;至少部分地根据凝视点选择性地解码编码的频率系数。
在一个实施例内,该方法包括:确定在凝视点与一个或更多个图像内像素数组的位置间的距离;以及,根据距离选择性地解码编码的频率系数,使得较多的频率系数被产生用于更大的距离。
在一个实施例内,频率分量以多个层级进行布置,并且其中,每个位编码方案定义用于在多个层级中的每个层级内编码频率系数的相应的位数。
在一个实施例内,该数组为N x N像素数组,导致2N-1个频率分量层级。
在一个实施例内,图像数据定义多个信道,并且其中,方法包括针对每个信道选择性地解码编码的频率系数。
在一个实施例内,压缩图像数据定义YCbCr信道,并且其中,方法包括:执行YCbCr信道的逆变换;以及将所变换的YCbCr信道转换成RGB信道。
在一个实施例内,该方法包括以下项中的至少一项:针对Cb或Cr信道比针对Y信道产生更多频率系数;并行解码编码的YCbCr信道;解码CbCr信道,并将已解码CbCr信道与该Y信道转换成RGB信道。
在一个实施例内,逆变换为逆2-D离散余弦变换。
在一个实施例内,该方法包括使用该像素数据来产生视频馈送。
在一个实施例内,该方法包括:至少部分通过串行并行字节解码来解码压缩的图像数据;以及选择性地并行解码频率系数。
在一个实施例内,该数字现实是以下中的至少一项:增强现实;虚拟现实;以及混合现实。
在一个实施例内,该方法用于通过经由以下中的至少一项从计算设备接收压缩的图像数据来在可穿戴式数字现实头戴设备内显示图像数据:通信网络;以及无线通信链路。
在一个实施例内,该方法用于以下中的至少一项:传输虚拟现实视频数据;以及,无线传输虚拟现实视频数据。
在一个广泛的形式中,本发明的方面寻求提供将代表一个或更多个图像的压缩图像数据解压缩的设备,该设备包括至少一个电子解码器处理装置,该至少一个电子解码器处理装置:获得压缩的图像数据;根据定义每个编码频率系数内所使用的位数的位编码方案,从压缩图像数据确定一组编码频率系数;根据位编码方案来执行编码频率系数的位解码,从而产生一组频率系数,其中,至少一个频率系数被产生,使得该组编码频率系数小于该组频率系数;以及,对该组频率系数应用逆变换,来确定代表在一个或更多个图像内的像素数组的像素数据。
在一个实施例内,该设备包括:解码器输入缓冲区,其用来接收该压缩图像数据;以及解码器输出缓冲区,其储存图像数据。
在一个实施例内,该设备包括解码器收发器,其接收压缩的图像数据并将该压缩的图像数据提供给该输入缓冲区。
在一个实施例内,该至少一个解码器处理装置包括:现场可编程门阵列;专用集成电路以及图形处理单元。
在一个实施例内,压缩的图像数据定义多个信道,并且其中,该设备包括针对信道中的每个信道的相应的处理装置以及用于并行处理每个信道的并行处理设备装置中的至少一者。
在一个实施例内,该压缩图像数据定义YCbCr信道,并且其中,该设备:使用至少一个处理装置来解码CbCr信道;以及将已解码YCbCr信道转换成RGB信道。
在一个实施例内,压缩的图像数据定义YCbCr信道,并且其中,该设备:使用处理装置来解码CbCr信道;使用RGB处理装置,以将已解码CbCr信道与Y信道转换成RGB信道;以及,使用延迟块将Y信道从解码器输入缓冲区转移至RGB处理装置。
在一个实施例内,该设备包括解码器,其与编码器无线通信,允许图像数据作为压缩的图像数据在该编码器与该解码器之间进行转移。
在一个实施例内,该解码器为耦合至被适当地编程的计算机系统和是被适当地编程的计算机系统的一部分中的至少一种情况。
在一个实施例内,该解码器为耦合至可穿戴显示装置和是可穿戴显示装置的一部分的至少一种情况。
在一个实施例内,该解码器和编码器通信以交换以下中的至少一项:压缩的图像数据;指示显示装置的移动的移动数据;被至少部分地用来控制该显示装置的控制数据;指示使用者输入指令的输入数据;指示观察者的凝视点的凝视数据;以及来自与可穿戴显示装置相关联的传感器的传感器数据。
在一个广泛的形式中,本发明的方面寻求提供一种将代表一个或更多个图像的图像数据压缩的方法,该方法包括:从该图像数据获得像素数据,该像素数据代表在一个或更多个图像内的像素数组;确定编码方案;使用该编码方案对该像素数据编码;确定指示所使用该编码方案的编码代码;以及使用该编码代码与编码像素数据来产生压缩图像数据。
在一个实施例内,该方法包括通过以下中的至少一项来确定编码方案:基于图像数据的图像类型;基于从图像数据源接收的编码方案指示;通过分析图像数据与像素数据中的至少一者;以及,基于包括以下中的至少一项的压缩需求:压缩量;产生的图像质量;以及压缩延迟。
在一个实施例内,该方法包括分析该像素数据来确定该像素数组是否为以下中的至少一项:梯度;边界;以及单个颜色。
在一个实施例内,该方法包括以下中的至少一项:若该像素数组为纯色,则将该像素数组替换为指示该纯色的编码代码;若该像素数组为梯度,则该方法包括使用根据本发明另一方面的方法来编码该像素数据;以及使用根据本发明另一方面的方法来编码像素数据。
在一个广泛的形式中,本发明的方面寻求提供将代表一个或更多个图像的图像数据压缩的设备,该设备包括至少一个电子编码器处理装置,该至少一个电子编码器处理装置:从该图像数据获得像素数据,该像素数据代表在一个或更多个图像内的像素数组;确定编码方案;使用该编码方案编码像素数据;确定指示所使用的编码方案的编码代码;以及,使用编码频率系数产生压缩的图像数据。
在一个广泛的形式中,本发明的方面寻求提供一种将代表一个或更多个图像的压缩图像数据解压缩的方法,该方法包括:获得压缩的图像数据;从压缩的图像数据确定编码代码;使用该编码代码确定编码方案;以及使用编码方案将压缩的图像数据的至少一部分解码,以确定代表在一个或更多个图像内的像素数组的像素数据。
在一个实施例内,该方法包括以下中的至少一项:将编码代码替换为纯色的像素数组;使用根据本发明另一方面的方法,将压缩图像数据解码为关于梯度的像素数组;以及使用根据本发明另一方面的方法来将该压缩图像数据解码。
在一个广泛的形式中,本发明的方面寻求提供将代表一个或更多个图像的压缩图像数据解压缩的设备,该设备包括至少一个电子解码器处理装置,该至少一个电子解码器处理装置:获得压缩的图像数据;从该压缩的图像数据确定编码代码;使用该编码代码确定编码方案;以及使用该编码方案将该压缩的图像数据的至少一部分解码,来确定代表在一个或更多个图像内的像素数组的像素数据。
应了解,本发明的广泛形式及其相应的特征可以结合使用、可互换及/或独立使用,并且不用于限制单独的广泛形式的参考。
附图简述
现在将参考附图,描述本发明的示例,其中:
图1为用于压缩以及后续解压缩图像数据的方法的示例的流程图;
图2A为用于在可穿戴式装置上显示图像的设备的第一示例的示意图;
图2B为用于在一可穿戴式装置上显示图像的设备的第二示例的示意图;
图3为虚拟现实系统合并用于压缩与解压缩图像数据的设备的特定示例的示意图;
图4A至图4D为用于压缩以及后续解压缩图像数据的方法的特定示例的流程图;
图5为例示编码过程的方面的示意图;
图6为选择位编码方案的方法的示例的流程图;
图7为待编码的图像的示例的示意图;
图8为用于压缩图像数据以及解压缩压缩的图像数据的编码/解码方案的另一个示例的流程图;
图9A和图9B为用于使用选择性编码/解码方案来压缩以及后续解压缩图像数据的方法的特定示例的流程图;以及
图10为用于压缩以及后续解压缩图像数据的方法的进一步示例的流程图。
优选实施方式的详细描述
现在将参考图1来描述用于压缩与后续解压缩图像数据的方法的示例。
针对例示的目的,假设至少部分地使用一个或更多个电子处理装置来执行过程。在一个示例中,使用相应的处理装置来压缩与解压缩图像数据,允许压缩的图像数据在两个处理装置之间进行转移,虽然这并非必须并且可选地同一个处理装置可以被用于压缩与解压缩图像数据。
该处理装置可形成相应的处理系统的一部分,像是计算机系统、计算机服务器、包含移动电话、便携计算机的客户端装置、像是可穿戴式或头戴式显示器的显示装置,或可选地可以为耦合至这种装置的独立模块的形式。
该图像数据通常代表一个或更多个图像,并且在一个示例中,代表要显示在相应的显示装置上的一系列图像。如从以下说明中将了解,在一个特定示例中,图像数据为适于对源远程显示的一系列图像,像是在其中图像显示于可穿戴式显示器上的虚拟或增强现实图形应用中,及/或在其中图像是从像是无人机装载的相机等的远程可控制系统显示的远程呈现应用中。
在此示例中,在步骤100上,从图像数据获得像素数据,该像素数据代表在一个或更多个图像内部的像素数组。该像素数据可用任何合适的方式获得,这取决于该图像数据的格式。在一个示例中,这简单地通过选择在图像数据内的特定字节序列就可实现。该像素数组通常对应于一组像素数量,像是图像中的一个图像内的8x8像素块,不过也可使用其他像素数组。
在步骤110上,对该像素数据应用变换,以确定指示像素数组的频率分量的一组频率系数。因此,该转换通常为频率转换,像是傅立叶变换等,并且在一个示例内为2D DCT(离散余弦变换)。该转换可用任何合适的方式进行应用,例如使用已知的转换技术,但是在一个示例中以高并行方式执行,从而缩短处理时间。
在步骤120上,使用位编码方案选择性地将至少某些频率系数编码,从而产生一组编码频率系数。该位编码方案定义用来将每个频率系数编码的位数,频率系数被选择性地编码,使得至少某些编码频率系数具有不同位数,并且至少一个频率系数被丢弃,使得该组编码频率系数小于该组频率系数。
此过程可用任何合适方式实现,并且可包含丢弃某些频率系数,以及然后使用不同的位数编码剩余频率系数,从而减少编码频率系数所需的位数。可选地,该过程可以包括用零位编码某些频率系数,从而有效地丢弃相应的频率系数作为编码步骤的一部分。
已丢弃的特定频率分量将根据优选的实现方式而变化。通常较高频率分量会因其量级较小并因其对应于图像内的剧烈转变而被丢弃,意味着其对于整体图像质量的贡献较少。这允许较高频率分量系数被丢弃,而不会对所感受的图像质量有显著不利地影响。除了丢弃对应于较高频率的频率分量以外,该过程可用较少的位编码针对较高频率分量的频率系数,从而减少编码频率系数所需的总的位数。
类似地,当用不同位数编码频率系数时,其独立于频率系数的实际值而被执行,而是基于对该频率系数的预期量级的理解来执行。例如:较低频率上的频率系数通常量级较大,且因此通常用较多位数编码,而较高频率上的频率系数通常强度较小,因此用较少位数编码。这可使频率系数的值被编码不会损失信息。
一旦已经执行编码,则在步骤130上可使用该编码频率系数产生压缩图像数据。例如,这可通过建立字节流来执行,该字节流包含编码频率系数序列,可选地具有额外信息,像是旗标或其他标记来识别新图像等等的开始。
因此,上述过程允许通过使用位编码方案选择性地编码频率系数来建立压缩图像数据,所述位编码方案例如根据该频率系数的量级丢弃至少某些频率系数并且使用不同位数编码剩余系数。因此,较小量级的系数可以使用较小位数进行编码而无任何信息损失。
应该注意的是,这种方法应该与代码替换技术(诸如霍夫曼编码,其中值被替换为较短的码)形成对照。相反,在此示例中,值仍旧被编码,但是使用适合于该值预期量级的位数,因此如果预期该频率系数值不超过七,那么这可以被编码为三位字符,所以六会编码为“110”,而不是使用默认的八位字符“00000110”。相较之下,若预期的是该频率系数的值高达六十三,则应使用六位字符,因此例如二十应被编码为“010100”。在该值高出可用位数的情况下,则可以使用可用于该定义位数的最大值,从而导致所得压缩的图像数据的精度损失。
因此,位编码方案使用有关频率系数值的预期大小的信息,以便定义应被使用的位数。较不积极的位编码方案将使用较大的位数,导致压缩较少,但是有较高分辨率,而较积极的位编码方案将使用较少位数,且因此提供较多压缩,但是其代价是分辨率较低。
在任何事件中,通过使用定义用于编码每个频率系数的位数的位编码方案,这允许在解压缩压缩图像数据时使用相同方案,接着允许执行正确解压缩,同时允许位编码方案用于被配置成针对当前情况优化压缩。
关于这方面,在步骤140上,根据位编码方案,从压缩图像数据确定一组编码频率系数。尤其是,通过选择构成接下来的频率系数的接下来的位数,关于用于编码每个频率系数的位数的信息允许将已接收的压缩的图像数据划分成编码频率系数。
在步骤150上,根据位编码方案,执行编码频率系数的选择位解码,从而产生一组频率系数。在这方面,这被执行来将每个编码频率系数转换成频率系数,并且另外产生在该编码过程期间被丢弃的频率系数。尤其是,这通常被执行来产生据有空值的频率系数,从而再次建立完整的一组频率系数。
接着,对该组频率系数应用逆变换,来确定代表在一个或更多个图像内的像素数组的像素数据。尤其是,这通常为逆向频率转换的形式,像是逆向傅立叶变换、2D DCT等。
因此,上述过程允许通过使用位编码方案选择性地编码频率系数来对图像数据进行编码,并且然后后续使用相同位编码方案来解码编码的频率系数。此外,使用的位编码方案可是有适应能力的,并且可取决于广泛的标准范围,诸如被编码的图像数据的性质、被编码的特定信道等。这允许位编码方案被应用,从而最大化可以被实现的压缩量。
除了上述优点以外,方案可以以高度并行的方式进行实施,例如允许并行编码频率系数中的每个频率系数。这又使得过程能够被快速执行,从而减少延迟时间,这在许多应用中是相当重要的,诸如虚拟现实应用,其中图像响应于显示装置的移动而被建立,并且必须被快速传输到显示装置以进行显示。
许多进一步的特征现在将进行描述。
在一个示例中,位编码方案使用较小数量的位来编码对应于较高频率的频率系数。这是由于较高频率分量具有较小量级,意味着相对于针对较低的频率,针对较高的频率精确地编码频率系数需要较小的位数。在一个示例中,逐渐较小的位数被用于将对应于逐渐较高频率的频率系数编码。在这种情况中,连续较高频率上的频率系数将具有等于或低于前面较低频率的频率系数的位数的位数。类似地,方法可包括丢弃对应于较高频率的频率系数中的至少一些,因为这些倾向于对于所感知的图像质量较少冲击。亦应了解的是,针对某些较低频率系数,编码系数所需的所有的位数可以被保留,在某些示例中可以是8位以上。
在一个示例中,该方法包括将一缩放因子应用到至少某些频率系数,使得被缩放的频率系数被编码。在这方面,使用缩放来减少频率系数的量级,使得这些频率系数可以使用较小的位数进行编码。当执行解压缩时可应用类似的缩放因子,从而将相应的频率分量缩放回其原始量级。在此过程期间,通常执行凑整(rounding),使得被缩放的频率分量是整数值,或具有有限数量的有效数字,从而最小化用于编码系数的位数。亦应了解的是,当执行此时,重新建立的频率分量的精准度会下降,但是这样做的效果对于所产生的图像质量的影响是可忽略不计的。
在一个示例中,将相同的缩放因子应用到每个频率系数。因为这减少执行缩放时的计算负担,因此特别有利。尤其是,这允许从存储器(诸如寄存器)读取单个缩放因子,或允许这在逻辑配置中进行硬编码,从而让缩放频率系数的过程更迅速。然而,这不是必需的,并且不同的缩放因子可以被应用于不同的频率系数,例如以较大量缩放针对频率较高的频率系数。
在一个示例中,该方法包括将缩放因子应用于频率分量,以确定被缩放的频率分量,根据选择标准选择一个或更多个被缩放的频率分量,并通过根据位编码方案执行对所选择的被缩放频率分量的位编码从而限制用于编码每个所选择的被缩放的频率分量的位数来产生压缩的图像数据。然而,这并非必需并且其他方式可以被使用,诸如在丢弃某些频率系数等之后执行缩放。
在一个示例中,该方法可包括选择多个编码方案中的一个编码方案,并使用所选取的编码方案编码像素数据。这允许根据因素(诸如所需的压缩程度)来选择不同的编码方案。如此,例如通过使用不同压缩方式,或以多个不同位编码方案中的一个来使用上述方式,每个编码方案都能提供相应的压缩程度。在此后者情况中,多个位编码方案中的每个选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
基于一系列因素,诸如选择规则、所要的压缩程度及/或像素数组在一个或更多个图像内的位置,可选择所使用的特定编码方案,这又可以被用来提供凹式压缩,如下文将更详细地所述。
类似地,在一个示例中,该方法通常包括根据选择规则、所要的压缩程度及/或像素数组在一个或更多个图像内的位置,选择性地编码频率系数。在这方面,选择规则可以被用来定义要编码哪些频率系数,及/或使用哪个特定位编码方案,这实际上实现相同的最终结果,且因此应被认为是等效过程。
例如:选择规则可以被用来选择频率系数的子集来进行编码,然后这些使用位编码方案进行编码。可选地,根据选择规则选择位编码方案,位编码方案以零位编码至少某些的频率系数,以及然后根据位编码方案编码频率系数。
在任一情况下,使用选择规则允许动态执行选择位编码,使得可根据环境调整选取的频率系数及/或用来编码已选择频率系数的位数。当解压缩压缩图像数据时,可使用类似的选择规则,从而允许根据特定环境,动态执行位编码方案及/或频率系数的丢弃,同时确保可以精确地解压缩压缩数据。
在一个示例中,这允许考虑到许多不同因素,诸如用来传输压缩的图像数据的通信链路传输带宽、用来传输压缩的图像数据的通信链路的传输服务质量、显示装置的移动、图像显示需求、目标显示分辨率、正在被理的图像信道、像素数组在一个或更多个图像内的位置或在一个或更多个图像内的像素数组相对于一个或更多个图像的观察者的凝视点的位置。作为另一替代方案,可使用指示解压缩图像内的错误及/或数据传输的误差度量,以便控制使用的压缩程度。应了解的是,这些布置可以被用来动态适应压缩程度,例如通过变更用来压缩图像数据的该位编码方案。例如:若压缩物超出阈值,则可减少压缩,而若可用传输带宽下降,则可提高压缩。此动态调整压缩的能力帮助将该压缩优化,以获得关于当前环境的最佳可能图像质量。
例如:图像某些部分的相对质量可能不如其他部分那么重要。在虚拟现实的情形中,由于显示镜头的图像失真,所以图像的周边部分通常不会实际被显示给使用者。因此,这些图像的部分应使用有效零质量编码,从而在不损失可视图像的任何图像质量的情况下,可大幅减少压缩的图像数据的量。
在另一个示例中,尤其是在虚拟现实应用中,这可根据观察者凝视点来执行。在此示例中,这涉及到确定一个或更多个图像的观察者的凝视点,并至少部分地根据凝视点来选择性地编码频率系数。尤其是,这可以涉及到确定凝视点与像素数组在一个或更多个图像内的位置间的距离以及根据该距离选择性地编码频率系数,使得对于较大的距离,较少的频率系数被编码。因此,例如使用眼睛追踪技术或类似技术,以及然后以较高质量编码靠近凝视点的图像的部分,可执行对观察者正在观看的图像的部分的分析。在此方面,观察者对于周边区域的感知通常会减少,使得通常比较不会注意到图像质量的下降。从而,通过用较高质量编码靠近观察者的凝视点的图像,这允许具有较差质量的图像被观察者感知为具有等效质量。
在一个示例中,频率分量以多个层级进行布置,每个位编码方案定义要用于编码多个层级中的每个层级内的频率系数。类似地,或利用选择规则定义应该从哪个层级编码频率系数。因此,如从以下描述中可以明显看出,可根据相应的层级定义位编码方案及/或对频率系数的选择。
在一个示例中,像素数组为N x N像素数组,产生2N-1层级的频率分量,不过应了解,这将取决于特定实施方式。
在一个示例中,除了执行上述破坏压缩以外,也可执行额外非破坏压缩步骤。这通常涉及到解析(parsing)字节序列,识别包含一些相同字节的子序列,并且将该子序列替换成指示相同字节的值以及该子序列内一些相同字节的代码。在一个示例中,当相同字节的子序列包括三或更多个字节时,该代码包括两个字节,不过应了解,可使用其他合适的编码方案。
虽然通常称为运行长度编码的这种代码替换可以在任何字节序列上执行,但是在一个示例中,该字节序列为根据编码频率系数形成的比特流。在此方面,通常有许多编码频率系数具有零值,意味着当将根据编码频率系数形成的比特流当成字节序列分析时,在序列内频繁存在多个零值字节。因此,通过将这些替换为代码,这允许减少字节的数量。
在一个示例中,图像数据定义多个信道,并且其中该方法包括针对每个信道选择性地编码频率系数。通过单独编码不同信道,这允许对不同信道进行不同编码,例如使用不同位编码方案,或丢弃不同频率系数。此外,单独编码信道允许信道并行进行编码,如此可大幅帮助降低编码执行的时间,且因此降低编码延迟。
在一个示例中,像素数据定义RGB信道,并且该方法包括将RGB信道转换成亮度与色度信道YCbCr,以及变换YCbCr信道。在此方面,亮度与色度信道被人眼不同地感知,允许色度信道使用较大压缩程度来编码,且因此相较于亮度信道质量降低,但却没有导致感知的质量损失。然而,应了解,这并非必需并且处理可另外在RGB信道内执行,在此情形中颜色转换并非必要的。
因此,在此示例中,该方法可包括针对Y信道比针对Cb或Cr信道选择性地编码更多频率系数,并且类似地,可包括以比针对Cb和Cr信道用更多的位针对Y信道来选择性地编码频率系数。
在进一步示例中,在像素数据定义RGB信道之处,该方法可包括将RGB信道转换成YCbCr信道,并通过编码CbCr信道并使用该Y信道来产生该压缩图像数据。这样,实际上在此示例中,该Y信道并未有效编码,意味着被保含在亮度信道内的完整信息被保留。这在某些编码场景中特别有用,例如当编码显示梯度的像素数组时,这可帮助保留颜色变化,且因此改善图像质量,同时仅导致压缩些微减小。
如上述,不同信道可以进行并行编码。此外,每个信道频率系数可以并行编码。在此情形中,产生压缩图像数据的方法通常包括执行并行串行字节编码,使得频率系数被串行成字节流,该字节流然后进行字节编码。
在一个示例中,从图像数据获得像素数据的方法包括缓冲对应于图像接下来的n-1个像素行的图像数据、缓冲关于下一个像素行的接下来的n个像素的图像数据,以及从缓冲的图像数据中获取关于接下来的n x n像素块的像素数据。重复此过程,直到已经从所有n个像素行中获得像素数据为止,此时通过缓冲对应于图像的接下来的n-1个像素行的图像数据、缓冲下一个像素行中的接下来的n个像素的图像数据,以及从缓冲的图像数据中获得接下来的额n x n像素块的像素数据来针对接下来的n行来重复该过程。
因此,据此要了解到的是,该处理并未要求整个图像都被缓冲,而是只需要在开始处理之前将n-1行像素以及来自下一行的另外的n个像素被缓冲。这有两个主要影响,即降低了处理时间,转而导致延迟显著降低,以及降低整体存储器需求。n的值通常为整数并且可根据因素(诸如选择规则、所需的压缩程度、像素数组的位置等)来进行设定。在一个示例中n=8,但是这并非必要,且任何值都可以被使用。
虽然可以从任何来源获取图像数据,但是在一个示例中,该方法包括从视频馈送中(诸如用于显示的一系列图像)获得像素数据。在一个示例中,该方法被用于传输虚拟现实视频数据,并且在一个特定示例中,用于无线传输虚拟现实视频数据。
上述处理也可以被用于提供形成任何数字现实内容(包括增强现实、虚拟现实、混合现实、远程呈现等)的一部分的图像。
在一个示例中,该方法被用于通过经由通信网络与无线通信链路中的至少一者来从计算设备接收压缩的图像数据来在一可穿戴式数字现实头戴装置内显示图像数据。这可包括从计算机或其他类似装置将压缩的图像无线地进行转移,或可包括从基于云的计算环境将压缩的图像转移至本地装置,诸如头戴式智能型手机,允许使用云计算来执行对图像的建立。合适连接的示例,包括硬连线千兆互联网、例如经由移动通信网络(诸如3G、4G或5G网络)到移动电话的流传输,经由到系连HMD的有线连接的传输、或经由到非系连HMD的无线连接的传输等。
应了解,当解压缩压缩图像数据时,可使用类似方式。
例如:可使用相同位编码方案,使得位编码方案使用较少位数来编码对应于较高频率的频率系数。在此情形中,由于在压缩期间对应于较高频率的频率系数中的至少一些被丢弃,这些在解压缩期间必须被再次产生,通常为空值,允许应用后续逆变换,以下将有更详细进行说明。
通常该方法包括将缩放因子应用到至少一些频率系数,使得缩放的频率系数被变换。再次,相同的缩放因子被应用至每一频率系数,从而提高每个频率系数的量级,进而逆转在压缩期间执行的缩放,并再次产生原始频率系数量级的近似值。
该方法可包括选择多个解码方案中的一个,并使用所选择的解码方案来解码像素数据。在此情形中,可使用选择规则、所需的压缩程度或像素数组的位置,以类似于上述关于图像压缩的编码方案的选择,来选择该解码方案。可选地,这可介于指示所使用该编码方案的编码代码来执行,该编码代码根据压缩的图像数据进行确定。
再者,解码方案可与上面描述的不同,但可同样使用多个不同位编码方案中的一个,根据所选的位编码方案解码编码的频率系数。在此情形中,多个位编码方案中的每一个选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
类似地并有效等同地,该方法可以包括根据选择规则选择性地解码编码的频率系数,特别是通过根据选择规则产生编码频率系数并根据位编码方案解码编码的频率系数。
如压缩期间,选择规则通常取决于一系列因素,诸如以下中的一个或更多个:用于传输压缩的图像数据的通信链路的传输带宽、用于传输压缩的图像数据的通信链路的传输服务质量、显示装置的移动、图像显示需求、目标显示分辨率、正在进行处理的信道、像素数组在一个或更多个图像内的位置或一个或更多个图像内的像素数组相对于一个或更多个图像的观察者的凝视点的位置。
例如:这可以涉及到确定一个或更多个图像的观察者的凝视点,并至少部分地根据凝视点来选择性地解码编码的频率系数。这通常是通过确定在凝视点与像素数组在一个或更多个图像内的位置间之距离并根据该距离选择性地解码编码的频率系数来实现的,使得对于较远的距离就产生较多的频率系数。然而,应了解,选择规则的实施方式可根据优选的实施方式以任何合适方式来实现。
频率分量通常以多个层级进行布置,其中位编码方案定义相应的位数以用于编码对应于在多个层级中的相应的层级内的频率分量的频率系数,或选择规则定义应该产生哪个层级的频率系数。
在也执行无损编码的情况下,该方法通常包括识别在字节序列内的代码,并将该代码替换成包含多个相同字节的子序列。在此情形中,该代码通常指示在该子序列内相同字节的值和相同字节的数量。再者,该子序列通常包括三个或更多个字节,并且该代码包含两个字节,不过也可使用其他合适的布置。通常对于压缩的图像数据执行此处理,用此来产生位流,位流然后被用于建立编码频率系数。
如先前所述,图像数据通常定义多个信道,其中编码频率系数独立地针对每个信道选择性地进行解码。信道通常包括YCbCr信道,其中方法包括执行YCbCr信道的逆变换,并且将变换的YCbCr信道转换成RGB信道。通常,该逆变换为逆2-D离散余弦变换,但是可使用其他合适的变换。亦应了解,若该Y信道尚未编码,如上述,该方法可包括解码CbCr信道,并且然后将解码的CbCr信道和该Y信道转换成RGB信道。
如压缩该图像数据的示例中,方法通常包括针对Cb或Cr信道比针对Y信道产生更多频率系数。该方法也可包括并行解码编码的YCbCr信道,以及选择性地并行位解码各个频率分量,在该案例中压缩的图像数据可以通过串行并行字节解码,有效地将传入的字节流分割成各个位编码的频率分量(其然后被并行解码)来进行至少部分解码。
解压缩的数据也可以进行进一步处理,诸如使用去块滤波器(deblockingfilter),其被用来在使用块编码技术等等时使在宏块(marcoblocks)之间形成的锐利边缘平顺。这又可以允许使用更高程度的压缩,同时避免图像质量的相对应的降低。
在另外的示例中,通过相应的硬件配置执行上述方法。例如,压缩图像数据可以通过包括电子编码器处理装置的编码器来执行,该电子编码器处理装置从图像数据获得像素数据、执行频率变换、使用位编码方案选择性地编码至少某些频率系数,以及使用编码的频率系数产生压缩的图像数据。
类似地,使用包括电子解码器处理装置的解码器来执行对压缩的图像数据的解压缩,电子解码器处理装置获得压缩的图像数据、根据压缩的图像数据确定一组编码的频率系数、根据位编码方案执行对编码的频率系数的位解码,以及将逆变换应用到该组频率系数,以确定代表一个或更多个图像内的像素数组的像素数据。
在一个示例中,设备包括无线通信的编码器和解码器,允许图像数据以压缩的图像数据在编码器与解码器之间进行转移。在一个特定的示例中,可用此来提供在可穿戴式显示装置(诸如HMD)与处理系统之间的无线通信。现在将参照图2A来描述这方面的示例。
在此示例中,诸如被适当编程的计算机系统、游戏控制台等的处理系统210适用于在HMD 240上产生用于显示的内容。处理系统210通常通过从HMD接收关于HMD姿势的传感器数据以及可选地从一个或更多个单独的控制器250接收输入数据来实现此目的。然后处理系统210基于传感器数据和/或输入数据来产生内容,该内容通常为视频数据的形式,其可从视频卡等进行输出。视频数据经由无线通信链路260被转移至编码器220,该编码器220在将压缩的图像数据转移至解码器230之前通过压缩图像数据来编码视频数据。解码器230将压缩的图像数据解码,并将所产生的视频数据提供给HMD以用于显示。
应了解,这样的布置允许现有的计算机系统、游戏控制台等以及HMD 210、240经由无线连接260相连,从而避免对在处理系统210与HMD 240之间有线连接的需求。因此,例如,使用者可穿戴HMD和相关解码器,且然后将编码器连接至其计算机系统或游戏控制台,允许无线HMD布置被提供。这可以用于将传统系连(tethered)头戴装置转换成无线布置。
然而,这并非必需,且可选地,处理系统210和HMD 240可以被配置成包括集成的编码器与解码器硬件,允许这些经由直接无线连接260来通信,如图2B中所示。例如,在计算机系统内可提供编码器,以用于产生内容,而解码器可以被集成在智能型手机内,例如集成在Snapdragon 820Hexagon DSP等中,允许智能型手机接收并解码从计算机系统无线流传输来的内容。在一个示例中,这允许计算机系统通过本地无线连接来流传输,但在另一个示例中,这可以被用来经由移动电话网络或类似网络提供来自基于云的数字现实引擎的内容。
现在参照图3来更详细地描述硬件配置的示例。
此示例将关于单独的硬件编码器与解码器来例示,但应了解,这并非必需并且该相同技术可与集成的硬件结合使用。此外,虽然参照虚拟现实应用,但是同样这并非必需,并且该技术可以被用来应用至其中要进行图像数据转移的任何环境中,尤其是在要使用有限带宽转移图像数据时,同时保持可接受的图像质量以及所期望的延迟,诸如在虚拟现实、增强现实或远程呈现应用中。
在此示例中,设备300再次包括处理系统310、编码器320、解码器330以及HMD或类似形式的显示装置340。现在将更详细地描述这些部件中的每一个。
在此示例中,处理系统310包括如所示经由总线315互连的至少一个微处理器311、存储器312、可选的输入/输出装置313(诸如键盘及/或显示器)、以及外部接口314。在此示例中,外部接口314可以被用于将处理系统310连接至外围装置,像是通信网络、储存装置、外围设备等。虽然显示的是单个外部接口314,但是这仅仅是示例的目的,并且实际上可提供使用各种方法(例如以太网络、串口、USB、无线等等)的多个接口。在此特定示例中,外部接口包括至少一数据连接(诸如USB)、以及视频连接(诸如DisplayPort、HMDI、Thunderbolt)等等。
在使用中,微处理器311执行储存在存储器312中的应用程序软件形式的指令,以允许执行所需的处理。该应用程序软件可包括一个或更多个软件模块,并且可在合适的执行环境(诸如操作系统环境等)内被执行。
因此,应了解,处理系统310可以由任何合适的处理系统(诸如被合适编程的PC等)形成。在一个特定示例中,处理系统310为标准处理系统,诸如基于Intel架构的处理系统,其执行储存在非易失性(例如硬盘)储存设备内的软件应用程序,但是这并非必要的。然而,亦应了解,处理系统可为任何电子处理装置,诸如微处理器、微芯片处理器、逻辑门配置、可选地与实施逻辑相关联的固件(诸如FPGA(现场可编程门阵列)、专用集成电路(ASIC)、片上系统(SoC)、图形处理单元(GPU)、数字信号处理(DSP)、或任何其他电子装置、系统或布置。
此外,虽然处理系统310显示为单个实体,应了解,实际上处理系统310可以由多个实体装置形成,该多个实体可选择性地分布在多个地理上独立的位置上,例如作为基于云的环境的一部分。
编码器320通常包括编码器输入缓冲区321,其依次耦合到编码器处理装置322、编码器输出缓冲区323、以及收发器324。独立数据缓冲区325可以被提供为耦合至收发器324。
在使用中,图像数据,并且在一个特定示例中,视频数据被接收并且在传递至编码器处理装置322进行压缩之前被暂时储存在输入缓冲区321内。在此方面,编码器输入缓冲区通常缓冲对应于图像的接下来七行像素以及然后对应于接下来的像素行中的接下来的八个像素的图像数据。这允许编码器处理装置322从缓冲的图像数据获得关于接下来的8x8像素块的像素数据,并开始编码。
一旦已经完成,接下来八个像素则被缓冲,重复此步骤直到已获得并编码来自前八个像素行的像素数据为止。然后针对图像内后续像素行重复该过程,直到已获取关于整个图像的像素数据,在这个时候以类似方式处理下一个图像。此方式的结果是,编码器输入缓冲区从来不需要储存超过七行及八个像素的图像数据,减低了存储器的需求。此外,当像素数据被获取,即使在图像数据的接下来的八个像素被缓冲之前,这也可使用该编码过程来立即进行处理。这显著降低了处理时间,并帮助减少整体延迟。
然后,所生成的压缩的图像数据被储存在编码器输出缓冲器323内,例如通过依序按编码位进行读取,从而经由收发器324,在转移至解码器330之前,执行并行串行字节编码。收发器324也适用于经由编码器数据缓冲区325转移其他数据,诸如接收自HMD 340的传感器数据。
根据优选实施方式,缓冲区321、323、325可以为任何合适的暂时储存设备形式,并且在一个示例中,可包括高性能FIFO(先进先出)场存储器芯片等等。输入缓冲区通常被连接至HDMI端口、显示器端口输出端、或任何其他合适的视频源,而数据缓冲区335被连接至USB端口,从而允许等效连接至计算机系统。
收发器324可以为任何合适形式,但是在一个示例中,允许例如经由点对点直接WiFiTM连接、60GHz无线技术等在编码器与该解码器之间进行短范围无线电通信360。
处理装置322可为能够执行本文所描述的压缩过程的任何装置。处理装置322可包括根据存储器中储存的软件指令进行操作的通用处理装置。然而,在一个示例中,为了确保适当的快速压缩时间,处理装置包括被配置成执行压缩过程的定制硬件。这可以包括可选地与实施逻辑的固件(诸如FPGA(现场可编程门阵列))、图形处理单元(GPU)、专用集成电路(ASIC)、片上系统(SoC)、数字信号处理器(DSP)、或任何其他电子装置、系统或布置。在优选示例中,编码器处理装置322被配置成执行各个信道的、每个DCT的并行处理以及各个频率系数的并行编码。因此,虽然显示的是单个编码器处理装置322,但是实践中,可提供相应的编码器处理装置322来并行编码每个信道,或可选地可使用GPU或其他类似的并行处理架构。在诸如Y信道的信道未被编码的情况下,编码器处理装置可在将相应的数据传输至编码器输出缓冲区323时简单引入延迟,确保这仍旧与编码CbCr信道同步。
解码器330通常包括收发器334,其耦合至解码器输入缓冲区331,接着耦合至解码器处理装置332和解码器输出缓冲区333。也可以提供被耦合至收发器334的独立的数据缓冲区335。
在使用中,经由收发器334从编码器320接收压缩的图像数据,并且在被送至解码器处理装置332进行解压缩之前,暂时被储存在输入缓冲区331内。然后,所生成的图像数据在被转移至显示装置340之前,被储存在解码器输出缓冲区333内。收发器324也适用于经由解码器数据缓冲区335转移其他数据,诸如接收自显示装置340的传感器数据。
根据优选实施例,缓冲区331、333、335可以为任何合适的暂时储存设备的形式,并且在一个示例中,可包括高性能FIFO(先进先出)场存储器芯片等等。输出缓冲区通常被连接至HDMI端口,而数据缓冲区335则被连接至USB端口,从而允许等效连接至显示装置。
收发器334可以为任何合适形式,但是在一个示例中,允许例如经由点对点直接WiFiTM连接、60GHz无线技术等在编码器与解码器之间进行短范围无线电通信360。
处理装置332可包括根据存储器内储存的软件指令进行操作的通用处理装置。然而,在一个示例中,为了确保适当的低解压缩时间,处理装置包括被配置成执行解压缩过程的定制硬件。这可以包括可选地与实施逻辑相关联的固件,(诸如FPGA(现场可编程门阵列))、图形处理单元(GPU)、专用集成电路(ASIC))、片上系统(SoC)、数字信号处理器(DSP)、或任何其他电子装置、系统或布置。在优选的示例中,解码器处理装置332被配置成执行各个信道的、每个DCT的并行处理以及各个频率系数的并行编码。再者,虽然显示的是单个解码器处理装置332,在实践中,可提供相应的解码器处理装置332以用于并行编码每个信道,或可选地,可使用GPU或其他类似并行处理架构。在诸如Y信道的信道未被编码的情况下,解码器处理装置则可在将相应的数据传输至解码器输出缓冲区333时简单引入延迟,确保这仍旧与CbCr信道同步。
显示装置340包括如所示经由总线347互连的至少一个微处理器341、存储器342、可选的输入/输出装置343(键盘或输入按钮)、一个或更多个传感器344、显示器345、以及的外部接口346。
如本领域技术人员所了解的那样,显示装置340可以为HMD的形式,并且因此被提供于适当外壳内,允许该装置可以被使用者穿戴,并包括相关的透镜,允许显示器被观看到。
在此示例中,外部接口347适用于经由有线连接正常地将显示装置连接至处理系统310。虽然显示的是单个外部接口347,但是这仅仅是示例的目的,并且在实践中,可提供使用各种方法(例如以太网络、串行、USB、无线等等)的多个接口。在此特定示例中,外部接口通常至少包括数据连接(诸如USB)、以及视频连接(诸如DisplayPort、HMDI、Thunderbolt等等)。
在使用中,微处理器341执行储存在内存342内的应用程序软件形式的指令,以允许所需的过错方被执行。该应用程序软件可包括一个或更多个软件模块,并且可在合适的执行环境(诸如操作系统环境等)内被执行。因此,应了解,处理装置可以为任何电子处理装置,诸如微处理器、微芯片处理器、逻辑门配置、可选地与实施逻辑相关联的固件(诸如FPGA(现场可编程门阵列))、图形处理单元(GPU)、专用集成电路(ASIC)、片上系统(SoC)、数字信号处理器(DSP)、或任何其他电子装置、系统或布置。
传感器344一般用于感测显示装置340的方位及/或位置,并且可包括惯性传感器、加速度计等。可提供诸如光传感器或接近传感器的额外传感器,来确定显示装置目前是否正在被穿戴,而眼睛追踪传感器可以被用于提供使用者的凝视点的指示。
在一个示例中,显示装置可因此为现有商业显示装置,诸如HTC ViveTM、OculusRiftTM或Playstation VRTM头戴装置,但是应了解,这并非必需并且可使用任何合适的布置。
现在将更详细地描述图像压缩/解压缩过程的操作的示例。
为了该示例的目的,假设处理系统310正在执行产生显示在显示装置340上的内容的应用程序软件,其中内容是基于来自显示装置340的板载传感器345以及可选地来自其他传感器的传感器数据动态地显示的,例如手持控制器或位置检测系统(未显示),如本领域技术人员所了解的。
由处理系统310所执行的动作,由处理器311根据在存储器312内储存为应用程序软件的指令和/或经由I/O装置313、或其他外围设备(未显示)从使用者接收的输入指令来执行。显示装置340所执行的动作由处理器341根据在存储器342内储存为应用程序软件的指令来执行。
编码器320和解码器340充当在处理系统310与显示装置340之间的接口,允许图像数据显示于显示装置340上之前被压缩、无线传输以及然后解压缩,同时也允许传感器数据或输入指令数据回传至处理系统。由编码器320和解码器330所执行的动作通常由相应的处理装置322、332基于已定义的编程来执行,并且在一个示例中,基于定制硬件配置及/或嵌入式固件内的指令来执行。
然而,应了解,针对以下示例目的所假设的上述配置并非必需,并且可使用许多其他配置。例如,编码器与解码器的功能性可直接内置于处理系统310与显示装置340的内部。此外,压缩技术可以被应用至广泛的其他场景中,包括在一个或更多个计算机系统上压缩与解压缩图像,而不需要使用独立的显示装置。然而,上述布置对于虚拟现实应用或增强现实应用、远程呈现应用等是特别有利的。
现在将参阅图4A至图4D来更详细地描述压缩与后续解压缩图像数据的方法的示例过程。
在此示例中,在步骤400和402上,编码器320从处理系统310接收图像数据(并且特别是代表一系列图像的视频数据),并且然后将此数据暂时储存在编码器输入缓冲区321内。例如通过解析数据来识别限定标头(header)的数据内的旗标,识别图像的开头等,在步骤404上允许对应于接下来的8x8像素块的图像数据被获取,图像数据被分析。在此方面,当缓冲数据时,编码器需要来自图像的初始8x8像素块,以便开始处理。因此,在开始处理之前,在编码器输入缓冲区321内填入图像的前七行像素以及第八行像素的前八个像素。当接下来的八个像素被接收到时,可以处理接下来的8x8块,该过程被重复直到图像的前八行中的所有像素都已经被处理为止。在此之后,用类似方式处理接下来的一组八行。
图像数据通常为多信道RGB数据的形式,其然后在步骤406上由处理装置322转换成YCbCr亮度与色度信道。该过程可以用已知的数学坐标变换来执行,且因此将不进一步详细描述。
在步骤408上,2D DCT被应用至亮度与色度信道中的每一个,从而将信道变换成频域。该过程可用已知的技术来执行,并且在优选的示例中,由处理装置322以并行度非常高的方式执行,从而降低处理时间。每个信道上的变换处理的结果为8x8矩阵、具有64个频率系数、代表相应的图像信道内的不同频率分量的量级。
在步骤410上,一缩放因子被应用至每一个矩阵,例如通过将每个频率系数除以用该缩放因子除以每一频率系数,藉此从而降低每一个频率系数的强度量级。该缩放因子可以应为任何值,并且关于可不同的信道可以都不同。作为该过程的身为此处理的一部分,被缩放的该已的频率系数通常四舍五入为整数或其他设定的有效数字的数量,从而降低编码频率系数所需的数据的量。例如,系数500需要9位来编码,而50只需要6位来编码,因此应用缩放因子10可降低编码相应的频率系数所需的位数。
在此方式中,应了解,较低值系数可四舍五入为零,例如4被缩放为0.4,并因此四舍五入为零。虽然这导致信息损失,但是这种情况倾向针对已知对图像的整体外观作用较少的较高频率分量而发生,以及因此这种损失的影响有限。
在应用缩放因子之后,在步骤412上确定选择规则。选择规则被应用于允许频率分量中的某些频率分量被选择,使得在步骤414上其他频率分量被丢弃。选择通常是基于被定义为矩阵的对角线层次(hierarchy)层级来执行的,使得8x8频域矩阵包括分别具有1、2、3、4、5、6、7、8、7、6、5、4、3、2、1系数的15个层级。
被丢弃的层级通常是较高频率分量,这上面有提到较高频率分量对于图像的体现的贡献较低。根据优选实施方式,选择规则基于广泛的因素范围来定义哪个层级被丢弃。
例如,色度信道对于图像的体现的贡献通常低于亮度信道,使得相对于亮度信道来说,关于色度更多的层级通常被丢弃。因此,例如,针对亮度信道Y,保留层级1至8,对应于36个频率系数,如图5中的531上所示,而针对色度信道Cb和Cr,可保留层级1至6,对应于只有21个频率系数,如图5中的532和533上所示。应了解,这使在全部三个信道中需要进行编码的频率系数的总数从192降低到78。
基于规则选择哪个层级被保留,允许当选择哪个层级被保留时编码器和解码器应用相同标准,从而允许这以实时适当的方式被执行。这又允许基于其他因素(诸如在编码器和解码器之间通信的质量和带宽)选择不同层级。因此,如果由于干扰而带宽被降低,则可选择较少的层级,这将导致较高的压缩程度。虽然这将导致图像质量的降低,不过在许多应用(诸如VR)中,某些帧的质量的降低相比于丢失的帧或增加的延迟是较不明显的,且因此是较佳的结果。
其他因素可包括但不受限于显示装置的移动(尤其是移动的速率)、图像显示需求、目标显示分辨率、像素数组在一个或更多个图像内的位置以及在一个或更多个图像内的项素数组相对于一个或更多个图像的观察者的凝视点的位置。下面将更详细地描述进一步的示例。
在步骤416上,确定位编码方案,然后在步骤418上,允许使用不同位数来选择性地编码所选择的频率系数。在这方面,如上述,被缩放的频率分量可能只需要6位就可完全编码系数。因此,位编码方案被选择成使得用于编码频率系数的位数对于层次内的每个层级不同。这是可行的,因为较高频率分量通常具有较小的量级,且因此需要较少的位进行编码。
在一个示例中,用于亮度信道的编码方案不同于色度信道所使用的编码方案,其中示例编码方案显示于下面的表格1内。
表格1
图5中显示的是针对三个信道中的每个信道的前6个层级进行编码的该形式的示例。使用选择规则与位编码方案的这种特定组合导致以129位编码亮度信道541,并且用60位编码色度信道542、543中的每一者,导致只使用249位就可编码8x8像素数组的全部三个信道。应了解,这相较于需要192个字节的原始未压缩图像数据来说,代表超过六倍的压缩。
从此将可了解,具有0位的加密信道有效地对应于丢弃该信道,且因此这可通过使用编码规则选择编码方案,这可用作用于选择被编码的系数的方式,从而有效地将步骤412和414与416和418组合。
一旦编码已经被执行,则在步骤420上通过执行并行串行字节编码,允许这被表示为32个字节(256位),可将位编码的频率分量级连成位流。在步骤422上,字节被解析,以在步骤424上识别相同字节的子序列。具体来说,此方式被用于识别三个或更多个相同字节的子序列,这然后在步骤426上替换成代码,而不损失任何信息。
特别地,针对大部分图像,在所生成的编码的频率系数内有零字符串,其中被缩放的系数都被四舍五入为零。因此,这些可以用代码来替换,这可以由解码器来识别,允许解码器重新插入相同字节的子序列。
虽然代码可能具有任何合适的形式,但是在一个示例中,代码包括识别特定字节为代码的标头以及对应于相同字节的值与数量的信息。在优选的布置中,2字节代码使用布尔OR运算与一行中零的数目(number)(1-8)进行组合。在一个示例中,零的数目表示为N-1,使得数目0-7与该2字节代码进行OR运算,使得这些仅占用第二字节的3位。例如,所使用的代码可为(1111 1111;1111 1000),其中第二字节与根据零的数目的0-7进行OR运算。应了解,类似方式可用于不同的值。
此方式运作良好,因为编码很少导致连续数字超过或等于248的值,因此解码算法可以简单搜寻具有值为255的一个字节以及具有值大于或等于248的后续字节,将其识别为与编码频率分量相对的代码。然后用对应于具有由第二字节的最后3位所表示的一系列零的数目的数据的字节来取代该代码。这可导致在基于最新测试的位编码阶段之后数据进一步缩小19-25%。
在执行代码替换之后,在步骤428上压缩的图像数据可以被输出。具体地,压缩的图像数据通常被储存在输出缓冲区323内,直到有足够数据为止,此时数据包被建立并由收发器324传输至编码器。
在步骤430上,解码器330经由收发器334接收压缩的数据,将此储存在解码器输入缓冲区331内。在步骤432上如上述,数据被解析,以识别在该数据内的代码,在步骤434上这些代码用重复的相同字节的子序列来替换,从而重新建立位编码频率系数的位流。
在步骤436上,解码器处理装置332确定用于编码图像数据的位编码方案,用此来执行位流的串行并行解码,从而在步骤438上确定编码频率系数。特别地,这允许解码器处理装置332确定用于编码频率系数的位数,允许位流有效地被分割成各个编码频率系数。在步骤440上,各个频率系数被用于重新建立缩放的频率矩阵,使用空值产生被丢弃的频率系数,从而填满整个矩阵,接着在步骤442上基于缩放系数进行缩放。
在步骤444上,逆2D DCT变换被应用,这是在在步骤446上将针对每个YCbCr信道的变换矩阵转换成RGB信道之前,允许在步骤448上8x8像素块被输出,允许此被显示装置340来提供。
因此,上述处理允许显著减少对每个8x8像素块编码所需的图像数据的量,并且因此减少整体图像。特别地,这是使用YCbCr信道的2D DCT、对所生成的频率系数进行选择位编码和可选的最终无损编码方案的组合实现的。每个信道都可并行进行处理,以DCT以并行方式被应用到8x8数组。更进一步地,每个频率系数的位编码也是并行发生,产生大量并行方法,允许以迅速的方式执行压缩与解压缩,导致对延迟的最小影响,这在诸如VR、AR以及远程呈现的实时应用中是相当重要的。
现在将参阅图6和图7来描述实施选择规则的方式的示例。
特别地,此示例着重在可以如何使用图像内的像素数组的空间定位来影响选择处理,并因此影响所执行的压缩量。针对其他因素可执行类似处理,并且本文将不再详细描述。此处理对于编码器或解码器来说也都是相同的,所以仅为了说明的简单的目的,该描述将集中在编码器的操作上。
在此示例中,在步骤600上,编码器处理装置322确定针对目前信道的选择规则。在此方面,如先前所述,不同规则通常针对亮度与色度信道中每一者进行应用。然后在步骤605上,编码器处理装置322确定在图像内的像素数组的位置,并据此确定是否有与该位置有关的绝对规则。在此方面,当图像是使用头戴装置进行显示时,透镜布置通常意味着图像的该部分是不可见的。图7中显示了此示例,其显示的是图像的可见部分701以及不可见部分702。在此实例中,若像素数组位于不可见部分702内,则不需要对像素数组编码,并且因此处理可简单丢弃频率系数的所有层级。因此,在步骤610上若存在关于像素数组的绝对位置的规则,则该处理前往步骤625,允许相应的层级选择被确定,并且然后在步骤630上使用相应的位编码方案,如上面关于步骤414至418所述。
否则在步骤615上,编码器处理装置322确定图像的观察者的凝视点。如本领域技术人员所了解的,这可以运用眼睛追踪感测系统来实现。一旦这已经被确定,在步骤620上相对位置以及在一个示例中在凝视点与目前像素数组位置之间的距离被确定,在步骤625和630上用此来引导系数及/或位编码方案的确定。在此方面,当一个人的周边视野感受不到与其焦点位置相同的细节的层级时,所以可从使用者的凝视点开始进一步使用更大程度的压缩。
在一个示例中,可将使用者的凝视点四周定义成最低压缩的区域,压缩程度从最低区域往外移动增加。该区域可以具有任何形状,并且可根据特定环境是圆形、椭圆形、卵形等等。该区域也可相对于凝视点偏离中心,例如,因此确保在凝视点之下最小的压缩被使用,此区域一般来说就是使用者比较会察觉的区域。
亦应了解,在无法测量使用者的凝视点的环境中,这是可以被预测的。一般而言,该预测将聚焦在画面的中央,但应了解,这并非必需并且可以改变,例如基于诸如所代表的内容的性质、头戴装置移动的方向等因素。
因此,应了解,这说明允许基于在图像内的像素数组的绝对和/或相对位置来执行选择编码的机构。通过让编码器与解码器中的每一者都执行相同算法来选择编码方案以及所使用的选择,这允许解码器可靠地并精确地解压缩压缩的图像数据,同时仍旧允许动态执行编码以将整体压缩程度最大化,同时让可感受的图像质量损失降至最低。
应了解,类似方式可用于其他因素,诸如传输质量及/或带宽,因此确保压缩程度对于当前的环境最优。
现在将参考图8描述用于压缩图像数据以及后续解压缩压缩图像数据的方法的进一步的示例。
虽然用单独的示例进行描述,但是从以下描述将要了解的是,当前示例可与上述压缩/解压缩技术结合使用,以便用来进一步改善压缩与计算效率。特别地,上述技术代表在以下处理当中可运用的选项之一,但是也要了解的是,根据环境可适当使用其他压缩技术。
在此示例中,在步骤800上,从像素数据获得代表在一个或更多个图像内的像素数组的像素数据。这可用任何合适方式实现,但是通常涉及到缓冲所接收的图像数据,直到已经用类似上述方式获得像素数组,诸如8x8数组。
在步骤810上,编码方案被确定,通常是从一个或多个先前定义的编码方案当中选择编码方案,诸如上面关于图1至图7所描述的编码方案。选择可用任何适当方式来执行,诸如通过图像及/或像素数据的分析、基于与图像相关联的图像类型、基于来自图像来源或显示器的指令等等,并且这通常根据当前情况的特定需求,被执行来提供更高或更低程度的压缩。
在步骤820上,像素数据使用编码方案(例如使用上述技术等等)进行编码。在步骤830上,指示编码方案的编码代码是例如通过与可用方案相关联的查找(look-up),这与编码块一起进行使用来产生压缩的图像数据。在一个示例中,这可以通过在编码像素数据之前添加编码代码来实现,但是其他的方式也可以被使用,包括根据所使用的编码方案,简单地通过用编码代码取代像素数据,例如使用代码字符替换。
一旦已经建立压缩的图像数据,然后例如以字节流的一部分这可以被转移至目的地,允许这被解码以产生图像数据。
在步骤840上,该过程通常是通过确定来自该压缩的图像数据的编码代码来执行的。在此方面,编码代码通常具有一组格式,诸如位的特定组合,允许这在所接收字节流的内部容易被识别。通常通过步骤850上的查找过程,编码代码然后被用来确定所使用的编码方案。然后在步骤860上,所识别的编码方案可以被用来解码压缩的图像数据,例如使用上面关于图1至图7所描述的方式,从而产生代表在一个或更多个图像内的像素数组的像素数据。
因此,上述过程允许使用多个编码方案中的一个来执行编码。在优选的示例中,不同的编码方案之前已知被用于编码器与解码器,允许这些针对编码/解码的图像内的每个像素数组进行动态改变。这确保了编码方案被优化用于被编码的特定数据,从而最大化可以被实现的压缩,同时确保其他所要的特性(诸如图像质量与编码时间)被维持。
现在将描述一些另外的特征。
当编码图像时,该过程通常涉及到基于一系列不同因素中的一个因素或更更多个因素确定编码方案,所述因素包括图像数据的图像类型、从图像数据源或显示器接收的编码方案指示、通过分析图像数据与像素数据中的至少一者,或基于压缩需求,诸如要求的压缩量、所产生的图像质量、压缩延迟等等。
因此,例如,相对于计算机产生的图形在编码相片时可使用不同的编码类型,因为其通常具有非常不同的属性。从与图像相关联的元数据,或基于图像本身的属性,就可获得图像的性质。可选地,供应图像数据的图像来源,诸如供应图像数据以用于转移至显示器或其他计算装置的计算机系统,可指定应该被使用的编码方案。
进一步示例是分析像素数据以识别像素数组的特性。例如,若像素数组具有单个颜色,则可以使用与内含多种颜色的像素数组所用的不同的算法。这对于编码具有单个颜色的大面积图像(诸如天空或背景)特别有用,这允许指示纯色的单个编码代码被用来取代整个像素数组的像素数据,从而导致最大的压缩量,而对图像质量无有效损失。
进一步示例为梯度或边界的识别,其可导致使用许多图像压缩方式所得到的不期望的图像制品,且因此可能需要替代的压缩方式。
在一个优选的示例中,其中像素数组并非纯色,使用了关于图1至图7所描述的方式。在像素数组不含梯度或边界的情况下,技术可以涉及到编码所有三个YCbCr信道。然而,在像素数组包含梯度或边界的情况下,Y信道可不用编码,使得额外的亮度信息被保留。虽然这降低了所获得的最终压缩的量,但是由于CbCr信道的压缩,压缩的量仍然显著,而额外保留的颜色信息可显著改善梯度或边界区域内所生成的图像的质量。
选择也可以被用来控制压缩算法的其他方面。例如,这可以被用于以类似于关于图6中的过程所执行的方式,指定在上述压缩过程当中要保留哪个频率系数。
编码代码通常指定为从0至255的数字形式,这可用单个字节定义,并且其允许最多256种不同的编码方案供选择。这允许各种各样的编码方案被使用,而这些方案都分别指派给数字0至255,使得可使用各种各样的不同的编码方案,从而达成具有所要图像质量的最佳压缩。在一个特定示例中,应了解,编码方案的工业标准列表可以被建立,从而允许即使之前未沟通建立要使用的编码方案,也可让编码与解码系统协同运作。
在一个特定示例中,编码代码可以通过诸如“11111111”的固定格式前导字节来识别,使得用来选择被指派给数字1的编码方案的编码代码被给定为“1111111100000001”。应了解,执行此允许解码过程容易识别所使用的编码过程。然而,任何合适的方式都可以被使用,并且上面示例并非旨在限制。
应了解,当解码压缩的图像数据时,类似的方式被使用,该方式包括将编码代码替换成纯色的像素数组,或使用先前描述的解码过程。
亦应了解,可使用类似于上述的设备来执行图像压缩过程,因此不再进一步详细描述。
现在将参考图9A和图9B来更详细地描述另外的示例过程。
在此示例中,在步骤904上,编码器320从处理系统310接收图像数据,且特别是代表一系列图像的视频数据,以及在步骤902上暂时将此储存在编码器输入缓冲区321内。图像数据例如通过以下方式来进行分析:解析数据来识别限定标头的数据内的旗标、识别图像的开头等等,在步骤904上允许获取对应于接下来的8x8像素块的图像数据。应了解,这对应于上述步骤400至404,并且因此将不再进一步详细描述。
在步骤906上,编码器920选择要使用的编码方案。这可通过对8x8像素块的分析,例如确定块是否为单一颜色、梯度、边缘等等,或可根据由图像来源提供的信息来实现。
在显示的示例中,编码方案包括第一编码方案,其用于在步骤908上执行块替换,其中用给定预定的代码替换单色像素块。在步骤908上提供第二编码方案,在此示例中其对应于上述编码方案,并且特别地对应于步骤406至426。然而,应了解,可使用不同方案的任何数量N,在步骤910上选择并使用其他方案。
在步骤912上,代表所选择的编码方案的编码代码前置附加(prepended)至编码数据,在步骤914上将此数据当成压缩的图像数据来输出。
接着,解码可以通过以下方式来执行:在步骤916上使解码器330接收压缩的图像数据,并在步骤918上,检测编码代码存在,在步骤920上用此检测结果来选择适当的解码方案。例如:这可包括在步骤922上执行块替换,用单色像素块替换预定代码,或可包括在步骤924上执行步骤432-446的解码过程。同样,N个合适的解码方案可以被提供,而依照需求可在步骤926上选择并使用其他方案。
最终,在步骤928上,从解码器输出8x8像素块。
从此可了解,在步骤906上执行的选择过程执行要执行的分类功能,使得每个像素块都可以被指派给不同的编码方案。在一个示例中,最多可定义256个不同的方案,允许第三方引入关于先前描述的架构内的8x8像素块的新压缩/解压缩方案。另外,使用者可定义特定分类方案,使得例如根据要编码的图像内容性质、情况的需求(诸如延迟需求等等),例如256个方案的不同组合可用于不同环境。
这大大增加了可以被执行的编码的灵活性,并且特别地,允许使用针对每个像素块的分类处理来动态选择各个编码方案,从而根据具体情况优化对每个块的编码。另外,可以提供不同的分类方案,每个不同的分类方案允许访问编码方案的不同组合,从而进一步增加灵活性,允许使用者确保可在各种不同情况中执行最佳编码。
在另一个广泛形式中,上述图6和图7中描述的凹式压缩方案还可结合不同的加密方案来使用,以提供一种将来自形成数字现实内容的一部分的一个或更多个图像的图像数据进行压缩的方法,现在将参阅图10来进行描述。
在此示例中,该方法包括在步骤1000上从图像数据获得像素数据,像素数据代表在一个或更多个图像内的像素数组。这可用类似于上述方式来实现。
在步骤1010上,确定一个或更多个图像内的像素数组相对于定义的位置的位置,而该定义的位置至少部分地指示使用者的凝视点。定义的位置可以基于凝视的实际测量点,或使用者的预期的或预测的凝视点,例如通过假设使用者在开始时盯着图像的大致中心,或基于内容,例如图像内的焦点、头戴装置的移动等来确定。此外,定义的点可偏离凝视点,例如将此定位在凝视点底下,来考虑到个人倾向稍微聚焦在凝视点底下,以避免走路时撞到障碍物。
接着,在步骤1020上将像素数据进行压缩,来产生压缩的图像数据,该压缩至少部分是根据确定的位置来执行的,使得压缩程度取决于像素数组的确定的位置。
应了解,可执行类似的解压缩过程,其涉及到在步骤1030上获得压缩的图像数据,该压缩的图像数据代表在一个或更多个图像内的像素数组,并且至少部分基于一个或更多个图像内的像素数组相对于定义的位置的位置来进行压缩的,定义的位置至少部分指示使用者的凝视点,以及在步骤1040上至少部分根据确定的位置来解压缩压缩的图像数据。
因此,这提供了用于压缩与后续解压缩图像的机制,其中压缩是基于像素数组相对于定义的点的位置来进行控制的,这又至少部分基于使用者的预测的或测量的凝视点来进行控制。特别地,这允许基于像素数组的位置,选择压缩程度,使得在凝视点附近的区域可使用较少压缩,而远离凝视点的区域(例如使用者的视野周边内)可使用较大压缩。这实际上提供了凹式压缩,通过增加使用者的周边视野的压缩(其中降低的图像质量不太明显),从而允许实现更大的整体压缩,而无可察觉的质量损失。
应了解,此过程可与上述压缩过程结合使用,例如允许基于像素数组的位置来选择不同的压缩方案,并允许使用上述位编码方案。然而,这并非必需并且任何合适的压缩方案都可以被使用,诸如小波压缩、自适应采样等。
在任何情况下,现在将描述多个另外的特征。
在一个示例中,定义的位置是使用者的测量凝视点、使用者的预期凝视点、偏离使用者的测量凝视点之处、偏离使用者的预期凝视点之处以及至少部分根据指示使用者的凝视点的凝视数据所确定的点之一,其中凝视数据获自于凝视追踪系统。因此,定义的点可基于测量凝视点或预测点并且可偏移,诸如低于凝视点,以便优化压缩程度,而不会引起可感知的图像质量的降低。
压缩程度可基于与定义的点的距离,例如随着远离凝视点逐渐降低,但也可基于相对于定义的点的方向,使得压缩在高于或低于定义的点时较大。应了解,这允许在相对于凝视点定位的具有任意形状的区域中使用相应的压缩程度,并且这可以根据受压缩的内容的特定环境及/或性质来进行配置。例如,这允许围绕定义的点的椭圆形、卵形、或心形区域与周边区域相比具有降低的压缩量,从而在使用者对任何压缩物的感知将会更大的区域中最大化图像质量。
在一个示例中,方法包括选择多个编码方案中的一个,并使用所选的编码方案编码像素数据。因此,应了解,这允许结合类似于图8和图9中描述的技术来执行凹式压缩,其中使用的编码方案系基于像素数组的位置来选择的。因此,在一个示例中,每个编码方案都提供相应的压缩程度,并且其中,方法包括至少部分根据想要的压缩程度及/或像素数组的位置来选择编码方案。
过程还可以涉及确定指示所使用编码方案的编码代码,并使用编码代码和编码像素数据来产生压缩的图像数据,允许将其用于解码压缩的图像数据。然而,这并非必需的,并且可选地,解压缩过程可以涉及使用类似的标准(例如像素数组的位置以及因此所需的压缩程度)来确定所使用的编码方案。
在一个示例中,编码方案使用类似于上面关于图1所描述的方式,在此情形下,图像数据是通过以下方式进行压缩的:通过对像素数据应用变换以确定指示像素数组频率分量的一组频率系数,使用位编码方案选择性地编码至少某些频率系数,从而产生一组编码频率系数,并使用编码频率系数产生压缩的图像数据。然而,应了解,可使用任何一个或更多个合适压缩技术,诸如JPEG等等。
在优选的示例中,如上面图1的情形中,位编码方案定义用于将每个频率系数编码的位数,使得至少某些编码频率系数具有不同的位数。更典型地,使用较少的位数来编码对应于较高频率的频率系数,并且较佳的是,逐渐更少数量的位被用于对逐渐升高频率相对应的频率系数进行编码。在一个示例中,至少一些频率系数被丢弃(使用零位有效对其进行编码),使得该组编码频率系数小于该组频率系数,并且这些频率系数通常对应于较高频率。
在一个示例中,该方法包括选择多个位编码方案中的一个,并根据所选的位编码方案编码频率系数。因此,应了解,不同的编码方案可以对应于图1的编码方案,其中使用不同的位编码方案来用相应的不同的位数对不同的频率系数进行编码,从而提供不同的压缩程度。
因此,应了解,位编码方案可至少部分根据想要的压缩程度及/或像素数组的位置来进行选择。这又可取决于其他因素,例如像素数组的位置、用于传输压缩的图像数据的通信链路的传输带宽、用于传输压缩的图像数据的通信链路的传输服务质量、显示装置的移动、图像显示需求、目标显示分辨率、正在被处理的信道、误差度量等。如上述,这允许动态调整压缩以帮助优化压缩并获得当前情况下最佳可能图像质量的能力。
在一个示例中,频率分量是在多个层级内进行布置的,并且其中每个位编码方案定义要用来编码多个层级中的每一个层级内的频率系数的相应的位数。特别地,其中数组为N x N像素数组,这导致2N-1个层级的的频率分量,其中每个层级内的分量都用相应的位数编码。
如前所述,方法可包括以类似于上述方式应用缩放因子。
图像数据通常定义多个信道,其中方法包括针对每个信道选择性地编码频率系数。例如,像素数据可定义RGB信道,该RGB信道被转换成YCbCr信道,其然后如上述进行变换。此过程可以涉及相比于针对Cb或Cr信道选择性地针对Y信道编码更多频率系数、选择性地并行编码关于YCbCr信道的频率系数及/或选择性地编码关于CbCr信道的频率系数并使用该Y信道,使得该Y信道实际上未压缩。
在一个示例中,该变换为2-D离散余弦变换。
该方法通常还包括将图像数据缓冲,以获得像素数组,例如通过缓冲像素的n-1行,以及接下来的像素行的接下来n个像素,来形成第一nxn像素块。然后如前所述缓冲连续块,其中基于所选的位编码方案、想要的压缩程度及/或像素数组的位置,可选择性控制每个块中的像素数目。
频率系数通常并行编码,压缩的图像数据是通过并行串行字节编码所产生,但是也可使用其他合适的方式。
类似方式可用于将压缩的图像数据解码。
例如,对压缩的图像数据解码可包括选择多个解码方案中的一个,并使用所选的解码方案对像素数据解码,其中该选择是基于想要的压缩程度、像素数组的位置或压缩的图像数据内的编码代码进行的。
该方法可涉及使用与上述类似的解压缩方案,其可使用多个位编码方案中的一个来提供不同程度的压缩,通过针对多个层级中每一个中的频率系数,编码相应的位数。
缩放因子可以被应用到至少某些频率系数,使得被缩放的编码频率系数被解码,缩放因素被用来增加每个频率系数的量级。再者,不同的缩放因子可以被应用于至少某些编码频率系数,或相同的缩放因子被应用于每个编码频率系数。在任何情形中,不同的缩放因子可以被应用于不同信道内的编码频率系数。
可使用多个信道,其中这些信道中的每个信道都依照需要进行解码,这可通过使用串行并行字节解码并选择性地并行解码频率系数,来选择性地并行执行。
上述技术的想要的压缩程度可基于像素数组的位置、用于传输压缩的图像数据的通信链路的传输带宽、用于传输压缩的图像数据的通信链接的传输服务质量、显示装置的移动、图像显示需求、目标显示分辨率、正在被处理的信道或误差度量中的任何一个或更多个进行的。
这些技术可以被用于传输数字现实内容,包括增强现实、虚拟现实、混合现实、远程呈现等中的任何一个或更多个。这可包括经由通信网络及/或无线通信链路,从计算装置将图像数据传输到可穿戴的数字现实头戴装置。
因此,上述过程允许进行显著的图像压缩,而对于延迟没有不利的影响,允许将该技术用于使用现有硬件对虚拟或增强现实可穿戴的显示器提供无线连接,同时也允许在其他应用当中更广泛地实现已改良的图像压缩。
在本说明书和随附的权利要求中,除非上下文另有要求,否则文字“包括(comprise)”以及诸如“包括(comprises)”或“包括(comprising)”之类的变体将被理解为暗示包括所述整数群组或步骤,但不排除任何其他整数或整数群组。
本领域的技术人员将了解,许多变化和修改将将是明显的。对于本领域的技术人员明显的是所有这些变化和修改,都应落在上述本发明中广泛的精神和范畴内。

Claims (122)

1.一种将来自形成数字现实内容的一部分的一个或更多个图像中的图像数据压缩的方法,所述方法包括:
a)从所述图像数据获得像素数据,所述像素数据代表在所述一个或更多个图像内的像素数组;
b)确定在所述一个或更多个图像内的所述像素数组相对于定义的位置的位置,所述定义的位置至少部分指示使用者的凝视点;以及
c)将所述像素数据压缩以产生压缩的图像数据,所述像素数据至少部分地根据所确定的位置来进行压缩,使得压缩程度取决于所述像素数组的所述确定的位置。
2.如权利要求1所述的方法,其中,所述定义的位置为以下中至少一项:
a)所述使用者的测量凝视点;
b)所述使用者的预期凝视点;
c)偏离所述使用者的测量凝视点之处;
d)偏离所述使用者的预期凝视点之处;以及
e)至少部分根据指示所述使用者的凝视点的凝视数据所确定之处,所述凝视数据是从凝视追踪系统来获得的。
3.如权利要求1或2所述的方法,其中,所述方法包括压缩所述像素数据,使得所述压缩程度为以下中的至少一项:
a)基于与所述定义的点的距离;
b)基于相对于所述定义的点的方向;
c)随着远离所述定义的点增加;以及
d)提供凹式压缩。
4.如权利要求1至3中的任一项所述的方法,其中,所述方法包括:
a)选择多个编码方案中的一个编码方案;以及
b)使用所选择的编码方案对所述像素数据编码。
5.如权利要求4所述的方法,其中,所述编码方案中的每个编码方案提供相应的压缩程度,并且其中,所述方法包含至少部分根据以下中的至少一项来选择所述编码方案:
a)所要的压缩程度;以及
b)所述像素数组的位置。
6.如权利要求4或5所述的方法,其中,所述方法包括:
a)确定指示所使用所述编码方案的编码代码;以及
b)使用所述编码代码与编码的像素数据来产生压缩的图像数据。
7.如权利要求1至6中的任一项所述的方法,其中,所述方法包括使用编码方案,所述编码方案通过以下项来压缩所述像素数据:
a)对所述像素数据应用变换,以确定指示所述像素数组的频率分量的一组频率系数;
b)使用位编码方案选择性地对所述频率系数中的至少一些频率系数编码,从而产生一组编码频率系数;以及
c)使用所述编码频率系数产生压缩的图像数据。
8.如权利要求7所述的方法,其中,所述位编码方案定义用于编码所述频率系数中的每个频率系数的位数,并且其中,所述频率系数被选择性地编码,使得实现以下中的至少一项:
a)所述编码频率系数中的至少一些编码频率系数具有不同位数;
b)较少位数被用于将对应于较高频率的频率系数编码;
c)逐渐较少的位数被用于将对应于逐渐较高频率的频率系数编码;
d)至少一个频率系数被丢弃,使得所述一组编码频率系数小于所述一组频率系数;以及
e)对应于较高频率的至少一个频率系数被丢弃。
9.如权利要求7或8所述的方法,其中,所述方法包括:
a)选择多个位编码方案中的一个位编码方案;以及
b)根据所选择的位编码方案对所述频率系数编码。
10.如权利要求9所述的方法,其中,所述多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
11.如权利要求9或10所述的方法,其中,所述位编码方案是至少部分根据以下中的至少一项选择的:
a)所要的压缩程度;以及
b)所述像素数组的位置。
12.如权利要求9至11中的任一项所述的方法,其中,所述频率分量是以多个层级进行布置的,并且其中,每个位编码方案定义要用来编码所述多个层级中每个层级内的所述频率系数的相应的位数。
13.如权利要求12所述的方法,其中,所述数组为N x N像素数组,导致2N-1个频率分量的层级。
14.如权利要求7至13中的任一项所述的方法,其中,所述方法包括将缩放因子应用到所述频率系数中的至少一些频率系数,使得被缩放的频率系数被编码,所述缩放因子被用来减少每个频率系数的量级,并且其中,以下中的至少一项成立:
a)不同的缩放因子被应用到至少一些频率系数;
b)相同的缩放因子被应用到每个频率系数;以及
c)不同的缩放因子被应用到不同信道内的频率系数。
15.如权利要求7至14中的任一项所述的方法,其中,所述图像数据定义多个信道,并且其中,所述方法包括针对每个信道选择性地编码频率系数。
16.如权利要求15所述的方法,其中,所述像素数据定义RGB信道,并且其中,所述方法包括:
a)将所述RGB信道转换成YCbCr信道;以及
b)变换所述YCbCr信道。
17.如权利要求16所述的方法,其中,所述方法包括以下中的至少一项:
a)相比于针对所述Cb或Cr信道,选择性地针对所述Y信道编码更多频率系数;
b)选择性地针对所述YCbCr信道并行编码频率系数;以及
c)选择性地针对所述CbCr信道编码频率系数并使用所述Y信道。
18.如权利要求1至17中的任一项所述的方法,其中,所述变换为2-D离散余弦变换。
19.如权利要求1至18中的任一项所述的方法,其中,所述方法包括通过以下项从图像数据获得像素数据:
a)缓冲对应于所述图像的接下来的n-1个像素行的图像数据;
b)缓冲关于接下来的像素行的接下来的n个像素的图像数据;
c)从所缓冲的图像数据中获得关于接下来的nxn像素块的像素数据;
d)重复步骤b)和c),直到已经从所有的n行像素中获得像素数据为止;以及
e)重复步骤a)至d),直到已经从所述图像的每个像素行中获得像素数据为止。
20.如权利要求19所述的方法,其中,n是基于以下中的至少一项进行选择的:
a)选择的位编码方案;
b)所要的压缩程度;以及
c)所述像素数组的位置。
21.如权利要求1至20中的任一项所述的方法,其中,所述方法包括:
a)选择性地并行编码频率系数;以及
b)至少部分通过并行串行字节编码来产生压缩的图像数据。
22.一种将来自形成数字现实内容的部分的一个或更多个图像中的压缩的图像数据解压缩的方法,所述方法包括:
a)获得压缩的图像数据,所述压缩的图像数据代表在所述一个或更多个图像内的像素数组,并且至少部分基于在所述一个或更多个图像内的所述像素数组相对于定义的位置的位置来进行压缩的,所述定义的位置至少部分指示使用者的凝视点;以及
b)至少部分地根据所述确定的位置来将所述压缩的图像数据解压缩。
23.如权利要求22所述的方法,其中,所述定义的位置为以下中的至少一项:
a)所述使用者的测量凝视点;
b)所述使用者的预期凝视点;
c)偏移所述使用者的测量凝视点之处;
d)偏移所述使用者的预期凝视点之处;以及
e)至少部分地根据指示所述使用者的凝视点的凝视数据所确定之处,所述凝视数据是从凝视追踪系统获得的。
24.如权利要求22或23所述的方法,其中所述方法包括:
a)选择多个解码方案中的一个解码方案;以及
b)使用所选择的解码方案对所述像素数据解码。
25.如权利要求24所述的方法,其中,所述方法包括至少部分地根据以下中的至少一项来选择所述解码方案:
a)所要的压缩程度;
b)所述像素数组的位置;以及
c)指示所使用的所述编码方案的编码代码,所述编码代码是根据所述压缩的图像数据确定的。
26.如权利要求22至25中的任一项所述的方法,其中,所述方法包括使用解码方案,所述解码方案通过以下项来对压缩的图像数据进行解压缩:
a)根据定义每个编码频率系数内所使用位数的位编码方案,从所述压缩的图像数据确定一组编码频率系数;
b)根据所述位编码方案来执行对所述编码频率系数的位解码,从而产生一组频率系数,其中,至少一个频率系数被产生,使得所述一组编码频率系数小于所述一组频率系数;以及
c)对所述一组频率系数应用逆变换,以确定代表在所述一个或更多个图像内的像素数组的像素数据。
27.如权利要求26所述的方法,其中,所述位编码方案定义用于编码所述频率系数中的每个频率系数的所述位数,所述位编码方案使用较少的位数来编码对应于较高频率的频率系数,并且其中,所述方法包括产生对应于较高频率的所述频率系数中至少一些频率系数。
28.如权利要求26或27所述的方法,其中,所述方法包括:
a)选择多个位编码方案中的一个位编码方案;以及
b)根据所选择的位编码方案对所述编码频率系数解码。
29.如权利要求28所述的方法,其中,所述多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
30.如权利要求28或29所述的方法,其中,所述位编码方案是至少部分根据以下中的至少一项来选择的:
a)编码代码;
b)用来产生所述压缩的图像数据的所述位编码方案;以及
c)所述像素数组的位置。
31.如权利要求28至30中的任一项所述的方法,其中,所述频率分量是以多个层级进行布置的,并且其中,每个位编码方案定义要用来编码所述多个层级中每个层级内的所述频率系数的相应的位数。
32.如权利要求31所述的方法,其中,所述数组为N x N像素数组,导致2N-1个频率分量的层级。
33.如权利要求26至32中的任一项所述的方法,其中,所述方法包括将缩放因子应用到所述频率系数中的至少一些频率系数,使得被缩放的频率系数被解码,所述缩放因子被用来增加每个频率系数的量级,并且其中以下中的至少一项成立:
a)不同的缩放因子被应用到至少一些编码频率系数;
b)相同的缩放因子被应用到每个编码频率系数;以及
c)不同的缩放因子被应用到不同的信道内的编码频率系数。
34.如权利要求26至33中的任一项所述的方法,其中,所述图像数据定义多个信道,并且其中,所述方法包括针对每个信道选择性地解码编码的频率系数。
35.如权利要求34所述的方法,其中,所述压缩的像素数据定义YCbCr信道,并且其中,所述方法包括:
a)执行对所述YCbCr信道的逆变换;以及
b)将所变换的YCbCr信道转换成RGB信道。
36.如权利要求35所述的方法,其中,所述方法包括以下中的至少一项:
a)相比于针对所述Y信道,针对所述Cb或Cr信道产生更多频率系数;
b)并行解码所编码的YCbCr信道;以及
c)解码所述CbCr信道,并将所解码的CbCr信道与所述Y信道转换成RGB信道。
37.如权利要求26至36中的任一项所述的方法,其中,所述逆变换为逆2-D离散余弦变换。
38.如权利要求26至37中的任一项所述的方法,其中,所述方法包括:
a)至少部分通过串行并行字节解码来解码压缩的图像数据;以及
b)并行选择性地解码频率系数。
39.如权利要求5、11、20、25和30中的任一项所述的方法,其中,所要的压缩程度是基于以下中的至少一项确定的:
a)所述像素数组的位置;
b)用来传输所述压缩的图像数据的通信链路的传输带宽;
c)用来传输所述压缩的图像数据的通信链路的传输服务质量;
d)显示装置的移动;
e)图像显示需求;
f)目标显示分辨率;
g)正在被处理的信道;以及
h)误差度量。
40.如权利要求1至39中的任一项所述的方法,其中,所述数字现实是以下中的至少一项:
a)增强现实;
b)虚拟现实;
c)混合现实;以及
d)远程呈现。
41.如权利要求1至40中的任一项所述的方法,其中,所述方法被用于经由以下中的至少一项将来自计算装置的所述图像数据传输至可穿戴数字现实头戴装置:
a)通信网络;以及
b)无线通信链路。
42.一种将来自形成数字现实内容的部分的一个或更多个图像中的图像数据压缩的设备,所述设备包括至少一个电子编码器处理装置,所述至少一个电子编码器处理装置:
a)从所述图像数据获得像素数据,所述像素数据代表在所述一个或更多个图像内的像素数组;
b)确定在所述一个或更多个图像内的所述像素数组相对于定义的位置的位置,所述定义的位置至少部分指示使用者的凝视点;以及
c)至少部分根据所确定的位置将所述图像数据压缩,使得压缩程度取决于所述像素数组的所述确定的位置。
43.一种用于将来自形成数字现实内容的部分的一个或更多个图像中的压缩的图像数据解压缩的设备,所述设备包括至少一个电子解码器处理装置,所述至少一个电子解码器处理装置:
a)获得压缩的图像数据,所述压缩的图像数据代表在所述一个或更多个图像内的像素数组,并且至少部分地基于在所述一个或更多个图像内的所述像素数组相对于定义的位置的位置来进行压缩,所述定义的位置至少部分指示所述使用者的凝视点;以及
b)至少部分地根据所述确定的位置来将所述压缩的图像数据解压缩。
44.一种将代表一个或更多个图像的图像数据压缩的方法,所述方法包括:
a)从所述图像数据获得像素数据,所述像素数据代表在所述一个或更多个图像内的像素数组;
b)对所述像素数据应用变换,以确定指示所述像素数组的频率分量的一组频率系数;
c)使用位编码方案选择性地编码所述频率系数中的至少一些频率系数,从而产生一组编码频率系数,其中,所述位编码方案定义用于将所述频率系数中的每个频率系数编码的位数,使得当所述频率系数被选择性地编码时:
i)所述编码频率系数中的至少一些编码频率系数是使用不同的位数进行编码的;以及
ii)至少一个频率系数被丢弃,使得所述一组编码频率系数小于所述一组频率系数;以及
d)使用所述编码频率系数产生压缩的图像数据。
45.如权利要求44所述的方法,其中,所述频率系数被选择性地编码,使得实现以下中的至少一项:
a)被用于编码每个频率系数的位数被定义,而与相应的频率系数的值无关;
b)较少的位数被用于将对应于较高频率的频率系数编码;
c)逐渐较少的位数被用于将对应于逐渐较高频率的频率系数编码;
d)对应于较高频率的至少一个频率系数被丢弃。
46.如权利要求44或45所述的方法,其中,所述方法包括将缩放因子应用到所述频率系数中的至少一些频率系数,使得被缩放的频率系数被编码,并且其中以下中的至少一项成立:
a)不同的缩放因子被应用到至少一些频率系数;
b)相同的缩放因子被应用到每个频率系数;以及
c)所述缩放因子被用来降低每个频率系数的量级。
47.如权利要求44至46中的任一项所述的方法,其中,所述方法包括:
a)选择多个编码方案中的一个编码方案;以及
b)使用所选择的编码方案对所述像素数据编码。
48.如权利要求47所述的方法,其中,所述编码方案中的每个编码方案提供相应的压缩程度,并且其中,所述方法包含至少部分地根据以下中至少一项来选择所述编码方案:
a)所要的压缩程度;以及
b)所述像素数组的位置。
49.如权利要求44至48中的任一项所述的方法,其中,所述方法包括根据以下中的至少一项选择性地编码频率系数:
a)选择规则;
b)所要的压缩程度;以及
c)在所述一个或更多个图像内所述像素数组的位置。
50.如权利要求49所述的方法,其中,所述方法包括:
a)选择多个位编码方案中的一个位编码方案;以及
b)根据所选择的位编码方案对所述频率系数编码。
51.如权利要求50所述的方法,其中,所述多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
52.如权利要求50或51所述的方法,其中,所述位编码方案是至少部分根据以下中至少一项进行选择的:
a)选择规则;
b)所要的压缩程度;以及
c)所述像素数组的位置。
53.如权利要求50至52中的任一项所述的方法,其中,所述方法包括基于以下中的至少一项选择所述位编码方案:
a)用于传输所述压缩的图像数据的通信链路的传输带宽;
b)用于传输所述压缩的图像数据的通信链路的传输服务质量;
c)显示装置的移动;
d)图像显示需求;
e)目标显示分辨率;
f)正在被处理的信道;
g)在所述一个或更多个图像内的所述像素数组的位置;
h)在所述一个或更多个图像内所述像素数组相对于所述一个或更多个图像的观察者的凝视点的位置;以及
i)误差度量。
54.如权利要求50至53中的任一项所述的方法,其中,所述频率分量是以多个层级进行布置的,并且其中,每个位编码方案定义要用来编码所述多个层级中每个层级内的所述频率系数的相应的位数。
55.如权利要求54所述的方法,其中,所述数组为N x N像素数组,导致2N-1个频率分量的层级。
56.如权利要求44至55中的任一项所述的方法,其中,所述方法包括:
a)确定所述一个或更多个图像的观察者的凝视点;
b)至少部分地根据所述凝视点选择性地编码频率系数。
57.如权利要求56所述的方法,其中,所述方法包括:
a)确定在所述凝视点与在所述一个或更多个图像内所述像素数组的位置间的距离;以及
b)根据所述距离选择性地编码频率系数,使得对于较大的距离,较少的频率系数被编码。
58.如权利要求44至57中的任一项所述的方法,其中,所述图像数据定义多个信道,并且其中,所述方法包括选择性地编码关于每个信道的频率系数。
59.如权利要求58所述的方法,其中,所述像素数据定义RGB信道,并且其中,所述方法包括:
a)将所述RGB信道转换成YCbCr信道;以及
b)变换所述YCbCr信道。
60.如权利要求59所述的方法,其中,所述方法包括以下中的至少一项:
a)相比于所述Cb或Cr信道,针对所述Y信道选择性地编码更多频率系数;
b)选择性地并行编码关于所述YCbCr信道的更多频率系数;以及
c)通过以下产生所述压缩的图像数据:
i)编码所述CbCr信道;以及
ii)使用所述Y信道。
61.如权利要求44至60中的任一项所述的方法,其中,所述变换为2-D离散余弦变换。
62.如权利要求44至61中的任一项所述的方法,其中,所述方法包括从视频馈送中获得所述像素数据。
63.如权利要求44至62中的任一项所述的方法,其中,所述方法包括通过以下项从图像数据获得像素数据:
a)缓冲对应于所述图像的接下来的n-1个像素行的图像数据;
b)缓冲关于接下来的像素行的接下来的n个像素的图像数据;
c)从所缓冲的图像数据中获得关于接下来的nxn像素块的像素数据;
d)重复步骤b)和c),直到已经从所有的n个像素行中获得像素数据为止;以及
e)重复步骤a)至d),直到已经从所述图像的每个像素行中获得像素数据为止。
64.如权利要求63所述的方法,其中,n是基于以下中的至少一项进行选择的:
a)选择规则;
b)所选择的位编码方案;以及
c)所述像素数组的位置。
65.如权利要求44至64中的任一项所述的方法,其中,所述方法包括:
a)选择性地并行编码频率系数;以及
b)至少部分地通过并行串行字节编码来产生压缩的图像数据。
66.一种将代表一个或更多个图像的图像数据压缩的设备,所述设备包括至少一个电子编码器处理装置,所述至少一个电子编码器处理装置:
a)从所述图像数据获得像素数据,所述像素数据代表在所述一个或更多个图像内的像素数组;
b)对所述像素数据应用变换,以确定指示所述像素数组的频率分量的一组频率系数;
c)使用位编码方案选择性地编码所述频率系数中的至少一些频率系数,从而产生一组编码频率系数,其中,所述位编码方案定义用于将所述频率系数编码的位数,并且其中,所述频率系数被选择性地编码,使得:
i)所述编码频率系数中的至少一些编码频率系数具有不同的位数;
ii)至少一个频率系数被丢弃,使得所述一组编码频率系数小于所述一组频率系数;以及
d)使用所述编码频率系数产生压缩的图像数据。
67.如权利要求66所述的设备,其中,所述设备包括:
a)编码器输入缓冲区,所述编码器输入缓冲区接收所述图像数据;以及
b)编码器输出缓冲区,所述编码器输出缓冲区储存压缩的图像数据。
68.如权利要求66或67的设备,其中,所述设备包括编码器输入缓冲区,所述编码器输入缓冲区:
a)缓冲对应于所述图像的接下来的n-1个像素行的图像数据;
b)缓冲关于接下来的像素行中接下来的n个像素的图像数据,允许所述至少一个编码器处理装置从所缓冲的图像数据中获取关于接下来的nxn像素块的像素数据;
c)重复步骤b),直到已经从所有的n个像素行中获得像素数据为止;以及
d)重复步骤a)和b),直到已经从所述图像的每个像素行中获得像素数据为止。
69.如权利要求66至68中的任一项所述的设备,其中,所述设备包括编码器传输器,所述编码器传输器传输来自所述编码器输出缓冲区的所述图像数据。
70.如权利要求66至69中的任一项所述的设备,其中,所述至少一个编码器处理装置包括:
a)被适当编程的现场可编程门阵列;
b)专用集成电路;以及
c)图形处理单元。
71.如权利要求66至70中的任一项所述的设备,其中,所述像素数据定义多个信道,并且其中,所述设备包括:
a)关于每个信道的相应的处理装置;以及
b)用于并行处理每个信道的并行处理装置。
72.如权利要求71所述的设备,其中,所述像素数据定义RGB信道,并且其中,所述设备:
a)将所述RGB信道转换成YCbCr信道;以及
b)使用至少一个处理装置选择性地编码所述YCbCr信道。
73.如权利要求66至72中的任一项所述的设备,其中,所述像素数据定义RGB信道,并且其中,所述设备:
a)使用YCbCr处理装置来将所述RGB信道转换成CbCr信道;
b)使用至少一个相应的处理装置将所述CbCr信道解码;以及
c)使用延迟块将所述Y信道从所述YCbCr处理装置转移至输出缓冲区。
74.如权利要求66至73中的任一项所述的设备,其中,所述设备包括编码器,所述编码器以无线通信方式与解码器通信,允许图像数据作为压缩的图像数据在所述编码器与所述解码器之间进行转移。
75.如权利要求74所述的设备,其中,所述编码器为以下两种情况中的至少一者:被耦合至被适当编程处理系统,以及为所述被适当编程处理系统的一部分。
76.如权利要求74或74所述的设备,其中,所述解码器为以下两种情况中的至少一者:被耦合至可穿戴显示装置,以及作为可穿戴显示装置的一部分。
77.如权利要求74至76中的任一项所述的设备,其中,所述编码器与解码器通信以交换以下中的至少一项:
a)压缩的图像数据;
b)指示显示装置的移动的移动数据;
c)被至少部分用来控制所述显示装置的控制数据;
d)指示使用者输入命令的输入数据;
e)指示观察者的凝视点的凝视数据;以及
f)来自与可穿戴显示装置相关联的传感器的传感器数据。
78.如权利要求66至77中的任一项所述的设备,其中,所述设备执行如权利要求44至65中的任一项所述的方法。
79.一种将代表一个或更多个图像的压缩的图像数据解压缩的方法,所述方法包括:
a)获得压缩的图像数据;
b)根据定义每个编码频率系数内所使用的位数的位编码方案,从所述压缩的图像数据确定一组编码频率系数;
c)根据所述位编码方案来执行对所述编码频率系数的位解码,从而产生一组频率系数,其中,至少一个频率系数被产生,使得所述一组编码频率系数小于所述一组频率系数;以及
d)对所述一组频率系数应用逆变换,来确定代表在所述一个或更多个图像内的像素数组的像素数据。
80.如权利要求79所述的方法,其中,所述方法包括:
a)选择多个解码方案中的一个解码方案;以及
b)使用所选择的解码方案将所述像素数据解码。
81.如权利要求80所述的方法,其中,所述方法包括至少部分地根据以下中的至少一项选择所述解码方案:
a)选择规则;
b)所要的压缩程度;
c)所述像素数组的位置;以及
d)指示所使用的所述编码方案的编码代码,所述编码代码是根据所述压缩的图像数据确定的。
82.如权利要求81所述的方法,其中,所述位编码方案使用较少的位数,来编码对应于较高频率的频率系数,并且其中,所述方法包括产生对应于较高频率的所述频率系数中的至少一些频率系数。
83.如权利要求79至82中的任一项所述的方法,其中,所述方法包括将缩放因子应用到所述频率系数中的至少一些频率系数,使得被缩放的频率系数被变换,并且其中以下中的至少一项成立:
a)不同的缩放因子被应用到至少一些编码频率系数;
b)相同的缩放因子被应用到每个编码频率系数;以及
c)所述缩放因子用来增加每个编码频率系数的量级。
84.如权利要求79至83中的任一项所述的方法,其中,所述方法包括:
a)选择多个位编码方案中的一个位编码方案;以及
b)根据所述选择的位编码方案对所述编码频率系数解码。
85.如权利要求84所述的方法,其中,所述多个位编码方案中的每个位编码方案选择性地用相应的不同的位数来编码不同的频率系数,以提供不同的压缩程度。
86.如权利要求84或85所述的方法,其中,所述位编码方案是至少部分地根据以下中的至少一项选择的:
a)编码代码;
b)选择规则;
c)所要的压缩程度;以及
d)所述像素数组的位置。
87.如权利要求86所述的方法,其中,所述选择规则取决于以下中的至少一项:
a)用于传输所述压缩的图像数据的通信链路的传输带宽;
b)用于传输所述压缩的图像数据的通信链路的传输服务质量;
c)显示装置的移动;
d)图像显示需求;
e)目标显示分辨率;
f)正在被处理的信道;
g)在所述一个或更多个图像内的所述像素数组的位置;
h)在所述一个或更多个图像内所述像素数组相对于所述一个或更多个图像的观察者的凝视点的位置;以及
i)误差度量。
88.如权利要求79至87中的任一项所述的方法,其中,所述方法包括:
a)确定所述一个或更多个图像的观察者的凝视点;
b)至少部分地根据所述凝视点选择性地将编码频率系数解码。
89.如权利要求88所述的方法,其中,所述方法包括:
a)确定在所述凝视点与所述一个或更多个图像内所述像素数组的位置间的距离;以及
b)根据所述距离选择性地将所述编码频率系数解码,使得对于较大的距离,较多的频率系数被产生。
90.如权利要求79至89中的任一项所述的方法,其中,所述频率分量是以多个层级进行布置的,并且其中,每个位编码方案定义要用来编码所述多个层级中的每个层级内的所述频率系数的相应的位数。
91.如权利要求90所述的方法,其中,所述数组为N x N像素数组,导致2N-1个频率分量的层级。
92.如权利要求79至91中的任一项所述的方法,其中,所述图像数据定义多个信道,并且其中,所述方法包括选择性地解码关于每个信道的编码频率系数。
93.如权利要求92所述的方法,其中,所述压缩的图像数据定义YCbCr信道,并且其中,所述方法包括:
a)执行所述YCbCr信道的逆变换;以及
b)将所变换的YCbCr信道转换成RGB信道。
94.如权利要求92或权利要求93所述的方法,其中所述方法包括以下项中的至少一项:
a)相比于所述Y信道,关于所述Cb或Cr信道产生更多频率系数;
b)并行解码所述编码YCbCr信道;
c)解码所述CbCr信道,并将所解码的CbCr信道与所述Y信道转换成RGB信道。
95.如权利要求79至94中的任一项所述的方法,其中,所述逆变换为逆2-D离散余弦变换。
96.如权利要求79至95中的任一项所述的方法,其中,所述方法包括使用所述像素数据来产生视频馈送。
97.如权利要求79至96中的任一项所述的方法,其中,所述方法包括:
a)至少部分通过串行并行字节解码来解码压缩的图像数据;以及
b)并行选择性地解码频率系数。
98.如权利要求44至65或第79至97中的任一项所述的方法,其中,所述数字现实为以下中的至少一项:
a)增强现实;
b)虚拟现实;以及
c)混合现实。
99.如权利要求44至65或79至98中的任一项所述的方法,其中,所述方法用于通过经由以下中的至少一项接收来自计算装置的所述压缩图像数据来在可穿戴数字现实头戴装置内显示图像数据:
a)通信网络;以及
b)无线通信链路。
100.如权利要求44至65或79至99中的任一项所述的方法,其中,所述方法被用于以下中的至少一项:
a)传输虚拟现实视频数据;以及
b)无线传输虚拟现实视频数据。
101.一种用于将代表一个或更多个图像的压缩的图像数据解压缩的设备,所述设备包括至少一个电子解码器处理装置,所述至少一个电子解码器处理装置:
a)获得压缩的图像数据;
b)根据定义用于每个编码频率系数中的位数的位编码方案,从所述压缩的图像数据确定一组编码频率系数;
c)根据所述位编码方案来执行所述编码频率系数的位解码,从而产生一组频率系数,其中,至少一个频率系数被产生,使得所述一组编码频率系数小于所述一组频率系数;以及
d)对所述一组频率系数应用逆变换,以确定代表在所述一个或更多个图像内的像素数组的像素数据。
102.如权利要求101所述的设备,其中,所述设备包括:
a)解码器输入缓冲区,所述解码器输入缓冲区接收所述压缩的图像数据;以及
b)解码器输出缓冲区,所述解码器输出缓冲区储存所述图像数据。
103.如权利要求102所述的设备,其中,所述设备包含解码器收发器,所述解码器收发器接收所述压缩的图像数据并将所述压缩的图像数据提供至所述输入缓冲区。
104.如权利要求101至103中的任一项所述的设备,其中,所述至少一个解码器处理装置包括以下中的至少一项:
a)现场可编程门阵列;
b)专用集成电路;以及
c)图形处理单元。
105.如权利要求101至104中的任一项所述的设备,其中,所述压缩的图像数据定义多个信道,并且其中,所述设备包括以下中的至少一项:
a)关于所述信道中的每个信道的相应的处理装置;以及
b)用于并行处理每个信道的并行处理装置。
106.如权利要求105所述的设备,其中,所述压缩的图像数据定义YCbCr信道,并且其中,所述设备:
a)使用至少一个处理装置将所述CbCr信道解码;以及
b)将所解码的YCbCr信道转换成RGB信道。
107.如权利要求105或106所述的设备,其中,所述压缩的图像数据定义YCbCr信道,并且其中,所述设备:
a)使用至少一个处理装置将所述CbCr信道解码;
b)使用RGB处理装置,将所解码的CbCr信道与所述Y信道转换成RGB信道;以及
c)使用延迟块将所述Y信道从解码器输入缓冲区转移至所述RGB处理装置。
108.如权利要求101至107中的任一项所述的设备,其中,所述设备包括解码器,所述解码器以无线通信方式与编码器通信,允许图像数据作为压缩的图像数据在所述编码器与解码器之间进行转移。
109.如权利要求108所述的设备,其中,所述解码器为以下两种情况中的至少一者:被耦合至被适当编程的计算机系统,以及是被适当编程的计算机系统的一部分。
110.如权利要求108或109所述的设备,其中,所述解码器为以下两种情况中的至少一者:被耦合至可穿戴显示装置,以及是可穿戴显示装置的一部分。
111.如权利要求101至110中的任一项所述的设备,其中,所述解码器与编码器通信来交换以下中的至少一项:
a)压缩的图像数据;
b)指示显示装置的移动的移动数据;
c)至少部分用于控制所述显示装置的控制数据;
d)指示使用者输入命令的输入数据;
e)指示观察者的凝视点的凝视数据;以及
f)来自与可穿戴显示装置相关联的传感器的传感器数据。
112.如权利要求101至111中的任一项所述的设备,其中,所述设备执行如权利要求79至100中的任一项所述的方法。
113.一种将代表一个或更多个图像的图像数据压缩的方法,所述方法包括:
a)从所述图像数据获得像素数据,所述像素数据代表在所述一个或更多个图像内的像素数组;
b)确定编码方案;
c)使用所述编码方案对所述像素数据编码;
d)确定指示所使用的编码方案的编码代码;以及
e)使用所述编码代码与编码像素数据来产生压缩的图像数据。
114.如权利要求113所述的方法,其中,所述方法包括通过以下中的至少一项确定所述编码方案:
a)基于所述图像数据的图像类型;
b)基于从图像数据源接收的编码方案指示;
c)通过分析所述图像数据与所述像素数据中的至少一者;以及
d)基于包含以下中的至少一项的压缩需求:
i)压缩量;
ii)所产生的图像质量;以及
iii)压缩延迟。
115.如权利要求114所述的方法,其中,所述方法包括分析所述像素数据来确定所述像素数组是否为以下中的至少一项:
a)梯度;
b)边界;以及
c)单一颜色。
116.如权利要求113至115中的任一项所述的方法,其中,所述方法包括以下中的至少一项:
a)若所述像素数组为纯色,则将所述像素数组替换为指示所述纯色的编码代码;
b)若所述像素数组为梯度,则所述方法包含使用如权利要求60所述的方法来将所述像素数据编码;以及
c)使用如权利要求1至21或44至65中的任一项所述的方法来将所述像素数据编码。
117.一种用于将代表一个或更多个图像的图像数据压缩的设备,所述设备包括至少一个电子编码器处理装置,所述至少一个电子编码器处理装置:
a)从所述图像数据获得像素数据,所述像素数据代表在所述一个或更多个图像内的像素数组;
b)确定编码方案;
c)使用所述编码方案对所述像素数据编码;
d)确定指示所使用的编码方案的编码代码;以及
e)使用所述编码频率系数产生压缩的图像数据。
118.如权利要求117所述的设备,其中,所述设备执行如权利要求113至116中的任一项所述的方法。
119.一种将代表一个或更多个图像的压缩的图像数据解压缩的方法,所述方法包括:
a)获得压缩的图像数据;
b)从所述压缩的图像数据确定编码代码;
c)使用所述编码代码确定编码方案;以及
d)使用所述编码方案将所述压缩的图像数据的至少一部分解码,以确定代表在所述一个或更多个图像内的像素数组的像素数据。
120.如权利要求119所述的方法,其中,所述方法包括以下中的至少一项:
a)将编码代码替换为纯色的像素数组;
b)使用如权利要求94所述的方法来将压缩的图像数据解码为关于梯度的像素数组;以及
c)使用如权利要求21至39或79至96中的任一项所述的方法来将所述压缩的图像数据解码。
121.一种用于将代表一个或更多个图像的压缩的图像数据解压缩的设备,所述设备包括至少一个电子解码器处理装置,所述至少一个电子解码器处理装置:
a)获得压缩的图像数据;
b)从所述压缩的图像数据确定编码代码;
c)使用所述编码代码确定编码方案;以及
d)使用所述编码方案将所述压缩的图像数据的至少一部分解码,以确定代表在所述一个或更多个图像内的像素数组的像素数据。
122.如权利要求121所述的设备,其中,所述设备执行如权利要求119和120中的任一项所述的方法。
CN201780050329.0A 2016-06-17 2017-06-14 图像压缩方法与设备 Pending CN109643456A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662351738P 2016-06-17 2016-06-17
US62/351,738 2016-06-17
AU2016905048A AU2016905048A0 (en) 2016-12-07 Image compression method and apparatus
AU2016905048 2016-12-07
PCT/AU2017/050594 WO2017214671A1 (en) 2016-06-17 2017-06-14 Image compression method and apparatus

Publications (1)

Publication Number Publication Date
CN109643456A true CN109643456A (zh) 2019-04-16

Family

ID=65758306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780050329.0A Pending CN109643456A (zh) 2016-06-17 2017-06-14 图像压缩方法与设备

Country Status (3)

Country Link
US (2) US10657674B2 (zh)
EP (1) EP3472806A4 (zh)
CN (1) CN109643456A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033787A (zh) * 2019-12-24 2021-06-25 中科寒武纪科技股份有限公司 一种量化神经网络矩阵的方法、设备、计算机产品及板卡

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109643456A (zh) 2016-06-17 2019-04-16 因默希弗机器人私人有限公司 图像压缩方法与设备
CN110494193A (zh) 2017-02-08 2019-11-22 因默希弗机器人私人有限公司 向多人游戏场地中的用户显示内容
GB2562204B (en) * 2017-03-15 2022-07-20 Avago Tech Int Sales Pte Lid Apparatus and method for generating a laplacian pyramid
WO2018223179A1 (en) * 2017-06-05 2018-12-13 Immersive Robotics Pty Ltd Digital content stream compression
CN111699693A (zh) * 2017-11-21 2020-09-22 因默希弗机器人私人有限公司 用于数字现实的图像压缩
US11553187B2 (en) 2017-11-21 2023-01-10 Immersive Robotics Pty Ltd Frequency component selection for image compression
CN108076384B (zh) * 2018-01-02 2019-12-06 京东方科技集团股份有限公司 一种基于虚拟现实的图像处理方法、装置、设备和介质
US10504274B2 (en) * 2018-01-05 2019-12-10 Microsoft Technology Licensing, Llc Fusing, texturing, and rendering views of dynamic three-dimensional models
US10694170B2 (en) * 2018-03-05 2020-06-23 Valve Corporation Controlling image display via real-time compression in peripheral image regions
US10796407B2 (en) * 2018-05-11 2020-10-06 Samsung Electronics Co., Ltd. Foveated domain storage and processing
US11048464B2 (en) * 2018-07-31 2021-06-29 Dell Products, L.P. Synchronization and streaming of workspace contents with audio for collaborative virtual, augmented, and mixed reality (xR) applications
FR3097960B1 (fr) * 2019-06-27 2021-06-18 Safran Aircraft Engines Procédé d’acquisition de données pour la détection d’un endommagement d’un palier
US11109073B2 (en) 2020-01-16 2021-08-31 Rockwell Collins, Inc. Image compression and transmission for heads-up display (HUD) rehosting
US11297285B2 (en) * 2020-03-27 2022-04-05 Sean Solon Pierce Dental and medical loupe system for lighting control, streaming, and augmented reality assisted procedures
CN117859327A (zh) * 2021-08-03 2024-04-09 维谛信息技术系统有限公司 对dvc视频压缩的dvcx和dvcy扩展

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020141650A1 (en) * 2001-03-29 2002-10-03 Electronics For Imaging, Inc. Digital image compression with spatially varying quality levels determined by identifying areas of interest
CN101563926A (zh) * 2006-12-18 2009-10-21 皇家飞利浦电子股份有限公司 图像压缩与解压缩

Family Cites Families (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4504263A (en) 1982-12-22 1985-03-12 Valleylab, Inc. Flow rate monitor with optical sensing chamber
US5325125A (en) 1992-09-24 1994-06-28 Matsushita Electric Corporation Of America Intra-frame filter for video compression systems
JP3348310B2 (ja) 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
EP0694245A4 (en) 1993-04-16 1996-05-08 Data Translation Inc VARIABLE QUANTIFICATION ADAPTIVE VIDEO COMPRESSION
US5829007A (en) * 1993-06-24 1998-10-27 Discovision Associates Technique for implementing a swing buffer in a memory array
US6078349A (en) 1995-06-07 2000-06-20 Compaq Computer Corporation Process and system for increasing the display resolution of a point-to-point video transmission relative to the actual amount of video data sent
JP3213222B2 (ja) * 1995-11-02 2001-10-02 株式会社リコー 符号化方法
US5963673A (en) 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding
US6233590B1 (en) 1996-12-13 2001-05-15 Venson M. Shaw Server apparatus for distributed communications supporting multiple user/application environment
US6252989B1 (en) 1997-01-07 2001-06-26 Board Of The Regents, The University Of Texas System Foveated image coding system and method for image bandwidth reduction
KR100323441B1 (ko) 1997-08-20 2002-06-20 윤종용 엠펙2동화상부호화/복호화시스템
US6091777A (en) 1997-09-18 2000-07-18 Cubic Video Technologies, Inc. Continuously adaptive digital video compression system and method for a web streamer
US6249614B1 (en) 1998-03-06 2001-06-19 Alaris, Inc. Video compression and decompression using dynamic quantization and/or encoding
US6353685B1 (en) 1998-09-01 2002-03-05 Divio, Inc. Method and apparatus for image compression
US8416847B2 (en) 1998-12-21 2013-04-09 Zin Stai Pte. In, Llc Separate plane compression using plurality of compression methods including ZLN and ZLD methods
US6259991B1 (en) 1999-02-10 2001-07-10 X-Cyte Inc. Environmental location system
US20020090140A1 (en) 2000-08-04 2002-07-11 Graham Thirsk Method and apparatus for providing clinically adaptive compression of imaging data
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US20040028127A1 (en) 2002-08-06 2004-02-12 Raghavan Subramaniyan Method and apparatus for reducing computational complexity in video encoders
US8840475B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
EP1892965A3 (en) 2003-04-04 2011-04-06 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US20050018911A1 (en) * 2003-07-24 2005-01-27 Eastman Kodak Company Foveated video coding system and method
SE0401852D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
US20050193396A1 (en) 2004-02-27 2005-09-01 Stafford-Fraser James Q. Computer network architecture and method of providing display data
JP4599917B2 (ja) 2004-07-09 2010-12-15 ソニー株式会社 撮像装置
US7692642B2 (en) 2004-12-30 2010-04-06 Intel Corporation Method and apparatus for controlling display refresh
US20060195464A1 (en) 2005-02-28 2006-08-31 Microsoft Corporation Dynamic data delivery
US7689047B2 (en) 2005-04-19 2010-03-30 Samsung Electronics Co, Ltd. Reduced buffer size for JPEG encoding
EP1720356A1 (en) * 2005-05-03 2006-11-08 Matsushita Electric Industrial Co., Ltd. A frequency selective video compression
US8289370B2 (en) 2005-07-20 2012-10-16 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
US7904117B2 (en) 2005-08-12 2011-03-08 Sibeam Wireless communication device using adaptive beamforming
GB0516713D0 (en) 2005-08-13 2005-09-21 Newnham Res Ltd A display system and method of operating a display system
KR100788703B1 (ko) 2006-02-24 2007-12-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US20080055318A1 (en) 2006-08-31 2008-03-06 Glen David I J Dynamic frame rate adjustment
US8098941B2 (en) 2007-04-03 2012-01-17 Aptina Imaging Corporation Method and apparatus for parallelization of image compression encoders
GB0712138D0 (en) 2007-06-22 2007-08-01 Displaylink Uk Ltd Establishing a connection between a peripheral device and a computer
GB2450748B (en) 2007-07-06 2010-12-29 Displaylink Connection between a client device and multiple host devices
GB2451274B (en) 2007-07-26 2013-03-13 Displaylink Uk Ltd A system comprising a touchscreen and one or more conventional display devices
JP5067850B2 (ja) 2007-08-02 2012-11-07 キヤノン株式会社 システム、頭部装着型表示装置、その制御方法
AU2008333826A1 (en) 2007-12-05 2009-06-11 Ol2, Inc. System and method for compressing video based on detected data rate of a communication channel
US8369324B1 (en) 2008-09-29 2013-02-05 Avaya Inc. Variable compression queue
US8045926B2 (en) 2008-10-15 2011-10-25 Nokia Siemens Networks Oy Multi-transceiver architecture for advanced Tx antenna monitoring and calibration in MIMO and smart antenna communication systems
US8897365B2 (en) 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
US8542732B1 (en) 2008-12-23 2013-09-24 Elemental Technologies, Inc. Video encoder using GPU
WO2010114512A1 (en) 2009-03-30 2010-10-07 Displaylink Corporation System and method of transmitting display data to a remote display
GB0909097D0 (en) 2009-05-28 2009-07-01 Displaylink Uk Ltd Display system and method
WO2010138124A1 (en) 2009-05-29 2010-12-02 Displaylink Corporation Loopback proxy
WO2010144096A1 (en) 2009-06-12 2010-12-16 Displaylink Corporation Data processing system and method
US9648346B2 (en) 2009-06-25 2017-05-09 Microsoft Technology Licensing, Llc Multi-view video compression and streaming based on viewpoints of remote viewer
US8457396B2 (en) 2009-08-11 2013-06-04 Microsoft Corporation Digital image compression and decompression
WO2011022014A1 (en) 2009-08-20 2011-02-24 Displaylink Corporation Configuration of additional display devices
US8605141B2 (en) 2010-02-24 2013-12-10 Nant Holdings Ip, Llc Augmented reality panorama supporting visually impaired individuals
GB2478583B (en) 2010-03-11 2012-05-09 Displaylink Uk Ltd Improvements relating to operating systems
WO2011120538A1 (de) 2010-03-31 2011-10-06 Ev Group Gmbh Verfahren und vorrichtung zur herstellung einer mikrolinse
GB2480825B (en) 2010-06-02 2013-10-09 Displaylink Uk Ltd Application windows and display devices
JP5590133B2 (ja) * 2010-09-30 2014-09-17 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
US9122053B2 (en) 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
GB2484736B (en) 2010-10-22 2014-11-05 Displaylink Uk Ltd Image generation
GB2485145A (en) 2010-10-29 2012-05-09 Displaylink Uk Ltd Audio command routing method for voice-controlled applications in multi-display systems
GB2485576B (en) 2010-11-19 2013-06-26 Displaylink Uk Ltd Video compression
GB2485613B (en) 2010-11-22 2014-08-13 Displaylink Uk Ltd Display control device
GB2485977A (en) 2010-11-26 2012-06-06 Displaylink Uk Ltd Audio playback system
GB2486412A (en) 2010-12-13 2012-06-20 Displaylink Uk Ltd Universal terminal operable as thin client or docking station
GB2486411B (en) 2010-12-13 2013-04-24 Displaylink Uk Ltd Processing of display data in a display system
GB2486431B (en) 2010-12-14 2013-10-09 Displaylink Uk Ltd Scaling of graphical data
GB2486434B (en) 2010-12-14 2014-05-07 Displaylink Uk Ltd Overdriving pixels in a display system
GB2488094B (en) 2010-12-14 2016-03-09 Displaylink Uk Ltd Improved video compression
GB2486457A (en) 2010-12-15 2012-06-20 Displaylink Uk Ltd System with two linked display devices
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US9521434B2 (en) 2011-06-09 2016-12-13 Qualcomm Incorporated Internal bit depth increase in video coding
US8184069B1 (en) 2011-06-20 2012-05-22 Google Inc. Systems and methods for adaptive transmission of data
US9578159B2 (en) 2011-06-20 2017-02-21 Prasad Muthukumar Fisheye lens based proactive user interface for mobile devices
US8787454B1 (en) 2011-07-13 2014-07-22 Google Inc. Method and apparatus for data compression using content-based features
KR20130018079A (ko) 2011-08-10 2013-02-20 삼성전자주식회사 무선 통신 시스템에서 빔 고정 장치 및 방법
US10209771B2 (en) 2016-09-30 2019-02-19 Sony Interactive Entertainment Inc. Predictive RF beamforming for head mounted display
CN103975619B (zh) 2011-12-15 2017-09-22 英特尔公司 用于毫米波波束成形的多无线电设备中位置信息的使用
KR101949382B1 (ko) 2012-04-04 2019-02-18 삼성전자주식회사 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법
US9413066B2 (en) 2012-07-19 2016-08-09 Blackberry Limited Method and apparatus for beam forming and antenna tuning in a communication device
GB2507510B (en) 2012-10-31 2015-06-24 Sony Comp Entertainment Europe Apparatus and method for augmented reality
CA2798300A1 (en) 2012-12-07 2014-06-07 Displaylink (Uk) Limited Application windows and display devices
GB2509170B (en) 2012-12-21 2019-02-27 Displaylink Uk Ltd Image transformation
GB2556743B (en) 2012-12-21 2018-12-05 Displaylink Uk Ltd Management of memory for storing display data
US10514541B2 (en) 2012-12-27 2019-12-24 Microsoft Technology Licensing, Llc Display update time reduction for a near-eye display
US9811874B2 (en) 2012-12-31 2017-11-07 Nvidia Corporation Frame times by dynamically adjusting frame buffer resolution
CN104885470B (zh) 2013-01-30 2018-08-07 英特尔公司 用于下一代视频的预测和编码的内容自适应划分
GB2513660B (en) 2013-05-03 2018-11-14 Displaylink Uk Ltd System for connecting a display over a general-purpose data transport
WO2014194288A1 (en) 2013-05-31 2014-12-04 eagleyemed, Inc. Dynamic adjustment of image compression for high resolution live medical image sharing
GB2514777B (en) 2013-06-03 2018-12-19 Displaylink Uk Ltd Management of memory for storing display data
JP5830496B2 (ja) 2013-06-07 2015-12-09 株式会社ソニー・コンピュータエンタテインメント ディスプレイコントローラおよび画面転送装置
GB2516007B (en) 2013-06-28 2018-05-09 Displaylink Uk Ltd Efficient encoding of display data
US9226097B2 (en) 2013-07-25 2015-12-29 Elwha Llc Systems and methods for selecting for usage one or more functional devices detected within a communication range of a wearable computing device
US9973692B2 (en) 2013-10-03 2018-05-15 Flir Systems, Inc. Situational awareness by compressed display of panoramic views
GB2527481C (en) 2013-11-28 2021-04-07 Displaylink Uk Ltd Electrical connectors
GB2521407B (en) 2013-12-18 2019-02-27 Displaylink Uk Ltd Display system
US20150237351A1 (en) 2014-02-18 2015-08-20 Penne Lee Techniques for inclusion of region of interest indications in compressed video data
US9963607B2 (en) 2014-03-06 2018-05-08 Hewlett-Packard Development Company, L.P. Non-Newtonian inkjet inks
US10967446B2 (en) 2014-03-11 2021-04-06 Baron Investments, Llc Apparatus and methods of producing a planar member from planar sections
US9761049B2 (en) 2014-03-28 2017-09-12 Intel Corporation Determination of mobile display position and orientation using micropower impulse radar
GB2524808B (en) 2014-04-03 2021-04-07 Displaylink Uk Ltd Universal docking station security
CN105340224A (zh) 2014-05-30 2016-02-17 华为技术有限公司 网络控制方法和装置
US20150350595A1 (en) 2014-05-30 2015-12-03 Shidong Chen Transform-based methods to transmit the high-definition video
US9641388B2 (en) 2014-07-29 2017-05-02 Commvault Systems, Inc. Customized deployment in information management systems
GB2528870A (en) 2014-07-31 2016-02-10 Displaylink Uk Ltd Managing display data for display
US10073417B2 (en) 2014-08-08 2018-09-11 Nxgen Partners Ip, Llc System and method for applying orthogonal limitations to light beams using microelectromechanical systems
US9596311B2 (en) 2014-10-30 2017-03-14 International Business Machines Corporation Dynamic data compression
GB2532038B (en) 2014-11-06 2018-08-29 Displaylink Uk Ltd System for controlling a display device
GB2533559A (en) 2014-12-16 2016-06-29 Displaylink Uk Ltd A device capable of being operated in different modes
GB2533569B (en) 2014-12-19 2019-06-26 Displaylink Uk Ltd A display system and method
GB2533819B (en) 2015-01-05 2018-11-07 Displaylink Uk Ltd A docking system
US9596053B1 (en) 2015-01-14 2017-03-14 Sprint Spectrum L.P. Method and system of serving a user equipment device using different modulation and coding schemes
US20160248995A1 (en) 2015-02-19 2016-08-25 Daqri, Llc System and method for using millimeter wave in a wearable device
GB2546230B (en) 2015-02-27 2019-01-09 Displaylink Uk Ltd System for identifying and using multiple display devices
KR101736440B1 (ko) 2015-03-09 2017-05-19 (주)굿게이트 훈련용 소화기 및 이를 이용한 가상 현실 기반의 재난 대응 훈련 시스템 및 방법
GB2536253B (en) 2015-03-10 2018-12-19 Displaylink Uk Ltd System for connecting external displays to a mobile device
US20160267884A1 (en) 2015-03-12 2016-09-15 Oculus Vr, Llc Non-uniform rescaling of input data for displaying on display device
GB2536472B (en) 2015-03-18 2018-08-01 Displaylink Uk Ltd A method of processing display data
GB2536691B (en) 2015-03-26 2019-09-04 Displaylink Uk Ltd Method and apparatus for controlling a display comprising two or more panels
GB2536725B (en) 2015-03-27 2018-06-13 Displaylink Uk Ltd USB connections
GB2537910B (en) 2015-04-30 2018-05-23 Displaylink Uk Ltd Managing display data
GB2538754B (en) 2015-05-27 2018-08-29 Displaylink Uk Ltd Single-chip multi-processor communication
GB2538797B (en) 2015-05-29 2019-09-11 Displaylink Uk Ltd Managing display data
US11245939B2 (en) 2015-06-26 2022-02-08 Samsung Electronics Co., Ltd. Generating and transmitting metadata for virtual reality
GB2541000B (en) 2015-08-04 2018-09-19 Displaylink Uk Ltd Security Device
US9564437B1 (en) 2015-08-25 2017-02-07 International Business Machines Corporation Method and structure for forming FinFET CMOS with dual doped STI regions
US9766975B2 (en) 2015-09-01 2017-09-19 International Business Machines Corporation Partial ECC handling for a byte-write capable register
EP3347810A1 (en) 2015-09-10 2018-07-18 Google LLC Playing spherical video on a limited bandwidth connection
US20170072483A1 (en) 2015-09-16 2017-03-16 Lenny J. Gamble Reciprocating saw adaptor
EP3145201A1 (en) 2015-09-17 2017-03-22 Harmonic Inc. Video processing with dynamic resolution changes
GB2542562B (en) 2015-09-21 2018-06-27 Displaylink Uk Ltd Private access to HID
US20170098231A1 (en) 2015-10-01 2017-04-06 GM Global Technology Operations LLC Systems to subsidize vehicle-ownership rights based on system-driver interactions
GB2543064B (en) 2015-10-06 2018-08-22 Displaylink Uk Ltd Managing display data
US10724874B2 (en) 2015-10-13 2020-07-28 Here Global B.V. Virtual reality environment responsive to predictive route navigation
GB2543784B (en) 2015-10-27 2018-07-11 Displaylink Uk Ltd High-performance wireless side channel
GB2543799B (en) 2015-10-28 2018-11-28 Displaylink Uk Ltd Remote wake-up of mobile devices
GB2544476B (en) 2015-11-16 2018-08-08 Displaylink Uk Ltd Data compression method and apparatus
US10356407B2 (en) 2015-11-20 2019-07-16 Facebook Technologies, Llc Display-side video decompression using quantization tables
JP6432494B2 (ja) 2015-11-30 2018-12-05 オムロン株式会社 監視装置、監視システム、監視プログラムおよび記録媒体
GB2545274B (en) 2015-12-11 2018-07-11 Displaylink Uk Ltd Wireless docking
GB2545893B (en) 2015-12-17 2018-05-09 Displaylink Uk Ltd Pipelining pre-composition data
JP6420500B2 (ja) 2015-12-24 2018-11-07 株式会社ソニー・インタラクティブエンタテインメント 周波数帯決定装置、ヘッドマウントディスプレイ、周波数帯決定方法及びプログラム
US20170191429A1 (en) 2016-01-06 2017-07-06 GM Global Technology Operations LLC Use Of Intrusive Turbo Wastegate Control For Improved AFIM Detection Capability
WO2017134886A1 (ja) 2016-02-02 2017-08-10 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
US10157448B2 (en) 2016-02-12 2018-12-18 Qualcomm Incorporated Foveated video rendering
US10372205B2 (en) 2016-03-31 2019-08-06 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
GB2549958A (en) 2016-05-03 2017-11-08 Displaylink Uk Ltd USB power delivery
GB2550942B (en) 2016-06-01 2021-11-10 Displaylink Uk Ltd Display Data processing
US10510317B2 (en) 2016-06-03 2019-12-17 Apple Inc. Controlling display performance with target presentation times
CN109643456A (zh) 2016-06-17 2019-04-16 因默希弗机器人私人有限公司 图像压缩方法与设备
WO2017214671A1 (en) 2016-06-17 2017-12-21 Immersive Robotics Pty Ltd Image compression method and apparatus
US10032109B2 (en) 2016-08-10 2018-07-24 Elwha Llc Systems and methods for individual identification and authorization utilizing conformable electronics
KR102627717B1 (ko) 2016-09-01 2024-01-23 삼성전자주식회사 식기세척기
GB2557569B (en) 2016-09-09 2022-07-06 Displaylink Uk Ltd Adjusting display data
GB2558193B (en) 2016-09-23 2022-07-20 Displaylink Uk Ltd Compositing an image for display
GB2559539B (en) 2016-10-18 2021-10-13 Displaylink Uk Ltd Extended peer-to-peer channel list
EP3516781A1 (en) 2016-11-04 2019-07-31 Sony Corporation Communications device and method
US10979721B2 (en) 2016-11-17 2021-04-13 Dolby Laboratories Licensing Corporation Predicting and verifying regions of interest selections
GB2556940B (en) 2016-11-28 2021-09-15 Displaylink Uk Ltd Displaying image data based on level of system performance
US10896444B2 (en) 2017-01-24 2021-01-19 International Business Machines Corporation Digital content generation based on user feedback
JP6880795B2 (ja) 2017-02-08 2021-06-02 オムロン株式会社 制御装置およびその制御方法
WO2018145153A1 (en) 2017-02-08 2018-08-16 Immersive Robotics Pty Ltd Antenna control for mobile device communication
JP6883316B2 (ja) 2017-02-15 2021-06-09 株式会社菊水製作所 粉体供給装置及び粉体供給方法
KR20180105294A (ko) 2017-03-14 2018-09-28 한국전자통신연구원 이미지 압축 장치
WO2018200993A1 (en) 2017-04-28 2018-11-01 Zermatt Technologies Llc Video pipeline
GB2603878B (en) 2017-05-19 2022-10-26 Displaylink Uk Ltd Adaptive Compression by Light Level
WO2018223179A1 (en) 2017-06-05 2018-12-13 Immersive Robotics Pty Ltd Digital content stream compression
GB2563282B (en) 2017-06-09 2022-01-12 Displaylink Uk Ltd Bypassing desktop composition
GB2577024B (en) 2017-06-09 2022-08-03 Displaylink Uk Ltd Using headset movement for compression
US10504272B2 (en) 2017-06-13 2019-12-10 Intel Corporation Apparatus and method for optimizing time/space warp for virtual reality using dynamic tiling and dirty tile marking
GB2563411B (en) 2017-06-14 2022-10-05 Displaylink Uk Ltd Processing display data
GB2563413B (en) 2017-06-14 2021-12-22 Displaylink Uk Ltd Processing display data
US10319114B2 (en) 2017-07-13 2019-06-11 Google Llc Foveated compression of display streams
GB2586941B (en) 2017-08-01 2022-06-22 Displaylink Uk Ltd Reducing judder using motion vectors
US10777006B2 (en) 2017-10-23 2020-09-15 Sony Interactive Entertainment Inc. VR body tracking without external sensors
CN111699693A (zh) 2017-11-21 2020-09-22 因默希弗机器人私人有限公司 用于数字现实的图像压缩
US11553187B2 (en) 2017-11-21 2023-01-10 Immersive Robotics Pty Ltd Frequency component selection for image compression

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020141650A1 (en) * 2001-03-29 2002-10-03 Electronics For Imaging, Inc. Digital image compression with spatially varying quality levels determined by identifying areas of interest
CN101563926A (zh) * 2006-12-18 2009-10-21 皇家飞利浦电子股份有限公司 图像压缩与解压缩

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033787A (zh) * 2019-12-24 2021-06-25 中科寒武纪科技股份有限公司 一种量化神经网络矩阵的方法、设备、计算机产品及板卡

Also Published As

Publication number Publication date
US10657674B2 (en) 2020-05-19
US11151749B2 (en) 2021-10-19
EP3472806A4 (en) 2020-02-26
US20190378305A1 (en) 2019-12-12
EP3472806A1 (en) 2019-04-24
US20200226795A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
CN109643456A (zh) 图像压缩方法与设备
US11553187B2 (en) Frequency component selection for image compression
US20220094981A1 (en) Image Compression For Digital Reality
AU2019253866B2 (en) Image compression method and apparatus
AU2018280337B2 (en) Digital content stream compression
US11922663B2 (en) Decision-making rules for attribute smoothing
EP1571852A2 (en) Image coding and decoding with spatial subsampling
US20240121406A1 (en) Content Compression for Network Transmission
US20230395041A1 (en) Content Display Process

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190416

WD01 Invention patent application deemed withdrawn after publication