CN110351606B - 媒体信息处理方法、相关设备及计算机存储介质 - Google Patents

媒体信息处理方法、相关设备及计算机存储介质 Download PDF

Info

Publication number
CN110351606B
CN110351606B CN201810309177.8A CN201810309177A CN110351606B CN 110351606 B CN110351606 B CN 110351606B CN 201810309177 A CN201810309177 A CN 201810309177A CN 110351606 B CN110351606 B CN 110351606B
Authority
CN
China
Prior art keywords
code stream
target
code
time point
description information
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
CN201810309177.8A
Other languages
English (en)
Other versions
CN110351606A (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 CN201810309177.8A priority Critical patent/CN110351606B/zh
Priority to PCT/CN2019/081024 priority patent/WO2019192481A1/zh
Publication of CN110351606A publication Critical patent/CN110351606A/zh
Priority to US17/038,744 priority patent/US11438645B2/en
Application granted granted Critical
Publication of CN110351606B publication Critical patent/CN110351606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/26275Content 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 distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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/485End-user interface for client configuration
    • H04N21/4856End-user interface for client configuration for language selection, e.g. for the menu or subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/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

Abstract

本发明实施例公开了媒体信息处理方法、相关设备及计算机存储介质,其中所述方法包括:获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点所述至少两个码流为分别对所述第一图像子区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述至少两个码流中的一个码流。采用本发明实施例,能够解决现有码流切换方法中存在的切换时延较长等问题,从而提升了码流切换的高效性。

Description

媒体信息处理方法、相关设备及计算机存储介质
技术领域
本发明涉及多媒体技术领域,尤其涉及媒体信息处理方法、相关设备及计算机存储介质。
背景技术
随着大视角视频的广泛应用和普及,越来越多的人加入大视觉视频的体验队伍中。由于大视角视频覆盖的视角范围过大,超过人们正常的视线范围。因此在大视角视频的观看过程中,用户可调整观看视角,以观看不同视角下的视频图像。故此在视角变化的过程中,会存在码流(视频流)的切换。
现有码流切换方案中,服务器端为每个视角准备有不同码率下的码流各一个,且这些码流所包括的码流接入点(stream access point,接入点)在时间上重叠。在用户观看视角变化时,客户端可根据网络情况自适应选择对应码率的目标码流进行下载、解码以及播放。由于在码流编解码过程中,为实现目标码流的正常解码和播放,需从接入点开始解码,以播放接入点之后的码流。可见,从视角变化时到码流接入点接入时中间会存在较长的切换时延,从而降低了码流切换的效率。
发明内容
本发明实施例公开了媒体信息处理方法、相关设备及计算机存储介质,能够解决现有视频切换方法中存在的切换时延较长、码流切换效率较低等问题。
第一方面,本发明实施例公开提供了一种媒体信息处理方法,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像子区域对应的至少两个码流中的一个码流。其中,所述确定待播放的第一目标码流可以包括:从所述第一图像子区域对应的至少两个码流中确定所述第一目标码流。
在一些可能的实施例中,所述至少两个码流包括第一码流和第二码流,所述第一码流中存在与所述第二码流中的接入点SAP在时间上不重叠的接入点SAP。具体的,所述至少两个码流包括第一码流和第二码流,所述第一码流的第N个SAP对应的时间点位于所述第二码流的第N个SAP对应的时间点与所述第二码流的第N+1个时间点之间,所述第一码流的第N个SAP对应的时间点与所述第二码流第N个SAP对应的时间点不相同,所述第一码流的第N个SAP对应的时间点与所述第二码流的第N+1个SAP对应的时间点不相同,N为大于1的一组整数或者一个整数。例如,当所述第一码流包括有K个接入点,则N可为3至K的一组整数等。
在一些实施例中,所述至少两个码流包括第一码流和第二码流,所述第一码流和所述第二码流对应的起始时间点相同,所述第一码流中的第一个码流片段与所述第二码流的第一个码流片段的长度不相同。
在一些实施例中,所述第一码流中的第N个码流片段与所述第二码流的第M个码流片段的长度相同,M为大于1的一组整数或者一个整数。
在一些实施例中,所述第M个码流片段所述第一码流中的第M个码流片段中的SAP对应的时间点与所述第二码流的第M个码流片段中SAP对应的时间点不相同。
在一些实施例中,所述至少两个码流具有相同的质量参数,所述质量参数用于指示码流的质量好坏。所述质量参数包括以下中的至少一项:分辨率、帧率、带宽、质量等级、码率、清晰度以及亮度等等。
在一些实施例中,所述第一目标码流为所述至少两个码流中存在第一目标接入点所对应的码流,所述第一目标接入点对应的时间点满足以下中的任一项:
1)所述第一目标SAP为所述至少两个码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后;
2)所述第一目标SAP为所述至少两个码流所包括的SAP中对应的时间点距离目标时间点最近的SAP,所述第一目标SAP对应的时间点在所述目标时间点之后,所述目标时间点为所述待播放内容的时间点与下载所述第一目标SAP所在的码流片段所需时长的和,或者,所述目标时间点为所述待播放内容的时间点与预设时长的和。
在一些实施例中,所述方法还包括:播放所述待播放的第一目标码流。
在一些实施例中,本申请可应用于用户调节码流播放进度场景中,在所述确定待播放的第一目标码流之前,所述方法还包括:
播放所述至少两个码流中任一码流对应的图像数据;
在发生当前需要播放的时间点切换为所述待播放内容的时间点时,才执行所述根据所述媒体描述信息,确定待播放的第一目标码流。
在一些实施例中,所述媒体描述信息还包括对第二图像区域对应的至少两个码流的描述信息,所述根据所述媒体描述信息,确定待播放的第一目标码流包括:
根据所述媒体描述信息,确定所述第一目标码流和待播放的第二目标码流,所述第二目标码流为所述第二图像区域对应的至少两个码流中的一个码流。
在一些实施例中,所述第一目标码流和所述第二目标码流满足以下条件中的至少一项:
1)所述第一目标码流和所述第二目标码流各自对应的质量参数相同;2)所述第一目标码流所包括的接入点和所述第二目标码流所包括的接入点对应的时间点相同;3)在第一时长内能下载完所述第一目标接入点所在的码流片段segment,且在第二时长内能下载完所述第二目标接入点所在的码流片段segment;
其中,所述第一时长为所述第一目标接入点对应的时间点距离待播放内容的时间点之间的时长,所述第一目标接入点为所述第一目标码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后;所述第二时长为所述第二目标接入点对应的时间点距离待播放内容的时间点之间的时长,所述第二目标接入点为所述第二目标码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第二目标接入点对应的时间点在所述待播放内容的时间点之后。
在一些实施例中,所述第一图像区域对应的至少两个码流或者所述第二图像区域对应的至少两个码流包括第三码流和第四码流;其中,所述第三码流包括的第N+1个接入点对应的时间点在所述第四码流包括的第N个接入点对应的时间点之后,且在所述第四码流包括的第N+1个接入点对应的时间点之前,所述第三码流为所述第一目标码流或者所述第二目标码流。
在一些实施例中,本申请可适用于用户视角变换的场景,在所述确定待播放的第一目标码流之前,所述方法还包括:
播放第三图像区域对应的码流对应的图像数据;
在发生播放的所述第三图像区域对应的图像数据需要切换为所述第一图像区域对应的图像数据时,才执行所述根据所述媒体描述信息,确定待播放的第一目标码流。
在一些实施例中,本申请可适用于网络质量不稳定的场景,在所述确定待播放的第一目标码流之前,所述方法还包括:
播放所述第一图像区域对应的当前码流对应的图像数据;
在发生播放的所述当前码流对应的图像数据需要切换为所述第一图像区域对应的具有目标质量参数的码流对应的图像数据时,才执行所述根据所述媒体描述信息,确定待播放的第一目标码流,所述至少两个码流具有所述目标质量参数,所述当前码流的质量参数与所述目标质量参数不同。
在一些实施例中,所述媒体描述信息为媒体展示描述MPD文件。
在一些实施例中,所述MPD文件包括第一指示信息,所述第一指示信息用于指示所述第一目标码流中包括的接入点对应的时间点信息。
在一些实施例中,所述时间点信息包括所述第一目标码流中第一个接入点对应的时间点、所述第一目标码流中相邻两个接入点间的时间间隔以及所述第一目标码流中接入点的数量。
在一些实施例中,所述MPD文件包括所述第一目标码流的第一描述信息,所述第一描述信息包括所述第一指示信息。
在一些实施例中,所述MPD文件还包括所述第二目标码流的第二描述信息,所述第二描述信息包括第二指示信息,所述第二指示信息用于指示所述第一目标码流所包括的接入点和所述第二目标码流所包括的接入点对应的时间点相同。
在一些实施例中,所述MPD文件包括所述第一目标码流的第一描述信息,所述第一描述信息包括所述第一指示信息;
所述MPD文件还包括所述第二目标码流的第二描述信息,所述第二描述信息包括第二指示信息,所述第二指示信息用于指示所述第一目标码流和所述第二目标码流各自所包括的码流片段segment对应的时段重叠。
在一些实施例中,所述媒体描述信息包括所述第一目标码流所在的媒体轨迹(media track)中的信息。
在一些实施例中,所述媒体描述信息包括第四指示信息,所述第一目标码流所在的媒体轨迹包括第一盒数据(box),所述第一盒数据包括所述第四指示信息,所述第四指示信息用于指示所述第一目标码流中包括的接入点对应的时间点信息。
在一些实施例中,所述时间信息包括所述第一目标码流中第一个接入点对应的时间点、所述第一目标码流中相邻两个接入点间的时间间隔以及所述第一目标码流中接入点的数量。
在一些实施例中,所述第一盒数据还包括第五指示信息,所述第五指示信息还用于指示接入点组的数量;
所述时间信息包括所述第一目标码流中第一个SAP对应的时间点、所述第一码流中相邻两个接入点间的时间间隔以及所述第一码流中接入点的数量。
在一些实施例中,所述接入点组的数量为至少两个时,可包括在时间上相邻的第一接入点组和第二接入点组;其中,所述第一接入点组中相邻两个接入点间的时间间隔相同,所述第二接入点组中相邻两个接入点间的时间间隔相同,且所述第一接入点组中最后一个接入点和所述第二接入点组中第一个接入点之间没有接入点,所述第一接入点组中最后一个接入点对应的时间点在所述第二接入点组中第一个接入点对应的时间点之前。
在一些实施例中,所述媒体描述信息包括所述第二目标码流所在的媒体轨迹(media track)中的第六指示信息,所述第二目标码流所在的媒体轨迹包括第二盒数据(box),所述第二盒数据包括所述第六指示信息,所述第六指示信息用于指示所述第一目标码流所包括的接入点对应的时间点和所述第二目标码流所包括的接入点对应的时间点相同。
在一些实施例中,所述第一目标码流所在的媒体轨迹还包括第三盒数据,所述第三盒数据包括第七指示信息,所述第七指示信息的值和所述第六指示信息的值相同。
在一些实施例中,述第二盒数据和所述第三盒数据为组合类型盒数据(TrackGroupTypeBox),所述第二盒数据的组合类型与所述第三盒数据的组合类型相同。
第二方面,本发明实施例提供了一种终端设备,所述终端设备包括通信单元和处理单元;其中,
所述通信单元用于获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流包括第一码流和第二码流,所述第一码流中存在与所述第二码流中的接入点SAP在时间上不重叠的接入点SAP,所述至少两个码流为分别对所述第一图像子区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
所述处理单元用于根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流。
在一些实施例中,所述终端设备还包括播放单元,
所述播放单元用于播放所述码流对应的图像数据。
关于本发明实施例未示出或未描述的部分,可参见上述第一方面所描述的方法实施例中的相关阐述,这里不再赘述。第三方面,本发明实施例提供了又一种终端设备,包括存储器及与所述存储器和耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令;其中,所述处理器执行所述指令时执行上述第一方面所描述的方法。
在一些实施例中,所述终端设备还包括与所述处理器耦合的显示器,所述显示器用于在所述处理器的控制下播放第一目标码流对应的图像数据。
在一些实施例中,所述终端设备还包括通信接口,所述通信接口与所述处理器通信,所述通信接口用于在所述处理器的控制下与其他设备(如网络设备等)进行通信。
在一些实施例中,所述终端设备还包括与所述处理器耦合的接收器,所述接收器用于在所述处理器的控制下获取媒体描述信息。具体的可接收服务器端发送的媒体描述信息。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储了用于业务切换处理的程序代码。所述程序代码包括用于执行上述第一方面所描述的方法的指令。
通过实施本发明实施例,能够解决现有视频切换方法中存在的切换时延较长等问题,从而提升了码流切换的高效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种媒体信息的处理方法的流程示意图。
图2是本发明实施例提供的一种同一tile下不同码流的示意图。
图3是本发明实施例提供的一种不同码流中接入点的示意图。
图4是本发明实施例提供的一种视角场景示意图。
图5是本发明实施例提供的一种终端设备的结构示意图。
图6是本发明实施例提供的另一种终端设备的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例中的技术方案进行详细描述。
首先,介绍本申请涉及的一些知识概念。
全景视频:也名360度全景视频或360视频,一种用多摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节用户的视角进行观看。
Tile:指的是视频编码标准HEVC中针对待编码图像进行划分所得到的方块形编码区域,一帧图像可划分为多个Tile,这些Tile共同组成该帧图像。每个Tile可以独立编码。相应地,在完整的媒体流(码流)中,其可由多个Tile各自对应的一路媒体流构成。其中,同一时刻(时间戳)所述多个Tile各自对应的子图像可构成一帧完整的图像。
子图像(sub-picture):对图像进行划分,获得原图像的一部分称为该图像的子图像。在一些实施例中,子图像的形状为方形。子图像可以为一帧图像中的部分图像。
图像区域:为方便本专利的描述,以图像区域来作为Tile或者子图像的统称。可以理解的是,本发明中的子图像也可以包括按照Tile编码方式划分的图像。本发明的图像区域的大小不做限定,其可是由一个或多个tile构成的子图像的区域,也可为一帧完整图像对应的区域。
SAP:全称为stream access point,媒体流接入点(也可称为码流接入点)。该媒体流接入点是媒体流(码流)中的一个位置点,在该位置点以及之后的码流数据可以正常播放。SAP在标准ISO/IEC 14496-12中的定义为“A SAP is a position in a containerenabling playback of an identified media stream to be started using only(a)the information contained in the container starting from that positiononwards,and(b)possible initialisation data from other part(s)of thecontainer,or externally available.”翻译为:“一个接入点是容器中的一个位置,媒体流通过容器中该位置点之后的信息和容器中其它位置或外部的可能需要的初始化数据就可以正常播放。”
RAP:Random Access Point,媒体流随机接入点,属于接入点中的一类,是接入点中类型为1,2,和3的接入点。该媒体流随机接入点在标准ISO/IEC 14496-12中的定义为“sample in a track that starts at the ISAU of a SAP of type 1or 2or 3asdefined in Annex I;informally,a sample,from which when decoding starts,thesample itself and all samples following in composition order can be correctlydecoded.”翻译为:“RAP是轨迹中以类型为1和2的SAP的ISAU帧开头的帧,SAP的类型如附录I中的定义,正式的表示,一个RAP帧表示按解码顺序从该帧开始及以后的帧都能正确解码。”
接入点:为方便本专利的描述,以接入点来作为SAP或者RAP的统称。或者其他用于支持接入码流、成功解码并播放的位置点,本申请不做限定。
GOP:全程为group of pictures,一组帧图像。通常包括有I帧、P帧以及B帧。码流通常有多个连续的GOP组成。解码器遇到一个新的GOP时,不需要该GOP之前的任何帧即可正确解码出该GOP内的所有帧图像数据。
track:中文翻译“轨迹”,track在标准ISO/IEC 14496-12中的定义为“timedsequence of related samples(q.v.)in an ISO base media file.NOTE:For mediadata,a track corresponds to a sequence of images or sampled audio;for hinttracks,a track corresponds to a streaming channel.”翻译“ISO媒体文件中相关样本的时间属性序列。注:对于媒体数据,一个track就是个图像或者音频样本序列;对于提示轨迹,一个轨迹对应一个流频道”。解释:track是指一系列有时间属性的按照ISOBMFF的封装方式的样本,比如视频track,视频样本是视频编码器编码每一帧后产生的码流,按照ISOBMFF的规范对所有的视频样本进行封装产生样本。
box:中文翻译“盒子”,box在ISO/IEC 14496-12标准中的定义为“object-oriented building block defined by a unique type identifier and length.NOTE:Called‘atom’in some specifications,including the first definition of MP4.”翻译“面向对象的构建块,由唯一的类型标识符和长度定义。注:在某些规范中称为“原子”,包括MP4的第一个定义。”box是构成ISOBMFF文件的基本单元,box可以包含其他的box。
媒体展示描述(Media presentation description,MPD)是标准ISO/IEC 23009-1中规定的一种文档,在该文档中包括了客户端构造HTTP-URL的元数据。在MPD中包括一个或者多个period(周期)元素,每个period元素包括有一个或者多个自适应集(adaptationset),每个adaptationset中包括一个或者多个表示(representation),每个representation中包括一个或者多个分段,客户端根据MPD中的信息,选择表达,并构建分段的http-URL。
ISO/IEC 23009-1标准规范:又称为DASH(Dynamic Adaptive Streaming overHTTP),该标准规范定义了一种媒体描述格式,使得媒体播放器可以通过媒体描述文件中描述的媒体信息以网络自适应的方式请求媒体流文件。
ISO/IEC 23090-2标准规范:又称为OMAF(Omnidirectional media format,全向媒体格式)标准规范,该规范定义了一种媒体应用格式,可以在应用中实现全向媒体的呈现,全向媒体主要是指全向视频(360°视频)和相关音频。OMAF规范首先指定了可以用于将球面视频转换为二维视频的投影方法的列表,其次是如何使用ISO基本媒体文件格式(ISObase media file format,ISOBMFF)存储全向媒体和该媒体相关联的元数据,以及如何在流媒体系统中封装全向媒体的数据和传输全向媒体的数据,例如通过基于超文本传输协议(HyperText Transfer Protocol,HTTP)的动态自适应流传输(Dynamic AdaptiveStreaming over HTTP,DASH),ISO/IEC 23009-1标准中规定的动态自适应流传输。
ISO基本媒体文件格式(ISOBMFF):是由一系列的box组成,在box中可以包含其他的box,在这些box包含元数据box和媒体数据box,元数据box(moov box)中包含的是元数据,媒体数据box(mdat box)中包含的是媒体数据,元数据的box和媒体数据的box可以是在同一个文件中,也可以是在分开的文件中;如果具有时间属性的元数据采用ISO基本媒体文件格式封装,元数据box中包含的是描述具有时间属性的元数据的元数据,媒体数据box中包含的是具有时间属性的元数据。
接着,介绍本申请涉及的媒体信息处理方法,该方法应用于存在码流切换场景中。如图1示出一种媒体信息处理方法,所述方法包括如下实施步骤:
步骤S102、客户端获取媒体描述信息,所述媒体描述信息为对第一图像内容对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点;
本申请中,所述至少两个码流为分别对所述第一图像子区域的图像内容进行编码所得到的码流,所述至少两个码流对应的图像内容的时段有重叠。
本申请中,图像区域的大小不做限定,其可由一个或多个tile构成的子图像的区域,也可是一帧完整图像对应的区域。本申请下文以所述图像区域为tile为例,进行相关内容的阐述。
步骤S104、所述客户端根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述至少两个码流中的一个码流。
步骤S106、所述客户端播放目标码流集合中的目标码流,所述目标码流集合包括所述第一目标码流。
下面阐述本申请涉及的一些具体实施例和可选实施例。
本申请中,所述媒体描述信息可为对m个图像区域各自对应的多个码流的描述信息,即所述媒体描述信息包括m个tile各自对应的多个码流,m为正整数。其中,每个tile中的多个码流各自对应的码率可为用户侧或系统侧自定义设置的。即每个tile中的任意两个码流各自对应的码率可以相同,也可不同。但,同一tile下对应的多个码流具有相同的编码性能,关于所述多个码流具有相同编码具体将在下文进行阐述。
可选的,所述图像区域tile对应的多个码流可具有相同的质量参数。所述质量参数包括但不限于分辨率、帧率、带宽、质量等级、清晰度、码率以及亮度等等,这里不做详述。
可选的,每个tile中具有相同质量参数的码流可对应配置有至少两个码流。所述至少两个码流为分别对所述同一tile的图像内容进行编码所得到的码流,所述至少两个码流对应的图像内容的时段有重叠。即是,同一tile下对应具有相同质量参数的至少两个码流中包括相同时段的待播放的图像内容。本申请下文以所述质量参数为码率进行相关内容的阐述。例如tile1下对应有码率相同的码流A和码流B,且它们均包括播放视频C中第10分钟-20分钟对应时段的图像内容。
所述m个tile至少包括有所述第一图像区域(即第一tile),即所述媒体描述信息包括有所述第一tile对应的至少两个码流,所述至少两个码流的码率可以相同,也可不同。
可理解的,所述m个tile中各自对应的一路码流可形成一路完整的大视角码流。相应地,同一时刻(时间戳)下m个tile各自对应一帧子图像可拼接形成一帧完整的大视角图像。
在一些实施例中,所述媒体描述信息还包括:对每个码流各自所包括的接入点的描述信息。即,所述媒体描述信息还包括:每个码流各自所包括的接入点,所述接入点的数量以及接入点对应在所述码流中所处的时间点(位置)不做限定,其可为系统侧自定义设置的。
可理解的,每个码流可由至少一个码流片段segment组成。所述segment包括一个或多个GOP,且每个segment的GOP长度不做限定,它们可以相同,也可不同。相应地,接入点可为所述segment中包括的GOP的开始时间点或者结束时间点,即所述接入点可为所述码流中码流片段(segment)的开始时间点、中间时间点以及结束时间点等等。关于接入点在所述码流中对应的时间点的表示方法,将在下文进行详细阐述。
在一些实施例中,为保证同一tile下码流间切换更快或不冲突,同一tile中的任意两个码流各自所包括的接入点在时间上不重叠,或者同一tile中任意两个码流中存在在时间上不重叠的接入点。其中,所述任意两个码流各自的码率可以相同,也可不同。
当任意两个码流的码率相同时,即同一tile下具有相同码率的至少两个码流中各自所包括的接入点在时间上不重叠,或者同一tile下具有相同码率的至少两个码流中存在在时间上不重叠的接入点。以第一tile为例,所述第一tile对应的至少两个码流中包括第一码流和第二码流,则所述第一码流中存在和所述第二码流中的接入点在时间上不重叠的接入点。
以所述至少两个码流包括第一码流和第二码流为例,则表示所述第一码流中存在与所述第二码流中的接入点在时间上不重叠的接入点。
如图2示出一个tile下M个码流中接入点的示意图。其中,所述M个码流的时长、码率以及各自所包括的segment数量均不做限定,图示仅以每个码流包括N个segment为例。如图2,所述M个码流中接入点对应的时间点为各个码流中segment的开始时间点或者结束时间点,即每个码流中接入点的位置为该码流中每个segment的起/止位置。如图,同一码流中前一个segment的结束时间点即为下一个segment的开始时间点,它们均表示同一个接入点对应的时间点。
如图2中,M个码流中除了segment1的开始时间点和segmentN的结束时间点相同/对齐之外,其他segment的起止时间点均被错开、不重叠。即M个码流中各自所包括的接入点在时间上不重叠。
可选的,为方便设计,可将相邻两个码流中第一个segment(segment1)的时长设置为不同,后续的segment按照正常GOP长度封装。如图2中,M个码流中后一个码流的segment1的时长比前一个码流的segment1的时长多一定的时长间隔,该时长间隔为用户侧或系统侧自定义设置的,例如200ms等。其余segment(segment2-segmentN-1)的时长均保持相同等,本申请不做限定。
在一些实施例中,同一tile下的任意两个码流中,例如第三码流和第四码流。所述第三码流中包括的第N+1个接入点对应的时间点在第四码流中包括的第N个接入点对应的时间点之后,且在第四码流中包括的第N+1个接入点对应的时间点之前。如图2中,以码流A中segment2的结束时间点为接入点2(图示为SAP2),码流B至码流M中segment2的开始位置和结束点位置分别为接入点1(图示为SAP1)以及接入点3(图示为SAP3),如图可知码流B至码流M各自的接入点1所对应的时间点均在码流A中接入点2对应的时间点之前,且码流B至码流M各自的接入点3所对应的时间点均在码流A中接入点2对应的时间点之后,便于码流切换之间不存在冲突。
可理解的,本申请为同一tile中同一码流下设计至少两个码流,以在码流切换时提供更多、且更为密集的接入点,便于快速找到某个目标接入点完成码流的切换。
在一些实施例中,为完成码流的快速切换,本申请为同一tile下设计有具有相同编码性能的至少两个码流。所述至少两个码流包括第一码流和第二码流,其可具体体现为:所述第一码流对应的起止时间点和所述第二码流对应的起止时间点相同,且所述第一码流中第一个码流片段segment对应的图像组GOP长度和所述第二码流中第一个码流片段segment对应的GOP长度不相同。可选的,所述第一码流中的第i个码流片段与所述第二码流的第j个码流片段的长度相同,i为大于1的一组整数或者一个整数。如上图2假设码流有N个接入点,则i可为2至N的一组整数,例如2,3,4等等。
可选的,所述第一码流中的第L个码流片段segment中的SAP对应的时间点与所述第二码流的第L个码流片段中SAP对应的时间点不相同。
可选的,所述第一个码流中最后一个segment对应的GOP长度和所述第二码流中最后一个码流片段segment对应的GOP长度也不相同。
例如图2中,码流A至码流M中除了第一个segment1以及最后一个segmentN的GOP长度不相同,则中间的segments中具有相同编号的segment分别在不同码流中的GOP长度可以相同,如码流A至码流M中segment2的GOP长度相同,segment3的GOP长度可相同,…Segment-1的GOP长度可相同。
在一些实施例中,编码性能相同的至少两个码流,还可具体表现为:所述至少两个码流包括第一码流和第二码流。所述第二码流中的第N个接入点位于所述第一码流的第N个接入点和第N+1个接入点之间,所述第一码流的第N个接入点对应的时间点与所述第二码流第N个接入点对应的时间点不相同,所述第一码流的第N个接入点对应的时间点与所述第二码流的第N+1个接入点对应的时间点不相同。具体可以是第二码流中的第N个接入点位于第一码流的第N个接入点之后设定时间间隔(如200ms)。其中N可以是正整数,也可以是大于1的整数,也可以是大于2的整数,还可以是大于3的整数等等,本申请不做限定。例如,当第一码流包括有K个segments,则N可为3到K的一组整数。具体可参见前述图2所示,例如码流C中segment1结束时间点对应的接入点1位于码流A中segment2开始时间点对应的接入点1以及码流A中segment2结束时间点对应的接入点2。
相应地步骤S102中,所述客户端可预先从服务器端获取媒体描述信息,并将其存储到本地数据库中。当所述客户端在确定到需进行码流的切换时,可从服务器端或者本地数据库中获取所述媒体描述信息。相应地,所述客户端可通过解析所述媒体描述信息,获得所述媒体描述信息中上述信息,例如m个tile各自对应的多个码率,每个码流所包括的接入点等信息。
其中,所述客户端确定需进行码流切换所对应的场景有如下四种:
第一种场景中,在客户端视频播放过程中,由于网络质量不稳定,会导致不同码率间的码流切换。
第二种场景中,在客户端视频播放过程中,用户主动调整视频的播放进度,进而会产生码流切换。
第三种场景中,在客户端视频播放过程中,用户主动更换频道,则相应地也会存在码流的切换。例如用户从频道1切换至频道2,则节目内容(即节目对应的码流)也会从节目1切换至节目2。
第四种场景中,在客户端视频播放过程中,由于视频的视角范围(如360°、720°)远远超过了用户正常视线的观察范围。故此会存在用户观察视角的变化。相应地,用户所观看的视频内容(视频图像)也会随着视角的变化而变化,相应地也会存在码流(视频)切换。
如图4中示出一种视角变化的场景示意图。以用户观看全景(360°)视频为例,全景视频(或全景图像)包括四个tile,分别为tile1-tile4。用户在视角A下能观看到tile1对应的视频内容,切换到视角B下能观看到tile3对应的视频内容。相应地,在用户视角切换过程中,同时也会存在码流(视频流)的切换。这里的四个tile以及视角A和B下各自观看到的tile1和tile3仅为示例,并不构成限定。在实际应用中大视角视频包括的tile数量可以更多,且用户在不同视角下观看的tile也不局限于一个。
基于上述三种场景,相应地步骤S104和步骤S106对应存在如下几种实施方式。
第一种实施方式,在网络质量不稳定、用户主动调节播放进度或切换频道的场景中,用户观看的视角范围不会发生变化。本申请以所述第一图像区域为第一tile,质量参数为码率为例,进行相关内容的阐述。可理解的,当所述质量参数为其他参数时,同样采用如下原理进行实施。
S102后所述客户端解析所述媒体描述信息后,可获得所述第一tile对应的多个码率,其具体可包括所述第一tile中不同码率下各自对应的至少两个码流。例如所述媒体描述信息中包括有第一tile下的6个码流。其中,高码率的码流为码流1和码流2;中码率的码流为码流3和码流4;低码率的码流为码流5和码流6。
S104中,所述客户端可根据当前网络质量,从上述三种码率中确定当前网络质量所适应的目标码率,并从所述媒体描述信息中确定出所述目标码率对应的至少两个码流。进一步地,所述客户端可从所述目标码率对应的至少两个码流(即第一tile中同一码率下对应的至少两个码流)中确定出待播放的第一目标码流。其中,所述第一目标码流为所述至少两个码流中的任意一个码流。引用上例,假设当前网络质量非常好(网速超过200兆每秒,M/s),选定高码流为目标码率,则相应地所述第一目标码流可为码流1或者码流2。
在一些实施例中,为尽快完成码流切换,所述第一目标码流为所述至少两个码流中存在目标接入点所对应的码流,所述目标接入点为所述至少两个码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述目标接入点对应的时间点在所述待播放内容的时间点之后。
这里的待播放内容的时间点可为网络质量发生变化所对应的时间点,或者用户调节播放进度后所对应的时间点。如视频A播放到第5分钟(5:00:00)时,用户主动拖动进度条至第8分钟,则待播放内容的时间点为第8分钟(8:00:00)。
所述接入点对应的时间点包括但不限于成功接入码流的时间点、接入码流后解码码流对应的解码时间点以及接入点位于码流中的帧编号等等,本申请不做限定。关于所述接入点可参见前文实施例中的阐述。
即,所述客户端需从所述目标码率下对应的至少两个码流中,选择一个距离待播放内容的时间点最近的目标接入点所在的码流,作为所述第一目标码流。例如图3中,码流B至码流M为相同码率(低码率)下的几个码流,每个码流中segment的起止时间点可为该码流的接入点所对应的时间点。假设某用户在观看码流A的过程中,在T1时间点网络变差。此时需将码流A切换至低码率下的某个第一目标码流。如图所示可知,码流B中存在的目标接入点对应的时间点(T2)距离T1时间点最近,则客户端可选择目标接入点所在的码流B,作为待播发的第一目标码流。
在一些实施例中,为尽快完成码流切换,同时需保证码流播放的连续性,提高用户体验。所述第一目标码流可为所述至少两个码流中存在目标接入点所对应的码流,所述目标接入点为所述至少两个码流所包括的接入点中对应的时间点距离目标时间点最近的接入点,所述目标时间点为在待播放内容的时间点之后,下载完所述目标接入点所在的码流片段segment所对应的时间点,即目标时间点为待播放内容的时间点+下载目标接入点所在segment所对应的时长。其中,所述目标接入点在所述目标时间点之后。
即,所述客户端能在目标接入点对应的时间点到待播放内容的时间点之间的时长内,能够下载完所述目标接入点所在的segment。此时可将所述目标接入点所在的码流作为所述待播发的第一目标码流。例如,引用图3的例子,T1时间点即为到播放内容的时间点,T1对应所在的segment为segment1,假设在当前网络情况下,下载segment1所用的时长为T1到T3对应的时长。则,客户端在选择第一目标码流时,可以T3时间点为基准,从码流B至码流M中寻找存在目标接入点对应的时间点,距离T3时间点最近的码流,并作为待播发的第一目标码流。如图3所示,码流C中T4时间点对应的接入点即为满足要求的目标接入点。相应地,客户端可将码流C作为所述第一目标码流。
在一些可能的实施例中,所述第一目标码流可为所述至少两个码流中存在目标接入点所对应的码流,所述目标接入点为所述至少两个码流所包括的接入点中对应的时间点距离目标时间点最近的接入点。所述目标时间点为在所述待播放内容的时间点之后,经过预设时长所对应的时间点。所述预设时长为用户侧或系统侧自定义设置的时间阈值。其中,所述目标接入点对应的时间点位于所述目标时间点之后。
相应地S106中,所述客户端先从所述服务器端下载所述第一目标码流,并从所述目标码流中的目标接入点处开始解码并播放所述第一目标码流对应的图像数据。
可选的,为节省时间,尽快完成所述第一目标码流的切换。S106中所述客户端可从所述目标接入点所在的码流片段segment的开始时间点,开始下载所述第一目标码流。引用如图3中所述第一目标码流为码流B的例子,客户端可从目标接入点(T2)所在的segment2开始下载码流B(即下载码流B中segment2-segmentN的图像内容),并从目标接入点对应的T2时间点开始解码并播发该码流B。
其中,在上述网络质量不稳定场景中,在所述确定待播放的第一目标码流之前,所述方法还包括:播放所述第一图像区域对应的当前码流对应的图像数据;在发生播放的所述当前码流对应的图像数据需要切换为所述第一图像区域对应的具有目标质量参数的码流对应的图像数据时,才执行所述根据所述媒体描述信息,确定待播放的第一目标码流,所述至少两个码流具有所述目标质量参数,所述当前码流的质量参数与所述目标质量参数不同。
即需确定出符合当前网络质量所对应的目标质量参数的码流,进而从媒体描述信息中确定待播放的第一目标码流。
相应地,在上述用户调节播放进度场景中,在所述确定待播放的第一目标码流之前,所述方法还包括:播放所述至少两个码流中任一码流对应的图像数据;在发生当前需要播放的时间点切换为所述待播放内容的时间点时,才执行所述根据所述媒体描述信息,确定待播放的第一目标码流。
相应地,在上述视角变化场景中,在所述确定待播放的第一目标码流之前,所述方法还包括:播放第三图像区域对应的码流对应的图像数据;在发生播放的所述第三图像区域对应的图像数据需要切换为所述第一图像区域对应的图像数据时,才执行所述根据所述媒体描述信息,确定待播放的第一目标码流。
第二种实施方式,在视角变化场景中,所述客户端需先确定变换后的第一视角。再根据当前网络质量以及所述第一视角,从所述媒体描述信息中找到对应的目标码流集合;所述目标码流集合包括所述第一视角下所能观察的至少一个tile各自对应的目标码流。
具体的,所述媒体描述信息还包括有对初始视角下用户所能观察到的图像区域tile的描述信息,即所述媒体描述信息包括初始视角下的tile。所述初始视角可为用户首次使用客户端观看大视角视频时,所能看到该大视角视频的图像区域tile。
相应地,在用户视角发生变化后,基于初始视角下的tile,可计算第一视角下所能观察到的n个tile,n为小于等于m的正整数。其中,所述第一视角为用户视角变化后所对应的视角,其具体可由客户端中的传感器元件(如转角传感器、陀螺仪等)检测获得。关于如何基于初始视角的tile来计算第一视角下的tile,这里不做详述。本申请下文以所述a个tile为第一tile和第二tile为例,进行相关内容的阐述。当a为大于2的正整数时,同理可采用如下原理确定各个tile下待播放的目标码流。
接着,所述客户端根据当前网络质量,从第一tile和第二tile中不同码率对应的多个码率中,确定出适合当前网络质量对应的码率,例如第一tile对应第一码率,第二tile对应第二码率。所述第一码率和所述第二码率可以相同,也可不同,其取决于所述媒体描述信息中的定义。
相应地,所述客户端可从第一tile中第一码率对应的至少两个码流中,选择一个目标码流,作为待播放的第一目标码流。从第二tile中第二码流对应的至少两个码流中,选择一个目标码流,作为待播放的第二目标码流。关于如何从同一码率对应的至少两个码流中选择待播发的目标码流,具体可参见前述第一种实施例中的相关阐述,这里不再赘述。
在可选实施例中,为保证用户第一视角下不同tile对应的码流的播放质量,所述第一目标码流和所述第二目标码流可满足以下条件中的任一项或多项的组合:
1)所述第一目标码流和所述第二目标码流各自对应的码率相同。
可理解的,由于第一tile和第二tile形成用户第一视角下所能观看到的图像区域。为保证第一视角下播放的图像质量相同,需保证每个tile对应的目标码流的码流相同。这样才不会存在某些tile的图像质量差(目标码流的码率低),某些tile的图像质量好(目标码流的maven高)等情况。
2)所述第一目标码流和所述第二目标码流各自所包括的接入点对应的时间点相同。
即,要求第一视角下观察到的每个tile对应的目标码流所包括接入点在时间上一一重叠。这样可保证第一视角下的各目标码流解码和播放时间相同,客户端可对第一视角下的各目标码流进行统一操作,操作不复杂,节省时间。
3)在第一时长内能下载完所述第一目标接入点所在的码流片段segment,且在第二时长内能下载完所述第二目标接入点所在的码流片段segment。
其中,所述第一时长为所述第一目标接入点对应的时间点距离待播放内容的时间点之间的时长,所述第一目标接入点为所述第一目标码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后。
所述第二时长为所述第二目标接入点对应的时间点距离待播放内容的时间点之间的时长,所述第二目标接入点为所述第二目标码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第二目标接入点对应的时间点在所述待播放内容的时间点之后。
即是,要求第一视角下所能观察到的每个tile各自对应的目标码流能够对应在该目标码流的目标接入点处到视角切换时间(即待播放内容的时间点)之间的时长内,下载完所述目标接入点所在的segments。具体可参见前述第一种实施方式中的相关阐述,这里不再赘述。当每个tile各自对应的目标码流所包括的接入点在时间上对齐时,即是要求,在同一时长内能下载完每个tile各自对应的目标码流中目标接入点对应所在的segments。
相应地S106中,所述客户端先从所述服务器端下载所述第一目标码流和所述第二目标码流,并从所述第一目标码流和第二目标码流各自对应的目标接入点处开始解码并播放。
可选的,为完成码流的快速切换,可从所述第一目标码流和所述第二目标码流各自对应的目标接入点所在的segment开始下载后续的segments,对应从各自的目标接入点处开始解码并播放所述第一目标码流和第二目标码流。具体可参见前述第一种实施方式中的相关阐述,这里不再赘述。
下面阐述本申请中关于码流所包括的接入点的表示方法,涉及的相关实施例。
在第一个实施例中,所述媒体描述信息可为MPD文件,该MPD文件中包括了m个tile各自对应的多个码流、同一码流下对应的多个码流以及每个码流所包括的接入点等等信息。具体的,所述MPD文件包括对某个码流(例如第一目标码流)的描述信息,所述描述信息包括有指示信息,所述指示信息用于指示该码流所包括的接入点对应的时间点信息。具体可用于指示该码流中包括的接入点对应的时间点和码流片段segment的开始或结束时间点重叠。一个示例中,所述MPD文件包括如下语法:
表1.MPD文件
Figure BDA0001619894150000131
Figure BDA0001619894150000141
语法元素如下:
AdaptationSet id和Representation id中指示了某个tile(id)下对应的码流(id)。其中,AdaptationSet id指示了tile id,Representation id指示了码流id。上表1中示出了tile1(id=1的一个tile)下的两个码流,所述两个码流的标识id分别为180-video-1和180-video-2。
<AdaptationSet>-</AdaptationSet>中指示了对某个AdaptationSet id(即某个tile)中各个码流的描述信息。<Representation>-</Representation>中具体指示了对某个码流进行描述的描述信息,即该码流的描述信息。
Bandwidth中指示了码流的带宽。其中,带宽和码率呈正相关,该bandwith也反映了码流的码率。当两个码流的bandwith相同时,则表示这两个码流的码率相同。如上表1中码流180-video-1和180-video-2中的bandwith均为2000000,则表示表1中示出了两个相同码率的码流。
<SegmentTimeline>-</SegmentTimeline>中指示了码流所包括的码流片段segment以及每个segment的时长(或segment的GOP长度)。例如上表1中,id为180-video-1的码流中,SegmentTimeline属性描述了:码流180-video-1总共包括432个segment,且每个segment的时长为:d/timescale=180000/90000=2s。
相应地,id为180-video-2的码流中,SegmentTimeline属性描述了:码流180-video-1总共包括432个segment。其中第一个segment的时长为:d/timescale=198000/90000=2.2s,后面的431个segment中每个segment的时长均为:d/timescale=180000/90000=2s。
segmentAlignment中指示了tile下多个码流中所包括的segment在时间上是否是对齐的,即该tile下多个码流中同一标识(编号)的segment在时间上是否重合。当segmentAlignment="false"时,表示tile下多个码流所包括的segment在时间上不对齐。当segmentAlignment="ture"时,表示tile下多个码流所包括的segment在时间上对齐。
startsWithSAP中指示了码流中所包括的每个segment是否由接入点开始,即每个segment的开始时间点是否为接入点。当startsWithSA="1"时,表示每个segment由接入点开始,即每个segment的开始时间点即为接入点。当startsWithSA="0"时,表示每个segment不由接入点开始,即接入点不为每个segment的开始时间点。
在第二个实施例中,所述媒体描述信息可为MPD文件。所述MPD文件包括对某个码流(例如第一目标码流)的第一描述信息,所述第一描述信息包括有第一指示信息,所述第一指示信息用于指示该码流所包括的接入点对应的时间点信息。
在可选实施例中,所述第一指示信息可具体用于指示所述码流中第一个接入点对应的时间点、所述码流中相邻两个接入点间的时间间隔以及所述码流中接入点的数量。即,所述MPD文件中通过利用码流中第一个接入点对应的时间点(即起始接入点的时间点)以及相邻两个接入点间的时间间隔以及接入点的数量(可为符合所述时间间隔的接入点的数量)。所述时间点信息可包括所述码流中第一个接入点对应的时间点、所述码流中相邻两个接入点间的时间间隔以及所述码流中接入点的数量。
在一些实施例中,所述第一指示还用于指示SAP组的数量。相应地,所述时间点信息可包括所述SAP组中第一个SAP对应的时间点、所述SAP组中相邻两个SAP间的时间间隔以及所述SAP组中SAP的数量。
具体的,在ISO/IEC 23009-1标准,又称为DASH(Dynamic Adaptive Streamingover HTTP)标准中,新增第一指示信息SAPTimeLine来表示码流所包括的接入点(如SAP),该SAPTimeLine的语法为如下:
表2.SAPTimeLine的语法格式
Figure BDA0001619894150000151
如上表2所示的语法中,O表示可选属性,M表示必选属性,OD表示携带默认值的可选属性。
基于上述SAPTimeLine的语法,下面在一个示例中,使用SAPTimeLine的MPD文件包括如下语法:
表3.MPD文件
Figure BDA0001619894150000161
Figure BDA0001619894150000171
语法元素如下:
<SAPTimeline>-</SAPTimeline>中指示了码流中包括的接入点所对应的时间点信息,即为第一指示信息。例如上表3中,id为180-video-1的码流中,SAP Timeline属性描述了:码流180-video-1总共包括864个接入点,且相邻两个接入点间的时间间隔为:i/timescale=90000/90000=1s。
相应地,id为180-video-2的码流中,SAP Timeline属性描述了:码流180-video-2总共包括864个接入点,在第一个segment中包括两个SPAs,第一个接入点从0s开始,接入点的时间间隔为1s。后续码流中的segments中包括862个接入点,第一个接入点从2.2s开始,接入点的时间间隔为1s。
即是,码流180-video-2中包括在时间上相邻的两个接入点组,第一接入点组包括2个接入点,以0s开始,组内接入点的时间间隔为1s。第一接入点组包括862个接入点,以2.2s开始,组内接入点的时间间隔为1s。且第一接入点组和第二接入点组中间的空隙时间内没有其他的接入点。
在第三个实施例中,所述媒体描述信息可为MPD文件。所述MPD文件中包括对不同tile下各自对应的码流的描述信息。这里以第一目标码流和第二目标码流为例,所述MPD文件对第一目标码流的第一描述信息,所述第一描述信息可包括上述第二实施例中的第一指示信息,这里不再赘述。相应地,所述MPD文件中还包括对第二目标码流的第二描述信息,所述第二描述信息包括第二指示信息。所述第二指示信息用于指示所述第一目标码流和所述第二目标码流各自所包括的码流片段segment对应的时段重叠,即用于指示任意两个码流所包括的segment在时间上对齐。可选的,所述任意两个码流可为不同tile下的码流。
具体的,在ISO/IEC 23009-1(DASH)标准中,每一个AdaptationSet的每一个Representation都需要用一个segmentTemplate来描述segment情况,具体如前述第一个和第二个实施例中的相关阐述。由于本申请中为不同tile下准备的同一码率下对应的至少两个码流中会存在不同tile中码流的segment以及接入点的位置对齐/相同。为节省开销,本申请新增一个segmentAlignAcrossAdap属性描述,用于表示不同码流中所包括的segment对应的时段重叠。所述segmentAlignAcrossAdap的语法如下:
表4.segmentAlignAcrossAdap语法
Figure BDA0001619894150000181
如上表4所示的语法中,O表示可选属性,M表示必选属性,OD表示携带默认值的可选属性。
一个示例中,使用segmentAlignAcrossAdap的MPD文件如下:
表5.MPD文件
Figure BDA0001619894150000182
Figure BDA0001619894150000191
语法元素如下:
segmentAlignAcrossAdap=“Representation_id”,指示了与第一目标码流中segment设置方式相同的第二目标码流。如上表5中,id为180-video-2的码流中,segmentAlignAcrossAdap属性描述了:码流180-video-2所包括的segment和码流180-video-1所包括的segment对应相同。
可选实施例中,还可定义segmentAlignAcrossAdap=“AdaptationSet id,Representation_id”,其用于指示与第一目标码流中segment设置方式相同的第二目标码流以及所述第二目标码流对应的tile。如上表5中假设segmentAlignAcrossAdap=”1,180-video-1”,则表示了id为180-video-2的码流中,segmentAlignAcrossAdap属性描述了:码流180-video-2所包括的segment和AdaptationSet id为1下的码流180-video-1所包括的segment对应相同。
如表5还可获知:在AdaptationSet id为1,representation id为180-video-1对应的第一目标码流中通过segmentTemplate和segmentTimeLine描述了segment的信息。在AdaptationSet id为2,representation id为180-video-2对应的第二目标码流中通过segmentAlignAcrossAdap属性表示了该第二目标码流码流中的segment与第一目标码流的segment是对齐的。
需要说明的是,在第三个实施例中以及下述的第四个实施例中MPD文件包括的指示信息<SAPTimeline>-</SAPTimeline>以及<segmentTimeLine>-</segmentTimeLine>并非均包括,可包括其中的任一项或两项。具体的,在第三个实施例中<SAPTimeline>-</SAPTimeline>可选择性包括,在第四个实施例中相应地<segmentTimeLine>-</segmentTimeLine>可选择性包括。如上表5中包括有<SAPTimeline>-</SAPTimeline>,即示出了码流所包括的SAP对应的时间点信息。
在第四个实施例中,类似于第三个实施例,所述媒体描述信息可为MPD文件。所述MPD文件中包括对不同tile下各自对应的码流的描述信息。以第一目标码流和第二目标码流为例,所述MPD文件对第一目标码流的第一描述信息,所述第一描述信息可包括上述第二实施例中的第一指示信息,这里不再赘述。相应地,所述MPD文件中还包括对第二目标码流的第二描述信息,所述第二描述信息包括第三指示信息。所述第三指示信息用于指示所述第一目标码流和所述第二目标码流各自所包括的接入点对应的时间点相同,即用于指示任意两个码流所包括的接入点在时间上对齐。可选的,所述任意两个码流可为不同tile下的码流。
具体的,本申请新增一个SAPAlignAcrossAdap属性描述,用于表示不同码流中所包括的接入点对应的时间点相同。所述SAPAlignAcrossAdap的语法和所述segmentAlignAcrossAdap语法相同,可为SAPAlignAcrossAdap=“Representation_id”或者SAPAlignAcrossAdap=“AdaptationSet_id,Representation_id”。具体可参见前述segmentAlignAcrossAdap的相关阐述,这里不再赘述。
第五个实施例中,所述媒体描述信息包括某个码流(如第一目标码流)所在的媒体轨迹(media track)中的信息。所述媒体描述信息包括第四指示信息。所述第一目标码流所在的媒体轨迹包括第一盒数据(box)。其中,所述第一盒数据(box)包括所述第四指示信息。所述第四指示信息用于指示该码流(如第一目标码流)中包括的接入点对应的时间点信息,也指示码流中接入点对应的时间点。
在一些实施例中,所述第四指示信息可具体用于指示所述码流中第一个接入点对应的时间点、所述码流中相邻两个接入点间的时间间隔以及所述码流中接入点的数量。所述时间点信息包括所述码流中第一个接入点对应的时间点、所述码流中相邻两个接入点间的时间间隔以及所述码流中接入点的数量。
在一些实施例中,所述第一盒数据还可包括第五指示信息,所述第五指示信息用于指示接入点组的数量Num-entry,Num-entry为正整数。在Num-entry大于等于1的情况下,所述接入点组包括在时间上相邻的第一接入点组和第二接入点;其中,所述第一接入点组中相邻两个接入点间的时间间隔相同,所述第二接入点组中相邻两个接入点间的时间间隔相同,且所述第一接入点组和所述第二接入点组之间所对应的时段内没有接入点。关于所述接入组可参见前述实施例中的相关阐述,这里不在赘述。
相应地,所述时间点信息包括所述SAP组中第一个SAP对应的时间点、所述SAP组中相邻两个SAP间的时间间隔以及所述SAP组中SAP的数量。
具体的,在ISOBMFF(ISO base media file format,ISO/IEC 14496-12)标准中,新增/新定义个box用于表示码流中所包括的接入点。关于新增的所述box的类型不做限定,可由用户侧或系统侧自定义设置。这里本申请以‘spat’类型为例,一个media track中最多包括一个‘spat’box。相应地,本申请新增的‘spat’box包括如下语法:
表6.‘spat’box
Figure BDA0001619894150000201
语法元素如下:
num_entry:接入点组的数量,即表示entry的数量。其中,一段连续的时间间隔相同的接入点为一个entry(即接入点组)。关于所述接入点组的相关阐述可参见前述实施例中的相关阐述,这里不在赘述。
Start:表示第一个接入点的时间点。
Interval:表示相邻两个接入点件的时间间隔。
repeat:表示以@start开始,间隔为@interval的接入点的重复数量。即符合上述间隔为@interval的接入点的数量。
第六个实施例中,所述媒体描述信息包括某个码流(如第二目标码流)所在的媒体轨迹(media track)中的信息。所述媒体描述信息包括第六指示信息。所述第二目标码流所在的媒体轨迹包括第二盒数据(box),所述第二盒数据包括所述第六指示信息。所述第六指示信息用于指示所述第一目标子码流所包括的SAP对应的时间点和所述第二目标码流所包括的SAP对应的时间点相同。
在一些实施例中,所述第一目标码流所在的媒体轨迹还包括第三盒数据,所述第三盒数据包括第七指示信息,所述第七指示信息的值和所述第六指示信息的值相同。
在一些实施例中,所述第二盒数据所述第二盒数据和所述第三盒数据为组合类型盒数据(TrackGroupTypeBox),所述第二盒数据的组合类型与所述第三盒数据的组合类型相同。
具体的,在ISOBMFF(ISO base media file format,ISO/IEC 14496-12)标准中,码流(track)中接入点的表示方法可采用前述第四个实施例的相关原理表示。为避免采用相同方式来表示在时间上接入点一一对齐的多个码流。本申请,可将在时间上接入点对应对齐的码流track用码流组track_group的方式表示。该码流组中包括的至少两个码流对应的码率可以相同,也可不同,不做限定。
本申请还新增/新定义个组合类型box(TrackGroupTypeBox)用于表示任意两个码流中所包括的接入点对应的时间点相同,即在时间上对齐。其中,TrackGroupTypeBox的语法定义如下:
表7.TrackGroupTypeBox
Figure BDA0001619894150000211
语法元素如下:
Track_group_type:表示码流组合的类型,即码流所在分类的类型。
Track_group_id:表示码流组合的标识,即码流所在分类的标识。具备同一类型和同一id的tracks属于同一个组合,即具有相同Track_group_type以及Track_group_id的码流可形成一种码流的分类(一种码流组合)。
基于TrackGroupTypeBox的定义,本申请新增一种类型的TrackGroupTypeBox,该类型可由用户侧或系统侧自定义设置。这里本申请以‘sapa’类型为例,一个media track中最多包括一个‘sapa’box。相应地,本申请新增的‘sapa’box包括如下语法:
表8.‘sapa’box
Figure BDA0001619894150000212
Figure BDA0001619894150000221
由上表8可知,类型为’sapa’的TrackGroupTypeBox且track_group_id相同的码流tracks中各自对应的接入点在时间上一一对齐。在实际应用中,每个码流对应所在的track中均包括有上述‘sapa’box,便于根据码流中的TrackGroupTypeBox的类型以及track_group_id的值来确定任意两个码流所包括的接入点相同。
通过实施本发明实施例,能够解决现有技术中码流切换过程中存在的切换时延较长等问题,从而提升了码流切换的效率。
上述主要从客户端的角度出发对本发明实施例提供的方案进行了介绍。所述客户端对应的设备可为终端设备。可以理解的是,终端设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本发明实施例可以根据上述方法示例对设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图5示出了上述实施例中所涉及的终端设备(客户端设备)的一种可能的结构示意图。终端设备700包括:处理单元702和通信单元703。处理单元702用于对终端设备700的动作进行控制管理。处理单元702用于支持终端设备700执行图1中步骤S104和S106,和/或用于执行本文所描述的技术的其它步骤。通信单元703用于支持终端设备700与其它设备的通信,例如支持和服务器通信以获取服务器中存储的媒体描述信息,和/或用于执行本文所描述的技术的其它步骤。
当所述终端设备利用软件实现本发明时,所述终端设备700还可以包括存储单元701,用于存储终端设备700的程序代码和数据。当所述终端设备利用电路或芯片实现本发明时,所述终端设备可没有存储单元。
其中,处理单元702可以是处理器或控制器,例如可以是中央处理器(英文:Central Processing Unit,CPU),通用处理器,数字信号处理器(英文:Digital SignalProcessor,DSP),专用集成电路(英文:Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(英文:Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元703可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如终端设备与其他设备之间的接口。存储单元701可以是存储器。
当处理单元702为处理器,通信单元703为通信接口,存储单元701为存储器时,本发明实施例所涉及的终端设备可以为图6所示的终端设备。
参阅图6所示,该终端设备710包括:处理器712、通信接口713、存储器77。可选地,终端设备710还可以包括总线714。其中,通信接口713、处理器712以及存储器77可以通过总线714相互连接;总线714可以是外设部件互连标准(英文:Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(英文:Extended Industry StandardArchitecture,简称EISA)总线等。所述总线714可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,如图5和6所示的终端设备还可包括显示单元,所述显示单元具体可为显示屏,图未示。所述显示屏用于显示码流对应的图像内容。
上述图5或图6所示的终端设备的具体实现还可以对应参照前述方法实施例的相应描述,此处不再赘述。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:Random Access Memory,RAM)、闪存、只读存储器(英文:Read Only Memory,ROM)、可擦除可编程只读存储器(英文:ErasableProgrammable ROM,EPROM)、电可擦可编程只读存储器(英文:Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备中。当然,处理器和存储介质也可以作为分立组件存在于终端设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (30)

1.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,所述至少两个码流包括第一码流和第二码流,所述第一码流的第N个SAP对应的时间点位于所述第二码流的第N个SAP对应的时间点与所述第二码流的第N+1个时间点之间,所述第一码流的第N个SAP对应的时间点与所述第二码流第N个SAP对应的时间点不相同,所述第一码流的第N个SAP对应的时间点与所述第二码流的第N+1个SAP对应的时间点不相同,N为大于1的一组整数或者一个整数。
2.根据权利要求1所述的方法,其特征在于,所述至少两个码流具有相同的质量参数,所述质量参数包括以下中的至少一项:分辨率、帧率、带宽、质量等级以及码率。
3.根据权利要求1所述的方法,其特征在于,所述第一目标码流为所述至少两个码流中存在第一目标接入点所对应的码流,所述第一目标接入点对应的时间点满足以下中的任一项:
1)第一目标SAP为所述至少两个码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后;
2)所述第一目标SAP为所述至少两个码流所包括的SAP中对应的时间点距离目标时间点最近的SAP,所述第一目标SAP对应的时间点在所述目标时间点之后,所述目标时间点为所述待播放内容的时间点与下载所述第一目标SAP所在的码流片段所需时长的和,或者,所述目标时间点为所述待播放内容的时间点与预设时长的和。
4.根据权利要求2所述的方法,其特征在于,所述第一目标码流为所述至少两个码流中存在第一目标接入点所对应的码流,所述第一目标接入点对应的时间点满足以下中的任一项:
1)第一目标SAP为所述至少两个码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后;
2)所述第一目标SAP为所述至少两个码流所包括的SAP中对应的时间点距离目标时间点最近的SAP,所述第一目标SAP对应的时间点在所述目标时间点之后,所述目标时间点为所述待播放内容的时间点与下载所述第一目标SAP所在的码流片段所需时长的和,或者,所述目标时间点为所述待播放内容的时间点与预设时长的和。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
播放所述待播放的第一目标码流对应的图像数据。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述媒体描述信息还包括对第二图像区域对应的至少两个码流的描述信息,
所述根据所述媒体描述信息,确定待播放的第一目标码流包括:
根据所述媒体描述信息,确定所述第一目标码流和待播放的第二目标码流,所述第二目标码流为所述第二图像区域对应的至少两个码流中的一个码流。
7.根据权利要求6所述的方法,其特征在于,所述第一目标码流和所述第二目标码流满足以下条件中的至少一项:
1)所述第一目标码流和所述第二目标码流各自对应的质量参数相同;2)所述第一目标码流所包括的接入点和所述第二目标码流所包括的接入点对应的时间点相同;3)在第一时长内能下载完所述第一目标接入点所在的码流片段segment,且在第二时长内能下载完第二目标接入点所在的码流片段segment;
其中,所述第一时长为所述第一目标接入点对应的时间点距离待播放内容的时间点之间的时长,所述第一目标接入点为所述第一目标码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后;所述第二时长为所述第二目标接入点对应的时间点距离待播放内容的时间点之间的时长,所述第二目标接入点为所述第二目标码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第二目标接入点对应的时间点在所述待播放内容的时间点之后。
8.根据权利要求7所述的方法,其特征在于,所述第一图像区域对应的至少两个码流或者所述第二图像区域对应的至少两个码流包括第三码流和第四码流;其中,所述第三码流包括的第N+1个接入点对应的时间点在所述第四码流包括的第N个接入点对应的时间点之后,且在所述第四码流包括的第N+1个接入点对应的时间点之前,所述第三码流为所述第一目标码流或者所述第二目标码流。
9.根据权利要求1-4中任一项所述的方法,其特征在于,所述媒体描述信息为媒体展示描述MPD文件。
10.根据权利要求9所述的方法,其特征在于,所述MPD文件包括第一指示信息,所述第一指示信息用于指示所述第一目标码流中包括的接入点对应的时间点信息。
11.根据权利要求10所述的方法,其特征在于,所述时间点信息包括所述第一目标码流中第一个接入点对应的时间点、所述第一目标码流中相邻两个接入点间的时间间隔以及所述第一目标码流中接入点的数量。
12.根据权利要求10或11所述的方法,其特征在于,所述MPD文件包括所述第一目标码流的第一描述信息,所述第一描述信息包括所述第一指示信息;
所述MPD文件还包括第二目标码流的第二描述信息,所述媒体描述信息还包括对第二图像区域对应的至少两个码流的描述信息,所述第二目标码流为所述第二图像区域对应的至少两个码流中的一个码流,
所述第二描述信息包括第二指示信息,所述第二指示信息用于指示所述第一目标码流所包括的接入点和所述第二目标码流所包括的接入点对应的时间点相同。
13.根据权利要求10-11中任一项所述的方法,其特征在于,所述MPD文件包括所述第一目标码流的第一描述信息,所述第一描述信息包括所述第一指示信息;
所述MPD文件还包括第二目标码流的第二描述信息,所述媒体描述信息还包括对第二图像区域对应的至少两个码流的描述信息,所述第二目标码流为所述第二图像区域对应的至少两个码流中的一个码流,
所述第二描述信息包括第二指示信息,所述第二指示信息用于指示所述第一目标码流和所述第二目标码流各自所包括的码流片段segment对应的时段重叠。
14.根据权利要求1-4中任一项所述的方法,其特征在于,所述媒体描述信息包括所述第一目标码流所在的媒体轨迹(media track)中的信息。
15.根据权利要求14所述的方法,其特征在于,所述媒体描述信息包括第四指示信息,所述第一目标码流所在的媒体轨迹包括第一盒数据(box),所述第一盒数据包括所述第四指示信息,所述第四指示信息用于指示所述第一目标码流中包括的接入点对应的时间点信息。
16.根据权利要求15所述的方法,其特征在于,所述时间点信息包括所述第一目标码流中第一个接入点对应的时间点、所述第一目标码流中相邻两个接入点间的时间间隔以及所述第一目标码流中接入点的数量。
17.根据权利要求16所述的方法,其特征在于,所述第一盒数据还包括第五指示信息,所述第五指示信息还用于指示接入点组的数量;
所述时间信息包括所述第一目标码流中第一个SAP对应的时间点、所述第一码流中相邻两个接入点间的时间间隔以及所述第一码流中接入点的数量。
18.根据权利要求14所述的方法,其特征在于,所述媒体描述信息包括第二目标码流所在的媒体轨迹media track中的第六指示信息,所述媒体描述信息还包括对第二图像区域对应的至少两个码流的描述信息,所述第二目标码流为所述第二图像区域对应的至少两个码流中的一个码流,所述第二目标码流所在的媒体轨迹包括第二盒数据box,所述第二盒数据包括所述第六指示信息,所述第六指示信息用于指示所述第一目标码流所包括的接入点对应的时间点和所述第二目标码流所包括的接入点对应的时间点相同。
19.根据权利要求18所述的方法,其特征在于,所述第一目标码流所在的媒体轨迹还包括第三盒数据,所述第三盒数据包括第七指示信息,所述第七指示信息的值和所述第六指示信息的值相同。
20.根据权利要求19所述的方法,其特征在于,所述第二盒数据和所述第三盒数据为组合类型盒数据TrackGroupTypeBox,所述第二盒数据的组合类型与所述第三盒数据的组合类型相同。
21.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,所述至少两个码流具有相同的质量参数,其中,所述质量参数包括以下中的至少一项:分辨率、帧率、带宽、质量等级以及码率。
22.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,
所述第一目标码流为所述至少两个码流中存在第一目标接入点所对应的码流,所述第一目标接入点对应的时间点满足以下中的任一项:
1)第一目标SAP为所述至少两个码流所包括的接入点中对应的时间点距离待播放内容的时间点最近的接入点,所述第一目标接入点对应的时间点在所述待播放内容的时间点之后;
2)所述第一目标SAP为所述至少两个码流所包括的SAP中对应的时间点距离目标时间点最近的SAP,所述第一目标SAP对应的时间点在所述目标时间点之后,所述目标时间点为所述待播放内容的时间点与下载所述第一目标SAP所在的码流片段所需时长的和,或者,所述目标时间点为所述待播放内容的时间点与预设时长的和。
23.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,所述方法还包括:
播放所述待播放的第一目标码流对应的图像数据。
24.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,
所述媒体描述信息还包括对第二图像区域对应的至少两个码流的描述信息,
所述根据所述媒体描述信息,确定待播放的第一目标码流包括:
根据所述媒体描述信息,确定所述第一目标码流和待播放的第二目标码流,所述第二目标码流为所述第二图像区域对应的至少两个码流中的一个码流。
25.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,
所述媒体描述信息为媒体展示描述MPD文件。
26.一种媒体信息的处理方法,其特征在于,所述方法包括:
获取媒体描述信息,所述媒体描述信息包括对第一图像区域对应的至少两个码流的描述信息,所述至少两个码流中任一码流存在与所述至少两个码流中的其他码流的接入点在时间上不相同的接入点,所述至少两个码流为分别对所述第一图像区域的图像内容进行编码所得到的码流,所述至少两个码流各自所编码的图像内容对应的时段有重叠;
根据所述媒体描述信息,确定待播放的第一目标码流,所述第一目标码流为所述第一图像区域对应的至少两个码流中的一个码流;
其中,
所述媒体描述信息包括所述第一目标码流所在的媒体轨迹media track中的信息。
27.一种终端设备,其特征在于,包括存储器及与所述存储器耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令;其中,所述处理器执行所述指令时执行如上权利要求1-26中任一项所述的方法。
28.根据权利要求27所述的终端设备,其特征在于,所述终端设备还包括与所述处理器耦合的接收器,所述接收器用于接收媒体描述信息。
29.根据权利要求27或28所述的终端设备,其特征在于,所述终端设备还包括与所述处理器耦合的显示器,所述显示器用于在所述处理器的控制下显示待播放的码流所对应的图像数据。
30.一种计算机可读存储介质,
所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至26任一项所述方法。
CN201810309177.8A 2018-04-04 2018-04-04 媒体信息处理方法、相关设备及计算机存储介质 Active CN110351606B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810309177.8A CN110351606B (zh) 2018-04-04 2018-04-04 媒体信息处理方法、相关设备及计算机存储介质
PCT/CN2019/081024 WO2019192481A1 (zh) 2018-04-04 2019-04-02 媒体信息处理方法、相关设备及计算机存储介质
US17/038,744 US11438645B2 (en) 2018-04-04 2020-09-30 Media information processing method, related device, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810309177.8A CN110351606B (zh) 2018-04-04 2018-04-04 媒体信息处理方法、相关设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110351606A CN110351606A (zh) 2019-10-18
CN110351606B true CN110351606B (zh) 2022-12-27

Family

ID=68099845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810309177.8A Active CN110351606B (zh) 2018-04-04 2018-04-04 媒体信息处理方法、相关设备及计算机存储介质

Country Status (3)

Country Link
US (1) US11438645B2 (zh)
CN (1) CN110351606B (zh)
WO (1) WO2019192481A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021014857A2 (pt) * 2019-02-01 2021-10-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados
US11310303B2 (en) 2019-10-01 2022-04-19 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
CN112528016B (zh) * 2020-11-19 2024-05-07 重庆兆光科技股份有限公司 一种基于低维球面投影的文本分类方法
WO2023006944A1 (en) 2021-07-30 2023-02-02 Aarhus Universitet An external aortic annuloplasty ring and a method of manufacturing same
CN113794942B (zh) * 2021-09-09 2022-12-02 北京字节跳动网络技术有限公司 自由视角视频的视角切换方法、装置、系统、设备和介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100118938A1 (en) * 2008-11-12 2010-05-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for generating a stream of data
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
GB201100397D0 (en) 2011-01-11 2011-02-23 Univ Gent Fast channel switching
CN104025604A (zh) * 2012-07-02 2014-09-03 索尼公司 传输设备、传输方法、以及网络装置
CN103957471B (zh) * 2014-05-05 2017-07-14 华为技术有限公司 网络视频播放的方法和装置
CN104270646A (zh) * 2014-09-22 2015-01-07 何震宇 一种基于移动流媒体的自适应传输方法和系统
JP2016092837A (ja) * 2014-10-30 2016-05-23 株式会社東芝 映像圧縮装置、映像再生装置および映像配信システム
US10924820B2 (en) * 2015-08-07 2021-02-16 Mediatek Inc. Method and apparatus of bitstream random access and synchronization for multimedia applications
WO2018005835A1 (en) 2016-07-01 2018-01-04 Vid Scale, Inc. Systems and methods for fast channel change
CN106303682B (zh) * 2016-08-09 2019-09-20 华为技术有限公司 频道切换的方法、装置、终端及服务器

Also Published As

Publication number Publication date
WO2019192481A1 (zh) 2019-10-10
US20210014558A1 (en) 2021-01-14
US11438645B2 (en) 2022-09-06
CN110351606A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110351606B (zh) 媒体信息处理方法、相关设备及计算机存储介质
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
RU2652099C2 (ru) Устройство передачи, способ передачи, устройство приема и способ приема
US9247317B2 (en) Content streaming with client device trick play index
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
CN107634930B (zh) 一种媒体数据的获取方法和装置
US10277927B2 (en) Movie package file format
CN110996126A (zh) 视频流传输方法、设备、客户端设备和计算机可读介质
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
WO2020228482A1 (zh) 视频处理方法、装置及系统
KR102103054B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
CN110999308B (zh) 发送装置、发送方法、接收装置和接收方法
WO2019128668A1 (zh) 视频码流处理方法、装置、网络设备和可读存储介质
CN105191324B (zh) 通信设备、通信数据生成方法、以及通信数据处理方法
CN114584769A (zh) 一种视角切换方法及装置
JP2022524871A (ja) メディアコンテンツにおけるレイトバインディングのための方法および装置
CN110741648A (zh) 用于多频道画像的传输系统及其控制方法、多频道画像的播放方法及其装置
US20160173788A1 (en) Systems and methods to achieve interactive special effects
CN114339265A (zh) 视频处理、控制、播放方法及设备、介质
CN115604523A (zh) 自由视角视频场景的处理方法、客户端及服务器
US20230072093A1 (en) A Method, An Apparatus and a Computer Program Product for Video Streaming
CN114125499A (zh) 虚拟现实视频处理方法及其终端、服务器及存储介质
CN115834899A (zh) 基于视角的vr视频编码方法、装置、存储介质及电子设备
WO2019105932A1 (en) Method for managing a streaming processing of a multimedia video spatially tiled stored on a network equipment, and corresponding terminal

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