首页 / 专利库 / 广播 / 帧内预测 / 数字内容流压缩

数字内容流压缩

阅读:1040发布:2020-05-12

专利汇可以提供数字内容流压缩专利检索,专利查询,专利分析的服务。并且一种压缩来自形成数字内容流的一部分的图像的图像数据的方法,该方法包括对于在数字内容流内的n个图像的序列,获得n个图像中的每一个的图像数据,以及使用相应的压缩方案来压缩n个图像中的至少一些图像的图像数据。,下面是数字内容流压缩专利的具体信息内容。

1.一种压缩来自形成数字内容流的一部分的图像的图像数据的方法,所述方法包括对于在所述数字内容流内的n个图像的序列:
a)获得所述n个图像中的每一个图像的图像数据;以及
b)使用相应的压缩方案来压缩所述n个图像中的至少一些图像的图像数据。
2.根据权利要求1所述的方法,其中,所述方法包括使用压缩方案的序列来压缩n个图像的所述序列。
3.根据权利要求1或权利要求2所述的方法,其中,所述方法包括压缩n个图像的多个序列,每个序列使用压缩方案的相同序列被压缩。
4.根据权利要求1到3中的任一项所述的方法,其中,至少两个相应的压缩方案提供不同的压缩程度。
5.根据权利要求1到4中的任一项所述的方法,其中,执行下列操作中的至少一个:
a)使用不同的压缩方案来压缩所述n个图像中的每一个图像;
b)使用提供不同的压缩程度的不同压缩方案来压缩所述n个图像中的每一个图像;
c)对每个相邻图像使用不同的压缩方案来压缩所述n个图像中的至少一个图像;
d)使用公共压缩方案来压缩在n个图像的所述序列中的至少两个图像;
e)使用无损压缩方案来压缩所述n个图像中的至少一个图像;
f)使用有损压缩方案来压缩所述n个图像中的至少一个图像;
g)所述n个图像中的至少一个图像是未压缩的;以及
h)所述n个图像中的至少一个图像被丢弃以减小速率。
6.根据权利要求1到5中的任一项所述的方法,其中,数量n是下列项中的至少一个:
a)大于二;
b)在二和五之间;
c)在二和十之间;
d)在四和二十五之间;
e)小于二十五;以及
f)基于多个可用的压缩方案。
7.根据权利要求1到6中的任一项所述的方法,其中,所述方法包括:
a)获得所述n个图像中的下一个图像的下一个图像数据;
b)压缩所述下一个图像数据;以及
c)对所述n个图像中的每一个图像重复步骤a)和b)。
8.根据权利要求1到7中的任一项所述的方法,其中,所述方法包括对于所述n个图像中的至少一个图像:
a)选择多个压缩方案中的一个;以及
b)用选定压缩方案来压缩所述图像数据以生成压缩图像数据。
9.根据权利要求8所述的方法,其中,所述方法包括:
a)确定指示所述选定压缩方案的编码代码;以及
b)将所述编码代码与所述压缩图像数据相关联。
10.根据权利要求8或权利要求9所述的方法,其中,所述方法包括根据下列项中的至少一个来选择所述压缩方案:
a)用于在n个图像的所述序列中的相邻图像的压缩方案;
b)期望的压缩程度;
c)用于传输所述压缩图像数据的通信链路的传输带宽;
d)用于传输所述压缩图像数据的通信链路的传输服务质量
e)显示设备的运动;
f)显示设备的所预测的运动;
g)图像显示要求;
h)目标显示分辨率
i)正在被处理的通道;
j)在一个或更多个图像内的像素阵列的位置;以及
k)在所述一个或更多个图像内的所述像素阵列相对于所述一个或更多个图像的观察者的凝视点的位置;以及
l)误差度量。
11.根据权利要求1到10中的任一项所述的方法,其中,所述方法包括使用至少一种压缩方案以:
a)从所述图像数据获得像素数据,所述像素数据表示在所述一个或更多个图像内的像素阵列;
b)确定在所述一个或更多个图像内的所述像素阵列相对于已定义位置的位置,所述已定义位置至少部分地指示用户的凝视点;以及
c)至少部分地根据已确定位置来压缩所述像素数据,使得压缩程度取决于所述像素阵列的所述已确定位置。
12.根据权利要求11所述的方法,其中,所述已定义位置是下列项中的至少一个:
a)用户的被测凝视点;
b)用户的预期凝视点;
c)偏离用户的被测凝视点;
d)偏离用户的预期凝视点;以及
e)至少部分地根据指示用户的凝视点的凝视数据来被确定,所述凝视数据是从凝视跟踪系统获得的。
13.根据权利要求11或权利要求12所述的方法,其中,所述方法包括压缩所述像素数据,使得所述压缩程度为下列项中的至少一个:
a)基于距已定义点的距离;
b)基于相对于所述已定义点的方向;
c)远离所述已定义点而增加;以及
d)提供凹式压缩。
14.根据权利要求1到13中的任一项所述的方法,其中,所述方法包括使用至少一种压缩方案以:
a)从所述图像数据获得像素数据,所述像素数据表示在所述一个或更多个图像内的像素阵列;
b)对所述像素数据应用变换以确定指示所述像素阵列的频率分量的一组频率系数;
c)使用比特编码方案来对所述频率系数中的至少一些进行选择性地编码,从而生成一组已编码频率系数;以及
d)使用所述已编码频率系数来生成压缩图像数据。
15.根据权利要求14所述的方法,其中,所述比特编码方案定义用于对所述频率系数中的每一个进行编码的比特的数量,并且其中,所述频率系数被选择性地编码,使得下列项中的至少一个成立:
a)所述已编码频率系数中的至少一些具有不同数量的比特;
b)较小数量的比特用于对对应于较高频率的频率系数进行编码;
c)越来越小数量的比特用于对对应于越来越高频率的频率系数进行编码;
d)至少一个频率系数被丢弃,使得所述一组已编码频率系数小于所述一组频率系数;
以及
e)对应于较高频率的至少一个频率系数被丢弃。
16.根据权利要求14或权利要求15所述的方法,其中,所述方法包括:
a)选择多个比特编码方案之一;以及
b)根据选定比特编码方案来对所述频率系数进行编码。
17.根据权利要求16所述的方法,其中,所述多个比特编码方案中的每一个都用相应的不同数量的比特来对不同的频率系数进行选择性地编码以提供不同的压缩程度。
18.根据权利要求16或权利要求17所述的方法,其中,至少部分地根据下列项中的至少一个来选择所述比特编码方案:
a)期望的压缩程度;以及
b)所述像素阵列的位置。
19.根据权利要求16到18中的任一项所述的方法,其中,所述频率分量被布置在多个级别中,并且其中,每个比特编码方案定义用于对在所述多个级别的每一个中的所述频率系数进行编码的比特的相应数量。
20.根据权利要求19所述的方法,其中,所述阵列是导致频率分量的2N-1个级别的N x N像素阵列。
21.根据权利要求14到20中的任一项所述的方法,其中,所述方法包括将比例因子应用于所述频率系数中的至少一些,使得按比例缩放的频率系数被编码,所述比例因子用于减小每个频率系数的大小,并且其中,执行下列操作中的至少一个:
a)不同的比例因子应用于至少一些频率系数;
b)相同的比例因子应用于每个频率系数;以及
c)不同的比例因子应用于在不同通道中的频率系数。
22.根据权利要求14到21中的任一项所述的方法,其中,所述变换是2D离散余弦变换。
23.根据权利要求14到22中的任一项所述的方法,其中,所述方法包括:
a)并行地对频率系数进行选择性地编码;以及
b)至少部分地通过并行到串行字节编码来生成压缩图像数据。
24.根据权利要求1到23中的任一项所述的方法,其中,所述图像数据定义多个通道,并且其中,所述方法包括使用至少一种压缩方案来选择性地压缩所述多个通道中的每一个。
25.根据权利要求24所述的方法,其中,所述像素数据定义RGB通道,并且其中,所述方法包括:
a)将所述RGB通道转换成YCbCr通道;以及
b)压缩所述YCbCr通道,并且其中,所述方法还包括下列操作中的至少一个:
i)比Cb通道或Cr通道更少地压缩Y通道;
ii)并行地压缩所述YCbCr通道中的每一个;以及
iii)压缩CbCr通道并使用未压缩的Y通道。
26.根据权利要求1到25中的任一项所述的方法,其中,所述方法包括:
a)从所述图像数据获得像素数据,所述像素数据表示在所述一个或更多个图像内的像素阵列;以及
b)压缩所述像素数据,其中,通过下列操作从所述图像数据获得所述像素数据:
i)缓冲对应于所述图像的接下来的m-1行像素的图像数据;
ii)缓冲下一行像素的接下来的m个像素的图像数据;
iii)从缓冲的图像数据获得下一m x m像素的像素数据;
iv)重复步骤b)和c),直到已经从所有m行像素获得像素数据为止;以及
v)重复步骤a)至d),直到已经从所述图像的每行像素获得像素数据为止。
27.根据权利要求26所述的方法,其中,基于下列项中的至少一个来选择m:
a)选定压缩方案;
b)选定比特编码方案;
c)期望的压缩程度;以及
d)所述像素阵列的位置。
28.根据权利要求1到27中的任一项所述的方法,其中,至少部分地使用电子处理设备来执行所述方法。
29.一种用于压缩来自形成数字内容流的一部分的图像的图像数据的装置,所述装置包括至少一个电子编码器处理设备,其:
a)获得n个图像中的每一个图像的图像数据;以及
b)使用相应的压缩方案来压缩所述n个图像中的至少一些图像的图像数据。
30.根据权利要求29所述的装置,其中,所述装置包括:
a)接收所述图像数据的编码器输入缓冲器;以及
b)存储压缩图像数据的编码器输出缓冲器。
31.根据权利要求29或权利要求30所述的装置,其中,所述装置包括传输来自所述编码器输出缓冲器的图像数据的编码器发送器。
32.根据权利要求29到31中的任一项所述的装置,其中,所述至少一个编码器处理设备包括:
a)适当地编程的现场可编程阵列;
b)专用集成电路;以及
c)图形处理单元
33.根据权利要求29到32中的任一项所述的装置,其中,所述图像数据定义多个通道,并且其中,所述装置包括:
a)每个通道的相应处理设备;以及
b)用于并行地处理每个通道的并行处理设备。
34.根据权利要求33所述的装置,其中,像素数据定义RGB通道,并且其中,所述装置:
a)将所述RGB通道转换成YCbCr通道;以及
b)使用至少一个处理设备来对所述YCbCr通道进行选择性地编码。
35.根据权利要求29到34中的任一项所述的装置,其中,所述装置包括与解码器无线通信的编码器,允许图像数据作为压缩图像数据在所述编码器和解码器之间被传送。
36.根据权利要求35所述的装置,其中,所述编码器是下列情况中的至少一个:耦合到适当地编程的处理系统以及是适当地编程的处理系统的一部分。
37.根据权利要求35或权利要求36所述的装置,其中,所述解码器是下列情况中的至少一个:耦合到可穿戴显示设备以及是可穿戴显示设备的一部分。
38.根据权利要求35到37中的任一项所述的装置,其中,所述编码器和解码器进行通信以交换下列项中的至少一个:
a)压缩图像数据;
b)指示显示设备的运动的运动数据;
c)至少部分地用于控制所述显示设备的控制数据;
b)指示用户输入命令的输入数据;
e)指示观察者的凝视点的凝视数据;以及
f)来自与可穿戴显示设备相关联的传感器传感器数据
39.根据权利要求29到38中的任一项所述的装置,其中,所述装置执行权利要求1到28中的任一项所述的方法。
40.一种将表示形成数字内容流的一部分的图像的压缩图像数据解压缩的方法,所述方法包括对于在所述数字内容流内的n个图像的序列:
a)获得所述n个图像中的至少一些图像的压缩图像数据;以及
b)使用相应的解压缩方案来将所述n个图像中的所述至少一些图像中的每一个图像的压缩图像数据解压缩。
41.根据权利要求40所述的方法,其中,所述解压缩方案对应于用于生成所述压缩图像数据的压缩方案。
42.根据权利要求41所述的方法,其中,所述方法包括根据下列项中的至少一个选择所述相应的解压缩方案:
a)指示用于压缩所述图像数据的压缩方案的压缩方案代码;
b)期望的压缩程度;
c)用于传输所述压缩图像数据的通信链路的传输带宽;
d)用于传输所述压缩图像数据的通信链路的传输服务质量;
e)显示设备的运动;
f)显示设备的所预测的运动;
g)图像显示要求;
h)目标显示分辨率;
i)正在被处理的通道;
j)在所述一个或更多个图像内的像素阵列的位置;以及
k)在所述一个或更多个图像内的所述像素阵列相对于所述一个或更多个图像的观察者的凝视点的位置;以及
l)误差度量。
43.根据权利要求40到42中的任一项所述的方法,其中,所述方法包括:
a)获得所述n个图像中的下一个图像的下一个压缩图像数据;
b)将所述下一个压缩图像数据解压缩;以及
c)对所述n个图像中的每一个图像重复步骤a)和b)。
44.根据权利要求40到43中的任一项所述的方法,其中,所述方法包括使用至少一种解压缩方案以:
a)获得压缩图像数据,所述压缩图像数据表示在所述一个或更多个图像内的像素阵列,并且至少部分地基于在所述一个或更多个图像内的所述像素阵列相对于已定义位置的位置被压缩,所述已定义位置至少部分地指示用户的凝视点;以及
b)至少部分地根据已确定位置来将所述压缩图像数据解压缩。
45.根据权利要求44所述的方法,其中,所述已定义位置是下列项中的至少一个:
a)用户的被测凝视点;
b)用户的预期凝视点;
c)偏离用户的被测凝视点;
d)偏离用户的预期凝视点;以及
e)至少部分地根据指示用户的凝视点的凝视数据来被确定,所述凝视数据是从凝视跟踪系统获得的。
46.根据权利要求44或权利要求45所述的方法,其中,所述方法包括将所述像素数据解压缩,使得解压缩程度为下列项中的至少一个:
a)基于距所述已定义点的距离;
b)基于相对于所述已定义点的方向;
c)远离所述已定义点而增加;以及
d)提供凹式压缩。
47.根据权利要求40到46中的任一项所述的方法,其中,所述方法包括使用至少一种解压缩方案来复制图像以恢复所丢弃的图像的帧速率
48.根据权利要求40到47中的任一项所述的方法,其中,所述方法包括使用至少一种解压缩方案以:
a)根据定义在每个已编码频率系数中使用的比特的数量的比特编码方案,来从所述压缩图像数据确定一组已编码频率系数;
b)根据所述比特编码方案来执行所述已编码频率系数的比特解码,从而生成一组频率系数,其中,至少一个频率系数被生成,使得所述一组已编码频率系数小于所述一组频率系数;以及
c)对所述一组频率系数应用逆变换以确定表示在所述一个或更多个图像内的像素阵列的像素数据。
49.根据权利要求48所述的方法,其中,所述比特编码方案定义用于对所述频率系数中的每一个进行编码的比特的数量,所述比特编码方案使用较小数量的比特来对对应于较高频率的频率系数进行编码,并且其中,所述方法包括生成对应于较高频率的所述频率系数中的至少一些。
50.根据权利要求48或权利要求49所述的方法,其中,所述方法包括:
a)选择多个比特编码方案之一;以及
b)根据选定比特编码方案来对所述已编码频率系数进行解码。
51.根据权利要求50所述的方法,其中,所述多个比特编码方案中的每一个用相应的不同数量的比特来对不同的频率系数进行选择性地编码以提供不同的压缩程度。
52.根据权利要求50或权利要求51所述的方法,其中,至少部分地根据下列项中的至少一个来选择所述比特编码方案:
a)编码代码;
b)用于生成所述压缩图像数据的比特编码方案;以及
c)所述像素阵列的位置。
53.根据权利要求50到52中的任一项所述的方法,其中,频率分量被布置在多个级别中,并且其中,每个比特编码方案定义用于对在所述多个级别的每一个中的频率系数进行编码的比特的相应数量。
54.根据权利要求53所述的方法,其中,所述阵列是导致频率分量的2N-1个级别的N x N像素阵列。
55.根据权利要求48到54中的任一项所述的方法,其中,所述方法包括将比例因子应用于所述频率系数中的至少一些,使得按比例缩放的已编码频率系数被解码,所述比例因子用于增加每个频率系数的大小,并且其中,执行下列操作中的至少一个:
a)不同的比例因子应用于至少一些已编码频率系数;
b)相同的比例因子应用于每个已编码频率系数;以及
c)不同的比例因子应用于在不同通道中的已编码频率系数。
56.根据权利要求48到55中的任一项所述的方法,其中,所述逆变换是逆2D离散余弦变换。
57.根据权利要求48到56中的任一项所述的方法,其中,所述方法包括:
a)至少部分地通过串行到并行字节解码来将压缩图像数据解码;以及
b)并行地对频率系数进行选择性解码。
58.根据权利要求40到57中的任一项所述的方法,其中,所述图像数据定义多个通道,并且其中,所述方法包括选择性地对每个通道的已编码频率系数进行解码。
59.根据权利要求58所述的方法,其中,所述压缩图像数据定义YCbCr通道,并且其中,所述方法包括:
a)执行所述YCbCr通道的逆变换;以及
b)将变换后的YCbCr通道转换成RGB通道,并且其中,所述方法还包括下列操作中的至少一个:
i)比Y通道更多地将Cb或Cr通道解压缩;
ii)将已编码YCbCr通道并行地解压缩;以及
iii)将CbCr通道解压缩并将解压缩后的CbCr通道和所述Y通道转换为RGB通道。
60.根据权利要求40到59中的任一项所述的方法,其中,至少部分地使用电子处理设备来执行所述方法。
61.一种用于将来自形成数字内容流的一部分的图像的图像数据解压缩的装置,所述装置包括至少一个电子解码器处理设备,其:
a)获得n个图像中的至少一些图像的压缩图像数据;以及
b)使用相应的解压缩方案来将所述n个图像中的至少一些图像中的每一个图像的压缩图像数据解压缩。
62.根据权利要求61所述的装置,其中,所述装置包括:
a)接收所述压缩图像数据的解码器输入缓冲器;以及
b)存储所述图像数据的解码器输出缓冲器。
63.根据权利要求61或权利要求62所述的装置,其中,所述装置包括接收所述压缩图像数据并将所述压缩图像数据提供给所述输入缓冲器的解码器收发器。
64.根据权利要求61到63中的任一项所述的装置,其中,所述至少一个解码器处理设备包括:
a)适当地编程的现场可编程门阵列
b)专用集成电路;以及
c)图形处理单元。
65.根据权利要求61到64中的任一项所述的装置,其中,所述图像数据定义多个通道,并且其中,所述装置包括:
a)每个通道的相应处理设备;以及
b)用于并行地处理每个通道的并行处理设备。
66.根据权利要求65所述的装置,其中,所述压缩图像数据定义YCbCr通道,并且其中,所述装置:
a)使用相应的处理设备来对CbCr通道进行解码;以及
b)将已解码YCbCr通道转换成RGB通道。
67.根据权利要求61到66中的任一项所述的装置,其中,所述装置包括与解码器无线通信的编码器,允许图像数据作为压缩图像数据在所述编码器和解码器之间被传送。
68.根据权利要求61到67中的任一项所述的装置,其中,所述装置包括与编码器无线通信的解码器,允许图像数据作为压缩图像数据在所述编码器和解码器之间被传送。
69.根据权利要求68所述的装置,其中,所述解码器是下列情况中的至少一个:耦合到适当地编程的计算机系统以及是适当地编程的计算机系统的一部分。
70.根据权利要求68或权利要求69所述的装置,其中,所述解码器是下列情况中的至少一个:耦合到可穿戴显示设备以及是可穿戴显示设备的一部分。
71.根据权利要求61到70中的任一项所述的装置,其中,所述解码器和编码器进行通信以交换下列项中的至少一个:
a)压缩图像数据;
b)指示显示设备的运动的运动数据;
c)至少部分地用于控制所述显示设备的控制数据;
d)指示用户输入命令的输入数据;
e)指示观察者的凝视点的凝视数据;以及
f)来自与可穿戴显示设备相关联的传感器的传感器数据。
72.根据权利要求61到71中的任一项所述的装置,其中,所述装置执行权利要求40到60中的任一项所述的方法。

说明书全文

数字内容流压缩

[0001] 发明背景
[0002] 本发明涉及一种用于压缩或解压缩数字内容流的方法和装置,并且在一个特定示例中涉及用于使用不同的编码方案来压缩或解压缩数字内容流以允许用减小的带宽和低延迟来传输图像数据的方法和装置。
[0003] 现有技术的描述
[0004] 在本说明书中对任何现有的出版物(或从它得到的信息)或对已知的任何材料的引用不是也不应当被视为对现有的出版物(或从它得到的信息)或已知的材料形成在本说明书所涉及的努的领域中的公知常识的一部分的承认或认可或任何形式的建议。
[0005] 在虚拟、增强和混合现实系统中,通常提供可穿戴显示设备,例如头戴式显示器(HMD),其基于显示设备的相对空间位置和/或定向来向佩戴者显示信息。这种系统通过基于关于显示设备的姿态(位置和定向)的信息生成图像来进行操作,使得当显示设备移动时,图像被更新以反映显示设备的新姿态。
[0006] 为了避免晕动病,重要的是最小化在姿态信息的收集和相应图像的创建之间的时间差,特别是在显示设备快速移动的情况下。这与生成高分辨率图像使得这些图像看起来尽可能逼真的需要相结合意味着需要相当多的处理硬件。作为结果,高端现有系统通常需要具有高带宽和到显示设备的低延迟连接的静态台式计算机。因此,目前的系统(例如HTC ViveTM、Oculus RiftTM和Playstation VRTM)需要在计算机和HMD之间的有线连接,这是不方便的。
[0007] 虽然合并移动电话以在HMD本身内执行图像的处理和显示的移动解决方案(例如Gear VRTM)是可用的,但处理能力是有限的,意味着可以被显示的内容受到限制,特别是在图像分辨率和质量方面。
[0008] 压缩图像数据以减少数据量是众所周知的。这在许多应用(例如减少存储图像数据所需的存储容量、或者减少与图像数据的传输相关联的带宽要求)中是有用的。
[0009] JPEG使用基于离散余弦变换(DCT)的有损形式的压缩。这种数学运算将视频源的每个/场从空间(2D)域转换成频域(又称为变换域)。不太严格地基于人类心理视觉系统的感知模型丢弃高频信息,即在强度和色调方面的急剧转变(sharp transition)。在变换域中,通过量化来减少信息。量化的系数然后被排序并被无损地打包到输出比特流中。
[0010] 然而,这种方法仅仅实现了有限量的压缩,并且需要相当多的处理时间,使得这些方法变得不适合于用在低延迟应用(例如虚拟或增强现实、远程呈现(telepresence)等)中。
[0011] 发明概述
[0012] 在一个广泛的形式中,本发明的一个方面寻求提供一种压缩来自形成数字内容流的一部分的图像的图像数据的方法,该方法包括对于在数字内容流内的n个图像的序列:获得n个图像中的每一个图像的图像数据;以及使用相应的压缩方案来压缩n个图像中的至少一些图像的图像数据。
[0013] 在一个实施例中,该方法包括使用压缩方案的序列来压缩n个图像的序列。
[0014] 在一个实施例中,该方法包括压缩n个图像的多个序列,每个序列使用压缩方案的相同序列被压缩。
[0015] 在一个实施例中,至少两个相应的压缩方案提供不同的压缩程度。
[0016] 在一个实施例中,执行下列操作中的至少一个:使用不同的压缩方案来压缩n个图像中的每一个图像;使用提供不同的压缩程度的不同压缩方案来压缩n个图像中的每一个图像;对每个相邻图像使用不同的压缩方案来压缩n个图像中的至少一个图像;使用公共压缩方案来压缩在n个图像的序列中的至少两个图像;使用无损压缩方案来压缩n个图像中的至少一个图像;使用有损压缩方案来压缩n个图像中的至少一个图像;n个图像中的至少一个图像是未压缩的;以及n个图像中的至少一个图像被丢弃以减小帧速率
[0017] 在一个实施例中,数量n是下列项中的至少一个:大于二;在二和五之间;在二和十之间;在四和二十五之间;小于二十五;以及基于多个可用的压缩方案。
[0018] 在一个实施例中,该方法包括:获得n个图像中的下一个图像的下一个图像数据;压缩下一个图像数据;以及对n个图像中的每一个图像重复步骤a)和b)。
[0019] 在一个实施例中,该方法包括对于n个图像中的至少一个图像:选择多个压缩方案中的一个;以及用选定压缩方案来压缩图像数据以生成压缩图像数据。
[0020] 在一个实施例中,该方法包括:确定指示选定压缩方案的编码代码;以及将编码代码与压缩图像数据相关联。
[0021] 在一个实施例中,该方法包括根据下列项中的至少一个来选择压缩方案:用于在n个图像的序列中的相邻图像的压缩方案;期望的压缩程度;用于传输压缩图像数据的通信链路的传输带宽;用于传输压缩图像数据的通信链路的传输服务质量;显示设备的运动;显示设备的所预测的运动;图像显示要求;目标显示分辨率;正在被处理的通道;在一个或更多个图像内的像素阵列的位置;以及在一个或更多个图像内的像素阵列相对于一个或更多个图像的观察者的凝视点的位置;以及误差度量。
[0022] 在一个实施例中,该方法包括使用至少一种压缩方案以:从图像数据获得像素数据,该像素数据表示在一个或更多个图像内的像素阵列;确定在一个或更多个图像内的像素阵列相对于已定义位置的位置,已定义位置至少部分地指示用户的凝视点;以及至少部分地根据已确定位置来压缩像素数据,使得压缩程度取决于像素阵列的已确定位置。
[0023] 在一个实施例中,已定义位置是下列项中的至少一个:用户的被测凝视点;用户的预期凝视点;偏离用户的被测凝视点;偏离用户的预期凝视点;以及至少部分地根据指示用户的凝视点的凝视数据来确定,该凝视数据是从凝视跟踪系统获得的。
[0024] 在一个实施例中,该方法包括压缩像素数据,使得压缩程度进行下列项中的至少一个:基于距已定义点的距离;基于相对于已定义点的方向;远离已定义点而增加;以及提供凹式压缩(foveated compression)。
[0025] 在一个实施例中,该方法包括使用至少一种压缩方案以:从图像数据获得像素数据,该像素数据表示在一个或更多个图像内的像素阵列;对像素数据应用变换以确定指示像素阵列的频率分量的一组频率系数;使用比特编码方案来对至少一些频率系数进行选择性地编码,从而生成一组已编码频率系数;以及使用已编码频率系数来生成压缩图像数据。
[0026] 在一个实施例中,比特编码方案定义用于对频率系数中的每一个进行编码的比特的数量,并且其中,频率系数被选择性地编码,使得下列项中的至少一个:至少一些已编码频率系数具有不同数量的比特;较小数量的比特用于对对应于较高频率的频率系数进行编码;越来越小数量的比特用于对对应于越来越高频率的频率系数进行编码;至少一个频率系数被丢弃,使得该组已编码频率系数小于该组频率系数;以及对应于较高频率的至少一个频率系数被丢弃。
[0027] 在一个实施例中,该方法包括:选择多个比特编码方案之一;以及根据选定比特编码方案来对频率系数进行编码。
[0028] 在一个实施例中,多个比特编码方案中的每一个都用相应的不同数量的比特来对不同的频率系数进行选择性地编码以提供不同的压缩程度。
[0029] 在一个实施例中,至少部分地根据下列项中的至少一个来选择比特编码方案:期望的压缩程度;以及像素阵列的位置。
[0030] 在一个实施例中,频率分量被布置在多个级别中,并且其中,每个比特编码方案定义用于对在多个级别的每一个中的频率系数进行编码的比特的相应数量。
[0031] 在一个实施例中,该阵列是导致频率分量的2N-1个级别的N x N像素阵列。
[0032] 在一个实施例中,该方法包括将比例因子应用于至少一些频率系数,使得按比例缩放的频率系数被编码,该比例因子用于减小每个频率系数的大小,并且其中,执行下列操作中的至少一个:不同的比例因子应用于至少一些频率系数;相同的比例因子应用于每个频率系数;以及不同的比例因子应用于在不同通道中的频率系数。
[0033] 在一个实施例中,该变换是2D离散余弦变换。
[0034] 在一个实施例中,该方法包括:并行地对频率系数进行选择性地编码;以及至少部分地通过并行到串行字节编码来生成压缩图像数据。
[0035] 在一个实施例中,图像数据定义多个通道,并且其中,该方法包括使用至少一种压缩方案来选择性地压缩多个通道中的每一个。
[0036] 在一个实施例中,像素数据定义RGB通道,并且其中该方法包括:将RGB通道转换成YCbCr通道;以及压缩YCbCr通道,并且其中该方法还包括下列操作中的至少一个:比Cb或Cr通道更少地压缩Y通道;并行地压缩YCbCr通道中的每一个;以及压缩CbCr通道并使用未压缩的Y通道。
[0037] 在一个实施例中,该方法包括:从图像数据获得像素数据,该像素数据表示在一个或更多个图像内的像素阵列;以及压缩像素数据,其中通过下列操作从图像数据获得像素数据:缓冲对应于图像的接下来的m-1行像素的图像数据;缓冲下一行像素的接下来的m个像素的图像数据;从缓冲的图像数据获得下一m x m像素的像素数据;重复步骤b)和c),直到已经从所有m行像素获得像素数据为止;以及重复步骤a)至d),直到已经从图像的每行像素获得像素数据为止。
[0038] 在一个实施例中,基于下列项中的至少一个来选择m:选定压缩方案;选定比特编码方案;期望的压缩程度;以及像素阵列的位置。
[0039] 在一个实施例中,至少部分地使用电子处理设备来执行该方法。
[0040] 在一个广泛的形式中,本发明的一个方面寻求提供一种用于压缩来自形成数字内容流的一部分的图像的图像数据的装置,该装置包括至少一个电子编码器处理设备,其:获得n个图像中的每一个图像的图像数据;以及使用相应的压缩方案来压缩n个图像中的至少一些图像的图像数据。
[0041] 在一个实施例中,该装置包括:接收图像数据的编码器输入缓冲器;以及存储压缩图像数据的编码器输出缓冲器。
[0042] 在一个实施例中,该装置包括传输来自编码器输出缓冲器的图像数据的编码器发送器。
[0043] 在一个实施例中,至少一个编码器处理设备包括:适当地编程的现场可编程阵列;专用集成电路;以及图形处理单元
[0044] 在一个实施例中,图像数据定义多个通道,并且其中该装置包括:每个通道的相应处理设备;以及用于并行地处理每个通道的并行处理设备。
[0045] 在一个实施例中,像素数据定义RGB通道,并且其中该装置:将RGB通道转换成YCbCr通道;以及使用至少一个处理设备来对YCbCr通道进行选择性地编码。
[0046] 在一个实施例中,该装置包括与解码器无线通信的编码器,允许图像数据作为压缩图像数据在编码器和解码器之间被传送。
[0047] 在一个实施例中,编码器是下列情况中的至少一个:耦合到适当地编程的处理系统以及是适当地编程的处理系统的一部分。
[0048] 在一个实施例中,解码器是下列情况中的至少一个:耦合到可穿戴显示设备以及是可穿戴显示设备的一部分。
[0049] 在一个实施例中,编码器和解码器进行通信以交换下列项中的至少一个:压缩图像数据;指示显示设备的运动的运动数据;至少部分地用于控制显示设备的控制数据;指示用户输入命令的输入数据;指示观察者的凝视点的凝视数据;以及来自与可穿戴显示设备相关联的传感器传感器数据
[0050] 在一个广泛的形式中,本发明的一个方面寻求提供一种将表示形成数字内容流的一部分的图像的压缩图像数据解压缩的方法,该方法包括对于在数字内容流内的n个图像的序列:获得n个图像中的至少一些图像的压缩图像数据;以及使用相应的解压缩方案来将n个图像中的至少一些图像中的每一个的压缩图像数据解压缩。
[0051] 在一个实施例中,解压缩方案对应于用于生成压缩图像数据的压缩方案。
[0052] 在一个实施例中,该方法包括根据下列项中的至少一个来选择相应的解压缩方案:指示用于压缩图像数据的压缩方案的压缩方案代码;期望的压缩程度;用于传输压缩图像数据的通信链路的传输带宽;用于传输压缩图像数据的通信链路的传输服务质量;显示设备的运动;显示设备的所预测的运动;图像显示要求;目标显示分辨率;正在被处理的通道;在一个或更多个图像内的像素阵列的位置;以及在一个或更多个图像内的像素阵列相对于一个或更多个图像的观察者的凝视点的位置;以及误差度量。
[0053] 在一个实施例中,该方法包括:获得n个图像中的下一个图像的下一个压缩图像数据;将下一个压缩图像数据解压缩;以及对n个图像中的每一个图像重复步骤a)和b)。
[0054] 在一个实施例中,该方法包括使用至少一种解压缩方案以:获得压缩图像数据,该压缩图像数据表示在一个或更多个图像内的像素阵列,并且至少部分地基于在一个或更多个图像内的像素阵列相对于已定义位置的位置被压缩,该已定义位置至少部分地指示用户的凝视点;以及至少部分地根据已确定位置来将压缩图像数据解压缩。
[0055] 在一个实施例中,已定义位置是下列项中的至少一个:用户的被测凝视点;用户的预期凝视点;偏离用户的被测凝视点;偏离用户的预期凝视点;以及至少部分地根据指示用户的凝视点的凝视数据来确定,该凝视数据是从凝视跟踪系统获得的。
[0056] 在一个实施例中,该方法包括将像素数据解压缩,使得解压缩程度进行下列项中的至少一个:基于距已定义点的距离;基于相对于已定义点的方向;远离已定义点而增加;以及提供凹式压缩。
[0057] 在一个实施例中,该方法包括使用至少一种解压缩方案来复制图像以恢复所丢弃的图像的帧速率。
[0058] 在一个实施例中,该方法包括使用至少一种解压缩方案以:根据定义在每个已编码频率系数中使用的比特的数量的比特编码方案,来从压缩图像数据确定一组已编码频率系数;根据比特编码方案来执行已编码频率系数的比特解码,从而生成一组频率系数,其中至少一个频率系数被生成,使得该组已编码频率系数小于该组频率系数;以及对该组频率系数应用逆变换以确定表示在一个或更多个图像内的像素阵列的像素数据。
[0059] 在一个实施例中,比特编码方案定义用于对每个频率系数进行编码的比特的数量,比特编码方案使用较小数量的比特来对对应于较高频率的频率系数进行编码,并且其中,该方法包括生成对应于较高频率的至少一些频率系数。
[0060] 在一个实施例中,该方法包括:选择多个比特编码方案之一;以及根据选定比特编码方案来对已编码频率系数进行解码。
[0061] 在一个实施例中,多个比特编码方案中的每一个用相应的不同数量的比特来对不同的频率系数进行选择性地编码以提供不同的压缩程度。
[0062] 在一个实施例中,至少部分地根据下列项中的至少一个来选择比特编码方案:编码代码;用于生成压缩图像数据的比特编码方案;以及像素阵列的位置。
[0063] 在一个实施例中,频率分量被布置在多个级别中,并且其中,每个比特编码方案定义用于对在多个级别的每一个中的频率系数进行编码的比特的相应数量。
[0064] 在一个实施例中,该阵列是导致频率分量的2N-1个级别的N x N像素阵列。
[0065] 在一个实施例中,该方法包括将比例因子应用于至少一些频率系数,使得按比例缩放的已编码频率系数被解码,该比例因子用于增加每个频率系数的大小,并且其中,执行下列操作中的至少一个:不同的比例因子应用于至少一些已编码频率系数;相同的比例因子应用于每个已编码频率系数;以及不同的比例因子应用于在不同通道中的已编码频率系数。
[0066] 在一个实施例中,逆变换是逆2D离散余弦变换。
[0067] 在一个实施例中,该方法包括:至少部分地通过串行到并行字节解码来对压缩图像数据进行解码;以及并行地对频率系数进行选择性地解码。
[0068] 在一个实施例中,图像数据定义多个通道,并且其中,该方法包括对每个通道的已编码频率系数进行选择性地解码。
[0069] 在一个实施例中,压缩图像数据定义YCbCr通道,并且其中该方法包括:执行YCbCr通道的逆变换;以及将变换后的YCbCr通道转换成RGB通道,并且其中,该方法还包括下列操作中的至少一个:比Y通道更多地将Cb或Cr通道解压缩;将已编码YCbCr通道并行地解压缩;以及将CbCr通道解压缩并将解压缩后的CbCr通道和Y通道转换为RGB通道。
[0070] 在一个实施例中,至少部分地使用电子处理设备来执行该方法。
[0071] 在一个广泛的形式中,本发明的一个方面寻求提供一种用于将来自形成数字内容流的一部分的图像的图像数据解压缩的装置,该装置包括至少一个电子解码器处理设备,其:获得n个图像中的至少一些图像的压缩图像数据;以及使用相应的解压缩方案来将n个图像中的至少一些图像中的每一个的压缩图像数据解压缩。
[0072] 在一个实施例中,该装置包括:接收压缩图像数据的解码器输入缓冲器;以及存储图像数据的解码器输出缓冲器。
[0073] 在一个实施例中,该装置包括接收压缩图像数据并将压缩图像数据提供给输入缓冲器的解码器收发器。
[0074] 在一个实施例中,至少一个解码器处理设备包括:适当地编程的现场可编程门阵列专用集成电路;以及图形处理单元。
[0075] 在一个实施例中,图像数据定义多个通道,并且其中该装置包括:每个通道的相应处理设备;以及用于并行地处理每个通道的并行处理设备。
[0076] 在一个实施例中,压缩图像数据定义YCbCr通道,并且其中该装置:使用相应的处理设备来对CbCr通道进行解码;以及将已解码YCbCr通道转换成RGB通道。
[0077] 在一个实施例中,该装置包括与解码器无线通信的编码器,允许图像数据作为压缩图像数据在编码器和解码器之间被传送。
[0078] 在一个实施例中,该装置包括与编码器无线通信的解码器,允许图像数据作为压缩图像数据在编码器和解码器之间被传送。
[0079] 在一个实施例中,解码器是下列情况中的至少一个:耦合到适当地编程的计算机系统以及是适当地编程的计算机系统的一部分。
[0080] 在一个实施例中,解码器是下列情况中的至少一个:耦合到可穿戴显示设备以及是可穿戴显示设备的一部分。
[0081] 在一个实施例中,解码器和编码器进行通信以交换下列项中的至少一个:压缩图像数据;指示显示设备的运动的运动数据;至少部分地用于控制显示设备的控制数据;指示用户输入命令的输入数据;指示观察者的凝视点的凝视数据;以及来自与可穿戴显示设备相关联的传感器的传感器数据。
[0082] 将认识到,本发明的广泛形式及其相应的特征可以协力地、可互换地和/或独立地被使用,并且对单独广泛形式的引用并不旨在是限制性的。
[0083] 附图简述
[0084] 现在将参考附图描述本发明的示例,其中:
[0085] 图1是用于将形成数字内容流的一部分的图像数据压缩和随后解压缩的方法的示例的流程图
[0086] 图2A是用于在可穿戴设备上显示图像的装置的第一示例的示意图;
[0087] 图2B是用于在可穿戴设备上显示图像的装置的第二示例的示意图;
[0088] 图3是合并用于将图像数据压缩和解压缩的装置的虚拟现实系统的特定示例的示意图;
[0089] 图4A和图4B是用于将形成数字内容流的一部分的图像数据压缩和随后解压缩的方法的另一个示例的流程图;
[0090] 图5A至图5D是用于将图像压缩和随后解压缩的方法的特定示例的流程图;
[0091] 图6是示出编码过程的方面的示意图;
[0092] 图7是选择比特编码方案的方法的示例的流程图;
[0093] 图8是待被编码的示例图像的示意图;以及
[0094] 图9是用于压缩图像数据和将压缩图像数据解压缩的编码/解码方案的另一个示例的流程图。
[0095] 优选实施例的详细描述
[0096] 现在将参考图1描述用于将形成数字内容流的一部分的图像数据压缩和随后解压缩的方法的示例。
[0097] 为了说明的目的,假设至少部分地使用一个或更多个电子处理设备来执行该过程。在一个示例中,相应的处理设备用于将图像数据压缩和解压缩,允许压缩图像数据在两个处理设备之间被传送,尽管这不是必需的,并且可选地,同一处理设备可以用于将图像数据压缩和解压缩。
[0098] 处理设备可以形成相应的处理系统(例如计算机系统、计算机服务器、客户端设备(包括移动电话)、便携式计算机、显示设备(例如可穿戴或头戴式显示器))的一部分,或者可选地可以是耦合到这样的设备的独立模块的形式。
[0099] 图像数据表示形成数字内容流的一部分的图像的序列,其在一个示例中,例如在虚拟、增强或混合现实图形应用(其中图像被显示在可穿戴显示器上)中和/或在远程呈现应用(其中图像从远程可控系统被显示)中作为数字现实系统的一部分被远程地显示给源。然而将认识到,尽管本文描述的技术对于数字现实应用是特别有用的,但术语“数字内容流”并不旨在是限制性的,并且这些技术可以用于任何内容流(例如视频流、计算机图形等)。
[0100] 在该示例中,在步骤100,对于形成数字内容流的一部分的n个图像(其中n是整数)中的每一个获得图像数据。图像数据可以以任何适当的方式被获得,并且可以从数据储存器被检索、从远程源(例如计算机系统、服务器、视频捕获设备、视频源等)被接收。该图像数据可以包括来自摄像机(例如安装在无人机上的摄像机等)的直播视频流。可选地,图像数据可以在电子处理设备内(例如作为混合、增强或虚拟现实系统的一部分)在内部被生成。
[0101] 在步骤110,使用相应的压缩方案来压缩n个图像中的至少一些图像的图像数据。在这点上,通常对n个图像中的至少一些图像使用不同的压缩方案,使得至少一些图像以不同的方式被压缩。不同的压缩方案可以提供不同的压缩程度(包括有损压缩和/或无损压缩),并且还可以使用不同的压缩机制(例如压缩在不同图像内的不同色彩空间通道、执行块编码等)。因此,可以使用各种不同的图像压缩算法,并且在下面的描述中对特定示例的引用并不旨在是限制性的。还将注意到,在n个图像的序列中的至少一些图像可以未被压缩。
[0102] 将认识到,上述过程可以涉及接收n个图像中的每一个图像,以及然后执行压缩,但特别是在延迟是问题的情况下,一般每一个图像一被接收到就将基本上立即被压缩,使得获得和压缩图像的步骤对n个图像中的每一个图像顺序地被重复。
[0103] 类似地,在解压缩过程方面,在步骤120为n个图像中的至少一些图像获得压缩图像数据,可选地连同来自任何未压缩图像的图像数据一起。压缩的和可选地未压缩的图像数据可以以任何适当的方式被获得,并且可以从远程源(例如用于执行压缩的电子处理设备)被接收、从数据储存器被检索等。
[0104] 然后在步骤130,压缩图像数据使用相应的解压缩方案被解压缩,并可选地与任何未压缩的图像数据组合,以形成未压缩的数字内容流,其然后可以根据需要被显示。
[0105] 因此,上述方法提供了一种用于对至少一些图像使用不同的压缩/解压缩方案来将在视频内容流内的n个图像的序列压缩和随后解压缩并且可选地以无压缩、最小压缩或无损压缩对一些图像进行编码的机制。
[0106] 在这点上,通常执行图像的压缩以便最小化所得到的数据的量,例如允许该数据使用更少的存储空间被存储或者使用更低的带宽被传输。然而,压缩可以导致图像中信息的丢失,继而导致图像质量的损失和/或压缩伪像(compression artefact)(例如振铃(ringing)、轮廓化(contouring)、色调分离(posterizing)、阶梯状噪声、混叠、块效应等)的引入。
[0107] 在典型的视频压缩方案中,压缩跨越多个帧被共同执行。例如,时间冗余用于考虑下面的事实:连续帧常常是非常相似的,且因此压缩方案(例如MPEG-4)仅使用运动估计以找到在帧之间的差异来对在连续帧之间的差异进行编码。这有助于提高可被执行的压缩程度,同时最小化伪像的存在。然而,为了使这种方案最佳地运作,在开始压缩之前了解多个图像帧的内容是更可取的。作为结果,这通常不适用于数字现实方案,在数字现实方案中,低延迟要求常常要求每个帧都尽可能快地被压缩,意味着帧一被生成且在连续帧被生成之前,该压缩基本上就完成了,意味着很难使用时间冗余。
[0108] 相反,上述方法对序列中的不同图像使用不同的压缩方法。例如,这可以包括使用用于第一图像的无损压缩方案来压缩五个图像的序列,后面是例如使用行程编码(run-length encoding)的、用于接下来的四个图像的四个有损压缩方案,后面是色彩空间缩小、色度采样(chroma subsampling)、变换编码、分形压缩等。
[0109] 不同的压缩方案通常具有不同的所得到的质量,并且常常具有不同的压缩伪像,意味着特定伪像常常仅存在于序列内的一个或两个图像中。因为每个图像仅在短持续时间(例如0.04秒)或更短持续时间内被观看,所以伪像对于观看者变得不太明显。此外,因为人倾向于跨越帧共同感知视频内容,所以解压缩内容的观看者将倾向于跨越图像的序列来共同感知质量,而不是注意到在单独图像上的质量下降。这意味着只要在序列中的一些图像具有足够高的质量,用户就通常感觉不到整体质量的下降,他们也将不识别特定的压缩伪像(如果这些压缩伪像仅被限制到一些图像)。此外,可以通过在帧之间执行混合来进一步减少在图像之间的伪像,例如以在某个频率处减少像素中的闪烁(flicker)。
[0110] 因此,用不同的压缩算法压缩图像的序列(例如多个视频和计算机图形帧)可以用来获得高的压缩程度,与其他情况相比有较少的感知到的质量下降。这也通过确保类似的伪像在多个连续图像中不存在来明显最小化压缩伪像的影响,从而显著降低这种伪像被感知的程度。此外,该方法允许数字内容流中的每个帧被单独地压缩,这继而使该方法特别适合于需要低延迟的应用(例如数字现实应用)。
[0111] 现在将描述许多另外的特征。
[0112] 在一个示例中,该方法包括使用压缩方案的序列来压缩n个图像的序列,可选地对于n个图像的多个序列使用相同的压缩方案序列。使用压缩方案的已定义序列可以有助于解压缩,例如仅要求在序列中的第一图像被识别,允许电子处理设备自动确定待用于剩余图像的解压缩方案。另外,压缩方案可以被排序以例如通过使高度压缩的图像与最低程度压缩的图像交替或者通过确保顺序压缩方案不导致类似的压缩伪像来最小化感知到的图像质量的下降。
[0113] 然而将认识到,这不是必需的,并且可选地,可以为每个待压缩的图像选择多个压缩方案之一,图像数据使用选定压缩方案被压缩以生成压缩图像数据。
[0114] 在该示例中,可以基于一系列因素来选择压缩方案,这些因素包括但不限于:用于在n个图像的序列中的相邻图像的压缩方案、期望的压缩程度、用于传输压缩图像数据的通信链路的传输带宽、用于传输压缩图像数据的通信链路的传输服务质量、显示设备的运动、显示设备的所预测的运动、图像显示要求、目标显示分辨率、正在被处理的通道、在一个或更多个图像内的像素阵列的位置、在一个或更多个图像内的像素阵列相对于一个或更多个图像的观察者的凝视点的位置、误差度量等。这允许一个或更多个压缩方案被选择以确保实现足够的压缩,同时保持数字内容流的整体质量。
[0115] 将认识到,可以以类似的方式选择合适的解压缩方案。在这点上,所使用的解压缩方案通常对应于用于生成压缩图像数据的压缩方案,从而确保压缩图像数据被准确地解压缩。为了确保这种情况出现,可以使用相同的选择过程来选择解压缩方案,使得该解压缩方案对应于用于压缩图像的压缩方案。在这点上,如果在选择过程中使用相同的因素,则应当产生相同的选择。然而在另一个示例中,指示选定压缩方案的编码代码可以在压缩过程期间被确定并与压缩图像数据相关联,从而允许压缩图像数据随后使用相关联的解压缩方案被解压缩。这允许接收压缩图像数据的处理设备确定编码代码,并使用该编码代码来识别与压缩方案相关联的解压缩方案。
[0116] 通常选择不同的压缩方案,使得至少两个相应的压缩方案提供不同的压缩程度,尽管这不是必需的。更一般地,使用不同的压缩方案来压缩n个图像中的每一个图像,这些压缩方案可选地各自提供不同的压缩程度。再次,这不是必需的,以及在n个图像的序列中的至少两个图像可以使用公共压缩方案来被压缩。在任何情况下,n个图像中的至少一个图像通常使用对每个相邻图像的不同的压缩方案被压缩,以帮助确保图像伪像在多个图像中是不连续的。压缩方案可以包括无损或有损压缩方案,并且优选地至少一个无损压缩方案或者至少一个未压缩图像用于最大化在图像的整个序列中的感知到的图像质量。在另一个示例中,n个图像中的至少一个图像可以被丢弃以降低帧速率,在这种情况下,可以在压缩期间复制先前的图像以恢复帧速率,同时减少所传输的数据的数量。
[0117] 例如,当用户的头部以很快的速度移动时,需要大得多的刷新率(帧速率)来保持合乎需要的低持久性视频图像。然而在头部运动期间,用户的眼睛将感知不到相同的图像细节,并且图像可以明显更多地被压缩。相反,当用户的头部是静止的或非常慢地移动时,用户感知到在图像中的多得多的细节,因此较低的压缩量是理想的,而高的帧速率不太重要且因此可以被降低,因为没有很多移动。因此将认识到,在这个实例中,在应用于每个帧的压缩的级别和帧的省略之间可以有折衷,当头戴式装置(headset)移动时,帧(图像)被保留但有高的整体压缩,而当头戴式装置是相对静止的时,帧(图像)可以被省略,而剩余的帧具有较低级别的压缩以保持较好的图像质量。
[0118] 在一个示例中,惯性预测算法可以在传统比例积分微分(PID)控制器回路上被使用以尝试预测头部的未来惯性运动。例如,颈部具有身体限制,且某些肌肉以不同的方式加速和减速,并对于用户可能如何使用他们的臀部和/或脚转身呈现不同范围的运动。此外,可以基于正被呈现的内容来预测可能的运动程度。无论如何都将认识到,预测可能出现的运动可以用于控制用于压缩图像的压缩方案,特别是控制压缩的变化和控制以帧动态地改变的方式所丢弃/保留的帧的变化,以实现一致理想的压缩比以及视觉体验。
[0119] 在图像序列中的图像的数量n可以根据优选实现而变化,但在一个示例中,数量n大于二、在二和五之间、在二和十之间、在四和二十五之间、或者小于二十五。这可用于确保未压缩或无损压缩的图像每秒被呈现一次或更多次,这继而可以有助于保持感知到的内容质量。然而可选地,数量n可以基于多个可用的压缩方案,从而减少在图像序列中的压缩方案的重复。
[0120] 在一个示例中,该方法包括获得n个图像中的下一个图像的下一个图像数据,压缩下一个图像数据,且然后对序列中的n个图像中的每一个图像以及然后可选地对多个序列中的每一个重复这些步骤。在这个实例中,每个图像的图像数据被顺序地压缩,这对于低延迟要求是特别有利的。类似的方法通常用于解压缩,该过程涉及为n个图像中的下一个图像获得下一个压缩图像数据,将下一个压缩图像数据解压缩,并为后续图像重复这些步骤。然而这不是必需的,并且可选地许多图像可以被获得,这些图像然后被压缩。这可以用于允许时间冗余被用作一种或更多种压缩技术,进一步增加可以被执行的压缩程度。
[0121] 将认识到,可以使用多种不同的压缩方案来执行上述技术,且现在将更详细地描述示例。
[0122] 在一个示例中,压缩方案执行凹式压缩,其中基于用户正在观看或预期观看的图像的什么部分来对图像进行不同地压缩。在该示例中,该方法包括:从图像数据获得像素数据,该像素数据表示在一个或更多个图像内的像素阵列;以及确定在一个或更多个图像内的像素阵列相对于已定义位置的位置,该已定义位置至少部分地指示用户的凝视点。已定义位置可以基于实际测量的凝视点、或者例如通过假设用户正在盯着图像的近似中心而确定的用户的预期或预测的凝视点、或者基于内容(例如在图像内的焦点、头戴式装置的运动等)。另外,已定义点可以从凝视点偏移,例如将已定义点定位在凝视点之下以考虑到下面的事实:个体倾向于感知稍微低于凝视点的更多细节以避免在行走时与障碍物碰撞。在此之后,像素数据至少部分地根据已确定位置被压缩,使得压缩程度取决于像素阵列的已确定位置。
[0123] 将认识到,类似地,解压缩过程可以被执行并涉及:获得压缩图像数据,该压缩图像数据表示在一个或更多个图像内的像素阵列,并且至少部分地基于在一个或更多个图像内的像素阵列相对于已定义位置的位置被压缩,该已定义位置至少部分地指示用户的凝视点;以及至少部分地根据该已确定位置来将该压缩图像数据解压缩。
[0124] 因此,这提供了一种用于将图像压缩和随后解压缩的机制,基于像素阵列相对于已定义点的位置(继而至少部分地基于用户的预测或测量的凝视点)来对压缩进行控制。特别地,这允许基于像素阵列的位置来选择压缩程度,使得较少的压缩可以在靠近凝视点的区域中被使用,而较大的压缩更远离凝视点(例如在用户的外围视场(peripheral field of view)中)被使用。这实际上提供了凹式压缩,允许通过在降低的图像质量不太明显的用户外围视场中增加压缩来实现更大的整体压缩,而没有可察觉的质量损失。
[0125] 压缩程度可以基于距已定义点的距离,例如更远离凝视点逐渐减小,但也可以基于相对于已定义点的方向,使得压缩在已定义点上方或下方是更大的。将认识到,这允许在具有相对于凝视点定位的任何任意形状的区域中使用相应的压缩程度,并且压缩程度可以根据正被压缩的内容的特定环境和/或性质来被配置。例如,这允许围绕已定义点的椭圆形、卵形或心形区域与外围区域相比具有减少的压缩量,从而在用户对任何压缩伪像的感知将是更大的区域中最大化图像质量。
[0126] 在一个示例中,压缩方案通过对像素数据应用变换来压缩图像数据以确定指示像素阵列的频率分量的一组频率系数,使用比特编码方案来对至少一些频率系数进行选择性地编码,从而生成一组已编码频率系数,并使用已编码频率系数来生成压缩图像数据。
[0127] 在该示例中,比特编码方案可以定义用于对每个频率系数进行编码的比特的数量,使得至少一些已编码频率系数具有不同数量的比特。该过程通常被执行以便减少用于对频率系数进行编码的比特的数量,从而最小化对频率系数进行编码所需的比特的数量。这可以包括用0个比特来对一些频率系数进行编码,从而作为编码步骤的一部分有效地丢弃相应的频率系数。
[0128] 所使用的比特的数量对于较高频率分量通常较小,因为它们的大小较小,并且当这些较高频率分量对应于在图像内的急剧转变时,意味着它们对整体图像质量的贡献较小。这允许较高频率分量系数使用较少的比特被编码,或者甚至被丢弃而没有以明显的方式不利地影响感知到的图像质量,同时减少对频率系数进行编码所需的比特的总数。
[0129] 应当注意,这种方法应当与代码替换技术(例如霍夫曼编码)形成对比,其中值替换较短的代码。替代地,在该示例中,尽管使用适合于预期大小的值的多个比特,但值仍然被编码,所以如果预期频率系数的值不超过7,那么该预期频率系数的值可以被编码为3比特字,所以6将被编码为“110”,与使用默认的8比特字“00000110”相反。相反地,如果预期频率系数的值高达63,则可以使用6比特字,因此例如20可以被编码为“010100”。在该值超过比特的可用数量的情况下,则可以使用对所定义的数量的比特可用的最大值,继而导致所得到的压缩图像数据的准确性的损失。
[0130] 因此,比特编码方案使用关于频率系数值的预期大小的信息,以便定义应当被使用的比特的数量。不太激进的(aggressive)比特编码方案将使用更大数量的比特,导致减小的压缩,但具有更高的分辨率,而更激进的比特编码方案将使用更少的比特,且因此提供更大的压缩,但在降低的分辨率上有折衷。
[0131] 无论如何,通过使用定义用于对每个频率系数进行编码的比特的数量的比特编码方案,这允许在将压缩图像数据解压缩时使用相同的方案,继而允许执行准确的解压缩,同时允许比特编码方案用于被配置为针对当前情况对压缩进行优化。
[0132] 在一个示例中,该方法包括选择多个比特编码方案中的一个,并且根据选定比特编码方案来对频率系数进行编码。在这点上,将认识到,这实际上提供了不同的压缩方案,每个压缩方案使用相同的基本方法但不同的比特编码方案。
[0133] 可以至少部分地根据期望的压缩程度和/或像素阵列的位置来选择比特编码方案。这可以又取决于其他因素,例如像素阵列的位置、用于传输压缩图像数据的通信链路的传输带宽、用于传输压缩图像数据的通信链路的传输服务质量、显示设备的运动、图像显示要求、目标显示分辨率、正在被处理的通道、误差度量等。这允许动态地调整压缩以帮助优化压缩并获得对于当前环境的最佳可能的图像质量的能力。
[0134] 例如,在显示设备运动的情况下,可以将来自头部跟踪系统的反馈提供给编码算法,允许编码算法基于头部加速度信息来选择压缩方案,允许压缩算法对帧速率和压缩量进行动态调整。这种运动反馈数据可以从在HMD内的内部IMU(惯性测量单元)或次级IMU被读出,例如形成解码器或单独系统的一部分。
[0135] 在一个示例中,频率分量被布置在多个级别中,并且其中每个比特编码方案定义用于对在多个级别的每一个中的频率系数进行编码的比特的相应数量。特别是,在阵列是导致频率分量的2N-1个级别的N x N像素阵列的情况下,在每一级别中的分量用比特的相应数量被编码。
[0136] 在一个示例中,该方法包括将比例因子应用于至少一些频率系数,使得按比例缩放的频率系数被编码。在这点上,按比例缩放用于减小频率系数的大小,使得这些频率系数可以使用更少数量的比特被编码。当解压缩被执行时,可以应用类似的比例因子,从而将相应的频率分量按比例缩放回到它们的原始大小。在该过程期间,舍入通常被执行,使得按比例缩放的频率分量是整数值或者具有有限数量的有效数字,从而最小化用于对系数进行编码的比特的数量。将认识到,当该舍入被执行时,存在重新创建的频率分量的准确度的由此引起的降低,但这对于最终得到的图像质量的影响是可忽略的。
[0137] 当比例因子被使用时,相同的比例因子可以应用于每个频率系数。这是特别有利的,因为这减小了在执行按比例缩放时的计算负担。特别是,这允许从存储器(例如寄存器)读取单个比例因子,或者允许该比例因子在逻辑配置中被硬编码,从而使按比例缩放频率系数的过程变得更快。然而,这并不是必需的,且不同的比例因子可以应用于不同的频率系数,例如将较高频率的频率系数按比例缩放更大的量。
[0138] 该变换通常是频率变换,例如傅立叶变换等,并且在一个示例中是2D DCT(离散余弦变换)。该变换可以例如使用已知的变换技术以任何合适的方式被应用,但在一个示例中以高度并行的方式被执行,从而减少处理时间。
[0139] 在一个示例中,图像数据定义多个通道,该方法包括对每个通道进行选择性地编码。通过对不同的通道进行单独地编码,这允许不同的通道在上述压缩方案中例如使用不同的比特编码方案或者丢弃不同的频率系数来被不同地编码。此外,压缩通道独立地允许通道并行地被压缩,这可以明显有助于减少执行压缩所花费的时间,并因而减少延迟。
[0140] 在一个示例中,像素数据定义RGB通道,并且该方法包括将RGB通道转换成亮度和色度通道YCbCr并对YCbCr通道进行变换。在这点上,亮度和色度通道由人眼不同地感知,允许色度通道使用更大的压缩程度被压缩,并因此与亮度通道相比质量会下降而没有感知到的质量的由此引起的损失。因此在一个示例中,该方法可以包括比Cb或Cr通道更多地对Y通道的频率系数进行选择性地编码,并且类似地可以包括以比Cb和Cr通道更多比特对Y通道的频率系数进行选择性地编码。
[0141] 在另一个示例中,在像素数据定义RGB通道的情况下,该方法可以包括将RGB通道转换成YCbCr通道,并通过压缩CbCr通道和使用Y通道来生成压缩图像数据。因此,Y通道被有效地解压缩,意味着在亮度通道中包含的全部信息被保留。这在一些情形中例如当对显示梯度的像素阵列进行编码时是特别有用的,因为这有助于保持颜色变化,并因而提高图像质量,同时仅导致压缩的较小减少。
[0142] 如上面所提到的,不同的通道可以并行地被压缩。此外,可以并行地对每个通道的频率系数进行编码。在这种情况下,生成压缩图像数据的方法通常包括执行并行到串行字节编码,使得频率系数被串行化成字节流,其然后可以经历字节编码。
[0143] 在一个示例中,压缩方案涉及缓冲图像数据以通过缓冲对应于图像的接下来的m-1行像素的图像数据来获得像素数据,缓冲下一行像素的接下来的m个像素的图像数据,从缓冲的图像数据获得下一m x m像素块的像素数据,并且重复此操作,直到已经从所有m行像素获得像素数据为止,并且对图像的像素的所有行进一步重复此操作。
[0144] m的值可以用于定义压缩程度,并且可以基于选定压缩方案、选定比特编码方案、期望的压缩程度和/或像素阵列的位置来被选择。
[0145] 类似的方法可以用于将压缩图像数据解压缩。
[0146] 例如,解压缩方案可以涉及获得压缩图像数据,压缩图像数据表示在一个或更多个图像内的像素阵列,并且至少部分地基于在一个或更多个图像内的像素阵列相对于已定义位置的位置来被压缩,已定义位置至少部分地指示用户的凝视点并且至少部分地根据已确定位置来将压缩图像数据解压缩。
[0147] 已定义位置可以是用户的被测凝视点、用户的期望凝视点、偏离用户的被测凝视点、偏离用户的期望凝视点,并且至少部分地根据指示用户凝视点的凝视数据来被确定,该凝视数据是从凝视跟踪系统获得的。然后,解压缩程度可以基于距已定义点的距离,基于相对于已定义点的方向,远离已定义点而增加,并提供凹式压缩。
[0148] 解压缩方案可以根据比特编码方案从压缩图像数据确定一组已编码频率系数,该比特编码方案定义在每个已编码频率系数中使用的比特的数量,根据比特编码方案来执行已编码频率系数的比特解码,从而生成一组频率系数,其中至少一个频率系数被生成,使得该组已编码频率系数小于该组频率系数,并且对该组频率系数应用逆变换以确定表示在一个或更多个图像内的像素阵列的像素数据。
[0149] 在该示例中,比特编码方案再次定义用于对频率系数中的每一个进行编码的比特的数量,比特编码方案使用较少数量的比特来对对应于较高频率的频率系数进行编码,并且其中该方法包括生成对应于较高频率的至少一些频率系数。
[0150] 比特编码方案可以选自多个比特编码方案之一,多个比特编码方案用相应的不同数量的比特来对不同的频率系数进行选择性地编码以提供不同的压缩/解压缩程度。通常基于编码代码、用于生成压缩图像数据的比特编码方案或像素阵列的位置来选择比特编码方案。
[0151] 比例因子也可以应用于至少一些频率系数,使得按比例缩放的已编码频率系数被解码,比例因子用于增加每个频率系数的大小,并且不同的比例因子应用于至少一些已编码频率系数,或者相同的比例因子应用于每个已编码频率系数,或者不同的比例因子应用于在不同通道中的已编码频率系数。
[0152] 在这种情况下,逆变换通常是逆2D离散余弦变换,尽管根据优选的实现可以使用其他合适的变换。
[0153] 压缩图像数据通常包括多个通道,并且其中该方法包括将每个通道选择性地解压缩。在一个示例中,压缩图像数据定义YCbCr通道,并且其中该方法包括执行YCbCr通道的逆变换并将变换后的YCbCr通道转换成RGB通道。作为该过程的一部分,Cb或Cr通道可以比Y通道被更多地被解压缩,可选地,Y通道被解压缩,并且通道被并行地处理。
[0154] 解压缩的数据还可以例如使用去块滤波器(deblocking filter)经历进一步的处理,去块滤波器用于当块编码技术等被使用时使可在宏块之间形成的锐边(sharp edge)平滑。这又可以允许使用增加的压缩程度,同时避免图像质量的相应下降。
[0155] 另外,解压缩的数据可以被处理,以便抵消传输中断等的影响。例如,来自前一帧的数据可以被缓冲,并且在下一帧中被重新显示的数据在传输期间被损坏。这可以包括替换整个帧,或者可选地如果单独像素块被损坏,仅仅替换单独像素块。
[0156] 这些技术可用于传输数字现实内容,包括增强现实、虚拟现实、混合现实、远程呈现等中的任何一种或更多种。这可以包括经由有线连接、通信网络和/或无线通信链路来将图像数据从计算设备传输到可穿戴数字现实头戴式装置。这可以包括从计算机或其他类似设备无线地传输压缩图像,或者可以包括将压缩图像从基于计算的计算环境传输到本地设备(例如安装在头戴式装置上的智能电话),允许使用云计算来执行图像的创建。合适连接的示例包括硬连线千兆位互联网、例如经由移动通信网络(例如3G、4G或5G网络)流式传送到移动电话、经由到有缆HMD(tethered HMD)的有线连接或者经由到无缆HMD的无线连接等进行的传输。还将认识到,由该方法提供的最小延迟理想地适合于从现场摄像机(例如安装在无人机上的摄像机)等进行传输。
[0157] 在一个示例中,该装置包括在无线通信中的编码器和解码器,允许图像数据作为压缩图像数据在编码器和解码器之间被传输。在一个特定示例中,这可以被利用,以便在可穿戴显示设备(例如HMD)和处理系统之间提供无线通信。现在将参考图2A描述该装置。
[0158] 在该示例中,处理系统210(例如适当地编程的计算机系统、游戏控制台等)适合于生成用于在HMD 240上显示的内容。处理系统210通常通过接收来自HMD的关于HMD的姿态的传感器数据和可选地来自一个或更多个单独的控制器250的输入数据来实现此操作。处理系统210然后基于传感器和/或输入数据,一般以可以从视频卡等输出的视频数据的形式来生成内容。在经由无线通信链路260将压缩图像数据无线地传输到解码器230之前,视频数据被传输到编码器220,编码器220通过压缩图像数据来对视频数据进行编码。解码器230对压缩图像数据进行解码,并将由此得到的视频数据提供给HMD用于显示。
[0159] 将认识到,该布置允许现有的计算机系统、游戏控制台等以及HMD210、240经由无线连接260被连接,从而消除了对在处理系统210和HMD240之间的有线连接的需要。因此例如,用户可以佩戴HMD和相关解码器,且然后将编码器连接到他们的计算机系统或游戏控制台,允许无线HMD装置被提供。
[0160] 然而,这不是必需的,以及可选地如图2B所示,处理系统210和HMD240可以被配置成包括集成的编码器和解码器硬件,允许这些设备经由直接无线连接260进行通信。
[0161] 将参考图3更详细地描述硬件配置的示例。
[0162] 将关于单独的硬件编码器和解码器来说明该示例,但是将认识到,这不是必需的,并且相同的技术可以与集成硬件结合来被使用。此外,尽管参考了虚拟现实应用,但这再次不是必需的,并且这些技术可以应用于任何情况,其中形成内容流的一部分的图像数据将被传输,且特别是当内容流将使用有限带宽被传输时,同时例如在虚拟现实、增强现实、混合现实或远程呈现应用中保持可接受的图像质量和期望的延迟。
[0163] 在该示例中,装置300再次包括处理系统310、编码器320、解码器330和以HMD或类似物的形式的显示设备340。现在将更详细地描述这些部件中的每一个。
[0164] 在该示例中,处理系统310包括如所示经由总线315互相连接的至少一个微处理器311、存储器312、可选的输入/输出设备313(例如键盘和/或显示器)以及外部接口314。在该示例中,外部接口314可以用于将处理系统310连接到外围设备(例如通信网络、存储设备、外围设备等)。尽管示出了单个外部接口314,但这仅仅是为了示例的目的,并且实际上可以提供使用各种方法(例如以太网、串行、USB、无线等)的多个接口。在该特定示例中,外部接口至少包括数据连接(例如USB)和视频连接(例如DisplayPort、HMDI、Thunderbolt等)。
[0165] 在使用中,微处理器311执行以存储在存储器312中的应用软件的形式的指令以允许所需的过程被执行。应用软件可以包括一个或更多个软件模块,并且可以在合适的执行环境(例如操作系统环境等)中被执行。
[0166] 因此将认识到,处理系统310可以由任何合适的处理系统(例如合适地编程的PC等)形成。在一个特定示例中,处理系统310是标准处理系统(例如基于英特尔架构的处理系统),其执行存储在非易失性(例如,硬盘)存储装置上的软件应用,尽管这不是必需的。然而还将理解,处理系统可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与实现逻辑(例如FPGA(现场可编程门阵列)、专用集成电路(ASIC)、图形处理单元(GPU)或任何其他电子设备、系统或装置)相关联的固件
[0167] 此外,虽然处理系统310被示为单个实体,但将认识到,在实践中,处理系统310可以由多个物理设备形成,这些物理设备可以可选地分布在多个地理上分离的位置上,例如作为基于云的环境的一部分。
[0168] 编码器320通常包括编码器输入缓冲器321,其又耦合到编码器处理设备322、编码器输出缓冲器323和收发器324。可以提供耦合到收发器324的单独数据缓冲器325。
[0169] 在使用中,图像数据以及在一个特定示例中视频数据在被传递到编码器处理设备322用于压缩之前被接收并临时存储在输入缓冲器321中。在这点上,编码器输入缓冲器通常缓冲对应于图像的接下来的m-1行像素和然后下一行像素的接下来的m个像素的图像数据。这允许编码器处理设备322从缓冲的图像数据获得下一m x m像素块的像素数据,并开始编码。然而将认识到,这不是必需的,以及可以使用其他缓冲方案,包括缓冲先前帧,用于在对后续帧之间的差异进行编码时使用。
[0170] 一旦该操作被完成,接下来的m个像素就被缓冲,这被重复,直到来自前m行像素的像素数据被获得并被编码为止。然后对图像中的随后行的像素重复该过程,直到整个图像的像素数据被获取为止,此时下一个图像以类似的方式被处理。作为该方法的结果,编码器输入缓冲器从不需要存储多于m-1个完整行和来自下一行的图像数据的m个像素,降低了存储器需要。此外,当像素数据被获取时,这可以使用编码过程被立即处理,甚至在图像数据的接下来的m个像素被缓冲之前。这明显减少了处理时间,并帮助最小化总延迟。
[0171] 然后,所得到的压缩图像数据例如通过顺序读入已编码比特来被存储在编码器输出缓冲器323中,从而在经由收发器324被传输到解码器330之前执行并行到串行字节编码。收发器324还适合于经由编码器数据缓冲器325来传输其他数据,例如从HMD 340接收的传感器数据。
[0172] 缓冲器321、323、325可以具有任何合适的形式的临时存储装置(取决于优选实现),并且在一个示例中可以包括高性能FIFO(先进先出)现场存储器芯片(field memory chip)等。输入缓冲器通常连接到HDMI端口、显示端口输出或任何其他合适的视频源,而数据缓冲器335连接到USB端口,从而允许与计算机系统的对等连接。
[0173] 收发器324可以具有任何合适的形式,但在一个示例中例如经由点对点直接WiFiTM连接、60GHz无线技术等允许在编码器和解码器之间的基于短距离无线电的通信360。
[0174] 处理设备322可以是能够执行压缩过程(包括本文描述的压缩过程)的任何设备。处理设备322可以包括根据存储在存储器中的软件指令来进行操作的通用处理设备。然而在一个示例中,为了确保适当地快速的压缩时间,处理设备包括被配置为执行压缩过程的定制硬件。这可以包括可选地与实现逻辑(例如FPGA(现场可编程门阵列)、图形处理单元(GPU)、专用集成电路(ASIC)、数字信号处理(DSP)或任何其他电子设备、系统或装置)相关联的固件。在一个优选示例中,编码器处理设备322被配置为执行对单独通道的并行处理。
例如,这可以包括对每个通道的单独频率系数的进行并行编码。此外,虽然示出了单个编码器处理设备322,但实际上相应的编码器处理设备322可以被提供来对通道中的每一个进行并行地编码,或者可选地,GPU或其他类似的并行处理架构可以被使用。在通道(例如Y通道)未被编码的情况下,编码器处理设备可以在向编码器输出缓冲器323传输相应数据时简单地引入延迟,确保这仍然与已编码的CbCr通道同步。
[0175] 解码器330通常包括耦合到解码器输入缓冲器331的收发器334,解码器输入缓冲器331又耦合到解码器处理设备332和解码器输出缓冲器333。也可以提供耦合到收发器334的单独数据缓冲器335。
[0176] 在使用中,压缩图像数据经由收发器334从编码器320被接收,并在被传递到解码器处理设备332用于解压缩之前,临时存储在输入缓冲器331中。所得到的图像数据在被传送到显示设备340之前,被存储在解码器输出缓冲器333中。收发器324还适合于经由解码器数据缓冲器335传输其他数据,例如从显示设备340接收的传感器数据。
[0177] 缓冲器331、333、335可以具有临时存储装置的任何合适的形式(取决于优选实施方式),并且在一个示例中可以包括高性能FIFO(先进先出)现场存储器芯片等。输出缓冲器通常连接到HDMI端口,而数据缓冲器335连接到USB端口,从而允许到显示设备的对等连接。
[0178] 收发器334可以具有任何合适的形式,但在一个示例中例如经由点对点直接WiFiTM连接、60GHz无线技术等允许在编码器和解码器之间的基于短距离无线电的通信360。
[0179] 处理设备332可以包括根据存储在存储器中的软件指令来进行操作的通用处理设备。然而在一个示例中,为了确保适当地低的解压缩时间,处理设备包括被配置为执行解压缩过程的定制硬件。这可以包括可选地与实现逻辑(例如FPGA(现场可编程门阵列)、图形处理单元(GPU)、专用集成电路(ASIC)或任何其他电子设备、系统或装置)相关联的固件。在优选示例中,解码器处理设备332被配置成(例如通过对单独频率系数执行并行编码)来执行单独通道的并行解压缩。再次,虽然示出了单个解码器处理设备332,但实际上相应的编码器处理设备332可以被提供来对每个通道进行并行编码,或者可选地,GPU或其他类似的并行处理架构可以被使用。在通道(例如Y通道)未被编码的情况下,则解码器处理设备可以在向解码器输出缓冲器333传输相应数据时简单地引入延迟,确保这仍然与CbCr通道同步。
[0180] 显示设备340包括如所示经由总线347互相连接的至少一个微处理器341、存储器342、可选的输入/输出设备343(例如键盘或输入按钮)、一个或更多个传感器344、显示器
345和外部接口346。
[0181] 如在本领域中的技术人员将认识到的,显示设备340可以是HMD的形式,且因此设置在适当的外壳中,允许该显示设备由用户佩戴,并且包括相关透镜,允许显示器被观看。
[0182] 在该示例中,外部接口347适合于经由有线连接将显示设备正常连接到处理系统310。尽管示出了单个外部接口347,但这仅仅为了示例的目的,并且实际上可以提供使用各种方法(例如以太网、串行、USB、无线等)的多个接口。在该特定示例中,外部接口通常至少包括数据连接(例如USB)以及视频连接(例如DisplayPort、HMDI、Thunderbolt等)。
[0183] 在使用中,微处理器341执行以存储在存储器342中的应用软件的形式的指令以允许所需的过程被执行。应用软件可以包括一个或更多个软件模块,并且可以在合适的执行环境(例如操作系统环境等)中被执行。因此将认识到,处理设备可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与实现逻辑(例如FPGA(现场可编程门阵列)、图形处理单元(GPU)、专用集成电路(ASIC)或任何其他电子设备、系统或装置)相关联的固件。
[0184] 传感器344通常用于感测显示设备340的定向和/或位置,并且可以包括惯性传感器、加速度计等。可以提供额外的传感器(例如光传感器或接近度传感器)以确定显示设备当前是否被佩戴,同时眼睛跟踪传感器可以用于提供用户的凝视点的指示。
[0185] 在一个示例中,显示设备因此可以是现有的商业显示设备,例如HTC ViveTM、Oculus RiftTM或Playstation VRTM头戴式装置,尽管将认识到,这不是必需的并且任何合适的布置可以被使用。
[0186] 现在将更详细地描述图像压缩/解压缩过程的操作的示例。
[0187] 为了该示例的目的,假设处理系统310正在执行生成显示在显示设备340上的内容的应用软件,该内容基于来自在显示设备340上的传感器345以及可选地其他传感器(例如手持控制器或位置检测系统(未示出))的传感器数据被动态地显示(如本领域中的技术人员将认识到的)。
[0188] 由处理系统310执行的动作由处理器311根据作为应用软件存储在存储器312中的指令和/或经由I/O设备313或其他外围设备(未示出)从用户接收的输入命令来被执行。由显示设备340执行的动作由处理器341根据作为应用软件存储在存储器342中的指令来被执行。
[0189] 编码器320和解码器340充当在处理系统310和显示设备340之间的接口,允许图像数据被压缩、无线地传输,且然后在显示在显示设备340上之前被解压缩,同时还允许传感器数据或其他输入命令数据被传输回到处理系统。由编码器320和解码器330执行的动作通常由相应的处理设备322、332基于已定义的编程以及在一个示例中基于在嵌入式固件中的定制硬件配置和/或指令来被执行。
[0190] 然而将认识到,为了下面的示例的目的而假设的上述配置不是必需的,并且许多其他配置可以被使用。例如,编码器和解码器的功能可以直接内置在处理系统310和显示设备340中。此外,压缩技术可以被应用在各种各样的其他情形中,包括在一个或更多个计算机系统上将图像流压缩和解压缩,而不需要使用单独的显示设备。然而,上述布置对于虚拟、增强或混合现实应用、远程呈现应用等是特别有益的。
[0191] 现在将参考图4A和图4B更详细地描述示例压缩/解压缩过程。
[0192] 在该示例中,在步骤400,编码器320从处理系统310接收图像数据,且尤其是表示图像的序列的视频数据,并将该数据临时存储在编码器输入缓冲器321中。
[0193] 在步骤410,编码器处理设备322选择下一个压缩方案,在步骤420,可选地确定与选定压缩方案相关联的代码。压缩方案被选择的方式将根据优选实现而变化,并且可以包括从压缩方案的已定义序列选择下一个方案,或者可以基于因素(例如总体期望的压缩程度、延迟需要、图像内容的性质等)来被执行。
[0194] 然后,在步骤430,图像数据由编码器处理设备322进行压缩,并且在步骤440,在被传输到解码器330之前可选地与代码组合。特别地,压缩图像数据通常存储在输出缓冲器323中,直到足够的数据存在为止,此时数据分组被创建并由收发器324传输到编码器。对内容流中的所有图像重复该过程,通常根据需要每n个图像循环通过一个压缩方案的序列。
[0195] 在步骤450,解码器330经由收发器334接收压缩图像数据,并将该数据临时存储在输入缓冲器331中。在步骤460,解码器处理设备332确定与压缩图像数据相关联的代码,并在步骤470,使用该代码来确定解压缩方案。然后在步骤480,解码器处理设备332将图像数据解压缩,在步骤490,将解压缩后的该图像数据存储在输出缓冲器333中用于显示。再次,根据需要对内容流中的每个图像重复此操作。
[0196] 现在将参考图5A至图5D更详细地描述特定的示例压缩/解压缩过程。
[0197] 在该示例中,在步骤500和502,编码器320从处理系统310接收图像数据,且尤其是表示图像的序列的视频数据,并且将该数据临时存储在编码器输入缓冲器321中。例如通过解析数据以识别在数据中的为报头定界的标志、识别图像的开始等来对图像数据进行分析,允许在步骤504获取对应于下一个8x 8像素块的图像数据。在这点上,当缓冲数据时,编码器需要来自图像的初始8x 8像素块,以便开始处理。因此,在处理可以开始之前,编码器输入缓冲器321填充有图像的前7行像素以及第8行像素的前8个像素。当接收到接下来的8个像素时,可以处理下一个8x 8块,这被重复,直到在图像的前8行中的所有像素都被处理为止。在此之后,下一组8行可以以类似的方式被处理。
[0198] 图像数据通常是多通道RGB数据的形式,然后在步骤506,多通道RGB数据由处理设备322转换成YCbCr亮度和色度通道。该过程可以使用已知的数学坐标变换来被执行,且这因此不被详细描述。
[0199] 在步骤508,将2D DCT应用于亮度和色度通道中的每一个,从而将通道变换到频域内。该过程可以使用已知技术来被执行,并且在优选示例中由处理设备322以高度并行的方式来被执行,从而减少处理时间。在每个通道上的变换过程的结果是具有表示在相应图像通道中的不同频率分量的大小的64个频率系数的8x 8矩阵。
[0200] 在步骤510,例如通过将每个频率系数除以比例因子来将比例因子应用于每个矩阵,从而减小每个频率系数的大小。比例因子可以具有任何值,并且对于不同的通道可以是不同的。作为该过程的一部分,按比例缩放的频率系数通常被舍入到整数或有效数字的其他设定的数字,从而减少了对频率系数进行编码所需的数据量。例如,值为500的系数需要9个比特来进行编码,而50只需要6个比特,因此应用值为10的比例因子可以减少以相应频率系数进行编码所需的比特的数量。
[0201] 在该方法中将认识到,较低值系数可以被舍入到零,例如,4被按比例缩放到0.4并因此被舍入到0。虽然这导致信息的丢失,但这倾向于对较高频率分量出现,我们知道较高频率分量对图像的整体外观贡献较小,且因此这种丢失具有有限的影响。
[0202] 在应用比例因子之后,在步骤512确定选择规则。在步骤514,选择规则用于允许一些频率分量被选择,使得其他频率分量可以被丢弃。该选择通常基于被定义为对地跨越矩阵的分级结构的级别来被执行,使得8x8频域矩阵包括分别具有1、2、3、4、5、6、7、8、7、6、5、4、3、2、1个系数的15个级别。
[0203] 被丢弃的级别通常是较高频率分量,其如上面所提到的对图像的外观贡献较小。根据优选实现,选择规则基于各种因素来定义哪些级别被丢弃。
[0204] 例如,色度通道通常比亮度通道对图像的外观贡献更小,使得对于色度,与亮度通道相比更多的级别将被丢弃。因此例如对于亮度通道Y,可以保留对应于36个频率系数的级别1至8(如在图6中在631处所示的),而对于色度通道Cb和Cr,可以保留对应于仅21个频率系数的级别1至6(如在图6中在632和633处所示的)。将认识到,这将需要在所有三个通道上进行编码的频率系数的总数从192减少到78。
[0205] 基于规则来选择保留哪些级别,允许编码器和解码器在选择保留哪些级别时应用相同的标准,这又允许该操作实时地自适应地被执行。这又允许基于其他因素(例如在编码器和解码器之间的通信通道的质量和/或带宽)来选择不同的级别。因此,如果带宽由于干扰而减少,那么可以选择更少的级别,这将导致更高的压缩程度。虽然这将导致图像质量的下降,但在许多应用(例如VR)中一些帧的质量的下降将比帧的丢失或延迟的增加更不明显,且因此是优选的结果。
[0206] 其他因素可以包括但不限于显示设备的移动、且尤其是移动速率、图像显示要求、目标显示分辨率、在一个或更多个图像内的像素阵列的位置以及在一个或更多个图像内的像素阵列相对于一个或更多个图像的观察者的凝视点的位置。将在下面更详细地描述另外的示例。
[0207] 在步骤516,确定比特编码方案,在步骤518,允许使用不同数量的比特来对选定频率系数进行选择性地编码。在这点上,如上所述,按比例缩放的频率分量可能只需要6个比特来对系数进行完全编码。因此,选择比特编码方案,使得用于对频率系数进行编码的比特的数量对于在分级结构中的每一级别是不同的。这是可行的,因为较高频率分量通常具有较小的大小,且因此需要较少的比特被编码。
[0208] 在一个示例中,用于亮度通道的编码方案和用于色度通道的编码方案是不同的,示例编码方案在下面的表1中示出。
[0209] 表1
[0210]
[0211] 对于三个通道中的每一个的前6个级别的这种形式的编码的示例在图6中被示出。使用选择规则和比特编码方案的该特定组合导致亮度通道641用129比特被编码,且色度通道642、643中的每一个用60比特被编码,导致8x 8像素阵列的所有三个通道用仅249比特被编码。很明显,这与需要192字节的原始未压缩图像数据比较,表示多于六倍的压缩。
[0212] 由此将认识到,用0个比特来加密通道实际上对应于丢弃通道,且因此这可以用作用于通过使用编码规则选择编码方案来选择被编码的系数的方法,从而将步骤512和514与516和518进行有效地组合。
[0213] 一旦编码被执行,就可以在步骤520通过执行并行到串行字节编码来将比特编码的频率分量串连成比特流,允许该比特流被表示为32字节(256比特)。在步骤522,字节被解析以在步骤524识别相同字节的子序列。特别地,这种方法用于识别三个或更多个相同字节的子序列,其然后可以在步骤526被替换为代码而没有信息的任何丢失。
[0214] 特别是,对于大多数图像,在所得到的已编码频率系数中有零的串,其中按比例缩放的系数被舍入到零。相应地,这些可以由可以被解码器识别的代码所替换,允许解码器重新插入相同字节的子序列。
[0215] 虽然代码可以具有任何合适的形式,但在一个示例中代码包括识别出特定字节是代码的报头以及对应于相同字节的值和数量的信息。在优选布置中,使用布尔或(OR)运算来将2字节代码与一行中的零的数量(1-8)进行组合。在一个示例中,零的数量被表示为N-1,使得0-7的数量与2字节代码进行“或”运算,使得这些只占用第二字节的3个比特。例如,所使用的代码可以是(1111 1111;1111 1000),根据零的数量,第二个字节与0-7进行“或”运算。将认识到,对于不同的值可使用类似的方法。
[0216] 这种方法工作良好,因为编码很少导致在值上大于或等于248的连续数字,所以解码算法可以简单地搜索具有值为255的一个字节和具有大于或等于248的值的后续字节,将此识别为与已编码频率分量相对的代码。然后,该代码由对应于数据的字节替换,该数据具有由第二字节的最后3个比特表示的序列零的数量。这可以基于到目前为止的测试而导致在比特编码阶段之后的数据的另外的19-25%减少。
[0217] 在执行了代码替换之后,可以在步骤528输出压缩图像数据。特别地,压缩图像数据通常存储在输出缓冲器323中,直到足够的数据存在为止,此时数据分组被创建并由收发器324传输到编码器。
[0218] 在步骤530,解码器330经由收发器334接收压缩数据,将该数据存储在解码器输入缓冲器331中。如上所述,在步骤532对数据进行解析以识别在数据内的代码,在步骤534用重复的相同字节的子序列对这些代码进行替换,从而重新创建比特编码的频率系数的比特流。
[0219] 在步骤536,解码器处理设备332确定用于对图像数据进行编码的比特编码方案,使用该方案来执行比特流的串行到并行解码,从而在步骤438确定已编码的频率系数。特别是,这允许解码器处理设备332确定用于对每个频率系数进行编码的比特的数量,允许比特流被有效地分割成单独的已编码的频率系数。在步骤540,单独的频率系数用于重新创建按比例缩放的频率矩阵,使用零值(null value)生成丢弃的频率系数,从而填充整个矩阵,在步骤542该矩阵又基于比例系数被按比例缩放。
[0220] 在步骤544应用逆2D DCT,之后在步骤546将每个YCbCr通道的所变换的矩阵转换成RGB通道,允许在步骤548输出8x 8像素块,允许该像素块由显示设备340再现。
[0221] 因此,上述过程允许对每个8x 8像素块并因而全部图像进行解码所需的图像数据量的明显减少。特别是,使用YCbCr通道的2D DCT、所得到的频率系数的选择性比特编码和可选的最终无损编码方案的组合来实现该效果。每个通道可以并行地被处理,DCT以并行方法应用于8x 8阵列。此外,频率系数中的每一个的比特编码也并行地发生,导致大规模并行方法,允许以快速方式执行压缩和解压缩,导致对延迟的最小影响,这在实时应用(例如VR、AR和远程呈现)中是重要的。
[0222] 现在,将参考图7和图8描述用于实现选择规则的方法的示例。
[0223] 特别是,该示例聚焦于如何使用在图像内的像素阵列的空间定位来影响选择过程以及因而影响所执行的压缩的量。对于其他因素也可以执行类似的过程,且因此将不详细描述这些过程。该过程对于编码器或解码器也是相同的,且仅为了易于说明的目的,该描述将聚焦于编码器的操作。
[0224] 在该示例中,在步骤700,编码器处理设备322确定当前通道的选择规则。在这点上,如前所述,不同的规则通常适用于亮度和色度通道中的每一个。然后在步骤705,编码器处理设备322确定在图像内的像素阵列的位置,并由此确定是否存在与该位置相关联的绝对规则。在这点上,当使用头戴式装置来显示图像时,透镜布置通常意味着部分图像不是可见的。这种情况的一个示例在图8中被示出,图8示出了图像的可见部分801和不可见部分802。在该实例中,如果像素阵列位于不可见部分802中,则不需要对像素阵列进行编码,且因此该过程可以简单地丢弃所有级别的频率系数。因此,在步骤710如果存在规则,则对于像素阵列的绝对位置,过程继续进行到步骤725,允许相应的级别选择被确定并接着在步骤
730与相应的比特编码方案一起使用(如上面关于步骤514至518所述的)。
[0225] 否则,在步骤715,编码器处理设备322确定图像的观察者的凝视点。如本领域中的技术人员将认识到的,可以使用眼睛跟踪感测系统来实现该操作。一旦凝视点被确定,就在步骤720确定在凝视点和当前像素阵列位置之间的相对位置以及在一个示例中确定在凝视点和当前像素阵列位置之间的距离,这在步骤725和730用于指导系数和/或比特编码方案确定。在这点上,因为个人的外围视觉(peripheral vision)不将相同平的细节感知为他们的焦点位置,所以更大的压缩程度可以更远离用户的凝视点被使用。
[0226] 在一个示例中,可以围绕用户的凝视点定义最小压缩区域,压缩程度从最小区域向外移动而增加。该区域可以具有任何形状并且可以是圆形、椭圆形、卵形等(取决于特定的情况)。例如,该区域也可以相对于凝视点偏离中心,因此确保最小压缩在凝视点下方被使用,该凝视点通常是由用户以更大的意识而感知的区域。
[0227] 还将认识到,在用户的凝视点不能被测量的情况下,凝视点可以被预测。一般来说,预测将聚焦于屏幕的中心,但将认识到,这不是必需的并且可以例如基于因素(例如所呈现的内容的性质、头戴式装置运动的方向等)而被改变。
[0228] 因此将认识到,这描述了允许选择性编码基于在图像内的像素阵列的绝对和/或相对位置来被执行的机制。通过使编码器和解码器中的每一个执行用于选择编码方案和所使用的选择的相同算法,这允许解码器可靠且准确地将压缩图像数据解压缩,同时仍然允许编码被动态地执行以最大化整体压缩水平,同时最小化图像质量的感知到的损失。
[0229] 将认识到,类似的方法可以用于其他因素,例如传输质量和/或带宽,从而确保压缩程度针对当前环境被优化。
[0230] 现在将参考图9描述用于压缩图像数据并随后将压缩图像数据解压缩的方法的另一个示例。
[0231] 虽然被描述为独立的示例,但从下面的描述将理解,当前的示例可以与上述压缩/解压缩技术结合来使用,以便提供进一步提高的压缩和计算效率。特别是,上述技术表示可以在下面的过程中被使用的选项之一,但也将认识到,其他压缩技术可以视情况被使用(取决于情况)。
[0232] 在该示例中,在步骤900从图像数据获得表示在一个或更多个图像内的像素阵列的像素数据。可以以任何合适的方式实现该操作,但通常涉及在图像数据被接收到时缓冲该图像数据,直到像素阵列(例如8x 8阵列)以与上面描述的方式类似的方式被获得为止。
[0233] 在步骤910确定编码方案,通常是从一个或多个先前定义的编码方案选择编码方案(例如上述编码方案)。可以以任何适当的方式(例如通过分析图像和/或像素数据),基于与图像相关联的图像类型、基于来自图像源或显示器的指令等来执行该选择,并且该操作一般被执行来提供更大或更小的压缩程度,取决于当前情况的特定要求。
[0234] 在步骤920,使用编码方案(例如使用上面概述的技术等)来对像素数据进行编码。在步骤930,指示编码方案的编码代码例如是通过与可用方案相关联的查找,这连同已编码块一起用于生成压缩图像数据。在一个示例中,可以通过将已编码代码作为前缀添加到已编码像素数据来实现该操作,尽管可以使用其他方法,包括简单地用编码代码替换像素数据(例如使用代码字替换),取决于所使用的编码方案。
[0235] 一旦压缩图像数据被创建,该压缩图像数据就可以接着被传送到目的地,例如作为字节流的一部分,允许该压缩图像数据被解码以生成图像数据。
[0236] 该过程通常通过在步骤940从压缩图像数据确定编码代码来被执行。在这点上,编码代码通常具有设定的格式(例如比特的特定组合),允许该编码代码在接收到的字节流中容易地被识别。然后在步骤950,编码代码用于一般通过查找过程来确定所使用的编码方案。然后在步骤960,所识别的编码方案可以用于例如使用上面概述的方法来对压缩图像数据进行解码,从而生成表示在一个或更多个图像内的像素阵列的像素数据。
[0237] 因此,上述过程允许使用多种编码方案之一来执行编码。在优选的示例中,不同的编码方案对于编码器和解码器都是预先已知的,允许这些编码方案对于正在被编码/解码的在图像中的每个像素阵列动态地被改变。这确保编码方案针对正被编码的特定数据被优化,从而最大化可以实现的压缩,同时确保其他期望的属性(例如图像质量和编码时间)被保持。
[0238] 现在将描述许多另外的特征。
[0239] 当对图像进行编码时,该过程通常涉及基于一系列不同因素(包括图像数据的图像类型、从图像数据源或显示器接收的编码方案指示)中的一个或更多个,通过分析图像数据和像素数据中的至少一个或者基于压缩要求(例如所需的压缩量、由此得到的图像质量、压缩延迟等)来确定编码方案。
[0240] 因此,例如当对照片进行编码时可以使用不同类型的编码,与常常具有相当不同的属性的计算机生成的图形相反。可以从与图像相关联的元数据或者基于图像本身的属性来获得图像的性质。可选地,提供图像数据的图像源(例如提供图像数据用于传输到显示器或其他计算设备的计算机系统)可以指定应当被使用的编码方案。
[0241] 另一个示例是分析像素数据以识别像素阵列的特征。例如,如果像素阵列具有单一颜色,则不同的算法可以被使用,如果像素阵列包含多种颜色。这对于对具有单一颜色的图像(例如天空或背景)的大区域进行编码是特别有用的,这允许指示单色(solid color)的单个编码代码被使用来替换整个像素阵列的像素数据,从而导致最大压缩量,而没有图像质量的实际损失。
[0242] 另一个示例是梯度或边界的识别,这可能使用许多图像压缩方法导致不期望有的图像伪像,且因此可能需要替代的压缩方法。
[0243] 在像素阵列不是单色的一个优选示例中,使用上面关于图5和图6概述的方法。在像素阵列不包含梯度或边界的情况下,该技术可以涉及对所有三个YCbCr通道进行编码。然而,在像素阵列包含梯度或边界的情况下,Y通道可以未编码地被通过,使得额外的亮度信息被保留。虽然这减少了所获得的最终压缩量,但由于CbCr通道的压缩,压缩量仍然是相当大的,同时额外的所保留的颜色信息可以显著提高在梯度或边界的区域中的由此得到的图像的质量。
[0244] 该选择也可以用于控制压缩算法的其他方面。例如,这可以用于以与关于图7的过程执行的方式类似的方式来指定在上述压缩过程中保留哪些频率系数。
[0245] 编码代码通常以从0到255的数字的形式被指定,该数字可以由单个字节定义并且允许从多达256种不同的编码方案做出选择。这允许各种不同的编码方案被使用,这些编码方案被分配给数字0至255中的相应数字,使得各种不同的编码方案可以被使用,从而优化对期望的图像质量实现的压缩。在一个特定的示例中,将认识到,可以建立编码方案的工业标准列表,从而允许编码和解码系统即使在没有先前通信的情况下也互操作以建立待被使用的编码方案。
[0246] 在一个特定示例中,编码代码可以通过固定格式的前一字节(例如“11111111”来被识别,使得用于选择分配给数字1的编码方案的编码代码将由“1111111100000001”给出。将认识到,执行该操作允许解码过程容易识别所使用的编码过程。然而,可以使用任何合适的方法,并且上面的示例并不旨在是限制性的。
[0247] 将认识到,当对压缩图像数据进行解码时,使用类似的方法,该方法包括用编码代码替换单色的像素阵列,或者使用前面描述的解码过程。
[0248] 还将认识到,可以使用与上述装置类似的装置来执行图像压缩过程,且因此将不再对此进行详细描述。
[0249] 因此,上述过程允许显著的数字内容压缩,而没有对延迟产生不利地影响,允许使用现有硬件在提供到虚拟或增强现实可穿戴显示器的无线连接时使用这些技术,同时还允许在其他应用中更广泛地实现改进的图像压缩。
[0250] 在整个本说明书和所附权利要求中,除非上下文另有要求,否则词“包括(comprise)”以及变形(例如“comprises(包括)”或“comprising(包括)”)将被理解为暗示包括所规定的整数或整数的组或步骤但不排除任何其他整数或整数的组。
[0251] 本领域中的技术人员将认识到,很多变形和修改将变得明显。对本领域中的技术人员变得明显的所有的这样的变形和修改应当被认为落在本发明在被描述之前广泛地出现的精神和范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈