CN114390320B - 数据编码码率自适应调节方法、装置、设备和存储介质 - Google Patents

数据编码码率自适应调节方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114390320B
CN114390320B CN202210165470.8A CN202210165470A CN114390320B CN 114390320 B CN114390320 B CN 114390320B CN 202210165470 A CN202210165470 A CN 202210165470A CN 114390320 B CN114390320 B CN 114390320B
Authority
CN
China
Prior art keywords
code rate
gear
switching
state
condition
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
CN202210165470.8A
Other languages
English (en)
Other versions
CN114390320A (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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202210165470.8A priority Critical patent/CN114390320B/zh
Publication of CN114390320A publication Critical patent/CN114390320A/zh
Priority to PCT/CN2023/075654 priority patent/WO2023155747A1/zh
Application granted granted Critical
Publication of CN114390320B publication Critical patent/CN114390320B/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Control Of Transmission Device (AREA)

Abstract

本申请实施例公开了一种数据编码码率自适应调节方法、装置、设备和存储介质,该方法包括:在数据发送过程中,确定是否满足码率档位的预切换条件;响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送。本方案提供的数据编码码率的调整方式,灵活性更强,为用户提供更优的音视频服务体验。

Description

数据编码码率自适应调节方法、装置、设备和存储介质
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种数据编码码率自适应调节方法、装置、设备和存储介质。
背景技术
随着流媒体技术的发展以及智能终端设备的普及,各类基于实时音视频的数据传输场景,正成为人与人之间重要的交流方式。虽然如今4G、5G网络飞速发展,网络状况得到大幅改善,但对于实时音视频的传输而言,网络随机产生的丢包或延迟所触发的拥塞控制机制,严重影响了用户的实时性的服务体验。
相关技术中,通过丢包情况和链路时延对链路是否拥塞进行判断,再基于判断结果进行码率的相应调整。如数据发送端在接收到RTCP(Real-time Control Protocol,实时传输控制协议)报文,或是接收到携带数据接收端预估码率的REMB(Receiver EstimatedMax Bitrate,接收端预估最大码率)报文时,数据发送端执行对应的码率控制算法,计算出最终的数据编码码率,之后通过编码器按照该确定出的码率值进行编码进而达到改变数据编码码率的目的。然而,该种方式灵活性较差,对预估码率值的准确性依赖较高。除此之外,对于不同的网络场景尤其是随机丢包等场景下会出现误判拥塞情况,使得计算得到的目标码率合理性差。
发明内容
本申请实施例提供了一种数据编码码率自适应调节方法、装置、设备和存储介质,解决了相关技术中确定数据编码码率准确度差的问题,可以有效的实现对数据编码码率的合理调整。
第一方面,本申请实施例提供了一种数据编码码率自适应调节方法,该方法包括:
在数据发送过程中,确定是否满足码率档位的预切换条件;
响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;
根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送。
第二方面,本申请实施例还提供了一种数据编码码率自适应调节装置,包括:
档位预切换模块,配置为在数据发送过程中,确定是否满足码率档位的预切换条件;
档位状态切换模块,配置为响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;
档位切换模块,配置为根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换;
码率切换模块,配置为基于切换后的码率档位对应的码率进行数据的编码发送。
第三方面,本申请实施例还提供了一种数据编码码率自适应调节设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的数据编码码率自适应调节方法。
第四方面,本申请实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请实施例所述的数据编码码率自适应调节方法。
本申请实施例中,在数据发送过程中,确定是否满足码率档位的预切换条件,响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态,再根据预切换状态对应的码率调整策略,确定预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送,可以更好的适应网络环境的变化,为用户提供更优的音视频服务体验。
附图说明
图1为本申请实施例提供的一种数据编码码率自适应调节方法的流程图;
图2为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图;
图3为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图;
图4为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图;
图5为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图;
图6为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图;
图7为本申请实施例提供的一种数据编码码率自适应调节装置的结构框图;
图8为本申请实施例提供的一种数据编码码率自适应调节设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例提供的一种数据编码码率自适应调节方法的流程图,可用于数据传输过程中,数据发送端对发送数据的码率进行控制的场景,该方法可以由计算设备如服务器、智能终端、笔记本、平板电脑等来执行,具体包括如下步骤:
步骤S101、在数据发送过程中,确定是否满足码率档位的预切换条件。
在一个实施例中,设置有多个不同的码率档位,其中不同的码率档位对应不同的码率值,在不同的码率档位设置下,数据编码码率不同。示例性的,如由高到低设置多个码率档位,高码率档位对应的码率值大于低码率档位对应的码率值。可通过对不同码率档位的切换以改变数据编码码率,进而实现码率档位的自适应调节。
在一个实施例中,在数据发送过程中,实时或每隔预设时长进行是否满足码率档位的预切换条件的判断。或者可以由设置的触发条件触发是否满足码率档位的预切换条件的判断。该预切换条件为设置的是否可进行码率档位的预切换的条件。其中,针对设置有多个码率档位的情况,该预切换的条件包括预升档条件和预降档条件。其中,满足预升档条件表征可以对当前的码率档位进行预升档,满足预降档条件表征可以对当前的码率档位进行预降档。如果不满足码率档位的预切换条件,则继续保持当前的码率档位对应的码率值进行数据的编码发送。
步骤S102、响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态。
在一个实施例中,当确定出满足预切换条件时,相应的将将当前的码率档位状态调整为预切换状态,其中,当前的码率档位状态可以是设置的码率稳态。可选的,以预切换条件包括预升档条件和预降档条件为例,对应的预切换状态包括码率升档态和码率降档态。即,响应于满足预升档条件的判断结果,将当前的码率档位状态调整为码率升档态;响应于满足预降档条件的判断结果,将当前的码率档位状态调整为码率降档态。
在一个实施例中,设置有三种码率档位状态,分别为码率稳态、码率升档态和码率降档态。其中,码率稳态为数据发送过程中不进行码率调整时,按照确定出的码率值进行平稳的数据编码发送的状态,码率升档态为确定出的需要进行调高数据编码码率时的状态,码率降档态为确定出的需要进行调低数据编码码率时的状态。其中,针对不同的预切换状态执行不同的处理逻辑以实现码率的自适应调整。
步骤S103、根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送。
在一个实施例中,不同的预切换状态对应的码率调整策略。以预切换状态包括码率升档态和码率降档态为例,码率升档态对应具体的进行码率档位是否升档的码率调整策略;码率降档态对应具体的进行码率档位是否降档的码率调整策略。通过不同的码率调整策略以确定处于不同的预切换状态下,是否进行最终的档位切换。
针对预切换状态为码率升档态而言,基于对应的码率调整策略确定该码率升档态下是否满足升档条件,如果满足升档条件,则对码率档位进行升档处理,并基于升档后的码率档位对应的码率进行数据的编码发送;针对预切换状态为码率降档态而言,基于对应的码率调整策略确定该码率降档态下是否满足降档条件,如果满足降档条件,则对码率档位进行降档处理,并基于降档后的码率档位对应的码率进行数据的编码发送。
由上述方案可知,在数据发送过程中,确定是否满足码率档位的预切换条件,响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态,再根据预切换状态对应的码率调整策略,确定预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送,可以更好的适应网络环境的变化,为用户提供更优的音视频服务体验。
图2为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图,给出了一种具体的码率档位的预切换条件的判断过程,如图2所示,包括:
步骤S201、在数据发送过程中,获取网络拥塞信息,如果根据所述网络拥塞信息确定出网络在预设间隔时间未出现拥塞状态,则判定满足码率档位的预升档条件。
在一个实施例中,根据获取到的网络拥塞信息确定是否满足预升档条件。可选的,该网络拥塞信息可以是数据发送端根据接收到的数据反馈信息确定,也可以是获取带宽探测模块计算生成的网络拥塞信息,示例性的,带宽探测模块每隔20毫秒生成一次网络拥塞信息,该网络拥塞信息用于指示网络是否拥塞的状态,如标识为1表示处于拥塞,标识为0表示不拥塞。
在一个实施例中,确定满足预升档条件具体为:如果根据网络拥塞信息确定出网络在预设间隔时间未出现拥塞状态,示例性的,该预设间隔时间可以是5秒,即在5秒内未出现过网络拥塞情况,则判定满足预升档条件。
步骤S202、响应于满足所述预升档条件的判断结果,将当前的码率档位状态调整为码率升档态。
步骤S203、根据所述码率升档态对应的码率调整策略,确定所述码率升档态是否满足升档条件,响应于满足所述升档条件的判断结果,对所述码率档位进行升档处理,并基于升档后的码率档位对应的码率进行数据的编码发送。
在一个实施例中,满足升档条件至少包括:在数据发送过程中,麦克风处于非静音状态,同时当前的码率档位不为最高档位,且距离上一次进行码率降档的时间间隔大于设置的间隔阈值。其中,在数据发送过程中,可实时或者在确定是否满足升档条件时,获取当前的麦克风状态,处于非静音状态作为满足升档条件之一;同时,当前的码率档位未最高档位则判定不满足升档条件,不进行升档;当距离上一次进行码率降档的时间间隔若大于设置的间隔阈值,则也判定其不满足升档条件。可选的,该间隔阈值随着最终升档成功与否进行动态调整,如果升档失败,则该间隔阈值相应增加,如增加2秒,直到升档成功后,该间隔阈值恢复至初始设置值,或者在累加到最大间隔阈值时,不再增加。
由上述可知,在数据发送过程中,根据网络拥塞情况适时的进行码率档位的提升以增加数据编码码率,在网络状况良好的情况下,可以提供更高清晰度和音质的数据,提升了用户的服务使用体验。
图3为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图,给出了另一种具体的码率档位的预切换条件的判断过程,如图3所示,包括:
步骤S301、在数据发送过程中,获取网络拥塞信息,如果根据所述网络拥塞信息确定出网络处于拥塞状态,则判定满足码率档位的预降档条件。
在一个实施例中,根据获取到的网络拥塞信息确定是否满足预降档条件。可选的,该网络拥塞信息可以是数据发送端根据接收到的数据反馈信息确定,也可以是获取带宽探测模块计算生成的网络拥塞信息,示例性的,带宽探测模块每隔20毫秒生成一次网络拥塞信息,该网络拥塞信息用于指示网络是否拥塞的状态,如标识为1表示处于拥塞,标识为0表示不处于拥塞。
在一个实施例中,确定满足预降档条件具体为:如果根据网络拥塞信息确定出网络处于拥塞状态,则判定满足码率档位的预降档条件,进而进行码率档位状态调整,以用于后续降低数据编码码率。
步骤S302、响应于满足所述预降档条件的判断结果,将当前的码率档位状态调整为码率降档态。
步骤S303、根据所述码率降档态对应的码率调整策略,确定所述码率降档态是否满足降档条件,响应于满足所述降档条件的判断结果,对所述码率档位进行降档处理,并基于降档后的码率档位对应的码率进行数据的编码发送。
在一个实施例中,满足降档条件包括:在数据发送过程中,麦克风处于非静音状态,同时当前的码率档位不为最低档位,且距离上一次进行码率降档的时间间隔大于设置的基础间隔阈值。其中,如果麦克风处于静音状态,或者码率档位为最低档位,或者距离上一次进行码率降档的时间间隔不大于设置的基础间隔阈值,则判定不满足降档条件。该基础间隔阈值示例性的设置为5秒或10秒。
由上述可知,在数据发送过程中,根据网络拥塞情况适时的进行码率档位的降低以减少数据编码码率,在网络状况较差的情况下,可以提供较为流畅的音视频体验。
图4为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图,给出了一种具体的基于升档后的码率档位对应的码率进行数据的编码发送的方法,如图4所示,具体包括:
步骤S401、在数据发送过程中,确定是否满足码率档位的预升档条件。
步骤S402、响应于满足所述预升档条件的判断结果,将当前的码率档位状态调整为码率升档态。
步骤S403、根据所述码率升档态对应的码率调整策略,确定所述码率升档态是否满足升档条件。
步骤S404、响应于满足所述升档条件的判断结果,在拥塞间隔阈值内,添加填充包进行发送,以满足基于升档后的码率档位对应的码率进行数据的编码发送。
在一个实施例中,在进行升档处理时,在拥塞间隔阈值内,通过添加填充包进行发送的方式以提升数据编码码率。该填充包可以是已经发送过的原始包或者进行重传过的重传包。该拥塞间隔阈值示例性的可以是5秒或10秒,其可根据具体测试情况进行预置。
步骤S405、如果在所述拥塞间隔阈值内未检测到网络处于拥塞状态,则通过设置编码器的档位值使得基于升档后的码率档位对应的码率进行数据的编码发送。
在一个实施例中,通过添加填充包进行发送的方式以提升数据编码码率,在塞间隔阈值内未检测到网络处于拥塞状态,则相应的通过设置编码器的档位值,以提高编码器的编码码率,使得基于升档后的码率档位对应的码率进行数据的编码发送。此时,相应的停止示例性的添加填充包。以音频场景为例,可设置16k码率为标准码率,在数据发送过程中可以以该标准码率作为初始码率进行数据的编码发送。每上升一档码率档位,其对应的码率值相应提升,具体的,提升的码率值可根据具体的码率档位数量设定。当码率档位较多时,其提升的码率值相对较小,如4K或8K等,当码率档位较少时,其提升的码率值相对较大,如16K或32K等。
由上述可知,在数据编码码率自适应调节过程中,当确定出需要进行升档处理时,首先在拥塞间隔阈值内,添加填充包进行发送,以满足基于升档后的码率档位对应的码率进行数据的编码发送,如果在塞间隔阈值内未检测到网络处于拥塞状态,则通过设置编码器的档位值使得基于升档后的码率档位对应的码率进行数据的编码发送,避免了直接调整编码码率不能及时的提升实际发送码率,由此带来的相对较慢的档位反馈的问题,通过添加填充包配合码率档位的上探,以扩充发送流量到达目标流量,从而更快的获取现实网络对于该流量的拥塞反馈状况。
图5为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图,给出了一种具体的基于降档后的码率档位对应的码率进行数据的编码发送的方法,如图5所示,具体包括:
步骤S501、在数据发送过程中,确定是否满足码率档位的预降档条件。
步骤S502、响应于满足所述预降档条件的判断结果,将当前的码率档位状态调整为码率降档态。
步骤S503、根据所述码率降档态对应的码率调整策略,确定所述码率降档态是否满足降档条件。
步骤S504、响应于满足所述降档条件的判断结果,确定降档后的码率档位对应的码率值,根据所述码率值、设置的标准码率值以及获取的预估码率值确定目标码率值。
在一个实施例中,设置有多个不同的码率档位,不同的码率档位对应不同的码率值。当确定降档后的,获取该降档档位的码率值,根据该码率值、设置的标准码率值以及获取的预估码率值确定目标码率值。其中,该设置的标准码率值以音频场景为例,可以是16K。其中,获取的预估码率值可以是带宽探测模块预测的编码器应该设置的码率值。
具体的,根据码率值、设置的标准码率值以及获取的预估码率值确定目标码率值的过程可以是:如果码率值小于设置的标准码率值,则将降档后的码率档位对应的码率值确定为目标码率值;如果码率值大于或等于设置的标准码率值,且获取的预估码率值小于标准码率值,则将标准码率值确定为目标码率值;如果码率值和获取到的预估码率值均大于或等于设置的标准码率值,则将预估码率值最接近的降档档位对应的码率值确定为目标码率值。
步骤S505、通过设置编码器的档位值为所述目标码率值进行数据的编码发送。
由上述可知,在数据编码码率自适应调节过程中,当确定出需要进行降档处理时,确定降档后的码率档位对应的码率值,根据码率值、设置的标准码率值以及获取的预估码率值确定目标码率值,通过设置编码器的档位值为目标码率值进行数据的编码发送,可以更加合理的确定降档后使用的码率值,调整效果更佳。
图6为本申请实施例提供的另一种数据编码码率自适应调节方法的流程图,给出了一种具体的进行数据编码码率自适应调节方法的流程,如图6所示,具体包括:
步骤S601、在数据发送过程中,根据确定出的数据编码码率进行数据的编码发送。
其中,该确定出的数据编码码率可以是初始设置的编码码率,当对其进行码率升档处理或码率降档处理后,为调整后的数据编码码率。
步骤S602、获取网络拥塞信息,根据网络拥塞信息确定是否出现网络拥塞状态,响应于出现网络拥塞状态的判断结果,执行步骤S603,响应于未出现网络拥塞状态的判断结果,执行步骤S604。
步骤S603、将当前的码率档位状态调整为码率降档态,执行步骤S606。
步骤S604、判断是否在预设间隔时间未出现拥塞状态,响应于在预设间隔时间未出现拥塞状态的判断结果,执行步骤S605,响应于在预设间隔时间出现拥塞状态的判断结果,执行步骤S601。
步骤S605、将当前的码率档位状态调整为码率升档态,执行步骤S608。
步骤S606、根据码率降档态对应的码率调整策略,确定码率降档态是否满足降档条件,响应于满足降档条件的判断结果,执行步骤S607,响应于不满足降档条件的判断结果,执行步骤S601。
步骤S607、确定降档后的码率档位对应的码率值,根据码率值、设置的标准码率值以及获取的预估码率值确定目标码率值,通过设置编码器的档位值为目标码率值进行数据的编码发送,并继续执行步骤S601。
步骤S608、根据码率升档态对应的码率调整策略,确定码率升档态是否满足升档条件,响应于满足升档条件的判断结果,执行步骤S609,响应于不满足升档条件的判断结果,执行步骤S601。
步骤S609、在拥塞间隔阈值内,添加填充包进行发送,以满足基于升档后的码率档位对应的码率进行数据的编码发送。
步骤S610、确定在拥塞间隔阈值内是否检测到网络处于拥塞状态,响应于检测到网络处于拥塞状态的判断结果,执行步骤S601,响应于未检测到网络处于拥塞状态判断结果,执行步骤S611。
步骤S611、通过设置编码器的档位值使得基于升档后的码率档位对应的码率进行数据的编码发送,并继续执行步骤S601。
由上述方案可知,在数据发送过程中,根据网络拥塞情况自适应的进行码率调节,码率调节方式更佳高效、合理,可以更好的适应网络环境的变化,为用户提供更优的音视频服务体验。
图7为本申请实施例提供的一种数据编码码率自适应调节装置的结构框图,该装置用于执行上述实施例提供的数据编码码率自适应调节方法,具备执行方法相应的功能模块和有益效果。如图7所示,该装置具体包括:档位预切换模块101、档位状态切换模块102、档位切换模块103和码率切换模块104,其中,
档位预切换模块101,配置为在数据发送过程中,确定是否满足码率档位的预切换条件;
档位状态切换模块102,配置为响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;
档位切换模块103,配置为根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换;
码率切换模块104,配置为基于切换后的码率档位对应的码率进行数据的编码发送。
由上述方案可知,在数据发送过程中,确定是否满足码率档位的预切换条件,响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态,再根据预切换状态对应的码率调整策略,确定预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送,可以更好的适应网络环境的变化,为用户提供更优的音视频服务体验。
在一个可能的实施例中,所述档位预切换模块101具体被配置为:
确定是否满足码率档位的预升档条件;
所述档位状态切换模块102具体被配置为:
响应于满足所述预升档条件的判断结果,将当前的码率档位状态调整为码率升档态。
在一个可能的实施例中,所述档位预切换模块101具体被配置为:
获取网络拥塞信息,如果根据所述网络拥塞信息确定出网络在预设间隔时间未出现拥塞状态,则判定满足码率档位的预升档条件。
在一个可能的实施例中,所述档位切换模块103被具体配置为:
根据所述码率升档态对应的码率调整策略,确定所述码率升档态是否满足升档条件,响应于满足所述升档条件的判断结果,对所述码率档位进行升档处理;
所述码率切换模块104被具体配置为:
基于升档后的码率档位对应的码率进行数据的编码发送。
在一个可能的实施例中,所述满足升档条件包括:
在数据发送过程中,麦克风处于非静音状态;和,
当前的码率档位不为最高档位;和,
距离上一次进行码率降档的时间间隔大于设置的间隔阈值。
在一个可能的实施例中,所述码率切换模块104被具体配置为:
在拥塞间隔阈值内,添加填充包进行发送,以满足基于升档后的码率档位对应的码率进行数据的编码发送;
如果在所述拥塞间隔阈值内未检测到网络处于拥塞状态,则通过设置编码器的档位值使得基于升档后的码率档位对应的码率进行数据的编码发送。
在一个可能的实施例中,所述档位预切换模块101被具体配置为:
确定是否满足码率档位的预降档条件;
所述档位状态切换模块102被具体配置为:
响应于满足所述预降档条件的判断结果,将当前的码率档位状态调整为码率降档态。
在一个可能的实施例中,所述档位预切换模块101被具体配置为:
获取网络拥塞信息,如果根据所述网络拥塞信息确定出网络处于拥塞状态,则判定满足码率档位的预降档条件。
在一个可能的实施例中,所述档位切换模块103被具体配置为:
根据所述码率降档态对应的码率调整策略,确定所述码率降档态是否满足降档条件,响应于满足所述降档条件的判断结果,对所述码率档位进行降档处理;
所述码率切换模块104被具体配置为:
基于降档后的码率档位对应的码率进行数据的编码发送。
在一个可能的实施例中,所述满足降档条件包括:
在数据发送过程中,麦克风处于非静音状态;和,
当前的码率档位不为最低档位;和,
距离上一次进行码率降档的时间间隔大于设置的基础间隔阈值。
在一个可能的实施例中,所述码率切换模块104被具体配置为:
确定降档后的码率档位对应的码率值;
根据所述码率值、设置的标准码率值以及获取的预估码率值确定目标码率值;
通过设置编码器的档位值为所述目标码率值进行数据的编码发送。
在一个可能的实施例中,所述码率切换模块104被具体配置为:
如果所述码率值小于设置的标准码率值,则将降档后的码率档位对应的码率值确定为目标码率值;
如果所述码率值大于或等于设置的标准码率值,且获取的预估码率值小于所述标准码率值,则将所述标准码率值确定为目标码率值;
如果所述码率值和获取到的预估码率值均大于或等于设置的标准码率值,则将所述预估码率值最接近的降档档位对应的码率值确定为目标码率值。
图8为本申请实施例提供的一种数据编码码率自适应调节设备的结构示意图,如图8所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图8中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图8中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的数据编码码率自适应调节方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据编码码率自适应调节方法。输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种上述实施例描述的数据编码码率自适应调节方法,具体包括:
在数据发送过程中,确定是否满足码率档位的预切换条件;
响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;
根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送。
值得注意的是,上述数据编码码率自适应调节装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。

Claims (14)

1.数据编码码率自适应调节方法,其特征在于,包括:
在数据发送过程中,确定是否满足码率档位的预切换条件;
响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;
根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送,其中,所述切换后的码率档位对应的码率的确定方式包括:如果确定降档后的码率档位对应的码率值和获取到的预估码率值均大于或等于设置的标准码率值,则将所述预估码率值最接近的降档档位对应的码率值确定为目标码率值,所述预估码率值包括带宽探测模块预测的编码器设置的码率值。
2.根据权利要求1所述的数据编码码率自适应调节方法,其特征在于,所述确定是否满足码率档位的预切换条件,包括:
确定是否满足码率档位的预升档条件;
所述响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态,包括:
响应于满足所述预升档条件的判断结果,将当前的码率档位状态调整为码率升档态。
3.根据权利要求2所述的数据编码码率自适应调节方法,其特征在于,所述确定是否满足码率档位的预升档条件,包括:
获取网络拥塞信息,如果根据所述网络拥塞信息确定出网络在预设间隔时间未出现拥塞状态,则判定满足码率档位的预升档条件。
4.根据权利要求2所述的数据编码码率自适应调节方法,其特征在于,所述根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送,包括:
根据所述码率升档态对应的码率调整策略,确定所述码率升档态是否满足升档条件,响应于满足所述升档条件的判断结果,对所述码率档位进行升档处理,并基于升档后的码率档位对应的码率进行数据的编码发送。
5.根据权利要求4所述的数据编码码率自适应调节方法,其特征在于,所述满足升档条件包括:
在数据发送过程中,麦克风处于非静音状态;和,
当前的码率档位不为最高档位;和,
距离上一次进行码率降档的时间间隔大于设置的间隔阈值。
6.根据权利要求4所述的数据编码码率自适应调节方法,其特征在于,所述对所述码率档位进行升档处理,并基于升档后的码率档位对应的码率进行数据的编码发送,包括:
在拥塞间隔阈值内,添加填充包进行发送,以满足基于升档后的码率档位对应的码率进行数据的编码发送;
如果在所述拥塞间隔阈值内未检测到网络处于拥塞状态,则通过设置编码器的档位值使得基于升档后的码率档位对应的码率进行数据的编码发送。
7.根据权利要求1所述的数据编码码率自适应调节方法,其特征在于,所述确定是否满足码率档位的预切换条件,包括:
确定是否满足码率档位的预降档条件;
所述响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态,包括:
响应于满足所述预降档条件的判断结果,将当前的码率档位状态调整为码率降档态。
8.根据权利要求7所述的数据编码码率自适应调节方法,其特征在于,所述确定是否满足码率档位的预降档条件,包括:
获取网络拥塞信息,如果根据所述网络拥塞信息确定出网络处于拥塞状态,则判定满足码率档位的预降档条件。
9.根据权利要求7所述的数据编码码率自适应调节方法,其特征在于,所述根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换,并基于切换后的码率档位对应的码率进行数据的编码发送,包括:
根据所述码率降档态对应的码率调整策略,确定所述码率降档态是否满足降档条件,响应于满足所述降档条件的判断结果,对所述码率档位进行降档处理,并基于降档后的码率档位对应的码率进行数据的编码发送。
10.根据权利要求9所述的数据编码码率自适应调节方法,其特征在于,所述满足降档条件包括:
在数据发送过程中,麦克风处于非静音状态;和,
当前的码率档位不为最低档位;和,
距离上一次进行码率降档的时间间隔大于设置的基础间隔阈值。
11.根据权利要求9所述的数据编码码率自适应调节方法,其特征在于,所述基于降档后的码率档位对应的码率进行数据的编码发送,包括:
确定降档后的码率档位对应的码率值;
如果所述码率值小于设置的标准码率值,则将降档后的码率档位对应的码率值确定为目标码率值,如果所述码率值大于或等于设置的标准码率值,且获取的预估码率值小于所述标准码率值,则将所述标准码率值确定为目标码率值;
通过设置编码器的档位值为所述目标码率值进行数据的编码发送。
12.数据编码码率自适应调节装置,其特征在于,包括:
档位预切换模块,配置为在数据发送过程中,确定是否满足码率档位的预切换条件;
档位状态切换模块,配置为响应于满足所述预切换条件的判断结果,将当前的码率档位状态调整为预切换状态;
档位切换模块,配置为根据所述预切换状态对应的码率调整策略,确定所述预切换状态是否满足切换条件,响应于满足切换条件的判断结果,对所述码率档位进行切换;
码率切换模块,配置为基于切换后的码率档位对应的码率进行数据的编码发送,所述切换后的码率档位对应的码率的确定方式包括:如果确定降档后的码率档位对应的码率值和获取到的预估码率值均大于或等于设置的标准码率值,则将所述预估码率值最接近的降档档位对应的码率值确定为目标码率值,所述预估码率值包括带宽探测模块预测的编码器设置的码率值。
13.一种数据编码码率自适应调节设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一项所述的数据编码码率自适应调节方法。
14.一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-11中任一项所述的数据编码码率自适应调节方法。
CN202210165470.8A 2022-02-18 2022-02-18 数据编码码率自适应调节方法、装置、设备和存储介质 Active CN114390320B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210165470.8A CN114390320B (zh) 2022-02-18 2022-02-18 数据编码码率自适应调节方法、装置、设备和存储介质
PCT/CN2023/075654 WO2023155747A1 (zh) 2022-02-18 2023-02-13 数据编码码率自适应调节方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210165470.8A CN114390320B (zh) 2022-02-18 2022-02-18 数据编码码率自适应调节方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN114390320A CN114390320A (zh) 2022-04-22
CN114390320B true CN114390320B (zh) 2024-02-13

Family

ID=81206373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210165470.8A Active CN114390320B (zh) 2022-02-18 2022-02-18 数据编码码率自适应调节方法、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN114390320B (zh)
WO (1) WO2023155747A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390320B (zh) * 2022-02-18 2024-02-13 百果园技术(新加坡)有限公司 数据编码码率自适应调节方法、装置、设备和存储介质

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339728A (ja) * 2000-05-29 2001-12-07 Matsushita Graphic Communication Systems Inc 画像符号化方法および符号化装置
WO2012159587A1 (zh) * 2011-05-25 2012-11-29 华为技术有限公司 流媒体的处理方法、分发服务器、客户端及***
CN104580985A (zh) * 2015-01-30 2015-04-29 深圳市云之讯网络技术有限公司 视频码率自适应方法及***
CN105451075A (zh) * 2014-08-27 2016-03-30 北京大学 视频质量控制方法和装置
WO2016050145A1 (zh) * 2014-09-30 2016-04-07 阿里巴巴集团控股有限公司 编码参数调整方法及装置
WO2018058711A1 (zh) * 2016-09-30 2018-04-05 邦彦技术股份有限公司 一种带宽自适应控制***及方法
WO2018058700A1 (zh) * 2016-09-30 2018-04-05 邦彦技术股份有限公司 一种编码器及控制方法
CN108833930A (zh) * 2018-06-20 2018-11-16 广州华多网络科技有限公司 直播数据传输控制方法、装置、直播设备及存储介质
CN109981225A (zh) * 2019-04-12 2019-07-05 广州视源电子科技股份有限公司 一种码率预估方法、装置、设备及存储介质
CN110611789A (zh) * 2018-06-14 2019-12-24 杭州海康威视数字技术股份有限公司 视频流传输控制方法、装置、电子设备及存储介质
WO2020015678A1 (zh) * 2018-07-19 2020-01-23 北京达佳互联信息技术有限公司 媒体码率自适应方法、装置、计算机设备及存储介质
CN111193673A (zh) * 2020-04-10 2020-05-22 亮风台(上海)信息科技有限公司 数据传输速率控制方法、***和用户设备
CN111669627A (zh) * 2020-06-30 2020-09-15 广州市百果园信息技术有限公司 一种视频码率的确定方法、装置、服务器和存储介质
CN111836079A (zh) * 2019-04-18 2020-10-27 杭州海康威视数字技术股份有限公司 一种视频码流的传输方法及装置
CN112822521A (zh) * 2020-12-30 2021-05-18 百果园技术(新加坡)有限公司 音视频传输的码率控制方法、装置、设备及存储介质
CN113301392A (zh) * 2021-05-26 2021-08-24 百果园技术(新加坡)有限公司 码率确定方法、装置、设备及存储介质
CN113450808A (zh) * 2021-06-28 2021-09-28 杭州朗和科技有限公司 音频码率确定方法、装置、存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10602139B2 (en) * 2017-12-27 2020-03-24 Omnivision Technologies, Inc. Embedded multimedia systems with adaptive rate control for power efficient video streaming
CN108989880B (zh) * 2018-06-21 2020-04-14 北京邮电大学 一种码率自适应切换方法及***
CN109600610B (zh) * 2018-11-12 2020-10-23 深圳市景阳科技股份有限公司 一种数据编码方法、终端及计算机可读存储介质
US11133831B2 (en) * 2019-10-29 2021-09-28 Seagate Technology Llc Code rate adaptation
CN114390320B (zh) * 2022-02-18 2024-02-13 百果园技术(新加坡)有限公司 数据编码码率自适应调节方法、装置、设备和存储介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339728A (ja) * 2000-05-29 2001-12-07 Matsushita Graphic Communication Systems Inc 画像符号化方法および符号化装置
WO2012159587A1 (zh) * 2011-05-25 2012-11-29 华为技术有限公司 流媒体的处理方法、分发服务器、客户端及***
CN105451075A (zh) * 2014-08-27 2016-03-30 北京大学 视频质量控制方法和装置
WO2016050145A1 (zh) * 2014-09-30 2016-04-07 阿里巴巴集团控股有限公司 编码参数调整方法及装置
CN105530449A (zh) * 2014-09-30 2016-04-27 阿里巴巴集团控股有限公司 编码参数调整方法及装置
CN104580985A (zh) * 2015-01-30 2015-04-29 深圳市云之讯网络技术有限公司 视频码率自适应方法及***
WO2018058711A1 (zh) * 2016-09-30 2018-04-05 邦彦技术股份有限公司 一种带宽自适应控制***及方法
WO2018058700A1 (zh) * 2016-09-30 2018-04-05 邦彦技术股份有限公司 一种编码器及控制方法
CN110611789A (zh) * 2018-06-14 2019-12-24 杭州海康威视数字技术股份有限公司 视频流传输控制方法、装置、电子设备及存储介质
CN108833930A (zh) * 2018-06-20 2018-11-16 广州华多网络科技有限公司 直播数据传输控制方法、装置、直播设备及存储介质
WO2020015678A1 (zh) * 2018-07-19 2020-01-23 北京达佳互联信息技术有限公司 媒体码率自适应方法、装置、计算机设备及存储介质
CN109981225A (zh) * 2019-04-12 2019-07-05 广州视源电子科技股份有限公司 一种码率预估方法、装置、设备及存储介质
CN111836079A (zh) * 2019-04-18 2020-10-27 杭州海康威视数字技术股份有限公司 一种视频码流的传输方法及装置
CN111193673A (zh) * 2020-04-10 2020-05-22 亮风台(上海)信息科技有限公司 数据传输速率控制方法、***和用户设备
CN111669627A (zh) * 2020-06-30 2020-09-15 广州市百果园信息技术有限公司 一种视频码率的确定方法、装置、服务器和存储介质
CN112822521A (zh) * 2020-12-30 2021-05-18 百果园技术(新加坡)有限公司 音视频传输的码率控制方法、装置、设备及存储介质
CN113301392A (zh) * 2021-05-26 2021-08-24 百果园技术(新加坡)有限公司 码率确定方法、装置、设备及存储介质
CN113450808A (zh) * 2021-06-28 2021-09-28 杭州朗和科技有限公司 音频码率确定方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于状态机的视频码率自适应算法;黄胜;胡凌炜;付园鹏;;计算机应用(07);全文 *

Also Published As

Publication number Publication date
CN114390320A (zh) 2022-04-22
WO2023155747A1 (zh) 2023-08-24

Similar Documents

Publication Publication Date Title
US11349900B2 (en) Voice encoding and sending method and apparatus
EP1580938B1 (en) Communication control device, communication terminal device, server device, and communication control method
US9137530B2 (en) Video communication method and system for dynamically modifying video encoding
KR100556861B1 (ko) 휴대 단말기 영상 통화 중 선택적 영상 전송 방법
CN105430532A (zh) 一种视频数据传输自适应调整的控制方法及其***
CN103051982B (zh) 一种视频流传输控制方法以及视频流传输控制装置
CN109600610B (zh) 一种数据编码方法、终端及计算机可读存储介质
KR20060128595A (ko) 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
CN102238068B (zh) 一种报文的传输方法和***
CN104394484A (zh) 一种无线实时流媒体传输方法
US9277452B1 (en) Adaptive modulation and priority-based flow control in wireless communications
JP4320024B2 (ja) 誤り訂正パケットを用いた伝送率制御方法およびそれを用いた通信装置
CN111741249B (zh) 一种网络拥塞检测方法及装置
CN113301392B (zh) 码率确定方法、装置、设备及存储介质
CN114390320B (zh) 数据编码码率自适应调节方法、装置、设备和存储介质
CN112821992A (zh) 数据传输方法、装置、电子设备和存储介质
CN109495660B (zh) 一种音频数据的编码方法、装置、设备和存储介质
KR20060121938A (ko) 무선 VoIP의 코덱 지원 용량 확장
US20230337294A1 (en) Call method and apparatus
CN104333727A (zh) 音视频传输通道调控方法、装置和***
CN115037416A (zh) 数据前向纠错处理方法、装置、电子设备和存储介质
CN110535770B (zh) 一种SDN环境下基于QoS感知的视频流智能路由方法
CN113179428A (zh) 一种流媒体传输链路的优化方法、设备、***和存储介质
CN101552771B (zh) 媒体网关、媒体网关控制器、多媒体电话互通方法和***
KR20180126133A (ko) 복수의 이종 통신망을 통해 데이터를 선택적으로 이중 전송하는 방법 및 장치

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