CN109155861A - 用于编码媒体内容的方法和装置以及计算机程序 - Google Patents

用于编码媒体内容的方法和装置以及计算机程序 Download PDF

Info

Publication number
CN109155861A
CN109155861A CN201780032386.6A CN201780032386A CN109155861A CN 109155861 A CN109155861 A CN 109155861A CN 201780032386 A CN201780032386 A CN 201780032386A CN 109155861 A CN109155861 A CN 109155861A
Authority
CN
China
Prior art keywords
viewport
space
area
inventory
picture
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
CN201780032386.6A
Other languages
English (en)
Other versions
CN109155861B (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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN109155861A publication Critical patent/CN109155861A/zh
Application granted granted Critical
Publication of CN109155861B publication Critical patent/CN109155861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请涉及一种方法和用于实现该方法的技术设备。该方法包括在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域,其中视口是360度视频的一部分;并且在清单中指示至少一个值,该至少一个值指示视口或空间区域的相应质量。根据另一方面,该方法包括从清单中解析视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值来从清单中选择表示。

Description

用于编码媒体内容的方法和装置以及计算机程序
技术领域
本解决方案总体上涉及编码媒体内容。特别地,该解决方案涉及视口自适应流式传输。
背景技术
在用于360度视频的传统流式布置中,传输完整的360度视频。例如,传输整个等距柱状(equirectangular)全景。
然而,在很多显示环境中,仅需要显示部分图片,而剩余图片需要解码但不显示。这些显示情况包括例如具有约100度视场的典型的头戴式显示器(HMD),而HMD消耗的输入视频通常覆盖整个360度。典型的平板观看环境显示高达40度的视场。当在这样的显示器上显示宽FOV内容(例如,鱼眼)时,可能优选的是显示空间子集而不是整个图片。
传统上,编码图片需要被完全解码,因为它们具有强的空间依赖性(例如,帧内预测)、熵编码依赖性、环路滤波依赖性和时空依赖性(指向图片的不同部分的运动矢量)。运动约束的瓦片(tile)集允许独立于其他瓦片集来解码瓦片集;然而,由于编码的瓦片集可以与比特流中的其他编码数据交织,并且由于参数集和报头(例如,切片分段报头)用于整个比特流,因此需要专用解码过程来解码特定的运动约束的瓦片集,同时省略其他瓦片的解码。
为了降低VR视频的流式传输比特率,最近的趋势如下:覆盖当前视图方位的360度视频内容的子集以最佳质量/分辨率传输,而剩余的360度视频以较低质量/分辨率传输。
现在,为了能够自动选择最适合当前观看方向(例如,当使用头戴式显示器进行观看时的头部方位)的表示,流式传输清单应当包括适当的信号传输。
发明内容
现在已经发明了一种改进的方法和实现该方法的技术设备,用于这样的信号传输。本发明的各个方面包括一种方法、一种装置、一种包括存储在其中的计算机程序的计算机可读介质。
根据第一方面,一种方法包括:在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域;并且在清单中指示至少一个值,该至少一个值指示视口或空间区域的相应质量。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
根据第二方面,该方法包括从清单中解析可用媒体内容的信息,包括从清单中解析以下之一:视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值来从清单中选择表示。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
在一个实施例中,该方法还包括从清单中解析第一表示和第二表示的信息;从清单中解析第一表示的视口或空间区域,并且从清单中解析第二表示的视口或空间区域;从清单中解析指示第一表示中的视口或空间区域的质量的第一值以及指示第二表示中的视口或空间区域的质量的第二值;并且基于第一值和第二值来选择第一表示或第二表示。
在一个实施例中,该方法包括从清单中解析第一表示和第二表示的信息;从清单中解析关于以下之一的第一信息:第一表示的第一视口或第一表示的第一空间区域;并且从清单中解析关于以下之一的第二信息:第二表示的第二视口或第二表示的第二空间区域;基于第一信息和第二信息确定以下中的哪一项适合于显示:第一视口、第一空间区域、第二视口、第二空间区域;并且基于确定选择相应的表示。
根据第三方面,一种装置包括至少一个处理器和至少一个存储器,至少一个存储器上存储有代码,这些代码在由至少一个处理器执行时引起该装置:在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域;并且在清单中指示至少一个值,该至少一个值指示视口或空间区域的相应质量。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
根据第四方面,一种装置包括至少一个处理器和至少一个存储器,至少一个存储器上存储有代码,这些代码在由至少一个处理器执行时引起该装置:从清单中解析可用媒体内容的信息,从清单中解析以下之一:视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值来从清单中选择表示。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
在一个实施例中,该装置还被配置为:从清单中解析第一表示和第二表示的信息;从清单中解析第一表示的视口或空间区域,并且从清单中解析第二表示的视口或空间区域;从清单中解析指示第一表示中的视口或空间区域的质量的第一值以及指示第二表示中的视口或空间区域的质量的第二值;并且基于第一值和第二值选择第一表示或第二表示。
在一个实施例中,该装置还被配置为:从清单中解析第一表示和第二表示的信息;从清单中解析关于以下之一的第一信息:第一表示的第一视口或第一表示的第一空间区域;并且从清单中解析关于以下之一的第二信息:第二表示的第二视口或第二表示的第二空间区域;基于第一信息和第二信息确定以下中的哪一项适合于显示:第一视口、第一空间区域、第二视口、第二空间区域;并且基于确定选择相应的表示。
根据第五方面,一种计算机可读存储介质,其上存储有用于由装置使用的代码,这些代码在由处理器执行时引起该装置:在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域;并且在清单中指示至少一个值,该至少一个值指示视口或空间区域的相应质量。
根据第六方面,一种计算机可读存储介质,其上存储有用于由装置使用的代码,这些代码在由处理器执行时引起该装置:从清单中解析可用媒体内容的信息,从清单中解析以下之一:视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值从清单中选择表示。
附图说明
在下文中,将参考附图更详细地描述本发明的各种实施例,在附图中:
图1将根据一个实施例的装置示为简化框图;
图2示出了根据一个实施例的装置的布局;
图3示出了根据一个实施例的系统的配置;
图4示出了根据一个实施例的视频编码器的框图;
图5示出了转向(Yaw)和俯仰(Pitch)与坐标系的关系的一个示例;
图6示出了视口的一种可能选择以及视口的转向角和俯仰角的一种可能的定义的一个示例;
图7示出了视口的一个示例;
图8示出了视口的另一示例;
图9是示出根据一个实施例的方法的流程图;以及
图10是示出根据另一实施例的方法的流程图。
具体实施方式
以下进一步详细描述用于视频编码/解码以及提供编码视频用于流式传输和/或接收流式传输的编码视频的合适装置和可能机制。在这方面,首先参考图1和2,其中图1将根据示例实施例的视频编码系统的框图示为可以包含根据本发明的一个实施例的编解码器的示例性装置或电子设备50的示意性框图。图2示出了根据示例实施例的装置的布局。接下来将解释图1和2中的元素。
电子设备50例如可以是移动终端、无线通信系统的用户设备、智能电话、相机设备、计算机或头戴式显示设备。然而,应当理解,本发明的实施例可以在可能需要对视频图像进行编码和解码或者进行编码或解码的任何电子设备或装置内实现。应当理解,视频编码可以利用与执行视频解码的电子设备不同以及类型不同的电子设备来执行。还应当理解,装置的组件可以不同,例如,用于视频编码的装置可以包括相机但可以不包括显示器,并且用于视频解码的装置可以包括显示器但可以不包括相机。
装置50可以包括用于将设备包括在内并且保护设备的壳体30。装置50还可以包括显示器32,例如以液晶显示器的形式。在本发明的其他实施例中,显示器可以是适合于显示图像或视频的任何合适的显示技术。装置50还可以包括小键盘34。在本发明的其他实施例中,可以采用任何合适的数据或用户界面机构。例如,用户界面可以实现为作为触敏显示器的一部分的虚拟键盘或数据输入系统。
该装置可以包括麦克风36或者可以是数字或模拟信号输入的任何合适的音频输入。装置50还可以包括音频输出设备,在本发明的实施例中,音频输出设备可以是以下中的任一种:耳机38、扬声器或者模拟音频或数字音频输出连接。装置50还可以包括电池40(或者在本发明的其他实施例中,该设备可以由诸如太阳能电池、燃料电池或发条发电机等任何合适的移动能量设备供电)。该装置还可以包括能够记录或捕获图像和/或视频的相机42。在一些实施例中,装置50可以包括多于一个相机,或者一个相机传感器可以与光学器件集成,允许利用相机传感器捕获多于一个视图。装置50还可以包括红外端口,用于与其他设备进行短程视距通信。在其他实施例中,装置50还可以包括任何合适的短程通信解决方案,诸如例如蓝牙无线连接或USB(通用串行总线)/火线有线连接。
装置50可以包括用于控制装置50的控制器56或处理器。控制器56可以连接到存储器58,在本发明的实施例中,存储器58可以以图像和音频数据的形式存储数据和/或还可以存储用于在控制器56上实施的指令。控制器56还可以连接到编解码器电路54,该编解码器电路54适合于执行音频和/或视频数据的编码和解码或者协助由控制器执行的编码和解码。
装置50还可以包括读卡器48和智能卡46,例如UICC(通用集成电路卡)和UICC读取器,用于提供用户信息并且适合于提供用于在网络上对用户进行认证和授权的认证信息。
装置50可以包括无线电接口电路52,无线电接口电路52连接到控制器并且适合于生成无线通信信号,例如用于与蜂窝通信网络、无线通信系统或无线局域网的通信。装置50还可以包括天线44,天线44连接到无线电接口电路52,用于向其他装置传输在无线电接口电路52处生成的射频信号并且用于从其他装置接收射频信号。
装置50可以包括能够记录或检测各个帧的相机,这些帧然后被传递到编解码器54或控制器以进行处理。该装置可以在传输和/或存储之前从另一设备接收视频图像数据以进行处理。装置50还可以无线地或通过有线连接接收用于编码/解码的图像。
装置50可以能够利用一个或多个相机42和/或与一个或多个相机集成的光学器件来捕获具有宽视场的图像和/或视频,诸如360度全景视场。360度全景视频内容可以通过各种手段来获取,包括但不限于:i)将多于一个相机传感器的图片拼接到单个360度全景图像;ii)具有光学布置的单个图像传感器,诸如反射折射系统。拼接可以定义为组合不同相机传感器的两个或更多个图片以形成另一图片,该另一图片具有比单独的上述两个或更多个图片中的任何一个图片宽的视场和/或与单独的上述两个或更多个图片中的任何一个图片不同的视图方向或方位。多于一个相机传感器可以与诸如鱼眼镜头等宽视场镜头集成。在一些情况下,拼接可以在编码之前进行,即,对全景图像或视频进行编码,而在其他情况下,可以对相机视图进行编码和解码,并且可以在解码之后进行拼接等,例如,当与头戴式显示器上的显示相结合时。鱼眼镜头覆盖非常高的视场(通常超过180度)。反射折射系统可以包括传统的镜头和镜子。镜子可以具有不同的凸起形状,例如抛物线形、平面形(planar)或球形。镜头捕获通过镜子反射的光线,从而提供具有宽视场的图像。
装置50可以是头戴式显示器,或者该装置的显示器可以用作头戴式显示器的显示布置的一部分(例如,智能手机装置50可以附接到使用智能手机显示器作为源的头戴式光学布置),或者该装置可以可操作地连接到头戴式显示器(例如,计算机装置50可以向连接到计算机装置的头戴式显示器输出解码的和可能后处理的图片)。头戴式显示器可以基于在用户眼睛前方显示并排的两视图图片或视频。头戴式显示器可以能够感测用户的头部方位,例如,通过运动传感器和/或方位传感器。头戴式显示器可以能够为每只眼睛示出相对较宽的视场,诸如约90度。当在头戴式显示器上显示宽视场(FOV)或全景图片或视频时,装置50和/或头戴式显示器可以使用头部方位跟踪来选择解码的宽FOV或全景图片或视频的一部分作为与头部方位相匹配的所显示的图片或视频。
在一些情况下,显示器可以能够通过使用偏振眼镜或快门眼镜来提供三维(3D)体验,从而导致针对左眼显示与右眼不同的图片。在一些情况下,显示器可以是双视图自动立体显示器,其可以特别地用在小型手持设备中。虽然这些类型的显示器能够显示立体内容,但是如果用户可以选择他们的观看位置,则可以提供更加身临其境的体验。诸如智能电话、计算机、电视机或平板显示器等装置50可以另外包括用户跟踪、头部跟踪和/或注视跟踪部件,或者与这样的部件可操作地连接。用户、头部和/或注视跟踪部件可以用于交互地选择正在显示的视图或者正在显示的宽FOV或全景图片或视频的一部分。因此,改善了3D沉浸体验。应当理解,用户、头部和/或注视跟踪部件可以附加地或备选地与传统的二维单视场显示器一起使用,类似于上面针对立体显示器所描述的内容。
虚拟现实(VR)投影(有时简称为投影)可以定义为表示一个观察点的全向视觉数据的二维表示。观察点可以定义为用于虚拟现实音频/视频获取或回放的三维空间中的点或体积。观察点通常与用于虚拟现实音频/视频获取的设备或装备的中心点以及观察者的头部在音频和视频轨道所在的三维空间中的位置相同。
用于将水平地覆盖360度视场和竖直地覆盖180度视场(因此表示球面)的全景图像映射到矩形二维图像平面的特定投影被称为等距柱状投影。在这种情况下,水平坐标可以被认为等同于经度,并且竖直坐标可以被认为等同于纬度,没有应用变换或缩放。在某些情况下,具有360度水平视场但具有小于180度竖直视场的全景内容可以被视为等距柱状投影的特殊情况,其中球体的极区未被映射到二维图像平面上。等距柱状投影保留了竖直线的直线度,但扭曲了天底和天顶区域。
一系列伪圆柱形投影试图通过根据经度将经线朝向地图中心弯曲来最小化诸如等距柱状投影等圆柱形投影的极区的变形,同时保持平行平行线的圆柱特性。伪圆柱投影产生表示投影球体的非矩形连续2D图像。然而,可以以间断形式呈现伪圆柱形投影,这些投影是通过将若干区域与适当的中心子午线以及错误的东向和剪切边界连接而形成的。可以基于经线的形状将伪圆柱形投影分类为正弦、椭圆、抛物线、双曲线、直线和各种伪圆柱形投影。附加的表征基于经线是否到达极点处或者沿直线终止(在这种情况下,投影表示竖直小于180度)。
在立方体图投影格式(又称立方体贴图)中,球形视频被投影到立方体的六个面(又称侧面)上。可以生成立方体图,例如通过首先从视点绘制(render)球形场景六次,其中视图由表示每个立方体面的90度视锥台定义。立方体侧面可以被帧封装到同一帧中,或者每个立方体侧面可以单独处理(例如,在编码中)。有很多可能的顺序来将立方体侧面定位到帧上,和/或立方体侧面可以被旋转或被镜像。可以选择帧封装的帧宽和帧高以“紧密地”贴合立方体侧面,例如在3×2立方体侧面网格处,或者可以包括未使用的组成帧,例如在4×3立方体侧面网格处。
关于图3,示出了其中可以利用本发明的实施例的系统的示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任何组合,包括但不限于无线蜂窝电话网络(诸如GSM(全球移动通信系统)、UMTS(通用移动电信系统)、CDMA(码分多址)网络等)、诸如由任何IEEE 802.x标准定义的无线局域网(WLAN)、蓝牙个域网、以太网局域网、令牌环局域网、广域网和因特网。
系统10可以包括适合于实现本发明的实施例的有线和无线通信设备和/或装置50。
例如,图3所示的系统示出了移动电话网络11和因特网28的表示。到因特网28的连接可以包括但不限于远程无线连接、短程无线连接和各种有线连接,有线连接包括但不限于电话线、电缆线、电力线和类似的通信路径。
系统10中示出的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息传送设备(IMD)18、台式计算机20、笔记本计算机22。装置50可以是静止的或者当由正在移动的个人携带时是移动的。装置50还可以位于运输模式,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的合适的运输模式。
实施例也可以在机顶盒中实现;即,可以具有/可以不具有显示或无线能力的数字电视接收器,在具有硬件或软件或编码器/解码器实现的组合的平板电脑或(膝上型)个人计算机(PC)中实现,在各种操作系统中实现,以及在芯片组、处理器、DSP(数字信号处理器)和/或提供基于硬件/软件的编码的嵌入式系统中实现。
一些或另外的装置可以发送和接收呼叫和消息,并且通过到基站24的无线连接25与服务提供方通信。基站24可以连接到允许移动电话网络11与因特网28之间的通信的网络服务器26。该系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议因特网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。实现本发明的各种实施例所涉及的通信设备可以使用各种媒体进行通信,包括但不限于无线电、红外线、激光、电缆连接和任何合适的连接。
在电信和数据网络中,信道可以指代物理信道或逻辑信道。物理信道可以指代诸如导线等物理传输介质,而逻辑信道可以指代通过能够传送若干逻辑信道的多路复用介质的逻辑连接。信道可以用于将信息信号(例如,比特流)从一个或多个发送器(或传输器)传送到一个或多个接收器。
实时传输协议(RTP)广泛用于诸如音频和视频等定时媒体的实时传输。RTP可以在用户数据报协议(UDP)之上运行,而UDP又可以在因特网协议(IP)之上运行。RTP在从www.ietf.org/rfc/rfc3550.txt可获取的因特网工程任务组(IETF)注释请求(RFC)3550中指定。在RTP传输中,媒体数据被封装成RTP分组。通常,每种媒体类型或媒体编码格式具有专用的RTP有效载荷格式。
RTP会话是与RTP通信的一组参与者之间的关联。它是可以潜在地承载很多RTP流的一个组通信信道。RTP流是包括媒体数据的RTP分组流。RTP流由属于特定RTP会话的SSRC来标识。SSRC是指同步源或同步源标识符,它是RTP分组报头中的32位SSRC字段。同步源的特征在于,来自同步源的所有分组形成相同定时和序列号空间的一部分,因此接收器可以通过同步源对分组进行分组以进行回放。同步源的示例包括从诸如麦克风或相机等信号源或RTP混合器导出的分组流的发送器。每个RTP流由SSRC来标识,该SSRC在RTP会话中是唯一的。RTP流可以被视为逻辑信道。
可用的媒体文件格式标准包括ISO基础媒体文件格式(ISO/IEC14496-12,其可以缩写为ISOBMFF)、MPEG-4文件格式(ISO/IEC14496-14,也称为MP4格式)、用于NAL(网络抽象层)单元结构化视频的文件格式(ISO/IEC 14496-15)和3GPP文件格式(3GPP TS26.244,也称为3GP格式)。ISO基础媒体文件格式是用于推导所有上述文件格式(不包括ISO基础媒体文件格式本身)的基础。
下面描述ISOBMFF的一些概念、结构和规范作为容器文件格式的示例,基于其可以实现实施例。本发明的各方面不限于ISOBMFF,相反,针对可以部分或完全实现本发明的一个可能的基础给出描述。
ISOBMFF中的一个构建块称为框。每个框可以具有报头和有效载荷。框报头以字节的形式指示框的类型和框的大小。框可以包含其他框,并且ISO文件格式指定在特定类型的框中允许哪些框类型。此外,在每个文件中可能必须存在一些框,而其他框的存在可以是可选的。此外,对于一些框类型,可以允许在文件中存在多于一个框。因此,可以认为ISOBMFF指定了框的分层结构。可以通过四字符代码(4CC,fourCC)来标识ISO基础媒体文件的每个框。四字符代码可以可互换地由32位无符号整数表示(通过假定字符到8位值的某种转换、某个位字节序和某个字节字节序)。报头可以提供有关框的类型和大小的信息。
根据ISOBMFF,文件可以包括可以被包含在单独的框中的媒体数据和元数据。在示例实施例中,媒体数据可以在媒体数据(mdat)框中提供,并且电影(moov)框可以用来包围元数据。在某些情况下,为了使文件可操作,必须同时存在mdat和moov框。电影(moov)框可以包括一个或多个轨道,并且每个轨道可以驻留在一个相应的轨道(trak)框中。每个轨道与由四字符代码标识的一个处理程序相关联,该处理程序指定轨道类型。视频、音频和图像序列轨道可以统称为媒体轨道,并且它们包含基本媒体流。其他轨道类型包括提示轨道和定时元数据轨道。轨道包括样本,诸如音频或视频帧。媒体轨道是指根据媒体压缩格式(及其对ISOBMFF的封装)而格式化的样本(其也可以称为媒体样本)。提示轨道是指提示样本,其包含用于构造分组以用于通过所指示的通信协议进行传输的食谱(cookbook)指令。食谱指令可以包括用于分组报头构造的指导,并且可以包括分组有效载荷构造。在分组有效载荷构造中,可以引用驻留在其他轨道或项目中的数据。这样,例如,驻留在其他轨道或项目中的数据可以通过引用来指示,该引用是关于指令在分组构建过程期间要将特定轨道或项目中的哪条数据复制到分组中的。定时元数据轨道可以指代描述被引用媒体和/或提示样本的样本。对于一种媒体类型的呈现,可以选择一个媒体轨道。
'trak'框包含“样本表”框。“样本表”框包括例如轨道中媒体样本的所有时间和数据索引。“样本表”框需要包含“样本描述”框。“样本描述”框包括条目计数字段,其指定框中包括的样本条目数。“样本描述”框需要包含至少一个样本条目。样本条目格式取决于轨道的处理程序类型。样本条目给出有关所使用的编码类型的详细信息以及该编码所需的任何初始化信息。
电影片段特征可以允许将元数据分成多个,否则其可能驻留在电影框中。每个片段可以对应于轨道的特定时间段。换言之,电影片段特征可以允许交织文件元数据和媒体数据。因此,可以限制电影框的大小并且实现上述用例。
在一些示例中,用于电影片段的媒体样本可以驻留在mdat框中。然而,对于电影片段的元数据,可以提供moof框。moof框可以包括先前已经在moov框中的回放时间的特定持续时间的信息。moov框仍然可以独自表示有效的电影,但是附加地,它可以包括mvex框,其指示电影片段将在同一个文件中跟随。电影片段可以及时地扩展与moov框相关联的呈现。
在电影片段内,可以存在一组轨道片段,包括每个轨道从零到多个轨道片段的任何地方。轨道片段又可以包括从零到多个轨道运行的任何地方,每个轨道运行的文档是该轨道的连续样本运行(并且因此似于组块)。在这些结构中,很多字段是可选的,并且可以是默认的。可以被包括在moof框中的元数据可以限于元数据的如下子集,该子集可以被包括在moov框中并且在某些情况下可以被不同地编码。关于可以被包括在moof框中的框的细节可以从ISOBMFF规范中找到。自包含的电影片段可以定义为包括按照文件顺序连续的moof框和mdat框,并且其中mdat框包含电影片段的样本(moof框为其提供元数据)并且不包含任何其他电影片段的样本(即,任何其他moof框)。
ISOBMFF及其派生物(诸如NAL单元结构化视频的文件格式(ISO/IEC 14496-15))中的样本分组可以定义为基于分组标准而对轨道中的每个样本作为一个样本组的成员的分配。样本分组中的样本组不限于连续样本,并且可以包含非相邻样本。由于轨道中的样本可能有多于一个样本分组,因此每个样本分组可以具有类型字段以指示分组的类型。样本分组可以由两个链接的数据结构表示:(1)SampleToGroup框(sbgp框)表示样本到样本组的分配;(2)SampleGroupDescription框(sgpd框)包含每个样本组的样本组条目,其描述该组的属性。根据不同的分组标准,SampleToGroup和SampleGroupDescription框可以有多个实例。这些可以通过用于指示分组类型的类型字段来区分。'sbgp'和'sgpd'框可以使用grouping_type的值来链接,在某些版本的框中也可以使用grouping_type_parameter的值来链接。'sbgp'框指示特定样本所属的样本组描述条目的索引。
Matroska文件格式能够(但不限于)在一个文件中存储任何视频、音频、图片或字幕轨道。Matroska文件扩展名包括用于视频的.mkv(带字幕和音频)、用于立体视频的.mk3d、用于纯音频文件的.mka和仅用于字幕的.mks。Matroska可以用作诸如WebM等派生文件格式的基础格式。
Matroska使用可扩展二进制元语言(EBML)作为基础。EBML指定了来源于XML原理的二进制和八位字节(字节)对准格式。EBML本身是二进制标记技术的概括描述。Matroska文件包括构成EBML“文档”的元素。元素包含元素ID、元素大小的描述符和二进制数据本身。元素可以嵌套。
Matroska的“分段元素”是其他顶级(一级)元素的容器。Matroska文件可以包括一个“分段”(但不限于由其组成)。Matroska文件中的多媒体数据被组织成“群集”(或“群集元素”),每个“群集”通常包含几秒钟的多媒体数据。“群集”包括BlockGroup元素,BlockGroup元素又包括“块元素”。“线索元素”包括可以有助于随机访问或搜索的元数据,并且可以包括用于搜索点的文件指针或相应的时间戳。
视频编解码器包括编码器和解码器,编码器将输入视频转换为适合于存储/传输的压缩表示,解码器可以将压缩视频表示解压缩回可视形式。视频编码器和/或视频解码器也可以彼此分离,即不需要形成编解码器。通常,编码器丢弃原始视频序列中的一些信息以便以更紧凑的形式表示视频(即,“有损”压缩,导致较低的比特率),然而编码器和编码规范可以附加地或备选地具有无损压缩模式。视频编码器可以用于编码图像序列,如随后定义的,并且视频解码器可以用于解码编码的图像序列。视频编码器或者视频编码器或图像编码器的帧内编码部分可以用于编码图像,并且视频解码器或者视频解码器或图像解码器的帧间解码部分可以用于解码编码的图像。
典型的混合视频编码器(例如,ITU-T H.263和H.264的很多编码器实现)分两个阶段对视频信息进行编码。首先,例如通过运动补偿部件(找到并且指示与正被编码的块紧密对应的先前编码的视频帧之一中的区域)或通过空间部件(例如,使用要以指定的方式进行编码的块周围的像素值)预测某个图片区域(或“块”)中的像素值。其次,编码预测误差,即预测的像素块与原始像素块之间的差异。这通常通过使用指定变换(例如,离散余弦变换(DCT)或其变体)变换像素值的差异、量化系数并且对量化的系数进行熵编码来完成。通过改变量化过程的保真度,编码器可以控制像素表示的准确度(图片质量)与所得到的编码视频表示的大小(文件大小或传输比特率)之间的平衡。
帧间预测(其也可以称为时间预测、运动补偿或运动补偿预测)减少了时间冗余。在帧间预测中,预测源是先前解码的图片。帧内预测利用了同一图片内的相邻像素可能相关的这一事实。帧内预测可以在空间或变换域中执行,即,可以预测样本值或变换系数。帧内预测通常在帧内编码中被利用,其中没有应用帧间预测。
编码过程的一个结果是一组编码参数,诸如运动矢量以及量化的变换系数。如果首先根据空间或时间上相邻的参数进行预测,则可以更有效地对很多参数进行熵编码。例如,可以根据空间相邻的运动矢量来预测运动矢量,并且可以仅编码相对于运动矢量预测器的差异。编码参数的预测和帧内预测可以统称为图片内预测。
图4示出了适合于采用本发明的实施例的视频编码器的框图。图4呈现了用于两个层的编码器,但是应当理解,所呈现的编码器可以类似地被简化以仅编码一个层或者被扩展以编码多于两个层。图4示出了包括用于基本层的第一编码器部分520和用于增强层的第二编码器部分522的视频编码器的实施例。第一编码器部分520和第二编码器部分522中的每个可以包括用于编码输入图片的类似元件。编码器部分520、522可以包括像素预测器302、402、预测误差编码器303、403和预测误差解码器304、404。图4还将像素预测器302、402的实施例示为包括帧间预测器306、406、帧内预测器308、408、模式选择器310、410、滤波器316、416和参考帧存储器318、418。第一编码器部分500的像素预测器302接收要在帧间预测器306(其确定图像与经运动补偿的参考帧318之间的差异)和帧内预测器308(其仅基于当前帧或图片的已经处理的部分确定图像块的预测)两者处编码的视频流的300个基本层图像。帧间预测器和帧内预测器的输出被传递到模式选择器310。帧内预测器308可以具有多于一种帧内预测模式。因此,每个模式可以执行帧内预测,并且将预测信号提供给模式选择器310。模式选择器310还接收基本层图片300的副本。相应地,第二编码器部分522的像素预测器402接收要在帧间预测器406(其确定图像与经运动补偿的参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图片的已经处理的部分确定图像块的预测)两者处编码的视频流的400个增强层图像。帧间预测器和帧内预测器的输出被传递到模式选择器410。帧内预测器408可以具有多于一种帧内预测模式。因此,每个模式可以执行帧内预测,并且将预测信号提供给模式选择器410。模式选择器410还接收增强层图片400的副本。
取决于选择哪种编码模式来编码当前块,帧间预测器306、406的输出或者可选的帧内预测器模式之一的输出或模式选择器内的表面编码器的输出被传递到模式选择器310、410的输出。模式选择器的输出被传递到第一求和设备321、421。第一求和设备可以从基本层图片300/增强层图片400中减去像素预测器302、402的输出以产生被输入到预测误差编码器303、403的第一预测误差信号320、420。
像素预测器302、402还从初步重构器339、439接收图像块312、412的预测表示与预测误差解码器304、404的输出338、438的组合。初步重构图像314、414可以被传递到帧内预测器308、408和滤波器316、416。接收初步表示的滤波器316、416可以对初步表示进行滤波并且输出可以保存在参考帧存储器318、418中的最终重构图像340、440。参考帧存储器318可以连接到帧间预测器306以用作参考图像,在帧间预测操作中未来的基本层图片300与参考图像进行比较。根据一些实施例,在基本层被选择并且被指示为用于增强层的层间样本预测和/或层间运动信息预测的源的情况下,参考帧存储器318还可以连接到帧间预测器406以用作在帧间预测操作中未来的增强层图片400与其进行比较的参考图像。此外,参考帧存储器418可以连接到帧间预测器406以用作在帧间预测操作中未来的增强层图片400与其进行比较的参考图像。
根据一些实施例,在基本层被选择并且被指示为用于预测增强层的滤波参数的源的情况下,可以将来自第一编码器部分550的滤波器316的滤波参数提供给第二编码器部分522。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。例如,变换是DCT变换。量化器344、444量化变换域信号,例如,DCT系数,以形成量化的系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并且执行预测误差编码器303、403的相反处理以产生解码的预测误差信号338、438,其中解码的预测误差信号338、438解码的预测误差信号338、438当在第二求和设备339、439处与图像块312、412的预测表示相组合时产生初步重构图像314、414。可以认为预测误差解码器包括对量化的系数值(例如,DCT系数)进行解量化以重构变换信号的解量化器361、461以及对重构的变换信号执行逆变换的逆变换单元363、463,其中逆变换单元363、463的输出包含重构的块。预测误差解码器还可以包括可以根据进一步解码的信息和滤波器参数来对重构的块进行滤波的块滤波器。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对信号执行合适的熵编码/可变长度编码以提供误差检测和纠正能力。可以向熵编码器330、430的输出插入比特流,例如由多路复用器528。
H.264/AVC标准由国际电信联盟电信标准化部门(ITU-T)的视频编码专家组(VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图像专家组(MPEG)的联合视频组(JVT)开发。H.264/AVC标准由两个母标准化组织发布,并且被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,也称为MPEG-4第10部分高级视频编码(AVC)。H.264/AVC标准有多个版本,其将新的扩展或功能集成到规范中。这些扩展包括可扩展视频编码(SVC)和多视图视频编码(MVC)。
高效视频编码(H.265/HEVC,又称HEVC)标准的第1版由VCEG和MPEG的联合协作小组视频编码(JCT-VC)开发。该标准由两个母标准化组织发布,并且被称为ITU-T推荐H.265和ISO/IEC国际标准23008-2,也称为MPEG-H第2部分高效视频编码(HEVC)。H.265/HEVC的第2版包括可扩展、多视图和保真度范围扩展,其可以分别缩写为SHVC、MV-HEVC和REXT。H.265/HEVC的第2版作为ITU-T推荐H.265(10/2014)公布。目前正在进行标准化项目以开发对H.265/HEVC的进一步扩展,包括三维和屏幕内容编码扩展,其可以分别缩写为3D-HEVC和SCC。
SHVC、MV-HEVC和3D-HEVC使用在HEVC标准的第2版的附录F中规定的共同基础规范。该共同基础包括例如高级语法和语义,其例如指定比特流的层的一些特性,诸如层间依赖性,以及解码过程,诸如包括层间参考图片的参考图片列表构造和用于多层比特流的图片顺序计数推导。附件F也可以用于HEVC的潜在后续多层扩展。应当理解,即使视频编码器、视频解码器、编码方法、解码方法、比特流结构和/或实施例可以在下文中参考诸如SHVC和/或MV-HEVC等特定扩展来描述,但是它们通常适用于HEVC的任何多层扩展,并且甚至更一般地适用于任何多层视频编码方案。
在本节中描述H.264/AVC和HEVC的一些关键定义、比特流和编码结构以及概念作为视频编码器、解码器、编码方法、解码方法和比特流结构的示例,其中实施例可以被实施。H.264/AVC的一些关键定义、比特流和编码结构以及概念与HEVC中的相同——因此,它们在下面联合描述。本发明的各方面不限于H.264/AVC或HEVC,相反,描述是针对可以部分或完全实现本发明的一个可能的基础而给出的。
与很多早期视频编码标准类似,在H.264/AVC和HEVC中规定了比特流语法和语义以及用于无差错比特流的解码过程。未指定编码过程,但是编码器必须生成一致的比特流。比特流和解码器一致性可以使用假定参考解码器(HRD)来验证。这些标准包含有助于处理传输错误和损失的编码工具,但是在编码中使用这些工具是可选的,并且没有为错误的比特流指定解码过程。
在现有标准的描述以及示例实施例的描述中,语法元素可以定义为比特流中表示的数据的元素。语法结构可以定义为以指定顺序一起存在于比特流中的零个或多个语法元素。在现有标准的描述以及示例实施例的描述中,可以使用短语“借助外部手段”或“通过外部手段”。例如,可以“借助外部手段”向解码过程提供诸如在解码过程中使用的语法结构或变量的值等实体。短语“借助外部手段”可以指示实体没有被包括在由编码器创建的比特流中,而是例如使用控制协议在外部从比特流传送。它可以备选地或附加地表示,实体不是由编码器创建的,而是可以例如在播放器或使用解码器的解码控制逻辑等中创建的。解码器可以具有用于输入诸如变量值等外部手段的接口。
H.264/AVC或HEVC编码器的输入以及H.264/AVC或HEVC解码器的输出的基本单元分别是图片。作为编码器的输入给出的图片也可以称为源图片,并且由解码器解码的图片可以称为解码图片。
源图片和解码图片均包括一个或多个样本阵列,诸如以下样本阵列组之一:
-仅亮度(Y)(单色)。
-亮度和两个色度(YCbCr或YCgCo)。
-绿色、蓝色和红色(GBR,也称为RGB)。
-表示其他未指定的单色或三色刺激颜色采样的阵列(例如,
YZX,也称为XYZ)。
在下文中,这些阵列可以称为亮度(或L或Y)和色度,其中两个色度阵列可以称为Cb和Cr;无论使用何种实际的颜色表示方法。所使用的实际颜色表示方法可以例如,在编码比特流中,例如使用H.264/AVC和/或HEVC的视频可用性信息(VUI)语法来指示。可以将组成定义为阵列或来自三个样本阵列阵列(亮度和两个色度)之一的单个样本,或者构成单色格式的图片的阵列或阵列的单个样本。
在H.264/AVC和HEVC中,图片可以是帧或字段。帧包括亮度样本矩阵和可能的相应色度样本。字段是帧的一组替代样本行,并且当源信号是隔行扫描时可以用作编码器输入。当与亮度样本阵列比较时,可以不存在色度样本阵列(并且因此可以使用单色采样),或者可以对色度样本阵列进行二次采样。色度格式可以总结如下:
-在单色采样中,只有一个样本阵列,其可能名义上被认为是亮
度阵列。
-在4:2:0采样中,两个色度阵列中的每个具有亮度阵列的一半
高度和一半宽度。
-在4:2:2采样中,两个色度阵列中的每个具有亮度阵列的相同
高度和一半宽度。
-在4:4:4采样中,当没有使用单独的颜色平面时,两个色度阵
列中的每个具有与亮度阵列相同的高度和宽度。
在H.264/AVC和HEVC中,可以将样本阵列作为单独的颜色平面编码到比特流中,并且分别从比特流中解码单独编码的颜色平面。当使用单独的色彩平面时,它们中的每个被单独处理(通过编码器和/或解码器)作为具有单色采样的图片。
分区可以定义为集合到子集的划分,使得集合中的每个元素恰好在子集之一中。
在H.264/AVC中,宏块是16×16亮度样本块和相应的色度样本块。例如,在4:2:0采样模式中,宏块包含每个色度分量的一个8×8色度样本块。在H.264/AVC中,图片被分区为一个或多个切片组,并且切片组包含一个或多个切片。在H.264/AVC中,切片包括在特定切片组内的光栅扫描中连续排序的整数个宏块。
当描述HEVC编码和/或解码的操作时,可以使用以下术语。可以将编码块定义为针对N的某个值的N×N样本块,使得编码树块到编码块的划分是分区。编码树块(CTB)可以定义为针对N的某个值的N×N样本块,使得组成到编码树块的划分是分区。编码树单元(CTU)可以定义为亮度样本的编码树块、具有三个样本阵列的图片的色度样本的两个相应编码树块、或者单色图片或使用用于编码样本的三个单独的颜色平面和语法结构而编码的图片的样本的编码树块。编码单元(CU)可以定义为亮度样本的编码块、具有三个样本阵列的图片的色度样本的两个相应编码块、或者单色图片或使用用于编码样本的三个单独的颜色平面和语法结构而编码的图片的样本的编码块。
在诸如高效视频编码(HEVC)编解码器等一些视频编解码器中,视频图片被划分为覆盖图片的区域的编码单元(CU)。CU包括定义CU内的样本的预测过程的一个或多个预测单元(PU)以及定义上述CU中的样本的预测误差编码过程的一个或多个变换单元(TU)。通常,CU包括方形样本块,其大小可从预定义的一组可能CU大小中选择。具有最大允许大小的CU可以被命名为LCU(最大编码单元)或编码树单元(CTU),并且视频图片被划分为非交叠LCU。LCU可以进一步分成较小CU的组合,例如,通过递归地分割LCU和所得到的CU。每个所得到的CU通常具有至少一个PU和与之相关的至少一个TU。每个PU和TU可以进一步分成较小的PU和TU,以分别增加预测和预测误差编码过程的粒度。每个PU具有与其相关联的预测信息,该预测信息定义要对该PU内的像素应用何种类型的预测(例如,用于帧间预测的PU的运动矢量信息和用于帧内预测的PU的帧内预测方向性信息)。
解码器通过应用类似于编码器的预测方法来重构输出视频,以形成像素块的预测表示(使用由编码器创建并且存储在压缩表示中的运动或空间信息)和预测误差解码(在空间像素域中恢复量化的预测误差信号的预测误差编码的逆操作)。在应用预测和预测误差解码手段之后,解码器对预测和预测误差信号(像素值)求和以形成输出视频帧。解码器(和编码器)还可以应用附加的滤波手段,以在传送视频用于显示和/或将其存储为视频序列中即将到来的帧的预测参考之前改善输出视频的质量。
滤波可以例如包括以下中的一个或多个:解块、样本自适应偏移(SAO)和/或自适应环路滤波(ALF)。H.264/AVC包括解块,而HEVC包括解块和SAO两者。
在典型的视频编解码器中,运动信息用与每个经运动补偿的图像块相关联的运动矢量(诸如预测单元)来指示。这些运动矢量中的每个表示要编码(在编码器侧)或解码(在解码器侧)的图片中的图像块的位移和在先前编码或解码的图片之一中的预测源块。为了有效地表示运动矢量,通常相对于块特定的预测的运动矢量差分地编码它们。在典型的视频编解码器中,以预定义的方式创建预测的运动矢量,例如计算相邻块的编码或解码的运动矢量的中值。创建运动矢量预测的另一种方法是从时间参考图片中的相邻块和/或共同定位的块生成候选预测的列表,并且用信号传输所选择的候选作为运动矢量预测器。除了预测运动矢量值之外,还可以预测哪个(些)参考图片用于运动补偿预测,并且该预测信息可以例如由先前编码/解码的图片的参考索引来表示。参考索引通常从时间参考图片中的相邻块和/或共同定位的块来预测。此外,典型的高效视频编解码器采用附加的运动信息编码/解码机制,其通常称为合并/融合模式,其中预测并且使用所有运动场信息,包括每个可用参考图片列表的运动矢量和相应的参考图片索引,而没有任何修改/纠正。类似地,使用时间参考图片中的相邻块和/或共同定位的块的运动场信息来执行对运动场信息的预测,并且在填充有可用的相邻/共同定位的块的运动场信息的运动场候选列表的列表中用信号传输所使用的运动场信息。
典型的视频编解码器允许使用其中使用单个预测块用于被(解)编码的块的单预测、以及其中组合两个预测块以形成对被(解)编码的块的预测的双预测。一些视频编解码器启用加权预测,其中在添加残差信息之前对预测块的样本值进行加权。例如,乘法加权因子和可以应用的附加偏移。在由一些视频编解码器启用的显式加权预测中,可以例如在每个可允许的参考图片索引的切片报头中对加权因子和偏移进行编码。在由一些视频编解码器启用的隐式加权预测中,加权因子和/或偏移没有被编码,而是例如基于参考图片的相对图片顺序计数(POC)距离来导出。
在典型的视频编解码器中,运动补偿之后的预测残差首先用变换核(如DCT)变换并且然后被编码。其原因在于,在残差之间通常仍然存在一些相关性,并且在很多情况下,变换可以帮助减少这种相关性并且提供更有效的编码。
典型的视频编码器利用拉格朗日代价函数来找到最佳编码模式,例如,期望的宏块模式和相关联的运动矢量。这种成本函数使用加权因子λ来将由于有损编码方法引起的(精确的或估计的)图像失真与表示图像区域中的像素值所需要的(精确的或估计的)信息量联系在一起:
C=D+λR, (1)
其中C是要最小化的拉格朗日成本,D是所考虑的模式和运动矢量的图像失真(例如,均方误差),并且R是表示在解码器中重构图像块所需要的数据所需要的比特数(包括用于表示候选运动矢量的数据量)。
在HEVC标准中,图片可以按照瓦片进行分区,瓦片是矩形的并且包含整数个LCU。在HEVC标准中,对瓦片的分区可以形成规则网格,其中瓦片的高度和宽度彼此相差最多一个LCU,或者对瓦片的分区可以遵循指示的瓦片列宽度(在LCU中)和瓦片行高度(在LCU中)的列表。在图片内的光栅扫描中,在比特流中连续排序瓦片。瓦片可以包含整数个切片。尽管这里参考HEVC描述瓦片的概念,但是需要理解的是,在其他编码和解码方法中可以使用相同或相似的概念,并且可以在下面使用短语瓦片作为通用术语,而不限于HEVC瓦片。
可以以受约束的方式对图片序列中的特定位置的一组瓦片进行编码,使得对图片序列中的该特定位置的瓦片集的解码不需要在该瓦片集之外的样本值。在HEVC中,这种约束可以用时间运动约束的区块集SEI消息来指示。时间运动约束的瓦片集SEI消息指示帧间预测过程被约束(通过编码选择),使得在每个标识的瓦片集之外没有样本值,并且没有使用在使用在所标识的瓦片集之外的一个或多个样本导出的分数样本位置处的样本值用于对所标识的瓦片集内的任何样本进行帧间预测。因此,该瓦片集可以被视为可独立解码的区域。
视频编码标准和规范可以允许编码器将编码图片划分为编码切片等。通常在切片边界上禁用图片内预测。因此,切片可以被视为一种将编码图片分成可独立解码的多个的方法。在H.264/AVC和HEVC中,可以跨切片边界禁用图片内预测。因此,可以将切片视为一种将编码图片分成可独立解码的多个的方法,并且因此切片通常被视为用于传输的基本单元。在很多情况下,编码器可以在比特流中指示跨切片边界关闭哪些类型的图片内预测,并且解码器操作例如在得出哪些预测源可用时将该信息考虑在内。例如,如果相邻宏块或CU驻留在不同切片中,则可将来自相邻宏块或CU的样本视为不可用于帧内预测。
在HEVC中,切片包括整数个LCU。如果不使用瓦片,则以瓦片内或图片内的LCU的光栅扫描顺序扫描LCU。切片可以包含整数个瓦片,或者切片可以被包含在瓦片中。在LCU内,CU具有特定的扫描顺序。
H.264/AVC或HEVC编码器的输出以及H.264/AVC或HEVC解码器的输入的基本单元分别是网络抽象层(NAL)单元。对于通过面向分组的网络的传输或到结构化文件中的存储,NAL单元可以封装成分组或类似结构。在H.264/AVC和HEVC中已经为不提供成帧结构的传输或存储环境指定了字节流格式。字节流格式通过在每个NAL单元前面附加起始码来将NAL单元彼此分开。为了避免错误检测NAL单元边界,编码器运行面向字节的起始码仿真阻止算法,其在否则发生起始码的情况下向NAL单元有效载荷添加仿真阻止字节。为了允许在面向分组和流的系统之间进行直接的网关操作,无论是否使用字节流格式,可以始终执行起始码仿真阻止。NAL单元可以定义为包含如下指示的语法结构,该指示用于指示要遵循的数据的类型以及包含该数据的、具有RBSP形式的、根据需要散布有仿真阻止字节的字节。原始字节序列有效载荷(RBSP)可以定义为包含封装在NAL单元中的整数个字节的语法结构。RBSP为空,或者具有以下形式:包含语法元素的数据位串,其后是RBSP停止位并且其后是等于0的零个或多个后续位。
NAL单元包括报头和有效载荷。在H.264/AVC和HEVC中,NAL单元报头指示NAL单元的类型。
H.264/AVC NAL单元报头包括2比特的nal_ref_idc语法元素,其在等于0时指示被包含在NAL单元中的编码切片是非参考图片的一部分,而在大于0指示被包含在NAL单元中的编码切片是参考图片的一部分。SVC和MVC NAL单元的报头可以另外包含与可扩展性和多视图层次相关的各种指示。
在HEVC中,双字节NAL单元报头用于所有指定的NAL单元类型。NAL单元报头包含一个保留位、六比特的NAL单元类型指示、用于时间级别的三比特的nuh_temporal_id_plus1指示(可能需要大于或等于1)和六比特的nuh_layer_id语法元素。temporal_id_plus1语法元素可以被视为NAL单元的时间标识符,并且基于零的TemporalId变量可以如下导出:TemporalId=temporal_id_plus1-1。等于0的TemporalId对应于最低时间级别。temporal_id_plus1的值必须是非零的,以避免涉及两个NAL单元报头字节的起始码仿真。通过排除TemporalId大于或等于所选择的值的所有VCL NAL单元并且包括所有其他VCL NAL单元而创建的比特流保持一致。因此,TemporalId等于TID的图片不使用TemporalId大于TID的任何图片作为帧间预测参考。子层或时间子层可以定义为时间可扩展比特流的时间可扩展层,其包括TemporalId变量具有特定值的VCL NAL单元和相关联的非VCL NAL单元。nuh_layer_id可以被理解为可扩展性层标识符。
NAL单元可以分类为视频编码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元通常是编码的切片NAL单元。在H.264/AVC中,编码的切片NAL单元包含表示一个或多个编码宏块的语法元素,每个编码宏块对应于未压缩图片中的样本块。在HEVC中,VCL NAL单元包含表示一个或多个CU的语法元素。
在H.264/AVC中,可以将编码的切片NAL单元指示为瞬时解码刷新(IDR)图片中的编码切片或非IDR图片中的编码切片。
在HEVC中,可以认为VCL NAL单元的nal_unit_type指示图片类型。在HEVC中,图片类型的缩写可以定义如下:拖尾(TRAIL)图片、时间子层访问(TSA)、逐步时间子层访问(STSA)、随机访问可解码前导(RADL)图片、随机访问跳过前导(RASL)图片、断开链接访问(BLA)图片、瞬时解码刷新(IDR)图片、清除随机访问(CRA)图片。图片类型可以分类为帧内随机接入点(IRAP)图片和非IRAP图片。
在HEVC中,随机接入点(RAP)图片(其也可以称为帧内随机接入点(IRAP)图片)是每个切片或切片片段的nal_unit_type在16到23(包括16和23)的范围内的图片。独立层中的IRAP图片仅包含帧内编码的切片。属于具有nuh_layer_id值currLayerId的预测层的IRAP图片可以包含P、B和I切片,不能使用来自nuh_layer_id等于currLayerId的其他图片的帧间预测,并且可以使用来自其直接参考层的层间预测。在当前版本的HEVC中,IRAP图片可以是BLA图片、CRA图片或IDR图片。包含基本层的比特流中的第一图片是基本层处的IRAP图片。如果必要的参数集在需要激活时可用,则可以正确地解码独立层处的IRAP图片和按照解码顺序的在独立层处的所有后续非RASL图片,而无需执行按照解码顺序在IRAP图片之前的任何图片的解码过程。当必要的参数集在需要激活时可用时以及当nuh_layer_id等于currLayerId的层的每个直接参考层的解码已经被初始化时(即,当对于等于nuh_layer_id等于currLayerId的层的直接参考层的所有nuh_layer_id值的refInayId,LayerInitializedFlag[refLayerId]等于1时),可以正确地解码属于具有nuh_layer_id值currLayerId的预测层的IRAP图片和nuh_layer_id等于currLayerId的按照解码顺序的所有后续非RASL图片,而无需执行nuh_layer_id等于currLayerId的按照解码顺序在IRAP图片之前的任何图片的解码过程。在比特流中可以存在仅包含不是IRAP图片的帧内编码切片的图片。
在HEVC中,CRA图片可以是比特流中按照解码顺序的第一图片,或者可以在比特流中稍后出现。HEVC中的CRA图片允许所谓的前导图片按照解码顺序跟随CRA图片,但是按照输出顺序在前。一些前导图片(即,所谓的RASL图片)可以使用在CRA图片之前解码的图片作为参考。如果在CRA图片处执行随机访问,则按照解码和输出顺序在CRA图片之后的图片是可解码的,并且因此与IDR图片的清除随机访问功能类似地实现清除随机访问。
CRA图片可以具有相关联的RADL或RASL图片。当CRA图片是比特流中按照解码顺序的第一图片时,CRA图片是按照解码顺序的编码视频序列的第一图片,并且任何相关联的RASL图片不由解码器输出并且可能不可解码,因为它们可能包含对比特流中不存在的图片的引用。
前导图片是按照输出顺序在相关联的RAP图片之前的图片。相关联的RAP图片是按照解码顺序的先前RAP图片(如果存在)。前导图片是RADL图片或RASL图片。
所有RASL图片都是相关联的BLA或CRA图片的前导图片。当相关联的RAP图片是BLA图片或者是比特流中的第一编码图片时,RASL图片不被输出并且可能无法正确解码,因为RASL图片可能包含对比特流中不存在的图片的引用。然而,如果解码已经从RASL图片的相关联的RAP图片之前的RAP图片开始,则可以正确地解码RASL图片。RASL图片没有用作非RASL图片的解码过程的参考图片。当存在时,所有RASL图片按照解码顺序在相同的相关联的RAP图片的所有拖尾图片之前。在HEVC标准的一些草案中,RASL图片被称为标记为丢弃(TFD)图片。
所有RADL图片都是前导图片。RADL图片没有用作用于相同的相关联的RAP图片的拖尾图片的解码过程的参考图片。当存在时,所有RADL图片按照解码顺序在相同的相关联的RAP图片的所有拖尾图片之前。RADL图片不引用按照解码顺序在相关联的RAP图片之前的任何图片,并且因此当解码从相关联的RAP图片开始时可以被正确地解码。在HEVC标准的一些草案中,RADL图片被称为可解码前导图片(DLP)。
当从CRA图片开始的比特流的一部分被包括在另一比特流中时,与CRA图片相关联的RASL图片可能无法正确解码,因为它们的一些参考图片可能不存在于组合比特流中。为了使这种拼接操作简单,可以改变CRA图片的NAL单元类型以指示它是BLA图片。与BLA图片相关联的RASL图片可能无法正确解码,因此不会输出/显示。此外,可以从解码中省略与BLA图片相关联的RASL图片。
BLA图片可以是比特流中按照解码顺序的第一图片,或者可以在比特流中稍后出现。每个BLA图片开始新的编码视频序列,并且对解码过程具有与IDR图片类似的效果。然而,BLA图片包含指定非空参考图片集的语法元素。当BLA图片的nal_unit_type等于BLA_W_LP时,它可能具有相关联的RASL图片,这些RASL图片不由解码器输出并且可能不可解码,因为它们可能包含对比特流中不存在的图片的引用。当BLA图片的nal_unit_type等于BLA_W_LP时,它还可以具有关联的RADL图片,这些RADL图片被指定为要被解码。当BLA图片的nal_unit_type等于BLA_W_DLP时,它不具有相关联的RASL图片,但是可以具有相关联的RADL图片,这些RADL图片被指定为要被解码。当BLA图片的nal_unit_type等于BLA_N_LP时,它没有任何相关联的前导图片。
nal_unit_type等于IDR_N_LP的IDR图片不具有存在于比特流中的相关联的前导图片。nal_unit_type等于IDR_W_LP的IDR图片不具有存在于比特流中的相关联的RASL图片,但是可以具有在比特流中的相关联的RADL图片。
当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14时,解码图片不被用作用于相同的时间子层的任何其他图片的参考。也就是说,在HEVC,当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14时,解码图片没有被包括在TemporalId的值相同的任何图片的RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr中的任一个中。nal_unit_type等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14的编码图片可以被丢弃,而不影响TemporalId的值相同的其他图片的可解码性。
拖尾图片可以定义为按照输出顺序跟随相关联的RAP图片的图片。作为拖尾图片的任何图片的nal_unit_type都不等于RADL_N、RADL_R、RASL_N或RASL_R。作为前导图片的任何图片可以被约束为按照解码顺序在与相同的RAP图片相关联的所有拖尾图片之前。在比特流中不存在与nal_unit_type等于BLA_W_DLP或BLA_N_LP的BLA图片相关联的RASL图片。在比特流中不存在与nal_unit_type等于BLA_N_LP的BLA图片相关联或者nal_unit_type等于IDR_N_LP的IDR图片相关联的RADL图片。与CRA或BLA图片相关联的任何RASL图片可以被约束按照输出顺序在与CRA或BLA图片相关联的任何RADL图片之前。与CRA图片相关联的任何RASL图片可以被约束为按照输出顺序跟随按照解码顺序在CRA图片之前的任何其他RAP图片。
在HEVC中,有两种图片类型可以用于指示时间子层切换点:TSA和STSA图片类型。如果已经解码具有高达N的TemporalId的时间子层直到TSA或STSA图片(不包括TSA或STSA图片)并且TSA或STSA图片的TemporalId等于N+1,则TSA或STSA图片能够解码TemporalId等于N+1的所有后续图片(在解码中)。TSA图片类型可以对TSA图片本身以及按照解码顺序跟随TSA图片的相同子层中的所有图片施加限制。这些图片中的任何一个都不被允许使用来自按照解码顺序在TSA图片之前的相同子层中的任何图片的帧间预测。TSA定义可以进一步对按照解码顺序跟随TSA图片的较高子层中的图片施加限制。如果图片属于与TSA图片相同或更高的子层,则不允许这些图片中的任何图片引用按照解码顺序在TSA图片之前的图片。TSA图片的TemporalId大于0。SASA类似于TSA图片,但是不对按照解码顺序跟随STSA图片的较高子层中的图片施加限制,并且因此仅允许向上切换到STSA图片所在的子层上。
非VCL NAL单元可以是例如以下类型之一:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、比特流结束NAL单元或填充数据NAL单元。可能需要参数集用于解码图片的重构,而很多其他非VCL NAL单元对于解码的样本值的重构不是必需的。当存在时,访问单元定界符NAL单元可能需要是访问单元的按照解码顺序的第一NAL单元,并且因此可以用于指示访问单元的开始。已经提出,用于编码单元完成的指示符(诸如SEI消息或专用NAL单元)可以被包括在比特流中或者从比特流中解码。编码单元完成指示符可以另外包括它是否表示编码的图片单元的结束的信息,在这种情况下,它还可以包括编码单元完成指示符表示访问单元的结束的层的组合的信息。
在编码视频序列中保持不变的参数可以被包括在序列参数集中。除了解码过程可能需要的参数之外,序列参数集可以可选地包含视频可用性信息(VUI),其包括对于缓冲、图片输出定时、绘制和资源预留可能是重要的参数。在H.264/AVC中指定了三个NAL单元来携带序列参数集:包含序列中的H.264/AVC VCL NAL单元的所有数据的序列参数集NAL单元、包含辅助编码图片的数据的序列参数集扩展NAL单元、以及MVC和SVC VCL NAL单元的子集序列参数集。在HEVC中,序列参数集RBSP包括可以由一个或多个图片参数集RBSP或包含缓冲周期SEI消息的一个或多个SEI NAL单元引用的参数。图片参数集包含在若干编码图片中可能未改变的这样的参数。图片参数集RBSP可以包括可以由一个或多个编码图片的编码的切片NAL单元引用的参数。
在HEVC中,视频参数集(VPS)可以定义为包含应用于零个或多个整个编码视频序列的语法元素的语法结构,如由在PPS中找到的语法元素引用的SPS中找到的语法元素的内容所确定的,该PPS由在每个切片片段报头中找到的语法元素引用。
视频参数集RBSP可以包括可以由一个或多个序列参数集RBSP引用的参数。
视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)之间的关系和层次可以描述如下。VPS在参数集层次中以及可扩展性和/或3D视频的上下文中位于SPS之上一级。VPS可以包括在整个编码视频序列中的所有(可扩展性或视图)层上的所有切片共用的参数。SPS包括在整个编码视频序列中的特定(可扩展性或视图)层中的所有切片共用的参数,并且可以由多个(可扩展性或视图)层共享。PPS包括特定层表示中的所有切片共用的并且可能由多个层表示中的所有切片共享的参数(一个访问单元中的一个可扩展性或视图层的表示)。
VPS可以提供关于比特流中的层的依赖关系的信息、以及适用于整个编码视频序列中的所有(可扩展性或视图)层上的所有切片的很多其他信息。VPS可以被认为包括两个部分:基本VPS和VPS扩展,其中VPS扩展可以可选地存在。在HEVC中,可以认为基础VPS包括不具有vps_extension()语法结构的video_parameter_set_rbsp()语法结构。video_parameter_set_rbsp()语法结构主要是针对HEVC版本1指定的,并且包括可以用于基本层解码的语法元素。在HEVC中,可以认为VPS扩展包括vps_extension()语法结构。vps_extension()语法结构是在HEVC第2版中主要针对多层扩展指定的,并且包括可以用于解码一个或多个非基本层的语法元素,诸如指示层依赖关系的语法元素。
H.264/AVC和HEVC语法允许参数集的很多实例,并且每个实例用唯一标识符来标识。为了限制参数集所需要的存储器使用,参数集标识符的值范围受到限制。在H.264/AVC和HEVC中,每个切片报头包括对于包含切片的图片的解码有效的图片参数集的标识符,并且每个图片参数集包含活动序列参数集的标识符。因此,图片和序列参数集的传输不必与切片的传输准确地同步。相反,在引用之前的任何时刻接收有效序列和图片参数集就足够了,这允许使用比用于切片数据的协议更可靠的传输机制来传输“带外”参数集。例如,参数集可以作为参数被包括在实时传输协议(RTP)会话的会话描述中。如果参数集是在带内传输的,则可以重复它们以提高错误稳健性。
参数集可以通过来自切片或者来自另一活动参数集或者在一些情况下来自另一语法结构的引用(诸如缓冲时段SEI消息)来激活。
SEI NAL单元可以包含一个或多个SEI消息,这些SEI消息对于输出图片的解码不是必需的,但是可以辅助相关处理,诸如图片输出定时、绘制、错误检测、错误隐藏和资源预留。在H.264/AVC和HEVC中指定了若干SEI消息,并且用户数据SEI消息使得组织和公司能够指定SEI消息以供其自己使用。H.264/AVC和HEVC包含所指定的SEI消息的语法和语义,但是没有定义用于在接收器中处理消息的过程。因此,编码器在创建SEI消息时需要遵循H.264/AVC标准或HEVC标准,并且分别符合H.264/AVC标准或HEVC标准的解码器不需要处理SEI消息以获取输出顺序一致性。在H.264/AVC和HEVC中包括SEI消息的语法和语义的原因之一是允许不同的系统规范以相同的方式解释补充信息并且因此进行互操作。意图在于,系统规范可能要求在编码端和解码端都使用特定的SEI消息,并且还可以指定用于在接收器中处理特定SEI消息的过程。
在HEVC中,存在具有彼此不同的nal_unit_type值的两种类型的SEI NAL单元,即后缀SEI NAL单元和前缀SEI NAL单元。被包含在后缀SEI NAL单元中的SEI消息与按照解码顺序在后缀SEI NAL单元之前的VCL NAL单元相关联。被包含在前缀SEI NAL单元中的SEI消息与按照解码顺序跟随前缀SEI NAL单元的VCL NAL单元相关联。
编码图片是图片的编码表示。H.264/AVC中的编码图片包括解码图片所需要的VCLNAL单元。在H.264/AVC中,编码图片可以是主编码图片或冗余编码图片。主编码图片用于有效比特流的解码过程,而冗余编码图片是只有当主编码图片不能被成功解码时才应当解码的冗余表示。在HEVC中,没有指定冗余编码图片。
在H.264/AVC中,访问单元(AU)包括主编码图片和与其相关联的那些NAL单元。在H.264/AVC中,访问单元内的NAL单元的出现顺序受到如下约束。可选的访问单元定界符NAL单元可以指示访问单元的开始。接下来是零个或多个SEI NAL单元。接下来出现主编码图片的编码切片。在H.264/AVC中,主编码图片的编码切片之后可以是用于零个或多个冗余编码图片的编码切片。冗余编码图片是图片或图片的一部分的编码表示。如果解码器例如由于传输损失或物理存储介质的损坏而没有接收到主编码图片,则可以解码冗余编码图片。
在HEVC中,编码图片可以定义为包含图片的所有编码树单元的图片的编码表示。在HEVC中,访问单元(AU)可以定义为一组NAL单元,这些NAL单元根据指定的分类规则彼此相关联,按照解码顺序是连续的,并且包含nuh_layer_id具有任何特定值的至多一个图片。除了包含编码图片的VCL NAL单元之外,访问单元还可以包含非VCL NAL单元。
可能需要编码图片以特定顺序出现在访问单元内。例如,可能需要nuh_layer_id等于nuhLayerIdA的编码图片按照解码顺序在相同的访问单元中nuh_layer_id大于nuhLayerIdA的所有编码图片之前。
在HEVC中,图片单元可以定义为一组NAL单元,其包含编码图片的所有VCL NAL单元及其相关联的非VCL NAL单元。非VCL NAL单元的相关联的VCL NAL单元可以被定义为用于某些类型的非VCL NAL单元的非VCL NAL单元的按照解码顺序的在前VCL NAL单元、以及用于其他类型的非VCL NAL单元的非VCL NAL单元的按照解码顺序的下一VCL NAL单元。VCLNAL单元的相关联的非VCL NAL单元可以定义为VCL NAL单元是相关联的VCL NAL单元的非VCL NAL单元。例如,在HEVC中,相关联的VCL NAL单元可以被解释为nal_unit_type等于EOS_NUT、EOB_NUT、FD_NUT或SUFFIX_SEI_NUT或者在RSV_NVCL45..RSV_NVCL47或UNSPEC56..UNSPEC63的范围内的非VCL NAL单元的按照解码顺序的在前VCL NAL单元;或者按照解码顺序的下一VCL NAL单元。
比特流可以定义为NAL单元流或字节流形式的比特序列,该比特序列形成编码图片的表示和形成一个或多个编码视频序列的相关联的数据。第一比特流之后可以是相同逻辑信道中的第二比特流,诸如在相同文件中或在通信协议的相同连接中。基本流(在视频编码的上下文中)可以定义为一个或多个比特流的序列。第一比特流的结束可以由特定NAL单元指示,该特定NAL单元可以称为比特流结束(EOB)NAL单元并且是比特流的最后NAL单元。在HEVC及其当前的草案扩展中,EOB NAL单元的nuh_layer_id需要等于0。
在H.264/AVC中,编码视频序列被定义为从IDR访问单元(包括IDR访问单元)到下一IDR访问单元(不包括IDR访问单元)或到比特流结束(无论哪个先出现)的解码顺序的连续访问单元序列。
在HEVC中,编码视频序列(CVS)可以定义为例如访问单元序列,该访问单元序列按照解码顺序包括NoRaslOutputFlag等于1的IRAP访问单元,接着是不是NoRaslOutputFlag等于1的IRAP访问单元的零个或多个访问单元,包括所有后续访问单元,直到但是不包括作为NoRaslOutputFlag等于1的IRAP访问单元的任何后续访问单元。IRAP访问单元可以定义为其中基本层图片是IRAP图片的访问单元。NoRaslOutputFlag的值对于每个IDR图片、每个BLA图片以及作为按照解码顺序是比特流中的该特定层中的第一图片的每个IRAP图片(其是具有相同的nuh_layer_id值的按照解码顺序在序列NAL单元结束之后的第一IRAP图片)等于1。在多层HEVC中,对于每个IRAP图片,NoRaslOutputFlag的值等于1,其中该IRAP图片的nuh_layer_id使得对于等于IdDirectRefLayer[nuh_layer_id][j]的refLayerId的所有值,LayerInitializedFlag[nuh_layer_id]等于0并且LayerInitializedFlag[refLayerId]等于1,其中j在0到NumDirectRefLayers[nuh_layer_id]-1的范围内,包括端点。否则,NoRaslOutputFlag的值等于HandleCraAsBlaFlag。等于1的NoRaslOutputFlag具有以下影响,即解码器不输出与其NoRaslOutputFlag被设置的IRAP图片相关联的RASL图片。可以存在用于从可以控制解码器的外部实体(诸如播放器或接收器)向解码器提供HandleCraAsBlaFlag的值的手段。HandleCraAsBlaFlag可以被设置为1,例如由寻求比特流中的新位置或调谐到广播并且开始解码并且然后从CRA图片开始解码的播放器。当HandleCraAsBlaFlag对于CRA图片等于1时,CRA图片被处理和解码,就好像它是BLA图片一样。
在HEVC中,当特定NAL单元(其可以称为序列结束(EOS)NAL单元)出现在比特流中并且其nuh_layer_id等于0时,可以附加地或备选地(对于上面的说明)指定编码视频序列。
在HEVC中,编码视频序列组(CVSG)可以定义为例如共同包括激活尚未激活的VPSRBSP firstVpsRbsp的IRAP访问单元的按照解码顺序的一个或多个连续CVS,随后是按照解码顺序的所有后续的接入单元,这些接入单元的firstVpsRbsp是有效VPS RBSP,直到比特流的结束或者直到但是不包括激活不同于firstVpsRbsp的VPSRSP的访问单元(无论哪个按照解码顺序先出现)。
H.264/AVC和HEVC的比特流语法指示特定图片是否是任何其他图片的帧间预测的参考图片。在H.264/AVC和HEVC中,任何编码类型(I、P、B)的图片可以是参考图片或非参考图片。
在HEVC中,使用参考图片集(RPS)语法结构和解码过程。对图片有效或激活的参考图片集包括用作图片的参考的所有参考图片以及对于按照解码顺序的任何后续图片保持标记为“用于参考”的所有参考图片。参考图片集有六个子集,分别称为RefPicSetStCurr0(又称为RefPicSetStCurrBefore)、RefPicSetStCurr1(又称为RefPicSetStCurrAfter)、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll。RefPicSetStFoll0和RefPicSetStFoll1也可以被认为联合形成一个子集RefPicSetStFoll。六个子集的符号如下。“Curr”是指可以被包括在当前图片的参考图片列表中并且因此可以用作当前图片的帧间预测参考的参考图片。“Foll”是指未被包括在当前图片的参考图片列表中但是可以在按照解码顺序的后续图片中用作参考图片的参考图片。“St”是指短期参考图片,其通常可以通过其POC值的一定数目的最低有效位来标识。“Lt”是指长期参考图片,其被具体地标识并且通常其相对于当前图片的POC值的差异大于可以由所提到的特定数目的最低有效位表示的POC值。“0”是指POC值小于当前图片的POC值那些参考图片。“1”是指POC值大于当前图片的POC值的那些参考图片。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0和RefPicSetStFoll1统称为参考图片集的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考图片集的长期子集。
在HEVC中,可以在序列参数集中指定参考图片集,并且通过到参考图片集的索引在切片报头中使用参考图片集。还可以在切片报头中指定参考图片集。参考图片集可以独立编码,或者可以从另一参考图片集来预测(称为RPS间预测)。在两种类型的参考图片集编码中,另外针对每个参考图片发送指示参考图片是(被包括在*Curr列表中)否(被包括在*Foll列表中)被当前图片用于参考的标志(used_by_curr_pic_X_flag)。被包括在当前切片所使用的参考图片集中的图片被标记为“用于参考”,并且不在当前切片所使用的参考图片集中的图片被标记为“未用于参考”。如果当前图片是IDR图片,则RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll都被设置为空。
可以在编码器和/或解码器中使用解码图片缓冲器(DPB)。缓冲解码图片有两个原因:用于在帧间预测中的引用以及用于将解码图片重新排序成输出顺序。由于H.264/AVC和HEVC为参考图片标记和输出重新排序提供了很大的灵活性,所以用于参考图片缓冲和输出图片缓冲的单独缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考图片和输出重新排序的统一解码图片缓冲过程。当解码图片不再用作参考并且不需要输出时,可以从DPB移除解码图片。
在H.264/AVC和HEVC的很多编码模式中,使用到参考图片列表的索引来指示用于帧间预测的参考图片。索引可以用可变长度编码来编码,这通常使得较小的索引具有相应语法元素的较短值。在H.264/AVC和HEVC中,为每个双向预测(B)切片生成两个参考图片列表(参考图片列表0和参考图片列表1),并且为每个帧间编码(P)切片形成一个参考图片列表(参考图片列表0)。
参考图片列表(诸如参考图片列表0和参考图片列表1)通常分两个步骤构成:首先,生成初始参考图片列表。初始参考图片列表可以例如基于frame_num、POC、temporal_id(或TemporalId等)或关于预测层级的信息(诸如GOP结构)或其任何组合来生成。其次,初始参考图片列表可以通过可以包含在切片报头中的参考图片列表重新排序(RPLR)命令(也称为参考图片列表修改语法结构)来重新排序。在H.264/AVC中,RPLR命令指示被排序到相应参考图片列表的开头的图片。该第二步骤也可以称为参考图片列表修改过程,并且RPLR命令可以被包括在参考图片列表修改语法结构中。如果使用参考图片集,则可以初始化参考图片列表0以首先包含RefPicSetStCurr0,然后是RefPicSetStCurr1,然后是RefPicSetLtCurr。可以初始化参考图片列表1以首先包含RefPicSetStCurr1,然后是RefPicSetStCurr0。在HEVC中,可以通过参考图片列表修改语法结构来修改初始参考图片列表,其中可以通过列表的条目索引来标识初始参考图片列表中的图片。换言之,在HEVC中,参考图片列表修改被编码为语法结构,该语法结构包括在最终参考图片列表中的每个条目上的循环,其中每个循环条目是到初始参考图片列表的固定长度编码索引并且指示最终参考图片列表中按照位置升序的图片。
很多编码标准(包括H.264/AVC和HEVC)可以具有解码过程以导出到参考图片列表的参考图片索引,其可以用于指示多个参考图片中的哪个用于特定块的帧间预测。参考图片索引可以由编码器以一些帧间编码模式编码到比特流中,或者可以(例如,通过编码器和解码器)例如以一些其他帧间编码模式使用相邻的块来导出。
可扩展视频编码可以指代其中一个比特流可以包含内容的多个表示(例如,以不同的比特率、分辨率或帧速率)的编码结构。在这些情况下,接收器可以根据其特性(例如,最匹配显示设备的分辨率)提取期望的表示。或者,服务器或网络元件可以根据例如接收器的网络特性或处理能力来提取要传输到接收器的比特流的部分。可以通过仅解码可扩展比特流的某些部分来产生有意义的解码表示。可扩展比特流通常包括提供可用的最低质量视频的“基本层”和当与较低层一起接收和解码时增强视频质量的一个或多个增强层。为了提高增强层的编码效率,该层的编码表示通常取决于较低层。例如。可以从较低层预测增强层的运动和模式信息。类似地,较低层的像素数据可以用于创建增强层的预测。
在一些可扩展视频编码方案中,视频信号可以被编码到基本层和一个或多个增强层中。增强层可以增强例如时间分辨率(即,帧速率)、空间分辨率,或者简单地增强由另一层或其一部分表示的视频内容的质量。每个层连同其所有依赖层是视频信号的一种表示,例如,以特定空间分辨率、时间分辨率和质量水平。在本文档中,将可扩展层及其所有依赖层称为“可扩展层表示”。可以提取和解码与可扩展层表示相对应的可扩展比特流的部分,以便以特定保真度产生原始信号的表示。
可扩展性模式或可扩展性维度可以包括但不限于以下内容:
-质量可扩展性:基本层图片以低于增强层图片的质量被编码,这可以例如在基本层中使用比增强层中的更大的量化参数值(即,用于变换系数量化的更大量化步长)来实现。如下所述,质量可扩展性可以进一步分为细粒度或细粒度可扩展性(FGS)、中粒度或中粒度可扩展性(MGS)和/或粗粒度或粗粒度可扩展性(CGS)。
-空间可扩展性:基本层图片以比增强层图片更低的分辨率(即,具有更少的样本)被编码。空间可扩展性和质量可扩展性、特别是其粗粒度可扩展性类型有时可以被视为相同类型的可扩展性。
-比特深度可扩展性:基本层图片以比增强层图片(例如,10或12比特)更低的比特深度(例如,8比特)被编码。
-动态范围可扩展性:可扩展层表示使用不同色调映射函数和/或不同光学传递函数获取的不同动态范围和/或图像。
-色度格式可扩展性:基本层图片在色度样本阵列中提供比增强层图片(例如,4:4:4格式)更低的空间分辨率(例如,以4:2:0色度格式编码)。
-色域可扩展性:增强层图片具有比基本层图片更丰富/更宽的颜色表示范围——例如,增强层可以具有UHDTV(ITU-R BT.2020)色域,并且基本层可以具有ITU-R BT.709色域。
-查看可扩展性,其也可称为多视图编码。基本层表示第一视图,而增强层表示第二视图。
-深度可扩展性,其也可以称为深度增强编码。比特流的一个层或一些层可以表示纹理视图,而其他一个层或多个层可以表示深度视图。
-感兴趣区域可扩展性(如下所述)。
-隔行扫描到逐行扫描可扩展性(也称为场到帧可扩展性):基本层的编码的隔行扫描源内容材料用增强层增强以表示逐行扫描源内容。基本层中的编码的隔行扫描源内容可以包括编码字段、表示字段对的编码帧或它们的混合。在隔行扫描到逐行扫描可扩展性中,可以重新采样基本层图片,使得它成为一个或多个增强层图片的合适的参考图片。
-混合编解码器可扩展性(也称为编码标准可扩展性):在混合编解码器可扩展性中,基本层和增强层的比特流语法、语义和解码过程在不同的视频编码标准中指定。因此,基本层图片根据与增强层图片不同的编码标准或格式来编码。例如,基本层可以用H.264/AVC编码,并且增强层可以用HEVC多层扩展编码。外部基本层图片可以定义为由用于增强层解码过程的外部手段提供并且如增强层解码过程的解码的基本层图片被处理的解码图片。SHVC和MV-HEVC允许使用外部基本层图片。
应当理解,很多可扩展性类型可以组合并且一起应用。例如,可以组合色域可扩展性和比特深度可扩展性。
术语层可以用于任何类型的可扩展性的上下文中,包括视图可扩展性和深度增强。增强层可以指代任何类型的增强,诸如SNR、空间、多视图、深度、比特深度、色度格式和/或色域增强。基本层可以指代任何类型的基本视频序列,诸如基本视图、用于SNR/空间可扩展性的基本层、或用于深度增强的视频编码的纹理基本视图。
目前正在研究和开发用于提供三维(3D)视频内容的各种技术。可以认为,在立体视频或双视图视频中,为左眼呈现一个视频序列或视图,而为右眼呈现平行视图。对于能够进行视点切换的应用或者对于可以同时呈现大量视图并且让观看者从不同视点观察内容的自动立体显示器,可能需要多于两个平行视图。
视图可以定义为表示一个相机或视点的图片序列。表示视图的图片也可以称为视图组件。换言之,视图分量可以定义为单个访问单元中的视图的编码表示。在多视图视频编码中,在比特流中编码多于一个视图。由于视图通常旨在显示在立体或多视图自动立体显示器上或用于其他3D布置,因此它们通常表示相同的场景并且逐内容部分交叠,尽管表示对内容的不同视点。因此,可以在多视图视频编码中利用视图间预测以利用视图间相关性并且提高压缩效率。实现视图间预测的一种方式是在驻留在第一视图内的被编码或解码的图片的参考图片列表中包括一个或多个其他视图的一个或多个解码图片。视图可扩展性可以是指这样的多视图视频编码或多视图视频比特流,其允许移除或省略一个或多个编码视图,同时所得到的比特流保持一致并且使用比最初更少数目的视图来表示视频。
在宽FOV或全景图片或视频的上下文中,视图方向可以被定义为表示特定方向(例如,全景视频内的角度方向)和视场的图片或视频的空间子集。在多视图视频的上下文中,视图方向可以被视为视图的方向,例如,表示在捕获视图时相应相机指向的方向。
感兴趣区域(ROI)编码可以定义为指代以更高保真度对视频内的特定区域进行编码。存在若干方法用于编码器和/或其他实体从要编码的输入图片来确定ROI。例如,可以使用面部检测,并且可以将面部确定为ROI。附加地或备选地,在另一示例中,可以将处于焦点的对象检测和确定为ROI,而将焦点之外的对象确定为外部ROI。附加地或备选地,在另一示例中,到物体的距离可以估计或已知,例如,在深度传感器的基础上,ROI可以被确定为相对靠近相机而不是背景的那些物体。
ROI可扩展性可以定义为一种可扩展性,其中增强层仅增强参考层图片的一部分,例如,空间、质量方面、位深度和/或其他可扩展性维度。由于ROI可扩展性可以与其他类型的可扩展性一起使用,因此可以认为其形成可扩展性类型的不同分类。对于具有不同要求的ROI编码存在若干不同的应用,这可以通过使用ROI可扩展性来实现。例如,可以传输增强层以增强基本层中的区域的质量和/或分辨率。接收增强和基本层比特流两者的解码器可以解码两个层并且将解码的图片叠加在彼此之上并且显示最终图片。
参考层图片和增强层图片的空间对应关系可以推断,或者可以用一种或多种类型的所谓的参考层位置偏移来指示。在HEVC中,参考层位置偏移可以由编码器包括在PPS中并且由解码器从PPS解码。参考层位置偏移可以用于但不限于实现ROI可扩展性。参考层位置偏移可以包括缩放的参考层偏移、参考区域偏移和重新采样相位集中的一个或多个。可以认为缩放的参考层偏移指定与参考层中的解码图片中的参考区域的左上亮度样本并置的当前图片中的样本之间的水平和竖直偏移以及与参考层中的解码图片中的参考区域的右下亮度样本并置的当前图片中的样本之间的水平和竖直偏移。另一种方式是考虑缩放的参考层偏移以指定上采样的参考区域的角部样本相对于增强层图片的相应角部样本的位置。可以对缩放的参考层偏移值进行签名。可以考虑参考区域偏移来指定参考层中的解码图片中的参考区域的左上亮度样本与相同的解码图片的左上亮度样本之间的水平和竖直偏移以及参考层中的解码图片中的参考区域的右下亮度样本与相同的解码图片的右下亮度样本之间的水平和竖直偏移。可以对参考区域偏移值进行签名。可以考虑重新采样相位集以指定在用于层间预测的源图片的重新采样过程中使用的相位偏移。可以为亮度和色度分量提供不同的相位偏移。
混合编解码器可扩展性可以与任何类型的可扩展性一起使用,诸如时间、质量、空间、多视图、深度增强、辅助图片、比特深度、色域、色度格式和/或ROI可扩展性。由于混合编解码器可扩展性可以与其他类型的可扩展性一起使用,因此可以认为其形成可扩展性类型的不同分类。
可以例如在增强层比特流中指示混合编解码器可扩展性的使用。例如,在多层HEVC中,可以在VPS中指示混合编解码器可扩展性的使用,例如使用语法元素vps_base_layer_internal_flag。
可以以两种基本方式启用可扩展性。通过引入用于从可扩展表示的较低层执行像素值或语法的预测的新的编码模式,或者通过将较低层图片放置到较高层的参考图片缓冲器(例如,解码图片缓冲器,DPB)。第一种方法可以更灵活,并且因此在大多数情况下可以提供更好的编码效率。然而,第二种基于参考帧的可扩展性方法可以在对单层编解码器的改变最小的情况下有效地实现,同时仍然实现大部分的可用编码效率增益。基本上,基于参考帧的可扩展性编解码器可以通过针对所有层利用相同的硬件或软件实现来实现,仅借助外部手段来处理DPB管理。
用于质量可扩展性(也称为信噪比或SNR)和/或空间可扩展性的可扩展视频编码器可以如下实现。对于基本层,可以使用传统的不可扩展视频编码器和解码器。基本层的重构/解码图片被包括在用于增强层的参考图片缓冲器和/或参考图片列表中。在空间可扩展性的情况下,可以在将重构/解码的基本层图片插入到用于增强层图片的参考图片列表中之前对其进行上采样。可以将基本层解码图片插入到参考图片列表中,用于与增强层的解码参考图片类似地对增强层图片进行编码/解码。因此,编码器可以选择基本层参考图片作为帧间预测参考,并且在编码比特流中使用参考图片索引来指示其使用。解码器从比特流(例如,从参考图片索引)解码出基本层图片被用作增强层的帧间预测参考。当解码的基本层图片用作增强层的预测参考时,其被称为层间参考图片。
虽然前一段描述了具有具有增强层和基本层的两个可扩展性层的可扩展视频编解码器,但是需要理解的是,该描述可以推广到具有多于两个层的可扩展性层次中的任何两个层。在这种情况下,第二增强层可以取决于编码和/或解码过程中的第一增强层,并且因此第一增强层可以被视为用于第二增强层的编码和/或解码的基本层。此外,需要理解的是,可以存在来自参考图片缓冲器中的多于一个层的层间参考图片或者增强层的参考图片列表,并且可以认为这些层间参考图片中的每个都驻留在用于编码和/或解码的增强层的基本层或参考层中。此外,需要理解的是,可以备选地或附加地进行除了参考层图片上采样之外的其他类型的层间处理。例如,参考层图片的样本的比特深度可以被转换为增强层的比特深度,和/或样本值可以经历从参考层的颜色空间到增强层的颜色空间的映射。
可扩展视频编码和/或解码方案可以使用多环编码和/或解码,其可以表征如下。在编码/解码中,可以重构/解码基本层图片以用作在同一层内按照编码/解码顺序的后续图片的运动补偿参考图片或者用作层间(或视图间或组件间)预测的参考。重构/解码的基本层图片可以存储在DPB中。同样,可以重构/解码增强层图片以用作在同一层内按照编码/解码顺序的后续图片的运动补偿参考图片或者用作更高的增强层(如果有的话)的层间(或视图间或组件间)预测的参考。除了重构/解码的样本值之外,基本/参考层的语法元素值或从基本/参考层的语法元素值导出的变量可以用在层间/组件间/视图间预测中。
可以以依赖于来自与当前图片的层(被编码或解码)不同的层的参考图片的数据元素(例如,样本值或运动矢量)的方式将层间预测定义为预测。存在很多类型的层间预测,并且其可以在可扩展视频编码器/解码器中应用。可用的层间预测类型可以例如取决于比特流或比特流内的特定层正在根据其被编码的编码简档或者当解码时比特流或比特流内的特定层被指示为符合的编码简档。备选地或附加地,可用的层间预测类型可以取决于可扩展性的类型或正在使用的可扩展编解码器或视频编码标准修改(例如,SHVC、MV-HEVC或3D-HEVC)的类型。
层间预测的类型可以包括但不限于以下中的一个或多个:层间样本预测、层间运动预测、层间残差预测。在层间样本预测中,用于层间预测的源图片的重构样本值的至少子集被用作用于预测当前图片的样本值的参考。在层间运动预测中,用于层间预测的源图片的运动矢量的至少子集被用作用于预测当前图片的运动矢量的参考。通常,预测关于哪些参考图片与运动矢量相关联的信息也被包括在层间运动预测中。例如,运动矢量的参考图片的参考索引可以是层间预测的,和/或参考图片的图片顺序计数或任何其他标识可以是层间预测的。在一些情况下,层间运动预测还可以包括块编码模式、报头信息、块分区和/或其他类似参数的预测。在一些情况下,编码参数预测(诸如块分区的层间预测)可以被视为另一种类型的层间预测。在层间残差预测中,用于层间预测的源图片的选定块的预测误差或残差用于预测当前图片。在诸如3D-HEVC等多视图加深度编码中,可以应用跨分量层间预测,其中第一类型的图片(诸如深度图片)可以影响诸如传统的纹理图片等第二类型的图片的层间预测。例如,可以应用视差补偿的层间样本值和/或运动预测,其中视差可至少部分地从深度图片中导出。
当预测发生在不同视图之间时,术语视图间预测可以与层间预测可互换地使用。在一些编码规范中,视图间预测可以约束为例如在相同空间分辨率的图片之间发生,这可能导致视图间预测不需要诸如重新采样或运动场映射等层间处理。
直接参考层可以定义为如下层:其可以用于该层是其直接参考层的另一层的层间预测。直接预测层可以定义为另一层是其直接参考层的层。间接参考层可以定义为不是第二层的直接参考层但是第三层的直接参考层的层,该第三层是第二层的直接参考层或第二层的直接参考层的间接参考层,该间接参考层是第二层的间接参考层。间接预测层可以定义为另一层是其间接参考层的层。独立层可以定义为不具有直接参考层的层。换言之,不使用层间预测来预测独立层。非基本层可以定义为除了基本层之外的任何其他层,并且基本层可以定义为比特流中的最低层。独立的非基本层可以定义为既是独立层又是非基本层的层。
用于层间预测的源图片可以定义为解码图片,该解码图片是或者用于导出可以用作用于预测当前图片的参考图片的层间参考图片。在多层HEVC扩展中,层间参考图片被包括在当前图片的层间参考图片集中。层间参考图片可以定义为可以用于当前图片的层间预测的参考图片。在编码和/或解码过程中,层间参考图片可以被视为长期参考图片。参考层图片可以定义为诸如当前层或当前图片(正在被编码或解码)等特定层或特定图片的直接参考层中的图片。参考层图片可以但不必用作用于层间预测的源图片。有时,用于层间预测的术语参考层图片和源图片可以可互换地使用。
用于层间预测的源图片可能需要与当前图片在相同的访问单元中。在某些情况下,例如当不需要重新采样、运动场映射或其他层间处理时,用于层间预测的源图片和相应的层间参考图片可以是相同的。在某些情况下,例如当需要重新采样以使参考层的采样网格与当前图片的层的采样网格(正在被编码或解码)相匹配时,应用层间处理以从用于层间预测的源图片中导出层间参考图片。在下面的段落中描述这种层间处理的示例。
层间样本预测可以包括对用于层间预测的源图片的样本阵列进行重新采样。编码器和/或解码器可以例如基于一对增强层及其参考层的参考层位置偏移来导出这对增强层及其参考层的水平比例因子(例如,存储在变量ScaleFactorX中)和竖直比例因子(例如,存储在变量ScaleFactorY中)。如果比例因子中的任一者或两者不等于1,则可以重新采样用于层间预测的源图片以生成用于预测增强层图片的层间参考图片。用于重新采样的过程和/或滤波器可以例如在编码标准中预定义和/或由编码器在比特流中指示(例如,作为预定义的重新采样过程或滤波器中的索引)和/或由解码器从比特流中解码。不同的重新采样过程可以由编码器指示和/或由解码器解码和/或由编码器和/或解码器根据比例因子的值来推断。例如,当两个比例因子小于1时,可以推断预定义的下采样过程;当两个比例因子都大于1时,可以推断预定义的上采样过程。附加地或备选地,不同的重新采样过程可以由编码器指示和/或由解码器解码和/或由编码器和/或解码器根据处理哪个样本阵列来推断。例如,可以推断第一重新采样过程以用于亮度样本阵列,并且可以推断第二重新采样过程以用于色度样本阵列。
可以例如逐图片(针对用于层间预测的整个源图片或针对用于层间预测的源图片的参考区域)、逐切片(例如,针对与增强层切片相对应的参考层区域)或逐块(例如,针对与增强层编码树单元相对应的参考层区域)地执行重新采样。所确定的区域(例如,增强层图片中的图片、切片或编码树单元)的重新采样可以例如通过循环所确定的区域的所有样本位置并且对每个样本位置执行逐样本的重新采样过程来执行。然而,应当理解,存在重新采样所确定的区域的其他可能性——例如,某个样本位置的过滤可以使用先前样本位置的变量值。
可以以受约束的方式对特定预测层上的图片序列中的特定位置的瓦片集进行编码,使得对特定预测层上的图片序列中的该特定位置的瓦片集的解码不需要在预测层的参考层上的参考瓦片集之外的样本值。在HEVC中,可以利用层间约束的瓦片集SEI消息来指示这种约束。层间约束的瓦片集SEI消息的存在指示层间预测过程被约束,使得在每个相关联的参考瓦片集之外没有样本值,并且在使用在每个相关联的参考瓦片集之外的一个或多个样本值导出的分数样本位置处没有样本值用于所标识的瓦片集内的任何样本的层间预测。还可以约束所标识的瓦片集(在预测的层上)的编码,允许满足时间运动约束的瓦片集SEI消息的约束(对于所标识的瓦片集)并且可以针对所标识的瓦片集来编码时间运动约束的瓦片集SEI消息。同样地,附加地或备选地,还可以约束参考瓦片集(在预测层的参考层上)的编码,允许满足时间运动约束的瓦片集SEI消息的约束(对于参考瓦片集)并且可以针对参考瓦片集来编码时间运动约束的瓦片集SEI消息。
SHVC允许使用加权预测或基于3D查找表(LUT)的颜色映射过程用于(但不限于)色域可扩展性。3D LUT方法可以描述如下。每个颜色分量的样本值范围可以首先分成两个范围,以形成高达2×2×2的八分圆,并且然后亮度范围可以进一步分成四个部分,从而产生高达8×2×2的八分圆。在每个八分圆内,应用交叉颜色分量线性模型来执行颜色映射。对于每个八分圆,将四个顶点编码到比特流中和/或从比特流解码,以在八分圆内表示线性模型。对于每个颜色分量,颜色映射表被分别编码到比特流中和/或从比特流中解码。颜色映射可以被认为涉及三个步骤:首先,确定给定参考层样本三元组(Y,Cb,Cr)所属的八分圆。其次,可以通过应用颜色分量调节过程来对准亮度和色度的样本位置。第三,应用为所确定的八分圆指定的线性映射。映射可以具有跨组件性质,即,一个颜色分量的输入值可以影响另一颜色分量的映射值。另外,如果还需要层间重新采样,则重新采样过程的输入是已经颜色映射的图片。颜色映射可以(但不需要)将第一比特深度的样本映射到另一比特深度的样本。
在MV-HEVC和SHVC中,不改变块级语法和解码过程以支持层间纹理预测。仅修改高级语法(与HEVC的语法相比),使得来自相同的访问单元的参考层的重构图片(如果需要则上采样)可以用作用于编码当前增强层图片的参考图片。层间参考图片以及时间参考图片被包括在参考图片列表中。用信号传输的参考图片索引用于指示当前预测单元(PU)是从时间参考图片还是层间参考图片预测的。该特征的使用可以由编码器控制并且在比特流中指示,例如在视频参数集、序列参数集、图片参数和/或切片报头中。例如,指示可以特定于增强层、参考层、一对增强层和参考层、特定TemporalId值、特定图片类型(例如,RAP图片)、特定切片类型(例如,P和B切片,但不是I切片)、特定POC值的图片和/或特定访问单元。指示的范围和/或持久性可以与指示本身一起指示和/或可以被推断。
MV-HEVC和SHVC中的参考列表可以使用特定过程来初始化,在该特定过程中,层间参考图片(如果有的话)可以被包括在初始参考图片列表中。例如,可以以与HEVC中的参考列表构造相同的方式首先将时间参考添加到参考列表(L0,L1)中。之后,可以在时间参考之后添加层间参考。层间参考图片可以例如从层依赖性信息中推断,诸如如上所述从VPS扩展导出的RefLayerId[i]变量。如果当前增强层切片是P切片,则可以将层间参考图片添加到初始参考图片列表L0,并且如果当前增强层切片是B切片,则可以将层间参考图片添加到初始参考图片列表L0和L1两者。可以以特定顺序将层间参考图片添加到参考图片列表,这对于两个参考图片列表可以但不必相同。例如,与初始参考图片列表0的相比,可以使用将层间参考图片添加到初始参考图片列表1中的相反顺序。例如,可以将层间参考图片以nuh_layer_id的升序插入到初始参考图片0中,而相反的顺序可以用于初始化初始参考图片列表1。
在编码和/或解码过程中,层间参考图片可以被视为长期参考图片。
可以如下实现层间运动预测。诸如H.265/HEVC的TMVP等时间运动矢量预测过程可以用于利用不同层之间的运动数据的冗余。这可以如下完成:当对解码的基本层图片进行上采样时,基本层图片的运动数据也被映射到增强层的分辨率。如果增强层图片利用来自基本层图片的运动矢量预测,例如,利用诸如H.265/HEVC的TMVP等时间运动矢量预测机制,则相应的运动矢量预测器源自映射的基本层运动场。这样,可以利用不同层的运动数据之间的相关性来提高可扩展视频编码器的编码效率。
在SHVC等中,可以通过将层间参考图片设置为用于TMVP推导的并置参考图片来执行层间运动预测。可以执行两个层之间的运动场映射处理,例如以避免TMVP推导中的块级解码过程修改。运动场映射特征的使用可以由编码器控制并且在比特流中指示,例如在视频参数集、序列参数集、图片参数和/或切片报头中。指示可以特定于增强层、参考层、一对增强层和参考层、特定TemporalId值、特定图片类型(例如,RAP图片)、特定切片类型(例如,P和B切片,但不是I切片)、特定POC值的图片和/或特定访问单元。指示的范围和/或持久性可以与指示本身一起指示和/或可以被推断。
在用于空间可扩展性的运动场映射过程中,可以基于用于层间预测的相应源图片的运动场来获取上采样的层间参考图片的运动场。可以从相应的运动参数和/或用于层间预测的源图片中的并置块的预测模式来导出用于上采样的层间参考图片的运动参数(其可以例如包括水平和/或竖直运动矢量值和参考索引)和/或每个块的预测模式。用于推导上采样的层间参考图片中的运动参数和/或预测模式的块大小可以是例如16×16。16×16块大小与其中使用参考图片的压缩运动场的HEVC TMVP推导过程中的相同。
在一些情况下,增强层中的数据可以在某个位置之后被截断,或甚至在任意位置被截断,其中每个截断位置可以包括表示越来越增强的视觉质量的附加数据。这种可扩展性称为细粒度(粒度)可扩展性(FGS)。
与MVC类似,在MV-HEVC中,视图间参考图片可以被包括在正在被编码或解码的当前图片的参考图片列表中。SHVC使用多循环解码操作(与H.264/AVC的SVC扩展不同)。可以认为SHVC使用基于参考索引的方法,即,层间参考图片可以被包括在正在被编码或解码的当前图片的一个或多个参考图片列表中(如上所述)。
对于增强层编码,HEVC基本层的概念和编码工具可以用在SHVC、MV-HEVC等中。然而,在参考层中采用已经编码的数据(包括重构的图片样本和运动参数,也称为运动信息)以便有效地编码增强层的附加层间预测工具可以集成到SHVC、MV-HEVC和/或相似的编解码器中。
已经提出比特流不一定需要被包括在比特流中或者在外部提供的基本层(即,在多层HEVC扩展中nuh_layer_id等于0的层)(在混合编解码器可扩展性的情况下),但是最低层可以是独立的非基本层。在一些情况下,比特流中存在的nuh_layer_id最低的层可以被视为比特流的基本层。
在HEVC中,VPS标志vps_base_layer_internal_flag和vps_base_layer_available_flag可以如下用于指示基本层的存在和可用性:如果vps_base_layer_internal_flag等于1并且vps_base_layer_available_flag等于1,则基本层存在于比特流中。否则,如果vps_base_layer_internal_flag等于0并且vps_base_layer_available_flag等于1,则借助外部手段将基本层提供给多层HEVC解码过程,即解码的基本层图片以及用于解码的基本层图片的某些变量和语法元素被提供给多层HEVC解码过程。借助外部手段提供给多层HEVC解码过程和/或各个解码的基本层图片的基本层可以称为外部基本层。否则,如果vps_base_layer_internal_flag等于1并且vps_base_layer_available_flag等于0,则基本层是不可用的(既不存在于所述比特流中也不是借助外部手段提供的),但是VPS包括基本层的信息,就好像它是存在于比特流中。否则(vps_base_layer_internal_flag等于0并且vps_base_layer_available_flag等于0),基本层是不可用的(既不存在于比特流中也不是借助外部手段提供的),但是VPS包括基本层的信息,就好像它是借助外部手段提供的。
编码标准可以包括子比特流提取过程,并且例如在SVC、MVC和HEVC中指定。子比特流提取过程涉及通常通过去除NAL单元来将比特流转换为子比特流,子比特流也可以称为比特流子集。子比特流仍然符合标准。例如,在HEVC中,通过排除TemporalId值大于选定值的所有VCL NAL单元并且包括所有其他VCL NAL单元而创建的比特流保持一致。
HEVC标准(第2版)包括三个子比特流提取过程。HEVC标准的第10条中的子比特流提取过程与F.10.1条中的相同,不同之处在于,在F.10.1条中放宽了对所得到的子比特流的比特流一致性要求,使得它也可以用于其中基本层是外部的(在这种情况下,vps_base_layer_internal_flag等于0)或不可用(在这种情况下,vps_base_layer_available_flag等于0)的比特流。HEVC标准的第F.10.3条(第2版)规定了子比特流提取过程,该过程产生不包含基本层的子比特流。所有三个子比特流提取过程类似地操作:子比特流提取过程将TemporalId和/或nuh_layer_id值列表作为输入,并且通过从比特流中移除TemporalId大于输入TemporalId值或nuh_layer_id值不在nuh_layer_id值的输入列表中的值中的所有NAL单元来导出子比特流(也称为比特流子集)。
编码标准或系统可以是指术语操作点等,其可以指示解码操作所在的可扩展层和/或子层和/或可以与包括可扩展层和/或正在被解码的子层的子比特流相关联的可扩展层和/或子层。在HEVC中,操作点被定义为通过子比特流提取过程的操作从另一比特流创建的比特流,其中另一比特流、目标最高TemporalId和目标层标识符列表作为输入。
输出层可以定义为通过解码过程输出其解码图片的层。输出层可以取决于多层比特流的哪个子集被解码。通过解码过程输出的图片可以被进一步处理,例如,可以执行从YUV颜色空间到RGB的颜色空间转换,并且可以显示它们。然而,进一步的处理和/或显示可以被认为是解码器外部的过程和/或解码过程,并且可能不会发生。
在多层视频比特流中,操作点定义可以包括考虑目标输出层集。例如,操作点可以定义为通过以另一比特流、目标最高时间子层(例如,目标最高TemporalId)和目标层标识符列表作为输入的子比特流提取过程的操作而从另一比特流创建的并且与一组输出层相关联的比特流。或者,当提及操作点和相关联的输出层集时,可以使用诸如输出操作点等另一术语。例如,在MV-HEVC/SHVC中,输出操作点可以定义为通过以输入比特流、目标最高TemporalId和目标层标识符列表作为输入的子比特流提取过程的操作从输入比特流创建的并且与一组输出层相关联的比特流。
由于可扩展的多层比特流允许解码层和时间子层的多于一个组合,因此可以给出多层解码过程作为(借助外部手段)对目标输出操作点的输入。可以提供输出操作点,例如,通过指定输出层集(OLS)和要解码的最高时间子层。OLS可以被定义以表示一组层,其可以被分类为必要或不必要的层。必要层可以定义为输出层(表示层的图片通过解码过程输出)或参考层(表示其图片可以直接或间接地用作预测任何输出层的图片的参考)。在多层HEVC扩展中,VPS包括OLS规范,并且还可以指定OLS的缓冲要求和参数。不必要的层可以定义为那些不需要被解码以用于重构输出层但是可以被包括在OLS中用于指示其中一些层被编码有潜在的未来扩展的这样的层集的缓冲要求的层。
可以在可扩展视频编码的上下文中定义块、区域或图片的跳过编码,使得解码或重构的块、区域或图片分别与层间预测信号相同(例如,在单向预测的情况下,分别为层间参考图片的相应的块、区域或图片)。没有为跳过编码的块、区域或图片编码预测误差,并且因此没有针对跳过编码的块、区域或图片解码预测误差。可以由编码器指示和/或由解码器解码(例如,逐块)(例如,使用HEVC的cu_skip_flag等):编码的预测误差是不可用的。可以预先定义(例如,在编码标准中)或者可以由编码器指示并且由解码器解码:对于跳过编码的块、区域或图片,环路滤波是关闭的。可以预先定义(例如,在编码标准中)或者可以由编码器指示并且由解码器解码:加权预测是关闭的。
可以将简档定义为由解码/编码标准或规范指定的整个比特流语法的子集。在由给定简档的语法施加的界限内,仍然可能需要编码器和解码器的性能的非常大的变化,这取决于比特流中的语法元素所采用的值,诸如解码图片的指定大小。在很多应用中,实现能够处理特定简档中语法的所有假定使用的解码器可能既不实际也不经济。为了解决这个问题,可以使用级别。级别可以定义为对比特流中的语法元素的值和解码/编码标准或规范中指定的变量施加的指定约束集合。这些约束可以是对值的简单限制。备选地或附加地,它们可以采取对值的算术组合的约束的形式(例如,图片宽度乘以图片高度乘以每秒解码的图片数目)。也可以使用用于指定级别约束的其他手段。在级别中指定的一些约束可以例如涉及每个时间段(诸如秒)的编码单元(诸如宏块)方面的最大图片大小、最大比特率和最大数据速率。可以为所有简档定义相同的级别集。例如,可以优选地增加实现不同简档的终端的互操作性,使得每个级别的定义的大多数或所有方面可以在不同简档之间是共同的。层可以定义为对比特流中的语法元素的值施加的指定类别的级别约束,其中级别约束嵌套在层中并且符合特定层和级别的解码器将能够解码符合该级别或其下的任何级别的相同层或较低层的所有比特流。
虽然很多早期的视频编码标准规定了应用于比特流的简档级一致性点,但是多层HEVC扩展指定了逐层一致性点。更确切地说,为每个OLS的每个必要层指示轮廓层级(PTL)组合,同时允许甚至更细粒度的基于时间子层的PTL信号传输,即,可以为每个OLS的每个必要层的每个时间子集的指示PTL组合。HEVC解码器的解码器能力可以被指示为PTL值的列表,其中列表元素的数目指示由解码器支持的层的数目,并且每个PTL值指示层的解码能力。非层间预测的非基本层可以被指示以符合单层简档,诸如主简档,同时它们还需要所谓的独立非基本层解码(INBLD)功能来正确地处理逐层解码。
在帧兼容立体视频中,在编码器侧执行立体对到单个帧的空间封装作为用于编码的预处理步骤,并且然后利用传统的2D视频编码方案对帧封装的帧进行编码。由解码器产生的输出帧包含立体声对的组成帧。这种帧封装方法可以推广到多于两个视图和/或其他类型的视频内容。例如,4或8个视图的图片可以在空间上封装到单个帧中作为用于编码的预处理。在另一示例中,一个或多个深度视图的图片可以在空间上与一个或多个视频视图的图片一起封装到单个帧中作为用于编码的预处理。
在帧封装的典型操作模式中,封装到单个帧中的组成帧具有相同的宽度和高度。空间封装可以使用例如并排或上下格式。更一般地,组成帧的宽度和/或高度可以不同,并且它们在单个帧内的位置可以是灵活的并且可以被指示给解码器侧。在一些情况下,组成帧可以被分成单个帧内的多于一个区域。
统一资源标识符(URI)可以定义为用于标识资源名称的字符串。这种标识允许使用特定协议通过网络与资源的表示进行交互。URI通过指定URI的具体语法和相关协议的方案来定义。统一资源定位符(URL)和统一资源名称(URN)是URI的形式。URL可以定义为标识网络资源并且指定对资源的表示进行操作或获取资源的表示的手段、指定其主访问机制和网络位置的URI。URN可以定义为在特定名称空间中按名称标识资源的URI。URN可以用于标识资源而不暗示其位置或如何访问它。
超文本传输协议(HTTP)已经广泛用于通过因特网传送实时多媒体内容,诸如在视频流应用中。已经启动了几种用于HTTP自适应流式传输的商业解决方案,诸如Sooth Streaming、Adaptive HTTP Live Streaming和DynamicStreaming,并且已经执行了标准化项目。自适应HTTP流(AHS)首先在第3代合作伙伴项目(3GPP)分组交换流(PSS)服务的第9版中标准化(3GPP TS26.234第9版:“Transparent end-to-end packet-switched streaming service(PSS);protocols and codecs”)。MPEG将3GPP AHS第9版作为MPEG DASH标准的起点(ISO/IEC 23009-1:“Dynamic adaptivestreaming over HTTP(DASH)-Part 1:Media presentation description and segmentformats”,国际标准,第2版,2014)。MPEG DASH和3GP-DASH在技术上彼此接近,并且因此可以统称为DASH。以下描述DASH的一些概念、格式和操作作为其中可以实现实施例的视频流系统的示例。本发明的各方面不限于DASH,而是针对可以部分或完全实现本发明的一个可能的基础给出描述。
在DASH中,多媒体内容可以存储在HTTP服务器上并且可以使用HTTP来传递。内容可以以两部分存储在服务器上:媒体呈现描述(MPD),其描述可用内容的清单、其各种备选、它们的URL地址和其他特征;以及分段,其包含单个或多个文件中的组块形式的实际多媒体比特流。MDP为客户端提供了通过HTTP建立动态自适应流的必要信息。MPD包含描述媒体呈现的信息,诸如每个分段的HTTP统一资源定位符(URL),以进行GET分段请求。为了播放内容,DASH客户端可以获取MPD,例如通过使用HTTP、电子邮件、拇指驱动器、广播或其他传输方法。通过解析MPD,DASH客户端可以意识到节目定时、媒体内容可用性、媒体类型、分辨率、最小和最大带宽、以及多媒体组件的各种编码备选方案的存在、可访问性特征和所需要的数字权限管理(DRM)、网络上的媒体组件位置以及其他内容特征。使用该信息,DASH客户端可以选择适当的编码备选方案,并且通过使用例如HTTP GET请求提取分段来开始流式传输内容。在适当缓冲以允许网络吞吐量变化之后,客户端可以继续提取后续分段并且还监测网络带宽波动。客户端可以通过提取不同备选方案的分段(具有更低或更高的比特率)来决定如何适应可用带宽以维持适当的缓冲器。
在DASH的上下文中,可以使用以下定义:媒体内容组件或媒体组件可以定义为具有可以被单独编码到媒体流中的指定媒体组件类型的媒体内容的一个连续组件。媒体内容可以定义为一个媒体内容时段或连续的媒体内容时段序列。媒体内容组件类型可以定义为单一类型的媒体内容,诸如音频、视频或文本。媒体流可以定义为媒体内容组件的编码版本。
在DASH中,分层数据模型用于如下构造媒体呈现。媒体呈现包括一个或多个“时段”的序列,每个“时段”包含一个或多个“组”,每个“组”包含一个或多个“适应集”,每个“适应集”包含一个或多个“表示”,每个“表示”包括一个或多个“分段”。“组”可以定义为不期望同时呈现的“适应集”的集合。“适应集”可以定义为一个或多个媒体内容组件的一组可互换编码版本。“表示”是媒体内容或其子集的备选选择之一,其通常根据编码选择而不同,例如,根据比特率、分辨率、语言、编解码器等,“分段”包含特定持续时间的媒体数据、以及用于解码和呈现所包括的媒体内容的元数据。“分段”由URI标识,并且通常可以由HTTP GET请求来请求。“分段”可以定义为与HTTP-URL以及可选地由MPD指定的字节范围相关联的数据单元。
DASH MPD符合可扩展标记语言(XML),并且因此通过XML中定义的元素和属性来指定。MPD可以使用以下约定来指定:XML文档中的元素可以由大写的第一字母标识,并且可以以粗体呈现为Element。为了表示元素元素Element1被包含在另一元素Element2中,可以编写Element2.Element1。如果元素的名称包括两个或更多个组合单词,则可以使用驼峰式大小写(camel-casing),例如,ImportantElement。元素可以恰好存在一次,或者最小和最大出现可以由<minOccurs>...<maxOccurs>定义。XML文档中的属性可以通过小写的第一字母来标识,并且它们之前可以是“@”符号,例如,@attribute。为了指向元素Element中包含的特定属性@attribute,可以编写Element@attribute。如果属性的名称包括两个或更多个组合单词,则可以在第一单词之后使用骆驼拼写,例如,@veryImportantAttribute。属性可能已经将XML中的状态指定为强制(M)、可选(O)、具有默认值的可选(OD)和有条件强制(CM)。
在DASH中,所有描述符元素都以相同的方式构造,即它们包含提供用于标识方案的URI的@schemeIdUri属性以及可选属性@value和可选属性@id。元素的语义特定于所采用的方案。标识方案的URI可以是URN或URL。一些描述符在MPEG-DASH(ISO/IEC 23009-1)中指定,而描述符可以附加地或备选地在其他规范中指定。当在MPEG-DASH以外的规范中指定时,MPD不提供关于如何使用描述符元素的任何特定信息。应用或规范使用DASH格式来实例化具有适当方案信息的描述元素。使用这些元素之一的应用或规范定义了URI形式的“方案标识符”、以及在使用该“方案标识符”时元素的值空间。“方案标识符”出现在@schemeIdUri属性中。在需要一组简单的枚举值的情况下,可以为每个值定义文本字符串,并且该字符串可以被包括在@value属性中。如果需要结构化数据,则可以在单独的命名空间中定义任何扩展元素或属性。@id值可以用于指代唯一描述符或一组描述符。在后一种情况下,属性@id的值相同的描述符可能需要是同义的,即@id的值相同的描述符之一的处理就足够了。如果元素名称、@schemeIdUri的值和@value属性的值相等,则类型DescriptorType的两个元素是等效的。如果@schemeIdUri是URN,则等效性可以指代在RFC 2141第5条中定义的词汇等效性。如果@schemeIdUri是URL,则等效性可以指代以字符为基础的等式,如在RFC3986的第6.2.1条中定义的。如果不存在@value属性,则等效性可以仅由@schemeIdUri的等效性确定。扩展名称空间中的属性和元素可能不会用于确定等效性。对于等效性确定,可以忽略@id属性。
MPEG-DASH指定描述符EssentialProperty和SupplementalProperty。对于元素EssentialProperty,“媒体呈现”作者表示成功处理描述符对于正确使用包含该描述符的父元素中的信息至关重要,除非该元素与另一EssentialProperty元素共享相同的@id。如果EssentialProperty元素共享相同的@id,则处理@id的值相同的EssentialProperty元素之一就足够了。预计将处理每个不同的@id值的至少一个EssentialProperty元素。如果无法识别方案或EssentialProperty描述符的值,则DASH客户端应当忽略包含描述符的父元素。@id的值相同以及@id的值不同的多个EssentialProperty元素可以存在于MPD中。
对于元素SupplementalProperty,“媒体呈现”作者表达描述符包含可以由DASH客户端用于优化的处理的补充信息。如果无法识别该方案或SupplementalProperty描述符的值,则DASH客户端应当忽略描述符。多个SupplementalProperty元素可以存在于MPD中。
SRD(空间关系描述)在MPEG-DASH的规范性附录H中规定。以下包含SRD规范的一些摘录。
SRD方案允许“媒体呈现描述”作者表达“空间对象”之间的空间关系。空间对象由“适应集”或“子表示”表示。作为示例,空间关系可以表达视频表示另一全帧视频的空间部分(例如,感兴趣的区域或瓦片)。
@schemeIdUri等于“urn:mpeg:dash:srd:2014”的SupplementalProperty和/或EssentialProperty描述符用于提供与包含“空间对象”相关联的空间关系信息。SRD应当仅被包含在这两个MPD元素(AdaptationSet和SubRepresentation)中。
为了保持与传统客户端的兼容性,MPD需要使用SupplementalProperty和EssentialProperty,以便在丢弃包含EssentialProperty的元素之后,传统客户端可以解释至少一个Representation。
子表示级SRD可以用于表示一个“表示”中的“空间对象”,诸如HEVC平铺流。在这种情况下,SRD描述符可以出现在“适应集”以及“子表示”级别。
使用SRD方案的SupplementalProperty或EssentialProperty元素的@value是以逗号分隔的SRD参数值列表。需要存在SRD参数source_id、object_x、object_y、object_width和object_height,并且有条件地或可选地存在SRD参数total_width、total_height和spatial_set_id。
source_id是提供内容源的标识符的十进制表示的非负整数。source_id参数在“时段”内为内容源提供唯一标识符。它隐式地定义了与该源关联的坐标系。该坐标系使用任意原点(0;0);x轴从左到右定向,并且y轴从上到下定向。共享相同source_id值的所有SRD具有相同的原点和轴方位。使用具有不同source_id值的SRD的空间对象的空间关系未定义。
对于给定的source_id值,定义参考空间,其对应于包含整个源内容的矩形区域,其左上角位于坐标系的原点。SRD中的total_width和total_height值提供以任意单元表示的这个参考空间的大小。total_width是以任意单元表示参考空间的宽度的十进制表示的非负整数。total_height是以任意单元表示参考空间的高度的十进制表示的非负整数。允许MPD中没有覆盖整个内容源的空间对象,例如,当整个源内容由两个单独的视频表示时。
object_x是以任意单元表示空间对象左上角的水平位置的十进制表示的非负整数。object_y是以任意单元表示空间对象左上角的竖直位置的十进制表示的非负整数。object_width是以任意单元表示空间对象的宽度的十进制表示的非负整数。object_height是以任意单元表示空间对象的高度的十进制表示的非负整数。object_x和object_y参数(分别是object_width和object_height)表示与源相关联的坐标系中的相关联的空间对象的2D位置(分别是2D大小)。object_x、object_y、object_width和object_height参数的值相对于total_width和total_height参数的值,如上所述。在考虑参考空间的大小之后,即在将object_x和object_width值除以total_width值和object_y并且将object_height值除以各自描述符的total_height值之后,可以比较共享相同source_id值的SRD的位置(object_x,object_y)和大小(object_width,object_height)。可以在不同的描述符中使用不同的total_width和total_height值,以针对相同的参考空间以不同的单元提供位置和大小信息。
spatial_set_id是为一组“空间对象”提供标识符的十进制表示的非负整数。当不存在时,与该描述符相关联的“空间对象”不属于任何空间集,并且不给出空间集信息。MPD作者可以使用spatial_set_id参数表达给定source_id中的某些“空间对象”具有特定的空间关系。例如,MPD作者可以以相同的分辨率级别对与瓦片相对应的所有自适应集合进行分组。这样,DASH客户端可以使用spatial_set_id参数来快速选择空间相关的空间对象。
在DASH中,独立表示可以定义为可以独立于任何其他表示来处理的表示。独立表示可以被理解为包括独立比特流或独立的比特流层。从属表示可以定义为来自其互补表示的“分段”对于所包含的媒体内容组件的呈现和/或解码是必需的表示。从属表示可以被理解为包括例如预测的可扩展比特流层。互补表示可以定义为补充至少一个从属表示的表示。互补表示可以是独立表示或从属表示。“从属表示”可以由包含@dependencyId属性的Representation元素描述。“从属表示”可以被视为常规“表示”,不同之处在于,它们依赖于用于解码和/或呈现的一组互补“表示”。@dependencyId包含所有互补“表示”的@id属性的值,即,呈现和/或解码被包含在该从属“表示”中的媒体内容组件所必需的“表示”。
“初始化分段”可以定义为包含呈现封装在“媒体分段”中的媒体流所必需的元数据的“分段”。在基于ISOBMFF的分段格式中,“初始化分段”可以包括电影框('moov'),其可能不包括任何样本的元数据,即样本的任何元数据在'moof'框中提供。
“媒体分段”包含用于以正常速度回放的特定持续时间的媒体数据,这种持续时间称为“媒体分段”持续时间或“分段”持续时间。内容制作者或服务提供者可以根据服务的期望特征来选择“分段”持续时间。例如,可以在实时服务中使用相对较短的“分段”持续时间来实现短的端到端等待时间。原因在于,“分段”持续时间通常是DASH客户端感知的端到端等待时间的下限,因为“分段”是生成DASH的媒体数据的离散单元。内容生成通常以使得整个媒体数据“分段”可用于服务器的方式完成。此外,很多客户端实现使用“分段”作为GET请求的单元。因此,在现场服务的典型布置中,仅当“媒体分段”的整个持续时间可用以及编码和封装到“分段”中时,DASH客户端才能请求“分段”。对于按需服务,可以使用不同的选择“分段”持续时间的策略。
“分段”可以进一步划分为“子分段”,例如以允许下载多个部分的分段。子分段可能需要包含完整的访问单元。子分段可以由“分段索引”框索引,“分段索引”框包含用于映射每个“子分段”的呈现时间范围和字节范围的信息。“分段索引”框还可以通过用信号传输其持续时间和字节偏移来描述分段中的子分段和流接入点。DASH客户端可以使用从“分段索引”框获取的信息来使用字节范围HTTP请求来进行对特定“子分段”的HTTP GET请求。如果使用相对较长的“分段”持续时间,则可以使用“子分段”来保持HTTP响应的大小合理且灵活以用于比特率自适应。分段的索引信息可以放在该分段的开头的单个框中,或者分布在该分段中的很多索引框中。不同的传播方法是可能的,诸如分层、菊花链和混合。该技术可以避免在分段的开头添加大的框,并且因此可以防止可能的初始下载延迟。
“子表示”嵌入在常规“表示”中,并且由SubRepresentation元素描述。SubRepresentation元素被包含在Representation元素中。SubRepresentation元素描述嵌入在“表示”中的一个或多个媒体内容组件的属性。它可以例如描述嵌入式音频组件的确切属性(例如,编解码器、采样率等)、嵌入式子瓦片(例如,编解码器),或者它可以描述一些嵌入式低质量视频层(例如,一些较低帧速率等)。“子表示”和“表示”共享一些共同的属性和元素。如果SubRepresentation元素中存在@level属性,则以下内容适用:
-“子表示”提供访问包含它们的“表示”的较低质量版本的能
力。在这种情况下,“子表示”例如允许在多路复用“表示”中
提取音轨,或者如果提供较低的帧速率,则可以允许有效的快进
或倒带操作;
-“初始化分段”和/或“媒体分段”和/或“索引分段”应当提
供足够的信息,使得可以通过HTTP部分GET请求来轻松地访
问数据。提供这样的信息的细节由所使用的媒体格式定义。
-使用“ISOBMFF分段”时,以下内容适用:
ο“初始化分段”包含“级别分配”框。
ο每个“子分段”都有“子分段索引”框('ssix')。
ο属性@level指定在子分段索引中所描述的“子表示”与之关联的级别。“表示”、“子表示”和“级别分配”(“leva”)框中的信息包含有关将媒体数据分配到级别的信息。
ο媒体数据应当具有顺序,使得每个级别与较低级别相比提供增强。
如果缺少@level属性,则SubRepresentation元素仅用于提供“表示”中嵌入的媒体流的更详细的描述。
ISOBMFF包括所谓的级别机制以指定文件的子集。级别遵循依赖性层级,使得映射到级别n的样本可以取决于级别m的任何样本,其中m<=n,并且不依赖于级别p的任何样本,其中p>n。例如,可以根据时间子层(例如,SVC或MVC的temporal_id或HEVC的TemporalId)来指定级别。级别可以在“电影扩展”('mvex')框中包含的“级别分配”('leva')框中公布。无法为初始影片指定级别。当存在“级别分配”框时,它适用于初始电影之后的所有电影片段。对于“级别分配”框的上下文,分数被定义为包含一个或多个“电影片段”框和相关联的“媒体数据”框,可能仅包括最后的“媒体数据”框的初始部分。在分数内,每个级别的数据看起来是连续的。分数内的级别数据以级别值的递增顺序出现。分数中的所有数据都应分配给级别。“级别分配”框提供从特征(诸如可扩展性层或时间子层)到级别的映射。可以通过轨道、轨道内的子轨道或轨道的样本分组来指定特征。例如,“时间级别”样本分组可以用于指示图片到时间级别的映射,这些时间级别等同于HEVC中的时间子层。也就是说,可以使用“时间级别”样本分组将特定TemporalId值的HEVC图片映射到特定时间级别(并且可以针对所有TemporalId值重复相同的过程)。然后,“级别分配”框可以引用在指示的级别映射中的“时间级别”样本分组。“级别分配”框包括语法元素padding_flag。padding_flag等于1指示可以通过连结分数中的任何正整数级别并且将最后的“媒体数据”框填充零个字节直到在最后的“媒体数据”框的报头中指示的完整大小来形成符合分数。例如,当每个分数包含相同视频比特流的两个或更多个AVC、SVC或MVC轨道时,padding_flag可以被设置为等于1,分数的每个轨道的样本是连续的并且在“媒体数据”框中按照解码顺序,并且第一AVC、SVC或MVC级别的样本包含提取器NAL单元,用于包括来自相同分数的其他级别的视频编码NAL单元。
“子分段索引”框('ssix')提供从级别(由“级别分配”框指定)到索引的子分段的字节范围的映射。换言之,这个框提供了关于子分段中的数据如何根据成为部分子分段的级别而排序的紧凑索引。它使得客户端能够通过下载子分段中的多个数据来轻松地访问部分子分段的数据。当“子分段索引”框存在时,子分段中的每个字节都被分配给级别。如果范围与级别分配中的任何信息都没有关联,则可以使用未被包括在级别分配中的任何级别。仅索引叶子分段(即,仅索引子分段而没有分段索引)的每个“分段索引”框中存在0或1个“子分段索引”框。“子分段索引”框(如果有)是在相关联的“分段索引”框之后的下一框。“子分段索引”框记录在紧在前的“分段索引”框中指示的子分段。可以将每个级别精确地分配给一个部分子分段,即一个级别的字节范围是连续的。通过增加子分段内的数目来指定部分子分段的级别,即,部分子分段的样本可以取决于同一子分段中的先前部分子分段的任何样本,而不是相反的方式。例如,每个部分子分段包含具有相同时间子层的样本,并且部分子分段在子分段内以增加的时间子层顺序出现。当以这种方式访问部分子分段时,最终的“媒体数据”框可能是不完整的,即,所访问的数据少于“媒体数据”框的长度指示所指示的。可能需要调节“媒体数据”框的长度,或者可以使用填充。“级别分配”框中的padding_flag指示是否可以用零替换这种缺失数据。如果不是,则不存在分配给未被访问的级别的样本的样本数据,并且应当小心。
对于依赖于互补“表示”Y的任何从属“表示”X,每当m不等于n时,可能需要X的第m子分段和Y的第n子分段不交叠。对于从属“表示”,可能需要“初始化分段”与从属“表示”的“子分段”序列(每个之前是在@dependencyId属性中提供的每个互补表示的相应“子分段”)的串联应当表示符合在这个从属“表示”的@mimeType属性中指定的媒体格式的符合“子分段”序列。
MPEG-DASH为ISOBMFF和MPEG-2“传输流”两者定义了分段容器格式。其他规范可以基于其他容器格式指定分段格式。例如,已经提出了基于Matroska容器文件格式的分段格式,并且其可以总结如下。当Matroska文件作为DASH分段等被携带时,DASH单元和Matroska单元的关联可以如下指定。(DASH的)子分段可以定义为Matroska封装内容的一个或多个连续“群集”。可能需要DASH的“初始化分段”包括EBML报头、(Matroska的)分段报头、(Matroska的)分段信息和轨道,并且可以可选地包括其他level1元素和填充。DASH的“分段索引”可以包括Matroska的“提示元素”。
DASH通过动态地请求来自“适配集”内的不同“表示”的“媒体分段”以匹配变化的网络带宽来支持速率适配。当DASH客户端切换向上/向下“表示”时,必须考虑“表示”中的编码依赖性。“表示”开关可以在随机接入点(RAP)处发生,RAP通常在诸如H.264/AVC等视频编码技术中使用。在DASH中,引入了更为通用的概念,即“流接入点”(SAP),以提供一种独立于编解码器的解决方案用于访问“表示”和在“表示”之间切换。在DASH中,SAP被指定为“表示”中的位置,该位置允许仅使用从该位置开始的“表示”数据中包含的信息来开始播放媒体流(在“初始化分段”(如果有的话)中初始化数据之前)。因此,“表示”切换可以在SAP中执行。
已经指定了几种类型的SAP,包括以下内容。SAP类型1对应于在一些编码方案中称为“封闭GOP随机接入点”的内容(其中所有图片按照解码顺序可以被正确解码,导致正确解码图片的连续时间序列,其中没有间隙),并且此外,按照解码顺序的第一图片也是按照呈现顺序的第一图片。SAP类型2对应于在一些编码方案中称为“封闭GOP随机接入点”的内容(其中所有图片按照解码顺序可以被正确解码,导致正确解码图片的连续时间序列,其中没有间隙),其中按照解码顺序的第一图片可能不是按照呈现顺序的第一图片。SAP类型3对应于在一些编码方案中称为“开放GOP随机接入点”的内容,其中可能存在按照解码顺序的一些图片,这些图片不能被正确解码并且具有小于与SAP相关联的帧内编码图片的呈现时间。
如上所述,类似于如何确定可扩展视频比特流的传输层和/或子层,客户端或播放器可以请求从不同表示传输“分段”或“子分段”。术语表示向下切换或比特流向下切换可以是指请求或传输比先前(分别)请求或传输的更低比特率表示。术语表示向上切换或比特流向上切换可以是指请求或传输比先前(分别)请求或传输的更高比特率表示。术语表示切换或比特流切换可以共同地指代表示或比特流向上和向下切换,并且可以附加地或备选地覆盖不同视点的表示或比特流的切换。
类似于MPEG-DASH的流式传输系统包括例如在IETF因特网草案draft-pantos-http-live-streaming-13(以及相同的因特网草案的其他版本)中指定的HTTP实时流(又称为HLS)。作为与MPD相对应的清单格式,HLS使用扩展的M3U格式。M3U是多媒体播放列表的文件格式,最初是为音频文件开发的。M3U播放列表是包括单独的行的文本文件,并且每行是URI、空白或以指示标记或注释的字符“#”开始。URI行标识媒体分段或“播放列表”文件。标签以#EXT开始。HLS规范指定了很多标签,这些标签可以被视为键值对。标签的值部分可以包括属性列表,其是逗号分隔的属性值对列表,其中属性值对可以被认为具有语法AttributeName=AttributeValue。因此,HLS M3U8文件的标签可以被认为类似于MPD或XML中的元素,并且HLS M3U8文件的属性可以被认为类似于MPD或XML中的属性。HLS中的媒体分段根据MPEG-2传输流来格式化,并且包含单个MPEG-2程序。建议每个媒体分段以程序关联表(PAT)和程序映射表(PMT)开始。
端到端DASH系统可以包括如下。媒体内容由源服务器提供,源服务器通常是传统的网络(HTTP)服务器。源服务器可以与用于将流式传输的内容传递到边缘服务器并且存储在边缘服务器中的内容传递网络(CDN)连接。MPD允许用信号传输内容的多个基本URL,其可以用于宣告不同边缘服务器中的内容的可用性。或者,内容服务器可以直接连接到因特网。网络代理可以驻留在在DASH客户端与从其请求内容的源或边缘服务器之间路由HTTP业务的路径上。网络代理可以高速缓存HTTP消息,并且因此可以使用高速缓存的内容服务于客户端的请求。它们通常由网络服务提供方使用,因为它们减少了从代理朝向源或边缘服务器所需要的网络带宽。对于最终用户,HTTP高速缓存提供更短的等待时间。DASH客户端可以通过诸如移动蜂窝网络等接入网络连接到因特网。
在DASH中,相同“自适应集”中的“表示”之间的自动选择基于宽度和高度(@width和@height);帧速率(@frameRate);比特率(@bandwidth);所指示的“表示”之间的质量排序(@qualityRanking)来执行。@qualityRanking的语义指定如下:指定“表示”相对于同一“自适应集”中的其他“表示”的质量排名。较低的值表示较高质量的内容。如果不存在,则不定义排名。
在虚拟现实(VR)视频内容中,360度内容的一部分(“视口”)可以由更好的质量来表示,而其他部分可以由更低的质量来表示。上述属性都不足以区分为不同主视口编码的360度视频。
通常,本实施例涉及流式清单,诸如DASH的MPD,其包括在清单中指示视口或空间区域;并且在清单中指示指示视口或空间区域的质量的至少一个值。
根据一个实施例,一种装置被配置为确定编码比特流内的视口或空间区域,在清单中包括编码比特流的视口或空间区域,并且确定并且在清单中包括指示视口或空间区域的质量的至少一个值。
根据一个实施例,一种客户端装置被配置为从清单中解析视口或空间区域;从清单中解析指示视口或空间区域的质量的至少一个值;确定视口或空间区域是否适合于显示;并且基于指示视口或空间区域的质量的至少一个值从清单中选择表示。
需要理解的是,作为清单的备选或补充,实施例类似地适用于容器文件格式和/或媒体比特流。例如,代替或除了在清单中指示视口或空间以及在清单中指示视口或空间区域的质量的至少一个值之外,可以在还包含或引用编码比特流的容器文件格式的元数据内指示它们。
需要理解的是,尽管使用单数形式的名词来描述很多实施例,例如,编码比特流、视口、空间区域等,但是实施例通常适用于复数形式的名词。
在一个实施例中,根据一个实施例,一种客户端装置被配置为从清单中解析第一表示和第二表示的信息,从清单中解析第一表示和第二表示中的每个表示的视口或空间区域;并且从清单中解析指示第一表示中的视口或空间区域的质量的第一值和指示第二表示中的视口或空间区域的质量的第二值。客户端装置确定视口或空间区域适合于显示。例如,客户端装置可以包括用于在使用头戴式显示器时检测头部朝向并且确定视口或空间区域与头部朝向相匹配的部件。客户端装置基于指示视口或空间区域的质量的第一值和第二值来选择第一表示或第二表示。作为选择的结果,客户端装置可以请求所选表示的(子)分段。
在一个实施例中,根据一个实施例,一种客户端装置被配置为从清单中解析第一表示和第二表示的信息,从清单中解析第一表示的第一视口或第一空间区域以及第二表示的第二视口或第二空间区域。客户端装置确定第一视口或第一空间区域适合于显示或者第二视口或第二空间区域适合于显示并且相应地选择第一表示或第二表示。例如,客户端装置可以包括用于在使用头戴式显示器时检测头部朝向并且确定第一视口或第一空间区域与头部朝向相匹配的部件。作为选择的结果,客户端装置可以请求所选择的表示的(子)分段。如果存在多于一个适合于显示的表示,则客户端装置可以从清单中解析指示多于一个表示中的所选择的视口或所选择的空间区域的质量的值,并且在其中选择具有所指示的最佳质量的表示。
以下更详细地讨论本实施例。
在一个实施例中,VR投影格式(例如,等距柱状全景图或立方体贴图)在清单中指示或者从清单中解析。VR投影格式可以在清单中指示或者从清单中解析或者被推断为特定于视口或空间区域或整个图片。当使用帧封装时,可以推断VR投影格式以应用于解码器输出的图片的组成帧。例如,VR投影格式可以使用以下语义或类似:类型:无符号整数,枚举
范围:0-255
语义
0 等距柱状
1 立方体贴图
2-254 保留
255 其他/未知
1.基于视口的信号传输
在一个实施例中,在清单中指示或者从清单中解析视口是立体内容的左视图还是右视图还是包含立体内容的两个视图。在清单中包括的或从清单中解析的指示可以例如使用以下语义等:
类型:无符号整数,枚举
范围:0-15
语义
0 单视场
1 立体内容的左视图
2 立体内容的右视图
3 立体内容的两个视图
4-14 保留
15 其他/未知
在一个实施例中,视口在清单中指示或者从清单中解析,其中参考指示球体上的视口的位置和在一些实施例中指示其方向的球形坐标。
在一个实施例中,使用指示视口的特定点(诸如视口的中心点或特定角点)的球面坐标系的两个角度来指示球面上的视口的位置。特定点可以是预定义的,例如,在清单格式规范中,或者可以在清单中指示和/或从清单中解析。例如,可以使用转向角和俯仰角,其中转向指示相对于参考方位的视口的中心点的欧拉角,例如,以度为单位,并且俯仰指示相对于参考方位以转向后跟俯仰的顺序应用的视口的中心点的欧拉角,例如,以度为单位。在俯仰之前应用转向。转向围绕一个坐标轴(例如,Y轴)旋转,俯仰围绕另一轴(例如,X轴)。角度可以定义为当远离原点时顺时针增加。转向可以定义为在0到60的范围内(包括0和360);间距可以定义为在-90到90的范围内(包括-90和90)。转向和俯仰与指定参考方位的坐标系的关系在图5中信息性地示出。
在一个实施例中,视口的方位是预定义的,例如,以它是指示视口位置的角度的函数的方式。在另一实施例中,视口的方位在清单中指示和/或从清单中解析。例如,指示沿着第三坐标轴(与转向和俯仰围绕其旋转的那些坐标轴正交)的旋转的滚动角度可以在清单中指示和/或从清单中解析,以指示视口的旋转角度。在另一示例中,旋转角度被预定义为使得视口的水平轴平行于球面坐标系中的轴。
在一个实施例中,视口的形状和/或大小是预定义的。例如,可以预先定义立方体贴图的视口的形状是正方形,并且水平和竖直视场中的大小是90度。在一个实施例中,视口的形状和/或大小在清单中指示和/或从清单中解析。例如,清单可以包括HorFov和VerFov值,其中HorFov指示视口的水平视场,例如,以度为单位,并且VerFov指示视口的竖直视场,例如,以度为单位。
图6示出了视口的一种可能选择以及视口的转向角和俯仰角的一种可能的定义。
在一个实施例中,视口的质量排名被包括在清单中和/或从清单中解析。质量排名可以指示与相同观看点等相关联的所有视口和整个视频表示中的图片或视频质量的顺序。
在一个实施例中,视口的质量值被包括在清单中和/或从清单中解析。质量值可以表示图片或视频质量。例如,平均峰值信噪比(PSNR)或结构化相似性度量(SSIM)可以用作质量值。
在一个实施例中,视口在DASH MPD中指示和/或从其解析。
如果视口在“适应集”级别指示,则它适用于“适应集”的所有“表示”。如果视口在“表示级别”指示,则它适用于该“表示”。如果视口在“子表示”级别指示,则它适用于该“子表示”。
在一个实施例中,新元素被定义为用于视口的DASH MPD模式,下面称为VirtualRealityVideo元素(但是可以备选地使用任何其他名称)。在另一实施例中,为视口定义基本和/或补充属性描述符的方案。以下段落提供这些实施例的示例性进一步细节。
VirtualRealityVideo元素可选地(N次)存在于AdaptationSet、Representation和SubRepresentation的公共属性和元素中。VirtualRealityVideo包括上面提出的代码点。对于帧封装内容,可以存在多于一个VirtualRealityVideo元素。例如,VirtualRealityVideo元素的语义可以如下定义:
例如,可以如下定义“视口”元素的语义:
在示例实施例中,虚拟现实属性描述符(VRD)方案允许“媒体呈现描述”作者表达:
-由内容表示的视口
-视口的投影格式
-视口的内容是单视场还是立体视觉,并且在视频内容是立体内
容的情况下,存在左视图还是右视图还是两个视图
-视口的质量排名值,使得客户端能够区分表示相同视口但具有
不同质量的“表示”和“子表示”
VRD方案使用具有特定@schemeIdUri值的SupplementalProperty和/或EssentialProperty描述符。当在传统的二维显示器上显示解码的视频内容时,可以使用EssentialProperty描述符,而不需要进一步的显示处理。
同一包含元素中可能存在多于一个VR SupplementalProperty或EssentialProperty描述符。每个VR SupplementalProperty或EssentialProperty描述符指示一个视口的特征。当同一包含元素中存在多个VR SupplementalProperty或EssentialProperty描述符时,所有这些描述符都可以被约束为SupplementalProperty描述符或EssentialProperty描述符。
在示例实施例中,使用VRD方案的SupplementalProperty或EssentialProperty元素的@value是在下表中指定的VRD参数的逗号分隔值列表:
在下文中,给出了VRD EssentialProperty XML代码行的一些说明性示例。下面假定@schemeIdUri等于“urn:mpeg:omaf:vrd:2017”,但是同样可以使用任何其他特定值。需要理解的是,可以类似地为其他类似的VRD语法和语义以及VirtualRealityVideo元素等创建示例。
单视场等距柱状全景可以用以下内容指示:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,0,0,360,180"/>
立体等距柱状全景可以用以下内容指示:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,0,0,360,180"/>
假定使用上下帧封装(顶部的左视图)来承载立体全景的视图,还可以使用以下内容来指示构成帧的位置以及左视图和右视图与构成帧的关联:
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:VideoFramePackingType"
value="4"/>
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:PackedContentInterpretationType"
value="1"/>
具有所有六个立方体面的单视场立方体贴图可以用以下内容指示:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,1,NA,NA,NA,NA"/>
在下文中,准备了几个立体等距柱状全景投影格式的“表示”,每个表示具有120度的水平和竖直视场的不同的主视口,水平地分开30度并且位于赤道处的。这导致具有等于(0,30,60,90,120,150,180,210,240,270,300,330)的转向的12个“表示”。假定主视口具有质量排名1并且等距柱状全景中的剩余区域具有质量排名9(但是当然可以备选地使用任何其他任意值)。所有“表示”都被包括在同一“自适应集”中。
“表示”#1
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,0,0,120,120,1"/>
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,NA,NA,NA,NA,9"/>
“表示”#2
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,30,0,120,120,1"/>
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,NA,NA,NA,NA,9"/>
“表示”#3
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,60,0,120,120,1"/>
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,NA,NA,NA,NA,9"/>
“表示”#12
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,330,0,120,120,1"/>
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,3,0,NA,NA,NA,NA,9"/>
在一个实施例中,客户端解析包括具有如上所述等的VRD信息的“自适应集”的MPD。客户端确定视口或空间区域适合于显示。客户端基于VRD来选择针对适合于显示的视口或空间区域具有最高指示质量的“表示”。
在下文中,几个“表示”表示半球的单视场全景投影格式,每个具有180度水平和竖直视场。所有“表示”都被包括在不同的“自适应集”中。“自适应集”水平地间隔90度。假定每个“自适应集”提供两个不同质量的“表示”,其中使用所提出的描述符内的quality_ranking值。
AdaptationSet#1
“表示”#1a:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,0,0,180,180,1"/>
“表示”#1b:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,0,0,180,180,9"/>
由AdaptationSet#1覆盖的视口可以如图7所示。
AdaptationSet#2
“表示”#2a:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,90,0,180,180,1"/>
“表示”#2b:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,90,0,180,180,9"/>
由AdaptationSet#2覆盖的视口可以如图8所示。
AdaptationSet#3
“表示”#3a:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,180,0,180,180,1"/>
“表示”#3b:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,180,0,180,180,9"/>
AdaptationSet#4
“表示”#4a:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,270,0,180,180,1"/>
“表示”#4b:
<EssentialProperty schemeIdUri="urn:mpeg:omaf:vrd:2017"value="0,0,0,270,0,180,180,9"/>
在一个实施例中,客户端解析包括具有如上所述等的VRD信息的“自适应集”的MPD。客户端确定视口或空间区域适合于显示。客户端选择与适合于显示的视口或空间区域相匹配的第一“自适应集”。客户端从第一“自适应集”中选择具有最高指示质量的“表示”。客户端可以另外选择补充第一“自适应集”的“自适应集”,使得通过组合所有所选择的“自适应集”的内容,获取整个360度或全向可视内容。客户端可以从每个附加“自适应集”中选择质量低于最高指示质量的“表示”,并且因此为不适合于显示的“表示”分配更小比特率共享。
2.基于空间区域的信号传输
在一个实施例中,空间区域被包括在清单中和/或从清单中解析作为定义空间区域的矩形的位置、宽度和高度。该位置可以是例如通过解码输出的图片内的矩形的左上角的位置。
在一个实施例中,空间区域被包括在清单中和/或从清单中解析作为定义空间区域的矩形的相对角的两个位置。这些位置可以是例如通过解码输出的图片内的矩形的左上角和右下角的位置。
在一个实施例中,空间区域的质量排名被包括在清单中和/或从清单中解析。质量排名可以指示与相同观看点等相关联的所有视口和整个视频表示中的图片或视频质量的顺序。
在一个实施例中,空间区域的质量值被包括在清单中和/或从清单中解析。质量值可以指示图片或视频质量。例如,平均峰值信噪比(PSNR)或结构化相似性度量(SSIM)可以用作质量值。
在一个实施例中,将新元素定义到DASH MPD模式中以指定空间区域。在另一实施例中,为空间区域定义基本和/或补充属性描述符的方案。以下段落提供后一实施例的示例性进一步细节,而示例实施例可以类似地实现前一实施例。
指定了具有特定@schemeIdUri的补充属性描述符(例如,“urn:mpeg:dash:srq:2017”)。可能存在具有相同@schemeIdUri值的多个属性描述符。每个属性描述符将视口指示为空间区域(例如,等距柱状全景内的空间区域)。为空间区域提供质量排名值。
在一个实施例中,source_id被指定为与空间关系描述符DASH的source_id相同,并且使用与空间关系描述符的source_id相同的标识符空间。当使用空间关系描述符时,用于指定视口位置和大小的单元与用于空间关系描述符的单元相同。
viewport_x、viewport_y、viewport_width、viewport_height可选地存在于“表示”的最后的属性描述符中,否则(无条件地)存在。
该信号传输可以由投影格式和多视图信号传输补充,例如如上所述。因此播放器能够从空间区域、投影格式和多视图信号传输中结束VR视口。例如,播放器可以从属性描述符指示的空间位置、宽度和高度推断出视图中的转向、俯仰、水平视场和竖直视场的近似值。注意,在很多投影格式中,空间区域不对应于矩形视口——因此,结束的水平和竖直视场可以例如表示最小值或平均值。
根据一个示例,包含单视场等距矩阵“表示”的自适应集可以包含(在伪代码中)以下“表示”和基于空间区域的视口信号传输:
在可以独立于其他实施例使用或者除了其他实施例之外的实施例中,“自适应集”或“子表示”表示与另一“自适应集”或另一“子表示”具有空间关系的单个空间区域。在这种情况下,可以使用SRD方案。另外,可以指示指示空间区域的质量的至少一个值,为此可以使用上面在第2节(基于空间区域的信号传输)中描述的实施例。备选地或附加地,在一个实施例中,SRD方案附加有至少一个值,该值指示与同一观察点等相关联的所有视口、“子表示”和“表示”中的质量(例如,通过source_id值等)。例如,如上所述的quality_ranking可以被包括在SRD方案中。在一个实施例中,指示质量的至少一个值附加在@value中包括的列表的末尾而不改变@schemeIdUri,而在另一实施例中,更新@schemeIdUri,其允许添加指示@value中包括的列表中项目序列中的任何位置的质量的至少一个值。在一个实施例中,指示质量的至少一个值被包括在SRD中。在一个实施例中,指示质量的至少一个值从SRD中解析。
如前所述,代替或除了清单之外,实施例类似地适用于容器文件格式和/或媒体比特流。以下描述关于这些实施例的更多细节。
在一个实施例中,一种装置被配置为确定编码比特流内的视口或空间区域,在容器文件中包括编码比特流的视口或空间区域,并且在容器文件中确定并且包括指示视口或空间区域的质量的至少一个值。
根据一个实施例,一种播放器装置被配置为从容器文件中解析视口或空间区域;从容器文件中解析指示视口或空间区域的质量的至少一个值;确定视口或空间区域是否适合于显示;并且基于指示视口或空间区域的质量的至少一个值从容器文件中选择轨道。
在一个实施例中,视口或空间区域和/或指示视口或空间区域的质量的至少一个值可以在符合ISO基础媒体文件格式的容器文件中指示和/或解析。例如,ISO基础媒体文件格式的以下结构中的一个或多个可以用于包含所提及的信息:
-封装媒体比特流的轨道的样本条目中的新的框。
-封装媒体比特流的轨道的受限视频样本条目('resv')中的新的框。
-样本组,其中样本组描述条目可以指示视口或空间区域和/或指
示视口或空间区域的质量的至少一个值。
-定时元数据轨道,其中样本指示视口或空间区域和/或指示视口
或空间区域的质量的至少一个值。
在一个实施例中,一种装置被配置为基于在封装编码比特流的容器文件中提供的指示来确定编码比特流内的视口或空间区域,在清单中包括编码比特流的视口或空间区域,基于在容器文件中提供的指示来确定指示视口或空间区域的质量的至少一个值,并且将指示视口或空间区域的质量的至少一个值包括在清单中。
在一个实施例中,一种装置利用质量好于比特流中的另一视口或另一空间区域的视口或空间区域对视频比特流进行编码,将视口或空间区域的指示编码到视频比特流中,并且将指示视口或空间区域的质量的至少一个值编码到视频比特流中。
在一个实施例中,视口或空间区域的指示被编码为VUI的一部分或被编码到SEI消息中,并且指示视口或空间区域的质量的至少一个值被编码到VUI或SEI消息中。
根据一个实施例,视频解码器被配置为从视频比特流(诸如从VUI或从SEI消息)中解析视口或空间区域;从视频比特流(诸如从VUI或从SEI消息)中解析指示视口或空间区域的质量的至少一个值;确定视口或空间区域是否适合于显示;并且基于指示视口或空间区域的质量的至少一个值来解码视频比特流或表示视口或空间区域的比特流的至少一部分。
图9是示出根据一个实施例的方法的流程图。一种方法包括:在清单中包括可用媒体内容的信息910;在清单中指示以下之一:视口或空间区域920;并且在清单中指示至少一个值930,至少一个值930指示视口或空间区域的相应质量。
根据一个实施例的装置包括用于在清单中包括可用媒体内容的信息的部件;用于在清单中指示以下之一的部件:视口或空间区域;以及用于在清单中指示指示视口或空间区域的相应质量的至少一个值的部件。这些部件可以包括处理器、存储器和驻留在存储器中的计算机程序代码。
图10是示出根据另一实施例的方法的流程图。一种方法包括:从清单中解析可用媒体内容的信息1010;从清单中解析以下之一:视口或空间区域1020;从清单中解析指示视口或空间区域的相应质量的至少一个值1030;确定视口或空间区域适合于显示1040;并且基于指示视口或空间区域的相应质量的至少一个值从清单中选择表示1050。
根据另一实施例的一种装置包括用于从清单中解析可用媒体内容的信息的部件;用于从清单中解析以下之一的部件:视口或空间区域;用于从清单中解析指示视口或空间区域的相应质量的至少一个值的部件;用于确定视口或空间区域适合于显示的部件;以及用于基于指示视口或空间区域的相应质量的至少一个值从清单中选择表示的部件。这些部件可以包括处理器、存储器和驻留在存储器中的计算机程序代码。
根据一个实施例的一种装置包括用于在清单中包括可用媒体内容的信息的部件;用于在清单中指示以下之一的部件:视口或空间区域;以及用于在清单中指示指示视口或空间区域的相应质量的至少一个值的部件。
该部件可以包括处理器、存储器和驻留在存储器中的计算机程序代码。
根据另一实施例的一种装置包括用于从清单中解析可用媒体内容的信息的装置;用于从清单中解析以下之一的部件:视口或空间区域;用于从清单中解析指示视口或空间区域的相应质量的至少一个值的部件;用于确定视口或空间区域适合于显示的部件;以及用于基于指示视口或空间区域的相应质量的至少一个值从清单中选择表示的部件。
该部件可以包括处理器、存储器和驻留在存储器中的计算机程序代码。
各种实施例可以提供优点。本实施例实现了视口自适应虚拟现实视频流。
在上文中,已经针对基于质量的“表示”选择描述了一些实施例。需要理解的是,“表示”的其他因素(诸如比特率和空间分辨率)也可能影响“表示”切换。通常,可以以使得具有太高比特率的“表示”(例如,对于主要的网络吞吐量)和/或太高空间分辨率和/或图片速率(例如,用于解码容量)的“表示”能够从可以选择“表示”的集合中被排除的方式来修剪可用于流式传输的一组可用“表示”。
在上文中,已经关于ISOBMFF和/或从ISOBMFF导出的格式描述了一些实施例。需要理解的是,实施例类似地适用于其他文件和段格式,诸如Matroska文件格式。
在上文中,已经关于MPEG-DASH或DASH描述了一些实施例。需要理解的是,实施例类似地适用于通过HTTP的其他形式的流式传输,诸如Apple HTTP直播流(HLS)。
在上文中,已经通过参考术语流式传输描述了一些实施例。需要理解的是,实施例类似地适用于其他形式的视频传输,诸如逐行扫描下载、文件传递和会话视频通信,诸如视频电话。
本发明的各种实施例可以借助于驻留在存储器中并且引起相关装置实现本发明的计算机程序代码来实现。例如,一种设备可以包括用于处理、接收和传输数据的电路和电子设备、存储器中的计算机程序代码、以及当运行计算机程序代码时引起该设备执行实施例的特征的处理器。此外,诸如服务器等网络设备可以包括用于处理、接收和传输数据的电路和电子设备、存储器中的计算机程序代码、以及当运行计算机程序代码时引起网络设备执行实施例的特征的处理器。
如果需要,本文中讨论的不同功能可以以不同顺序执行和/或与其他功能同时执行。此外,如果需要,上述功能和实施例中的一个或多个可以是可选的或可以组合。
尽管在独立权利要求中阐述了实施例的各个方面,但是其他方面包括来自所描述的实施例和/或从属权利要求的特征与独立权利要求的特征的其他组合,而不仅仅是权利要求中明确阐述的组合。
在此还应当注意,虽然以上描述了示例实施例,但是这些描述不应当被视为具有限制意义。而是,存在可以在不脱离如所附权利要求中限定的本公开的范围的情况下进行的若干变型和修改。
根据第一方面,一种方法包括:在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域;并且在清单中指示至少一个值,该至少一个值指示视口或空间区域的相应质量。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
根据第二方面,该方法包括:从清单中解析可用媒体内容的信息,包括从清单中解析以下之一:视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值来从清单中选择表示。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
在一个实施例中,该方法还包括:从清单中解析第一表示和第二表示的信息;从清单中解析第一表示的视口或空间区域,并且从清单中解析第二表示的视口或空间区域;从清单解析指示第一表示中的视口或空间区域的质量的第一值以及指示第二表示中的视口或空间区域的质量的第二值;并且基于第一值和第二值来选择第一表示或第二表示。
在一个实施例中,该方法包括:从清单中解析第一表示和第二表示的信息;从清单中解析关于以下之一的第一信息:第一表示的第一视口或第一表示的第一空间区域;并且从清单中解析关于以下之一的第二信息:第二表示的第二视口或第二表示的第二空间区域;基于第一信息和第二信息确定以下中的哪一项适合于显示:第一视口、第一空间区域、第二视口、第二空间区域;并且基于确定选择相应的表示。
根据第三方面,一种装置包括至少一个处理器和至少一个存储器,至少一个存储器上存储有代码,这些代码在由至少一个处理器执行时引起该装置:在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域;并且在清单中指示至少一个值,该至少一个值指示视口或空间区域的相应质量。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
根据第四方面,一种装置包括至少一个处理器和至少一个存储器,至少一个存储器上存储有代码,这些代码在由至少一个处理器执行时引起该装置:从清单中解析可用媒体内容的信息,从清单中解析以下之一:视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值来从清单中选择表示。
在一个实施例中,视口在球面坐标系、水平视场和竖直视场上用两个角度指示。
在一个实施例中,空间区域用位置、宽度和高度指示。
在一个实施例中,指示视口或空间区域的相应质量的至少一个值是指示图片或视频质量的顺序的质量排名。
在一个实施例中,该装置还被配置为:从清单中解析第一表示和第二表示的信息;从清单中解析第一表示的视口或空间区域,并且从清单中解析第二表示的视口或空间区域;从清单中解析指示第一表示中的视口或空间区域的质量的第一值以及指示第二表示中的视口或空间区域的质量的第二值;并且基于第一值和第二值来选择第一表示或第二表示。
在一个实施例中,该装置还被配置为:从清单中解析第一表示和第二表示的信息;从清单中解析关于以下之一的第一信息:第一表示的第一视口或第一表示的第一空间区域;并且从清单中解析关于以下之一的第二信息:第二表示的第二视口或第二表示的第二空间区域;基于第一信息和第二信息确定以下中的哪一项适合于显示:第一视口、第一空间区域、第二视口、第二空间区域;并且基于确定选择相应的表示。
根据第五方面,一种计算机可读存储介质,其上存储有用于由装置使用的代码,这些代码在由处理器执行时引起该装置:在清单中包括可用媒体内容的信息;在清单中指示以下之一:视口或空间区域;并且在清单中指示指示视口或空间区域的相应质量的至少一个值。
根据第六方面,一种计算机可读存储介质,其上存储有用于由装置使用的代码,这些代码在由处理器执行时引起该装置:从清单中解析可用媒体内容的信息,从清单中解析以下之一:视口或空间区域;从清单中解析指示视口或空间区域的相应质量的至少一个值;确定视口或空间区域适合于显示;并且基于指示视口或空间区域的相应质量的至少一个值从清单中选择表示。

Claims (30)

1.一种方法,包括:
在清单中包括可用媒体内容的信息;
在所述清单中指示以下之一:视口或空间区域,其中所述视口是360度视频的一部分;以及
在所述清单中指示至少一个值,所述至少一个值指示所述视口或所述空间区域的相应质量。
2.根据权利要求1所述的方法,还包括在球面坐标系、水平视场和竖直视场上用两个角度指示所述视口。
3.根据权利要求1或2所述的方法,还包括用位置、宽度和高度指示所述空间区域。
4.根据权利要求1或2或3所述的方法,其中指示所述视口或所述空间区域的所述相应质量的至少一个值是质量排名,所述质量排名指示图片或视频质量的顺序。
5.根据权利要求1至4中任一项所述的方法,还包括在视频比特流和封装所述视频比特流的容器文件中的一者或两者中用信号传输所述视口或所述空间区域的所述指示以及指示所述视口或所述空间区域的所述相应质量的所述至少一个值。
6.根据权利要求5所述的方法,其中所述视口或所述空间区域的所述指示以及指示所述视口或所述空间区域的所述相应质量的所述至少一个值被包括在所述视频比特流的SEI(补充增强信息)消息中。
7.根据权利要求5所述的方法,其中所述视口或所述空间区域的所述指示以及指示所述视口或所述空间区域的所述相应质量的所述至少一个值被包括在容器文件中,所述容器文件在以下结构中的一个或多个结构内符合ISO基础媒体文件格式(ISOBMFF):封装所述视频比特流的轨道的样本条目中的框;封装所述视频比特流的轨道的受限视频样本条目中的框;样本组;定时的元数据轨道。
8.一种方法,包括从清单中解析可用媒体内容的信息,包括:
从所述清单中解析以下之一:视口或空间区域,其中所述视口是360度视频的一部分;
从所述清单中解析至少一个值,所述至少一个值指示所述视口或所述空间区域的相应质量;
确定所述视口或所述空间区域适合于显示;以及
基于指示所述视口或所述空间区域的所述相应质量的所述至少一个值,从所述清单中选择表示。
9.根据权利要求8所述的方法,还包括在球面坐标系、水平视场和竖直视场上用两个角度指示所述视口。
10.根据权利要求8或9所述的方法,还包括用位置、宽度和高度指示所述空间区域。
11.根据权利要求8或9或10所述的方法,其中指示所述视口或所述空间区域的所述相应质量的至少一个值是质量排名,所述质量排名指示图片或视频质量的顺序。
12.根据权利要求8至11中任一项所述的方法,还包括:
从清单中解析第一表示和第二表示的信息;
从所述清单中解析用于所述第一表示的视口或空间区域;以及
从所述清单中解析用于所述第二表示的视口或空间区域;
从所述清单中解析指示所述第一表示中的所述视口或所述空间区域的所述质量的第一值以及指示所述第二表示中的所述视口或所述空间区域的所述质量的第二值;以及
基于所述第一值和所述第二值,选择所述第一表示或所述第二表示。
13.根据权利要求8至11中任一项所述的方法,还包括:
从清单中解析第一表示和第二表示的信息;
从所述清单中解析关于以下之一的第一信息:用于所述第一表示的第一视口或用于所述第一表示的第一空间区域;以及
从所述清单中解析关于以下之一的第二信息:用于所述第二表示的第二视口或用于所述第二表示的第二空间区域;
基于所述第一信息和所述第二信息,确定以下中的哪一项适合于显示:第一视口、第一空间区域、第二视口、第二空间区域;以及
基于所述确定选择相应的所述表示。
14.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时引起所述装置:
在清单中包括可用媒体内容的信息;
在所述清单中指示以下之一:视口或空间区域,其中所述视口是360度视频的一部分;以及
在所述清单中指示至少一个值,所述至少一个值指示所述视口或所述空间区域的相应质量。
15.根据权利要求14所述的装置,其中所述视口在球面坐标系、水平视场和竖直视场上用两个角度被指示。
16.根据权利要求14或15所述的装置,其中所述空间区域用位置、宽度和高度被指示。
17.根据权利要求14或15或16所述的装置,其中指示所述视口或所述空间区域的所述相应质量的所述至少一个值是质量排名,所述质量排名指示图片或视频质量的顺序。
18.根据权利要求14至17中任一项所述的装置,还被引起在视频比特流和封装所述视频比特流的容器文件中的一者或两者中用信号传输所述视口或所述空间区域的所述指示以及指示所述视口或所述空间区域的所述相应质量的所述至少一个值。
19.根据权利要求18所述的装置,其中所述视口或所述空间区域的所述指示以及指示所述视口或所述空间区域的所述相应质量的所述至少一个值被包括在所述视频比特流的SEI(补充增强信息)消息中。
20.根据权利要求18所述的装置,其中所述视口或所述空间区域的所述指示以及指示所述视口或所述空间区域的所述相应质量的所述至少一个值被包括在容器文件中,所述容器文件在以下结构中的一个或多个结构内符合ISO基础媒体文件格式(ISOBMFF):封装所述视频比特流的轨道的样本条目中的框;封装所述视频比特流的轨道的受限视频样本条目中的框;样本组;定时元数据轨道。
21.一种装置,包括:
用于在清单中包括可用媒体内容的信息的部件;
用于在所述清单中指示以下之一的部件:视口或空间区域,其中所述视口是360度视频的一部分;以及
用于在所述清单中指示至少一个值的部件,所述至少一个值指示所述视口或所述空间区域的相应质量。
22.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时引起所述装置:
从清单中解析可用媒体内容的信息,从所述清单中解析以下之一:视口或空间区域,其中所述视口是360度视频的一部分;
从所述清单中解析至少一个值,所述至少一个值指示所述视口或所述空间区域相应质量;
确定所述视口或所述空间区域适合于显示;以及
基于指示所述视口或所述空间区域的所述相应质量的所述至少一个值,从所述清单中选择表示。
23.根据权利要求22所述的装置,其中所述视口在球面坐标系、水平视场和竖直视场上用两个角度被指示。
24.根据权利要求22或23所述的装置,其中所述空间区域用位置、宽度和高度被指示。
25.根据权利要求22或23或24所述的装置,其中指示所述视口或所述空间区域的所述相应质量的所述至少一个值是质量排名,所述质量排名指示图片或视频质量的顺序。
26.根据权利要求22至25中任一项所述的装置,其中所述装置还被配置为:
从清单中解析第一表示和第二表示的信息;
从所述清单中解析用于所述第一表示的视口或空间区域,并且从所述清单中解析用于所述第二表示的视口或空间区域;
从所述清单中解析指示所述第一表示中的视口或空间区域的质量的第一值以及指示所述第二表示中的视口或空间区域的质量的第二值;以及
基于所述第一值和所述第二值,选择所述第一表示或所述第二表示。
27.根据权利要求22至25中任一项所述的装置,其中所述装置还被配置为:
从清单中解析第一表示和第二表示的信息;
从所述清单中解析关于以下之一的第一信息:用于所述第一表示的第一视口或用于所述第一表示的第一空间区域;以及
从所述清单中解析关于以下之一的第二信息:用于所述第二表示的第二视口或用于所述第二表示的第二空间区域;
基于所述第一信息和所述第二信息确定以下中的哪一项适合于显示:第一视口、第一空间区域、第二视口、第二空间区域;以及
基于所述确定选择相应的所述表示。
28.一种装置,包括:
用于从清单中解析可用媒体内容的信息的部件,
用于从所述清单中解析以下之一的部件:视口或空间区域,其中所述视口是360度视频的一部分;
用于从所述清单中解析至少一个值的部件,所述至少一个值指示所述视口或所述空间区域的相应质量;
用于确定所述视口或所述空间区域适合于显示的部件;以及
用于基于指示所述视口或所述空间区域的所述相应质量的所述至少一个值来从所述清单中选择表示的部件。
29.一种计算机可读存储介质,其上存储有用于由装置使用的代码,所述代码在由处理器执行时引起所述装置:
在清单中包括可用媒体内容的信息;
在所述清单中指示以下之一:视口或空间区域,其中所述视口是360度视频的一部分;以及
在所述清单中指示至少一个值,所述至少一个值指示所述视口或所述空间区域的相应质量。
30.一种计算机可读存储介质,其上存储有用于由装置使用的代码,所述代码在由处理器执行时引起所述装置:
从清单中解析可用媒体内容的信息,从所述清单中解析以下之一:视口或空间区域,其中所述视口是360度视频的一部分;
从所述清单中解析至少一个值,所述至少一个值指示所述视口或所述空间区域相应质量;
确定所述视口或所述空间区域适合于显示;以及
基于指示所述视口或所述空间区域的所述相应质量的所述至少一个值来从所述清单中选择表示。
CN201780032386.6A 2016-05-24 2017-05-17 用于编码媒体内容的方法和装置以及计算机可读存储介质 Active CN109155861B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662340707P 2016-05-24 2016-05-24
US62/340,707 2016-05-24
PCT/FI2017/050376 WO2017203098A1 (en) 2016-05-24 2017-05-17 Method and an apparatus and a computer program for encoding media content

Publications (2)

Publication Number Publication Date
CN109155861A true CN109155861A (zh) 2019-01-04
CN109155861B CN109155861B (zh) 2021-05-25

Family

ID=60412645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780032386.6A Active CN109155861B (zh) 2016-05-24 2017-05-17 用于编码媒体内容的方法和装置以及计算机可读存储介质

Country Status (5)

Country Link
US (3) US20170347026A1 (zh)
EP (1) EP3466079B1 (zh)
KR (1) KR102170550B1 (zh)
CN (1) CN109155861B (zh)
WO (1) WO2017203098A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110313175A (zh) * 2019-03-20 2019-10-08 北京小米移动软件有限公司 在vr360应用中传输视点切换能力的方法和装置
CN110662084A (zh) * 2019-10-15 2020-01-07 北京齐尔布莱特科技有限公司 一种mp4文件流直播的方法、移动终端及存储介质
CN112468818A (zh) * 2021-01-22 2021-03-09 腾讯科技(深圳)有限公司 视频通信的实现方法及装置、介质和电子设备
WO2021258324A1 (en) * 2020-06-24 2021-12-30 Zte Corporation Volumetric media process methods and apparatus

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US10600245B1 (en) * 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
US10432688B2 (en) * 2015-03-13 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for optimized delivery of live ABR media
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US10587934B2 (en) * 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP
EP3249929A1 (en) * 2016-05-25 2017-11-29 Thomson Licensing Method and network equipment for establishing a manifest
US10360721B2 (en) * 2016-05-26 2019-07-23 Mediatek Inc. Method and apparatus for signaling region of interests
KR20190021229A (ko) * 2016-05-26 2019-03-05 브이아이디 스케일, 인크. 뷰포트 적응형 360도 비디오 전달의 방법 및 장치
US11375284B2 (en) 2016-07-15 2022-06-28 Koninklijke Kpn N.V. Streaming virtual reality video
WO2018025660A1 (ja) * 2016-08-05 2018-02-08 ソニー株式会社 画像処理装置および画像処理方法
US20190199921A1 (en) * 2016-08-29 2019-06-27 Lg Electronics Inc. Method for transmitting 360-degree video, method for receiving 360-degree video, 360-degree video transmitting device, and 360-degree video receiving device
US10743003B1 (en) 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
US10743004B1 (en) 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
US11172005B2 (en) 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content
EP3513562A1 (en) * 2016-09-14 2019-07-24 Koninklijke KPN N.V. Streaming virtual reality video
WO2018056181A1 (ja) * 2016-09-26 2018-03-29 ソニー株式会社 符号化装置、符号化方法、復号化装置、復号化方法、送信装置および受信装置
CN117176966A (zh) 2016-10-04 2023-12-05 有限公司B1影像技术研究所 图像编码/解码方法和传输比特流的方法
GB2554877B (en) 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US10917564B2 (en) * 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
US10454987B2 (en) * 2016-10-28 2019-10-22 Google Llc Bitrate optimization for multi-representation encoding using playback statistics
WO2018083378A1 (en) 2016-11-01 2018-05-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10652553B2 (en) * 2016-12-07 2020-05-12 Qualcomm Incorporated Systems and methods of signaling of regions of interest
WO2018131813A1 (en) * 2017-01-10 2018-07-19 Samsung Electronics Co., Ltd. Method and apparatus for generating metadata for 3d images
US11532128B2 (en) * 2017-03-23 2022-12-20 Qualcomm Incorporated Advanced signaling of regions of interest in omnidirectional visual media
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
WO2018177373A1 (en) * 2017-03-30 2018-10-04 Mediatek Inc. Method and apparatus for signaling spherical region information in isobmff
US10521468B2 (en) * 2017-06-13 2019-12-31 Adobe Inc. Animated seek preview for panoramic videos
US10659760B2 (en) 2017-07-10 2020-05-19 Qualcomm Incorporated Enhanced high-level signaling for fisheye virtual reality video
US10575018B2 (en) * 2017-07-10 2020-02-25 Qualcomm Incorporated Enhanced high-level signaling for fisheye virtual reality video in dash
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data
US11025919B2 (en) * 2017-10-03 2021-06-01 Koninklijke Kpn N.V. Client-based adaptive streaming of nonlinear media
WO2019110779A1 (en) 2017-12-07 2019-06-13 Koninklijke Kpn N.V. Method for adaptive streaming of media
US10217488B1 (en) * 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
EP3503559A1 (en) * 2017-12-20 2019-06-26 Thomson Licensing Method and terminal for managing a streaming session of an immersive video spatially tiled with a set of tiles and stored on a network equipment
CN110035316B (zh) * 2018-01-11 2022-01-14 华为技术有限公司 处理媒体数据的方法和装置
GB2570298A (en) * 2018-01-17 2019-07-24 Nokia Technologies Oy Providing virtual content based on user context
US11218706B2 (en) * 2018-02-26 2022-01-04 Interdigital Vc Holdings, Inc. Gradient based boundary filtering in intra prediction
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
EP3769514A2 (en) * 2018-03-22 2021-01-27 Huawei Technologies Co., Ltd. Immersive media metrics for display information
US11115451B2 (en) * 2018-03-26 2021-09-07 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling viewports and regions of interest
WO2019192509A1 (en) * 2018-04-03 2019-10-10 Huawei Technologies Co., Ltd. Media data processing method and apparatus
WO2019195547A1 (en) * 2018-04-05 2019-10-10 Vid Scale, Inc. Viewpoint metadata for omnidirectional video
CN111869221B (zh) * 2018-04-05 2021-07-20 华为技术有限公司 Dash对象之间的有效关联
CN110351492B (zh) * 2018-04-06 2021-11-19 中兴通讯股份有限公司 一种视频数据处理方法、装置及介质
US10812828B2 (en) 2018-04-10 2020-10-20 At&T Intellectual Property I, L.P. System and method for segmenting immersive video
WO2019200227A1 (en) * 2018-04-13 2019-10-17 Futurewei Technologies, Inc. Signaling spatial region correspondence between virtual reality viewpoints
US10623791B2 (en) 2018-06-01 2020-04-14 At&T Intellectual Property I, L.P. Field of view prediction in live panoramic video streaming
US10812774B2 (en) 2018-06-06 2020-10-20 At&T Intellectual Property I, L.P. Methods and devices for adapting the rate of video content streaming
US10616621B2 (en) 2018-06-29 2020-04-07 At&T Intellectual Property I, L.P. Methods and devices for determining multipath routing for panoramic video content
US10708494B2 (en) 2018-08-13 2020-07-07 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic video content
US11019361B2 (en) 2018-08-13 2021-05-25 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic view of a camera for capturing video content
CN113206826B (zh) 2018-09-28 2022-10-04 华为技术有限公司 传输媒体数据的方法、客户端和服务器
US11184461B2 (en) 2018-10-23 2021-11-23 At&T Intellectual Property I, L.P. VR video transmission with layered video by re-using existing network infrastructures
US10939139B2 (en) 2018-11-29 2021-03-02 Apple Inc. Adaptive coding and streaming of multi-directional video
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质
EP3844960A4 (en) 2018-12-29 2021-12-15 Huawei Technologies Co., Ltd. ENCODER, DECODER, AND RELATED METHODS USING COMPACT MOTION VECTOR STORAGE
CN114979750A (zh) * 2019-01-08 2022-08-30 诺基亚技术有限公司 用于虚拟现实的方法、装置和计算机可读介质
EP3900331A4 (en) 2019-01-12 2022-03-16 Huawei Technologies Co., Ltd. VIDEO ENCODER, VIDEO DECODER AND RELATED MMVD DISTANCE PROCESSING METHODS
KR102178947B1 (ko) * 2019-01-31 2020-11-13 서울과학기술대학교 산학협력단 스티칭 기법을 이용한 360도 멀티뷰 영상 전송 시스템 및 방법
WO2020181125A1 (en) 2019-03-07 2020-09-10 Alibaba Group Holding Limited Method, apparatus, medium, and device for processing multi-angle free-perspective video data
CN113574900B (zh) * 2019-03-15 2024-03-15 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
CN113632464B (zh) * 2019-05-21 2023-04-28 华为技术有限公司 分量间预测的方法和设备
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
US20220256134A1 (en) * 2019-07-22 2022-08-11 Interdigital Vc Holdings, Inc. A method and apparatus for delivering a volumetric video content
US11729243B2 (en) * 2019-09-20 2023-08-15 Intel Corporation Dash-based streaming of point cloud content based on recommended viewports
EP4022915A4 (en) * 2019-09-24 2022-10-05 Huawei Technologies Co., Ltd. REFUSAL OF UNUSED LAYERS IN LAYERED VIDEO BITSTREAMS
US11956295B2 (en) 2019-09-27 2024-04-09 Apple Inc. Client-end enhanced view prediction for multi-view video streaming exploiting pre-fetched data and side information
US10939126B1 (en) * 2019-12-09 2021-03-02 Guangzhou Zhijing Technology Co., Ltd Method of adding encoded range-of-interest location, type and adjustable quantization parameters per macroblock to video stream
BR112022012708A2 (pt) 2019-12-26 2022-09-06 Bytedance Inc Métodos para processamento de vídeo e para armazenar fluxo contínuo de bits, aparelhos de decodificação e de codificação de vídeo, mídias de armazenamento e de gravação legíveis por computador não transitórias, e, método, aparelho ou sistema
JP7431330B2 (ja) 2019-12-26 2024-02-14 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイル、層及びレイヤの指示
EP4066387A4 (en) 2019-12-27 2023-02-15 ByteDance Inc. SUBPICTURE SIGNALING IN PARAMETER SETS
US11172210B2 (en) 2020-01-05 2021-11-09 Isize Limited Processing image data
JP2023509779A (ja) 2020-01-09 2023-03-09 バイトダンス インコーポレイテッド レイヤ間参照ピクチャの存在のシグナリング
US20230058283A1 (en) * 2020-02-17 2023-02-23 Hyundai Motor Company Video encoding and decoding based on resampling chroma signals
US11297350B1 (en) 2020-03-27 2022-04-05 Tencent America LLC Method for output layer set for multilayered video stream
US20230144371A1 (en) * 2020-03-30 2023-05-11 Lg Electronics Inc. Image decoding method and apparatus
US11503289B2 (en) * 2020-05-27 2022-11-15 Tencent America LLC Bitstream structure for viewport-based streaming with a fallback bitstream
CN115022715B (zh) * 2020-06-04 2023-07-25 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法及设备
WO2021246840A1 (ko) * 2020-06-06 2021-12-09 엘지전자 주식회사 스케일러빌리티를 위한 서브-비트스트림 추출 기반 영상 코딩 장치 및 방법
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
WO2022065799A1 (ko) * 2020-09-22 2022-03-31 엘지전자 주식회사 미디어 파일 처리 방법 및 그 장치
US11533351B2 (en) * 2020-09-24 2022-12-20 Apple Inc. Efficient delivery of multi-camera interactive content
EP4272432A1 (en) * 2020-12-31 2023-11-08 Koninklijke KPN N.V. Multi-view video streaming
US20230018718A1 (en) * 2021-06-30 2023-01-19 Lemon Inc. Signaling Replacement of Video Data Units in a Picture-in-Picture Region
WO2023058995A1 (ko) * 2021-10-04 2023-04-13 엘지전자 주식회사 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009102503A2 (en) * 2008-02-14 2009-08-20 Cisco Technology, Inc. Adaptive quantization for uniform quality in panoramic videoconferencing
US20120254791A1 (en) * 2011-03-31 2012-10-04 Apple Inc. Interactive menu elements in a virtual three-dimensional space
CN103563364A (zh) * 2011-06-07 2014-02-05 索尼公司 图像处理设备及方法
CN104010225A (zh) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 显示全景视频的方法和系统
WO2015014773A1 (en) * 2013-07-29 2015-02-05 Koninklijke Kpn N.V. Providing tile video streams to a client
CN105554513A (zh) * 2015-12-10 2016-05-04 Tcl集团股份有限公司 一种基于h.264的全景视频传输方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2767794A1 (en) * 2008-10-07 2010-04-15 Telefonaktiebolaget Lm Ericsson (Publ) Multi-view media data
US20130188922A1 (en) * 2012-01-23 2013-07-25 Research In Motion Limited Multimedia File Support for Media Capture Device Position and Location Timed Metadata
US9998726B2 (en) * 2012-06-20 2018-06-12 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
KR101925606B1 (ko) * 2012-10-12 2018-12-05 캐논 가부시끼가이샤 데이터를 스트리밍하기 위한 방법, 데이터를 제공하기 위한 방법, 데이터를 획득하기 위한 방법, 컴퓨터 판독 가능 저장 매체, 서버 장치, 및 클라이언트 장치
US9584792B2 (en) * 2013-01-04 2017-02-28 Qualcomm Incorporated Indication of current view dependency on reference view in multiview coding file format
EP2824885B1 (en) * 2013-07-12 2019-01-23 Provenance Asset Group LLC A manifest file format supporting panoramic video
JP6440747B2 (ja) 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
US10298985B2 (en) * 2015-05-11 2019-05-21 Mediamelon, Inc. Systems and methods for performing quality based streaming
US10313745B2 (en) * 2016-01-17 2019-06-04 Bitmovin Gmbh Adaptive streaming of an immersive video scene
US10979691B2 (en) * 2016-05-20 2021-04-13 Qualcomm Incorporated Circular fisheye video in virtual reality
GB2578227B (en) * 2016-05-23 2021-09-15 Canon Kk Method, device, and computer program for adaptive streaming of virtual reality media content
GB2550589B (en) * 2016-05-23 2019-12-04 Canon Kk Method, device, and computer program for improving streaming of virtual reality media content
EP4156694A1 (en) * 2017-07-07 2023-03-29 Nagravision Sàrl A method to insert ad content into a video scene

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009102503A2 (en) * 2008-02-14 2009-08-20 Cisco Technology, Inc. Adaptive quantization for uniform quality in panoramic videoconferencing
US20120254791A1 (en) * 2011-03-31 2012-10-04 Apple Inc. Interactive menu elements in a virtual three-dimensional space
CN103563364A (zh) * 2011-06-07 2014-02-05 索尼公司 图像处理设备及方法
WO2015014773A1 (en) * 2013-07-29 2015-02-05 Koninklijke Kpn N.V. Providing tile video streams to a client
CN104010225A (zh) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 显示全景视频的方法和系统
CN105554513A (zh) * 2015-12-10 2016-05-04 Tcl集团股份有限公司 一种基于h.264的全景视频传输方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LUCIA D’ACUNTO: "Using MPEG DASH SRD for zoomable and navigable video", 《PROCEEDINGS OF INT. CONF ON MULTIMEDIA SYSTEM》 *
MARTENS.G: "Bandwidth management for ODV tiled streaming with MEPG-DASH", 《UNIVERSITEIT HASSELT MASTER’S THESIS》 *
蒋刚毅: "基于感知的视频编码方法综述", 《电子与信息学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110313175A (zh) * 2019-03-20 2019-10-08 北京小米移动软件有限公司 在vr360应用中传输视点切换能力的方法和装置
CN110662084A (zh) * 2019-10-15 2020-01-07 北京齐尔布莱特科技有限公司 一种mp4文件流直播的方法、移动终端及存储介质
WO2021258324A1 (en) * 2020-06-24 2021-12-30 Zte Corporation Volumetric media process methods and apparatus
CN112468818A (zh) * 2021-01-22 2021-03-09 腾讯科技(深圳)有限公司 视频通信的实现方法及装置、介质和电子设备
CN112468818B (zh) * 2021-01-22 2021-06-29 腾讯科技(深圳)有限公司 视频通信的实现方法及装置、介质和电子设备

Also Published As

Publication number Publication date
US20200177809A1 (en) 2020-06-04
CN109155861B (zh) 2021-05-25
EP3466079A1 (en) 2019-04-10
KR20190009378A (ko) 2019-01-28
EP3466079B1 (en) 2023-07-12
US20170347026A1 (en) 2017-11-30
WO2017203098A1 (en) 2017-11-30
US20190313021A1 (en) 2019-10-10
EP3466079A4 (en) 2019-12-11
KR102170550B1 (ko) 2020-10-29

Similar Documents

Publication Publication Date Title
CN109155861A (zh) 用于编码媒体内容的方法和装置以及计算机程序
CN111543060B (zh) 用于视频编码和解码的装置、方法和计算机程序
US10893256B2 (en) Apparatus, a method and a computer program for omnidirectional video
CN113170238B (zh) 用于视频编码和解码的装置、方法和计算机程序
CN110870302B (zh) 用于全向视频的装置、方法和计算机程序
KR102348538B1 (ko) 360 도 비디오 데이터를 프로세싱하기 위한 방법 및 시스템
US10652553B2 (en) Systems and methods of signaling of regions of interest
CN106105220B (zh) 用于视频编码和解码的方法和装置
CN108702503A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN106464893B (zh) 用于视频编码和解码的装置、方法和计算机程序
EP4084490A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN110431849A (zh) 包含用于视频译码的子图片位流的视频内容的信令传输
CN107113476A (zh) 用于视频流的方法、装置以及计算机可读存储介质
EP3349467B1 (en) An apparatus, a method and a computer program for video coding and decoding
CN110419219A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN107852532A (zh) 用于视频编码的方法、装置和计算机程序
EP3346709A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN108293127A (zh) 用于视频编码和解码的装置、方法和计算机程序
WO2019141907A1 (en) An apparatus, a method and a computer program for omnidirectional video
US20230059516A1 (en) Apparatus, a method and a computer program for omnidirectional video
WO2018115572A2 (en) An apparatus, a method and a computer program for video coding and decoding
CN109792487A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN117296317A (zh) 媒体文件处理方法及其设备

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