CN112399187A - 一种数据传输的方法以及装置 - Google Patents

一种数据传输的方法以及装置 Download PDF

Info

Publication number
CN112399187A
CN112399187A CN201910744860.9A CN201910744860A CN112399187A CN 112399187 A CN112399187 A CN 112399187A CN 201910744860 A CN201910744860 A CN 201910744860A CN 112399187 A CN112399187 A CN 112399187A
Authority
CN
China
Prior art keywords
residual
data
panoramic video
server
tiles
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.)
Pending
Application number
CN201910744860.9A
Other languages
English (en)
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 CN201910744860.9A priority Critical patent/CN112399187A/zh
Publication of CN112399187A publication Critical patent/CN112399187A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

本申请提供一种数据传输的方法以及装置,用于降低全景视频数据的传输量,降低全景视频数据传输的时延,提高用户体验。该方法包括:服务器对第一全景视频数据进行下采样得到背景流数据;服务器对背景流数据进行上采样得到第二全景视频数据;服务器根据第二全景视频数据与第一全景视频数据的残差值得到第一残差流数据;服务器向终端设备发送背景流数据,以及终端设备的视口区域对应的第二残差流数据,第二残差流数据包括于第一残差流数据,视口区域为终端设备的视口在第一全景视频中对应的区域。

Description

一种数据传输的方法以及装置
技术领域
本申请涉及图像处理领域,特别涉及一种数据传输的方法以及装置。
背景技术
随着虚拟现实(virtual reality,VR)的发展,在各种领域广泛应用,例如VR模拟、VR游戏或者VR视频直播等。而对于全景视频的传输效率以及真实性体验的要求也越来越高。
现有方案中,服务器通常可以将全景视频分为两路流传输至终端设备,包括一路背景流,以及一路视口流。视口即终端设备对应的区域,可以理解为,终端设备在播放全景视频时,焦点所在的区域。视口流即该区域所对应的图像的数据流,通常视口流为对纹理复杂度高的区域进行编码得到的数据流。然而,当终端设备改变视口,即用户通过终端设备切换视角时,需要刷新视口流,而视口流的数据流大,因此,刷新视口流将产生较大时延,影响用户体验。
发明内容
本申请提供一种数据传输的方法以及装置,用于降低全景视频数据的传输量,降低全景视频数据传输的时延,提高用户体验。
有鉴于此,本申请第一方面提供一种数据传输的方法,包括:
服务器对第一全景视频数据进行下采样得到背景流数据;服务器对背景流数据进行上采样得到第二全景视频数据;服务器根据第二全景视频数据与第一全景视频数据的残差值得到第一残差流数据;服务器向终端设备发送背景流数据,以及终端设备的视口区域对应的第二残差流数据,第二残差流数据包括于第一残差流数据,视口区域为终端设备的视口在第一全景视频中对应的区域。
本申请实施方式中,服务器可以对第一全景视频进行上采样得到背景流数据,并对背景流数据进行上采样得到第二全景视频数据,然后根据第一全景视频数据与第二全景视频数据之间的残差值得到第一残差流数据,并确定终端设备的视口区域对应的第二残差流数据,并将背景流数据与第二残差流数据发送至终端设备,使得终端设备可以根据背景流数据以及第二残差流数据得到高清晰度的全景视频数据并播放。因此,本申请实施方式中,除了发送背景流数据之后,还向终端设备发送视口区域对应的残差流数据,残差流数据的数据量远小于视口流数据,因此,可以降低发送全景视频相关的数据的时延,从而降低终端设备切换视口的刷新时延,提高用户体验。
在一种可选的实施方式中,在服务器对背景流数据进行上采样得到第二全景视频数据之前,该方法还包括:
服务器对第一全景视频数据进行划分,得到N个分块Tile,N为正整数;服务器根据第二全景视频数据与第一全景视频数据的残差值得到第一残差流数据,可以包括:服务器基于N个Tile,根据第一全景视频数据中的参数值与第二全景视频中的参数值的残差值,得到第一全景视频数据的第一残差流数据。
因此,本申请实施方式中,服务器可以对第一全景视频数据进行Tile划分,从而基于划分的Tile,根据第一全景视频数据的参数值与第二全景视频中的参数值的残差值,得到第一全景视频数据的第一残差流数据。因此,可以以Tile为单位进行残差流数据的处理,降低后续传输数据的传输单位,提高数据传输效率。
在一种可选的实施方式中,服务器向终端设备发送终端设备的视口区域对应的第二残差流数据,可以包括:
服务器确定N个Tile中与视口区域对应的M个Tile,M为小于或等于N的正整数;服务器从第一残差流数据中确定M个Tile对应的第二残差流数据,并向终端设备发送第二残差流数据。
本申请实施方式中,服务器可以确定视口区域对应的Tile,并从第一残差流数据中确定视口区域对应的Tile的第二残差流数据,并向终端设备发送第二残差流数据。因此,可以以Tile为单位,进行残差流数据的发送,进一步减少残差流数据的传输量,降低传输时延。并且,后续在调整视口区域时,可以以Tile为单位进行残差流数据的调整,提高残差流数据的传输效率,提高终端设备的视口区域的刷新效率,提高用户体验。
在一种可选的实施方式中,服务器确定N个Tile中与视口区域对应的M个Tile,包括:
服务器接收终端设备发送的视口信息,视口信息包括视口区域在N个Tile中对应的M个Tile的标识,或者,视口信息包括视口区域在第一全景视频数据中的坐标信息;服务器根据视口信息确定N个Tile中与视口区域对应的M个Tile。
本申请实施方式中,服务器可以接收终端设备发送的视口信息,从而确定终端设备的视口区域对应的Tile,并将视口区域对应的Tile的残差流数据发送至终端设备。因此,可以实现以Tile为单位的视口区域的残差流数据的传输,降低残差流数据的传输时延,提高终端设备刷新视口区域的图像的效率,提高用户体验。
在一种可选的实施方式中,服务器基于N个Tile,根据第一全景视频数据中的参数值与第二全景视频中的参数值的残差值,得到第一全景视频数据的第一残差流数据,包括:
服务器基于N个Tile,确定第一全景视频的参数值与第二全景视频的参数值的残差值,得到N个Tile中L个Tile的残差数据,L为小于或等于N的正整数;服务器对N个Tile中的L个Tile的残差数据进行编码,得到第一残差流数据。
在本申请实施方式中,服务器可以以Tile为单位计算第一全景视频数据与第二全景视频数据之间的参数值的残差值,从而得到残差数据,并对残差数据进行编码得到第一残差流数据。因此,可以得到以Tile为单位的残差流数据,后续可以以Tile为单位进行残差流数据的传输,提高传输效率,降低传输时延。
在一种可选的实施方式中,服务器基于一个或多个Tile,确定第一全景视频的参数值与第二全景视频的参数值的残差值,得到一个或多个Tile的残差数据,包括:
服务器确定第一全景视频中N个Tile中每个Tile的参数值与第二全景视频中与每个Tile对应的Tile的参数值之间的差值,得到N个Tile中每个Tile的残差值;服务器去除N个Tile的残差值中的冗余残差值,得到N个Tile中L个Tile的残差数据。
在本申请实施方式中,服务器可以进一步去除残差数据中的冗余数据,从而进一步降低残差流数据的存储量以及传输量。
在一种可选的实施方式中,在服务器去除N个Tile中每个Tile的残差值中的冗余残差值之前,包括:
服务器确定每个Tile对应的残差值的平方和∑p2,p为每个Tile中的每个像素点对应的残差值;当服务器确定第一Tile的∑p2小于第一预设值时,服务器确定第一Tile的残差值为冗余残差值,第一Tile为N个Tile中的任意一个Tile。
在本申请实施方式中,可以通过每个Tile的残差值的平方和,确定每个Tile的残差值是否为冗余残差值,提高去除冗余残差值的准确率。
在一种可选的实施方式中,服务器对N个Tile中L个Tile的残差数据进行编码,得到第一残差流数据,包括:
服务器确定L个Tile中每个Tile的纹理复杂度;服务器根据L个Tile中每个Tile的纹理复杂度,对L个Tile中每个Tile的残差数据分别进行编码,得到第一残差流数据。
在一种可选的实施方式中,服务器根据每个Tile的纹理复杂度对每个Tile的残差数据进行编码,包括:
当第二Tile的纹理复杂度高于第二预设值时,服务器对第二Tile的残差数据采用第一码率进行编码,第二Tile为L个Tile中的任意一个;当第一Tile的纹理复杂度不高于第二预设值时,服务器对第一Tile的残差数据采用第二码率进行编码,第一码率高于第二码率。
本申请实施方式中,可以根据每个Tile的纹理复杂度进行编码,纹理复杂度高的Tile可以采用较高码率进行编码,纹理复杂度低的Tile可以采用较低码率进行编码,从而可以较高程度的保存纹理复杂度高的区域的纹理细节,提高用户体验,且纹理复杂度低的区域可以采用较低码率进行编码,降低数据量,进一步降低数据传输的时延,提高用户体验。
本申请第二方面提供一种数据传输的方法,包括:
终端设备接收服务器发送的背景流数据,以及视口区域对应的第二残差流数据;终端设备对背景流数据进行上采样得到第三全景视频数据;终端设备根据第二残差流数据以及第三全景视频数据得到第四全景视频数据;终端设备播放第四全景流数据。
本申请实施方式中,终端设备可以接收服务器发送的背景流数据以及第二残差流数据,对背景流数据进行上采样得到第三全景视频数据,并根据第二残差流数据以及第三全景视频数据得到第四全景视频数据。残差流数据的数据量远小于视口流数据,因此,可以降低发送全景视频相关的数据的时延,从而降低终端设备切换视口的刷新时延,提高用户体验。
在一种可选的实施方式中,终端设备根据第二残差流数据以及第三全景视频数据得到第四全景视频数据,包括:
终端设备对第二残差流数据进行解码,得到视口区域对应的残差数据;终端设备根据残差数据对第三全景视频数据进行重建,得到第四全景视频数据。
在本申请实施中,具体可以对第二残差流数据进行解码,得到视口区域对应的残差数据,并根据残差数据对第三全景视频数据进行重建,得到第四全景视频数据。因此,可以在第三全景视频数据的基础上叠加视口区域对应的残差数据,快速得到更清晰的第四全景视频数据,提高用户体验。
在一种可选的实施方式中,在终端设备接收服务器发送的视口区域对应的第二残差流数据之前,上述方法还包括:
终端设备向服务器发送视口信息,视口信息中包括视口区域在N个Tile中对应的M个Tile的标识,或者,视口信息包括视口区域的坐标信息,N个Tile为服务器进行划分得到的,N为正整数,M为小于或等于N的正整数。
在本申请实施方式中,终端设备可以向服务器发送视口信息,使得服务器可以以Tile为单位向终端设备发送第二残差流数据。降低残差流数据的传输时延,提高刷新视口区域的图像的效率,提高用户体验。
本申请实施例第三方面提供了服务器,该服务器具有实现上述第一方面数据传输的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第四方面提供了终端设备,该终端设备具有实现上述第二方面数据传输的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第五方面提供一种服务器,可以包括:
处理器、存储器、总线以及输入输出接口,该处理器、该存储器与该输入输出接口通过该总线连接;该存储器,用于存储程序代码;该处理器调用该存储器中的程序代码时执行本申请第一方面或第一方面任一实施方式提供的服务器执行的步骤。
本申请实施例第六方面提供一种终端设备,可以包括:
处理器、存储器、总线以及输入输出接口,该处理器、该存储器与该输入输出接口通过该总线连接;该存储器,用于存储程序代码;该处理器调用该存储器中的程序代码时执行本申请第二方面或第二方面任一实施方式提供的终端设备执行的步骤。
本申请实施例第七方面提供一种芯片系统,该芯片系统包括处理器,用于支持服务器或终端设备实现上述方面中所涉及的功能,例如,例如处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述第一方面或第二方面中数据传输的方法的程序执行的集成电路。
本申请实施例第八方面提供一种存储介质,需要说明的是,本发的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述设备所用的计算机软件指令,其包含用于执行上述第一方面至第二方面中任一方面为服务器或终端设备所设计的程序。
该存储介质包括:U盘、移动硬盘、只读存储器(英文缩写ROM,英文全称:Read-OnlyMemory)、随机存取存储器(英文缩写:RAM,英文全称:Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例第九方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请第一方面或第二方面任一可选实施方式中所述的方法。
本申请实施例第十方面提供一种装置,该装置可以应用于电子设备中,该装置与存储器耦合,用于读取并执行所述存储器中存储的指令,使得所述装置实现本申请第二方面的任一实施方式中处理器执行的步骤。在一种可能的设计中,该装置为芯片或片上系统。
因此,本申请实施方式中,服务器可以对第一全景视频进行上采样得到背景流数据,并对背景流数据进行上采样得到第二全景视频数据,然后根据第一全景视频数据与第二全景视频数据之间的残差值得到第一残差流数据,并确定终端设备的视口区域对应的第二残差流数据,并将背景流数据与第二残差流数据发送至终端设备,使得终端设备可以根据背景流数据以及第二残差流数据得到高清晰度的全景视频数据并播放。因此,本申请实施方式中,除了发送背景流数据之外,还向终端设备发送视口区域对应的残差流数据,残差流数据的数据量远小于视口流数据,因此,可以降低发送全景视频相关的数据的时延,从而降低终端设备切换视口的刷新时延,提高用户体验。
附图说明
图1为本申请应用的系统架构示意图;
图2为本申请提供的数据传输的方法的一种流程示意图;
图3为本申请提供的数据传输的方法中下采样的一种计算方式示意图;
图4为本申请提供的数据传输的方法中上采样的一种计算方式示意图;
图5A为本申请提供的数据传输的方法中视口区域的一种示意图;
图5B为本申请提供的数据传输的方法中视口区域的另一种示意图;
图6为本申请提供的数据传输的方法的另一种流程示意图;
图7A为本申请提供的数据传输的方法中全景视频的一种示意图;
图7B为本申请提供的数据传输的方法中全景视频的另一种示意图;
图8为本申请提供的数据传输的方法中Tile的一种划分示意图;
图9为本申请提供的数据传输的方法中Tile的另一种划分示意图;
图10为本申请提供的数据传输的方法中残差值的一种计算方式示意图;
图11为本申请提供的数据传输的方法中视口区域的一种示意图;
图12为本申请提供的数据传输的方法的另一种流程示意图;
图13为本申请提供的数据传输的方法中残差值的一种叠加方式示意图;
图14为本申请提供的数据传输的方法的一种应用场景示意图;
图15为本申请提供的一种服务器的结构示意图;
图16为本申请提供的一种终端设备的结构示意图;
图17为本申请提供的另一种服务器的结构示意图;
图18为本申请提供的另一种终端设备的结构示意图。
具体实施方式
本申请提供一种数据传输的方法以及装置,用于降低全景视频数据的传输量,降低全景视频数据传输的时延,提高用户体验。
本申请提供的数据传输的方法可以应用于全景视频数据的传输。示例性地,本申请应用全景视频数据传输的网络架构可以参阅图1。其中,该网络架构可以包括:服务器、传输数据的网络以及终端设备。
其中,该服务器的数量可以是一个或多个,当有多个服务器时,该多个服务器可以是集中式结构,也可以是分布式结构。
该网络可以是有线的通信网络,也可以是无线的通信网络,例如:第五代移动通信技术(5th-Generation,5G)系统,长期演进(long term evolution,LTE)系统、全球移动通信系统(global system for mobile communication,GSM)或码分多址(code divisionmultiple access,CDMA)网络、宽带码分多址(wideband code division multipleaccess,WCDMA)网络等,还可以无线保真(wireless fidelity,WiFi)、广域网等其他通信网络或通信系统。
该终端设备可以包括头戴显示设备(Head Mount Display,HMD)、该头戴显示设备可以是VR盒子与终端的组合,VR一体机,个人计算机(personal computer,PC)VR,增强现实(augmented reality,AR)设备,混合现实(mixed reality,MR)设备等,该终端设备还可以包括蜂窝电话(cellular phone)、智能电话(smart phone)、个人数字助理(personaldigital assistant,PDA)、平板型电脑、膝上型电脑(laptop computer)、个人电脑(personal computer,PC),或部署在用户侧的计算设备等。
其中,VR HMD可以是由液晶显示器(liquid crystal display,LCD)或有机发光二极管(Organic Light-Emitting Diode,OLED)近眼显示屏等与菲涅尔光学透镜构成成像核心,从而为用户提供虚拟显示。VR设备可以通过展现360度的视频为观看者提供了沉浸式的“亲身体验”和“现实生活”。用户可以交互性地随时切换他们观看的视角,并且动态地查看他们所期望看到的部分场景。VR具体可以应用于各种场景,例如,VR模拟、VR游戏、VR视频直播等等。
在VR应用场景中,涉及到全景视频数据的传输,全景视频数据可以由计算机合成或者通过全景摄像头进行拍摄得到。服务器可以将全景视频数据发送至终端设备,终端设备播放全景视频数据。为了降低全景视频数据的传输效率,且适应通信网络的传输带宽,服务器将对全景视频数据进行处理,降低全景视频数据的数据传输量之后发送至终端设备,从而提高全景视频数据的传输效率,降低传输时延。
通常,有多种传输全景视频数据的方式,例如,可以通过环绕的360度拍摄的摄像机,采集多路视频,并对多路视频进行拼接,得到全景视频数据。其中,全景视频数据可以是将全景的球面投射至立方体,或者,投射至棱锥的各个面,各个面的图像相对独立,使用户观看到的图像更真实。然而,若传输整个全景视频,则需要的传输带宽较大,而若每一面的数据分别传输,则用户在切换视口时,刷新图像的时延较大,降低用户体验。
又例如,可以将全景视频数据处理为两路流,一路为对全景视频数据进行下采样得到的背景流,一路是终端视口对应的区域的视口流。视口流为对终端对应的视口图像进行编码得到的,而终端的视口区域对应的图像通常纹理复杂度较高,因此视口流数据也较大,当用户在切换视口时,同样也可能产生画面的刷新时延大的问题,影响用户体验。
本申请提供的数据传输的方法中,可以通过传输背景流数据与残差流数据,降低全景视频数据的数据传输量,降低传输时延,提高用户体验。
需要说明的是,本申请实施方式提供的数据传输的方法中,由服务器通过网络将全景视频数据传输至终端设备。其中,可能存在多个终端设备可以能分布于多个不同的位置,因此,图1中的服务器可以是多个分布式结构的服务器,在进行全景视频数据传输之前,由集中管理的服务器将与终端设备对应的全景视频数据发送至与终端设备传输路径或地理位置最接近的边缘服务器中,从而可以从边缘服务器将全景视频数据或者与其相关的数据传输至终端设备,以提高将全景视频数据传输至终端设备的效率,降低传输至终端设备的时延,提高用户体验。当然,也可以是直接从多个服务器中的任意一个服务器将全景视频数据或者与其相关的数据传输至终端设备中,本申请对此并不作限定。
下面对本申请提供的数据传输的方法进行说明。
请参阅图2,本申请提供的一种数据传输的方法的流程示意图,如下所述。
201、服务器对第一全景视频数据进行下采样得到背景流数据。
首先,服务器在得到第一全景视频数据之后,对第一全景视频数据进行下采样,从而得到背景流数据。
下采样的具体方式可以包括:对第一全景视频数据内的每一帧图像间隔预设数量的像素点进行提取,或者,提取预设数量的像素值的平均值等。示例性地,对于第一全景视频数据中的每一帧图像中的每n*n(n为正整数)的像素矩阵,提取该n*n个像素点的像素值的平均值,或者,也可以通过其他的计算方式提取该n*n个像素点的值等。其中,n的值可以根据下采样的需求进行调整,需求得到的背景流数据的数据量越小,则n的值可以设置为越大;需求得到的背景流数据的数据量越大,或者恢复背景流数据的图像越清晰,则n的值可以设置为越小。例如,如图3所示,以任意一帧图像中的其中一个3*3像素矩阵为例,该3*3个像素点的像素值分别可以是“56、55、58、55、52、57、57、58、56”,提取该3*3个像素点的平均值,即可提取像素值56。
具体地,在服务器对第一全景视频数据进行下采样之后,还对下采样得到的数据进行编码,得到背景流数据。具体的编码方式可以包括高级视频编码(advanced videocoding,AVC),高效率视频编码(high efficiency video coding,HEVC)等方式。
一种可选的实现方式中,在步骤201之前,服务器还可以接收第一全景视频数据。第一全景视频数据可以是服务器从其他设备接收到的,该其他设备可以是VR应用对应的服务器或者控制节点服务器等。
202、服务器对背景流数据进行上采样得到第二全景视频数据。
其中,服务器在得到背景流数据之后,对背景流数据进行上采样,得到第二全景视频数据。
具体地,在服务器对第一全景视频数据进行下采样得到背景流数据之后,还可以对背景流数据进行上采样,得到的第二全景视频数据与第一全景视频数据可能相同,也可能不相同。
其中,上采样可以采用最邻近插值法、双线性二次插值法、Lanczos插值等方式,本申请对此并不作限定。
例如,上采样的方式可以与下采样的方式对应。若下采样提取了每一帧图像中的n*n像素矩阵的像素值的平均值,则在上采样时,可以根据背景流数据中的每个像素点进行替换,将每个像素点替换为n*n的像素矩阵,n*n像素矩阵中每个像素点的像素值可以为背景流数据中对应的像素点的值,即下采样时提取的n*n像素矩阵的像素点的平均值。例如,如图4所示,若背景流中的其中一个像素点的值为56,则可以将该像素点替换为3*3的像素矩阵,且该3*3像素矩阵中的每个像素点的像素值为56。
203、服务器根据第二全景视频数据与第一全景视频数据的残差值得到第一残差流数据。
在服务器得到第二全景视频数据之后,确定第二全景视频数据的每一帧图像中的每个像素点,与第一全景视频数据对应的每一帧图像中的每个像素点之间的残差值,从而得到第一残差流数据。
具体地,可以确定第二全景视频数据中每一帧图像中的每个像素点与第一全景视频数据中对应的每一帧中的每个像素点之间的残差值,并对该残差值进行编码、封包等,得到第一残差流数据。
204、服务器向终端设备发送背景流数据,以及终端设备的视口区域对应的第二残差流数据。
其中,服务器在得到背景流数据以及第一残差流数据之后,可以保存该背景流数据以及第一残差流数据,当终端设备向服务器请求第一全景视频数据时,服务器向终端设备发送该背景流数据,以及终端设备的视口区域对应的第二残差流数据。
该第二残差流数据包括于第一全景视频数据的第一残差流数据中。例如,该第二残差流数据可以是第一残差流数据中的全部或部分数据。
终端设备在接收到服务器发送的背景流数据以及视口区域对应的第二残差流数据之后,即可对该背景流数据以及第二残差流数据进行解码并播放。
终端设备的视口区域即终端设备的视口在第一全景视频数据中对应的区域。可以理解为,终端设备在第一全景视频数据中对应的窗口。例如,当用户使用终端设备播放第一全景视频数据时,第一全景视频数据可以理解为全方位环绕用户的图像,如图5A所示,用户可以通过终端设备观看第一全景视频数据中的其中一个窗口,该窗口的区域及为视口区域。当用户切换视角时,如图5B所示,视口区域也跟随视角改变。因此,当用户切换视角时,终端设备的视口区域也相应改变。当终端设备的视口区域切换时,服务器也需要将切换后的视口区域的第二残差流数据发送至终端设备。
因此,在本申请实施方式中,服务器可以对第一全景视频进行上采样得到背景流数据,并对背景流数据进行上采样得到第二全景视频数据,然后根据第一全景视频数据与第二全景视频数据之间的残差值得到第一残差流数据,并确定终端设备的视口区域对应的第二残差流数据,并将背景流数据与第二残差流数据发送至终端设备,使得终端设备可以根据背景流数据以及第二残差流数据得到高清晰度的全景视频数据并播放。因此,本申请实施方式中,除了向终端设备发送背景流数据,还向终端设备发送视口区域对应的残差流数据,残差流数据的数据量远小于视口流数据,因此,可以降低发送全景视频相关的数据的时延,从而降低终端设备切换视口的刷新时延,提高用户体验。
下面对本申请提供的数据传输的方法进行更详细地说明。
结合前述图2,请参阅图6,本申请提供的另一种数据传输的方法的流程示意图,如下所述。
601、服务器获取第一全景视频数据。
其中,若该服务器为分布式服务器中的服务器,则该服务器可以接收分布式结构中的其他服务器或设备发送的第一全景视频数据。或者,该服务器也可以接收与VR应用对应的应用服务器发送的第一全景视频数据。或者,该服务器还可以从本地存储的数据中读取该第一全景视频数据等。
该第一全景视频数据可以是立方体投影的全景视频数据、锥体投影的全景视频数据、等距柱状投影(equi-rectangular projection,ERP)视频数据等不同形式的全景视频数据。当第一全景视频数据为ERP视频数据时,其中任一帧图像也可以称为ERP图像。例如,如图7A所示,当第一全景视频数据为立方体投影的全景视频数据时,该第一全景视频数据的每一帧图像可以映射为6帧子图像,分别包括立方体的6个平面映射的图像,可以包括前、后、左、右、上以及下6帧子图像。又例如,如图7B所示,当第一全景视频数据为锥体投影的全景视频数据时,该锥体投影的全景视频数据也可以称为金字塔形全景视频数据。以从锥体顶点到底面为视点方向,一帧全景图像分别可以投影到金字塔的5个面,得到5帧子图像,可以包括前、上、下、左以及右5帧子图像。当第一全景视频数据为ERP视频数据时,其中,一帧全景视频可以直接展开为一帧ERP图像。
602、服务器对第一全景视频数据进行下采样得到背景流数据。
603、服务器对背景流数据进行上采样得到第二全景视频数据。
本申请步骤602、603可以参阅前述步骤201、202中的相关描述,本申请对此不再赘述。
604、服务器进行划分,得到N个分块Tile。
其中,服务器进行Tile的划分可以有多种方式,可以基于第一全景视频数据进行划分,也可以基于背景流数据进行划分,具体的划分方式类似,本申请实施例以第一全景视频数据为例进行示例性说明。
在步骤601之后,服务器得到第一全景视频数据,然后对第一全景视频数据进行划分,得到第一全景视频数据对应的N个分块(Tile)。
其中,该N个Tile为对第一全景视频数据中每一帧图像进行划分得到的,可以理解为,第一全景图像中的每一帧图像都可以划分为N个Tile,且该N个Tile的划分方式在每一帧图像中都相同。
具体的Tile划分方式可以包括:将第一全景视频数据中的每一帧图像划分为N个Tile。划分的区域可以包括任意一帧图像中的全部区域,或者任意一帧图像的顶部与底部的部分区域以及赤道的全部区域。此外,也可以基于背景流数据进行划分,得到N个Tile。预设的大小可以根据实际应用场景进行调整,通常,为降低终端设备切换视口时传输的视口相关数据的数据量,该数据量越小,每个Tile划分的大小也可以相应地越小。并且,每个Tile的大小可以相同,也可以不相同,本申请对此不作限定。
示例性地,对第一全景视频数据划分的N个Tile可以如图8所示。通常,每一帧全景视频数据可以展开为矩形的图像,图像的顶部与底部可能产生一定程度的形变。因此,在对每一帧图像进行划分时,可以对图像的赤道区域进行完全划分,划分的每个Tile的面积也可以较小;对于图像的顶部以及底部,则可以对其中的部分图像进行划分,或者,划分得到的Tile的面积较大等。
例如,如图9所示,一帧全景图像可以理解为一帧立体全景图像展开的矩形图像,可以分为顶部、底部以及中部,中部也可以称为赤道区域。通常,图片的顶部与底部可能出现变形的情况,例如,拉伸或压缩等,因此,在对顶部以及底部进行切分时,可以切分仅顶部或底部的部分图像,或者,在切分顶部或底部图像时,划分的Tile的面积较大。对于图像的中部,则可以进行完全切分,中部图像的每个Tile的面积大小可以相同,也可以不相同。
需要说明的是,本申请实施例对步骤602与步骤604的执行顺序不作限定,可以先执行步骤602,也可以先执行步骤604,具体可以根据实际应用场景进行调整。
在一种可能的实现方式中,服务器进行Tile划分之后,还可以为得到的N个Tile分配标识。该标识可以用于终端设备请求视口区域对应的数据。
在一种可能的实现方式中,服务器在对Tile划分,并分配对应的标识之后,还可以将划分得到的N个Tile的信息以及标识发送至终端设备,以使终端设备在后续请求视口区域对应的数据时,可以以Tile为单位进行请求。
605、服务器确定第一全景视频数据的参数值与第二全景视频数据的参数值的残差值。
其中,本申请实施例中,可以先执行步骤604,也可以先执行步骤605,下面分别对前述不同的执行方式进行说明。
方式一、先执行步骤604,然后执行步骤605。
在服务器确定N各Tile的区域、第一全景视频数据以及第二全景视频数据之后,基于N个Tile,确定第一全景视频数据中每一帧图像的参数值,与第二全景视频数据中对应的每一帧的参数值之间的残差值。
其中,该参数值可以包括但不限于以下一种或多种:像素值、亮度值、灰度值或者RGB(red green blue,红绿蓝)值等等。
具体地,可以计算第一全景视频数据中的每一帧图像中每一个像素点的参数值,与第二全景视频数据中的每一帧图像中的每一个像素点的参数值之间的残差值,从而可以得到N个Tile中每个Tile对应的残差值。其中,当参数值存在多个时,对应的残差值也可以是多个。例如,若该参数值包括亮度值以及灰度值,相应地,残差值也可以包括第一全景视频数据中每一帧图像中的每个像素点的亮度值与第二全景视频数据中对应的像素点之间的亮度值的差值,以及第一全景视频数据中每一帧图像中的每个像素点的灰度值与第二全景视频数据中对应的像素点之间的灰度值的差值。
可以理解为,本申请实施方式中,以Tile为单位确定第一全景视频数据与第二全景视频数据中的每个像素点的残差值,使得后续在得到第一残差流数据时,该第一残差流数据中包括以Tile为单位的残差流数据,因此服务器在向终端设备发送残差流数据时,可以以Tile为单位进行发送,从而服务器在终端设备切换视口区域时,提高调整发送的残差流数据的精度。
例如,以第一全景视频数据与第二全景视频数据的对应的一帧全景图像中的任一对应的像素矩阵为例进行说明,请参阅图10,其中,可以计算第一全景视频数据中一帧全景图像的3*3像素矩阵,与第二全景视频数据中对应的3*3矩阵的像素值之间的残差值,从而得到3*3像素矩阵中每个像素点的残差值。通常,残差值的范围以为[-255,255]。
方式二、先执行步骤605,然后执行步骤604。
具体地,首先计算第一全景视频数据的参数值与第二全景视频数据的参数值之间的残差值的方式可以参阅前述方式一,不再赘述。
在得到第一全景视频数据的参数值与第二全景视频数据的参数值之间的残差值之后,若在执行步骤604,则可以基于划分得到的N个Tile,将残差值划分为N个Tile分别对应的残差值,即以Tile为单位对残差值进行划分。
因此,本申请实施方式中,可以先进行Tile的划分,然后计算残差值,也可以先计算残差值,在进行Tile的划分,提供了多种方式。
606、服务器去除N个Tile的残差值中的冗余残差值,得到L个Tile的残差数据。
其中,在得到N个Tile中每个Tile的残差值之后,还可以去除该N个Tile的残差值中的冗余残差值。从而得到该N个Tile中的L个Tile的残差数据。该L为小于或等于N的正整数。可以理解为,本申请实施方式中,N个Tile的残差值可能存在冗余的情况,因此,可以去除N个Tile中的冗余残差值,从而降低残差流数据的数据量,提高传输效率。
在一种可选的实施方式中,去除该N个Tile的残差值中的冗余残差值的具体方式可以包括:服务器确定该N个Tile中每个Tile对应的残差值的平方和∑p2,p为每个Tile中的每个像素点对应的残差值;当服务器确定第一Tile的∑p2小于第一预设值时,服务器确定第一Tile的残差值为冗余残差值,第一Tile为N个Tile中的任意一个Tile,第一预设值为根据第一Tile的高度与宽度确定。该第一预设值可以是根据第一Tile的高度与宽度确定的值,或者,该第一预设值也可以是根据第一Tile的高度与高度,结合经验值确定。例如,该第一预设值可以是0.3*TW*TH。其中,0.3为示例性的经验值,也可以替换为其他值,TW与TH为第一Tile的宽度与高度。通常,TW与TH可以根据第一全景视频数据的分辨率确定。可以理解为,当任意一个Tile的残差值较小时,满足∑p2<0.3*TW*TH,可能因该Tile内的参数值变化较小而导致残差值也较小,例如,该Tile中像素点的残差值大部分分布于0或接近0,可以将该Tile的残差值作为冗余残差值,并删除该Tile的残差值,从而降低第一残差流的数据量。例如,在一些参数值变化较小的Tile中,残差值大部分都为0,对于这些参数值变化较小的Tile,可以不保存该Tile的残差数据,从而节省存储以及传输带宽。相应地,在终端接收到视口区域对应的第二残差流数据时,若视口区域包括第一Tile,而并未接收到第一Tile的残差流数据时,则终端设备默认该第一Tile的残差值为0。
因此,本申请实施方式中,可以通过去除冗余残差值的方式,降低残差流数据的数据量,进而降低服务器的存储量,以及残差流数据的传输数据量,因此可以进一步降低数据传输的时延,降低终端设备切换视口的时延,提高用户体验。
在一种可选的实施方式中,在得到去冗余得到L个Tile的残差值之后,还可以对该L个Tile的残差值进行处理,使大部分残差值分布于正数范围内,从而得到L个Tile的残差数据。通常,残差值的取值范围可能为[-255,255],即可能存在部分残差值为负数。因此,为便于编码传输,需要将该L个Tile的残差值调整为正数。通常可以将残差值加上预设值,例如,127,128等。示例性地,以该预设值为127为例,在残差值加上127之后,保留[0,255]范围内的值。可以理解为,在对残差值进行处理前,残差值的中心值为0,对残差值进行处理之后,残差值的中心值为127,并保留以127位中心的±127范围内的残差值,从而进一步降低残差值的数据量,并将负数的残差值转换为正数,以便后续进行编码传输。通常,大部分残差值分布于[-127,127]范围内,将残差值加上127之后,则大部分分布于[0,255]。因此,通过上述的处理方式,保留了[-127,127]范围内的大部分残差值,可以保留大部分的残差值,并降低残差数据的数据量,进一步提高传输效率。
607、服务器根据纹理复杂度对L个Tile的残差数据进行编码,得到第一残差流数据。
在服务器得到L个Tile的残差数据之后,还可以对该L个Tile的残差数据进行编码,得到第一残差流数据。
该第一残差流数据中包括该L个Tile中每个Tile对应的残差流数据。可以理解为,该第一残差流数据中,包括了以Tile为单位保存的L组差流数据。具体地,在保存第一残差流数据时,可以建立映射关系,该映射关系可以包括Tile的标识与对应的残差流数据。该映射关系可以是映射表的形式,也可以是节点的形式。例如,该映射关系可以是映射表,该映射表中包括了Tile的标识以及对应的残差流数据在存储器或数据库中保存的位置。又例如,该映射关系为节点的形式,每一个节点中保存了Tile的标识以及对应的残差流数据。
具体的编码方式可以包括高级视频编码(advanced video coding,AVC),高效率视频编码(high efficiency video coding,HEVC)等方式。
在对L个Tile的残差数据进行编码时,可以根据该L个Tile中每个Tile分别对应的纹理复杂度进行编码,从而得到第一残差流数据。
在一种可选的实施方式中,服务器确定所述L个Tile中每个Tile的纹理复杂度。其中,纹理复杂度高于第二预设值的Tile采用第一码率进行编码,纹理复杂度不高于第二预设值的Tile采用第二码率进行编码,第二码率低于第一码率。示例性地,当第二Tile的纹理复杂度高于第二预设值时,服务器对第二Tile的残差数据采用第一码率进行编码,第二Tile为L个Tile中的任意一个;当第一Tile的纹理复杂度不高于第二预设值时,服务器对第一Tile的残差数据采用第二码率进行编码。
具体地,纹理复杂度可以通过图像的灰度级直方图的二阶矩阵进行计算。具体地,
Figure BDA0002165215370000111
其中,μ即为纹理复杂度,z为灰度值,p为相应的直方图,m为z的均值,L为不同灰度级的数量。
因此,对于纹理复杂度高的Tile,可以使用较高的码率进行编码,从而对该Tile的压缩量较小,保留的细节数据较多,使得终端设备解析该Tile的残差流时,可以得到清晰的图像。而对于纹理复杂度低的Tile,可以使用较低的码率进行编码,在不影响终端设备的解析效果的。本申请实施方式中,可以以Tile为单位实现对残差数据的码率控制,提高对Tile的残差流数据的保存以及调整的精度,在实现终端设备获取到高清晰度的全景视频数据的同时,可以有效降低数据量,提高数据传输的效率,降低数据传输的时延,提高用户体验。
608、服务器向终端设备发送背景流数据,以及终端设备的视口区域对应的第二残差流数据。
其中,在终端设备向服务器请求第一全景视频数据时,或者,服务器在自身或其他设备的触发下确定向终端设备第一全景视频数据时,服务器向终端设备发送背景流数据以及终端设备的视口区域对应的第二残差流数据。该第二残差流数据包括与第一残差流数据中。
在一种可能的实现方式中,服务器确定终端设备的视口区域对应的M个Tile,并从第一残差流中以Tile为单位提取该M个Tile对应的残差流数据,并发送至终端设备。该M为小于或等于N的正整数。通常,该M可以小于N。
在一种可能的实现方式中,在步骤608的向终端设备发送视口区域的第二残差流数据之前,服务器还接收终端设备发送的视口信息,该视口信息包括视口区域在N个Tile中对应的M个Tile的标识,或者,视口信息包括视口区域在第一全景视频数据中的坐标信息。服务器可以根据终端设备发送的视口信息,确定终端设备当前的视口区域对应的M个Tile,并从第一残差流数据中提取该M个Tile的残差流数据,从而发送至终端设备。
示例性地,如图11所示,其中,视口区域对应的Tile为1-16,因此,终端设备在将背景流数据发送给终端设备的同时,还将Tile 1-16对应的残差流数据发送至终端设备,以使终端设备可以对Tile 1-16对应的残差流数据进行解码,并结合解码的结果与背景流数据上采样得到的第三全景视频数据进行重建,从而得到第四全景视频数据并播放。使得终端设备的视口区域的图像更清晰,更接近于第一全景视频数据的清晰度。
在一种可能的实现方式中,在终端设备发送该视口信息之前,服务器还将Tile的划分结果以及Tile的标识发送至终端设备,以使终端设备在确定视口区域之后,可以将视口区域对应的Tile的标识发送至服务器,以使服务器确定终端的视口区域对应的Tile,从而准确地发送第二残差流数据。
此外,服务器在向终端设备发送背景流数据以及第二残差流数据时,可以通过同一信道发送背景流数据以及第二残差流数据,也可以通过不同的信道分别发送背景流数据以及第二残差流数据。
因此,在本申请实施方式中,可以通过Tile的划分,提高发送第二残差流数据的精度,即使当终端设备调整视口区域时,也可以以Tile为单位发送第二残差流数据,降低更新视口区域的画面传输的数据量,提高数据传输效率。并且,相对于对视口画面进行编码并发送,本申请通过对残差数据进行编码并发送,可以有效降低数据量,提高数据传输效率,降低终端设备刷新视口区域的画面的时延,提高用户体验。此外,本申请通过背景流数据与残差数据的结合,可以通过简单的计算方式,降低全景视频数据传输的复杂度以及计算量,提高服务器的工作复杂度,提高服务器的处理效率。
前述对本申请提供的数据传输的方法中由服务器执行的步骤进行了详细介绍,结合前述图2-11,本申请还提供了另一种数据传输的方法,请参阅图12,如下所述。
1201、服务器向终端设备发送背景流数据以及第二残差流数据。
首先,终端设备接收服务器发送的背景流数据以及视口区域对应的第二残差流数据。
并且,在服务器向终端设备发送背景流数据以及第二残差流数据,服务器还根据第一全景视频数据进行处理,得到背景流数据以及第二残差流数据所属的第一残差流数据,具体的步骤可以参阅前述图6中的步骤601-608,此处不再赘述。
其中,视口区域对应的第二残差流数据中包括以Tile为单位的残差流数据,一个Tile可以对应一组残差流数据,若视口区域包括M个Tile,则该第二残差流数据中包括以Tile为单位的多组残差流数据。例如,如前述图11中所示,若终端设备的视口区域对应的Tile为1-16,则终端设备接收服务器发送的Tile1-16对应的16组残差流数据。
在一种可能的实现方式中,在步骤1201之前,终端设备还向服务器发送视口信息。该视口信息中包括视口区域在N个Tile中对应的M个Tile的标识,或者,视口信息包括视口区域的坐标信息等。N个Tile为服务器进行划分得到的,N为正整数,M为小于或等于N的正整数。具体地,终端设备可以在向服务器发送的视频数据请求中,携带该视口信息,以请求服务器传输与视口区域对应的数据。
1202、终端设备对背景流数据进行上采样得到第三全景视频数据。
在接收到服务器发送的背景流流数据之后,终端设备对背景流数据进行上采样得到第三全景视频数据。
上采样的具体方式可以包括最邻近插值法、双线性二次插值法、Lanczos插值等等。具体地,上采样的方式可以参阅前述步骤202。
1203、终端设备对第二残差流数据进行解码得到残差数据。
在接收到服务器发送的第二残差流数据之后,终端设备可以根据该第二残差流数据与第三全景视频得到第四全景视频数据。其中,终端设备在接收到视口区域对应的第二残差流数据之后,首先对该第二残差流数据进行解码,得到视口区域对应的残差数据。
具体地,解码方式可以与编码方式对应,例如,若编码方式为AVC编码,则可以对应地进行AVC解码,若编码方式为HEVC编码,则可以对应地进行HEVC解码。本申请实施方式对残差数据的编码方式以及残差流数据的解码是不作限定。
并且,在对第二残差流数据进行解码时,可以采用不同的码率进行解码。通常,服务器可以根据Tile对应的图像的纹理复杂度使用不同的码率进行编码,相应地,终端设备在进行解码时,也可以采用不同的码率进行解码。例如,每个Tile对应的残差流数据中,可以携带解码码率或编码码率的标识信息,以指示终端设备进行解码的码率。对于纹理复杂度较高的Tile,可以使用较高的第一码率进行解码,对于纹理复杂度较低的Tile,可以使用较低的第二码率进行解码。因此,对于纹理复杂度高的Tile,使用高码率进行编解码,可以保留更多的纹理细节,使终端设备得到的残差数据更准确,后续重建得到的第四全景视频数据更清晰。
本申请实施方式中,对步骤1202与步骤1203的执行顺序不作限定,可以先执行步骤1202,也可以先执行步骤1203,还可以同时执行步骤1202与1203,具体可以根据实际应用场景进行调整。
1204、终端设备根据残差数据对第三全景视频数据进行重建得到第四全景视频数据。
终端设备在步骤1202中得到第三全景视频数据,以及在步骤1203中得到视口区域对应的残差数据之后,根据该残差数据对第三全景视频数据进行重建,得到第四全景视频数据。
具体地,在终端设备进行解码的残差数据之后,可以确定视口区域对应的残差值,从而在第三全景视频数据的视口区域中,叠加残差值,即可得到第四全景视频数据。
在一种可选的实施方式中,若在得到残差数据之后,还将残差值加上预设值,则相应地,终端设备在解码得到残差数据之后,也可以将残差数据减去预设值,从而得到视口区域的Tile对应的残差值。示例性地,以该预设值为127为例。残差数据中携带的值通常分布于[0,255],将残差数据中的每个数据减去127,即残差值分布于[-127,127],得到视口区域对应的残差值。
通常,可以在第三全景视频数据对应的视口区域中的每个像素点的参数值,加上残差值,即可得的第四全景视频数据。该参数值可以包括但不限于以下一种或多种:像素值、亮度值、灰度值或者RGB(red green blue,红绿蓝)值等。
例如,如图13所示,以第三全景视频数据的视口区域中其中一个3*3像素矩阵中的像素值为例,可以在第三全景视频数据的视口区域中其中一个3*3像素矩阵中的像素值的基础上,加上残差值,即可得到第四全景视频数据中对应的3*3像素矩阵中每个像素点的值。例如,上采样后其中一个像素点的像素值为56,对应像素点的残差值为-4,则计算残差值与像素值的和,即可确定该像素点的像素值实际为52。因此,可以通过残差值,使得到的第四全景视频数据更接近于第一全景视频数据。
此外,在一种可能的实现方式中,若终端设备当前的视口区域包括M个Tile,而接收到的第二残差流数据中,包括该M个Tile中全部或部分Tile对应的残差流数据。当该第二残差流数据中包括该M个Tile中部分Tile对应的残差流数据时,可能存在因服务器侧去除冗余残差值之后,删除了部分Tile的残差值,例如,如前述图11中的Tile1或Tile2,因Tile1或Tile2中的像素值变化较小,得到的残差值将作为冗余残差值删除。因此,当终端设备确定第二残差流数据中不包括部分Tile的残差值时,可以该缺失的部分Tile的残差值默认为0,即该缺失部分Tile在第三全景视频数据的图像中不叠加残差值。因此,可以降低残差流数据的传输量,进一步降低视口区域相关的数据传输量,降低数据传输时延,提高用户体验。
1205、终端设备播放第四全景视频数据。
在终端设备得到第四全景视频数据之后,即可播放第四全景视频数据。
此外,当终端设备切换视口时,可以以Tile为单位刷新图像。例如,若更新前的视口区域包括Tile1-16,更新后的视口区域包括Tile4-19,则终端设备再次向服务器发送Tile4-19相关的视口信息,携带更新后的视口区域的Tile标识或坐标信息等,使服务器发送背景流数据的同时,还发送更新后的视口区域的残差流数据。而更新后的视口区域中增加了Tile17-19,减少了Tile1-3,因此,终端设备在刷新图像时,可以仅刷新Tile17-19的画面即可,也可以刷新Tile1-3以及Tile17-19的图像。
因此,在本申请实施方式中,终端设备可以接收服务器发送的背景流数据以及残差流数据,对背景流数据进行解码得到第三全景视频数据,对残差流数据进行解码可以得到视口区域对应的残差值,并在第三全景视频数据的基础上叠加残差值,从而得到第四全景视频数据。因此,本申请通过传输残差值,相对于传输视口区域的画面的数据,传输的数据量更少,传输的效率更高。并且,在切换视口时,可以以Tile为单位刷新图像,刷新的数据量更少,可以降低传输时延,进而降低刷新时延,提高用户体验。
前述对本申请提供的数据传输的方法进行了详细说明,下面以一个应用场景对本申请提供的数据传输的方法进行说明。
其中,8K视频分辨率为7680*4320的ERP全景视频,4K背景流即分辨率为4096×2160的视频数据。
如图14所示,具体流程如下所述。
服务器获取到8K视频。
对该8K视频进行下采样,得到4K背景流数据。通过下采样可以得到数据量更少的4K背景流。
服务器对得到的4K背景流数据进行上采样的,得到视频数据称为伪8K视频数据。
然后确定8K视频数据与伪8K视频数据的像素值之间的残差值。具体地,确定8K视频数据与伪8K视频数据中每一帧图像中的每个像素点之间的像素值之间的差值,即可得到8K视频数据与伪8K视频数据之间的残差值。
此外,服务器还可以基于8K视频进行Tile划分,得到N个Tile,划分的具体方式可以参阅前述步骤604。
然后服务器以Tile为单位对残差值进行划分,得到以Tile为单位的残差值,并以Tile为单位进行编码封包等,得到残差流数据。其中,纹理复杂度不同的Tile可以对应不同的编码码率,通常,纹理复杂度较高的Tile可以采用较高码率编码,从而保留该Tile中的纹理细节,使终端设备解析到的图像更清晰。纹理复杂度较低的Tile可以采用较低码率编码,从而降低残差流数据的数据量,提高传输效率,降低传输时延。
服务器还将4K背景流以及残差流数据发送至终端设备。应理解,此处服务器向终端设备发送的残差流数据为视口区域对应的残差流数据。
终端设备在接收到4K背景流数据之后,根据最邻近插值法、双线性二次插值法、Lanczos插值等方式进行上采样,得到伪8K视频数据。
并且,终端设备对视口区域对应的残差流数据进行解码,得到视口区域对应的残差值。其中,在终端设备对残差数据量进行解码时,对于不同的Tile对应的残差流数据,可以采用不同的码率。通常,纹理复杂度高的Tile对应较高码率,纹理复杂度较低的Tile可以对应较低码率。因此,可以保留纹理复杂度高的Tile的大部分细节,使终端设备重建得到的视频数据更清晰。可以降低纹理复杂度较低的Tile的数据量,提高传输效率,降低传输时延。
终端设备在伪8K视频数据的基础上叠加残差值,从而得到8K视频,包括8K视频中的视口区域。其中,在伪8K视频数据的基础上叠加残差值时,残差流数据中可能确实部分Tile的残差值,对于缺失的部分Tile的残差值,终端设备可以以伪8K视频数据中的数据为准,即缺失的部分Tile不进行残差值的叠加。
终端设备播放该8K视频的视口区域的数据。
因此,本申请实施例中,服务器可以以Tile为单位进行残差流数据的发送,使得终端设备在切换视口时,可以以Tile为单位进行图像的刷新,且以Tile为单位传输的残差流数据的数据量较小,可以降低数据传输的时延,从而降低终端设备刷新图像的时延,提高用户体验。
前述对本申请提供的数据传输的方法进行了详细说明,下面结对本申请提供的服务器以及终端设备等进行详细说明,该服务器可以用于执行前述图2-14中由服务器执行的步骤,该终端设备可以执行前述图2-14中由终端设备执行的步骤。
请参阅图15,本申请提供的一种服务器的结构示意图,该服务器包括:收发单元1501以及处理单元1502;
处理单元1502,用于对第一全景视频数据进行下采样得到背景流数据;
处理单元1502,还用于对背景流数据进行上采样得到第二全景视频数据;
处理单元1502,还用于根据第二全景视频数据与第一全景视频数据的残差值得到第一残差流数据;
收发单元1501,用于向终端设备发送背景流数据,以及终端设备的视口区域对应的第二残差流数据,第二残差流数据包括于第一残差流数据,视口区域为终端设备的视口在第一全景视频中对应的区域。
在一种可能的实施方式中,在处理单元1502对背景流数据进行上采样得到第二全景视频数据之前,处理单元1502,还用于:
对第一全景视频数据进行划分,得到N个分块Tile,N为正整数;
根据第二全景视频数据与第一全景视频数据的残差值得到第一残差流数据,包括:
基于N个Tile,根据第一全景视频数据中的参数值与第二全景视频中的参数值的残差值,得到第一全景视频数据的第一残差流数据。
在一种可能的实施方式中,
处理单元1502,还用于确定N个Tile中与视口区域对应的M个Tile,M为小于或等于N的正整数;
处理单元1502,还用于从第一残差流数据中确定M个Tile对应的第二残差流数据;
收发单元1501,用于向终端设备发送第二残差流数据。
在一种可能的实施方式中,
收发单元1501,还用于接收终端设备发送的视口信息,视口信息包括视口区域在N个Tile中对应的M个Tile的标识,或者,视口信息包括视口区域在第一全景视频数据中的坐标信息;
处理单元1502,具体用于根据视口信息确定N个Tile中与视口区域对应的M个Tile。
在一种可能的实施方式中,处理单元1502,具体用于:
基于N个Tile,确定第一全景视频的参数值与第二全景视频的参数值的残差值,得到N个Tile中L个Tile的残差数据,L为小于或等于N的正整数;
对N个Tile中的L个Tile的残差数据进行编码,得到第一残差流数据。
在一种可能的实施方式中,处理单元1502,具体用于:
确定第一全景视频中N个Tile中每个Tile的参数值与第二全景视频中与每个Tile对应的Tile的参数值之间的差值,得到N个Tile中每个Tile的残差值;
去除N个Tile的残差值中的冗余残差值,得到N个Tile中L个Tile的残差数据。
在一种可能的实施方式中,
处理单元1502,还用于在去除N个Tile中每个Tile的残差值中的冗余残差值之前,确定每个Tile对应的残差值的平方和∑p2,p为每个Tile中的每个像素点对应的残差值;
处理单元1502,还用于当第一Tile的∑p2小于第一预设值时,确定第一Tile的残差值为冗余残差值,第一Tile为N个Tile中的任意一个Tile。
在一种可能的实施方式中,处理单元1502,具体用于:
确定L个Tile中每个Tile的纹理复杂度;
根据L个Tile中每个Tile的纹理复杂度,对L个Tile中每个Tile的残差数据分别进行编码,得到第一残差流数据。
在一种可能的实施方式中,处理单元1502,具体用于:
当第二Tile的纹理复杂度高于第二预设值时,对第二Tile的残差数据采用第一码率进行编码,第二Tile为L个Tile中的任意一个;
当第一Tile的纹理复杂度不高于第二预设值时,对第一Tile的残差数据采用第二码率进行编码,第一码率高于第二码率。
请参阅图16,本申请提供的一种终端设备的结构示意图,包括:收发单元1601、处理单元1602以及播放单元1603;
收发单元1601,用于接收服务器发送的背景流数据,以及视口区域对应的第二残差流数据;
处理单元1602,用于对背景流数据进行上采样得到第三全景视频数据;
处理单元1602,还用于根据第二残差流数据以及第二全景视频数据得到第四全景视频数据;
播放单元1603,用于播放第四全景流数据。
在一种可能的实施方式中,处理单元1602,具体用于:
对第二残差流数据进行解码,得到视口区域对应的残差数据;
根据残差数据对第三全景视频数据进行重建,得到第四全景视频数据。
在一种可能的实施方式中,收发单元1601,还用于在接收服务器发送的视口区域对应的第二残差流数据之前,向服务器发送视口信息,视口信息中包括视口区域在N个Tile中对应的M个Tile的标识,或者,视口信息包括视口区域的坐标信息,N个Tile为服务器进行划分得到的,N为正整数,M为小于或等于N的正整数。
本申请还提供一种服务器1700,请参阅图17,本申请实施例中服务器一个实施例,该服务器可以用于执行图2-14所示的任一实施例中服务器执行的步骤,可以参考上述方法实施例中的相关描述。
该服务器1700包括:处理器1701、存储器1702以及输入输出设备1703。
一种可能的实现方式中,该处理器1701、存储器1702、输入输出设备1703分别与总线相连,该存储器中存储有计算机指令。
前述实施例中的收发单元1501则可以是本实施例中的输入输出设备1703,因此该输入输出设备1703的实现不再赘述。
前述实施例中的处理单元1502可以是本实施例中的处理器1701,因此该处理器1701的实现不再赘述。
一种实现方式中,服务器1700可以包括相对于图17更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
本申请还提供一种终端设备1800,请参阅图18,本申请实施例中终端设备一个实施例,该终端设备可以用于执行图2-14所示的任一实施例中终端设备执行的步骤,可以参考上述方法实施例中的相关描述。
该终端设备1800包括:处理器1801、存储器1802以及输入输出设备1803。
一种可能的实现方式中,该处理器1801、存储器1802、输入输出设备1803分别与总线相连,该存储器中存储有计算机指令。
前述实施例中的收发单元1601则可以是本实施例中的输入输出设备1803,因此该输入输出设备1803的实现不再赘述。
前述实施例中的处理单元1602可以是本实施例中的处理器1801,因此该处理器1801的实现不再赘述。
一种实现方式中,终端设备1800可以包括相对于图18更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
本申请还提供了一种数据传输系统,该数据传输系统包括:服务器以及终端设备。
该服务器为前述图15或图17所示的服务器,可以用于执行前述图2-14中所示的任一实施方式中由服务器执行的步骤。
该终端设备为前述图16或图18所示的终端设备,可以用于执行前述图2-14中所示的任一实施方式中由终端设备执行的步骤。
本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器或终端设备实现上述方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在另一种可能的设计中,当该芯片系统为终端设备或接入网等内的芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该服务器或终端设备等内的芯片执行上述图2-14中任一项实施例中服务器或终端设备执行的方法的步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述UE或基站等内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
本申请实施例还提供了一种处理器,用于与存储器耦合,用于执行上述各实施例中任一实施例中涉及服务器的方法和功能。
本申请实施例还提供了一种处理器,用于与存储器耦合,用于执行上述各实施例中任一实施例中涉及终端设备的方法和功能。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例中与终端设备或服务器相关的方法流程。对应的,该计算机可以为上述终端设备或服务器。
应理解,本申请以上实施例中的服务器、终端设备、芯片系统等中提及的处理器,或者本申请上述实施例提供的处理器,可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的服务器、终端设备、芯片系统等中的处理器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还应理解,本申请实施例中以上实施例中的服务器、终端设备、芯片系统等中提及的存储器或可读存储介质等,可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
还需要说明的是,当终端设备或服务器包括处理器(或处理单元)与存储器时,本申请中的处理器可以是与存储器集成在一起的,也可以是处理器与存储器通过接口连接,可以根据实际应用场景调整,并不作限定。
本申请实施例还提供了一种计算机程序或包括计算机程序的一种计算机程序产品,该计算机程序在某一计算机上执行时,将会使所述计算机实现上述任一方法实施例中与终端设备或服务器的方法流程。对应的,该计算机可以为上述的终端设备或服务器。
在上述图2-14中各个实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者其他网络设备等)执行本申请图2至图14中各个实施例所述方法的全部或部分步骤。而该存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本申请各实施例中提供的消息/帧/信息、模块或单元等的名称仅为示例,可以使用其他名称,只要消息/帧/信息、模块或单元等的作用相同即可。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (15)

1.一种数据传输的方法,其特征在于,包括:
服务器对第一全景视频数据进行下采样得到背景流数据;
所述服务器对所述背景流数据进行上采样得到第二全景视频数据;
所述服务器根据所述第二全景视频数据与所述第一全景视频数据的残差值得到第一残差流数据;
所述服务器向终端设备发送所述背景流数据,以及所述终端设备的视口区域对应的第二残差流数据,所述第二残差流数据包括于所述第一残差流数据,所述视口区域为所述终端设备的视口在所述第一全景视频中对应的区域。
2.根据权利要求1所述的方法,其特征在于,在所述服务器对所述背景流数据进行上采样得到第二全景视频数据之前,所述方法还包括:
所述服务器对所述第一全景视频数据进行划分,得到N个分块Tile,所述N为正整数;
所述服务器根据所述第二全景视频数据与所述第一全景视频数据的残差值得到第一残差流数据,包括:
所述服务器基于所述N个Tile,根据所述第一全景视频数据中的参数值与所述第二全景视频中的参数值的残差值,得到所述第一全景视频数据的第一残差流数据。
3.根据权利要求2所述的方法,其特征在于,所述服务器向终端设备发送所述终端设备的视口区域对应的第二残差流数据,包括:
所述服务器确定所述N个Tile中与所述视口区域对应的M个Tile,所述M为小于或等于所述N的正整数;
所述服务器从所述第一残差流数据中确定所述M个Tile对应的第二残差流数据,并向所述终端设备发送所述第二残差流数据。
4.根据权利要求3所述的方法,其特征在于,所述服务器确定所述N个Tile中与所述视口区域对应的M个Tile,包括:
所述服务器接收所述终端设备发送的视口信息,所述视口信息包括所述视口区域在所述N个Tile中对应的M个Tile的标识,或者,所述视口信息包括所述视口区域在所述第一全景视频数据中的坐标信息;
所述服务器根据所述视口信息确定所述N个Tile中与所述视口区域对应的M个Tile。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述服务器基于所述N个Tile,根据所述第一全景视频数据中的参数值与所述第二全景视频中的参数值的残差值,得到所述第一全景视频数据的第一残差流数据,包括:
所述服务器基于所述N个Tile,确定所述第一全景视频的参数值与所述第二全景视频的参数值的残差值,得到所述N个Tile中L个Tile的残差数据,所述L为小于或等于所述N的正整数;
所述服务器对所述N个Tile中的L个Tile的残差数据进行编码,得到所述第一残差流数据。
6.根据权利要求5所述的方法,其特征在于,所述服务器基于所述一个或多个Tile,确定所述第一全景视频的参数值与所述第二全景视频的参数值的残差值,得到所述一个或多个Tile的残差数据,包括:
所述服务器确定所述第一全景视频中所述N个Tile中每个Tile的参数值与所述第二全景视频中与所述每个Tile对应的Tile的参数值之间的差值,得到所述N个Tile中每个Tile的残差值;
所述服务器去除所述N个Tile的残差值中的冗余残差值,得到所述N个Tile中L个Tile的残差数据。
7.根据权利要求6所述的方法,其特征在于,在所述服务器去除所述N个Tile中每个Tile的残差值中的冗余残差值之前,包括:
所述服务器确定所述每个Tile对应的残差值的平方和∑p2,所述p为所述每个Tile中的每个像素点对应的残差值;
当所述服务器确定第一Tile的∑p2小于第一预设值时,所述服务器确定所述第一Tile的残差值为所述冗余残差值,所述第一Tile为所述N个Tile中的任意一个Tile。
8.根据权利要求5-7中任一项所述的方法,其特征在于,所述服务器对所述N个Tile中L个Tile的残差数据进行编码,得到所述第一残差流数据,包括:
所述服务器确定所述L个Tile中每个Tile的纹理复杂度;
所述服务器根据所述L个Tile中每个Tile的纹理复杂度,对所述L个Tile中每个Tile的残差数据分别进行编码,得到所述第一残差流数据。
9.根据权利要求8所述的方法,其特征在于,所述服务器根据所述每个Tile的纹理复杂度对所述每个Tile的残差数据进行编码,包括:
当第二Tile的纹理复杂度高于第二预设值时,所述服务器对所述第二Tile的残差数据采用第一码率进行编码,所述第二Tile为所述L个Tile中的任意一个;
当所述第一Tile的纹理复杂度不高于所述第二预设值时,所述服务器对所述第一Tile的残差数据采用第二码率进行编码,所述第一码率高于所述第二码率。
10.一种数据传输的方法,其特征在于,包括:
终端设备接收服务器发送的背景流数据,以及视口区域对应的第二残差流数据;
所述终端设备对所述背景流数据进行上采样得到第三全景视频数据;
所述终端设备根据所述第二残差流数据以及所述第三全景视频数据得到第四全景视频数据;
所述终端设备播放所述第四全景流数据。
11.根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第二残差流数据以及所述第三全景视频数据得到第四全景视频数据,包括:
所述终端设备对所述第二残差流数据进行解码,得到所述视口区域对应的残差数据;
所述终端设备根据所述残差数据对所述第三全景视频数据进行重建,得到所述第四全景视频数据。
12.根据权利要求10或11所述的方法,其特征在于,在终端设备接收所述服务器发送的视口区域对应的第二残差流数据之前,所述方法还包括:
所述终端设备向所述服务器发送视口信息,所述视口信息中包括所述视口区域在N个Tile中对应的M个Tile的标识,或者,所述视口信息包括所述视口区域的坐标信息,所述N个Tile为所述服务器进行划分得到的,所述N为正整数,所述M为小于或等于所述N的正整数。
13.一种服务器,其特征在于,包括:
处理器和存储器;
所述存储器中存储有程序代码;
所述处理器调用所述存储器中的程序代码时执行权利要求1-9中任一项所述方法的步骤。
14.一种终端设备,其特征在于,包括:
处理器和存储器;
所述存储器中存储有程序代码;
所述处理器调用所述存储器中的程序代码时执行权利要求10-12中任一项所述方法的步骤。
15.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-12中任一项所述的方法。
CN201910744860.9A 2019-08-13 2019-08-13 一种数据传输的方法以及装置 Pending CN112399187A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910744860.9A CN112399187A (zh) 2019-08-13 2019-08-13 一种数据传输的方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910744860.9A CN112399187A (zh) 2019-08-13 2019-08-13 一种数据传输的方法以及装置

Publications (1)

Publication Number Publication Date
CN112399187A true CN112399187A (zh) 2021-02-23

Family

ID=74602586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910744860.9A Pending CN112399187A (zh) 2019-08-13 2019-08-13 一种数据传输的方法以及装置

Country Status (1)

Country Link
CN (1) CN112399187A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143602A (zh) * 2021-12-06 2022-03-04 深圳创维数字技术有限公司 全景画面的播放方法、装置、全景播放服务器和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454321A (zh) * 2016-10-26 2017-02-22 深圳市道通智能航空技术有限公司 全景视频的处理方法、装置及系统
CN107454412A (zh) * 2017-08-23 2017-12-08 绵阳美菱软件技术有限公司 一种视频图像的处理方法、装置及系统
US20180249163A1 (en) * 2017-02-28 2018-08-30 Nokia Technologies Oy Method and apparatus for improving the visual quality of viewport-based omnidirectional video streaming
CN109362242A (zh) * 2016-10-10 2019-02-19 华为技术有限公司 一种视频数据的处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109362242A (zh) * 2016-10-10 2019-02-19 华为技术有限公司 一种视频数据的处理方法及装置
CN106454321A (zh) * 2016-10-26 2017-02-22 深圳市道通智能航空技术有限公司 全景视频的处理方法、装置及系统
US20180249163A1 (en) * 2017-02-28 2018-08-30 Nokia Technologies Oy Method and apparatus for improving the visual quality of viewport-based omnidirectional video streaming
CN107454412A (zh) * 2017-08-23 2017-12-08 绵阳美菱软件技术有限公司 一种视频图像的处理方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143602A (zh) * 2021-12-06 2022-03-04 深圳创维数字技术有限公司 全景画面的播放方法、装置、全景播放服务器和存储介质

Similar Documents

Publication Publication Date Title
US11010955B2 (en) Point cloud mapping
CN111615715B (zh) 编码/解码体积视频的方法、装置和流
US20210118188A1 (en) Point Cloud Encoding Method, Point Cloud Decoding Method, Encoder, and Decoder
CN112219398B (zh) 用于深度编码和解码的方法和装置
US20190108655A1 (en) Method and apparatus for encoding a point cloud representing three-dimensional objects
WO2018095087A1 (zh) 一种去块滤波方法及终端
US11138460B2 (en) Image processing method and apparatus
KR20160079357A (ko) 파노라믹 비디오 영상의 관심 영역의 영상 전송 방법, 장치 및 디바이스
US10284810B1 (en) Using low-resolution frames to increase frame rate of high-resolution frames
US20220343549A1 (en) A method and apparatus for encoding, transmitting and decoding volumetric video
US10692246B2 (en) Geometry sequence encoder and decoder
JP7177034B2 (ja) レガシー及び没入型レンダリングデバイスのために没入型ビデオをフォーマットする方法、装置、及びストリーム
JP2019534500A (ja) 没入型ビデオフォーマットのための方法、機器、及びシステム
WO2020243089A1 (en) A method and apparatus for decoding three-dimensional scenes
CN114868396A (zh) 用于多视点3DoF+内容的编码和解码的方法和装置
US11910054B2 (en) Method and apparatus for decoding a 3D video
US20220256134A1 (en) A method and apparatus for delivering a volumetric video content
CN112399187A (zh) 一种数据传输的方法以及装置
Muñoz et al. Methodology for fine-grained monitoring of the quality perceived by users on 360VR contents
US20230388542A1 (en) A method and apparatus for adapting a volumetric video to client devices
KR101883981B1 (ko) 가상 현실 동영상 제공 장치 및 제공 방법
US20230379495A1 (en) A method and apparatus for encoding mpi-based volumetric video
US20230215080A1 (en) A method and apparatus for encoding and decoding volumetric video
RU2809180C2 (ru) Способ и аппаратура для кодирования и декодирования глубины
WO2024140684A1 (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210223