CN112313954A - 视频编码*** - Google Patents
视频编码*** Download PDFInfo
- Publication number
- CN112313954A CN112313954A CN201980040241.XA CN201980040241A CN112313954A CN 112313954 A CN112313954 A CN 112313954A CN 201980040241 A CN201980040241 A CN 201980040241A CN 112313954 A CN112313954 A CN 112313954A
- Authority
- CN
- China
- Prior art keywords
- frequency
- blocks
- block
- video frame
- data
- 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
Links
- 238000001914 filtration Methods 0.000 claims abstract description 75
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 6
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 87
- 238000012545 processing Methods 0.000 claims description 59
- 230000005540 biological transmission Effects 0.000 claims description 32
- 230000002093 peripheral effect Effects 0.000 claims description 24
- 238000000354 decomposition reaction Methods 0.000 claims description 21
- 238000011045 prefiltration Methods 0.000 claims description 13
- 238000009877 rendering Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 31
- 230000006835 compression Effects 0.000 description 29
- 238000007906 compression Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000015556 catabolic process Effects 0.000 description 7
- 238000006731 degradation reaction Methods 0.000 description 7
- 238000012913 prioritisation Methods 0.000 description 6
- 239000011521 glass Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000004424 eye movement Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/37—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频编码***,其中在编码之前将像素数据分解成频带。将该频带组织成块,该块被提供给基于块的编码器。所编码的频率数据被分组并被传输到接收设备。在接收设备上,对所编码的数据进行解码以恢复该频带。然后对该频带执行小波合成以重构像素数据以用于显示。该***可使用一个或多个编码器来对帧的一部分(图块或条带)进行编码,并且在所编码的部分准备好时传输所编码的部分。预滤波部件可以在小波变换之前对像素数据执行透镜翘曲。
Description
背景技术
虚拟现实(VR)允许用户体验和/或与沉浸式人工环境进行交互,使得用户感觉他们好像身处于该环境中。例如,虚拟现实***可向用户显示立体场景以产生深度错觉,并且计算机可实时调整场景内容以提供用户在场景内移动的错觉。当用户通过虚拟现实***观看图像时,用户可因此感觉他们好像正从第一人称视角在场景内移动。类似地,混合现实(MR)将计算机生成的信息(称为虚拟内容)与真实世界图像或真实世界视图组合,以增强用户的世界视图或向用户的世界视图添加内容,或者另选地将真实世界对象的虚拟表示与三维(3D)虚拟世界的视图组合。因此,虚拟现实的模拟环境和/或混合现实的混合环境可用于为多种应用提供交互式用户体验。
发明内容
描述了视频编码***的各种实施方案,该视频编码***可以以低延迟来编码高分辨率视频源以通过通信链路(例如,无线链路)传输到设备以用于解码和显示。该视频编码***的实施方案还可提供被传输到设备的编码视频的适度降级,以在变化条件(诸如通信链路的信道容量的变化)下维持期望的帧速率。该视频编码***的示例性应用是在虚拟或混合现实***中,其中包含虚拟内容的视频帧由基站渲染、编码并传输到设备(例如,笔记本电脑或膝上型计算机、平板电脑或平板设备、智能电话或头戴式显示器(HMD),诸如可由用户佩戴的头戴式耳机、头盔、护目镜或眼镜)以用于解码和显示。
各种方法和装置可由视频编码***实现以维持通过无线链路的目标帧速率并且使帧渲染、传输和显示中的延迟最小化。此外,该方法和装置可提供传输到设备的编码视频的适度降级,以在变化条件(诸如通信链路的信道容量的变化)下维持期望的帧速率。
在一些实施方案中,该视频编码***可以在编码之前对像素数据执行小波变换,以将像素数据分解成频带。然后将频带组织成块,该块提供给基于块的编码器以用于编码/压缩。然后将编码的频率数据发送至无线接口,该无线接口对编码的频率数据进行分组并将分组传输至接收设备。在接收设备上,该编码数据被解分组并传递通过基于块的解码器以恢复频带。然后对所恢复的频带执行小波合成以重构像素数据以用于显示。
在一些实施方案中,视频编码***可以执行基于条带的渲染、编码和传输。基站可渲染并编码帧的局部或部分(称为条带)并且在所编码的条带准备好时将该编码的条带传输至设备,而不是在基站中渲染和编码整个帧并将渲染的帧传输至设备。基于条带的渲染和编码可有助于减少延迟,并且还可减少缓冲所需的内存量,这减少芯片或处理器上的内存占用量以及功率需求。
在一些实施方案中,视频编码***可以执行基于图块(tile)的渲染、编码和传输。在基于图块的渲染、编码和传输中,每个条带(slice)可被分成多个图块(例如,四个图块),并且基站可渲染和编码图块并在编码的图块准备好时将其传输到设备。
在一些实施方案中,视频编码***可以使用单个编码器执行基于图块的编码以处理来自每个条带的图块。然而,在一些实施方案中,视频编码***可使用多个编码器来执行基于图块的编码以处理来自每个条带的相应图块。例如,在一些实施方案中,每个条带可被分成四个图块,并且两个编码器可对来自每个条带的两个图块进行操作。每个编码器可对来自条带的图块之间的不同频带的块的处理进行多路复用,以允许来自相同频带的块的处理之间的多个时间单位。通过多路复用图块之间的块的处理,可以适当地处理频带中的块之间的依赖性。
在一些实施方案中,视频编码***可以在小波变换之前对帧中的像素数据执行预滤波。在一些实施方案中,预滤波可以包括在小波变换之前在基站上对帧执行透镜翘曲功能。执行该透镜翘曲以校正由设备的(例如,HMD的)透镜引入的图像的失真(通过该设备观察图像),从而改善图像的质量。在预滤波阶段中对基站执行透镜翘曲可在执行小波变换和编码之前降低帧的分辨率,这可有助于改善压缩,并且可减少无线链路上的延迟和带宽使用。此外,通过在预滤波阶段中对基站执行透镜翘曲而不是在解码之后对设备执行透镜翘曲,图像数据的滤波可能仅需要执行一次,这与在编码之前对基站执行滤波以降低分辨率以及然后对设备执行透镜翘曲滤波相反。
在一些实施方案中,预滤波可包括滤波以降低***区域中的分辨率,同时维持中心凹区域中的较高分辨率。在该方法中,从设备获得的注视跟踪信息可用于识别用户当前正在查看的方向。帧的对应于中心凹的区域(称为中心凹区域)可至少部分地基于所确定的注视方向来识别。在一些实施方案中,***区域(即,该帧的在中心凹区域之外的部分)可被预滤波以降低***区域中的分辨率。
附图说明
图1是示出根据至少一些实施方案的在编码之前使用小波变换将像素数据分解成频带的视频编码***的框图。
图2示出了根据至少一些实施方案的包括并行处理来自帧的图块的多个编码器的视频编码***。
图3A示出了根据至少一些实施方案的被分成条带和图块的示例性帧。
图3B示出了根据至少一些实施方案的被分成块的示例性图块。
图3C示出了根据至少一些实施方案的对存储像素数据的像素块执行小波变换以在编码之前生成频带数据。
图4是根据至少一些实施方案的用于如图1和图2所示的包括视频编码***的VR/MR***的操作的方法的高级流程图。
图5是根据至少一些实施方案的用于如图1所示的视频编码***的操作的方法的流程图。
图6是根据至少一些实施方案的用于如图2所示的视频编码***的操作的方法的流程图。
图7示出了根据至少一些实施方案的可实现视频编码***的示例性VR/MR***。
图8是根据至少一些实施方案的示出如图7所示的VR/MR***的部件的框图。
本说明书包括参考“一个实施方案”或“实施方案”。出现短语“在一个实施方案中”或“在实施方案中”并不一定是指同一个实施方案。特定特征、结构或特性可以与本公开一致的任何合适的方式被组合。
“包括”,该术语是开放式的。如在权利要求书中所使用的,该术语不排除附加结构或步骤。考虑以下引用的权利要求:“一种包括一个或多个处理器单元...的装置”此类权利要求不排除该装置包括附加部件(例如,网络接口单元、图形电路等)。
“被配置为”,各种单元、电路或其他部件可被描述为或叙述为“被配置为”执行一项或多项任务。在此类上下文中,“被配置为”用于通过指示单元/电路/部件包括在操作期间执行这一项或多项任务的结构(例如,电路)来暗指该结构。如此,单元/电路/部件据称可被配置为即使在指定的单元/电路/部件当前不可操作(例如,未接通)时也执行该任务。与“被配置为”语言一起使用的单元/电路/部件包括硬件——例如电路、存储可执行以实现操作的程序指令的存储器等。引用单元/电路/部件“被配置为”执行一项或多项任务明确地旨在针对该单元/电路/部件不援引35U.S.C.§112的第六段。此外,“被配置为”可包括由软件或固件(例如,FPGA或执行软件的通用处理器)操纵的通用结构(例如,通用电路)以能够执行待解决的一项或多项任务的方式操作。“被配置为”还可包括调整制造过程(例如,半导体制作设施),以制造适用于实现或执行一项或多项任务的设备(例如,集成电路)。
“第一”“第二”等。如本文所用,这些术语充当它们所在之前的名词的标签,并且不暗指任何类型的排序(例如,空间的、时间的、逻辑的等)。例如,缓冲电路在本文中可被描述为执行“第一”值和“第二”值的写入操作。术语“第一”和“第二”未必暗指第一值必须在第二值之前被写入。
“基于”或“取决于”,如本文所用,这些术语用于描述影响确定的一个或多个因素。这些术语不排除可影响确定的附加因素。即,确定可仅基于这些因素或至少部分地基于这些因素。考虑短语“基于B来确定A”。在这种情况下,B为影响A的确定的因素,此类短语不排除A的确定也可基于C。在其他实例中,可仅基于B来确定A。
“或”,在权利要求书中使用时,术语“或”被用作包含性的或,而不是排他性的或。例如,短语“x、y或z中的至少一个”表示x、y和z中的任何一个以及它们的任何组合。
具体实施方式
描述了视频编码***的各种实施方案。该视频编码***的实施方案可以以低延迟来编码高分辨率视频源以通过通信链路(例如,无线链路)传输到设备以用于解码和显示。该视频编码***的实施方案还可提供被传输到设备的编码视频的适度降级,以在变化条件(诸如通信链路的信道容量的变化)下维持期望的帧速率。
该视频编码***的示例性应用是在虚拟或混合现实***中,其中包含虚拟内容的视频帧被渲染、编码并传输到设备以用于解码和显示。描述了虚拟或混合现实***(本文称为VR/MR***)的实施方案,其中可以实现视频编码***的实施方案。在一些实施方案中,VR/MR***可包括设备(例如,平板电脑或平板设备、智能电话、或由用户佩戴的头戴式耳机、头盔、护目镜或眼镜,在本文中称为头戴式显示器(HMD)),以及单独的计算设备,在本文中称为基站。在一些实施方案中,设备和基站可各自包括无线通信技术,该无线通信技术允许设备和基站经由无线连接来通信和交换数据。在一些实施方案中,设备可包括收集关于用户的环境的信息(例如,视频、深度信息、照明信息等)和关于用户的信息(例如,用户的表情、眼睛移动、手势等)的传感器。由传感器收集的信息可经由无线连接传输至基站。基站可包括软件和硬件(例如,处理器(片上***(SOC)、CPU、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/解码器(编解码器)等)、存储器等),该软件和硬件被配置为至少部分地基于经由无线连接从设备接收的传感器信息来生成和渲染包括虚拟内容的帧。基站还可包括如本文所述的视频编码***的实施方案,该视频编码***可预滤波、压缩所渲染的帧并将其传输到设备以用于经由无线连接进行显示。
在一些实施方案中,VR/MR***可实现在设备和基站之间提供高度定向无线链路的专有无线通信技术。在一些实施方案中,无线通信技术的定向性和带宽可支持同时与基站通信的多个设备,从而使得多个用户能够同时在协同定位的环境中使用该***。然而,在一些实施方案中,可支持其它商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
在无线链路上要考虑的主要约束包括带宽和延迟。VR/MR***的目标是以帧速率提供高分辨率、宽视场(FOV)虚拟显示以向用户提供高质量VR/MR视图。另一个目标是使基站渲染帧的时间与设备显示帧的时间之间的延迟最小化。然而,无线链路的信道容量可随时间而变化,并且因此无线链路可仅支持在任何给定时间传输的特定量的信息。
本文描述了各种方法和装置,这些方法和装置可由视频编码***实现以维持通过无线链路的目标帧率并且最小化帧渲染、传输和显示中的延迟。此外,该方法和装置可提供传输到设备的编码视频的适度降级,以在变化条件(诸如通信链路的信道容量的变化)下维持期望的帧速率。
在一些实施方案中,视频编码***可以在编码之前对像素数据执行小波变换,以将像素数据分解成频带。然后将频带组织成块,该块提供给基于块的编码器以用于编码/压缩。作为示例,帧可以被分成128×128块,并且可以将两级小波分解应用于每个128×128块以生成表示七个频带的16个32×32频率数据块,然后可以将该频率数据块发送到编码器(例如,高效视频编码(HEVC)编码器)以进行编码。然后将编码的频率数据发送至无线接口,该无线接口对编码的频率数据进行分组并将分组传输至接收设备(例如,HMD)。在接收设备上,编码数据被解分组并传递通过基于块的解码器以恢复频带。然后对所恢复的频带执行小波合成以重构像素数据以用于显示。
虽然总体上描述了其中小波变换是应用于来自视频帧的每个像素块的两级小波分解的实施方案,但是在各种实施方案中,该小波分解可以是任意数量N的级别(例如,一个级别、两个级别、三个级别、四个级别等),并且该数量N的级别可以进行调整以权衡编码图像的质量与要编码的块的复杂性。
在一些实施方案中,可以对小波分解内的小波系数中的每个小波系数应用取核(coring)函数。“取核”是指系数的软阈值,并且在去除噪声方面是有效的。这可根据重要区域与可用带宽的对比来以自适应方式进行。
在一些实施方案中,视频编码***可以执行基于条带的渲染、编码和传输。渲染、编码和传输整个帧可具有延迟和存储器影响,因为每个帧需要被完成、存储,然后被传输至VR/MR***的下一阶段。在基于条带的渲染中,基站可渲染并编码帧的部分(称为条带)并且在编码的条带准备好时将该编码的条带传输至设备,而不是在基站中渲染和编码整个帧并将渲染的帧传输至设备。条带可以例如是一行128×128块,或者是两行或更多行块。基于条带的渲染和编码可有助于减少延迟,并且还可减少缓冲所需的内存量,这可减少芯片或处理器上的内存占用量以及功率需求。
在一些实施方案中,视频编码***可以执行基于图块的渲染、编码和传输。在基于图块的渲染、编码和传输中,每个条带可被分成多个图块(例如,四个图块),并且基站可渲染和编码图块并在编码的图块准备好时将其传输到设备。
在一些实施方案中,视频编码***可以使用单个编码器执行基于图块的编码以处理来自每个条带的图块。然而,在一些实施方案中,视频编码***可使用多个编码器来执行基于图块的编码以处理来自每个条带的相应图块。例如,在一些实施方案中,每个条带可被分成四个图块,每个图块包括多个128×128块,并且两个编码器(e0和e1)可对来自每个条带的两个图块进行操作(例如,e0对t0和t1进行操作;e1对t2和t3进行操作)。每个编码器可在其两个图块之间多路复用来自不同频带的块的处理,以允许来自相同频带的块的处理之间的16个时间单位。通过多路复用两个图块之间的块的处理,可以适当地处理频带中的块之间的依赖性。虽然描述了其中每个条带被分成四个图块并且两个编码器对来自每个条带的相应图块进行操作的实施方案,但是在一些实施方案中,条带可被分成更多图块(例如,六个或八个图块),并且在一些实施方案中可使用更多编码器(例如,三个或四个编码器)。
在一些实施方案中,视频编码***可以在小波变换之前对帧中的像素数据执行预滤波。例如,预滤波可在执行小波变换、编码以及通过无线链路到设备的帧传输之前减小由基站渲染的帧的分辨率,这可帮助改善压缩,并且可减少无线链路上的延迟和带宽使用。在设备是HMD的一些实施方案中,预滤波可以包括在小波变换之前对基站上的帧执行透镜翘曲。执行该透镜翘曲以校正由透镜在HMD上引入的图像的失真(通过该HMD观察图像),从而改善图像的质量。
在一些实施方案中,HMD可存储例如通过校准过程生成的透镜的透镜翘曲数据,并且可通过无线连接将透镜翘曲数据提供给基站。然后,基站可基于该HMD的透镜翘曲数据对帧执行透镜翘曲。在常规VR/MR***中,在解码之后和显示之前,对HMD执行透镜翘曲。在预滤波阶段中对基站执行透镜翘曲可在执行小波变换和编码之前降低帧的分辨率,这可有助于改善压缩,并且可减少无线链路上的延迟和带宽使用。此外,通过在预滤波阶段中对基站执行透镜翘曲而不是在解码之后对HMD执行透镜翘曲,图像数据的滤波可能仅需要执行一次,这与在编码之前对基站执行滤波以降低分辨率以及然后对HMD执行透镜翘曲滤波相反。
在一些实施方案中,预滤波可包括滤波以降低***区域中的分辨率,同时维持中心凹区域中的较高分辨率。在该方法中,从设备获得的注视跟踪信息可用于识别用户当前正在查看的方向。人眼在中心凹区域中可感知到比在***区域中高的分辨率。因此,帧的对应于中心凹的区域(称为中心凹区域)可至少部分地基于所确定的注视方向来识别。在一些实施方案中,可基于对人类视觉***的了解来预滤波***区域(即,帧的在中心凹区域之外的部分)以减少信息,例如通过滤波高频信息和/或增加色彩压缩。在一些实施方案中,应用于***区域的滤波的量可增加朝向帧的周边延伸。***区域的预滤波可有助于提供改进的帧压缩。
图1是示出根据至少一些实施方案的在编码之前使用小波变换将像素数据分解成频带的视频编码***120的框图。VR/MR***10可包括至少一个设备150(例如,平板电脑或平板设备、智能电话、或HMD,诸如可由用户佩戴的头戴式耳机、头盔、护目镜或眼镜)和计算设备100(本文称为基站)。基站100渲染包括虚拟内容的VR帧或MR帧,对帧进行编码,并且通过无线连接180将编码的帧传输到设备150以供设备150解码和显示。
在一些实施方案中,设备150可包括收集关于用户190的环境的信息(例如,视频、深度信息、照明信息等)和关于用户190的信息(例如,用户的表情、眼睛移动、注视方向、手势等)的传感器160。设备150可经由无线连接180将由传感器160收集的信息中的至少一些信息传输到基站100。该基站100可至少部分地基于从传感器160获得的各种信息来渲染包括虚拟内容的供设备150显示的帧,编码该帧,并且经由无线连接180将编码的帧传输至设备150以供解码和向用户显示。
基站100和设备150可实现允许基站100和设备150经由无线连接180通信并交换数据的无线通信技术。在一些实施方案中,可根据在设备150和基站100之间提供高度定向无线链路的专有无线通信技术来实现无线连接180。然而,在一些实施方案中,可使用其他商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
VR/MR***10中的设备150和基站100之间的无线连接180上要考虑的主要约束包括带宽和延迟。例如,在一些实施方案中,目标是以为用户提供高质量VR/MR视图的帧速率来向用户提供高分辨率、宽视场(FOV)虚拟显示。另一个目标是使设备捕获视频帧的时间与设备显示基于视频帧的渲染VR/MR帧的时间之间的延迟最小化。
基站100可包括如本文所述的用于渲染、滤波、编码和传输视频和/或图像的各种硬件部件,例如各种类型的处理器、集成电路(IC)、中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、编码器/解码器(编解码器)等。基站100可包括但不限于GPU渲染110部件、无线接口130部件、以及视频编码***120,该视频编码***可包括实现各种方法的一个或多个硬件部件,这些方法可有助于维持通过无线连接180的目标帧速率并使帧渲染、编码、传输和显示的延迟最小化。视频编码***120可包括但不限于预滤波122部件(例如,N信道滤波器组)、小波变换124部件和编码器126部件。
GPU渲染110可包括可渲染帧以供设备150显示的一个或多个硬件部件,该硬件部件包括至少部分地基于从传感器160获得的各种信息的虚拟内容。
在一些实施方案中,视频编码***120可以包括在执行小波变换124之前预滤波122渲染帧中的像素数据的一个或多个硬件部件。预滤波122可例如在执行小波变换124、编码126以及通过无线连接180到设备150的传输之前减小在基站100上渲染的帧的分辨率,这可帮助改善压缩,并且可减少无线连接180上的延迟和带宽使用。
在一些实施方案中,预滤波122可在小波变换124之前对基站100上的帧执行透镜翘曲。执行透镜翘曲以校正由透镜在设备上引入的图像的失真(通过该设备观察图像),从而改善图像的质量。在一些实施方案中,设备150可存储例如通过校准过程生成的透镜的透镜翘曲数据,并且可通过无线连接180将透镜翘曲数据提供给基站100。然后,视频编码***120的预滤波122部件可以基于该设备150的透镜翘曲数据对帧执行透镜翘曲。在常规VR/MR***中,在解码之后和显示之前,对设备150执行透镜翘曲。在预滤波122阶段中对基站100执行透镜翘曲可在执行小波变换124和编码126之前降低帧的分辨率,这可有助于改善压缩,并且可减少无线连接180上的延迟和带宽使用。此外,通过在预滤波122阶段中对基站100执行透镜翘曲而不是在解码之后对设备150执行透镜翘曲,图像数据的滤波可能仅需要执行一次,这与在编码126之前对基站100执行滤波以降低分辨率以及然后对设备150执行透镜翘曲滤波相反。
在一些实施方案中,预滤波122还可以应用一个或多个滤波器以降低***区域中的分辨率,同时维持中心凹区域中的较高分辨率。在该方法中,从设备150获得的注视跟踪信息可用于识别用户当前正在查看的方向。人眼在中心凹区域中可感知到比在***区域中高的分辨率。因此,帧的对应于中心凹的区域(称为中心凹区域)可至少部分地基于所确定的注视方向来识别。在一些实施方案中,可基于对人类视觉***的了解预滤波***区域(即,帧的在中心凹区域之外的部分)来减少信息,例如通过滤波高频信息和/或增加色彩压缩。在一些实施方案中,应用于***区域的滤波的量可增加朝向帧的周边延伸。***区域的预滤波可有助于提供改进的帧压缩。
在一些实施方案中,视频编码***120的小波变换124部件可包括一个或多个硬件部件(例如,N信道滤波器组),该一个或多个硬件部件在编码之前对像素数据执行小波变换以将像素数据分解成频带。然后将频带组织成块,该块提供给基于块的编码器126以用于编码/压缩。作为示例,如图3A至图3C所示,帧可以被分成128×128块,并且可以将两级小波分解应用于每个128×128块以生成表示七个频带的16个32×32频率数据块,然后可以将该频率数据块发送到基于块的编码器(例如,高效视频编码(HEVC)编码器)126以进行编码。然后将编码的频率数据发送至由一个或多个硬件部件实现的无线接口130,该无线接口对数据进行分组并通过无线连接180将分组传输到设备150。
设备150可包括如本文所述的用于解码和显示视频和/或图像的各种硬件部件,例如各种类型的处理器、集成电路(IC)、中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、编码器/解码器(编解码器)等。设备150可以包括但不限于无线接口152、解码器154部件(例如,高效视频编码(HEVC)解码器)、小波合成156部件和显示器158部件。在设备150上,无线接口152接收由基站100通过无线连接180传输的分组。编码数据被解分组并传递通过基于块的解码器154(例如,高效视频编码(HEVC)解码器)以恢复频带。然后对所恢复的频率数据执行小波合成156以重构像素数据以用于显示158。
在一些实施方案中,视频编码***120可以执行基于条带的渲染、编码和传输。渲染、编码和传输整个帧可具有延迟和存储器影响,因为每个帧需要被完成、存储,然后被传输至VR/MR***10的下一阶段。在基于条带的渲染中,基站100可渲染并编码帧的部分(称为条带)并且在编码的条带准备好时将该编码的条带传输至设备150,而不是在基站100中渲染和编码整个帧并将渲染的帧传输至设备150。条带可以例如是一行128×128块。基于条带的渲染和编码可有助于减少延迟,并且还可减少缓冲所需的内存量,这减少芯片或处理器上的内存占用量以及功率需求。
在一些实施方案中,视频编码***120可以执行基于图块的渲染、编码和传输。在基于图块的渲染、编码和传输中,每个条带可被分成多个图块(例如,四个图块),并且基站100可渲染和编码图块并在编码的图块准备好时将其传输到设备150。
在一些实施方案中,视频编码***120可以使用单个编码器126执行基于图块的渲染、编码和传输,以处理来自每个条带的图块。然而,在一些实施方案中,视频编码***120可使用多个编码器126来执行基于图块的编码以处理来自每个条带的相应图块。图2示出了根据至少一些实施方案的包括并行处理来自渲染帧的图块的多个编码器(在该示例中为两个编码器226A和226B)的视频编码***220。
基站200的GPU渲染210部件可包括一个或多个GPU和/或渲染帧(或帧条带)以用于显示的其他部件。帧可被分成条带,例如如图3A所示。如图3A所示,每个条带可被分成多个图块(在该示例中为四个),每个图块包括多个块。图3B示出了包括四个128×128块的示例性图块。然而,在一些实施方案中可使用其他尺寸(例如,64×64、32×32等)的块,并且图块可包括更多或更少的块。
然后,视频编码***220的预滤波222和小波变换224部件可以在编码226之前处理每个图块。在一些实施方案中,视频编码***220可以包括用于处理每个图块的单独的预滤波222部件和小波变换224部件。在该示例中,预滤波222A部件和小波变换224A部件处理图块0,预滤波222B部件和小波变换224B部件处理图块1,预滤波222C部件和小波变换224C部件处理图块2,并且预滤波222D部件和小波变换224D部件处理图块3。预滤波222部件执行如本文所述的图块的预滤波,并且小波变换224部件将图块分解成如本文所述的频带。然而,在一些实施方案中,视频编码***220可包括处理图块的单个预滤波222部件和单个小波变换224部件。在一些实施方案中,视频编码***220可包括多个(例如,2个)预滤波222部件和多个(例如,2个)小波变换224部件,每个小波变换部件处理多个(例如,2个)图块。
两个编码器226A和226B可对来自每个条带的两个图块进行操作(例如,编码器226A对图块0和图块1进行操作;编码器226B对图块2和图块3进行操作)。每个编码器226可在其两个图块之间多路复用来自不同频带的块(即,在图3C中示出的16个32×32块)的处理,以允许来自相同频带的块的处理之间的16个时间单位。通过多路复用两个图块之间的块的处理,可以适当地处理相同频带中的块之间的依赖性。
虽然描述了其中每个条带被分成四个图块并且两个编码器对来自每个条带的相应图块进行操作的实施方案,但是在一些实施方案中,条带可被分成更多图块(例如,六个或八个图块),并且在一些实施方案中可使用更多编码器(例如,三个、四个或更多个编码器)。
图3C示出了根据至少一些实施方案的对存储像素数据的像素块执行小波变换以在编码之前生成频带数据。在该示例中,通过小波变换324部件对128×128像素块300应用两级小波分解,以生成表示七个频带的十六个32×32频率数据块302。然后将频率块302提供给编码器326以用于编码。例如,频率块302可以由小波变换324部件写入缓冲器,并由编码器326部件从缓冲器读取。
在频率块302的标签中,字母L表示低通滤波器,并且字母H表示高通滤波器。标有两个字母的块302表示一级(2D)小波变换或分解。在标记有两个字母(表示七个频带LH、HL和HH中的三个频带)的块302中,第一字母表示首先执行的竖直滤波器(高或低),并且第二字母表示其次执行的水平滤波器(高或低)。标有四个字母的块302表示二级小波变换或分解。在标记有四个字母的块302中,前两个字母(LL)指示首先存在竖直低通滤波器,然后是水平低通滤波器;后两个字母指示然后对所得LL块进行四路滤波,LL、LH、HL和HH(从而示出七个频带中的四个频带(LLLL、LLLH、LLHL和LLHH)。
将像素数据分解成如图3C所示的频带允许编码器326将频带作为单独的流进行缓冲和处理。将频带作为单独的流处理允许编码器326部件多路复用独立流的处理。在基于块的编码方法诸如HEVC编码中,在多个阶段处在块处理流水线中处理块(称为编码树单元(CTU));两个或更多个块可在给定时钟周期处处于流水线的不同阶段,并且该块随着该时钟周期移动通过流水线。给定块的处理可依赖于一个或多个先前处理的相邻块,例如给定块上方的行中的一个或多个块和/或给定块左侧的块。通过多路复用频带数据流的处理,编码器326将给定流中的块的处理间隔开,从而提供附加时钟周期以处理给定块所依赖的相邻块。例如,当给定块到达依赖于先前处理的相邻块的阶段时,给定块左侧的块可在流水线中的给定块之前若干阶段。这允许编码器326更好地处理对先前处理的块的依赖性,并且减少或消除在依赖于相邻块的阶段处处理给定块之前等待流水线中的相邻块的处理完成的需要。
此外,如图3C所示,将像素数据分解成频带允许由编码器326和无线接口对频带进行优先化。通常,在图像和视频传输中,较低的频率更重要,而较高的频率不太重要。较高频率通常对应于图像中的细节,并且因此可被视为较低优先级。较高频带包含图像中较小百分比的能量。大多数能量包含在较低频带中。因此,将像素数据分解成频带为数据流提供了优先级排序,当对数据流进行编码和传输时,编码器326和无线接口可利用该优先级排序。例如,在一些实施方案中,可在不同频带上使用不同的压缩技术,其中更积极的压缩应用于较低优先级带,并且更保守的压缩应用于较高优先级带。作为另一个示例,频带的优先级排序可有助于提供VR/MR***的适度降级。可监测无线连接的性能,并且可考虑来自设备的反馈,以跟踪整个***的性能。如果***由于某种原因而落后,例如如果无线连接降级并且无线连接的带宽容量下降到阈值以下,则编码器326和无线接口可将较低频带中的一个或多个较低频带的编码和传输优先化,并且可减少或降低已被分配较低优先级级别的频率级别中的一个或多个频率级别(例如,较高频带中的一个或多个较高频带)的编码和/或传输。
如上所述,小波变换将图像分解成频带。在一些实施方案中,这可用于将相同的信号发送到具有不同分辨率的显示器。作为示例,可应用二级小波分解将信号分解成七个频带。如果向显示面板发送了频带中的四个频带(LLLL、LLLH、LLHL和LLHH),则频带可按较低的视觉质量被重构至初始预期分辨率。作为另外一种选择,频带可以以1/4分辨率(每个维度1/2)重构,这可适用于具有较低显示分辨率的显示面板。
图4是根据至少一些实施方案的用于如图1和图2所示的包括视频编码***的VR/MR***的操作的方法的高级流程图。如400处所指示,设备通过无线连接将数据发送至基站。如410处所指示,基站至少部分地基于从设备接收的数据来渲染包括虚拟内容的帧。如420处所指示,基站压缩渲染的数据并通过无线连接将压缩的数据发送至设备。如430处所指示,设备解压缩并显示虚拟内容以生成3D虚拟视图以供用户查看。如从430返回到400的箭头所指示,只要用户正在使用VR/MR***,该方法就继续。
在一些实施方案中,基站可渲染并编码帧的部分(称为条带)并且在编码的条带准备好时将该编码的条带传输至设备,而不是在基站中渲染和编码整个帧并将渲染的帧传输至设备。条带可以例如是一行128×128块。在一些实施方案中,视频编码***可以执行基于图块的渲染、编码和传输。在基于图块的渲染、编码和传输中,每个条带可被分成多个图块,每个图块包括一个或多个块(例如,四个图块,每个图块包括四个块),并且基站可渲染和编码图块并在编码的图块准备好时将其传输到设备。
图5是根据至少一些实施方案的用于如图1所示的视频编码***的操作的方法的流程图。图5的方法可例如在图4的420处执行。图5的方法假定正在执行基于条带的编码和传输。然而,在一些实施方案中,可执行基于图块的编码和传输。
如510处所指示,预滤波部件将透镜翘曲和/或中心凹滤波器应用于帧的条带中的像素块。在一些实施方案中,预滤波可以包括在小波变换之前对基站上的帧执行透镜翘曲。执行透镜翘曲以校正由透镜在设备上引入的图像的失真(通过该设备观察图像),从而改善图像的质量。在一些实施方案中,设备可存储例如通过校准过程生成的透镜的透镜翘曲数据,并且可通过无线连接将透镜翘曲数据提供给基站。然后,基站可基于该设备的透镜翘曲数据对帧执行透镜翘曲。在预滤波阶段中对基站执行透镜翘曲可在执行小波变换和编码之前降低帧的分辨率,这可有助于改善压缩,并且可减少无线链路上的延迟和带宽使用。此外,通过在预滤波阶段中对基站执行透镜翘曲而不是在解码之后对设备执行透镜翘曲,图像数据的滤波可能仅需要执行一次,这与在编码之前对基站执行滤波以降低分辨率以及然后对设备执行透镜翘曲滤波相反。
在一些实施方案中,510处的预滤波还可包括滤波以降低***区域中的分辨率,同时维持中心凹区域中的较高分辨率。在一些实施方案中,从设备获得的注视跟踪信息可用于识别用户当前正在查看的方向。帧的对应于中心凹的区域(称为中心凹区域)可至少部分地基于所确定的注视方向来识别。可基于对人类视觉***的了解预滤波***区域(即,帧的在中心凹区域之外的部分)来减少信息,例如通过滤波高频信息和/或增加色彩压缩。***区域的预滤波可有助于提供改进的帧压缩。
如520处所指示,小波变换部件将小波变换技术应用于像素块以将像素数据分解成N个(例如,7个)频带。然后将频带组织成块,该块提供给基于块的编码器以用于编码/压缩。作为示例,帧可以被分成128×128块,并且可以将两级小波分解应用于每个128×128块以生成表示七个频带的16个32×32频率数据块,例如如图3C所示。
如530处所指示,编码器将编码技术应用于块中的频带以压缩数据。编码器可例如为高效视频编码(HEVC)编码器。然而,在一些实施方案中,可使用其他编码技术。如元素520处所指示,将像素数据分解成频带允许编码器将频带作为单独的流进行缓冲和处理。将频带作为单独的流处理允许编码器部件多路复用独立流的处理。在基于块的编码方法诸如HEVC编码中,在多个阶段处在流水线中处理块(称为编码树单元(CTU));两个或更多个块可在给定时钟周期处处于流水线的不同阶段,并且该块随着该时钟周期移动通过流水线。给定块的处理可依赖于一个或多个先前处理的相邻块,例如给定块上方的行中的一个或多个块和/或给定块左侧的块。通过多路复用流的处理,编码器将给定流中的块的处理间隔开,从而提供附加时钟周期以处理给定块所依赖的相邻块。例如,当给定块到达依赖于先前处理的相邻块的阶段时,给定块左侧的块可在流水线中的给定块之前若干阶段。这允许编码器更好地处理对先前处理的块的依赖性,并且减少或消除在依赖于相邻块的阶段处处理给定块之前等待流水线中的相邻块的处理完成的需要。
如540处所指示,无线接口对压缩数据进行分组,并通过无线连接将分组发送至设备。
如元素520处所指示,将像素数据分解成频带允许在元素530处由编码器对频带进行优先化,并且在元素540处由无线接口对频带进行优先化。通常,在图像和视频传输中,较低的频率更重要,而较高的频率不太重要。较高频率通常对应于图像中的细节,并且因此可被视为较低优先级。较高频带包含图像中较小百分比的能量。大多数能量包含在较低频带中。因此,将像素数据分解成频带为数据流提供了优先级排序,当对数据流进行编码和传输时,编码器和无线接口可利用该优先级排序。例如,在一些实施方案中,可在不同频带上使用不同的压缩技术,其中更积极的压缩应用于较低优先级带,并且更保守的压缩应用于较高优先级带。作为另一个示例,频带的优先级排序可有助于提供VR/MR***的适度降级。可监测无线连接的性能,并且可考虑来自设备的反馈,以跟踪整个***的性能。如果***由于某种原因而落后,例如如果无线连接降级并且无线连接的带宽容量下降到阈值以下,则编码器和无线接口可将较低频带中的一个或多个较低频带的编码和传输优先化,并且可减少或降低已被分配较低优先级级别的频率级别中的一个或多个频率级别(例如,较高频带中的一个或多个较高频带)的编码和/或传输。
在550处,如果存在待编码和传输的更多条带,则该方法返回到元素510以处理下一个条带。否则,在560处,如果存在要编码和传输的更多帧,则该方法返回到元素510以开始处理下一个帧。
图6是根据至少一些实施方案的用于如图2所示的视频编码***的操作的方法的流程图。图6的方法可例如在图4的420处执行。在图6的方法中,视频编码***可使用多个编码器来执行基于图块的编码以处理来自每个条带的相应图块。
如600处所指示,渲染引擎渲染包括多个图块(在该示例中为四个图块)的条带,每个图块包括多个像素块(在该示例中为四个128×128像素块)。
如610处所指示,预滤波部件将透镜翘曲和/或中心凹滤波器应用于条带。在一些实施方案中,预滤波可以包括在小波变换之前对基站上的帧执行透镜翘曲。执行透镜翘曲以校正由透镜在设备上引入的图像的失真(通过该设备观察图像),从而改善图像的质量。在一些实施方案中,设备可存储例如通过校准过程生成的透镜的透镜翘曲数据,并且可通过无线连接将透镜翘曲数据提供给基站。然后,基站可基于该设备的透镜翘曲数据对帧执行透镜翘曲。在预滤波阶段中对基站执行透镜翘曲可在执行小波变换和编码之前降低帧的分辨率,这可有助于改善压缩,并且可减少无线链路上的延迟和带宽使用。此外,通过在预滤波阶段中对基站执行透镜翘曲而不是在解码之后对设备执行透镜翘曲,图像数据的滤波可能仅需要执行一次,这与在编码之前对基站执行滤波以降低分辨率以及然后对设备执行透镜翘曲滤波相反。
在一些实施方案中,610处的预滤波还可包括滤波以降低***区域中的分辨率,同时维持中心凹区域中的较高分辨率。在一些实施方案中,由设备获得的注视跟踪信息可用于识别用户当前正在查看的方向。帧的对应于中心凹的区域(称为中心凹区域)可至少部分地基于所确定的注视方向来识别。可基于对人类视觉***的了解预滤波***区域(即,帧的在中心凹区域之外的部分)来减少信息,例如通过滤波高频信息和/或增加色彩压缩。***区域的预滤波可有助于提供改进的帧压缩。
在一些实施方案中,视频编码***可包括处理图块的单个预滤波部件。在一些实施方案中,视频编码***可包括用于处理每个图块的单独预滤波部件。在一些实施方案中,视频编码***可包括各自处理多个(例如,2个)图块的多个(例如,2个)预滤波部件。
如620处所指示,小波变换部件将小波变换技术应用于条带中的像素块以将像素数据分解成N个(例如,7个)频带。然后将频带组织成块(例如,CTU),该块可提供给基于块的编码器以用于编码/压缩。作为示例,帧可以被分成128×128块,并且可以将两级小波分解应用于每个128×128块以生成表示七个频带的16个32×32频率数据块,例如如图3C所示。
在一些实施方案中,视频编码***可以包括处理图块的单个小波变换部件。在一些实施方案中,视频编码***可以包括用于处理每个图块的单独小波变换部件。在一些实施方案中,视频编码***可包括各自处理多个(例如,2个)图块的多个(例如,2个)小波变换部件。
在图6的方法中,示例性视频编码***包括两个编码器,这两个编码器被配置为对来自并行在元素620处生成的条带中的不同条带的频率数据块进行编码。例如,第一编码器可被配置为对来自条带0和条带1的块进行编码,并且第二编码器可被配置为对来自条带2和条带3的块进行编码。如630A处所指示,第一编码器将编码技术应用于图块0和图块1的块中的频带,从而多路复用来自两个不同图块之间的不同频带的块的处理。如630B处所指示,第二编码器将编码技术应用于图块2和图块3的块中的频带,从而多路复用来自两个不同图块之间的不同频带的块的处理。
编码器可例如为高效视频编码(HEVC)编码器。然而,在一些实施方案中,可使用其他编码技术。如元素620处所指示,将像素数据分解成频带允许编码器在元素630A和630B处将频带作为单独的流进行缓冲和处理。将频带作为单独的流处理允许编码器多路复用独立流的处理。在基于块的编码方法诸如HEVC编码中,在多个阶段处在流水线中处理块(称为编码树单元(CTU));两个或更多个块可在给定时钟周期处处于流水线的不同阶段,并且该块随着该时钟周期移动通过流水线。给定块的处理可依赖于一个或多个先前处理的相邻块,例如给定块上方的行中的一个或多个块和/或给定块左侧的块。通过多路复用流的处理,编码器将给定流中的块的处理间隔开,从而提供附加时钟周期以处理给定块所依赖的相邻块。例如,当给定块到达依赖于先前处理的相邻块的阶段时,给定块左侧的块可在流水线中的给定块之前若干阶段。这允许编码器更好地处理对先前处理的块的依赖性,并且减少或消除在依赖于相邻块的阶段处处理给定块之前等待流水线中的相邻块的处理完成的需要。
如640处所指示,无线接口对在元素530处由编码器所生成的压缩数据进行分组,并通过无线连接将分组发送至设备。如从650返回到600的箭头所指示,只要用户正在使用VR/MR***,该方法就继续。
如元素620处所指示,将像素数据分解成频带允许在元素630A和630B处由编码器对频带进行优先化,并且在元素640处由无线接口对频带进行优先化。通常,在图像和视频传输中,较低的频率更重要,而较高的频率不太重要。较高频率通常对应于图像中的细节,并且因此可被视为较低优先级。较高频带包含图像中较小百分比的能量。大多数能量包含在较低频带中。因此,将像素数据分解成频带为数据流提供了优先级排序,当对数据流进行编码和传输时,编码器和无线接口可利用该优先级排序。例如,在一些实施方案中,可在不同频带上使用不同的压缩技术,其中更积极的压缩应用于较低优先级带,并且更保守的压缩应用于较高优先级带。作为另一个示例,频带的优先级排序可有助于提供VR/MR***的适度降级。可监测无线连接的性能,并且可考虑来自设备的反馈,以跟踪整个***的性能。如果***由于某种原因而落后,例如如果无线连接降级并且无线连接的带宽容量下降到阈值以下,则编码器和无线接口可将较低频带中的一个或多个较低频带的编码和传输优先化,并且可减少或降低已被分配较低优先级级别的频率级别中的一个或多个频率级别(例如,较高频带中的一个或多个较高频带)的编码和/或传输。
虽然描述了其中每个条带被分成四个图块并且两个编码器对来自每个条带的相应图块进行操作的实施方案,但是在一些实施方案中,条带可被分成更多图块(例如,六个或八个图块),并且在一些实施方案中可使用更多编码器(例如,三个或四个编码器)。
示例性VR/MR***
图7示出了根据至少一些实施方案的可实现视频编码***的示例性VR/MR***2000。VR/MR***2000可包括至少一个设备2150(例如,笔记本电脑或膝上型计算机、平板电脑或平板设备、智能电话、手持式计算设备或HMD,诸如可由用户佩戴的头戴式耳机、头盔、护目镜或眼镜)和计算设备2100(本文称为基站)。基站2100渲染包括虚拟内容的VR帧或MR帧,对该帧进行编码,并且通过无线连接2180将编码的帧传输到设备2150以用于由设备2150解码和显示。
基站2100和设备2150可各自包括允许基站2100和设备2150经由无线连接2180通信并交换数据的无线通信技术。在一些实施方案中,可根据在设备2150和基站2100之间提供高度定向无线链路的专有无线通信技术来实现无线连接2180。然而,在一些实施方案中,可使用其他商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
在一些实施方案中,设备2150可包括收集关于用户的环境的信息(例如,视频、深度信息、照明信息等)和/或关于用户的信息(例如,用户的表情、眼睛移动、注视方向、手势等)的传感器。设备2150可经由无线连接2180将由传感器收集的信息中的至少一些信息传输到基站2100。基站2100可至少部分地基于从传感器获得的各种信息来渲染包括虚拟内容的供设备2150显示的帧,编码该帧,并且经由无线连接2180将编码的帧传输至设备2150以供解码和向用户显示。为了对帧进行编码和传输,基站2100可实现如图1至图6所示的视频编码***。
图8是示出根据一些实施方案的如图7所示的示例性VR/MR***中的功能部件和处理的框图。设备2150可以是但不限于笔记本电脑或膝上型计算机、平板电脑或平板设备、智能电话、手持计算设备或HMD,诸如头戴式耳机、头盔、护目镜或可由用户佩戴的眼镜。设备2150可包括可实现各种类型的虚拟或增强现实显示技术中的任一者的显示器2156部件或子***。例如,HMD设备2150可以是近眼***,该近眼***在用户的眼睛前面的屏幕上显示左图像和右图像(该左图像和右图像由受试者查看),诸如DLP(数字光处理)、LCD(液晶显示器)和LCoS(硅上液晶)技术VR***。作为另一个示例,HMD设备2150可以是直接视网膜投影仪***,该直接视网膜投影仪***逐像素地将左图像和右图像扫描到受试者的眼睛。为扫描图像,左投影仪和右投影仪生成光束,该光束被引导到位于用户的眼睛的前面的左反射部件和右反射部件(例如,椭球反射镜);反射部件将光束反射到用户的眼睛。为了创建三维(3D)效果,3D虚拟视图中的不同深度或距离处的虚拟内容在两个图像中作为距离的三角测量的函数向左或向右移位,其中较近的对象比较远的对象移位得更多。
设备2150还可包括控制器2154,该控制器被配置为实现如本文所述的VR/MR***2000的设备侧功能。在一些实施方案中,HMD2150还可包括存储器2170,该存储器被配置为存储可由控制器2154执行的VR/MR***2000的设备部件的软件(代码2172),以及当在控制器2154上执行时可以由该软件使用的数据2174。在各种实施方案中,控制器2154可为包括一个处理器的单处理器***、或包括若干个处理器(例如,两个、四个、八个或另一合适数量)的多处理器***。控制器2154可包括被配置为实现任何合适的指令集架构的中央处理单元(CPU),并且可被配置为执行在该指令集架构中定义的指令。例如,在各种实施方案中,控制器2154可包括实现多种指令集架构(ISA)(诸如x86、PowerPC、SPARC、RISC或MIPS ISA、或任何其他合适的ISA)中的任何指令集架构的通用处理器或嵌入式处理器。在多处理器***中,每个处理器可共同实现相同的ISA,但不是必需的。控制器2154可采用任何微架构,包括标量、超标量、流水线、超流水线、无序、有序、推测性、非推测性等,或它们的组合。控制器2154可包括实现微码技术的电路。控制器2154可包括各自被配置为执行指令的一个或多个处理核心。控制器2154可包括一个或多个级别的高速缓存,该高速缓存可采用任何大小和任何配置(集合关联、直接映射等)。在一些实施方案中,控制器2154可包括至少一个图形处理单元(GPU),该至少一个图形处理单元可包括任何合适的图形处理电路。通常,GPU可被配置为将待显示对象渲染到帧缓冲区中(例如,包括整个帧的像素数据的帧缓冲区)。GPU可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。在一些实施方案中,控制器2154可包括用于处理和渲染视频和/或图像的一个或多个其他部件,例如图像信号处理器(ISP)、编码器/解码器(编解码器)等。在一些实施方案中,控制器2154可包括至少一个片上***(SOC)。
存储器2170可包括任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本,诸如mDDR3等,或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUS DRAM(RDRAM)、静态RAM(SRAM)等。在一些实施方案中,一个或多个存储器设备可以耦合到电路板上以形成存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。另选地,该设备可以与实现***的集成电路在芯片堆叠配置、封装堆叠配置或者多芯片模块配置中安装。
在一些实施方案中,传感器2160可包括但不限于可用于跟踪用户的眼睛的位置和移动的一个或多个注视跟踪传感器(例如,具有IR照明源的IR相机)。在一些实施方案中,可存在两个注视跟踪传感器,其中每个注视跟踪传感器跟踪相应的眼睛。在一些实施方案中,由注视跟踪传感器收集的信息可用于由基站2100调整图像的渲染,和/或基于用户眼睛查看的方向和角度来调整通过设备2150的投影***进行的图像的投影。例如,在一些实施方案中,在用户的眼睛当前查看的位置周围的区域中的图像的内容可用更多细节进行渲染,并且可处于比用户未查看的区域中的内容更高的分辨率,这允许可用的图像数据处理时间花费在由眼睛的中心凹区域查看的内容,而不是花费在由眼睛的***区域查看的内容。同样地,用户未注视的区域中的图像的内容可比用户当前查看的点周围的区域的内容压缩得更多。在一些实施方案中,可存在两个注视跟踪传感器,其位于设备2150的内表面上,在使得传感器具有用户的眼睛中的相应眼睛的视图的位置处。然而,在各种实施方案中,可使用更多或更少的注视跟踪传感器,并且注视跟踪传感器可被定位在其他位置处。在示例性非限制性实施方案中,每个注视跟踪传感器可包括IR光源和IR相机,例如具有120FPS或更大的帧速率、70度的HFOV并且具有10毫米(mm)至80mm的工作距离400×400像素数相机。
在一些实施方案中,设备2150可包括至少一个惯性测量单元(IMU)2162,该惯性测量单元被配置为检测设备2150的位置、取向和/或运动并向HMD2150的控制器2154和/或向基站2100提供检测到的位置、取向和/或运动数据。
设备2150还可包括无线接口2152,该无线接口被配置为经由无线连接2180与外部基站2100通信,以将传感器输入发送到基站2100,并且从基站2100接收压缩的渲染帧、条带或图块。在一些实施方案中,无线接口2152可实现在设备2150和基站2100之间提供高度定向无线链路的专有无线通信技术。然而,在一些实施方案中,可使用其他商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
基站2100可以是经由无线接口2180通信地耦接到设备2150的外部设备(例如,计算***、游戏控制台等)。基站2100可包括用于渲染、滤波、编码和传输视频和/或图像的各种类型的处理器(例如,SOC、CPU、ISP、GPU、编解码器和/或其他部件)中的一个或多个处理器。基站2100可至少部分地基于经由无线连接2180从传感器2160获得的各种输入来渲染包括虚拟内容的帧(每个帧包括左图像和右图像),使用如本文所述的视频编码***滤波和压缩渲染的帧(或帧的条带),并且将压缩的帧或条带传输到设备2150以用于显示。
基站2100可为或可包括任何类型的计算***或计算设备,诸如台式计算机、笔记本电脑或膝上型计算机、平板电脑或平板设备、智能电话、手持式计算设备、游戏控制器、游戏***等。基站2100可包括控制器2110,该控制器包括实现VR/MR***2000(包括如本文所述的视频编码***)的基座侧功能的一个或多个处理器。基站2100还可包括存储器2120,该存储器被配置为存储可由基站控制器2110执行的VR/MR***2000的基站部件的软件(代码2122),以及当在控制器2110上执行时可以由该软件使用的数据2124。
在各种实施方案中,基站控制器2110可为包括一个处理器的单处理器***、或包括若干个处理器(例如,两个、四个、八个或另一合适数量)的多处理器***。控制器2110可包括被配置为实现任何合适的指令集架构的中央处理单元(CPU),并且可被配置为执行在该指令集架构中定义的指令。例如,在各种实施方案中,控制器2110可包括实现多种指令集架构(ISA)(诸如x86、PowerPC、SPARC、RISC或MIPS ISA、或任何其他合适的ISA)中的任何指令集架构的通用处理器或嵌入式处理器。在多处理器***中,每个处理器可共同实现相同的ISA,但不是必需的。控制器2110可采用任何微架构,包括标量、超标量、流水线、超流水线、无序、有序、推测性、非推测性等,或它们的组合。控制器2110可包括实现微码技术的电路。控制器2110可包括各自被配置为执行指令的一个或多个处理核心。控制器2110可包括一个或多个级别的高速缓存,该高速缓存可采用任何大小和任何配置(集合关联、直接映射等)。在一些实施方案中,控制器2110可包括至少一个图形处理单元(GPU),该至少一个图形处理单元可包括任何合适的图形处理电路。通常,GPU可被配置为将待显示对象渲染到帧缓冲区中(例如,包括整个帧的像素数据的帧缓冲区)。GPU可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。在一些实施方案中,控制器2110可包括如本文所述的用于处理、渲染、滤波和编码视频和/或图像的一个或多个其他部件,例如各种类型的集成电路(IC)、图像信号处理器(ISP)、编码器/解码器(编解码器)等中的一者或多者。在一些实施方案中,控制器2110可包括至少一个片上***(SOC)。
基站存储器2120可包括任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本,诸如mDDR3等,或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUS DRAM(RDRAM)、静态RAM(SRAM)等。在一些实施方案中,一个或多个存储器设备可以耦合到电路板上以形成存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。另选地,设备可以与实现***的集成电路在芯片堆叠配置、封装堆叠配置或者多芯片模块配置中安装。
基站2100还可以包括一个或多个无线技术接口2130,其被配置为经由无线连接2180与设备2150通信,以从设备2150接收传感器输入,并且从基站2100向设备2150发送压缩的帧,条带或图块。在一些实施方案中,无线技术接口2130可实现在设备2150和基站2100之间提供高度定向无线链路的专有无线通信技术。在一些实施方案中,无线通信技术的定向性和带宽可支持同时与基站2100通信的多个设备2150,从而使得多个用户能够同时在协同定位的环境中使用***2000。然而,在一些实施方案中,可使用其他商业(例如,Wi-Fi、蓝牙等)或专有无线通信技术。
在一些实施方案中,基站2100可被配置为至少部分地基于从设备2150接收的传感器2160输入来渲染帧并将帧传输到设备2150以向用户提供3D虚拟视图。在一些实施方案中,虚拟视图可包括渲染用户的环境,包括基于由一个或多个场景相机(例如,RGB(可见光)摄像机)捕获的视频来渲染用户的环境中的现实对象,该一个或多个场景相机实时捕获用户的环境的高质量、高分辨率视频以用于显示。在一些实施方案中,虚拟视图还可包括由基站2100渲染并与用户的现实环境的投影3D视图复合的虚拟内容(例如,虚拟对象、用于现实对象的虚拟标签、用户的化身等)。
虽然未在图7和图8中示出,但是,在一些实施方案中,VR/MR***2000可包括一个或多个其他部件。例如,***可包括光标控制设备(例如,鼠标),以用于在3D虚拟视图中移动虚拟光标以与虚拟内容进行交互。虽然图7和图8示出了单个设备2150,但在一些实施方案中,VR/MR***2000可支持同时与基站2100通信的多个设备2150,从而使得多个用户能够同时在协同定位的环境中使用该***。
在不同的实施方案中,本文所述的方法可以在软件、硬件或它们的组合中实现。此外,可改变方法的框的次序,并且可对各种要素进行添加、重新排序、组合、省略、修改等。对于受益于本公开的本领域的技术人员,显然可做出各种修改和改变。本文所述的各种实施方案旨在为例示的而非限制性的。许多变型、修改、添加和改进是可能的。因此,可为在本文中被描述为单个示例的部件提供多个示例。各种部件、操作和数据存储库之间的界限在一定程度上是任意性的,并且在具体的示例性配置的上下文中示出了特定操作。预期了功能的其他分配,它们可落在所附权利要求的范围内。最后,被呈现为示例性配置中的分立部件的结构和功能可被实现为组合的结构或部件。这些和其他变型、修改、添加和改进可落入如以下权利要求书中所限定的实施方案的范围内。
Claims (20)
1.一种视频编码***,包括:
小波变换部件,所述小波变换部件包括一个或多个处理器,所述一个或多个处理器被配置为:
对来自渲染的视频帧的像素块应用小波变换以将所述像素块分解成多个频带;以及
将来自所述像素块的所述频带组织成多个频率块,所述多个频率块中的每个频率块包括针对所述频带中的一个频带的频率数据;和
至少一个基于块的编码器,所述至少一个基于块的编码器被配置为:
对所述频率块应用编码技术以压缩所述频率块中的所述频率数据;以及
将经压缩的频率数据提供给无线接口以通过无线连接传输到接收设备。
2.根据权利要求1所述的视频编码***,还包括预滤波部件,所述预滤波部件包括被配置为在所述小波变换之前对来自所述视频帧的所述像素块进行预滤波的一个或多个处理器。
3.根据权利要求2所述的视频编码***,其中,为了对所述像素块进行预滤波,所述预滤波部件对所述视频帧应用透镜翘曲滤波器以校正由所述接收设备的透镜引入的失真。
4.根据权利要求2所述的视频编码***,其中,为了对所述像素块进行预滤波,所述预滤波部件对所述视频帧的***区域应用至少一个滤波器,以降低所述***区域中的分辨率同时保持所述视频帧的中心凹区域中的较高的分辨率。
5.根据权利要求1所述的视频编码***,其中所述渲染的视频帧被分成多个条带,每个条带包括至少一行像素块,并且其中所述视频编码***被配置为迭代地执行以下操作:
获取所述渲染的视频帧的条带;
对所述条带中的所述像素块应用所述小波变换,以将所述像素块分解成多个频带,所述多个频带被组织成多个频率块,所述多个频率块中的每个频率块包括针对所述频带中的一个频带的频率数据;
对来自所述条带的所述频率块应用所述编码技术以压缩所述频率块中的所述频率数据;以及
将来自所述条带的经压缩的频率数据提供给所述无线接口以通过所述无线连接传输到至少一个接收设备。
6.根据权利要求1所述的视频编码***,其中所述渲染的视频帧被分成多个条带,每个条带包括两个或更多个图块,每个图块包括两个或更多个像素块,并且其中所述视频编码***包括至少两个基于块的编码器,每个编码器被配置为对来自每个条带的所述图块的子集的所述频率块应用所述编码技术以压缩来自所述图块的相应子集的所述频率块中的所述频率数据。
7.根据权利要求6所述的视频编码***,其中每个编码器被配置为:在所述图块的相应子集中对所述图块之间的所述频带的所述频率块的处理进行多路复用以允许对每个频带的频率块的所述处理之间的多个时间单元。
8.根据权利要求1所述的视频编码***,其中所述小波变换是应用于来自所述视频帧的每个像素块的两级小波分解。
9.根据权利要求1所述的视频编码***,其中所述小波变换是应用于来自所述视频帧的每个像素块的N级小波分解,其中N是可调整的。
10.根据权利要求1所述的视频编码***,其中应用所述小波变换包括对所述小波分解的一个或多个小波系数应用取核函数。
11.根据权利要求1所述的视频编码***,其中所述像素块是128×128像素块,并且其中所述小波变换将每个像素块分解成表示七个不同的频带的十六个32×32频率数据块。
12.一种方法,包括:
一个或多个处理器,所述一个或多个处理器被配置为实施以下操作:
对来自渲染的视频帧的像素块应用小波变换,以将所述像素块分解成多个频带;
将来自所述像素块的所述频带组织成多个频率块,所述多个频率块中的每个频率块包括针对所述频带中的一个频带的频率数据;以及
对所述频率块应用编码技术以压缩所述频率块中的所述频率数据;以及
通过无线连接将经压缩的频率数据传输到接收设备。
13.根据权利要求12所述的方法,还包括:在应用所述小波变换之前对来自所述视频帧的所述像素块进行预滤波,其中预滤波包括以下中的一者或多者:
对所述视频帧应用透镜翘曲滤波器以校正由所述接收设备的透镜引入的失真;或者
对所述视频帧的***区域应用至少一个滤波器,以降低所述***区域中的分辨率同时保持所述视频帧的中心凹区域中的较高的分辨率。
14.根据权利要求12所述的方法,其中所述视频帧被分成多个条带,每个条带包括至少一行像素块,并且其中所述一个或多个处理器针对所述视频帧的每个条带执行所述应用小波变换、所述组织、所述应用编码技术和所述传输。
15.根据权利要求12所述的方法,其中所述视频帧被分成多个条带,每个条带包括两个或更多个图块,每个图块包括两个或更多个像素块,并且其中所述一个或多个处理器针对所述视频帧的每个图块执行所述应用小波变换、所述组织、所述应用编码技术和所述传输。
16.根据权利要求15所述的方法,其中所述应用编码技术是由至少两个基于块的编码器执行的,每个编码器对来自每个条带的所述图块的子集的所述频率块应用所述编码技术以压缩来自所述图块的相应子集的所述频率块中的所述频率数据,所述方法还包括:每个编码器在所述图块的相应子集中对所述图块之间的所述频带的所述频率块的处理进行多路复用,以允许对每个频带的频率块的所述处理之间的多个时间单元。
17.根据权利要求12所述的方法,其中所述小波变换是应用于来自所述视频帧的每个像素块的两级小波分解。
18.一种***,包括:
设备,所述设备包括一个或多个处理器以及显示子***;
基站,所述基站包括:
一个或多个处理器,所述一个或多个处理器被配置为对来自渲染的视频帧的像素数据块应用小波变换以将所述像素数据分解成多个频带,并且将所述频带组织成多个频率块;和
至少一个基于块的编码器,所述至少一个基于块的编码器被配置为对所述频率块应用编码技术以压缩所述频带;以及
无线接口,所述无线接口被配置为通过无线连接将经压缩的频带传输到所述设备;
其中,所述设备的所述一个或多个处理器被配置为:
解压缩从所述基站接收的经压缩的频带;
对经解压缩的频带执行小波合成以重构所述视频帧的所述像素数据;以及
将经重构的像素数据提供给所述显示子***以用于显示。
19.根据权利要求18所述的***,其中所述基站的所述一个或多个处理器被进一步配置为在所述小波变换之前对所述视频帧的所述像素数据进行预滤波,其中,为了对所述像素数据进行预滤波,所述一个或多个处理器对所述视频帧应用透镜翘曲滤波器以校正由所述设备的透镜引入的失真。
20.根据权利要求18所述的***,其中所述设备是头戴式显示器HMD。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862691423P | 2018-06-28 | 2018-06-28 | |
US62/691,423 | 2018-06-28 | ||
PCT/US2019/039595 WO2020006293A1 (en) | 2018-06-28 | 2019-06-27 | Video encoding system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112313954A true CN112313954A (zh) | 2021-02-02 |
Family
ID=67439355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980040241.XA Pending CN112313954A (zh) | 2018-06-28 | 2019-06-27 | 视频编码*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US11653026B2 (zh) |
EP (1) | EP3815368A1 (zh) |
JP (3) | JP7171768B2 (zh) |
KR (3) | KR20210011407A (zh) |
CN (1) | CN112313954A (zh) |
WO (1) | WO2020006293A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102582407B1 (ko) * | 2019-07-28 | 2023-09-26 | 구글 엘엘씨 | 포비에이티드 메시들로 몰입형 비디오 콘텐츠를 렌더링하기 위한 방법들, 시스템들, 및 매체들 |
CN117354545B (zh) * | 2023-12-06 | 2024-02-23 | 成都索贝数码科技股份有限公司 | 视频图像小波变换高频系数按限定尺寸分块编码方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1301021A2 (en) * | 2001-10-04 | 2003-04-09 | Eastman Kodak Company | Method and system for displaying an image |
WO2005032137A1 (en) * | 2003-09-26 | 2005-04-07 | The Regents Of The University Of California | Video encoding methods and devices |
CN106031172A (zh) * | 2014-02-25 | 2016-10-12 | 苹果公司 | 用于视频编码和解码的自适应传递函数 |
US20170155905A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Efficient intra video/image coding using wavelets and variable size transform coding |
US20170287112A1 (en) * | 2016-03-31 | 2017-10-05 | Sony Computer Entertainment Inc. | Selective peripheral vision filtering in a foveated rendering system |
US20170301065A1 (en) * | 2016-04-15 | 2017-10-19 | Gopro, Inc. | Systems and methods for combined pipeline processing of panoramic images |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2267194B (en) * | 1992-05-13 | 1995-10-04 | Sony Broadcast & Communication | Apparatus and method for processing image data |
JPH09212623A (ja) * | 1996-01-30 | 1997-08-15 | Fuji Photo Film Co Ltd | 画像処理方法 |
US6937659B1 (en) | 1997-11-14 | 2005-08-30 | Ac Capital Management, Inc. | Apparatus and method for compressing video information |
JP4686516B2 (ja) | 1997-12-05 | 2011-05-25 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
CN1175373C (zh) | 1998-03-20 | 2004-11-10 | 三菱电机株式会社 | 有损失/无损失感兴趣区域图像编码的方法和*** |
CN100481946C (zh) * | 1998-03-20 | 2009-04-22 | 三菱电机株式会社 | 编码和解码及压缩图像的方法和装置 |
AU762996B2 (en) | 1999-02-09 | 2003-07-10 | Motorola Australia Pty Ltd | An image compression system and method of determining quantisation parameters therefor |
KR100580158B1 (ko) | 1999-06-12 | 2006-05-15 | 삼성전자주식회사 | 화상 패킷 전송을 위한 무선통신 시스템 |
JP4254017B2 (ja) | 2000-03-10 | 2009-04-15 | ソニー株式会社 | 画像符号化装置及び方法 |
JP2003152544A (ja) | 2001-11-12 | 2003-05-23 | Sony Corp | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
JP3948619B2 (ja) | 2003-03-31 | 2007-07-25 | 株式会社リコー | 画像圧縮装置、画像圧縮方法、プログラム及び記録媒体 |
JP4151963B2 (ja) | 2003-09-19 | 2008-09-17 | 株式会社リコー | 画像サーバ装置、クライアント装置、動画像配信方法、プログラム、及び、情報記録媒体 |
US9325998B2 (en) | 2003-09-30 | 2016-04-26 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
JP2006222555A (ja) | 2005-02-08 | 2006-08-24 | Matsushita Electric Ind Co Ltd | 符号化装置及び符号化方法 |
US8768084B2 (en) | 2005-03-01 | 2014-07-01 | Qualcomm Incorporated | Region-of-interest coding in video telephony using RHO domain bit allocation |
KR100677446B1 (ko) | 2005-03-31 | 2007-02-02 | 엘지전자 주식회사 | 휴대단말기의 영상신호 압축 코딩장치 및 방법 |
JP4812585B2 (ja) | 2006-04-28 | 2011-11-09 | 株式会社リコー | 符号変換装置、符号変換方法、プログラム及び記録媒体 |
JP4254867B2 (ja) | 2007-01-31 | 2009-04-15 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
US8331444B2 (en) * | 2007-06-26 | 2012-12-11 | Qualcomm Incorporated | Sub-band scanning techniques for entropy coding of sub-bands |
JP2009044483A (ja) | 2007-08-09 | 2009-02-26 | Panasonic Corp | 画像符号化装置 |
EP2238758A4 (en) | 2008-01-24 | 2013-12-18 | Micropower Technologies Inc | VIDEO DISTRIBUTION SYSTEMS USING WIRELESS CAMERAS |
JP2010239288A (ja) | 2009-03-30 | 2010-10-21 | Sony Corp | 情報処理装置および方法 |
US9215472B2 (en) | 2013-09-27 | 2015-12-15 | Apple Inc. | Parallel hardware and software block processing pipelines |
US10264269B2 (en) | 2014-10-13 | 2019-04-16 | Apple Inc. | Metadata hints to support best effort decoding for green MPEG applications |
US9872201B2 (en) | 2015-02-02 | 2018-01-16 | Accelerated Media Technologies, Inc. | Systems and methods for electronic news gathering |
JP6616592B2 (ja) | 2015-05-20 | 2019-12-04 | 日本放送協会 | 符号化装置及びそのプログラム |
JP6722995B2 (ja) | 2015-10-23 | 2020-07-15 | キヤノン株式会社 | 符号化方法及び符号化装置、撮像装置及びプログラム |
US9955176B2 (en) | 2015-11-30 | 2018-04-24 | Intel Corporation | Efficient and scalable intra video/image coding using wavelets and AVC, modified AVC, VPx, modified VPx, or modified HEVC coding |
US20180040164A1 (en) | 2016-08-05 | 2018-02-08 | Gopro, Inc. | Apparatus and methods for selective coding of images |
JP2018061141A (ja) | 2016-10-05 | 2018-04-12 | 富士通株式会社 | 通信装置および通信方法 |
KR102449052B1 (ko) | 2018-06-28 | 2022-09-29 | 애플 인크. | 저 레이턴시 비디오 인코딩 및 송신을 위한 레이트 제어 |
-
2019
- 2019-06-27 JP JP2020568504A patent/JP7171768B2/ja active Active
- 2019-06-27 CN CN201980040241.XA patent/CN112313954A/zh active Pending
- 2019-06-27 KR KR1020207036204A patent/KR20210011407A/ko not_active Application Discontinuation
- 2019-06-27 EP EP19744944.0A patent/EP3815368A1/en active Pending
- 2019-06-27 KR KR1020227037046A patent/KR102645652B1/ko active IP Right Grant
- 2019-06-27 US US17/252,700 patent/US11653026B2/en active Active
- 2019-06-27 WO PCT/US2019/039595 patent/WO2020006293A1/en active Application Filing
- 2019-06-27 KR KR1020247007240A patent/KR20240033186A/ko active Application Filing
-
2022
- 2022-11-02 JP JP2022176236A patent/JP7441924B2/ja active Active
-
2024
- 2024-02-19 JP JP2024022596A patent/JP2024056936A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1301021A2 (en) * | 2001-10-04 | 2003-04-09 | Eastman Kodak Company | Method and system for displaying an image |
WO2005032137A1 (en) * | 2003-09-26 | 2005-04-07 | The Regents Of The University Of California | Video encoding methods and devices |
CN106031172A (zh) * | 2014-02-25 | 2016-10-12 | 苹果公司 | 用于视频编码和解码的自适应传递函数 |
US20170155905A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Efficient intra video/image coding using wavelets and variable size transform coding |
US20170287112A1 (en) * | 2016-03-31 | 2017-10-05 | Sony Computer Entertainment Inc. | Selective peripheral vision filtering in a foveated rendering system |
US20170301065A1 (en) * | 2016-04-15 | 2017-10-19 | Gopro, Inc. | Systems and methods for combined pipeline processing of panoramic images |
Also Published As
Publication number | Publication date |
---|---|
US11653026B2 (en) | 2023-05-16 |
KR102645652B1 (ko) | 2024-03-11 |
WO2020006293A1 (en) | 2020-01-02 |
JP7171768B2 (ja) | 2022-11-15 |
US20230254510A1 (en) | 2023-08-10 |
KR20220150412A (ko) | 2022-11-10 |
US20210250616A1 (en) | 2021-08-12 |
JP2024056936A (ja) | 2024-04-23 |
EP3815368A1 (en) | 2021-05-05 |
KR20210011407A (ko) | 2021-02-01 |
JP7441924B2 (ja) | 2024-03-01 |
JP2023017896A (ja) | 2023-02-07 |
JP2021527977A (ja) | 2021-10-14 |
KR20240033186A (ko) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7490726B2 (ja) | 低レイテンシ動画符号化及び送信のレート制御 | |
US11727619B2 (en) | Video pipeline | |
CN112335244B (zh) | 基于优先级的视频编码和传输 | |
US11914152B2 (en) | Video compression methods and apparatus | |
JP7441924B2 (ja) | 動画符号化システム | |
US12052440B2 (en) | Video encoding system |
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 |