CN105898307A - 一种b帧位置决策方法及装置 - Google Patents

一种b帧位置决策方法及装置 Download PDF

Info

Publication number
CN105898307A
CN105898307A CN201510972021.4A CN201510972021A CN105898307A CN 105898307 A CN105898307 A CN 105898307A CN 201510972021 A CN201510972021 A CN 201510972021A CN 105898307 A CN105898307 A CN 105898307A
Authority
CN
China
Prior art keywords
frame
subclass
path
alternative path
calculate
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.)
Pending
Application number
CN201510972021.4A
Other languages
English (en)
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.)
LeTV Cloud Computing Co Ltd
Original Assignee
LeTV Cloud Computing 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 LeTV Cloud Computing Co Ltd filed Critical LeTV Cloud Computing Co Ltd
Priority to CN201510972021.4A priority Critical patent/CN105898307A/zh
Publication of CN105898307A publication Critical patent/CN105898307A/zh
Pending legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

本发明实施例提供一种B帧位置决策方法及装置。获取n个待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;计算每个所述子集合的最优的路径,并根据所述最优路径进行B帧位置决策。实现了B帧位置的快速决策,极大节省了帧类型决策花费的编码时间。

Description

一种B帧位置决策方法及装置
技术领域
本发明实施例涉及视频技术领域,尤其涉及一种B帧位置决策方法及装置。
背景技术
视频图像的每个像素都可以通过与其相关的像素预测来降低该像素的冗余。图像视频编码的预测技术分为帧内预测(Intra-prediction)和帧间预测(Inter-prediction)。
帧间预测根据预测方向又分为前向预测和双向预测。用帧内预测编码的帧图像称为I(Intra)帧,用前向预测编码的帧图像称为P帧,用双向预测编码的帧图像称为B帧。I帧属于帧内压缩,I解码时只需要本帧数据就可以完成(因为只依赖于相邻位置的宏块编码信息)。P帧为向前预测编码帧,属于帧间编码。P帧表示的是这一帧跟之前一个参考帧的差别,残差数据加上通过前向运动补偿得到的预测数据来重构当前P帧。B帧是双向差别帧,也就是B帧记录的是本帧与前后参考帧的差别,解码时既需要前向参考帧又需要后向参考帧,通过残差数据加上通过前-后向运动补偿得到的预测数据来重构当前B帧。
如何确定视频帧类型是视频编码最基础的环节,而现有技术中,帧类型决策算法占用的编码时间相对较大。
因此,针对上述缺陷,本发明实施例提出一种快速的B帧位置决策方法。
发明内容
本发明实施例提供一种B帧位置决策方法及装置,用以解决现有技术中帧类型决策算法占用的编码时间相对较大的缺陷,实现快速B帧的位置决策。
本发明实施例提供一种B帧位置决策方法,包括:
获取待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;
将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;
计算每个所述子集合的最优路径,并根据所述最优路径进行B帧位置决策。
本发明实施例提供一种B帧位置决策装置,包括:
数据获取模块,用于获取待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;
分组模块,用于将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;
决策模块,用于计算每个所述子集合的最优路径,并根据所述最优路径进行B帧位置决策。
本发明实施例提供的B帧位置决策方法及装置,通过将待确定的编码帧进行分组得到编码帧集合的若干个子集合,分别计算每个所述子集合的最优路径,从而根据所述最优路径进行B帧位置决策,实现了B帧位置的快速决策,极大节省了帧类型决策花费的编码时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的技术流程图;
图2为本发明实施例待确定视频帧与帧号示例图;
图3为本发明实施例二的技术流程图;
图4为本发明实施例三的技术流程图;
图5为本发明实施例四的技术流程图;
图6为本发明实施例五的装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一的技术流程图,结合图1,本发明实施例一种B帧位置决策方法,主要包括如下的步骤:
步骤110:获取待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;
由于B帧是双向差别帧,也就是B帧记录的是本帧与前后参考帧的差别,解码时既需要前向参考帧又需要后向参考帧,通过残差数据加上通过前-后向运动补偿得到的预测数据来重构当前B帧。因此,B帧的前向一定存在可供编码参考的非B帧。如图2所示,帧号为1~8的视频帧为待确定的视频帧,其前向可供编码参考的非B帧(I帧或P帧)的帧号为0。将8个待确定的编码帧按照帧号组成集合{1,2,3,4,5,6,8,7,8}。当然上述数据仅供举例使用,对本发明实施例并不构成限制。
步骤120:将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;
具体分组策略按照循序增加原则,后一个子集合比相邻前一个子集合多一个元素,且元素按照帧号递增。假设待确定的编码帧的集合中共有i个元素,则具体求子集合时,第一个子集合包含帧号1对应的第一个元素,第二个子集合包含帧号1对应的第一个元素和帧号2对应的第二个元素,直至第i个子集合包含帧号1对应的第一个元素至帧号i对应的第i个元素。
例如,参考图2,子集合的划分结果为{1},{1,2},{1,2,3},{1,2,3,4},{1,2,3,4,5},{1,2,3,4,5,6},{1,2,3,4,5,6,7},{1,2,3,4,5,6,8,7,8}。
步骤130:计算每个所述子集合的最优路径,从而根据所述最优路径进行B帧位置决策。
当确定好P帧的位置后,剩下的就是B帧。具体计最优的P帧的位置包括步骤a1~步骤a3:
步骤a1:计算第i个所述子集合的备选路径个数N,其中,初始化i=1,i∈[1,n],n为所述子集合的总个数,其中,第i个所述子集合中包含i个元素;
其中,具体的计算方法为:N=Min(bframes+1,length),其中length为当前的子集合中元素的数量,bframes为预设的最大连续B帧数目,Min()为取最小值函数。
步骤a2:结合第i-1至第i-N个所述子集合的最优路径,分别获取第i个所述子集合的N个备选路径;
步骤a3:分别计算所述N个所述备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为第i个所述子集合的最优路径,i++;
当i=n时,从第n个所述子集合的所述最优路径中获取B帧的位置。
本实施例通过将待确定的编码帧进行分组得到编码帧集合的若干个子集合,分别计算每个所述子集合的最优路径,从而根据所述最优路径进行B帧位置决策,实现了B帧位置的快速决策,极大节省了帧类型决策花费的编码时间。
实施例二
图3是本发明实施例二的技术流程图,结合图3,本发明实施例结合第j个所述子集合的最优路径,分别获取第i个所述子集合的N个备选路径,主要由以下的步骤实现:
当i=1时,执行步骤310,当i>1时,执行步骤320~步骤340。
步骤310:以P帧为唯一的所述最优路径;
即,第一个所述子集合{1}={P},。
由于B帧是双向差别帧,B帧传送的是它与前面的I或P帧以及后面的P帧之间的预测误差及运动矢量,因此,当i=1时,不满足B帧的编码条件,只能是P帧。
步骤320:以P帧为尾帧,将第i-1个所述子集合的最优路径添加至所述尾帧之前作为所述备选路径之一;
步骤330:在所述P帧之前添加j个B帧,将第i-(j+1)个所述子集合的最优路径添加至所述P帧之前作为所述备选路径之一,其中,初始化j=1,j∈[1,bframes],bframes为预设的最大连续B帧数目,j++;
执行步骤330,直至获取所述子集合的N个所述备选路径。
上述步骤320~步骤330是一个循环遍历的过程,为了描述更加清楚,以下部分以一个具体的例子对上述步骤进行详细阐述:
例如,假设本实施例中预设的最大连续B帧数目bframes=3。
当i=2时,备选路径N=Min(bframes+1,length)=2。假设第2个子集合的备选路径之一为{xp},其中x表示未知帧类型。
执行步骤320:i-1=1,此时,以第1个所述子集合的最优路径{P}添加至所述尾帧P之前,得到第2个所述子集合的所述备选路径之一:{PP}。
执行步骤330:在所述P帧之前添加一个B帧,j+1=2,得到{BP},i-2=0,没有可选的第i-2个所述子集合的最优路径,则以{BP}作为第2个所述子集合的备选路径之一。
此时,得到了第2个所述子集的全部两个备选路径{PP}以及{BP},分别计算这两个备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为所述子集合的最优路径,假设本实施例中,最小路径代价值对应的最优路径为{BP}。
接下来计算i=3时,第三个子集合的最优路径。其中,第3个子集合的备选路径的个数N=Min(bframes+1,length)=3。
执行步骤320:i-1=2,此时,以第2个所述子集合的最优路径{P}添加至所述尾帧P之前,得到第3个所述子集合的所述备选路径之一:{BPP}。
执行步骤330:在所述P帧之前添加一个B帧,j+1=2,得到{xBP},i-2=1,以第1个所述子集合的最优路径添加至所述B帧之前,得到{PBP},并将{PBP}作为第3个子集合的备选路径之一。
执行步骤330:在所述P帧之前添加两个B帧,得到{BBP},j+1=3,i-3=0,没有可选的第i-3个所述子集合的最优路径,则以{BBP}作为第3个所述子集合的备选路径之一。
此时,得到了第3个所述子集的全部三个备选路径{BPP}、{BPP}以及{BBP},分别计算这三个备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为所述子集合的最优路径,假设本实施例中,最小路径代价值对应的最优路径为{BBP}。
当i=4时,计算步骤仍如上述,假设第4个子集合的最优路径为{BBBP}。为进一步说明本实施例中的细节部分,以下部分将以i=5,进一步阐述最优路径的获取过程。
接下来计算i=5时,第5个子集合的备选路径的个数N=Min(bframes+1,length)=4。
执行步骤320:i-1=4,此时,以第4个所述子集合的最优路径{BBBP}添加至所述尾帧P之前,得到第5个所述子集合的所述备选路径之一:{BBBPP}。
执行步骤330:在所述P帧之前添加一个B帧,得到{xxxBP},j+1=2,i-2=3,以第3个所述子集合的最优路径添加至所述B帧之前,得到{BBPBP},并将{BBPBP}作为第5个子集合的备选路径之一。
执行步骤330:在所述P帧之前添加两个B帧,得到{xxBBP},j+1=3,i-3=2,以第2个所述子集合的最优路径添加至所述B帧之前,得到{BPBBP},并将{BPBBP}作为第5个子集合的备选路径之一。
重复执行步骤330:在所述P帧之前添加三个B帧,得到{xBBBP},j+1=4,i-4=1,以第1个子集合的最优路径添加至B帧之前,得到{PBBBP},并将{PBBBP}作为第5个子集合的备选路径之一。
此时,得到了第5个所述子集的全部四个备选路径{BBBPP}、{BBPBP}、{BPBBP}、{PBBBP},分别计算这四个备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为所述子集合的最优路径。
实施例三
图4是本发明实施例四的技术流程图,结合图4,本发明实施例计算所述子集合的N个所述备选路径的路径代价值,具体实现过程如下:
步骤410:将所述待确定编码帧的前向非B帧添加至所述备选路径第一个元素之前以更新所述备选路径;
假设所述备选路径为BBBPP BBP,所述前向非B帧为P帧,则,更新后的所述备选路径为PBBBPP BBP。
步骤420:按照所述备选路径中非B帧的位置,将所述子集合划分为以所述非B帧为首尾的m个分组;
仍以PBBBPP BBP为例,分组结果为{PBBBP}、{PP}、{PBBP}。
步骤430:计算每个所述分组的路径代价Gcost(k),k∈[1,m];
具体地,每个所述分组的首帧和尾帧为非B帧,分别将首位两个非B帧记为P0和P1,首位非B帧中间的B帧用Bi表示。所述路径代价的具体计算方法分为如下几种情况:
1)当前分组的首尾非B帧之间B帧的个数y=0,则
Gcost(k)=FramecostP(P0,P1)。
1)当前分组的首尾非B帧之间B帧的个数y>2,记中间B帧为Bmiddle,则
对于所述中间的B帧,Gcost(k)+=FramecostB(P0,Bmiddle,P1);
对于(1,middle)区间的B帧,Gcost(k)+=FramecostB(P0,Bi,Bmiddle),其中i∈(1,middle)。
对于(middle,y)区间的B帧,Gcost(k)+=FramecostB(Bmiddle,Bi,P1),其中i∈(1,y)。
3)当前分组的首尾非B帧之间B帧的个数1=<y<=2,则
Gcost(k)=FramecostB(P0,B1,P1)+FramecostB(P0,B2,P1)。
步骤440:计算所述备选路径的路径代价值
对每一子集合的N个备选路径进行计算之后,得到每个备选路径对应的路径代价值pathCost,选取pathCost最小的值对应的备选路径即得到所述子集合的最优路径。
本实施例中,通过对每一对子集合进的备选路径行再分组,计算每个分组的最优路径代价值,从得到相应备选路径的路径代价值;通过比各个备选路径的路径代价之间进行对比,从而选出编码代价最小的备选路径作为所述子集合的最优编码路径,进一步提高了B帧位置决策准确性。
实施例四
图5是本发明实施例五的技术流程图,以下部分将结合图5,以一个实例,阐述本发明实施例四中Framecost的计算过程。
步骤510:计算每一个所述分组的首尾非B帧之间的残差R;
以P0(x,y)、P1(x,y),表示首帧P0和尾帧P1帧每个像素点,以h表示P0、P1的高度,以w表示P0、P1的宽度,则R(x,y)=P1(x,y)-P0(x,y)
例如,得到的R(x,y)可以为:
- 1 - 5 - 2 - 3 - 7 - 4 - 3 - 8 - 4 - 4 - 1 - 2 - 6 - 8 - 9 - 5 - 2 - 3 - 5 - 4 - 5 - 8 - 7 - 4 2 - 3 - 2 - 3 - 6 - 2 0 1 1 - 1 5 - 7 - 5 - 6 - 4 - 3 0 - 5 - 8 - 3 - 5 - 1 - 1 - 5 - 3 - 9 - 3 - 5 - 5 - 5 - 8 - 7 10 - 2 2 - 3 - 5 - 7 - 6 1
步骤520:计算所述残差R的哈达玛变换值HAD(R);
哈达玛变换是利用哈达玛矩阵作为变换矩阵新实施的遥感多光谱域变换。哈达玛矩阵为一个对称的正交矩阵。哈达变换实际是将坐标轴旋转45°的正交变换。
具体做法是,将R(x,y)分为n个4x4块:Ri,i∈[0,n],例如承接上一步的例子,可以得到如下四个子块:
- 1 - 5 - 2 - 3 - 4 - 4 - 1 - 2 - 2 - 3 - 5 - 4 2 - 3 - 2 - 3 - 7 - 4 - 3 - 8 - 6 - 8 - 9 - 5 - 5 - 8 - 7 - 4 - 6 - 2 0 1 1 - 1 - 5 - 7 0 - 5 - 8 - 3 - 3 - 9 - 3 - 5 - 10 - 2 2 - 3 - 5 - 6 - 4 - 3 - 5 - 1 - 1 - 5 - 5 - 5 - 8 - 7 - 5 - 7 - 6 1
对每个Ri作哈达玛变换:
H A D ( R i ) = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1 R i 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1
例如:
H A D ( R 0 ) = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1 * -1 -5 -2 -3 -4 -4 -1 -2 -2 -3 -5 -4 2 -3 -2 -3 * 1 1 1 1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 = -42 2 8 12 -2 -14 -4 0 8 4 6 10 -8 4 2 -2
步骤530:根据所述哈达玛变换值HAD(R)计算cost(Ri);
cos t ( R i ) = &Sigma; x = 0 , y = 0 x < n , y < n a b s ( H A D ( R i ) )
例如,承接上述例子,可得到如下结果:
cos t ( ( R 0 ) ) = &Sigma; x = 0 , y = 0 x < 4 , y < 4 a b s ( H A D ( R 0 ) ) = 128
步骤540:根据cost(Ri)计算Framecost。
具体地, F r a m e cos t P = &Sigma; i = 0 n cos t ( R i )
对于FramecostB(P0,Bi,P1),其残差块R的计算方式为:
R ( x , y ) = B i ( x , y ) - P 0 ( x , y ) a b s ( B i ( x , y ) - P 0 ( x , y ) ) < = a b s ( B i ( x , y ) - P 1 ( x , y ) ) B i ( x , y ) - P 1 ( x , y ) a b s ( B i ( x , y ) - P 0 ( x , y ) ) > a b s ( B i ( x , y ) - P 1 ( x , y ) )
得到所述残差块R之后,根据上述步骤计算FramecostB,此处不再赘述。
本实施例通过计算首位非B帧之间的残差,将所述残差划分为子块并分别计算每个子块的哈达玛变换值并根据所述哈达玛变换值求取按照当前路径编码的代价值,为每个子集合最优路径的选择做了良好的铺垫。
实施例五
图6是本发明实施例六的装置结构示意图,结合图6,本发明实施例一种B帧位置决策装置,主包括如下的模块:数据获取模块610、分组模块620、决策模块630。
所述数据获取模块610,用于获取待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;
所述分组模块620,用于将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;
所述决策模块630,用于计算每个所述子集合的最优路径,并根据所述最优路径进行B帧位置决策。
所述决策模块630,具体用于执行如下步骤:
步骤a1:计算第i个所述子集合的备选路径个数N,其中,初始化i=1,i∈[1,n],n为所述子集合的总个数,其中,第i个所述子集合中包含i个元素;
步骤a2:结合第i-1至第i-N个所述子集合的最优路径,分别获取第i个所述子集合的N个备选路径;
步骤a3:分别计算所述N个所述备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为第i个所述子集合的最优路径,i++;
当i=n时,从第n个所述子集合的所述最优路径中获取B帧的位置。
针对所述步骤a3,所述决策模块630,具体用于执行如下步骤:
步骤b1:将所述待确定编码帧的前向非B帧添加至所述备选路径第一个元素之前以更新所述备选路径;
步骤b2:按照所述备选路径中非B帧的位置,将所述子集合划分为以所述非B帧为首尾的m个分组;
步骤b3:计算每个所述分组的路径代价Gcost(k),k∈[1,m];
步骤b4:计算所述备选路径的路径代价值
针对所述步骤a2,所述决策模块630,具体用于执行如下步骤:
当i=1时,以P帧为唯一的所述最优路径;
当i>1时,进一步包括如下步骤:
步骤c1:以P帧为尾帧,将第i-1个所述子集合的最优路径添加至所述尾帧之前作为所述备选路径之一;
步骤c2:在所述P帧之前添加j个B帧,将第i-(j+1)个所述子集合的最优路径添加至所述P帧之前作为所述备选路径之一,其中,初始化j=1,j∈[1,bframes],bframes为预设的最大连续B帧数目,j++;
执行步骤c2,直至获取所述子集合的N个所述备选路径。
针对所述步骤a1,所述决策模块630,具体用于执行如下步骤:
N=Min(bframes+1,length),其中length为当前的子集合中元素的数量,bframes为预设的最大连续B帧数目,Min()为取最小值函数。
图6所示装置可以执行图1~图5所示实施例的方法,实现原理和技术效果参考图1~图5所示实施例,不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种B帧位置决策方法,其特征在于,包括如下的步骤:
获取待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;
将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;
计算每个所述子集合的最优的路径,并根据所述最优路径进行B帧位置决策。
2.根据权利要求1所述的方法,其特征在于,计算每个所述子集合的最优路径,进一步包括如下步骤:
步骤a1:计算第i个所述子集合的备选路径个数N,其中,初始化i=1,i∈[1,n],n为所述子集合的总个数,其中,第i个所述子集合中包含i个元素;
步骤a2:结合第i-1至第i-N个所述子集合的最优路径,分别获取第i个所述子集合的N个备选路径;
步骤a3:分别计算所述N个所述备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为第i个所述子集合的最优路径,i++;
当i=n时,从第n个所述子集合的所述最优路径中获取B帧的位置。
3.根据权利要求2所述的方法,其特征在于,所述步骤a3,进一步包括:
步骤b1:将所述待确定编码帧的前向非B帧添加至所述备选路径第一个元素之前以更新所述备选路径;
步骤b2:按照所述备选路径中非B帧的位置,将所述子集合划分为以所述非B帧为首尾的m个分组;
步骤b3:计算每个所述分组的路径代价Gcost(k),k∈[1,m];
步骤b4:计算所述备选路径的路径代价值
4.根据权利要求2所述的方法,其特征在于,步骤a2,进一步包括:
当i=1时,以P帧为唯一的所述最优路径;
当i>1时,进一步包括如下步骤:
步骤c1:以P帧为尾帧,将第i-1个所述子集合的最优路径添加至所述尾帧之前作为所述备选路径之一;
步骤c2:在所述P帧之前添加j个B帧,将第i-(j+1)个所述子集合的最优路径添加至所述P帧之前作为所述备选路径之一,其中,初始化j=1,j∈[1,bframes],bframes为预设的最大连续B帧数目,j++;
执行步骤c2,直至获取所述子集合的N个所述备选路径。
5.根据权利要求2所述的方法,其特征在于,所述步骤a1,进一步包括:
N=Min(bframes+1,length),其中length为当前的子集合中元素的数量,bframes为预设的最大连续B帧数目,Min()为取最小值函数。
6.一种B帧位置决策装置,其特征在于,包括如下的模块:
数据获取模块,用于获取待确定编码帧的集合,其中每一个所述待确定编码帧对应所述集合中的一个元素;
分组模块,用于将所述集合按照预设策略进行分组得到n个所述待确定编码帧的子集合;
决策模块,用于计算每个所述子集合的最优路径,并根据所述最优路径进行B帧位置决策。
7.根据权利要求6所述的装置,其特征在于,所述决策模块,具体用于执行如下步骤:
步骤a1:计算第i个所述子集合的备选路径个数N,其中,初始化i=1,i∈[1,n],n为所述子集合的总个数,其中,第i个所述子集合中包含i个元素;
步骤a2:结合第i-1至第i-N个所述子集合的最优路径,分别获取第i个所述子集合的N个备选路径;
步骤a3:分别计算所述N个所述备选路径的路径代价值,并选取最小所述路径代价值对应的备选路径作为第i个所述子集合的最优路径,i++;
当i=n时,从第n个所述子集合的所述最优路径中获取B帧的位置。
8.根据权利要求7所述的装置,其特征在于,针对所述步骤a3,所述决策模块,具体用于执行如下步骤:
步骤b1:将所述待确定编码帧的前向非B帧添加至所述备选路径第一个元素之前以更新所述备选路径;
步骤b2:按照所述备选路径中非B帧的位置,将所述子集合划分为以所述非B帧为首尾的m个分组;
步骤b3:计算每个所述分组的路径代价Gcost(k),k∈[1,m];
步骤b4:计算所述备选路径的路径代价值
9.根据权利要求7所述的装置,其特征在于,针对所述步骤a2,所述决策模块,具体用于执行如下步骤:
当i=1时,以P帧为唯一的所述最优路径;
当i>1时,进一步包括如下步骤:
步骤c1:以P帧为尾帧,将第i-1个所述子集合的最优路径添加至所述尾帧之前作为所述备选路径之一;
步骤c2:在所述P帧之前添加j个B帧,将第i-(j+1)个所述子集合的最优路径添加至所述P帧之前作为所述备选路径之一,其中,初始化j=1,j∈[1,bframes],bframes为预设的最大连续B帧数目,j++;
执行步骤c2,直至获取所述子集合的N个所述备选路径。
10.根据权利要求7所述的装置,其特征在于,针对所述步骤a1,所述决策模块,具体用于执行如下步骤:
N=Min(bframes+1,length),其中length为当前的子集合中元素的数量,bframes为预设的最大连续B帧数目,Min()为取最小值函数。
CN201510972021.4A 2015-12-22 2015-12-22 一种b帧位置决策方法及装置 Pending CN105898307A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510972021.4A CN105898307A (zh) 2015-12-22 2015-12-22 一种b帧位置决策方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510972021.4A CN105898307A (zh) 2015-12-22 2015-12-22 一种b帧位置决策方法及装置

Publications (1)

Publication Number Publication Date
CN105898307A true CN105898307A (zh) 2016-08-24

Family

ID=57002517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510972021.4A Pending CN105898307A (zh) 2015-12-22 2015-12-22 一种b帧位置决策方法及装置

Country Status (1)

Country Link
CN (1) CN105898307A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901605A (zh) * 2019-05-06 2020-11-06 阿里巴巴集团控股有限公司 视频处理方法、装置、电子设备及存储介质
CN113038124A (zh) * 2021-02-26 2021-06-25 北京达佳互联信息技术有限公司 视频编码方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060140267A1 (en) * 2004-12-28 2006-06-29 Yong He Method and apparatus for providing intra coding frame bit budget
CN101159867A (zh) * 2007-03-31 2008-04-09 红杉树(杭州)信息技术有限公司 一种基于片的自适应码率控制方法
CN101572806A (zh) * 2009-06-01 2009-11-04 北京邮电大学 一种基于h.264的i帧码率控制方法
CN101917614A (zh) * 2010-06-03 2010-12-15 北京邮电大学 一种基于h.264分层b帧编码结构的码率控制方法
CN102957932A (zh) * 2012-11-02 2013-03-06 同济大学 基于最优停止理论的编码模式快速自动选择方法
CN103916667A (zh) * 2013-01-07 2014-07-09 华为技术有限公司 一种可伸缩视频码流的编码、解码方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060140267A1 (en) * 2004-12-28 2006-06-29 Yong He Method and apparatus for providing intra coding frame bit budget
CN101159867A (zh) * 2007-03-31 2008-04-09 红杉树(杭州)信息技术有限公司 一种基于片的自适应码率控制方法
CN101572806A (zh) * 2009-06-01 2009-11-04 北京邮电大学 一种基于h.264的i帧码率控制方法
CN101917614A (zh) * 2010-06-03 2010-12-15 北京邮电大学 一种基于h.264分层b帧编码结构的码率控制方法
CN102957932A (zh) * 2012-11-02 2013-03-06 同济大学 基于最优停止理论的编码模式快速自动选择方法
CN103916667A (zh) * 2013-01-07 2014-07-09 华为技术有限公司 一种可伸缩视频码流的编码、解码方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901605A (zh) * 2019-05-06 2020-11-06 阿里巴巴集团控股有限公司 视频处理方法、装置、电子设备及存储介质
CN113038124A (zh) * 2021-02-26 2021-06-25 北京达佳互联信息技术有限公司 视频编码方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
JP7351463B2 (ja) 画像符号化方法及び装置、画像復号方法及び装置並びにプログラム
CN104661031B (zh) 用于视频图像编码和解码的方法、编码设备和解码设备
CN102970526B (zh) 一种获得变换块尺寸的方法和模块
CN107071457B (zh) 视频解码方法
CN103891290B (zh) 运动矢量处理
CN101552924B (zh) 一种用于视频编码的空间预测方法
CN100473168C (zh) 视频编码的运动矢量空间预测方法
CN104602017A (zh) 视频编码器、方法和装置及其帧间模式选择方法和装置
CN106375766B (zh) 一种光场图像压缩方法
CN107105256A (zh) 用于帧内预测的解码图像的装置
CN112055203B (zh) 帧间预测方法、视频编码方法及其相关装置
CN104754338A (zh) 一种帧内预测模式的选择方法和装置
CN105933717A (zh) 一种编码单元的模式决策方法和装置
CN106454349B (zh) 一种基于h.265视频编码的运动估计块匹配方法
CN106034235A (zh) 计算编码失真度和编码模式控制的方法及其系统
CN110365988B (zh) 一种h.265编码方法和装置
CN108989799A (zh) 一种编码单元参考帧的选择方法、装置及电子设备
CN104796701B (zh) 基于hevc的预测模式确定方法及装置
CN105898307A (zh) 一种b帧位置决策方法及装置
CN107623848B (zh) 一种视频编码方法及装置
CN107295336B (zh) 基于图像相关性的自适应快速编码单元划分方法及装置
CN103533349A (zh) 基于支持向量机的b帧快速帧间预测宏块模式选择方法
CN109996083A (zh) 帧内预测方法及装置
CN104918047B (zh) 一种双向运动估计的排除方法和装置
CN108924551A (zh) 视频图像编码模式的预测方法及相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160824