CN104144312B - 一种视频处理方法和相关装置 - Google Patents
一种视频处理方法和相关装置 Download PDFInfo
- Publication number
- CN104144312B CN104144312B CN201310169074.3A CN201310169074A CN104144312B CN 104144312 B CN104144312 B CN 104144312B CN 201310169074 A CN201310169074 A CN 201310169074A CN 104144312 B CN104144312 B CN 104144312B
- Authority
- CN
- China
- Prior art keywords
- frame
- video image
- interval
- period
- stand
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
- H04L49/206—Real Time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例公开了一种视频处理方法和相关装置,保证用户视频通话的实时性。方法包括:从缓冲队列中提取出第i帧视频图像;计算第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从缓冲队列中提取出的视频图像;计算第i帧视频图像从放入缓冲队列到提取出缓冲队列的第i帧等待时间;根据第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间;根据第i帧动态平均等待时间、第i帧采集间隔和预置的等待时延获取第i帧播放间隔;判断从第(i-1)帧视频图像播放到当前时间的时长是否小于第i帧播发间隔;若否,在当前时间播放第i帧视频图像。
Description
技术领域
本发明涉及视频控制技术领域,尤其涉及一种视频处理方法和相关装置。
背景技术
目前随着网络技术的快速发展和手机终端的日益普及,越来越多的用户在手机终端上安装视频通话软件等应用程序,通过视频通话软件实现在通话时能够实时显示对方的视频图像。
作为接收端一侧的手机终端,通过网络能够接收到发送端发送的视频图像。接收端在接收到视频图像之后,通过可以按照以下两种方法进行播放:
(1)、接收端从网络接收到一帧视频图像就可以立刻播放该帧的视频图像。
(2)、接收端从网络接收到视频图像后并不立刻播放,而是预先对固定帧数的视频图像进行一次缓冲,然后将缓存中的视频图像按照采集间隔进行播放,例如每次预先对3个帧的视频图像进行缓冲,然后再按照采集间隔进行播放。
本发明的发明人在实现本发明的过程中发现:现有技术(1)和现有技术(2)分别存在如下技术缺陷:
对于现有技术(1),由于从网络接收到一帧视频图像后立刻播放该帧视频图像,当网络存在时延时,视频图像的播放就会产生抖动,随着网络时延的变化播放视频图像就会出现时快时慢,影响用户的视频通话体验。
对于现有技术(2),如果预先对固定帧数的视频图像进行缓冲,则由于无法及时准确的获知当前网络的拥堵情况,通常需要提前设定的固定帧数值很难精确的选取,故缓冲的帧数大小也无法精确匹配当前网络的时延状况。并且预先缓存固定帧数的视频再按照采集间隔来播放,会引入较大的累计时延,影响用户视频通话的实时性。
发明内容
本发明实施例提供了一种视频处理方法和相关装置,用于根据网络的时延状况动态调整当前帧视频图像的播放时间,保证用户视频通话的实时性。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种视频处理方法,包括:
从缓冲队列中提取出第i帧视频图像,其中,所述i为自然数;
计算所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,所述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从所述缓冲队列中提取出的视频图像;
计算所述第i帧视频图像从放入所述缓冲队列到提取出所述缓冲队列的第i帧等待时间;
根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间;
根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;
判断从所述第(i-1)帧视频图像播放到当前时间的时长是否小于所述第 i帧播发间隔;
若否,在所述当前时间播放所述第i帧视频图像。
第二方面,本发明实施例还提供一种视频处理装置,包括:
提取模块,用于从缓冲队列中提取出第i帧视频图像,其中,所述i为自然数;
采集间隔计算模块,用于计算所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,所述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从所述缓冲队列中提取出的视频图像;
第一时间计算模块,用于计算所述第i帧视频图像从放入所述缓冲队列到提取出所述缓冲队列的第i帧等待时间;
第二时间计算模块,用于根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间;
获取模块,用于根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;
判断模块,用于判断从所述第(i-1)帧视频图像播放到当前时间的时长是否小于所述第i帧播发间隔;
播放模块,用于当从所述第(i-1)帧视频图像播放到当前时间的时长大于或者等于所述第i帧播发间隔时,在所述当前时间播放所述第i帧视频图像。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,首先从缓冲队列中提出第i帧视频图像,然后计算第 i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,计算第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间,基于第i 帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,之后根据上述第i帧动态平均等待时间、上述第i帧采集间隔和预置的等待时延获取第i帧播放间隔,接下来判断从第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔,若否,在当前时间播放从缓冲队列中提取出的第i帧视频图像。由于本发明实施例中针对各个帧视频图像可以根据动态等待时间、采集间隔和预置的等待时延来设定各个帧的当前播发间隔,故可以根据动态等待时间获知当前网络的时延状况,通过对各个帧的当前播发间隔的设定可以自适应的确定当前帧视频图像的缓冲时间,从而使视频图像播放实现平滑显示,保证视频图像播放的稳定性;并且设定好播发间隔后,对从上一帧视频图像播放到当前时间的时长与设定的播发间隔进行判断,在上一帧视频图像播放到当前时间的时长大于或等于设定的播发间隔时,在当前时间就开始播放当前帧视频图像,可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频处理方法的流程方框示意图;
图2为本发明实施例提供的另一种视频处理方法的流程方框示意图;
图3为本发明实施例提供的另一种视频处理方法的流程方框示意图;
图4-a为本发明实施例提供的一种视频处理装置的组成结构示意图;
图4-b为本发明实施例提供的另一种视频处理装置的组成结构示意图;
图5为本发明实施例提供的视频处理方法应用于终端的组成结构示意图。
具体实施方式
本发明实施例提供了一种视频处理方法和相关装置,用于根据网络的时延状况动态调整当前帧视频图像的播放时间,保证用户视频通话的实时性。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、***、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下分别进行详细说明。
本发明视频图像处理方法的一个实施例,可以包括:从缓冲队列中提取出第i帧视频图像,其中,上述i为自然数;计算上述第i帧视频图像和第(i -1)帧视频图像之间的第i帧采集间隔,上述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从上述缓冲队列中提取出的视频图像;计算上述第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间;根据上述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i 帧动态平均等待时间;根据上述第i帧动态平均等待时间、上述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;判断从上述第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔;若否,在上述当前时间播放上述第i帧视频图像。
请参阅图1所示,本发明一个实施例提供的视频图像处理方法,可以包括:
101、从缓冲队列中提取出第i帧视频图像。
其中,上述i为自然数。
在本发明实施例中,缓冲队列用于存放接收端通过网络接收到的视频图像。在缓冲队列中可以仅存放一个帧的视频图像,也可以存放多个帧的视频图像,这取决于发送端采集到视频图像的采集间隔和网络的时延状况。另外,本发明实施例中从缓冲队列中提取出一个帧的视频图像,为了便于描述当前帧视频图像以及当前帧之前的视频图像,将从缓冲队列中提取出的当前帧的视频图像定义为第i帧视频图像,将当前帧之前的视频图像定义为第(i-1)帧视频图像,其中,i定义为自然数,i、i-1等仅用于表示当前帧以及当前帧之前的一个帧,当然也可以定义其它类型的变量来代替上述含义,例如用s、 t(s、t满足关系为:s=t+1)等也可以表示当前帧以及当前帧之前的一个帧。
在本发明的一些实施例中,从缓冲队列中提取出第i帧视频图像之前,缓冲队列中存放的视频图像可以通过如下方式实现:通过网络接收发送端发送的视频图像;每接收到一帧视频图像,就将接收到的视频图像放入上述缓冲队列中。也就是说,作为接收端通过网络每接收到发送端发送的一帧视频图像,就将该帧视频图像放入缓冲队列中。其中,一帧视频图像放入缓冲队列时都会生成一个放入时间,当该帧视频图像从缓冲队列中提取出时也会生成一个提取时间。另外,每个帧的视频图像从发送端发出时,发送端就会在视频图像的属性信息中指明采集时间戳,采集时间戳用于表示一个帧的视频图像生成的时间。
在本发明的一些实施例中,当上述缓冲队列中包括有多个帧的视频图像时,可以从上述多个帧的视频图像中选取最早放入上述缓冲队列中的视频图像;将上述最早放入上述缓冲队列中的视频图像作为上述第i帧视频图像从上述缓冲队列中提取出。其中,每个帧的视频图像放入缓冲队列时都会生成一个放入时间,通过放入时间就可以获知缓冲队列中存储的多个帧的视频图像中哪个帧的视频图像时最早放入缓冲队列中了。在本发明的一些实施例中,从缓冲队列中提取视频图像可以遵循“先进先出”的原则,即当从缓冲队列中提取视频图像时最先放入缓冲队列的视频图像需要优先被提取出。
需要说明的是,本发明实施例中通过步骤101以及后续的多个步骤描述的是从缓冲队列中提取到第i帧视频图像以及对第i帧视频图像的处理过程,最后实现第i帧视频图像的播放,这在本发明的视频图像处理过程中只是其中一个循环的实现方式,那么对于缓冲队列中的第(i-1)帧视频图像以及第(i -2)帧视频图像都是按照对第i帧视频图像的处理过程进行循环处理的,当然对于缓冲队列中的第(i+1)帧视频图像同样可以按照相类似的处理过程进行循环执行,为了便于理解,本发明实施例中仅以对第i帧视频图像的处理过程为例进行说明。
102、计算上述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔。
其中,上述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从上述缓冲队列中提取出的视频图像。
在本发明实施例中,第(i-1)帧视频图像是指在对第i帧视频图像进行视频图像处理之前的上一次视频图像处理过程中获取的视频图像,为了便于描述上一帧视频图像与当前帧视频图像之间的先后关系,定义为第(i-1)帧视频图像。
需要说明的是,现有技术中通过预先缓存固定帧数的视频再按照采集间隔来播放,当预先缓存的帧数越多时,会引入较大的累计时延,并且当网络的时延较大时,也会引入较大的累计时延,影响用户视频通话的实时性。而本发明实施例中计算采集间隔之后,并不是按照采集间隔直接对第i帧视频图像进行播放,而是将采集间隔作为设定第i帧播放间隔的生成条件,此处仅作说明。
103、计算上述第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间。
在本发明实施例中,一帧视频图像放入缓冲队列时都会生成一个放入时间,当该帧视频图像从缓冲队列中提取出时也会生成一个提取时间,故通过提取时间和放入时间之间的差值就可以得到该帧在缓冲队列中的等待时间了。通过第i帧等待时间可以得到第i帧视频图像在上述缓冲队列中的等待时间,从而可以当前网络的时延状况,因为若第i帧等待时间越小表示当前网络的时延也较小,若第i帧等待时间越大表示当前网络的时延也较大。
104、根据上述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i 帧动态平均等待时间。
在本发明实施例中,对于第i帧视频图像执行了步骤101至104可以计算出第i帧动态平均等待时间,这是对第i帧视频图像的处理过程,同样的,对第(i-1)帧视频图像也可以计算出第(i-1)帧动态平均等待时间,那么只需要在初始的时候赋值一个动态平均等待时间,就可以通过多次的迭代更新,计算出第(i-2)帧动态平均等待时间、第(i-3)帧动态平均等待时间等等。例如,当i取值1时需要初始化一个动态平均等待时间,则根据第1帧等待时间和初始的动态平均等待时间就可以计算出第1帧动态平均等待时间,当i 取值为2时,就可以根据第2帧等待时间和第1帧动态平均等待时间计算第2 帧动态平均等待时间。
本发明实施例中,通过第i帧等待时间和第(i-1)帧动态平均等待时间就可以初步的获取当前网络的时延发展趋势,从而计算出第i帧动态平均等待时间,通过第i帧动态平均等待时间就可以获知当前网络的时延状况。通过这种基于当前帧等待时间和当前帧之前的帧的动态平均等待时间可以描述出当前网络的时延发展趋势,将计算出的第i帧动态平均等待时间作为计算第i帧播发间隔的输入参数,可以使得第i帧播发间隔的设定更能够符合当前网络的时延状况。
105、根据上述第i帧动态平均等待时间、上述第i帧采集间隔和预置的等待时延获取第i帧播放间隔。
在发明的实施例中,预置的等待时延作为计算第i帧播放间隔的输入参数,用于表示用户能够容忍的等待时间门限以及作为接收端的移动设备的硬件性能对设定第i帧播放间隔的影响,在具体设定等待时延的值可以根据用户能够容忍的等待时间门限以及作为接收端的移动设备的硬件性能来设定,即若移动设备的硬件性能较好,就可以将等待时延的值设定的小一些,若用户能够容忍的等待时延门限较大,就可以将等待时延的值设定的大一些。
106、判断从上述第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔。
其中,从第(i-1)帧视频图像播放时开始计时直到当前时间,得到所经过的时间长度(即时长),判断该时长与第i帧播发间隔的大小关系,若从上述第(i-1)帧视频图像播放到当前时间的时长大于或者等于上述第i帧播发间隔,触发步骤107开始执行。
在本发明的一些实施例中,若从上述第(i-1)帧视频图像播放到当前时间的时长小于上述第i帧播发间隔,则说明第i帧视频图像的等待播放的时间还没有超过第i帧播发间隔,为了保证视频图像能够平滑显示,还可以继续等待,直到从上述第(i-1)帧视频图像播放开始、历经时长为上述第i帧播发间隔的时刻到达时,播放上述第i帧视频图像。
107、当从上述第(i-1)帧视频图像播放到当前时间的时长大于或者等于上述第i帧播发间隔时,在上述当前时间播放上述第i帧视频图像。
其中,当从上述第(i-1)帧视频图像播放到当前时间的时长大于或者等于上述第i帧播发间隔时,则说明,第i帧视频图像的等待播放的时间已经超过第i帧播发间隔了,需要立刻播放第i帧视频图像,故本发明实施例可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
需要说明的是,本发明实施例中通过前述步骤101至107描述了对缓冲队列中提取到第i帧视频图像的处理过程,当完成对第i帧视频图像的处理之后,继续触发步骤101至107开始执行,不同之处在于,从缓冲队列中提取的第(i+1)帧视频图像,也就是说需要对步骤101中107中出现的i进行迭代更新,替换为(i+1),并且对第(i+1)帧视频图像处理完成之后,继续读取第(i+2)帧视频图像,由此实现连续对视频图像的处理。
由上可知,首先从缓冲队列中提出第i帧视频图像,然后计算第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,计算第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间,基于第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,之后根据上述第i帧动态平均等待时间、上述第i帧采集间隔和预置的等待时延获取第i帧播放间隔,接下来判断从第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔,若否,在当前时间播放从缓冲队列中提取出的第i帧视频图像。由于本发明实施例中针对各个帧视频图像可以根据动态等待时间、采集间隔和预置的等待时延来设定各个帧的当前播发间隔,故可以根据动态等待时间获知当前网络的时延状况,通过对各个帧的当前播发间隔的设定可以自适应的确定当前帧视频图像的缓冲时间,从而使视频图像播放实现平滑显示,保证视频图像播放的稳定性;并且设定好播发间隔后,对从上一帧视频图像播放到当前时间的时长与设定的播发间隔进行判断,在上一帧视频图像播放到当前时间的时长大于或等于设定的播发间隔时,在当前时间就开始播放当前帧视频图像,可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
请参阅图2所示,本发明另一个实施例提供的视频图像处理方法,可以包括:
201、从缓冲队列中提取出第i帧视频图像。
其中,上述i为自然数。
在本发明实施例中,缓冲队列用于存放接收端通过网络接收到的视频图像。在缓冲队列中可以仅存放一个帧的视频图像,也可以存放多个帧的视频图像,这取决于发送端采集到视频图像的采集间隔和网络的时延状况。
202、从上述第i帧视频图像的属性信息中提取出发送端采集到上述第i 帧视频图像的采集时间戳。
203、根据上述第i帧图像的采集时间戳和第(i-1)帧视频图像的采集时间戳计算上述第i帧采集间隔。
其中,每个帧的视频图像从发送端发出时,发送端就会在视频图像的属性信息中指明采集时间戳,采集时间戳用于表示一个帧的视频图像生成的时间。通过第i帧视频图像和第(i-1)帧视频图像这两个帧的视频图像的采集时间戳做相减,就可以得到对第i帧视频图像的第i帧采集间隔。
204、计算上述第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间。
在本发明实施例中,一帧视频图像放入缓冲队列时都会生成一个放入时间,当该帧视频图像从缓冲队列中提取出时也会生成一个提取时间,故通过提取时间和放入时间之间的差值就可以得到该帧在缓冲队列中的等待时间了。
205、获取预置的等待时间调整因子α。
其中,上述α满足如下关系:0<α<1。
在本发明实施例中,预置的等待时间调整因子作为AVR_Wi-1的权重用于修正AVR_Wi的取值大小,等待时间调整因子可以根据当前帧之前的多个动态平均等待时间和多个帧的等待时间来设定,基于历史统计信息的方式设定等待时间调整因子可以避免多个帧中单个帧的时延过大时对整个动态平均等待时间的影响过大,可以保证***设计的均衡性。
206、通过如下方式计算第i帧动态平均等待时间:
AVR_Wi=α×AVR_Wi-1+(1-α)×Wi。
其中,上述AVR_Wi为上述第i帧动态平均等待时间,上述AVR_Wi-1为上述第(i-1)帧动态平均等待时间,上述Wi为上述第i帧等待时间。
207、判断上述第i帧动态平均等待时间是否大于上述预置的等待时延。
其中,若上述第i帧动态平均等待时间大于上述预置的等待时延,执行步骤208和步骤209,若上述第i帧动态平均等待时间小于或等于上述预置的等待时延,执行步骤210。
208、获取预置的播发间隔调整因子。
209、根据播发间隔调整因子和上述第i帧采集间隔计算上述第i帧播发间隔。
其中,判断第i帧动态平均等待时间是否大于预置的等待时延,根据判断结果的不同分别采取不同的方式来获取第i帧播发间隔,当第i帧动态平均等待时间大于预置的等待时延时,表明第i帧视频图像等待播放的时间过长,需要缩小等待播放的时间,从而减少累计时延,故可以获取预置的播发间隔调整因子,根据播发间隔调整因子和上述第i帧采集间隔计算上述第i帧播发间隔。具体的,可以通过如下方式计算上述第i帧播发间隔:
PlayIntervali=SampleIntervali×β,
其中,上述PlayIntervali为上述第i帧播发间隔,上述SampleIntervali为上述第i帧采集间隔,上述β为播发间隔调整因子,且β满足如下关系:0<β<1。
其中,预置的播发间隔调整因子作为SampleIntervali的权重用于修正PlayIntervali的取值大小,播发间隔调整因子可以根据当前帧之前的多个动态平均等待时间和多个帧的等待时间来设定,基于历史统计信息的方式设定播发间隔调整因子可以避免多个帧中单个帧的时延过大时等待播放的时间越大,保证该帧能够被及时播放。
210、将上述第i帧采集间隔作为上述第i帧播发间隔。
其中,当上述第i帧动态平均等待时间小于或等于上述预置的等待时延时,说明第i帧视频图像等待播放的时间还较短,不需要使用播发间隔调整因子对第i帧采集间隔进行修正,就可以将第i帧采集间隔作为第i帧播发间隔。
211、判断从上述第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔。
其中,从第(i-1)帧视频图像播放时开始计时直到当前时间,得到所经过的时间长度(即时长),判断该时长与第i帧播发间隔的大小关系,若从上述第(i-1)帧视频图像播放到当前时间的时长大于或者等于上述第i帧播发间隔,触发步骤212开始执行。若从上述第(i-1)帧视频图像播放到当前时间的时长小于上述第i帧播发间隔,触发步骤213执行。
212、当从上述第(i-1)帧视频图像播放到当前时间的时长大于或者等于上述第i帧播发间隔时,在上述当前时间播放上述第i帧视频图像。
其中,当从上述第(i-1)帧视频图像播放到当前时间的时长大于或者等于上述第i帧播发间隔时,则说明,第i帧视频图像的等待播放的时间已经超过第i帧播发间隔了,需要立刻播放第i帧视频图像,故本发明实施例可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
213、当从上述第(i-1)帧视频图像播放到当前时间的时长小于上述第 i帧播发间隔时,从上述第(i-1)帧视频图像播放开始、历经时长为上述第 i帧播发间隔的时刻到达时,播放上述第i帧视频图像。
其中,若从上述第(i-1)帧视频图像播放到当前时间的时长小于上述第 i帧播发间隔,则说明第i帧视频图像的等待播放的时间还没有超过第i帧播发间隔,为了保证视频图像能够平滑显示,还可以继续等待,直到从上述第(i-1)帧视频图像播放开始、历经时长为上述第i帧播发间隔的时刻到达时,播放上述第i帧视频图像。
由上可知,首先从缓冲队列中提出第i帧视频图像,然后计算第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,计算第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间,基于第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,之后根据上述第i帧动态平均等待时间、上述第i帧采集间隔和预置的等待时延获取第i帧播放间隔,接下来判断从第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔,若否,在当前时间播放从缓冲队列中提取出的第i帧视频图像。由于本发明实施例中针对各个帧视频图像可以根据动态等待时间、采集间隔和预置的等待时延来设定各个帧的当前播发间隔,故可以根据动态等待时间获知当前网络的时延状况,通过对各个帧的当前播发间隔的设定可以自适应的确定当前帧视频图像的缓冲时间,从而使视频图像播放实现平滑显示,保证视频图像播放的稳定性;并且设定好播发间隔后,对从上一帧视频图像播放到当前时间的时长与设定的播发间隔进行判断,在上一帧视频图像播放到当前时间的时长大于或等于设定的播发间隔时,在当前时间就开始播放当前帧视频图像,可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
请参阅如图3所示,为本发明实施例中视频图像处理方法的流程示意图,可以包括:
步骤301、通过网络接收发送端发送的视频图像,每接收到一帧视频图像,就将接收到的视频图像放入缓冲队列H中。
当前缓冲队列H中存入的视频图像分别为:f6、f7、f8、f9,分别为缓冲队列中的第6帧视频图像、第7帧视频图像、第8帧视频图像、第9帧视频图像。
步骤302、从缓冲队列中提取出最早放入缓冲队列H中的第6帧视频图像f6。
步骤303包括如下两个步骤:
步骤3031、从上述第6帧视频图像f6的属性信息中提取采集时间戳;
步骤3032、计算f6和f5之间的第6帧采集间隔SampleInterval6。
步骤304包括如下两个步骤:
步骤3041、计算第6帧视频图像f6从放入上述缓冲队列H到提取出缓冲队列H的第6帧等待时间W6;
步骤3042、通过如下方式计算第6帧动态平均等待时间:AVR_W6=α×AVR_W5+(1-α)×W6,0<α<1。
步骤305、判断第6帧动态平均等待时间AVR_W6是否大于预置的等待时延Delay,若是,触发步骤306执行,若否,触发步骤307执行。
步骤306、通过如下方式计算第6帧播发间隔PlayInterval6:
PlayInterval6=SampleInterval6×β,0<β<1,然后触发步骤308执行。
步骤307、通过如下方式计算第6帧播发间隔PlayInterval6:
PlayInterval6=SampleInterval6,然后触发步骤308执行。
步骤308、判断从第5帧视频图像f5播放到当前时间的时长是否小于第6 帧播发间隔PlayInterval6,若是,触发步骤309执行,若否,触发步骤310执行。
步骤309、从第5帧视频图像f5播放开始、历经时长为PlayInterval6的时刻到达时,播放f6。
步骤310、在当前时间播放第6帧视频图像f6。
由上可知,本发明实施例中针对各个帧视频图像可以根据动态等待时间、采集间隔和预置的等待时延来设定各个帧的当前播发间隔,故可以根据动态等待时间获知当前网络的时延状况,通过对各个帧的当前播发间隔的设定可以自适应的确定当前帧视频图像的缓冲时间,从而使视频图像播放实现平滑显示,保证视频图像播放的稳定性;并且设定好播发间隔后,对从上一帧视频图像播放到当前时间的时长与设定的播发间隔进行判断,在上一帧视频图像播放到当前时间的时长大于或等于设定的播发间隔时,在当前时间就开始播放当前帧视频图像,可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图4-a所示,本发明实施例提供的一种视频图像处理装置400,可以包括:提取模块401、采集间隔计算模块402、第一时间计算模块403、第二时间计算模块404、获取模块405、判断模块406、播放模块407,其中,
提取模块401,用于从缓冲队列中提取出第i帧视频图像,其中,所述i 为自然数;
采集间隔计算模块402,用于计算提取模块401提取到的所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,所述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从所述缓冲队列中提取出的视频图像;
第一时间计算模块403,用于计算提取模块401提取到的所述第i帧视频图像从放入所述缓冲队列到提取出所述缓冲队列的第i帧等待时间;
第二时间计算模块404,用于根据第一时间计算模块403计算出的所述第 i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间;
获取模块405,用于根据第二时间计算模块404计算出的所述第i帧动态平均等待时间、采集间隔计算模块402计算出的所述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;
判断模块406,用于判断从所述第(i-1)帧视频图像播放到当前时间的时长是否小于获取模块405获取到的所述第i帧播发间隔;
播放模块407,用于当判断模块406的判断结果为从所述第(i-1)帧视频图像播放到当前时间的时长大于或者等于所述第i帧播发间隔时,在所述当前时间播放所述第i帧视频图像。
在本发明的一些实施例中,所述播放模块407,还用于若从所述第(i-1)帧视频图像播放到当前时间的时长小于所述第i帧播发间隔,从所述第(i-1)帧视频图像播放开始、历经时长为所述第i帧播发间隔的时刻到达时,播放所述第i帧视频图像。
请参阅如图4-b所示,在本发明的一些实施例中,第二时间计算模块404,可以包括:
第一获取子模块4041,用于获取预置的等待时间调整因子α,所述α满足如下关系:0<α<1;
第一时间计算子模块4042,用于通过如下方式计算第i帧动态平均等待时间:
AVR_Wi=α×AVR_Wi-1+(1-α)×Wi,
其中,所述AVR_Wi为所述第i帧动态平均等待时间,所述AVR_Wi-1为所述第(i-1)帧动态平均等待时间,所述Wi为所述第i帧等待时间。
在本发明的一些实施例中,获取模块405,可以包括:
判断子模块4051,用于判断所述第i帧动态平均等待时间是否大于所述预置的等待时延;
第二获取子模块4052,用于当所述第i帧动态平均等待时间大于所述预置的等待时延时,获取预置的播发间隔调整因子;
播发间隔计算子模块4053,用于根据播发间隔调整因子和所述第i帧采集间隔计算所述第i帧播发间隔;
第三获取子模块4054,用于当所述第i帧动态平均等待时间小于或等于所述预置的等待时延时,将所述第i帧采集间隔作为所述第i帧播发间隔。
在本发明的另一些实施例中,播发间隔计算子模块4053,具体用于通过如下方式计算所述第i帧播发间隔:
PlayIntervali=SampleIntervali×β,
其中,所述PlayIntervali为所述第i帧播发间隔,所述SampleIntervali为所述第i帧采集间隔,所述β为播发间隔调整因子,所述β满足如下关系: 0<β<1。
在本发明的一些实施例中,采集间隔计算模块402,可以包括:
时间戳提取子模块4021,用于从所述第i帧视频图像的属性信息中提取出发送端采集到所述第i帧视频图像的采集时间戳;
采集间隔计算子模块4022,用于根据所述第i帧图像的采集时间戳和第(i-1)帧视频图像的采集时间戳计算所述第i帧采集间隔。
在本发明的一些实施例中,视频图像处理装置400,还可以包括:
接收模块408,用于通过网络接收发送端发送的视频图像;
存储模块409,用于每接收到一帧视频图像,就将接收到的视频图像放入所述缓冲队列中。
在本发明的一些实施例中,提取模块401,可以包括:
第四获取子模块4011,用于当所述缓冲队列中包括有多个帧的视频图像时,从所述多个帧的视频图像中选取最早放入所述缓冲队列中的视频图像;
提取子模块4012,用于将所述最早放入所述缓冲队列中的视频图像作为所述第i帧视频图像从所述缓冲队列中提取出。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明前述所示的方法实施例中的叙述,此处不再赘述。
由上可见,首先从缓冲队列中提出第i帧视频图像,然后计算第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,计算第i帧视频图像从放入上述缓冲队列到提取出上述缓冲队列的第i帧等待时间,基于第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,之后根据上述第i帧动态平均等待时间、上述第i帧采集间隔和预置的等待时延获取第i帧播放间隔,接下来判断从第(i-1)帧视频图像播放到当前时间的时长是否小于上述第i帧播发间隔,若否,在当前时间播放从缓冲队列中提取出的第i帧视频图像。由于本发明实施例中针对各个帧视频图像可以根据动态等待时间、采集间隔和预置的等待时延来设定各个帧的当前播发间隔,故可以根据动态等待时间获知当前网络的时延状况,通过对各个帧的当前播发间隔的设定可以自适应的确定当前帧视频图像的缓冲时间,从而使视频图像播放实现平滑显示,保证视频图像播放的稳定性;并且设定好播发间隔后,对从上一帧视频图像播放到当前时间的时长与设定的播发间隔进行判断,在上一帧视频图像播放到当前时间的时长大于或等于设定的播发间隔时,在当前时间就开始播放当前帧视频图像,可以实现对当前帧视频图像的播放时间进行动态调整,以保证对接收到的视频图像及时播放,提高用户视频通话的实时性。
以下主要以本发明实施例的视频处理方法应用于终端中来举例说明,该终端可以包括智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(MovingPicture Experts Group Audio Layer III,MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio Layer IV,MP4)播放器、膝上型便携计算机和台式计算机等等。
请参考图5,其示出了本发明实施例所涉及的终端的结构示意图,具体来讲:
终端可以包括射频(Radio Frequency,RF)电路20、包括有一个或一个以上计算机可读存储介质的存储器21、输入单元22、显示单元23、传感器 24、音频电路25、无线保真(wireless fidelity,WiFi)模块26、包括有一个或者一个以上处理核心的处理器27、以及电源28等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路20可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器27处理;另外,将涉及上行的数据发送给基站。通常,RF电路20包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF 电路20还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS) 等。
存储器21可用于存储软件程序以及模块,处理器27通过运行存储在存储器21的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器 21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器21还可以包括存储器控制器,以提供处理器27和输入单元 22对存储器21的访问。
输入单元22可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元22可包括触敏表面221以及其他输入设备222。触敏表面221,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面221上或在触敏表面221附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面221可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器27,并能接收处理器27发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面221。除了触敏表面221,输入单元22还可以包括其他输入设备222。具体地,其他输入设备222可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元23可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元23可包括显示面板231,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板231。进一步的,触敏表面221可覆盖显示面板231,当触敏表面221检测到在其上或附近的触摸操作后,传送给处理器27以确定触摸事件的类型,随后处理器27根据触摸事件的类型在显示面板231上提供相应的视觉输出。虽然在图5中,触敏表面221 与显示面板231是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面221与显示面板231集成而实现输入和输出功能。
终端还可包括至少一种传感器24,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板231的亮度,接近传感器可在终端移动到耳边时,关闭显示面板231和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路25、扬声器251,传声器252可提供用户与终端之间的音频接口。音频电路25可将接收到的音频数据转换后的电信号,传输到扬声器251,由扬声器251转换为声音信号输出;另一方面,传声器252将收集的声音信号转换为电信号,由音频电路25接收后转换为音频数据,再将音频数据输出处理器27处理后,经RF电路20以发送给比如另一终端,或者将音频数据输出至存储器21以便进一步处理。音频电路25还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块26可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块26,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器27是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器21内的软件程序和/或模块,以及调用存储在存储器21内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器27可包括一个或多个处理核心;优选的,处理器 27可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器27中。
终端还包括给各个部件供电的电源28(比如电池),优选的,电源可以通过电源管理***与处理器27逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源28还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端的存储器21与上述数据库类似,可以存储采样时间段、采样时间间隔、帧率统计值。
且本实施例的终端中一个或者一个以上程序存储于存储器21中,且经配置以由一个或者一个以上处理器27执行上述一个或者一个以上程序所包含的以下操作指令:
从缓冲队列中提取出第i帧视频图像,其中,所述i为自然数;
计算所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,所述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从所述缓冲队列中提取出的视频图像;
计算所述第i帧视频图像从放入所述缓冲队列到提取出所述缓冲队列的第i帧等待时间;
根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间;
根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;
判断从所述第(i-1)帧视频图像播放到当前时间的时长是否小于所述第 i帧播发间隔;
若否,在所述当前时间播放所述第i帧视频图像。
具体的,所述根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,包括:
获取预置的等待时间调整因子α,所述α满足如下关系:0<α<1;
通过如下方式计算第i帧动态平均等待时间:
AVR_Wi=α×AVR_Wi-1+(1-α)×Wi,
其中,所述AVR_Wi为所述第i帧动态平均等待时间,所述AVR_Wi-1为所述第(i-1)帧动态平均等待时间,所述Wi为所述第i帧等待时间。
具体的,所述根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播发间隔,包括:
判断所述第i帧动态平均等待时间是否大于所述预置的等待时延;
若所述第i帧动态平均等待时间大于所述预置的等待时延,获取预置的播发间隔调整因子,根据播发间隔调整因子和所述第i帧采集间隔计算所述第i 帧播发间隔;
若所述第i帧动态平均等待时间小于或等于所述预置的等待时延,将所述第i帧采集间隔作为所述第i帧播发间隔。
具体的,所述根据播发间隔调整因子和所述第i帧采集间隔计算所述第i 帧播发间隔,包括:
通过如下方式计算所述第i帧播发间隔:
PlayIntervali=SampleIntervali×β,
其中,所述PlayIntervali为所述第i帧播发间隔,所述SampleIntervali为所述第i帧采集间隔,所述β为播发间隔调整因子,所述β满足如下关系: 0<β<1。
进一步的,处理器27执行上述一个或者一个以上程序所包含的以下操作指令:
若从所述第(i-1)帧视频图像播放到当前时间的时长小于所述第i帧播发间隔,从所述第(i-1)帧视频图像播放开始、历经时长为所述第i帧播发间隔的时刻到达时,播放所述第i帧视频图像。
具体的,所述计算所述第i帧视频图像和第(i-1)帧视频图像之间的第 i帧采集间隔包括:
从所述第i帧视频图像的属性信息中提取出发送端采集到所述第i帧视频图像的采集时间戳;
根据所述第i帧图像的采集时间戳和第(i-1)帧视频图像的采集时间戳计算所述第i帧采集间隔。
进一步的,所述从缓冲队列中提取出第i帧视频图像之前还包括:
通过网络接收发送端发送的视频图像;
每接收到一帧视频图像,就将接收到的视频图像放入所述缓冲队列中。
具体的,所述从缓冲队列中提取出第i帧视频图像包括:
当所述缓冲队列中包括有多个帧的视频图像时,从所述多个帧的视频图像中选取最早放入所述缓冲队列中的视频图像;
将所述最早放入所述缓冲队列中的视频图像作为所述第i帧视频图像从所述缓冲队列中提取出。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明所提供的一种视频处理方法和相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种视频图像处理方法,其特征在于,包括:
从缓冲队列中提取出第i帧视频图像,其中,所述i为自然数;
计算所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,所述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从所述缓冲队列中提取出的视频图像;
计算所述第i帧视频图像从放入所述缓冲队列到提取出所述缓冲队列的第i帧等待时间;
根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,所述i取值为1时,所述第(i-1)帧动态平均等待时间为初始化赋值得到的动态平均等待时间,当所述i取值大于1时,所述第(i-1)帧动态平均等待时间通过对所述初始化赋值得到的动态平均等待时间进行多次的迭代更新得到;
根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;
判断从所述第(i-1)帧视频图像播放到当前时间的时长是否小于所述第i帧播发间隔;
若否,在所述当前时间播放所述第i帧视频图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,包括:
获取预置的等待时间调整因子α,所述α满足如下关系:0<α<1;
通过如下方式计算第i帧动态平均等待时间:
AVR_Wi=α×AVR_Wi-1+(1-α)×Wi,
其中,所述AVR_Wi为所述第i帧动态平均等待时间,所述AVR_Wi-1为所述第(i-1)帧动态平均等待时间,所述Wi为所述第i帧等待时间。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播发间隔,包括:
判断所述第i帧动态平均等待时间是否大于所述预置的等待时延;
若所述第i帧动态平均等待时间大于所述预置的等待时延,获取预置的播发间隔调整因子,根据播发间隔调整因子和所述第i帧采集间隔计算所述第i帧播发间隔;
若所述第i帧动态平均等待时间小于或等于所述预置的等待时延,将所述第i帧采集间隔作为所述第i帧播发间隔。
4.根据权利要求3所述 的方法,其特征在于,所述根据播发间隔调整因子和所述第i帧采集间隔计算所述第i帧播发间隔,包括:
通过如下方式计算所述第i帧播发间隔:
PlayIntervali=SampleIntervali×β,
其中,所述PlayIntervali为所述第i帧播发间隔,所述SampleIntervali为所述第i帧采集间隔,所述β为播发间隔调整因子,所述β满足如下关系:0<β<1。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若从所述第(i-1)帧视频图像播放到当前时间的时长小于所述第i帧播发间隔,从所述第(i-1)帧视频图像播放开始、历经时长为所述第i帧播发间隔的时刻到达时,播放所述第i帧视频图像。
6.根据权利要求1所述的方法,其特征在于,所述计算所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔包括:
从所述第i帧视频图像的属性信息中提取出发送端采集到所述第i帧视频图像的采集时间戳;
根据所述第i帧图像的采集时间戳和第(i-1)帧视频图像的采集时间戳计算所述第i帧采集间隔。
7.根据权利要求1所述的方法,其特征在于,所述从缓冲队列中提取出第i帧视频图像之前还包括:
通过网络接收发送端发送的视频图像;
每接收到一帧视频图像,就将接收到的视频图像放入所述缓冲队列中。
8.根据权利要求1所述的方法,其特征在于,所述从缓冲队列中提取出第i帧视频图像包括:
当所述缓冲队列中包括有多个帧的视频图像时,从所述多个帧的视频图像中选取最早放入所述缓冲队列中的视频图像;
将所述最早放入所述缓冲队列中的视频图像作为所述第i帧视频图像从所述缓冲队列中提取出。
9.一种视频图像处理装置,其特征在于,包括:
提取模块,用于从缓冲队列中提取出第i帧视频图像,其中,所述i为自然数;
采集间隔计算模块,用于计算所述第i帧视频图像和第(i-1)帧视频图像之间的第i帧采集间隔,所述第(i-1)帧视频图像为从缓冲队列中提取出第i帧视频图像之前从所述缓冲队列中提取出的视频图像;
第一时间计算模块,用于计算所述第i帧视频图像从放入所述缓冲队列到提取出所述缓冲队列的第i帧等待时间;
第二时间计算模块,用于根据所述第i帧等待时间和第(i-1)帧动态平均等待时间计算第i帧动态平均等待时间,所述i取值为1时,所述第(i-1)帧动态平均等待时间为初始化赋值得到的动态平均等待时间,当所述i取值大于1时,所述第(i-1)帧动态平均等待时间通过对所述初始化赋值得到的动态平均等待时间进行多次的迭代更新得到;
获取模块,用于根据所述第i帧动态平均等待时间、所述第i帧采集间隔和预置的等待时延获取第i帧播放间隔;
判断模块,用于判断从所述第(i-1)帧视频图像播放到当前时间的时长是否小于所述第i帧播发间隔;
播放模块,用于当从所述第(i-1)帧视频图像播放到当前时间的时长大于或者等于所述第i帧播发间隔时,在所述当前时间播放所述第i帧视频图像。
10.根据权利要求9所述的装置,其特征在于,所述第二时间计算模块,包括:
第一获取子模块,用于获取预置的等待时间调整因子α,所述α满足如下关系:0<α<1;
第一时间计算子模块,用于通过如下方式计算第i帧动态平均等待时间:
AVR_Wi=α×AVR_Wi-1+(1-α)×Wi,
其中,所述AVR_Wi为所述第i帧动态平均等待时间,所述AVR_Wi-1为所述第(i-1)帧动态平均等待时间,所述Wi为所述第i帧等待时间。
11.根据权利要求9或10所述的装置,其特征在于,所述获取模块,包括:
判断子模块,用于判断所述第i帧动态平均等待时间是否大于所述预置的等待时延;
第二获取子模块,用于当所述第i帧动态平均等待时间大于所述预置的等待时延时,获取预置的播发间隔调整因子;
播发间隔计算子模块,用于根据播发间隔调整因子和所述第i帧采集间隔计算所述第i帧播发间隔;
第三获取子模块,用于当所述第i帧动态平均等待时间小于或等于所述预置的等待时延时,将所述第i帧采集间隔作为所述第i帧播发间隔。
12.根据权利要求11所述的装置,其特征在于,所述播发间隔计算子模块,具体用于通过如下方式计算所述第i帧播发间隔:
PlayIntervali=SampleIntervali×β,
其中,所述PlayIntervali为所述第i帧播发间隔,所述SampleIntervali为所述第i帧采集间隔,所述β为播发间隔调整因子,所述β满足如下关系:0<β<1。
13.根据权利要求9或10所述的装置,其特征在于,所述播放模块,还用于若从所述第(i-1)帧视频图像播放到当前时间的时长小于所述第i帧播发间隔,从所述第(i-1)帧视频图像播放开始、历经时长为所述第i帧播发间隔的时刻到达时,播放所述第i帧视频图像。
14.根据权利要求9所述的装置,其特征在于,所述采集间隔计算模块,包括:
时间戳提取子模块,用于从所述第i帧视频图像的属性信息中提取出发送端采集到所述第i帧视频图像的采集时间戳;
采集间隔计算子模块,用于根据所述第i帧图像的采集时间戳和第(i-1)帧视频图像的采集时间戳计算所述第i帧采集间隔。
15.根据权利要求9所述的装置,其特征在于,所述视频图像处理装置,还包括:
接收模块,用于通过网络接收发送端发送的视频图像;
存储模块,用于每接收到一帧视频图像,就将接收到的视频图像放入所述缓冲队列中。
16.根据权利要求9所述的装置,其特征在于,所述提取模块,包括:
第四获取子模块,用于当所述缓冲队列中包括有多个帧的视频图像时,从所述多个帧的视频图像中选取最早放入所述缓冲队列中的视频图像;
提取子模块,用于将所述最早放入所述缓冲队列中的视频图像作为所述第i帧视频图像从所述缓冲队列中提取出。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310169074.3A CN104144312B (zh) | 2013-05-09 | 2013-05-09 | 一种视频处理方法和相关装置 |
PCT/CN2013/089239 WO2014180138A1 (en) | 2013-05-09 | 2013-12-12 | Method and device for video processing |
US14/494,677 US9319630B2 (en) | 2013-05-09 | 2014-09-24 | Method and device for video processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310169074.3A CN104144312B (zh) | 2013-05-09 | 2013-05-09 | 一种视频处理方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104144312A CN104144312A (zh) | 2014-11-12 |
CN104144312B true CN104144312B (zh) | 2018-06-05 |
Family
ID=51853373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310169074.3A Active CN104144312B (zh) | 2013-05-09 | 2013-05-09 | 一种视频处理方法和相关装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9319630B2 (zh) |
CN (1) | CN104144312B (zh) |
WO (1) | WO2014180138A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015093637A1 (ko) * | 2013-12-16 | 2015-06-25 | 삼성전자 주식회사 | 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법 |
CN105451100B (zh) * | 2015-12-07 | 2019-04-09 | 贵阳朗玛信息技术股份有限公司 | 一种播放视频流的方法及装置 |
US20180048317A1 (en) * | 2016-03-05 | 2018-02-15 | Chengdu Haicun Ip Technology Llc | Configurable Computing-Array Package |
CN106851241A (zh) * | 2016-12-28 | 2017-06-13 | 广州途威慧信息科技有限公司 | 一种基于vr眼镜图像清晰顺畅播放控制方法 |
CN109327662B (zh) * | 2017-07-31 | 2021-02-05 | 阿里巴巴(中国)有限公司 | 视频拼接方法及装置 |
CN108234997B (zh) * | 2017-12-12 | 2019-11-26 | 北京百度网讯科技有限公司 | 直播视频的时延测量方法、设备、***及计算机可读介质 |
CN108681439B (zh) * | 2018-05-29 | 2021-04-27 | 北京维盛泰科科技有限公司 | 基于帧率控制的均匀显示方法 |
CN111083431B (zh) * | 2018-10-18 | 2021-05-04 | 北京小米松果电子有限公司 | 调整图像采集时间的方法、装置、介质及电子设备 |
CN110618801B (zh) * | 2019-10-08 | 2023-07-18 | Oppo(重庆)智能科技有限公司 | 平滑画面帧率表现方法、装置、终端设备及存储介质 |
CN113132742B (zh) * | 2021-03-31 | 2023-04-14 | 合安科技技术有限公司 | 基于队列的双缓冲ai视频传输方法及相关设备 |
CN113490044B (zh) * | 2021-06-29 | 2023-07-28 | 北京百度网讯科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
CN114598925B (zh) * | 2022-03-18 | 2023-10-20 | 脸萌有限公司 | 一种视频编辑方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378484A (zh) * | 2007-08-28 | 2009-03-04 | 希姆通信息技术(上海)有限公司 | 视频电话图像编码器的控制方法以及采用此方法的手机 |
CN101668223A (zh) * | 2009-09-07 | 2010-03-10 | 航天恒星科技有限公司 | 一种测量图像传输时延的方法 |
JP2011066944A (ja) * | 2011-01-04 | 2011-03-31 | Nec Personal Products Co Ltd | テレビ電話装置、テレビ電話装置における映像データ処理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW301101B (zh) * | 1994-11-17 | 1997-03-21 | Matsushita Electric Ind Co Ltd | |
US6647200B1 (en) * | 1998-10-29 | 2003-11-11 | Securion 24 Co., Ltd. | Digital recorder, monitoring system, remote monitoring system, monitor image retrieval method, remote image reproduction method, recording medium and computer data signal |
GB2399722A (en) * | 2003-03-21 | 2004-09-22 | Sony Uk Ltd | Data communication synchronisation |
US8355720B2 (en) * | 2006-05-12 | 2013-01-15 | Motorola Mobility Llc | Application and transport adaptation for a wireless communication prior to a reselection |
-
2013
- 2013-05-09 CN CN201310169074.3A patent/CN104144312B/zh active Active
- 2013-12-12 WO PCT/CN2013/089239 patent/WO2014180138A1/en active Application Filing
-
2014
- 2014-09-24 US US14/494,677 patent/US9319630B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378484A (zh) * | 2007-08-28 | 2009-03-04 | 希姆通信息技术(上海)有限公司 | 视频电话图像编码器的控制方法以及采用此方法的手机 |
CN101668223A (zh) * | 2009-09-07 | 2010-03-10 | 航天恒星科技有限公司 | 一种测量图像传输时延的方法 |
JP2011066944A (ja) * | 2011-01-04 | 2011-03-31 | Nec Personal Products Co Ltd | テレビ電話装置、テレビ電話装置における映像データ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104144312A (zh) | 2014-11-12 |
WO2014180138A1 (en) | 2014-11-13 |
US9319630B2 (en) | 2016-04-19 |
US20150009284A1 (en) | 2015-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104144312B (zh) | 一种视频处理方法和相关装置 | |
CN107133094B (zh) | 应用管理方法、移动终端及计算机可读存储介质 | |
CN103594103B (zh) | 音频处理方法及相关装置 | |
CN107249074A (zh) | 应用程序快速启动方法、移动终端及计算机可读存储介质 | |
CN104519404B (zh) | 图像互换格式文件的播放方法及装置 | |
CN108900370A (zh) | 长连接多重超时判断方法、装置及计算机可读存储介质 | |
CN103778656A (zh) | 一种图像渲染方法、装置及电子设备 | |
CN105306383B (zh) | 一种消息的推送方法和终端以及推送服务器 | |
CN103180809A (zh) | 一种屏幕界面显示方法及终端 | |
CN107767839A (zh) | 亮度调节方法及相关产品 | |
CN104238893A (zh) | 一种对视频预览图片进行显示的方法和装置 | |
CN105224556A (zh) | 瀑布流界面显示方法及装置 | |
CN107801201A (zh) | 网络恢复方法及装置 | |
CN107748699A (zh) | 资源分配方法及相关产品 | |
CN104253870B (zh) | 控制数据访问周期的方法和装置 | |
CN107817988A (zh) | 推送消息的管理方法及相关产品 | |
CN103399657B (zh) | 鼠标指针的控制方法、装置及终端设备 | |
CN106453840A (zh) | 移动终端的性能调整方法及移动终端 | |
CN107562303A (zh) | 显示界面中元素运动控制方法及装置 | |
CN107247617A (zh) | 虚拟机资源的调配方法、试用平台及可读存储介质 | |
CN104539597A (zh) | 多媒体数据推送方法及装置 | |
CN109725819A (zh) | 界面显示方法、装置、双屏双***终端及可读存储介质 | |
CN110087267A (zh) | 网络切换方法、装置、电子设备及可读存储介质 | |
CN106844057B (zh) | 数据处理方法、装置及移动终端 | |
CN104035942B (zh) | 屏幕显示模式切换时的输入框调整方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |