CN117061827B - 图像帧处理方法、装置、设备及存储介质 - Google Patents

图像帧处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117061827B
CN117061827B CN202311039708.3A CN202311039708A CN117061827B CN 117061827 B CN117061827 B CN 117061827B CN 202311039708 A CN202311039708 A CN 202311039708A CN 117061827 B CN117061827 B CN 117061827B
Authority
CN
China
Prior art keywords
frame
image frame
jitter
parameter
target image
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
CN202311039708.3A
Other languages
English (en)
Other versions
CN117061827A (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.)
Guangzhou Kaidelian Software Technology Co ltd
Original Assignee
Guangzhou Kaidelian Software 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 Guangzhou Kaidelian Software Technology Co ltd filed Critical Guangzhou Kaidelian Software Technology Co ltd
Priority to CN202311039708.3A priority Critical patent/CN117061827B/zh
Publication of CN117061827A publication Critical patent/CN117061827A/zh
Application granted granted Critical
Publication of CN117061827B publication Critical patent/CN117061827B/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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

Landscapes

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

Abstract

本发明公开了一种图像帧处理方法、装置、设备及存储介质。该方法包括:获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数,其中,视频解码模块用于对码流数据解码后输出图像帧,第一时间窗口的时间长度大于第二时间窗口的时间长度;根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔,其中,抖动缓存区用于缓存视频解码模块输出的图像帧。该处理方法性能损耗小,处理复杂度较低,容错性较高,并且,提高了平滑发送的性能,进一步减少视频画面的卡顿,提高了用户体验。

Description

图像帧处理方法、装置、设备及存储介质
技术领域
本发明涉及视频处理技术领域,尤其涉及一种图像帧处理方法、装置、设备及存储介质。
背景技术
在视频业务中,为了保证向用户显示的画面流畅不卡顿,需要进行图像帧的平滑发送。平滑发送是防抖的主要动作,将原来两个帧间间隔过大或过小的图像帧,平滑成相同的帧间间隔。
目前,主要通过在视频播放设备的视频解码(Video decode,简称:VDEC)模块前设置抖动缓存区(jitter buffer)来实现防抖。主要过程为:将从网络流入的码流数据拷贝一份到j itter buffer中,视频播放设备的VDEC模块从jitter buffer读取码流数据并解码为图像帧后发送至下一模块。Jitter buffer的核心思想是以增大延迟为代价来换取视频业务的流畅性。当网络不稳定时,即,抖动发生时,增加buffer的长度,多缓存一些数据,以应对将来可能发生的抖动;当网络稳定下来时,减少buffer的长度,少缓存一些数据,降低视频的端到端延迟,提高实时性。
但是,上述过程中,一方面,需要进行码流数据的内存拷贝,性能损耗较大。另一方面,j itter buffer的工作过程中还需要考虑到码流数据对应的帧类型,码流数据对应的帧类型不同,则jitter buffer的缓存方式也会不同,这导致jitter buffer实现的复杂度较高,容错性降低。
发明内容
本发明提供了一种图像帧处理方法、装置、设备及存储介质,以解决目前的图像帧处理方法性能损耗大以及容错性低的技术问题。
根据本发明的一方面,提供了一种图像帧处理方法,包括:
获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数;其中,所述视频解码模块用于对码流数据解码后输出图像帧,所述第一时间窗口的时间长度大于所述第二时间窗口的时间长度;
根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔;其中,所述抖动缓存区用于缓存所述视频解码模块输出的图像帧。
根据本发明的另一方面,提供了一种图像帧处理装置,包括:
第一获取模块,用于获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数;其中,所述视频解码模块用于对码流数据解码后输出图像帧,所述第一时间窗口的时间长度大于所述第二时间窗口的时间长度;
第一确定模块,用于根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔;其中,所述抖动缓存区用于缓存所述视频解码模块输出的图像帧。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
与所述至少一个处理器通信连接的视频解码模块;
与所述至少一个处理器以及所述视频解码模块均通信连接的抖动缓存区;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的图像帧处理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的图像帧处理方法。
本发明实施例的技术方案,一方面,将jitter buffer设置在视频解码模块之后,jitter buffer中缓存的是视频解码模块输出的图像帧,不需要进行内存拷贝,而只需要在jitter buffer中拷贝图像帧的地址,以实现在jitter buffer中缓存视频解码模块输出的图像帧。由于图像帧的地址比码流数据本身的数据量小,因此,本实施例中的图像帧处理过程降低了性能损耗。另一方面,在VDEC解码后进行抖动缓存区的缓存,不需要根据图像帧的类型进行不同的缓存,处理复杂度较低,容错性提高。再一方面,由于获取到的是不同时间窗口内视频解码模块输出的图像帧的第一抖动参数以及第二抖动参数,并且,基于第一抖动参数以及第二抖动参数,确定目标图像帧的送帧间隔。因此,本实施例中可以考虑到图像帧在不同时间长度的时间窗口内的抖动情况,进而确定目标图像帧的送帧间隔,可以实现一种阶梯平滑,提高了图像帧处理的性能,即,提高平滑发送的性能,进一步减少视频画面的卡顿,提高用户体验。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例提供的图像帧处理方法的一种应用场景的示意图;
图1B为本发明实施例提供的图像帧处理方法的另一种应用场景的示意图;
图2为相关技术中处理图像帧的示意图;
图3为本发明一实施例提供的图像帧处理方法的流程示意图;
图4为本发明实施例提供的图像帧处理方法中图像帧处理设备的示意图;
图5为本发明实施例提供的图像帧处理方法中当前第一时间窗口以及当前第二时间窗口的示意图;
图6为本发明另一实施例提供的图像帧处理方法的流程示意图;
图7为本发明又一实施例提供的图像帧处理方法的流程示意图;
图8为本发明一实施例提供的图像帧处理装置的结构示意图;
图9是实现本发明实施例的图像帧处理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1A为本发明实施例提供的图像帧处理方法的一种应用场景的示意图。如图1A所示,本实施例提供的图像帧处理方法可以应用于视频播放设备21中。视频播放设备21从视频输入设备22中获取码流数据,并对码流数据解码形成图像帧,对图像帧处理后进行显示。
图1B为本发明实施例提供的图像帧处理方法的另一种应用场景的示意图。如图1B所示,本实施例提供的图像帧处理方法可以应用于录播主机23中。录播主机23从摄像机24中获取码流数据。摄像机24的数量可以为多个。录播主机23从多个摄像机24拍摄的码流数据中选择一路码流数据,对码流数据解码形成图像帧,对图像帧处理后进行显示。这里的录播主机23例如可以为教育录播行业中的录播主机。
在上述应用场景中,可能由于视频输入设备22与视频播放设备21之间的网络传输过程,或者,摄像机24与录播主机23之间的网络传输过程,出现大量随机的抖动,导致显示的图像帧出现卡顿等不流畅现象。
图2为相关技术中处理图像帧的示意图。如图2所示,目前的视频播放设备内包括依次连接的jitter buffer、VDEC模块以及视频处理子***(Video Process Sub-System,简称:VPSS)。将从网络流入的码流数据拷贝一份到jitter buffer中。VDEC模块用于将从jitter buffer中得到的码流数据解码为红绿蓝(Red Green Blue,简称:RGB)或者明亮度色度浓度(Luminance chrominance,简称:YUV)图像帧。VPSS可以对j itter buffer中的图像帧进行统一预处理,之后,进行视频输出(Video Out,简称:VO)。Jitter buffer的核心思想是以增大延迟为代价来换取视频业务的流畅性。当网络不稳定时,即,抖动发生时,增加buffer的长度,多缓存一些数据,以应对将来可能发生的抖动;当网络稳定下来时,减少buffer的长度,少缓存一些数据,降低视频的端到端延迟,提高实时性。
但是,这种方式中,一方面,需要在j itter buffer中进行码流数据的内存拷贝,性能损耗较大。本实施例中的内存拷贝指的是需要拷贝码流数据本身。由于码流数据的数据量较大,因此,内存拷贝的性能损耗较大。另一方面,j itter buffer的工作过程中还需要考虑到码流数据对应的帧类型,码流数据对应的帧类型不同,则j itter buffer的缓存方式也会不同。例如,对于序列参数集(Sequence Parameter Set,简称:SPS)、图像参数集合(Picture Paramater Set,简称:PPS)以及即时解码刷新(Instantaneous DecodingRefresh,简称:IDR)这三种帧类型,不需要平滑发送,它们三种帧需要合并成一个帧一起发送。但对于前向预测编码帧(predictive-frame,简称:P帧)或者双向预测内插编码帧(bi-directional interpolated prediction frame,简称:B帧),就需要平滑发送。因此,SPS、PPS以及IDR对应的码流数据,与P帧和B帧对应的码流数据在j itter buffer中的缓存方式不同。这导致jitter buffer实现的复杂度较高,容错性降低。
本发明实施例提供一种图像帧处理方法,以解决相关技术中的问题,降低图像帧处理过程中的性能损耗,并且,降低复杂度以提高容错性。
图3为本发明一实施例提供的图像帧处理方法的流程示意图。本实施例可适用于视频播放设备中进行视频播放的情况,该方法可以由图像帧处理装置来执行。该图像帧处理装置可以采用硬件和/或软件的形式实现,该图像帧处理装置可配置于电子设备中,例如,视频播放设备中。如图3所示,该方法包括如下步骤。
步骤301:获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数。
其中,视频解码模块用于对码流数据解码后输出图像帧,第一时间窗口的时间长度大于第二时间窗口的时间长度。
图4为本发明实施例提供的图像帧处理方法中图像帧处理设备的示意图。如图4所示,本实施例的图像帧处理设备中,VDEC、jitter buffer以及VPSS依次连接。VPSS对图像帧进行预处理后,进行VO。
本实施例中的视频解码模块为支持流式解码的解码模块。流式解码,指可以对不是完整一个帧的码流数据进行解码的方式。一般解码器必须要求全部输入数据块都是一帧完整的网络抽象层单元(Network Abstraction Layer Unit,简称:NALU)类型。但如果一个视频的图像帧比较大会分成多个实时传输协议(Real-time Transport Protocol,简称:RTP)包传输。本实施例中的视频解码模块可以支持对输入的RTP包中码流数据的解码。
视频解码模块对码流数据解码后输出图像帧。这里的码流数据可以是网络输出的码流数据。示例性地,本实施例中的码流数据可以为联合图像专家组(Joint PhotographicExperts Group,简称:JPEG)、264或者265等压缩码流。本实施例中视频解码模块对码流数据解码后输出图像帧可以为YUV帧或者RGB帧等。
本实施例中,视频解码模块输出的图像帧存储在抖动缓存区中。图4与图2的区别在于,j itter buffer的位置不同。本实施例中,将jitter buffer设置在视频解码模块之后,缓存的是视频解码模块输出的图像帧。因此,本实施例提供的图像帧处理方法中,一方面,不需要进行内存拷贝,而只需要在jitter buffer中拷贝图像帧的地址,以实现在抖动缓存区中缓存视频解码模块输出的图像帧。由于图像帧的地址比码流数据本身的数据量小,因此,本实施例中的图像帧处理过程降低了性能损耗。另一方面,在VDEC解码后进行抖动缓存区的缓存,不需要根据图像帧的类型进行不同的缓存,处理复杂度较低,容错性提高。因为视频解码模块输出的图像帧是统一的图像格式,并不存在264/265等压缩码流有IPB等帧类型,更加没有多分片(slice)的情况,也就是一个I帧分成多个Nalu包的情况。所以处理过程非常简单。
在步骤301中,获取到了视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数。
进一步地,为了降低图像帧的时延,在步骤301中,视频解码模块可以以最大解码能力对码流数据进行解码。
本实施例中的视频解码模块可以以硬件的方式实现。
本实施例中的第一时间窗口以及第二时间窗口为具有不同时间长度的窗口。第一时间窗口的时间长度大于第二时间窗口的时间长度。
本实施例中的当前第一时间窗口指的是距离当前时刻最近的第一时间窗口,当前第二时间窗口指的是距离当前时刻最近的第二时间窗口。
图5为本发明实施例提供的图像帧处理方法中当前第一时间窗口以及当前第二时间窗口的示意图。如图5所示,假设当前时刻为t,当前第一时间窗口的时间长度为t1,当前第二时间窗口的时间长度为t2。t1大于t2。可以理解,当前第一时间窗口与当前第二时间窗口的结束时刻并不一定相同。图5中以当前第一时间窗口与当前第二时间窗口的结束时刻均为t时刻进行示例说明。
示例性地,t1可以为15秒,t2可以为1秒。
本实施例中的第一抖动参数用于指示当前第一时间窗口内视频解码模块输出的图像帧的抖动相关参数。第二抖动参数用于指示当前第二时间窗口内视频解码模块输出的图像帧的抖动相关参数。
一种实现方式中,本实施例中的抖动参数可以为时间窗口内的平均帧率。本实施例中的平均帧率指的是单位时间内视频解码模块输出的图像帧的个数。
另一种实现方式中,本实施例中的抖动参数可以为时间窗口内的抖动峰值。抖动峰值用于指示时间窗口内相邻两个图像帧之间最大的时间间隔。
再一种实现方式中,本实施例中的抖动参数可以包括时间窗口内的平均帧率以及时间窗口内的抖动峰值。
上述时间窗口均指的是当前第一时间窗口以及当前第二时间窗口。
可选地,为了进一步提高步骤301的执行效率,步骤301可以通过以下方式实现:开启读取线程,从视频解码模块中获取对码流数据解码后形成的图像帧,将图像帧存储至抖动缓存区中,并获取第一抖动参数以及第二抖动参数。
步骤302:根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
其中,抖动缓存区用于缓存视频解码模块输出的图像帧。
本实施例中,当前待发送的目标图像帧的送帧间隔指的是发送目标图像帧的上一图像帧与发送目标图像帧之间的时间间隔。
本实施例中,由于获取到的是不同时间窗口内视频解码模块输出的图像帧的第一抖动参数以及第二抖动参数,并且,基于第一抖动参数以及第二抖动参数,确定目标图像帧的送帧间隔。因此,本实施例中可以考虑到图像帧在不同时间长度的时间窗口内的抖动情况,进而确定目标图像帧的送帧间隔,可以实现一种阶梯平滑,提高了图像帧处理的性能,即,提高平滑发送的性能,进一步减少视频画面的卡顿,提高用户体验。
可选地,为了进一步提高步骤302的执行效率,步骤301可以通过以下方式实现:开启写入线程,根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
一种实现方式中,抖动参数包括时间窗口内的平均帧率。步骤302的实现过程为:确定第二抖动参数中的第二平均帧率相对于第一抖动参数中的第一平均帧率的变化量是否大于预设变化量阈值;当确定第二平均帧率相对于第一平均帧率的变化量大于预设变化量阈值时,根据第二抖动参数,确定抖动缓存区中目标图像帧的送帧间隔;当确定第二平均帧率相对于第一平均帧率的变化量小于或者等于预设变化量阈值时,根据第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔。
在该实现方式中,一种场景中,由于当前第二时间窗口的时间长度较短,当确定第二平均帧率相对于第一平均帧率的变化量大于预设变化量阈值时,说明此时抖动突然增大,因此,需要根据第二抖动参数,确定抖动缓存区中目标图像帧的送帧间隔。以更快容纳更大的抖动峰值,提高平滑效果。
另一种场景中,当确定第二平均帧率相对于第一平均帧率的变化量小于或者等于预设变化量阈值时,说明抖动比较平稳,因此,为了提高平滑效果,可以根据较长的时间窗口内的第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔。因此第一抖动参数较为客观和准确,因此,在该场景中,根据第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔的平滑性能较好。另外,在该场景中,根据第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔还可以实现图像帧的低延迟。
示例性地,预设变化量阈值可以为20%。
可选地,进一步地,抖动参数还包括时间窗口内的抖动峰值。其中,抖动峰值用于指示时间窗口内相邻两个图像帧之间最大的时间间隔。
可选地,根据第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔,包括:将第一抖动参数中的第一平均帧率以及第一抖动峰值相乘再进行预设处理后的值,确定为抖动缓存区中应存储的图像帧的数量;若抖动缓存区中已存储的图像帧的数量大于应存储的图像帧的数量,则将历史送帧间隔减小预设第一数值后的值,确定为目标图像帧的送帧间隔;若抖动缓存区中已存储的图像帧的数量小于或者等于应存储的图像帧的数量,则将历史送帧间隔增加预设第二数值后的值,确定为目标图像帧的送帧间隔。
可选地,根据第二抖动参数,确定抖动缓存区中目标图像帧的送帧间隔,包括:将第二抖动参数中的第二平均帧率以及第二抖动峰值相乘再进行预设处理后的值,确定为抖动缓存区中应存储的图像帧的数量;若抖动缓存区中已存储的图像帧的数量大于应存储的图像帧的数量,则将历史送帧间隔减小预设第一数值后的值,确定为目标图像帧的送帧间隔;若抖动缓存区中已存储的图像帧的数量小于或者等于应存储的图像帧的数量,则将历史送帧间隔增加预设第二数值后的值,确定为目标图像帧的送帧间隔。
示例性地,预设处理可以为四则运算中的任意一种,例如,将第二抖动参数中的第二平均帧率以及第二抖动峰值相乘再乘以1后的值,确定为抖动缓存区中应存储的图像帧的数量。
抖动缓存区中已存储的图像帧的数量大于应存储的图像帧的数量,说明可以减小送帧间隔以降低延迟,因此,可以将历史送帧间隔减小预设第一数值后的值,确定为目标图像帧的送帧间隔。抖动缓存区中已存储的图像帧的数量小于或者等于应存储的图像帧的数量,说明抖动缓存区中存储的图像帧的数量较少,因此,需要增加送帧间隔,以增加抖动缓存区的缓存长度。
需要说明的是,将第一抖动参数中的第一平均帧率以及第一抖动峰值相乘,也可以表述为第一抖动参数中的第一抖动峰值与第一帧间长度相除。其中,第一帧间长度与第一平均帧率互为倒数,即,第一帧间长度=第一平均帧率的倒数。相对应地,将第二抖动参数中的第二平均帧率以及第二抖动峰值相乘,也可以表述为第二抖动参数中的第二抖动峰值与第二帧间长度相除。
历史送帧间隔可以为目标图像帧的上一帧的送帧间隔,也可以为目标图像帧之前的多个图像帧的送帧间隔的统计参数,例如,平均值、最大值、中位数等。
上述实现方式可以有效兼容低延迟以及抖动突然增大的两种场景需求,采用阶梯平滑以及快升慢降的策略,用于缓慢降低延迟以及采用抖动上升迅速拉大jitter buffer空间,更快容纳更大的抖动峰值,进一步提升平滑性能。
本实施例提供的图像帧处理方法中,一方面,将j itter buffer设置在视频解码模块之后,jitter buffer中缓存的是视频解码模块输出的图像帧,不需要进行内存拷贝,而只需要在j itter buffer中拷贝图像帧的地址,以实现在j itter buffer中缓存视频解码模块输出的图像帧。由于图像帧的地址比码流数据本身的数据量小,因此,本实施例中的图像帧处理过程降低了性能损耗。另一方面,在VDEC解码后进行抖动缓存区的缓存,不需要根据图像帧的类型进行不同的缓存,处理复杂度较低,容错性提高。再一方面,由于获取到的是不同时间窗口内视频解码模块输出的图像帧的第一抖动参数以及第二抖动参数,并且,基于第一抖动参数以及第二抖动参数,确定目标图像帧的送帧间隔。因此,本实施例中可以考虑到图像帧在不同时间长度的时间窗口内的抖动情况,进而确定目标图像帧的送帧间隔,可以实现一种阶梯平滑,提高了图像帧处理的性能,即,提高平滑发送的性能,进一步减少视频画面的卡顿,提高用户体验。
图6为本发明另一实施例提供的图像帧处理方法的流程示意图。本实施例在图3所示实施例及各种可选的实现方式的基础上,对步骤302之后的步骤作一详细说明。如图6所示,本实施例提供的图像帧处理方法包括如下步骤。
步骤601:获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数。
其中,视频解码模块用于对码流数据解码后输出图像帧,第一时间窗口的时间长度大于第二时间窗口的时间长度。
步骤602:根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
其中,抖动缓存区用于缓存视频解码模块输出的图像帧。
步骤601与步骤301、步骤602与步骤302的实现过程和技术原理类似,此处不再赘述。
步骤603:在目标图像帧的送帧间隔之后,从抖动缓存区中获取目标图像帧,并向VPSS发送目标图像帧。
本实施例中的VPSS支持对输入的目标图像帧进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。
在本实施例中,在确定出目标图像帧的送帧间隔之后,在等待目标图像帧的送帧间隔之后,从抖动缓存区中获取目标图像帧,并向VPSS发送目标图像帧,实现过程简单,效率较高,进一步降低了性能损耗。
图7为本发明又一实施例提供的图像帧处理方法的流程示意图。本实施例在图3所示实施例及各种可选的实现方式的基础上,对步骤302之前以及之后的步骤作一详细说明。如图7所示,本实施例提供的图像帧处理方法包括如下步骤。
步骤701:获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数。
其中,视频解码模块用于对码流数据解码后输出图像帧,第一时间窗口的时间长度大于第二时间窗口的时间长度。
步骤702:从抖动缓存区中获取目标图像帧。
本实施例中,步骤702与步骤701之间没有时序关系。
步骤703:根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
其中,抖动缓存区用于缓存视频解码模块输出的图像帧。
本实施例中,步骤701与步骤301、步骤703与步骤302的实现过程和技术原理类似,此处不再赘述。
步骤704:根据送帧间隔以及从抖动缓存区中获取目标图像帧的时间戳,确定目标图像帧的送帧等待时间。
可选地,步骤704的一种可能的实现方式为:根据从抖动缓存区中获取目标图像帧的时间戳以及确定出送帧间隔的时刻,确定目标图像帧的已等待时间;将送帧间隔与已等待时间的差值,确定为目标图像帧的送帧等待时间。
步骤705:在目标图像帧的送帧等待时间之后,向VPSS发送目标图像帧。
在本实施例中,在还未确定出目标图像帧的送帧间隔前,就从抖动缓存区中获取目标图像帧。在确定出目标图像帧的送帧间隔之后,根据送帧间隔以及从抖动缓存区中获取目标图像帧的时间戳,确定目标图像帧的送帧等待时间。之后,在目标图像帧的送帧等待时间之后,向VPSS发送目标图像帧。与图6所示实施例相比,本实施例中,可以避免在目标图像帧的送帧间隔之后,再获取目标图像帧时,获取目标图像帧这个过程所带来的延迟。因此,本实施例提供的图像帧处理方法可以进一步降低图像帧的延迟。
图8为本发明一实施例提供的图像帧处理装置的结构示意图。如图8所示,本实施例提供的图像帧处理装置包括如下模块:第一获取模块81以及第一确定模块82。
第一获取模块81,用于获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数。
其中,视频解码模块用于对码流数据解码后输出图像帧,第一时间窗口的时间长度大于第二时间窗口的时间长度。
第一确定模块82,用于根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
其中,抖动缓存区用于缓存视频解码模块输出的图像帧。
一实施例中,该装置还包括发送模块,用于在目标图像帧的送帧间隔之后,从抖动缓存区中获取目标图像帧,并向VPSS发送目标图像帧。
一实施例中,该装置还包括第二获取模块以及第二发送模块。第二获取模块,用于从抖动缓存区中获取目标图像帧。第二发送模块,用于:根据送帧间隔以及从抖动缓存区中获取目标图像帧的时间戳,确定目标图像帧的送帧等待时间;在目标图像帧的送帧等待时间之后,向VPSS发送目标图像帧。
可选地,在根据送帧间隔以及从抖动缓存区中获取目标图像帧的时间戳,确定目标图像帧的送帧等待时间的方面,第二发送模块用于:根据从抖动缓存区中获取目标图像帧的时间戳以及确定出送帧间隔的时刻,确定目标图像帧的已等待时间;将送帧间隔与已等待时间的差值,确定为目标图像帧的送帧等待时间。
一实施例中,抖动参数包括时间窗口内的平均帧率。第一确定模块82用于:确定第二抖动参数中的第二平均帧率相对于第一抖动参数中的第一平均帧率的变化量是否大于预设变化量阈值;当确定第二平均帧率相对于第一平均帧率的变化量大于预设变化量阈值时,根据第二抖动参数,确定抖动缓存区中目标图像帧的送帧间隔;当确定第二平均帧率相对于第一平均帧率的变化量小于或者等于预设变化量阈值时,根据第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔。
一实施例中,抖动参数还包括时间窗口内的抖动峰值。其中,抖动峰值用于指示时间窗口内相邻两个图像帧之间最大的时间间隔。在根据第一抖动参数,确定抖动缓存区中目标图像帧的送帧间隔的方面,第一确定模块82用于:将第一抖动参数中的第一平均帧率以及第一抖动峰值相乘再进行预设处理后的值,确定为抖动缓存区中应存储的图像帧的数量;若抖动缓存区中已存储的图像帧的数量大于应存储的图像帧的数量,则将历史送帧间隔减小预设第一数值后的值,确定为目标图像帧的送帧间隔;若抖动缓存区中已存储的图像帧的数量小于或者等于应存储的图像帧的数量,则将历史送帧间隔增加预设第二数值后的值,确定为目标图像帧的送帧间隔。
一实施例中,第一获取模块81用于:开启读取线程,从视频解码模块中获取对码流数据解码后形成的图像帧,将图像帧存储至抖动缓存区中,并获取第一抖动参数以及第二抖动参数。
一实施例中,第一确定模块82用于:开启写入线程,根据第一抖动参数以及第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
本发明实施例所提供的图像帧处理装置可执行本发明任意实施例所提供的图像帧处理方法,具备执行方法相应的功能模块和有益效果。
图9是实现本发明实施例的图像帧处理方法的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图9所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。该电子设备还包括与所述至少一个处理器通信连接的视频解码模块,以及,与所述至少一个处理器以及所述视频解码模块均通信连接的抖动缓存区。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如图像帧处理方法。
在一些实施例中,图像帧处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的图像帧处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像帧处理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (9)

1.一种图像帧处理方法,其特征在于,包括:
获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数;其中,所述视频解码模块用于对码流数据解码后输出图像帧,所述第一时间窗口的时间长度大于所述第二时间窗口的时间长度;
根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔;其中,所述抖动缓存区用于缓存所述视频解码模块输出的图像帧;
所述抖动参数包括时间窗口内的平均帧率,所述根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔,包括:确定所述第二抖动参数中的第二平均帧率相对于所述第一抖动参数中的第一平均帧率的变化量是否大于预设变化量阈值;当确定所述第二平均帧率相对于所述第一平均帧率的变化量大于所述预设变化量阈值时,根据所述第二抖动参数,确定所述抖动缓存区中所述目标图像帧的送帧间隔;当确定所述第二平均帧率相对于所述第一平均帧率的变化量小于或者等于所述预设变化量阈值时,根据所述第一抖动参数,确定所述抖动缓存区中所述目标图像帧的送帧间隔。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标图像帧的送帧间隔之后,从所述抖动缓存区中获取所述目标图像帧,并向视频处理子***VPSS发送所述目标图像帧。
3.根据权利要求1所述的方法,其特征在于,在确定抖动缓存区中当前待发送的目标图像帧的送帧间隔之前,所述方法还包括:
从所述抖动缓存区中获取所述目标图像帧;
在确定抖动缓存区中当前待发送的目标图像帧的送帧间隔之后,所述方法还包括:
根据所述送帧间隔以及从所述抖动缓存区中获取所述目标图像帧的时间戳,确定所述目标图像帧的送帧等待时间;
在所述目标图像帧的送帧等待时间之后,向VPSS发送所述目标图像帧。
4.根据权利要求3所述的方法,其特征在于,所述根据所述送帧间隔以及从所述抖动缓存区中获取所述目标图像帧的时间戳,确定所述目标图像帧的送帧等待时间,包括:
根据从所述抖动缓存区中获取所述目标图像帧的时间戳以及确定出所述送帧间隔的时刻,确定所述目标图像帧的已等待时间;
将所述送帧间隔与所述已等待时间的差值,确定为所述目标图像帧的送帧等待时间。
5.根据权利要求1所述的方法,其特征在于,所述抖动参数还包括时间窗口内的抖动峰值;其中,所述抖动峰值用于指示所述时间窗口内相邻两个图像帧之间最大的时间间隔;
所述根据所述第一抖动参数,确定所述抖动缓存区中所述目标图像帧的送帧间隔,包括:
将所述第一抖动参数中的第一平均帧率以及第一抖动峰值相乘再进行预设处理后的值,确定为所述抖动缓存区中应存储的图像帧的数量;
若所述抖动缓存区中已存储的图像帧的数量大于所述应存储的图像帧的数量,则将历史送帧间隔减小预设第一数值后的值,确定为所述目标图像帧的送帧间隔;
若所述抖动缓存区中已存储的图像帧的数量小于或者等于所述应存储的图像帧的数量,则将历史送帧间隔增加预设第二数值后的值,确定为所述目标图像帧的送帧间隔。
6.根据权利要求1所述的方法,其特征在于,所述获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数,包括:
开启读取线程,从所述视频解码模块中获取对所述码流数据解码后形成的图像帧,将所述图像帧存储至所述抖动缓存区中,并获取所述第一抖动参数以及所述第二抖动参数;
所述根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔,包括:
开启写入线程,根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔。
7.一种图像帧处理装置,其特征在于,包括:
第一获取模块,用于获取视频解码模块在当前第一时间窗口内输出的图像帧的第一抖动参数以及在当前第二时间窗口输出的图像帧的第二抖动参数;其中,所述视频解码模块用于对码流数据解码后输出图像帧,所述第一时间窗口的时间长度大于所述第二时间窗口的时间长度;
第一确定模块,用于根据所述第一抖动参数以及所述第二抖动参数,确定抖动缓存区中当前待发送的目标图像帧的送帧间隔;其中,所述抖动缓存区用于缓存所述视频解码模块输出的图像帧;
所述抖动参数包括时间窗口内的平均帧率,所述第一确定模块用于:确定所述第二抖动参数中的第二平均帧率相对于所述第一抖动参数中的第一平均帧率的变化量是否大于预设变化量阈值;当确定所述第二平均帧率相对于所述第一平均帧率的变化量大于所述预设变化量阈值时,根据所述第二抖动参数,确定所述抖动缓存区中所述目标图像帧的送帧间隔;当确定所述第二平均帧率相对于所述第一平均帧率的变化量小于或者等于所述预设变化量阈值时,根据所述第一抖动参数,确定所述抖动缓存区中所述目标图像帧的送帧间隔。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
与所述至少一个处理器通信连接的视频解码模块;
与所述至少一个处理器以及所述视频解码模块均通信连接的抖动缓存区;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的图像帧处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的图像帧处理方法。
CN202311039708.3A 2023-08-17 2023-08-17 图像帧处理方法、装置、设备及存储介质 Active CN117061827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311039708.3A CN117061827B (zh) 2023-08-17 2023-08-17 图像帧处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311039708.3A CN117061827B (zh) 2023-08-17 2023-08-17 图像帧处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117061827A CN117061827A (zh) 2023-11-14
CN117061827B true CN117061827B (zh) 2024-06-14

Family

ID=88665888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311039708.3A Active CN117061827B (zh) 2023-08-17 2023-08-17 图像帧处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117061827B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60126513T2 (de) * 2001-04-24 2007-11-15 Nokia Corp. Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
KR100754736B1 (ko) * 2006-02-10 2007-09-03 삼성전자주식회사 영상 수신 시스템에서 영상 프레임의 재생 방법 및 그 장치
WO2012154156A1 (en) * 2011-05-06 2012-11-15 Google Inc. Apparatus and method for rendering video using post-decoding buffer
EP2989632A1 (en) * 2013-04-25 2016-03-02 Nokia Solutions and Networks Oy Speech transcoding in packet networks
CN105554019B (zh) * 2016-01-08 2018-07-24 全时云商务服务股份有限公司 一种音频去抖动***和方法
US20230300090A1 (en) * 2020-07-20 2023-09-21 Google Llc Adaptive resizing of audio jitter buffer based on current network conditions
CN115001632A (zh) * 2022-06-09 2022-09-02 咪咕文化科技有限公司 一种信息传输方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN117061827A (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
US10659847B2 (en) Frame dropping method for video frame and video sending apparatus
US10498786B2 (en) Method and apparatus for adaptively providing multiple bit rate streaming media in server
CN109104610B (zh) 实时屏幕共享
WO2017219896A1 (zh) 视频流的传输方法及装置
CN110784740A (zh) 视频处理方法、装置、服务器及可读存储介质
US10819994B2 (en) Image encoding and decoding methods and devices thereof
EP2123043A2 (en) Fast channel change on a bandwidth constrained network
CN113068001B (zh) 基于级联摄像机的数据处理方法、装置、设备和介质
CN110582012B (zh) 视频切换方法、视频处理方法、装置及存储介质
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
WO2023226915A1 (zh) 视频传输方法、***、设备及存储介质
WO2021052500A1 (zh) 视频图像的传输方法、发送设备、视频通话方法和设备
CN103596037B (zh) 一种实时视频流缓冲的控制方法
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
CN114422799B (zh) 视频文件的解码方法、装置、电子设备、程序产品
CN117061827B (zh) 图像帧处理方法、装置、设备及存储介质
CN110912922B (zh) 一种图像传输方法、装置、电子设备及存储介质
CN113490055A (zh) 数据处理方法和装置
CN115767149A (zh) 一种视频数据的传输方法和装置
CN115834884A (zh) 用于控制视频流的传输的方法和装置
CN113824985B (zh) 直播拉流方法、装置、设备、存储介质及计算机程序产品
CN112929667A (zh) 一种编解码方法、装置、设备及可读存储介质
JP2018514133A (ja) データ処理方法および装置
WO2024000463A1 (zh) 处理视频的方法、装置和计算机可读存储介质
CN117097904A (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