发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种宏块预测模式选择正确性高、提取特征耗时较少、无任何漂移效应的基于AVC标准的视频转换装置。
本发明的技术解决方案是:这种基于AVC标准的视频转换装置包括训练模块和转换模块;
所述的训练模块包含:
第一模块,用于挑选出常用的具备各种典型特征的视频序列作为样本视频序列,并将这些视频序列使用AVC标准进行编码;
第二模块,使用AVC解码器,将压缩好的样本视频序列进行完全解码,得到像素域数据;
第三模块,用于从像素域数据中提取出预测模式、残差数据、量化参数三个特征,同时使用全模式搜索法获取当前三个特征决定的最优模式作为目标类别;
第四模块,通过前述的三个特征和目标类别,使用模式识别方法设计出分类器;
所述的转换模块包含:
第五模块,使用AVC解码器,完全解码在线的实时视频流,得到在线像素域数据;
第六模块,用于从在线像素域数据中提取出预测模式、残差数据和量化参数三个特征;
第七模块,用于将前述的三个特征输入到离线建立的分类器中,得到分类结果,即预测模式,从而完成宏块预测模式的选择;
第八模块,用于针对选择的宏块预测模式,重新计算运动矢量;
第九模块,利用选择的宏块预测模式和重新计算的运动矢量,重新对视频进行编码并输出。
本装置充分利用了原始码流的丰富信息,通过在平时训练得到的分类器快速进行宏块预测模式选择,其中采用成熟的分类器设计方法,能尽可能保证选择的正确性,大大提高了转码的实时性;从解码信息中提取了残差数据,宏块类型,量化参数等作为特征,这些特征都与编码端的块类型息息相关。没有提取比较耗时的运动矢量特征,这样保证了提取特征耗时较少,速度较快。此外,本方法采用了基于像素域的视频转码,无任何漂移效应。
具体实施方式
本发明是利用模式识别技术来进行宏块预测模式的选择。宏块预测模式选择的过程就是模式识别中类别决策的过程。将提取的特征输入到分类器中,得到分类结果,也就是宏块预测模式。分类器是通过训练得到的,因此,本发明的视频转换装置分为训练模块和转换模块,用来完成分类器的设计,并使用该分类器完成对宏块预测模式的选择。
所述的训练模块包含:
第一模块,用于挑选出常用的具备各种典型特征的视频序列作为样本视频序列,并将这些视频序列使用AVC标准进行编码;
第二模块,使用AVC解码器,将压缩好的样本视频序列进行完全解码,得到像素域数据;
第三模块,用于从像素域数据中提取出预测模式、残差数据、量化参数三个特征,同时使用全模式搜索法获取当前三个特征决定的最优模式作为目标类别;
第四模块,通过前述的三个特征和目标类别,使用模式识别方法设计出分类器;
所述的转换模块包含:
第五模块,使用AVC解码器,完全解码在线的实时视频流,得到在线像素域数据;
第六模块,用于从在线像素域数据中提取出预测模式、残差数据和量化参数三个特征;
第七模块,用于将前述的三个特征输入到离线建立的分类器中,得到分类结果,即预测模式,从而完成宏块预测模式的选择;
第八模块,用于针对选择的宏块预测模式,重新计算运动矢量;
第九模块,利用选择的宏块预测模式和重新计算的运动矢量,重新对视频进行编码并输出。
训练和转换都需要从解码信息中提取三个特征:预测模式,残差数据,量化参数。优选地,本发明中所述三个特征提取步骤如下:
(1)预测模式:本发明支持的空间分辨率转码中的图像缩放因子为2,因此待编码的宏块对应着已编码图像中的4个宏块,每个宏块都有一个预测模式,为了能尽量降低特征向量的维数,提高转码速度,本发明中预测模式特征的计算值是这4个宏块的预测模式之和;
(2)残差数据:AVC中采用的是4x4的整数变换,也就是一个宏块包含了16个4x4子块,每个4x4子块都有各自的非零系数,该数据描述了当前4x4子块的性质,这些性质包括:纹理是否丰富,运动是否剧烈;本发明中该特征的计算值是原始图像中4个宏块所包含的所有4x4子块中的非零系数的比例;
(3)量化参数:在本发明中比特率转换利用重新量化实现;量化参数特征的计算值是输出量化参数减去输入量化参数。
优选地,在第八模块中,在空间分辨率转码部分,采用取中间值方法来重新计算宏块的运动矢量。
优选地,在第四模块中,成熟的模式识别方法包括:支持向量机、遗传算法、人工神经网络。
本发明充分利用了原始码流的丰富信息,快速进行宏块预测模式选择,并尽可能保证选择的正确性;从解码信息中提取了残差数据,宏块类型,量化参数等作为特征,这些特征都与编码端的块类型息息相关。没有提取比较耗时的运动矢量特征,这样保证了提取特征耗时较少,速度较快。此外,本方法采用了基于像素域的视频转码,无任何漂移效应。本发明采用了像素域的视频转码,不会出现漂移误差,也就不会导致漂移效应,从而保证了重新编码后的图像质量。另外值得强调的是,可以同时满足空间分辨率转码,时间分辨率转码,和比特率转码三种类型的转码。并可以根据用户设置,选择哪种转码,或者任意两种转码都可以任意组合。
为了便于理解和实施本发明,下面结合无线视频点播实例来对本发明作进一步详细描述。
在无线视频点播中,已编码的视频流存放在视频服务器上,这些视频流都是在高比特率的前提下压缩的,即图像尺寸大,帧率高,图像质量较好。当有无线终端用户进行点播某个视频段,会将相应所要求的参数同时发送到视频服务器,这些参数包括:图像尺寸,帧率,比特率等。视频服务器根据这些参数的要求,启动转换模块,将已经编码好的视频流转换到所要求的格式下,并实时地将转换后的视频流发送到用户终端。
训练模块用来完成分类器的设计,在转换时,使用该分类器完成对宏块预测模式的选择。训练模块的包含如下:
第一模块,用于挑选视频,由于视频点播中一般为自然视频序列,从而具有各种特征,如运动是否剧烈,是否存在镜头切换,纹理是否丰富等。实施中需要挑选出常用的具备各种典型特征的视频序列,并将这些视频序列使用AVC标准进行编码。当然,如果某视频点播系统是针对特定的应用,例如转播F1赛车比赛,则挑选的典型序列最好也是F1赛车比赛片段。
第二模块,用于视频解码,使用AVC解码器,将压缩好的样本视频序列进行完全解码,得到像素域数据。这样可以保证在整个转码过程中不会引入漂移误差,从而保证了图像质量。
第三模块,用于从解码信息中提取出预测模式,残差数据,量化参数三个特征。同时使用全模式搜索法获取当前三个特征所决定的最优模式作为目标类别。全模式搜索法就是遍历所有可用的预测模式,并选择一个压缩性能最优的结果,该搜索方法的实施过程可以借鉴JVT(Joint VideoTeam,联合视频编码组)推荐的开源JM(Joint Model,H.264协议的联合开发模型)系列开源软件。
第四模块,用于分类器的设计,针对序列中每个宏块,经过解码和提取特征两个步骤的处理,都可以得到三个特征和一个目标类别,这便构成了一个已知类别的训练样本,将其按一定格式写入文件。对选中的所有视频序列都进行相同的处理,得到样本并写入文件,之后从特征和目标类别所在文件中读取样本数据,输入到训练模块中进行训练,得到最终的分类器。当然,也可以通过人工神经网络的训练模块得到分类器。训练好的分类器可以存储到某个文件里,以备视频转换时使用。
视频服务器根据用户端的参数要求,启动视频转换模块,视频转换模块使用训练模块得到的分类器,根据提取的特征,完成分类功能。该模块具体包含如下:
第五模块,用于启动AVC解码器将在线的实时视频流完全解码,得到像素域数据。该解码方法和训练模块中的相同。
第六模块,用于从解码信息中提取出预测模式,残差数据,量化参数三个特征。该三个特征的提取方法与训练模块中的相同。
第七模块,用于将提取的三个特征,输入到离线建立的分类器中,得到分类结果,也就是预测模式,完成宏块模式预测的选择。在AVC中预测模式P8x8比较适用于高比特率下,运动剧烈且细节丰富的场景。由于该模式下还需要细分一直到4x4的小块,因此运算复杂度高。在无线视频点播应用中,比特率较低,而且实时性要求较高,因此如果预测的是P8x8类型,则不对8x8子块继续分解。
第八模块,用于重新计算运动矢量,在每种预测模式,都对应着一个或多个运动矢量,因此选择预测模式之后需要重新计算运动矢量。在空间分辨率转码中,本发明采用中间值方法来重新计算宏块的运动矢量。重新计算后的运动矢量需要进一步细化,才能准确反映运动的实际情况,一般细化步长为2个像素。
第九模块,使用选择好的预测模式,重新计算的运动矢量,重新对视频进行编码并输出。
在训练模块和转换模块中,需要提取出预测模式、残差数据和量化参数三个特征,这三个特征的提取按如下方式进行:
(1)预测模式:空间分辨率转码中的图像缩放因子确定为2,待编码的宏块对应着已编码图像中的宏块1~宏块4,共4个宏块,每个宏块都有一个预测模式,所述的在线转码中预测模式特征的计算值是这4个宏块的预测模式之和;
(2)残差数据:该特征的计算值是原始图像中4个宏块所包含的所有4x4子块中的非零系数的比例;
(3)量化参数:该特征的计算值是输出量化参数减去输入量化参数。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。