使用众包生成全息或光场视图的制作方法
未命名
07-23
阅读:77
评论:0
使用众包生成全息或光场视图
相关申请的交叉引用
1.本技术要求在美国专利商标局于2021年10月22日提交的美国临时专利申请第63/270,984号、于2021年11月3日提交的美国临时专利申请第63/275,108号和于2022年10月21日提交的美国专利申请第17/970,956号的优先权,以上专利申请的公开内容通过引用整体并入本文。
技术领域
2.本公开内容的实施方式涉及图像和视频编码技术。更具体地,本公开内容的实施方式涉及使用众包生成用于全息显示或光场显示的媒体内容的改进。
背景技术:
3.沉浸式媒体涉及沉浸式技术,该沉浸式技术试图通过数字模拟来创建或模仿物理世界,该数字模拟通常模拟任何或所有人类感官系统以创建用户物理地存在于场景内的感知。
4.沉浸式媒体技术可以包括虚拟现实(virtual reality,vr)、增强现实(augmented reality,ar)、混合现实(mixed reality,mr)、光场/全息等。vr是指通过使用头戴式耳机将用户置于计算机生成的世界中来代替用户的物理环境的数字环境。ar获取数字媒体并且通过使用清晰的视觉或智能电话将数字媒体层叠在你周围的真实世界上。mr是指将真实世界与数字世界混合,从而创建技术和物理世界可以共存的环境。
5.光场显示或全息显示技术包括3d空间中的光线,其中光线来自每个点和方向。光线可以是五维全光函数,其中可以由3d空间(3维)中的三个坐标和用于指定3d空间中的方向的两个角度来限定每个光束。光场显示的概念基于以下理解:由来自任何源的光对周围看到的一切进行照明,所述光经由空间行进并且撞击对象的表面,在该对象的表面处,光在到达我们的眼睛之前被部分地吸收并部分地反射至另一表面。什么确切的光线到达我们的眼睛取决于用户在光场中的精确位置,并且当用户四处移动时,用户感知光场的一部分并且使用该部分来了解关于对象的位置。
6.为了捕获360度视频的内容,需要360度摄像装置;然而,当涉及捕获用于光场/全息显示的内容时,取决于要呈现的场景的fov,需要包括多个深度摄像装置或摄像装置阵列的昂贵设置。传统摄像装置仅能够捕获到达摄像装置透镜的给定位置的光线的2d表示。图像传感器记录到达每个像素的所有光线的亮度和颜色的总和,而不是到达设置装置传感器的所有光线的方向。因此,专门被设计成捕获用于光场/全息显示的内容的装置成本过高。
技术实现要素:
7.根据实施方式,可以提供一种用于生成众包全息视图的方法。该方法可以由至少一个处理器执行,并且可以包括:从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,一个或更多个成像装置中的每一个处于不同位置;生成基于一个或更多个图像
的同一场景的3d模型;以及基于确定显示装置能够显示沉浸式媒体,对用于呈现基于3d模型的同一场景的全息显示的沉浸式媒体进行流式传输。
8.根据实施方式,可以提供一种用于生成众包全息视图的设备。该设备可以包括:至少一个存储器,其被配置成存储程序代码;以及至少一个处理器,其被配置成读取程序代码并且按照程序代码所指示的进行操作。程序代码可以包括:接收代码,其被配置成使至少一个处理器从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,一个或更多个成像装置中的每一个处于不同位置;第一生成代码,其被配置成使至少一个处理器生成基于一个或更多个图像的同一场景的3d模型;以及流式传输代码,其被配置成使至少一个处理器基于确定显示装置能够显示沉浸式媒体,对用于呈现基于3d模型的同一场景的全息显示的沉浸式媒体进行流式传输。
9.根据实施方式,可以提供一种非暂态计算机可读介质,其存储指令。该指令在由生成众包全息视图的装置的至少一个处理器执行时可以使至少一个处理器执行以下操作:从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,一个或更多个成像装置中的每一个处于不同位置;生成基于一个或更多个图像的同一场景的3d模型;以及基于确定显示装置能够显示沉浸式媒体,对用于呈现基于3d模型的同一场景的全息显示的沉浸式媒体进行流式传输。
附图说明
10.图1示出了根据本公开内容的实施方式的用于捕获场景的众包成像装置的示例性布置。
11.图2示出了根据本公开内容的实施方式的用于生成众包全息视图的过程。
12.图3示出了根据本公开内容的实施方式的用于生成众包全息视图的流程图。
13.图4是根据本公开内容的实施方式的通信系统的简化框图。
14.图5是流式传输环境中的视频编码器和解码器的放置的图。
15.图6是根据本公开内容的实施方式的视频解码器的功能框图。
16.图7是根据本公开内容的实施方式的视频编码器的功能框图。
17.图8是根据本公开内容的实施方式的计算机系统的图。
具体实施方式
18.所公开的实施方式的各方面可以单独使用或组合使用。本公开内容的实施方式涉及使用众包图像生成全息视图的改进,其不需要昂贵的光场摄像装置设置。
19.全息/光场技术创建了具有准确的深度感和三维性的虚拟环境,而不需要使用任何头戴式耳机并且因此避免了像晕动病这样的副作用。如上所述,为了捕获360度视频的内容,需要360度摄像装置;然而,当涉及捕获用于光场或全息显示的内容时,取决于要捕获的场景的视场(field of view,fov),需要包括多个深度摄像装置或摄像装置阵列的昂贵设置。
20.根据本公开内容的实施方式,可以使用众包技术来捕获用于光场或全息显示的真实世界内容。捕获的内容一旦被适当地对准,就可以用于创建3d模型,全息显示或多视图显示可以使用该3d模型来呈现场景。
21.根据实施方式,可以将多于一个成像装置(也被称为捕获装置(capture device)或拍摄装置(capturing device))放置在可以用于捕获同一场景的多个视图的多于一个随机定位或位置处。在一些实施方式中,成像装置位置可以由装置距要捕获的场景的距离来限制。
22.根据实施方式,以上提及的成像装置可以包括但不限于摄像装置、数字摄像装置、智能电话摄像装置或者具有能够足以以最小限定分辨率捕获视频/图像的摄像装置的任何装置。最小限定分辨率可以是预定义的或者可以由捕获场景的客户端装置来限定。在一些实施方式中,多于一个成像装置可以是时间同步的。作为示例,当试图捕获静态刚性体时,由于不存在移动,因此可能不需要确保同时进行捕获。作为另一示例,在动态场景/对象的情况下,在捕获场景的同时可能需要从所有捕获装置进行同步,以重建场景中每个对象在任何时刻的形式和位置。在一些实施方式中,可以在缺乏同步的情况下使用帧的时间偏移。
23.根据示例,服务器或媒体分发服务器可以从所有捕获装置接收捕获媒体,并且可以使用图像对准或非刚性配准来对由放置在任何随机距离处的多个摄像装置捕获的不同视图进行对准。对准可以通过对以不同视角和距离捕获的不同但相似的对象/人脸进行对准以创建多个视图来进行。
24.图1示出了捕获同一场景的众包成像装置的示例性布置100。
25.如图1所示,成像装置101至成像装置106可以用于捕获场景107。可以理解,成像装置101至成像装置106是不同的成像装置,并且被定位成和/或位于与场景107成不同的角度和距离。
26.可以理解,虽然图1仅在两个一维中示出了成像装置101至成像装置106中的每一个在空间中的位置,但是本领域技术人员将认识到,也可以从诸如gps的位置传感器或者地磁场传感器与加速度计的组合容易地得出第三维,以确定捕获装置相对于磁北极的位置。
27.类似地,可以理解,具有或不具有图像稳定性的手持装置可以移动,但是可以在以时间同步的方式记录视频的同时记录在空间和取向二者上的这样的移动,以避免任何模型变形。作为另一示例,可以理解,也可以在以时间同步的方式记录视频的同时考虑和补偿成像装置的旋转运动,以避免任何模型变形。
28.根据实施方式,对于实时视频捕获,可以通过使捕获同步(这可以通过共同的硬件触发器来实现)以及/或者通过避免在将帧从捕获装置递送至服务器时的任何延迟来实现同步。对于预先记录的内容,捕获装置可以不在它们的捕获时间上同步,而是可以产生连续的视频流,连续的视频流可以使用64位时间戳来处理这样的流,使得可以在服务器或媒体分发服务器中或者捕获装置(例如成像装置101)内的共同时钟处创建内插的捕获场景。在一些实施方式中,成像装置可以使用集中式网络时间协议服务器来防止捕获装置的时钟进行漂移并且失去同步。
29.根据本公开内容的一方面,诸如蜂窝电话的成像装置不仅可以包括具有可配置/已知的光学几何形状的摄像装置,而且还可以包括传感器(基于硬件或软件来测量诸如地磁场、陀螺仪、加速度计、重力、线性加速度、旋转矢量、明显运动、步数计数器、步幅检测器等的参数),所述传感器可以用于识别成像装置在空间和时间上的位置,包括位置、取向和运动。为了确定成像装置的位置,可以使用通常在蜂窝电话中发现的两个传感器:地磁场传感器和加速度计。在一些实施方式中,可以基于可以确定成像装置距对象的距离来使用接
近度传感器。可以通过使用成像装置的加速度计和几何场传感器来读取成像装置的取向。运动传感器通过测量装置的移动(例如倾斜、摇动、旋转或摆动)来监测相对于真实世界的参考系的运动。
30.根据本公开内容的一方面,服务器和/或媒体分发处理器可以使用所捕获的不同视图来创建具有场景中的所有对象的多边形表示的矢量格式场景,并且然后以空间相干的方式将点与类似描述匹配。对每个图像中的几个点进行采样,并且然后将这些点对准,并且然后将它们内插到图像的其余部分。在实施方式中,如果摄像装置被放置在距场景不同的距离处,则服务器和/或媒体分发处理器可以调整捕获图像的分辨率,使得所有捕获装置看起来在距场景相同的距离处。
31.根据本公开内容的一方面,服务器和/或媒体分发处理器可以通过对来自不同视角的不同捕获图像进行对准和调整来对准不同图像以重建场景的3d模型。一旦3d场景被重新创建,服务器和/或媒体分发处理器就可以基于终端客户端的显示类型来对媒体进行分发和/或流式传输。作为示例,对于传统显示装置,可以生成光栅2d格式。因此,此处在任何时间使用单个摄像装置捕获。对于更具能力的装置,尤其是具有用于沉浸式媒体显示的一些或所有能力的装置,可以生成并发送多视图图像(例如,基于30个视图或45个视图的显示)。
32.图2示出了用于生成众包全息视图的过程200的示例性工作流程。
33.如过程200所示,在205处,一个或更多个成像装置可以以变化的距离并以不同的视角从多个定位和/或位置捕获场景。
34.在210处,服务器或媒体分发处理器可以收集捕获图像并对图像进行预处理、对准图像并且生成场景的3d表示。
35.在215处,基于确定终端客户端装置或客户端装置不具有呈现沉浸式媒体显示或全息视图的能力,服务器或媒体分发处理器可以发送和/或流式传输可以被呈现为1视图2d光栅扫描的媒体流。
36.在220处和225处,基于确定终端客户端装置或客户端装置具有至少一些呈现沉浸式媒体显示或全息视图的能力,基于终端客户端或客户端装置的能力,服务器或媒体分发处理器可以发送和/或流式传输可以被呈现为30个视图沉浸式全息显示或适当的n个视图沉浸式全息显示的媒体流。
37.图3示出了根据本公开内容的实施方式的用于生成众包全息视图的流程图。
38.如图3所示,过程300包括至少操作305至操作315。在操作305处,可以从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,一个或更多个成像装置中的每一个处于不同位置。作为示例,可以由服务器和/或媒体分发处理器从一个或更多个成像装置101至106接收场景107的一个或更多个图像,其中,一个或更多个成像装置中的每一个处于不同位置。
39.在一些实施方式中,一个或更多个成像装置可以从至少两个视角并且从至少两个距离捕获同一场景。在一些实施方式中,与一个或更多个成像装置相关联的不同位置可以是随机位置。在一些实施方式中,一个或更多个成像装置可以在一个或更多个同步时间捕获一个或更多个图像。
40.在操作310处,可以生成基于一个或更多个图像的同一场景的3d模型。作为示例,
服务器和/或媒体分发处理器可以基于一个或更多个图像的场景107来生成3d模型。根据一些实施方式,服务器和/或媒体分发处理器可以基于一个或更多个成像装置中的每一个的至少两个传感器来确定与一个或更多个成像装置中的每一个相关联的相应位置。服务器和/或媒体分发处理器可以在一个或更多个图像中识别以不同视角捕获的一个或更多个对象。然后,服务器和/或媒体分发处理器可以基于在一个或更多个图像中识别的一个或更多个对象以及与一个或更多个成像装置中的每一个相关联的位置来对准一个或更多个图像。
41.根据一些实施方式,至少两个传感器可以包括位置传感器、接近度传感器和取向传感器。
42.在操作315处,可以基于确定显示装置能够显示沉浸式媒体来对用于呈现基于3d模型的同一场景的全息显示的沉浸式媒体进行流式传输。作为示例,可以基于确定显示装置能够显示沉浸式媒体而由服务器和/或媒体分发处理器将用于呈现基于3d模型的场景107的全息显示的沉浸式媒体流式传输至显示装置(也被称为终端装置和客户端装置)。在一些实施方式中,可以基于确定显示装置不能够显示沉浸式媒体而由服务器和/或媒体分发处理器将用于呈现基于3d模型的同一场景的基于一个视图的2d光栅显示的媒体流式传输至显示装置。在一些实施方式中,可以与所确定的显示装置的能力成比例地由服务器和/或媒体分发处理器将用于呈现基于3d模型的场景107的基于阈值数目的视图的全息显示的沉浸式媒体流式传输至显示装置。
43.根据一方面,可以将一个或更多个图像基于一个或更多个成像装置中的相应成像装置的位置进行预处理。作为示例,可以由服务器和/或媒体分发处理器将一个或更多个图像基于一个或更多个成像装置101至106中的相应成像装置101的位置进行预处理。在一些实施方式中,预处理可以包括将一个或更多个图像中的图像的分辨率基于相应成像装置的位置进行调整。
44.尽管图2至图3示出了过程200和过程300的示例块,但是在一些实现方式中,过程200和过程300可以包括与图2至图3中所描绘的那些块相比附加的块、更少的块、不同的块或不同地布置的块。另外地或替选地,可以并行执行过程200和过程300的块中的两个或更多个块。
45.此外,所提出的方法可以由处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序以执行所提出的方法中的一个或更多个方法。
46.上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或更多个计算机可读介质中。例如,图8示出了适合于实现所公开的主题的某些实施方式的计算机系统800。
47.可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括可以由计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等来执行的指令的代码。
48.指令可以在各种类型的计算机或其部件上执行,各种类型的计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
49.图4示出了根据本公开内容的实施方式的通信系统400的简化框图。通信系统400
可以包括经由网络450互连的至少两个终端410至420。对于数据的单向传输,第一终端410可以在本地位置处对视频数据进行编码,以经由网络450传输至另一终端420。第二终端420可以从网络450接收另一终端的编码视频数据,对编码数据进行解码,并且显示恢复的视频数据。单向数据传输在媒体服务应用等中可能是常见的。
50.图4示出了第二对终端430、440,其被提供以支持可能在例如视频会议期间发生的编码视频的双向传输。对于数据的双向传输,每个终端430、440可以对在本地位置处捕获的视频数据进行编码,以经由网络450传输至另一终端。每个终端430、440还可以接收由另一终端发送的编码视频数据,可以对编码数据进行解码,并且可以在本地显示装置处显示恢复的视频数据。
51.在图4中,终端410至440可以被示为服务器、个人计算机和智能电话,但是本公开内容的原理不限于此。本公开内容的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络450表示在终端410至440之间传送编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络450可以在电路交换通道和/或分组交换通道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非在下文中有所说明,否则网络450的架构和拓扑对于本公开内容的操作而言可以是无关紧要的。
52.作为用于所公开的主题的应用的示例,图5示出了视频编码器和解码器在流式传输环境例如流式传输系统500中的放置。所公开的主题可以等同地适用于其他支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、记忆棒等的数字介质上存储压缩视频等。
53.流式传输系统可以包括捕获子系统513,捕获子系统513可以包括创建例如未压缩的视频样本流502的视频源501,例如数字摄像装置。被描绘为粗线以强调当与经编码的视频比特流相比时的高数据量的该样本流502可以由耦接至视频源501(其可以例如是如上所讨论的摄像装置)的编码器503处理。编码器503可以包括硬件、软件或其组合,以实现或实施如下面更详细地描述的所公开的主题的各方面。被描绘为细线以强调当与样本流相比时的较低数据量的经编码的视频比特流504可以存储在流式传输服务器505上以供将来使用。一个或更多个流式传输客户端506、508可以访问流式传输服务器505以检索经编码的视频比特流504的副本507、509。客户端506可以包括视频解码器510,该视频解码器510对经编码的视频比特流的传入副本507进行解码,并且创建可以在显示器512或其他呈现装置(未描绘)上呈现的传出视频样本流511。在一些流式传输系统中,可以根据某些视频编码/压缩标准对视频比特流504、507、509进行编码。这些标准的示例包括itu-t h.265建议书。正在开发的是被非正式地称为通用视频编码(versatile video coding,vvc)的视频编码标准。所公开的主题可以用于vvc的上下文中。
54.图6可以是根据本公开内容的实施方式的视频解码器510的功能框图。
55.接收器610可以接收要由解码器510解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个编码视频序列,其中,每个编码视频序列的解码独立于其他编码视频序列。可以从信道612接收编码视频序列,信道612可以是到存储经编码的视频数据的存储装置的硬件/软件链路。接收器610可以接收经编码的视频数据以及其他数据,例如可以被转发至其各自的使用实体(未描绘)的编码音频数据和/或辅助数据流。接收器610可以将编码视频序列与其他数据分开。为了防止网络抖动,可以将缓冲存储
器615耦接在接收器610与熵解码器/解析器620(此后被称为“解析器”)之间。当接收器610从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收到数据时,可以不需要缓冲存储器615,或者缓冲存储器615可以较小。为了尽可能地使用诸如因特网的分组网络,可能需要缓冲器615,该缓冲器615可以相对较大并且可以有利地具有自适应大小。
56.视频解码器510可以包括解析器620,以根据熵编码视频序列来重建符号621。这些符号的类别包括用于管理解码器510的操作的信息,以及潜在地包括用于控制诸如显示器512的呈现装置的信息,该显示器512不是解码器的组成部分但是可以耦接至解码器,如图6所示。用于呈现装置的控制信息可以是辅助增强信息(supplemental enhancement information,sei)消息或视频可用性信息(video usability information,vui)参数集片段(未描绘)的形式。解析器620可以对接收到的编码视频序列进行解析/熵解码。编码视频序列的编码可以根据视频编码技术或视频编码标准进行,并且可以遵循本领域技术人员公知的原理,包括:可变长度编码、霍夫曼编码(huffman coding)、具有或不具有上下文灵敏度的算术编码等。解析器620可以基于与群组对应的至少一个参数来从编码视频序列提取用于视频解码器中的像素的至少一个子群组的子群组参数集。子群组可以包括图片群组gop(group of pictures)、图片、图块、切片、宏块、编码单元cu(coding unit)、块、变换单元tu(transform unit)、预测单元pu(prediction unit)等。熵解码器/解析器还可以从编码视频序列提取诸如变换系数、量化器参数qp(quantizer parameter)值、运动矢量等的信息。
57.解析器620可以对从缓冲器615接收到的视频序列执行熵解码/解析操作,以创建符号621。解析器620可以接收经编码的数据,并且选择性地对特定符号621进行解码。此外,解析器620可以确定是否将特定符号621提供给运动补偿预测单元653、缩放器/逆变换单元651、帧内预测单元652或环路滤波器656。
58.取决于编码视频图片或一部分编码视频图片的类型(例如帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号621的重建可以涉及多个不同单元。涉及哪些单元以及涉及方式可以通过由解析器620根据编码视频序列解析的子群组控制信息来控制。为了清楚起见,未描绘解析器620与下面的多个单元之间的这样的子群组控制信息流。
59.除了已经提及的功能块之外,解码器510可以在概念上细分成如下面描述的多个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地集成到彼此。然而,为了描述所公开的主题,在概念上细分成以下功能单元是适当的。
60.第一单元是缩放器/逆变换单元651。缩放器/逆变换单元651从解析器620接收作为符号621的量化变换系数以及控制信息,包括使用哪种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元651可以输出包括样本值的块,这些块可以被输入到聚合器655中。
61.在一些情况下,缩放器/逆变换651的输出样本可以属于帧内编码块;也就是说:这个块不使用来自先前重建的图片的预测性信息但是可以使用来自当前图片的先前重建部分的预测性信息。帧内图片预测单元652可以提供这样的预测性信息。在一些情况下,帧内图片预测单元652使用从当前部分重建的图片658取得的周围已经重建的信息来生成与重建中的块的大小和形状相同的块。在一些情况下,聚合器655基于每个样本将帧内预测单元
652已经生成的预测信息添加至由缩放器/逆变换单元651提供的输出样本信息。
62.在其他情况下,缩放器/逆变换单元651的输出样本可以属于帧间编码且可能经运动补偿的块。在这样的情况下,运动补偿预测单元653可以访问参考图片存储器657以取得用于预测的样本。在根据属于块的符号621对聚合器655可以将其添加至缩放器/逆变换的所取得的样本进行运动补偿之后,这种情况下的这些样本变换单元被称为残差样本或残差信号,以生成输出样本信息。运动补偿单元从其取得预测样本的参考图片存储器内的地址可以由运动矢量控制,所述运动矢量以符号621的形式供运动补偿单元使用,所述符号621可以具有例如x分量、y分量和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时,从参考图片存储器取得的样本值的内插、运动矢量预测机制等。
63.聚合器655的输出样本可以在环路滤波器单元656中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术由包括在编码视频比特流中并且作为来自解析器620的符号621而可供环路滤波器单元656使用的参数来控制,然而视频压缩技术还可以响应于在对编码图片或编码视频序列的先前按解码顺序部分进行解码期间获得的元信息,以及响应于先前重建并且经环路滤波的样本值。
64.环路滤波器单元656的输出可以是样本流,该样本流可以输出至呈现装置512以及被存储在参考图片存储器658中,以用于将来的帧间图片预测。
65.一旦被完全重建,某些编码图片就可以用作参考图片以用于将来预测。一旦编码图片被完全重建并且该编码图片通过例如解析器620被识别为参考图片,则当前参考图片658就可以变为参考图片缓冲器657的一部分,并且可以在开始对随后的编码图片进行重建之前重新分配新的当前图片存储器。
66.视频解码器510可以根据可以记载在诸如itu-t h.265建议书的标准中的预定视频压缩技术执行解码操作。在编码视频序列遵循如在视频压缩技术文档或标准中指定的并且具体地在视频压缩技术文档或标准中的配置文件文档中指定的视频压缩技术或标准的语法的意义上,编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。对于合规性,还要求编码视频序列的复杂度在由视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建样本率(以例如每秒兆个样本为单位进行测量)、最大参考图片大小等。在一些情况下,可以通过假设参考解码器(hypothetical reference decoder,hrd)规范以及在编码视频序列中用信号表示的hrd缓冲器管理的元数据来对由层级设置的限制进一步限定。
67.在实施方式中,接收器610可以连同经编码的视频一起接收附加冗余数据。附加数据可以被包括为编码视频序列的一部分。视频解码器510可以使用附加数据对数据进行适当解码以及/或者更准确地重建原始视频数据。附加数据可以呈例如时间、空间或信噪比snr(signal noise ratio)增强层、冗余切片、冗余图片、前向纠错码等形式。
68.图7可以是根据本公开内容的实施方式的视频编码器503的功能框图。
69.编码器503可以从视频源501(其并非编码器的一部分)接收视频样本,视频源501可以捕获要由编码器503编码的视频图像。
70.视频源501可以提供要由编码器503编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位、
……
)、任何颜色空间(例如bt.601y crcb、rgb、
……
)和任何合适的采样结构(例如y crcb 4:2:0、y crcb 4:
4:4)。在媒体服务系统中,视频源501可以是存储先前准备的视频的存储装置。在视频会议系统中,视频源501可以是捕获本地图像信息作为视频序列的摄像装置。视频数据可以被提供为当按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,取决于所使用的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。以下描述集中于样本进行。
71.根据实施方式,编码器503可以实时地或者在由应用所要求的任何其他时间约束下将源视频序列的图片编码并压缩成编码视频序列743。实施适当的编码速度是控制器750的一个功能。控制器控制如下所述的其他功能单元并且在功能上耦接至这些单元。为了清楚起见,未描绘耦接。由控制器设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组gop布局、最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器750的其他功能,因为这些功能可能属于针对特定系统设计而优化的视频编码器503。
72.一些视频编码器以本领域技术人员容易识别为“编码环路”的方式进行操作。作为过于简化的描述,编码环路可以包括:编码器730的编码部分(此后被称为“源编码器”),编码器730的编码部分负责基于要编码的输入图片和参考图片来创建符号;以及嵌入在编码器503中的本地解码器733,本地解码器733重建符号以创建远程解码器也将创建的样本数据,因为在所公开的主题中考虑的视频压缩技术中,符号与编码视频比特流之间的任何压缩是无损的。重建的样本流被输入至参考图片存储器734。由于对符号流的解码导致独立于解码器位置(本地或远程)的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。这种参考图片同步性的基本原理以及在例如由于信道错误而无法维持同步性的情况下产生的漂移对于本领域技术人员来说是公知的。
[0073]“本地”解码器733的操作可以与已经在上面结合图6详细描述的“远程”解码器510的操作相同。然而,还简要参照图7,当符号可用并且熵编码器745和解析器620可以无损地将符号编码/解码为编码视频序列时,可以不在本地解码器733中完全实现包括信道612、接收器610、缓冲器615和解析器620的解码器510的熵解码部分。
[0074]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术,也必然需要以基本上相同的功能形式存在于对应的编码器中。由于编码器技术与已全面描述的解码器技术互逆,因此可以简化对编码器技术的描述。仅在某些方面,在下文需要并提供更详细的描述。
[0075]
作为其操作的一部分,源编码器730可以执行运动补偿预测性编码,该运动补偿预测性编码参考来自视频序列的被指定为“参考帧”的一个或更多个先前编码的帧对输入帧进行预测性地编码。以这种方式,编码引擎732对输入帧的像素块与可以被选择为输入帧的预测参考的参考帧的像素块之间的差进行编码。
[0076]
本地视频解码器733可以基于由源编码器730创建的符号对可以被指定为参考帧的帧的编码视频数据进行解码。编码引擎732的操作可以有利地为有损处理。当编码视频数据可以在视频解码器(图7中未示出)处被解码时,重建的视频序列通常可以是源视频序列的带有一些误差的副本。本地视频解码器733复制可以由视频解码器对参考帧执行的解码
处理,并且可以使重建的参考帧存储在可以例如是高速缓存存储器的参考图片存储器734中。以这种方式,编码器503可以在本地存储重建的参考帧的副本,这些副本与将由远端视频解码器获得的重建的参考帧具有共同内容(不存在传输误差)。
[0077]
预测器735可以针对编码引擎732执行预测搜索。也就是说,对于要编码的新帧,预测器735可以在参考图片存储器734中搜索可以用作新图片的适当的预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器735可以基于样本块逐像素块进行操作以找到适当的预测参考。在一些情况下,如通过预测器735获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器734中的多个参考图片提取的预测参考。
[0078]
控制器750可以管理视频编码器730的编码操作,包括例如对用于对视频数据进行编码的参数和子群组参数进行设置。
[0079]
可以在熵编码器745中对所有以上提及的功能单元的输出进行熵编码。熵编码器通过根据本领域技术人员已知的技术(例如霍夫曼编码、可变长度编码、算术编码等)对由各种功能单元生成的符号进行无损压缩来将所述符号转换成编码视频序列。
[0080]
传输器740可以缓冲由熵编码器745创建的编码视频序列,从而为经由通信信道760进行传输做准备,该通信信道760可以是到将存储经编码的视频数据的存储装置的硬件/软件链路。传输器740可以将来自视频编码器730的编码视频数据与要传输的其他数据合并,所述其他数据例如是编码音频数据和/或辅助数据流(未示出来源)。
[0081]
控制器750可以管理编码器503的操作。在编码期间,控制器750可以向每个编码图片分配某个编码图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以将图片分配为以下帧类型中之一:
[0082]
帧内图片(i图片),其可以是无需将序列中的任何其他帧用作预测源的情况下可以被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新图片。本领域技术人员了解i图片的那些变型及其相应的应用和特征。
[0083]
预测性图片(p图片),其可以是可以使用帧间预测或帧内预测进行编码和解码的图片,所述帧间预测或帧内预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0084]
双向预测性图片(b图片),其可以是可以使用帧间预测或帧内预测进行编码和解码的图片,所述帧间预测或帧内预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联元数据以用于单个块的重建。
[0085]
源图片通常可以在空间上被细分为多个样本块(例如,各自为4
×
4、8
×
8、4
×
8或16
×
16个样本的块)并且被逐块地编码。可以参考通过应用于块的相应图片的编码分配所确定的其他已经编码的块对块进行预测性编码。例如,可以对i图片的块进行非预测性编码,或者可以参考同一图片的已经编码的块对i图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前编码的参考图片经由空间预测或经由时间预测对p图片的像素块进行非预测性编码。可以参考一个或两个先前编码的参考图片经由空间预测或经由时间预测对b图片的块进行非预测性编码。
[0086]
视频编码器503可以根据诸如itu-t h.265建议书的预定视频编码技术或标准执
行编码操作。在其操作中,视频编码器503可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。
[0087]
在实施方式中,传输器740可以连同经编码的视频一起传输附加数据。视频编码器730可以包括这样的数据作为编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、诸如冗余图片和切片的其他形式的冗余数据、辅助增强信息(sei)消息、视觉可用性信息(vui)参数集片段等。
[0088]
图8所示的用于计算机系统800的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统800的示例性实施方式中所示的任何一个部件或部件的组合相关的任何依赖性或要求。
[0089]
计算机系统800可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)的输入。人机接口装置还可以用来捕获不一定与由人类进行的有意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像摄像装置获得的摄影图像)、视频(例如:二维视频、包括立体视频的三维视频)。
[0090]
输入人机接口装置可以包括以下中的一个或更多个(每项仅描绘一个):键盘801、鼠标802、触控板803、触摸屏810、操纵杆805、麦克风806、扫描仪807、摄像装置808。
[0091]
计算机系统800还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏810、数据手套1204或操纵杆805的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置)、音频输出装置(例如:扬声器809、头戴式耳机(未描绘))、视觉输出装置(例如屏幕810,包括阴极射线管(cathode ray tube,crt)屏幕、液晶显示器(liquid-crystal display,lcd)屏幕、等离子屏幕、有机发光二极管(organic light-emitting diode,oled)屏幕,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些屏幕能够输出二维视觉输出或通过诸如立体图形输出的方式输出多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘))、以及打印机(未描绘)。
[0092]
计算机系统800还可以包括人类可访问的存储装置及其相关联的介质,例如包括具有cd/dvd等介质821的cd/dvd rom/rw 820的光学介质、拇指驱动器822、可移除硬盘驱动器或者固态驱动器823、诸如磁带和软盘(未描绘)的传统磁性介质、诸如安全加密狗(未描绘)的基于专用rom/asic/pld的装置等。
[0093]
本领域技术人员还应当理解,结合目前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
[0094]
计算机系统800还可以包括到一个或更多个通信网络855的接口。网络855可以例如为无线的、有线的、光学的。网络855还可以是本地的、广域的、城域的、车辆和工业的、实时的、延迟容忍的等。网络855的示例包括:诸如以太网的局域网;无线lan;包括gsm、3g、4g、5g、lte等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数
字网络;包括canbus的车辆和工业网络等。某些网络855通常需要附接至某些通用数据端口或外围总线849(诸如,例如计算机系统800的usb端口)的外部网络接口适配器854;其他网络通常通过附接至如下所述的系统总线而集成到计算机系统800的核中(例如,通过以太网接口到pc计算机系统中或通过蜂窝网络接口到智能手机计算机系统中)。使用这些网络855中的任何网络,计算机系统800可以与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如广播电视)、单向仅发送的(例如到某些canbus装置的canbus)、或双向的例如使用局域数字网络或广域数字网络至其他计算机系统。可以在如上所述的这些网络855和网络接口854中的每一个上使用某些协议和协议栈。
[0095]
以上提及的人机接口装置、人类可访问的存储装置和网络接口可以附接至计算机系统800的核840。
[0096]
核840可以包括一个或更多个中央处理单元(cpu)841、图形处理单元(gpu)842、现场可编程门区域(field programmable gate area,fpga)843形式的专用可编程处理单元、用于某些任务的硬件加速器例如加速器844等。这些装置连同只读存储器(read-only memory,rom)845、随机存取存储器(random-access memory,ram)846、诸如内部非用户可访问硬盘驱动器、固态驱动器(solid-state drive,ssd)等的内部大容量存储装置847可以通过系统总线899连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线899,以使得能够通过附加cpu、gpu等进行扩展。外围装置可以直接地或者通过外围总线849附接至核的系统总线899。外围总线的架构包括外围部件互连(peripheral component interconnect,pci)、usb等。
[0097]
cpu 841、gpu 842、fpga843和加速器844可以执行某些指令,所述指令组合起来可以构成以上提及的计算机代码。该计算机代码可以存储在rom 845或者ram 846中。暂态数据也可以存储在ram 846中,而永久数据可以存储在例如内部大容量存储装置847中。可以通过使用高速缓存存储器来实现对存储器装置中的任何存储器装置的快速存储和检索,该高速缓存存储器可以与一个或更多个cpu 841、gpu 842、大容量存储装置847、rom 845、ram 846等紧密相关联。
[0098]
计算机可读介质可以在其上具有计算机代码,该计算机代码用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是对计算机软件领域的技术人员公知且可获得的类型。
[0099]
作为示例而非限制,具有所示的架构的计算机系统800,并且特别是核840可以由于处理器(包括cpu、gpu、fpga、加速器等)执行实施在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与以下相关联的介质:如上面所介绍的用户可访问的大容量存储装置、以及核840的具有非暂态性质的某些存储装置例如核内部大容量存储装置847或rom 845。实现本公开内容的各种实施方式的软件可以存储在这样的装置中并由核840执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核840并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在ram 846中的数据结构以及根据由软件限定的处理来修改这样的数据结构。另外地或作为替选方案,计算机系统可以由于以硬连线或以其他方式实施在电路(例如:加速器844)中的逻辑而提供功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情
况下,提及软件可以包含逻辑,并且反之,提及逻辑也可以包含软件。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(例如集成电路(integrated circuit,ic))、实施用于执行的逻辑的电路或两者。本公开内容包含硬件和软件的任何合适的组合。
[0100]
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同方案。因此,应当认识到,本领域技术人员将能够设想许多系统和方法,尽管这些系统和方法在本文中没有明确示出或描述,但是体现了本公开内容的原理并且因此在本公开内容的精神和范围内。
技术特征:
1.一种用于生成众包全息视图的方法,所述方法由至少一个处理器执行,所述方法包括:从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,所述一个或更多个成像装置中的每一个处于不同位置;生成基于所述一个或更多个图像的所述同一场景的3d模型;以及基于确定显示装置能够显示沉浸式媒体,对用于呈现基于所述3d模型的所述同一场景的全息显示的沉浸式媒体进行流式传输。2.根据权利要求1所述的方法,其中,所述一个或更多个成像装置从至少两个视角并且从至少两个距离捕获所述同一场景。3.根据权利要求1所述的方法,其中,所述一个或更多个成像装置在一个或更多个同步时间捕获所述一个或更多个图像。4.根据权利要求1所述的方法,其中,与所述一个或更多个成像装置相关联的所述不同位置是随机位置。5.根据权利要求1所述的方法,其中,生成包括:基于所述一个或更多个成像装置中的每一个的至少两个传感器来确定与所述一个或更多个成像装置中的每一个相关联的相应位置;在所述一个或更多个图像中识别以不同视角捕获的一个或更多个对象;以及基于在所述一个或更多个图像中识别的所述一个或更多个对象来对所述一个或更多个图像进行对准。6.根据权利要求5所述的方法,其中,所述至少两个传感器包括位置传感器、接近度传感器和取向传感器。7.根据权利要求1所述的方法,其中,所述方法还包括:由客户端装置基于对所述一个或更多个对象进行对准和匹配来生成具有所述同一场景中的一个或更多个对象的多边形表示的矢量场景;以及由所述客户端装置基于所述矢量场景来生成众包全息视图。8.根据权利要求1所述的方法,其中,所述方法还包括:将所述一个或更多个图像基于所述一个或更多个成像装置中的相应成像装置的位置来进行预处理。9.根据权利要求8所述的方法,其中,所述预处理包括:将所述一个或更多个图像中的图像的分辨率基于相应成像装置的位置进行调整。10.根据权利要求1所述的方法,其中,所述方法还包括:基于确定所述显示装置不能够显示沉浸式媒体,对用于呈现基于所述3d模型的所述同一场景的基于一个视图的2d光栅显示的媒体进行流式传输;以及基于确定所述显示装置的能力,对用于呈现基于所述3d模型的所述同一场景的基于阈值数目的视图的所述全息显示的沉浸式媒体进行流式传输,其中,所述阈值数目的视图基于所述显示装置的能力。11.一种用于生成众包全息视图的设备,所述设备包括:至少一个存储器,其被配置成存储程序代码;以及至少一个处理器,其被配置成读取所述程序代码并且按照所述程序代码所指示的进行操作,所述程序代码包括:
接收代码,其被配置成使所述至少一个处理器从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,所述一个或更多个成像装置中的每一个处于不同位置;第一生成代码,其被配置成使所述至少一个处理器生成基于所述一个或更多个图像的所述同一场景的3d模型;以及流式传输代码,其被配置成使所述至少一个处理器基于确定显示装置能够显示沉浸式媒体,对用于呈现基于所述3d模型的所述同一场景的全息显示的沉浸式媒体进行流式传输。12.根据权利要求11所述的设备,其中,所述一个或更多个成像装置从至少两个视角并且从至少两个距离捕获所述同一场景。13.根据权利要求11所述的设备,其中,所述一个或更多个成像装置在一个或更多个同步时间捕获所述一个或更多个图像。14.根据权利要求11所述的设备,其中,与所述一个或更多个成像装置相关联的所述不同位置是随机位置。15.根据权利要求11所述的设备,其中,所述第一生成代码包括:第二确定代码,其被配置成使所述至少一个处理器基于所述一个或更多个成像装置中的每一个的至少两个传感器来确定与所述一个或更多个成像装置中的每一个相关联的相应位置;识别代码,其被配置成使所述至少一个处理器在所述一个或更多个图像中识别以不同视角捕获的一个或更多个对象;以及对准代码,其被配置成使所述至少一个处理器基于在所述一个或更多个图像中识别的所述一个或更多个对象来对所述一个或更多个图像进行对准。16.根据权利要求11所述的设备,其中,所述程序代码还包括:第二生成代码,其被配置成使所述至少一个处理器基于对所述一个或更多个对象进行对准和匹配来生成具有所述同一场景中的一个或更多个对象的多边形表示的矢量场景;以及第三生成代码,其被配置成使所述至少一个处理器基于所述矢量场景来生成众包全息视图。17.一种非暂态计算机可读介质,其存储指令,所述指令包括:一个或更多个指令,所述一个或更多个指令在由用于生成众包全息视图的装置的一个或更多个处理器执行时使所述一个或更多个处理器执行以下操作:从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,所述一个或更多个成像装置中的每一个处于不同位置;生成基于所述一个或更多个图像的所述同一场景的3d模型;以及基于确定显示装置能够显示沉浸式媒体,对用于呈现基于所述3d模型的所述同一场景的全息显示的沉浸式媒体进行流式传输。18.根据权利要求17所述的非暂态计算机可读介质,其中,生成3d模型包括:基于所述一个或更多个成像装置中的每一个的至少两个传感器来确定与所述一个或更多个成像装置中的每一个相关联的相应位置;在所述一个或更多个图像中识别以不同视角捕获的一个或更多个对象;以及
基于在所述一个或更多个图像中识别的所述一个或更多个对象来对所述一个或更多个图像进行对准。19.根据权利要求17所述的非暂态计算机可读介质,其中,所述指令还包括:将所述一个或更多个图像基于所述一个或更多个成像装置中的相应成像装置的位置进行预处理。20.根据权利要求19所述的非暂态计算机可读介质,其中,所述预处理包括:将所述一个或更多个图像中的图像的分辨率基于所述相应成像装置的位置进行调整。
技术总结
提供了用于生成众包全息视图的方法、装置和非暂态存储介质。该方法可以包括:从一个或更多个成像装置接收同一场景的一个或更多个图像,其中,一个或更多个成像装置中的每一个处于不同位置。该方法还包括:生成基于一个或更多个图像的同一场景的3D模型,以及基于确定显示装置能够显示沉浸式媒体,对用于呈现基于3D模型的同一场景的全息显示的沉浸式媒体进行流式传输。行流式传输。行流式传输。
技术研发人员:罗伊特
受保护的技术使用者:腾讯美国有限责任公司
技术研发日:2022.10.22
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
