CN112702525A - 用于编码宽视图视频的球面旋转 - Google Patents

用于编码宽视图视频的球面旋转 Download PDF

Info

Publication number
CN112702525A
CN112702525A CN202011568062.4A CN202011568062A CN112702525A CN 112702525 A CN112702525 A CN 112702525A CN 202011568062 A CN202011568062 A CN 202011568062A CN 112702525 A CN112702525 A CN 112702525A
Authority
CN
China
Prior art keywords
rotation
sphere
video
yaw
roll
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.)
Granted
Application number
CN202011568062.4A
Other languages
English (en)
Other versions
CN112702525B (zh
Inventor
吉尔·M·博伊斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN112702525A publication Critical patent/CN112702525A/zh
Application granted granted Critical
Publication of CN112702525B publication Critical patent/CN112702525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/363Image reproducers using image projection screens
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
    • H04N13/393Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume the volume being generated by a moving, e.g. vibrating or rotating, surface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

提供了用于编码宽视图视频的球面旋转。描述了用于对诸如球面或半球面视频之类的具有宽视场的视频进行编码的球面旋转。一个示例涉及接收包括旋转取向元数据的经编码的视频、对该视频进行解码、提取旋转取向元数据、基于旋转取向元数据对经解码的视频进行旋转、生成经旋转的经解码的视频的视图、以及缓冲所生成的视图以用于显示。

Description

用于编码宽视图视频的球面旋转
本申请是申请日为2017年11月15日、题为“用于编码宽视图视频的球面旋转”的中国发明专利申请No.201780067678.3(PCT国际申请PCT/US2017/061714)的分案申请。
相关申请的交叉引用
本申请要求2016年11月17日递交的题为“SPHERICAL ROTATION FOR IMPROVEDPANORAMIC VIDEO CODING EFFICIENCY(用于提高全景视频编码效率的球面旋转)”的美国临时申请序列号62/423,319的优先权,其公开内容通过引用结合于此。
技术领域
本说明书涉及对经编码的视频的传送,并且具体地,涉及随视频传送视频的球面旋转。
发明内容
本申请的一个方面提供了一种解码器,包括:第一电路,用于进行以下操作:生成与视频相关联的球面旋转补充增强信息消息,所述球面旋转补充增强信息消息包括关于旋转角度偏航(α)、俯仰(β)、和滚转(γ)的信息,所述旋转角度偏航(α)、俯仰(β)、和滚转(γ)被用于进行全局坐标轴和局部坐标轴之间的转换,其中,滚转对应于绕x轴的旋转,俯仰对应于绕y轴的旋转,并且偏航对应于绕z轴的旋转,所述球面旋转补充增强信息消息包括:球面旋转取消标志(sphere_rotation_cancel_flag),其中,所述sphere_rotation_cancel_flag等于1表示所述球面旋转补充增强信息消息取消任何先前球面旋转补充增强信息消息的持续;球面旋转持续标志(sphere_rotation_persistence_flag),所述sphere_rotation_persistence_flag指定所述球面旋转补充增强信息消息针对当前层的持续,其中,所述sphere_rotation_persistence_flag等于0用于指定所述球面旋转补充增强信息消息仅应用于当前解码的图片,其中,所述sphere_rotation_persistence_flag等于1指定:所述球面旋转补充增强信息消息针对所述当前层持续,直到一个或多个条件被满足,以及,以下各项中的至少一项:偏航_旋转(yaw_rotation),其中,yaw_rotation指定偏航旋转角度的值,其中,yaw_rotation为0表示没有偏航旋转,俯仰_旋转(pitch_rotation),其中,pitch_rotation指定俯仰旋转角度的值,其中,0表示没有俯仰旋转,或者滚转_旋转(roll_rotation),其中,roll_rotation指定滚转旋转角度的值,其中roll_rotation为0表示没有滚转旋转;以及第二电路,用于输出所述球面旋转补充增强信息消息。
背景技术
随着低成本高清摄像机和高速互联网连通的出现,视频互联网流量迅速增长。360度视频是虚拟现实、视频会议、汽车和监控应用等领域的一种新兴趋势,并且受到包括180度和360度视场相机的宽视场相机的支持。专门的网站和频道也可用于发布和观看包括虚拟现实内容的360度视频。对于用户组之间的协作,360度视频提供了更大的灵活性。不同于在相机之间进行切换,远程观看者可以使用360度视图跨房间移动,并且放大相机的视图中的感兴趣的人或对象。
使用虚拟现实(VR)头戴式显示器的全景视频播放系统正在兴起,以供消费者使用。通常通过将由多个摄像机捕获的2D视频拼接成球面表示(representation)来创建全景和360度视频内容。在某些情况下,在软件中对多个视图进行渲染。然后将球面视频投影成适合于视频编码的格式,例如等距矩形(equi-rectangular)投影格式或立方体贴图(cubemap)投影格式。
在客户端处,接收并解码包含全部全景压缩视频帧的比特流,从而创建整个全景视场的表示。选择整个视场的较小部分进行显示。该部分称为视口,它是用户在任一时间可以看到的唯一部分。它可以是整个视场的大部分或小部分。经解码的视频的由视口表示的部分由头戴式显示器的头部位置确定,或者在常规2D显示器上观看时通过位置选择用户界面确定。换言之,视口的位置由观看者正在观看或指向的位置确定。还可以存在缩放功能,就此而言,视口的视场和分辨率也由用户确定。
附图说明
在附图中通过示例的方式而非限制的方式示出了本文所述的材料。为了说明的简单和清晰,图中所示的元素不一定按比例绘制。例如,为了清晰起见,一些元素的尺寸可能相对于其他元素被放大。
图1是根据实施例的全景视频编码系统的框图。
图2是根据实施例的替代的全景视频编码系统的框图。
图3是示出了俯仰、偏航和滚转的旋转取向的三轴笛卡尔坐标系的图示。
图4是从球面到平面的等距矩形格式投影图。
图5是立方体贴图投影的图,其中球面被投影到标记为0到5的六个平面上。
图6是4×3平面网格的图示,其具有六个立方体贴图投影面。
图7是2×3平面网格的图示,其具有为了紧凑而重新排列的六个立方体贴图投影面。
图8是从球面到平面的二十面体格式投影的图。
图9是根据实施例的在没有旋转的情况下两个对象从球面到平面的等距矩形格式投影的图。
图10是根据实施例的在有旋转的情况下两个对象从球面到平面的等距矩形格式投影的图。
图11是根据实施例的供编码和观看的视频的球面旋转的流程图。
图12是适用于实施例的具有连接的计算资源的头戴式显示器的框图。
图13是根据实施例的适用于视频捕获、编码、解码和显示的计算设备的框图。
具体实施方式
球面投影格式相对于球面表示引入了不连续和失真的视频内容。不连续和失真的视频内容的区域难以使用诸如HEVC和AVC之类的传统视频编解码器来压缩。如本文所述,当使用传统视频编解码器对全景视频内容进行编码时,视频编码效率得到提升。这改善了视频质量和用户体验。
通过考虑投影格式和视频帧的区域之间的关系,至少部分地提升了全景视频编码效率。编码相同质量的全景视频序列需要较少的比特,并且主观伪像较少。在一些实施例中,可以定义新的补充增强信息(SEI)消息来指示球面旋转,然而,可以替代地使用其他消息结构。可以使用球面旋转能力以及这样的消息来提高视频编码效率。
使用恒定的量化值,不同的球面取向可以产生不同的经编码的视频比特流比特率。当对平面场景进行编码并且当场景具有高运动或高纹理的小区域时,当该小区域在平面场景中居中(center)时,视频编码最为高效。当对球面或宽视图场景的平面投影进行编码时,该居中功能也适用。如本文所述,可以在投影之前对场景的球面进行旋转。利用这种方式,在不对编码器进行任何改变的情况下提高了编码效率。可以通过确定性过程来选择球面旋转量,即:检测全景帧中高运动和/或高纹理的区域,然后在投影到矩形帧之前使这些区域位于球面上特定位置的中心。替代地,可以通过“后验”处理,通过尝试几个不同的球面取向值、对不同的取向值进行编码、以及确定哪个取向产生最低比特率来选择球面旋转量。
图1是全景视频编码系统的框图。在服务器、产生系统或不同系统的组合102处产生视频。在服务器处,多个摄像机106捕获2D视频。显示了六个摄像机,但是可以使用更多或更少的摄像机。摄像机连接到第一模块108。在第一模块处,将多个视频拼接在一起并将其绘制为投影格式。投影格式的拼接视频被输入到视频编码器110,例如,HEVC或AVC。编码器对视频进行编码,并将其作为比特流发送或缓冲以供稍后的传输。缓冲器可以是编码器或另一组件的一部分。
通过网络、互联网、广播或点对点连接112将经编码的视频作为比特流从服务器或头端发送到一个或多个客户端104。在客户端处,视频解码器114从服务器接收视频并解码压缩的比特流。当只查看经解码的视频的一部分时,在视口模块116中为所选区域生成视口。经解码的视频的要观看的部分是由位置选择器120使用例如头戴式显示器的头部位置或位置选择用户界面确定的。该位置被发送到视口生成器,该视口生成器接收经解码的视频,并且向显示器118提供适合的视频流。该显示器允许在常规2D显示器上查看视口。
图2是替代的全景视频编码系统的框图。在服务器202、产生系统或不同系统的组合处产生视频。在一些情况下,多个摄像机206捕获2D视频并将其提供给第一拼接和投影模块208。在该模块中的缓冲器中存储多个视频,在该模块处将其拼接在一起并绘制到投影格式。投影格式的拼接的视频被输入到视频编码器210,例如,HEVC或AVC。
球面旋转取向选择器212,潜在地针对每个视频帧,基于估计该帧的哪些区域将是最难编码的,来确定全景视频的旋转取向。该难点可用于定位投影格式引入的失真和不连续性最小的困难区域。
选择器在球面旋转器214中应用球面旋转。旋转器214根据所选择的取向旋转投影格式的拼接视频的球面投影。经旋转的视频被输入到视频编码器210。编码器还从选择器接收取向选择216。然后使用该信息对经编码的视频进行编码。在本发明的实施例中,旋转取向选择器和球面旋转器可被合并到拼接器中或编码器中。选择器还可以生成表示球面旋转取向的元数据。旋转取向元数据216被添加到编码器的视频比特流输出。它可以以SEI消息的形式或以其他形式被添加。旋转取向元数据与帧相关联,因此可以以每帧一次的频率进行更新。
经编码的视频可被存储在编码器缓冲器或连接的存储器中供稍后使用,或者作为比特流通过诸如网络、因特网、广播或点对点链路之类的数据链路218立即从服务器202或头端发送到一个或多个客户端204。在客户端处,视频解码器224从服务器接收视频。视频可以存储在解码器缓冲器中。缓冲器对经压缩的比特流218进行解码并提取任何SEI消息。这些消息包括旋转取向元数据216。如上所述,旋转取向元数据可以以另一种形式被包含在内。在视频解码之后,将经解码的视频应用于球面旋转器222。还从解码器224向旋转器提供旋转取向元数据220。旋转器对经解码的视频应用在编码之前应用的球面旋转过程的逆过程。
视口生成器226接收经解码和旋转的视频,并向显示器228提供合适的视频流。在客户端处,观看者可使用位置选择230或其他传感器选择视口。视口模块接收针对视频所选择的视口,并相应地调整视图以用于显示。然后生成视口并将其直接发送到显示器228以供观看。在一些实施例中,存储具有所生成的视口的视频以供稍后观看。视频存储器可以位于视口生成器或相关组件的缓冲器或存储器中。然后可以稍后或立即将视频发送到显示器供用户观看。
表示来自旋转取向选择器、解码器或位置传感器的旋转取向的元数据可以包含三个或更多个参数,包括俯仰、偏航和滚转。图3是三轴笛卡尔坐标系240的示意图,示出了俯仰254、偏航256和滚转151的旋转取向。三个轴是x轴242、y轴244和z轴246。旋转方向是从参考系原点来看,围绕每个轴的顺时针旋转。滚转是围绕x轴的。俯仰是围绕y轴的,并且偏航是围绕z轴的。轴可以有不同的名称,例如,水平、竖直或深度或任何其他适合的名称。方位角、仰角和倾角对应于原点与从原点到原点周围球面上的位置的射线之间的角度。虽然本实施例是围绕笛卡尔坐标系的轴旋转的形式,可以使用其他类型的坐标系和投影以任何其他期望的方式来表示球面投影的旋转。
该元数据可被包括在补充增强信息(SEI)消息中,如在HEVC和AVC标准中所使用的。使用SEI消息允许使用传统编码器和解码器,因为标准的编码和解码过程不变。取决于特定的实施方式,旋转可被应用为在发送器202处的初步处理214和在接收器204处的后期处理222或过程中的其他位置。后期处理的球面旋转被应用于解码器的输出图像。
作为SEI和元数据的替代,旋转取向元数据可被包括在视频编解码器中的或“切片(slice)”头部中的参数集中。在这种情况下,可以改变一致输出图片的定义,从而在输出图片之前应用反向球面旋转。
无论采用哪种元数据信令方法,逆球面旋转函数的应用都可以与视口生成过程相结合,而很少有额外的客户端复杂度。
Figure BDA0002861587430000071
表1
表1是作为可以用于旋转取向的元数据参数的示例的SEI消息的语法的示例。该元数据具有指示是否应用球面取向以及是否提供绝对或相对方向的标志。如上所述,当感兴趣的区域位于失真高的投影的边缘时,球面取向变化是最有用的。在一些实施方式中,对于靠近投影的中心的区域,球面取向不会改变。元数据还包含针对绝对的和相对的这两种不同类型的球面取向的俯仰、偏航和滚转中的一个或多个。也可以以各种不同的单位中的任何一种(例如,度、弧度或线性距离)来提供俯仰、偏航和滚转。可以使用实际值或分数值。这些值可以用固定长度代码或可变长度代码编码,并且可以是等分步长或缩放步长。标志可以用于通过忽略任何未使用的元数据来允许球面取向模块更快地工作。
Figure BDA0002861587430000081
表2
表2是可用于发送关于球面旋转信息的元数据参数的SEI消息的语法的替代示例。在此示例中,相对的或绝对的旋转选项被移除,因此语法仅包含球面旋转标志,然后包含偏航、俯仰和滚转值。根据上下文,这些值可以是相对值、绝对值或其他类型的值。
如表1和表2所示,球面取向或球面旋转SEI消息提供关于用于全局坐标轴和局部坐标轴之间的转换的旋转角度偏航(α)、俯仰(β)和滚转(γ)的信息。
在一些实施例中,将sphere_rotation_cancel_flag设置为等于1指示SEI消息以输出顺序取消任何先前球面旋转SEI消息的持续。将sphere_rotation_cancel_flag设置为0表示后面是球面旋转信息。
sphere_rotation_persistence_flag可用于指定当前层的球面旋转SEI消息的持续。因此,在一些实施例中,将sphere_rotation_persistence_flag设置为等于0指定球面旋转SEI消息仅应用于当前解码的图像。
考虑一个示例,其中picA是当前图片。sphere_rotation_persistence_flag等于1指定球面旋转SEI消息按输出顺序针对当前层持续,直到满足以下一个或多个条件为止:
-当前层的新CLVS(逐编码层视频序列(Coded Layer-Wise Video Sequence))开始。
-比特流结束。
-紧接在调用picB的图像顺序计数的解码过程之后,输出访问单元中当前层中的图片picB,该访问单元包含适用于当前层的球面旋转SEI消息,其中PicOrderCnt(picB)大于PicOrderCnt(picA),其中PicOrderCnt(picB)和PicOrderCnt(picA)分别是picB和picA的PicOrderCntVal值。
sphere_rotation_reserved_zero_6bits在此示例中保留,并且可用于指示比特流类型、规范的版本或用于其他目的。
yaw_rotation指定偏航旋转角度的值。在一些实施例中,旋转可以指示为2°至16°的单位。yaw_rotation的值可以是范围受限的(例如,-120°至+120°)以减少比特数。可以使用0或缺省值来指示不存在旋转。
pitch_rotation指定俯仰旋转角度的值,roll_rotation指定滚动旋转角度的值。这些值可以用相同或不同的方式以相同或不同的可能值表示。
可以针对整个经编码的视频序列和/或每帧发送球面旋转取向元数据。发信号指示的值(即元数据中的俯仰、滚转和偏航参数)指示如何将球面旋转应用于解码器之后的输出图像。在许多情况下,参数将是在编码器处应用的旋转的逆。
可以针对球面旋转取向发送绝对值和相对值。可以发信号指示相对于绝对位置的相对取向值,并且相对取向值可以逐帧改变。对于用移动摄像机捕获的内容,绝对取向值可以反映移动摄像机的方向,而相对取向可以基于移动对象的位置来选择。在客户端处,可以在执行球面旋转之前组合绝对和相对取向值。
这里描述的球面取向和元数据可以与用于编码的任何投影格式(例如,等距矩形投影、立方体贴图投影、八面体投影、二十面体投影、截方形棱锥投影等)一起使用。旋转应用于球面表示而不是直接应用于投影格式像素。如果经编码的图像包含一致性裁剪(cropping),则在进行一致性裁剪操作之后应用旋转。
选择旋转取向元数据值的过程取决于所使用的特定投影格式,因为在投影绘图期间引入的不连续性和失真基于投影格式而变化。
图4是等距矩形格式投影的图示。在左侧示出了原始球面视图266,并且在右侧示出了该球面在非环绕平面网格上的投影260。在右侧上,在矩形平面帧260的左262和右264边缘处引入间断。对左侧的真实球面表示而言,左边缘和右边缘是连接的。此外,显著的扭曲使得沿着右侧的帧的顶部和底部的像素失真。这与左侧上的北极和南极区域相对应。特定的建议的视口可以跨过等距矩形格式的左右边缘,并因此将对应于编码投影格式帧中的两个不同区域。类似地,特定的建议的视口可以跨过顶部边缘的不同部分并且失真。
使用空间方向内预测和块平移运动补偿的当前的视频编码标准将在等距矩形预测的中心附近比在极点附近或沿着左右边缘处执行得更好。使用空间内方向位置或利用运动补偿,将无法很好地预测横跨左/右边缘间断的对象。
在立方体贴图投影中,将六个立方体面排列成矩形帧。图5是立方体贴图投影的图示,其中球面被投影到标记为0到5的六个平面上。6个面中的每个面被投影到球面的一部分上。然后,这些面可以被表示在平面网格上。图6示出了六个面的4×3平面布局,其中投影的相邻区域彼此靠近地放置。如图所示,面1和2、面1和3、面1和4、面4和0以及面0和5之间的边界保持相邻。然而,没有其他边界彼此相邻地放置,如它们在图6中所示。替代地,可以将面2和3移动到面4、5或0的任一侧以保持这些边界。虽然平面网格表示非常适合于许多编解码器和其他数字处理和压缩系统,但图6的平面帧中有些区域不包含表示立方体的像素。这些是面4、5和0上方和下方的区域。这些面可以被设置为背景色,但需要一些数据来进行编码。图7示出了3×2平面布局,其中立方体面已被重新排列为适应更紧凑的布局。图7的表示可能需要处理边缘的一些额外的复杂性,但像素数量从4×3减少一半到3×2。
用于编码立方体贴图投影格式的旋转取向的选择将取决于所选择的特定布局,因为投影格式在间断的数量和位置上有所不同。每个立方体面的边缘区域比立方体面的中心区域有更多的失真。对旋转取向进行选择应特别试图尽量减少跨越立方体面边缘的间断的对象。包含具有边缘的面的其它投影格式也会引入类似的间断和失真。
图8是二十面体投影的图示。这是使用二十面体从球面表示到平面表示的另一种类型的投影。在该示例中,左侧示出了球面280,其被投影到周围的二十面体的20个小面上,而不是图5的立方体贴图的仅六个小面上。然后,20个小面被示出为位于右侧上的二维空间282上。与其他投影一样,每个小面的边缘处都存在失真和不一致。使用更多的小面减少了变形量,但增加了接缝的数量和位置。
还可以使用如上所述的包括八面体、截方形棱锥和任何各种其他类型的多边形投影的任何各种其他投影。随着小面的增加,每个小面的失真减少,但复杂性可能增加,并且避免边缘可能更困难。
在一些实施例中,作为编码过程的一部分,可以选择球面旋转取向。在一些实施例中,可以通过尝试若干不同的取向值、用恒定的量化值编码不同的取向值、以及确定哪个取向产生最低的比特率,经由“后验”过程来选择球面取向。在一些实施例中,层级方法可与该途径一起使用,从而对帧的下采样版本进行编码,而不是对全分辨率帧进行编码。
在一些实施例中,通过首先针对以不同旋转值旋转的投影的平面投影对视频进行编码来相应地选择旋转值。这产生多个视频样本,每个旋转值一个视频样本。可以在编码之前对球面或球面的平面投影或两者进行下采样。测量并比较每个经编码的视频样本的比特率以确定哪个视频样本具有最低比特率。然后,选择与具有最低比特率的经编码的视频相对应的旋转值作为用于对视频进行编码的旋转值。可以针对球面视频的性质的每个显著变化或每个场景变化重复这样的确定。
可替代的途径是在全景帧中检测高运动和/或高纹理的区域,并且根据所使用的投影格式,使这些区域在等距矩形帧中或在立方体面中居中。然后,所选择的旋转是将高运动区域放置在平面投影的中心处的旋转。使用投影的特征,平面投影的中心可以对应于球面上的特定位置或区域。这可以允许直接将旋转选为球面上的特定位置。
如上所述的SEI消息可以与球面选择的视口SEI消息结合使用。当同时使用两个SEI消息时,可以首先应用由球面旋转信息方向SEI消息建议的旋转,然后应用来自相对于经旋转的球面表示确定的建议视口SEI消息的建议视口位置。
如果视频帧内包含帧分组的立体视频,则可以为每个视图单独发送取向值,或者基于第一视图的值导出第二视图的值,可能将关于第二视图相对于第一视图的相对位置的任何信息考虑在内。
图9是具有全景多相机视图的球面302和该球面在平面304上的等距矩形投影的图示。在该示例中,视频内容在球面中被表示为椭圆形314、316和三角形312。椭圆形的两部分314、316代表从全景视图的两侧上看的同一椭圆形。这些对象被投影到等距矩形绘图304中并且被显示为同一椭圆形324、326的两部分和三角形322。在等距矩形绘图中,椭圆具有跨左右边缘的间断324、326。由于靠近北极,它还被水平延展。
图10是球面334以及在将球面旋转应用于该球面之后的相同内容的等距矩形绘图336的图示。经旋转的球面的椭圆形332现在更靠近帧的中心。三角形330与椭圆一样靠近中心,因此两个对象的失真将大致相同。在等距矩形投影中,每个二维对象都失真。失真量随着距中心的距离的增大而增大。如经旋转的球面334所示,与没有旋转的相同球面302相比,椭圆形中不再存在间断。由于椭圆形更接近帧的中心,所以失真也更少。三角形也得到了改进,但并不显著。投影的平面网格336使得其更加清楚,因为所投影的椭圆形340和所投影的三角形338靠近网格的中间(其中失真更少),并且旋转之前的投影304的椭圆形不是在一部分中而是在两部分中。与使用未经旋转的帧的视频相比,基于帧的旋转进行编码的视频应当更有效地由传统视频编码器编码。
回到图2,独特的结构和配置改善了用户对全景视频、360°视频、VR视频系统和任何其他使用投影的宽视场系统的体验。根据上述球面到矩形绘图的描述,可以更好地理解该结构的操作。
在服务器或发送侧202上,投影绘图208接收宽视场视频。在图中,从多个摄像机206接收视频,因此绘图模块208或另一个视频拼接器将来自多个相机的视频拼接在一起以产生单个宽视场视频。在其他情况下,视频可被预先存储并然后被取回以进行编码,或者可以由图形系统基于软件和用户输入来生成视频中的一些或全部视频。视频输入可以包括模拟或虚拟世界,或者可以将虚拟和真实部分组合在一起。视频可以是180°、360°、全景或任何其他宽视场。视频可以具有比竖直视场宽的水平视场。
然后将无论如何生成或接收的完整拼接在一起的宽视场视频绘制到平面投影中。可以使用各种不同的投影。示出和描述了等距矩形投影、球面立方体投影和二十面体投影,但也可能有其他投影。
在本文所示的示例中,视频是球面的,并且旋转被称为球面旋转,然而不要求是完整的球面。视频可只包含球面的一部分。上面提到的180°视场只是球面的一半。视场可以在水平和竖直两个方向上减小,来只显示球面的一部分。另一方面,视场是以球面的一部分的方式弯曲的。这允许图像在各个方向上与观看者保持相同的距离。
然后,使用任何期望类型的几何结构(包括以上示出的示例)将该曲面图像投影到平面上。虽然曲面视场作为球面的一部分的全部或部分没有内在失真,但这种弯曲表面的平面投影确实有失真。然而,平面投影非常适合于编码、压缩和其他图像处理。
在绘制视频之前,进行分析212以选择投影的适当旋转。进行该选择以使得重要区域或感兴趣的区域不在平面投影的边际或边缘上。这减少了用户可能注意到的失真和其他影响。在一些实施例中,例如,在虚拟现实中,通过用户界面230或一些其他控制实体从用户接收视口。视口指示宽视场视频的哪一部分将位于显示器228上的用户的视场中,并从而位于用户视场的中间。在其他实施例中,存在感兴趣的区域或范围。该区域或范围可能有说话者、人物、新出现的对象、或者其他一些使其比其他区域更重要的特征。然后,可以选择此区域或范围作为最重要的区域,与视口相对应。感兴趣的区域可以在头端处由视频编辑器确定并传送给选择器212,或者可以由用户通过界面230进行选择。
然后由旋转选择器212将所接收或生成的视口与平面投影的边缘进行比较。如果视口靠近投影的边缘,则选择旋转以使视口远离平面投影的边缘。当对视频进行编码210时,将该旋转应用于视频,以消除或减少投影固有的失真。可以通过将视口的边缘与平面投影的边缘进行比较来确定旋转量。如果边缘太靠近(例如通过预定的距离阈值测量得出),则选择旋转以将视口的边缘从投影的边缘移开至少预定距离。该距离可以是同一预定阈值距离或另一阈值距离。
可以以许多不同的方式表达旋转距离。在球面坐标系中,滚转、俯仰和偏航用于表示球面上的位置。可以使用这些中的一个或多个,或者可以参考投影使用笛卡尔坐标,例如,竖直和水平坐标。对于滚转、俯仰和偏航,不需要三个全部被使用。可能只需要一个来将感兴趣的区域从极点移开。第二坐标可以用于指示距左、右接缝边缘的距离。滚转、俯仰和偏航的旋转信息可被表示为角度。在一些实施例中,旋转的角度将相对于视频的原始取向。另外,元数据中可以包括视频的绝对取向。绝对取向反映相机的取向或者在存在相机阵列时反映多个相机中的一个或多个相机的取向。根据具体的实施方式,可以使用相对方向、绝对方向或两者。
在确定旋转之后,球面旋转选择器212生成描述所选择的旋转的旋转取向元数据216。这被提供给球面旋转器214,以用于基于所选择的旋转来旋转投影。元数据还被提供给编码器210,以使得经旋转的投影被编码为包括旋转取向元数据的经编码的视频。然后发送、缓冲或存储218具有元数据的经旋转的经编码的视频,使得它可以作为经编码的视频被提供用于显示。对于许多类型的编码(例如,HEVC和AVC),可以使用SEI消息,例如上述SEI消息,但是本发明并未如此限制。
可以针对视频的每一帧或针对感兴趣区域在其中移动的每一帧来选择旋转量。将SEI消息联结到特定的帧,以使得感兴趣的区域已经在其中移动的每一帧都可以有其自身的视口消息。在一些情况下,消息可以是要取消针对下一组帧的所有旋转,直到接收到新消息为止。这允许用不同的SEI消息标记每个场景和感兴趣的区域变化以改变相应帧的取向。
在接收器或客户端侧204,从服务器或广播器202接收包括元数据216(例如SEI消息)的经编码的视频218。客户端具有对视频进行解码并提取旋转取向元数据220的解码器224。然后,可以基于旋转取向元数据来旋转222经解码的视频。可以通过俯仰、滚转和偏航角或以某种其他方式确定旋转。然后将经旋转的视频提供给诸如头戴式视图器、3D监视器或2D显示器之类的显示器228,以供用户观看。对于许多应用,将存在由用户选择的视口。这可以通过传统的用户输入设备230或通过一些其他传感器来完成。对于VR头戴式视图器,可以检测头戴式视图器或用户眼睛的移动,并且基于用户正在看的位置确定视口。然后,视口生成器226生成经旋转的经解码的视频的视图。
如上所述,所接收到的经编码的视频是从多个相机接收的或由图形系统生成的宽视场的投影。该投影可以是等距矩形投影或任何其他适合的平面投影。许多视频编码系统允许元数据(例如,SEI消息)与经编码的视频的特定帧相关联。因此,当解码器发现新的SEI视口消息时,可以命令视口生成器使用新消息改变对应帧的视口。然后可以维持视口,直到出现下一条消息为止。因此,可以针对经编码的视频的另外的帧接收另外的元数据。
图11是示出由本文描述的硬件执行的操作的流程图。操作包括随视频发送旋转信息,并在接收视频后提取和使用该旋转信息。该过程在服务器、播送器、制作者或头端终端或台站处以在缓冲器处接收404宽视场视频开始。可以以各种不同的方式产生该视频。在一些情况下,在402处,将来自多个相机视频源的视频拼接在一起以产生单个宽视场视频。这些相机可以是本地的或远程的,并且可以实时地接收视频或者可以在短期或长期存储后从存储装置接收视频。在其他情况下,可以使用单个宽视场相机。视场可以与当前可用的相机的半圆或全圆一样宽。
在406处,将视频绘制到平面投影中。这通常在投影绘制模块中完成,该投影绘制模块具有并行工作以影响所接收的球面输入视频的每个像素的专用硬件资源。上面描述了几种不同类型的投影,但是也可以替代地使用其他投影。平面投影允许使用被设计用于较窄的视野并具有平面图像流的通常可用的编码系统对全景或宽视图视频进行编码和解码。
在408处,针对投影选择旋转。旋转可以来自客户端侧上的期望特定视口的用户。旋转可以来自确定特定视口更重要或更适合于视频的预期用途或体验的编辑者、制作者或发布者。旋转允许将视口移动到具有低失真的投影部分。通常,移动视口远离具有高失真的投影的边缘和接缝。特定的移动量和类型将取决于投影的类型,因为不同的投影在不同的位置具有不同的失真量。旋转可以用相对或绝对旋转表示,并且可以用不同类型的单位表示。图3示出了俯仰、偏航和滚转,但可能不需要所有这些值,并且可以使用诸如角度、距离、纬度和经度之类的其他类型的坐标。作为示例,可以仅使用俯仰和偏航来旋转球面。
在已经选择了旋转量之后,在410处生成旋转取向元数据以描述所选择的旋转。该元数据可以具有各种不同的格式。上面描述了SEI消息,但是也可以替代地使用其他格式和配置。在412处,根据所选择的旋转并且如旋转元数据中所描述地来旋转投影。
在414处,将经旋转的投影编码为视频比特流。在416处,将旋转取向元数据包括在经编码的视频中。在418处,然后发送、存储或以其他方式处理经编码和旋转的视频。通常,存储视频以立即或稍后传递给远程观看者,然而,也可以在本地观看视频。
在发送视频之后,该过程可以在客户端处或用户侧继续以接收和使用经旋转的视频。由于视频包括关于其如何被旋转的指示,因此可以以经旋转的配置对其进行解码和显示,或者可以逆转旋转,并且可以在显示视频时使用不同的视口。客户端侧处理在422处以接收包括旋转取向元数据的经编码的视频开始。这可以是以任何期望格式的上述SEI或任何其他类型的所包括的元数据。在424处,对视频进行解码。在426处,提取旋转取向元数据。在428处,基于旋转取向元数据旋转经解码的视频。然后在430处使用经旋转的视频生成经旋转的经解码的视频的视图,然后在432处缓冲该视图以用于显示。
所接收的视频在该视频被编码之前已在服务器侧被旋转。可以以该特定旋转显示视频而无需任何额外旋转。然后,根据用户命令将视口应用于经旋转的视频。通过在编码之前首先旋转视频,避免了总视场的最关键部分的平面投影的失真。当用户接收视频并对其进行解码时,可以将其从解码的平面版本转换回球面投影。旋转SEI允许客户端侧系统确定球面视频的原始取向。这允许用户体验被恰当地定向。如果用户命令不同于在服务器侧选择的视口的视口,则系统可以基于恰当地定向的球面投影准确地应用该视口。
图12是具有多个远程信息源的高性能HMD(头戴式显示器)的图式。HMD 502具有主体504和附接带506。主体承载用户显示器和扬声器,以向佩戴者呈现虚拟世界。主体还具有惯性传感器、麦克风和其他用户输入设备。处理、通信和电源或电池套件允许HMD呈现视频和声音,并与系链计算机(tethered computer)510进行无线通信508。
用户通过头部和身体运动与虚拟世界交互,并且还可以使用语音命令、手势和其他用户输入设备进行交互。游戏控制器520可以通过相同的508无线接口或另一522无线接口耦合到系链计算机以提供额外的控制。HMD可以通过WiFi、WiDi或另一高速数字无线连接耦合到计算机,以从计算机接收经渲染或压缩的视频帧和音频,来向用户显示。还可以从计算机接收另外的描述、数据、参数和命令。HMD还可以通过同一或另一无线链路向计算机发送命令、控制和虚拟交互数据。例如,控制器可以通过蓝牙或未经许可的频段进行通信。可以组合多个无线接口以提供完整的用户体验。
在一些情况下,计算机是便携式的,并且由用户携带。如果需要,这允许有线连接。所携带的计算机可以有笔记本电脑、平板电脑、智能电话或任何其他期望的物理配置。在其他情况下,计算机是固定的,并使用有线连接附接到HMD。
计算机进而可以通过互联网、LAN(局域网)或其他连接514(有线的或无线的)连接到远程服务器516。远程服务器提供经编码的视频,并且可以提供关于虚拟世界的另外的信息。远程服务器还可以提供与正在体验相同或相关的虚拟世界的其他用户的通信。替代地,HMD可以直接与服务器通信,而不通过计算机510。在其他实施例中,不使用远程服务器,并且系链计算机独立工作。
在本文的示例中,无线HMD具有本地计算资源或客户端设备,例如可以耦合到GPU(图形处理单元)、图形处理器、存储器和其他资源的CPU(中央处理单元),以允许HMD存储和呈现所接收到的经编码的视频。本地呈现可以包括如上所述的旋转和视口生成,以及其他任务。
图13示出了根据一个实施方式的计算设备100。计算设备100容纳系统板42。板42可以包括多个组件,包括但不限于处理器44和至少一个通信封装46。通信封装耦合到一个或多个天线16。处理器44物理和电气地耦合到板42。
取决于其应用,计算设备100可以包括可以或可以不物理和电气地耦合到板42的其他组件。这些其他组件包括但不限于:易失性存储器(例如,DRAM)48、非易失性存储器(例如,ROM)49、闪速存储器(未示出)、图形处理器12、数字信号处理器(未示出)、加密处理器(未示出)、芯片组14、天线16、显示器18(例如,触摸屏显示器)、触摸屏控制器20、电池22、音频编解码器(未示出)、视频编解码器(未示出)、功率放大器24、全球定位系统(GPS)设备26、罗盘28、加速度器(未示出)、陀螺仪(未示出)、扬声器30、相机阵列32、麦克风阵列34和大容量存储设备(例如,硬盘驱动器)10、光盘(CD)(未示出)、数字多功能盘(DVD)(未示出)等。这些组件可以连接到系统板2、安装到系统板或与任何其他组件组合。
相机阵列可以耦合到图像芯片36并直接或通过图像芯片耦合到处理器44。图像芯片可以采用各种不同的形式,例如,图形协处理器、数字信号处理器(DSP)、图像信号处理器(ISP)或任何其他类型的单独专用成像管理模块。这样的设备或模块可以包括用于捕获、处理、编辑、压缩、存储、打印和/或显示一个或多个图像的逻辑、算法和/或指令。在一些实施例中,成像管理模块可以包括在成像应用程序或操作系统中被实现为软件的编程例程、功能和/或处理。在各种其他实施例中,图像处理可以被实现为独立芯片或集成电路,或被实现为包含在处理器内的电路、包含在图形芯片或其他集成电路或芯片内的电路、或包含在相机模块内的电路。上述技术可以被实现在处理器的图像芯片中,或者功能可以分布在不同的组件之间,这些组件可以包括相机、图像芯片、处理器和其他组件。
通信封装46实现了无线和/或有线通信,以用于将数据传输到计算设备100和从计算设备100传输数据。术语“无线”及其衍生词可以用于描述可以通过使用经调制的电磁辐射来经由非固体介质传送数据的电路、设备、系统、方法、技术、通信信道等。该术语并不意味着相关联的设备不包含任何线缆,尽管在一些实施例中它们可能不包含。通信封装46可以实现多种无线或有线标准或协议中的任何一种,包括但不限于Wi-Fi(IEEE 802.11族)、WiMax(IEEE 802.16族)、IEEE 802.20、长期演进(LTE)、Ev-DO、HSPA+、HSDPA+、HSUPA+、EDGE、GSM、GPRS、CDMA、TDMA、DECT、蓝牙、其以太网衍生物、以及被称为3G、4G、5G及更高版本的任何其他无线和有线协议。计算设备100可以包括多个通信封装46。例如,第一通信封装46可专用于诸如Wi-Fi和蓝牙之类的较短距离无线通信,并且第二通信封装6可专用于诸如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-DO及其他较长距离无线通信。
在各种实施方式中,计算设备100可以是膝上型电脑、上网本电脑、笔记本电脑、超级本电脑、智能电话、可穿戴设备、平板电脑、个人数字助理(PDA)、超移动PC、移动电话、台式计算机、服务器、打印机、扫描仪、显示器、机顶盒、娱乐控制单元、数码相机,便携式音乐播放器或数字录像机。计算设备可以是固定的、便携式的或可穿戴的。在另外的实施方式中,计算设备100可以是处理数据的任何其他电子设备。
摄像机阵列32可以是参考图1和图2或其他适合的配置描述的类型。相机阵列可以与计算设备100的其余部分一起被合并到同一外壳中,或者其可以是通过适合的有线或无线连接器附接的独立外围设备。在固定或便携式配置中,计算设备可以用作服务器设备、编辑设备或客户端设备。
实施例可以被实现为以下各项的一部分:使用母板、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)互连的一个或多个存储器芯片、控制器、CPU(中央处理单元)、微芯片或集成电路。
对“一个实施例”、“实施例”、“示例实施例”、“各种实施例”等的提及,指示这样描述的(一个或多个)实施例可以包括特定特征、结构或特性,但并非每个实施例都必须包括特定特征、结构或特性。此外,一些实施例可以具有针对其他实施例描述的特征中的一些、全部或没有这些特征。
在说明书和所附权利要求中,可以使用术语“耦合”以及其衍词。“耦合”用于指示两个或更多个元件协作或交互,但它们之间可以有或可以没有中间的物理或电气组件。
如权利要求书中所使用的,除非另有规定,否则使用序数形容词“第一”、“第二”、“第三”等来描述共同的元素,仅仅指示涉及相同的元素的不同实例,并且不意味着如此描述的元素必须按照给定的顺序(在时间上或空间上)、排名、或以任何其他方式。
附图和前面的描述给出了实施例的示例。本领域技术人员将理解,所述元素中的一个或多个可以被很好地组合成单个功能元素。替代地,某些元素可以分为多个功能元素。一个实施例中的元素可以被添加到另一个实施例中。例如,本文所述的处理的顺序可以改变,并且不限于本文所述的方式。此外,任何流程图的动作都不需要按照所示的顺序实现;也不需要执行所有动作。另外,不依赖于其他动作的那些动作可以与其他动作并行执行。实施例的范围决不受这些具体示例的限制。无论在说明书中是否明确给出,许多变型都是可能的,例如,结构、尺寸和材料使用方面的差异。实施例的范围至少与所附权利要求所给出的范围相同。不同实施例的各种特征可以用各种方式与所包括的一些特征和其他被排除的特征组合以适合各种不同应用。
一些实施例涉及一种方法,该方法包括:接收包括旋转取向元数据的经编码的视频,对所述视频进行解码,提取所述旋转取向元数据,基于所述旋转取向元数据对经解码的视频进行旋转,生成经旋转的经解码的视频的视图,以及缓冲所生成的视图以用于显示。
在其他实施例中,所接收的所述经编码的视频是宽视场的平面投影。
在其他实施例中,所述平面投影是等距矩形投影并且所述宽视场是全景的。
在其他实施例中,所述元数据被编码为补充增强信息消息。
在其他实施例中,所述元数据包括将应用于对所述经解码的视频进行旋转的俯仰、偏航和滚转中的至少一者。
在其他实施例中,所述元数据包括针对所述视频的相对取向的、以及针对所述视频的绝对取向的旋转信息。
在其他实施例中,所述相对取向是相对于所述绝对取向的,并且所述绝对取向反映相机的取向。
在其他实施例中,所述元数据与所接收的所述经编码的视频的帧相关联,所述方法包括针对所述经编码的视频的另外的帧接收另外的元数据。
在其他实施例中,所述元数据包括指示所接收的球面旋转不应用于所述另外的帧的球面旋转持续标志。
其他实施例包括生成经旋转的经解码视频的视图以在显示器上呈现。
一些实施例涉及机器可读介质,其上存储有指令,所述指令当被执行时,使得所述机器执行操作,所述操作包括:接收包括旋转取向元数据的经编码的视频,对所述视频进行解码,提取所述旋转取向元数据,基于所述旋转取向元数据对经解码的视频进行旋转,生成经旋转的经解码的视频的视图,以及缓冲所生成的视图以用于显示。
在其他实施例中,所述平面投影是立方体贴图投影并且所述宽视场是全景的。
一些实施例涉及一种装置,包括:视频解码器,用于接收包括旋转取向元数据的经编码的视频、对所述视频进行解码、以及提取所述旋转取向元数据,球面旋转器,用于基于所述旋转取向元数据对经解码的视频进行旋转,以及视口生成器,用于生成经旋转的经解码的视频的视图,并缓冲所生成的视图以用于显示。
其他实施例包括头戴式显示器,用于从用户接收视口选择并显示所生成的视图,其中所述视口生成器使用所接收的视口选择来生成所述视图。
一些实施例涉及一种方法,包括:在缓冲器处接收宽视场视频;选择针对平面投影的旋转;对所述宽视场视频进行旋转;生成描述所选择的旋转的旋转取向元数据;在投影绘图模块中将所述视频绘制到平面投影中以形成经旋转的投影;在视频编码器中将所述经旋转的投影编码为包括所述旋转取向元数据的经编码的视频;以及缓冲所述经编码的视频以用于显示。
在其他实施例中,所接收的宽视场视频是从多个相机接收的,所述方法还包括将来自多个相机的视频拼接在一起以产生单个宽视场视频。
在其他实施例中,对所述视频进行绘制包括将所述视频绘制到等距矩形投影中,并且其中,所述宽视场是全景的。
在其他实施例中,所述元数据被编码为补充增强信息消息。
在其他实施例中,所述元数据包括将在对所述经编码的视频进行解码时应用于对所述视频进行旋转的俯仰、偏航和滚转中的至少一者。
在其他实施例中,所述元数据包括针对所述视频的相对取向的、以及针对所述视频的绝对取向的旋转信息。
在其他实施例中,所述相对取向是相对于所述绝对取向的,并且所述绝对取向反映相机的取向。
其他实施例包括接收所述宽视场视频的视口,并且将所述视口与所述平面投影的边缘进行比较,其中,选择旋转包括选择将所述视口从所述平面投影的边缘移开至少预定距离的旋转。
在其他实施例中,对所述视口进行比较包括将所述视口的边缘与所述平面投影的边缘进行比较,并且其中,选择旋转包括选择将所述视口的边缘从所述平面投影的边缘移开至少预定距离的旋转。
在其他实施例中,选择旋转包括确定所述视频的高运动区域并选择将所述高运动区域放置在所述平面投影的中心的旋转。
在其他实施例中,选择旋转包括:针对以不同旋转值旋转的投影的平面投影对视频进行编码,比较所述经编码的视频的比特率并选择与具有最低比特率的经编码的视频相对应的旋转值。
一些实施例涉及一种机器可读介质,其上存储有指令,所述指令当被执行时,使得所述机器执行操作,所述操作包括:接收宽视场视频,选择针对平面投影的旋转,使用所选择的旋转对所述宽视场视频进行旋转,生成描述所选择的旋转的旋转取向元数据,将经旋转的视频绘制到所述平面投影以形成经旋转的投影,将所述经旋转的投影编码为包括所述旋转取向元数据的经编码的视频,以及缓冲所述经编码的视频以用于显示。
在其他实施例中,选择旋转包括确定所述视频的高运动区域并选择将所述高运动区域放置在所述平面投影的中心的旋转。
一些实施例涉及一种装置,所述装置包括:视频拼接器,用于生成宽视场视频并将所述视频存储在缓冲器中;旋转选择器,用于选择对所存储的视频的平面投影的旋转,并且生成描述所选择的旋转的旋转取向元数据;球面旋转器,用于对所述宽视场视频进行旋转;投影绘图器,用于将经旋转的视频绘制到所述平面投影中以形成经旋转的投影;视频编码器,用于在所述视频编码器中将经旋转的投影编码为包括旋转取向元数据的经编码的视频;以及缓冲器,用于存储所述经编码的视频以供显示。

Claims (16)

1.一种编码器,包括:
第一电路,用于进行以下操作:
生成与视频相关联的球面旋转补充增强信息消息,所述球面旋转补充增强信息消息包括关于旋转角度偏航(α)、俯仰(β)、和滚转(γ)的信息,所述旋转角度偏航(α)、俯仰(β)、和滚转(γ)被用于进行全局坐标轴和局部坐标轴之间的转换,其中,滚转对应于绕x轴的旋转,俯仰对应于绕y轴的旋转,并且偏航对应于绕z轴的旋转,所述球面旋转补充增强信息消息包括:
球面旋转取消标志(sphere_rotation_cancel_flag),其中,所述sphere_rotation_cancel_flag等于1表示所述球面旋转补充增强信息消息取消任何先前球面旋转补充增强信息消息的持续;
球面旋转持续标志(sphere_rotation_persistence_flag),所述sphere_rotation_persistence_flag指定所述球面旋转补充增强信息消息针对当前层的持续,其中,所述sphere_rotation_persistence_flag等于0用于指定所述球面旋转补充增强信息消息仅应用于当前解码的图片,其中,所述sphere_rotation_persistence_flag等于1指定:所述球面旋转补充增强信息消息针对所述当前层持续,直到一个或多个条件被满足,以及,
以下各项中的至少一项:
偏航_旋转(yaw_rotation),其中,yaw_rotation指定偏航旋转角度的值,其中,yaw_rotation为0表示没有偏航旋转,
俯仰_旋转(pitch_rotation),其中,pitch_rotation指定俯仰旋转角度的值,其中,0表示没有俯仰旋转,或者
滚转_旋转(roll_rotation),其中,roll_rotation指定滚转旋转角度的值,其中roll_rotation为0表示没有滚转旋转;以及
第二电路,用于输出所述球面旋转补充增强信息消息。
2.如权利要求1所述的编码器,其中,所述sphere_rotation_cancel_flag等于0表示后面是球面旋转信息。
3.如权利要求1所述的编码器,其中,所述一个或多个条件包括:所述当前层的新CLVS开始,比特流结束,或者所述当前层中按输出顺序在当前图片后面的与后续球面旋转补充增强信息消息相关联的图片被输出。
4.如权利要求1所述的编码器,其中,所述yaw_rotation、所述pitch_rotation、和所述roll_rotation中的至少一个以2-16度为单位。
5.如权利要求1所述的编码器,其中发生以下各项中的至少一项:当不存在所述yaw_rotation的值时,所述yaw_rotation的值等于零;当不存在所述pitch_rotation的值时,所述pitch_rotation的值等于零;或者当不存在所述roll_rotation的值时,所述roll_rotation的值等于零。
6.如权利要求1所述的编码器,其中,所述第二电路用于发送所述球面旋转补充增强信息消息。
7.如权利要求1所述的编码器,其中,所述第二电路用于存储所述球面旋转补充增强信息消息。
8.一种方法,包括:
生成与视频相关联的球面旋转补充增强信息消息,所述球面旋转补充增强信息消息包括关于旋转角度偏航(α)、俯仰(β)、和滚转(γ)的信息,所述旋转角度偏航(α)、俯仰(β)、和滚转(γ)被用于进行全局坐标轴和局部坐标轴之间的转换,其中,滚转对应于绕x轴的旋转,俯仰对应于绕y轴的旋转,并且偏航对应于绕z轴的旋转,所述球面旋转补充增强信息消息包括:
球面旋转取消标志(sphere_rotation_cancel_flag),其中,所述sphere_rotation_cancel_flag等于1表示所述球面旋转补充增强信息消息取消任何先前球面旋转补充增强信息消息的持续;
球面旋转持续标志(sphere_rotation_persistence_flag),所述sphere_rotation_persistence_flag指定所述球面旋转补充增强信息消息针对当前层的持续,其中,所述sphere_rotation_persistence_flag等于0用于指定所述球面旋转补充增强信息消息仅应用于当前解码的图片,其中,所述sphere_rotation_persistence_flag等于1指定:所述球面旋转补充增强信息消息针对所述当前层持续,直到一个或多个条件被满足,以及,
以下各项中的至少一项:
偏航_旋转(yaw_rotation),其中,yaw_rotation指定偏航旋转角度的值,其中,yaw_rotation为0表示没有偏航旋转,
俯仰_旋转(pitch_rotation),其中,pitch_rotation指定俯仰旋转角度的值,其中,0表示没有俯仰旋转,或者
滚转_旋转(roll_rotation),其中,roll_rotation指定滚转旋转角度的值,其中roll_rotation为0表示没有滚转旋转;以及
输出所述球面旋转补充增强信息消息。
9.如权利要求8所述的方法,其中,所述sphere_rotation_cancel_flag等于0表示后面是球面旋转信息。
10.如权利要求8所述的方法,其中,所述一个或多个条件包括:所述当前层的新CLVS开始,比特流结束,或者所述当前层中按输出顺序在当前图片后面的与后续球面旋转补充增强信息消息相关联的图片被输出。
11.如权利要求8所述的方法,其中,所述yaw_rotation、所述pitch_rotation、和所述roll_rotation中的至少一个以2-16度为单位。
12.如权利要求8所述的方法,其中发生以下各项中的至少一项:当不存在所述yaw_rotation的值时,所述yaw_rotation的值等于零;当不存在所述pitch_rotation的值时,所述pitch_rotation的值等于零;或者当不存在所述roll_rotation的值时,所述roll_rotation的值等于零。
13.如权利要求8所述的方法,其中,输出所述球面旋转补充增强信息消息包括:发送所述球面旋转补充增强信息消息。
14.如权利要求8所述的方法,其中,输出所述球面旋转补充增强信息消息包括:存储所述球面旋转补充增强信息消息。
15.一种系统,包括:
存储器;
至少一个传感器;
显示器;
存储设备;
通信电路;
至少一个处理器,用于执行权利要求8至14中任一项所述的方法。
16.一种装置,包括用于执行权利要求8至14中任一项所述的方法的构件。
CN202011568062.4A 2016-11-17 2017-11-15 编码器、视频处理方法、系统和装置 Active CN112702525B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662423319P 2016-11-17 2016-11-17
US62/423,319 2016-11-17
CN201780067678.3A CN110268711B (zh) 2016-11-17 2017-11-15 用于编码宽视图视频的球面旋转的方法及装置
PCT/US2017/061714 WO2018093840A1 (en) 2016-11-17 2017-11-15 Spherical rotation for encoding wide view video

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780067678.3A Division CN110268711B (zh) 2016-11-17 2017-11-15 用于编码宽视图视频的球面旋转的方法及装置

Publications (2)

Publication Number Publication Date
CN112702525A true CN112702525A (zh) 2021-04-23
CN112702525B CN112702525B (zh) 2022-05-06

Family

ID=62146853

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202011566231.0A Active CN112702523B (zh) 2016-11-17 2017-11-15 解码器、视频处理方法、系统和装置
CN202011568062.4A Active CN112702525B (zh) 2016-11-17 2017-11-15 编码器、视频处理方法、系统和装置
CN201780067678.3A Active CN110268711B (zh) 2016-11-17 2017-11-15 用于编码宽视图视频的球面旋转的方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011566231.0A Active CN112702523B (zh) 2016-11-17 2017-11-15 解码器、视频处理方法、系统和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780067678.3A Active CN110268711B (zh) 2016-11-17 2017-11-15 用于编码宽视图视频的球面旋转的方法及装置

Country Status (6)

Country Link
US (4) US10832378B2 (zh)
EP (3) EP3823273A1 (zh)
KR (3) KR102371099B1 (zh)
CN (3) CN112702523B (zh)
BR (1) BR112019007501A2 (zh)
WO (1) WO2018093840A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560678B2 (en) 2016-11-09 2020-02-11 Mediatek Inc. Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function
KR102371099B1 (ko) 2016-11-17 2022-03-04 인텔 코포레이션 광시야 비디오를 인코딩하기 위한 구면 회전 기법
US10560660B2 (en) 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
WO2021045536A1 (en) 2019-09-04 2021-03-11 Wilus Institute Of Standards And Technology Inc. Video encoding and decoding acceleration utilizing imu sensor data for cloud virtual reality
US20210211723A1 (en) * 2020-01-08 2021-07-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling 2d and 3d regions in immersive media
US11303931B2 (en) 2020-06-10 2022-04-12 Mediatek Inc. Method and apparatus for processing projection-based frame having projection faces packed in hemisphere cubemap projection layout with face packing constraints
WO2022013326A1 (en) * 2020-07-16 2022-01-20 Nokia Technologies Oy Viewport dependent delivery methods for omnidirectional conversational video
TWI809451B (zh) * 2020-07-17 2023-07-21 智崴資訊科技股份有限公司 球幕顯示系統
US11539935B2 (en) * 2020-12-02 2022-12-27 Meta Platforms Technologies, Llc Videotelephony with parallax effect
WO2022243328A1 (de) * 2021-05-18 2022-11-24 Rappsilber Patrick Kommunikationssystem und verfahren zur kommunikation zwischen wenigstens zwei orten
EP4102449B1 (en) * 2021-06-10 2023-08-16 Axis AB Method and device for dewarping a region of a fisheye view image
US20240292027A1 (en) * 2021-06-22 2024-08-29 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2024010386A1 (ko) * 2022-07-06 2024-01-11 엘지전자 주식회사 영상 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495965A (zh) * 2005-06-28 2009-07-29 微软公司 语义富对象的动态用户体验
CN103416002A (zh) * 2011-03-10 2013-11-27 维德约股份有限公司 视频位流中的渲染定向信息
US20150181233A1 (en) * 2013-12-19 2015-06-25 Qualcomm Incorporated Device and method for scalable coding of video information
CN104980697A (zh) * 2015-04-28 2015-10-14 杭州普维光电技术有限公司 一种网络摄像机视频传输方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4704728A (en) * 1984-12-31 1987-11-03 Peter Scheiber Signal re-distribution, decoding and processing in accordance with amplitude, phase, and other characteristics
GB9907277D0 (en) * 1999-03-31 1999-05-26 Cambridge 3D Display Ltd Wide field view projection display
JP2003141562A (ja) * 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム
CN101356800B (zh) 2006-03-23 2011-07-27 松下电器产业株式会社 内容拍摄装置
JP4945578B2 (ja) 2007-01-04 2012-06-06 肇 鳴川 情報処理方法
US7769240B2 (en) * 2007-02-07 2010-08-03 At&T Intellectual Property, I, L.P. Methods and systems for image processing
US8094892B2 (en) 2007-11-19 2012-01-10 Arcsoft, Inc. Automatic photo orientation detection
US8743219B1 (en) 2010-07-13 2014-06-03 Marvell International Ltd. Image rotation correction and restoration using gyroscope and accelerometer
US8918219B2 (en) * 2010-11-19 2014-12-23 Google Inc. User friendly interface for control unit
US20120092348A1 (en) 2010-10-14 2012-04-19 Immersive Media Company Semi-automatic navigation with an immersive image
CN102042830B (zh) * 2010-10-15 2013-01-30 北京信息科技大学 一种硅微机械陀螺仪
US9407904B2 (en) 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
ES2675802T3 (es) 2011-02-18 2018-07-12 Alcatel Lucent Procedimiento y aparato para transmitir y recibir un flujo de video panorámico
WO2012121744A1 (en) * 2011-03-10 2012-09-13 Vidyo, Inc Adaptive picture rotation
US8767040B2 (en) 2012-01-11 2014-07-01 Google Inc. Method and system for displaying panoramic imagery
US9438818B2 (en) * 2012-06-20 2016-09-06 Qualcomm Incorporated Device and method for multimedia communications with picture orientation information
US9497457B1 (en) 2012-10-18 2016-11-15 Altia Systems Inc Repacking of panoramic video based on standard image formats
KR101478908B1 (ko) * 2013-05-14 2015-01-02 고려대학교 산학협력단 증강 현실 기술을 이용한 이동 로봇의 원격 내비게이션 시스템
US10721530B2 (en) 2013-07-29 2020-07-21 Koninklijke Kpn N.V. Providing tile video streams to a client
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US11205305B2 (en) 2014-09-22 2021-12-21 Samsung Electronics Company, Ltd. Presentation of three-dimensional video
CN104482948B (zh) * 2014-11-25 2016-08-24 佛山轻子精密测控技术有限公司 一种高精度的旋转编码器及其测量方法
CN104457806B (zh) * 2014-12-02 2017-02-08 佛山轻子精密测控技术有限公司 一种复合型旋转编码器及其测量方法
US9277122B1 (en) * 2015-08-13 2016-03-01 Legend3D, Inc. System and method for removing camera rotation from a panoramic video
US20170026659A1 (en) * 2015-10-13 2017-01-26 Mediatek Inc. Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video
CN105261257A (zh) * 2015-11-13 2016-01-20 中国民航大学 可实现360度滚转运动的四自由度混联飞行模拟机运动平台
WO2017116952A1 (en) 2015-12-29 2017-07-06 Dolby Laboratories Licensing Corporation Viewport independent image coding and rendering
KR102157655B1 (ko) 2016-02-17 2020-09-18 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
CN106060515B (zh) * 2016-07-14 2018-11-06 腾讯科技(深圳)有限公司 全景媒体文件推送方法及装置
US10560678B2 (en) * 2016-11-09 2020-02-11 Mediatek Inc. Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function
KR102371099B1 (ko) 2016-11-17 2022-03-04 인텔 코포레이션 광시야 비디오를 인코딩하기 위한 구면 회전 기법
US10560660B2 (en) 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
US10375375B2 (en) 2017-05-15 2019-08-06 Lg Electronics Inc. Method of providing fixed region information or offset region information for subtitle in virtual reality system and device for controlling the same
KR102188270B1 (ko) 2018-07-06 2020-12-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
WO2020009341A1 (ko) 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
KR102258446B1 (ko) 2018-07-11 2021-05-31 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495965A (zh) * 2005-06-28 2009-07-29 微软公司 语义富对象的动态用户体验
CN103416002A (zh) * 2011-03-10 2013-11-27 维德约股份有限公司 视频位流中的渲染定向信息
US20150181233A1 (en) * 2013-12-19 2015-06-25 Qualcomm Incorporated Device and method for scalable coding of video information
CN104980697A (zh) * 2015-04-28 2015-10-14 杭州普维光电技术有限公司 一种网络摄像机视频传输方法

Also Published As

Publication number Publication date
CN110268711B (zh) 2021-07-02
US10832378B2 (en) 2020-11-10
US20210118094A1 (en) 2021-04-22
KR20210000331A (ko) 2021-01-04
WO2018093840A8 (en) 2019-05-31
KR102664649B1 (ko) 2024-05-08
US11301959B2 (en) 2022-04-12
CN110268711A (zh) 2019-09-20
EP3826302A1 (en) 2021-05-26
EP3542529A1 (en) 2019-09-25
EP3823273A1 (en) 2021-05-19
KR20220029780A (ko) 2022-03-08
CN112702525B (zh) 2022-05-06
KR102371099B1 (ko) 2022-03-04
US11699211B2 (en) 2023-07-11
US20200043133A1 (en) 2020-02-06
KR102568731B1 (ko) 2023-08-18
EP3542529A4 (en) 2020-07-08
CN112702523B (zh) 2022-05-06
CN112702523A (zh) 2021-04-23
US20210012460A1 (en) 2021-01-14
US11308581B2 (en) 2022-04-19
US20220237737A1 (en) 2022-07-28
KR20190095253A (ko) 2019-08-14
BR112019007501A2 (pt) 2019-07-02
WO2018093840A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
US11792378B2 (en) Suggested viewport indication for panoramic video
CN112702523B (zh) 解码器、视频处理方法、系统和装置
US10560660B2 (en) Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission

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
GR01 Patent grant
GR01 Patent grant