CN114979762B - 视频下载、传输方法、装置、终端设备、服务器及介质 - Google Patents

视频下载、传输方法、装置、终端设备、服务器及介质 Download PDF

Info

Publication number
CN114979762B
CN114979762B CN202210383767.1A CN202210383767A CN114979762B CN 114979762 B CN114979762 B CN 114979762B CN 202210383767 A CN202210383767 A CN 202210383767A CN 114979762 B CN114979762 B CN 114979762B
Authority
CN
China
Prior art keywords
video data
video
target
buffer length
downloading
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
CN202210383767.1A
Other languages
English (en)
Other versions
CN114979762A (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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202210383767.1A priority Critical patent/CN114979762B/zh
Publication of CN114979762A publication Critical patent/CN114979762A/zh
Priority to PCT/CN2023/081525 priority patent/WO2023197811A1/zh
Application granted granted Critical
Publication of CN114979762B publication Critical patent/CN114979762B/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/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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例公开了一种视频下载、传输方法、装置、终端设备、服务器及介质。该视频下载方法,可包括:获取缓冲长度,该缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度;根据缓冲长度生成用于对存储在服务器中的全景视频中与第一视频数据和/或第二视频数据关联的目标视频数据进行下载的视频数据下载请求;将视频数据下载请求发送给服务器,并根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。本公开实施例的技术方案,提升了视频观看用户对于全景视频的观看体验。

Description

视频下载、传输方法、装置、终端设备、服务器及介质
技术领域
本公开实施例涉及全景视频技术领域,尤其涉及一种视频下载、传输方法、装置、终端设备、服务器及介质。
背景技术
在全景视频的观看场景中,为了让用户能够观看到任意视角的视频数据,用户设备通常会从存储有全景视频的服务器中下载整个全景视频(360*180度)。但是,全景视频中只有用户视角内的视频数据会被用户观看到,这造成了用户视角外的视频数据的下载浪费,同时限制了用户视角内的视频数据的视频质量。
为此,一种解决方案是用户设备只下载用户视角内的视频数据,由此可以最大化地利用带宽资源来增强用户视角内的视频数据的视频质量。但用户视角发生突变时,其会观看到未下载的视频数据,这就出现了视频数据缺失的情况。
因此,如何既能够让用户观看到高视频质量的视频数据,并且还不会出现视频数据缺失的情况,从而在最大程度上提升用户观看体验,这是亟待解决的技术问题。
发明内容
本公开实施例提供了一种视频下载、传输方法、装置、终端设备、服务器及介质,以提升视频观看用户对于全景视频的观看体验。
第一方面,本公开实施例提供了一种视频下载方法,可应用于客户端,该方法可以包括:获取缓冲长度,其中,缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、以及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据;
根据缓冲长度生成视频数据下载请求,其中,视频数据下载请求是用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
将视频数据下载请求发送给服务器,根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
第二方面,本公开实施例还提供了一种视频传输载方法,可应用于存储有全景视频的服务器,该方法可以包括:
接收客户端发送的视频数据下载请求,其中,视频数据下载请求包括根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据;
其中,缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
第三方面,本公开实施例还提供了一种视频下载装置,可配置于客户端,该装置可以包括:
缓冲长度获取模块,用于获取缓冲长度,其中缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据;
下载请求生成模块,用于根据缓冲长度生成视频数据下载请求,其中视频数据下载请求包括用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
目标视频数据下载模块,用于将视频数据下载请求发送给服务器,并根据接收的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
第四方面,本公开实施例还提供了一种视频传输载装置,可配置于存储有全景视频的服务器,该装置可以包括:
下载请求接收模块,用于接收客户端发送的视频数据下载请求,视频数据下载请求包括根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
目标视频数据传输模块,用于将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据;
其中,缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
第五方面,本公开实施例还提供了一种终端设备,可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本公开任意实施例所提供的视频下载方法。
第六方面,本公开实施例还提供了一种服务器,可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本公开任意实施例所提供的视频传输载方法。
第七方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本公开任意实施例所提供的视频下载方法或是视频传输载方法。
本公开实施例的技术方案,通过获取缓冲长度,并根据缓冲长度生成用于对存储在服务器中的全景视频中的目标视频数据进行下载的视频数据下载请求,该目标视频数据可以包括与缓冲长度对应的第一视频数据和/或第二视频数据关联的视频数据;进一步,将视频数据下载请求发送给服务器,并根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。上述技术方案,提升了视频观看用户对于全景视频的观看体验。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开实施例的应用场景的示例性说明中的通过全景视频中的某帧视频画面展示出的基础层和增强层的示意图;
图2是本公开实施例一中的一种视频下载方法的流程图;
图3a是本公开实施例一中的一种视频下载方法中基础层的下载示意图;
图3b是本公开实施例一中的一种视频下载方法中增强层的下载示意图;
图4是本公开实施例二中的一种视频下载方法的流程图;
图5是本公开实施例二中的一种视频下载方法中第一可选示例的流程图;
图6是本公开实施例二中的一种视频下载方法中第二可选示例的流程图;
图7是本公开实施例三中的一种视频传输载方法的流程图;
图8是本公开实施例四中的一种视频下载装置的结构框图;
图9是本公开实施例五中的一种视频传输载装置的结构框图;
图10是本公开实施例六中的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
在介绍本公开实施例之前,先对本公开实施例的应用场景进行示例性说明:全景视频可以理解为360*180度的视频,具体来说可以是原始全景视频(即对真实现实进行拍摄后得到的未经处理的全景视频)、虚拟现实(Virtual Reality,VR)全景视频、增强现实(Augmented Reality,AR)全景视频以及混合现实(Mixed Reality,MR)全景视频等。视频观看用户可以通过终端设备观看全景视频,该终端设备可以是头戴式显示设备、手机、平板电脑和笔记本等。正如上文所述,为了既能让视频观看用户观看到高视频质量的视频数据,又不会出现视频数据缺失的情况,本公开实施例提出了分层(即划分为基础层(base tier,BT)以及增强层(enhancement tier,ET)这两层)传输/下载全景视频的技术方案。
具体的,基础层中的第一视频数据是全景视频中清晰度较低(Low)并且对应于覆盖范围大于用户视角的目标视角的视频数据,这是为了兜底而设置的,避免在视频观看用户的用户视角发生突变时,出现视频数据缺失的情况,而且其并不会占用过多的网络带宽。增强层中的第二视频数据是全景视频中清晰度较高(High)并且对应于用户视角的视频数据,该用户视角可以通过视角方向(如前方、后方、上方、下方、左方和右方等)、视角范围(即上下和左右的从多少度到多少度的范围)等多种方式进行表示。示例性的,如图1所示,这是全景视频中的某帧视频画面,以目标视角是完整视角(即360*180度)为例,与整幅视频画面对应的视频数据可以理解为第一视频数据,与矩形框框出(即用户视角对应)的视频画面对应的视频数据可以理解为第二视频数据。
实施例一
图2是本公开实施例一中提供的一种视频下载方法的流程图。本实施例可以适用于下载全景视频的情况,尤其适用于下载到既能够保证用户观看到的视频数据的视频质量,并且还不会出现视频数据缺失的全景视频的情况。该方法可以由本公开实施例提供的视频下载装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在终端设备上。
参见图2,本公开实施例的方法具体包括如下步骤:
S110、获取缓冲长度,其中,缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、以及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
其中,用户视角可以是视频观看用户在观看全景视频时的视角,其可以是实时采集到的视频观看用户在当前时刻的视角,也可以是预测得到的视频观看用户在某未来时间点/未来时间段时的视角,在此未做具体限定。目标视角可以是覆盖范围大于用户视角的视角,即其可以包裹住整个用户视角并且包含用户视角未包含的视角。实际应用中,可选的,为了杜绝出现视频数据缺失的情况,目标视角可以是完整视角。第一视频数据可以是全景视频中与目标视角对应的视频数据,第一当前缓冲长度可以是在当前时刻处于缓冲状态(即已缓冲且还未播放)的第一视频数据的实际长度;第一目标缓冲长度可以是处于缓冲状态的第一视频数据的目标长度,其是为了避免第一视频数据的播放过程出现卡顿现象而确定的长度。相应的,第二视频数据可以是全景视频中与用户视角对应的视频质量高于第一视频数据的视频数据,第二当前缓冲长度可以是当前时刻处于缓冲状态的第二视频数据的实际长度;第二目标缓冲长度可以是处于缓冲状态的第二视频数据的目标长度,其是为了避免第二视频数据的播放过程出现卡顿现象而确定的长度。获取缓冲长度,该缓冲长度包括第一当前缓冲长度、第一目标缓冲长度、第二当前缓冲长度和第二目标缓冲长度中的至少一个。
在实际应用中,可选的,当用户视角是预测得到的用户在某未来时间段内的视角时,该未来时间段的时长(即用户视角的预测时间间隔)可以是与第二目标缓冲长度有关的时长,具体来说可以是第二目标缓冲长度决定了预测时间间隔,如第二目标缓冲长度是3秒(s),预测时间间隔也可以是3s,那么用户视角可以是视频观看用户在未预测时间段内的前3s(即未来时间段)内的视角。需要说明的是,用户视角预测的准确性通常会随着预测时间间隔的增加而下降,因此第二目标缓冲长度不能设置的过长;但是,反过来说,第二目标缓冲长度也不能设置的过短,因为在网络带宽不佳的情况下,其容易出现已缓冲的第二视频数据全部被播放完毕而导致高视频质量的第二视频数据缺失的情况。在此基础上,再可选的,当目标视角是完整视角时,由于其无需通过视角预测得到,为了防止视频卡顿,可以设置一个较长的第一目标缓冲长度,即第一目标缓冲长度可以大于第二目标缓冲长度。当然,在网络带宽较佳的情况下,第一视频数据的下载速度是可以得到保证的,因此第一目标缓冲长度也可以与第二目标缓冲长度相等,在此未做具体限定。
S120、根据缓冲长度生成视频数据下载请求,其中,视频数据下载请求是用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联。
其中,根据缓冲长度生成视频数据下载请求,即根据缓冲长度确定对全景视频中什么样的视频数据(这里称为目标视频数据)进行下载,然后生成相应的视频数据下载请求,该目标视频数据可以包括与第一视频数据和/或第二视频数据关联的视频数据,比如属于第一视频数据和/或第二视频数据的视频数据、根据第一视频数据和/或第二视频数据确定的视频数据等,在此未做具体限定。实际应用中,可选的,当目标视频数据既与第一视频数据关联,又与第二视频数据关联时,视频数据下载请求可以理解为并行下载基础层和增强层的请求。
S130、将视频数据下载请求发送给服务器,并根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
其中,由于全景视频存储于服务器中,因此可以将视频数据下载请求发送给服务器,然后在接收到服务器针对于该视频数据下载请求返回的请求结果时,可以根据该请求结果下载目标视频数据,如请求结果是目标视频数据在服务器中的存储地址时,可以根据该存储地址从该服务器中下载目标视频数据;再如请求结果是目标视频数据本身时,可以直接通过接收该目标视频数据来达到下载该目标视频数据下载的目的。
需要说明的是,上述技术方案,通过缓冲长度调度下载待缓冲的第一视频数据和第二视频数据,由此既可以下载到与用户视角对应的高视频质量的第二视频数据,又可以下载到与覆盖范围大于用户视角的目标视角对应的第一视频数据,换言之,这可以最大化地利用带宽资源来增强第二视频数据的视频质量,而且在预测得到的用户视角存在偏差或是视频观看用户突然转变视角时,可以让视频观看用户观看到第一视频数据,以避免出现视频数据缺失的情况,从而在最大程度上提升了视频观看用户对于全景视频的观看体验。
本公开实施例的技术方案,通过获取缓冲长度,并根据缓冲长度生成用于对存储在服务器中的全景视频中的目标视频数据进行下载的视频数据下载请求,该目标视频数据可以包括与缓冲长度对应的第一视频数据和/或第二视频数据关联的视频数据;进一步,将视频数据下载请求发送给服务器,并根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。上述技术方案,提升了视频观看用户对于全景视频的观看体验。
一种可选的技术方案,在实施例一的基础上,上述视频下载方法,还可以包括:获取历史带宽信息和历史带宽预测精度,根据历史带宽信息和历史带宽预测精度预测在下载目标视频数据时的网络带宽,根据网络带宽确定第一目标缓冲长度;和/或,用户视角是预测出的视频观看用户在观看待缓冲的第二视频数据时的视角,获取历史视角预测精度,并根据历史视角预测精度和网络带宽确定第二目标缓冲长度。
其中,历史带宽信息可以是与在当前时刻之前的历史时刻的网络带宽有关的信息,如历史带宽的具体数值和/或波动性;历史带宽预测精度可以是在历史时刻对相对于该历史时刻的未来时间段内的网络带宽的预测精度。根据这历史带宽信息以及历史带宽预测精度预测在下载目标视频数据时的网络带宽,由此可以确定届时以怎样的网速下载目标视频数据,进而确定第一目标缓冲长度,如较佳的网络带宽可以保证目标视频数据的下载速度,因此在网络带宽较佳时,可以设置较短的第一目标缓冲长度,这是因为可及时下载的目标视频数据不会造成视频卡顿现象;反之,可以设置较长的第一目标缓冲长度。上述技术方案,通过预测出的在下载目标视频数据时的网络带宽确定第一目标缓冲长度,由此下载得到的目标视频数据可以避免出现视频卡顿现象。
当用户视角是预测得到的视频观看用户在观看待缓冲的第二视频数据时的视角时,可以获取用于表示在历史时刻对相对于该历史时刻的未来时间段内的用户视角的预测精度的历史视角预测精度,进而根据历史视角预测精度和网络带宽确定第二目标缓冲长度,如在较低的历史视角预测精度和较佳的网络带宽的情况下可以设置较短的第二目标缓冲长度,这样既可降低用户视角预测不准的风险,又不会出现视频卡顿现象;反之,可以设置较长的第二目标缓冲长度。上述技术方案,通过历史视角预测精度以及预测出的在下载目标视频数据时的网络带宽定时和/或实时确定第二目标缓冲长度,由此下载得到的目标视频数据既可以让视频观看用户观看到高视频质量的视频数据,又可以避免出现高视频质量的视频数据缺失的情况。
另一可选的技术方案,在实施例一的基础上,根据缓冲长度生成视频数据下载请求,可以包括:预测在下载目标视频数据时的网络带宽;根据缓冲长度以及网络带宽生成视频数据下载请求,该视频数据下载请求表示出的目标视频数据的目标码率与网络带宽有关。其中,第一视频数据和/或第二视频数据可以对应有至少两个候选码率,这意味着与第一视频数据和/或第二视频数据关联的目标视频数据也可以对应有至少两个候选码率。由于不同候选码率的目标视频数据需要得到不同网络带宽的支持方能正常下载,如高码率的目标视频数据需要较佳的网络带宽的支持,因此根据缓冲长度和网络带宽共同生成的视频数据下载请求,既可表示出待下载的目标视频数据是与第一视频数据还是第二视频数据相关联,又可表示出需下载哪个候选码率(即目标码率)的目标视频数据。
另一可选的技术方案,在实施例一的基础上,在配置有客户端的终端设备内设置有缓冲区,缓冲区包括用于缓冲下载得到的第一视频数据的第一缓冲区以及用于缓冲下载得到的第二视频数据的第二缓冲区;在下载目标视频数据之后,上述视频下载方法,还可以包括:将目标视频数据缓冲到与目标视频数据关联的缓冲区内;在播放全景视频中的当前视频数据时,如果第二缓冲区中缓冲有与当前视频数据对应的第二视频数据,则从第二缓冲区中获取并播放对应的第二视频数据;如果第二缓冲区中未缓冲有与当前视频数据对应的第二视频数据,则确定第一缓冲区中是否缓冲有与当前视频数据相对应的第一视频数据;如果是,则从第一缓冲区中获取并播放与当前视频数据相对应的第一视频数据。
其中,当目标视频数据与第一视频数据关联时,可以将其缓冲到第一缓冲区中;当目标视频数据与第二视频数据关联时,可以将其缓冲到第二缓冲区中。这样一来,后续在播放该目标视频数据时,可以直接从存储有该目标视频数据的缓冲区中获取到该目标视频数据并进行播放。在此基础上,针对于全景视频中的需要在当前时刻或是当前时段进行播放的当前视频数据(其可能是先前已经下载得到的目标视频数据,也可能是还未下载得到的目标视频数据),为了让视频观看用户观看到高视频质量的视频数据,可以先确定第二缓冲区中是否缓冲有与当前视频数据对应的第二视频数据(即视频内容实质相同的第二视频数据),如果是,则从第二缓冲区中获取到该对应的第二视频数据并进行播放;否则,为了避免出现视频卡顿现象,可以再确定在第一缓冲区中是否缓冲有与当前视频数据对应的第一视频数据,若是,则从第一缓冲区中获取到该对应的第一视频数据并进行播放;在此基础上,否则,这说明当前视频数据是还未下载得到的目标视频数据,这时可能出现视频卡顿现象。上述技术方案,可以在最大程度上先保证视频观看用户观看到高视频质量的视频数据,然后避免出现视频卡顿现象,由此提升了视频观看用户对于全景视频的观看体验。
为了从整体上更好地理解上述技术方案,下面结合具体示例对其进行示例性的说明。示例性的,参见图3a,在全景视频中包括依次下载的N帧视频画面,与下载得到的某帧视频画面对应的第一视频数据被缓冲到第一缓冲区中,其中的实线斜线表示在当前时刻处于缓冲状态的第一视频数据,虚线斜线表示当前正在缓冲的第一视频数据,第一缓冲区的长度可以理解为第一目标缓冲长度。参见图3b,这里以全景视频中的第M帧视频画面为例,其展示出了视频画面M中与不同的用户视角对应的视频画面,每个用户视角下的视频画面对应有多个候选码率。第二缓冲区与第一缓冲区类似,在此不再赘述。因此,在下载第二视频数据时,可以根据预测得到的用户视角和网络带宽确定对与什么用户视角下的什么候选码率的视频画面对应的第二视频数据进行下载。
实施例二
图4是本公开实施例二中提供的一种视频下载方法的流程图。本实施例以上述实施例中各个可选方案为基础进行优化。本实施例中,可选的,缓冲长度包括第一当前缓冲长度和第一目标缓冲长度;根据缓冲长度生成视频数据下载请求,可以包括:如果第一当前缓冲长度小于第一目标缓冲长度,则生成用于下载属于第一视频数据的目标视频数据的视频数据下载请求。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
相应的,如图4所示,本实施例的方法具体可以包括如下步骤:
S210、获取缓冲长度,其中,缓冲长度包括全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度。
S220、如果第一当前缓冲长度小于第一目标缓冲长度,则生成用于对属于第一视频数据的目标视频数据进行下载的视频数据下载请求,其中,目标视频数据是存储在服务器中的全景视频中的视频数据。
其中,由于第一当前缓冲长度可以是在当前时刻处于缓冲状态的第一视频数据的实际长度,而第一目标缓冲长度可以是处于缓冲状态的第一视频数据的目标长度,即可以避免第一视频数据的播放过程出现卡顿现象的长度,因此当第一当前缓冲长度小于第一目标缓冲长度时,这说明此时有可能出现视频卡顿现象,相对于视频质量,视频卡顿更会影响到视频观看用户的观看体验。因此,当第一当前缓冲长度小于第一目标缓冲长度时,可以生成用于对属于第一视频数据的目标视频数据进行下载的视频数据下载请求,该目标视频数据可以理解为在当前时刻存在下载需求(即与当前已经缓冲的第一视频数据在播放时间上相邻并且还未缓冲)的第一视频数据,以便通过下载足够长度的第一视频数据来保证全景视频的流畅播放。
S230、将视频数据下载请求发送给服务器,并根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
本公开实施例的技术方案,通过判断第一当前缓冲长度是否小于第一目标缓冲长度来确定当前处于缓冲状态的第一视频数据是否可保证全景视频的流畅播放,如果否,则可以生成用于对属于第一视频数据的目标视频数据进行下载的视频数据下载请求,其与后续步骤相互配合,由此可以通过下载足够长度的第一视频数据来保证全景视频的流畅播放。
一种可选的技术方案,在实施例二的基础上,缓冲长度还可包括全景视频中与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据,在如果第一当前缓冲长度小于第一目标缓冲长度之后,上述视频下载方法,还可以包括:如果第一当前缓冲长度大于或是等于第一目标缓冲长度,则确定第二当前缓冲长度是否小于第二目标缓冲长度;如果第二当前缓冲长度小于第二目标缓冲长度,则生成用于对属于第二视频数据的目标视频数据进行下载的视频数据下载请求。
其中,当第一当前缓冲长度大于或是等于第一目标缓冲长度时,这说明此时可以保证全景视频的流畅播放。那么,为了进一步提升视频观看用户的观看体验,可以再次判断第二当前缓冲长度是否小于第二目标缓冲长度,如果是,这说明此时无法保证视频观看用户可观看到高视频质量的视频数据,那么生成用于对属于第二视频数据的目标视频数据进行下载的视频数据下载请求,其中目标视频数据可以理解为在当前时刻存在下载需求(即与当前已经缓冲的第二视频数据在播放时间上相邻并且还未缓冲)的第二视频数据,其与后续步骤相互配合,由此通过下载足够长度的第二视频数据来保证视频观看用户可观看到高视频质量的视频数据。
在此基础上,可选的,与当前缓冲的第二视频数据对应的用户视角是预测出的视频观看用户在当前缓冲的第二视频数据的播放时间时的视角,则在确定第二当前缓冲长度是否小于第二目标缓冲长度后,上述视频下载方法,还可以包括:如果第二当前缓冲长度大于或是等于第二目标缓冲长度,则再次预测视频观看用户在播放时间时的用户视角,确定全景视频中与再次预测的用户视角和播放时间对应并且与第二视频数据的视频质量相同的第三视频数据;如果第三视频数据中包括除了当前缓冲的第二视频数据之外的第四视频数据,则生成用于下载基于第四视频数据得到的目标视频数据的视频数据下载请求;如果第三视频数据中未包括第四视频数据,则确定全景视频中与当前缓冲的第二视频数据视频质量相同并且在空间位置上相邻的第五视频数据,生成用于下载基于第五视频数据得到的目标视频数据的视频数据下载请求。
其中,当第二当前缓冲长度大于或等于第二目标缓冲长度时,这说明当前缓冲(即在当前时刻下已缓冲完成且还未播放)的第二视频数据基本可以保证视频观看用户观看到高视频质量的视频数据。但是,考虑到与当前缓冲的第二视频数据对应的用户视角是预测得到的视频观看用户在该当前缓冲的第二视频数据的播放时间时的视角,其可能存在预测有误的情况,因此为了进一步提升视频观看用户的观看体验,可以再次预测视频观看用户在该播放时间时的用户视角,并确定第三视频数据,该第三视频数据可以是全景视频中与播放时间和再次预测的用户视角对应的并且与第二视频数据的视频质量相同的视频数据,这样的第三视频数据与第二视频数据关联。
如果第三视频数据中包括除当前缓冲的第二视频数据之外的第四视频数据,这说明先前预测的播放时间上的用户视角存在偏差,该第四视频数据正是先前未预测出的那部分用户视角对应的视频数据,因此可以生成用于下载基于第四视频数据得到的目标视频数据的视频数据下载请求,其与后续步骤相互配合,由此可以通过再次预测出的更加准确的用户视角来在最大程度上保证视频观看用户在播放时间时能够观看到高视频质量的视频数据。上述目标视频数据可以是第四视频数据,在第四视频数据的基础上加上以其为中心向外扩展出的当前缓冲的第二视频数据之外的视频数据,等等,在此未做具体限定。
如果第三视频数据中未包括第四视频数据,这说明先前预测的播放时间上的用户视角是准确的。在此基础上,考虑到视频观看用户在播放时间上有可能突然改变自身的用户视角,为了具有一定的容错性(即在各种情况下均让视频观看用户能够观看到高视频质量的视频数据),可以确定全景视频中的与当前缓冲的第二视频数据视频质量相同并且在空间位置上相邻的第五视频数据,即第五视频数据可以是第二视频数据***的并且具有较好的视频质量的视频数据,然后生成用于下载基于第五视频数据得到的目标视频数据的视频数据下载请求,其与后续步骤相配合,由此可以通过下载超出用户视角的目标视频数据来提高视频观看用户观看到高视频质量的视频数据的鲁棒性。上述目标视频数据可以是第五视频数据,在第五视频数据的基础上加上以其为中心向外扩展出的视频数据,等等,在此未做具体限定。
为了从整体上更好地理解上述技术方案中的各种判断分支,下面结合具体示例对其进行示例性的说明。示例性的,如图5所示,判断第一当前缓冲长度是否小于第一目标缓冲长度,如果是,则生成用于对属于第一视频数据的目标视频数据进行下载的视频数据下载请求(结束),否则进一步判断第二当前缓冲长度是否小于第二目标缓冲长度,然后根据判断结果执行下述步骤;如果是,则生成用于对属于第二视频数据的目标视频数据进行下载的视频数据下载请求(结束),否则确定第三视频数据,并继续执行下述步骤;判断第三视频数据中是否包括第四视频数据,如果是,则生成用于下载基于该第四视频数据得到的目标视频数据的视频数据下载请求(结束),否则,确定第五视频数据,并生成用于下载基于第五视频数据得到的目标视频数据的视频数据下载请求(结束)。各种判断分支相互配合,由此既可以避免出现视频卡顿的情况,又可以在最大程度上保证视频观看用户在播放时间时可以观看到高视频质量的视频数据。
为了从整体上更好地理解上述各个技术方案,下面结合具体示例对其进行示例性的说明。示例性的,如图6所示,通过目标缓冲长度控制模块接收用户视角记录/预测模块发送的历史视角预测精度、及网络带宽测量/预测模块发送的网络带宽,进而确定第一目标缓冲长度和第二目标缓冲长度。其中,网络带宽可以是网络带宽测量/预测模块根据历史带宽信息和历史带宽预测精度预测到的,历史带宽信息和历史带宽预测精度可以是通过缓冲区实时/定时发送的网络带宽确定的,历史带宽信息可以通过已经发生的网络带宽波动性来表示。历史视角预测精度可以是用户视角记录/预测模块根据用户视角获取模块实时/定时发送的用户视角确定的,而且还可以由此进行未来时间段的用户视角的预测。下载调度模块在接收到目标缓冲长度控制模块发送的第一目标缓冲长度和第二目标缓冲长度、以及缓冲区发送的第一当前缓冲长度和第二当前缓冲长度后,可以确定待下载的目标视频数据是与第一视频数据还是第二视频数据关联(即下载调度结果),并将下载调度结果发送给视频数据下载请求模块,以使其根据下载调度结果、用户视角记录/预测模块预测出的用户视角、以及网络带宽测量/预测模块预测出的网络带宽生成视频数据下载请求,将生成结果发送给服务器,由此来从服务器中请求(即下载)到与第一视频数据和/或第二视频数据关联的、对应于与预测出的网络带宽匹配的目标码率的、及对应于预测出的用户视角的目标视频数据。将下载到的目标视频数据缓冲到缓冲区中,以便根据用户视角获取模块获取到的当前时刻下的用户视角从缓冲区中获取到当前视频数据,并进行视频渲染/解码/播放等操作,由此实现全景视频的播放。
实施例三
图7是本公开实施例三中提供的一种视频传输载方法的流程图。本实施例可以适用于传输全景视频的情况,尤其适用于传输既能够保证用户观看到的视频数据的视频质量,并且不会出现视频数据缺失的全景视频的情况。该方法可以由本公开实施例提供的视频传输载装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在服务器上,该服务器上存储有全景视频。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
相应的,如图7所示,本实施例的方法具体可以包括如下步骤:
S310、接收客户端发送的视频数据下载请求,其中,视频数据下载请求是根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联,缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角是全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
S320、将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据。
在实际应用中,可选的,当目标视角是完整视角时,对于与第一视频数据关联的目标视频数据,可以将该帧视频画面的全部视频数据作为目标视频数据,并将该目标视频数据作为一个整体进行编码,然后将编码结果进行传输;对于与第二视频数据关联的目标视频数据,还可以将该帧视频画面划分为几大块,对该目标视频数据所在的那块的视频数据进行编码,然后将编码结果进行传输。即,与第一视频数据关联的目标视频数据以及与第二视频数据关联的目标视频数据可以分别进行独立编码;当然,二者也可以进行依赖编码,这在后文介绍。
本公开实施例的技术方案,接收客户端发送的视频数据下载请求,该视频数据下载请求可以是根据缓冲长度生成的用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,该目标视频数据可以包括与缓冲长度对应的第一视频数据和/或第二视频数据关联的视频数据;然后将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据。上述技术方案,可以提升视频观看用户对于全景视频的观看体验。
一种可选的技术方案,在实施例三的基础上,上述视频传输载方法,还可包括:针对于全景视频中未进行编码的原始视频数据,将原始视频数据进行空间切割,得到原始视频子数据;针对于各原始视频子数据中与目标视角对应的目标视频子数据、及与用户视角对应的用户视频子数据,基于第一预设码率对目标视频子数据进行编码并更新,并且采用可分级视频编码的方式,基于第二预设码率对用户视频子数据进行编码并更新;将与视频数据下载请求对应的请求结果返回给客户端,可包括:根据目标视频子数据和/或用户视频子数据确定与视频数据下载请求对应的请求结果,将请求结果返回给客户端;客户端下载的目标视频数据包括目标视频子数据和/或用户视频子数据,在以使客户端根据接收到的请求结果下载服务器传输的目标视频数据之后,上述视频传输载方法,还可以包括:将下载得到的在空间位置上重叠的目标视频子数据和用户视频子数据进行组合,并基于组合结果更新进行组合的目标视频子数据。
其中,原始视频数据可以是全景视频中某帧视频画面的未进行编码的视频数据,将原始视频数据进行空间切割,得到原始视频子数据。示例性的,参见图1,其中的每小块对应的视频数据即为一个原始视频子数据。针对于各原始视频子数据中与目标视角对应的至少一个目标视频子数据,可以基于第一预设码率分别对每个目标视频子数据进行编码,然后根据编码结果分别更新各自的目标视频子数据,并将它们分别传输给客户端。针对于各原始视频子数据中与用户视角对应的至少一个用户视频子数据,可以采用可分级视频编码(Scalable Video Coding,svc)的方式,基于第二预设码率分别对各用户视频子数据进行编码,然后根据编码结果分别更新各自的用户视频子数据,并将它们分别传输给客户端。这样一来,针对于空间位置上重叠(即对应于同一原始视频子数据)的目标视频子数据和用户视频子数据,客户端可以将它们进行组合,由此得到对应于更高码率的目标视频子数据。示例性的,假设第一预设码率是100,并且第二预设码率是400,那么经组合后可以得到对应于500(100+400)的目标视频子数据。针对于对目标视频子数据和用户视频子数据分别进行独立编码和传输的方式,以基于100和500分别进行编码为例,100的用户视频子数据会被覆盖在500的目标视频子数据的下面,这就存在带宽浪费的问题。相应的,上述技术方案采用依赖编码的方式,服务器传输的目标视频子数据和用户视频子数据均可以被有效应用,由此提高了带宽利用率。
实施例四
图8为本公开实施例四提供的视频下载装置的结构框图,该装置用于执行上述任意实施例所提供的视频下载方法。该装置与上述各实施例中的视频下载方法属于同一个构思,在视频下载装置的实施例中未详尽描述的细节内容,可参考上述视频下载方法的实施例。参见图8,该装置可配置于客户端,具体可包括:缓冲长度获取模块410、下载请求生成模块420以及目标视频数据下载模块430。其中,
缓冲长度获取模块410,用于获取缓冲长度,其中,缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据;
下载请求生成模块420,用于根据缓冲长度生成视频数据下载请求,其中,视频数据下载请求包括用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
目标视频数据下载模块430,用于将视频数据下载请求发送给服务器,并根据接收的服务器针对视频数据下载请求返回的请求结果,下载目标视频数据。
本公开实施例四提供的视频下载装置,通过缓冲长度获取模块和下载请求生成模块相互配合,获取缓冲长度,根据缓冲长度生成用于对存储在服务器中的全景视频中的目标视频数据进行下载的视频数据下载请求,该目标视频数据可以包括与缓冲长度对应的第一视频数据和/或第二视频数据关联的视频数据;进一步,通过目标视频数据下载模块将视频数据下载请求发送给服务器,根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。上述装置,提升了视频观看用户对于全景视频的观看体验。
本公开实施例所提供的视频下载装置可执行本公开任意实施例所提供的视频下载方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述视频下载装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
实施例五
图9为本公开实施例五所提供的视频传输载装置的结构框图,该装置用于执行上述任意实施例所提供的视频传输载方法。该装置与上述各实施例的视频传输载方法属于同一个构思,在视频传输载装置的实施例中未详尽描述的细节内容,可以参考上述视频传输载方法的实施例。参见图9,该装置可配置于存储有全景视频的服务器,具体可包括:下载请求接收模块510和目标视频数据传输模块520。
其中,下载请求接收模块510,用于接收客户端发送的视频数据下载请求,视频数据下载请求包括根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
目标视频数据传输模块520,用于将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据;
其中,缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
本公开实施例五提供的视频传输载装置,通过下载请求接收模块接收客户端发送的视频数据下载请求,该视频数据下载请求可以是根据缓冲长度生成的用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,该目标视频数据可以包括与缓冲长度对应的第一视频数据和/或第二视频数据关联的视频数据;然后通过目标视频数据传输模块将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据。上述装置,提升了视频观看用户对于全景视频的观看体验。
本公开实施例所提供的视频传输载装置可执行本公开任意实施例所提供的视频传输载方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述视频传输载装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
实施例六
下面参考图10,其示出了适于用来实现本公开实施例的电子设备(例如图10中的终端设备或服务器)500的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图10中示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
实施例七
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备(具体来说是终端设备)执行时,使得该电子设备:
获取缓冲长度,其中,缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、以及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据;
根据缓冲长度生成视频数据下载请求,其中,视频数据下载请求是用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
将视频数据下载请求发送给服务器,根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备(具体来说是存储有全景视频的服务器)执行时,使得该电子设备:
接收客户端发送的视频数据下载请求,其中,视频数据下载请求包括根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据;
其中,缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,目标视频数据下载模块还可以被描述为“将视频数据下载请求发送给服务器,并根据接收的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,【示例一】提供了一种视频下载方法,该方法应用于客户端,可以包括:
获取缓冲长度,其中,缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、以及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据;
根据缓冲长度生成视频数据下载请求,其中,视频数据下载请求是用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
将视频数据下载请求发送给服务器,根据接收到的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
根据本公开的一个或是多个实施例,【示例二】提供了示例一的方法,缓冲长度包括第一当前缓冲长度和第一目标缓冲长度;
根据缓冲长度生成视频数据下载请求,可以包括:
如果第一当前缓冲长度小于第一目标缓冲长度,则生成用于下载属于第一视频数据的目标视频数据的视频数据下载请求。
根据本公开的一个或是多个实施例,【示例三】提供了示例二的方法,缓冲长度还包括第二当前缓冲长度和第二目标缓冲长度;
根据缓冲长度生成视频数据下载请求,还可以包括:
如果第一当前缓冲长度大于或是等于第一目标缓冲长度,则确定第二当前缓冲长度是否小于第二目标缓冲长度;
如果第二当前缓冲长度小于第二目标缓冲长度,则生成用于下载属于第二视频数据的目标视频数据的视频数据下载请求。
根据本公开的一个或多个实施例,【示例四】提供了示例三的方法,与当前缓冲的第二视频数据对应的用户视角是预测出的视频观看用户在当前缓冲的第二视频数据的播放时间时的视角;
在确定第二当前缓冲长度是否小于第二目标缓冲长度之后之后,上述视频下载方法,还可以包括:
如果第二当前缓冲长度大于或是等于第二目标缓冲长度,则再次预测视频观看用户在播放时间时的用户视角,确定全景视频中与再次预测的用户视角和播放时间对应并且与第二视频数据的视频质量相同的第三视频数据;
如果第三视频数据中包括除当前缓冲的第二视频数据之外的第四视频数据,则生成用于下载基于第四视频数据得到的目标视频数据的视频数据下载请求;
如果第三视频数据中未包括第四视频数据,则确定全景视频中的与当前缓冲的第二视频数据视频质量相同并且在空间位置上相邻的第五视频数据,生成用于下载基于第五视频数据得到的目标视频数据的视频数据下载请求。
根据本公开的一个或是多个实施例,【示例五】提供了示例一的方法,上述视频下载方法,还可以包括:
获取历史带宽信息和历史带宽预测精度,并根据历史带宽信息和历史带宽预测精度预测在下载目标视频数据时的网络带宽,根据网络带宽确定第一目标缓冲长度;
和/或,
用户视角是预测出的视频观看用户在观看待缓冲的第二视频数据时的视角,获取历史视角预测精度,并根据历史视角预测精度以及网络带宽确定第二目标缓冲长度。
根据本公开的一个或是多个实施例,【示例六】提供了示例一的方法,根据缓冲长度生成视频数据下载请求,可以包括:
预测在下载目标视频数据时的网络带宽;
根据缓冲长度以及网络带宽生成视频数据下载请求,其中,视频数据下载请求表示出的目标视频数据的目标码率与网络带宽有关。
根据本公开的一个或多个实施例,【示例七】提供了示例一的方法,在配置有客户端的终端设备内设置有缓冲区,缓冲区包括用于缓冲下载得到的第一视频数据的第一缓冲区以及用于缓冲下载得到的第二视频数据的第二缓冲区;
在下载目标视频数据之后,上述视频下载方法,还可以包括:
将目标视频数据缓冲到与目标视频数据关联的缓冲区内;
在播放全景视频中的当前视频数据时,若第二缓冲区中缓冲有与当前视频数据对应的第二视频数据,则从第二缓冲区中获取并播放对应的第二视频数据;
如果第二缓冲区中未缓冲有与当前视频数据对应的第二视频数据,则确定第一缓冲区中是否缓冲有与当前视频数据相对应的第一视频数据;
如果是,则从第一缓冲区中获取并播放对应的第一视频数据。
根据本公开的一个或多个实施例,【示例八】提供了一种视频传输载方法,该方法应用于存储有全景视频的服务器,可以包括:
接收客户端发送的视频数据下载请求,其中,视频数据下载请求包括根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据;
其中,缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
根据本公开的一个或是多个实施例,【示例九】提供了示例八的方法,上述视频传输载方法,还可以包括:
针对于全景视频中未进行编码的原始视频数据,将原始视频数据进行空间切割,得到原始视频子数据;
针对于各原始视频子数据中与目标视角对应的目标视频子数据、及与用户视角对应的用户视频子数据,基于第一预设码率对目标视频子数据进行编码并更新,并且采用可分级视频编码的方式,基于第二预设码率对用户视频子数据进行编码并更新;
将与视频数据下载请求对应的请求结果返回给客户端,可以包括:
根据目标视频子数据和/或用户视频子数据确定与视频数据下载请求对应的请求结果,并将请求结果返回给客户端;
客户端下载的目标视频数据包括目标视频子数据和/或用户视频子数据,在以使客户端根据接收到的请求结果下载服务器传输的目标视频数据之后,上述视频传输载方法,还可以包括:
将下载得到的在空间位置上重叠的目标视频子数据和用户视频子数据进行组合,并基于组合结果更新进行组合的目标视频子数据。
根据本公开的一个或多个实施例,【示例十】提供了一种视频下载装置,该装置配置于客户端,可以包括:
缓冲长度获取模块,用于获取缓冲长度,其中缓冲长度包括下述中的至少一个:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据;
下载请求生成模块,用于根据缓冲长度生成视频数据下载请求,其中视频数据下载请求包括用于对存储在服务器中的全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
目标视频数据下载模块,用于将视频数据下载请求发送给服务器,并根据接收的服务器针对于视频数据下载请求返回的请求结果,下载目标视频数据。
根据本公开的一个或多个实施例,【示例十一】提供了示例十的装置,缓冲长度包括第一当前缓冲长度和第一目标缓冲长度;
下载请求生成模块,可以包括:
下载请求第一生成单元,用于若第一当前缓冲长度小于第一目标缓冲长度,则生成用于下载属于第一视频数据的目标视频数据的视频数据下载请求。
根据本公开的一个或是多个实施例,【示例十二】提供了示例十一的装置,缓冲长度还包括第二当前缓冲长度和第二目标缓冲长度;
下载请求生成模块,还可以包括:
第二当前缓冲长度判断单元,用于如果第一当前缓冲长度大于或等于第一目标缓冲长度,则确定第二当前缓冲长度是否小于第二目标缓冲长度;
下载请求第二生成单元,用于若第二当前缓冲长度小于第二目标缓冲长度,则生成用于下载属于第二视频数据的目标视频数据的视频数据下载请求。
根据本公开的一个或多个实施例,【示例十三】提供了示例十二的装置,与当前缓冲的第二视频数据对应的用户视角是预测出的视频观看用户在当前缓冲的第二视频数据的播放时间时的视角;
下载请求生成模块,还可以包括:
第三视频数据确定单元,用于在确定第二当前缓冲长度是否小于第二目标缓冲长度之后,如果第二当前缓冲长度大于或等于第二目标缓冲长度,则再次预测视频观看用户在播放时间时的用户视角,并确定全景视频中与再次预测的用户视角和播放时间对应并且与第二视频数据的视频质量相同的第三视频数据;
下载请求第三生成单元,用于如果第三视频数据中包括除当前缓冲的第二视频数据之外的第四视频数据,则生成用于下载基于第四视频数据得到的目标视频数据的视频数据下载请求;
下载请求第四生成单元,用于如果第三视频数据中未包括第四视频数据,则确定全景视频中的与当前缓冲的第二视频数据视频质量相同并且在空间位置上相邻的第五视频数据,生成用于下载基于第五视频数据得到的目标视频数据的视频数据下载请求。
根据本公开的一个或多个实施例,【示例十四】提供了示例十的装置,上述视频传输装置,还可以包括:
第一目标缓冲长度确定模块,用于获取历史带宽信息和历史带宽预测精度,根据历史带宽信息和历史带宽预测精度预测在下载目标视频数据时的网络带宽,根据网络带宽确定第一目标缓冲长度;
和/或,
第二目标缓冲长度确定模块,用于用户视角包括预测出的视频观看用户在观看待缓冲的第二视频数据时的视角,获取历史视角预测精度,并根据历史视角预测精度以及网络带宽确定第二目标缓冲长度。
根据本公开的一个或多个实施例,【示例十五】提供了示例十的装置,下载请求生成模块,可以包括:
网络带宽预测单元,用于预测在下载目标视频数据时的网络带宽;
下载请求第五生成单元,用于根据缓冲长度和网络带宽生成视频数据下载请求,其中,视频数据下载请求表示出的目标视频数据的目标码率与网络带宽有关。
根据本公开的一个或多个实施例,【示例十六】提供了示例十的装置,在配置有客户端的终端设备内设置有缓冲区,缓冲区包括用于缓冲下载得到的第一视频数据的第一缓冲区以及用于缓冲下载得到的第二视频数据的第二缓冲区;
上述视频传输载装置,还可以包括:
目标视频数据缓冲模块,用于在下载目标视频数据之后,将目标视频数据缓冲到与目标视频数据关联的缓冲区内;
第二视频数据播放模块,用于在播放全景视频中的当前视频数据时,如果第二缓冲区中缓冲有与当前视频数据对应的第二视频数据,则从第二缓冲区中获取并播放对应的第二视频数据;
第一缓冲区判断模块,用于如果第二缓冲区中未缓冲有与当前视频数据对应的第二视频数据,则确定第一缓冲区中是否缓冲有与当前视频数据相对应的第一视频数据;
第一视频数据播放模块,用于如果是,则从第一缓冲区中获取并且播放与当前视频数据相对应的第一视频数据。
根据本公开的一个或多个实施例,【示例十七】提供了一种视频传输载装置,该装置配置于存储有全景视频的服务器,可以包括:
下载请求接收模块,用于接收客户端发送的视频数据下载请求,视频数据下载请求包括根据缓冲长度生成的用于对全景视频中的目标视频数据进行下载的请求,目标视频数据与第一视频数据和/或第二视频数据关联;
目标视频数据传输模块,用于将与视频数据下载请求对应的请求结果返回给客户端,以使客户端根据接收到的请求结果下载服务器传输的目标视频数据;
其中,缓冲长度包括下述中的至少一个:全景视频中的与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,用户视角包括全景视频的视频观看用户的视角,目标视角的覆盖范围大于用户视角,第一视频数据的视频质量低于第二视频数据。
根据本公开的一个或是多个实施例,【示例十八】提供了示例十七的装置,上述视频传输载装置,还可以包括:
原始视频子数据得到模块,用于针对于全景视频中未进行编码的原始视频数据,将原始视频数据进行空间切割,得到原始视频子数据;
视频子数据更新模块,用于针对于各原始视频子数据中与目标视角对应的目标视频子数据、及与用户视角对应的用户视频子数据,基于第一预设码率对目标视频子数据进行编码并更新,并且采用可分级视频编码的方式,基于第二预设码率对用户视频子数据进行编码并更新;
目标视频数据传输模块,可以包括:
请求结果返回单元,用于根据目标视频子数据和/或用户视频子数据确定与视频数据下载请求对应的请求结果,并将请求结果返回给客户端;
客户端下载的目标视频数据包括目标视频子数据和/或是用户视频子数据,目标视频数据传输模块,还可以包括:
视频子数据组合单元,用于在以使客户端根据接收的请求结果下载服务器传输的目标视频数据之后,将下载得到的在空间位置上重叠的目标视频子数据和用户视频子数据进行组合,并基于组合结果更新进行组合的目标视频子数据。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (14)

1.一种视频下载方法,其特征在于,应用于客户端,所述方法包括:
获取缓冲长度,其中,所述缓冲长度包括:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、以及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,所述第一目标缓冲长度为所述第一视频数据可缓冲的最大长度,所述第二目标缓冲长度为所述第二视频数据可缓冲的最大长度,所述用户视角包括所述全景视频的视频观看用户的视角,所述目标视角的覆盖范围大于所述用户视角,所述第一视频数据的视频质量低于所述第二视频数据;
根据所述缓冲长度生成视频数据下载请求,其中,所述视频数据下载请求是用于对存储在服务器中的所述全景视频中的目标视频数据进行下载的请求, 所述目标视频数据是根据所述缓冲长度从所述全景视频中确定出的视频数据,所述目标视频数据包括下述各视频数据中的至少一种:属于所述第一视频数据的视频数据、属于所述第二视频数据的视频数据、根据所述第一视频数据确定的视频数据以及根据所述第二视频数据确定的视频数据;
将所述视频数据下载请求发送给所述服务器,并根据接收到的所述服务器针对于所述视频数据下载请求返回的请求结果,下载所述目标视频数据。
2.根据权利要求1所述的方法,其特征在于,所述缓冲长度包括所述第一当前缓冲长度和所述第一目标缓冲长度;
所述根据所述缓冲长度生成视频数据下载请求,包括:
如果所述第一当前缓冲长度小于所述第一目标缓冲长度,则生成用于下载属于所述第一视频数据的所述目标视频数据的视频数据下载请求。
3.根据权利要求2所述的方法,其特征在于,所述缓冲长度还包括所述第二当前缓冲长度和所述第二目标缓冲长度;
所述根据所述缓冲长度生成视频数据下载请求,还包括:
如果所述第一当前缓冲长度大于或是等于所述第一目标缓冲长度,则确定所述第二当前缓冲长度是否小于所述第二目标缓冲长度;
如果所述第二当前缓冲长度小于所述第二目标缓冲长度,则生成用于下载属于所述第二视频数据的所述目标视频数据的视频数据下载请求。
4.根据权利要求3所述的方法,其特征在于,与当前缓冲的所述第二视频数据对应的所述用户视角是预测出的所述视频观看用户在所述当前缓冲的所述第二视频数据的播放时间时的视角,在所述确定所述第二当前缓冲长度是否小于所述第二目标缓冲长度之后,所述方法还包括:
如果所述第二当前缓冲长度大于或是等于所述第二目标缓冲长度,则再次预测所述视频观看用户在所述播放时间时的所述用户视角,确定所述全景视频中与再次预测的所述用户视角和所述播放时间对应并且与所述第二视频数据的视频质量相同的第三视频数据;
如果所述第三视频数据中包括除了所述当前缓冲的所述第二视频数据之外的第四视频数据,则生成用于下载基于所述第四视频数据得到的所述目标视频数据的视频数据下载请求;
如果所述第三视频数据中未包括所述第四视频数据,则确定所述全景视频中与所述当前缓冲的所述第二视频数据视频质量相同并且在空间位置上相邻的第五视频数据,生成用于下载基于所述第五视频数据得到的所述目标视频数据的视频数据下载请求。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取历史带宽信息和历史带宽预测精度,并根据所述历史带宽信息和所述历史带宽预测精度预测在下载所述目标视频数据时的网络带宽,根据所述网络带宽确定所述第一目标缓冲长度;
和/或,
所述用户视角是预测出的所述视频观看用户在观看待缓冲的所述第二视频数据时的视角,获取历史视角预测精度,并根据所述历史视角预测精度以及所述网络带宽确定所述第二目标缓冲长度。
6.根据权利要求1所述的方法,其特征在于,所述根据所述缓冲长度生成视频数据下载请求,包括:
预测在下载所述目标视频数据时的网络带宽;
根据所述缓冲长度以及所述网络带宽生成视频数据下载请求,其中,所述视频数据下载请求表示出的所述目标视频数据的目标码率与所述网络带宽有关。
7.根据权利要求1所述的方法,其特征在于,在配置有所述客户端的终端设备内设置有缓冲区,所述缓冲区包括用于缓冲下载得到的所述第一视频数据的第一缓冲区以及用于缓冲下载得到的所述第二视频数据的第二缓冲区;
在所述下载所述目标视频数据之后,还包括:
将所述目标视频数据缓冲到与所述目标视频数据关联的所述缓冲区内;
在播放所述全景视频中的当前视频数据时,如果所述第二缓冲区中缓冲有与所述当前视频数据对应的所述第二视频数据,则从所述第二缓冲区中获取并播放所述对应的所述第二视频数据;
如果所述第二缓冲区中未缓冲有所述与所述当前视频数据对应的所述第二视频数据,则确定所述第一缓冲区中是否缓冲有与所述当前视频数据相对应的所述第一视频数据;
如果是,则从所述第一缓冲区中获取并且播放所述与所述当前视频数据相对应的所述第一视频数据。
8.一种视频传输方法,其特征在于,应用于存储有全景视频的服务器上,所述方法包括:
接收客户端发送的视频数据下载请求,其中,所述视频数据下载请求包括根据缓冲长度生成的用于对所述全景视频中的目标视频数据进行下载的请求,所述目标视频数据是根据所述缓冲长度从所述全景视频中确定出的视频数据,所述目标视频数据包括下述各视频数据中的至少一种:属于第一视频数据的视频数据、属于第二视频数据的视频数据、根据所述第一视频数据确定的视频数据以及根据所述第二视频数据确定的视频数据;
将与所述视频数据下载请求对应的请求结果返回给所述客户端,以使所述客户端根据接收到的所述请求结果下载所述服务器传输的所述目标视频数据;
其中,所述缓冲长度包括:全景视频中与目标视角对应的所述第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的所述第二视频数据的第二当前缓冲长度和第二目标缓冲长度,所述第一目标缓冲长度为所述第一视频数据可缓冲的最大长度,所述第二目标缓冲长度为所述第二视频数据可缓冲的最大长度,所述用户视角包括所述全景视频的视频观看用户的视角,所述目标视角的覆盖范围大于所述用户视角,所述第一视频数据的视频质量低于所述第二视频数据。
9.根据权利要求8所述的方法,其特征在于,还包括:
针对于所述全景视频中未进行编码的原始视频数据,将所述原始视频数据进行空间切割,得到原始视频子数据;
针对于各所述原始视频子数据中与所述目标视角对应的目标视频子数据、及与所述用户视角对应的用户视频子数据,基于第一预设码率对所述目标视频子数据进行编码并更新,并且采用可分级视频编码的方式,基于第二预设码率对所述用户视频子数据进行编码并更新;
所述将与所述视频数据下载请求对应的请求结果返回给所述客户端,包括:
根据所述目标视频子数据和/或所述用户视频子数据确定与所述视频数据下载请求对应的请求结果,并将所述请求结果返回给所述客户端;
所述客户端下载的所述目标视频数据包括所述目标视频子数据和/或所述用户视频子数据,在所述以使所述客户端根据接收到的所述请求结果下载所述服务器传输的所述目标视频数据之后,还包括:
将下载得到的在空间位置上重叠的所述目标视频子数据和所述用户视频子数据进行组合,并基于组合结果更新进行组合的所述目标视频子数据。
10.一种视频下载装置,其特征在于,配置于客户端,所述装置包括:
缓冲长度获取模块,用于获取缓冲长度,其中,所述缓冲长度包括:全景视频中与目标视角对应的第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的第二视频数据的第二当前缓冲长度和第二目标缓冲长度,所述第一目标缓冲长度为所述第一视频数据可缓冲的最大长度,所述第二目标缓冲长度为所述第二视频数据可缓冲的最大长度,所述用户视角包括所述全景视频的视频观看用户的视角,所述目标视角的覆盖范围大于所述用户视角,所述第一视频数据的视频质量低于所述第二视频数据;
下载请求生成模块,用于根据所述缓冲长度生成视频数据下载请求,其中,所述视频数据下载请求包括用于对存储在服务器中的所述全景视频中的目标视频数据进行下载的请求,所述目标视频数据是根据所述缓冲长度从所述全景视频中确定出的视频数据,所述目标视频数据包括下述各视频数据中的至少一种:属于所述第一视频数据的视频数据、属于所述第二视频数据的视频数据、根据所述第一视频数据确定的视频数据以及根据所述第二视频数据确定的视频数据;
目标视频数据下载模块,用于将所述视频数据下载请求发送给所述服务器,并根据接收的所述服务器针对于所述视频数据下载请求返回的请求结果,下载所述目标视频数据。
11.一种视频传输装置,其特征在于,配置于存储有全景视频的服务器,所述装置包括:
下载请求接收模块,用于接收客户端发送的视频数据下载请求,所述视频数据下载请求包括根据缓冲长度生成的用于对所述全景视频中的目标视频数据进行下载的请求,所述目标视频数据是根据所述缓冲长度从所述全景视频中确定出的视频数据,所述目标视频数据包括下述各视频数据中的至少一种:属于第一视频数据的视频数据、属于第二视频数据的视频数据、根据所述第一视频数据确定的视频数据以及根据所述第二视频数据确定的视频数据;
目标视频数据传输模块,用于将与所述视频数据下载请求对应的请求结果返回给所述客户端,以使所述客户端根据接收到的所述请求结果下载所述服务器传输的所述目标视频数据;
其中,所述缓冲长度包括:全景视频中与目标视角对应的所述第一视频数据的第一当前缓冲长度和第一目标缓冲长度、及与用户视角对应的所述第二视频数据的第二当前缓冲长度和第二目标缓冲长度,所述第一目标缓冲长度为所述第一视频数据可缓冲的最大长度,所述第二目标缓冲长度为所述第二视频数据可缓冲的最大长度,所述用户视角包括所述全景视频的视频观看用户的视角,所述目标视角的覆盖范围大于所述用户视角,所述第一视频数据的视频质量低于所述第二视频数据。
12.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的视频下载方法。
13.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求8-9中任一所述的视频传输方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的视频下载方法,或是如权利要求8-9中任一所述的视频传输方法。
CN202210383767.1A 2022-04-12 2022-04-12 视频下载、传输方法、装置、终端设备、服务器及介质 Active CN114979762B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210383767.1A CN114979762B (zh) 2022-04-12 2022-04-12 视频下载、传输方法、装置、终端设备、服务器及介质
PCT/CN2023/081525 WO2023197811A1 (zh) 2022-04-12 2023-03-15 视频下载、传输方法、装置、终端设备、服务器及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210383767.1A CN114979762B (zh) 2022-04-12 2022-04-12 视频下载、传输方法、装置、终端设备、服务器及介质

Publications (2)

Publication Number Publication Date
CN114979762A CN114979762A (zh) 2022-08-30
CN114979762B true CN114979762B (zh) 2024-06-07

Family

ID=82976510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210383767.1A Active CN114979762B (zh) 2022-04-12 2022-04-12 视频下载、传输方法、装置、终端设备、服务器及介质

Country Status (2)

Country Link
CN (1) CN114979762B (zh)
WO (1) WO2023197811A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979762B (zh) * 2022-04-12 2024-06-07 北京字节跳动网络技术有限公司 视频下载、传输方法、装置、终端设备、服务器及介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017031692A1 (zh) * 2015-08-25 2017-03-02 华为技术有限公司 视频下载方法、装置及***
US9654528B1 (en) * 2013-03-11 2017-05-16 Google Inc. Dynamic bitrate selection for streaming media
CN108632631A (zh) * 2017-03-16 2018-10-09 华为技术有限公司 一种全景视频中视频分片的下载方法和装置
WO2019157803A1 (zh) * 2018-02-13 2019-08-22 华为技术有限公司 传输控制方法
CN110198495A (zh) * 2019-06-28 2019-09-03 广州市百果园信息技术有限公司 一种视频下载和播放的方法、装置、设备和存储介质
CN110430453A (zh) * 2019-08-28 2019-11-08 咪咕视讯科技有限公司 视频多码率切换处理方法、装置、电子设备及存储介质
CN111083523A (zh) * 2019-12-04 2020-04-28 聚好看科技股份有限公司 一种全景视频播放的方法及终端
CN112468828A (zh) * 2020-11-25 2021-03-09 深圳大学 全景视频的码率分配方法、装置、移动终端及存储介质
CN112565606A (zh) * 2020-12-02 2021-03-26 鹏城实验室 全景视频智能传输方法、设备及计算机存储介质
CN112714315A (zh) * 2019-10-24 2021-04-27 上海交通大学 基于全景视频的分层缓冲方法及***
CN112822564A (zh) * 2021-01-06 2021-05-18 鹏城实验室 一种基于视点的全景视频自适应流媒体传输方法及***
CN114095756A (zh) * 2021-11-17 2022-02-25 天津大学 基于长期视野预测的自适应全景视频流传输***及其方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838687B1 (en) * 2011-12-02 2017-12-05 Amazon Technologies, Inc. Apparatus and method for panoramic video hosting with reduced bandwidth streaming
CN105451075B (zh) * 2014-08-27 2018-07-03 北京大学 视频质量控制方法和装置
CN108616557B (zh) * 2016-12-13 2022-01-25 中兴通讯股份有限公司 一种全景视频传输方法、装置、终端、服务器及***
CN109286855B (zh) * 2017-07-19 2020-10-13 北京大学 全景视频的传输方法、传输装置和传输***
CN114979762B (zh) * 2022-04-12 2024-06-07 北京字节跳动网络技术有限公司 视频下载、传输方法、装置、终端设备、服务器及介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654528B1 (en) * 2013-03-11 2017-05-16 Google Inc. Dynamic bitrate selection for streaming media
WO2017031692A1 (zh) * 2015-08-25 2017-03-02 华为技术有限公司 视频下载方法、装置及***
CN108632631A (zh) * 2017-03-16 2018-10-09 华为技术有限公司 一种全景视频中视频分片的下载方法和装置
WO2019157803A1 (zh) * 2018-02-13 2019-08-22 华为技术有限公司 传输控制方法
CN110198495A (zh) * 2019-06-28 2019-09-03 广州市百果园信息技术有限公司 一种视频下载和播放的方法、装置、设备和存储介质
CN110430453A (zh) * 2019-08-28 2019-11-08 咪咕视讯科技有限公司 视频多码率切换处理方法、装置、电子设备及存储介质
CN112714315A (zh) * 2019-10-24 2021-04-27 上海交通大学 基于全景视频的分层缓冲方法及***
CN111083523A (zh) * 2019-12-04 2020-04-28 聚好看科技股份有限公司 一种全景视频播放的方法及终端
CN112468828A (zh) * 2020-11-25 2021-03-09 深圳大学 全景视频的码率分配方法、装置、移动终端及存储介质
CN112565606A (zh) * 2020-12-02 2021-03-26 鹏城实验室 全景视频智能传输方法、设备及计算机存储介质
CN112822564A (zh) * 2021-01-06 2021-05-18 鹏城实验室 一种基于视点的全景视频自适应流媒体传输方法及***
CN114095756A (zh) * 2021-11-17 2022-02-25 天津大学 基于长期视野预测的自适应全景视频流传输***及其方法

Also Published As

Publication number Publication date
CN114979762A (zh) 2022-08-30
WO2023197811A1 (zh) 2023-10-19

Similar Documents

Publication Publication Date Title
CN112135169B (zh) 一种媒体内容加载方法、装置、设备和介质
CN112272226B (zh) 图片加载方法、装置及可读存储介质
CN112351222B (zh) 图像特效处理方法、装置、电子设备和计算机可读存储介质
CN110290398B (zh) 视频下发方法、装置、存储介质及电子设备
US11785195B2 (en) Method and apparatus for processing three-dimensional video, readable storage medium and electronic device
CN114567812A (zh) 音频播放方法、装置、***、电子设备及存储介质
CN114979762B (zh) 视频下载、传输方法、装置、终端设备、服务器及介质
CN113542856B (zh) 在线录像的倒放方法、装置、设备和计算机可读介质
CN113794942B (zh) 自由视角视频的视角切换方法、装置、***、设备和介质
CN111338729A (zh) 一种播放视图的方法、装置、介质和电子设备
CN113259729B (zh) 数据切换的方法、服务器、***及存储介质
CN114827750B (zh) 视角的预测方法、装置、设备及存储介质
CN112887742B (zh) 直播流处理方法、装置、设备及存储介质
CN112040328A (zh) 数据交互方法、装置和电子设备
CN113794836B (zh) 一种子弹时间视频生成方法、装置、***、设备和介质
CN114915849B (zh) 视频的预加载方法、装置、设备和介质
CN116347115A (zh) 一种全景视频缓存方法、装置、设备和存储介质
CN118118723A (zh) 特效处理方法、装置、电子设备及存储介质
CN116112734A (zh) 一种视频传输方法、装置、存储介质及电子设备
CN118052922A (zh) 图像渲染方法、装置、可读介质及电子设备
CN116156267A (zh) 虚拟资源获取及发送方法、装置、存储介质、电子设备
CN117528157A (zh) 一种视频播放方法、装置、***、设备和存储介质
CN117544740A (zh) 视频录制方法、装置、设备、存储介质和程序产品
CN117354558A (zh) 图像处理方法、装置、电子设备和存储介质
CN113794936A (zh) 一种精彩瞬间生成方法、装置、***、设备和介质

Legal Events

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