CN105191303B - 处理视频的方法、终端和服务器 - Google Patents

处理视频的方法、终端和服务器 Download PDF

Info

Publication number
CN105191303B
CN105191303B CN201480000116.3A CN201480000116A CN105191303B CN 105191303 B CN105191303 B CN 105191303B CN 201480000116 A CN201480000116 A CN 201480000116A CN 105191303 B CN105191303 B CN 105191303B
Authority
CN
China
Prior art keywords
index
fragment
media slicing
region
terminal
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
CN201480000116.3A
Other languages
English (en)
Other versions
CN105191303A (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
Publication of CN105191303A publication Critical patent/CN105191303A/zh
Application granted granted Critical
Publication of CN105191303B publication Critical patent/CN105191303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in 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/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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/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

Landscapes

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

Abstract

本发明提供一种处理视频的方法、终端和服务器。该方法包括:接收该服务器发送的MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息;根据该区域信息,从该可独立解码区域中确定用于该终端播放的区域;根据该MPD文件确定要获取的媒体分片;获取该数据内容在该媒体分片中的存储位置;根据该数据内容在该媒体分片中的存储位置,从该服务器存储的该媒体分片中获取与该数据内容;根据该数据内容播放该终端播放的区域的画面。本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片中获取该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。

Description

处理视频的方法、终端和服务器
技术领域
本发明实施例涉及无线通信领域,并且更具体地,涉及一种处理视频的方法、终端和服务器。
背景技术
对于采用高效视频编码(High Efficiency Video coding,HEVC)标准的视频,在视频播放的过程中存在获取视频中区域画面的需求。比如,图1是需要获取视频中区域画面的一个场景的示意图。一场欧洲杯球赛使用了全景拍摄技术进行拍摄,拍摄到的全景视频的分辨率为6Kx2K。该分辨率的视频适合在超高分辨率的全景显示屏上播放。如果用户想在普通屏幕上观看该全景视频,因为普通屏幕的分辨率较小,就需要获取全景视频中的区域画面之后,才能在普通屏幕上播放该区域画面。如图1所示,上方为一个全景屏幕,下方为手机屏幕和电脑屏幕。全景屏幕能够显示完整的视频画面,而在手机屏幕和电脑屏幕无法显示完整的全景视频画面。因此,在手机屏幕或电脑屏幕上播放时,首先需要获取类似图1中虚线方框区域所示的区域画面,然后在手机屏幕和电脑屏幕上播放该区域画面。
再如,图2是需要获取视频中区域画面的另一场景的示意图。视频监控中,可以将多个摄像头拍摄的画面拼起来,形成一个监控视频。当回放该监控视频时,如果用户需要指定其中某一个摄像头拍摄的画面进行回放,就需要获取该监控视频的区域画面进行播放。如图2所示,左侧为一个监控视频,该视频中的每一个图像都包括多个摄像头拍摄的画面。假设虚线方框所标识的区域为用户指定的区域画面,那么就需要将该区域画面获取出来单独播放。
HEVC中引入了可独立解码区域的概念。可独立解码区域可以是视频画面的一块矩形区域。由于该区域内的视频内容可独立解码,因此用户可以单独请求该区域内的视频内容。具体地,如图3所示,虚线方框中的区域为可独立解码区域。用户可以请求播放终端屏幕中的整个视频内容,也可以请求只播放虚线方框中的视频内容。
基于超文本传输协议的动态自适应流(Dynamic Adaptive Streaming over HTTP(HyperText Transfer Protocol,HTTP),DASH)技术结合了传统的流媒体技术和HTTP的渐近式下载播放的特点。
DASH***可包括DASH服务器和DASH终端。DASH服务器中主要存储有两部分内容:媒体展示描述(Media Presentation Description,MPD)和媒体。MPD通过可扩展标记语言(eXtensible Markup Language,XML)记录媒体分片地址等媒体信息。该媒体可以是视频、音频等媒体内容。以视频为例,视频包括媒体分片segment。每个媒体分片对应一段视频内容。每个媒体分片还对应一个分片地址,该分片地址为HTTP网络地址,也称该媒体分片的获取地址。DASH终端可以通过解析MPD获取分片地址,并通过获取的分片地址从DASH服务器获取媒体分片对应的视频内容。
在现有技术中,要实现对视频画面中的区域进行播放,DASH服务器要事先单独存储需要区域播放的局部视频的内容,也就是说局部视频的内容和视频全景的内容都需要独立的存储在DASH服务器中。从而导致DASH服务器存储过多冗余信息,浪费DASH服务器的存储资源。
发明内容
本发明实施例提供一种处理视频的方法、终端和服务器,以避免DASH服务器的存储资源的浪费。
本发明实施例的第一方面提供了一种处理视频的方法,包括:向服务器发送视频的MPD文件获取请求;接收所述服务器发送的所述MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;根据所述区域信息,从所述可独立解码区域中确定用于所述终端播放的区域;根据所述MPD文件确定要获取的媒体分片;获取所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置;根据所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,从所述服务器存储的所述媒体分片中获取与所述终端播放的区域对应的所述数据内容;根据所述终端播放的区域对应的数据内容播放所述终端播放的区域的画面。
结合第一方面,在第一方面的一种实现方式中,所述媒体分片包含至少两个子分片;所述获取所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,包括:从所述服务器获取所述媒体分片的分片索引和子样本索引;其中,所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置;根据所述分片索引确定要获取的子分片;根据所述子分片在所述媒体分片中存储位置,以及所述可独立解码区域中所述终端播放的区域对应的子样本在所述子分片中的存储位置,确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置。
结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述分片索引和所述子样本索引均位于所述媒体分片的头部,且所述子样本索引紧邻所述分片索引;所述从所述服务器获取所述媒体分片的分片索引和子样本索引,包括:根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述分片索引和所述子样本索引。
结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述媒体分片包含至少两个区段,每一个区段包含至少一个子分片,所述分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;所述第一索引位于所述媒体分片的头部,用于指示所述媒体分片中的各个第二索引在所述媒体分片中的起始位置;所述第二索引用于指示所述第二索引所在区段中的子分片在所述媒体分片中的存储位置;所述从所述服务器获取所述媒体分片的分片索引和子样本索引,包括:根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述第一索引;根据所述第一索引指示的所述各个第二索引在所述媒体分片中的起始位置,获取所述各个第二索引和紧邻所述各个第二索引的子样本索引。
结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述MPD文件中包含所述媒体分片的获取地址与索引分片的获取地址的对应关系,其中,所述索引分片专门用于存储所述媒体分片的分片索引和子样本索引,且在所述索引分片中,所述子样本索引紧邻所述分片索引,所述从所述服务器获取所述媒体分片的分片索引和子样本索引,包括:根据所述媒体分片的获取地址与所述索引分片的获取地址的对应关系,从所述MPD文件中获取与所述媒体分片的获取地址对应的索引分片的获取地址;根据所述索引分片的获取地址,获取所述分片索引和所述子样本索引。
结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述MPD文件中包括所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,所述获取所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,包括:根据所述终端播放的区域以及所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,从所述MPD文件中获取所述数据内容在所述媒体分片中的存储位置。
结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述根据所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,从所述服务器存储的所述媒体分片中获取与所述终端播放的区域对应的所述数据内容,包括:根据从所述MPD文件中获取的所述媒体分片的获取地址,以及所述数据内容在所述媒体分片中的存储位置,确定所述数据内容的获取地址,所述数据内容的获取地址包含所述媒体分片的获取地址和所述数据内容在所述媒体分片中的存储位置;将所述数据内容的获取地址发送给所述服务器;接收所述服务器发送的与所述数据内容的获取地址对应的所述数据内容。
结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述根据所述区域信息,从所述可独立解码区域中确定用于所述终端播放的区域,包括:根据所述区域信息,向所述终端的用户呈现所述可独立解码区域;将所述用户从所述可独立解码区域中选择的区域确定为所述终端播放的区域;或者,根据所述区域信息,将所述可独立解码区域中与所述终端能力匹配的区域确定为所述终端播放的区域。
本发明实施例的第二方面提供了一种处理视频的方法,包括:根据终端发送的视频的MPD文件获取请求向所述终端发送所述视频的MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;接收所述终端发送的用于所述终端播放的区域对应的数据内容在所述视频的媒体分片中的存储位置,所述终端播放的区域由所述终端根据所述区域信息从所述可独立解码区域中确定;根据所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,将存储在所述媒体分片中的与所述数据内容在所述媒体分片中的存储位置对应的数据内容发送给所述终端;所述终端播放的区域对应的数据内容用于所述终端播放所述终端播放的区域的画面。
结合第二方面,在第二方面的一种实现方式中,所述媒体分片包含至少两个子分片,在所述接收所述终端发送的用于所述终端播放的区域对应的数据内容在所述视频的媒体分片中的存储位置之前,所述方法还包括:接收所述终端发送的获取信息,所述获取信息用于获取所述媒体分片的分片索引和子样本索引,其中所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置,所述可独立解码区域对应的各子样本在所述各子分片中的存储位置和所述各子分片在所述媒体分片中的存储位置用于确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置;根据所述获取信息向所述终端发送所述分片索引和所述子样本索引。
本发明实施例的第三方面提供了一种终端,包括:发送单元,用于向服务器发送视频的媒体展示描述MPD文件获取请求;接收单元,用于接收所述服务器发送的所述MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;第一确定单元,用于根据所述接收单元接收的所述MPD文件中包括的所述区域信息,从所述可独立解码区域中确定用于所述终端播放的区域;第二确定单元,用于根据所述接收单元接收的所述MPD文件确定要获取的媒体分片;第一获取单元,用于获取所述第一确定单元确定的所述终端播放的区域对应的数据内容在所述第二确定单元确定的所述媒体分片中的存储位置,所述数据内容用于所述终端播放所述终端播放的区域的画面;第二获取单元,用于根据所述第一获取单元获取的所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,从所述服务器存储的所述媒体分片中获取与所述终端播放的区域对应的所述数据内容;播放单元,用于根据所述第二获取单元获取的所述终端播放的区域对应的数据内容播放所述终端播放的区域的画面。
结合第三方面,在第三方面的一种实现方式中,所述媒体分片包含至少两个子分片;所述第一获取单元具体用于从所述服务器获取所述媒体分片的分片索引和子样本索引,其中,所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置;根据所述分片索引确定要获取的子分片;根据所述子分片在所述媒体分片中存储位置,以及所述可独立解码区域中所述终端播放的区域对应的子样本在所述子分片中的存储位置,确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述分片索引和所述子样本索引均位于所述媒体分片的头部,且所述子样本索引紧邻所述分片索引,所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述分片索引和所述子样本索引。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述媒体分片包含至少两个区段,每一个区段包含至少一个子分片,所述分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;所述第一索引位于所述媒体分片的头部,用于指示所述媒体分片中的各个第二索引在所述媒体分片中的起始位置;所述第二索引用于指示所述第二索引所在区段中的子分片在所述媒体分片中的存储位置;所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述第一索引;根据所述第一索引指示的所述各个第二索引在所述媒体分片中的起始位置,获取所述各个第二索引和紧邻所述各个第二索引的子样本索引。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述MPD文件中包含所述媒体分片的获取地址与索引分片的获取地址的对应关系,其中,所述索引分片专门用于存储所述媒体分片的分片索引和子样本索引,且在所述索引分片中,所述子样本索引紧邻所述分片索引,所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述媒体分片的获取地址与所述索引分片的获取地址的对应关系,从所述MPD文件中获取与所述媒体分片的获取地址对应的所述索引分片的获取地址;根据所述索引分片的获取地址,获取所述分片索引和所述子样本索引。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述MPD文件中包括所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述终端播放的区域以及所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,从所述MPD文件中获取所述数据内容在所述媒体分片中的存储位置。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述第二获取单元具体用于根据从所述MPD文件中获取的所述媒体分片的获取地址,以及所述数据内容在所述媒体分片中的存储位置,确定所述数据内容的获取地址,所述数据内容的获取地址包含所述媒体分片的获取地址和所述数据内容在所述媒体分片中的存储位置;将所述数据内容的获取地址发送给所述服务器;接收所述服务器发送的与所述数据内容的获取地址对应的所述数据内容。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述第一确定单元具体用于根据所述区域信息,向所述终端的用户呈现所述可独立解码区域;将所述用户从所述可独立解码区域中选择的区域确定为所述终端播放的区域;或者,根据所述区域信息,将所述可独立解码区域中与所述终端能力匹配的区域确定为所述终端播放的区域。
第四方面,提供一种服务器,包括:接收单元,用于接收终端发送的视频的媒体展示描述MPD文件获取请求;存储单元,用于存储该视频的MPD文件;发送单元,用于根据终端发送的视频的MPD文件请求向所述终端发送所述存储单元存储的所述视频的MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;所述接收单元,还用于接收所述终端发送的用于所述终端播放的区域对应的数据内容在所述视频的媒体分片中的存储位置,所述终端播放的区域由所述终端根据所述区域信息从所述可独立解码区域中确定;所述存储单元,还用于存储该视频的媒体分片;所述发送单元还用于根据所述接收单元接收的所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,将所述存储单元存储在所述媒体分片中的与所述数据内容在所述媒体分片中的存储位置对应的数据内容发送给所述终端;所述终端播放的区域对应的数据内容用于所述终端播放所述区域的画面。
结合第四方面,在第四方面的一种实现方式中,所述媒体分片包含至少两个子分片,接收单元还用于接收所述终端发送的获取信息,所述获取信息用于获取所述媒体分片的分片索引和子样本索引,其中所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置,所述可独立解码区域对应的各子样本在所述各子分片中的存储位置和所述各子分片在所述媒体分片中的存储位置用于确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置;
所述存储单元还用于存储所述分片索引和子样本索引;
所述发送单元还用于根据该获取信息向该终端发送该分片索引和该子样本索引。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片中获取该数据内容,无需在服务器单独存储局部视频的内容,从而节省了服务器的存储资源。附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1是需要获取视频中区域画面的一个场景的示意图。
图2是需要获取视频中区域画面的另一场景的示意图。
图3是可独立解码区域的一个示例图。
图4是本发明一个实施例的处理视频的方法的示意性流程图。
图5是本发明一个实施例的处理视频的方法的示意性流程图。
图6是分片索引和子分片索引的结构示意图。
图7是分片索引和子样本索引分布位置的示意图。
图8是分片索引和子样本索引分布位置的另一示意图。
图9是本发明一个实施例的处理视频的方法的示意性流程图。
图10是本发明一个实施例的处理视频的方法的示意性流程图。
图11是本发明一个实施例的终端的示意性框图。
图12是本发明一个实施例的服务器的示意性框图。
图13是本发明一个实施例的终端的示意性框图。
图14是本发明一个实施例的服务器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获取的所有其他实施例,都应属于本发明保护的范围。
应理解,在服务器(如DASH服务器)中,视频包括媒体分片。终端从服务器获取视频的过程,实际上是终端从服务器逐个获取媒体分片的过程。换句话说,终端想播放一段视频时,通过逐个获取该视频的媒体分片,从而实现视频的渐进式获取。
MPD文件中记录了媒体分片的获取地址。终端要获取视频的某个媒体分片时,可以从MPD文件中获取该媒体分片的获取地址;然后根据该媒体分片的获取地址从服务器获取该媒体分片。需要说明的是,本发明实施例中的媒体分片的获取地址可指终端可以获取媒体分片内容的地址。在MPD文件中,媒体分片的获取地址包括视频的基地址和媒体分片在视频中的存储地址。下面结合一个MPD文件(以下称MPD文件1)记录的一段信息举例说明如何获取媒体分片的获取地址。
MPD描述如下:
在MPD文件1中,视频的基地址(BaseURL)为:http://www.example.com/server/Segments。一个Representation代表一段视频。分片列表SegmentList表示该视频包括的各媒体分片在视频中的存储地址的列表。SegmentList中的<SegmentURL media表示媒体分片的存储地址。如上述程序中,‘seg-full-1.mp4’/>表示该视频的第1媒体分片的存储地址为seg-full-1.mp4;‘seg-full-2.mp4’/>表示该视频的第2媒体分片的存储地址为seg-full-2.mp4。
以终端要获取上述视频的第1媒体分片为例进行举例说明。终端需要从MPD文件1中获取该视频的基地址:http://www.example.com/server/Segments和第1媒体分片的存储地址:seg-full-1.mp4。然后,该终端根据该视频的基地址和第1媒体分片的存储地址获取第1媒体分片的获取地址为:http://www.example.com/server/Segments/seg-full-1.mp4。也就是说,第1媒体分片的获取地址包括第一媒体分片所属的视频的基地址以及第1媒体分片的存储地址。终端根据该第1媒体分片的获取地址可以从服务器下载该第1媒体分片。
一段视频可以包括一个可独立解码区域,也可以包括多个可独立解码区域。可独立解码区域的个数以及划分形式可以由该视频的提供者决定。
需要说明的是,可独立编码区域还可称为运动约束的分块集合(MotionConstrained Tile Sets,MCTS)。分块集合由至少一个分块(tile)组成。分块是编码层的概念,每个分块可对应于视频画面的一块区域。具体地,在编码层,编码后的视频由网络提取层(Network Abstraction Layer,NAL)包组成。一个分块可对应一个或多个NAL包。从编码层的角度,获取可独立解码区域的过程,可以是下载分块集合中各个分块对应的NAL包的过程。
在现有技术中,服务器不仅存储视频全景的内容,还额外存储局部视频的内容,从而导致服务器存储资源的浪费。本发明一个实施例提供了处理视频的方法,能够避免服务器存储资源的浪费,具体论述如下。
图4是本发明一个实施例的处理视频的方法的示意性流程图。该方法可以由播放视频的终端执行。该方法包括:
410、向服务器发送视频的MPD文件获取请求。
例如,该请求中可包含该MPD文件的标识。具体过程可以按照现有技术,此处不再赘述。
420、接收服务器发送的MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息。
为了让终端能够获取视频的可独立解码区域,可以在MPD文件中包括可独立解码区域的区域信息。该区域信息可包括可独立解码区域的区域索引号、可独立解码区域在整个视频画面中的位置参数、可独立解码区域播放时的帧速率和/或可独立解码区域的传输带宽等。
430、根据该区域信息,从该可独立解码区域中确定用于该终端播放的区域。
可选地,作为一个实施例,实施步骤420时,终端可根据该MPD文件中包括的可独立解码区域的区域信息,向该终端的用户呈现该可独立解码区域;将该用户从该可独立解码区域中选择的区域确定为终端播放的区域。应理解,可以在播放视频前向终端的用户呈现该可独立解码区域;也可以在视频播放的过程中,根据终端用户的请求向该用户呈现该可独立解码区域。
可选地,作为另一个实施例,实施步骤420时,终端可根据该MPD文件中包括的可独立解码区域的区域信息,将该可独立解码区域中与该终端能力匹配的区域确定为该终端播放的区域。例如,在区域信息中记录可独立解码区域中各个区域的分辨率;然后从各个区域的分辨率中选择与终端支持的分辨率最接近的区域作为该终端播放的区域。又如,在区域信息中记录播放可独立解码区域中各个区域所需的带宽;然后从各个区域所需的带宽中选择与终端当前带宽最接近的区域作为该终端播放的区域。
440、根据该MPD文件确定要获取的媒体分片。
例如,终端要顺序播放一段视频,可以从MPD文件记录的分片列表中按照媒体分片的先后顺序逐个获取媒体分片的获取地址。或者,当终端从某段视频的中间时刻开始播放时,可以根据MPD文件中记录的该视频中各媒体分片的时长计算出该中间时刻对应的媒体分片的获取地址。具体过程可以按照现有技术,此处不再赘述。
450、获取该终端播放的区域对应的数据内容在该媒体分片中的存储位置,该数据内容用于播放该区域的画面。
需要说明的是,终端播放的区域对应的数据内容具体可指:播放该区域的局部视频所需的数据内容。也就是说,该数据内容用于播放该区域的画面。换句话说,当终端从媒体分片中下载并播放该区域对应的数据内容时,在终端显示的是该区域的视频画面。
可选地,数据内容在媒体分片中的存储位置可以是数据内容在媒体分片中的字节范围。例如,媒体分片大小为50000字节,终端播放的区域对应的数据内容位于第10000-15000字节。或者,数据内容在媒体分片中的存储位置还可以是数据内容的起始位置相对于媒体分片起始位置的偏移量与数据内容大小的组合。例如,媒体分片大小为50000字节,终端播放的区域对应的数据内容的从该媒体分片的第10000字节开始,大小为5000。以上仅仅是举例,本发明实施例对此不作具体限定。
本发明实施例对数据内容在媒体分片中的存储位置的获取方式不作具体限定。例如,该存储位置可以记录在MPD文件中。当然,该存储位置还可以记录在服务器中;或者,该存储位置也可以通过其他索引信息的指示间接获取。后续实施例会详细介绍该存储位置的具体获取方式。
460、根据该终端播放的区域对应的数据内容在该媒体分片中的存储位置,从该服务器存储的该媒体分片中获取与该终端播放的区域对应的该数据内容。
具体地,终端可以从MPD文件中获取该媒体分片的获取地址。比如,终端基于该媒体分片的获取地址和该数据内容在媒体分片中的存储位置获取该数据内容的获取地址。其中,该数据内容的获取地址包含该媒体分片的获取地址和该数据内容在该媒体分片中的存储位置。进一步,将该数据内容的获取地址发送给服务器;接收该服务器发送的与该数据内容在该媒体分片中的存储位置对应的该数据内容。例如,媒体分片的获取地址为http://www.example.com/server/Segments/seg-full-1.mp4,该数据内容在媒体分片中的存储位置为50-1000字节,则该数据内容的获取地址可以为http://www.example.com/server/Segments/seg-full-1.mp4/50-1000。因此,终端通过向服务器发送该数据内容的获取地址,就可以从服务器获取该数据内容。
470、根据终端播放的区域对应的数据内容播放该区域的画面。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片中获取该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。
如步骤420所述,MPD文件中可记录视频可独立解码区域的区域信息。下面给出记录了该区域信息的MPD文件(以下称MPD文件2)的一个示例。MPD文件2在MPD文件1的基础上加入了区域索引号regionIdx=‘1’的可独立解码区域的区域信息。
具体地,Base URL表示视频的基地址。id=‘R0’的Representation由于没有包括可独立解码区域的区域索引号(regionIdx),可看做整个视频画面的信息。id=“R1”的Representation包括regionIdx=‘1’,其包括的信息对应于区域索引号为1的可独立解码区域的区域信息。
regionIdx=‘1’的Representation包括如下信息:
parentRepID=‘R0’:该可独立解码区域属于id=“R0”的Representation中的区域。换句话说,id=“R0”的Representation代表整个视频画面的信息,id=“R1”的Representation代表该标识为R0的视频画面中的标识为R1的可独立解码区域。
regionIdx=‘1’:可独立解码区域的区域索引号。
pos=‘400,100’,width=‘320’和height=‘480’:可独立解码区域在整个视频画面中的位置参数。pos=‘400,100’代表可独立解码区域左上角的像素点位置;width=‘320’和height=‘480’分别代表可独立解码区域的宽和高。
frameRate=‘30’,bandwidth=‘64000’:播放可独立解码区域的帧速率和带宽。
此外,id=“R1”的Representation也可以包括分片列表SegmentList。该SegmentList中记录的媒体分片在视频中的存储地址可与id=‘R0’的Representation的SegementList中记录的媒体分片在视频中的存储地址相同。
在MPD文件2中,以Representation的形式记录了可独立解码区域的区域信息,这样可以兼容现有MPD对视频信息的记录方式。
需要说明的是,MPD文件2仅仅是举例说明。实际中,可独立解码区域的区域信息还可以采用其他形式记录在MPD文件中。例如,专门为可独立解码区域定义不同与Representation的新的记录方式。
在现有技术中,媒体分片可以继续划分为子分片,子分片由至少一个样本(一个样本为一个图片,或称一帧画面)组成。这样,终端对媒体分片的渐进式下载可进一步细化为对视频子分片的渐进式下载。由上文的描述可知,MPD文件中记录了媒体分片的获取地址。终端要实现媒体分片的渐进式下载时,从MPD文件中获取该媒体分片的获取地址即可。同理,终端想进一步实现视频子分片的渐进式下载,获取子分片的获取地址即可。
现有技术中,服务器存储了分片索引(segment index,简写sidx)。分片索引可包括媒体分片中每个子分片在该媒体分片中的存储位置。终端要实现子分片的渐进式下载,需要先从服务器下载分片索引;然后,根据该分片索引下载子分片。
应理解,一个图片或一帧视频画面对应于一个样本。一个子样本可指一个样本中属于一个可独立解码区域的一段数据内容。如果视频画面被划分成N个可独立解码区域,那么一个样本可包括N个子样本。也就是说,要想获取某媒体分片中终端播放的区域对应的数据内容,需要获取该媒体分片中该区域对应的子样本。
本发明一个实施例在分片索引的基础上引入子样本索引(subsample index,简称spix)。通过分片索引和子样本索引共同指示终端播放的区域对应的数据内容在媒体分片中的存储位置。具体流程如图5所示。
图5是本发明一个实施例的处理视频的方法的示意性流程图。图5的方法可以由播放视频的终端执行。步骤510、520、530、540、580和590分别与图4中的步骤410、420、430、440、460和470相同,此处不再赘述。
510、向服务器发送视频的MPD文件获取请求。
520、接收服务器发送的MPD文件,该MPD文件包括该视频的可独立解码区域的区域信息。
530、根据该区域信息,从该可独立解码区域中确定用于该终端播放的区域。
540、根据该MPD文件确定要获取的媒体分片。
该媒体分片可包括至少两个子分片。
550、从该服务器获取该媒体分片的分片索引和子样本索引,其中,该分片索引用于指示该媒体分片包含的各子分片在该媒体分片中的存储位置,该子样本索引用于指示该可独立解码区域对应的子样本在该各子分片中的存储位置。
应理解,子样本可以为该子分片中的一段数据内容,且在子分片中,终端播放的区域对应的数据内容可包括该区域对应的子样本。
应注意,子样本索引可包括:媒体分片中各子分片包含的子样本在各子分片中的存储位置,以及媒体分片中各子分片包含的子样本对应的可独立解码区域。
具体地,子样本索引可采用Box结构定义。下面给出一个媒体分片的子样本索引结构的一个例子。
在子样本索引的结构中,subsegment_count指示该媒体分片包含的子分片的数量。subsample_count指示该媒体分片的子分片i中子样本的数量。region_index为子分片i中子样本j对应的可独立解码区域的区域索引号。byte_offset为子分片i中子样本j的起始位置在子分片i中的偏移量。subsample_size为子分片i中子样本j的大小。因此,通过byte_offset和subsample_size可共同指示子分片i中子样本j在子分片i中的存储位置。通过遍历的方式,可以在子样本索引中获取媒体分片中各子分片包含的子样本在该各子分片中的存储位置,以及该子样本对应的可独立解码区域。
560、根据该分片索引确定要获取的子分片。
可以按照现有技术的方式根据分片索引确定要获取的子分片,此处不再赘述。
570、根据该子分片在媒体分片中的存储位置,以及该可独立解码区域中该终端播放的区域对应的子样本在该子分片中的存储位置,确定该终端播放的区域对应的数据内容在该媒体分片中的存储位置。
具体地,步骤570可包括:根据可独立解码区域对应的子样本在该子分片中的存储位置,获取终端播放的区域对应的子样本在该子分片中的存储位置;将子分片在媒体分片中的存储位置的起始位置与该终端播放的区域对应的子样本在该子分片中的存储位置的起止位置相加,以确定该终端播放的区域对应的子样本在该媒体分片中的起始位置,从而进一步根据终端播放的区域对应的子样本在该子分片中的存储位置获取该终端播放的区域对应的子样本在该媒体分片中的存储位置。该终端播放的区域对应的子样本在该媒体分片中的存储位置即可视为上述终端播放的区域对应的数据内容在该媒体分片中的存储位置。
例如,子分片在媒体分片中的存储位置为1000-10000,终端播放的区域对应的子样本在该子分片中的存储位置为0-500,那么,可以推算出终端播放的区域对应的子样本在该媒体分片中的存储位置为1000-1500。
可选地,作为一个实施例,子样本索引也可以直接指示终端播放的区域对应的数据内容在媒体分片中的存储位置。此时,步骤570可替换为:从该子样本索引中获取该数据内容在该媒体分片中的存储位置。
580、根据该终端播放的区域对应的数据内容在媒体分片中的存储位置,从服务器存储的该媒体分片中获取与该终端播放的区域对应的该数据内容。
590、根据终端播放的区域对应的数据内容播放该区域的画面。
本发明实施例中,通过在现有分片索引的基础上引入子样本索引,基于分片索引和子样本索引共同指示终端播放的区域对应的数据内容在媒体分片中的存储位置,从而使得终端可以根据该数据内容在媒体分片中的存储位置从服务器下载该数据内容,并显示终端播放的区域对应的视频内容。
图6是分片索引和子分片索引的结构示意图。图6的媒体分片包括两个子分片:子分片0和子分片1。该媒体分片的分片索引包括子分片0的分片索引S0和子分片1的分片索引S1,其中,S0和S1分别记录了子分片0和子分片1在该媒体分片中的存储位置。子样本索引包括T0和T1,其中,T0记录了子分片0中包括的各子样本在子分片0中的存储位置,以及子分片0中包括的各子样本对应的可独立解码区域;T1记录了子分片1中包括的各子样本在子分片1中的存储位置,以及子分片1中包括的各子样本对应的可独立解码区域。T0包括T00、T01、T0m等,其中,T00、T01和T0m分别记录了子分片0中的子样本0、子样本1和子样本m在子分片0中的存储位置和各自对应的可独立解码区域。T1包括T10、T11、T1m等,其中,T10、T11和T1m分别记录了子分片1中的子样本0、子样本1和子样本m在子分片1中的存储位置和各自对应的可独立解码区域。从图6中还可以看出,子样本可以是样本中的一段数据内容,如子样本0和子样本1均为子分片1中的样本1的一段数据内容;子样本m为子分片1中的样本2的一段数据内容。
在步骤550中,终端从服务器获取媒体分片的分片索引和子样本索引。现有技术中,分片索引在服务器可以有以下三种存储方式。对应地,子样本索引也可以有三种存储方式。具体描述如下:
方式一:分片索引可以位于对应媒体分片的头部。也就是说,媒体分片的内容包括该媒体分片的分片索引以及该媒体分片对应的视频内容,其中,媒体分片的分片索引存储在媒体分片的头部。具体地,从服务器获取该媒体分片的分片索引可包括:终端以该媒体分片的获取地址为首地址的前N个字节,其中该前N个字节中包括用于指示分片索引大小的字节数M的参数;从下载的N个字节的内容中获取用于指示分片索引大小的字节数M;根据M与N的关系确定分片索引是否下载完全,当M小于N时,从下载的N个字节的内容中获取分片索引,当M大于N时,则根据媒体分片的获取地址从服务器中下载媒体分片中的第N+1至第M字节。作为一个例子,现有的box结构会在媒体分片的起始内容的4个字节中给出分片索引box的大小(size),由于分片索引位于该媒体分片的头部,且该分片索引符合box结构。所以,终端可以从服务器下载该媒体分片的1K字节,并从该1K字节中获取分片索引的大小。当分片索引的大小小于1K字节时,从该1K字节中即可获取该分片索引;当分片索引的大小大于1K字节时,终端从服务器继续下载分片索引的剩余字节。举例说明,假设分片索引的大小为900字节,那么从前1K字节中提取出0-900字节即可获取该分片索引;假设分片索引的大小为1050字节,那么从服务器继续下载1001-1050字节后即可获取完整的分片索引。
在方式一的基础上,作为一个实施例,媒体分片的内容可进一步包括子样本索引。参见图7,分片索引和子样本索引位于该媒体分片对应的视频内容之前,且子样本索引位于分片索引之后。也就是说,所述分片索引和所述子样本索引均位于所述媒体分片的头部,且所述子样本索引紧邻所述分片索引。因此,步骤550可包括:根据该媒体分片的获取地址,获取位于该媒体分片头部的分片索引和子样本索引。需要说明的是,子样本索引紧邻分片索引可指:分片索引和子样本索引位于一段连续的地址中。例如,分片索引位于地址0-1000中,子样本索引位于1001-2000中。子样本索引的下载方式与分片索引的下载方式均可基于box结构。具体地,根据该媒体分片的获取地址,获取位于该媒体分片头部的分片索引和子样本索引获取地址可包括:下载以该媒体分片的获取地址为首地址的前N个字节,其中该前N个字节中包括用于指示分片索引大小的字节数M的参数;从下载的N个字节的内容中获取用于指示分片索引大小的字节数M;根据M与N的关系确定分片索引是否下载完全,当M小于N时,从下载的N个字节的内容中获取分片索引,当M大于等于N时,则根据媒体分片的获取地址从服务器中下载媒体分片内容中第N+1至第M字节;下载以该媒体分片的第M+1字节为首的前T个字节,其中该前T个字节中包括用于指示子样本索引大小的字节数Q的参数;从下载的T个字节的内容中获取用于指示子样本索引大小的字节数Q;根据T与Q的关系确定子样本索引是否下载完全,当Q小于T时,从下载的T个字节的内容中获取子样本索引,当Q大于等于T时,则根据媒体分片的获取地址从服务器中下载媒体分片内容中第T+1至第Q字节。
方式二:媒体分片包含至少两个区段,每一个区段包含至少一个子分片。分片索引包括第一索引和第二索引。每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引。第一索引位于该媒体分片的头部,用于指示媒体分片中的各第二索引在该媒体分片中的起始位置。第二索引用于指示该第二索引所在区段中的子分片在该媒体分片中的存储位置。
因此,针对方式二,步骤550可包括:根据该媒体分片的获取地址,获取位于该媒体分片头部的第一索引;根据该第一索引指示的各个第二索引在媒体分片中的起始位置,获取该各个第二索引和紧邻该各个第二索引的子样本索引。具体地,该第一索引、第二索引和子样本索引均可采用box结构,上述根据该媒体分片的获取地址,下载位于该媒体分片头部的第一索引,可包括:下载以该媒体分片的获取地址为首地址的前N1个字节,其中该前N1个字节中包括用于指示第一索引大小的字节数M1的参数;从下载的N1个字节的内容中获取用于指示分片索引大小的字节数M1;根据M1与N1的关系确定第一索引是否下载完全,当M1小于N1时,从下载的N1个字节的内容中获取第一索引,当M1大于等于N1时,则根据媒体分片的获取地址从服务器中下载媒体分片内容中第N1+1至第M1字节。当找到媒体分片中各个第二索引的起始位置后,该各个第二索引以及与该各个对应的子样本索引的下载方式与方式一中分片索引和子样本索引的下载方式相同,此处不再赘述。
作为一个例子,图8中的媒体分片被划分为3个区段,第一索引位于该媒体分片的头部。第二索引1、第二索引2和第二索引3分别位于区段1、区段2和区段3的头部。第二索引1指示区段1中的子分片在该媒体分片中的存储位置;第二索引2指示区段2中的子分片在该媒体分片中的存储位置;第二索引3指示区段3中的子分片在该媒体分片中的存储位置。子样本索引1-3分别对应于第二索引1-3,且分别紧邻第二索引1-3。子样本索引1指示区段1中的子样本在该子样本所属的子分片中的位置;子样本索引2指示区段2中的子样本在该子样本所属的子分片中的位置;子样本索引3指示区段3中的子样本在该子样本所属的子分片中的位置。实际下载时,终端先下载第一索引,根据第一索引的指示分别找到第二索引1-3的起始位置,然后分别下载区段1-区段3中的第二索引和子样本索引。
方式三:媒体分片的分片索引位于媒体分片的索引分片中。这里的索引分片专门用于存储该媒体分片的分片索引。在此种方式下,MPD文件中可记录媒体分片的获取地址与索引分片的获取地址的对应关系。当需要下载某个媒体分片的分片索引时,先从MPD文件中找出与该媒体分片对应的索引分片的获取地址;接下来,可利用box结构下载该分片索引。
在方式三的基础上,在索引分片中加入子样本索引。该索引分片专门用于存储媒体分片的分片索引和子样本索引。该分片索引和该子样本索引均位于索引分片中,且该子样本索引紧邻该分片索引,步骤550可包括:根据该索引分片的获取地址,获取位于该索引分片中的该分片索引和该子样本索引。具体地,根据该索引分片的获取地址,获取位于该索引分片头部的该分片索引和该子样本索引,可包括:根据索引分片的获取地址获取该索引分片的前N个字节,其中该前N个字节中包括用于指示分片索引大小的字节数M的参数;从下载的N个字节的内容中获取用于指示分片索引大小的字节数M;根据M与N的关系确定分片索引是否下载完全,当M小于N时,从下载的N个字节的内容中获取分片索引,当M大于等于N时,则根据索引分片的获取地址从服务器中下载索引分片内容中第N+1至第M字节;下载以该索引分片的第M+1字节为首的前T个字节,其中该前T个字节中包括用于指示子样本索引大小的字节数Q的参数;从下载的T个字节的内容中获取用于指示子样本索引大小的字节数Q;根据T与Q的关系确定子样本索引是否下载完全,当Q小于T时,从下载的T个字节的内容中获取子样本索引,当Q大于等于T时,则根据索引分片的获取地址从服务器中下载索引分片内容中第T+1至第Q字节。
需要说明的是,终端可以与服务器预先约定采用以上三种方式中的哪一种存储分片索引和子样本索引。进一步地,终端也可以先判断分片索引和子样本索引的存储方式,再下载分片索引和子样本索引。具体地,终端可以先解析MPD文件,当MPD文件中记录了媒体分片的获取地址与索引分片获取地址的对应关系时,确定服务器采用方式三存储该分片索引。当MPD文件中未记录媒体分片与索引分片获取地址的对应关系时,终端可利用如下流程确定服务器采用方式一还是方式二存储分片索引。下载以该媒体分片的获取地址为首地址的前N个字节,其中该前N个字节中包括用于指示分片索引存储方式的参数,该参数用于指示该媒体分片的分片索引和子样本索引存储均位于该媒体分片的头部(对应于方式一)还是分布在该媒体分片的不同区段中(对应于方式二);从下载的N个字节中获取该参数,并根据该参数的指示确定该媒体分片的分片索引的存储方式。例如,该参数为reference type;下载媒体分片的前N个字节;从下载的N个字节中获取reference type的值,如果referencetype=1,服务器采用方式二存储该媒体分片的分片索引,否则,服务器采用方式一存储该媒体分片的分片索引。
在上文中,终端播放的区域对应的数据内容在媒体分片中的存储位置是通过分片索引和子样本索引共同指示的。但是,本发明实施例并不限于此。具体地,可以直接在MPD文件中记录终端播放的区域对应的数据内容在媒体分片中的存储位置,并在MPD文件中记录终端播放的区域与该区域对应的数据内容在媒体分片中的存储位置的对应关系。具体参见图9。
图9是本发明一个实施例的处理视频的方法的示意性流程图。图9的方法可以由播放该视频的终端执行。在图9的方法中,步骤910、920、930、940、960和970分别与图4中的步骤410、420、430、440、460和470相同,此处不再详述。
910、向服务器发送视频的MPD文件获取请求。
920、接收服务器发送的MPD文件,该MPD文件包括该视频的可独立解码区域的区域信息。
930、根据该区域信息,从该可独立解码区域中确定用于该终端播放的区域。
940、根据该MPD文件确定要获取的媒体分片。
950、根据该终端播放的区域以及MPD文件中包括的该区域与该区域对应的数据内容在该媒体分片中的存储位置的对应关系,从该MPD文件中获取该数据内容在媒体分片中的存储位置。
下面给出记录可独立解码区域对应的数据内容在媒体分片中的存储位置的MPD文件(下称MPD文件3)的一个示例。
在MPD文件3中,region range指示regionIdx(区域索引号)为1的可独立解码区域(下称区域1)对应的数据内容在‘seg-full-1.mp4’对应的媒体分片(下称媒体分片A)中的字节范围。换句话说,终端要想获取区域1对应的数据内容在媒体分片A中的存储位置,需要从MPD文件3中找到区域1与区域1对应的数据内容在媒体分片A中的字节范围的对应关系,然后获取媒体分片A对应的region range即可。需要说明的是,MPD文件3通过字节范围表示可独立解码区域对应的数据内容在媒体分片中的存储位置,但本发明实施例并不限于此。例如,还可以通过数据内容起始位置相对于媒体分片起始位置的偏移量和数据内容大小相结合的方式,来指示数据内容在媒体分片中的存储位置。
960、根据终端播放的区域对应的数据内容在媒体分片中的存储位置,从该服务器存储的该媒体分片中获取与该终端播放的区域对应的该数据内容。
具体地,假设MPD文件中记录了媒体分片的获取地址为http://www.example.com/server/Segments/seg-full-1.mp4。通过步骤940获取终端播放的区域对应的数据内容在该媒体分片中的存储位置:region range=‘0,12000’和region range=‘28000,35000’。终端要获取该数据内容,只需要通过地址http://www.example.com/server/Segments/seg-full-1.mp4/0-12000和http://www.example.com/server/Segments/seg-full-1.mp4/28000-35000从服务器下载即可。
970、根据终端播放的区域对应的数据内容播放该区域的画面。
本发明实施例中,通过在MPD文件中记录终端播放的区域对应的数据内容在媒体分片中的存储位置,根据该存储位置即可方便地从服务器下载该区域对应的数据内容,实现了无需在服务器额外存储局部视频即可获取该局部视频的目的,从而节省了服务器的存储资源。
上文从终端的角度详细描述了根据本发明实施例的处理视频的方法,下面从服务器的角度描述根据本发明实施例的处理视频的方法。
应理解,服务器侧描述的终端与服务器的交互及相关特性、功能等与终端侧的描述相应,为了简洁,适当省略重复的描述。
图10是本发明一个实施例的处理视频的方法的示意性流程图。图10的方法可以由服务器执行。图10的方法包括:
1010、接收终端发送的视频的MPD文件获取请求,并根据终端发送的视频的MPD文件获取请求向该终端发送该视频的MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息。
1020、接收该终端发送的用于该终端播放的区域对应的数据内容在该视频的媒体分片中的存储位置,该终端播放的区域由该终端根据该区域信息从该可独立解码区域中确定。
1030、根据该终端播放的区域对应的数据内容在该媒体分片中的存储位置,将存储在该媒体分片中的与该数据内容在该媒体分片中的存储位置对应的数据内容发送给该终端;终端播放的区域对应的数据内容用于终端播放该区域的画面。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片内容中下载该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。
可选地,作为一个实施例,在该接收该终端发送的用于该终端播放的区域对应的数据内容在该视频的媒体分片中的存储位置之前,图10的方法还可包括:接收该终端发送的获取信息,该获取信息用于获取该媒体分片的分片索引和子样本索引,其中该分片索引用于指示该媒体分片包含的各子分片在该媒体分片中的存储位置,该子样本索引用于指示该可独立解码区域对应的各子样本在该各子分片中的存储位置,该可独立解码区域对应的各子样本在该各子分片中的存储位置和该各子分片在该媒体分片中的存储位置用于确定该终端播放的区域对应的数据内容在该媒体分片中的存储位置;根据该获取信息向该终端发送该分片索引和该子样本索引。
可选地,作为另一个实施例,该分片索引和该子样本索引均位于该媒体分片的头部,且该子样本索引紧邻该分片索引,该从该服务器获取该分片索引和子样本索引。
可选地,作为另一个实施例,该媒体分片包含至少两个区段,每一个区段包含至少一个子分片,该分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;该第一索引位于该媒体分片的头部,用于指示该媒体分片中的各个第二索引在该媒体分片中的起始位置;该第二索引用于指示该第二索引所在区段中的子分片在该媒体分片中的存储位置。
可选地,作为另一个实施例,该MPD文件中包含该媒体分片的获取地址与索引分片的获取地址的对应关系,其中,该索引分片专门用于存储该媒体分片的分片索引和子样本索引,且在该索引分片中,该子样本索引紧邻该分片索引。
可选地,作为另一个实施例,该MPD文件中包括该终端播放的区域与该区域对应的数据内容在该媒体分片中的存储位置的对应关系。
值得说明的是,图10中的服务器可以执行图4-图9中的服务器执行的任意动作。
上文中结合图1至图10,详细描述了本发明实施例的处理视频的方法,下面将结合图11至图14,详细描述本发明实施例的终端和服务器。
图11是本发明一个实施例的终端的示意性框图。图11的终端1100包括:发送单元1110、接收单元1120、第一确定单元1130、第二确定单元1140、第一获取单元1150、第二获取单元1160和播放单元1170。应理解,终端1100可以实现图1-图10中由终端执行的各个步骤,为避免重复,适当省略重复的描述。
发送单元1110,用于向服务器发送视频的MPD文件获取请求;
接收单元1120,用于接收该服务器发送的该MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息;
第一确定单元1130,用于根据该接收单元1120接收的该MPD文件中包括的该区域信息,从该可独立解码区域中确定用于该终端1100播放的区域;
第二确定单元1140,用于根据接收单元1120接收的该MPD文件确定要获取的媒体分片;
第一获取单元1150,用于获取该第一确定单元1130确定的该终端1100播放的区域对应的数据内容在该第二确定单元1140确定的该媒体分片中的存储位置,该数据内容用于播放该区域的画面;
第二获取单元1160,用于根据该第一获取单元1150获取的该终端1100播放的区域对应的数据内容在该媒体分片中的存储位置,从该服务器存储的该媒体分片中获取与该终端1100播放的区域对应的该数据内容;
播放单元1170,用于根据该第二获取单元1160获取的该终端1100播放的区域对应的数据内容播放该终端1100播放的区域的画面。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片中获取该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。
可选地,作为一个实施例,该媒体分片包含至少两个子分片;该第一获取单元1150具体用于从该服务器获取该媒体分片的分片索引和子样本索引,其中,该分片索引用于指示该媒体分片包含的各子分片在该媒体分片中的存储位置,该子样本索引用于指示该可独立解码区域对应的各子样本在该各子分片中的存储位置;根据该分片索引确定要获取的子分片;根据该子分片在该媒体分片中存储位置,以及该可独立解码区域中该终端1100播放的区域对应的子样本在该子分片中的存储位置,确定该终端1100播放的区域对应的数据内容在该媒体分片中的存储位置。
可选地,作为另一个实施例,该分片索引和该子样本索引均位于该媒体分片的头部,且该子样本索引紧邻该分片索引,该第一获取单元1150从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据该媒体分片的获取地址,获取位于该媒体分片头部的该分片索引和该子样本索引。
可选地,作为另一个实施例,该媒体分片包含至少两个区段,每一个区段包含至少一个子分片,该分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;该第一索引位于该媒体分片的头部,用于指示该媒体分片中的各个第二索引在该媒体分片中的起始位置;该第二索引用于指示该第二索引所在区段中的子分片在该媒体分片中的存储位置;该第一获取单元1150从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据该媒体分片的获取地址,获取位于该媒体分片头部的该第一索引;根据该第一索引指示的该各个第二索引在该媒体分片中的起始位置,获取该各个第二索引和紧邻该各个第二索引的子样本索引。
可选地,作为另一个实施例,该MPD文件中包含该媒体分片的获取地址与索引分片的获取地址的对应关系,其中,该索引分片专门用于存储该媒体分片的分片索引和子样本索引,且在该索引分片中,该子样本索引紧邻该分片索引,该第一获取单元1150从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据该媒体分片的获取地址与该索引分片的获取地址的对应关系,从该MPD文件中获取与该媒体分片的获取地址对应的该索引分片的获取地址;根据该索引分片的获取地址,获取该分片索引和该子样本索引。
可选地,作为另一个实施例,该MPD文件中包括该终端1100播放的区域与该终端1100播放的区域对应的数据内容在该媒体分片中的存储位置的对应关系,该第一获取单元1150从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据该终端1100播放的区域以及该终端1100播放的区域与该终端1100播放的区域对应的数据内容在该媒体分片中的存储位置的对应关系,从该MPD文件中获取该数据内容在该媒体分片中的存储位置。
可选地,作为另一个实施例,该第二获取单元1160具体用于根据从该MPD文件中获取的该媒体分片的获取地址,以及该数据内容在该媒体分片中的存储位置,确定该数据内容的获取地址,该数据内容的获取地址包含该媒体分片的获取地址和该数据内容在该媒体分片中的存储位置;将该数据内容的获取地址发送给该服务器;接收该服务器发送的与该数据内容的获取地址对应的该数据内容。
可选地,作为另一个实施例,该第一确定单元1130具体用于根据该区域信息,向该终端1100的用户呈现该可独立解码区域;将该用户从该可独立解码区域中选择的区域确定为该终端1100播放的区域;或者,根据该区域信息,将该可独立解码区域中与该终端1100能力匹配的区域确定为该终端1100播放的区域。
图12是本发明一个实施例的服务器的示意性框图。图12的服务器1200包括:接收单元1210、存储单元1220和发送单元1230。应理解,服务器1200可以实现图1-图10中由服务器执行的各个步骤,为避免重复,适当省略重复的描述。
接收单元1210,用于接收终端发送的视频的MPD文件获取请求;
存储单元1220,用于存储该视频的MPD文件;
发送单元1230,用于根据终端发送的视频的MPD文件获取请求向该终端发送存储单元存储的该视频的MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息;
接收单元1210,还用于接收该终端发送的用于该终端播放的区域对应的数据内容在该视频的媒体分片中的存储位置,该终端播放的区域由该终端根据该区域信息从该可独立解码区域中确定;
所述存储单元1220还用于存储该视频的各个媒体分片;
发送单元1230还用于根据接收单元1210接收的该终端播放的区域对应的数据内容在该媒体分片中的存储位置,将存储单元1220存储在该媒体分片中的与该数据内容在该媒体分片中的存储位置对应的数据内容发送给该终端;该终端播放的区域对应的数据内容用于该终端播放该区域的画面。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片内容中下载该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。
可选地,作为一个实施例,该媒体分片包含至少两个子分片,接收单元1210,还用于接收该终端发送的获取信息,该获取信息用于获取该媒体分片的分片索引和子样本索引,其中该分片索引用于指示该媒体分片包含的各子分片在该媒体分片中的存储位置,该子样本索引用于指示该可独立解码区域对应的各子样本在该各子分片中的存储位置,该可独立解码区域对应的各子样本在该各子分片中的存储位置和该各子分片在该媒体分片中的存储位置用于确定该终端播放的区域对应的数据内容在该媒体分片中的存储位置;
所述存储单元1220还用于存储所述分片索引和子样本索引;
所述发送单元1230进一步用于根据该获取信息向该终端发送该分片索引和该子样本索引。
图13是本发明一个实施例的终端的示意性框图。图13的终端1300包括:发送器1310、接收器1320、处理器1330和播放器1340。应理解,终端1300可以实现图1-图10中由终端执行的各个步骤,为避免重复,适当省略重复的描述。
发送器1310,用于向服务器发送视频的MPD文件获取请求;
接收器1320,用于接收该服务器发送的该MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息;
处理器1330,用于根据接收器1320接收的该MPD文件中包括的该区域信息,从该可独立解码区域中确定用于该终端1300播放的区域;根据该MPD文件确定要获取的媒体分片;获取该终端1300播放的区域对应的数据内容在该媒体分片中的存储位置,该数据内容用于播放该区域的画面;根据该终端1300播放的区域对应的数据内容在该媒体分片中的存储位置,从该服务器存储的该媒体分片中获取与该终端1300播放的区域对应的该数据内容;
播放器1340,用于根据处理器1330获取的该终端1300播放的区域对应的数据内容播放该终端1300播放的区域的画面。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片中获取该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。
可选地,作为一个实施例,该媒体分片包含至少两个子分片;该处理器1330具体用于从该服务器获取该媒体分片的分片索引和子样本索引,其中,该分片索引用于指示该媒体分片包含的各子分片在该媒体分片中的存储位置,该子样本索引用于指示该可独立解码区域对应的各子样本在该各子分片中的存储位置;根据该分片索引确定要获取的子分片;根据该子分片在该媒体分片中存储位置,以及该可独立解码区域中该终端1300播放的区域对应的子样本在该子分片中的存储位置,确定该终端1300播放的区域对应的数据内容在该媒体分片中的存储位置。
可选地,作为另一个实施例,该分片索引和该子样本索引均位于该媒体分片的头部,且该子样本索引紧邻该分片索引,处理器1330具体用于根据该媒体分片的获取地址,获取位于该媒体分片头部的该分片索引和该子样本索引。
可选地,作为另一个实施例,该媒体分片包含至少两个区段,每一个区段包含至少一个子分片,该分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;该第一索引位于该媒体分片的头部,用于指示该媒体分片中的各个第二索引在该媒体分片中的起始位置;该第二索引用于指示该第二索引所在区段中的子分片在该媒体分片中的存储位置;处理器1330具体用于根据该媒体分片的获取地址,获取位于该媒体分片头部的该第一索引;根据该第一索引指示的该各个第二索引在该媒体分片中的起始位置,获取该各个第二索引和紧邻该各个第二索引的子样本索引。
可选地,作为另一个实施例,该MPD文件中包含该媒体分片的获取地址与索引分片的获取地址的对应关系,其中,该索引分片专门用于存储该媒体分片的分片索引和子样本索引,且在该索引分片中,该子样本索引紧邻该分片索引,处理器1330具体用于根据该媒体分片的获取地址与该索引分片的获取地址的对应关系,从该MPD文件中获取与该媒体分片的获取地址对应的该索引分片的获取地址;根据该索引分片的获取地址,获取该分片索引和该子样本索引。
可选地,作为另一个实施例,该MPD文件中包括该终端1300播放的区域与该终端1300播放的区域对应的数据内容在该媒体分片中的存储位置的对应关系,处理器1330具体用于根据该终端1300播放的区域以及该终端1300播放的区域与该终端1300播放的区域对应的数据内容在该媒体分片中的存储位置的对应关系,从该MPD文件中获取该数据内容在该媒体分片中的存储位置。
可选地,作为另一个实施例,处理器1330具体用于根据从该MPD文件中获取的该媒体分片的获取地址,以及该数据内容在该媒体分片中的存储位置,确定该数据内容的获取地址,该数据内容的获取地址包含该媒体分片的获取地址和该数据内容在该媒体分片中的存储位置;将该数据内容的获取地址发送给该服务器;接收该服务器发送的与该数据内容的获取地址对应的该数据内容。
可选地,作为另一个实施例,处理器1330具体用于根据该区域信息,向该终端1300的用户呈现该可独立解码区域;将该用户从该可独立解码区域中选择的区域确定为该终端1300播放的区域;或者,根据该区域信息,将该可独立解码区域中与该终端1300能力匹配的区域确定为该终端1300播放的区域。
图14是本发明一个实施例的服务器的示意性框图。图14的服务器1400包括:发送器1410、接收器1430和存储器1420。应理解,服务器1400可以实现图1-图10中由服务器执行的各个步骤,为避免重复,适当省略重复的描述。
发送器1410,用于根据终端发送的视频的MPD文件获取请求向该终端发送该视频的MPD文件,该MPD文件中包括该视频的可独立解码区域的区域信息;
接收器1430,用于接收该终端发送的用于该终端播放的区域对应的数据内容在该视频的媒体分片中的存储位置,该终端播放的区域由该终端根据该区域信息从该可独立解码区域中确定;
所述存储器1420用于存储所述视频的MPD文件以及所述视频各媒体分片;
发送器1410还用于根据接收器1430接收的该终端播放的区域对应的数据内容在该媒体分片中的存储位置,将存储在该媒体分片中的与该数据内容在该媒体分片中的存储位置对应的数据内容发送给该终端;该终端播放的区域对应的数据内容用于该终端播放该区域的画面。
本发明实施例中,通过获取终端播放的区域对应的数据内容在媒体分片中的存储位置,并根据该存储位置从服务器存储的媒体分片内容中下载该数据内容,无需在服务器单独存储局部视频,从而节省了服务器的存储资源。
可选地,作为一个实施例,该媒体分片包含至少两个子分片,接收器1420还用于接收该终端发送的获取信息,该获取信息用于获取该媒体分片的分片索引和子样本索引,其中该分片索引用于指示该媒体分片包含的各子分片在该媒体分片中的存储位置,该子样本索引用于指示该可独立解码区域对应的各子样本在该各子分片中的存储位置,该可独立解码区域对应的各子样本在该各子分片中的存储位置和该各子分片在该媒体分片中的存储位置用于确定该终端播放的区域对应的数据内容在该媒体分片中的存储位置;根据该获取信息向该终端发送该分片索引和该子样本索引;
进一步的,所述存储器1420进一步用于存储该视频的分片索引和子样本索引。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (20)

1.一种处理视频的方法,其特征在于,包括:
向服务器发送视频的媒体展示描述MPD文件获取请求;
接收所述服务器发送的所述MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;
根据所述区域信息,从所述可独立解码区域中确定用于终端播放的区域;
根据所述MPD文件确定要获取的所述视频的媒体分片;
获取所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置;
根据所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,从所述服务器存储的所述媒体分片中获取与所述终端播放的区域对应的所述数据内容;
根据所述终端播放的区域对应的数据内容播放所述终端播放的区域的画面。
2.如权利要求1所述的方法,其特征在于,所述媒体分片包含至少两个子分片;所述获取所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,包括:
从所述服务器获取所述媒体分片的分片索引和子样本索引;其中,所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置;
根据所述分片索引确定要获取的子分片;
根据所述子分片在所述媒体分片中存储位置,以及所述可独立解码区域中所述终端播放的区域对应的子样本在所述子分片中的存储位置,确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置。
3.如权利要求2所述的方法,其特征在于,所述分片索引和所述子样本索引均位于所述媒体分片的头部,且所述子样本索引紧邻所述分片索引;所述从所述服务器获取所述媒体分片的分片索引和子样本索引,包括:
根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述分片索引和所述子样本索引。
4.如权利要求2所述的方法,其特征在于,所述媒体分片包含至少两个区段,每一个区段包含至少一个子分片,所述分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;所述第一索引位于所述媒体分片的头部,用于指示所述媒体分片中的各个第二索引在所述媒体分片中的起始位置;所述第二索引用于指示所述第二索引所在区段中的子分片在所述媒体分片中的存储位置;
所述从所述服务器获取所述媒体分片的分片索引和子样本索引,包括:
根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述第一索引;
根据所述第一索引指示的所述各个第二索引在所述媒体分片中的起始位置,获取所述各个第二索引和紧邻所述各个第二索引的子样本索引。
5.如权利要求2所述的方法,其特征在于,所述MPD文件中包含所述媒体分片的获取地址与索引分片的获取地址的对应关系,其中,所述索引分片用于存储所述媒体分片的分片索引和子样本索引,且在所述索引分片中,所述子样本索引紧邻所述分片索引,所述从所述服务器获取所述媒体分片的分片索引和子样本索引,包括:
根据所述媒体分片的获取地址与所述索引分片的获取地址的对应关系,从所述MPD文件中获取与所述媒体分片的获取地址对应的索引分片的获取地址;
根据所述索引分片的获取地址,获取所述分片索引和所述子样本索引。
6.如权利要求1所述的方法,其特征在于,所述MPD文件中包括所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,所述获取所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,包括:
根据所述终端播放的区域以及所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,从所述MPD文件中获取所述数据内容在所述媒体分片中的存储位置。
7.如权利要求1-6中任一项所述的方法,其特征在于,
所述根据所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,从所述服务器存储的所述媒体分片中获取与所述终端播放的区域对应的所述数据内容,包括:
根据从所述MPD文件中获取的所述媒体分片的获取地址,以及所述数据内容在所述媒体分片中的存储位置,确定所述数据内容的获取地址,所述数据内容的获取地址包含所述媒体分片的获取地址和所述数据内容在所述媒体分片中的存储位置;
将所述数据内容的获取地址发送给所述服务器;
接收所述服务器发送的与所述数据内容的获取地址对应的所述数据内容。
8.如权利要求1-6中任一项所述的方法,其特征在于,
所述根据所述区域信息,从所述可独立解码区域中确定用于所述终端播放的区域,包括:
根据所述区域信息,向所述终端的用户呈现所述可独立解码区域;将所述用户从所述可独立解码区域中选择的区域确定为所述终端播放的区域;或者
根据所述区域信息,将所述可独立解码区域中与所述终端能力匹配的区域确定为所述终端播放的区域。
9.一种处理视频的方法,其特征在于,包括:
根据终端发送的视频的媒体展示描述MPD文件获取请求向所述终端发送所述视频的MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;
接收所述终端发送的用于所述终端播放的区域对应的数据内容在所述视频的媒体分片中的存储位置,所述终端播放的区域由所述终端根据所述区域信息从所述可独立解码区域中确定;
根据所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,将存储在所述媒体分片中的与所述数据内容在所述媒体分片中的存储位置对应的数据内容发送给所述终端;所述终端播放的区域对应的数据内容用于所述终端播放所述区域的画面。
10.如权利要求9所述的方法,其特征在于,所述媒体分片包含至少两个子分片,
在所述接收所述终端发送的用于所述终端播放的区域对应的数据内容在所述视频的媒体分片中的存储位置之前,所述方法还包括:
接收所述终端发送的获取信息,所述获取信息用于获取所述媒体分片的分片索引和子样本索引,其中所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置,所述可独立解码区域对应的各子样本在所述各子分片中的存储位置和所述各子分片在所述媒体分片中的存储位置用于确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置;
根据所述获取信息向所述终端发送所述分片索引和所述子样本索引。
11.一种终端,其特征在于,包括:
发送单元,用于向服务器发送视频的媒体展示描述MPD文件获取请求;
接收单元,用于接收所述服务器发送的所述MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;
第一确定单元,用于根据所述接收单元接收的所述MPD文件中包括的所述区域信息,从所述可独立解码区域中确定用于所述终端播放的区域;第二确定单元,用于根据所述接收单元接收的所述MPD文件确定要获取的所述视频的媒体分片;
第一获取单元,用于获取所述第一确定单元确定的所述终端播放的区域对应的数据内容在所述第二确定单元确定的所述媒体分片中的存储位置,所述数据内容用于播放所述区域的画面;
第二获取单元,用于根据所述第一获取单元获取的所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,从所述服务器存储的所述媒体分片中获取与所述终端播放的区域对应的所述数据内容;
播放单元,用于根据所述第二获取单元获取的所述终端播放的区域对应的数据内容播放所述终端播放的区域的画面。
12.如权利要求11所述的终端,其特征在于,所述媒体分片包含至少两个子分片;所述第一获取单元具体用于从所述服务器获取所述媒体分片的分片索引和子样本索引,其中,所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置;根据所述分片索引确定要获取的子分片;根据所述子分片在所述媒体分片中存储位置,以及所述可独立解码区域中所述终端播放的区域对应的子样本在所述子分片中的存储位置,确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置。
13.如权利要求12所述的终端,其特征在于,所述分片索引和所述子样本索引均位于所述媒体分片的头部,且所述子样本索引紧邻所述分片索引,所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述分片索引和所述子样本索引。
14.如权利要求12所述的终端,其特征在于,所述媒体分片包含至少两个区段,每一个区段包含至少一个子分片,所述分片索引包括第一索引和第二索引,每一个区段的头部包含一个第二索引和紧邻第二索引的一个子样本索引;所述第一索引位于所述媒体分片的头部,用于指示所述媒体分片中的各个第二索引在所述媒体分片中的起始位置;所述第二索引用于指示所述第二索引所在区段中的子分片在所述媒体分片中的存储位置;
所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为根据所述媒体分片的获取地址,获取位于所述媒体分片头部的所述第一索引;根据所述第一索引指示的所述各个第二索引在所述媒体分片中的起始位置,获取所述各个第二索引和紧邻所述各个第二索引的子样本索引。
15.如权利要求12所述的终端,其特征在于,所述MPD文件中包含所述媒体分片的获取地址与索引分片的获取地址的对应关系,其中,所述索引分片专门用于存储所述媒体分片的分片索引和子样本索引,且在所述索引分片中,所述子样本索引紧邻所述分片索引,
所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述媒体分片的获取地址与所述索引分片的获取地址的对应关系,从所述MPD文件中获取与所述媒体分片的获取地址对应的所述索引分片的获取地址;根据所述索引分片的获取地址,获取所述分片索引和所述子样本索引。
16.如权利要求11所述的终端,其特征在于,所述MPD文件中包括所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,
所述第一获取单元从所述服务器获取所述媒体分片的分片索引和子样本索引具体为:根据所述终端播放的区域以及所述终端播放的区域与所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置的对应关系,从所述MPD文件中获取所述数据内容在所述媒体分片中的存储位置。
17.如权利要求11-16中任一项所述的终端,其特征在于,
所述第二获取单元具体用于根据从所述MPD文件中获取的所述媒体分片的获取地址,以及所述数据内容在所述媒体分片中的存储位置,确定所述数据内容的获取地址,所述数据内容的获取地址包含所述媒体分片的获取地址和所述数据内容在所述媒体分片中的存储位置;将所述数据内容的获取地址发送给所述服务器;接收所述服务器发送的与所述数据内容的获取地址对应的所述数据内容。
18.如权利要求11-16中任一项所述的终端,其特征在于,
所述第一确定单元具体用于根据所述区域信息,向所述终端的用户呈现所述可独立解码区域;将所述用户从所述可独立解码区域中选择的区域确定为所述终端播放的区域;或者,根据所述区域信息,将所述可独立解码区域中与所述终端能力匹配的区域确定为所述终端播放的区域。
19.一种服务器,其特征在于,包括:
接收单元,用于接收终端发送的视频的媒体展示描述MPD文件获取请求;
存储单元,用于存储该视频的MPD文件;
发送单元,用于根据终端发送的视频的MPD文件请求向所述终端发送所述存储单元存储的所述视频的MPD文件,所述MPD文件中包括所述视频的可独立解码区域的区域信息;
所述接收单元,还用于接收所述终端发送的用于所述终端播放的区域对应的数据内容在所述视频的媒体分片中的存储位置,所述终端播放的区域由所述终端根据所述区域信息从所述可独立解码区域中确定;
所述存储单元,还用于存储该视频的媒体分片;
所述发送单元还用于根据所述接收单元接收的所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置,将所述存储单元存储在所述媒体分片中的与所述数据内容在所述媒体分片中的存储位置对应的数据内容发送给所述终端;所述终端播放的区域对应的数据内容用于所述终端播放所述区域的画面。
20.如权利要求19所述的服务器,其特征在于,所述媒体分片包含至少两个子分片,所述接收单元还用于接收所述终端发送的获取信息,所述获取信息用于获取所述媒体分片的分片索引和子样本索引,其中所述分片索引用于指示所述媒体分片包含的各子分片在所述媒体分片中的存储位置,所述子样本索引用于指示所述可独立解码区域对应的各子样本在所述各子分片中的存储位置,所述可独立解码区域对应的各子样本在所述各子分片中的存储位置和所述各子分片在所述媒体分片中的存储位置用于确定所述终端播放的区域对应的数据内容在所述媒体分片中的存储位置;
所述存储单元还用于存储所述分片索引和子样本索引;
所述发送单元还用于根据该获取信息向该终端发送该分片索引和该子样本索引。
CN201480000116.3A 2014-02-21 2014-02-21 处理视频的方法、终端和服务器 Active CN105191303B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/072379 WO2015123861A1 (zh) 2014-02-21 2014-02-21 处理视频的方法、终端和服务器

Publications (2)

Publication Number Publication Date
CN105191303A CN105191303A (zh) 2015-12-23
CN105191303B true CN105191303B (zh) 2018-08-21

Family

ID=53877545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480000116.3A Active CN105191303B (zh) 2014-02-21 2014-02-21 处理视频的方法、终端和服务器

Country Status (4)

Country Link
US (3) US10171888B2 (zh)
EP (1) EP3099069B1 (zh)
CN (1) CN105191303B (zh)
WO (1) WO2015123861A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6624958B2 (ja) * 2016-02-03 2019-12-25 キヤノン株式会社 通信装置、通信システム、通信制御方法およびコンピュータプログラム
CN108989826B (zh) * 2017-06-05 2023-07-14 上海交通大学 视频资源的处理方法及装置
CN108650460B (zh) * 2018-05-10 2021-03-30 深圳视点创新科技有限公司 服务器、全景视频的存储和传输方法和计算机存储介质
CN108989853B (zh) * 2018-08-24 2020-04-21 阿里巴巴集团控股有限公司 一种多媒体物料的处理方法、装置及多媒体播放设备
CN109587490B (zh) * 2018-11-05 2022-05-31 深圳威尔视觉传媒有限公司 一种Tile分片填充方法、装置、设备、存储介质和解码方法
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035257A (zh) * 2006-03-10 2007-09-12 孟智平 动态视频二维信息互动同步传输方法及二维网络视讯互动***
CN103583050A (zh) * 2011-06-08 2014-02-12 皇家Kpn公司 空间分段的内容的递送

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US20090300692A1 (en) * 2008-06-02 2009-12-03 Mavlankar Aditya A Systems and methods for video streaming and display
JP2011059021A (ja) * 2009-09-11 2011-03-24 Tokyo Electron Ltd 基板検査装置及び基板検査装置における位置合わせ方法
US8527647B2 (en) * 2009-10-06 2013-09-03 Unwired Planet, Inc. Managing network traffic using intermediate flow control
US8918533B2 (en) * 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
KR20120060134A (ko) * 2010-08-16 2012-06-11 삼성전자주식회사 광고 재생 방법 및 장치
CN102217313B (zh) * 2011-05-26 2013-10-02 华为技术有限公司 重排、抽取分片中媒体数据的方法、设备及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035257A (zh) * 2006-03-10 2007-09-12 孟智平 动态视频二维信息互动同步传输方法及二维网络视讯互动***
CN103583050A (zh) * 2011-06-08 2014-02-12 皇家Kpn公司 空间分段的内容的递送

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Text of ISO/IEC IS 23009-1 Media Presentation Description and Segment Formats;ANONYMOUS;《98.MPEG MEETING》;20121102;第10页第6段 *

Also Published As

Publication number Publication date
CN105191303A (zh) 2015-12-23
EP3099069A4 (en) 2017-01-25
US20190110113A1 (en) 2019-04-11
US20200314509A1 (en) 2020-10-01
US20160360299A1 (en) 2016-12-08
EP3099069A1 (en) 2016-11-30
US10701461B2 (en) 2020-06-30
WO2015123861A1 (zh) 2015-08-27
EP3099069B1 (en) 2019-08-07
US10171888B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
CN105191303B (zh) 处理视频的方法、终端和服务器
US10498785B2 (en) Apparatus and method for storing and playing content in a multimedia streaming system
JP6150442B2 (ja) デジタルメディアコンテンツ共有方法およびシステム
JP5781179B2 (ja) サーバにおけるファイル伝送方法及びその装置並びに端末におけるファイル再生方法及びその装置
CN106162221A (zh) 直播视频的合成方法、装置及***
EP1936992A1 (en) Method of and apparatus for encoding/decoding multimedia data with preview function
US20140036098A1 (en) Terminal Apparatus And Video-Data Distribution Method
US20170105034A1 (en) Communication apparatus, communication method, and program
CN102378059A (zh) 一种网络电视及其流媒体多断点播放方法
US20150268808A1 (en) Method, Device and System for Multi-Speed Playing
CN110351606A (zh) 媒体信息处理方法、相关设备及计算机存储介质
CN108810567A (zh) 一种音频与视频视角匹配的方法、客户端和服务器
CN106060609B (zh) 获取图片的方法及装置
CN101459976B (zh) 一种流媒体播放控制方法、设备及***
CN101803379A (zh) 视频点播方法、视频点播接收器和视频点播服务器
KR101314939B1 (ko) 멀티미디어 서비스를 프로비저닝하기 위한 방법 및 시스템, 이 시스템에 사용을 위한 애플리케이션 서버, 추가의 애플리케이션 서버 및 통신 디바이스
CN108574881B (zh) 一种投影类型推荐方法、服务器及客户端
CN101854515B (zh) 电视节目远程录制方法
CN106792207B (zh) 一种节目信息的获取方法、装置及***
KR20200135324A (ko) 정보 처리 장치, 정보 처리 장치 및 프로그램
CN111200580A (zh) 一种播放器及播放方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant