CN109413445A - 一种视频传输方法及装置 - Google Patents

一种视频传输方法及装置 Download PDF

Info

Publication number
CN109413445A
CN109413445A CN201710703098.0A CN201710703098A CN109413445A CN 109413445 A CN109413445 A CN 109413445A CN 201710703098 A CN201710703098 A CN 201710703098A CN 109413445 A CN109413445 A CN 109413445A
Authority
CN
China
Prior art keywords
video
frame
server
expression
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710703098.0A
Other languages
English (en)
Other versions
CN109413445B (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.)
XFusion Digital 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 CN201710703098.0A priority Critical patent/CN109413445B/zh
Publication of CN109413445A publication Critical patent/CN109413445A/zh
Application granted granted Critical
Publication of CN109413445B publication Critical patent/CN109413445B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate 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/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
    • H04N21/440263Processing 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 by altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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
    • H04N21/440281Processing 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 by altering the temporal resolution, e.g. by frame skipping

Landscapes

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

Abstract

本申请的实施例提供一视频传输方法,服务器将第一视频的原始帧转换为第一视频的表达帧,将第二视频的原始帧转换为第二视频的表达帧,所述第一视频的表达帧和第二视频的表达帧具有相同的分辨率和相同的位深;所述服务器确定具有相同时间戳的第一视频的表达帧和第二视频的表达帧的每个像素点的平均像素值,根据所述平均像素值确定第三视频;所述服务器对所述第三视频进行编码;所述服务器向客户端发送所述编码后的第三视频。解决了高并发情况下对带宽需求高的问题。

Description

一种视频传输方法及装置
技术领域
本申请涉及通信领域,尤其涉及一种视频传输方法及装置。
背景技术
4K高清视频指分辨率为4096×2160的视频。相比于传统的高清、标清视频,4K高清视频具有更多的像素、更高的帧率、更高的动态范围和更广的色域。在颜色模型的表示上,4K高清视频需要更高的位深,因此会占用比高清、标清视频更大的空间,传输时对带宽的要求也更高。传统方案中对多种清晰度的视频分别编码压缩后传输,根据用户带宽和用户的显示设备等条件选择对应清晰度编码的视频。这种方法对服务器的存储和带宽需要很高,而且无法在同一码流中兼容两种及以上清晰度视频,造成带宽资源的浪费。
针对这些问题,业界提出了Layered Coding的解决方案,即将某个清晰度的视频(如720P高清视频)作为基线层(Base Layer,BL),将其它清晰度的视频(如4K高清视频)与该清晰度的视频的残差作为补偿层(Enhancement Layer,EL),分别编码后传输。这种解决方案实际上是采用两路码流传输基线层数据和补偿层数据的,在实际应用中,这种解决方案在高并发的情况下对带宽的需求仍然很高。
发明内容
本申请的实施例提供一种视频传输方法和装置,解决了现有方案带来的高并发情况下对带宽需求高的问题。
第一方面,提供了一种视频传输方法,包括服务器将第一视频的原始帧转换为第一视频的表达帧,将第二视频的原始帧转换为第二视频的表达帧,第一视频的表达帧和第二视频的表达帧具有相同的分辨率和相同的位深;服务器确定具有相同时间戳的第一视频的表达帧和第二视频的表达帧的每个像素点的平均像素值,根据平均像素值确定第三视频;服务器对第三视频进行编码;服务器向客户端发送编码后的第三视频。
结合第一方面的实现方式,在第一方面第一种可能的实现方式中,服务器根据对应于第一视频的转换模型将第一视频的原始帧转换为第一视频的表达帧,根据对应于第二视频的转换模型将第二视频的原始帧转换为第二视频的表达帧。
结合第一方面或第一方面的第一种至第二种可能的实现方式中的任意一种,在第三种可能实现的方式中,转换模型包括重塑部分和映射部分,服务器根据对应于第一视频的转换模型的重塑部分,将第一视频的原始帧缩小为第一视频的隐含帧,服务器根据对应于第二视频的转换模型的重塑部分,将第二视频的原始帧放大为第二视频的隐含帧,第一视频的隐含帧与第二视频的隐含帧具有相同的分辨率;
服务器根据对应于第一视频的转换模型的映射部分,将第一视频的隐含帧的每个像素点的像素值进行映射,得到第一视频的表达帧,服务器根据对应于第二视频的转换模型的映射部分,将第二视频的隐含帧的每个像素点的像素值进行映射,得到第二视频的表达帧,第一视频的表达帧与第二视频的表达帧具有相同的位深以及相同的分辨率。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任意一种,在第四种可能实现的方式中,对于每个具有相同时间戳的第一视频的表达帧和第二视频的表达帧,服务器根据其每个像素点的平均像素值确定平均帧,每个平均帧组成第三视频。
结合第一方面或第一方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能实现的方式中,当第一视频的帧率大于第二视频的帧率时,服务器先对第一视频进行采样,采样后得到第一视频的原始帧,采样后的第一视频与第二视频具有相同的帧率。
第二方面,提供了一种视频传输方法,包括客户端接收来自服务器的视频;客户端将接收到的视频转换为第一视频和第二视频,第一视频和第二视频具有相同的分辨率和相同的位深;客户端播放第一视频或第二视频。
结合第二方面的实现方式,在第二方面第一种可能的实现方式中,来自服务器的视频为经过转换模型转换的视频。
结合第二方面或第二方面的第一种可能的实现方式,客户端根据还原模型将接收到的视频转换为第一视频和第二视频,其中,还原模型包括逆映射部分和重塑部分。
结合第二方面或第二方面的第一种至第二种可能的实现方式中的任意一种,在第三种可能实现的方式中,客户端根据对应于第一视频的还原模型的逆映射部分,将接收到视频的每一帧的每个像素点进行映射,得到第一初始预测视频帧;客户端根据对应于第二视频的还原模型的逆映射部分,将接收到视频的每一帧的每个像素点进行映射,得到第二初始预测视频帧;
客户端根据对应于第一视频的还原模型的重塑部分,放大第一初始预测视频帧,放大后的第一初始预测视频帧组成第一预测视频;客户端根据对应于第二视频的还原模型的重塑部分,缩小第二初始预测视频帧,缩小后的第二初始预测视频帧组成第二视频。
结合第二方面或第二方面的第一种至第三种可能的实现方式中的任意一种,在第四种可能实现的方式中,客户端对第一预测视频进行插帧,得到第一视频。
第三方面,提供了一种服务器,包括处理模块和发送模块:处理模块,用于将第一视频的原始帧转换为第一视频的表达帧,将第二视频的原始帧转换为第二视频的表达帧,第一视频的表达帧和第二视频的表达帧具有相同的分辨率和相同的位深;处理模块,还用于确定具有相同时间戳的第一视频的表达帧和第二视频的表达帧的每个像素点的平均像素值,根据平均像素值确定第三视频;以及对第三视频进行编码;发送模块,用于向客户端发送编码后的第三视频。
结合第三方面的实现方式,在第三方面第一种可能的实现方式中,处理模块用于根据对应于第一视频的转换模型将第一视频的原始帧转换为第一视频的表达帧,根据对应于第二视频的转换模型将第二视频的原始帧转换为第二视频的表达帧。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能实现的方式中,转换模型包括重塑部分和映射部分,处理模块用于根据对应于第一视频的转换模型的重塑部分,将第一视频的原始帧缩小为第一视频的隐含帧,根据对应于第二视频的转换模型的重塑部分,将第二视频的原始帧放大为第二视频的隐含帧,第一视频的隐含帧与第二视频的隐含帧具有相同的分辨率;
处理模块用于根据对应于第一视频的转换模型的映射部分,将第一视频的隐含帧的每个像素点的像素值进行映射,得到第一视频的表达帧,根据对应于第二视频的转换模型的映射部分,将第二视频的隐含帧的每个像素点的像素值进行映射,得到第二视频的表达帧,第一视频的表达帧与第二视频的表达帧具有相同的位深以及相同的分辨率。
结合第三方面或第三方面的第一种至第二种可能的实现方式中的任意一种,在第三种可能实现的方式中,对于每个具有相同时间戳的第一视频的表达帧和第二视频的表达帧,处理模块用于根据其每个像素点的平均像素值确定平均帧,每个平均帧组成第三视频。
结合第三方面或第三方面的第一种至第三种可能的实现方式中的任意一种,在第四种可能实现的方式中,当第一视频的帧率大于第二视频的帧率时,处理模块先对第一视频进行采样,采样后得到第一视频的原始帧,采样后的第一视频与第二视频具有相同的帧率。
第四方面,提供了一种客户端,包括接收模块和处理模块:接收模块,用于接收来自服务器的视频;处理模块,用于将接收到的视频转换为第一视频和第二视频,第一视频和第二视频具有相同的分辨率和相同的位深;处理模块,还用于播放第一视频或第二视频。
结合第四方面的实现方式,在第四方面第一种可能的实现方式中,来自服务器的视频为经过转换模型转换的视频。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能实现的方式中,处理模块用于根据还原模型将接收到的视频转换为第一视频和第二视频,其中,还原模型包括逆映射部分和重塑部分。
结合第四方面或第四方面的第一种至第二种可能的实现方式中的任意一种,在第三种可能实现的方式中,处理模块用于根据对应于第一视频的还原模型的逆映射部分,将接收到视频的每一帧的每个像素点进行映射,得到第一初始预测视频帧;处理模块用于根据对应于第二视频的还原模型的逆映射部分,将接收到视频的每一帧的每个像素点进行映射,得到第二初始预测视频帧;
处理模块用于根据对应于第一视频的还原模型的重塑部分,放大第一初始预测视频帧,放大后的第一初始预测视频帧组成第一预测视频;处理模块用于根据对应于第二视频的还原模型的重塑部分,缩小第二初始预测视频帧,缩小后的第二初始预测视频帧组成第二视频。
结合第四方面或第四方面的第一种至第三种可能的实现方式中的任意一种,在第四种可能实现的方式中,处理模块还用于对第一预测视频进行插帧,得到第一视频。
第五方面,提供了一种计算设备,包括:处理器、存储器、总线和通信接口;存储器用于存储计算设备执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的计算机执行指令,以使计算设备执行第一方面至第二方面及第一方面至第二方面的任一可能的实现方式的方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
根据本申请实施例提供的技术方案,通过将多个不同清晰度的视频处理成单一视频,大大降低了高并发情况下的传输带宽需求,减轻了服务器的负荷。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请实施例应用的网络架构的示意图;
图2是依据本申请一实施例的计算机设备200的硬件结构示意图;
图3是依据本申请一实施例的视频传输方法300的示范性流程图;
图4是依据本申请一实施例的转换模型的示意图;
图5是依据本申请一实施例的重塑处理的示意图;
图6是依据本申请一实施例的色彩空间映射的示意图;
图7是依据本申请一实施例的确定平均帧的示意图;
图8是依据本申请一实施例的色彩空间逆映射的示意图;
图9是依据本申请一实施例的重塑处理的示意图;
图10是依据本申请一实施例的还原模型的示意图;
图11是依据本申请一实施例的服务器1100的结构示意图;
图12是依据本申请一实施例的客户端1200的结构示意图。
具体实施方式
为方便理解和说明本申请提供的实施例,首先介绍几个与本申请实施例相关的概念。
I帧:又称为内部画面(intra picture),表示关键帧,它保留了一副画面完整的数据信息,依据该帧数据可进行解码。
GoP:Group of Pictures的缩写。视频编码中,I帧和I帧之间的图像序列
像素:视频显示的基本单位,每个像素可有各自的颜色值,可采用三原色表示。
分辨率:显示系统对细节的分辨能力,分辨率越高,画面像素就越多。
帧率:视频中每秒显示的帧数。
色域:技术系统能产生的颜色的总和,表示能显示颜色范围的极限
色彩空间:又称颜色空间,描述使用一组值(通常使用三个、四个值或者颜色成分)表示颜色方法的抽象数学模型,例如三原色光模式(RGB)和印刷四分色模式(CMYK)都是色彩模型
位深:又称色彩深度,表示在位图或者视频帧缓冲区中储存1像素的颜色所用的位数,色彩深度越高,可用的颜色种类就越多。在同一色域内,位深越高,系统对颜色表示和分类越细致。
图1是本申请实施例应用的网络架构的示意图。服务器101对待发送的视频进行处理和编码,客户端102接收来自服务器101的视频,解码和处理后进行播放。服务器101和客户端102可以通过计算机设备的形式实现。
图2是依据本申请一实施例的计算机设备200的硬件结构示意图。如图2所示,计算机设备200包括处理器202、存储器204、通信接口206和总线208。其中,处理器202、存储器204和通信接口206通过总线208实现彼此之间的通信连接。
处理器202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器204可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器204可以存储操作系统2041和其他应用程序2042。在通过软件或者固件来实现本申请实施例提供的技术方案时,用于实现本申请实施例提供的技术方案的程序代码保存在存储器204中,并由处理器202来执行。
通信接口206使用例如但不限于收发器一类的收发装置,来实现与其他设备或通信网络之间的通信。
总线208可包括一通路,在各个部件(例如处理器202、存储器204、通信接口206)之间传送信息。
当服务器101通过计算机设备200实现时,处理器202用于执行存储器204存储的用于实现本申请实施例提供的技术方案的程序代码,以实现图3实施例所示的方法。
当客户端102通过计算机设备200实现时,处理器202用于执行存储器204存储的用于实现本申请实施例提供的技术方案的程序代码,以实现图3实施例所示的方法。
图3是依据本申请一实施例的视频传输方法300的示范性流程图。视频传输方法300可以由图1所示的服务器101以及客户端102来执行。
S301,服务器将第一视频的原始帧转换为第一视频的表达帧,将第二视频的原始帧转换为第二视频的表达帧,所述第一视频的表达帧和第二视频的表达帧具有相同的分辨率和相同的位深。
具体的,服务器根据对应于第一视频的转换模型将第一视频的原始帧转换为第一视频的表达帧,根据对应于第二视频的转换模型将第二视频的原始帧转换为第二视频的表达帧。
转换模型可由多个神经网络级联组成。转换模型的一个例子如图4所示。其中,M、N表示输入的待转换的视频帧(原始帧)的大小,m、n表示输出的表达帧的大小,3代表3个颜色通道。每一级由LSTM和CovNet组成,或者由CovNet组成,LSTM、CovNet都是基本的结构单元。每一级结构的不同在于基本单元的参数不同。
第一视频与第二视频具有不同的清晰度,第一视频的帧率大于第二视频的帧率。
由于两个视频的帧率不同,服务器需要先将两个视频的帧率调整到一致。具体的,在将第一视频的原始帧转换为第一视频的表达帧之前,服务器首先第一视频进行采样处理,将第一视频与第二视频调整为具有相同的帧率。
采样方法可以使用高效率视频编码(High Efficiency Video Coding,HEVC)H.265或高级视频编码(Advanced Video Coding,AVC)H.264中的编码方法。例如,以一个GoP为单位,对I帧和最后一帧以外的其他帧进行随机采样。
以4k视频和1080p视频传输为例,假设4k视频帧率为40,1080p视频的帧率为25。服务器使用HEVC中的编码方法对4k视频进行采样处理,将其采样成帧率为25的4k视频。
转换模型包括重塑部分和映射部分,所述服务器根据对应于第一视频的转换模型的重塑部分,将所述第一视频的原始帧缩小为第一视频的隐含帧,所述服务器根据对应于第二视频的转换模型的重塑部分,将所述第二视频的原始帧放大为第二视频的隐含帧,第一视频的隐含帧与第二视频的隐含帧具有相同的分辨率。第一视频的隐含帧与第一视频的原始帧分辨率不同,但位深一致。第二视频的隐含帧与第二视频的原始帧分辨率不同,但位深一致。
例如,如图5所示,4k视频帧经重塑部分(以Reshape表示)重塑后得到其隐含帧H1,1080p视频帧经重塑部分重塑后得到其隐含帧S1。隐含帧H1与原始4k视频帧的分辨率不同,但位深一致。隐含帧S1与原始1080p视频帧分辨率不同,但位深一致。隐含帧H1与隐含帧S1的分辨率相同。
所述服务器根据对应于第一视频的转换模型的映射部分,将所述第一视频的隐含帧的每个像素点的像素值进行映射,得到所述第一视频的表达帧,所述服务器根据对应于第二视频的转换模型的映射部分,将所述第二视频的隐含帧的每个像素点的像素值进行映射,得到所述第二视频的表达帧,所述第一视频的表达帧与所述第二视频的表达帧具有相同的位深以及相同的分辨率。第一视频的表达帧与第一视频的隐含帧分辨率相同,位深不同。第二视频的表达帧与第二视频的隐含帧分辨率相同,位深不同。
例如,如图6所示,4k视频的隐含帧H1的每个像素点的像素值经过映射部分进行色彩空间映射,得到其表达帧H,1080p视频的隐含帧S1的每个像素点的像素值经过映射部分进行色彩空间映射,得到其表达帧S。图6中,隐含帧H1的像素点的像素值为(560,130,244),隐含帧S1的像素点的像素值为(255,60,120),经过映射后,表达帧H的像素点的像素值为(540,125,240),表达帧S的像素点的像素值为(490,115,230)。表达帧H与隐含帧H1的分辨率相同,但位深不同。表达帧S与隐含帧S1的分辨率相同,但位深不同。表达帧H与表达帧S的位深相同,且分辨率也相同。
S302,所述服务器确定具有相同时间戳的第一视频的表达帧和第二视频的表达帧的每个像素点的平均像素值,根据所述平均像素值确定第三视频。
具有相同时间戳的帧的画面内容基本一致。
对于每个具有相同时间戳的第一视频的表达帧和第二视频的表达帧,所述服务器根据其每个像素点的平均像素值确定平均帧,每个所述平均帧组成所述第三视频。
平均帧与第一视频的表达帧以及第二视频的表达帧具有相同的分辨率和位深。
例如,如图7所示,计算表达帧H与表达帧S的每个像素点的平均像素值,(540+490)/2=515,(125+115)/2=120,(240+230)/2=235,得到平均帧的像素值为(515,120,235)。
每个平均帧组合在一起得到第三视频。
S303,所述服务器对所述第三视频进行编码。
S304,所述服务器向客户端发送所述编码后的第三视频。
服务器通过HEVC或AVC对第三视频进行编码。
S305,客户端接收到来自服务器的第三视频后,将所述接收到的第三视频转换为第一视频和第二视频,所述第一视频和所述第二视频具有相同的分辨率和相同的位深。
具体的,客户端根据还原模型将所述接收到的视频转换为第一视频和第二视频,其中,还原模型包括逆映射部分和重塑部分。
客户端根据对应于第一视频的还原模型的逆映射部分,将接收到视频的每一帧的每个像素点进行映射,得到第一初始预测视频帧;客户端根据对应于第二视频的还原模型的逆映射部分,将接收到视频的每一帧的每个像素点进行映射,得到第二初始预测视频帧。第一初始预测视频帧与第三视频的视频帧具有相同的分辨率,但位深不同。第二初始预测视频帧与第三视频的视频帧具有相同的分辨率,但位深不同。
例如,如图8所示,对像素值为(515,120,235)的平均帧分别使用对应于4k视频的还原模型的逆映射部分以及对应于1080p视频的还原模型的逆映射部分进行色彩空间逆映射,得到初始预测帧H1和初始预测帧S1,像素值分别为(556,137,250)和(248,67,110)。初始预测帧H1与平均帧的分辨率相同,但位深不同。初始预测帧S1与平均帧的分辨率相同,但位深不同。
客户端根据对应于第一视频的还原模型的重塑部分,放大第一初始预测视频帧,放大后的第一初始预测视频帧组成第一预测视频;客户端根据对应于第二视频的还原模型的重塑部分,缩小第二初始预测视频帧,缩小后的第二初始预测视频帧组成第二视频。放大后的第一初始预测视频帧与第一视频的原始帧分辨率相同,位深相同。放大后的第二初始预测视频帧与第二视频的原始帧分辨率相同,位深相同。
例如,如图9所示,初始预测帧H1经重塑部分(以Reshape表示)重塑后得到4k预测帧H’,初始预测帧S1经重塑部分重塑后得到1080p预测帧S’。4k预测帧H’与原始4k视频帧的分辨率相同,位深相同。1080p预测帧S’与原始1080p预测帧的分辨率相同,位深相同。
客户端对第一预测视频进行插帧,得到第一视频。
由于服务器将第三视频发送给客户端之前,对第一视频进行了采样处理(降低了第一视频的帧率),将第一视频与第二视频调整为具有相同的帧率,因此,客户端在播放第一视频和第二视频之前,需要对第一视频进行插帧处理,以还原第一视频的原始帧率。
还原模型可以由多个神经网络级联组成。还原模型的一个例子如图10所示。其中,m、n表示输入的待还原的视频帧(第三视频的视频帧)的大小,M、N表示输出的预测帧的大小,3代表3个颜色通道。
S306,客户端播放第一视频或第二视频。
在S301和S305中,还原模型是转换模型的对偶模型(转换模型先对视频帧进行重塑,再进行映射,还原模型先对视频帧进行映射,再进行重塑),二者联合训练生成。
具体的,训练方法如下:
S1,数据库中同一视频具有不同的清晰度(至少两种清晰度),获取N对视频,从这N对视频中抽取T组不同清晰度的视频帧,用Hp代表高清视频帧的原始帧,用Sp代表低清视频帧的原始帧。
S2,通过转换模型将Hp和Sp分别转换成同一清晰度的视频帧Hh和Sh,Hh和Sh具有相同的分辨率、相同的位深,称之为表达帧。
S3,取Hh和Sh的每个像素点的平均像素值作为平均帧Have,平均帧Have经过还原模型还原生成预测帧Hd和Sd,预测帧与原始帧具有相同的分辨率、相同的位深。
S4,取预测帧和原始帧的像素值的差值作为误差Dt,误差Dt=DV1+DV2=(Hd-Hp)+(Sd-Sp)。
S5,取所有视频帧的残差平方和作为训练损失L,训练损失最小化训练损失即可训练得出转换模型和还原模型。其中,可以通过最优化求解算法来对训练损失进行最小化处理,最优化求解算法可以为随机梯度下降,等。
上述训练方法中,输入的视频数量可以大于两个,此时训练损失L为其中,n为视频的数量,DVi为第i个视频的残差,i为从1到n的整数。
需要说明的是,转换模型和还原模型具有初始参数,训练过程会调整转换模型和还原模型的参数。本申请实施例使用的转换模型和还原模型是经过训练得到的。
根据本申请实施例提供的技术方案,通过将多个不同清晰度的视频处理成单一视频,大大降低了高并发情况下的传输带宽需求,减轻了服务器的负荷。
图11是依据本申请一实施例的服务器1100的结构示意图。服务器1100包括处理模块1102和发送模块1104。服务器为图1中的服务器101,图2中的计算机设备,以及图3实施例中的服务器。处理模块1102可以用来执行图3实施例中的S301、S302和S303。发送模块1104可以用来执行图3实施例中S304。
图12是依据本申请一实施例的客户端1200的结构示意图。客户端1200包括接收模块1202和处理模块1204。客户端为图1中的客户端102,图2中的计算机设备,以及图3实施例中的客户端。接收模块1202可以用来执行图3实施例中的S304。处理模块1204可以用来执行图3实施例中的S305和S306。
应注意,尽管图2所示的通用计算机结构200仅仅示出了处理器202、存储器204、通信接口206和总线208,但是在具体实现过程中,本领域的技术人员应当明白,上述服务器和客户端还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,上述服务器和客户端还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,上述服务器和客户端也可仅仅包含实现本申请实施例所必须的器件,而不必包含图2中所示的全部器件。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (22)

1.一种视频传输方法,其特征在于,包括以下步骤:
服务器将第一视频的原始帧转换为第一视频的表达帧,将第二视频的原始帧转换为第二视频的表达帧,所述第一视频的表达帧和第二视频的表达帧具有相同的分辨率和相同的位深;
所述服务器确定具有相同时间戳的第一视频的表达帧和第二视频的表达帧的每个像素点的平均像素值,根据所述平均像素值确定第三视频;
所述服务器对所述第三视频进行编码;
所述服务器向客户端发送所述编码后的第三视频。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据对应于第一视频的转换模型将所述第一视频的原始帧转换为第一视频的表达帧,根据对应于第二视频的转换模型将所述第二视频的原始帧转换为第二视频的表达帧。
3.根据权利要求2所述的方法,其特征在于,转换模型包括重塑部分和映射部分,所述服务器根据对应于第一视频的转换模型的重塑部分,将所述第一视频的原始帧缩小为第一视频的隐含帧,所述服务器根据对应于第二视频的转换模型的重塑部分,将所述第二视频的原始帧放大为第二视频的隐含帧,所述第一视频的隐含帧与所述第二视频的隐含帧具有相同的分辨率;
所述服务器根据对应于第一视频的转换模型的映射部分,将所述第一视频的隐含帧的每个像素点的像素值进行映射,得到所述第一视频的表达帧,所述服务器根据对应于第二视频的转换模型的映射部分,将所述第二视频的隐含帧的每个像素点的像素值进行映射,得到所述第二视频的表达帧,所述第一视频的表达帧与所述第二视频的表达帧具有相同的位深以及相同的分辨率。
4.根据权利要求1至3任一项所述的方法,其特征在于,对于每个具有相同时间戳的第一视频的表达帧和第二视频的表达帧,所述服务器根据其每个像素点的平均像素值确定平均帧,每个所述平均帧组成所述第三视频。
5.根据权利要求1至4任一项所述的方法,其特征在于,当所述第一视频的帧率大于所述第二视频的帧率时,所述服务器先对所述第一视频进行采样,采样后得到所述第一视频的原始帧,所述采样后的第一视频与所述第二视频具有相同的帧率。
6.一种视频传输方法,其特征在于,包括以下步骤:
客户端接收来自服务器的视频;
所述客户端将所述接收到的视频转换为第一视频和第二视频,所述第一视频和所述第二视频具有相同的分辨率和相同的位深;
所述客户端播放所述第一视频或第二视频。
7.根据权利要求6所述的方法,其特征在于,所述来自服务器的视频为经过转换模型转换的视频。
8.根据权利要求6或7所述的方法,其特征在于,所述客户端根据还原模型将所述接收到的视频转换为第一视频和第二视频,其中,还原模型包括逆映射部分和重塑部分。
9.根据权利要求8所述的方法,其特征在于,所述客户端根据对应于所述第一视频的还原模型的逆映射部分,将所述接收到视频的每一帧的每个像素点进行映射,得到第一初始预测视频帧;所述客户端根据对应于所述第二视频的还原模型的逆映射部分,将所述接收到视频的每一帧的每个像素点进行映射,得到第二初始预测视频帧;
所述客户端根据对应于所述第一视频的还原模型的重塑部分,放大所述第一初始预测视频帧,所述放大后的第一初始预测视频帧组成第一预测视频;所述客户端根据对应于所述第二视频的还原模型的重塑部分,缩小所述第二初始预测视频帧,所述缩小后的第二初始预测视频帧组成所述第二视频。
10.根据权利要求9所述的方法,其特征在于,所述客户端对所述第一预测视频进行插帧,得到所述第一视频。
11.一种服务器,其特征在于,包括处理模块和发送模块:
所述处理模块,用于将第一视频的原始帧转换为第一视频的表达帧,将第二视频的原始帧转换为第二视频的表达帧,所述第一视频的表达帧和第二视频的表达帧具有相同的分辨率和相同的位深;
所述处理模块,还用于确定具有相同时间戳的第一视频的表达帧和第二视频的表达帧的每个像素点的平均像素值,根据所述平均像素值确定第三视频;以及
对所述第三视频进行编码;
所述发送模块,用于向客户端发送所述编码后的第三视频。
12.根据权利要求11所述的服务器,其特征在于,所述处理模块用于根据对应于第一视频的转换模型将所述第一视频的原始帧转换为第一视频的表达帧,根据对应于第二视频的转换模型将所述第二视频的原始帧转换为第二视频的表达帧。
13.根据权利要求12所述的服务器,其特征在于,转换模型包括重塑部分和映射部分,所述处理模块用于根据对应于第一视频的转换模型的重塑部分,将所述第一视频的原始帧缩小为第一视频的隐含帧,根据对应于第二视频的转换模型的重塑部分,将所述第二视频的原始帧放大为第二视频的隐含帧,所述第一视频的隐含帧与所述第二视频的隐含帧具有相同的分辨率;
所述处理模块用于根据对应于第一视频的转换模型的映射部分,将所述第一视频的隐含帧的每个像素点的像素值进行映射,得到所述第一视频的表达帧,根据对应于第二视频的转换模型的映射部分,将所述第二视频的隐含帧的每个像素点的像素值进行映射,得到所述第二视频的表达帧,所述第一视频的表达帧与所述第二视频的表达帧具有相同的位深以及相同的分辨率。
14.根据权利要求11至13任一项所述的服务器,其特征在于,对于每个具有相同时间戳的第一视频的表达帧和第二视频的表达帧,所述处理模块用于根据其每个像素点的平均像素值确定平均帧,每个所述平均帧组成所述第三视频。
15.根据权利要求11至14任一项所述的服务器,其特征在于,当所述第一视频的帧率大于所述第二视频的帧率时,所述处理模块先对所述第一视频进行采样,采样后得到所述第一视频的原始帧,所述采样后的第一视频与所述第二视频具有相同的帧率。
16.一种客户端,其特征在于,包括接收模块和处理模块:
所述接收模块,用于接收来自服务器的视频;
所述处理模块,用于将所述接收到的视频转换为第一视频和第二视频,所述第一视频和所述第二视频具有相同的分辨率和相同的位深;
所述处理模块,还用于播放所述第一视频或第二视频。
17.根据权利要求16所述的客户端,其特征在于,所述来自服务器的视频为经过转换模型转换的视频。
18.根据权利要求16或17所述的客户端,其特征在于,所述处理模块用于根据还原模型将所述接收到的视频转换为第一视频和第二视频,其中,还原模型包括逆映射部分和重塑部分。
19.根据权利要求18所述的客户端,其特征在于,所述处理模块用于根据对应于所述第一视频的还原模型的逆映射部分,将所述接收到视频的每一帧的每个像素点进行映射,得到第一初始预测视频帧;所述处理模块用于根据对应于所述第二视频的还原模型的逆映射部分,将所述接收到视频的每一帧的每个像素点进行映射,得到第二初始预测视频帧;
所述处理模块用于根据对应于所述第一视频的还原模型的重塑部分,放大所述第一初始预测视频帧,所述放大后的第一初始预测视频帧组成第一预测视频;所述处理模块用于根据对应于所述第二视频的还原模型的重塑部分,缩小所述第二初始预测视频帧,所述缩小后的第二初始预测视频帧组成所述第二视频。
20.根据权利要求19所述的客户端,其特征在于,所述处理模块还用于对所述第一预测视频进行插帧,得到所述第一视频。
21.一种计算设备,包括:处理器、存储器、总线和通信接口;所述存储器用于存储计算设备执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算设备执行指令,以使所述计算设备执行权利要求1至5任意一项所述的方法。
22.一种计算设备,包括:处理器、存储器、总线和通信接口;所述存储器用于存储计算设备执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算设备执行指令,以使所述计算设备执行权利要求6至10任意一项所述的方法。
CN201710703098.0A 2017-08-16 2017-08-16 一种视频传输方法及装置 Active CN109413445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710703098.0A CN109413445B (zh) 2017-08-16 2017-08-16 一种视频传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710703098.0A CN109413445B (zh) 2017-08-16 2017-08-16 一种视频传输方法及装置

Publications (2)

Publication Number Publication Date
CN109413445A true CN109413445A (zh) 2019-03-01
CN109413445B CN109413445B (zh) 2021-08-31

Family

ID=65454625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710703098.0A Active CN109413445B (zh) 2017-08-16 2017-08-16 一种视频传输方法及装置

Country Status (1)

Country Link
CN (1) CN109413445B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112188236A (zh) * 2019-07-01 2021-01-05 北京新唐思创教育科技有限公司 视频插帧模型训练、视频插帧生成方法及相关装置
CN112702558A (zh) * 2020-12-23 2021-04-23 联想(北京)有限公司 一种数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035261A (zh) * 2007-04-11 2007-09-12 宁波大学 一种交互式多视点视频系统的图像信号处理方法
JP4510861B2 (ja) * 2007-09-21 2010-07-28 Kddi株式会社 複数経路画像受信装置
KR20110087859A (ko) * 2010-01-27 2011-08-03 트루데프 주식회사 양자화 계수 조절 방법, 장치 및 컴퓨터 판독가능 매체
CN102378011A (zh) * 2010-08-12 2012-03-14 华为技术有限公司 一种图像上采样的方法、装置和系统
CN104574336A (zh) * 2015-01-19 2015-04-29 上海交通大学 基于自适应亚模字典选择的超分辨率图像重建系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035261A (zh) * 2007-04-11 2007-09-12 宁波大学 一种交互式多视点视频系统的图像信号处理方法
JP4510861B2 (ja) * 2007-09-21 2010-07-28 Kddi株式会社 複数経路画像受信装置
KR20110087859A (ko) * 2010-01-27 2011-08-03 트루데프 주식회사 양자화 계수 조절 방법, 장치 및 컴퓨터 판독가능 매체
CN102378011A (zh) * 2010-08-12 2012-03-14 华为技术有限公司 一种图像上采样的方法、装置和系统
CN104574336A (zh) * 2015-01-19 2015-04-29 上海交通大学 基于自适应亚模字典选择的超分辨率图像重建系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112188236A (zh) * 2019-07-01 2021-01-05 北京新唐思创教育科技有限公司 视频插帧模型训练、视频插帧生成方法及相关装置
CN112702558A (zh) * 2020-12-23 2021-04-23 联想(北京)有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN109413445B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
RU2668723C2 (ru) Способ и оборудование для кодирования и декодирования видеосигналов
JP6245888B2 (ja) エンコーダおよび符号化方法
Prasantha et al. Image compression using SVD
EP2981085A1 (en) Dynamic-image coding device, dynamic-image decoding device, dynamic-image coding method, dynamic-image decoding method, and program
CN105100814B (zh) 图像编码、解码方法及装置
CN107665128B (zh) 图像处理方法、系统、服务器及可读存储介质
WO2020103800A1 (zh) 视频解码方法和视频解码器
CN111614956B (zh) Dc系数符号代码化方案
CA2774976C (en) Embedded graphics coding: reordered bitstream for parallel decoding
US20200374511A1 (en) Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium
CN102318344B (zh) 视频编码系统和方法
KR101346942B1 (ko) 벡터 임베디드 그래픽 코딩
EP3180910B1 (en) Method for optimized chroma subsampling, apparatus for optimized chroma subsampling and storage device
JP2010098352A (ja) 画像情報符号化装置
CN106797447A (zh) 颜色索引图压缩装置和方法
CN110692245A (zh) 用于压缩的图像处理
CN107018416B (zh) 用于视频和图像压缩的自适应贴片数据大小编码
CN109413445A (zh) 一种视频传输方法及装置
US9781447B1 (en) Correlation based inter-plane prediction encoding and decoding
CN111052738B (zh) 用于在视频编码中延迟后处理的系统和方法
CA2774940C (en) Joint scalar embedded graphics coding for color images
US20140009563A1 (en) Non-video codecs with video conferencing
US11153586B2 (en) Image processing device and frame buffer compressor
KR20160082521A (ko) 크로마 하향 변환 및 상향 변환 처리
CN110798705A (zh) 一种视频图像传输方法、装置及设备

Legal Events

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

Effective date of registration: 20211222

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right