CN111937397A - 媒体数据处理方法及装置 - Google Patents

媒体数据处理方法及装置 Download PDF

Info

Publication number
CN111937397A
CN111937397A CN201980024407.9A CN201980024407A CN111937397A CN 111937397 A CN111937397 A CN 111937397A CN 201980024407 A CN201980024407 A CN 201980024407A CN 111937397 A CN111937397 A CN 111937397A
Authority
CN
China
Prior art keywords
information
machine
media data
machine position
metadata
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
CN201980024407.9A
Other languages
English (en)
Other versions
CN111937397B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202410427057.3A priority Critical patent/CN118283277A/zh
Publication of CN111937397A publication Critical patent/CN111937397A/zh
Application granted granted Critical
Publication of CN111937397B publication Critical patent/CN111937397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/2362Generation or processing of Service Information [SI]
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • 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/47217End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/4722End-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 requesting additional data associated with the content
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种媒体数据处理方法及装置。一种媒体处理设备接收媒体流。所述媒体流包括多个机位记录的媒体数据。所述设备获取所述媒体流的元数据信息。所述元数据信息包括所述机位的机位标识信息。所述设备根据所述机位标识信息显示第一机位的媒体数据。所述设备在显示所述第一机位的所述媒体数据时,还显示其它机位的指示,以便所述设备的用户能够切换为显示其它机位媒体数据。本申请能够根据机位标识信息灵活处理不同机位对应的媒体数据。

Description

媒体数据处理方法及装置
相关申请交叉引用
本申请要求于2018年4月3日提交的申请号为62/652,305的美国临时申请和2018年4月4日提交的申请号为62/652,330的美国临时申请的优先权,其保护主题通过引用全部结合在本申请中。
技术领域
本申请涉及流媒体传输技术领域,尤其涉及一种媒体数据处理方法及装置。
背景技术
国际标准化组织(International Organization for Standardization,IS0)和国际电工技术委员会(International Electrotechnical Commission,IEC)组成了全球标准化专业体系。标题为《Information Technology-Coded Representation of ImmersiveMedia-Part 2:Omnidirectional Media Format》的ISO/IEC 23090-2标准规范在下文又称为全向媒体格式(Omnidirectional Media Format,OMAF)规范,该规范定义了一种媒体格式,该媒体格式能够实现全向媒体应用。媒体格式能够在应用中实现全向媒体的呈现。全向媒体主要是指全向视频(360度视频)、图像和音频以及相关文本。OMAF规范首先指定了可以用于将球面视频转换为二维视频的投影方法的列表。其次是如何使用ISO基本媒体文件格式(ISO base media file format,ISOBMFF)存储全向媒体和该媒体相关的元数据,以及如何在流媒体***封装全向媒体数据和传输全向媒体数据,例如,通过基于超文本传输协议(Hypertext Transfer Protocol,HTTP)的动态自适应流传输(Dynamic AdaptiveStreaming over HTTP,DASH)、ISO/IEc 23009-1标准中规定的动态自适应流传输等传输方法。
IS0基本媒体文件格式(ISO base media file format,ISOBMFF)包括一系列盒子(box),一个盒子中还可以包括其它盒子。盒子中包括元数据盒子(moov box)和媒体数据盒子(mdat box)。元数据盒子包括元数据,媒体数据盒子包括媒体数据。元数据盒子和媒体数据盒子可以在同一个文件中,也可以在分开的文件中。如果有时间属性的元数据封装采用ISO基本媒体文件格式封装,则元数据盒子包括用于描述有时间属性的元数据的元数据,媒体数据盒子包括有时间属性的元数据。
在现有的方案中,当多个机位对应的媒体数据共存时,无法对不同机位的媒体数据进行区分和灵活处理。
发明内容
本申请提供一种媒体数据处理方法及装置,以区分并灵活处理不同机位对应的媒体数据。
第一方面,提供了一种媒体数据处理方法。所述方法包括:获取元数据信息;根据所述元数据信息中包括的机位标识信息对媒体数据进行处理。
所述机位标识信息也可以称为机位分组信息,用于指示所述媒体数据所属的机位。
所述元数据信息可以是用于描述所述媒体数据的一些属性信息,例如,所述媒体数据的时长、码率、帧率和所述媒体数据所属的机位。
所述媒体数据可以是全向媒体数据,所述全向媒体数据可以是视频数据和/或音频数据。
应理解,在所述根据机位标识信息对媒体数据进行处理之前,所述方法还包括:从所述元数据信息中获取所述机位标识信息。
所述机位标识信息可以用于描述所述媒体数据对应的机位。所述机位标识信息可以指示所述媒体数据对应的机位的ID,所述媒体数据对应的机位编号等等。
所述机位可以是在拍摄视频时摄像机或摄像机阵列所放置的位置。
拍摄视频时可以采用单个机位,也可以采用多个机位。例如,当采用一个摄像机或一个摄像机阵列拍摄视频时,对应的是一个机位;当采用多个摄像机或多个摄像机阵列拍摄一个场景的画面时,对应的是多个机位。在拍摄全景视频或360度视频时,通常需要采用多个摄像机组成的摄像机阵列进行拍摄。这里的摄像机阵列通常对应多个拍摄视角。
在某个机位下采用摄像机拍摄一个场景的画面时,可以得到一个视角的视频,也可以得到多个视角的视频,也可以得到全景视频或者360度视频。
在本申请中,视角是用户观看视频时选择的某个观看角度。当用户观看的视频是全景视频或360度视频时,视角可以是用户视线与视频所在的球面所成的角度。
在本申请中,由于所述机位标识信息携带在所述元数据信息中,因此,通过所述元数据信息中的机位标识信息能够区分和灵活处理不同机位对应的媒体数据。
进一步地,所述对媒体数据进行处理可以是:呈现所述媒体数据。此时,可以通过所述机位标识信息灵活选择需要呈现的机位的媒体数据,进而能够实现在不同机位的视频之间进行灵活切换。
在一种可能的实现方式中,所述媒体数据处理方法还包括:获取机位选择信息;所述根据机位标识信息对媒体数据进行处理包括:根据所述机位选择信息和所述机位标识信息确定第一机位;对所述第一机位对应的媒体数据进行处理。
所述机位选择信息可以用于指示用户选择的机位。当所述方法由客户端执行时,所述客户端可以根据用户触摸所述客户端的显示屏或用户操作所述客户端的按键的输入得到机位指示信息。
在本申请中,所述客户端可以根据用户在所述客户端的操作界面上的输入得到所述机位选择信息,进而选择和呈现用户想要观看的视频的机位,从而给用户带来更好的视觉体验。
在一种可能的实现方式中,在所述对第一机位对应的媒体数据进行处理之前,所述方法还包括:判断是否已经获取到所述第一机位对应的媒体数据。
当所述客户端接收到所述第一机位对应的媒体数据时,可以确定所述客户端已经获取到所述第一机位对应的媒体数据,而当所述客户端本地未接收到所述第一机位对应的媒体数据时,所述客户端需要先从服务器端获取所述第一机位对应的元数据才能够对所述媒体数据进行处理。
应理解,当所述客户端还未获取到所述第一机位对应的媒体数据时,所述方法还包括:根据所述机位标识信息和所述元数据信息获取所述第一机位对应的媒体数据。
例如,所述服务器端一共缓存了所述第一机位、第二机位和第三机位对应的媒体数据。此时,所述客户端可以向所述服务器端请求获取所述第一机位对应的媒体数据的码流,并解析所述码流得到所述第一机位对应的媒体数据。具体的获取媒体数据的方式可以参考MPEG-DASH等标准中的相关规范,在此不再赘述。
在一种可能的实现方式中,所述对所述第一机位对应的媒体数据进行处理包括:呈现所述第一机位对应的媒体数据。
在一种可能的实现方式中,所述机位标识信息携带在以下信息中的任一项中:媒体数据轨迹、媒体呈现描述(media presentation description,MPD)和补充增强信息(upplementary enhancement information,SEI)。可以通过解析所述媒体数据轨迹、所述MPD或所述SEI来获取所述机位标识信息。
在一种可能的实现方式中,所述元数据信息还可以包括机位位置信息,所述机位位置信息用于指示机位位置。
可选地,机位位置是机位在球面坐标系或三维笛卡尔空间坐标系中的位置。
所述机位位置信息既可以指示当前元数据信息对应的媒体数据所属的机位的位置,也可以指示当前元数据信息对应的媒体数据之外的其它媒体数据所属的其它机位的位置。
当所述元数据信息对应的媒体数据所属的机位的位置为机位1时,所述元数据信息中的机位位置信息可以指示机位2在机位1上的视频数据所在的球面区域中的位置。机位2可以是与机位1的有部分视角重叠的机位。
在一种可能的实现方式中,当所述机位位置保持不变(所述机位位置为静态位置)时,所述机位位置信息携带在盒子信息、所述SEI或所述MPD中。
当所述机位位置保持不变时,可以在轨迹组合盒子中添加机位位置(x,y,z),以表示所述机位在三维笛卡尔坐标系中的位置。
在一种可能的实现方式中,当所述机位位置可能发生改变时,所述机位位置信息携带在所述MPD中。
可选的,所述机位位置信息携带在所述MPD中,所述MPD包括第一字段,所述第一字段用于指示所述机位位置是静态位置还是动态位置。
当所述第一字段指示所述机位位置为静态位置时,所述MPD包括所述机位在三维笛卡尔坐标系中的位置,而当所述第一字段指示所述机位位置为动态位置时,所述MPD包括所述机位但不包括所述机位的具***置。
可选地,当机位位置为静态位置时,所述机位在三维笛卡尔坐标系中的信息直接携带在所述MPD中。
此时,指示所述机位位置是静态位置还是动态位置的字段不再携带在所述MPD中。
可选地,当所述机位位置为动态位置时,所述机位位置携带在所述MPD中与所述媒体数据相关的有时间属性的元数据轨迹中。
在一种可能的实现方式中,当所述机位位置可能发生改变时,所述机位位置信息携带在有时间属性的元数据轨迹中。
可选的,所述机位位置信息和所述机位标识信息携带在同一有时间属性的元数据轨迹中。
可选的,所述机位位置信息和所述机位标识信息携带在不同的有时间属性的元数据轨迹中,所述机位位置信息所在的有时间属性的元数据轨迹与所述机位标识信息所在的有时间属性的元数据轨迹相关联。
可选地,每个有时间属性的元数据轨迹携带一个机位位置信息。
此时,当视频流中共有N(N大于等于1)个机位时,需要N个有时间属性的元数据轨迹来携带N个机位位置信息。
可选地,一个有时间属性的元数据轨迹携带多个机位位置信息。
此时,当视频流中共有N(N大于等于1)个机位时,一个有时间属性的元数据轨迹可以携带N个机位位置信息。
可选的,所述机位位置信息携带在所述媒体数据轨迹的样本组合盒子中,所述机位位置信息用于指示样本组合中的样本的机位位置。
本申请能够通过机位位置信息灵活指示不同机位的位置,使得用户在观看视频时能够在不同的机位之间灵活切换。
在一种可能的实现方式中,所述元数据信息还包括推荐视角信息,所述根据机位标识信息对媒体数据进行处理包括:根据所述机位标识信息和所述推荐视角信息对所述媒体数据进行处理。
所述推荐视角可以是导演剪辑推荐的视角。
在一种可能的实现方式中,所述推荐视角信息携带在所述有时间属性的元数据轨迹中。
所述推荐视角信息可以指示视频制作者或导演推荐的观看视角,所述客户端可以根据所述推荐视角信息向用户呈现视频制作者或导演要呈现给用户的媒体内容。由于所述元数据轨迹还包括所述机位标识信息,因此,所述客户端可以向用户呈现推荐视角下的指定机位的视频内容。
在本申请中,由于所述元数据轨迹除了包括所述推荐视角信息之外,还包括了所述机位标识信息,使得用户能够在推荐视角范围内选择相应机位的视频进行观看。因此,本申请能够使得用户在推荐视角范围内的不同机位之间进行灵活切换。
除了所述推荐视角信息之外,所述有时间属性的元数据轨迹还可以包括所述机位标识信息。
在一种可能的实现方式中,所述有时间属性的元数据轨迹携带所述推荐视角信息和所述机位标识信息。
当所述有时间属性的元数据轨迹携带所述机位标识信息时,可以包括如下情况:
可选地,在所述有时间属性的元数据轨迹中定义新的类型来携带所述机位标识信息。
可选地,定义新的有时间属性的元数据轨迹来携带所述机位标识信息。
可选地,重新定义所述有时间属性的元数据轨迹来携带所述机位标识信息。
第二方面,提供了一种媒体数据处理装置。所述装置包括用于执行所述第一方面中的方法的模块。
第三方面,提供了一种计算机可读存储介质。所述计算机可读存储介质中存储有指令。当所述指令在计算机上运行时,所述指令使得所述计算机执行所述第一方面中的方法。
第四方面,提供了一种包括指令的计算机程序产品。当所述指令在计算机上运行时,所述指令使得所述计算机执行所述第一方面中的方法。
第五方面,提供一种电子设备。所述电子设备包括所述第二方面中的媒体数据处理装置。
应理解,本申请的第二至第五方面及对应的实现方式所取得的有益效果参见本申请的第一方面及对应的实现方式所取得的有益效果,不再赘述。
附图说明
图1是本申请实施例的一种可能的应用场景的示意图;
图2是本申请实施例的另一种可能的应用场景的示意图;
图3是本申请实施例的一种媒体数据处理方法的流程图;
图4是本申请另一实施例的一种媒体数据处理方法的流程图;
图5是本申请又一实施例的一种媒体数据处理方法的流程图;
图6是本申请再一实施例的一种媒体数据处理方法的流程图;
图7是本申请实施例的一种媒体数据处理装置的简化框图;
图8是本申请实施例的一种媒体数据处理装置的硬件结构的简化框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了更好地理解本申请实施例的媒体数据处理方法,下面先对媒体数据处理相关的一些基本概念进行简要的介绍。
轨迹(track)是指一系列有时间属性的按照ISO基本媒体文件格式(ISO basemedia file format,ISOBMFF)进行封装的样本。例如,在视频轨迹上,视频样本是通过将编码视频帧产生的码流按照ISOBMFF规范封装后得到的。
轨迹在ISO/IEC 14496-12标准中的定义为“timed sequence of relatedsamples(q.v.)in an ISO base media file(IS0基本媒体文件中相关样本的时间属性序列)”。
对于媒体数据来说,一个轨迹就是个图像或音频样本序列。对于提示轨迹,一个轨迹对应一个流频道。
盒子(box):ISOBMFF文件包括多个盒子,其中,一个盒子可以包括其它盒子。盒子在ISO/IEC 14496-12标准中的定义为:“object-oriented building block defined by aunique type identifier and length(面向对象的构建块,由唯一的类型标识符和长度定义)”。
另外,盒子在某些规范中被称为“原子(atom)”,包括MP4的第一个定义。
辅助增强信息(supplementary enhancement information,SEI)是国际通信联盟(international telecommunication union,ITU)发布的视频编解码标准h.264和h.265中定义的一种网络抽象层单元(network abstract layer unit,NALU)的类型。
媒体呈现描述(media presentation description,MPD)是ISO/IEC 23009-1标准中规定的一种文档,该文档包括客户端构造HTTP-URL的元数据。MPD包括一个或者多个周期(period)元素。每个周期元素包括一个或多个自适应集(adaptation set)每个自适应集包括一个或多个表示(representation),每个表示包括一个或多个分段。客户端根据MPD中的信息,选择表示,并构建分段的http-URL。
为了描述媒体数据中有关时间的属性信息,全向媒体格式(OmnidirectionalMedia Format,OMAF)标准中规定了在球面上的区域(region)的有时间属性的元数据轨迹(timed metadata track)。该元数据轨迹中的元数据盒子包括用于描述球面的元数据。该元数据盒子描述了有时间属性的元数据轨迹的意图,也就是球面区域是用来做什么的。在OMAF标准中描述了两种有时间属性的元数据轨迹:推荐视角元数据轨迹(recommendedviewport timed metadata track)和初始视点元数据轨迹(initial viewpoint timedmetadata track)。推荐视角元数据轨迹描述了推荐给终端呈现的视角,初始视点元数据轨迹描述了观看全向视频时的初始观看视角。
现有的OMAF标准中规定的球面区域样本入口(Sample Entry)的格式如下:
Figure BDA0002713394280000051
Figure BDA0002713394280000061
上述球面区域样本入口中各个字段的语义如下:
shape_type:描述了球面区域形状类型;
reserved:表示保留字段;
dynamic_range_flag:该值为0时,表示区域的水平和垂直范围不变;该值为1时,表示区域的水平和垂直范围在样本中描述;
static_azimuth_range:表示区域的方位角覆盖范围;
static_elevation_range:表示区域的仰角覆盖范围;
num_regions:表示元数据轨迹中的区域个数。
OMAF中定义了两种球面区域形状类型。一种为四个大圆(Azimuth Circle)合成形成的形状,该形状的shape_type值为0;另一种为两个大圆和两个小圆(Elevation Circle)合成形成的形状,该形状的shape_type值为1。
现有的OMAF标准中规定的球面区域样本(Sample)的格式定义如下:
Figure BDA0002713394280000062
该球面区域样本中的各个字段的语义如下:
center_azimuth and center_elevation:表示球面区域的中心点位置;
center_tilt:表示球面区域的倾斜角度;
azimuth_range:表示球面区域的方位角覆盖范围;
elevance_range:表示球面区域的仰角覆盖范围。
在播放视频时,为了能够在不同的视觉角度(下文称为视角(viewport))之间灵活切换,可以在拍摄视频时采用多机位拍摄。多机位拍摄的特点是多相机位置(下文称为机位(viewpoint))同时记录,并且通过切换不同的机位来播放不同视角的视频。
例如,在拍摄视频的过程中,一共采用了机位A和机位B两种机位进行拍摄,那么,在拍摄得到的视频中,当机位A出现在机位B拍摄的360度全景视频中的某个区域时,可以用上述球面区域结构来定义机位A在机位B拍摄的视频中的位置。而机位A所拍摄的360度全景视频可以用一个统一资源标识符(uniform resource identifier,URI)链接来表示。当用户在观看机位B拍摄的视频时,可以通过和机位A相关的URI链接切换至机位A的视频观看。
可以采用以下样本语法在球面区域结构中定义一个机位相对另一个机位的位置:
Figure BDA0002713394280000071
在上述语法中,通过字段hotspot_uri定义了一个与球面区域相关的指向另一个机位的360度全景视频链接的URI。
在上述方式中,由于URI是带外链接,无法区分两个机位是否属于同一场景(或者事件)的拍摄。另外,URI在网络传输过程中容易被更改或者重定向,因此,采用URI无法稳定的表达与机位相关的视频。
因此,本申请实施例提供了一种媒体数据处理方法,通过在媒体数据的元数据信息中携带机位标识信息来指示媒体数据对应的机位,从而能够根据机位对媒体数据进行处理(例如,呈现),从而能够更灵活地显示不同机位的视频。
图1是本申请实施例的一种可能的应用场景的示意图。
如图1所示,体育场中设置有机位A、机位B和机位C来拍摄视频。机位A和机位B的位置固定,机位C位于轨道上,位置可以随时变动。机位A、机位B和机位C各自放置一台摄像机,用于拍摄360度的全景视频。机位A拍摄视频的视角为视角1,机位B拍摄视频的视角为视角2,视角1和视角2有部分重叠,因此,在机位A拍摄的视频中的某些区域能够观察到机位B,在机位B拍摄的视频中的某些区域能够观察到机位A。
图2示出了本申请实施例的另一种可能的应用场景。在图2中,体育场中设置有机位A和机位B,机位A和机位B分别固定在体育场的两端。机位A拍摄视频的视角为视角1,机位B拍摄视频的视角为视角2,视角1和视角2没有重叠。由于机位A拍摄视频的视角与机位B拍摄视频的视角不重叠,因此,在机位A和机位B各自拍摄的视频中的区域中都无法观看到对方机位。
应理解,图1和图2只是以体育场为例,示出了多机位拍摄多个全景视频的场景。实际上,多机位拍摄多个全景视频的场景还有很多。例如,采用多机位拍摄进行电视栏目制作,采用多机位拍摄进行现场演出拍摄等等,任何采用多机位拍摄多个全景视频的场景都在本申请的范围内。
图3是本申请实施例的一种媒体数据处理方法的流程图。该方法可以由解码端设备执行。通常,解码端设备为电子计算设备或电子计算设备中的硬件或软件组件,这里的解码端设备可以为视频解码器、具有解码视频功能的设备、视频播放器(例如,能够对多媒体数据进行处理的电子设备)等等。图3所示的方法包括步骤101和步骤102。下面对步骤101和步骤102进行详细的描述。
101、获取元数据信息。
该元数据信息可以是用于描述媒体数据的属性信息。例如,该元数据信息可以包括媒体数据的时长,码率,帧率,或媒体数据所属的机位的机位标识信息。
另外,该元数据信息描述的媒体数据可以是全向媒体数据,该全向媒体数据可以是视频数据和/或音频数据。
102、根据元数据信息中的机位标识信息对媒体数据进行处理。
在本申请中,该机位标识信息也可以称为机位分组信息。
元数据信息中携带的机位标识信息用于表示机位。例如,第一媒体数据的元数据信息包括第一机位标识信息,该第一机位标识信息表示第一机位,那么,第一媒体数据就是在第一机位下拍摄的媒体数据。
另外,在步骤102中根据机位标识信息对媒体数据进行处理之前,还可以先从元数据信息中获取该元数据信息中携带的机位标识信息。
可选地,该机位标识信息可以是机位标识符(identifier,ID)。每个机位对应一个ID,不同的ID表示不同的机位。
在本申请中,由于元数据信息中携带有机位标识信息,因此,通过元数据信息中的机位标识信息能够自由对不同机位对应的媒体数据进行处理。
进一步地,在步骤102中对媒体数据进行处理可以包括:呈现媒体数据。此时,可以通过机位标识信息灵活选择需要呈现的机位的媒体数据,进而能够实现在不同机位的视频之间进行灵活切换。
图4是本申请实施例的一种媒体数据处理方法的流程图。与图3所示的方法一样,图4所示的方法也可以由解码端设备执行。
图4所示的方法包括步骤301至步骤306。下面对步骤301至步骤306进行详细的描述。
301、获取元数据信息。
步骤301中获取的元数据信息与步骤101中获取的元数据信息相同,也是用于描述媒体数据的属性信息。另外,步骤301中获取的元数据信息可以携带机位标识信息,该机位标识信息用于表示机位。
302、获取机位选择信息。
该机位选择信息可以用于表示用户选择观看的机位例如,当图4所示的方法由终端设备执行时,用户可以通过终端设备的操作界面输入机位选择信息,进而选择想要观看视频的视角。
可选地,在步骤302之前,图4所示的方法还包括:呈现不同的机位。
当用户看到所呈现的不同机位时,可以根据观看视频的需要从不同的机位中选择观看视频的目标机位,并通过操作显示界面生成机位选择信息。
303、根据机位选择信息以及元数据信息中的机位标识信息确定第一机位。
当图4所示的方法由终端设备执行时,终端设备可以在显示界面呈现不同的机位图标(每个机位图标对应的机位标识信息不同)供用户选择。用户可以根据需要点击需要观看的机位(这里的用户的点击操作相当于机位选择信息)。接下来,设备就可以呈现出用户选择的机位的视频。
304、判断是否已经获取到第一机位对应的媒体数据。
在步骤304中确定已经获取到第一机位对应的媒体数据之后,直接执行步骤306。如果在步骤304中确定没有获取到第一机位对应的媒体数据,则需要先获取第一机位对应的媒体数据,也就是执行步骤305。
上述已经获取到第一机位对应的媒体数据可以是指客户端(即终端设备,例如能够解码和呈现媒体数据的设备)已经将第一机位对应的媒体数据下载到本地。没有获取到第一机位对应的媒体数据可以是指只获取到第一机位对应的媒体数据的元数据信息,但是还未将第一机位对应的媒体数据保存到本地。此时,客户端需要继续从服务器端获取第一机位对应的媒体数据。
305、获取第一机位对应的媒体数据。
在获取第一机位对应的媒体数据时,可以根据第一机位对应的媒体数据的元数据信息从服务器端获取第一机位对应的媒体数据的码流。然后,解析第一机位对应的媒体数据的码流,从而得到第一机位对应的媒体数据。
306、呈现第一机位对应的媒体数据。
例如,当第一机位对应的媒体数据为视频数据并且图4所示的方法由终端设备执行时,可以在终端设备的显示屏上显示第一机位对应的视频。这样用户就可以观看到第一机位对应的视频。
可选地,上述机位标识信息可以携带在不同形式的元数据信息中。
机位标识信息可以携带以下信息中的任一项中:媒体数据轨迹、SEI、MPD或有时间属性的元数据轨迹。
下面结合具体实施例1至实施例14对机位标识信息分别携带在媒体数据轨迹、MPD或SEI中进行详细的描述。
除了下面实施例中描述的语义之外,MPD中包括的其它语义可以参考OMFA、MPEG-DASH等标准中有关MPD语义的解释。
实施例1:
机位标识信息携带在媒体数据轨迹中
可以将属于同一机位的多个视频流(轨迹)添加到一个组合中,并给包括不同机位下的多个视频流的每个组合分配一个机位标识信息(可以是机位ID)。客户端在解析到该机位的视频流组合之后将机位ID呈现给用户,使得用户可以根据机位ID选择需要观看的机位。
现有标准中的媒体数据轨迹中的盒子定义组合类型盒子(TrackGroupTypeBox),TrackGroupTypeBox中包括的语法如下:
Figure BDA0002713394280000091
该语法所表示的语义如下:
Track_group_type:表示组合类型;
track_group_id:表示同一类型和同一ID的轨迹属于同一组合。
在实施例1中,在媒体数据轨迹中添加一种新的组合类型盒子(ViewPositionGroupBox),该盒子继承自TrackGroupTypeBox。该新的组合类型盒子的语法如下:
aligned(8)class ViewPointGroupBox extends TrackGroupTypeBox(′vipo′){}
TrackGroupTypeBox中的track_group_id值相同且track_group_type等于‘vipo’的轨迹属于同一机位。因此,将TrackGroupTypeBox中track_group_type等于‘vipo’的track_group_id用作机位的标识符。
在客户端获取到类型盒子之后,通过解析该类型盒子可以获取该盒子中的track_group_id,然后将不同的机位呈现给用户供用户灵活选择。
图5是本申请实施例的一种媒体数据处理方法的流程图。客户端处理上述类型盒子的具体过程可以如图5所示:
401、获取视频码流。
402、解析视频码流,判断是否存在特定类型的盒子。
在获取到视频码流之后,寻找并解析类型为‘vipo’的TrackGroupTypeBox。
403、获取机位标识信息。
当存在类型为‘vipo’的TrackGroupTypeBox时,获取TrackGroupTypeBox中的track_group_id,也就是获取机位标识信息。
404、将机位呈现给用户。
当解析得到多个机位标识信息时,可以将多个机位标识信息表示的机位以图标的形式呈现在设备的显示界面上。例如,当通过机位标识信息确定三个机位时,可以在设备的显示界面上显示三个机位的图标。用户可以通过显示屏幕选择相应机位的视频观看。例如,用户可以通过点击机位图标的方式来选择机位。
405、呈现用户选择的机位对应的视频。
例如,显示界面一共显示第一机位、第二机位和第三机位的图标。当用户点击了第一机位,设备接下来可以将第一机位对应的视频呈现在显示界面上供用户观看。
应理解,上述‘vipo’表示轨迹组合的组合类型是属于同一机位的轨迹组合。机位标识信息并未携带在盒子中。这里只是采用“vipo”这四个字符来表示属于同一机位的轨迹组合类型,也可以用‘aabb’等其它任意字符表示属于同一机位的轨迹组合类型。本申请对具体采用的字符并不限定。
为保证不同机位的track_group_id不同,可以将1赋予ViewPositonGroupBox的标记,来表示不同机位的track_group_id值不同。该盒子的定义如下:
aligned(8)class ViewPointGroupBox extends TrackGroupTypeBox(′vipo′,vetsion=0,flags=1){)
实施例2:
机位标识信息携带在SEI中
在一种可能的实现方式中,SEI中携带的机位标识信息的语法如下:
Figure BDA0002713394280000101
上述语法中的VIP是一个具体值。例如,当VIP为190时,表示SEI中的字段source_payload携带机位标识信息,source_payload中包括的语法如下:
Figure BDA0002713394280000102
Figure BDA0002713394280000111
应理解,source_payload就是上述viewpoint_payload,source_payload表示载荷的具体内容。
上述viewpoint_id描述了SEI对应的码流所属的机位的ID信息。
另外,应理解,本申请中并不限定VIP的值。当VIP取某个具体值时,可以用来表示SEI中的字段source_payload携带机位标识信息。
在实施例2中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取到视频码流,解析码流中的NALU头信息,如果解析到的头信息类型是SEI类型,则客户端解析sEI NALU,以获得SEI的载荷类型;
(2)如果客户端解析得到SEI的载荷类型(payloadType)为190,则表示SEI中携带了码流的机位信息,客户端继续解析获得view_position_id信息,获取机位号。
(3)客户端将不同的view_position_id值对应的机位号呈现给用户。
(4)用户选择某一机位观看,客户端将该机位下的视频呈现给用户。
在上述流程(1)至(4)中,用户可以根据客户端呈现的机位号来灵活选择不同机位的视频来观看。
可选地,元数据信息还包括机位位置信息,该机位位置信息用于指示机位在三维坐标系中的位置。
在本申请中,通过机位位置信息,能够灵活指示不同机位的位置,使得用户在观看视频时能够在不同的机位之间进行灵活切换。
在本申请中,机位标识信息可以指示机位ID或者机位号。机位位置信息可以用来指示机位在三维坐标系中的位置。也就是说,通过一个信息指示机位ID,通过另一个信息指示机位的位置。
可选地,元数据信息中包括的机位位置信息可以指示该元数据信息对应的机位位置,可以使用每个机位的位置信息来计算一个机位在另一机位的球面中的位置。
例如,在拍摄视频时存在机位1和机位2。使用机位1的元数据信息中包括的机位位置信息和机位2的元数据信息中包括的机位位置信息来计算机位2在机位1对应的媒体数据所在的球面区域中的位置。
图6是本申请实施例的一种媒体数据处理方法的流程图。图6所示方法中的具体步骤可以看成是图4所示方法的步骤306之后的延续。在呈现第一机位对应的媒体数据之后,还可以根据机位位置信息在第一机位的媒体数据所在的位置上呈现其它机位的图标,使得用户能够自由地从第一机位切换到其它机位。图6所示方法包括步骤501至步骤506。下面分别对步骤501至步骤506进行详细的描述。
501、根据机位位置信息确定第二机位在第一机位对应的媒体数据所在的球面区域中的第一位置。
该机位位置信息可以携带在元数据信息中。在步骤501之前,可以先从元数据信息中获取机位位置信息。
应理解,在图5所示方法中,机位位置信息指示第二机位在第一机位对应的媒体数据所在的球面区域中的位置。该第一位置可以位于第一机位和第二机位重叠的区域中。
502、在第一位置上呈现第二机位的图标。
客户端可以在呈现的第一机位的视频中的第一位置上呈现第二机位的图标,用户通过点击第二机位的图标可以从第一机位切换到第二机位。这里的用户的点击操作就是机位切换指令。
503、判断是否接收到用户的机位切换指令。
在客户端接收到用户的机位切换指令之后,执行步骤504。如果客户端未接收到机位切换指令,继续等待。
504、判断是否已经获取到第二机位对应的媒体数据。
已经获取到第二机位对应的媒体数据可以是指客户端已经将第二机位对应的媒体数据下载到本地。未获取到第二机位对应的媒体数据可以是指客户端只获取到第二机位对应的媒体数据的元数据信息,但是还未将第二机位对应的媒体数据保存到本地。此时,客户端需要继续从服务器端获取第二机位对应的媒体数据。
在步骤504中确定已经获取到第二机位对应的媒体数据之后,直接执行步骤506。如果在步骤504中确定没有获取到第二机位对应的媒体数据,则需要先获取第二机位对应的媒体数据,然后再呈现,也就是,先执行步骤505,然后再执行步骤506。
505、获取第二机位对应的媒体数据。
在获取第二机位对应的媒体数据时,可以根据第二机位对应的媒体数据的元数据信息从服务器端获取第二机位对应的媒体数据的码流。然后,解析第二机位对应的媒体数据的码流,从而得到第二机位对应的媒体数据。
506、呈现第二机位对应的媒体数据。
可选地,该机位位置信息可以携带在有时间属性的元数据轨迹、盒子信息、MPD以及SEI中。这里的盒子信息可以是盒子(box)。
将机位位置信息添加到有时间属性的元数据轨迹中,能够指示机位位置变化的场景。
当机位位置信息携带在有时间属性的元数据轨迹中时,上述获取元数据信息可以包括:获取有时间属性的元数据轨迹,其中,该有时间属性的元数据轨迹包括机位位置信息。
当机位位置信息携带在盒子信息中时,上述获取元数据信息可以包括:获取盒子信息,其中,该盒子信息包括机位位置信息。
当机位位置信息携带在MPD中时,上述获取元数据信息可以包括:获取MPD,其中,该MPD包括机位位置信息。
当机位位置信息携带在SEI中时,上述获取元数据信息可以具体包括:获取SEI,其中,该SEI包括机位位置信息。
由于上述有时间属性的元数据轨迹、盒子信息、MPD以及SEI都包括机位位置信息,因此,通过解析元数据轨迹、MPD以及SEI能够确定机位。
实施例3:
机位标识信息携带在MPD中
当机位标识信息携带在MPD中时,机位标识信息可以携带在MPD的字段adaptationset level(自适应集级别)或字段representation level(表示级别)的机位描述符中。
可以在机位描述符中定义新的描述符@schemeIdUri来携带机位标识信息。@schemeIdUri的值为“urn:mpeg:mpegI:omaf:2018:vwpt”,@schemeIdUri的语义为机位标识信息(VWPT)描述符。这里的机位标识信息也可以称为机位信息。MPD的字段adaptation setlevel或字段representation level中最多有一个VWPT。VWPT描述符的值为逗号分隔的字符串,VWPT描述符的具体值和语义定义如表1所示。
表1
VWPT描述符的参数@value 用途 描述
viewpoint_id M 表示机位的ID
在表1中,M表示必选参数,viewpoint_id表示机位的ID。
应理解,拥有相同viewpoint_id值的自适应集属于同一机位,拥有不同viewpoint_id值的自适应集属于不同机位。
在一种可能的实现方式中,当机位标识信息携带在MPD中时,MPD中包括的语法如下:
Figure BDA0002713394280000131
Figure BDA0002713394280000141
在MPD中包括的语法中,共描述了两个机位:机位1和机位2。当<ViewpointschemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt″value=″1″/>出现时,指示机位1。当<Viewpoint schemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt″value=″2″/>出现时,指示机位2。机位1和机位2各自拥有两个轨迹:分块1和分块2。
在客户端获取包括语法的MPD文件之后,具体的处理流程如下:
(1)客户端解析自适应集级别中的属性,获取机位描述符及其属性值。
(2)客户端根据不同机位描述符的属性值将不同的机位信息呈现给用户。
(3)当用户选择某个机位观看时,客户端将属于该机位的视频流呈现给用户。在这个过程中,用户可以随时切换到不同的机位进行观看。
实施例4:
机位位置信息携带在媒体数据轨迹的盒子信息中
在实施例1的基础上,还可以将机位位置信息添加到ViewPointGroupBox中,该机位位置信息可以用于描述机位在三维空间坐标系中的绝对位置信息。应理解,实施例4适用于机位位置固定的多机位360度全景视频的应用场景。
可以将新的组合类型添加到ViewPointGroupBox中,表示该组合类型下相同ID的轨迹属于同一机位。该新的组合类型定义如下:
Figure BDA0002713394280000151
该新的组合类型中字段的语义如下:
static_position_flag:表示机位位置是静态位置还是动态位置;
center_x,center_y和center_z:表示机位中心点在三维空间坐标系中的绝对位置。
具体地,center_x表示机位中心点在三维坐标系x轴上的值;center_y表示机位中心点在三维坐标系y轴上的值。center_z表示机位中心点在三维坐标系z轴上的值。另外,center_x,center_y和center_z的单位可以是毫米,也可以是2-32
当static_position_flag的值为1时,表示机位位置是静态位置。当static_position_flag的值为0时,表示机位位置是动态位置。
在实施例4中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox;
(3)如果视频数据轨迹流中存在类型为‘vipo’的TrackGroupTypeBox,则从TrackGroupTypeBox中获取视频数据轨迹流的track_group_id(也就是,客户端从TrackGroupTypeBox中获取机位标识信息);
(4)客户端获取ViewPointGroupBox中机位的绝对位置信息;
(5)客户端呈现某一机位的视频,并呈现其它机位的信息和其它机位在该机位的视频中的球面区域;用户可以点击该区域,进而切换到不同机位进行观看。
应理解,客户端可以根据ViewPointGroupBox获取不同机位的绝对位置信息,然后根据不同机位的绝对位置信息获取多个机位之间的相对位置关系。
实施例5:
机位位置信息携带在SEI中。
除了机位标识信息之外,SEI还可以携带机位位置信息。与实施例2一样,实施例5中的SEI携带的机位标识信息的语法如下:
Figure BDA0002713394280000161
该语法中的VIP是一个具体值。例如,VIP可以为190。应理解,本申请中并不限定VIP的值。当VIP取某个具体值时,可以表示SEI中的字段source_payload携带机位位置信息。
当SEI的载荷类型(payloadType)为VIP时,source_payload中包括的语法如下:
Figure BDA0002713394280000162
上述viewpoint_id描述了SEI对应的码流所属的机位的ID信息;static_position_flag指示机位位置是静态位置还是动态位置;center_x,center_y和center_z用于表示机位中心点在三维空间坐标系中的绝对位置。
在实施例5中,在客户端获取视频码流之后,处理流程如下:
(1)客户端获取到视频码流,解析码流中的NALU头信息,
(2)如果客户端解析得到的头信息类型是SEI类型,则继续解析SEI NALU,获得SEI的载荷类型;
(3)如果客户端解析得到的载荷类型为190,表示码流的机位信息携带再SEI中;客户端继续解析码流获得view_position_id信息,获取机位号;
(4)客户端继续解析static_position_flag信息,如果static_position_flag为1,则继续解析center_x,center_y和center_z,以获得机位位置信息;
(5)客户端根据不同的viewpoint_id值,将不同的机位信息呈现给用户;
(6)当用户选择某个机位进行观看时,客户端将属于该机位的码流呈现给用户。在本过程中,用户可以从计算出的多个机位的位置信息中获取机位之间的相对位置信息,以便随时切换到不同的机位进行观看。
实施例6:
机位位置信息携带在MPD中。
MPD不仅可以携带机位位置信息,还可以携带机位标识信息。与实施例3一样,在实施例6中,机位标识信息还可以携带在MPD的字段adaptation set level或字段representation level的机位描述符中。类似地,机位位置信息还可以携带在MPD的字段adaptation set level或字段representation level的机位描述符中。
为了将机位位置信息添加到机位描述符中,需要定义一个新的描述符@schemeIdUri作为机位描述符。@schemeIdUri的值为“urn:mpeg:mpegI:omaf:2018:vwpt”,@schemeIdUri的语义为机位信息(VWPT)描述符。另外,MPD的字段adaptation set level或字段representation level中最多有一个VWPT。VWPT描述符的值为逗号分隔的字符串,VWPT描述符的具体值和语义定义如表2所示。
表2
Figure BDA0002713394280000171
在表2中,M表示必选参数,0表示可选参数。另外,center_x,center_y和center_z的单位可以是毫米,也可以是2-32。或者,可以添加一个position_id,如表3所示。
表3
Figure BDA0002713394280000172
在表3中,当position_type为0时,表示机位位置为静态位置,静态机位可以用center_x,center_y和center_z表示。当position_type为1时,表示机位位置为动态位置,机位可以通过具体的有时间属性的元数据轨迹来描述。有时间属性的元数据轨迹可以通过属性@associationId与当前媒体轨迹相关联。有时间属性的元数据轨迹的@associationId值为媒体轨迹的一个表示的@id值,常见的关联类型@associationType为‘cdsc’。
应理解,拥有相同viewpoint_id值的自适应集属于同一机位,拥有不同viewpoint_id值的自适应集属于不同机位。
在一种可能的实现方式中,当机位标识信息和机位位置信息携带在MPD中时,MPD中包括的语法如下:
Figure BDA0002713394280000181
Figure BDA0002713394280000191
在上述MPD中包括的语法中,共描述了两个机位:机位1和机位2。机位1和机位2各自拥有两个轨迹:Tile 1和Tile 2。
<Viewpoint schemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt″value=″1,0,0,0,0″/>表示机位1,机位1在三维坐标系中的位置是(0,0,0)。
<Viewpoint schemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt″value=″2,0,100,100,100″/>表示机位2,机位2在三维坐标系中的位置是(100,100,100)。
在实施例6中,在客户端获取包含该语法的MPD文件之后,具体的处理流程如下:
(1)客户端解析自适应集级别中的属性,获取机位描述符及其属性值。
(2)客户端根据不同机位描述符的属性值将不同的机位信息呈现给用户。
(3)当用户选择某个机位进行观看时,客户端将属于该机位的码流呈现给用户,用户可以从计算出的多个机位的位置信息中获取机位之间的相对位置信息,以便随时切换到不同的机位进行观看。
应理解,当机位位置信息携带在MPD中时,还可以考虑机位位置是静态位置还是动态位置。下面结合实施例7和实施例8,对机位位置分别是静态位置和动态位置时,MPD如何携带机位位置信息进行详细说明。
实施例7:
机位标识信息和机位位置信息携带在MPD中(机位位置是静态位置)
MPD不仅可以携带机位位置信息,还可以携带机位标识信息。在实施例7中,机位标识信息和机位位置信息可以携带在MPD的字段adaptation set level或字段representation level的机位描述符中。
为了将机位位置信息添加到机位描述符中,需要在机位描述符中定义新的@schemeIdUri。@schemeIdUri的值为“urn:mpeg:mpegI:omaf:2018:vwpt”,@schemeIdUri的语义为机位信息(VWPT)描述符。schemeIdUri用于描述静态机位位置。另外,MPD的字段adaptation set level或字段representation level中最多有一个VWPT。VWPT描述符的值为逗号分隔的字符串,VWPT描述符的具体值和语义定义如表4所示。
表4
VWPT的参数@value 用途 描述
View_position_id M 表示机位的ID。
center_x M 表示机位中心点在三维坐标系x轴上的值。
center_y M 表示机位中心点在三维坐标系y轴上的值。
center_z M 表示机位中心点在三维坐标系z轴上的值。
在表4中,M表示必选参数,center_x,center_y和center_z的单位可以是毫米,也可以是2-32
应理解,拥有相同viewpoint_id值的自适应集属于同一机位,拥有不同viewpoint_id值的自适应集属于不同机位。
在一种可能的实现方式中,当机位标识信息和机位位置信息携带在MPD中时,MPD中包括的语法如下:
Figure BDA0002713394280000201
Figure BDA0002713394280000211
Figure BDA0002713394280000221
在MPD中包括的语法中,共描述了两个机位:机位1和机位2。机位1和机位2各自拥有两个轨迹:Tile 1和Tile 2。
<Viewpoint schemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt″value=″1,0,0,0,0″/>表示机位1,机位1在三维坐标系中的位置是(0,0,0)。
<Viewpoint schemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt″value=″2,0,100,100,100″/>表示机位2,机位2在三维坐标系中的位置是(100,100,100)。
在实施例7中,在客户端获取包括该语法的MPD文件之后,客户端的具体处理流程如下:
(1)客户端解析自适应集级别中的属性,获取机位描述符及其属性值。
(2)客户端根据不同机位描述符的属性值将不同的机位信息呈现给用户。
(3)当用户选择某个机位进行观看时,客户端将属于该机位的码流呈现给用户,用户可以从计算出的多个机位的位置信息中获取机位之间的相对位置信息,以便随时切换到不同的机位进行观看。
实施例8:
机位标识信息和机位位置信息携带在MPD中(机位位置为动态位置)
MPD不仅可以携带机位位置信息,还可以携带机位标识信息。在实施例8中,机位标识信息和机位位置信息可以携带在MPD的字段adaptation set level或字段representation level的机位描述符中。
为了将机位位置信息添加到机位描述符中,需要在机位描述符中定义新的@schemeIdUri。@schemeIdUri的值为“urn:mpeg:mpegI:omaf:2018:vwpt:dynamic”,@schemeIdUri的语义为机位信息(VWPT)描述符。schemeIdUri用于描述动态机位位置。另外,MPD的字段adaptation set level或字段representation level中最多有一个VWPT。VWPT描述符的值为逗号分隔的字符串,VWPT描述符的具体值和语义定义如表5所示。
表5
Figure BDA0002713394280000231
在表5中,M表示必选参数。
在实施例8中,可以通过具体的有时间属性的元数据轨迹来描述机位。有时间属性的元数据轨迹可以通过属性@associationId与当前媒体轨迹相关联。有时间属性的元数据轨迹的@associationId值为媒体轨迹的一个表示的@id值,常见的关联类型@associationType为‘cdsc’。
在一种可能的实现方式中,当机位标识信息和机位位置信息携带在MPD中时,MPD中包括的语法如下:
Figure BDA0002713394280000232
Figure BDA0002713394280000241
在MPD中,<Viewpoint schemeIdUri=″urn:mpeg:mpegI:omaf:2018:vwpt:dynamic″value=″1,m1″/>表示ID为1的机位与ID为m1的有时间属性的元数据轨迹相关联。ID为m1的有时间属性的元数据轨迹用于指示ID为1的机位的位置,有时间属性的元数据轨迹中的viewpoint_position.mp4包括ID为1的机位的位置。具体表现形式可以参考本文中描述动态机位位置的实施例。
实施例9:
机位位置信息携带在有时间属性的元数据轨迹中
在多机位360度全景视频的应用场景中,机位的位置可能会发生改变。在机位位置发生改变时,可以采用实施例9中的方式携带机位位置信息。
在实施例4的基础上,机位位置信息可以由与机位标识信息的track_group_id相关的有时间属性的元数据轨迹携带。track_group_id与有时间属性的元数据轨迹的关联关系可以通过视频流中的关联类型‘cdsc’来表示。
与track_group_id关联的有时间属性的元数据轨迹的样本入口(sample entry)定义如下:
Class ViewpointPositionEntry extends MetaDataSampleEntry(′vpps′){}
有时间属性的元数据轨迹的样本格式定义如下:
Figure BDA0002713394280000242
其中,center_x表示机位中心点在三维坐标系x轴上的值;center_y表示机位中心点在三维坐标系y轴上的值;center_z表示机位中心点在三维坐标系z轴上的值。center_x,center_y和center_z的单位可以是毫米,也可以是2-32
在实施例9中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox;
(3)如果视频数据轨迹流中存在类型为‘vipo’的TrackGroupTypeBox,则客户端检测视频数据轨迹流的字段static_position_flag。如果该字段的值为1,则客户端按照实施例4中的流程获取机位的绝对位置信息。
(4)如果字段static_position_flag不为1,则客户端获取有时间属性的元数据轨迹。
(5)在有时间属性的元数据轨迹中,客户端寻找并解析样本入口类型为‘vpps’且通过关联类型‘cdsc’与track_group_id关联的有时间属性的元数据轨迹,并获取有时间属性的元数据轨迹的样本数据中的机位位置信息。
(6)客户端获取类型为“vpps”的有时间属性的元数据轨迹,在多个媒体数据轨迹中寻找与该有时间属性的元数据轨迹关联的媒体数据,确定媒体数据的机位标识符,然后确定该机位在有时间属性的元数据轨迹中对应的机位位置。
(7)当用户选择某个机位进行观看时,客户端显示属于该机位的码流。
在本过程中,用户可以从计算出的多个机位的位置信息中获取机位之间的相对位置信息,以便随时切换到不同的机位进行观看。
在实施例9中,对于每个机位的媒体流,可以通过与该媒体流关联的有时间属性的元数据轨迹来描述该媒体流的动态位置信息。当存在N(N大于等于1)个机位时,需要N个有时间属性的元数据轨迹来描述N个机位的位置信息。
可选地,还可以通过一个有时间属性的元数据轨迹来描述所有机位的位置信息。有时间属性的元数据轨迹对应的样本入口定义如下:
Figure BDA0002713394280000251
对应的样本格式定义如下:
Figure BDA0002713394280000252
各个字段的语义如下:
num_viewpoints:表示机位个数;
track_group_id:表示机位的ID;
center_x,center_y和center_z:表示机位中心点在三维坐标系中的绝对位置,单位可以是毫米,也可以是2-32
在实施例9中,通过与媒体轨迹关联的有时间属性的元数据轨迹来描述机位的空间位置,使得用户在观看某个机位的视频时,可以通过点击或类似的方法切换到其它机位进行观看。
实施例10:
机位位置信息携带在媒体数据轨迹中的样本组合盒子中(机位位置是动态位置)
在多机位360度全景视频的应用场景中,机位的位置可能会发生改变。在机位位置发生改变的情况下,可以采用实施例10中的方式携带机位位置信息。
在实施例10中,可以采用样本组合机制来指示样本所属的不同机位的位置。
一个视频流(或视频轨迹)可以携带0个或1个组合类(grouping_type)为‘vppo’的SampleToGroupBox。SampleToGroupBox表示视频流中多个样本的机位位置信息,该机位位置信息可以是该机位在三维坐标系中的位置。
也就是说,在实施例10中,可以将属于同一机位的多个样本添加到一个样本组合中,然后通过一个机位位置信息指示该样本组合所属的机位。
当存在一个分组类型为‘vppo’的SampleToGroupBox时,同一分组类型的SampleGroupDescriptionBox也为一个,SampleGroupDescriptionBox携带该组样本所属的机位的位置值。
新的样本组合类型可以定义为‘vppo’,该样本组合类型命名为ViewPointPositionEntry。ViewPointPositionEntry的详细语法定义如下:
Figure BDA0002713394280000261
center_x,center_y和center_z:表示机位中心点在三维坐标系中的绝对位置,单位可以是毫米,也可以是2-32
在实施例10中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox;
(3)如果视频数据轨迹流中存在类型为‘vipo’的TrackGroupTypeBox,则查看视频数据轨迹流的字段static_position_flag。如果该字段的值为1,则按照实施例4的流程获取机位的绝对位置信息。
(4)如果字段static_position_flag的值不为1,则客户端寻找类型为‘vppo’的SampleToGroupBox和类型为‘vppo’的SampleGroupDescriptionBox,以获取不同样本所属的机位的位置信息。
(5)当用户选择某个机位进行观看时,客户端显示属于该机位的码流。
在本过程中,用户可以从计算出的多个机位的位置信息中获取机位之间的相对位置信息,以便随时切换到不同的机位进行观看。
在实施例10中,通过样本组合入口描述样本所在轨迹的机位的空间位置,使得用户在观看某个机位的视频时,可以通过点击或类似的方法切换到其它机位进行观看。
除了机位标识信息外,元数据信息还可以包括推荐视角信息。下面结合实施例11至实施例14,对包括推荐视角进行详细说明。
实施例11:
有时间属性的元数据轨迹携带推荐视角信息和机位标识信息。
实施例11描述存在推荐视角流的应用场景。在这种场景下,用户并不是通过自身选择的视角和机位来观看视频,而是根据导演或视频制作者事先设计或推荐的视角和机位来观看视频。
现有的OMAF标准中定义了推荐视角流的语法格式。当通过有时间属性的元数据轨迹描述导演推荐用户观看的视角(即球面区域,还称为视觉角度)时,样本入口的语法格式定义如下:
Figure BDA0002713394280000271
SphereRegionSampleEntry表示球面区域视角的类型。viewport_type表示推荐视角的类型。
对应的样本格式如下:
Figure BDA0002713394280000272
在实施例11中,在有时间属性的元数据轨迹中定义了一个新的样本组合,用于指示推荐视角的有时间属性的元数据轨迹中的样本组合所属的机位。
样本入口类型为‘rcvp’的有时间属性的元数据轨迹可以携带0个或1个组合类型(grouping_type)为‘vwpt’的SampleToGroupBox。SampleToGroupBox指示有时间属性的元数据轨迹中的样本所属的机位的ID(也表示视频轨迹中的样本对应的机位)。
当存在一个组合类型为‘vwpt’的SampleToGroupBox时,同一组合类型的SampleGroupDescriptionBox也为一个,SampleGroupDescriptionBox携带该组样本所属的机位的ID值。
样本组合类型定义如下:
Figure BDA0002713394280000281
上述track_group_id表示机位的ID。
在实施例11中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox;如果TrackGroupTypeBox存在,则客户端获取该TrackGroupTypeBox的track_group_id;
(3)客户端获取类型为‘rcvp’的有时间属性的元数据轨迹,解析该有时间属性的元数据轨迹的样本组合中的信息,确定每个样本的机位。
(4)客户端根据有时间属性的元数据轨迹中的信息,将不同机位的推荐视角呈现给用户。
在实施例11中,可以通过推荐视角流的有时间属性的元数据轨迹中的样本组合信息来区分属于不同机位的样本。
实施例12:
在有时间属性的元数据轨迹中定义了一个新的类型来携带机位标识信息:
实施例12还描述了存在推荐视角流的应用场景。现有的OMAF标准中定义了推荐视角流的语法格式。当通过有时间属性的元数据轨迹来描述导演推荐给用户观看的视角时,样本入口的语法格式定义如下:
Figure BDA0002713394280000282
上述viewport_type为推荐视角的类型。
对应的样本格式如下:
Figure BDA0002713394280000283
Figure BDA0002713394280000291
在实施例12中,在有时间属性的元数据轨迹中定义了一种新的类型,用于指示推荐视角流的有时间属性的元数据轨迹中的多个样本属于多个机位,将样本所属的机位的ID添加到样本格式中。
新定义的样本入口类型可以如下:
class RcvpSampleWithVPSEntry()extends RcvpSampleEntry(′rcvs′){}
新的样本语法如下:
Figure BDA0002713394280000292
上述track_group_id表示机位的ID。
在实施例12中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox,如果TrackGroupTypeBox存在,则客户端获取该TrackGroupTypeBox的track_group_id。
(3)客户端获取类型为‘rcvs’的有时间属性的元数据轨迹,解析该有时间属性的元数据轨迹的样本中的信息,确定每个样本的机位。
(4)客户端根据有时间属性的元数据轨迹中的信息,将不同机位的推荐视角呈现给用户。
在实施例12中,在有时间属性的元数据轨迹中定义该新类型。该类型继承自存在推荐视角流的有时间属性的元数据轨迹的类型‘rcvp’,并且将机位信息添加到样本中。
实施例13:
定义了一个新的有时间属性的元数据轨迹来携带机位标识信息。
实施例13同样适用于存在推荐视角的场景。在实施例13中,通过有时间属性的元数据轨迹描述导演推荐用户观看的视角(即球面区域),样本入口的语法格式定义如下:
Class RcvpSampleEntry()extends SphereRegionSampleEntry(′rcvp′)
{
RcvpInfoBox();
}
Class RcvpInfoBox extends FullBox(′rvif′,version=0,flags){
Unsigned int(8)viewport_type;
String viewport_description;
}
上述SphereRegionSampleEntry表示球面区域视角类型,viewport_type表示推荐视角类型为推荐视角。
样本格式定义如下:
Figure BDA0002713394280000301
在实施例13中,通过一个有时间属性的元数据轨迹来指示推荐视角信息,然后定义一个关联的有时间属性的元数据轨迹来指示机位的ID信息。
通过类型‘cdsc′,可以将推荐视角流的有时间属性的元数据轨迹与表示机位的ID信息的有时间属性的元数据轨迹相关联,以描述推荐视角流中每个样本所属的机位的信息。
样本入口类型如下:
class ViewPointSampleEntry()extends MetaDataSampleEntry(′vpos′){
}
样本语法如下:
Figure BDA0002713394280000302
在实施例13中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox;如果TrackGroupTypeBox存在,则客户端获取该TrackGroupTypeBox的track_group_id;
(3)客户端获取类型为‘rcvp’的有时间属性的元数据轨迹,并获取有时间属性的元数据轨迹的track_id和样本中的推荐视角信息。
(4)客户端获取与track_id关联的类型为‘vpos’的有时间属性的元数据轨迹,并获取有时间属性的元数据轨迹的样本中的机位信息。
(5)客户端根据有时间属性的元数据轨迹中的信息,将不同机位的推荐视角呈现给用户。
在实施例13中,定义了新的有时间属性的元数据轨迹,将类型的有时间属性的元数据轨迹与推荐视角流的有时间属性的元数据轨迹相关联,共同指示推荐视角所属的机位的信息。
实施例14:
重新定义有时间属性的元数据轨迹以携带机位标识信息
在实施例14中,通过有时间属性的元数据轨迹描述导演推荐给用户观看的视角,样本入口的语法格式定义如下:
Class RcvpSampleEntry()extends SphereRegionSampleEntry(′rcvp′)
{
RcvpInfoBox();
}
Class RcvpInfoBox extends FullBox(′rvif′,version=0,flags){
Unsigned int(8)viewport_type;
String viewport_description;
}
viewport_type为推荐视角的类型。
样本格式定义如下:
Figure BDA0002713394280000311
在实施例14中,可以重新定义有时间属性的元数据轨迹的语义,以描述导演推荐给用户观看的机位和视角。仍然使用存在导演推荐的视角的OMAF流的原始类型‘rcvp’来定义样本入口,样本格式定义为:
Figure BDA0002713394280000312
上述multiple_viewpoint_presence_flag表示导演推荐视角流中是否具有多个机位;track_group_id:如果导演推荐视角流中存在多个机位,表示机位的ID。
在实施例14中,在客户端获取视频码流之后,具体的处理流程如下:
(1)客户端获取视频数据轨迹流;
(2)客户端在视频数据轨迹流中寻找并解析类型为‘vipo’的TrackGroupTypeBox,如果TrackGroupTypeBox存在,则客户端获取该TrackGroupTypeBox的track_group_id。
(3)客户端获取类型为‘rcvp’的有时间属性的元数据轨迹,分析有时间属性的元数据轨迹的样本数据。如果multiple_position_presence_flag为1,则客户端获取其它机位的track_group_id及其推荐观看的视角。
(4)客户端根据有时间属性的元数据轨迹中的信息,将不同机位的推荐视角呈现给用户。
上文结合图1至图6对本申请实施例的媒体数据处理方法进行了详细的描述。下面对本申请实施例的媒体数据处理装置进行描述。应理解,图7和图8所描述的媒体数据处理装置能够执行图1至图6中的媒体数据处理方法的各个步骤。图1至图6中对各个步骤的限定同样适用于图7和图8所示的装置。因此,下面在描述图7和图8所示的装置时,为了简洁,适当省略重复的描述。
图7是本申请实施例的一种媒体数据处理装置的示意性框图。
图7所示的装置600包括获取模块601和处理模块602。获取模块601用于获取元数据信息。该元数据信息为描述媒体数据的属性信息,该元数据信息包括机位标识信息。处理模块602用于根据机位标识信息对媒体数据进行处理。
在本申请中,由于机位标识信息承载在元数据信息中,因此,通过元数据信息中的机位标识信息能够自由对不同机位对应的媒体数据进行处理。
图8是本申请实施例的一种媒体数据处理装置的硬件结构示意图。图8所示的装置700可以看成是一种计算机设备。装置700可以作为本申请实施例的媒体数据处理装置的一种实现方式,也可以作为本申请实施例的媒体数据处理方法的一种实现方式。装置700包括处理器701、存储器702、输入/输出接口703和总线705,还可以包括通信接口704。处理器701、存储器702、输入/输出接口703和通信接口704通过总线705实现彼此之间的通信连接。
处理器701可以是通用中央处理器(central processing unit,CPU),微处理器,专用集成电路(application-specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的媒体数据处理装置中的模块所需执行的功能,或者执行本申请实施例的媒体数据处理方法。处理器701可能是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法的各个步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。处理器701可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application-specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)、其它可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件。处理器701可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑方框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例所公开的各方法的步骤可以由硬件解码处理器直接执行完成,或者通过解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702。处理器701读取存储器702中的信息,结合处理器701中的硬件完成本申请实施例的媒体数据处理装置中包含的模块所需执行的功能,或者执行本申请方法实施例的媒体数据处理方法。
存储器702可以是只读存储器(read only memory,ROM)、静态存储设备、动态存储设备或随机存取存储器(random access memory,RAM)。存储器702可以存储操作***以及其它应用程序。在通过软件或者固件来实现本申请实施例的媒体数据处理装置中包含的模块所需执行的功能,或者执行本申请方法实施例的媒体数据处理方法时,用于实现本申请实施例的技术方案的程序代码保存在存储器702中,并由处理器701来执行媒体数据处理装置中包含的模块所需执行的操作,或者执行本申请方法实施例的媒体数据处理方法。
输入/输出接口703用于接收输入的数据和信息,输出操作结果等数据。
通信接口704使用例如但不限于收发器的收发装置,来实现装置700与其它设备或通信网络之间的通信。通信接口704可以作为处理装置中的获取模块或者发送模块。
总线705可以包括在装置700的各个组件(例如,处理器701、存储器702、输入/输出接口703和通信接口704)之间传输信息的通路。
需要说明的是,尽管图8所示的装置700仅仅示出了处理器701、存储器702、输入/输出接口703、通信接口704以及总线705,但是在具体实现过程中,装置700还可以包括实现正常运行所必须的其它组件。例如,装置700还可以包括显示器,用于显示视频数据。另外,根据具体需要,装置700还可以包括实现其它附加功能的硬件设备。此外,装置700也可以仅仅包括实现本申请实施例所必须的设备,而不必包括图8所示的全部设备。
结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备)执行本申请各个实施例所述方法的全部或部分步骤。而上述存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换都应涵盖在本申请的保护范围之内。

Claims (40)

1.一种呈现媒体数据的方法,其特征在于,包括:
媒体处理设备接收媒体流,其中,所述媒体流包括多个机位记录的媒体数据;
所述媒体处理设备获取所述媒体流的元数据信息,其中,所述元数据信息包括所述机位的机位标识信息;
所述媒体处理设备根据所述机位标识信息显示第一机位的媒体数据;
所述媒体处理设备在显示所述第一机位的媒体数据时,显示其它机位的指示。
2.根据权利要求1所述的方法,其特征在于,在显示所述第一机位的媒体数据之前,所述方法还包括:
获取机位选择信息;
根据所述机位选择信息和所述机位标识信息确定所述第一机位,
其中,所述机位选择信息包括:
默认机位,或者
所述终端设备的用户选择的机位。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述媒体处理设备接收所述终端设备的用户对第二机位的选择;
所述媒体处理设备为了响应所述用户对所述第二机位的选择,显示所述第二机位的媒体数据。
4.根据权利要求3所述的方法,其特征在于,所述其它机位的指示以图标形式显示,接收对所述第二机位的选择包括:
当所述用户选择所述第二机位对应的图标时,接收对所述第二机位的选择。
5.根据权利要求1所述的方法,其特征在于,所述机位标识信息携带在以下信息中的任一项中:
媒体数据轨迹,
辅助增强信息(supplementary enhancement information,SEI),
媒体呈现描述(media presentation description,MPD),
有时间属性的元数据轨迹。
6.根据权利要求1所述的方法,其特征在于,所述元数据信息还包括机位位置信息,机位的机位位置信息指示所述机位在球面坐标系或三维空间坐标系中的位置。
7.根据权利要求6所述的方法,其特征在于,所述机位的机位位置信息还指示所述机位是静态的还是动态的,当所述机位是静态的,所述机位的位置携带在以下信息中的任一项中:
盒子信息,
媒体呈现描述(media presentation description,MPD),
辅助增强信息(supplementary enhancement information,SEI)。
8.根据权利要求6所述的方法,其特征在于,所述机位的机位位置信息还指示所述机位是静态的还是动态的,当所述机位是动态的,所述机位的位置携带在媒体呈现描述(mediapresentation description,MPD)或有时间属性的元数据轨迹中。
9.根据权利要求1所述的方法,其特征在于,所述元数据信息还包括推荐视角的信息,根据所述机位标识信息显示第一机位的媒体数据包括:
根据所述机位标识信息显示所述推荐视角的媒体数据。
10.根据权利要求9所述的方法,其特征在于,所述推荐视角的信息携带在有时间属性的元数据轨迹中。
11.一种媒体处理设备,其特征在于,所述媒体处理设备包括通信接口、处理器和显示单元,其中
所述通信接口用于接收媒体流,所述媒体流包括多个机位记录的媒体数据;
所述处理器用于获取所述媒体流的元数据信息,所述元数据信息包括所述机位的机位标识信息;
所述显示单元用于:
根据所述机位标识信息显示第一机位的媒体数据;
当显示所述第一机位的媒体数据时,显示其它机位的指示。
12.根据权利要求11所述的媒体处理设备,其特征在于,在显示所述第一机位的媒体数据之前,所述处理器还用于:
获取机位选择信息;
根据所述机位选择信息和所述机位标识信息确定所述第一机位,
其中,所述机位选择信息包括:
默认机位,或者
所述终端设备的用户选择的机位。
13.根据权利要求11所述的媒体处理设备,其特征在于,所述媒体处理设备还包括输入/输出接口,所述输入/输出接口用于:
接收所述终端设备的用户对第二机位的选择;
所述显示单元还用于:
为了响应所述用户对所述第二机位的选择,显示所述第二机位的媒体数据。
14.根据权利要求13所述的媒体处理设备,其特征在于,所述其它机位的指示以图标形式显示,在接收对所述第二机位的选择时,所述输入/输出接口用于:
当所述用户选择所述第二机位对应的图标时,接收对所述第二机位的选择。
15.根据权利要求1所述的媒体处理设备,其特征在于,所述机位标识信息携带在以下信息中的任一项中:
媒体数据轨迹,
辅助增强信息(supplementary enhancement information,SEI),
媒体呈现描述(media presentation description,MPD),
有时间属性的元数据轨迹。
16.根据权利要求11所述的媒体处理设备,其特征在于,所述元数据信息还包括机位位置信息,机位的机位位置信息指示所述机位在球面坐标系或三维空间坐标系中的位置。
17.根据权利要求16所述的媒体处理设备,其特征在于,所述机位的机位位置信息还指示所述机位是静态的还是动态的,当所述机位是静态的,所述机位的位置携带在以下信息中的任一项中:
盒子信息,
媒体呈现描述(media presentation description,MPD),
辅助增强信息(supplementary enhancement information,SEI)。
18.根据权利要求16所述的媒体处理设备,其特征在于,所述机位的机位位置信息还指示所述机位是静态的还是动态的,当所述机位是动态的,所述机位的位置携带在媒体呈现描述(media presentation description,MPD)或有时间属性的元数据轨迹中。
19.根据权利要求11所述的媒体处理设备,其特征在于,所述元数据信息还包括推荐视角的信息,当根据所述机位标识信息显示第一机位的媒体数据时,所述显示单元用于:
根据所述机位标识信息显示所述推荐视角的媒体数据。
20.根据权利要求19所述的媒体处理设备,其特征在于,所述推荐视角的信息携带在有时间属性的元数据轨迹中。
21.一种媒体数据处理方法,其特征在于,所述方法包括:
获取元数据信息,其中,所述元数据信息为用于描述媒体数据的属性信息,所述元数据信息包括机位标识信息;
根据所述机位标识信息对所述媒体数据进行处理。
22.根据权利要求21所述的方法,其特征在于,所述方法还包括:
获取机位选择信息;
所述根据所述机位标识信息对所述媒体数据进行处理包括:
根据所述机位选择信息和所述机位标识信息确定第一机位;
对所述第一机位对应的媒体数据进行处理。
23.根据权利要求22所述的方法,其特征在于,所述对所述第一机位对应的媒体数据进行处理包括:
呈现所述第一机位对应的媒体数据。
24.根据权利要求22所述的方法,其特征在于,在对所述第一机位对应的媒体数据进行处理之前,所述方法还包括:
根据所述机位标识信息和所述元数据信息获取所述第一机位对应的媒体数据。
25.根据权利要求21至24中任一项所述的方法,其特征在于,所述机位标识信息携带在以下信息中的任一项中:媒体数据轨迹、辅助增强信息(supplementary enhancementinformation,SEI)、媒体呈现描述(media presentation description,MPD)和有时间属性的元数据轨迹。
26.根据权利要求21至25中任一项所述的方法,其特征在于,所述元数据信息还包括机位位置信息,所述机位位置信息用于指示机位在球面坐标系或三维空间坐标系中的位置。
27.根据权利要求26所述的方法,其特征在于,当所述机位位置为静态位置时,所述机位位置信息携带在以下信息中的任一项中:盒子信息、所述MPD和所述SEI。
28.根据权利要求26所述的方法,其特征在于,当所述机位位置为动态位置时,所述机位位置信息携带在所述MPD或所述有时间属性的元数据轨迹中。
29.根据权利要求21至28任一项所述的方法,其特征在于,所述元数据信息还包括推荐视角信息,所述根据所述机位标识信息对所述媒体数据进行处理包括:
根据所述机位标识信息和所述推荐视角信息对所述媒体数据进行处理。
30.根据权利要求29所述的方法,其特征在于,所述推荐视角信息携带在所述有时间属性的元数据轨迹中。
31.一种媒体数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取元数据信息,其中,所述元数据信息为用于描述媒体数据的属性信息,所述元数据信息包括机位标识信息;
处理模块,用于根据所述机位标识信息对所述媒体数据进行处理。
32.根据权利要求31所述的装置,其特征在于,所述获取模块还用于获取机位选择信息;
所述处理模块具体用于:
根据所述机位选择信息和所述机位标识信息确定第一机位;
对所述第一机位对应的媒体数据进行处理。
33.根据权利要求32所述的装置,其特征在于,所述获取模块具体用于:
呈现所述第一机位对应的媒体数据。
34.根据权利要求32所述的装置,其特征在于,在所述处理模块对所述第一机位对应的媒体数据进行处理之前,所述处理模块还用于:
根据所述机位标识信息和所述元数据信息获取所述第一机位对应的媒体数据。
35.根据权利要求31至34中任一项所述的装置,其特征在于,所述机位标识信息携带在以下信息中的任一项中:媒体数据轨迹、SEI、MPD和有时间属性的元数据轨迹。
36.根据权利要求31至35中任一项所述的装置,其特征在于,所述元数据信息还包括机位位置信息,所述机位位置信息用于指示机位在球面坐标系或三维空间坐标系中的位置。
37.根据权利要求36所述的装置,其特征在于,当所述机位位置为静态位置时,所述机位位置信息携带在以下信息中的任一项中:盒子信息、所述MPD和所述SEI。
38.根据权利要求36所述的装置,其特征在于,当所述机位位置为动态位置时,所述机位位置信息携带在所述MPD或所述有时间属性的元数据轨迹中。
39.根据权利要求38所述的装置,其特征在于,所述元数据信息还包括推荐视角信息,所述处理模块具体用于根据所述机位标识信息和所述推荐视角信息,对所述媒体数据进行处理。
40.根据权利要求39所述的装置,其特征在于,所述推荐视角信息携带在所述有时间属性的元数据轨迹中。
CN201980024407.9A 2018-04-03 2019-04-03 媒体数据处理方法及装置 Active CN111937397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410427057.3A CN118283277A (zh) 2018-04-03 2019-04-03 媒体数据处理方法及装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862652305P 2018-04-03 2018-04-03
US62/652,305 2018-04-03
US201862652330P 2018-04-04 2018-04-04
US62/652,330 2018-04-04
PCT/CN2019/081219 WO2019192509A1 (en) 2018-04-03 2019-04-03 Media data processing method and apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410427057.3A Division CN118283277A (zh) 2018-04-03 2019-04-03 媒体数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN111937397A true CN111937397A (zh) 2020-11-13
CN111937397B CN111937397B (zh) 2024-05-10

Family

ID=68054108

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980024407.9A Active CN111937397B (zh) 2018-04-03 2019-04-03 媒体数据处理方法及装置
CN202410427057.3A Pending CN118283277A (zh) 2018-04-03 2019-04-03 媒体数据处理方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410427057.3A Pending CN118283277A (zh) 2018-04-03 2019-04-03 媒体数据处理方法及装置

Country Status (4)

Country Link
US (2) US11032570B2 (zh)
EP (1) EP3777136A4 (zh)
CN (2) CN111937397B (zh)
WO (1) WO2019192509A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112237005B (zh) * 2018-04-05 2023-11-07 Vid拓展公司 用于全向视频的视点元数据
US11516454B2 (en) * 2018-04-05 2022-11-29 Samsung Electronics Co., Ltd. Method and device for transmitting information on three-dimensional content including multiple view points
WO2020009341A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
KR102278848B1 (ko) * 2018-07-31 2021-07-19 엘지전자 주식회사 다중 뷰포인트 기반 360 비디오 처리 방법 및 그 장치
WO2020186478A1 (en) * 2019-03-20 2020-09-24 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for transmitting viewpoint switching capabilities in a vr360 application
JPWO2021002338A1 (zh) * 2019-07-03 2021-01-07
CN112511866B (zh) * 2019-12-03 2024-02-23 中兴通讯股份有限公司 媒体资源播放方法、装置、设备和存储介质
US11527043B2 (en) * 2020-02-10 2022-12-13 Charter Communications Operating, Llc Providing selectable virtual reality (VR) viewpoints within a VR experience
US11533351B2 (en) * 2020-09-24 2022-12-20 Apple Inc. Efficient delivery of multi-camera interactive content
US11722540B2 (en) 2020-09-24 2023-08-08 Apple Inc. Distributed encoding
CN113949829B (zh) * 2021-10-15 2022-09-20 腾讯科技(深圳)有限公司 媒体文件封装及解封装方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368495A1 (en) * 2013-06-18 2014-12-18 Institute For Information Industry Method and system for displaying multi-viewpoint images and non-transitory computer readable storage medium thereof
US20150110467A1 (en) * 2013-07-10 2015-04-23 Htc Corporation Method and electronic device for generating multiple point of view video
CN106921864A (zh) * 2015-12-25 2017-07-04 北京奇虎科技有限公司 视频播放方法和装置
US20170347026A1 (en) * 2016-05-24 2017-11-30 Nokia Technologies Oy Method and an apparatus and a computer program for encoding media content
US20180063505A1 (en) * 2016-08-25 2018-03-01 Lg Electronics Inc. Method of transmitting omnidirectional video, method of receiving omnidirectional video, device for transmitting omnidirectional video, and device for receiving omnidirectional video

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053271A1 (en) * 2004-11-12 2006-05-18 Mok3, Inc. Method for inter-scene transitions
JP4662071B2 (ja) * 2006-12-27 2011-03-30 富士フイルム株式会社 画像再生方法
CN100588250C (zh) * 2007-02-05 2010-02-03 北京大学 一种多视点视频流的自由视点视频重建方法及***
WO2009084213A1 (ja) * 2007-12-28 2009-07-09 Capcom Co., Ltd. コンピュータ、プログラムおよび記憶媒体
US8719309B2 (en) * 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission
CN102056015B (zh) * 2009-11-04 2012-12-05 沈阳迅景科技有限公司 一种全景虚拟现实漫游中的流媒体应用方法
WO2011144117A2 (zh) 2011-05-27 2011-11-24 华为技术有限公司 媒体发送方法、媒体接收方法和客户端及***
US10834153B2 (en) * 2016-08-24 2020-11-10 Qualcomm Incorporated System level signaling of SEI tracks for media data streaming
KR102545195B1 (ko) * 2016-09-12 2023-06-19 삼성전자주식회사 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치
KR102157659B1 (ko) * 2017-01-10 2020-09-18 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US10911694B2 (en) * 2017-03-15 2021-02-02 Gvbb Holdings S.A.R.L. System and method for creating metadata model to improve multi-camera production
US10375375B2 (en) * 2017-05-15 2019-08-06 Lg Electronics Inc. Method of providing fixed region information or offset region information for subtitle in virtual reality system and device for controlling the same
US11275787B2 (en) * 2017-08-31 2022-03-15 Micro Focus Llc Entity viewpoint determinations
JP7085816B2 (ja) * 2017-09-26 2022-06-17 キヤノン株式会社 情報処理装置、情報提供装置、制御方法、及びプログラム
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368495A1 (en) * 2013-06-18 2014-12-18 Institute For Information Industry Method and system for displaying multi-viewpoint images and non-transitory computer readable storage medium thereof
US20150110467A1 (en) * 2013-07-10 2015-04-23 Htc Corporation Method and electronic device for generating multiple point of view video
CN106921864A (zh) * 2015-12-25 2017-07-04 北京奇虎科技有限公司 视频播放方法和装置
US20170347026A1 (en) * 2016-05-24 2017-11-30 Nokia Technologies Oy Method and an apparatus and a computer program for encoding media content
US20180063505A1 (en) * 2016-08-25 2018-03-01 Lg Electronics Inc. Method of transmitting omnidirectional video, method of receiving omnidirectional video, device for transmitting omnidirectional video, and device for receiving omnidirectional video

Also Published As

Publication number Publication date
WO2019192509A1 (en) 2019-10-10
EP3777136A1 (en) 2021-02-17
US20190306530A1 (en) 2019-10-03
CN111937397B (zh) 2024-05-10
CN118283277A (zh) 2024-07-02
US20210243473A1 (en) 2021-08-05
US11632571B2 (en) 2023-04-18
EP3777136A4 (en) 2021-05-19
US11032570B2 (en) 2021-06-08

Similar Documents

Publication Publication Date Title
CN111937397B (zh) 媒体数据处理方法及装置
US11653065B2 (en) Content based stream splitting of video data
CN109155873B (zh) 改进虚拟现实媒体内容的流传输的方法、装置和计算机程序
CN110035316B (zh) 处理媒体数据的方法和装置
RU2711591C1 (ru) Способ, устройство и компьютерная программа для адаптивной потоковой передачи мультимедийного контента виртуальной реальности
CN108271044B (zh) 一种信息的处理方法及装置
US20200145736A1 (en) Media data processing method and apparatus
CN110876051B (zh) 视频数据的处理,传输方法及装置,视频数据的处理***
US10511767B2 (en) Information processing device, information processing method, and program
EP3741130B1 (en) Efficient association between dash objects
CN110913278B (zh) 视频播放方法、显示终端及存储介质
US20210218908A1 (en) Method for Processing Media Data, Client, and Server
CN110351492B (zh) 一种视频数据处理方法、装置及介质
CN111937043B (zh) 将文件格式对象和基于超文本传输协议的动态自适应流媒体(dash)对象进行关联
KR102233667B1 (ko) 네트워크 시스템에서 데이터를 전송하는 방법 및 장치
CN117255233A (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