CN104871213B - 对于对象的全方位视图的视频编码 - Google Patents
对于对象的全方位视图的视频编码 Download PDFInfo
- Publication number
- CN104871213B CN104871213B CN201380065870.0A CN201380065870A CN104871213B CN 104871213 B CN104871213 B CN 104871213B CN 201380065870 A CN201380065870 A CN 201380065870A CN 104871213 B CN104871213 B CN 104871213B
- Authority
- CN
- China
- Prior art keywords
- objects
- video
- sequence
- image
- axis
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- 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/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- 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/139—Format conversion, e.g. of frame-rate or size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects relating to the "2D+depth" image format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
公开了一种用于对转体/360度旋转器的资源进行视频编码的方法和系统。来自围绕3D对象的不同视角的3D对象的静止图像可被堆叠并随后被视频编码以生成来自不同视角的该对象的视频帧。视频编码的资源可被存储在服务器或其它网络连接的设备上,并且在以后被连接的客户端设备取回以由客户端设备上的转体/360度旋转器进行显示处理。转体/360度旋转器可利用客户端设备和/或在客户端设备上运行的浏览器的原生视频处理能力来响应于交互式光标的移动而显示移动经过不同角取向的该对象的视频运动。
Description
背景技术
除非本文另外指示,否则本部分中描述的材料并不是本申请中的权利要求的现有技术,并且并不因为被包括在本部分中就被承认为是现有技术。
可利用各种技术来向用户提供对通信网络中的数据和服务的电子访问,以及支持用户之间的通信。例如,诸如计算机、电话和个人数字助理(personal digital assistant,PDA)之类的设备可用于通过包括互联网在内的通信网络交换信息。通信网络进而可提供到服务器的通信路径和链路,服务器可容宿可由用户经由通信设备来访问或利用的应用、内容和服务。内容可包括文本、视频数据、音频数据和/或其它类型的数据。
发明内容
在一个方面中,本文给出的一个示例实施例提供了一种方法,包括:从与围绕三维(3D)对象的不同3D角取向(angular orientation)相对应的多重视角的每一者生成3D对象的相应静止图像,每个相应静止图像包括用于在显示设备上显示的相应数据,并且每个相应静止图像是3D对象的多个静止图像之一;确定与从不同3D角取向中的一者到下一者之间3D角取向的最小差分变化(minimally differential change)相对应的多重视角的排序;通过与所确定的多重视角的排序相对应地对多个静止图像的相继静止图像排序来构造静止图像的序列;以及利用视频编码器对静止图像的序列编码以生成静止图像的序列的压缩视频格式渲染,其中静止图像的序列的压缩视频格式渲染在总数据量上小于序列的所有静止图像的总和。
在另一方面中,本文给出的一个示例实施例提供了一种方法,包括:响应于从计算机设备发送到通信连接到该计算机设备的服务器的请求,由该计算机设备接收视频文件,该视频文件包括从与围绕三维(3D)对象的不同3D角取向相对应的多重视角的每一者观看的该3D对象的静止图像的序列的压缩视频格式渲染的视频帧;由计算机设备在计算机设备的显示设备上的显示窗口中显示3D对象的图像;以及响应于计算机设备的用户接口(userinterface)的交互式光标在被虚拟地附着到3D对象的同时在显示窗口中的一个或多个轨迹上移动,由计算机设备对与被一个或多个轨迹横穿(transverse)的多重视角的子集相对应的视频帧的子集进行视频处理,以便显示围绕穿过3D对象的至少一个轴的3D对象的动画式3D角移动。
在又一方面中,本文给出的一个示例实施例提供了一种系统,包括:一个或多个处理器;存储器;以及存储在存储器中的机器可读指令,这些机器可读指令在被一个或多个处理器执行时使得系统执行操作,这些操作包括:从与围绕三维(3D)对象的不同3D角取向相对应的多重视角的每一者生成3D对象的相应静止图像,每个相应静止图像包括用于在显示设备上显示的相应数据,并且每个相应静止图像是3D对象的多个静止图像之一,确定与从不同3D角取向中的一者到下一者之间3D角取向的最小差分变化相对应的多重视角的排序,通过与所确定的多重视角的排序相对应地对多个静止图像的相继静止图像排序来构造静止图像的序列,以及利用视频编码器对静止图像的序列编码以生成静止图像的序列的压缩视频格式渲染,其中静止图像的序列的压缩视频格式渲染在总数据量上小于序列的所有静止图像的总和。
在另外一方面中,本文给出的一个示例实施例提供了一种系统,包括:一个或多个处理器,包括一个或多个视频处理器;存储器;以及存储在存储器中的机器可读指令,这些机器可读指令在被一个或多个处理器执行时使得系统执行操作,这些操作包括:接收视频文件,该视频文件包括从与围绕三维(3D)对象的不同3D角取向相对应的多重视角的每一者观看的3D对象的静止图像的序列的压缩视频格式渲染的视频帧,在显示设备上的显示窗口中显示3D对象的图像,以及响应于计算机设备的用户接口的交互式光标在被虚拟地附着到3D对象的同时在显示窗口中的一个或多个轨迹上移动,利用一个或多个视频处理器对与被一个或多个轨迹横穿的多重视角的子集相对应的视频帧的子集进行视频处理,以便在显示设备上显示围绕穿过3D对象的至少一个轴的3D对象的动画式3D角移动。
在另外一个方面中,本文给出的一个示例实施例提供了一种制品,包括计算机可读存储介质,其上存储有程序指令,这些程序指令当被系统的一个或多个处理器执行时使得该系统执行操作,这些操作包括:从与围绕三维(3D)对象的不同3D角取向相对应的多重视角的每一者生成3D对象的相应静止图像,每个相应静止图像包括用于在显示设备上显示的相应数据,并且每个相应静止图像是3D对象的多个静止图像之一;确定与从不同3D角取向中的一者到下一者之间3D角取向的最小差分变化相对应的多重视角的排序;通过与所确定的多重视角的排序相对应地对多个静止图像的相继静止图像排序来构造静止图像的序列;以及利用视频编码器对静止图像的序列编码以生成静止图像的序列的压缩视频格式渲染,其中静止图像的序列的压缩视频格式渲染在总数据量上小于序列的所有静止图像的总和。
在另外一个方面中,本文给出的一个示例实施例提供了一种制品,包括计算机可读存储介质,其上存储有程序指令,这些程序指令当被系统的一个或多个处理器执行时使得该系统执行操作,这些操作包括:响应于从系统发送到通信连接到系统的服务器的请求,由系统接收视频文件,该视频文件包括从与围绕三维(3D)对象的不同3D角取向相对应的多重视角的每一者观看的该3D对象的静止图像的序列的压缩视频格式渲染的视频帧;在系统的显示设备上的显示窗口中显示3D对象的图像;以及响应于计算机设备的用户接口的交互式光标在被虚拟地附着到3D对象的同时在显示窗口中的一个或多个轨迹上移动,由系统对与被一个或多个轨迹横穿的多重视角的子集相对应的视频帧的子集进行视频处理,以便显示围绕穿过3D对象的至少一个轴的3D对象的动画式3D角移动。
本领域普通技术人员通过在适当时参考附图阅读以下详细描述,将清楚这些以及其它方面、优点和替换方案。另外,应当理解,本发明内容部分和本文提供的其它描述和附图旨在仅通过示例来例示实施例,因此许多变化是可能的。例如,在保持在如权利要求所述的实施例的范围内的同时,可以重布置、组合、分布、消除或以其它方式改变结构元素和过程步骤。
附图说明
图1是图示出根据示例实施例的用于转体/360度旋转器的资源的视频编码的示例方法的流程图。
图2是图示出根据示例实施例的用于利用转体/360度视频旋转器(swivel/360-degree spinner)显示视频编码的资源的示例方法的流程图。
图3是根据示例实施例的示例网络和计算体系结构的框图。
图4A是根据示例实施例的服务器设备的框图。
图4B描绘了根据示例实施例的基于云的服务器系统。
图5描绘了根据示例实施例的客户端设备的框图。
图6图示了根据示例实施例的从沿着围绕3D对象的平面路径的不同视角观看3D对象。
图7是根据示例实施例的来自多重视角的3D对象的图像的序列的视频编码和压缩的概念例示。
图8是根据示例实施例的来自多重视角的3D对象的图像的序列的视频编码和压缩的另一概念例示。
图9是根据示例实施例的来自沿着穿过3D对象的不同平面中的曲线的多重视角的3D对象的图像的序列的视频编码和压缩的概念例示。
图10图示了根据示例实施例的围绕着3D对象的不同轨道平面的几何结构。
图11图示了根据示例实施例的显示器中的3D对象的图像的交互式旋转。
具体实施方式
转体/360度旋转器是一种交互式图形用户接口(或其工具),其功能是在显示设备上显示三维(3D)对象,更具体地是在使得3D对象看起来被连续地(或几乎连续地)旋转通过多种角取向时交互地操纵3D对象的显示。转体/360度旋转器可实现在诸如桌上型计算机、膝上型计算机、智能电话、智能平板或其它客户端设备之类的计算机设备中,并且因此可向计算机设备的用户提供交互功能。
在实践中,可通过计算机设备的显示设备的显示器中的交互式光标来提供转体/360度旋转器的交互能力。例如,该交互式光标可被鼠标或其它类型的物理设备接口控制。在这种交互式光标的某些实施例中,一般而言,与转体/360度旋转器相关联的光标可包括虚拟地“抓住”显示器中的3D对象的能力。转体/360度旋转器随后可使得3D对象看起来响应于光标虚拟地“拖曳”3D对象经过相对于显示器的观看视角的各种角取向而以动画方式在显示器的虚拟3D空间中旋转。其它用户接口范例可提供类似的功能,例如键盘的左右上下箭头的使用、操纵杆或类似控制器的运动、手持设备的相对运动(例如显示图像的智能电话的运动),等等。
几何上来说,从特定视角观看的3D对象的表观旋转运动可等同于从如下视角观看该3D对象:该视角以某种方式遵循着围绕3D对象的某一路径,例如轨道。例如,轨道可位于穿过该对象或在该对象附近经过的平面中。此外,可以有多个轨道,每个在不同平面上。不同平面可彼此平行,与相对于3D对象的不同纬度相对应。额外地或替换地,不同平面可与相对于3D对象的不同子午面相对应。这只是可产生可从其来观看3D对象的不同视角的不同轨道取向的两个示例。另外,围绕3D对象的路径可以只是轨道的一部分(例如,弧)。此外,路径不需要一定对应于规则几何图形(例如,圆锥曲线),而可以更一般地是具有穿过3D对象或在3D对象附近经过的大致旋转轴的任意曲线。
通过从沿着围绕3D对象的一个或多个路径或轨道的多重视角生成3D对象的图像,然后按动画序列显示生成的图像,可以使得3D对象看起来与从一个图像到下一个图像之间的视角的变化相对应地旋转。利用来自多个路径或轨道的图像,例如,可以使3D对象看起来旋转经过与图像的一个或另一个序列排序相对应的多种角取向——可能是任意的和/或是围绕着穿过3D对象或在3D对象附近经过的多个不同轴的。
取来自不同视角的这种图像的聚集或集合以及标记或识别视角的取向(例如,相对于3D对象的角度)的关联信息作为输入,转体/360度旋转器可提供对3D对象的表观角运动的交互式控制。更具体而言,显示器上的光标的轨迹中的一者或另一者可在围绕3D对象的一个或另一个相应路径轨道或路径中被平移,这进而可用于识别和/或选择相应的图像来以动画方式显示。
用于从围绕3D对象的不同视角创建图像的传统方案是从每个视角生成单独的“静止”图像。在此方案中,每个静止图像本身是完整的,并且可独立于任何其它图像地被显示在显示设备中。注意,来自不同视角的3D对象的静止图像可以按摄影方式生成(例如,从数字照片生成),和/或利用3D图形渲染工具(例如,计算机辅助显示工具)来生成。
对于使用传统的静止图像的聚集或集合和辅助信息(例如,角取向)的传统转体/360度旋转器处理,例如具有几兆字节(例如3-10兆字节)的大小的输入文件或数据流可能不是罕见的。同时,基于图像渲染角动画的可执行程序可涉及定制的算法,这些算法可能是缓慢的和/或不便于经受优化。在转体/360度旋转器的一些应用中,大数据大小和/或对专门算法的需求可造成某些挑战。
例如,在浏览器程序的情境中,用于生成诸如文本、图像、嵌入式计算机代码等等之类的显示页面的数据的聚集通常被称为“资源”(asset)。在传统的转体/360度旋转器的情况下,传统的资源可包括图像的一个或多个集合和识别角度的辅助信息等等。在实践中,资源可例如被存储在网络中的服务器上,并且可响应于激活转体/360度旋转器的请求而被取回并发送到客户端设备。这样,网络传输和关联的延时可成为一个因素。资源越大,延时就可能越大。对于一些应用,例如产品广告,延时可对有效性具有负面影响。即使当延时不那么算是潜在缺点时,如果存储空间(或者存储空间的缺乏)是一个顾虑的话,资源大小也仍可能是一个问题。
已被采用来减轻延时的可能影响的一种方案是通过包括更少的和/或更小的图像来减小资源大小。然而,更少的图像可导致角运动的卡顿式动画,而更小的图像可导致更低的质量(例如,更低的图像分辨率)。从而,虽然与大资源大小相关联的延时可被降低到一定程度,但传统转体/360度旋转器产生的渲染的质量可受到损害。再次以广告作为示例应用,延时和质量之间的折衷可能不会产生期望的或者可接受的结果。可存在转体/360度旋转器的其它应用,对于这些应用,这种折衷也是成问题的。因此,将会期望设计一种方案来为转体/360度旋转器生成资源,并且用于处理和显示这些资源,这种方案可减小与在网络中传送资源相关联的延时,同时支持转体/360度旋转器对3D对象的3D运动的高质量渲染。
根据本文描述的示例实施例,用于转体/360度旋转器的资源可被视频编码和压缩以便既减小资源的大小,又以适合于供许多计算机客户端设备上通常可用的一种或多种标准视频显示技术处理的形式来渲染它们。更具体而言,从沿着围绕3D对象的路径或轨道或者轨道的一部分的多个视角观看的3D对象的静止图像的序列可被用视频编码器来编码以生成多个视角的视频帧的序列。由于视频数据的相邻帧大多可以就被表示为从一个帧到下一个帧的变化,所以来自递增式不同的视角的3D对象的视频帧可在更少量的数据中而不是个体静止图像的总和中捕捉到。例如,可以实现四倍或更多倍的大小减小,并且不牺牲在整个视角路径上的图像分辨率或图像数目。
同时,许多计算机客户端设备可包括对于根据例如h.264、webm和avi之类的标准视频格式处理视频数据的原生支持。此外,许多标准web浏览器也包括对于处理这些类型的标准视频格式的支持。从而,转体/360度旋转器可利用在许多客户端设备上可用的标准视频硬件、固件和软件来实现。标准视频技术不仅使能了来自沿着围绕3D对象的路径或轨道的相继视角的3D对象的平滑视频显示,而且它们还可使能在图像数据中可不存在图像的视角的位置之间的像素插值。此外,通过对从相对于3D对象具有不同角取向的平面中的路径取得的图像进行视频处理,转体/360度旋转器可支持视角的不同路径之间的切换。
根据示例实施例,可以进行来自围绕3D对象的不同相继视角的3D对象的不同视图的视频渲染以显示从特定固定视角来看绕着各种不同轴平滑旋转的3D对象。应当理解,本文使用的术语“轨道”不一定打算描述例如与圆锥曲线严格对应的轨道,虽然这种轨道并未从考虑中排除。更确切地说,该术语意欲表达围绕3D对象的曲线路径。该路径可以是闭合的(例如,圆圈),或者开放的(例如,圆圈的弧)。其它形式的路径也是可能的。
通过对用于转体/360度旋转器的资源进行视频编码,可以使得资源文件足够小以允许服务器设备(例如)与实现转体/360度旋转器的客户端设备之间的网络传送,而不会招致重大的延时。结果,利用转体/360度旋转器的应用可以比使用传统方案的那些更有效且更高效地执行。额外地或替换地,在客户端设备上为资源分配的存储空间(例如,存储器)的量与传统资源相比也减小了。另外,由于沿着视角路径没有图像分辨率或帧数目的牺牲,所以通过视频编码方案使得3D对象旋转的高质量渲染成为了可能。
在示例实施例中,用于转体/360度旋转器的资源的视频编码可在一系统中实现,该系统包括一个或多个处理器、一个或多个形式的存储器、一个或多个输入设备/接口、一个或多个输出设备/接口以及机器可读指令,这些指令在被该一个或多个处理器执行时使得该系统执行本文描述的各种功能和任务。具体地,这些功能和任务可以为一方法形成基础,该方法既用于对转体/360度旋转器的资源的视频编码,又用于实现使用视频编码资源的转体/360度旋转器。示例方法的两个方面分别在图1和图2中图示,如下所论述的。
图1是图示出根据示例实施例的用于转体/360度旋转器的资源的视频编码的示例方法的流程图。按照通常使用的,并且按照本文使用的,“资源”可被认为是数据的聚集,诸如例如文件、文件的一部分或者结构,其包括或包含用于在运行于计算机设备上的浏览器程序中渲染页面或页面的一部分的信息。因为资源(按照本文使用的)通常可包括三维(3D)对象的图像,所以对图2的论述主要指的是图像。将会明白,可以有其它与3D对象的图像相关联的数据或信息,并且资源也可包括这种信息。
在步骤102,系统从与围绕3D对象的不同3D角取向相对应的多重视角中的每一者生成3D对象的相应静止图像。每个相应静止图像可对应于用于在显示设备上显示的相应数据。例如,每个图像可以是适用于在显示设备(例如,LCD显示器)上显示的像素文件(或文件部分)。每个图像可被认为是3D对象的多个静止图像之一,并且每个是可独立于多个图像中的其它图像显示的完整图像。关于每个图像的额外信息可包括用于指定视角的数据,例如相对于3D对象的视角的角取向、与3D对象的距离,等等。
在步骤104,确定多重视角的排序,该排序对应于从不同3D角取向中的一者到下一者之间3D角取向的最小差分变化。更具体而言,每个视角可对应于该视角相对于3D对象的不同角取向。这样,在任何两个视角之间存在3D角取向的差分变化。步骤104的排序是与序列中的相邻视角之间的最小差分变化相对应的视角的序列。作为示例,该排序可对应于沿着路径或轨道或者轨道的片段的相继位置。
在步骤106,通过与所确定的多重视角的排序相对应地对多个静止图像的相继静止图像排序来构造静止图像的序列。也就是说,在静止图像的序列中从一个静止图像到下一个静止图像的顺序与在步骤104确定的多重视角的排序中从一个视角到下一个视角的顺序相同。
最后,在步骤108,利用视频编码器对静止图像的序列编码以生成静止图像的序列的压缩视频格式渲染。在这样做时,使得静止图像的序列的压缩视频格式渲染在总数据量上小于序列的所有静止图像的总和。可以实现这个压缩是因为序列中的静止图像的排序可以是使得从一个视角到下一个视角的3D对象的相邻图像可相对类似。因此,视频编码器可将相继图像编码为相继视频帧,其中每个相继帧可通过仅对(或者大部分仅对)从一个帧到下一个帧之间的变化编码来生成。
根据示例实施例,从多重视角中的每一者生成3D对象的相应静止图像可对应于生成从3D对象外部的多重视角中的每一者观看的3D对象的静止图像。更具体而言,3D对象的多重视角在本文中被描述为提供从3D对象的外部对3D对象的观看。然而,设想到了本文论述的示例实施例的各种概念和原理也可应用到可从3D对象内部获得的视角,例如向外看。主要考虑3D对象的外部视角并不会损失一般性。
根据示例实施例,从多重视角中的每一者生成3D对象的相应静止图像可对应于生成从多重视角中的每一者观看的3D对象的数字照片。例如,相机(或其它静止图像捕捉设备)可被移动到每个视角位置以一次生成一个图像;或者相机可被放置在固定位置处并且3D对象被旋转经过与不同视角相对应的不同取向。额外地或替换地,从多重视角中的每一者生成3D对象的相应静止图像可对应于利用基于计算机的3D图形工具生成从多重视角中的每一者观看的3D对象的3D视觉渲染。
根据示例实施例,从多重视角中的每一者生成3D对象的相应静止图像可对应于从沿着与穿过3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置生成每个相应静止图像。例如,可从沿着与穿过3D对象的共同轴垂直的至少两个不同平面的每一者中的相应曲线路径的不同位置生成静止图像。两个这样平面上的曲线路径的示例是具有共同轴的两个纬度平面中的纬度的曲线。额外地或替换地,可从沿着至少两个不同平面的每一者中的相应曲线路径的不同位置生成静止图像,其中每个平面与穿过3D对象(或在3D对象附近经过)的一不同轴垂直。两个这样的平面上的曲线路径的示例是两个经度平面(即,子午面)中的经度的曲线,这两个经度平面的共同交点是穿过3D对象(或在3D对象附近经过)的轴。
作为另一种可能性,多个平面可包括每类平面中的一些。例如,多个平面可包括两个或更多个平行平面以及与这些平行平面相交的一个或多个平面。作为另外一个示例,多个平面可包括两个或更多个子午面以及一个或多个纬度平面。其它配置也是可能的。
根据示例实施例,确定多重视角的排序可对应于从多重视角中识别如下视角的子集:这些视角中的每一者位于与穿过3D对象的轴垂直的至少一个平面中的相应曲线路径上的不同序列点的阈值距离内。例如,在与穿过3D对象的共同轴垂直的至少两个不同平面的每一者中可以有相应曲线路径。同样,两个这样的平面上的曲线路径的示例是具有共同轴的两个纬度平面中的纬度的曲线。额外地或替换地,在至少两个不同平面的每一者中可以有相应曲线路径,其中每个平面与穿过3D对象的一不同轴垂直。同样,两个这样的平面上的曲线路径的示例是两个经度平面(即,子午面)中的经度的曲线,这两个经度平面的共同交点是穿过3D对象的轴。再一次,平面曲线的其它配置也是可能的。
根据示例实施例,所确定的多重视角的排序可以是从第一视角到最末视角的顺序。然后,通过与所确定的多重视角的排序相对应地对多个静止图像的相继静止图像排序来构造静止图像的序列可对应于通过与从第一视角到最末视角的排序相对应地对多个静止图像的相继静止图像排序来构造静止图像的序列。
根据示例实施例,利用视频编码器对静止图像的序列编码以生成静止图像的序列的压缩视频格式渲染可对应于生成与在特定视角在沿着与穿过3D对象的轴垂直的至少一个平面中的相应曲线路径的至少一个方向上移动时从该特定视角观看3D对象相对应的视频帧的序列。例如,在与穿过3D对象的共同轴垂直的至少两个不同平面的每一者中可以有相应曲线路径。同样,两个这样的平面上的曲线路径的示例是具有共同轴的两个纬度平面中的纬度的曲线。额外地或替换地,在至少两个不同平面的每一者中可以有相应曲线路径,其中每个平面与穿过3D对象的一不同轴垂直。同样,两个这样的平面上的曲线路径的示例是两个经度平面(即,子午面)中的经度的曲线,这两个经度平面的共同交点是穿过3D对象的轴。
进一步根据示例实施例,生成与在特定视角在沿着相应曲线路径的至少一个方向上移动时从该特定视角观看3D对象相对应的视频帧的序列可对应于生成与在特定视角在沿着相应曲线路径的一个方向上移动时从该特定视角观看3D对象相对应的视频帧的子序列。
进一步根据示例实施例,生成与在特定视角在沿着相应曲线路径的至少一个方向上移动时从该特定视角观看3D对象相对应的视频帧的序列可对应于生成与在3D对象被绕着轴旋转时从特定视角观看3D对象相对应的视频帧的序列。也就是说,虽然各种视角可对应于围绕3D对象的不同位置(或者例如利用图形工具生成的图像的虚拟位置),但可以使得视频帧中表示的运动看起来是从特定固定视角观看的3D对象的空间旋转。
根据示例实施例,视频编码器可被配置为根据包括例如h.264、webm和avi在内的一个或多个视频协议来操作。将会明白,视频编码器也可被配置为根据其它视频协议操作。
图2是根据示例实施例图示出用于利用转体/360度旋转器显示视频编码资源的示例方法的流程图。转体/360度旋转器可实现为诸如例如桌面型或膝上型计算机、智能电话或交互式显示平板之类的计算机设备上的图形用户界面的一部分。这样,转体/360度旋转器的功能可更一般地被认为是由具有例如包括交互式光标的显示设备用户接口的计算机设备执行的。该用户接口可包括转体/360度旋转器,并且可包括一种功能,利用该功能,光标可虚拟地“抓住”显示设备的显示器中的一个或多个图形对象,然后操纵虚拟抓住的对象。例如,可在显示器上的显示区域内拖曳虚拟抓住的对象。在这种交互式用户接口的情境中,转体/360度旋转器可提供将抓住的3D对象虚拟地旋转经过各种角取向的能力。在以下对图2的论述中,旋转器的功能被描述为由计算机设备执行。用于控制(一个或多个)图形对象的显示取向的其它技术被设想到了并且在本公开的范围内。
在步骤202,响应于从计算机设备发送到通信连接到计算机设备的服务器的请求,接收一视频文件,该视频文件包括从与围绕三维(3D)对象的不同3D角取向相对应的多重视角中的每一者观看的3D对象的静止图像的序列的压缩视频格式渲染的视频帧。该文件可例如对应于在图1中论述的步骤108处创建的编码视频,并且可被存储在服务器上。该请求可例如对应于对浏览器中的页面中显示的链接的选择(例如,“点击”)。这种请求的示例是HTTP请求;其它类型的请求也是可能的。
在步骤204,计算机设备可在计算机设备的显示设备上的显示窗口中显示3D对象的图像。
最后,在步骤206,计算机设备的用户接口的交互式光标在其被虚拟地附着到3D对象的同时在显示窗口中的一个或多个轨迹上移动。响应于光标移动,可通过计算机设备对与被该一个或多个轨迹横穿的多重视角的子集相对应的视频帧的子集的视频处理来将3D对象的角运动动画化。具体地,可以将3D对象的角运动动画化以使得3D对象看起来绕着穿过3D对象的至少一个轴旋转。
根据示例实施例,通过首先虚拟地抓住3D对象,并且在显示窗口中的一个或多个轨迹上移动,交互式光标可在其被虚拟地附着到3D对象的同时在显示窗口中的一个或多个轨迹上移动。作为示例,可响应于物理设备接口作出的选择,例如鼠标的“点击”,而虚拟地抓住3D对象。其它操作也是可能的。
根据示例实施例,与围绕3D对象的不同3D角取向相对应的多重视角可对应于来自沿着在3D对象外部并在与穿过3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置的视角。例如,这些不同位置可位于沿着与穿过3D对象的共同轴垂直的至少两个不同平面的每一者中的相应曲线路径之处。额外地或替换地,这些不同位置可位于沿着在3D对象外部并且在至少两个不同平面的每一者中的相应曲线路径之处,其中每个平面与穿过3D对象的一不同轴垂直。
与以上对图1的论述一样,设想到了本文联系利用转体/360度旋转器观看3D对象论述的示例实施例的各种概念和原理也可应用到从3D对象内部获得的视角,例如向外看。同样,主要考虑3D对象的外部视角并不会损失一般性。
根据示例实施例,计算机设备对与一个或多个轨迹横穿的多重视角的子集相对应的视频帧的子集的视频处理可对应于显示从特定视角来看的绕着至少一个轴旋转的3D对象的视频运动。例如,两个或更多个不同轴可各自穿过3D对象,并且在显示窗口中的一个或多个轨迹上移动可对应于在这两个或更多个轴中的至少两者之间切换。然后,显示从特定视角来看绕着至少一个轴旋转的3D对象的视频运动可对应于与在两个或更多个轴中的至少两者之间切换相对应地显示绕着两个或更多个轴中的至少两者中的每一者旋转的3D对象的视频运动的各个片段。
进一步根据示例实施例,可以有两个轨迹:顺时针轨迹和逆时针轨迹(对应于顺时针轨迹的逆)。然后,显示从特定视角来看绕着至少一个轴旋转的3D对象的视频运动可对应于响应于顺时针轨迹上的运动显示绕着至少一个轴的顺时针旋转方向上的3D对象的旋转运动,并且响应于逆时针轨迹上的运动显示绕着至少一个轴的逆时针旋转方向上的3D对象的旋转运动。
进一步根据示例实施例,由计算机设备对与一个或多个轨迹横穿的多重视角的子集相对应的视频帧的子集的视频处理可对应于对视频数据插值。更具体而言,来自两个或更多个附近帧的视频数据可用于对未严格包括在子集中的视角的视频数据插值。作为示例,包括沿着两个不同平面的每一者中的各个路径的视角的视频帧可用于对与沿着插值平面中的插值路径的视角相对应的视频数据插值。沿着这种路径的视角可被认为是来自沿着与穿过3D对象的插值轴垂直的至少一个插值平面中的相应曲线路径的不同位置的插值视角。从特定视角来看绕着至少一个插值轴旋转的3D对象的视频运动可从插值的视频数据生成。
根据示例实施例,显示从特定视角来看绕着至少一个轴旋转的3D对象的视频运动可对应于在计算机设备的浏览器程序中显示该视频运动。浏览器程序可包括视频应用编程接口(application programming interface,API)。作为示例,该API可以是HTML5。
将会明白,图1和图2中所示的步骤意欲例示根据示例实施例的各个方法。这样,各种步骤可被更改或修改,某些步骤的排序可被改变,并且额外的步骤可被添加,而仍实现整体期望操作。
根据示例实施例的方法,例如上述方法,以及设备,可利用所谓的“瘦客户端”和“基于云”的服务器设备以及其它类型的客户端和服务器设备来实现。在此范例的各种方面下,诸如移动电话和平板计算机之类的客户端设备可将一些处理和存储责任卸载到远程服务器设备。在至少一些时间中,这些客户端设备能够经由诸如互联网之类的网络与服务器设备通信。结果,在客户端设备上操作的应用也可具有持久的基于服务器的组件。然而,应当注意,本文公开的方法、过程和技术中的至少一些可能够完全在客户端设备或服务器设备上操作。
本部分描述了用于这种客户端设备和服务器设备的一般系统和设备体系结构。然而,接下来的部分中给出的方法、设备和系统也可在不同范例下操作。从而,本部分的实施例只是可如何使能这些方法、设备和系统的示例。
图3是其中可采用本文描述的各种实施例的通信系统300的简化框图。通信系统300包括客户端设备302、304和306,这些客户端设备302、304和306分别表示桌面型个人计算机(personal computer,PC)、平板计算机和移动电话。客户端设备也可包括可穿戴计算设备,诸如例如头戴式显示器和/或增强现实显示器。这些客户端设备中的每一者可能够通过使用有线连接(由实线标示)和/或无线连接(由虚线标示)经由网络308与其它设备(包括与彼此)通信。
网络308可例如是互联网,或者某种其它形式的公开或私有互联网协议(InternetProtocol,IP)网络。从而,客户端设备302、304和306可利用封包交换技术来通信。然而,网络308也可包含至少一些电路交换技术,并且取代封包交换或者除了封包交换以外,客户端设备302、304和306可经由电路交换来通信。
服务器设备310也可经由网络308通信。具体地,服务器设备310可根据一个或多个网络协议和/或应用层协议与客户端设备302、304和306通信以促进在这些客户端设备上对基于网络或基于云的计算的使用。服务器设备310可包括集成数据存储(例如,存储器、盘驱动器等等)并且也可能够访问单独的服务器数据存储312。服务器设备310与服务器数据存储312之间的通信可以是直接的、经由网络308的或者既是直接的也是经由网络308的,如图3中所示。服务器数据存储312可存储用于促进由客户端设备302、304和306以及服务器设备310执行的应用的操作的应用数据。
虽然在图3中只示出了三个客户端设备、一个服务器设备和一个服务器数据存储,但通信系统300可包括任意数目的这些组件中的每一者。例如,通信系统300可包括数百万个客户端设备、数千个服务器设备和/或数千个服务器数据存储。另外,客户端设备可采取除图3中所示那些以外的形式。
图4A是根据示例实施例的服务器设备的框图。具体地,图4A中所示的服务器设备400可被配置为执行服务器设备310和/或服务器数据存储312的一个或多个功能。服务器设备400可包括用户接口402、通信接口404、处理器406和数据存储408,所有这些都经由系统总线、网络或其它连接机制414链接在一起。
用户接口402可包括现在已知或以后开发的诸如键盘、小键盘、触摸屏、计算机鼠标、轨迹球、操纵杆和/或其它类似设备之类的用户输入设备。用户接口402还可包括现在已知或以后开发的用户显示设备,例如一个或多个阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)、发光二极管(light emitting diode,LED)、使用数字光处理(digital light processing,DLP)技术的显示器、打印机、灯泡和/或其它类似设备。此外,用户接口402可被配置为经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或现在已知或以后开发的其它类似设备生成(一个或多个)可听输出。在一些实施例中,用户接口402可包括可向外部用户输入/输出设备发送数据和/或从外部用户输入/输出设备接收数据的软件、电路或另外形式的逻辑。
通信接口404可包括可配置为经由例如图3中所示的网络308那样的网络通信的一个或多个无线接口和/或有线接口。无线接口如果存在的话可包括一个或多个无线收发器,例如收发器、可能根据IEEE 802.11标准(例如,802.11b、802.11g、802.11n)操作的Wifi收发器、可能根据IEEE 802.16标准操作的WiMAX收发器、可能根据第3代合作伙伴计划(3rd Generation Partnership Project,3GPP)标准操作的长期演进(Long-TermEvolution,LTE)收发器、和/或可配置来经由局域或广域无线网络通信的其它类型的无线收发器。有线接口如果存在的话可包括一个或多个有线收发器,例如以太网收发器、通用串行总线(Universal Serial Bus,USB)收发器、或者可配置为经由双绞线、同轴电缆、光纤链路或者到有线设备或网络的其它物理连接来通信的类似的收发器。
在一些实施例中,通信接口404可被配置为提供可靠的、安全的和/或经认证的通信。对于本文描述的每个通信,可以提供用于确保可靠通信的信息(例如,有保证的消息递送),可能作为消息标头和/或脚注的一部分提供(例如,封包/消息排序信息、(一个或多个)封装标头和/或脚注、大小/时间信息、以及诸如循环冗余校验(cyclic redundancy check,CRC)和/或奇偶校验值之类的传送验证信息)。可以利用一个或多个密码协议和/或算法来对通信加以保护(例如,编码或加密)和/或解密/解码,这些密码协议和/或算法例如但不限于数据加密标准(data encryption standard,DES)、先进加密标准(advanced encryptionstandard,AES)、里维斯特-沙米尔-阿德尔曼(Rivest,Shamir,and Adleman,RSA)算法、迪菲-赫尔曼(Diffie-Hellman)算法和/或数字签名算法(Digital Signature Algorithm,DSA)。取代本文列出的那些或者除了本文列出的那些之外也可使用其它密码协议和/或算法来对通信进行保护(然后进行解密/解码)。
处理器406可包括一个或多个通用处理器(例如,微处理器)和/或一个或多个专用处理器(例如,数字信号处理器(digital signal processor,DSP)、图形处理单元(graphical processing unit,GPU)、浮点处理单元(floating point processing unit,FPU)、网络处理器或者专用集成电路(application specific integrated circuit,ASIC))。处理器406可被配置为执行包含在数据存储408中的计算机可读程序指令310和/或其它指令以实现本文描述的各种功能。
数据存储408可包括一个或多个可被处理器406读取或访问的非暂态计算机可读存储介质。一个或多个计算机可读存储介质可包括易失性和/或非易失性存储组件,例如光学、磁性、有机或者其它存储器或盘存储,它们可以全部或部分与处理器406集成。在一些实施例中,数据存储408可利用单个物理设备(例如,一个光学、磁性、有机或其它存储器或盘存储单元)来实现,而在其它实施例中,数据存储408可利用两个或更多个物理设备来实现。
数据存储408也可包括可被处理器406用来实现本文描述的功能的程序数据412。在一些实施例中,数据存储408可包括或者能够访问额外的数据存储组件或设备(例如,下文描述的集群数据存储)。
再次简短参考图3,服务器设备310和服务器数据存储设备312可将应用和应用数据存储在可经由网络308访问的一个或多个场所。这些场所可以是包含许多服务器和存储设备的数据中心。服务器设备310和服务器数据存储设备312的确切物理位置、连接性和配置可以是客户端设备未知的和/或对于客户端设备来说不重要的。因此,服务器设备310和服务器数据存储设备312可被称为容宿在各种远程位置的“基于云”的设备。这种“基于云”的计算的一个可能优点是将处理和数据存储从客户端设备卸载,从而简化了这些客户端设备的设计和要求。
在一些实施例中,服务器设备310和服务器数据存储设备312可以是驻留于单个数据中心中的单个计算设备。在其它实施例中,服务器设备310和服务器数据存储设备312可包括一数据中心中的多个计算设备,或者甚至多个数据中心中的多个计算设备,其中这些数据中心位于分散的地理位置。例如,图3描绘了可能驻留于不同的物理位置的服务器设备310和服务器数据存储设备312的每一者。
图4B描绘了基于云的服务器集群的示例。在图4B中,服务器设备310和服务器数据存储设备312的功能可分布在三个服务器集群420A、420B和420C之间。服务器集群420A可包括由本地集群网络426A连接的一个或多个服务器设备400A、集群数据存储422A和集群路由器424A。类似地,服务器集群420B可包括由本地集群网络426B连接的一个或多个服务器设备400B、集群数据存储422B和集群路由器424B。类似地,服务器集群420C可包括由本地集群网络426C连接的一个或多个服务器设备400C、集群数据存储422C和集群路由器424C。服务器集群420A、420B和420C可分别经由通信链路428A、428B和428C与网络408通信。
在一些实施例中,服务器集群420A、420B和420C的每一者可具有相等数目的服务器设备、相等数目的集群数据存储和相等数目的集群路由器。然而,在其它实施例中,服务器集群420A、420B和420C中的一些或全部可具有不同数目的服务器设备、不同数目的集群数据存储和/或不同数目的集群路由器。每个服务器集群中的服务器设备、集群数据存储和集群路由器的数目可取决于指派给每个服务器集群的(一个或多个)计算任务和/或应用。
例如,在服务器集群420A中,服务器设备400A可被配置为执行例如服务器设备310这样的服务器的各种计算任务。在一个实施例中,这些计算任务可分布在服务器设备400A中的一者或多者之间。服务器集群420B和420C中的服务器设备400B和400C可与服务器集群420A中的服务器设备400A相同或相似地配置。另一方面,在一些实施例中,服务器设备400A、400B和400C的每一者可被配置为执行不同的功能。例如,服务器设备400A可被配置为执行服务器设备310的一个或多个功能,并且服务器设备400B和服务器设备400C可被配置为执行一个或多个其它服务器设备的功能。类似地,服务器数据存储设备312的功能可专用于单个服务器集群,或者散布在多个服务器集群上。
服务器集群420A、420B和420C各自的集群数据存储422A、422B和422C可以是包括被配置为管理对硬盘驱动器的群组的读取和写入访问的盘阵列控制器的数据存储阵列。盘阵列控制器单独地或者与其各自的服务器设备相联合地也可被配置为管理集群数据存储中存储的数据的备份或冗余拷贝,以针对妨碍一个或多个服务器设备访问一个或多个集群数据存储的盘驱动器故障或其它类型的故障加以保护。
与服务器设备310和服务器数据存储设备312的功能可分布在服务器集群420A、420B和420C上的方式类似,这些组件的各种活跃部分和/或备份/冗余部分可分布在集群数据存储422A、422B和422C上。例如,一些集群数据存储422A、422B和422C可被配置为存储在其它集群数据存储422A、422B和422C中存储的数据的备份版本。
服务器集群420A、420B和420C中各自的集群路由器424A、424B和424C可包括被配置为为服务器集群提供内部和外部通信的联网设备。例如,服务器集群420A中的集群路由器424A可包括一个或多个封包交换和/或路由设备,这些设备被配置为提供(i)服务器设备400A与集群数据存储422A之间经由集群网络426A的网络通信,和/或(ii)服务器集群420A与其它设备之间经由到网络408的通信链路428A的网络通信。集群路由器424B和424C可包括与集群路由器424A类似的网络设备,并且集群路由器424B和424C可以为服务器集群420B和420C执行集群路由器424A为服务器集群420A执行的联网功能。
此外,集群路由器424A、424B和424C的配置可至少部分基于服务器设备和集群存储阵列的数据通信要求、集群路由器424A、424B和424C中的网络设备的数据通信能力、本地集群网络426A、426B、426C的延时和吞吐量、广域网连接428A、428B和428C的延时、吞吐量和成本、和/或可对系统体系结构的成本、速度、容错、弹性、效率和/或其它设计目标作出贡献的其它因素。
图5是示出示例客户端设备500的一些组件的简化框图。作为示例而非限制,客户端设备500可以是或者可以包括“普通老式电话系统”(plain old telephone system,POTS)电话、蜂窝移动电话、静态相机、视频相机、传真机、答录机、计算机(例如桌面型计算机、笔记本计算机或平板计算机)、个人数字助理(PDA)、可穿戴计算设备、家庭自动化组件、数字视频记录器(digital video recorder,DVR)、数字TV、遥控器或者配备有一个或多个无线或有线通信接口的某种其它类型的设备。
如图5中所示,客户端设备500可包括通信接口502、用户接口504、处理器506和数据存储508,它们全都可通过系统总线、网络或其它连接机制510通信地链接在一起。
通信接口502起到允许客户端设备500利用模拟或数字调制与其它设备、接入网络和/或传输网络通信的作用。从而,通信接口502可促进分组交换和/或封包交换通信,例如POTS通信和/或IP或其它封包化通信。例如,通信接口502可包括被布置用于与无线电接入网络或接入点的无线通信的芯片集和天线。另外,通信接口502可采取有线接口的形式,例如以太网、令牌环或USB端口。通信接口502也可采取无线接口的形式,例如Wifi、全球定位系统(global positioning system,GPS)或广域无线接口(例如,WiMAX或LTE)。然而,在通信接口502上可使用其它形式的物理层接口和其它类型的标准或专有通信协议。另外,通信接口502可包括多个物理通信接口(例如,Wifi接口、接口和广域无线接口)。
用户接口504可起到允许客户端设备500与人类或非人类用户交互的作用,例如从用户接收输入和向用户提供输出。从而,用户接口504可包括输入组件,例如小键盘、键盘、触摸敏感或压力敏感面板、计算机鼠标、轨迹球、操纵杆、麦克风、静态相机和/或视频相机。用户接口504也可包括一个或多个输出组件,例如显示屏(其例如可与触摸敏感面板组合)、CRT、LCD、LED、使用DLP技术的显示器、打印机、灯泡和/或现在已知或以后开发的其它类似设备。用户接口504也可被配置为经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或现在已知或以后开发的其它类似设备生成(一个或多个)可听输出。在一些实施例中,用户接口504可包括可向外部用户输入/输出设备发送数据和/或从外部用户输入/输出设备接收数据的软件、电路或另外形式的逻辑。额外地或替换地,客户端设备500可支持从另一设备经由通信接口502或经由另一物理接口(未示出)的远程访问。
处理器506可包括一个或多个通用处理器(例如,处理器)和/或一个或多个专用处理器(例如,DSP、GPU、FPU、网络处理器或者ASIC)。数据存储508可包括一个或多个易失性和/或非易失性存储组件,例如磁性、光学、闪存或有机存储,并且可全部或部分与处理器506集成。数据存储508可包括可移除和/或不可移除组件。
一般地,处理器506可能够执行存储在数据存储508中的程序指令518(例如,编译的或未编译的程序逻辑和/或机器代码)以执行本文描述的各种功能。因此,数据存储508可包括非暂态计算机可读介质,其上存储有程序指令,这些程序指令在被客户端设备500执行时使得客户端设备500执行本说明书和/或附图中公开的任何方法、过程或功能。由处理器506对程序指令518的执行可导致处理器506使用数据512。
作为示例,程序指令518可包括操作系统522(例如,操作系统内核、(一个或多个)设备驱动器和/或其它模块)和安装在客户端设备400上的一个或多个应用程序520(例如,地址簿、电子邮件、web浏览、社交网络和/或游戏应用)。类似地,数据512可包括操作系统数据516和应用数据514。操作系统数据516可主要可被操作系统522访问,并且应用数据514可主要可被应用程序520中的一个或多个访问。应用数据514可被布置在客户端设备500的用户可见或对客户端设备500的用户隐藏的文件系统中。
应用程序520可通过一个或多个应用编程接口(API)与操作系统512通信。这些API可例如促进应用程序520读取和/或写入应用数据514,经由通信接口502发送或接收信息,在用户接口504上接收或显示信息,等等。
在一些方言中,应用程序520可被简称为“app”。此外,应用程序520可通过一个或多个在线应用商店或应用市场被下载到客户端设备500。然而,应用程序也可按其它方式被安装在客户端设备500上,例如经由web浏览器或通过客户端设备500上的物理接口(例如,USB端口)。
如上所述,转体/360度旋转器是起到如下作用的交互式图形用户界面:在显示设备上显示3D对象,同时提供将该3D对象交互式地旋转经过多种角取向的能力。转体/360度旋转器可实现在诸如桌上型计算机、膝上型计算机、智能电话、智能平板或其它客户端设备之类的计算机设备中,并且因此可向计算机设备的用户提供交互功能。图5中示出和以上论述的客户端设备500是这种计算机设备的示例。在典型实现方式中,转体/360度旋转器可例如用在浏览器程序中。示例应用是在线广告中的产品的显示,其中响应于对查看产品的请求,视频编码的资源可被应用接收。其它应用也是可能的。
具有视频能力的转体/360度旋转器的视频编码资源可由计算机设备生成,该计算机设备例如图4中所示的服务器设备400。对于视频编码资源的生成,计算机设备不需要一定要是服务器或者甚至不需要一定要连接到网络。一旦视频编码资源被生成,它们就可被存储在网络连接的服务器上的一个或多个数据文件(或其它有组织的数据格式)中,该服务器例如是服务器设备400或者服务器集群420(A、B、C),它们也在上文论述。
以下论述只考虑3D对象的从对象外部的视角。然而,如上文提到的,例如在对图1和图2的论述中提到的,示例实施例不限于外部视角。从3D对象内部的视角,例如向外看,也是可能的。通过让论述针对仅涉及外部视角的示例,并不会损失关于内部视角的一般性。
从不同视角产生对象的视图的概念例示在图6中示出,图6根据示例实施例从沿着围绕3D对象的平面路径的不同视角描绘了3D对象600。作为示例,3D对象600被示为是从沿着围绕对象600的大致圆形轨道的八个不同视角观看的。在图的顶部,对象600被正面示出,其具有与位于沿着圆形路径的不同点的编号为1,…,8的八个视角位置。术语“轨道”用于描述沿着其视角所位于的路径,但不一定意味着围绕对象600的实际动态运动。图的底部示出了从八个位置的每一者来观看的对象。这些视图被标记为600-1,600-2,…,600-8,600-1(返回到第一视图)。在视图600-2、600-4、600-6和600-8中,对象600的变窄表示没有任何3D图形效果的透视收缩。
标记为600-1,600-2,…,600-8,600-1的视图中的每一者可被认为对应于对象600的一个单独的静止图像。每个静止图像可独立于任何其它图像被显示在计算机设备(例如设备500)的显示设备上。也就是说,每个静止图像包含用于显示的完全图像数据。
图7是根据示例实施例的来自多重视角的3D对象的图像的序列的视频编码和压缩的概念例示。图像的集合700在图的顶部示出。标记为700-1,700-2,…700-8,700-1的图像对应于在图6的底部示出的那些,并且每一者可被认为是一个单独的完全图像。图像集合700可例如对应于传统的资源文件。如图7中所示,集合700被输入到视频编码+压缩模块702,该模块生成包含视频帧的视频文件704。作为示例,视频编码+压缩模块702可根据诸如h.264、webm或avi之类的视频协议来操作,虽然示例实施例的范围不一定限于这些协议。为了概念例示,这些帧示出了两个不同的完全帧视图,标记为1和2,以及六个差异帧,每个标记为“Δ”。视频文件704被示为小于初始资源文件700。这表示了与原始资源文件相比压缩视频文件的实际更小的数据大小。
如众所周知的,视频编码利用了相邻帧中的图像内容的实质相似性来使得能够仅对相继视频帧之间的差异而不是完整图像内容编码。此方案对于从一个帧到下一个帧的连续移动和/或场景内容尤其有用。穿插于差异帧之间的是完全图像帧。这些帧可例如用在场景不连续变化时,或者用作周期性或偶尔的参考设定帧。按照视频编码的术语,完全(或大部分完全)的图像帧被称为“内编码”帧或者“I帧”。使用两类差异帧,称为“预测”帧或“P帧”以及“双向”帧或“B帧”。在视频重放的情境中,每个帧可包括时间戳来指定帧的序列中的时间顺序。每个I帧可以是表示视频中的时刻(moment)的基本上完全的数字图像。另一方面,P帧和B帧(双向帧)可只定义相对于一个或多个其它帧的变化,例如从I帧和/或其它帧的向量位移。视频显示设备可在每个I帧的时间戳时刻呈现该I帧,并可随后根据相继I帧之间的P帧和/或B帧来渲染所呈现的图像的变化。结果可看起来是显示设备上的平滑运动。
在用于转体/360度旋转器的资源的视频编码的情境中,每个帧可包括指定相对于3D对象的视角的标记或标签。如下所述,指定的视角可被转体/360度旋转器用来将帧与由例如在显示设备上的一个或另一个轨迹上移动的交互式光标输入的取向或角度相关。从而,视频编码+压缩模块702可在视频资源文件704的生成中包括视角信息。作为例示,视频资源文件704中标记为1和2的视频帧可对应于I帧,而标记为Δ的帧可对应于P帧或B帧。
图8是根据示例实施例的来自多重视角的3D对象的图像的序列的视频编码和压缩的另一概念例示。此例示与图7的类似,但表示了围绕3D对象的多几个视角。为了例示,3D对象的前视图和后视图之间的位置处的视角被以3D渲染。资源文件800被输入到视频编码+压缩模块802,该模块生成包含视频帧的视频文件804。同样,这些帧示出了被标记为1和2的两个不同的完全帧视图,它们可以是I帧,以及各自被标记为Δ的六个差异帧,它们可以是P帧或B帧。再一次,视频文件804被示为小于初始资源文件800。视频文件也可包括与每个视频帧相关联的视角信息,例如相对于3D对象的角取向。
图9是根据示例实施例来自沿着穿过3D对象的不同平面中的曲线的多重视角的3D对象的图像的序列的视频编码和压缩的概念例示。作为示例,示出了四个不同平面上的表观上圆形的轨道。四个平面中的每一个以不同的角度穿过对象900。来自沿着每个轨道的不同点的图像在资源文件910的子片段或“条带”中被串接或“堆叠”。来自沿着轨道902的图像被堆叠在条带910-2中;来自沿着轨道904的图像被堆叠在条带910-4中;来自沿着轨道906的图像被堆叠在条带910-6中;并且来自沿着轨道908的图像被堆叠在条带910-8中。
资源文件910随后被输入到视频编码+压缩模块912,该模块生成包含视频帧的视频文件914。视频帧被组织在四个子片段中,每一个对应于资源文件910的子片段之一。将会明白,图9中所示的轨道的数目和取向只是示例,并且其它布置也是可能的。
被示为位于沿着轨道902、904、906和908中的一者或另一者的不同视角不一定是严格按沿着这些轨道的顺序或者按与它们的空间顺序相对应的时间顺序来获取或生成的。例如,多重视角可均匀(或接近均匀)分布在大致以3D对象900为中心的球上。随后,来自这多重视角中的视角的子序列可根据其在特定轨道的阈值距离上或阈值距离内的位置被识别。与所识别的每个这种子序列相对应的图像的序列于是可以是被集体视频编码的多个条带之一,例如条带910-2、910-4、910-6或910-8,如图9的图示中那样。
进一步根据示例实施例,子序列视角不需要一定按平面中的曲线布置。例如,子序列可对应于上述视角的球上的视角的集群。利用这种布置,来自不同视角的图像的子序列可被构造为覆盖(或部分覆盖)该球的集群图像的斑块。集群中的视角的排序可以是穿过该集群的点的一种或另一种图案。示例图案可包括螺旋、之字和有序格子,等等。图像的每个子序列随后可被包括在图像资源文件中,并且被编码成视频帧的相应子序列。此外,可以既沿着平面曲线又按集群来布置图像的子序列,并且编码的视频文件从而可包含相应的视频帧。与先前示例中一样,视频文件也可包括与每个视频帧相关联的视角信息,例如相对于3D对象的角取向。
有各种方式来表征围绕对象的视角位置。围绕对象的轨道的概念可以按轨道平面和围绕对象的角旋转来参数化。图10图示了根据示例实施例的围绕着3D对象1000的不同轨道平面的几何结构。在图中,围绕z轴的角运动1002-A对应于具有运动1002-B的xy平面中的轨道。类似地,围绕x轴的角运动1004-A对应于具有运动1004-B的yz平面中的轨道;并且围绕y轴的角运动1006-A对应于具有运动1006-B的xz平面中的轨道。
应当理解,联系对象的各种视角使用的术语“运动”并不打算表达诸如数字相机之类的图像捕捉设备处于围绕对象的实际运动中。更确切地说,将视角图像渲染成视频形式产生了视频帧,这些视频帧当被处理并显示在视频显示器上时给出围绕轴之一旋转的对象的外观,就好像图像捕捉设备在图像被捕捉或生成时在沿着轨道中的一个或多个移动一样。在转体/360度旋转器的情境中,表观运动由将对象拖曳经过在视频帧中表示(或者在视频帧之间插值)的各种视角的交互式光标来控制。
视频压缩的一个或多个资源文件可被存储在网络中的服务器上,并且被客户端设备访问以便在以后的时间用于视频显示处理。
图11图示了根据示例实施例的显示器中的3D对象的图像的交互式旋转。作为示例被表示为平板1110的客户端设备具有转体/360度旋转器组件1114。可包括硬件、软件和固件元素的组件1114包括视频解码+视频显示处理模块1114-A,以及显示设备1114-B。具体地,转体/360度旋转器的视频处理和显示能力可至少部分基于平板1110和/或平板1110的浏览器或其它程序的原生能力。视频编码资源文件1116被描绘为被加载到转体/360度旋转器中。例如,可能已从服务器或其它远程设备(图中未示出)下载了文件1116。将3D对象拖曳经过各种角取向的交互式光标1112作为示例由触笔表示。
图的左上部分表示图10的轨道和轨道平面。然而,在图11中,围绕对象1100的轨道和轨道平面表示随着触笔1112在跨过平板1110的显示平面的轨迹中移动而被转体/360度旋转器交互式选择的视角。作为示例,随着触笔在不同的轨迹中跨过显示平面地移动,轨道中的取向沿着xz平面中的弧1102移动到xy平面中的弧1104,再移动到yz平面中的弧1106。为了例示,这些路径片段被示为被视频编码在视频资源文件1116的子片段1116-1、1116-3和1116-4中。也是为了例示,子片段1116-2明显不包含与这三个弧相对应的视频帧,因此在由转体/360度旋转器进行的处理中其被跳过。
作为示例,触笔被示为横穿平板1110的显示平面中的三个轨迹;它们被与由转体/360度旋转器处理的视频资源子片段相对应地标记。平板1110的显示器中示出的3D对象1100的渲染被以不同的取向示出,意欲表示在转体/360度旋转器与触笔1112的运动相对应地旋转它时的平滑角运动。
根据示例实施例,随着触笔跨过轨迹中的一个或另一个地移动,转体/360度旋转器将所述轨迹映射到围绕3D对象1100的角取向。映射的角取向随后可用于识别要处理和显示哪些视频帧。在示例中,沿着轨迹1116-1的运动被映射到具有相同标记1116-1的视频帧的序列。这些视频帧可对应于例如图11的左上部分中的弧1102。也作为示例,沿着轨迹1116-3的运动被映射到具有相同标记1116-3的视频帧的序列。这些视频帧可对应于弧1104。序列1116-2的视频帧可对应于弧1102在xz平面中x=0上方的延长。然而,在这个例示中,轨迹1116-3对应于xy平面中沿着弧1104的旋转。结果,在这个例示性示例中序列1116-2被转体/360度旋转器跳过。最后,沿着轨迹1116-4的运动被映射到具有相同标记1116-4的视频帧的序列,与1106相对应。
将会明白,图11中所示的图示只是具有视频能力的转体/360度旋转器的操作的一个示例,而并不打算限制示例实施例的范围。
本文作为示例描述了例示性实施例。然而,本领域技术人员将会理解,在不脱离由权利要求限定的实施例所针对的元素、产品和方法的真实范围和精神的情况下,可对此实施例作出改变和修改。
Claims (32)
1.一种用于对三维(3D)对象的全方位视图进行视频编码的方法,包括:
沿着关于3D对象的一个或多个空间轨迹从与围绕该3D对象的不同3D角取向相对应的多重视角的每一者生成所述3D对象的相应静止图像,每个相应静止图像包括用于在显示设备上显示的相应数据,并且每个相应静止图像是所述3D对象的多个静止图像之一;
确定与从所述不同3D角取向中的一者到下一者之间3D角取向的最小差分变化相对应的所述多重视角的排序;
通过与所确定的所述多重视角的排序相对应地对所述多个静止图像的相继静止图像排序来构造静止图像的序列;以及
利用视频编码器对所述静止图像的序列编码以生成所述静止图像的序列的压缩视频格式渲染,其中所述静止图像的序列的压缩视频格式渲染在总数据量上小于所述序列的所有静止图像的总和。
2.如权利要求1所述的方法,其中,从所述多重视角的每一者生成所述3D对象的相应静止图像包括生成从所述3D对象外部的所述多重视角的每一者观看的所述3D对象的静止图像。
3.如权利要求1所述的方法,其中,从所述多重视角的每一者生成所述3D对象的相应静止图像包括生成从所述多重视角的每一者观看的所述3D对象的数字照片。
4.如权利要求1所述的方法,其中,从所述多重视角的每一者生成所述3D对象的相应静止图像包括利用基于计算机的3D图形工具生成从所述多重视角的每一者观看的所述3D对象的3D视觉渲染。
5.如权利要求1所述的方法,其中,从所述多重视角的每一者生成所述3D对象的相应静止图像包括从沿着与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置生成每个相应静止图像。
6.如权利要求5所述的方法,其中,从沿着与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置生成每个相应静止图像包括从沿着与穿过所述3D对象的共同轴垂直的至少两个不同平面的每一者中的相应曲线路径的不同位置生成静止图像。
7.如权利要求5所述的方法,其中,从沿着与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置生成每个相应静止图像包括从沿着至少两个不同平面的每一者中的相应曲线路径的不同位置生成静止图像,所述至少两个不同平面的每一者与穿过所述3D对象的不同轴垂直。
8.如权利要求1所述的方法,其中,确定所述多重视角的排序包括从所述多重视角中识别如下视角的子集:这些视角中的每一者位于与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径上的不同序列点的阈值距离内。
9.如权利要求8所述的方法,其中,与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径包括与穿过所述3D对象的共同轴垂直的至少两个不同平面的每一者中的相应曲线路径。
10.如权利要求8所述的方法,其中,与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径包括至少两个不同平面的每一者中的相应曲线路径,所述至少两个不同平面的每一者与穿过所述3D对象的不同轴垂直。
11.如权利要求1所述的方法,其中,所确定的所述多重视角的排序包括从第一视角到最末视角的顺序,
并且其中,通过与所确定的所述多重视角的排序相对应地对所述多个静止图像的相继静止图像排序来构造所述静止图像的序列包括通过与从所述第一视角到所述最末视角的排序相对应地对所述多个静止图像的相继静止图像排序来构造静止图像的前向序列。
12.如权利要求1所述的方法,其中,利用视频编码器对所述静止图像的序列编码以生成所述静止图像的序列的压缩视频格式渲染包括生成与在特定视角在沿着与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的至少一个方向上移动时从该特定视角观看所述3D对象相对应的视频帧的序列。
13.如权利要求12所述的方法,其中,与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径包括与穿过所述3D对象的共同轴垂直的至少两个不同平面的每一者中的相应曲线路径。
14.如权利要求12所述的方法,其中,与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径包括至少两个不同平面的每一者中的相应曲线路径,所述至少两个不同平面的每一者与穿过所述3D对象的不同轴垂直。
15.如权利要求12所述的方法,其中,生成与在特定视角在沿着相应曲线路径的至少一个方向上移动时从该特定视角观看所述3D对象相对应的视频帧的序列包括生成与在特定视角在沿着相应曲线路径的一个方向上移动时从该特定视角观看所述3D对象相对应的视频帧的子序列。
16.如权利要求12所述的方法,其中,生成与在特定视角在沿着相应曲线路径的至少一个方向上移动时从该特定视角观看所述3D对象相对应的视频帧的序列包括生成与在所述3D对象被绕着所述轴旋转时从该特定视角观看所述3D对象相对应的视频帧的序列。
17.如权利要求1所述的方法,其中,所述视频编码器被配置为根据从由h.264、webm和avi构成的列表中选择的协议来操作。
18.一种用于处理三维(3D)对象的全方位视图的视频文件的方法,包括:
响应于从计算机设备发送到通信连接到该计算机设备的服务器的请求,由所述计算机设备接收视频文件,该视频文件包括沿着关于3D对象的一个或多个空间轨迹从与围绕该3D对象的不同3D角取向相对应的多重视角的每一者观看的该3D对象的静止图像的序列的压缩视频格式渲染的视频帧;
由所述计算机设备在所述计算机设备的显示设备上的显示窗口中显示所述3D对象的图像;以及
响应于所述计算机设备的用户接口的交互式光标在被虚拟地附着到所述3D对象的同时在所述显示窗口中的一个或多个轨迹上移动,由所述计算机设备对与被所述一个或多个轨迹横穿的所述多重视角的子集相对应的所述视频帧的子集进行视频处理,以便显示围绕穿过所述3D对象的至少一个轴的所述3D对象的动画式3D角移动。
19.如权利要求18所述的方法,其中,所述交互式光标在被虚拟地附着到所述3D对象的同时在所述显示窗口中的一个或多个轨迹上移动包括:
所述交互式光标虚拟地抓住所述3D对象;以及
其后,所述交互式光标在所述显示窗口中的所述一个或多个轨迹上移动。
20.如权利要求18所述的方法,其中,与围绕所述3D对象的不同3D角取向相对应的所述多重视角包括来自沿着在所述3D对象外部并在与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置的视角。
21.如权利要求20所述的方法,其中,沿着在所述3D对象外部并在与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置包括沿着与穿过所述3D对象的共同轴垂直的至少两个不同平面的每一者中的相应曲线路径的不同位置。
22.如权利要求20所述的方法,其中,沿着在所述3D对象外部并在与穿过所述3D对象的轴垂直的至少一个平面中的相应曲线路径的不同位置包括沿着至少两个不同平面的每一者中的相应曲线路径的不同位置,所述至少两个不同平面的每一者与穿过所述3D对象的不同轴垂直。
23.如权利要求18所述的方法,其中,由所述计算机设备对与被所述一个或多个轨迹横穿的所述多重视角的子集相对应的所述视频帧的子集进行视频处理以便显示围绕穿过所述3D对象的至少一个轴的所述3D对象的动画式3D角运动包括显示从特定视角来看绕着所述至少一个轴旋转的所述3D对象的视频运动。
24.如权利要求23所述的方法,其中,所述至少一个轴包括各自穿过所述3D对象的两个或更多个不同的轴,
其中,在所述显示窗口中的所述一个或多个轨迹上移动包括在所述两个或更多个轴中的至少两者之间切换,
并且其中,显示从特定视角来看绕着所述至少一个轴旋转的所述3D对象的视频运动包括与在所述两个或更多个轴中的至少两者之间切换相对应地显示绕着所述两个或更多个轴中的至少两者中的每一者旋转的所述3D对象的视频运动的各个片段。
25.如权利要求23所述的方法,其中,所述一个或多个轨迹包括顺时针轨迹和与该顺时针轨迹的逆相对应的逆时针轨迹,
并且其中,显示从特定视角来看绕着所述至少一个轴旋转的所述3D对象的视频运动包括:
响应于所述顺时针轨迹上的运动显示绕着所述至少一个轴的顺时针旋转方向上的所述3D对象的旋转运动;以及
响应于所述逆时针轨迹上的运动显示绕着所述至少一个轴的逆时针旋转方向上的所述3D对象的旋转运动。
26.如权利要求20所述的方法,其中,由所述计算机设备对与被所述一个或多个轨迹横穿的所述多重视角的子集相对应的所述视频帧的子集进行视频处理以便显示围绕穿过所述3D对象的至少一个轴的所述3D对象的动画式3D角移动包括:
从所述视频帧的子集对视频数据插值以生成与来自沿着与穿过所述3D对象的插值轴垂直的至少一个插值平面中的相应曲线路径的不同位置的插值视角相对应的插值视频数据;以及
显示从特定视角来看绕着所述至少一个插值轴旋转的所述3D对象的视频运动。
27.如权利要求23所述的方法,其中,显示从特定视角来看绕着所述至少一个轴旋转的所述3D对象的视频运动包括在所述计算机设备的浏览器程序中显示所述视频运动,并且其中,所述浏览器程序包括视频应用编程接口(API)。
28.如权利要求23所述的方法,其中,所述视频API是HTML5。
29.一种用于对三维(3D)对象的全方位视图进行视频编码的系统,包括:
一个或多个处理器;
存储器;以及
存储在所述存储器中的机器可读指令,所述机器可读指令在被所述一个或多个处理器执行时使得所述系统执行操作,所述操作包括:
沿着关于3D对象的一个或多个空间轨迹从与围绕该3D对象的不同3D角取向相对应的多重视角的每一者生成所述3D对象的相应静止图像,每个相应静止图像包括用于在显示设备上显示的相应数据,并且每个相应静止图像是所述3D对象的多个静止图像之一,
确定与从所述不同3D角取向中的一者到下一者之间3D角取向的最小差分变化相对应的所述多重视角的排序,
通过与所确定的所述多重视角的排序相对应地对所述多个静止图像的相继静止图像排序来构造静止图像的序列,以及
利用视频编码器对所述静止图像的序列编码以生成所述静止图像的序列的压缩视频格式渲染,其中所述静止图像的序列的压缩视频格式渲染在总数据量上小于所述序列的所有静止图像的总和。
30.一种用于处理三维(3D)对象的全方位视图的视频文件的系统,包括:
一个或多个处理器,包括一个或多个视频处理器;
存储器;以及
存储在所述存储器中的机器可读指令,所述机器可读指令在被所述一个或多个处理器执行时使得所述系统执行操作,所述操作包括:
接收视频文件,该视频文件包括沿着关于3D对象的一个或多个空间轨迹从与围绕该3D对象的不同3D角取向相对应的多重视角的每一者观看的所述3D对象的静止图像的序列的压缩视频格式渲染的视频帧,
在显示设备上的显示窗口中显示所述3D对象的图像,以及
响应于计算机设备的用户接口的交互式光标在被虚拟地附着到所述3D对象的同时在所述显示窗口中的一个或多个轨迹上移动,利用所述一个或多个视频处理器对与被所述一个或多个轨迹横穿的所述多重视角的子集相对应的所述视频帧的子集进行视频处理,以便在所述显示设备上显示围绕穿过所述3D对象的至少一个轴的所述3D对象的动画式3D角移动。
31.一种用于对三维(3D)对象的全方位视图进行视频编码的制品,包括计算机可读存储介质,其上存储有程序指令,所述程序指令当被系统的一个或多个处理器执行时使得该系统执行操作,所述操作包括:
沿着关于3D对象的一个或多个空间轨迹从与围绕该3D对象的不同3D角取向相对应的多重视角的每一者生成所述3D对象的相应静止图像,每个相应静止图像包括用于在显示设备上显示的相应数据,并且每个相应静止图像是所述3D对象的多个静止图像之一;
确定与从所述不同3D角取向中的一者到下一者之间3D角取向的最小差分变化相对应的所述多重视角的排序;
通过与所确定的所述多重视角的排序相对应地对所述多个静止图像的相继静止图像排序来构造静止图像的序列;以及
利用视频编码器对所述静止图像的序列编码以生成所述静止图像的序列的压缩视频格式渲染,其中所述静止图像的序列的压缩视频格式渲染在总数据量上小于所述序列的所有静止图像的总和。
32.一种用于处理三维(3D)对象的全方位视图的视频文件的制品,包括计算机可读存储介质,其上存储有程序指令,所述程序指令当被系统的一个或多个处理器执行时使得该系统执行操作,所述操作包括:
响应于从所述系统发送到通信连接到所述系统的服务器的请求,由所述系统接收视频文件,该视频文件包括沿着关于3D对象的一个或多个空间轨迹从与围绕该3D对象的不同3D角取向相对应的多重视角的每一者观看的该3D对象的静止图像的序列的压缩视频格式渲染的视频帧;
在所述系统的显示设备上的显示窗口中显示所述3D对象的图像;以及
响应于计算机设备的用户接口的交互式光标在被虚拟地附着到所述3D对象的同时在所述显示窗口中的一个或多个轨迹上移动,由所述系统对与被所述一个或多个轨迹横穿的所述多重视角的子集相对应的所述视频帧的子集进行视频处理,以便显示围绕穿过所述3D对象的至少一个轴的所述3D对象的动画式3D角移动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/675,849 US9189884B2 (en) | 2012-11-13 | 2012-11-13 | Using video to encode assets for swivel/360-degree spinners |
US13/675,849 | 2012-11-13 | ||
PCT/US2013/063236 WO2014077968A1 (en) | 2012-11-13 | 2013-10-03 | Video encoding for all round views of objects |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104871213A CN104871213A (zh) | 2015-08-26 |
CN104871213B true CN104871213B (zh) | 2018-05-11 |
Family
ID=49382625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380065870.0A Active CN104871213B (zh) | 2012-11-13 | 2013-10-03 | 对于对象的全方位视图的视频编码 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9189884B2 (zh) |
EP (1) | EP2920764A1 (zh) |
CN (1) | CN104871213B (zh) |
WO (1) | WO2014077968A1 (zh) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117039B1 (en) | 2012-06-26 | 2015-08-25 | The Mathworks, Inc. | Generating a three-dimensional (3D) report, associated with a model, from a technical computing environment (TCE) |
US9672389B1 (en) * | 2012-06-26 | 2017-06-06 | The Mathworks, Inc. | Generic human machine interface for a graphical model |
US9607113B1 (en) * | 2012-06-26 | 2017-03-28 | The Mathworks, Inc. | Linking of model elements to spatial elements |
US9582933B1 (en) | 2012-06-26 | 2017-02-28 | The Mathworks, Inc. | Interacting with a model via a three-dimensional (3D) spatial environment |
US9245068B1 (en) | 2012-06-26 | 2016-01-26 | The Mathworks, Inc. | Altering an attribute of a model based on an observed spatial attribute |
US9118843B2 (en) * | 2013-01-17 | 2015-08-25 | Google Inc. | Methods and systems for creating swivel views from a handheld device |
CN105706033B (zh) | 2013-03-05 | 2019-05-10 | 法斯埃托股份有限公司 | 用于立方体图形用户界面的系统和方法 |
EP3022638B1 (en) * | 2013-07-18 | 2018-04-04 | Fasetto, L.L.C. | System and method for multi-angle videos |
US10360052B1 (en) | 2013-08-08 | 2019-07-23 | The Mathworks, Inc. | Automatic generation of models from detected hardware |
WO2015033253A2 (en) | 2013-09-03 | 2015-03-12 | 3Ditize Sl | Generating a 3d interactive immersive experience from a 2d static image |
US10095873B2 (en) | 2013-09-30 | 2018-10-09 | Fasetto, Inc. | Paperless application |
US9686581B2 (en) * | 2013-11-07 | 2017-06-20 | Cisco Technology, Inc. | Second-screen TV bridge |
US9454840B2 (en) * | 2013-12-13 | 2016-09-27 | Blake Caldwell | System and method for interactive animations for enhanced and personalized video communications |
US9584402B2 (en) | 2014-01-27 | 2017-02-28 | Fasetto, Llc | Systems and methods for peer to peer communication |
US10222935B2 (en) | 2014-04-23 | 2019-03-05 | Cisco Technology Inc. | Treemap-type user interface |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US9537811B2 (en) * | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
DK3175588T3 (da) | 2014-07-10 | 2024-01-29 | Fasetto Inc | Systemer og fremgangsmåder til beskedredigering |
CA3185763A1 (en) | 2014-10-06 | 2016-04-14 | Fasetto, Llc | Systems and methods for portable storage devices |
US10437288B2 (en) | 2014-10-06 | 2019-10-08 | Fasetto, Inc. | Portable storage device with modular power and housing system |
WO2016097940A1 (en) * | 2014-12-16 | 2016-06-23 | 3Ditize Sl | 3d rotational presentation generated from 2d static images |
EP3745679B1 (en) | 2015-03-11 | 2024-05-01 | Fasetto, Inc. | Systems and methods for web api communication |
US11095869B2 (en) | 2015-09-22 | 2021-08-17 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
US10222932B2 (en) | 2015-07-15 | 2019-03-05 | Fyusion, Inc. | Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations |
US10242474B2 (en) | 2015-07-15 | 2019-03-26 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US10147211B2 (en) | 2015-07-15 | 2018-12-04 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US11006095B2 (en) | 2015-07-15 | 2021-05-11 | Fyusion, Inc. | Drone based capture of a multi-view interactive digital media |
US10701318B2 (en) | 2015-08-14 | 2020-06-30 | Pcms Holdings, Inc. | System and method for augmented reality multi-view telepresence |
CN105357585B (zh) * | 2015-08-29 | 2019-05-03 | 华为技术有限公司 | 对视频内容任意位置和时间播放的方法及装置 |
US10204449B2 (en) * | 2015-09-01 | 2019-02-12 | Siemens Healthcare Gmbh | Video-based interactive viewing along a path in medical imaging |
US11783864B2 (en) | 2015-09-22 | 2023-10-10 | Fyusion, Inc. | Integration of audio into a multi-view interactive digital media representation |
US10558353B2 (en) | 2015-11-18 | 2020-02-11 | Samsung Electronics Co., Ltd. | System and method for 360-degree video navigation |
JP2017103619A (ja) * | 2015-12-02 | 2017-06-08 | ソニー株式会社 | 制御装置、制御方法、およびプログラム |
US10929071B2 (en) | 2015-12-03 | 2021-02-23 | Fasetto, Inc. | Systems and methods for memory card emulation |
US10762712B2 (en) | 2016-04-01 | 2020-09-01 | Pcms Holdings, Inc. | Apparatus and method for supporting interactive augmented reality functionalities |
KR101837283B1 (ko) | 2016-05-16 | 2018-03-09 | 한국과학기술원 | 360도 영상 재생 시 사용자 단말 기울기 정보를 이용하여 재생 영역을 보정하는 방법 및 시스템 |
US10616376B2 (en) * | 2016-07-20 | 2020-04-07 | Vivint, Inc. | Communications protocol |
US11202017B2 (en) | 2016-10-06 | 2021-12-14 | Fyusion, Inc. | Live style transfer on a mobile device |
US10372520B2 (en) | 2016-11-22 | 2019-08-06 | Cisco Technology, Inc. | Graphical user interface for visualizing a plurality of issues with an infrastructure |
WO2018098313A1 (en) | 2016-11-23 | 2018-05-31 | Fasetto, Llc | Systems and methods for streaming media |
US10665024B2 (en) * | 2016-12-12 | 2020-05-26 | Fyusion, Inc. | Providing recording guidance in generating a multi-view interactive digital media representation |
US10739943B2 (en) | 2016-12-13 | 2020-08-11 | Cisco Technology, Inc. | Ordered list user interface |
US10437879B2 (en) | 2017-01-18 | 2019-10-08 | Fyusion, Inc. | Visual search using multi-view interactive digital media representations |
US20200005529A1 (en) * | 2017-01-23 | 2020-01-02 | Virtual Diamond Boutique Inc. | System, method and computer-accessible medium for displaying a three-dimensional digital version of an object |
KR20190131022A (ko) | 2017-02-03 | 2019-11-25 | 파세토, 인크. | 키잉된 디바이스들에서의 데이터 스토리지에 대한 시스템들 및 방법들 |
US20180307352A1 (en) * | 2017-04-25 | 2018-10-25 | Gopro, Inc. | Systems and methods for generating custom views of videos |
US10313651B2 (en) * | 2017-05-22 | 2019-06-04 | Fyusion, Inc. | Snapshots at predefined intervals or angles |
US10841537B2 (en) * | 2017-06-09 | 2020-11-17 | Pcms Holdings, Inc. | Spatially faithful telepresence supporting varying geometries and moving users |
US11069147B2 (en) | 2017-06-26 | 2021-07-20 | Fyusion, Inc. | Modification of multi-view interactive digital media representation |
JP7030452B2 (ja) | 2017-08-30 | 2022-03-07 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、情報処理システム及びプログラム |
WO2019079628A1 (en) | 2017-10-19 | 2019-04-25 | Fasetto, Inc. | PORTABLE ELECTRONIC DEVICE CONNECTING SYSTEMS |
CA3083988A1 (en) | 2017-12-01 | 2019-06-06 | Fasetto, Inc. | Systems and methods for improved data encryption |
CN108156436A (zh) * | 2017-12-27 | 2018-06-12 | 武汉微梦文化科技有限公司 | 三维宣传视频的在线处理方法 |
CN111630850B (zh) * | 2018-01-23 | 2022-11-04 | Lg电子株式会社 | 用于发送或接收包括相机镜头信息的360度视频的方法和设备 |
US11297298B2 (en) | 2018-02-27 | 2022-04-05 | Lg Electronics Inc. | Method for transmitting and receiving 360-degree video including camera lens information, and device therefor |
KR20200128023A (ko) * | 2018-03-15 | 2020-11-11 | 소니 주식회사 | 화상 처리 장치 및 방법 |
US10862867B2 (en) | 2018-04-01 | 2020-12-08 | Cisco Technology, Inc. | Intelligent graphical user interface |
KR20210018217A (ko) | 2018-04-17 | 2021-02-17 | 파세토, 인크. | 실시간 피드백이 있는 디바이스 프레젠테이션 |
JP2019191915A (ja) * | 2018-04-25 | 2019-10-31 | キヤノン株式会社 | 映像生成装置、映像生成装置の制御方法及びプログラム |
US10592747B2 (en) | 2018-04-26 | 2020-03-17 | Fyusion, Inc. | Method and apparatus for 3-D auto tagging |
WO2021015982A1 (en) * | 2019-07-22 | 2021-01-28 | Interdigital Vc Holdings, Inc. | A method and apparatus for delivering a volumetric video content |
JP7331517B2 (ja) * | 2019-07-23 | 2023-08-23 | セイコーエプソン株式会社 | 表示方法および表示装置 |
CN111182367A (zh) * | 2019-12-30 | 2020-05-19 | 苏宁云计算有限公司 | 一种视频的生成方法、装置及计算机系统 |
US11190774B1 (en) * | 2020-05-29 | 2021-11-30 | Microsoft Technology Licensing, Llc | Screen content encoding mode evaluation including intra-block evaluation of multiple potential encoding modes |
US20220156787A1 (en) * | 2020-11-19 | 2022-05-19 | Fancy Pants Online Inc. | Video Production Platform |
CN112419471B (zh) * | 2020-11-19 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及智能设备、存储介质 |
US11488371B2 (en) | 2020-12-17 | 2022-11-01 | Concat Systems, Inc. | Machine learning artificial intelligence system for producing 360 virtual representation of an object |
CN113157178B (zh) * | 2021-02-26 | 2022-03-15 | 北京五八信息技术有限公司 | 一种信息处理方法及装置 |
US11861665B2 (en) | 2022-02-28 | 2024-01-02 | Concat Systems, Inc. | Artificial intelligence machine learning system for classifying images and producing a predetermined visual output |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1158057A (zh) * | 1995-12-27 | 1997-08-27 | 三星电子株式会社 | 运动图象编码方法及其装置 |
CN1177259A (zh) * | 1996-05-29 | 1998-03-25 | 三星电子株式会社 | 包含随机目标对象的活动图象的编码和解码系统 |
CN1404016A (zh) * | 2002-10-18 | 2003-03-19 | 清华大学 | 融合多视角、多线索二维信息的人脸三维模型的建立方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108440A (en) * | 1996-06-28 | 2000-08-22 | Sony Corporation | Image data converting method |
WO2002014982A2 (en) | 2000-08-11 | 2002-02-21 | Holomage, Inc. | Method of and system for generating and viewing multi-dimensional images |
US6762755B2 (en) | 2000-10-16 | 2004-07-13 | Pixel Science, Inc. | Method and apparatus for creating and displaying interactive three dimensional computer images |
US6941516B2 (en) * | 2001-08-06 | 2005-09-06 | Apple Computer, Inc. | Object movie exporter |
WO2005034041A1 (en) | 2003-10-07 | 2005-04-14 | Openvr Co., Ltd. | Apparatus and method for creating 3-dimensional image |
US20090184936A1 (en) * | 2008-01-22 | 2009-07-23 | Mathematical Inventing - Slicon Valley | 3D touchpad |
EP2362653A1 (en) * | 2010-02-26 | 2011-08-31 | Panasonic Corporation | Transport stream packet header compression |
JP2012244196A (ja) * | 2011-05-13 | 2012-12-10 | Sony Corp | 画像処理装置及び方法 |
US9167020B2 (en) * | 2011-06-10 | 2015-10-20 | Microsoft Technology Licensing, Llc | Web-browser based desktop and application remoting solution |
-
2012
- 2012-11-13 US US13/675,849 patent/US9189884B2/en active Active
-
2013
- 2013-10-03 WO PCT/US2013/063236 patent/WO2014077968A1/en active Application Filing
- 2013-10-03 EP EP13777417.0A patent/EP2920764A1/en not_active Ceased
- 2013-10-03 CN CN201380065870.0A patent/CN104871213B/zh active Active
-
2015
- 2015-10-12 US US14/880,411 patent/US9984495B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1158057A (zh) * | 1995-12-27 | 1997-08-27 | 三星电子株式会社 | 运动图象编码方法及其装置 |
CN1177259A (zh) * | 1996-05-29 | 1998-03-25 | 三星电子株式会社 | 包含随机目标对象的活动图象的编码和解码系统 |
CN1404016A (zh) * | 2002-10-18 | 2003-03-19 | 清华大学 | 融合多视角、多线索二维信息的人脸三维模型的建立方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2920764A1 (en) | 2015-09-23 |
WO2014077968A1 (en) | 2014-05-22 |
US9189884B2 (en) | 2015-11-17 |
US20140132594A1 (en) | 2014-05-15 |
CN104871213A (zh) | 2015-08-26 |
US20160042555A1 (en) | 2016-02-11 |
US9984495B2 (en) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104871213B (zh) | 对于对象的全方位视图的视频编码 | |
US10007413B2 (en) | Mixed environment display of attached control elements | |
CN1327328C (zh) | 三维运动图形用户接口和提供其的方法和设备 | |
JP6458371B2 (ja) | 3次元モデルのためのテクスチャデータを取得する方法、ポータブル電子デバイス、及びプログラム | |
KR20220035380A (ko) | 증강 현실 장면들을 위한 시스템 및 방법 | |
JP5632073B2 (ja) | 拡張現実のための装置および方法 | |
KR101903802B1 (ko) | 맥락 정보를 사용하여 스트리트 뷰 이미지에 주석을 다는 기술 | |
CA2918687C (en) | System and method for multi-angle videos | |
US8773424B2 (en) | User interfaces for interacting with top-down maps of reconstructed 3-D scences | |
US20180033208A1 (en) | Telelocation: location sharing for users in augmented and virtual reality environments | |
US20140152869A1 (en) | Methods and Systems for Social Overlay Visualization | |
AU2013219082A1 (en) | Image processing device, and computer program product | |
CN105452811A (zh) | 用于显示地图的用户终端设备及其方法 | |
CN105321142B (zh) | 经由计算流水线进行的采样、错误管理和/或上下文切换 | |
CN110138831A (zh) | 一种进行远程协助的方法与设备 | |
US11776211B2 (en) | Rendering three-dimensional models on mobile devices | |
US11321886B2 (en) | Apparatus and associated methods | |
US20200065052A1 (en) | Enhanced techniques for merging content from separate computing devices | |
CN116883563B (zh) | 标注点渲染方法、装置、计算机设备、存储介质 | |
US20230196627A1 (en) | Anti-aliasing by encoding primitive edge representations | |
US20210031108A1 (en) | Occlusion in mobile client rendered augmented reality environments | |
CN109923540A (zh) | 实时记录用于修改动画的手势和/或声音 | |
Rooney et al. | HiReD: a high-resolution multi-window visualisation environment for cluster-driven displays | |
Jung et al. | Fast and efficient vertex data representations for the web | |
US20170337903A1 (en) | Oriented image encoding, tranmission, decoding and displaying |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |