CN114584779A - 基于h264编码算法的视频编码方法、装置、设备及介质 - Google Patents
基于h264编码算法的视频编码方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114584779A CN114584779A CN202210254622.1A CN202210254622A CN114584779A CN 114584779 A CN114584779 A CN 114584779A CN 202210254622 A CN202210254622 A CN 202210254622A CN 114584779 A CN114584779 A CN 114584779A
- Authority
- CN
- China
- Prior art keywords
- optimal value
- global optimal
- population
- sub
- current
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及音视频技术领域,揭露一种基于H264编码算法的视频编码方法、装置、设备及介质,其中方法包括获取待处理视频,并对待处理视频进行分帧处理,将得到的原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将参考帧图像和当前帧图像初始化为由宏块组成的原始种群;将原始种群拆分成多个子种群,并计算子种群中的宏块当前最优值和全局最优值;若全局最优值满足预设条件,则输出全局最优值,若全局最优值未满足预设条件时,重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;通过对全局最优值进行整数变换、量化处理和熵编码处理,得到目标编码数据。本发明缓解现行存在的搜索算法的缺陷,提高了视频编码的效率。
Description
技术领域
本申请涉及音视频技术领域,尤其涉及一种基于H264编码算法的视频编码方法、装置、设备及介质。
背景技术
5G将掀起一场颠覆式的产业变革,为5G生态的参与者,乃至每一个垂直行业企业带来全新的变局。在音视频技术领域内,5G给音视频行业带来机遇的同时也带来了技术难题,例如,4K的视频的分辨率大小为880多万个像素,每一帧图像的数据量达到了50MB,这无疑给音视频数据传输带来了技术难题。通常,在传输数据前都会对原始数据进行编码操作,其目的是为了减小传输图像帧的大小,具体做法是通过帧间预测和帧内预测编码减小冗余信息的传输。
在5G技术的应用环境中,视频编码传输对实时性要求较高,而运动估计的运算复杂度通常较高,因此一种高性能、低复杂度的运动搜索算法就尤为重要。目前常用的搜索算法有:全搜索算法、二维对数搜索算法、三步搜索算法等。全搜索算法复杂度极高、无法满足实时编码,而其它快速搜索算法虽然具有速度快的优点,但是在搜索过程中容易落入局部最优点,从而无法找到全局最优点,致使视频编码的效率较低。现亟需一种能够提高视频编码效率的方法。
发明内容
本申请实施例的目的在于提出一种基于H264编码算法的视频编码方法、装置、设备及介质,以提高视频编码的效率。
为了解决上述技术问题,本申请实施例提供一种基于H264编码算法的视频编码方法,包括:
获取待处理视频,并对所述待处理视频进行分帧处理,得到每一帧原始图像;
通过对所述原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将所述参考帧图像和所述当前帧图像初始化为由宏块组成的原始种群;
将所述原始种群进行平均拆分,得到多个子种群,并计算所述子种群中的宏块当前最优值和全局最优值;
若所述全局最优值满足预设条件,则输出所述全局最优值,若所述全局最优值未满足所述预设条件,则基于所述宏块当前最优值和所述全局最优值,重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件;
通过对所述全局最优值进行整数变换和量化处理,得到量化后数据,并对所述量化后数据进行熵编码处理,得到目标编码数据。
为了解决上述技术问题,本申请实施例提供一种基于H264编码算法的视频编码装置,包括:
原始图像生成模块,用于获取待处理视频,并对所述待处理视频进行分帧处理,得到每一帧原始图像;
帧内编码模块,用于通过对所述原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将所述参考帧图像和所述当前帧图像初始化为由宏块组成的原始种群;
原始种群拆分模块,用于将所述原始种群进行平均拆分,得到多个子种群,并计算所述子种群中的宏块当前最优值和全局最优值;
全局最优值输出模块,用于若所述全局最优值满足预设条件,则输出所述全局最优值,若所述全局最优值未满足所述预设条件,则基于所述宏块当前最优值和所述全局最优值,重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件;
目标编码数据生成模块,用于通过对所述全局最优值进行整数变换和量化处理,得到量化后数据,并对所述量化后数据进行熵编码处理,得到目标编码数据。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于H264编码算法的视频编码方法。
为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于H264编码算法的视频编码方法。
本发明实施例提供了一种基于H264编码算法的视频编码方法、装置、设备及介质。其中,方法包括:获取待处理视频,并对待处理视频进行分帧处理,得到每一帧原始图像;通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将参考帧图像和当前帧图像初始化为由宏块组成的原始种群;将原始种群进行平均拆分,得到多个子种群,并计算子种群中的宏块当前最优值和全局最优值;若全局最优值满足预设条件时,则输出全局最优值,若全局最优值未满足预设条件时,则基于宏块当前最优值和全局最优值,重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;通过对全局最优值进行整数变换和量化处理,得到量化后数据,并对量化后数据熵编码处理,得到目标编码数据。本发明实施例通过对元素图像平均划分为多个宏块,并以宏块为基础去计算宏块当前最优值和全局最优值,有利于缓解现有搜索算法的缺陷,提升了得到最优值的概率,并且在保证最优解的基础上,加快了搜索时间,从而有利于提高视频编码的效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于H264编码算法的视频编码方法流程的一实现流程图;
图2是本申请实施例提供的基于H264编码算法的视频编码方法中子流程的又一实现流程图;
图3是本申请实施例提供的基于H264编码算法的视频编码方法中子流程的又一实现流程图;
图4是本申请实施例提供的基于H264编码算法的视频编码方法中子流程的又一实现流程图;
图5是本申请实施例提供的基于H264编码算法的视频编码装置示意图;
图6是本申请实施例提供的计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
需要说明的是,本申请实施例所提供的基于H264编码算法的视频编码方法一般由服务器执行,相应地,基于H264编码算法的视频编码装置一般配置于服务器中。
请参阅图1,图1示出了基于H264编码算法的视频编码方法的一种具体实施方式。
需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,该方法包括如下步骤:
S1:获取待处理视频,并对待处理视频进行分帧处理,得到每一帧原始图像。
具体的,在需要对待处理视频进行编码时,获取该待处理视频,并对待处理视频进行分帧处理,从而得到待处理视频对应的每一帧原始图像,在后续步骤中将每一帧原始图像作为输入,采用改进后的H264编码算法对每一帧原始图像进行分析和编码,最终得到目标编码数据。
其中,H264编码算法也即H.264,H.264同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,JointVideo Team)提出的高度压缩数字视频编解码器标准。
S2:通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将参考帧图像和当前帧图像初始化为由宏块组成的原始种群。
具体的,帧内编码用来缩减原始图像的空间冗余。为了提高H.264帧内编码的效率,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此,在对一给定宏块编码时,首先可以根据周围的宏块预测,然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编码而言,可以大大减小码率。在本申请实施例中,通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像,后续将参考帧图像为基础当前帧图像进行帧间预测编码操作,获取当前帧图像和参考帧图像间的最相似的宏块,将两个宏块的相似程度可以通过与残差得到残差向量来表示,残差向量小表示相似,反之则相反。在视频编码中图像之间的残差向量为两个像素块之间的差值(像素块是由一系列二进制数字组成的)。然后,将这残差向量与参考帧一起送到H264的运动补偿模块进行分析,得到当前帧与参考帧的最优残差值,也即获取最优值。
请参阅图2,图2示出了步骤S2的一种具体实施方式,详叙如下:
S21:通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像。
S22:将每一帧参考帧图像和当前帧图像划分为多个宏块。
S23:将多个宏块进行组合,得到原始种群,并初始化原始种群中的宏块参数。
具体的,宏块,英文Macroblock,是视频编码技术中的一个基本概念,在视频编码中,一个编码图像通常划分成若干宏块组成,一个宏块由一个亮度像素块和附加的两个色度像素块组成。为了更好的理解,假设当前帧图像和参考帧图像的大小为256*256,宏块大小为8*8,所以对于每一帧图片可以将其划分为1024个宏块。而每一个8*8的宏块里面存储的是对应的二进制数。为了方便阐述,对于所有宏块组成的群体,将之命名为原始种群。在本申请实施例中,通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像,再将每一帧参考帧图像和当前帧图像划分为多个宏块,然后将多个宏块进行组合,得到原始种群,并初始化原始种群中的宏块参数,有利于为后续获取全局最优值提供基础。
S3:将原始种群进行平均拆分,得到多个子种群,并计算子种群中的宏块当前最优值和全局最优值。
请参阅图3,图3示出了步骤S3的一种具体实施方式,详叙如下:
S31:将原始种群进行平均拆分,得到多个子种群,其中,子种群包括多个宏块。
S32:通过评价函数计算每个子种群中的函数值,得到目标函数值。
S33:根据预设公式以及目标函数值,对子种群的每块宏块进行计算处理,得到宏块当前最优值和全局最优值。
具体的,在H.264中,压缩时间冗余并非通过前帧和后帧之间求取整帧差分这种低效率的方法。H.264是一种基于块结构的混合编码标准,因此帧间编码也以像素块的形式实现,而帧间编码以一个宏块(Macroblock,MB)作为最小单位进行。
本申请实施例中,通过动态粒子群优化算法获取全局最优值。本申请实施中,将每一帧图像中的宏块称为“粒子”,采用动态粒子群优化算法对这些宏块进行优化处理动态粒子群优化算法为:将原始种群平均拆分为N个子种群(P1,P2,...,PN),PN中包含5个“粒子”(宏块),再通过评价函数计算PN中每个“粒子”的值,通过预设公式进行计算,记录下该“粒子”最优值(宏块当前最优值)pbesti以及子种群全局最优值,通过比较每个子种群中的全局最优解得到大种群的全局最优解gbesti。若全局最优值gbesti满足条件则输出全局最优解gbesti,若不满足条件则判断每一个子种群宏块当前最优值等于全局最优值是否相等,若二者相等,则将宏块当前最优值作为下次迭代计算的宏块当前值,并重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;否则保持不变,进入到下一次循环中,重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件。
其中,预设公式为:
Vi(t+1)=Vi(t)+c1*r1*(pbesti-Xi)+c2*r2*(gbesti-Xi);
Xi(t+1)=Xi(t)+Vi(t+1);
其中,t表示当前的迭代次数,r1和r2表示随机数且其取值范围在[0,1]。c1和c2为控制参数,用来调节失败宏块每次迭代的步长,其取值可根据实际情况而定,较优取值范围是[0,0.15]。gbesti表示子种群Pi在此次迭代中的全局最优值,pbesti表示第i个宏块的当前最优值,Xi为表示第i个宏块里面存储的二进制数,Xi(t)和Xi(t+1)为第t次及t+1次迭代次数后的第i个宏块里面存储的二进制数,Vi(t)和Vi(t+1)为第t次及t+1次迭代次数后的第i个宏块的速度。
其中,评价函数为:
f=f(B)-f(Br);
其中,f为目标函数值,f(B)和f(Br)分别表示参考帧图像中的宏块值和当前帧图像中的宏块值。
S4:若全局最优值满足预设条件,则输出全局最优值,若全局最优值未满足预设条件,则基于宏块当前最优值和全局最优值,重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件。
请参阅图4,图4示出了步骤S4的一种具体实施方式,详叙如下:
S41:若全局最优值满足预设条件,则输出全局最优值;
S42:若全局最优值未满足预设条件时,则判断每个子种群中是否存在宏块当前最优值等于全局最优值,得到判断结果;
S43:若判断结果为每个子种群中存在宏块当前最优值等于全局最优值,则将宏块当前最优值作为下次迭代计算的宏块当前值,并重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;
S44:若判断结果为每个子种群中未存在宏块当前最优值等于全局最优值,则重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件。
需要说明的是,预设条件为当前帧图像和参考帧图像中的两个不同的宏块的全局最优值小于预设值,预设值根据实际情况设定,一般设置为10-6;或设定一个优化进化的循环次数,当达到循环次数的时候还没有找到小于预设值的解,则输出当前的运动估计向量和宏块之间的全局最优值。
本申请实施例中,通过判断全局最优值是否满足预设条件,若满足则输出全局最优值,若否,则再判断结果为每个子种群中存在宏块当前最优值等于全局最优值,则将宏块当前最优值作为下次迭代计算的宏块当前值,并重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件,若判断结果为每个子种群中存在宏块当前最优值等于全局最优值,则将宏块当前最优值作为下次迭代计算的宏块当前值,并重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件,保证最优解的基础上减少了时间复杂度加快了搜索时间,有利于提高视频编码的效率。
S5:通过对全局最优值进行整数变换和量化处理,得到量化后数据,并对量化后数据进行熵编码处理,得到目标编码数据。
具体的,整数变换也即Hadamard变换,在视频编码标准中,Hadamard变换多被用来计算SATD(一种视频残差信号大小的衡量),本申请实施例中使用H.264中的整数变换方法,其使用了基于4×4像素块的类似于DCT的变换,但使用的是以整数为基础的空间变换,不存在反变换因为取舍而存在误差的问题。量化处理采用的是标量量化方法。视频编码处理的最后一步是熵编码;熵编码方法包括:通用可变长编码(UVLC)和基于文本的自适应二进制算术编码(CABAC),优选基于文本的自适应二进制算术编码(CABAC),该算术编码使编码和解码两边都能使用所有句法元素(变换系数、运动矢量)的概率模型,其能够为了提高算术编码的效率,通过内容建模的过程,使基本概率模型能适应随视频帧而改变的统计特性。
本实施例中,获取待处理视频,并对待处理视频进行分帧处理,得到每一帧原始图像;通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将参考帧图像和当前帧图像初始化为由宏块组成的原始种群;将原始种群进行平均拆分,得到多个子种群,并计算子种群中的宏块当前最优值和全局最优值;若全局最优值满足预设条件,则输出全局最优值,若全局最优值未满足预设条件,则基于宏块当前最优值和全局最优值,重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;通过对全局最优值进行整数变换和量化处理,得到量化后数据,并对量化后数据熵编码处理,得到目标编码数据。本发明实施例通过对元素图像平均划分为多个宏块,并以宏块为基础去计算宏块当前最优值和全局最优值,有利于缓解现有搜索算法的缺陷,提升了得到最优值的概率,并且在保证最优解的基础上减少了,加快了搜索时间,从而有利于提高视频编码的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
请参考图5,作为对上述图1所示方法的实现,本申请提供了一种基于H264编码算法的视频编码装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的基于H264编码算法的视频编码装置包括:原始图像生成模块61、帧内编码模块62、原始种群拆分模块63、全局最优值输出模块64及目标编码数据生成模块65,其中:
原始图像生成模块61,用于获取待处理视频,并对待处理视频进行分帧处理,得到每一帧原始图像;
帧内编码模块62,用于通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将参考帧图像和当前帧图像初始化为由宏块组成的原始种群;
原始种群拆分模块63,用于将原始种群进行平均拆分,得到多个子种群,并计算子种群中的宏块当前最优值和全局最优值;
全局最优值输出模块64,用于若全局最优值满足预设条件,则输出全局最优值,若全局最优值未满足预设条件,则基于宏块当前最优值和全局最优值,重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;
目标编码数据生成模块65,用于通过对全局最优值进行整数变换和量化处理,得到量化后数据,并对量化后数据进行熵编码处理,得到目标编码数据。
进一步的,原始种群拆分模块63包括:
子种群生成单元,用于将原始种群进行平均拆分,得到多个子种群,其中,子种群包括多个宏块;
目标函数值生成单元,用于通过评价函数计算每个子种群中的函数值,得到目标函数值;
宏块计算单元,用于根据预设公式以及目标函数值,对子种群的每块宏块进行计算处理,得到宏块当前最优值和全局最优值。
其中,预设公式为:
Vi(t+1)=Vi(t)+c1*r1*(pbesti-Xi)+c2*r2*(gbesti-Xi);
Xi(t+1)=Xi(t)+Vi(t+1);
其中,t表示当前的迭代次数,r1和r2表示随机数,c1和c2为控制参数用来调节失败宏块每次迭代的步长,gbesti表示子种群Pi在此次迭代中的全局最优值,pbesti表示中第i个宏块的当前最优值,Xi为表示第i个宏块里面存储的二进制数,Xi(t)和Xi(t+1)为第t次及t+1次迭代次数后的第i个宏块里面存储的二进制数,Vi(t)和Vi(t+1)为第t次及t+1次迭代次数后的第i个宏块的速度。
其中,评价函数为:
f=f(B)-f(Br);其中,f为目标函数值,f(B)和f(Br)分别表示参考帧图像中的宏块值和当前帧图像中的宏块值。
进一步的,帧内编码模块62包括:
参考帧图像生成单元,用于通过对原始图像进行帧内编码,得到参考帧图像和当前帧图像;
宏块划分单元,用于将每一帧参考帧图像和当前帧图像划分为多个宏块;
宏块参数初始化单元,用于将多个宏块进行组合,得到原始种群,并初始化原始种群中的宏块参数。
进一步的,参数更新单元包括:
第一结果子单元,用于若全局最优值满足预设条件时,则输出全局最优值;
判断结果生成子单元,用于若全局最优值未满足预设条件,则判断每个子种群中是否存在宏块当前最优值等于全局最优值,得到判断结果;
第二结果子单元,用于若判断结果为每个子种群中存在宏块当前最优值等于全局最优值,则将宏块当前最优值作为下次迭代计算的宏块当前值,并重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件;
第三结果子单元,用于若判断结果为每个子种群中未存在宏块当前最优值等于全局最优值,则重新对原始种群进行拆分和计算处理,直至全局最优值满足预设条件。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图6,图6为本实施例计算机设备基本结构框图。
计算机设备7包括通过***总线相互通信连接存储器71、处理器72、网络接口73。需要指出的是,图中仅示出了具有三种组件存储器71、处理器72、网络接口73的计算机设备7,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器71至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器71可以是计算机设备7的内部存储单元,例如该计算机设备7的硬盘或内存。在另一些实施例中,存储器71也可以是计算机设备7的外部存储设备,例如该计算机设备7上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器71还可以既包括计算机设备7的内部存储单元也包括其外部存储设备。本实施例中,存储器71通常用于存储安装于计算机设备7的操作***和各类应用软件,例如基于H264编码算法的视频编码方法的程序代码等。此外,存储器71还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器72在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器72通常用于控制计算机设备7的总体操作。本实施例中,处理器72用于运行存储器71中存储的程序代码或者处理数据,例如运行上述基于H264编码算法的视频编码方法的程序代码,以实现基于H264编码算法的视频编码方法的各种实施例。
网络接口73可包括无线网络接口或有线网络接口,该网络接口73通常用于在计算机设备7与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于H264编码算法的视频编码方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于H264编码算法的视频编码方法,其特征在于,包括:
获取待处理视频,并对所述待处理视频进行分帧处理,得到每一帧原始图像;
通过对所述原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将所述参考帧图像和所述当前帧图像初始化为由宏块组成的原始种群;
将所述原始种群进行平均拆分,得到多个子种群,并计算所述子种群中的宏块当前最优值和全局最优值;
若所述全局最优值满足预设条件,则输出所述全局最优值,若所述全局最优值未满足所述预设条件,则基于所述宏块当前最优值和所述全局最优值,重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件;
通过对所述全局最优值进行整数变换和量化处理,得到量化后数据,并对所述量化后数据进行熵编码处理,得到目标编码数据。
2.根据权利要求1所述的基于H264编码算法的视频编码方法,其特征在于,所述将所述原始种群进行平均拆分,得到多个子种群,并计算所述子种群中的宏块当前最优值和全局最优值,包括:
将所述原始种群进行平均拆分,得到多个所述子种群,其中,所述子种群包括多个宏块;
通过评价函数计算每个所述子种群中的函数值,得到目标函数值;
根据预设公式以及所述目标函数值,对所述子种群的每块所述宏块进行计算处理,得到所述宏块当前最优值和所述全局最优值。
3.根据权利要求2所述的基于H264编码算法的视频编码方法,其特征在于,所述预设公式为:
Vi(t+1)=Vi(t)+c1*r1*(pbesti-Xi)+c2*r2*(gbesti-Xi);
Xi(t+1)=Xi(t)+Vi(t+1);
其中,t表示当前的迭代次数,r1和r2表示随机数,c1和c2为控制参数,用来调节失败宏块每次迭代的步长,gbesti表示子种群Pi在此次迭代中的全局最优值,pbesti表示第i个宏块的当前最优值,Xi为第i个宏块里面存储的二进制数,Xi(t)和Xi(t+1)为第t次及t+1次迭代次数后的第i个宏块里面存储的二进制数,Vi(t)和Vi(t+1)为第t次及t+1次迭代次数后的第i个宏块的速度。
4.根据权利要求2所述的基于H264编码算法的视频编码方法,其特征在于,所述评价函数为:
f=f(B)-f(Br);
其中,f为目标函数值,f(B)和f(Br)分别表示参考帧图像中的宏块值和当前帧图像中的宏块值。
5.根据权利要求1所述的基于H264编码算法的视频编码方法,其特征在于,所述若所述全局最优值满足预设条件时,则输出所述全局最优值,若所述全局最优值未满足所述预设条件时,则基于所述宏块当前最优值和所述全局最优值,重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件,包括:
若所述全局最优值满足预设条件,则输出所述全局最优值;
若所述全局最优值未满足所述预设条件,则判断每个子种群中是否存在所述宏块当前最优值等于所述全局最优值,得到判断结果;
若所述判断结果为每个子种群中存在所述宏块当前最优值等于所述全局最优值,则将所述宏块当前最优值作为下次迭代计算的宏块当前值,并重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件;
若所述判断结果为每个子种群中未存在所述宏块当前最优值等于所述全局最优值,则重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件。
6.根据权利要求1至5任一项所述的基于H264编码算法的视频编码方法,其特征在于,所述通过对所述原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将所述参考帧图像和所述当前帧图像初始化为由宏块组成的原始种群,包括:
通过对所述原始图像进行帧内编码,得到所述参考帧图像和所述当前帧图像;
将每一帧所述参考帧图像和所述当前帧图像划分为多个所述宏块;
将多个所述宏块进行组合,得到所述原始种群,并初始化所述原始种群中的宏块参数。
7.一种基于H264编码算法的视频编码装置,其特征在于,包括:
原始图像生成模块,用于获取待处理视频,并对所述待处理视频进行分帧处理,得到每一帧原始图像;
帧内编码模块,用于通过对所述原始图像进行帧内编码,得到参考帧图像和当前帧图像,并将所述参考帧图像和所述当前帧图像初始化为由宏块组成的原始种群;
原始种群拆分模块,用于将所述原始种群进行平均拆分,得到多个子种群,并计算所述子种群中的宏块当前最优值和全局最优值;
全局最优值输出模块,用于若所述全局最优值满足预设条件,则输出所述全局最优值,若所述全局最优值未满足所述预设条件,则基于所述宏块当前最优值和所述全局最优值,重新对所述原始种群进行拆分和计算处理,直至所述全局最优值满足预设条件;
目标编码数据生成模块,用于通过对所述全局最优值进行整数变换和量化处理,得到量化后数据,并对所述量化后数据进行熵编码处理,得到目标编码数据。
8.根据权利要求1所述的基于H264编码算法的视频编码装置,其特征在于,所述原始种群拆分模块包括:
子种群生成单元,用于将所述原始种群进行平均拆分,得到多个所述子种群,其中,所述子种群包括多个宏块;
目标函数值生成单元,用于通过评价函数计算每个所述子种群中的函数值,得到目标函数值;
宏块计算单元,用于根据预设公式以及所述目标函数值,对所述子种群的每块所述宏块进行计算处理,得到所述宏块当前最优值和所述全局最优值。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于H264编码算法的视频编码方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于H264编码算法的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210254622.1A CN114584779A (zh) | 2022-03-15 | 2022-03-15 | 基于h264编码算法的视频编码方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210254622.1A CN114584779A (zh) | 2022-03-15 | 2022-03-15 | 基于h264编码算法的视频编码方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114584779A true CN114584779A (zh) | 2022-06-03 |
Family
ID=81780394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210254622.1A Pending CN114584779A (zh) | 2022-03-15 | 2022-03-15 | 基于h264编码算法的视频编码方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584779A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024124835A1 (zh) * | 2022-12-13 | 2024-06-20 | 海信视像科技股份有限公司 | 视频编码方法及装置 |
-
2022
- 2022-03-15 CN CN202210254622.1A patent/CN114584779A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024124835A1 (zh) * | 2022-12-13 | 2024-06-20 | 海信视像科技股份有限公司 | 视频编码方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101584215B (zh) | 综合空时预测 | |
WO2020172907A1 (zh) | 一种量化系数结束标志位的上下文模型选取方法及装置 | |
CN111316642B (zh) | 信令图像编码和解码划分信息的方法和装置 | |
US20070041653A1 (en) | System and method of quantization | |
US9420303B2 (en) | Method and apparatus for displacement vector component transformation in video coding and decoding | |
CN108810549B (zh) | 一种面向低功耗的流媒体播放方法 | |
CN108028938A (zh) | 视频编码方法及装置 | |
CN114584779A (zh) | 基于h264编码算法的视频编码方法、装置、设备及介质 | |
US10979704B2 (en) | Methods and apparatus for optical blur modeling for improved video encoding | |
CN116866591A (zh) | 一种图像编码方法、装置及计算机设备、介质 | |
JP2015211386A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
KR20130006578A (ko) | 비표준 벡터 양자화 코더를 이용한 비디오 표준을 따르는 레지듀얼 코딩 | |
CN115442617A (zh) | 一种基于视频编码的视频处理方法和装置 | |
Jilani et al. | JPEG image compression using FPGA with Artificial Neural Networks | |
WO2023082107A1 (zh) | 解码方法、编码方法、解码器、编码器和编解码*** | |
CN112839233B (zh) | 视频解码方法、装置、计算机设备和存储介质 | |
CN114501031B (zh) | 一种压缩编码、解压缩方法以及装置 | |
WO2022061563A1 (zh) | 视频编码方法、装置及计算机可读存储介质 | |
CN108900842B (zh) | Y数据压缩处理方法、装置、设备及WebP压缩*** | |
CN109561315B (zh) | 一种运动估计方法、装置、电子设备及存储介质 | |
CN109587502B (zh) | 一种帧内压缩的方法、装置、设备及计算机可读存储介质 | |
CN114189684A (zh) | 一种基于jnd算法的视频编码方法、装置、介质及计算设备 | |
JP5809574B2 (ja) | 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム | |
CN109618152B (zh) | 深度划分编码方法、装置和电子设备 | |
CN111988621A (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 |