CN110800311B - 用于传输媒体内容的方法、装置和计算机程序 - Google Patents

用于传输媒体内容的方法、装置和计算机程序 Download PDF

Info

Publication number
CN110800311B
CN110800311B CN201880042705.6A CN201880042705A CN110800311B CN 110800311 B CN110800311 B CN 110800311B CN 201880042705 A CN201880042705 A CN 201880042705A CN 110800311 B CN110800311 B CN 110800311B
Authority
CN
China
Prior art keywords
track
encoded
box
tracks
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880042705.6A
Other languages
English (en)
Other versions
CN110800311A (zh
Inventor
弗雷德里克·梅兹
弗兰克·德诺奥
内尔·奥德拉奥果
乔纳森·泰奎特
酒井智哉
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN110800311A publication Critical patent/CN110800311A/zh
Application granted granted Critical
Publication of CN110800311B publication Critical patent/CN110800311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/234327Processing 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 layers, e.g. base layer and one or more enhancement layers
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

本发明涉及一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码媒体数据的方法,该方法包括:将编码数据封装到轨中,其中提供用以表示客户端需要解析其它编码数据以至少显示封装在给定轨中的编码数据的信息。

Description

用于传输媒体内容的方法、装置和计算机程序
技术领域
本发明涉及用于传输媒体数据的方法和装置。
背景技术
本发明涉及例如根据如MPEG标准化组织所定义的ISO基媒体文件格式来对虚拟现实媒体内容进行封装、解析和流传输,以提供便于虚拟现实媒体内容的交换、管理、编辑和呈现的灵活且可扩展的格式,并改善该虚拟现实媒体内容例如通过诸如使用自适应http流传输协议的因特网等的IP网络的传递。
国际标准化组织基媒体文件格式(ISO BMFF,ISO/IEC 14496-12)是描述供本地存储或者供经由网络或经由另一位流传递机制进行传输的编码定时媒体数据位流的众所周知的灵活且可扩展的格式。该文件格式是面向对象的。该文件格式包括被称为框(box)的构建块,其中这些框是顺次或层级组织的,并且定义编码定时媒体数据位流的诸如定时参数和结构参数等的参数。在该文件格式中,整个呈现被称为动画(movie)。动画在逻辑上被分割成轨。各轨表示媒体数据(例如,视频的帧)的定时序列。在各轨内,数据的各定时单元被称为样本;这可以是视频或音频的帧。样本按顺序隐含地编号。动画可被时间上组织为动画和轨片段(track fragment)的列表。实际样本在被称为MediaDataBox(媒体数据框)的框中。在动画片段内,存在轨片段的集合(针对各轨存在零个或多个轨片段)。而轨片段包含零个或多个轨运行(track run),各轨运行记录该轨的样本的连续运行。
为了改善用户体验、并且特别是为了提供沉浸式体验,定时媒体数据位流(视频甚至音频)可以是全向的(或者多向的或多方向的)。在应用于视频(还称为360°全景视频)时,用户感觉位于所显示的场景中。
全向视频可以从360°照相机获得、以及/或者通过将从例如安装在特殊装备上以使得所有照相机都具有公共节点的数个照相机获得的视频流的图像组合来获得。这种图像的组合被称为图像拼接或照相机拼接。
这种全向视频可以根据用户的观看取向经由头戴式显示器来渲染、或者通过投影到环绕用户的曲面屏幕上来渲染。这种全向视频也可以显示在具有导航用户界面的传统2D屏幕上,以根据全向视频中的用户期望部分(也称为视口)而平移到该全向视频中。由于用户感觉在虚拟世界中,因此这种全向视频通常被称为虚拟现实(VR)。在向全向视频添加虚拟对象时,该操作被称为增强现实(AR)。
图1示出用于从服务器装置101向客户端装置170(也示为170’)捕获、传输和渲染全向媒体的数据流的示例。
如图所示,该媒体具有从照相机系统100获取到并传递至头戴式显示器(HMD)170和170’的视频内容。传递160例如可以经由流式服务器161和流式客户端162通过诸如使用自适应http流传输协议的因特网等的IP网络163来进行。
为了例示,所使用的照相机系统100基于与立方体的各面相关联的六个标准照相机的集合。照相机系统100用于捕获(步骤110)表示照相机系统周围的真实场景的图像。根据该布置,一个照相机提供前方图像,一个照相机提供后方图像,一个照相机提供左方图像,一个照相机提供右方图像,一个照相机提供底部图像,并且一个照相机提供顶部图像。
在服务器101中对从照相机系统100获得的图像进行处理(步骤120),以创建形成也被称为360视频流或虚拟现实媒体数据流的全向视频流的360个图像。
处理步骤120涉及拼接和投影相同时间实例的捕获图像。首先将图像拼接并投影到表示在水平维度和垂直维度这两者上形成360°视图的球体121的三维投影结构上。该投影结构上的360图像数据例如使用等量矩形投影(https://en.wikipedia.org/wiki/Equirectangular_projection)被进一步转换到二维投影图像122(也表示为捕获投影)上。该投影图像覆盖整个球体。
可替代地,如果全向媒体是立体360度视频,则照相机系统100可以包括如下的多个照相机,这多个照相机在步骤110中捕获表示随后可由客户端用来渲染三维360度场景的左视图和右视图的图像序列。在这种情况下,将上述的处理步骤120单独应用于左视图和右视图这两者的图像序列。可选地,在步骤125中,可以应用帧打包以将相同时间实例的各左视图图像和右视图图像打包到相同的投影图像上,从而得到单一左+右投影图像序列。数个立体帧打包布置是可能的,例如,并排、上下、基于列的交错、基于行的交错、交替的左视图和右视图的时间交错。可替代地,立体帧打包布置还可以涉及在编码步骤140之后将左视图和右视图保持在单独且独立的投影图像序列中,从而得到独立的视频位流。例如,一个视频位流表示左视图图像,并且另一视频位流表示右视图图像。
可选地,然后应用区域级打包130以将投影图像122映射到打包图像131上。区域级打包涉及对投影图像的区域应用变换、调整大小和重定位,以便例如使与球体上的对于用户而言的最有用部分有关的信号信息最大化。可以注意到,打包图像可以仅覆盖整个球体的一部分。如果不应用区域级打包,则打包图像131与投影图像122相同。在立体全向媒体的情况下,区域级打包根据在步骤125中选择的帧打包布置而应用于左+右投影图像序列、或者单独应用于左视图和右视图的投影图像序列。
在步骤140中,将投影图像122编码到一个或数个视频位流中。在立体全向媒体的情况下,编码步骤根据在步骤125中选择的帧打包布置而应用于左+右打包图像序列、或者单独应用于左视图和右视图的打包图像序列。可替代地,可以将多视图编码用在左视图和右视图的打包图像序列上。
编码格式的示例是AVC(高级视频编码)、SVC(可分级视频编码)、HEVC(高效率视频编码)或L-HEVC(分层HEVC)。在下文,HEVC用于指代HEVC及其分层扩展(L-HEVC)这两者。
HEVC和类似的视频编码格式定义样本(例如,图片)的不同空间细分:区块(tile)、条带(slice)和条带分段(slice segment)。区块定义图片的矩形区域,其中该图片由水平边界和垂直边界(即,行和列)限定,并且包含整数个编码树单元(CTU)或编码块(以下全部称为编码单元)。如此,区块是表示图片的空间子部分的良好候选。然而,在句法方面的编码视频数据(位流)组织及其到NAL单元(或NALU)中的封装是基于条带和条带分段(如在AVC中那样)。
HEVC中的条带是条带分段的集合,其中至少第一条带分段是独立条带分段,其它条带分段(在存在的情况下)是依赖条带分段。条带分段包含整数个连续(按光栅扫描顺序)CTU。条带不必一定具有矩形形状(因而,对于空间子部分表现不如区块适合)。将条带分段作为以下编码在HEVC位流中:slice_segment_header,之后是slice_segment_data。独立条带分段(ISS)和依赖条带分段(DSS)的不同之处在于这两者的头部:依赖条带分段由于重复使用来自独立条带分段的头部的信息,因而具有较短的头部。独立条带分段和依赖条带分段这两者都包含位流中的进入点的列表。
在利用区块对视频位流进行编码时,区块可以是运动约束的,以确保区块不取决于同一图片中的相邻区块(空间依赖性)并且不取决于先前参考图片中的相邻区块(时间依赖性)。因此,运动约束的区块是可独立解码的。
可替代地,打包图像可在编码之前被分成数个空间子图片,各子图片被独立编码,从而例如形成独立的编码HEVC位流。
因此,作为编码步骤140的结果,打包图像131可以由一个或多个独立编码位流或者由包括一个或多个独立编码的子位流的至少一个编码位流表示。
然后,在步骤150中,根据封装文件格式(例如,根据如MPEG标准化组织所定义的ISO基媒体文件格式和全向媒体格式(OMAF))将这些编码后的位流和子位流封装在文件或小的时间分段文件165中。如此得到的文件或分段文件可以是mp4文件或mp4分段。在封装期间,可以将音频流以及提供与视频或音频流有关的信息的元数据轨添加到视频位流。
然后,将封装后的文件或分段文件经由传递机制160(例如通过使用http(超文本传输协议)协议的因特网或者在例如盘等的可移除数字介质上)传递至客户端170。为了例示,使用来自MPEG标准化委员会(“ISO/IEC 23009-1,经由HTTP的动态自适应流传输(DASH),Part1:Media presentation description and segment formats”)的诸如DASH(经由HTTP的动态自适应流传输)等的经由HTTP的自适应流传输来进行传递160。
该标准使得能够将媒体呈现的媒体内容的紧凑描述与HTTP统一资源定位符(URL)相关联。这种关联通常在被称为清单文件或描述文件164的文件中描述。在DASH的上下文中,该清单文件是也称为MPD文件(媒体呈现描述)的XML文件。
通过接收MPD文件,客户端装置170获得各媒体内容成分的描述。因此,客户端装置170获知在媒体呈现中提出的媒体内容成分的种类,并且知晓要用于经由流式客户端162从流式服务器161下载关联的媒体分段165的HTTP URL。因此,客户端170可以决定(经由HTTP请求)下载和播放(即,在接收到媒体分段之后解码并播放)哪些媒体内容成分。
应当注意,客户端装置仅可以根据用户的视口(即,当前显示并由用户观看的球形视频的一部分)获得与表示宽视图的场景的完整打包图像的空间部分相对应的媒体分段。宽视图的场景可以表示由完整打包图像表示的完整视图。
在接收时,在步骤151期间解析封装后的虚拟现实媒体文件或媒体分段,以提取在步骤141中解码的数据流。在步骤151中接收到的ISOBMFF文件或分段的情况下,解析通常由mp4读取器或mp4解析器来处理,其中该mp4读取器或mp4解析器可以从描述性元数据中提取封装后的视频位流和/或视频子位流。
接着,可选地,对从解码步骤141得到的打包图像进行解包以获得投影图像,然后对这些投影图像进行处理以进行视频渲染(步骤121)并进行显示(步骤111)。应当注意,视频渲染取决于作为用户的视角、视点和用于创建投影图像的投影的数个参数。如图所示,渲染视频包括将解码后的投影图像重新投影在球体上的步骤。将从这种重新投影获得的图像显示在头戴式显示器170’中。
为了处理立体视图,可以重复或部分重复通过参考图1所述的处理。
已观察到,将UHD(超高清)视频流的数个图像拼接成虚拟现实媒体数据流的全景图像得到位率非常高且分辨率非常高的虚拟现实媒体数据流。因此,从系统的角度来看、并且为了避免浪费带宽并且保持与客户端播放器的处理能力兼容,需要优化对虚拟现实媒体数据的访问。
虚拟现实媒体数据流可用于除通过参考图1所述的目的以外的其它目的这一需求更为重要。特别地,虚拟现实媒体数据流可用于利用如360°投影仪阵列那样的特定显示器来显示360°图像。虚拟现实媒体数据流也可用于显示特定视野以及/或者改变视角、视野和视点。
本发明人在沿着参考图1所述的处理来描述和表示与要传输的媒体数据有关的信息时,注意到了数个问题。
示例涉及从客户端请求特定解析处理的轨的信令,这产生开销并且是复杂的。
另一示例涉及将立体视图的信令限制到特定封装处理并且相对昂贵。
另一示例涉及轨中的编码数据中的覆盖范围的信令。在子图片轨被封装在数个不同的轨中的情况下,现有的解决方案复杂且不完全符合多轨封装处理。
发明内容
设计了本发明以解决上述问题中的一个或多个。
在该上下文中,提供了用于例如通过诸如使用http协议的因特网等的IP网络来对媒体内容(例如,全向媒体内容)进行流传输的解决方案。
根据本发明的一个实施例,提供一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码媒体数据的方法,所述方法包括:
将编码数据封装到轨中,
其中,提供用于表示所述客户端需要解析其它编码数据以至少显示封装在给定轨中的编码数据的信息。
本发明的一个实施例针对特定轨(特别是在OMAF中被定义为“不打算单独呈现”轨的轨)提供更简单的信令。这在OMAF内容被分成子图片轨时,降低了信令开销和解析复杂度,这意味着轨包括与一个或多个时间段的图片的一部分相对应的数据。
根据本发明的另一实施例,提供一种用于由客户端对媒体文件进行解析的方法,所述媒体文件包括与宽视图的场景的投影相对应的编码媒体数据,所述方法包括:
从所述媒体文件获得对编码数据进行封装的轨,
其中,所述方法包括:获得用于表示所述客户端需要解析其它编码数据以至少显示封装在给定轨中的编码数据的信息。
根据本发明的另一实施例,提供一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码媒体数据的装置,所述装置包括:
用于将编码数据封装到轨中的部件,
其中,所述装置还包括用于提供如下信息的部件,该信息用于表示所述客户端需要解析其它编码数据以至少显示封装在给定轨中的编码数据。
根据本发明的另一实施例,提供一种用于由客户端对媒体文件进行解析的装置,所述媒体文件包括与宽视图的场景的投影相对应的编码媒体数据,所述装置包括:
用于从所述媒体文件获得对编码数据进行封装的轨的部件,
其中,所述装置还包括用于获得如下信息的部件,该信息用于表示所述客户端需要解析其它编码数据以至少显示封装在给定轨中的编码数据。
根据本发明的另一实施例,提供一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码媒体数据的方法,所述方法包括:
将编码数据封装到轨中;
获得步骤,用于获得各轨的描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关;
将所述轨传输至所述客户端,
其中,所述获得步骤还包括:
提供包括用以表示所述宽视图的覆盖范围的信息的第一结构,该宽视图的覆盖范围由封装在第一轨中的编码数据、以及封装在属于第一轨容器的第一框内所定义的公共集合的一个或多个轨中的编码数据来表示。
本发明的所述另一实施例允许采用更简单的信令用于表示宽视图的覆盖范围的信息,尤其用于作为媒体数据的多轨OMAF内容。
根据本发明的另一实施例,提供一种用于由客户端对媒体文件进行解析的方法,所述媒体文件对应于与宽视图的场景的投影相对应的编码媒体数据,所述方法包括:
从所述媒体文件获得对编码数据进行封装的轨;
获得步骤,用于从各轨获得描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,
其中,所述获得步骤还包括:
获得包括用以表示所述宽视图的覆盖范围的信息的第一结构,该宽视图的覆盖范围由封装在第一轨中的编码数据、以及封装在属于第一轨容器的第一框内所定义的公共集合的一个或多个轨中的编码数据来表示。
根据本发明的另一实施例,提供一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码媒体数据的装置,所述装置包括:
用于将编码数据封装到轨中的部件;
获得部件,用于获得各轨的描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关;
用于将所述轨传输至所述客户端的部件,
其中,所述获得部件包括:
用于提供包括用以表示所述宽视图的覆盖范围的信息的第一结构的部件,该宽视图的覆盖范围由封装在第一轨中的编码数据、以及封装在属于第一轨容器的第一框内所定义的公共集合的一个或多个轨中的编码数据来表示。
根据本发明的另一实施例,提供一种用于由客户端对媒体文件进行解析的装置,所述媒体文件对应于与宽视图的场景的投影相对应的编码媒体数据,所述装置包括:
用于从所述媒体文件获得轨的部件;
获得部件,用于从各轨获得描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,
其中,所述获得部件包括:
用于获得包括用以表示所述宽视图的覆盖范围的信息的第一结构的其它部件,该宽视图的覆盖范围由封装在第一轨中的编码数据、以及封装在属于第一轨容器的第一框内所定义的公共集合的一个或多个轨中的编码数据来表示。
根据本发明的另一实施例,提供一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码视频数据的方法,所述方法包括:
将与立体视频内容相对应的编码视频数据封装在彼此相关的至少第一和第二轨中;
获得各轨的描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,
其中,所述方法还包括:
在针对各轨容器的一个框中,在所述第一轨和所述第二轨中提供与分别封装在相应轨中的立体视频内容有关的信息。
本发明的该另一实施例允许保持非常简单的信令,特别是在重复使用来自ISOBMFF的现有框并且避免复制的信令时。
根据本发明的另一实施例,提供一种用于由客户端对媒体文件进行解析的方法,所述媒体文件对应于与宽视图的场景的投影相对应的编码视频数据,所述方法包括:
在所述媒体文件中,从彼此相关的至少第一和第二轨获得与立体视频内容相对应的编码视频数据;
获得各轨的描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,
其中,所述方法还包括:
在针对各轨容器的一个框中,在所述第一轨和所述第二轨中获得与分别封装在相应轨中的立体视频内容有关的信息。
根据本发明的另一实施例,提供一种用于从服务器向客户端传输与宽视图的场景的投影相对应的编码视频数据的装置,所述装置包括:
用于将与立体视频内容相对应的编码视频数据封装在彼此相关的至少第一和第二轨中的部件;
用于获得各轨的描述性元数据的部件,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,
其中,所述装置还包括用于进行以下操作的部件:
在针对各轨容器的一个框中、在所述第一轨和所述第二轨中提供与分别封装在相应轨中的立体视频内容有关的信息。
根据本发明的另一实施例,提供一种用于由客户端对媒体文件进行解析的装置,所述媒体文件对应于与宽视图的场景的投影相对应的编码视频数据,所述装置包括:
用于在所述媒体文件中、从彼此相关的至少第一和第二轨获得与立体视频内容相对应的编码视频数据的部件;
用于获得各轨的描述性元数据的部件,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,
其中,所述装置还包括用于进行以下操作的部件:
在针对各轨容器的一个框中,在所述第一轨和所述第二轨中获得与分别封装在相应轨中的立体视频内容有关的信息。
附图说明
在研究附图和具体实施方式时,本领域技术人员将明白本发明的更多优点。意图这里包含了任何附加优点。
以下将仅通过示例方式并且参考以下附图来说明本发明的实施例,其中:
图1示出用于从服务器向客户端捕获、处理、封装、传输和渲染全向视频的数据流的示例;
图2示出根据本发明实施例的封装的示例的框图;以及
图3是用于实现本发明的一个或多个实施例的计算装置的示意框图。
具体实施方式
根据特定实施例,根据封装文件格式,(例如,ISO基媒体文件格式(ISO/IEC14496-12和ISO/IEC 14496-15)、全向媒体格式(OMAF)(ISO/IEC 23090-2)和如MPEG标准化组织所定义的关联规范),将通过打包图像131的编码(图1的步骤140)产生的编码位流和子位流封装到文件或小的时间分段文件中。
编码位流(例如,HEVC)以及可能的其子位流(例如,区块化HEVC、MV-HEVC、可分级HEVC)可被封装为单一轨。可替代地,在空间上相关的(即,作为投影图像的子空间部分的)多个编码位流可被封装为数个子图片轨。可替代地,包括数个子位流(区块、视图、层)的编码位流(例如,区块化HEVC、MV-HEVC、可分级HEVC)可被封装为多个子图片轨。
子图片轨是嵌入有图片或图像的子部分的数据的轨。一个子图片轨可以与其它子图片轨有关,或者与描述该子图片被提取于的完整图片的轨有关。例如,子图片轨可以是区块轨。子图片轨可以由AVC轨、HEVC轨、HEVC区块轨或被封装为样本序列的任何压缩视频位流来表示。
区块轨是与图像的空间部分或者与图像或图片的子图片相对应的定时视频样本的序列。区块轨例如可以是图像中的关注区域或该图像中的任意区域。与区块轨相对应的数据可以来自于视频位流,或者可以来自于视频位流的子部分。例如,区块轨可以是AVC或HEVC兼容的位流,或者可以是AVC或HEVC或任何编码位流的子部分,例如HEVC区块那样。在优选实施例中,区块轨是可独立解码的(编码器注意从其它区块去除运动预测)。在区块轨对应于利用区块以HEVC编码的视频位流时,该区块轨可被封装到如在ISO/IEC14496-15第四版中所述的、表示为“hvt1”轨的HEVC区块轨中。然后,该区块轨可以参考区块基轨以获得参数集、高级信息以设置视频解码器。该区块轨也可被封装到HEVC轨“hvc1”或“hev1”轨中。区块轨可用于将子图片空间复合成更大的图像或图片。
区块基轨是一个或多个区块轨共同的轨,其中该一个或多个区块包含在这些一个或多个轨之间共享的数据或元数据。区块基轨可以包含用于从一个或多个区块轨组成图像的指示。区块轨可以依赖于区块基轨以进行完全解码或渲染。在区块基轨源自于利用区块以HEVC编码的视频位流时,该区块基轨被封装到表示为“hvc2”或“hev2”轨的HEVC轨中。另外,该区块基轨由HEVC区块轨经由轨参考“tbas”来参考,并且该区块基轨应表示如在ISO/IEC14496-15第四版中所述的、使用向HEVC区块轨的“sabt”轨参考的区块排序。
复合轨(也表示为参考轨)是参考其它轨来组成图像的轨。复合轨的一个示例在视频轨的情况下是将子图片轨组成为更大图像的轨。这可以通过例如在源自于视频轨的如下轨中的解码后操作来进行,其中该轨提供变换和变换参数以将来自各视频轨的图像组成为更大的图像。复合轨还可以是具有提取器NAL单元的轨,这些提取器NAL单元提供用以从其它视频轨或区块轨提取NAL单元以在解码通过子位流级联产生的位流之前形成的指示。复合轨也可以是例如通过向其它轨的轨参考来隐含地提供复合指示的轨。
ISO/IEC 14496-12提供位于轨级别以描述轨组的框,其中各组共享特定特性或者组内的轨具有特定关系。特定特性或关系由所包含的框的框类型(track_group_type)表示。所包含的框包括可用于确定属于相同轨组的轨的标识符(track_group_id)。具有track_group_type值和track_group_id值相同的轨组框的所有轨是相同轨组的一部分。MPEG OMAF标准正提出供空间复合用的特定轨组作为类型“spco”的TrackGroupTypeBox(轨组类型框)。“spco”轨组中的各轨的样本可以与来自该相同组中的其它轨的样本(在相同的复合或解码时间)在空间上组成,以产生更大图像。
根据通过打包图像131的编码(图1的步骤140)得到的编码位流和子位流,可以实现采用文件格式的封装的数个变形。
图2示出根据本发明实施例的文件/分段封装(图1的步骤150)的示例的框图。
在步骤200中,服务器获得要封装到轨中的编码媒体数据。服务器判断是否存在数个空间相关的视频位流(即,表示打包图像的空间子部分,并且针对该视频位流空间复合可以创建更大图像)、或者是否存在可被作为多个子图片轨暴露给客户端的包括表示运动约束的区块或者多个视图的视频子位流的视频位流。如果编码后的打包图像由于被编码为单个视频位流而不能被暴露为多个轨、或者内容创建者不希望将编码后的打包图像暴露为多个轨,则视频位流或视频子位流被封装到单一轨中(步骤210)。否则,在步骤220中判断要封装的媒体内容是否包括表示运动约束的区块的视频子位流。如果为“是”,则可能需要提供至少一个复合轨来表示数个区块轨的至少一个复合。该复合可以表示完整打包图像或仅表示完整打包图像的子部分。使用具有区块轨的复合轨避免了在客户端侧需要流的单独渲染和解码。要向客户端暴露的可能组合的数量取决于内容创建者的选择。例如,内容创建者可能想要根据当前用户的视口来组合具有不同视觉质量的区块。为此,内容创建者可以对具有不同视觉质量的打包图像进行多次编码,并且提出表示包括视觉质量方面的不同区块组合的完整打包图像的数个复合轨。通过根据用户的视口组合不同质量的区块,内容创建者可以减少网络资源的消耗。
如果在步骤220中判断为必须提供复合轨,则判断隐式重建是否可用于复合轨(步骤240)。
例如在ISO/IEC 14496-15第四版中定义的,隐式重建是指从区块基轨和区块轨的位流重建。代替使用诸如提取器等的流内结构以通过用提取器在区块轨的样本中所参考的数据替换复合轨的样本中的提取器、来从区块轨的样本重建复合轨的样本,隐式重建允许通过按轨参考(例如,HEVC隐式重建中的“sabt”轨参考)的顺序级联复合轨和区块轨的样本来重建复合轨的样本。
隐式重建的使用取决于使用的场景。在与编码时的区块顺序相比、数个区块轨的复合在解码时需要区块的重新布置时,必须重写一些条带地址。在这种情况下,不能进行隐式重建,并且必须选择利用提取器的显式重建。
如果可以进行隐式重建,则生成区块基轨(步骤241),并且将视频子位流封装为不可独立解码的区块轨(例如,被封装为HEVC“hvt1”轨)。
否则,生成提取器轨(步骤242),并且将视频子位流封装为可独立解码的区块轨(例如,封装为HEVC“hvc1”或“hev1”轨)。
返回到步骤220,如果媒体内容不包含区块子位流或者内容创建者不想创建和暴露复合轨,则将空间相关的视频位流或视频子位流(例如,区块或多个视图)封装到单独的子图片轨中(步骤230)。在该特定情况下,如果区块子位流是HEVC区块,则将这些区块子位流封装为HEVC轨“hvc1”或“hev1”轨。
在步骤250中,添加空间复合所用的信令以将空间相关的视频位流或视频子位流分组在一起。空间复合信令可以通过定义组成该组的各轨(子图片轨、区块轨、复合轨)中的特定TrackGroupTypeBox来提供,其中该组例如是如在MPEG OMAF中定义的并且如以下所示的、对于属于相同组的所有轨具有相同的track_group_id的类型“spco”的轨组:
Figure BDA0002336003200000161
该轨组框将提供复合内的轨的相对二维坐标以及通过复合形成的图像的总体大小。该复合可以表示整个打包图像或仅打包图像的子部分。例如,内容创建者可能想要暴露多个复合轨,从而允许构建整个打包图像或仅打包图像的子部分。
作为替代,SubPictureCompositionBox(子图片复合框)(“spco”)可以仅如下定义表示复合图片的宽度和高度的参数composition_width和composition_height:
Figure BDA0002336003200000162
并且可以给出复合内的轨的二维坐标作为如下的在VisualSampleEntry(视频样本条目)中定义的新的fullBox(完整框):
Figure BDA0002336003200000163
或者如下的新的通用样本组描述条目:
Figure BDA0002336003200000171
track_group_id提供关联轨组的标识符。因而,轨可以关联到各轨组内的不同位置处的多个轨组。track_subgroup_id提供子组标识符。轨组内的具有track_subgroup_id的所有轨都属于同一轨子组。
track_x、track_y提供复合内的该轨的样本的左上角的水平和垂直位置。
track_width、track_height提供复合内的该轨的样本的宽度和高度。
这些参数直接匹配(在ISO/IEC 23009-1第三版中定义的)DASH空间关系描述(SRD)描述符的参数,该描述符可用在DASH清单中以描述表示这些轨的自适应集的空间关系。
track_group_id将匹配DASH SRD source_id参数。
track_subgroup_id将匹配DASH SRD spatial_set_id参数。
track_x、track_y、track_width、track_height将分别匹配DASH SRD参数object_x、object_y、object_width、object_height参数。
最后,(经由track_group_id)来自关联轨组的composition_width和composition_height将匹配DASH SRD total_width、total_height参数。
作为替代,在存在复合轨的情况下,空间复合信令可以由该复合轨隐含地提供。实际上,在复合轨是区块基轨的情况下,区块基轨经由类型“sabt”的轨参考来参考区块轨的集合。该区块基轨和区块轨的集合形成复合组。同样,如果复合轨是提取器轨,则提取器轨经由类型“scal”的轨参考来参考区块轨的集合。该提取器轨和区块轨的集合也形成复合组。在这两个情况下,如在ISO/IEC 14496-15第四版中定义的,可以通过定义类型“trif”的样本分组或默认样本分组来提供复合内的各区块轨的相对二维坐标。
作为另一替代,可以通过定义新的实体组来提供空间复合信令。实体组是项目或轨的分组。实体组在MetaBox(元框)中的GroupsListBox(组列表框)中表示。参考轨的实体组可以在文件级MetaBox的GroupsListBox中或者在动画级MetaBox的GroupsListBox中指定。GroupListBox(“grpl”)包含各自被称为EntityToGroupBox(实体到组框)的完整框的集合,其中关联的四字符代码表示所定义的分组类型。如下定义EntityToGroupBox:
Figure BDA0002336003200000181
通常,group_id提供组的id,并且entity_id的集合提供属于实体组的轨的track_ID。在entity_id的集合之后,可以通过针对特定grouping_type定义附加数据来扩展EntityToGroupBox的定义。根据实施例,可以定义例如grouping_type等于“egco”(EntityGroup Composition(实体组复合)的缩写)的新的EntityToGroupBox以描述空间相关的视频位流或视频子位流的复合。entity_id的集合将包含组成组的轨(子图片、区块轨、复合轨)的track_ID的集合。可以将通过复合形成的图像的总体大小作为与该新的grouping_type“egco”相关联的附加数据的一部分来提供。
将如下定义EntityToGroupBox(“egco”):
Figure BDA0002336003200000191
如在ISO/IEC 14496-15第四版中所定义的,可以通过在各区块轨中定义类型“trif”的样本分组或默认样本分组来提供由类型“egco”的实体分组定义的复合内的各轨的相对二维坐标。作为替代,可以将相对二维坐标定义为将位于属于组的各区块轨中的VisualSampleEntry中的新的通用完整框2DCoordinateForEntityGroupBox(实体组框的2D坐标)(“2dco”)。
Figure BDA0002336003200000192
entity_group_id提供定义组的关联EntityToGroupBox(“egco”)的标识符。
track_x、track_y提供复合内的该轨的样本的左上角的水平和垂直位置。
track_width、track_height提供复合内的该轨的宽度和高度。
作为替代,可以如下将该新的通用框2DCoordinateForEntityGroupBox(“2dco”)定义为新的样本分组:
Figure BDA0002336003200000193
在步骤260中,获得与用于对封装在给定轨中的编码媒体数据进行解码的数据的必要性有关的信息。基于该信息的附加信令与轨相关联。添加信令以向客户端通知轨不足以呈现或者不打算单独呈现。
实际上,一些轨可以仅包含不能单独解码的部分位流。例如,对于在没有关联的区块基轨的情况下不能解码的类型“hvt1”的一些区块轨,可能是这种情况。
另外,内容创建者可能希望向客户端通知一些轨不打算单独呈现并且不构成媒体呈现中的进入点。
将编码媒体数据和与用于对封装在给定轨中的编码媒体数据进行解码的数据的必要性有关的信息封装在一个或多个媒体文件内。实际上,在ISOBMFF文件包含多个视频轨时,将这些视频轨中的一个或多个表示为主轨帮助媒体播放器选择要暴露给用户或在流式清单中暴露的轨。主轨信令提供媒体播放器向媒体文件的进入点。实际上,代替具有重要度级别相同的轨的长列表,一些轨被注释或描述为重要度更大,并且将由播放器作为一种主要项优先处理。
在第一实施例中,可以在轨头部中表示轨不打算单独显示的信息。各轨具有指定一些轨的特性的轨头部框“tkhd”(强制性的)。作为ISOBMFF完整框,该轨头部框具有可用于与该框相关联的特定信令的24位的标志参数。媒体轨的轨头部的标志的值已用于提供与轨如何用在呈现中有关的信息(例如,Track_enabled,Trak_in_movie,Track_in_preview)。为了表示视频轨是否“打算单独呈现”,可以在轨头部框中定义标志的新的特定值“Track_non_displayable_alone”。如下定义该新标志:
“Track_non_displayable_alone”:=0x000010表示轨不打算单独显示并且不能用于预览(覆盖Track_in_preview标志值)。在默认情况下,不设置该标志值。可以注意到,轨头部标志的默认值将保持不变:仍然等于7(track_enabled0x1,track_in_movie 0x2,track_in_preview 0x4)。
在第二实施例中,可以将不打算单独显示的轨定义为辅助轨。辅助轨以与视频轨相同的方式编码,但将处理程序类型值“auxv”代替“vide”用在MediaBox(媒体框)的HandlerBox(处理程序框)中,并且不打算可视地显示。作为替代,可以定义针对视频的新处理程序类型“subv”和针对音频的新处理程序类型“suba”,以分别表示轨与视频或音频轨相同,但这些类型不足以呈现或者不打算单独呈现。
在第三实施例中,可以将轨不足以呈现或不打算单独呈现的信息表示为轨组信息的一部分。实际上,映射到子图片复合轨组的轨(即,在track_group_type等于“spco”的TrackGroupTypeBox内具有相同值的track_group_id的轨)整体表示可以呈现的视觉内容。但映射到该分组的各个体轨可以或可以不打算在没有其它轨的情况下单独呈现。简单的替代涉及在“spco”'框中定义表示轨是否“打算单独呈现”的“not_output_track”。
Figure BDA0002336003200000211
在替代实施例中,如下所示,可以利用单个位表示该参数,同时保留其它7个位以供将来使用或供其它信令用:
Figure BDA0002336003200000212
not_output_track在设置为1时,表示轨不打算单独显示。在默认情况下,假定not_output_track为零,并且可选择轨以呈现给用户。同样,在轨不包含任何SubPictureCompositionBox时,假定该轨是可单独显示的。
在第四实施例中,可以从其它轨信息或其它轨信息的组合推断出轨不足以呈现或不打算单独呈现的信息。
例如,可以基于提供轨的依赖性的轨参考框(“tref”)和向轨中的样本提供共同定义的SampleEntry(样本条目)(对于视频为VisualSampleEntry)来检测轨的可显示状况。
例如,如果轨具有类型“sabt”的轨参考、并且该轨被具有类型“tbas”的轨参考的一些其它轨参考,则该轨被标记为区块基轨并且被标记为可播放/可选择轨。经由轨参考“sabt”从该轨的所有参考轨在它们具有类型“hvt1”的VisualSampleEntry的情况下,可被标记为区块轨(“hvt1”)并且被标记为不可播放轨。可替代地,如果轨具有类型“tbas”的轨参考和类型“hvt1”的VisualSampleEntry,则该轨被标记为区块轨(“hvt1”)并被标记为不可播放轨。来自该轨的所有参考轨被标记为区块基轨并被标记为不可播放轨。可替代地,如果轨具有类型“scal”的轨参考,则该轨是提取器轨并且被标记为可播放轨。来自该轨的所有参考轨被标记为可能可播放的区块轨(“hvc1”)。在默认情况下,这些轨可被标记为可播放轨。但内容创建者可能更喜欢默认将这些轨标记为不可播放轨。此外,如果轨不包含任何轨参考(“tref”)框且不属于轨组,则应当检查SampleEntry。如果该轨被检测为“hvc1”或“hev1”,则该轨至少被标记为可播放轨。
在第五实施例中,作为第三实施例的替代,如果在SubPictureCompositionBox(“spco”)中没有定义二维坐标(track_x、track_y、track_width和track_weight),则如以下所示,仍可以在SubPictureCompositionBox(“spco”)中定义参数not_output_track:
Figure BDA0002336003200000231
或者可以在2DCoordinateInTrackGroupBox()中或者在VisualSampleEntry或Sample Group Description(样本组描述)条目级别处定义的2DCoordinateForEntityGroupBox()或类似框中定义参数not_output_track。
此外在步骤260中,可以添加类似明确的信令以识别主轨或部分轨。
媒体文件中的主轨是被认为比具有相同媒体类型的轨或者比具有不同媒体类型的相关轨更重要的轨。例如,主视频轨是媒体播放器应向用户暴露以供选择和重放的轨。同样,在要流传输或传输媒体文件时,应在流式清单中暴露主轨。例如,在子图片或区块的空间复合的情况下,主轨可以是复合轨。同样,在空间复合的情况下,主轨可以是与完整图片相对应的视频轨(与子图片或区块轨相反)。在播放器所要渲染的轨的集合中,主轨可以是优先渲染的轨。在传输的上下文中,主轨是优先提取的轨。例如,媒体文件中的主轨可以在流式清单中被描述为主媒体成分。例如,在MPEG DASH清单中,主轨可以是预选(Preselection)元素的主自适应集(AdaptationSet)、或者包括具有“主”值的角色描述符或表示该轨是主轨的标记(Label)的自适应集。本发明描述了在媒体文件中表示主轨的不同方式。
媒体文件中的部分轨是可以仅与主轨组合或者与主轨和其它部分轨组合进行处理的轨。类型“hvt1”的区块轨是部分轨的示例。这些区块轨仅可以与区块基轨组合进行处理。
主/部分轨信令可以以与上述的“不足以呈现或不打算单独呈现”信令相同的方式表示。主/部分轨信令可以由轨头部标志中的显式标志值(例如,“Is_Main_Track”:=0x000020)或者由如以下所述的子图片复合轨组(“spco”)框中的新的特定参数“main_track”表示:
Figure BDA0002336003200000241
该参数main_track可用于表示轨组中的轨是主轨或完整图片轨。在这种情况下,解析器考虑应仅渲染轨组中的该主轨或完整图片轨(而不是该组中的该参数设置为值0的其它轨)。换句话说,其它轨被视为部分轨。
作为替换,可以使用轨中的UserDataBox(用户数据框)(“udta”)中的KindBox(种类框)(“kind”)来表示主轨。KindBox允许用其角色或种类来标记轨。将通过定义具有特定schemeURI(方案URI)(例如,urn:mpeg:14496-12:main)的KindBox来表示主轨。
mp4写入器可以利用主轨信令来将主轨设置为DASH预选元素中的主自适应集,并且将部分轨设置为DASH MPD中的“隐藏”自适应集。“隐藏”自适应集是不打算由用户选择的自适应集。可以通过定义特定@schemeIdURI例如设置为“urn:mpeg:dash:not-selectable:2016”的关联补充或基本描述符来在DASH MPD中明确地表示这些“隐藏”自适应集。
在步骤270中,将针对轨和针对轨的复合的内容覆盖信息添加到描述视频位流或视频子位流的封装的元数据。
轨覆盖信息提供与球体上的由该轨表示的内容所覆盖的区域有关的信息。
复合覆盖信息提供与球面上的同一个或多个轨的组合相关联的区域有关的信息。例如,在动画文件包含具有空间关系的多个视频轨时,复合覆盖信息是球面上的由这些多个视频轨的空间复合覆盖的区域。在另一示例中,媒体文件包含多个视频轨和表示如何渲染轨的该集合的变换矩阵,然后复合覆盖信息对应于由轨的组装集合覆盖的区域。“复合覆盖信息”也可以表示为“全局覆盖信息”或“轨组复合信息”。复合或全局覆盖信息还可以描述球体上的通过这些多个视频轨的子集的复合所得到的区域。
作为第一实施例,可以在无需附加信令的情况下使用单个公共CoverageInformationBox(覆盖信息框)来表示轨覆盖信息和复合覆盖信息。在这种情况下,CoverageInformationBox的范围取决于该框在框层级中的定义的位置。客户端可以仅通过考虑声明的位置来判断覆盖信息是与轨内容有关还是与整个内容有关。根据本实施例,如下定义CoverageInformationBox:
Figure BDA0002336003200000251
其中:coverage_shape_type指定所覆盖的球体区域的形状,并且如下定义SphereRegionStruct():
Figure BDA0002336003200000252
其中:center_yaw、center_pitch和center_roll指定所覆盖的区域相对于全局坐标轴的视口姿态;hor_range和ver_range在存在时,分别指定所覆盖的球体区域的水平和垂直范围,并且interpolate当前未使用。
因此,CoverageInformationBox提供与球体上的内容所覆盖的区域有关的信息。内容的性质取决于该框的容器(Container)。当存在于SubPictureCompositionBox“spco”中时,内容是指由属于相同子图片复合轨组的所有轨表示的整个内容,并且由这些轨组成的复合画面被称为整个内容的打包图片。当存在于轨的样本条目中时,内容是指由该轨本身表示的内容,并且该轨中的样本的图片被称为整个内容的打包图片。在对于轨不存在CoverageInformationBox时,这表示内容覆盖整个球体。
应当注意,投影全向视频框(“povd”)是由MPEG OMAF定义且位于轨内的VisualSampleEntry中的中间框。
另外,如下修改SubPictureComposition轨组框(“spco”):
Figure BDA0002336003200000261
作为替代,代替将ISOBMFF FullBox CoverageInformationBox()添加到SubPictureCompositionBox中,还可以如下直接包括SphereRegionOnStruct:
Figure BDA0002336003200000262
此外作为替代,如以下所示,可以使复合的覆盖信息的存在适应于例如表示为is_coverage_info_is_present的附加参数的值:
Figure BDA0002336003200000271
实际上,由于在属于由该SubPictureCompositionBox定义的组的所有轨中定义SubPictureCompositionBox,因此如果在轨组中存在复合轨,则可以仅针对该复合轨定义复合覆盖信息,而不需要针对各区块轨定义复合覆盖信息。
作为第二实施例,可以使用具有标志值的单个公共CoverageInformationBox来表示轨覆盖信息和复合覆盖信息,以区分局部和全局表示。由于CoverageInformationBox是ISOBMFF FullBox,因此轨和全局覆盖之间的区分可以通过框的flags(标志)参数来表示。
根据该第二实施例,如下定义CoveragInformationBox:
Figure BDA0002336003200000272
除了在局部的情况下可以定义框的多个实例并且必须在相同轨中定义复合覆盖信息之外,框的结构与在先前实施例中几乎相同。
然后,CoverageInformationBox被定义为提供与球体上的由内容覆盖的区域有关的信息。内容的性质由flags参数给出。覆盖信息flags的默认值是0,这意味着该框描述整个内容的覆盖。如果该轨属于子图片复合轨组,则整个内容是指由属于相同子图片复合轨组的所有轨表示的内容,并且从这些轨组成的复合图片被称为整个内容的打包图像。否则,整个内容是指由该轨本身表示的内容,并且该轨中的样本的图片被称为整个内容的打包图片。
在覆盖信息flags的值是1时,该框描述由该轨表示的内容的打包图片所覆盖的球形区域。
该框的不存在表示内容覆盖整个球体。
另外,如下定义新的标志值:
Coverage_local:表示覆盖信息是包含框的轨本地的。标志值是0x000001。在默认情况下,不设置该值。
作为第二实施例的替代,CoverageInformationBox的定义可以包括track_group_id,以便识别由具有全局覆盖信息的CoverageInformationBox表示的轨组(例如,“spco”框的轨组)。
然后,如下定义CoverageInformationBox:
Figure BDA0002336003200000281
作为替代,在第三实施例中,定义两个不同的框,以描述复合覆盖信息(TrackCoverageInformationBox)或轨覆盖信息(TrackCoverageInformationBox)。除了在轨属于多个轨组的情况下、在该轨中可以多次定义CompositionCoverageInformationBox之外,可以如下利用与先前实施例相同的语义来定义框。参数track_group_id允许识别由CompositionCoverageInformationBox描述的轨组(例如,“spco”'框的轨组)。
Figure BDA0002336003200000291
作为替代,在第四实施例中,可以使用flags(实施例2)将实施例与CoverageInformationBox组合,以区分轨和复合覆盖信息、以及用以在SubPictureCompositionBox轨组(“spco”)中或者在VisualSampleEntry(实施例1)内的投影全向视频框(“povd”)中定义CoverageInformationBox的能力。通过允许这两个方法,这提供了依赖于OMAF内容的封装模式的覆盖信令的灵活性:
-单个轨封装:可以在(未设置Coverage_local flags值的)轨的“povd”框中声明单个CoverageInformationBox
-多个轨封装:
○利用复合轨:在(未设置flags值Coverage_local的)该复合轨的“povd”内的CoverageInformationBox中声明全局覆盖信息。可选地,子图片轨可以声明(设置了flags值Coverage_local的)CoverageInformationBox。
○无复合轨:在未设置flags值Coverage_local的“spco”框内的CoverageInformationBox中声明复合覆盖信息。可选地,子图片轨可以声明(设置了flags值Coverage_local的)CoverageInformationBox。
作为替代,在第五实施例中,如果使用新的实体组而不是使用轨组(“trgr”)机制(即,通过在文件级MetaBox的GroupsListBox中或在动画级MetaBox的GroupsListBox中定义特定的EntityToGroupBox)来描述轨的复合,则复合覆盖信息可被直接定义为该特定的EntityToGroupBox的属性,即,可以在该特定的EntityToGroupBox内直接声明如在以上第一实施例中所述的CoverageInformation框。仍将在轨的VisualSampleEntry中的投影全向视频框中定义轨相关的覆盖信息。
该特定实体组可以看起来像(基于参考步骤250定义的实体组“egco”):
Figure BDA0002336003200000301
或者,也可以如下直接包括SphereRegionOnStruct:
Figure BDA0002336003200000302
作为替代,在第六实施例中,还可以通过依赖于轨处理程序类型来决定在轨组框“spco”中是否存在Coverage Info(覆盖信息)。假定主轨具有“vide”处理程序类型并且子图片轨具有“auxv”或“subv”轨:“spco”框的is_coverage_info_is_present标志针对“auxv”或“subv”轨被设置为0(即,不存在Coverage Info),并且针对“vide”轨被设置为1(即,存在Coverage Info)。
返回到图2,在步骤280中,检查虚拟现实媒体内容是否实际上是立体虚拟现实媒体内容、即包括左视图和右视图。
如果内容仅是单视场的,则处理直接进入步骤290。
如果内容是立体的,则在步骤285中将立体信令添加到封装。
对于立体内容,传统上,从立体照相机获取左视图序列和右视图序列这两者,并且将这两者根据复合类型复合为视频序列或两个视频序列。
用以将表示立体内容的两个不同视图的两个帧组合成单一帧的处理被称为帧打包(参见图1的步骤125)。
帧打包涉及将形成立体对的两个视图打包成单个帧。存在数个公知的已使用的帧打包方案:并排、上下、帧顺序、垂直线交织类型...。例如,MPEG应用格式ISO/IEC 23000-11第一版(“立体视频应用格式”)或ISO/IEC 23001-8第二版(“编码独立代码点(CICP)”)定义这些方案中的一些方案。帧打包还可以涉及将各视图保持在单独帧中,例如在ISO/IEC23001-8第二版(“CICP”)中定义的具有值6的VideoFramePackingType(视频帧打包类型)那样。
例如,仍根据本说明书,值3表示各解码帧包含两个构成视图的对应帧的并排打包布置,值4表示各解码帧包含两个构成视图的对应帧的上下打包布置。
为了表示轨是否包含立体媒体数据,在轨中的VisualSampleEntry中定义StereoVideoBox(立体视频框)。
StereoVideoBox是用以描述立体内容的ISOBMFF结构。StereoVideoBox用于表示视频轨中的解码帧或者包含形成立体对的两个空间打包的构成帧的表现,或者包含立体对的两个视图其中之一。StereoVideoBox中的参数提供与视图向帧中的布置或打包有关的信息。在媒体文件的样本描述部分中描述StereoVideoBox,该样本描述部分提供与播放器能够解码和渲染该媒体文件有关的要求。
(根据ISO/IEC 14496-12)如下定义StereoVideoBox:
Figure BDA0002336003200000321
其中:single_view_allowed指示内容可以仅在立体显示器上显示、或者哪个视图可用于在单视场单视图显示器上显示;stereo_scheme是表示所使用的立体布置方案和根据所使用的方案的立体指示类型的整数;以及stereo_indication_type表示根据所使用的立体指示方案的立体布置类型。
如果StereoVideoBox允许描述用于将左视图帧和右视图帧打包在形成单一轨的公共打包帧内的帧打包方案,则在ISO/IEC 23090-2(MPEG OMAF)的上下文中,当左视图和右视图被打包在单独轨中时,不允许容易的描述。
此外,MPEG OMAF规范仅允许值3和4分别用于立体视图的并排和上下帧打包,并且推荐如下利用StereoVideoBox描述立体内容:
Figure BDA0002336003200000322
但本说明书不允许在单独轨中描述立体视图。
为了简化立体内容的描述并避免在不同的OMAF描述符中重复立体信息,无论视图是打包在单个帧内还是封装在单独轨中,都可以扩展StereoVideoBox以支持任何类型的视图封装或打包。
首先,可以对封装处理强制执行一些限制:如果立体视图(例如在区域级的质量排名方面)具有不同的特性,则各视图必须被封装在自身的轨中,并且各轨的StereoVideoBox必须具有stereo_scheme=4(即,必须使用如在CICP ISO/IEC 23001-8中定义的帧打包)和stereo_indication_type={6,0},这意味着解码帧在无需任何帧打包的情况下构成完整的2D帧。
通过这样做,无需在OMAF描述符中(诸如在SphereRgionQualityRankingBox(球体区域质量排名框)或2DRegionQualityRankingBox(2D区域质量排名框)中等)的其它位置重复视图标识符(view_idc)。通过解析轨,播放器可以判断:
-轨是否包含单视场内容(无StereoVideoBox)
-轨是否包含立体内容(存在StereoVideoBox)
○在立体的情况下,该轨包含一个视图(参考tref=“svdp”或者由tref=“svdp”参考)还是两个视图
○在立体且包含单个视图的情况下,通过(如以下所述的)StereoVideoBox的视图标识符
通过针对包括左视图或右视图的各轨定义具有stereo_scheme=4和stereo_indication_type={6,0}的StereoVideoBox,这允许表示内容是立体内容的一部分,但不允许识别哪个轨是右视图的左方。
然后,使用类型“svdp”的轨参考来识别左视图和右视图。包含参考轨“svdp”的轨被标识为具有对参考轨的依赖性的参考轨,并且还包含立体相关元信息。
此外,为了表示轨对应于哪个视图,使用参数对(single_view_allowed,stereo_indication_type)。
如下定义single_view_allowed的语义:
“在stereo_scheme=4并且stereo_indication_type表示“无打包”、即stereo_indication_type={6,0}的情况下,single_view_allowed&1等于1表示轨包含右视图并且single_view_allowed&2等于2表示轨包含左视图。在这种情况下,禁止值0和3”。
作为替代,为了避免修改single_view_allowed参数的现有语义,定义StereoVideoBox的新版本,其提供附加的1位参数“is_left_view”,以表示轨包含左视图(is_left_view=1)还是右视图(is_left_view=0)。
Figure BDA0002336003200000341
可替代地,附加参数是具有以下语义的2位参数“view_idc”(如以下所示):该参数在等于0的情况下,表示轨中的媒体内容是单视场的;在等于1的情况下,表示轨中的媒体内容是立体内容的左视图;在等于2的情况下,表示轨中的媒体内容是立体内容的右视图;在等于3的情况下,表示轨中的媒体内容包括左视图和右视图这两者。
Figure BDA0002336003200000351
作为另一替代,代替添加新参数并创建StereoVideoBox的新版本,针对(与CICPISO/IEC 23001-8的扩展相对应的)stereo_scheme=4定义新的帧打包布置,即针对stereo_scheme=4时的参数stereo_indication_type定义新的值(例如,7)。如下定义该新的值:
VideoFramePackingType=7表示解码帧包含两个构成帧的对应平面中的单一平面(即,立体序列的左视图或右视图)。
除该新的VideoFramePackingType值之外、以及除了表示梅花形采样结构是否用在帧打包视频表现中的现有关联的标志QuincunxSamplingFlag(梅花形采样标志)之外,定义例如表示为ViewIdcFlag(视图Idc标志)的新的关联标志,从而允许识别存在于帧打包视频表现中的视图的类型。对于ViewIdcFlag,不存在或未指定或值0将被推断为表示存在左视图和右视图这两者,值1表示仅存在立体内容的左视图,值2表示仅存在立体内容的右视图,并且保留ViewIdcFlag的所有其它值以供ISO/IEC将来使用。
然后,如下修改StereoVideoBox中的stereo_scheme=4的定义:
“stereo_scheme等于4:长度的值应是2,并且stereo_indication_type应包含无符号的int(8)的两个句法元素。第一句法元素应包含来自ISO/IEC23001-8的VideoFramePackingType。对于值0~6的VideoFramePackingType,第二句法元素的最低有效位应包含如在ISO/IEC 23001-8中规定的QuincunxSamplingFlag的值,而其它位被保留且应设置为0。对于具有值7的VideoFramePackingType,第二句法元素的最低有效2位识别左视图和右视图,并且应包含(如以上定义的)ViewIdcFlag的值,而其它位被保留且应设置为0”。
作为替代,可以通过如下在StereoVideoBox中定义stereo_scheme=4来同时表示QuincunxSamplingFlag和ViewldcFlag这两者:
“stereo_scheme等于4:长度的值应是3,并且stereo_indication_type应包含无符号的int(8)的三个句法元素。第一句法元素应包含来自ISO/IEC23001-8的VideoFramePackingType。第二句法元素的最低有效位应包含如在ISO/IEC 23001-8中规定的QuincunxSamplingFlag的值,而其它位被保留且应设置为0。第三句法元素的最低有效2位识别左视图和右视图,并且应包含(如以上定义的)ViewIdcFlag的值,而其它位被保留且应设置为0”。
作为示例,根据以上替代,StereoVideoBox将保持不变,其中如下在注释中示出可能的值:
Figure BDA0002336003200000361
作为替代,可以如下通过在StereoVideoBox中定义stereo_scheme=4来可选地表示QuincunxSamplingFlag和ViewldcFlag这两者:
“stereo_scheme等于4:长度的值应是1、2或3,并且stereo_indication_type应分别包含无符号的int(8)的一个、两个或三个句法元素。第一句法元素应包含来自ISO/IEC23001-8的VideoFramePackingType。第二句法元素的最低有效位在存在的情况下,应包含如在ISO/IEC 23001-8中规定的QuincunxSamplingFlag的值,而其它位被保留且应设置为0。第三句法元素的最低有效2位在存在的情况下,识别左视图和右视图且应包含(如以上定义的)ViewIdcFlag的值,而其它位被保留且应设置为0”。在存在第三句法元素的情况下,应存在第二句法元素。
作为另一替代,可以使用stereo_scheme等于3(使用如在ISO/IEC23000-11第一版(“立体视频应用格式”)中定义的帧打包)而不是4(使用如在CICP ISO/IEC 23001-8中定义的帧打包)来表示将左视图和右视图组织在单独轨中的立体全向媒体所用的帧打包布置。根据ISO/IEC 14496-12第四版中的StereoVideoBox定义:
stereo_scheme等于3表示:长度的值应是2,并且stereo_indication_type应包含无符号的int(8)的两个句法元素。第一句法元素应包含来自ISO/IEC23000-11:2009的表4的立体复合类型。第二句法元素的最低有效位应包含如在ISO/IEC 23000-11:2009的8.4.3中规定的is_left_first的值,而其它位被保留且应设置为0。
因而,通过在轨中定义stereo_scheme等于3的StereoVideoBox,并且通过定义具有值0x3的stereo_indication_type的第一句法元素(这意味着轨表示左/右视图序列类型、即仅左或右视图)、且通过将第二句法元素定义为0以表示左视图是次视图或者将第二句法元素定义为1以表示左视图是主视图,可以表示轨包含立体内容的左视图或右视图。由于存在链接左视图轨和右视图轨的轨参考“svdp”,因此主视图和次视图被识别出。具有类型“svdp”的“tref”框的轨是次视图序列,并且所参考的轨是主视图序列。
可以注意到,通过将较少的字节分配给授权用于stereo_scheme和stereo_indication_type的较少值,创建StereoVideoBox的新版本(表示为version=1)的实施例中的StereoVideoBox的大小与版本0相比可以减小。
在替代中,可以如下描述引入新参数view_idc的实施例所用的StereoVideoBox的更加紧凑的版本1(节省了6个字节):
Figure BDA0002336003200000381
类似地,在附加参数是“is_left_view”而不是“view_idc”的情况下,可以定义相同的紧凑版本。
此外,在帧打包针对各视图得到一个打包帧时,DASH多视图方案可以用在自适应集级别的角色元素中,以描述立体对。
根据所有的上述实施例,如下所示,在将视图分成不同的轨时,SphereRegionQualityRankingBox和2DRegionQualityRankingBox中的view_idc和view_idc_presence_flag参数由于不再需要因而被删除:
Figure BDA0002336003200000391
作为替代,如以下所示,view_idc和view_idc_presence_flag参数适应于SphereRegionQualityRankingBox和2DRegionQualityRankingBox的特殊版本:
Figure BDA0002336003200000401
实际上,在轨仅包含整个左视图或整个右视图时,无需包括针对在该轨中定义的各质量排名区域的view_idc(表示立体视图)。在这种情况下,使用这些框的version==0。否则,如果轨包含打包视图,则使用这些框的version==1。
解析根据本发明的实施例所生成的媒体文件(其中,媒体文件包括与宽视图的场景相对应的编码媒体数据)可以由客户端包括以下步骤。在媒体文件中识别对编码媒体数据进行封装的至少一个轨。从媒体文件获得与用于对封装在给定轨中的编码媒体数据进行解码的数据的必要性有关的信息。根据所获得的信息来对给定轨的编码媒体数据进行解码。
图3是用于实现本发明的一个或多个实施例的计算装置300的示意框图。计算装置300可以是诸如微计算机、工作站或轻型便携式装置等的装置。计算装置300包括通信总线,其中该通信总线连接有以下组件:
-诸如微处理器等的中央处理单元(CPU)301;
-随机存取存储器(RAM)302以及寄存器,其中所述随机存取存储器(RAM)302用于存储本发明实施例的方法的可执行代码,这些寄存器被配置为记录实现用于读取和写入清单以及/或者对视频进行编码以及/或者读取或生成采用给定文件格式的数据的方法所需的变量和参数,其存储器容量例如可以利用连接至扩展端口的可选RAM来扩展;
-只读存储器(ROM)303,用于存储实现本发明实施例所用的计算机程序;
-网络接口304,其通常连接至发送或接收要处理的数字数据所经由的通信网络。网络接口304可以是单个网络接口、或者包括不同的网络接口的集合(例如,有线接口和无线接口或者不同种类的有线接口或无线接口)。在CPU301中运行的软件应用的控制下,将数据写入网络接口以供发送或者从网络接口读取数据以供接收;
-用户接口(UI)305,用于从用户接收输入或向用户显示信息;
-硬盘(HD)306;
-I/O模块307,用于相对于诸如视频源或显示器等的外部装置进行数据的接收/发送。
可执行代码可以存储在只读存储器303中、硬盘306上或者例如盘等的可移除数字介质上。根据变形例,程序的可执行代码可以在执行之前利用通信网络经由网络接口304来接收,从而存储在通信装置300的诸如硬盘306等的存储部件其中之一内。
中央处理单元301被配置为控制和引导根据本发明实施例的程序的指令或软件代码的一部分的执行,其中这些指令存储在上述存储部件其中之一内。在通电之后,CPU 301例如能够在从程序ROM 303或硬盘(HD)306加载了来自主RAM存储器302的与软件应用有关的指令之后,执行这些指令。这种软件应用在由CPU 301执行的情况下,使得进行上述附图所示的流程图的各步骤。
在本实施例中,该设备是使用软件来实现本发明的可编程设备。然而,可选地,本发明可以以硬件形式(例如,以专用集成电路或ASIC的形式)来实现。
尽管以上已经参考具体实施例说明了本发明,但本发明不限于这些具体实施例,并且本领域技术人员将明白存在于本发明的范围内的变形。
例如,本发明可以嵌入用作TV或多媒体显示器的远程控制器的如照相机、智能电话、头戴式显示器或平板终端那样的装置中,以例如放大到特定关注区域上。还可以从相同装置使用本发明,以通过选择特定关注区域来获得多媒体呈现的个性化浏览体验。用户根据这些装置和方法的另一用途是与其它所连接的装置共享他所喜好的视频中的一些选中的子部分。本发明还可用在智能电话或平板终端中以监视在处于监控下的建筑物的特定区域中发生了什么,只要监控照相机支持根据本发明的用于提供数据的方法即可。
在参考仅以示例方式给出且并不意图限制本发明范围的前述例示实施例的情况下,许多其它修改和改变对本领域普通技术人员是不言自明的,其中所述范围仅由所附权利要求书来确定。特别地,在适当情况下,可以互换来自不同实施例的不同特征。

Claims (13)

1.一种用于由装置对与宽视图的场景的投影相对应的编码媒体数据进行封装的方法,所述方法包括:
将所述编码媒体数据封装到轨中;以及
生成各轨的描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,并且所述轨容器包含用于描述所述轨中的编码媒体数据的编码格式的第一框和用于描述轨的公共集合的第二框,
其中,进行生成的步骤还包括:
提供包括覆盖范围信息的第一结构;
在所述覆盖范围信息指示由封装在属于所述第二框中所定义的公共集合的所有轨内的编码数据表示的所述宽视图的覆盖范围的情况下,将所述第一结构封装到所述第二框中;以及
在所述覆盖范围信息指示由封装在所述轨本身内的编码数据表示的所述宽视图的覆盖范围的情况下,将所述第一结构封装到所述第一框中。
2.根据权利要求1所述的方法,其中,所述公共集合是ISOBMFF 14496-12所定义的“轨组”。
3.根据权利要求2所述的方法,其中,所述第二框是ISOBMFF 14496-12所定义的“轨组”框。
4.根据权利要求1至3中任一项所述的方法,还包括测试步骤,所述测试步骤用于测试是否生成了仅包括与所述轨有关的描述性元数据的参考轨,
进行生成的步骤还包括:
在生成了参考轨的情况下,提供包括用以指示完整宽视图的覆盖范围的参考信息的所述第一结构,
否则,提供包括用以指示宽视图的覆盖范围的所述覆盖范围信息的所述第一结构,该宽视图的覆盖范围由封装在所述轨内的编码数据、以及封装在属于所述公共集合的一个或多个轨内的编码数据来表示。
5.根据权利要求1至3中任一项所述的方法,其中,所述编码数据或编码视频数据是编码全向数据或编码全向视频数据。
6.根据权利要求4所述的方法,其中,所述编码数据或编码视频数据是编码全向数据或编码全向视频数据。
7.一种用于由装置对媒体文件进行解析的方法,所述媒体文件对应于与宽视图的场景的投影相对应的编码媒体数据,所述方法包括:
从所述媒体文件获得对所述编码媒体数据进行封装的轨;以及
从各轨获得描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,并且所述轨容器包含用于描述所述轨中的编码媒体数据的编码格式的第一框和用于描述轨的公共集合的第二框,
其中,获得描述性元数据还包括:
获得包括覆盖范围信息的第一结构,其中,
在所述第一结构在所述第二框中的情况下,所述覆盖范围信息指示由封装在属于所述第二框中所定义的公共集合的所有轨内的编码数据表示的所述宽视图的覆盖范围,以及
在所述第一结构在所述第一框中的情况下,所述覆盖范围信息指示由封装在所述轨本身内的编码数据表示的所述宽视图的覆盖范围。
8.根据权利要求7所述的方法,其中,所述编码数据或编码视频数据是编码全向数据或编码全向视频数据。
9.一种计算机可读存储介质,其存储有用于使得计算机或处理器执行根据权利要求1至8中任一项所述的方法的程序。
10.一种用于对与宽视图的场景的投影相对应的编码媒体数据进行封装的装置,所述装置包括处理器,所述处理器被配置用于:
将所述编码媒体数据封装到轨中;以及
生成各轨的描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,并且所述轨容器包含用于描述所述轨中的编码媒体数据的编码格式的第一框和用于描述轨的公共集合的第二框,
其中,进行生成的步骤还包括:
提供包括覆盖范围信息的第一结构;
在所述覆盖范围信息指示由封装在属于所述第二框中所定义的公共集合的所有轨内的编码数据表示的所述宽视图的覆盖范围的情况下,将所述第一结构封装到所述第二框中;以及
在所述覆盖范围信息指示由封装在所述轨本身内的编码数据表示的所述宽视图的覆盖范围的情况下,将所述第一结构封装到所述第一框中。
11.根据权利要求10所述的装置,其中,所述编码数据或编码视频数据是编码全向数据或编码全向视频数据。
12.一种用于对媒体文件进行解析的装置,所述媒体文件对应于与宽视图的场景的投影相对应的编码媒体数据,所述装置包括处理器,所述处理器被配置用于:
从所述媒体文件获得对所述编码媒体数据进行封装的轨;以及
从各轨获得描述性元数据,所述描述性元数据被组织到轨容器中,其中轨容器与轨有关,并且所述轨容器包含用于描述所述轨中的编码媒体数据的编码格式的第一框和用于描述轨的公共集合的第二框,
其中,获得描述性元数据还包括:
获得包括覆盖范围信息的第一结构,其中,
在所述第一结构在所述第二框中的情况下,所述覆盖范围信息指示由封装在属于所述第二框中所定义的公共集合的所有轨内的编码数据表示的所述宽视图的覆盖范围,以及
在所述第一结构在所述第一框中的情况下,所述覆盖范围信息指示由封装在所述轨本身内的编码数据表示的所述宽视图的覆盖范围。
13.根据权利要求12所述的装置,其中,所述编码数据或编码视频数据是编码全向数据或编码全向视频数据。
CN201880042705.6A 2017-06-27 2018-06-20 用于传输媒体内容的方法、装置和计算机程序 Active CN110800311B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1710264.1 2017-06-27
GB1710264.1A GB2563865A (en) 2017-06-27 2017-06-27 Method, device, and computer program for transmitting media content
GB1710463.9 2017-06-29
GB1710463.9A GB2563920B (en) 2017-06-27 2017-06-29 Method, device, and computer program for transmitting media content
PCT/EP2018/066457 WO2019002055A1 (en) 2017-06-27 2018-06-20 METHOD, DEVICE, AND COMPUTER PROGRAM FOR TRANSMITTING MULTIMEDIA CONTENT

Publications (2)

Publication Number Publication Date
CN110800311A CN110800311A (zh) 2020-02-14
CN110800311B true CN110800311B (zh) 2022-08-30

Family

ID=59523606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880042705.6A Active CN110800311B (zh) 2017-06-27 2018-06-20 用于传输媒体内容的方法、装置和计算机程序

Country Status (8)

Country Link
US (1) US11582496B2 (zh)
EP (1) EP3646612A1 (zh)
JP (2) JP2020526057A (zh)
KR (1) KR102320455B1 (zh)
CN (1) CN110800311B (zh)
GB (3) GB2563865A (zh)
TW (1) TWI727180B (zh)
WO (1) WO2019002055A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
GB2563865A (en) 2017-06-27 2019-01-02 Canon Kk Method, device, and computer program for transmitting media content
US10869016B2 (en) * 2018-04-12 2020-12-15 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质
EP4026345A1 (en) * 2019-09-03 2022-07-13 Koninklijke KPN N.V. Combining video streams in composite video stream with metadata
US20210105313A1 (en) * 2019-10-02 2021-04-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling a region in spatially grouped immersive media data tracks
US11589032B2 (en) * 2020-01-07 2023-02-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using track derivations to generate new tracks for network based media processing applications
CN113542907B (zh) * 2020-04-16 2022-09-23 上海交通大学 多媒体数据收发方法、系统、处理器和播放器
CN113766271B (zh) * 2020-06-04 2022-07-12 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法、装置及设备
WO2023274877A1 (en) * 2021-06-29 2023-01-05 Canon Kabushiki Kaisha Method, device, and computer program for dynamically encapsulating media content data
WO2023137281A2 (en) * 2022-01-11 2023-07-20 Bytedance Inc. Method, apparatus, and medium for video processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105684452A (zh) * 2013-10-22 2016-06-15 佳能株式会社 用于对可分级分区定时媒体数据进行封装的方法、装置和计算机程序

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2492585C2 (ru) 2008-07-16 2013-09-10 Нокиа Корпорейшн Способ и устройство для группирования треков и подмножеств треков
GB2509954B (en) * 2013-01-18 2016-03-23 Canon Kk Method of displaying a region of interest in a video stream
CN105409235B (zh) 2013-07-19 2019-07-09 索尼公司 文件生成装置和方法以及内容重放装置和方法
GB2516826B (en) * 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
GB2519745B (en) 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
US10694192B2 (en) * 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
US10397666B2 (en) * 2014-06-27 2019-08-27 Koninklijke Kpn N.V. Determining a region of interest on the basis of a HEVC-tiled video stream
RU2718118C2 (ru) 2015-06-12 2020-03-30 Сони Корпорейшн Устройство для обработки информации и способ обработки информации
US10602239B2 (en) * 2017-03-23 2020-03-24 Mediatek Inc. Method and apparatus for track composition
WO2018180511A1 (ja) 2017-03-27 2018-10-04 ソニー株式会社 画像生成装置および画像生成方法、並びに画像再生装置および画像再生方法
GB2563865A (en) 2017-06-27 2019-01-02 Canon Kk Method, device, and computer program for transmitting media content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105684452A (zh) * 2013-10-22 2016-06-15 佳能株式会社 用于对可分级分区定时媒体数据进行封装的方法、装置和计算机程序

Also Published As

Publication number Publication date
GB201710264D0 (en) 2017-08-09
GB2594899A (en) 2021-11-10
GB2563920B (en) 2021-10-06
GB201710463D0 (en) 2017-08-16
KR102320455B1 (ko) 2021-11-03
JP7399224B2 (ja) 2023-12-15
CN110800311A (zh) 2020-02-14
GB2563865A (en) 2019-01-02
JP2020526057A (ja) 2020-08-27
GB2563920A (en) 2019-01-02
EP3646612A1 (en) 2020-05-06
TW201906411A (zh) 2019-02-01
US20210409798A1 (en) 2021-12-30
JP2022133439A (ja) 2022-09-13
US11582496B2 (en) 2023-02-14
WO2019002055A1 (en) 2019-01-03
KR20200019881A (ko) 2020-02-25
GB202111969D0 (en) 2021-10-06
GB2594899B (en) 2022-09-14
TWI727180B (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN110800311B (zh) 用于传输媒体内容的方法、装置和计算机程序
US11272159B2 (en) Method and device for transmitting stereo media content
KR102329474B1 (ko) 미디어 데이터를 생성하기 위한 방법
US11805304B2 (en) Method, device, and computer program for generating timed media data
US20240040170A1 (en) Method, device, and computer program for transmitting media content
CN112534825B (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