CN107360431B - 一种帧类型的判断方法及装置 - Google Patents

一种帧类型的判断方法及装置 Download PDF

Info

Publication number
CN107360431B
CN107360431B CN201710523424.XA CN201710523424A CN107360431B CN 107360431 B CN107360431 B CN 107360431B CN 201710523424 A CN201710523424 A CN 201710523424A CN 107360431 B CN107360431 B CN 107360431B
Authority
CN
China
Prior art keywords
frame
video
video frame
singular
list
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
CN201710523424.XA
Other languages
English (en)
Other versions
CN107360431A (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.)
Shi Kaiwen
Zhang Li
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710523424.XA priority Critical patent/CN107360431B/zh
Publication of CN107360431A publication Critical patent/CN107360431A/zh
Application granted granted Critical
Publication of CN107360431B publication Critical patent/CN107360431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种帧类型的判断方法及装置,首先将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,将视频帧集合分担到n个视频帧列表分别处理,能够提高处理效率。而在处理的过程中会先确定出所述单数视频帧列表中的所有单数视频帧的帧类型,然后通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。由于本发明只处理单数视频帧列表的帧类型,然后根据帧间的相关性来判断对应的双数视频帧列表的帧类型,大大的减少了复杂的处理步骤,提高了计算效率。

Description

一种帧类型的判断方法及装置
技术领域
本申请涉及视频处理技术领域,尤其涉及一种帧类型的判断方法及装置。
背景技术
视频的编解码主要靠,预测,转换,编码,来实现的。预测又分为帧间预测和帧内预测,帧内预测用来压缩空间相关性,帧间预测用来压缩时间相关性。
帧内预测是指在程序中定义好一些预测算法,如4*4宏块有9种预测算法(垂直,水平,对角线,平均值……..),16*16宏块有4种预测算法,8*8宏块有4种预测算法。
帧间预测是指从当前片的前面和后面已编码的图像中通过运动估计算法(全局收索,钻石收索,六边形收索等等)计算出当前块相对于参考图像的一个运动矢量。
在经过预测处理操作后,可以将一个宏块的像素点数据,转换为宏块的预测方式既宏块类型,预测模式,运动矢等信息,与宏块的像素点数据占用的空间大小(数据大小)相比宏块类型,预测模式,运动矢量所占的空间会非常小,视频帧是以宏块为单位,从而达到将视频数据进行压缩的目的。
但是,由于视频帧分为I、P、B三个类型,使用B帧能节省大量空间,而在相同码率下,I帧多可以提供更好的画质,而目前辨别视频帧类型的方法基本上是逐帧判断,故而效率低下。
发明内容
本发明了提供了一种帧类型的判断方法及装置,解决或者部分解决了目前的判断帧类型效率低下的技术问题。
为解决上述技术问题,本发明提供了一种帧类型的判断方法,所述方法包括:
将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表,n≥2且为正整数;其中,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,所述单数视频帧列表用于存储所述视频帧集合中排序为单数的单数视频帧;所述双数视频帧列表用于存储所述视频帧集合中排序为双数的双数视频帧;
确定出所述单数视频帧列表中的所有单数视频帧的帧类型;
通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。
优选的,所述将所述视频缓存队列中的视频帧集合按照顺序进行划分,形成n个视频帧列表,包括:
利用公式n=帧率/20将所述视频帧集合按照顺序进行划分,其中,n为视频帧的列表数。
优选的,所述将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表之后,所述方法还包括:
对所述n个视频帧列表中的每帧视频帧进行如下处理:
将每帧视频帧长宽扩大到16的整数倍;
降低所述每帧视频帧的分辨率;
基于所述每帧视频帧的边缘像素点的空白一侧增加对应的像素点,然后将所述每帧视频帧的边缘像素点值填入到所述对应的像素点中。
优选的,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为B帧,下一个单数视频帧为P帧,则这两个相邻的视频帧之间的双数视频帧为B帧。
优选的,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为P帧,下一个单数视频帧为B帧,则这两个相邻的视频帧之间的双数视频帧为B帧。
优选的,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为B帧,下一个单数视频帧为B帧,则这两个相邻的视频帧之间的双数视频帧为B帧。
优选的,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为P帧,下一个单数视频帧为P帧,则则这两个相邻的视频帧之间的双数视频帧为P帧。
本发明的另一个方面,公开了一种帧类型的判断装置,包括:
缓存模块,用于将构成一视频流的视频帧集合缓存到对应的视频缓存队列中;
划分模块,用于将所述视频缓存队列中的视频帧集合按照顺序进行划分,形成n个视频帧列表,n≥2且为正整数;其中,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,所述单数视频帧列表用于存储所述视频帧集合中排序为单数的单数视频帧;所述双数视频帧列表用于存储所述视频帧集合中排序为双数的双数视频帧;
第一确定模块,用于确定出所述单数视频帧列表中的所有单数视频帧的帧类型;
第二确定模块,用于通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。
本发明的另一个方面,公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的另一个方面,公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明公开了一种帧类型的判断方法及装置,首先将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,将视频帧集合分担到n个视频帧列表分别处理,能够提高处理效率。而在处理的过程中会先确定出所述单数视频帧列表中的所有单数视频帧的帧类型,然后通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。由于本发明只处理单数视频帧列表的帧类型,然后根据帧间的相关性来判断对应的双数视频帧列表的帧类型,大大的减少了复杂的处理步骤,提高了计算效率。
附图说明
图1为本发明实施例中一种帧类型的判断方法的流程图;
图2为本发明实施例中将视频帧集合划分为5个视频帧列表的示意图;
图3A-图3D为本发明实施例中视频帧进行压缩的示意图;
图4A-图4B为本发明实施例中增加像素点的示意图;
图5为本发明实施例中一种帧类型的判断方法的示意图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
其中,I帧,又称为内部画面,I帧通常是每个GOP(一种视频压缩技术,表示上一个I帧距离当前视频帧的帧数)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图像。
在针对连续动态图像编码时,将连续若干幅图像分成P、B、I三种类型,P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。
本发明的目的在于提供一种帧类型的判断方法及装置,将构成一视频流的视频帧集合按照顺序划分为至少2个视频帧列表,通过只处理单数视频帧列表的帧类型,然后根据帧间的相关性来判断对应的双数视频帧列表的帧类型,大大的减少了复杂的处理步骤,提高了计算效率,通过实验表明当帧率越大时效果越好,视频帧中场景切换次数少的时候效果也很不错。
在具体的实施过程中,请参看图1,是帧类型的判断方法的实施过程图,具体如下:
步骤11,将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表。
在具体的实施过程中,先将视频帧集合缓存到对应的视频缓存队列中,然后将所述视频缓存队列中的视频帧集合按照顺序进行划分,形成n个视频帧列表,n≥2且为正整数。
由于视频缓存队列中的视频帧集合的前后帧是相关联的,例如像素值类似,也即前一帧视频帧和后一帧视频帧比较类似。故而本发明实施例在进行划分时会按照顺序依次进行划分,获得n个视频帧列表。进一步的,可以在进行划分时会按照顺序依次进行划分,将视频帧集合平均划分为n个视频帧列表。为了便于说明和解释,本发明使用了列表的形式,而在实际情况中,还可以使用其他的形式,例如队列等形式。
其中,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,所述单数视频帧列表用于存储所述视频帧集合中排序为单数的单数视频帧;所述双数视频帧列表用于存储所述视频帧集合中排序为双数的双数视频帧。
而在划分时,是利用公式n=帧率/20将所述视频帧集合按照顺序进行划分,其中,n为视频帧的列表数。由于视频流中包括的视频帧实际上是连续的,相邻的视频帧具有很高的相似度,例如前一帧和后一帧是B帧则中间一帧是B帧的可能性就会很高,当知道了前一帧和后一帧的帧类型,可以由针对性的处理判断当前帧的类型,从而达到减小判断当前帧类型的处理步骤,这样做的好处是:可以减少判断帧类型的数量,通过将视频队列分为n个队列,利用列表中相邻单数视频帧的帧类型判断相邻单数视频帧之间的双数视频帧的帧类型,并且可以将多个列表同时进行判断,故而能够提高视频帧的处理效率。
具体来说,帧率是用于测量显示帧数的量度,也就是每秒显示帧数。从上述公式可以看出,本发明将视频帧的列表数n是和20成反比的,如果选择大于20的值,那么选择的值越大,那么得到的视频帧的列表数n就会越少,每一列中罗列的视频帧数目就会越多,每一列的处理时间就会越长,进而会降低视频帧的处理效率。如果选择小于20的值,选择的值越小,得到的视频帧的列表数n虽然会越多,但是每一列中罗列的单数视频帧就会越少,而如果相邻的视频帧之间的相关性不大,那么就会出现判断不准确的情况,综合上面的考虑,本发明以20为基准来得到视频帧的列表数n。
故而,会出现视频帧的列表数为奇数或者偶数的情况。基于单数视频帧列表的视频帧类型来处理双数视频帧列表的视频帧类型。
而在具体的划分过程中,可以先对将视频帧集合中的全部视频帧进行分组,每一组中包括两个视频帧列表(一个单数视频帧列表和一个双数视频帧列表),假设组数使用m来表示,那么组数和列表数的关系就是:m=n/2。也就是说,如果是1组的话,那么列表数就是2列(一个单数视频帧列表和一个双数视频帧列表)。如果是2组的话,那么列表数就是4列,以此类推。而本发明的组数最少可以为1组,即:m≥1且为正整数。
而在分组的过程中,会先将视频帧集合中的全部视频帧按照视频帧播放的顺序平均分为m组。举例来说,参看图2,假设将16个视频帧分为两组,那么按照视频帧视频帧的播放顺序,则会将前8帧视频帧分为第1组,将后8帧视频帧分为第2组。第1组包含两个列表(列表1和列表2),第2组包含两个列表(列表3和列表4)。
在m组的每一组中,将划分得到的视频帧的单数视频帧按照顺序依次存入每一组的单数视频帧列表;再将划分得到的视频帧的双数视频帧按照顺序依次存入每一组的双数视频帧列表。举例来说,将第1组的前8帧视频帧中的单数视频帧(k1、k3、k5、k7)按照顺序依次存入列表1中。将第1组的前8帧视频帧中的双数视频帧(k2、k4、k6、k8)按照顺序依次存入列表2中。在第2组中的操作类似,本发明不再赘述。
当然,以上举例仅作说明,在实际应用中,还可以将全部视频帧划分为其他数目的组,然后再将对应的视频帧存入到各组对应的列表中。
上述举例是视频帧总数为偶数(如视频帧总共16帧)的情况下,作为一种可选的实施例,还存在视频帧总数为奇数(如视频帧总共15帧)的情况,在这种情况下,可以将总数先变为偶数,例如视频帧总共15帧的情况下,增加1帧视频帧,使视频帧总数变为偶数,然后再按照上述方法进行划分。只是在最后存入对应列表时,在最后一个列表中,不存入增加的1帧视频帧。例如,在图2中,将最后k16去掉,那么最后的列表中只有:k10、k12、k14。
在图2中的4个视频帧列表中,有2个单数视频帧列表和2个双数视频帧列表。图2中的每个视频帧列表的视频帧数目都是相同的,都为4个视频帧。在实际应用中,存储的视频帧数目也可以不同。
按照排序来说,单数视频帧列表存储的是单数的视频帧,例如列表1中的k1、k3、k5、k7四个视频帧。
而对视频帧集合进行划分之后,会对每一帧视频帧事先进行数据处理。在数据处理过程中,首先将每一帧视频帧的长宽扩大到16的整数倍;然后降低所述每一帧视频帧的分辨率;再基于所述每一帧视频帧的边缘像素点的空白一侧增加对应的像素点,然后将所述每一帧视频帧的边缘像素点值填入到所述对应的像素点中。
具体来说,将所述每一帧视频帧的长宽扩大到16的整数倍,是将每一帧视频帧以行为单位进行16的整数倍,且将每一帧视频帧以列为单位进行16的整数倍。以便于后续在将每一帧视频帧拆分为宏块。每个宏块就是一个16*16的像素子块,故而此处会将其扩展为16的整数倍。
而降低每一帧视频帧的分辨率时,可以分别以每一帧视频帧的长宽(即逐行处理,逐列处理)为基础进行降低。
对所述每一帧视频帧的每一行像素点执行下述步骤:依次利用所述每一帧视频帧的每一行像素点中的每两个像素点的原像素值求均值,然后利用所述均值替换掉对应两个像素点的原像素值,使所述对应两个像素点变成一个像素点。参看图3A,是16*16的每一帧视频帧为例,在第1行中,利用第1、第2两个像素点的像素值(52、60)求均值(均值为56),然后将该均值填入第1、第2两个像素点中,使第1行的第1、第2两个像素点的像素值相同,都为56,进而可看做一个像素点。参看图3B,是逐行执行了上述步骤之后得到的结果,可以发现图3B中的分辨率在以行为单位执行了上述步骤之后,得到的分辨率会比图3A中的分辨率降低1/2。
对所述每一帧视频帧的每一列像素点执行下述步骤:依次利用所述每一帧视频帧的每一列像素点中的每两个像素点的原像素值求均值,然后利用所述均值替换掉对应两个像素点的原像素值,使所述对应两个像素点变成一个像素点。承接上述举例,会在图3B的基础上,以列为单位进行缩小,参看图3C,在第1列中,第1、第2两个像素点的像素值(56、80)求均值(均值为68),然后将该均值填入第1列的第1、第2两个像素点中,使第1、第2两个像素点的像素值相同,都为68,进而变为一个像素点。参看图3D,是逐行执行了上述步骤之后得到的结果。
当然,本发明的上述两个步骤顺序可以调换,即在逐列执行完毕之后,再逐行执行。
这样的目的,是为了降低每一帧视频帧的分辨率,进而降低每一帧视频帧的数据量,提高处理效率。
在最后的步骤中,会在每一帧视频帧的最边缘的上下左右的像素点的空白一侧都增加对应的像素点,参看图4A,粗黑框表示的是上下左右的像素点,由此可见,粗黑框中的每个像素点,三侧都是挨着其他的像素点的,只有一侧是空白的,本发明则在空白侧增加对应的像素点,参看图4B,虚线表示增加的像素点。将所述每一帧视频帧的边缘像素点值填入到所述对应的像素点中。即,可以看出,粗黑框中的像素值和虚线框中的对应的像素值是相同的。
这样做的目的是为了在进行帧间预测和帧内预测时增加的像素点可以作为参考对像素块进行预测,如帧内预测需要当前块上面一行像素和左边一列像素按照帧内预测模式进行预测,而帧间预测,增加的像素块可以作为像素块运动估计偏移的区域,故需要扩展每一帧视频帧。
本发明将每一帧视频帧上下左右边扩展的像素行或列数为4行或4列,可以增加帧间预测的区域并提高精度,例如在进行帧间预测时,比较通用的的是菱形运动估计算法,算法首先是计算当前宏块向左偏移一个像素计算代价值,然后分别计算向上,向下,向右........直到获得最优的运动矢量,很明显采样4行4列要其他的运动估计区域要大些,故精度要好些,进而在进行帧间运动估计时,能够增加运动矢量值计算准确率。
在将视频帧集合按照顺序划分为n个视频帧列表之后,则会进行下面的处理。
步骤12,确定出所述单数视频帧列表中的所有单数视频帧的帧类型。
在确定所有单数视频帧的帧类型的实施过程中,以前一帧单数视频帧为参考帧,计算后一帧单数视频帧的帧类型。
在具体的实施过程中,有以下两种方式进行计算:
第一种方式:前一帧单数视频帧为参考帧,计算后一帧单数视频帧的代价值;
判断所述代价值是否满足预设条件,如果满足,则后一帧单数视频帧为P帧;如果不满足,则后一帧视频帧为B帧。作为一种可选的实施例,可以判断后一帧单数视频帧的代价值是否大于特定阈值和后一帧单数视频帧的总宏块数的乘积,如果大于,则后一帧单数视频帧为P帧;如果小于等于,则后一帧视频帧为B帧。
举例来说,i取单数,那么Pi为单数帧列表中的单数视频帧。那么,首先以Pi为参考帧,计算出Pi+2作为P帧的代价值,然后根据下述方式判断是Pi+2是P帧还是B帧。
首先,判断Pi+2作为P帧的代价值是否大于特定阈值和Pi+2的总宏块数的乘积(pthresh*((i+1)_mb_count))。如果大于,则Pi+2为P帧,如果小于等于,那么Pi+2为B帧。判断之后,可对i进行累加,以Pi+2为参考帧判断Pi+4的代价值,然后继续上述步骤判断出Pi+4的帧类型,进而判断出所有单数视频帧的帧类型。
而特定阈值pthresh也称作宏块p帧动量值。具体的计算方式如下:
特定阈值Pthresh=MAX(300-P_SENS_BIAS*(j-i-1),30)。
P_SENS_BIAS(P帧出现的频率)=50-i_bframe_bias。
其中,i_bframe_bias可预先设置,j-i表示第i帧到第j帧的间距(j=i+2),即前后帧的间距。通过预先设置的i_bframe_bias值和第i帧到第j帧的间距(j-i)确定P帧出现的概率,从而达到确定P帧、B帧数量。
例如,将i_bframe_bias变大,那么B帧出现的概率越高,P帧出现概率越低。
再例如,随着j-i的间距越大,pthresh*i_mb_count越小,P帧出现的概率越高,B帧出现概率越低。
第二种方式:
判断当前单数视频帧的帧内预测得到的宏块数是否大于当前单数视频帧的总宏块数的三分之一,若是,则当前单数视频帧为P帧,否则为B帧。
以此方法判断出所有的单数视频帧的帧类型。
举例来说,判断Pi+2的帧内预测获得的宏块数是否大于Pi+2的总宏块数三分之一。如果为真,那么Pi+2为P帧,否则为B帧。
在计算代价值的过程中,本发明会根据代价值的类型来确定当前单数视频帧的帧内预测获得的宏块数。首先,以宏块为单位遍历当前单数视频帧的每一个宏块,计算宏块帧内预测代价值,计算宏块帧间预测代价值,如果是双向预测则先进行前向帧间预测然后进行后向帧间预测,最后根据权值混合前向和后向预测的宏块,取代价值最小进行累加,获得当前单数视频帧的最终代价值,除此之外,会累加帧内预测宏块数。
如果当前单数视频帧的最终代价值的类型为宏块帧内预测得到的代价值的类型,那么将计算宏块帧内预测代价值时得到的帧内预测宏块数作为当前单数视频帧的帧内预测获得的宏块数。
如果当前单数视频帧的最终代价值的类型不是宏块帧内预测得到的代价值的类型,那么将计算宏块帧间预测代价值时得到的帧内预测宏块数作为当前单数视频帧的帧内预测获得的宏块数。或者将双向预测时得到的帧内预测宏块数作为当前单数视频帧的帧内预测获得的宏块数。
实际上,不管是帧内预测、帧间预测还是双向预测,都会有帧内预测宏块数,只是宏块数的数目不同而已。
步骤13,通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。
在具体确定双数视频帧的帧类型时,有以下四种情况:
第一种情况:
判断两个相邻的单数视频帧的视频帧类型;
若在两个相邻的单数视频帧中,判断出上一个单数视频帧为B帧,下一个单数视频帧为P帧,则这两个相邻的视频帧之间的双数视频帧为B帧。以图2中的列表1和列表2举例。如果列表1中的K1为B帧,K3为P帧,那么K2为B帧。
第二种情况:
判断两个相邻的单数视频帧的视频帧类型;
若在两个相邻的单数视频帧中,判断出上一个单数视频帧为P帧,下一个单数视频帧为B帧,则这两个相邻的视频帧之间的双数视频帧为B帧。以图2中的列表1和列表2举例。如果列表1中的K1为P帧,K3为B帧,那么K2为B帧。
承接上述举例,因为视频列表中前一帧和后一帧具有很大的相关性,由于Pi+2为B帧Pi与Pi+2就有很大的相关性故Pi+1可以通过Pi与Pi+2双向预测可得(Pi+1在这2帧中间)所以Pi+1为B帧。
第三种情况:
判断两个相邻的单数视频帧的视频帧类型;
若在两个相邻的单数视频帧中,判断出上一个单数视频帧为B帧,下一个单数视频帧为B帧,则这两个相邻的视频帧之间的双数视频帧为B帧。以图2中的列表1和列表2举例。如果列表1中的K1为B帧,K3为B帧,那么K2为B帧。承接上述举例,因为相邻的2帧都是B帧所以Pi+1为B帧。
第四种情况:
判断两个相邻的单数视频帧的视频帧类型;
若在两个相邻的单数视频帧中,判断出上一个单数视频帧为P帧,下一个单数视频帧为P帧,则则这两个相邻的视频帧之间的双数视频帧为P帧。以图2中的列表1和列表2举例。如果列表1中的K1为P帧,K3为P帧,那么K2为P帧。承接上述举例,因为相邻的2帧都是P帧所以Pi+1为P帧。
参看图5,基于同一发明构思,本发明实施例公开了一种帧类型的判断装置,包括:
缓存模块51,用于将构成一视频流的视频帧集合缓存到对应的视频缓存队列中;
划分模块52,用于将所述视频缓存队列中的视频帧集合按照顺序进行划分,形成n个视频帧列表,n≥2且为正整数;其中,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,所述单数视频帧列表用于存储所述视频帧集合中排序为单数的单数视频帧;所述双数视频帧列表用于存储所述视频帧集合中排序为双数的双数视频帧;
第一确定模块53,用于确定出所述单数视频帧列表中的所有单数视频帧的帧类型;
第二确定模块54,用于通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明公开了一种帧类型的判断方法及装置,首先将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表,所述n个视频帧列表包含单数视频帧列表和双数视频帧列表,将视频帧集合分担到n个视频帧列表分别处理,能够提高处理效率。而在处理的过程中会先确定出所述单数视频帧列表中的所有单数视频帧的帧类型,然后通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。由于本发明只处理单数视频帧列表的帧类型,然后根据帧间的相关性来判断对应的双数视频帧列表的帧类型,大大的减少了复杂的处理步骤,提高了计算效率。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种帧类型的判断方法,其特征在于,所述方法包括:
将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表,n≥2且为正整数;其中,将所述视频帧集合中的全部视频帧进行分组,在每一组中,将划分得到的视频帧的单数视频帧按照顺序依次存入每一组的单数视频帧列表;将划分得到的视频帧的双数视频帧按照顺序依次存入每一组的双数视频帧列表;其中,所述n个视频帧列表包含所述单数视频帧列表和所述双数视频帧列表,所述单数视频帧列表用于存储所述视频帧集合中排序为单数的所述单数视频帧;所述双数视频帧列表用于存储所述视频帧集合中排序为双数的所述双数视频帧;
确定出所述单数视频帧列表中的所有单数视频帧的帧类型;
通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。
2.如权利要求1所述的方法,其特征在于,所述将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表,包括:
利用公式n=帧率/20将所述视频帧集合按照顺序进行划分,其中,n为视频帧的列表数。
3.如权利要求1所述的方法,其特征在于,所述将构成一视频流的视频帧集合按照顺序划分为n个视频帧列表之后,所述方法还包括:
对所述n个视频帧列表中的每帧视频帧进行如下处理:
将每帧视频帧长宽扩大到16的整数倍;
降低所述每帧视频帧的分辨率;
基于所述每帧视频帧的边缘像素点的空白一侧增加对应的像素点,然后将所述每帧视频帧的边缘像素点值填入到所述对应的像素点中。
4.如权利要求1所述的方法,其特征在于,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为B帧,下一个单数视频帧为P帧,则这两个相邻的视频帧之间的双数视频帧为B帧。
5.如权利要求1所述的方法,其特征在于,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为P帧,下一个单数视频帧为B帧,则这两个相邻的视频帧之间的双数视频帧为B帧。
6.如权利要求1所述的方法,其特征在于,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为B帧,下一个单数视频帧为B帧,则这两个相邻的视频帧之间的双数视频帧为B帧。
7.如权利要求1所述的方法,其特征在于,所述通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型,包括:
在两个相邻的单数视频帧中,判断出上一个单数视频帧为P帧,下一个单数视频帧为P帧,则则这两个相邻的视频帧之间的双数视频帧为P帧。
8.一种帧类型的判断装置,其特征在于,包括:
缓存模块,用于将构成一视频流的视频帧集合缓存到对应的视频缓存队列中;
划分模块,用于将所述视频缓存队列中的视频帧集合按照顺序进行划分,形成n个视频帧列表,n≥2且为正整数;其中,将所述视频帧集合中的全部视频帧进行分组,在每一组中,将划分得到的视频帧的单数视频帧按照顺序依次存入每一组的单数视频帧列表;将划分得到的视频帧的双数视频帧按照顺序依次存入每一组的双数视频帧列表;其中,所述n个视频帧列表包含所述单数视频帧列表和所述双数视频帧列表,所述单数视频帧列表用于存储所述视频帧集合中排序为单数的所述单数视频帧;所述双数视频帧列表用于存储所述视频帧集合中排序为双数的所述双数视频帧;
第一确定模块,用于确定出所述单数视频帧列表中的所有单数视频帧的帧类型;
第二确定模块,用于通过所述单数视频帧列表中的相邻的两个单数视频帧的帧类型,确定出两个相邻的单数视频帧之间的双数视频帧的帧类型。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
CN201710523424.XA 2017-06-30 2017-06-30 一种帧类型的判断方法及装置 Active CN107360431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710523424.XA CN107360431B (zh) 2017-06-30 2017-06-30 一种帧类型的判断方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710523424.XA CN107360431B (zh) 2017-06-30 2017-06-30 一种帧类型的判断方法及装置

Publications (2)

Publication Number Publication Date
CN107360431A CN107360431A (zh) 2017-11-17
CN107360431B true CN107360431B (zh) 2019-08-02

Family

ID=60274166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710523424.XA Active CN107360431B (zh) 2017-06-30 2017-06-30 一种帧类型的判断方法及装置

Country Status (1)

Country Link
CN (1) CN107360431B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901605B (zh) * 2019-05-06 2022-04-29 阿里巴巴集团控股有限公司 视频处理方法、装置、电子设备及存储介质
CN113867675A (zh) * 2021-09-28 2021-12-31 北京大上科技有限公司 电子墨水显示屏的刷新方法和显示系统
CN113867677A (zh) * 2021-09-28 2021-12-31 北京大上科技有限公司 显示系统和电子墨水显示屏的刷新方法
CN113851091A (zh) * 2021-09-28 2021-12-28 北京大上科技有限公司 电子墨水显示屏的刷新方法和显示系统
CN113867676A (zh) * 2021-09-28 2021-12-31 北京大上科技有限公司 显示系统、电子墨水显示屏的刷新方法和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271835C (zh) * 2001-02-05 2006-08-23 株式会社日立制作所 运动图像数据的记录再生方法和装置
CN101370139A (zh) * 2007-08-17 2009-02-18 华为技术有限公司 一种切换视频的方法及装置
US9203708B2 (en) * 2011-09-26 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Estimating user-perceived quality of an encoded stream
CN105144713A (zh) * 2013-01-17 2015-12-09 三星电子株式会社 用于解码器设置的对视频进行编码的方法及其装置以及基于解码器设置对视频进行解码的方法及其装置
CN105898296A (zh) * 2015-12-24 2016-08-24 乐视云计算有限公司 视频编码帧选择方法及装置
JP2017027234A (ja) * 2015-07-17 2017-02-02 日本電信電話株式会社 フレーム作成装置、方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271835C (zh) * 2001-02-05 2006-08-23 株式会社日立制作所 运动图像数据的记录再生方法和装置
CN101370139A (zh) * 2007-08-17 2009-02-18 华为技术有限公司 一种切换视频的方法及装置
US9203708B2 (en) * 2011-09-26 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Estimating user-perceived quality of an encoded stream
CN105144713A (zh) * 2013-01-17 2015-12-09 三星电子株式会社 用于解码器设置的对视频进行编码的方法及其装置以及基于解码器设置对视频进行解码的方法及其装置
JP2017027234A (ja) * 2015-07-17 2017-02-02 日本電信電話株式会社 フレーム作成装置、方法、及びプログラム
CN105898296A (zh) * 2015-12-24 2016-08-24 乐视云计算有限公司 视频编码帧选择方法及装置

Also Published As

Publication number Publication date
CN107360431A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN107360431B (zh) 一种帧类型的判断方法及装置
CN100463527C (zh) 一种多视点视频图像视差估计的方法
CN107277519B (zh) 一种判断视频帧的帧类型的方法及电子设备
KR102059066B1 (ko) 모션 벡터 필드 코딩 방법 및 디코딩 방법, 및 코딩 및 디코딩 장치들
CN110519600A (zh) 帧内帧间联合预测方法、装置、编解码器及存储装置
EP2297963A1 (en) Video compression under multiple distortion constraints
CN118055253A (zh) 用于视频代码化中的运动补偿预测的光流估计
US20160080763A1 (en) Encoding system using motion estimation and encoding method using motion estimation
US8958642B2 (en) Method and device for image processing by image division
CN103596004A (zh) Hevc中基于数学统计和分类训练的帧内预测方法及装置
CN104754338A (zh) 一种帧内预测模式的选择方法和装置
CN105791829B (zh) 一种基于多核平台的hevc并行帧内预测方法
CN112055203A (zh) 帧间预测方法、视频编码方法及其相关装置
CN101895749A (zh) 一种快速视差估计和运动估计方法
CN101977313B (zh) 视频信号编码装置和方法
CN1852442A (zh) 一种分层运动估计方法和超大规模集成电路
CN111093078B (zh) 视频解码方法及装置、存储介质、终端
US8358699B2 (en) Method and system for selection of reference picture and mode decision
CN107659822B (zh) 一种判断视频帧的帧类型的方法及装置
US20150036751A1 (en) Method for storing movement prediction-related information in an interscreen prediction method, and method for calculating the movement prediction-related information in the inter-screen prediction method
CN104994394B (zh) 编码器运动估算方法及装置
CN110267047B (zh) 视频帧间运动估计方法、装置、设备及可读存储介质
Saldanha et al. Tile adaptation for workload balancing of 3d-HEVC encoder in homogeneous multicore systems
CN111869211B (zh) 图像编码装置和方法
CN100469141C (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
TR01 Transfer of patent right

Effective date of registration: 20240909

Address after: No. 1701, Building 6, Courtyard 2, Shangjialou Road, Chaoyang District, Beijing 100020

Patentee after: Zhang Li

Country or region after: China

Patentee after: Shi Kaiwen

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right