CN112929747B - 基于网络反馈的视频编码方法、装置、设备及存储介质 - Google Patents

基于网络反馈的视频编码方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112929747B
CN112929747B CN202110065168.0A CN202110065168A CN112929747B CN 112929747 B CN112929747 B CN 112929747B CN 202110065168 A CN202110065168 A CN 202110065168A CN 112929747 B CN112929747 B CN 112929747B
Authority
CN
China
Prior art keywords
frame
image
coded
determining
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110065168.0A
Other languages
English (en)
Other versions
CN112929747A (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 Luota Information Technology Co ltd
Original Assignee
Beijing Luota Information 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 Luota Information Technology Co ltd filed Critical Beijing Luota Information Technology Co ltd
Priority to CN202110065168.0A priority Critical patent/CN112929747B/zh
Publication of CN112929747A publication Critical patent/CN112929747A/zh
Priority to PCT/CN2022/071471 priority patent/WO2022152137A1/zh
Application granted granted Critical
Publication of CN112929747B publication Critical patent/CN112929747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了基于网络反馈的视频编码方法、装置、设备及存储介质。本申请实施例提供的技术方案通过根据网络状态信息实时调整图像组大小,并基于该图像组大小将待编码帧序列划分为多个微小图像组,同时根据解码端返回的解码反馈信息,确定可用作参考的可参考图像帧,在对待编码图像帧进行编码时,根据待编码图像帧在微小图像组中的位置,在可参考图像帧中选择适合的待编码参考帧,并基于对应待编码参考帧对待编码图像帧进行编码,利用网络反馈动态调整编码过程中的微小图像组的大小以及参考帧的选择,实现视频质量与流畅度的动态兼顾,有效提高视频传输质量。

Description

基于网络反馈的视频编码方法、装置、设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及基于网络反馈的视频编码方法、装置、设备及存储介质。
背景技术
随着4G、5G技术的发展,移动互联网的信息载体正在经历从文字、图片到视频的转变,各种视频类应用应运而生,获得了消费者们的一致青睐。然而,内容数据量的骤增,给网络带宽带来了较大压力。
现有技术中,一般通过采用多参考帧策略对视频帧进行编码,在编码当前帧时,编码器会依次遍历参考帧列表,选出与当前帧相似度最高的帧作为参考帧。然而,在发生传输丢帧时,在解码端容易造成图像组内的连续丢帧现象,影响视频传输质量。
发明内容
本申请实施例提供基于网络反馈的视频编码方法、装置、设备及存储介质,以提高视频传输质量。
在第一方面,本申请实施例提供了一种基于网络反馈的视频编码方法,包括:
根据网络传输层提供的实时码率信息,确定当前的网络状态信息;
根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧;
基于所述网络状态信息确定图像组大小,并按照所述图像组大小将待编码帧序列划分为多个微小图像组,所述图像组大小与所述网络状态信息为正相关关系;
依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的待编码参考帧,并基于所述待编码参考帧对所述待编码图像帧进行编码。
在第二方面,本申请实施例提供了一种基于网络反馈的视频编码装置,包括网络检测模块、解码反馈模块、图像组划分模块和参考帧确定模块,其中:
所述网络检测模块,用于根据网络传输层提供的实时码率信息,确定当前的网络状态信息;
所述解码反馈模块,用于根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧;
所述图像组划分模块,用于基于所述网络状态信息确定图像组大小,并按照所述图像组大小将待编码帧序列划分为多个微小图像组,所述图像组大小与所述网络状态信息为正相关关系;
所述参考帧确定模块,用于依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的待编码参考帧,并基于所述待编码参考帧对所述待编码图像帧进行编码。
在第三方面,本申请实施例提供了一种基于网络反馈的视频编码设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于网络反馈的视频编码方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于网络反馈的视频编码方法。
本申请实施例通过根据网络状态信息实时调整图像组大小,并基于该图像组大小将待编码帧序列划分为多个微小图像组,同时根据解码端返回的解码反馈信息,确定可用作参考的可参考图像帧,在对待编码图像帧进行编码时,根据待编码图像帧在微小图像组中的位置,在可参考图像帧中选择适合的待编码参考帧,并基于对应待编码参考帧对待编码图像帧进行编码,利用网络反馈动态调整编码过程中的微小图像组的大小以及参考帧的选择,实现视频质量与流畅度的动态兼顾,有效提高视频传输质量。
附图说明
图1是本申请实施例提供的一种基于网络反馈的视频编码方法的流程图;
图2是本申请实施例提供的一种基于视频通话的应用场景示意图;
图3是本申请实施例提供的另一种基于网络反馈的视频编码方法的流程图;
图4是本申请实施例提供的一种基于网络反馈的视频编码装置的结构示意图;
图5是本申请实施例提供的一种基于网络反馈的视频编码设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种基于网络反馈的视频编码方法的流程图,本申请实施例提供的基于网络反馈的视频编码方法可以由基于网络反馈的视频编码装置来执行,该基于网络反馈的视频编码装置可以通过硬件和/或软件的方式实现,并集成在基于网络反馈的视频编码设备中。
下述以基于网络反馈的视频编码装置执行基于网络反馈的视频编码方法为例进行描述。参考图1,该基于网络反馈的视频编码方法包括:
S101:根据网络传输层提供的实时码率信息,确定当前的网络状态信息。
本实施例提供的基于网络反馈的视频编码装置(以下简称视频编码装置)作为编码端,在对待编码图像帧进行编码得到已编码图像帧后,通过网络发送给解码端,由解码端对已编码图像帧进行解码得到相应的已解码图像帧,并依次对已编码图像帧进行播放,实现对视频的传输与播放。
本实施例提供的编码端和解码端可以是智能手机等具有实时视频通话功能的计算机设备,例如在移动端实时视频通话过程中,将采集并提供视频画面信息的移动端作为编码端,对采集到的视频画面信息进行编码并发送,将接收并播放视频画面信息的移动端作为编码端,对接收到的视频画面信息进行解码并播放,并且编码端和解码端之间基于服务器进行视频画面信息的传输。
示例性的,在对待编码图像帧进行编码过程中,利用编码端的网络传输层获取当前的实时码率信息,并根据实时码率信息确定当前的网络状态信息。可以理解的是,实时码率信息反映的实时码率越高,对应的网络状态信息反映的网络状态越好。
S102:根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧。
解码端在接收到已编码图像帧并成功对已编码图像帧进行解码后,向本实施例提供的视频编码装置返回解码反馈信息。
示例性的,根据解码端返回的解码反馈信息可确定被成功解码的已编码图像帧,并将被成功解码的已编码图像帧确定为可用作参考的可参考图像帧。
S103:基于所述网络状态信息确定图像组大小,并按照所述图像组大小将待编码帧序列划分为多个微小图像组,所述图像组大小与所述网络状态信息为正相关关系。
示例性的,根据网络状态信息与图像组大小的对应关系,确定当前网络状态信息所对应的图像组大小。其中,图像组大小与网络状态信息为正相关关系,即在网络状态信息反映的网络状态越好时,对应的图像组大小越大,而在网络状态信息反映的网络状态越差时,对应的图像组大小越小。
通过窗口滑动的方式,按照上述确定的图像组大小,对待编码帧序列进行划分得到多个微小图像组,并且微小图像组的大小与上述确定的图像组大小相对应。
S104:依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的待编码参考帧,并基于所述待编码参考帧对所述待编码图像帧进行编码。
示例性的,在编码过程中,确定当前需要进行编码的待编码图像帧在对应的微小图像组中的位置,并根据在微小图像组中的位置确定用作参考的待编码参考帧。
其中,根据待编码图像帧在微小图像组中的不同位置,可根据不同的参考帧确定方式确定用做参考的待编码参考帧。例如,在待编码图像帧位于微小图像组的首帧时,可以从前面的微小图像组中已确定被成功解码的可参考图像帧中,选择距离最近的可参考图像帧作为本次编码的待编码参考帧。
进一步的,在确定待编码参考帧后,基于该待编码参考帧对待编码图像帧进行编码,得到已编码图像帧。在得到已编码图像帧后,可经网络发送至解码端进行解码并播放。
图2为本申请实施例提供的一种基于视频通话的应用场景示意图。如图2所示,在视频通话的应用场景中对应有编码端、解码端和服务器,编码端和解码端之间通过服务器建立视频通话连接,解码端在接收编码端发出的视频通话请求后,解码端启动视频采集模块并采集图像信息,并实时生成相应的待编码帧序列。
该编码端基于本申请实施例提供的基于网络反馈的视频编码方法,实时对待编码帧序列进行切分得到不同大小的图像组大小,并依据待编码图像帧位于微小图像组中的位置确定待编码参考帧进行编码得到已编码图像帧,并通过服务器,以码流的形式向解码端进行发送。
解码端对接收到的已编码图像帧进行解码,并在解码成功后进行播放并向编码端反馈相应的解码反馈信息。编码端利用对网络状态信息的反馈,动态调整编码过程中的参考帧的选择过程,当网络状态较好时,建立较长的微小图像组,使得微小图像组内部帧可以顺序依赖,提升视频质量;当网络状态较差时,建立较短的微小图像组,一旦发生丢帧,可以迅速达到微小图像组的尾部,重新寻找可参考图像帧,开启新的顺序依赖,避免了长时间的连续丢帧的情况。
上述,通过根据网络状态信息实时调整图像组大小,并基于该图像组大小将待编码帧序列划分为多个微小图像组,同时根据解码端返回的解码反馈信息,确定可用作参考的可参考图像帧,在对待编码图像帧进行编码时,根据待编码图像帧在微小图像组中的位置,在可参考图像帧中选择适合的待编码参考帧,并基于对应待编码参考帧对待编码图像帧进行编码,利用网络反馈动态调整编码过程中的微小图像组的大小以及参考帧的选择,实现视频质量与流畅度的动态兼顾,有效提高视频传输质量。
在上述实施例的基础上,图3给出了本申请实施例提供的另一种基于网络反馈的视频编码方法的流程图,该基于网络反馈的视频编码方法是对上述基于网络反馈的视频编码方法的具体化。参考图3,该基于网络反馈的视频编码方法包括:
S201:实时获取网络传输层获取提供的实时码率信息,并基于所述实时码率信息计算平均码率信息,并基于所述平均码率信息确定当前的网络状态信息。
具体的,实时获取视频编码装置的网络传输层提供的实时码率信息,并根据实时码率信息计算平均码率信息。例如,确定最近多帧(例如10帧)对应的实时码率信息,并将这多个实时码率信息的平均值作为平均码率信息。同时,随着实时码率信息的实时获取与更新,同步更新平均码率信息。
本实施例将实时计算确定的平均码率信息作为当前的网络状态信息,可以理解的是,平均码率信息越高,网络状态信息反映的网络状态越好。
示例性的,持续获取实时码率信息,并基于以下公式计算平均码率信息:
Figure SMS_1
以上公式以10帧的平均码率为例进行示例性说明,可根据具体需要进行适应性调整,其中Brav表示平均码率信息,Br(i)表示第i帧的实时码率。
在其他实施例中,还可以是通过网络带宽、丢包率等作为网络状态信息反馈网络状态。
S202:接收解码端返回的解码反馈信息,所述解码反馈信息由解码端基于解码成功的已编码图像帧生成。
具体的,解码端在接收到已编码图像帧时并成功对已编码图像帧进行解码得到已解码图像帧时,会生成并向视频编码装置返回一个指向该已编码图像帧的解码反馈信息。
例如,解码端在成功解码已编码图像帧后,向视频编码装置返回一个标识字符消息(ACK消息)作为解码反馈信息,视频编码装置在接收到标识字符消息后即可得知具体被成功解码的已编码图像帧。
S203:确定所述解码反馈信息所对应的已编码图像帧,并将所述已编码图像帧确定为可用作参考的可参考图像帧。
本实施例提供的视频编码装置会建立并维护一个设定长度的参考帧列表,该参考帧列表用于记录确定为可用作参考的可参考图像帧,在对待编码图像帧进行编码时,可在参考帧列表中选取选择合适的可参考图像帧作为参考帧进行编码。
具体的,根据解码反馈信息确定被成功解码的已编码图像帧,将确定被成功解码的已编码图像帧确定为可用作参考的可参考图像帧,并将该可参考图像帧加入到参考帧列表中。
可以理解的是,若视频编码装置收到指示某一帧已成功解码的解码反馈信息,代表该帧可被参考,后续进行编码时即可将该帧作为参考帧;若编码器未收到对应帧的解码反馈信息,代表该帧在传输过程中丢失或因解码硬件限制尚未成功解码,不可被用作参考。
S204:基于网络状态信息与窗口滑动速度之间的对应关系,确定所述网络状态信息所对应的窗口滑动速度。
具体的,本实施例基于网络状态信息与窗口滑动速度之间的对应关系,确定当前的网络状态信息下所对应的窗口滑动速度。其中网络状态信息与窗口滑动速度之间的对应关系通过以下计算公式进行确定:
Figure SMS_2
其中,SS表示窗口滑动速度,Brav表示平均码率信息,α和β分别表示实验常数系数(基于实验数据进行确定)。
需要进行解释的是,本申请实施例通过窗口滑动的方式设定微小图像组的大小,在较好的网络状态中,增大微小图像组以提升视频质量,而在较差网络状态下,减小微小图像组以避免出现长期连续丢帧的状况。
另外,考虑到网络环境起伏多变的情况,在较好的网络状态中一旦出现丢帧,会造成长距离微小图像组内部的连续丢帧的情况,而在较差网络下也会出现因短期的网络波峰而产生长距离微小图像组的情况。因此通过设置窗口滑动速度的方式限制微小图像组的图像组大小,当网络状态较好时,设定较高的窗口滑动速度,一旦出现丢帧,使微小图像组能够迅速响应,避免连续丢帧;当网络状态较差时,设定较小的窗口滑动速度,减少因短期的网络状态变好,产生长距离的微小图像组,而导致留下丢帧隐患的情况。
S205:根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,所述图像组大小与所述网络状态信息为正相关关系。
实时获取网络反馈的丢帧率信息,并将实时的丢帧率信息与设定的丢帧率范围进行比较,判断实时的丢帧率信息在丢帧率范围以内、在丢帧率范围以上还是在丢帧率范围以下,并根据丢帧率信息与丢帧率范围的对应关系确定图像组大小的确定方式。
示例性的,本实施例采用最近设定时间段内(以10秒为例)丢帧数量占总体帧数的比值,作为丢帧率信息,如以下公式所示:
Figure SMS_3
其中,FLav表示丢帧率信息,D(j)代表第j秒丢失的帧数,fps代表设定的1秒要编码的帧数。
具体的,本实施例提供的根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,具体包括步骤S2051-S2053:
S2051:基于丢帧率信息低于设定的丢帧率范围,将图像组大小确定为设定的范围外上限值。
具体的,在丢帧率信息低于设定的丢帧率范围时(即丢帧率信息小于设定的丢帧率下限阈值时),将图像组大小确定为设定的范围外上限值。其中范围外上限制可以设置为具体的数值,也可以不对具体数值进行限定。
需要进行解释的是,在不对范围外上限制的具体数值进行限定时,表示在当网络不丢帧时,就不对微小图像组的大小进行限制,相当于从开始视频通话一直持续到通话结束,仅产生一个微小图像组,使得微小图像组内的图像帧可一直以顺序依赖的方式进行编码,获得更高的视频质量。
S2052:基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小。
具体的,基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,并设定所述图像组大小的最小值为范围内下限值,所述范围内下限值大于等于所述范围外下限值。
在丢帧率信息位于设定的丢帧率范围内时,根据预先设定的窗口滑动速度、图像组极限值约束和丢帧率信息与图像组大小的对应关系,确定实时的图像组大小。
其中,图像组极限值约束用于约束图像组大小对应的滑动窗口的窗口上限和窗口下限,窗口滑动速度可表示滑动窗口的变化速率,该变化速率与图像组大小成正比,本实施例提供的丢帧率信息与图像组大小成反比。
进一步的,本实施例在基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小时,进一步设定在所述实时码率信息低于设定低码率值时,所述图像组大小的最大值为设定的低码率上限值。例如,将设定低码率值设置为200kb/s,低码率上限值为5,则在实时码率信息低于200kb/s时,微小图像组的图像组大小上限为5,以减少较差网络状态下产生长距离微小图像组的情况。
同时,还进一步设定所述图像组大小的最小值为范围内下限值,所述范围内下限值大于等于范围外下限值。其中范围外下限值为下述步骤S2053中,在丢帧率信息高于设定的丢帧率范围时确定的图像组大小。例如,本实施例将范围外下限值设置为1,可将范围内下限值设置为2,即在基于丢帧率信息位于设定的丢帧率范围内时,得到的图像组大小均大于等于2。
S2053:基于丢帧率信息高于设定的丢帧率范围,将图像组大小确定为设定的范围外下限值。
具体的,在丢帧率信息高于设定的丢帧率范围时,则直接将图像组大小确定为设定的范围外下限值(例如将图像组大小设置为1)。进一步的,在丢帧率信息高于设定的丢帧率范围,为了保证视频传输质量,减少丢帧的情况,将当前待编码图像帧用做参考的待编码参考帧确定为:参考帧列表中确定成功解码的可参考图像帧。
其中,步骤S2051-S2053中对图像组大小的确定可通过以下公式进行:
Figure SMS_4
其中Gopsize表示图像组大小,∞表示不对图像组大小进行限制,M表示图像组极限值约束,其包括滑动窗口的窗口上限和窗口下限,FLav表示丢帧率信息,SS表示窗口滑动速度,Th1和Th2分别表示设定的丢帧率范围的范围下限值和范围上限值,f(M,FLav,SS)表示预先设定的窗口滑动速度、图像组极限值约束和丢帧率信息与图像组大小之间的对应关系或计算函数。
S206:按照所述图像组大小将待编码帧序列划分为多个微小图像组。
S207:判断待编码图像帧是否位于所述微小图像组的首帧。若是,则跳转至步骤S208,否则跳转至步骤S209。
具体的,在对待编码帧序列进行划分得到多个对应不同图像组大小的多个微小图像组后,依次对每个微小图像组的各个待编码图像帧进行编码。在对待编码图像帧进行编码时,先判断该待编码图像帧是否为I帧,若是,则不为该待编码图像帧指定参考帧并直接进行编码,否则,进一步判断该待编码图像帧在对应微小图像组中的位置。
其中,微小图像组中的图像帧的类型有I帧和P帧,I帧为不使用帧间预测的编码帧,P帧为使用来自时序前向的编码帧来做帧间预测的编码帧。其中I帧通过预先设定的规则进行确定(例如指定待编码帧序列中的每20、50各图像帧作为I帧)。
进一步的,根据待编码图像帧在对应微小图像组中的位置判断该待编码图像帧是否位于微小图像组的首帧,若是,则跳转至步骤S208,否则(此时待编码图像帧位于微小图像组的内部)跳转至步骤S209。
S208:从所述可参考图像帧中确定距离最近的确认字符帧,并将所述确认字符帧作为所述待编码图像帧的待编码参考帧。
具体的,若待编码图像帧位于微小图像组的首帧,则在参考帧列表中确定距离当前待编码图像帧最近的一个可参考图像帧最为待编码参考帧,该待编码图像帧将作为待编码图像帧的参考帧进行编码,保证微小图像组中的第一个待编码图像帧在进行编码时,所参考的参考帧一定是已成功进行解码的已编码图像帧。在确定待编码图像帧的待编码参考帧后,跳转至步骤S210。
S209:将所述待编码图像帧前一帧的已编码图像帧作为所述待编码图像帧的待编码参考帧。
在当前待编码图像帧位于微小图像组内部时,确定当前待编码图像帧前一帧的已编码图像帧,并将该已编码图像帧作为待编码图像帧的待编码参考帧。通过在微小图像组内部采用顺序依赖的方式确定参考帧,有效提高视频质量。
S210:基于所述待编码参考帧对所述待编码图像帧进行编码。
上述,通过根据网络状态信息实时调整图像组大小,并基于该图像组大小将待编码帧序列划分为多个微小图像组,同时根据解码端返回的解码反馈信息,确定可用作参考的可参考图像帧,在对待编码图像帧进行编码时,根据待编码图像帧在微小图像组中的位置,在可参考图像帧中选择适合的待编码参考帧,并基于对应待编码参考帧对待编码图像帧进行编码,利用网络反馈动态调整编码过程中的微小图像组的大小以及参考帧的选择,实现视频质量与流畅度的动态兼顾,有效提高视频传输质量。在实时视频通话过程中,在较好网络环境下,视频卡顿较少,用户更加注重视频质量,因此设置较长的微小图像组,在长距离的顺序依赖过程中提升质量;而在较差网络环境下,用户对视频质量容忍度较高,视频通话的流畅度成为关键,因此设置较短的微小图像组,在发生丢帧时迅速响应,重新寻找可参考图像帧,避免连续丢帧造成的卡顿,使得在实时视频通话场景中,实现对视频质量与流畅度的动态兼顾。
图4是本申请实施例提供的一种基于网络反馈的视频编码装置的结构示意图。参考图4,该基于网络反馈的视频编码装置包括网络检测模块41、解码反馈模块42、图像组划分模块43和参考帧确定模块44。
其中,所述网络检测模块41,用于根据网络传输层提供的实时码率信息,确定当前的网络状态信息;所述解码反馈模块42,用于根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧;所述图像组划分模块43,用于基于所述网络状态信息确定图像组大小,并按照所述图像组大小将待编码帧序列划分为多个微小图像组,所述图像组大小与所述网络状态信息为正相关关系;所述参考帧确定模块44,用于依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的待编码参考帧,并基于所述待编码参考帧对所述待编码图像帧进行编码。
上述,通过根据网络状态信息实时调整图像组大小,并基于该图像组大小将待编码帧序列划分为多个微小图像组,同时根据解码端返回的解码反馈信息,确定可用作参考的可参考图像帧,在对待编码图像帧进行编码时,根据待编码图像帧在微小图像组中的位置,在可参考图像帧中选择适合的待编码参考帧,并基于对应待编码参考帧对待编码图像帧进行编码,利用网络反馈动态调整编码过程中的微小图像组的大小以及参考帧的选择,实现视频质量与流畅度的动态兼顾,有效提高视频传输质量。
本申请实施例还提供了一种基于网络反馈的视频编码设备,该基于网络反馈的视频编码设备可集成本申请实施例提供的基于网络反馈的视频编码装置。图5是本申请实施例提供的一种基于网络反馈的视频编码设备的结构示意图。参考图5,该基于网络反馈的视频编码设备包括:输入装置53、输出装置54、存储器52以及一个或多个处理器51;所述存储器52,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如上述实施例提供的基于网络反馈的视频编码方法。上述提供的基于网络反馈的视频编码装置、设备和计算机可用于执行上述任意实施例提供的基于网络反馈的视频编码方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于网络反馈的视频编码方法。当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于网络反馈的视频编码方法,还可以执行本申请任意实施例所提供的基于网络反馈的视频编码方法中的相关操作。上述实施例中提供的基于网络反馈的视频编码装置、设备及存储介质可执行本申请任意实施例所提供的基于网络反馈的视频编码方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于网络反馈的视频编码方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

Claims (11)

1.一种基于网络反馈的视频编码方法,其特征在于,包括:
根据网络传输层提供的实时码率信息,确定当前的网络状态信息;
根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧;
通过窗口滑动的方式,基于所述网络状态信息确定图像组大小,并按照所述图像组大小将待编码帧序列划分为多个微小图像组,所述图像组大小与所述网络状态信息为正相关关系;
依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的待编码参考帧,并基于所述待编码参考帧对所述待编码图像帧进行编码。
2.根据权利要求1所述的基于网络反馈的视频编码方法,其特征在于,所述根据网络传输层提供的实时码率信息,确定当前的网络状态信息,包括:
实时获取网络传输层获取提供的实时码率信息;
基于所述实时码率信息计算平均码率信息,并基于所述平均码率信息确定当前的网络状态信息。
3.根据权利要求1所述的基于网络反馈的视频编码方法,其特征在于,所述根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧,包括:
接收解码端返回的解码反馈信息,所述解码反馈信息由解码端基于解码成功的已编码图像帧生成;
确定所述解码反馈信息所对应的已编码图像帧,并将所述已编码图像帧确定为可用作参考的可参考图像帧。
4.根据权利要求1所述的基于网络反馈的视频编码方法,其特征在于,所述基于所述网络状态信息确定图像组大小,包括:
基于网络状态信息与窗口滑动速度之间的对应关系,确定所述网络状态信息所对应的窗口滑动速度;
根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小。
5.根据权利要求4所述的基于网络反馈的视频编码方法,其特征在于,所述根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,包括:
基于丢帧率信息低于设定的丢帧率范围,将图像组大小确定为设定的范围外上限值;
基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小;
基于丢帧率信息高于设定的丢帧率范围,将图像组大小确定为设定的范围外下限值。
6.根据权利要求5所述的基于网络反馈的视频编码方法,其特征在于,所述基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,包括:
基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,并设定所述图像组大小的最小值为范围内下限值,所述范围内下限值大于等于所述范围外下限值。
7.根据权利要求5所述的基于网络反馈的视频编码方法,其特征在于,所述基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,包括:
基于丢帧率信息位于设定的丢帧率范围内,根据所述窗口滑动速度、图像组极限值约束和丢帧率信息确定图像组大小,并设定在所述实时码率信息低于设定低码率值时,所述图像组大小的最大值为设定的低码率上限值。
8.根据权利要求1所述的基于网络反馈的视频编码方法,其特征在于,所述依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的参考帧,包括:
判断待编码图像帧是否位于所述微小图像组的首帧;
若是,则从所述可参考图像帧中确定距离最近的确认字符帧,并将所述确认字符帧作为所述待编码图像帧的待编码参考帧;
否则,将所述待编码图像帧前一帧的已编码图像帧作为所述待编码图像帧的待编码参考帧。
9.一种基于网络反馈的视频编码装置,其特征在于,包括网络检测模块、解码反馈模块、图像组划分模块和参考帧确定模块,其中:
所述网络检测模块,用于根据网络传输层提供的实时码率信息,确定当前的网络状态信息;
所述解码反馈模块,用于根据解码端提供的解码反馈信息,在已编码图像帧中确定可用作参考的可参考图像帧;
所述图像组划分模块,用于通过窗口滑动的方式,基于所述网络状态信息确定图像组大小,并按照所述图像组大小将待编码帧序列划分为多个微小图像组,所述图像组大小与所述网络状态信息为正相关关系;
所述参考帧确定模块,用于依据待编码图像帧位于所述微小图像组中的位置,从所述可参考图像帧中确定所述待编码图像帧的待编码参考帧,并基于所述待编码参考帧对所述待编码图像帧进行编码。
10.一种基于网络反馈的视频编码设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8任一所述的基于网络反馈的视频编码方法。
11.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一所述的基于网络反馈的视频编码方法。
CN202110065168.0A 2021-01-18 2021-01-18 基于网络反馈的视频编码方法、装置、设备及存储介质 Active CN112929747B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110065168.0A CN112929747B (zh) 2021-01-18 2021-01-18 基于网络反馈的视频编码方法、装置、设备及存储介质
PCT/CN2022/071471 WO2022152137A1 (zh) 2021-01-18 2022-01-11 基于网络反馈的视频编码方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110065168.0A CN112929747B (zh) 2021-01-18 2021-01-18 基于网络反馈的视频编码方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112929747A CN112929747A (zh) 2021-06-08
CN112929747B true CN112929747B (zh) 2023-03-31

Family

ID=76163397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110065168.0A Active CN112929747B (zh) 2021-01-18 2021-01-18 基于网络反馈的视频编码方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN112929747B (zh)
WO (1) WO2022152137A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929747B (zh) * 2021-01-18 2023-03-31 北京洛塔信息技术有限公司 基于网络反馈的视频编码方法、装置、设备及存储介质
CN113573063B (zh) * 2021-06-16 2024-06-14 百果园技术(新加坡)有限公司 视频编解码方法及装置
CN116264622A (zh) * 2021-12-15 2023-06-16 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备和存储介质
CN115883848A (zh) * 2022-12-08 2023-03-31 广州市百果园网络科技有限公司 一种编码控制方法、装置、设备、存储介质及产品
CN118264798B (zh) * 2024-05-31 2024-09-06 摩尔线程智能科技(北京)有限责任公司 一种视频编码方法及装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360243A (zh) * 2008-09-24 2009-02-04 腾讯科技(深圳)有限公司 基于反馈参考帧的视频通信系统及方法
CN102404572A (zh) * 2011-11-22 2012-04-04 西交利物浦大学 延迟约束条件下基于系统rs码的视频编解码系统及其方法
CN110113610A (zh) * 2019-04-23 2019-08-09 西安万像电子科技有限公司 数据传输方法及装置
CN110392284A (zh) * 2019-07-29 2019-10-29 腾讯科技(深圳)有限公司 视频编码、视频数据处理方法、装置、计算机设备和存储介质
CN110708569A (zh) * 2019-09-12 2020-01-17 北京达佳互联信息技术有限公司 一种视频处理方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100374245B1 (ko) * 1996-04-19 2003-05-09 오끼 덴끼 고오교 가부시끼가이샤 화상부호화장치,화상복호화장치및화상전송시스템
EP0940989A3 (en) * 1998-03-02 2003-10-29 Nippon Telegraph and Telephone Corporation Video communication system and method
TWI383684B (zh) * 2008-11-18 2013-01-21 Univ Nat Taiwan 多媒體串流之動態視訊編碼系統與方法
CN104780367B (zh) * 2015-04-13 2018-05-01 浙江宇视科技有限公司 一种动态调整gop长度的方法和装置
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
CN106973066A (zh) * 2017-05-10 2017-07-21 福建星网智慧科技股份有限公司 一种实时通讯中h264编码视频数据传输方法以及系统
CN112929747B (zh) * 2021-01-18 2023-03-31 北京洛塔信息技术有限公司 基于网络反馈的视频编码方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360243A (zh) * 2008-09-24 2009-02-04 腾讯科技(深圳)有限公司 基于反馈参考帧的视频通信系统及方法
CN102404572A (zh) * 2011-11-22 2012-04-04 西交利物浦大学 延迟约束条件下基于系统rs码的视频编解码系统及其方法
CN110113610A (zh) * 2019-04-23 2019-08-09 西安万像电子科技有限公司 数据传输方法及装置
CN110392284A (zh) * 2019-07-29 2019-10-29 腾讯科技(深圳)有限公司 视频编码、视频数据处理方法、装置、计算机设备和存储介质
CN110708569A (zh) * 2019-09-12 2020-01-17 北京达佳互联信息技术有限公司 一种视频处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022152137A1 (zh) 2022-07-21
CN112929747A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN112929747B (zh) 基于网络反馈的视频编码方法、装置、设备及存储介质
US11277227B2 (en) Adaptive screen encoding control
EP2727344B1 (en) Frame encoding selection based on frame similarities and visual quality and interests
CN113747194B (zh) 远程视频传输方法、传输装置、存储介质及电子设备
KR101409826B1 (ko) 적응적 탐색 범위를 이용한 움직임 예측 방법
MX2013004481A (es) Ajuste de configuracion de codigo dinamico.
CN104394484A (zh) 一种无线实时流媒体传输方法
CN106688239A (zh) 视频下载方法、装置及系统
CN1240092A (zh) 视频编码
CN110248192B (zh) 编码器切换、解码器切换、屏幕分享方法和屏幕分享系统
CN113573101A (zh) 视频编码方法、装置、设备及存储介质
CN111970565A (zh) 视频数据处理方法、装置、电子设备及存储介质
US20220078414A1 (en) Method and system of bit rate control
CA3182110A1 (en) Reinforcement learning based rate control
WO2023142716A1 (zh) 编码方法、实时通信方法、装置、设备及存储介质
CN114422792B (zh) 视频图像压缩方法、装置、设备及存储介质
CN107493478B (zh) 编码帧率设置方法及设备
CN117459733B (zh) 视频编码方法、装置、设备、可读存储介质及程序产品
CN118138776A (zh) 一种视频编码方法、装置、设备和存储介质
US20080267284A1 (en) Moving picture compression apparatus and method of controlling operation of same
CN117834944A (zh) 自适应视频语义通信的方法、装置、电子设备及存储介质
US20070110168A1 (en) Method for generating high quality, low delay video streaming
CN111405293B (zh) 一种视频传输方法及装置
CN106254873B (zh) 一种视频编码方法及视频编码装置
CN111901631A (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