CN112040235A - 视频资源的编码方法和装置,视频资源的解码方法和装置 - Google Patents

视频资源的编码方法和装置,视频资源的解码方法和装置 Download PDF

Info

Publication number
CN112040235A
CN112040235A CN202011213514.7A CN202011213514A CN112040235A CN 112040235 A CN112040235 A CN 112040235A CN 202011213514 A CN202011213514 A CN 202011213514A CN 112040235 A CN112040235 A CN 112040235A
Authority
CN
China
Prior art keywords
delay
coding
video resource
configuration
encoding
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
CN202011213514.7A
Other languages
English (en)
Other versions
CN112040235B (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 Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud 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 Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202011213514.7A priority Critical patent/CN112040235B/zh
Publication of CN112040235A publication Critical patent/CN112040235A/zh
Application granted granted Critical
Publication of CN112040235B publication Critical patent/CN112040235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及一种视频资源的编码方法和装置,视频资源的解码方法和装置,其中,该视频资源的编码方法包括:获取第一视频资源的编码信息和传输信息,其中,第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;根据第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码第二视频资源的视频资源延迟,其中,视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;从多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;使用目标编码配置对第二视频资源进行编码。本申请解决了相关技术中视频资源的编解码灵活性较差的技术问题。

Description

视频资源的编码方法和装置,视频资源的解码方法和装置
技术领域
本申请涉及计算机领域,尤其涉及一种视频资源的编码方法和装置,视频资源的解码方法和装置。
背景技术
目前的视频编码技术中,一般都只是考虑编码模式的延迟性对用户体验的影响,尽量通过降低延迟的方式来保证用户播放视频时能够有更好的体验,但是这种方式无法依据不同的播放场景对视频资源的编解码过程进行调整,导致视频编解码过程灵活性较差,无法为用户提供适合用户当前播放环境的视频。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种视频资源的编码方法和装置,视频资源的解码方法和装置,以至少解决相关技术中视频资源的编解码灵活性较差的技术问题。
根据本申请实施例的一个方面,提供了一种视频资源的编码方法,包括:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置对所述第二视频资源进行编码。
根据本申请实施例的另一方面,还提供了一种视频资源的编码装置,包括:
第一获取模块,用于获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
预测模块,用于根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
第二获取模块,用于从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
编码模块,用于使用所述目标编码配置对所述第二视频资源进行编码。
根据本申请实施例的另一方面,还提供了一种视频资源的解码方法,包括:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
根据本申请实施例的另一方面,还提供了一种视频资源的解码装置,包括:
第一获取模块,用于获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
预测模块,用于根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
第二获取模块,用于从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
解码模块,用于使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用获取第一视频资源的编码信息和传输信息,其中,第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;根据第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码第二视频资源的视频资源延迟,其中,视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;从多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;使用目标编码配置对第二视频资源进行编码的方式,根据已编码的第一视频资源的编码信息和传输信息来预测以及编码配置之间的延迟关系,预测出当前待编码的第二视频资源的视频资源延迟,根据该视频资源延迟自适应地调整第二视频资源的编码配置,将多种编码配置中对应的视频资源延迟最低的编码配置作为目标编码配置对第二视频资源进行编码,达到从视频资源的编码,传输等多维度降低视频延迟的目的,从而实现了提高视频资源的编解码灵活性的技术效果,进而解决了相关技术中视频资源的编解码灵活性较差的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的视频资源的编码方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的视频资源的编码方法的流程图;
图3是根据本申请实施例的一种可选的视频资源的编码过程的示意图;
图4是根据本申请实施例的一种可选的视频资源的解码方法的流程图;
图5是根据本申请实施例的一种可选的视频资源的编码装置的示意图;
图6是根据本申请实施例的一种可选的视频资源的解码装置的示意图;
图7是根据本申请实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种视频资源的编码的方法实施例。
可选地,在本实施例中,上述视频资源的编码方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的视频资源的编码方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的视频资源的编码方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的视频资源的编码方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
步骤S204,根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
步骤S206,从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
步骤S208,使用所述目标编码配置对所述第二视频资源进行编码。
通过上述步骤S202至步骤S208,根据已编码的第一视频资源的编码信息和传输信息来预测以及编码配置之间的延迟关系,预测出当前待编码的第二视频资源的视频资源延迟,根据该视频资源延迟自适应地调整第二视频资源的编码配置,将多种编码配置中对应的视频资源延迟最低的编码配置作为目标编码配置对第二视频资源进行编码,达到从视频资源的编码,传输等多维度降低视频延迟的目的,从而实现了提高视频资源的编解码灵活性的技术效果,进而解决了相关技术中视频资源的编解码灵活性较差的技术问题。
可选地,在本实施例中,上述视频资源的编码方法可以但不限于应用于视频资源的实时传输场景中。比如:实时通信(Real-time Communications,RTC)领域,RTC狭义一般称为实时音视频,最典型的应用包括直播连麦、实时音视频通话、视频会议、交互式在线教育等。RTC从功能流程上来说,包含采集端(采集、前处理、编码)、传输端(采集端至服务器、服务器之间、服务器至播放端的传输)、播放端(解码、缓冲、渲染)等很多环节。
在步骤S202提供的技术方案中,根据延迟进行调整的编码配置可以不限于包括任何可能影响视频延迟的编码参数,比如:参考帧配置,预分析的Lookahead帧数等等。
作为一种可选的实施例,获取第一视频资源的编码信息和传输信息包括以下之一:
S11,获取第一图像组的编码延迟、码率信息和网络信息,其中,所述第一图像组是实时传输的视频资源中在当前待编码的第二图像组之前已编码的图像组;
S12,获取第一图像组集合的编码延迟、码率信息和网络信息,其中,所述第一图像组集合是实时传输的视频资源中在当前待编码的第二图像组集合之前已编码的图像组集合,每个图像组集合中包括连续传输的多个图像组;
S13,获取目标时长的第一视频资源的编码延迟、码率信息和网络信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的所述目标时长的第二视频资源之前已编码的图像组。
可选地,在本实施例中,编码信息可以但不限于包括编码延迟和码率信息,编码延迟指编码过程中产生的延迟,即视频帧输入至编码完成生成码流所消耗的时间,编码延迟很大一部分来自于不同的参考帧配置。传输信息可以但不限于包括网络信息。更新编码配置的依据还可以考虑播放端的延迟(比如:解码延迟和缓冲延迟),由于解码延迟与缓冲延迟为负相关,不同的参考帧配置下,解码延迟正向变化,缓冲延迟负向变化,叠加后可以互相抵消,因此可以假设播放端的延迟与参考帧配置无关,是一个常量。
可选地,在本实施例中,视频资源可以但不限于包括:单个图像组,多个图像组,视频片段,视频场景等多种划分方式。其中,图像组(Group of Pictures,GOP)指的是视频中一组连续的图片构成的集合。通常情况下,GOP中的第一个图像为I帧,I帧作为帧内编码,不需要参考其他帧。GOP内的其他帧可以为B帧,也可以为P帧,其中P帧前向参考进行编码,B帧双向参考进行编码。
可选地,在本实施例中,第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源,第一视频资源可以但不限于是第二视频资源的前一个视频资源。在以下描述中,以视频资源为图像组为例对编码过程进行说明。即第一视频资源可以但不限于是第一图像组,第二视频资源可以是第二图像组,第一图像组可以但不限于是第二图像组的前一个图像组。
可选地,在本实施例中,图像组的划分方式可以但不限于包括8个P帧的方式,16个P帧的方式等等。在本实施例中以8个P帧的方式为例,其他方式与其类似,在此不再赘述。
可选地,在本实施例中,在上述步骤S204中,编码配置之间的延迟关系可以但不限于通过预先的离线训练得到。
图3是根据本申请实施例的一种可选的视频资源的编码过程的示意图,如图3所示,视频资源的编码过程包括离线建模、训练参数阶段和实时GOP级自适应更新参考帧配置阶段,在离线建模、训练参数阶段进行编码参考帧配置与总延迟建模,并确定不同参考帧配置下延迟关系。在实时GOP级自适应更新参考帧配置阶段,统计前一个GOP(即第一视频资源)的编码延迟、码率和网络信息,根据这些信息和在离线建模、训练参数阶段得到的不同参考帧配置下延迟关系预测所有不同参考帧配置下,编码当前GOP(即第二视频资源)的总延迟,选择总延迟最短的配置编码当前GOP。
首先在离线阶段对编码配置与视频资源延迟的关系进行建模,RTC全链路的端到 端整体延迟
Figure 943554DEST_PATH_IMAGE001
为采集端延迟
Figure 139656DEST_PATH_IMAGE002
、传输端延迟
Figure 716131DEST_PATH_IMAGE003
、播放端延迟
Figure 845761DEST_PATH_IMAGE004
之和,更新编 码配置的目标是让全链路整体延迟最低。即可以得出如下式(1):
Figure 191291DEST_PATH_IMAGE005
式(1)
以编码配置为参考帧配置为例,编码的参考帧配置会直接影响采集端编码延迟,播放端的解码延迟;同时参考帧配置会一定程度上影响编码的整体码率和码率波动,其中整体码率会影响传输端延迟,码率波动会影响播放端的缓冲延迟,故编码的参考帧配置同时会间接影响传输端和解码端的延迟。
参考帧配置可与RTC三端延迟时间分别建立如下式(2)的函数关系:
Figure 810491DEST_PATH_IMAGE006
式(2)
对于采集端,当某参考帧配置(ref_mode)的编码延迟越低,则采集延迟
Figure 811945DEST_PATH_IMAGE002
越低;对 于传输端,当某ref_mode的编码延迟越低,此时为保证画质不变,需要牺牲部分码率,即bit 升高,传输延迟
Figure 292737DEST_PATH_IMAGE003
升高,同时网络network越好,延迟越低;对于播放端,某ref_mode的 编码延迟越低,解码延迟会降低,但缓冲延迟可能会增大,总体播放延迟
Figure 758353DEST_PATH_IMAGE004
会有小幅变 化。
由式(1)与式(2)可推导得出下式(3),即参考帧配置与全链路的视频资源延迟的关系:
Figure 486138DEST_PATH_IMAGE007
式(3)
故而当考虑RTC全链路的视频资源延迟,不能仅仅为了降低编码端延迟而直接使用某种固定的低延迟编码配置,而可以根据实际应用场景,选取使全链路的视频资源延迟最低的参考帧配置。
可选地,在本实施例中,可以提前建立每种编码配置下的延迟关系,并利用已编码的信息来预测当前编码在各编码配置下的延迟。以下给出了两种离线训练不同参考帧配置下延迟关系的方式,一种训练方式是直接离线训练每两种编码配置之间的关系。
作为一种可选的实施例,在上述步骤S204之前,还包括:
S21,确定所述多种编码配置中每两种编码配置之间的第一编码延迟关系式和第一码率延迟关系式;
S22,根据所述第一编码延迟关系式和所述第一码率延迟关系式构造每两种编码配置之间的第一总延迟关系式;
S23,使用第一编码样本训练所述第一总延迟关系式,得到每两种编码配置之间的第一编码延迟关系和第一码率延迟关系,作为所述编码配置之间的延迟关系。
可选地,在本实施例中,第一编码样本可以但不限于是通过采用不同的编码配置对实时传输的视频样本进行编码、传输和播放的过程采集各个参数得到的。
可选地,在本实施例中,训练过程中可以是对第一总延迟关系式中的编码延迟关系和码率延迟关系进行调整,直到满足预设的结束条件,从而得到第一编码延迟关系和第一码率延迟关系作为编码配置之间的延迟关系。
另一种训练方式可以是离线训练每种编码配置与基准编码配置之间的关系,再基于每种编码配置与基准编码配置之间的关系表示出每两种编码配置之间的关系。
作为一种可选的实施例,在上述步骤S204之前,还包括:
S31,将所述多种编码配置中延迟最低的编码配置确定为基准编码配置;
S32,确定所述多种编码配置中每种编码配置相对于所述基准编码配置的第二编码延迟关系式和第二码率延迟关系式;
S33,根据所述第二编码延迟关系式和所述第二码率延迟关系式构造每种编码配置相对于所述基准编码配置的第二总延迟关系式;
S34,使用第二编码样本训练所述总延迟关系式,得到每种编码配置相对于所述基准编码配置的第二编码延迟关系和第二码率延迟关系;
S35,将一种编码配置对应的第二编码延迟关系与另一种编码配置对应的第二编码延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的编码延迟关系,并将一种编码配置对应的第二码率延迟关系与另一种编码配置对应的第二码率延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的码率延迟关系,得到所述编码配置之间的延迟关系。
可选地,在本实施例中,第二编码样本可以但不限于是通过采用不同的编码配置和基准编码配置分别对实时传输的视频样本进行编码、传输和播放的过程采集各个参数得到的。
可选地,在本实施例中,训练过程中可以是对第二总延迟关系式中的编码延迟关系和码率延迟关系进行调整,直到满足预设的结束条件,从而得到第二编码延迟关系和第二码率延迟关系,再利用不同编码配置的第二编码延迟关系和第二码率延迟关系构造不同编码配置之间的编码延迟关系和码率延迟关系作为编码配置之间的延迟关系。
例如:以下以编码配置为参考帧配置为例说明延迟关系的一种训练方式,首先可以假设采集端的延迟仅为编码延迟,同时假设不同参考帧配置下,延迟的值是线性正相关的,不同参考帧配置之间的编码延迟关系可以表示为如下式(4),其中m表示不同配置下的延迟比例系数:
Figure 37205DEST_PATH_IMAGE008
式(4)
同时假设传输端的延迟与码率bit是线性正相关,与网络network(可近似认为是网速)是线性负相关,同时假设各参考帧配置下,码率的值是线性负相关的,不同参考帧配置之间的传输延迟关系可以表示为如下式(5),n表示不同配置下的码率比例系数;
Figure 305375DEST_PATH_IMAGE009
式(5)
假设播放端的延迟与参考帧配置无关(解码延迟与缓冲延迟为负相关,不同的参考帧配置下,解码延迟正向变化,缓冲延迟负向变化,叠加后互相抵消),不同参考帧配置之间的播放延迟关系可以表示为如下式(6):
Figure 563181DEST_PATH_IMAGE010
式(6)
则不同的参考帧配置(以ref_mode i和ref_mode j为例)的延迟关系表示为如下式(7):
Figure 540495DEST_PATH_IMAGE011
式(7)
可见,为了达到全链路最低延迟,需比较多个参考帧配置下的整体延迟时间。比如,当网络状况较差时(network值较小),传输端延迟可能在总延迟中占比升高,此时采集端和播放端延迟占比相对较小。故而此时可适当加大编码延迟,提高编码质量,降低码率以降低传输延迟,使得总延迟反而下降。
需要说明的是,式(4)、(5)中的系数m和n均可在离线情况下训练得出,式(6)中的参数p由于在比较各配置时会抵消所以无需离线训练。
在实际训练时,可以设所有参考帧配置中延迟最低的配置模式为ref_mode 0(即 上述基准编码配置),对其他所有参考帧配置模式ref_mode i,训练得出其相对于ref_mode 0在式(4)和式(5)中的参数为
Figure 313279DEST_PATH_IMAGE012
Figure 322824DEST_PATH_IMAGE013
。则对得到任意某两个配置,ref_mode i相对于ref_ mode j的编码延迟关系和码率延迟关系如下式(8):
Figure 763032DEST_PATH_IMAGE014
式(8)
可选地,在本实施例中,在采集端和传输端除了可将各关系假设为线性相关,亦可拟合为非线性关系。
在步骤S204提供的技术方案中,多种编码配置可以但不限于为多种低延迟的编码配置,比如:LDP编码配置,LDP编码(Low-Delay-P)称为低延迟P帧编码配置,每个GOP内第一帧以I帧编码,后续帧全部以P帧编码,并且编码每个P帧时只参考播放顺序在其前的图像。通过避免后向参考,以保证编解码顺序与显示顺序一致,降低编解码延迟。视频编码中除了LDP编码模式外,还有All-Intra(全I帧)编码配置和Random-Access(随机访问)编码配置。
可选地,在本实施例中,图像组中的非关键帧仅配置前向参考帧,即图像组中仅包括I帧和P帧,为P帧配置不同形式的参考帧得到了不同的编码模式。比如:多种编码配置可以但不限于包括:传统的LDP(图像组中前4个P帧参考I帧和前一个P帧,后4个P帧参考前一个P帧和第4个P帧),超低延迟编码配置(图像组中所有P帧仅参考I帧),较低延迟编码配置(对图像组中的P帧进行分段,每个分段中的第一个P帧参考I帧,其他P帧向前参考段内的P帧)等等。
在实时音视频通信(RTC)场景下,延迟是重要的技术指标,通常在优化延迟指标时,需同时尽量控制成本以及不影响用户体验(即视频主观质量)。RTC全链路流程可以分为三端:采集端,传输端,播放端。同理其延迟的产生亦可以分为三方面,具体产生原因如下:采集端的延迟包括CMOS成像及颜色格式转换的耗时,图像内容的前处理如美颜、去噪等耗时,以及编码耗时带来的延迟。传输端的延迟包括全链路的采集端设备至服务器至播放端设置的传输延迟,影响因素有传输数据大小、传输协议和传输网络环境等。播放端的延迟包括视频解码延迟,为了防止网络抖动的缓冲延迟,以及播放设备的渲染延迟等。
可选地,在本实施例中,视频资源延迟至少包括编码和传输过程中的延迟,还可以包括播放过程的延迟,对于播放端的延迟(比如:解码延迟和缓冲延迟),由于解码延迟与缓冲延迟为负相关,不同的参考帧配置下,解码延迟正向变化,缓冲延迟负向变化,叠加后可以互相抵消,因此可以假设播放端的延迟与参考帧配置无关,可以是一个常量带入到视频资源延迟的计算中。
作为一种可选的实施例,根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟包括:
S41,根据所述编码信息确定所述第一视频资源的第一编码延迟;
S42,对于所述多种编码配置中的每种编码配置,从所述编码配置之间的延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标延迟关系;
S43,根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟。
可选地,在本实施例中,第一视频资源的第一编码延迟可以从编码信息中直接获取到,编码信息中还可以包括码流等信息,可以用于计算第一视频资源的传输延迟。
可选地,在本实施例中,可以但不限于通过以下方式获取每种编码配置与第一视频资源的编码配置之间的目标延迟关系:
从编码配置之间的编码延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标编码延迟关系;
从编码配置之间的码率延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标码率延迟关系;
其中,所述目标延迟关系包括所述目标编码延迟关系和所述目标码率延迟关系。
可选地,在本实施例中,两种编码配置之间的延迟关系可以但不限于包括编码延迟关系和码率延迟关系两部分。编码延迟关系用于表示两种编码配置的编码延迟之间的关系,码率延迟关系用于表示两种编码配置的传输延迟之间的关系。
可选地,在本实施例中,编码配置之间的编码延迟关系和编码配置之间的码率延迟关系可以但不限于是预先训练好并存储起来的,在编码过程中再根据需求从中获取。
作为一种可选的实施例,根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟包括:
S51,根据所述目标编码延迟关系和所述第一编码延迟计算所述每种编码配置对应的第二编码延迟;
S52,根据所述目标码率延迟关系、所述编码信息中包括的码流信息和所述传输信息中包括的网络信息计算所述每种编码配置对应的传输延迟;
S53,将所述第二编码延迟和所述传输延迟的和确定为所述每种编码配置对应的视频资源延迟。
可选地,在本实施例中,目标编码延迟关系可以但不限于表示编码延迟之间的倍数关系,则第二编码延迟可以但不限于是目标编码延迟关系和第一编码延迟的乘积。对于传输延迟来说,通过编码信息中包括的码流信息和传输信息中包括的网络信息可以确定出第一视频资源的传输延迟,再根据目标码率延迟关系所表示的传输延迟之间的倍数关系即可得到第二视频资源的传输延迟。比如:目标码率延迟关系可以但不限于表示码流信息之间的倍数关系,则通过编码信息中包括的码流信息和传输信息中包括的网络信息可以确定出第一视频资源的传输延迟,第一视频资源的传输延迟与目标码率延迟关系的乘积即为第二视频资源的传输延迟。
例如,假设前一GOP的参考帧配置为ref_mode j,可以得到前一GOP的第一编码延 迟为
Figure 363778DEST_PATH_IMAGE015
;前一GOP内的码流大小为bit,平均网络状况为network。则对当前GOP任一中 参考帧配置ref_mode i,可以预测其视频资源延迟可以表示为如下式(9):
Figure 374590DEST_PATH_IMAGE016
式(9)
其中,参数
Figure 515722DEST_PATH_IMAGE017
为目标编码延迟关系和
Figure 89398DEST_PATH_IMAGE018
目标码率延迟关系,p为播放端延迟,k为常 数。
在步骤S206提供的技术方案中,将多种编码配置中所对应的视频资源延迟最低的编码配置作为目标编码配置对第二视频资源进行编码。
例如:为了适应不同的外部环境(主要是网络状况的波动),始终将延迟保持在最低值,利用当前编码时前一GOP的信息,包括编码延迟,码率,网络状况等,来预测不同的编码参考帧配置在当前环境下编码当前GOP的总体延迟,最终选取最低的总延迟时间对应的配置,作为当前GOP的实际编码参考帧配置,上述过程可以表示为如下式(10):
Figure 392203DEST_PATH_IMAGE019
式 (10)
由上式(9)可计算出所有参考帧配置中每种参考帧配置下的视频资源延迟,比较得出 视频资源延迟最低的参考帧配置
Figure 405159DEST_PATH_IMAGE020
,将ref_ mode best设置为当前GOP的编码配置方案。每个GOP编码完后,更新统计信息,以供下个GOP决 策编码的参考帧配置。
根据本申请实施例的一方面,提供了一种视频资源的解码的方法实施例。图4是根据本申请实施例的一种可选的视频资源的解码方法的流程图,如图4所示,该方法可以包括以下步骤:
步骤S402,获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
步骤S404,根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
步骤S406,从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
步骤S408,使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
作为一种可选的实施例,在上述步骤S404中,可以但不限于通过以下方式预测在多种编码配置中的每种编码配置下编码第二视频资源的视频资源延迟:
根据所述编码信息确定所述第一视频资源的第一编码延迟;
对于所述多种编码配置中的每种编码配置,从所述编码配置之间的延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标延迟关系;
根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟。
作为一种可选的实施例,在上述预测视频资源延迟的过程中,可以但不限于通过以下方式获取每种编码配置与第一视频资源的编码配置之间的目标延迟关系:
从编码配置之间的编码延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标编码延迟关系;
从编码配置之间的码率延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标码率延迟关系;
其中,所述目标延迟关系包括所述目标编码延迟关系和所述目标码率延迟关系。
作为一种可选的实施例,在上述获取目标延迟关系的过程中,可以但不限于通过以下方式计算每种编码配置对应的视频资源延迟:
根据所述目标编码延迟关系和所述第一编码延迟计算所述每种编码配置对应的第二编码延迟;
根据所述目标码率延迟关系、所述编码信息中包括的码流信息和所述传输信息中包括的网络信息计算所述每种编码配置对应的传输延迟;
将所述第二编码延迟和所述传输延迟的和确定为所述每种编码配置对应的视频资源延迟。
作为一种可选的实施例,在上述步骤S404之前,还可以但不限于通过以下方式得到编码配置之间的延迟关系:
确定所述多种编码配置中每两种编码配置之间的第一编码延迟关系式和第一码率延迟关系式;
根据所述第一编码延迟关系式和所述第一码率延迟关系式构造每两种编码配置之间的第一总延迟关系式;
使用第一编码样本训练所述第一总延迟关系式,得到每两种编码配置之间的第一编码延迟关系和第一码率延迟关系,作为所述编码配置之间的延迟关系。
作为一种可选的实施例,在上述步骤S404之前,还可以但不限于通过以下方式得到编码配置之间的延迟关系:
将所述多种编码配置中延迟最低的编码配置确定为基准编码配置;
确定所述多种编码配置中每种编码配置相对于所述基准编码配置的第二编码延迟关系式和第二码率延迟关系式;
根据所述第二编码延迟关系式和所述第二码率延迟关系式构造每种编码配置相对于所述基准编码配置的第二总延迟关系式;
使用第二编码样本训练所述总延迟关系式,得到每种编码配置相对于所述基准编码配置的第二编码延迟关系和第二码率延迟关系;
将一种编码配置对应的第二编码延迟关系与另一种编码配置对应的第二编码延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的编码延迟关系,并将一种编码配置对应的第二码率延迟关系与另一种编码配置对应的第二码率延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的码率延迟关系,得到所述编码配置之间的延迟关系。
作为一种可选的实施例,可以但不限于通过以下方式之一获取第一视频资源的编码信息和传输信息:
方式一,获取第一图像组的编码延迟、码率信息和网络信息,其中,所述第一图像组是实时传输的视频资源中在当前待解码的第二图像组之前已解码的图像组;
方式二,获取第一图像组集合的编码延迟、码率信息和网络信息,其中,所述第一图像组集合是实时传输的视频资源中在当前待解码的第二图像组集合之前已解码的图像组集合,每个图像组集合中包括连续传输的多个图像组;
方式三,获取目标时长的第一视频资源的编码延迟、码率信息和网络信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的所述目标时长的第二视频资源之前已解码的图像组。
需要说明的是,在本实施例中,视频资源的解码过程与上述编码过程类似,在此不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频资源的编码方法的视频资源的编码装置。图5是根据本申请实施例的一种可选的视频资源的编码装置的示意图,如图5所示,该装置可以包括:
第一获取模块52,用于获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
预测模块54,用于根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
第二获取模块56,用于从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
编码模块58,用于使用所述目标编码配置对所述第二视频资源进行编码。
需要说明的是,该实施例中的第一获取模块52可以用于执行本申请实施例中的步骤S202,该实施例中的预测模块54可以用于执行本申请实施例中的步骤S204,该实施例中的第二获取模块56可以用于执行本申请实施例中的步骤S206,该实施例中的编码模块58可以用于执行本申请实施例中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,根据已编码的第一视频资源的编码信息和传输信息来预测以及编码配置之间的延迟关系,预测出当前待编码的第二视频资源的视频资源延迟,根据该视频资源延迟自适应地调整第二视频资源的编码配置,将多种编码配置中对应的视频资源延迟最低的编码配置作为目标编码配置对第二视频资源进行编码,达到从视频资源的编码,传输等多维度降低视频延迟的目的,从而实现了提高视频资源的编解码灵活性的技术效果,进而解决了相关技术中视频资源的编解码灵活性较差的技术问题。
作为一种可选的实施例,所述预测模块包括:
确定单元,用于根据所述编码信息确定所述第一视频资源的第一编码延迟;
第一获取单元,用于对于所述多种编码配置中的每种编码配置,从所述编码配置之间的延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标延迟关系;
计算单元,用于根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟。
作为一种可选的实施例,所述第一获取单元用于:
从编码配置之间的编码延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标编码延迟关系;
从编码配置之间的码率延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标码率延迟关系;
其中,所述目标延迟关系包括所述目标编码延迟关系和所述目标码率延迟关系。
作为一种可选的实施例,所述计算单元用于:
根据所述目标编码延迟关系和所述第一编码延迟计算所述每种编码配置对应的第二编码延迟;
根据所述目标码率延迟关系、所述编码信息中包括的码流信息和所述传输信息中包括的网络信息计算所述每种编码配置对应的传输延迟;
将所述第二编码延迟和所述传输延迟的和确定为所述每种编码配置对应的视频资源延迟。
作为一种可选的实施例,所述装置还包括:
第一确定模块,用于在预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟之前,确定所述多种编码配置中每两种编码配置之间的第一编码延迟关系式和第一码率延迟关系式;
第一构造模块,用于根据所述第一编码延迟关系式和所述第一码率延迟关系式构造每两种编码配置之间的第一总延迟关系式;
第一训练模块,用于使用第一编码样本训练所述第一总延迟关系式,得到每两种编码配置之间的第一编码延迟关系和第一码率延迟关系,作为所述编码配置之间的延迟关系。
作为一种可选的实施例,所述装置还包括:
第二确定模块,用于在预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟之前,将所述多种编码配置中延迟最低的编码配置确定为基准编码配置;
第三确定模块,用于确定所述多种编码配置中每种编码配置相对于所述基准编码配置的第二编码延迟关系式和第二码率延迟关系式;
第二构造模块,用于根据所述第二编码延迟关系式和所述第二码率延迟关系式构造每种编码配置相对于所述基准编码配置的第二总延迟关系式;
第二训练模块,用于使用第二编码样本训练所述总延迟关系式,得到每种编码配置相对于所述基准编码配置的第二编码延迟关系和第二码率延迟关系;
第四确定模块,用于将一种编码配置对应的第二编码延迟关系与另一种编码配置对应的第二编码延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的编码延迟关系,并将一种编码配置对应的第二码率延迟关系与另一种编码配置对应的第二码率延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的码率延迟关系,得到所述编码配置之间的延迟关系。
作为一种可选的实施例,所述第一获取模块包括以下之一:
第二获取单元,用于获取第一图像组的编码延迟、码率信息和网络信息,其中,所述第一图像组是实时传输的视频资源中在当前待编码的第二图像组之前已编码的图像组;
第三获取单元,用于获取第一图像组集合的编码延迟、码率信息和网络信息,其中,所述第一图像组集合是实时传输的视频资源中在当前待编码的第二图像组集合之前已编码的图像组集合,每个图像组集合中包括连续传输的多个图像组;
第四获取单元,用于获取目标时长的第一视频资源的编码延迟、码率信息和网络信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的所述目标时长的第二视频资源之前已编码的图像组。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频资源的解码方法的视频资源的解码装置。图6是根据本申请实施例的一种可选的视频资源的解码装置的示意图,如图6所示,该装置可以包括:
第一获取模块62,用于获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
预测模块64,用于根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
第二获取模块66,用于从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
解码模块68,用于使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
需要说明的是,该实施例中的第一获取模块62可以用于执行本申请实施例中的步骤S402,该实施例中的预测模块64可以用于执行本申请实施例中的步骤S404,该实施例中的第二获取模块66可以用于执行本申请实施例中的步骤S406,该实施例中的解码模块68可以用于执行本申请实施例中的步骤S408。
作为一种可选的实施例,所述预测模块用于:
根据所述编码信息确定所述第一视频资源的第一编码延迟;
对于所述多种编码配置中的每种编码配置,从所述编码配置之间的延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标延迟关系;
根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟。
作为一种可选的实施例,所述预测模块用于:
从编码配置之间的编码延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标编码延迟关系;
从编码配置之间的码率延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标码率延迟关系;
其中,所述目标延迟关系包括所述目标编码延迟关系和所述目标码率延迟关系。
作为一种可选的实施例,所述预测模块用于:
根据所述目标编码延迟关系和所述第一编码延迟计算所述每种编码配置对应的第二编码延迟;
根据所述目标码率延迟关系、所述编码信息中包括的码流信息和所述传输信息中包括的网络信息计算所述每种编码配置对应的传输延迟;
将所述第二编码延迟和所述传输延迟的和确定为所述每种编码配置对应的视频资源延迟。
作为一种可选的实施例,所述装置还用于:
在预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟之前,确定所述多种编码配置中每两种编码配置之间的第一编码延迟关系式和第一码率延迟关系式;
根据所述第一编码延迟关系式和所述第一码率延迟关系式构造每两种编码配置之间的第一总延迟关系式;
使用第一编码样本训练所述第一总延迟关系式,得到每两种编码配置之间的第一编码延迟关系和第一码率延迟关系,作为所述编码配置之间的延迟关系。
作为一种可选的实施例,所述装置还用于:
将所述多种编码配置中延迟最低的编码配置确定为基准编码配置;
确定所述多种编码配置中每种编码配置相对于所述基准编码配置的第二编码延迟关系式和第二码率延迟关系式;
根据所述第二编码延迟关系式和所述第二码率延迟关系式构造每种编码配置相对于所述基准编码配置的第二总延迟关系式;
使用第二编码样本训练所述总延迟关系式,得到每种编码配置相对于所述基准编码配置的第二编码延迟关系和第二码率延迟关系;
将一种编码配置对应的第二编码延迟关系与另一种编码配置对应的第二编码延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的编码延迟关系,并将一种编码配置对应的第二码率延迟关系与另一种编码配置对应的第二码率延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的码率延迟关系,得到所述编码配置之间的延迟关系。
作为一种可选的实施例,所述第一获取模块用于以下之一:
获取第一图像组的编码延迟、码率信息和网络信息,其中,所述第一图像组是实时传输的视频资源中在当前待解码的第二图像组之前已解码的图像组;
获取第一图像组集合的编码延迟、码率信息和网络信息,其中,所述第一图像组集合是实时传输的视频资源中在当前待解码的第二图像组集合之前已解码的图像组集合,每个图像组集合中包括连续传输的多个图像组;
获取目标时长的第一视频资源的编码延迟、码率信息和网络信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的所述目标时长的第二视频资源之前已解码的图像组。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的又一个方面,还提供了一种用于实施上述视频资源的编码方法的电子装置,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置对所述第二视频资源进行编码。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的视频资源的编码方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频资源的编码方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储视频资源的编码过程中的信息和数据等。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述视频图像的处理装置中的第一获取模块7022、预测模块7024、第二获取模块7026及编码模块7028。此外,还可以包括但不限于上述视频资源的编码装置中的其他模块单元,本示例中不再赘述。
作为另一种示例,上述存储器1002中还可以但不限于包括上述视频资源的解码装置中的第一获取模块、预测模块、第二获取模块及解码模块。此外,还可以包括但不限于上述视频资源的解码装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(NetworkInterfaceController,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器708,用于显示上述视频资源的编码过程得到的结果;和连接总线710,用于连接上述电子装置中的各个模块部件。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行视频资源的编码方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置对所述第二视频资源进行编码。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种视频资源的编码方法,其特征在于,包括:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置对所述第二视频资源进行编码。
2.根据权利要求1所述的方法,其特征在于,根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟包括:
根据所述编码信息确定所述第一视频资源的第一编码延迟;
对于所述多种编码配置中的每种编码配置,从所述编码配置之间的延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标延迟关系;
根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟。
3.根据权利要求2所述的方法,其特征在于,从编码配置之间的延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标延迟关系包括:
从编码配置之间的编码延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标编码延迟关系;
从编码配置之间的码率延迟关系中获取所述每种编码配置与所述第一视频资源的编码配置之间的目标码率延迟关系;
其中,所述目标延迟关系包括所述目标编码延迟关系和所述目标码率延迟关系。
4.根据权利要求3所述的方法,其特征在于,根据所述目标延迟关系,所述第一编码延迟,所述编码信息和所述传输信息计算所述每种编码配置对应的视频资源延迟包括:
根据所述目标编码延迟关系和所述第一编码延迟计算所述每种编码配置对应的第二编码延迟;
根据所述目标码率延迟关系、所述编码信息中包括的码流信息和所述传输信息中包括的网络信息计算所述每种编码配置对应的传输延迟;
将所述第二编码延迟和所述传输延迟的和确定为所述每种编码配置对应的视频资源延迟。
5.根据权利要求1所述的方法,其特征在于,在预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟之前,所述方法还包括:
确定所述多种编码配置中每两种编码配置之间的第一编码延迟关系式和第一码率延迟关系式;
根据所述第一编码延迟关系式和所述第一码率延迟关系式构造每两种编码配置之间的第一总延迟关系式;
使用第一编码样本训练所述第一总延迟关系式,得到每两种编码配置之间的第一编码延迟关系和第一码率延迟关系,作为所述编码配置之间的延迟关系。
6.根据权利要求1所述的方法,其特征在于,在预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟之前,所述方法还包括:
将所述多种编码配置中延迟最低的编码配置确定为基准编码配置;
确定所述多种编码配置中每种编码配置相对于所述基准编码配置的第二编码延迟关系式和第二码率延迟关系式;
根据所述第二编码延迟关系式和所述第二码率延迟关系式构造每种编码配置相对于所述基准编码配置的第二总延迟关系式;
使用第二编码样本训练所述总延迟关系式,得到每种编码配置相对于所述基准编码配置的第二编码延迟关系和第二码率延迟关系;
将一种编码配置对应的第二编码延迟关系与另一种编码配置对应的第二编码延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的编码延迟关系,并将一种编码配置对应的第二码率延迟关系与另一种编码配置对应的第二码率延迟关系之间的比值确定为一种编码配置相对于另一种编码配置的码率延迟关系,得到所述编码配置之间的延迟关系。
7.根据权利要求1所述的方法,其特征在于,获取第一视频资源的编码信息和传输信息包括以下之一:
获取第一图像组的编码延迟、码率信息和网络信息,其中,所述第一图像组是实时传输的视频资源中在当前待编码的第二图像组之前已编码的图像组;
获取第一图像组集合的编码延迟、码率信息和网络信息,其中,所述第一图像组集合是实时传输的视频资源中在当前待编码的第二图像组集合之前已编码的图像组集合,每个图像组集合中包括连续传输的多个图像组;
获取目标时长的第一视频资源的编码延迟、码率信息和网络信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的所述目标时长的第二视频资源之前已编码的图像组。
8.一种视频资源的解码方法,其特征在于,包括:
获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
9.一种视频资源的编码装置,其特征在于,包括:
第一获取模块,用于获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待编码的第二视频资源之前已编码的视频资源;
预测模块,用于根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
第二获取模块,用于从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
编码模块,用于使用所述目标编码配置对所述第二视频资源进行编码。
10.一种视频资源的解码装置,其特征在于,包括:
第一获取模块,用于获取第一视频资源的编码信息和传输信息,其中,所述第一视频资源是实时传输的视频资源中在当前待解码的第二视频资源之前已解码的视频资源;
预测模块,用于根据所述第一视频资源的编码信息和传输信息以及编码配置之间的延迟关系,预测在多种编码配置中的每种编码配置下编码所述第二视频资源的视频资源延迟,其中,所述视频资源延迟用于指示视频资源在编码和传输过程中的总延迟信息;
第二获取模块,用于从所述多种编码配置中获取所对应的视频资源延迟最低的编码配置作为目标编码配置;
解码模块,用于使用所述目标编码配置所对应的解码配置对所述第二视频资源进行解码。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
12.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至8任一项中所述的方法。
CN202011213514.7A 2020-11-04 2020-11-04 视频资源的编码方法和装置,视频资源的解码方法和装置 Active CN112040235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011213514.7A CN112040235B (zh) 2020-11-04 2020-11-04 视频资源的编码方法和装置,视频资源的解码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011213514.7A CN112040235B (zh) 2020-11-04 2020-11-04 视频资源的编码方法和装置,视频资源的解码方法和装置

Publications (2)

Publication Number Publication Date
CN112040235A true CN112040235A (zh) 2020-12-04
CN112040235B CN112040235B (zh) 2021-03-16

Family

ID=73573664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011213514.7A Active CN112040235B (zh) 2020-11-04 2020-11-04 视频资源的编码方法和装置,视频资源的解码方法和装置

Country Status (1)

Country Link
CN (1) CN112040235B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005025226A1 (ja) * 2003-09-02 2005-03-17 Sony Corporation 映像符号化装置、映像符号化制御方法及び映像符号化制御プログラム
CN103916675A (zh) * 2014-03-25 2014-07-09 北京工商大学 一种基于条带划分的低延迟帧内编码方法
CN105262699A (zh) * 2015-10-29 2016-01-20 浙江大华技术股份有限公司 一种网络自适应编码调整方法及装置
CN110324621A (zh) * 2019-07-04 2019-10-11 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005025226A1 (ja) * 2003-09-02 2005-03-17 Sony Corporation 映像符号化装置、映像符号化制御方法及び映像符号化制御プログラム
CN103916675A (zh) * 2014-03-25 2014-07-09 北京工商大学 一种基于条带划分的低延迟帧内编码方法
CN105262699A (zh) * 2015-10-29 2016-01-20 浙江大华技术股份有限公司 一种网络自适应编码调整方法及装置
CN110324621A (zh) * 2019-07-04 2019-10-11 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112040235B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
Yeo et al. Neural adaptive content-aware internet video delivery
Nguyen et al. An optimal tile-based approach for viewport-adaptive 360-degree video streaming
US10321138B2 (en) Adaptive video processing of an interactive environment
CN105409216B (zh) 丢失视频数据的条件隐藏
CN110139113B (zh) 视频资源的传输参数分发方法及装置
US20200244969A1 (en) Video compression with generative models
US20120195372A1 (en) Joint frame rate and resolution adaptation
CN111277826B (zh) 一种视频数据处理方法、装置及存储介质
US8243117B2 (en) Processing aspects of a video scene
JP2011512047A (ja) メタデータを使用してより低い複雑さの複数ビットレートビデオ符号化を実行する方法及び装置
Nguyen et al. A new adaptation approach for viewport-adaptive 360-degree video streaming
CN114845106A (zh) 视频编码方法、装置和存储介质及电子设备
Nguyen et al. A client-based adaptation framework for 360-degree video streaming
CN112351285A (zh) 视频编码、解码方法和装置、电子设备和存储介质
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
CN114245196B (zh) 一种录屏推流方法、装置、电子设备及存储介质
US20130235928A1 (en) Advanced coding techniques
CA3182110A1 (en) Reinforcement learning based rate control
CN116567228A (zh) 编码方法、实时通信方法、装置、设备及存储介质
CN112351278A (zh) 一种视频的编码方法和装置,视频的解码方法和装置
CN112040235B (zh) 视频资源的编码方法和装置,视频资源的解码方法和装置
CN116962613A (zh) 数据传输方法及装置、计算机设备、存储介质
CN112040232B (zh) 实时通信的传输方法和装置、实时通信的处理方法和装置
CN114374841A (zh) 视频编码码率控制的优化方法、装置及电子设备
CN110677721B (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