CN101621689A - Mpeg到h.264/avc视频编码转换系统 - Google Patents

Mpeg到h.264/avc视频编码转换系统 Download PDF

Info

Publication number
CN101621689A
CN101621689A CN 200910069914 CN200910069914A CN101621689A CN 101621689 A CN101621689 A CN 101621689A CN 200910069914 CN200910069914 CN 200910069914 CN 200910069914 A CN200910069914 A CN 200910069914A CN 101621689 A CN101621689 A CN 101621689A
Authority
CN
China
Prior art keywords
sum
macro block
intra
threshold value
piece
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
CN 200910069914
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.)
Tianjin University
Original Assignee
Tianjin University
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 Tianjin University filed Critical Tianjin University
Priority to CN 200910069914 priority Critical patent/CN101621689A/zh
Publication of CN101621689A publication Critical patent/CN101621689A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种MPEG到H.264/AVC的视频编码转换系统,该系统中的编码转换器将输入的MPEG码流完全解码到像素域,再进行H.264编码;编码转换器包括频域帧内模式判断模块和运动矢量MV重用&优化及频域宏块模式判断模块;其中频域帧内模式判断模块利用输入码流的VLD解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用&优化子模块和频域宏块模式,其中运动矢量重用&优化子模块将MPEG-2码流中的整像素MV直接作为H.264的整像素MV,通过快速运动矢量优化算法并获得1/4精度的MV;频域宏块模式判断子模块则通过MPEG-2解码宏块判断H.264宏块参数。与现有技术相比,本发明避免了复杂的解码-重编码处理,所需的计算量极低,采用该技术方案可以使用软件方式高效的完成转码处理,系统成本低廉,可以被广泛应用于H.264/AVC系统中,提供优质的数字视频服务。

Description

MPEG到H.264/AVC视频编码转换系统
技术领域
本发明涉及一种视频编码技术,特别是涉及利用软件方法实现两种视频编码的转换的方法。
背景技术
近年来,数字视频编码技术发展迅速,多媒体应用领域呈现出多种标准共存的局面。H.264/AVC作为国际电信联盟电信标准化部门(ITU-T)和ISO/IEC联合完成的最新视频编码标准,采用了一系列更加复杂而有效的视频压缩算法,与先前的编码标准相比,压缩性能明显提高。此外,H.264/AVC还具有抗误码性能强,易于适应网络环境和网络接口多样性等优点。H.264/AVC标准将在数字电视、IPTV以及移动多媒体服务等领域中获得广泛的应用。
然而,由于H.264/AVC标准的产业化才刚刚起步,符合H.264/AVC标准的数字多媒体资源还非常少,实际应用中急需可以提供H.264/AVC格式的硬件或软件产品,相对于提供硬件来说,利用软件的方法实现将目前应用普遍的MPEG编码转换为H.264/AVC格式是更为有效和经济的技术手段,这也成为本发明亟待解决的问题。
发明内容
鉴于上述技术问题,本发明提出了一种MPEG到H.264/AVC视频编码转换系统,在现有MPEG视频编码系统中,利用软件实现MPEG编码到H.264编码的转换,以及实现大量MPEG-2格式的码流共享为H.264/AVC格式。
本发明提出了一种MPEG到H.264/AVC的视频编码转换系统,其特征在于,MPEG节目流或传输流首先经过MPEG系统层解复用模块,解复用后分别提取出MPEG视频数据、音频及其他数据;解复用得到的MPEG音频数据及其他数据直接送入后端的MPEG系统层复用模块;而解复用输出的MPEG视频数据通过编码转换器被转码为H.264格式,然后送入MPEG系统层复用模块,编码转换器将输入的MPEG码流完全解码到像素域,再进行H.264编码;编码转换器包括频域帧内模式判断模块和运动矢量MV重用&优化及频域宏块模式判断模块;其中频域帧内模式判断模块利用输入码流的VLD解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用&优化子模块和频域宏块模式,其中运动矢量重用&优化子模块将MPEG-2码流中的整像素运动矢量MV直接作为H.264的整像素运动矢量MV,再通过快速运动矢量优化算法获得1/4精度的运动矢量MV;频域宏块模式判断子模块则通过MPEG-2解码宏块判断H.264宏块参数。
所述频域帧内模式判断模块的算法,包括以下步骤:
步骤一、判断预测宏块的大小采用Intra_16x16还是Intra_4×4:
1)计算预测宏块各子块的DC系数的均方差Msd(DC),即
Msd ( DC ) = Var ( DC ) = Σ i = 1 n ( DC i - DC ‾ ) 2 , DC ‾ = ( Σ i = 1 n D C i ) / n
Var(DC)为DC系数的方差,DCi表示各子块的DCT系数矩阵的DC值,DC表示各子块DC系数的均值,n表示预测块的子块数;
若Msd(DC)大于或等于阈值TH_DC,确定编码端帧内预测块用4×4块大小进行预测编码;若Msd(DC)小于阈值TH_DC,转入步骤2);其中,阈值TH_DC在各个Qp下的取值见阈值表11;
2)计算预测宏块各子块的DCT系数矩阵的AC系数绝对和,即
Sum _ A C i = Σ j = 2 n = 64 | X j |
AC表示宏块中各子块的AC系数,Sum_ACi的i取0~n-1,分别表示宏块中各子块的AC系数绝对和;Xj中j取2~64,表示一个DCT系数矩阵的63个AC系数;
如果四个AC系数绝对和不大于阈值TH_SUM_AC,用16×16块进行预测编码;反之,如果四个AC系数绝对和大于阈值TH_SUM_AC,用4×4块进行预测编码;其中,阈值TH_SUM_AC在各个Qp下的取值见阈值表11;
步骤二、若上述预测结果是Intra_16x16,则判定Intra_16x16预测模式:
如果某一宏块的UP1、UP2、LEFT1、LEFT2邻块都不存在,则用Intra_16×16_DC预测模式;如果宏块只有UP1、UP2邻块,那么在Intra_16×16_DC和Intra_16×16_Vertical中选择;如果宏块只有LEFT1、LEFT2邻块,则在Intra_16×16_DC和Intra_16×16_Horizontal中选择;对UP1、UP2、LEFT1、LEFT2邻块同时存在的待编码宏块,则从4种预测方式即Intra_16×16_Vertical、Intra_16×16_Horizontal、Intra_16×16_DC和Intra_16×16_Plane中选择;
步骤三、若上述预测结果是Intra_4x4,判定Intra_4x4预测模式
1)计算当前4×4子块的AC系数绝对和,记作AC_AS_4,即
AC _ AS _ 4 = Σ i = 1 7 | AC [ i ] |
AC[i]表示当前8×8块DCT系数矩阵第一行或第一列的AC系数,水平方向预测用第一行的AC系数,垂直方向预测用第一列的AC系数;
计算当前4×4块与上边或左边4×4块的绝对AC系数和,记作AC_ADS_4。
AC _ ADS _ 4 = Σ i = 1 7 | AC [ i ] - AC _ ref [ i ] |
AC_ref[i]表示对应参考块的8×8DCT系数矩阵第一行或第一列的AC系数,水平预测的时候用当前块和参考块的第一行AC系数,垂直预测的时候用当前块和参考块的第一列AC系数;
计算内部预测值,记作DC_DI_4,即
DC_DI_4=2|AC[0]|
其中AC[0]是当前宏块第一行或第一列中的第一个AC系数值,水平预测的时候用第一行的第一个AC系数,能够表示当前块左边和右边的能量差,可近似认为是左右两部分的亮度差异。垂直预测的时候用第一列的第一个AC系数;
计算外部预测值,记作DC_DO_4,即
DC_DO_4=|DC_ref-DC|
其中DC_ref是参考块的DC值,DC是当前块的DC值;
2)若水平类预测是内部预测,则使用两个判据,即当前4×4子块的AC系数绝对和AC_AS_4以及内部预测值DC_DI_4:当AC_AS_4小于阈值TH_AC_AS,且DC_DI_4小于阈值TH_DC_DI时,判定当前子块用水平类预测,且取DC_DI_4作为第四步的判断是否使用水平预测的DC_H,否则该子块不能用水平类预测;
若垂直类预测是内部预测,则使用两个判据,即当前4×4子块的AC系数绝对和AC_AS_4以及内部预测值DC_DI_4:当AC_AS_4小于阈值TH_AC_AS,且DC_DI_4小于阈值TH_DC_DI时,判定当前子块用垂直类预测,且取DC_DI_4作第四步的判断是否使用垂直预测的DC_V,否则该子块不能用垂直类预测;
3)若水平类预测是外部预测,则使用两个判据,即当前4×4块与上边或左边4×4块的绝对AC系数和AC_ADS_4以及外部预测值DC_DO_4;当AC_ADS_4小于阈值TH_AC_ADS,且DC_DO_4小于阈值TH_DC_DO时,判定当前子块用水平类预测,且取DC_DO_4作第四步的DC_H,否则该子块不能用水平类预测;
若垂直类预测是外部预测,则使用两个判据:AC_ADS_4和DC_DO_4,当AC_ADS_4小于阈值TH_AC_ADS,且DC_DO_4小于阈值TH_DC_DO时,判定当前子块用垂直类预测,且取DC_DO_4作第四步的DC_V,否则该子块不能用垂直类预测;
4)若上述水平类预测和垂直类预测同时不可用,该子块采用DC类预测;若水平类和垂直类同时可用,则比较DC_H和DC_V,假如前者小于后者,那么用水平类预测,若后者小于前者,则用垂直类预测;若仅一种类可用,则用相应类预测。
以上步骤获得当前子块的预测类,然后进行像素域预测来确定最佳预测模式。
所述频域宏块模式判断模块针对P、B图像中帧内编码模式的算法包括以下步骤:
若MPEG-2编码时宏块采用帧内编码模式,将宏块在转码器的编码端直接映射成帧内编码模式,MPEG-2的P帧内同时存在帧内和帧间编码宏块,由于判断帧内预测模式的需要(见频域帧内模式判断模块),应该对上边和左边的宏块进行DCT域运动补偿,得到上边和左边宏块亮度的DCT系数矩阵。
所述频域宏块模式判断模块针对跳过编码模式的算法包括以下步骤:
若MPEG-2编码时宏块采用跳过编码模式,由于MPEG-2和H.264对跳过模式定义不一致,故需要根据H.264标准的跳过模式的条件进行判断,H.264标准跳过模式的条件为:运动矢量残差为0,像素残差为0。若满足上面条件,即可判断为跳过编码模式。
所述频域宏块模式判断模块针对帧间预测编码模式的算法包括以下步骤:
若宏块无残差,在编码转换时直接选择P_16×16模式;
若宏块有残差,则利用4个DCT系数矩阵反映该宏块与预测宏块间的残差,按以下步骤判定H.264/AVC编码端宏块编码模式。
步骤一、分别计算1个宏块的4个子块的64个DCT系数绝对值的和,即
Sum _ x i = Σ j = 1 64 | X ij |
其中Sum_xi的i取1,2,3,4;与4个子块Mb_x1、Mb_x2、Mb_x3和Mb_x4对应,Xij为各块的DCT系数,记作:Sum_x1、Sum_x2、Sum_x3和Sum_x4;
若Min(Sum_x1,Sum_x2,Sum_x3,Sum_x4)大于阈值TH_INTER_SUM1,则该宏块用8×8预测模式;若这4个值中有三个都小于某阈值TH_INTER_SUM2,则这个宏块用16×16预测模式。如果以上两个条件都不满足,则进入步骤二。
步骤二、计算左、右各两个块的64个DCT系数绝对值的和,分别为Sum_x1x3和Sum_x2x4;计算上、下各两个块的64个DCT系数绝对值的和,分别记作Sum_x1x2和Sum_x3x4,即
Sum_x1x3=Sum_x1+Sum_x3
Sum_x2x4=Sum_x2+Sum_x4
Sum_x1x2=Sum_x1+Sum_x2
Sum_x3x4=Sum_x3+Sum_x4
根据得到的数据做如下判断:
1)若Max(Sum_x1x2,Sum_x3x4)不大于阈值(2×TH_INTER_SUM2),则这个宏块用P_16×8预测模式;如果Max(Sum_x1x3,Sum_x2x4)不大于阈值(2×TH_INTER_SUM2),那么这个宏块用P_8×16预测模式;否则进入2);
2)若Min(Sum_x1x2,Sum_x3x4)大于阈值(2×TH_INTER_SUM1),则这个宏块用P_8×8预测模式;如果Min(Sum_x1x3,Sum_x2x4)大于阈值(2×TH_INTER_SUM1),则这个宏块用P_8×8预测模式;否则进入3);
3)若Sum_x1x2、Sum_x3x4都小于阈值TH_INTER_SUM3,则用P_16×8预测模式,如果都大于阈值TH_INTER_SUM3,则用P_8×8预测模式;否则比较|Min(Sum_x1x2,Sum_x3x4)-TH_INTER_SUM3|和|Max(Sum_x1x2,Sum_x3x4)-TH_INTER_SUM3|,如果前者小,则用P_16×8预测模式,否则用P_8×8预测模式;
4)若Sum_x1x3、Sum_x2x4都小于阈值TH_INTER_SUM3,则用P_8×16预测模式,如果都大于阈值TH_INTER_SUM3,则用P_8×8预测模式;否则比较|Min(Sum_x1x3,Sum_x2x4)-TH_INTER_SUM3|和|Max(Sum_x1x3,Sum_x2x4)-TH_INTER_SUM3|,如果前者小,则用P_8×16预测模式,否则用P_8×8预测模式。
对于MPEG-2帧间编码残差很大的宏块进行帧间编码宏块的帧内编码校正的判决条件为:
currMB_bits>η×AVG_bits
其中currMB bits为当前宏块占用的比特数;AVG_bits是宏块的平均比特数,即帧总比特数除以总宏块数,η为一个系数,取值2。
所述运动矢量重用及优化模块的算法包括以下步骤:
从MPEG-2码流经过变字长解码得到半像素精度的运动矢量,再将这个运动矢量换算成整像素精度,送到H.264编码部分作为整像素搜索的运动矢量,在这个运动矢量基础上,搜索包括本点在内的周围9个半像素点,得到最优半像素精度运动矢量MV,再搜索最优半像素精度运动矢量MV周围的9个1/4像素点,最终得到最优1/4精度运动矢量MV,每个块进行半像素精度和1/4像素精度的搜索,共18个点的搜索。
所述判定Intra_16x16频域模式的步骤还包括:
对于有邻块UP1、UP2的宏块,计算这两个块的DCT系数绝对和Sum_UP,即:
Sum _ UP = Σ j = 1 64 | X 1 j | + Σ j = 1 64 | X 2 j |
式中X1j和X2j下标中的j取1~64,分别表示UP1和UP2的64个DCT系数值;若Sum_UP大于阈值TH_SUM_UP,则判此方向的块不可用,即不能选Intra_16×16_Vertical预测模式;反之判定该方向的块可用,即用Intra_16×16_Vertical预测模式;
对于有LEFT1、LEFT2邻块的宏块,计算这两个邻块的DCT系数绝对和Sum_LEFT,即
Sum _ LEFT = Σ j = 1 64 | X 1 j | + Σ j = 1 64 | X 2 j |
式中X1j和X2j下标中的j取1~64,分别表示LEFT1和LEFT2的64个DCT系数值;若Sum_LEFT大于预测阈值TH_SUM_LEFT,则判此方向的块不可用,即不可选Intra_16×16_Horizontal预测模式;反之可用Intra_16×16_Horizontal预测模式。
所述判定Intra_16x16频域模式的步骤还包括:
如果宏块的UP方向可用,计算对应位置DCT系数绝对差值和(SD_UP),即
SD _ UP = Σ k Σ i = 0 8 Σ j = 0 8 | x kij - x ′ 1 ij | + Σ l Σ i = 0 8 Σ j = 0 8 | x lij - x ′ 2 ij |
其中:xkij中的k取1、3,表示宏块中A,C两个块对应位置的DCT系数值;xlij中的l取2、4,表示宏块中的B,D两个块对应位置的DCT系数值;x′1ij表示UP1块对应位置的DCT系数值;x′2ij表示UP2对应位置的DCT系数值;
如果LEFT方向可用,计算对应位置的DCT系数绝对差值和(SD_LEFT),即
SD _ LEFT = Σ k Σ i = 0 8 Σ j = 0 8 | x kij - x ′ 1 ij | + Σ l Σ i = 0 8 Σ j = 0 8 | x lij - x ′ 2 ij |
其中:xkij中的k取1、2,表示宏块中A,B两个块对应位置的DCT系数值;xlij中的l取3、4,表示宏块中C,D两个块对应位置的DCT系数值;x′1ij表示LEFT1块对应位置的DCT系数值;x′2ij表示LEFT2块对应位置的DCT系数值。
对所得DCT系数绝对差值和进行如下分析:
(1)如果宏块仅UP方向可用,且SD_UP小于阈值TH_SD_UP,则该宏块用Intra_16×16_Vertical模式;如果SD_UP不小于阈值TH_SD_UP,则判该宏块用Intra_16×16_DC模式。
(2)如果宏块仅LEFT方向可用,且SD_LEFT小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_Horizontal模式;如果SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_DC模式。
(3)如果宏块UP和LEFT方向均可用,则需进一步分析:
(i)如果SD_UP不小于阈值TH_SD_UP,且SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_DC模式。
(ii)如果SD_UP小于阈值TH_SD_UP,且SD_LEFT小于阈值TH_SD_LEFT,则宏块用Intra_16×16_Plane模式。
(iii)如果SD_UP小于阈值TH_SD_UP,SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_Vertical模式;如果SD_LEFT小于阈值TH_SD_LEFT,SD_UP不小于阈值TH_SD_UP,则该宏块用Intra_16×16_Horizontal模式。
上述所有阈值在各个Qp下的取值见阈值表11。
与现有技术相比,本发明所提供的MPEG-2到H.264/AVC的高效转换编码技术,避免了复杂的解码-重编码处理,所需的计算量极低,有着非常广阔的应用前景。实验表明,采用该技术方案可以使用软件方式高效的完成转码处理,系统成本低廉,可以被广泛应用于H.264/AVC系统中,提供优质的数字视频服务。
附图说明
图1为本发明的MPEG到H.264/AVC的视频编码转换系统结构图;
图2为待编码宏块及与周边8×8块的关系图;
图3为分成4个4×4块的8×8块及与周边4×4块的关系图;
图4为宏块的4个DCT系数矩阵图;
图5为Mobile测试序列的R-D曲线图;
图6为Foreman测试序列的R-D曲线图;
图7为Flower测试序列的R-D曲线图;
图8为Flower测试序列的R-D曲线图;
图9为Mother测试序列的R-D曲线图。
具体实施方式
实际应用中的数字多媒体资源主要为MPEG-2标准格式,MPEG-2标准的多媒体资源可以分为节目流(PS)和传输流(TS)两种,针对这两种格式,采用本发明的编码转换系统完成从MPEG-2标准格式到H.264标准格式的编码转换。由于H.264标准中的系统层和音频编码标准均可兼容MPEG标准的系统层和音频标准,因此,本发明的编码转换系统中,对系统层和音频编码标准复用采用了符合MPEG标准的技术。
如图1所示,为MPEG到H.264/AVC的视频编码转换系统结构图,MPEG节目流(PS)或传输流(TS)首先经过“MPEG系统层解复用”模块11,解复用后分别提取出MPEG视频数据、音频及其他数据;其中解复用得到的MPEG音频数据及其他数据不进行转码处理,直接送入后端的“MPEG系统层复用”模块13;而解复用输出的MPEG视频数据通过编码转换器12被转码为H.264格式,然后送入“MPEG系统层复用”模块13。其中,编码转换器12将MPEG格式视频数据转换成H.264格式视频数据的处理结构见图1中的虚线方框部分,该转换器将输入的MPEG码流完全解码到像素域,再进行H.264编码:MPEG到H.264的转码器中的关键处理模块为转换器12中的频域帧内模式判断模块121和运动矢量MV重用&优化及频域宏块模式判断模块122,还包括硬件部分,包括变长解码(VLD)、反量化(IQ)、反向离散余弦转换器(IDCT)、运动补偿(MC)等。但是,与传统的简单级联编码转换器结构(解码器和编码器级联)不同的是,本发明编码转换器12充分利用了MPEG-2解码信息,在H.264编码某宏块之前就基本确定了该宏块的编码参数,在H.264编码器中直接编码,而不是采用遍历式的编码转换方式。
其中,“频域帧内模式判断”模块121利用输入码流的VLD解码再反量化后的DCT系数进行帧内预测模式判断;“运动矢量(MV)重用&优化及频域宏块模式判断”模块122中的运动矢量重用&优化子模块将MPEG-2码流中的整像素MV直接作为H.264的整像素MV,再通过快速运动矢量优化算法并获得1/4精度的MV;频域宏块模式判断子模块则通过MPEG-2解码宏块的编码类型、编码比特数信息,快速判断H.264宏块的编码类型,尺寸划分等参数,采用这两个子模块可以极大地降低转码计算量。
H.264标准支持使用环路滤波处理来保证低码率条件下的视频质量,但是,本专利所提出的转换结构主要针对数字电视和IPTV应用,输出码流码率较高,块效应并不是很明显,因此没有使用。以下将对本专利中的主要算法模块-“频域帧内预测模式判断”和“运动矢量重用&优化及频域宏块模式判断”进行详细介绍。
一、频域帧内模式判断模块算法
对于帧内亮度宏块,H.264标准支持16x16和4x4两种块大小的帧内预测,分别对应Intra_16x16和Intra_4x4两种模式。其中,Intra_16x16有4种预测模式可供选择,分别是垂直、水平、DC和平面预测;Intra_4x4有9种预测模式可供选择,分别是垂直、水平、DC、下左对角线、下右对角线、右垂直、下水平、左垂直、上水平。
Intra_4×4模式下对每个4×4亮度信号块都单独进行预测,这对图像中部分区域的细节可以描述得很好。Intra_16×16模式则对16×16的亮度信号块进行预测,更适合对图像平坦区编码。
H.264的标准编码器JM10.1采用遍历的方法计算Intra_16x16和Intra_4×4模式各预测方向的rd_cost,选择最小值对应的预测模式为该宏块的预测模式。这样做固然可以获得最优预测模式,但所需要的计算量非常巨大。为了最大限度的减少计算量,本专利提出两步法进行快速帧内预测:第一步判断预测块尺寸,即采用Intra_16x16还是Intra_4×4;第二步判断Intra_16x16对应4种预测模式中哪个为最佳。如果第一步中选用Intra_4×4,则判断Intra_4x4对应9种预测模式中哪个为最佳。
第一步:编码宏块尺寸的确定
像素信息经DCT变换后的DCT系数矩阵有如下特点:当宏块包含的纹理信息较少时,DCT系数矩阵非0系数很少,甚至仅有DC系数;当宏块含较多纹理信息时,DCT系数矩阵所含非0系数较多。而DCT系数矩阵中的DC系数值大小反映宏块整体能量的大小。按H.264/AVC标准进行预测时,对图像的平坦区宜采用大尺寸16×16分块,而对细节多,运动复杂的图像区域,则适合采用小尺寸4×4分块。据此,本专利提出如下判断算法来确定转换编码中编码端帧内预测块的大小。
1)利用直流系数判断:
对某一宏块(如图2所示),假定已知其A、B、C、D四个子块的8×8DCT系数矩阵。取每个子块的DCT系数矩阵的DC值,记作DC_A,DC_B,DC_C,DC_D。
若各块DC系数的方差为均方差Msd(DC),计算如式(1)所示。
Msd ( DC ) = Var ( DC ) = Σ i = 1 4 ( DC i - DC ‾ ) 2 - - - ( 1 )
DC ‾ = ( Σ i = 1 4 DC i ) / 4
同理,若某宏块包括n个8x8块,则上述公式(1)中i取1~n。若Msd(DC)小于阈值TH_DC,则该宏块的四个8x8块所含能量接近,进入2);否则可知该宏块的四个块的能量有很大差异,于是可判断用4×4块大小进行预测编码。
2)利用交流系数进行判断:
像素值经DCT变换后得DCT系数矩阵,其AC系数反映整个宏块的纹理信息。由式错误!未找到引用源。可得一宏块的4个DCT系数矩阵的4组AC系数绝对和。如果这4个AC系数和不大于阈值TH_SUM_AC,那么可判定这个宏块比较平坦,应该用16×16块进行预测编码。反之,可判定该宏块含较多纹理信息,适合用4×4块进行预测编码。
Sum _ AC i = Σ j = 2 n = 64 | X j | - - - ( 2 )
其中Sum_ACi的i取0~3,分别表示图2中A、B、C、D四个块的AC系数绝对和;Xj的j取2~64,是一个DCT系数矩阵的63个AC系数。
第二步:Intra_16x16和Intra_4x4最佳预测模式的判定
1.Intra_16x16最佳预测模式的判定
H.264/AVC对16×16预测块有4种预测方式供选用。本节重点讨论如何快速判定待编码宏块预测方式。频域模式判断的过程如下:
1)利用宏块位置进行频域模式判断
H.264/AVC标准规定用宏块相邻像素预测,对某一宏块(如图2所示),如果UP1、UP2、LEFT1、LEFT2邻块都不存在,则直接用Intra_16×16_DC预测模式。如果宏块只有UP1、UP2邻块,则只需在Intra_16×16_DC和Intra_16×16_Vertical中选择;如果宏块只有LEFT1、LEFT2邻块,就只需在Intra_16×16_DC和Intra_16×16_Horizontal中选择;对于UP1、UP2、LEFT1、LEFT2邻块同时存在的待编码宏块,则需要从4种预测方式即Intra_16×16_Vertical、Intra_16×16_Horizontal、Intra_16×16_DC和Intra_16×16_Plane中选择。
2)利用宏块的可用性进行频域模式判断
H.264/AVC规定用宏块的相邻像素预测,对某宏块,即使UP1、UP2、LEFT1、LEFT2都存在(图2),受允许的预测误差阈值限制,也不一定选用对应方向的预测。考虑本文在频域预测,尽管DCT系数可反映块纹理信息,但只是整体上反映,无法确切反映块中某行或某列信息。为此,本文首先分析DCT系数矩阵,如果该宏块较平坦,那么可用DCT系数预测某一行或某一列信息。判定方法如下:
对存在邻块UP1、UP2的宏块(图2),按式(3)计算这两个块的DCT系数绝对和Sum_UP。若Sum_UP大于阈值TH_SUM_UP,则判此方向的块不可用,即不能选Intra_16×16_Vertical预测模式;反之判该方向的块可用,即用Intra_16×16_Vertical预测模式。
Sum _ UP = Σ j = 1 64 | X 1 j | + Σ j = 1 64 | X 2 j | - - - ( 3 )
式中X1j和X2j下标中的j取1~64,分别表示UP1和UP2的64个DCT系数值。
对有LEFT1、LEFT2的宏块,用式(4)计算这两个邻块的DCT系数绝对和Sum_LEFT。若Sum_LEFT大于预测阈值TH_SUM_LEFT,则判该方向的块不可用,即不可选Intra_16×16_Horizontal预测模式;反之可用Intra_16×16_Horizontal预测模式。
Sum _ LEFT = Σ j = 1 64 | X 1 j | + Σ j = 1 64 | X 2 j | - - - ( 4 )
式中X1j和X2j下标中的j取1~64,分别表示LEFT1和LEFT2的64个DCT系数值。
3)预测模式的判定
通过1)和2),可初步判定待编码宏块可能的预测模式。如果宏块的UP方向可用,那么就用式(5)计算对应位置DCT系数绝对差值和(SD_UP)。同理,若LEFT方向可用,则用式(6)计算对应位置的DCT系数绝对差值和(SD_LEFT)。
SD _ UP = Σ k Σ i = 0 8 Σ j = 0 8 | x kij - x ′ 1 ij | + Σ l Σ i = 0 8 Σ j = 0 8 | x lij - x ′ 2 ij | - - - ( 5 )
其中:xkij中的k取1、3,表示宏块中A,C两个块对应位置的DCT系数值;xlij中的l取2、4,表示宏块中的B,D两个块对应位置的DCT系数值;x′1ij表示UP1块对应位置的DCT系数值;x′2ij表示UP2对应位置的DCT系数值。
SD _ LEFT = Σ k Σ i = 0 8 Σ j = 0 8 | x kij - x ′ 1 ij | + Σ l Σ i = 0 8 Σ j = 0 8 | x lij - x ′ 2 ij | - - - ( 6 )
其中:xkij中的k取1、2,表示宏块中A,B两个块对应位置的DCT系数值;xlij中的l取3、4,表示宏块中C,D两个块对应位置的DCT系数值;x′1ij表示LEFT1块对应位置的DCT系数值;x′2ij表示LEFT2块对应位置的DCT系数值。
对所得DCT系数绝对差值和进行如下分析:
(1)如果宏块仅有UP方向可用,且SD_UP小于阈值TH_SD_UP,则该宏块用Intra_16×16_Vertical模式;如果SD_UP不小于阈值TH_SD_UP,则判该宏块用Intra_16×16_DC模式。
(2)如果宏块仅有LEFT方向可用,且SD_LEFT小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_Horizontal模式;如果SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_DC模式。
(3)如果宏块UP和LEFT方向均可用,则需进一步分析:
(i)若SD_UP不小于阈值TH_SD_UP,且SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_DC模式。
(ii)如果SD_UP小于阈值TH_SD_UP,且SD_LEFT小于阈值TH_SD_LEFT,那么判此宏块用Intra_16×16_Plane模式。
(iii)若SD_UP小于阈值TH_SD_UP,SD_LEFT不小于阈值TH_SD_LEFT,则判该宏块用Intra_16×16_Vertical模式。如果SD_LEFT小于阈值TH_SD_LEFT,SD_UP不小于阈值TH_SD_UP,则判其用Intra_16×16_Horizontal模式。
2.Intra_4x4最佳预测模式的判定
当一个16×16宏块用Intra_4×4方式进行块分割预测时,这个宏块共分成16个4×4子块。其中,宏块的每个8×8块分成4个4×4子块,它们单独进行预测编码。
为了利用DCT信息进行Intra_4×4模式判定,首先将H.264/AVC标准支持4×4块的9种预测方式分成3类:DC类、水平类和垂直类。其中,DC类包括Intra_4×4_DC;水平类包括Intra_4×4_Horizontal、Intra_4×4_Horizontal_Down、Intra_4×4_Horizontal_Up和Intra_4×4_Diagonal_Down_Right;垂直类包括:Intra_4×4_Vertical、Intra_4×4_Vertical_Left、Intra_4×4_Vertical_Right和Intra_4×4_Diagonal_Down_Left。其次由子块所在8×8块的DCT系数矩阵得到对应4×4子块的纹理信息,通过分析子块的纹理信息,对子块进行归类。最后用H.264参考软件JM10.1的算法,判定子块所用预测模式。
当参考像素不在当前8×8块中时,需要用周边块进行判定,本专利称这种情况为外部预测。如图3中的BLOCK1,其水平和垂直方向的参考像素需要参考左边和上边对应位置的像素,这些像素不包括在本块中,对其预测称外部预测。如果参考像素在本块中,则可用本块的信息判定,这种情况专利称内部预测,如BLOCK4,使用BLOCK2和BLOCK3中的像素来预测。
下面通过5个步骤判定4×4子块预测模式:
(1)用式(7)计算当前4×4子块的AC系数绝对和,记作AC_AS_4。
AC _ AS _ 4 = Σ i = 1 7 | AC [ i ] | - - - ( 7 )
其中AC[i]表示当前8×8块DCT系数矩阵第一行或第一列的AC系数,水平方向预测用第一行的AC系数,垂直方向预测用第一列的AC系数。
用式(8)计算当前4×4块与上边或左边4×4块的绝对AC系数和,记作AC_ADS_4。
AC _ ADS _ 4 = Σ i = 1 7 | AC [ i ] - AC _ ref [ i ] | - - - ( 8 )
其中AC_ref[i]表示对应参考块的8×8DCT系数矩阵第一行或第一列的AC系数,水平预测的时候用当前块和参考块的第一行AC系数,垂直预测的时候用当前块和参考块的第一列AC系数。
用式(9)计算内部预测值,记作DC_DI_4。
DC_DI_4=2|AC[0]|(9)
其中AC[0]是当前宏块第一行或第一列中的第一个AC系数值,水平预测的时候用第一行的第一个AC系数,能够表示当前块左边和右边的能量差,可近似认为是左右两部分的亮度差异。垂直预测的时候用第一列的第一个AC系数。
用式(10)计算外部预测值,记作DC_DO_4。
DC_DO_4=|DC_ref-DC|(10)
其中DC_ref是参考块的DC值,DC是当前块的DC值。
(2)如果水平预测是内部预测,那么可用两个判据:AC_AS_4和DC_DI_4。当AC_AS_4小于阈值TH_AC_AS,且DC_DI_4小于阈值TH_DC_DI时,可判定当前子块用水平类预测,且取DC_DI_4作为第四步的DC_H,否则该子块不能用水平类预测。同理,若垂直预测是内部预测,则可得两个判据:AC_AS_4和DC_DI_4。当AC_AS_4小于阈值TH_AC_AS,且DC_DI_4小于阈值TH_DC_DI时,可判当前子块用垂直类预测,且取DC_DI_4作第四步的DC_V,否则该子块不能用垂直类预测。
(3)如果水平预测是外部预测,那么可得两个判据:AC_ADS_4和DC_DO_4。当AC_ADS_4小于阈值TH_AC_ADS,且DC_DO_4小于阈值TH_DC_DO时,可判当前子块用水平类预测,且取DC_DO_4作第四步的DC_H,否则该子块不能用水平类预测。同理,若垂直预测是外部预测,则得两个判据:AC_ADS_4和DC_DO_4。当AC_ADS_4小于阈值TH_AC_ADS,且DC_DO_4小于阈值TH_DC_DO时,可判当前子块用垂直类预测,且取DC_DO_4作第四步的DC_V,否则该子块不能用垂直类预测。
(4)当水平类和垂直类同时不可用时,这个子块采用DC类预测;若水平类和垂直类同时可用,则比较DC_H和DC_V,假如前者小于后者,那么用水平类,若后者小于前者,则用垂直类;若仅一种类可用,则用相应类预测。
(5)通过以上步骤可得当前子块可用的预测类。然后进行像素域预测来确定最佳预测模式。
二、帧间宏块模式判断快速算法
1.宏块编码类型映射和宏块预测尺寸说明
对于帧间宏块,H.264/AVC标准提供了多种编码类型。虽然MPEG-2宏块编码类型不能和H.264/AVC宏块编码类型一一对应,不能在编码端被直接使用,但是它却能反映出图像的区域特性,从而根据这些区域特性判断H.264/AVC宏块的编码类型。表1、表2给出了转换编码过程中MPEG-2帧间宏块编码类型到H.264/AVC帧间宏块编码类型的转换初始化映射表。
表1P帧宏块编码类型初始化映射表
表2B帧宏块编码类型初始化映射表
Figure G2009100699142D00142
表2中,W、H分别表示帧间预测块的宽和高,均可取8和16,组合起来代表宏块的16×16、16×8、8×16和8×8分块模式。
在MPEG-2中,帧间宏块预测尺寸为16×16或16×8,预测残差进行8×8DCT,得8×8DCT系数矩阵。H.264/AVC标准规定每个帧间宏块(16×16像素)可按4种方式分割:1个16×16、2个16×8、2个8×16或4个8×8。若采用8×8模式,每个子宏块还可进一步分割成:1个8×8、2个8×4、2个4×8或4个4×4。这些分割大大提高了各宏块之间的关联性。但每种分割或子宏块都各自进行运动补偿,各个MV都需要进行编码和传输,分割方式也需要在比特流中表示。对大的分割尺寸而言,MV和分割方式只需较少比特,但运动补偿残差在多细节区将加大。小尺寸分割的运动补偿残差能量低,但需较多比特表征MV和分割类型。两种情况表明,分割尺寸的选择影响着压缩率的高低。
理论上,运动补偿的分块越小,得到的残差图像能量就越小。然而,运动补偿的分块越小,也造成了搜索算法复杂度的上升(有更多分块需比较),所需传输的运动矢量数目也更多。传输这些运动矢量带来的额外比特消耗可能会高于降低残差图像能量而节省的比特数。
有文献显示,更小的分块8×4、4×8、4×4的引入,对图像质量的提高并不明显(0.1dB左右),然而运动补偿的复杂度大大增加(编码时间增加25%),码率也有相应增加。鉴于此,本专利并不引入更小的分块8×4、4×8、4×4。对一个16×16的宏块,本专利采用的宏块预测尺寸有16×16、16×8、8×16和8×8。
2.频域帧间预测模式判定快速算法
MPEG-2编码P帧时,宏块编码模式有帧内编码、帧间预测编码和跳过宏块三种。帧间预测编码又分:有运动矢量,有预测残差;有运动矢量,无预测残差;无运动矢量,有预测残差三种模式。H.264/AVC编码P帧时,宏块编码同样有帧内编码、帧间预测编码和跳过宏块三种,但与MPEG-2有下列重要差别:
(1)帧内编码:H.264/AVC采用预测编码来去除图像的空间相关性,MPEG-2则直接编码。
(2)帧间编码:H.264/AVC比MPEG-2有更多的块尺寸分割方式,并可用多参考帧预测。
(3)跳过宏块:MPEG-2规定当前块与参考帧相同位置块的预测残差为0(MV为0,残差为0)时,该宏块用跳过模式。而H.264/AVC与MPEG-2的差异在于不是MV为0,而是PMV(预测MV与实际MV的差值)为0。
从输入的MPEG-2码流中,可以得到各宏块的编码模式。若某宏块(如图4所示)是帧内编码,由解码的4个DCT系数矩阵(Mb_×1、Mb_×2、Mb_×3、Mb_×4),按前面的算法可导出该宏块的纹理信息,其中需要考虑UP和LEFT宏块是帧间宏块的情况。对帧间编码宏块,解码的DCT系数矩阵(Mb_×1、M_b×2、Mb_×3、Mb_×4)反映该宏块与预测宏块之差。对跳过宏块,不包含DCT系数。这三种编码宏块在转码器的编码端需转换到H.264/AVC目标码流中。对此,本文经实验研究,提出了下列算法。
考虑到编码一个帧间宏块可以有不同的编码模式,下面将针对每一种情况提出模式判定的具体方法:
1)帧内编码模式
如果MPEG-2码流中的某宏块采用帧内编码模式,那么说明此宏块采用帧间编码的效果比未用预测的帧内编码还要差(H.264的帧内编码是带预测的,效果应该比未用预测的好),那么此宏块在转码器的编码端直接映射成帧内编码模式是最好的选择。考虑到H.264/AVC的帧内编码又有多种模式,需用前面的算法,在DCT域内予以确定。注意到在MPEG-2的P帧内,帧内编码宏块和帧间编码宏块同时存在,有可能有的帧内宏块的上边和左边宏块是帧间宏块,这时由于判断帧内预测模式的需要,就应该对上边和左边的宏块进行DCT域运动补偿,得到上边和左边宏块亮度的DCT系数矩阵而不是残差的DCT系数矩阵。
2)跳过宏块
如果MPEG-2码流中的某宏块采用跳过编码模式,说明当前块没有运动(MV为0,残差也为0),但是H.264的P帧的跳过宏块的条件是MV残差为0,与MV为0不同,所以不能直接映射为跳过模式,需要进一步根据H.264的跳过模式的条件进行判断。
3)帧间预测编码模式
如果MPEG-2码流中的某宏块为帧间预测编码模式,则按其有无预测残差,采用下述不同算法。
(1)无残差帧间预测编码模式的转换
如果MPEG-2码流中的某宏块为帧间预测编码模式且无残差,那么表明预测最佳,在转码时直接选择P_16×16模式,且不需要进行运动矢量的进一步精细化。为进一步提高编码效率,这种宏块还可以按H.264的规定,判断是否可将其编码成SKIP模式。
(2)有残差帧间预测编码模式的转换
如果MPEG-2码流中的某宏块为帧间预测编码模式且有残差,那么4个DCT系数矩阵就能够反映该宏块与预测宏块间的残差。若残差较大,表明预测效果不佳,反之说明预测效果较好。于是可依据预测残差,按以下步骤判定H.264/AVC编码端宏块编码模式。
①由式(11)分别计算1个宏块的4个块Mb_x1、Mb_x2、Mb_x3和Mb_x4的64个DCT系数绝对值的和,记作:Sum_x1、Sum_x2、Sum_x3和Sum_x4。若Min(Sum_x1,Sum_x2,Sum_x3,Sum_x4)大于阈值TH_INTER_SUM1,则该宏块用P_8×8预测模式;若这4个值中有三个都小于某阈值TH_INTER_SUM2,则该宏块用P_16×16预测模式。如果两个条件都不满足,则进入步骤②。
Sum _ x i = Σ j = 1 64 | X ij | - - - ( 11 )
其中Sum_xi的i取1,2,3,4;与4个块Mb_x1、Mb_x2、Mb_x3和Mb_x4对应,Xij为各块的DCT系数。
②由式(12)计算左、右各两个块的64个DCT系数绝对值的和,分别记作Sum_x1x3和Sum_x2x4;由式(13)计算上、下各两个块的64个DCT系数绝对值的和,分别记作Sum_x1x2和Sum_x3x4:
Sum_x1x3=Sum_x1+Sum_x3
Sum_x2x4=Sum_x2+Sum_x4(12)
Sum_x1x2=Sum_x1+Sum_x2
Sum_x3x4=Sum_x3+Sum_x4(13)
③根据得到的数据做如下判断:
a)如果Max(Sum_x1x2,Sum_x3x4)不大于阈值(2×TH_INTER_SUM2),则这个宏块用P_16×8预测模式;如果Max(Sum_x1x3,Sum_x2x4)不大于阈值(2×TH_INTER_SUM2),那么这个宏块用P_8×16预测模式。否则进入b)。
b)如果Min(Sum_x1x2,Sum_x3x4)大于阈值(2×TH_INTER_SUM1),则这个宏块用P_8×8预测模式;如果Min(Sum_x1x3,Sum_x2x4)大于阈值(2×TH_INTER_SUM1),则这个宏块用P_8×8预测模式。否则进入c)。
c)如果Sum_x1x2、Sum_x3x4都小于阈值TH_INTER_SUM3,则用P_16×8预测模式,如果都大于阈值TH_INTER_SUM3,则用P_8×8预测模式。否则比较|Min(Sum_x1x2,Sum_x3x4)-TH_INTER_SUM3|和|Max(Sum_x1x2,Sum_x3x4)-TH_INTER_SUM3|,如果前者小,则用P_16×8预测模式,否则用P_8×8预测模式。
d)如果Sum_x1x3、Sum_x2x4都小于阈值TH_INTER_SUM3,则用P_8×16预测模式,如果都大于阈值TH_INTER_SUM3,则用P_8×8预测模式;否则比较|Min(Sum_x1x3,Sum_x2x4)-TH_INTER_SUM3|和|Max(Sum_x1x3,Sum_x2x4)-TH_INTER_SUM3|,如果前者小,则用P_8×16预测模式,否则用P_8×16预测模式。
4)帧间编码宏块的帧内编码校正
由于H.264的帧内宏块采用了预测编码,在帧间编码残差很大的情况下,也许帧内编码比帧间编码效果更好。因此,对于MPEG-2帧间编码残差很大的宏块,启用帧间编码宏块的帧内编码校正。
判决条件如下:
currMB_bits>η×AVG_bits    (14)
currMB_bits为当前宏块占用的比特数;AVG_bits是宏块的平均比特数,即帧总比特数除以总宏块数(由于跳过宏块不占用bit信息,故除去跳过宏块),η为一个系数,本专利中η取2。
三、运动矢量重用及优化
运动估计处理在视频编码过程中计算量巨大,其中用于帧间宏块编码的运动估计处理占用了整个编码过程约70%的运算量。因此在转换编码器中充分利用MPEG-2中现有运动矢量(MV)可以提高H.264编码部分的运动估计速度,进而提高整个转换编码器的效率。
在相同标准间的转换编码过程中,输入码流的运动矢量是经过编码器运动估计过程的,在某种运动搜索算法和匹配法则下的最优运动矢量,因此运动矢量基本可以不加修改的重用。而由于不同标准间的差异很多,运动矢量就不能直接加以利用。
MPEG-2和H.264在帧间运动估计方面的差异有:
(1)预测精度不同。MPEG-2中MV是1/2像素精度的,而H.264标准中的MV是1/4像素精度的;
(2)半像素内插公式不同。在MPEG-2中,半像素的内插是相邻2个像素的算数平均值。而在H.264中,亮度的半像素是用一个6阶有限冲击响应滤波器对相邻整数位置的像素值进行内插得到的,1/4的像素值用线性插补得到。
(3)预测帧的数量不同。在MPEG-2中,只能使用前面一帧和后面一帧的数据进行预测,最大范围是2帧。而在H.264中,可以使用多帧预测,最大范围是16帧。
(4)预测块大小不同。在MPEG-2中是按照16×16的宏块或16×8的块进行预测的,而在H.264中,可以将宏块划分成16×16,16×8,8×16和8×84种子块,而8×8的子块又可以进一步划分成8×8,8×4,4×8和4×44种更小的块来进行预测。
由于MPEG-2的整像素运动矢量也是经过全局运动搜索得到的,得到的参考块与当前待编码块相关性最高,因此可用MPEG-2的全局运动搜索结果来替代H.264中整像素全局运动搜索,节省大量的计算量。方法是从MPEG-2码流经过变字长解码得到半像素精度的运动矢量,再将这个运动矢量换算成整像素精度,送到H.264编码部分作为整像素搜索的运动矢量,在这个运动矢量基础上,搜索本点在内的周围9个半像素点,得到最优半像素精度MV,再搜索最优半像素精度MV周围的9个1/4像素点,最终得到最优1/4精度MV。按照这种方法每个块需要进行半像素精度和1/4像素精度的搜索,共18个点的搜索。
这种算法的优点在于节省了编码端整像素搜索部分的计算量,运算速度明显提高。由于整像素部分的搜索H.264和MPEG-2差异很小,对于半像素和1/4像素搜索部分没有任何影响,因此获得的编码质量很好,与采用H.264编码器进行重编码相比,PSNR差异很小。PSNR产生差异主要是由于MPEG-2中进行的整像素搜索是基于16×16的宏块进行的,而在H.264中,如果宏块分成16×8,8×16,8×8甚至更小的8×4,4×8和4×4,得到的整像素搜索结果可能是不同的,这就可能引起最终预测结果与JM中的标准预测结果不同,造成编码效率变化。
不直接利用MPEG-2的半像素运动矢量进行优化起点的原因在于,MEPG-2和H.264的半像素插值公式不同,插值出来的参考半像素图像也就不同,所以MPEG-2的最优运动矢量在H.264中不一定是最优的,这会导致图像质量的降低。
实例
1.Intra_16×16预测模式判断算法实验结果
实验数据包括两部分:用前面提出的算法判断采用Intra_16×16还是Intra_4×4块分割方式。对Intra_16×16预测模式,用Intra_16x16最佳预测模式的判定提出的算法判定预测模式。对Intra_4×4预测模式,用JM10.1计算每种预测方式的SAD,取其最小值对应的预测模式。得到的第一部分实验数据,后文用“New_Method”表示。用JM10.1作参考得到的第二部分实验数据,后文用“Ref_Method”表示。实验序列Football、Flower、Bus和Mobile为CIF(352×288)格式,实验序列Foreman和Akiyo为QCIF(176×144)格式,序列均长30帧,帧率为30,采用全I帧编码。
1)R-D曲线的比较
R-D曲线的比较在用本文提出的Intra_16×16预测模式判定算法和参照转码器采用JM10.1算法判定Intra_16×16预测模式所得R-D曲线间进行。图5和图6分别示出了测试序列Mobile和Foreman在使用本文提出算法和参考算法下所得的R-D曲线。横坐标为比特率(kbit/s),纵坐标为亮度信号信噪比(dB)。图5和图6表明,本文提出的算法和参考算法相比得到的R-D曲线几乎没有发生变化。
2)模式判定时间的比较
比较针对采用不同算法的两种转码器所用时间进行。一种是图1所示,采用本文提出的Intra_16×16模式判定算法,对Intra_16×16模式进行预测模式判定。另一种是级联型参照转码器(MPEG-2解码器与JM10.1简单串联),采用JM10.1算法,对Intra_16×16模式进行预测模式判定。实验机器配置:CPU为Pentium 4 1.6GHz,内存为512MB。表3列出了不同测试序列在转码器编码端用定值QP(QP=32)编码判定模式所花时间的实验数据。表中实验数据表明,本文提出的算法与参考算法相比,模式判定时间平均节省58.44%。
表3模式判定时间的比较
Figure G2009100699142D00201
3)实验数据说明
以上实验数据表明:本专利提出的Intra_16×16预测模式判定算法与参照算法相比,可在几乎不影响图像质量情况下,平均节省58.44%左右的模式判定时间。这一方面是由于DCT变换属线性变换,通过分析宏块的DCT系数矩阵,可很好的获取该宏块的纹理信息,因此有利于模式判定。另一方面,通过分析DCT系数判定模式不需像参照算法中进行Intra_16×16预测模式的全搜索,从而提高了模式判定效率。
2.Intra_4×4预测模式判断算法实验结果
实验数据同样由两部分组成:用前面提出的算法判断采用Intra_16×16还是Intra_4×4块分割方式。接着对Intra_16×16模式,用JM10.1算法,计算每种预测方式的SAD,取最小值对应的预测模式。对Intra_4×4模式,用前文提出的算法来判定预测模式,得到第一部分实验数据,后文中用“New_Method”表示。使用JM10.1中算法得到第二部分实验数据,后文中用“Ref_Method”表示。实验序列Football、Flower、Bus和Mobile为CIF(352×288)格式,实验序列Foreman和Akio为QCIF(176×144)格式,序列均长30帧,帧率为30,采用全I帧编码。
1)比特率和亮度信号信噪比的实验比较
表4给出了6个测试序列在转码器采用两种算法,且编码端用定值QP(QP=32)编码所得的比特率和亮度信号信噪比的实验数据。表5给出了测试序列Flower在转码器采用两种算法,且编码端用不同定值QP编码所得比特率和亮度信号信噪比的实验数据。
表4两种算法判断Intra_4×4模式的比较(QP=32)
Figure G2009100699142D00202
表5Flower序列两种算法判断Intra_4×4模式的比较(QP取不同值)
Figure G2009100699142D00212
表中所列数据表明,在图像质量(PSNR)相当的情况下,本文所提算法比参照算法的比特率略有提高。主要是本文所提算法从DCT域进行帧内模式判断,用MPEG-2中得到的是8×8的DCT系数矩阵来判断4×4子块的特性,确定编码模式,这样引入的误差较大,而且H.264/AVC中Intra_4×4的预测方向划分的比较细,两个预测方向之间仅仅相差22.5°,这对于模式判断的细节要求很高,但从DCT域进行判断无法达到这么敏感,因此使得编码效率会下降。
2)R-D曲线的比较
进行比较的R-D曲线分别对应本文所提Intra_4×4预测模式判定算法和参照转码器用JM10.1算法判定Intra_4×4预测模式。图7给出了测试序列Flower的R-D曲线。横坐标为比特率(kbit/s),纵坐标为亮度信号信噪比(dB)。该图表明,本文提出的算法和参照算法相比在相同码率情况下,PSNR值约降低0.5dB。
3)模式判定时间的比较
比较针对采用不同算法的两种转码器所用时间进行。一种是图1所示,采用本文提出的Intra_4×4模式判定算法,对Intra_4×4模式判定预测模式。另一种是级联型参照转码器(MPEG-2解码器与JM10.1简单串联),采用JM10.1算法,对Intra_4×4模式判定预测模式。实验机器配置:CPU为Pentium 4 1.6GHz,内存为512MB。表6给出了不同测试序列在转码器编码端用定值QP(QP=32)编码所需模式判定时间的实验数据。实验数据表明,本文提出的算法与参考算法相比,模式判定时间平均节省71.51%。
表6模式判定时间的比较
Figure G2009100699142D00221
4)实验数据说明
实验数据表明:本专利提出的Intra_4×4预测模式判定算法与参考算法相比,两者的PSNR值差异不大,比特率有所增加,同时新算法比参考算法判定Intra_4×4预测模式的时间约节省71.51%。这里造成比特率变大的原因是8×8的DCT系数矩阵反映8×8像素块整体的纹理信息,从中获取其4×4子块的纹理信息有一定难度,导致无法正确判定Intra_4×4的9种预测模式哪种最优。新算法又先将9种预测模式分成3类,最后只需对某类的预测模式进行计算,从而避免了对每个Intra_4×4都要进行9种预测模式的计算,这就提高了判定Intra_4×4预测模式的效率。
3.变换系数帧间模式快速判断算法实验结果
实验条件:测试序列Flower、Mobile和Bus为CIF(352×288)格式,测试序列Mother、Foreman和Akio为QCIF(176×144)格式,长度均为30帧,每一个GOP为12,帧结构为IPPPPPPP。
在所进行的试验中,运动矢量的重用和优化技术均采用了以上小节“运动矢量重用及优化”中的相应方法进行优化。
1)比特率和亮度信号信噪比的比较
使用参考转码器(MPEG-2解码器和H.264编码器简单串联)所得实验数据用Ref_Method表示,使用文中提出的快速算法所得实验数据用New_Method表示。表7给出了6个测试序列在转码器采用不同算法,且编码端用定值QP(QP=32)编码所得比特率和亮度信号信噪比的实验数据。表8和表9分别给出了测试序列Mobile、Foreman在转码器采用不同算法,且编码端用不同定值QP编码所得比特率和亮度信号信噪比的实验数据。这些数据表明,在图像质量(PSNR)几乎不变的情况下,本算法的码率略高于参照算法。
表7两种判断帧间预测模式算法的比较
Figure G2009100699142D00231
表8Mobile测试序列帧间预测模式两种判断算法的比较
Figure G2009100699142D00232
表9Mother测试序列帧间预测模式两种判断算法的比较
Figure G2009100699142D00233
2)R-D曲线的比较
图8和图9分别给出了测试序列Flower和Mother的R-D曲线。图中带菱形点的R-D曲线对应参考转码器,采用JM10.1算法判定帧间预测模式。带方形点的为采用图1转码器和本文帧间预测模式判定算法所得R-D曲线。图8和图9表明,本算法和参照算法的R-D曲线几乎无差别。
3)模式判定时间的比较
表10给出了不同测试序列在转码器编码端用定值QP(QP=32)编码所需模式判定时间的实验数据。实验机器配置:CPU为Pentium 41.6GHz,内存为512MB。表中,New_Method栏所列为用本文帧间预测模式判定算法判定预测模式所用时间,Ref_Method栏所列为参考转码器判定帧间预测模式所需时间。表10表明,本算法与参照算法相比模式判定时间约节约17.40%。
表10模式判定时间的比较
Figure G2009100699142D00241
表11文中用到的阈值(未说明的QP均为32)
Figure G2009100699142D00242
4)实验结果分析
以上实验结果表明,本专利提出的帧间预测模式判定算法与参照算法相比,在图像质量几乎不变的情况下,平均约节省17.40%的模式判定时间。这一方面是由于DCT变换属线性变换,宏块的DCT系数矩阵表征宏块的纹理信息,可借以判定帧间预测模式;另一方面是在DCT域判定帧间预测模式,不需像参考算法那样进行全搜索。

Claims (9)

1.一种MPEG到H.264/AVC的视频编码转换系统,其特征在于,MPEG节目流或传输流首先经过MPEG系统层解复用模块,解复用后分别提取出MPEG视频数据、音频及其他数据;解复用得到的MPEG音频数据及其他数据直接送入后端的MPEG系统层复用模块;而解复用输出的MPEG视频数据通过编码转换器被转码为H.264格式,然后送入MPEG系统层复用模块,编码转换器将输入的MPEG码流完全解码到像素域,再进行H.264编码;编码转换器包括频域帧内模式判断模块和运动矢量MV重用&优化及频域宏块模式判断模块;其中频域帧内模式判断模块利用输入码流的VLD解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用&优化子模块和频域宏块模式,其中运动矢量重用&优化子模块将MPEG-2码流中的整像素MV直接作为H.264的整像素运动矢量MV,再通过快速运动矢量优化算法获得1/4精度的运动矢量MV;频域宏块模式判断子模块则通过MPEG-2解码宏块判断H.264宏块参数。
2.如权利要求1所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述频域帧内模式判断模块的算法,包括以下步骤:
步骤一、判断预测宏块的大小采用Intra 16x16还是Intra 4×4:
1)计算预测宏块各子块的DC系数的均方差Msd(DC),即
Msd ( DC ) = Var ( DC ) = Σ i = 1 n ( DC i - DC ‾ ) 2 , DC ‾ = ( Σ i = 1 n DC i ) / n
Var(DC)为DC系数的方差,DCi表示各子块的DCT系数矩阵的DC值,DC表示各子块DC系数的均值,n表示预测块的子块数;
若Msd(DC)大于或等于阈值TH_DC,确定编码端帧内预测块用4×4块大小进行预测编码;若Msd(DC)小于阈值TH_DC,转入步骤2);
2)计算预测宏块各子块的DCT系数矩阵的AC系数绝对和,即
Sum _ AC i = Σ j = 2 n = 64 | X j |
AC表示宏块中各子块的AC系数,Sum_ACi的i取0~n-1,分别表示宏块中各子块的AC系数绝对和;Xj中j取2~64,表示一个DCT系数矩阵的63个AC系数;
如果四个AC系数绝对和不大于阈值TH_SUM_AC,用16×16块进行预测编码;反之,如果四个AC系数绝对和大于阈值TH_SUM_AC,用4×4块进行预测编码;
步骤二、若上述预测结果是Intra_16x16,则判定Intra_16x16预测模式:
如果某一宏块的UP1、UP2、LEFT1、LEFT2邻块都不存在,则用Intra_16×16_DC预测模式;如果宏块只有UP1、UP2邻块,那么在Intra_16×16_DC和Intra_16×16_Vertical中选择;如果宏块只有LEFT1、LEFT2邻块,则在Intra_16×16_DC和Intra_16×16_Horizontal中选择;对UP1、UP2、LEFT1、LEFT2邻块同时存在的待编码宏块,则从4种预测方式即Intra_16×16_Vertical、Intra_16×16_Horizontal、Intra_16×16_DC和Intra_16×16_Plane中选择;
步骤三、若上述预测结果是Intra_4x4,判定Intra_4x4预测模式
1)计算当前4×4子块的AC系数绝对和,记作AC_AS_4,即
AC _ AS _ 4 = Σ i = 1 7 | AC [ i ] |
AC[i]表示当前8×8块DCT系数矩阵第一行或第一列的AC系数,水平方向预测用第一行的AC系数,垂直方向预测用第一列的AC系数;
计算当前4×4块与上边或左边4×4块的绝对AC系数和,记作AC_ADS_4。
AC _ ADS _ 4 = Σ i = 1 7 | AC [ i ] - AC _ ref [ i ] |
AC_ref[i]表示对应参考块的8×8 DCT系数矩阵第一行或第一列的AC系数,水平预测的时候用当前块和参考块的第一行AC系数,垂直预测的时候用当前块和参考块的第一列AC系数;
计算内部预测值,记作DC_DI_4,即
DC_DI_4=2|AC[0]|
其中AC[0]是当前宏块第一行或第一列中的第一个AC系数值,水平预测的时候用第一行的第一个AC系数,能够表示当前块左边和右边的能量差,可近似认为是左右两部分的亮度差异。垂直预测的时候用第一列的第一个AC系数;
计算外部预测值,记作DC_DO_4,即
DC_DO_4=|DC_ref-DC|
其中DC_ref是参考块的DC值,DC是当前块的DC值;
2)若水平类预测是内部预测,则使用两个判据,即当前4×4子块的AC系数绝对和AC_AS_4以及内部预测值DC_DI_4:当AC_AS_4小于阈值TH_AC_AS,且DC_DI_4小于阈值TH_DC_DI时,判定当前子块用水平类预测,且取DC_DI_4作为第四步的判断是否使用水平预测的DC_H参数,否则该子块不能用水平类预测;
若垂直类预测是内部预测,则使用两个判据,即当前4×4子块的AC系数绝对和AC_AS_4以及内部预测值DC_DI_4:当AC_AS_4小于阈值TH_AC_AS,且DC_DI_4小于阈值TH_DC_DI时,判定当前子块用垂直类预测,且取DC_DI_4作第四步的判断是否使用垂直预测的DC_V参数,否则该子块不能用垂直类预测;
3)若水平类预测是外部预测,则使用两个判据,即当前4×4块与上边或左边4×4块的绝对AC系数和AC_ADS_4以及外部预测值DC_DO_4;当AC_ADS_4小于阈值TH_AC_ADS,且DC_DO_4小于阈值TH_DC_DO时,判定当前子块用水平类预测,且取DC_DO_4作第四步的DC_H,否则该子块不能用水平类预测;
若垂直类预测是外部预测,则使用两个判据:AC_ADS_4和DC_DO_4,当AC_ADS_4小于阈值TH_AC_ADS,且DC_DO_4小于阈值TH_DC_DO时,判定当前子块用垂直类预测,且取DC_DO_4作第四步的DC_V,否则该子块不能用垂直类预测;
4)若上述水平类预测和垂直类预测同时不可用,该子块采用DC类预测;若水平类和垂直类同时可用,则比较DC_H和DC_V,假如前者小于后者,那么用水平类预测,若后者小于前者,则用垂直类预测;若仅一种类可用,则用相应类预测。
以上步骤获得当前子块的预测类,然后进行像素域预测来确定最佳预测模式。
3.如权利要求1所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述频域宏块模式判断模块针对P、B图像中帧内编码模式的算法包括以下步骤:
若MPEG-2编码时宏块采用帧内编码模式,将宏块在转码器的编码端直接映射成帧内编码模式;MPEG-2的P帧内同时存在帧内和帧间编码宏块,对上边和左边的宏块进行DCT域运动补偿,得到上边和左边宏块亮度的DCT系数矩阵。
4.如权利要求1所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述频域宏块模式判断模块针对P图像中跳过编码模式的算法包括以下步骤:
若MPEG-2编码时宏块采用跳过编码模式,根据H.264标准的跳过模式的条件进行判断,H.264标准跳过模式的条件为:运动矢量残差为0,像素残差为0。若满足上面条件,即可判断为跳过编码模式。
5.如权利要求1所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述频域宏块模式判断模块针对帧间预测编码模式的算法包括以下步骤:
若宏块无残差,在编码转换时直接选择P_16×16模式;
若宏块有残差,则利用4个DCT系数矩阵反映该宏块与预测宏块间的残差,按以下步骤判定H.264/AVC编码端宏块编码模式。
步骤一、分别计算1个宏块的4个子块的64个DCT系数绝对值的和,即
Sum _ x i = Σ j = 1 64 | X ij |
其中Sum_xi的i取1,2,3,4;与4个子块Mb_x1、Mb_x2、Mb_x3和Mb_x4对应,Xij为各块的DCT系数,记作:Sum_x1、Sum_x2、Sum_x3和Sum_x4;
若Min(Sum_x1,Sum_x2,Sum_x3,Sum_x4)大于阈值TH_INTER_SUM1,则该宏块用8×8预测模式;若这4个值中有三个都小于某阈值TH_INTER_SUM2,则这个宏块用16×16预测模式。如果以上两个条件都不满足,则进入步骤二。
步骤二、计算左、右各两个块的64个DCT系数绝对值的和,分别为Sum_x1x3和Sum_x2x4;计算上、下各两个块的64个DCT系数绝对值的和,分别记作Sum_x1x2和Sum_x3x4,即
Sum_x1x3=Sum_x1+Sum_x3
Sum_x2x4=Sum_x2+Sum_x4
Sum_x1x2=Sum_x1+Sum_x2
Sum_x3x4=Sum_x3+Sum_x4
根据得到的数据做如下判断:
1)、若Max(Sum_x1x2,Sum_x3x4)不大于阈值(2×TH_INTER_SUM2),则这个宏块用P_16×8预测模式;如果Max(Sum_x1x3,Sum_x2x4)不大于阈值(2×TH_INTER_SUM2),那么这个宏块用P_8×16预测模式;否则进入步骤2;
2)、若Min(Sum_x1x2,Sum_x3x4)大于阈值(2×TH_INTER_SUM1),则这个宏块用P_8×8预测模式;如果Min(Sum_x1x3,Sum_x2x4)大于阈值(2×TH_INTER_SUM1),则这个宏块用P_8×8预测模式;否则进入步骤3;
3)、若Sum_x1x2、Sum_x3x4都小于阈值TH_INTER_SUM3,则用P_16×8预测模式,如果都大于阈值TH_INTER_SUM3,则用P_8×8预测模式;否则比较|Min(Sum_x1x2,Sum_x3x4)-TH_INTER_SUM3|和|Max(Sum_x1x2,Sum_x3x4)-TH_INTER_SUM3|,如果前者小,则用P_16×8预测模式,否则用P_8×8预测模式;
4)、若Sum_x1x3、Sum_x2x4都小于阈值TH_INTER_SUM3,则用P_8×16预测模式,如果都大于阈值TH_INTER_SUM3,则用P_8×8预测模式;否则比较|Min(Sum_x1x3,Sum_x2x4)-TH_INTER_SUM3|和|Max(Sum_x1x3,Sum_x2x4)-TH_INTER_SUM3|,如果前者小,则用P_8×16预测模式,否则用P_8×8预测模式。
6.如权利要求5所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,对于MPEG-2帧间编码残差很大的宏块进行帧间编码宏块的帧内编码校正的判决条件为:
currMB_bits>η×AVG_bits
其中currMB_bits为当前宏块占用的比特数;AVG_bits是宏块的平均比特数,即帧总比特数除以总宏块数,η为一个系数,取值2。
7.如权利要求1所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述运动矢量重用及优化模块的算法包括以下步骤:
从MPEG-2码流经过变字长解码得到半像素精度的运动矢量,再将这个运动矢量换算成整像素精度,送到H.264编码部分作为整像素搜索的运动矢量,在这个运动矢量基础上,搜索包括本点在内的周围9个半像素点,得到最优半像素精度运动矢量MV,再搜索最优半像素精度运动矢量MV周围的9个1/4像素点,最终得到最优1/4精度运动矢量MV,每个块进行半像素精度和1/4像素精度的搜索,共18个点的搜索。
8.如权利要求2所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述判定Intra_16x16频域模式的步骤还包括:
对于有邻块UP1、UP2的宏块,计算这两个块的DCT系数绝对和Sum_UP,即:
Sum _ UP = Σ j = 1 64 | X 1 j | + Σ j = 1 64 | X 2 j |
式中X1j和X2j下标中的j取1~64,分别表示UP1和UP2的64个DCT系数值;若Sum_UP大于阈值TH_SUM_UP,则判此方向的块不可用,即不能选Intra_16×16_Vertical预测模式;反之判定该方向的块可用,即用Intra_16×16_Vertical预测模式;
对于有LEFT1、LEFT2邻块的宏块,计算这两个邻块的DCT系数绝对和Sum_LEFT,即
Sum _ LEFT = Σ j = 1 64 | X 1 j | + Σ j = 1 64 | X 2 j |
式中X1j和X2j下标中的j取1~64,分别表示LEFT1和LEFT2的64个DCT系数值;若Sum_LEFT大于预测阈值TH_SUM_LEFT,则判此方向的块不可用,即不可选Intra_16×16_Horizontal预测模式;反之可用Intra_16×16_Horizontal预测模式。
9.如权利要求3所述的MPEG到H.264/AVC的视频编码转换系统,其特征在于,所述判定Intra_16x16频域模式的步骤还包括:
如果宏块的UP方向可用,计算对应位置DCT系数绝对差值和(SD_UP),即
SD _ UP = Σ k Σ i = 0 8 Σ j = 0 8 | x kij - x ′ 1 ij | + Σ l Σ i = 0 8 Σ j = 0 8 | x lij - x ′ 2 ij |
其中:xkij中的k取1、3,表示宏块中A,C两个块对应位置的DCT系数值;xlij中的l取2、4,表示宏块中的B,D两个块对应位置的DCT系数值;x′1ij表示UP1块对应位置的DCT系数值;x′2ij表示UP2对应位置的DCT系数值;
如果LEFT方向可用,计算对应位置的DCT系数绝对差值和(SD_LEFT),即
SD _ LEFT = Σ k Σ i = 0 8 Σ j = 0 8 | x kij - x ′ 1 ij | + Σ l Σ i = 0 8 Σ j = 0 8 | x lij - x ′ 2 ij |
其中:xkij中的k取1、2,表示宏块中A,B两个块对应位置的DCT系数值;xlij中的l取3、4,表示宏块中C,D两个块对应位置的DCT系数值;x′1ij表示LEFT1块对应位置的DCT系数值;x′2ij表示LEFT2块对应位置的DCT系数值。
对所得DCT系数绝对差值和进行如下分析:
(1)如果宏块仅UP方向可用,且SD_UP小于阈值TH_SD_UP,则该宏块用Intra_16×16_Vertical模式;如果SD_UP不小于阈值TH_SD_UP,则该宏块用Intra_16×16_DC模式。
(2)如果宏块仅LEFT方向可用,且SD_LEFT小于阈值TH_SD_LEFT,则选用Intra_16×16_Horizontal模式;如果SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_DC模式。
(3)如果宏块UP和LEFT方向均可用,则需进一步分析:
(i)如果SD_UP不小于阈值TH_SD_UP,且SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_DC模式。
(ii)如果SD_UP小于阈值TH_SD_UP,且SD_LEFT小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_Plane模式。
(iii)如果SD_UP小于阈值TH_SD_UP,SD_LEFT不小于阈值TH_SD_LEFT,则该宏块用Intra_16×16_Vertical模式;如果SD_LEFT小于阈值TH_SD_LEFT,SD_UP不小于阈值TH_SD_UP,则该宏块用Intra_16×16_Horizontal模式。
CN 200910069914 2009-07-28 2009-07-28 Mpeg到h.264/avc视频编码转换系统 Pending CN101621689A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910069914 CN101621689A (zh) 2009-07-28 2009-07-28 Mpeg到h.264/avc视频编码转换系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910069914 CN101621689A (zh) 2009-07-28 2009-07-28 Mpeg到h.264/avc视频编码转换系统

Publications (1)

Publication Number Publication Date
CN101621689A true CN101621689A (zh) 2010-01-06

Family

ID=41514680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910069914 Pending CN101621689A (zh) 2009-07-28 2009-07-28 Mpeg到h.264/avc视频编码转换系统

Country Status (1)

Country Link
CN (1) CN101621689A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065297A (zh) * 2011-01-05 2011-05-18 宁波大学 一种mpeg-2到h.264的快速视频转码方法
CN103702137A (zh) * 2013-12-23 2014-04-02 乐视网信息技术(北京)股份有限公司 在转码任务处理过程中生成统计数据的方法和系统
CN106550237A (zh) * 2015-09-16 2017-03-29 中国科学院深圳先进技术研究院 一种监控视频压缩方法
CN107040785A (zh) * 2016-02-04 2017-08-11 联发科技股份有限公司 图像解码和图像编码的方法和装置
CN107566846A (zh) * 2017-09-20 2018-01-09 北京维境视讯信息技术有限公司 视频编码跳过模式决策方法、装置、设备及存储介质
CN107734340A (zh) * 2012-01-19 2018-02-23 佳能株式会社 编码和解码变换单位的残差系数的有效性映射的方法
WO2020057182A1 (zh) * 2018-09-19 2020-03-26 华为技术有限公司 一种图像压缩的方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065297A (zh) * 2011-01-05 2011-05-18 宁波大学 一种mpeg-2到h.264的快速视频转码方法
CN102065297B (zh) * 2011-01-05 2012-10-24 宁波大学 一种mpeg-2到h.264的快速视频转码方法
US10531100B2 (en) 2012-01-19 2020-01-07 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
CN107734340A (zh) * 2012-01-19 2018-02-23 佳能株式会社 编码和解码变换单位的残差系数的有效性映射的方法
US10516887B2 (en) 2012-01-19 2019-12-24 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US10531101B2 (en) 2012-01-19 2020-01-07 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
CN103702137A (zh) * 2013-12-23 2014-04-02 乐视网信息技术(北京)股份有限公司 在转码任务处理过程中生成统计数据的方法和系统
CN106550237A (zh) * 2015-09-16 2017-03-29 中国科学院深圳先进技术研究院 一种监控视频压缩方法
CN106550237B (zh) * 2015-09-16 2020-05-19 中国科学院深圳先进技术研究院 一种监控视频压缩方法
CN107040785A (zh) * 2016-02-04 2017-08-11 联发科技股份有限公司 图像解码和图像编码的方法和装置
CN107040785B (zh) * 2016-02-04 2020-01-14 联发科技股份有限公司 图像解码和图像编码的方法
CN107566846A (zh) * 2017-09-20 2018-01-09 北京维境视讯信息技术有限公司 视频编码跳过模式决策方法、装置、设备及存储介质
CN107566846B (zh) * 2017-09-20 2020-04-14 北京字节跳动网络技术有限公司 视频编码跳过模式决策方法、装置、设备及存储介质
WO2020057182A1 (zh) * 2018-09-19 2020-03-26 华为技术有限公司 一种图像压缩的方法及装置

Similar Documents

Publication Publication Date Title
CN100586187C (zh) 用于图像内部预测编码/解码的方法和设备
KR101431545B1 (ko) 영상의 부호화, 복호화 방법 및 장치
US20070098067A1 (en) Method and apparatus for video encoding/decoding
CN101621689A (zh) Mpeg到h.264/avc视频编码转换系统
CN101621687B (zh) H.264到avs视频码流转换方法及其装置
Shen et al. Ultra fast H. 264/AVC to HEVC transcoder
KR20040105872A (ko) 영상 데이터 변환 장치 및 영상 데이터 변환 방법
CN105379284A (zh) 动态图像编码装置及其动作方法
KR20050112130A (ko) 비디오 트랜스코딩
KR20140027483A (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
CN101494792A (zh) 一种基于边缘特征的h.264/avc帧内预测方法
CN100518324C (zh) 实现基于感兴趣区域的压缩域mpeg-2到h.264视频转换的方法
CN104038764A (zh) 一种h.264到h.265的视频转码方法及转码器
CN110351552B (zh) 视频编码中一种快速编码方法
EP3944626A1 (en) Cross-codec encoding optimizations for video transcoding
CN103442228A (zh) 从h.264/avc标准到hevc标准的快速帧内转码方法及其转码器
CN101304529A (zh) 宏块模式的选择方法和装置
CN104702959B (zh) 一种视频编码的帧内预测方法及系统
CN101188756B (zh) 一种mpeg-4 sp到avs视频转码方法
EP2661079A1 (en) H264 transcoding method by multiplexing code stream information
CN101072355B (zh) 一种加权预测运动补偿方法
CN101860755B (zh) 用于台标字幕插入系统的解码方法及图像插入方法
CN101902632A (zh) 像素插值滤波方法及装置,解码方法及系统
Shi et al. Hardware implementation-oriented fast intra-coding based on downsampling information for HEVC
CN101262607A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100106