CN112055222B - 视频编解码方法、电子设备及计算机可读存储介质 - Google Patents
视频编解码方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112055222B CN112055222B CN202010852602.5A CN202010852602A CN112055222B CN 112055222 B CN112055222 B CN 112055222B CN 202010852602 A CN202010852602 A CN 202010852602A CN 112055222 B CN112055222 B CN 112055222B
- Authority
- CN
- China
- Prior art keywords
- video
- preset
- encoding
- size
- decoding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000005516 engineering process Methods 0.000 claims abstract description 99
- 238000012545 processing Methods 0.000 claims description 9
- 238000013139 quantization Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000012937 correction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频编解码方法、电子设备及计算机可读存储介质。该视频编解码方法包括:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,预设句法元素包括预设尺寸和预设编解码端技术;获取视频的当前编码单元的尺寸;判断当前编码单元的尺寸是否小于或等于预设尺寸;若是,则采用预设编解码端技术对视频进行编解码处理。通过这种方式,能够提高编解码端技术控制的灵活性、降低运算复杂度。
Description
技术领域
本申请涉及视频技术领域,特别是涉及一种视频编解码方法、电子设备及计算机可读存储介质。
背景技术
视频图像数据量比较大,通常需要对视频像素数据进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。其中,解码端运动矢量修正(decoder-side motion vector refinement,DMVR)技术、双向光流(bi-directional optical flow,BIO)技术及双向帧间梯度修正(bi-directional gradientcorrection,BGC)技术等帧间预测技术能够采用图像帧间的时域相关性对图像进行压缩,以提高视频数据的传输效率。
本申请的发明人在长期的研发过程中发现,现有技术中,DMVR技术、BIO技术、BGC技术等由于在编解码端都会进行,故其在解码端的运算复杂度较高,对于一些运算能力低的解码设备,无法满足实时解码需求。
发明内容
本申请实施例主要解决的技术问题是如何提高编解码端技术控制的灵活性、降低运算复杂度。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种视频编解码方法,该视频编解码方法包括:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,预设句法元素包括预设尺寸和预设编解码端技术;获取视频的当前编码单元的尺寸;判断当前编码单元的尺寸是否小于或等于预设尺寸;若是,则采用预设编解码端技术对视频进行编解码处理。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种电子设备,该电子设备包括:获取模块,用于获取待编解码处理的视频及视频中的预设句法元素;解析模块,与获取模块耦接,解析模块用于解析视预设句法元素,其中,预设句法元素包括预设尺寸和预设编解码端技术;获取模块进一步用于视频的当前编码单元的尺寸;判断模块,与解析模块耦接,判断模块用于判断当前编码单元的尺寸是否小于或等于预设尺寸;处理模块,与判断模块耦接,处理模块用于在判断模块判断当前编码单元的尺寸小于或等于预设尺寸时采用预设编解码端技术对视频进行处理。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种电子设备,该电子设备包括处理器及与处理器耦接的存储器,处理器用于执行存储器中存储的程序指令,以实现上述视频编解码方法。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述视频编解码方法。
本申请的有益效果是:区别于现有技术,本申请实施例提供的视频编解码方法包括:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,预设句法元素包括预设尺寸和预设编解码端技术;获取视频的当前编码单元的尺寸;判断当前编码单元的尺寸是否小于或等于预设尺寸;若是,则采用预设编解码端技术对视频进行编解码处理。通过这种方式,本申请实施例通过预设句法元素的形式设置预设尺寸和预设编解码端技术,在采用预设编解码端技术对视频进行编解码处理之前,对视频的当前编码单元的尺寸与预设尺寸进行比较,只有在视频的当前编码单元的尺寸小于或者等于预设尺寸时,才采用预设编解码端技术对视频进行编解码处理,因此能够降低编解码端的运算复杂度;而预设尺寸和预设编解码端技术可以根据用户对视频的要求或者电子设备的性能等进行设置,因此能够提高编解码端技术控制的灵活性,有效提高编解码工作效率。
附图说明
图1是本申请视频编解码方法一实施例的流程示意图;
图2是图1实施例中预测子块一示意图;
图3是图1实施例中预测子块另一示意图;
图4是图1实施例中BGC技术修正过程示意图;
图5是本申请视频编解码方法一实施例的流程示意图;
图6是本申请视频编解码方法一实施例的流程示意图;
图7是本申请视频编解码方法一实施例的流程示意图;
图8是本申请视频编解码方法一实施例的流程示意图;
图9是本申请电子设备一实施例的结构示意图;
图10是本申请计算机可读存储介质一实施例的结构示意图;
图11是本申请电子设备一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
本申请首先提出一种视频编解码方法,如图1所示,图1是本申请视频编解码方法第一实施例的流程示意图。本实施例视频编解码方法包括以下步骤:
步骤S101:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,句法元素包括预设尺寸和预设编解码端技术。
句法元素是视频中数据的基本单位,每个句法元素由若干比特组成,它表示某个特定的物理意义,码流是由一个个句法元素依次衔接组成的。
本实施例的预设句法元素中包含视频中编码单元的预设尺寸和预设编解码端技术。
可选地,预设编解码端技术至少包括:DMVR技术、BIO技术或BGC技术中的任一种。
视频是由连续的图像帧组成,图像帧分为I帧、P帧、B帧三种。I帧为帧内编码帧,P帧和B帧为帧间编码帧。在视频的预测阶段,需要对I帧进行帧内预测,即利用图像帧内的空域相关性对图像进行压缩,需要对P帧和B帧进行帧间预测,即利用图像帧间的时域相关性来对图像进行压缩。
其中,DMVR技术、BIO技术或BGC技术均为帧间预测技术,通过这些技术能够获取当图像帧的运动矢量(MotionVector,MV)信息,以用时域上前面图像帧和后面图像帧的运动信息来预测当前图像帧的运动信息。
其中,在常规Merge模式下,DMVR技术在双向预测块运动补偿中使用,块(编码单元)的尺寸必须满足宽和高都大于等于8且宽*高大于等于128,且双向帧权重必须相同。DMVR是对双向最佳MV的进一步修正,通过利用MV在参考帧找到对应的参考块,然后在参考块附近搜索代价(前向和后向参考块的差异SAD)最小的预测块,进而得到最佳的一个deltaMV来修正最佳MV的值。具体分以下几个步骤:
[a]首先利用前后向MV分别获取前向和后向整像素位置的预测块。
[b]然后利用前向和后向向MV分别在参考帧上获取当前块的前向和后向预测值,对应的前向和后向预测块分别为pre1和pre2。
[c]对当前块内的每个M*N子块,每个子块都需要计算25组前向和后向预测值的前向和后向参考块的差异SAD,通过比较所有SAD的大小,选取SAD最小的两个预测值,此时的偏移为当前子块的整像素deltaMV,每个子块都有一个deltaMV。
具体地,25组前向和后向预测值根据[b]中的前向和后向预测块pre1和pre2来获取,pre1和pre2也要和当前块一样对应划分为M*N的子块,每个子块前向预测值的获取是以pre1中预测子块的顶点A为搜索起始点,在以A为中心点的5*5像素区域内进行delta MV的搜索遍历,搜索顺序为从5*5区域的左上角按从左到右、从上到下的光栅扫描顺序,对每个搜索点,都要以该点为顶点组成一个和子块大小相同的块,并获取对应像素值,以便后续计算SAD;同时后向预测值的获取是以pre2中预测子块的顶点B为起始点,在以B为中心点的5*5像素区域内进行deltaMV的搜索遍历,搜索顺序为从5*5区域的右下角按从右到左、从下到上的光栅扫描顺序(即和pre1中的搜索顺序正好相反),对每个搜索点,都要以该点为顶点组成一个和子块大小相同的块,并获取对应像素值作为预测值,以便后续计算SAD。总结而言,每一组前向MV和后向MV都用同一个deltaMV进行调整,但方向相反。以pre1中某一预测子块为例,搜索区域如下图2所示。实线框代表pre1中当前预测子块,虚线框代表在遍历搜索到C点时,获取预测值的区域。
进一步地,为了减少搜索复杂度,在整像素搜索阶段使用ET(early termination)算法,来代替25个位置点全搜索。具体地,如图3所示,首先进行第一轮搜索,比较5个点(Center和P1~P4)的SAD,如果Center位置的SAD最小,则终止整像素偏移搜索阶段,否则进行下一步;根据上一步骤中得到的最小SAD位置点(P1~P4)check第5个位置P5,然后P1~P5中SAD最小的位置点作为新的中心点进行第二轮搜索,与第一轮相同,而且可以复用第一轮中计算过的SAD。
[d]进行分像素运动搜索过程,利用整像素点的SAD值求出分像素的deltaMV。如下述公式所示:
[e]根据每个子块最佳的前后向deltaMV(由整像素deltaMV+分像素deltaMV)求出修正后的MV:
MV0=MV0+deltaMV
MV1=MV1-deltaMV
该前向和后向MV分别对每个子块进行单向运动补偿,每个子块的预测值直接由前向和后向的预测值均值得到,进而得到当前块的最佳预测值。
在另一实施中,还可以采用AVS3标准下的DMVR技术代替上述Merge模式标准下的DMVR技术,AVS3标准下DMVR技术与上述DMVR过程基本相同,不同的点在于其进行整像素搜索的方式不同。它是首先找出21个偏移点的SAD代价,去掉了5*5(上述25组)偏移点的左上、右上、左下、右下4个顶点的位置。
其中,AVS3视频编码标准中,BIO技术过程如下:
[a]首先利用前向和后向MV分别进行常规的单向运动补偿操作,获取前向和后向预测值I(0)和I(1)。
[b]然后分别求取前向和后向对应的梯度值。每个像素梯度获取方式即为图像在x,y(水平和垂直)方向的梯度计算公式为:
[c]根据得到的梯度值和前向和后向预测值差值对当前块内每个4*4的子块求取5个变量分别为:S1,S2,S3,S5,S6,利用得到的上述变量对每个4*4块分别求取运动位移(vx,vy)(矢量场),运动位移的数学关系式如下:
其中thIBO和r为公式中固定的参数阈值。(vx,vy)的计算因子S1-S6是计算梯度方向的自相关性和互相关性:
其中,
θ(i,j)=I(1)(i,j)-I(0)(i,j)
[d]BIO预测值调整的最终方式:
predBIO(x,y)=(I(0)(x,y)+I(1)(x,y)+b+1)>>1
其中I(0)(x,y),I(1)(x,y)为前向和后向两个参考块对应的位置的预测值,b为双向光流调整的修正值。BIO计算过程中的位宽全部限制在32位以内。
其中,BGC技术中,设两个方向得到的单向亮度Y分量预测值分别为pred0和pred1,修正前的双向预测值为predBI,predBI为pred0和pred1的均值,若BIO开启时,则predBI为BIO修正后的当前块预测值predBIO。
关于BGC的语法元素:bgc_flag为二值变量,bgc_flag为0表示不进行梯度修正,bgc_flag为1表示进行梯度修正;bgc_idx为二值变量,bgc_idx为0时Pred=predBI+(pred1-pred0)>>k;bgc_idx为1时Pred=predBI+(pred0-pred1)>>k,其中k表示修正强度,修正后的预测值为Pred:
其中,k设为固定值3。图4中的V1公式对应bgc_flag=1、bgc_idx=0,V2公式对应bgc_flag=0,V3公式对应bgc_flag=1、bgc_idx=1。
BGC目前只对亮度Y分量进行,并在预测模式为高级运动矢量预测((advancedmotion vector prediction,AMVP)、仿射Affine的双向inter模式和对称运动信息预测(symmetricMVDmode,SMVD),三种预测模式下的运动补偿进行BGC调整,其中AMVP和SMVD的运动补偿后会先进行BIO过程,再进行BGC。
在一应用场景中,本申请实施例中的句法元素可以采用log2_max_xxxx_size_minus4等形式,其中,“xxxx”表示预设编解码端技术,如上述的DMVR技术、BIO技术、BGC技术等。
例如句法元素log2_max_dmvr_size_minus4,该句法元素是无符号整数,其取值范围是0~3,其表示所允许使用的预设编解码端技术DMVR其最大编码单元尺寸,即预设尺寸为2log2_max_dmvr_size_minus4+4。
例如句法元素log2_max_bio_size_minus4,该句法元素是无符号整数,其取值范围是0~3,其表示所允许使用的预设编解码端技术BIO其最大编码单元尺寸,即预设尺寸为2log2_max_bio_size_minus4+4。
例如句法元素log2_max_bgc_size_minus4,该句法元素是无符号整数,其取值范围是0~3,其表示所允许使用的预设编解码端技术BGC其最大编码单元尺寸,即预设尺寸为2log2_max_bgc_size_minus4+4。
步骤S102:获取视频的当前编码单元的尺寸。
编码单元是上述的视频的预测块。
步骤S103:判断当前编码单元的尺寸是否小于或等于预设尺寸。
步骤S104:若是,则采用预设编解码端技术对视频进行编解码处理。
进一步地,若当前编码单元的尺寸大于预设尺寸,则不需要采用预设编解码端技术对视频进行编解码处理。
对当前编码单元进行相关编解码端技术时,通过上述句法元素,解析到当前编码单元的尺寸限制条件,如2log2_max_xxxx_size_minus4+4,则当前编码单元根据这个限制条件,决定是否跳过当前的预设编解码端技术过程,使得编解码端复杂度得到控制和降低。
本申请实施例通过预设句法元素的形式设置预设尺寸和预设编解码端技术,在采用预设编解码端技术对视频进行编解码处理之前,对视频的当前编码单元的尺寸与预设尺寸进行比较,只有在视频的当前编码单元的尺寸小于或者等于预设尺寸时,才采用预设编解码端技术对视频进行编解码处理,因此能够降低编解码端的运算复杂度;而预设尺寸和预设编解码端技术可以根据用户对视频的要求或者电子设备的性能等进行设置,因此能够提高编解码端技术控制的灵活性,有效提高编解码工作效率。
本申请进一步提出第二实施例的视频编解码方法,如图5所示,本实施例视频编解码方法包括以下步骤:
步骤S201:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,句法元素包括预设尺寸和预设编解码端技术。
步骤S202:预设编解码端技术的获取使能数据。
使能数据用于表示对应的预设编码端技术是否被使用,使能数据可以通过配置文件信息设置在语法语义中。
步骤S203:若使能数据为1,则获取视频的当前编码单元的尺寸。
若使能数据为0,则无需获取视频的当前编码单元的尺寸及执行步骤S204和步骤S205。
例如,如表1-1所示,使能数据dmvr_enable_flag为1时,获取视频的当前编码单元的尺寸;使能数据dmvr_enable_flag为0时,无需获取视频的当前编码单元的尺寸及执行后续步骤。
表1-1
序列头定义 | 描述符 |
sequence_header(){ | |
… | |
if(profile_id==0x32){ | |
dmvr_enable_flag | u(1) |
… |
例如,如表1-2所示,使能数据bio_enable_flag为1时,获取视频的当前编码单元的尺寸;使能数据bio_enable_flag为0时,无需获取视频的当前编码单元的尺寸及执行后续步骤。
表1-2
步骤S204:判断当前编码单元的尺寸是否小于或等于预设尺寸。
步骤S205:若是,则采用预设编解码端技术对视频进行编解码处理。
进一步地,若当前编码单元的尺寸大于预设尺寸,则不需要采用预设编解码端技术对视频进行编解码处理。
步骤S204、步骤S205与上步骤S103、步骤S104类似,这里不赘述。
在上述实施例的基础上,本实施例通过为预设编解码端技术设置使能数据,只有在使能数据为1时,才进行后续编解码步骤,因此能够进一步降低编解码端的运算复杂度;而使能数据能够根据用户要求及编解码设备的性能进行设置,因此能够进一步提高编解码端技术控制的灵活性。
本申请进一步提出第三实施例的视频编解码方法,如图6所示,本实施例视频编解码方法包括以下步骤:
步骤S301:定义视频的配置信息,以在视频的语法定义中增加句法元素。
在一应用场景中,在AVS3视频编码标准下,通过定义序列头的配置信息,设置log2_max_xxxx_size_minus4的句法元素,如表2-1、表2-2、表2-3所示。
表2-1
序列头定义 | 描述符 |
sequence_header(){ | |
… | |
if(profile_id==0x32){ | |
dmvr_enable_flag | u(1) |
if(dmvr_enable_flag){ | |
log2_max_dmvr_size_minus4 | u(2) |
… | |
} | |
… |
表2-2
序列头定义 | 描述符 |
sequence_header(){ | |
… | |
if(profile_id==0x32){ | |
bgc_enable_flag | u(1) |
If(bgc_enable_flag){ | |
log2_max_bgc_size_minus4 | u(2) |
… | |
} | |
… |
本申请中的语法定义还可以包括:序列头定义、图像头定义、片定义或编码树单元定义中的任一种。上述实施例的句法元素定义在视频的序列头中,能够控制一整个序列的编解码复杂度。当然在其它实施例中,语法定义还可以是上述其它定义或定义组合,以将句法元素定义在图像头、片、编码树单元、编码单元,分别在图像级别、片级别、编码树单元级别、编码单元级别去控制每个编码单元是否使用预设编解码端技术。
表2-3
序列头定义 | 描述符 |
sequence_header(){ | |
… | |
if(profile_id==0x32){ | |
bio_enable_flag | u(1) |
If(bio_enable_flag){ | |
log2_max_bio_size_minus4 | u(2) |
… | |
} | |
… |
步骤S302:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,句法元素包括预设尺寸和预设编解码端技术。
步骤S303:获取视频的当前编码单元的尺寸。
步骤S304:判断当前编码单元的尺寸是否小于或等于预设尺寸。
步骤S305:若是,则采用预设编解码端技术对视频进行编解码处理。
本实施例步骤S302至步骤S305与上述实施例的步骤S101至步骤S104类似,这里不赘述。
进一步地,若当前编码单元的尺寸大于预设尺寸,则不需要采用预设编解码端技术对视频进行编解码处理。
具体地,对当前编码单元进行相关编解码端技术时,获取视频的句法元素,解析到当前编码单元的尺寸限制条件,如2log2_max_xxxx_size_minus4+4,则当前编码单元根据这个限制条件,决定是否跳过句法元素中的预设编解码端技术过程,使得编解码端复杂度得到控制和降低。
例如,若序列头定义log2_max_xxxx_size_minus4为0时,限制当前编码单元的宽和高均小于等于16时,才会进行编解码端相关技术过程,否则当前编码单元在编解码端会跳过该过程。
若序列头log2_max_xxxx_size_minus4为1时,限制当前编码单元的宽和高均小于等于32时,才会进行编解码端相关技术过程,否则当前编码单元在编解码端都会跳过该过程。
若序列头定义log2_max_xxxx_size_minus4为2时,限制当前编码单元的宽和高均小于等于64时,才会进行编解码端相关技术过程,否则当前编码单元在编解码端都会跳过该过程。
若序列头log2_max_xxxx_size_minus4为3时,限制当前编码单元的宽和高均小于等于128时,才会进行编解码端相关技术过程,否则当前编码单元在编解码端都会跳过该过程。
本申请进一步提出第四实施例的视频编解码方法,如图7所示,本实施例视频编解码方法包括以下步骤:
步骤S401:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,句法元素包括预设尺寸和预设编解码端技术。
步骤S402:获取视频的当前编码单元的尺寸。
步骤S403:判断当前编码单元的尺寸是否小于或等于预设尺寸。若是,则执行步骤S404,若否,则直接执行步骤S405。
步骤S404:采用预设编解码端技术对视频进行帧预测,以获取第一视频数据。
若当前编码单元的尺寸大于预设尺寸,则不需要对视频进行帧预测,直接执行步骤S405。
本实施例预设编解码端技术为帧间预测技术,例如DMVR技术、BIO技术、BGC技术等。当然,在帧预测阶段,还需要进行帧内预测等。
在其它实施例中,预设编解码端技术还可以是帧内预测技术或者其他编解码技术。
步骤S405:对第一视频数据依次进行变化、量化及熵编码,以获取视频的码流。
本实施例通过上述方法依次对视频进行帧预测、变化、量化及熵编码,能够将视频编码成码流,便于信道传输。
本申请进一步提出第五实施例的视频编解码方法,如图8所示,本实施例视频编解码方法包括以下步骤:
步骤S501:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,句法元素包括预设尺寸和预设编解码端技术。
步骤S502:获取视频的当前编码单元的尺寸。
步骤S503:判断当前编码单元的尺寸是否小于或等于预设尺寸。若是,则执行步骤S504,若否,则直接执行步骤S505。
步骤S504:采用预设编解码端技术对视频进行帧预测,以获取第一视频数据。
步骤S505:对第一视频数据依次进行傅里叶变化、量化及熵编码,以获取视频的码流。
步骤S501至步骤S505与上述步骤S401至步骤S405类似,这里不赘述。
步骤S506:对码流依次进行熵解码、反量化及反变化,以获取第二视频数据。
步骤S508:采用预设编解码端技术对第二视频数据进行帧预测,以获取解码后的视频。
在上述实施例的基础上,本实施例通过依次对从信道接收的码流依次进行熵解码、反量化、反变化及帧预测,能够将码流转换成便于用户使用的视频。
上述实施例是对编码端或者编码端与解码端同时进行上述实施例方法处理,当然,在其它实施例中,还可以仅在解码端采用上述实施例方法进行处理。
本申请进一步提出一种电子设备,如图9所示,图9是本申请电子设备一实施例的结构示意图。本实施例电子设备901包括处理器902及与处理器902耦接的存储器903,处理器902用于执行存储器903中存储的程序指令,以实现上述视频编解码方法。
电子设备901可以是编码器、解码器、编解码器,还可以是笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、导航装置、可穿戴设备、计步器等移动终端,以及诸如数字电视、台式计算机、服务器等固定终端。
区别于现有技术,本实施例通过预设句法元素的形式设置预设尺寸和预设编解码端技术,在采用预设编解码端技术对视频进行编解码处理之前,对视频的当前编码单元的尺寸与预设尺寸进行比较,只有在视频的当前编码单元的尺寸小于或者等于预设尺寸时,才采用预设编解码端技术对视频进行编解码处理,因此能够降低编解码端的运算复杂度;而预设尺寸和预设编解码端技术可以根据用户对视频的要求或者电子设备的性能等进行设置,因此能够提高编解码端技术控制的灵活性,有效提高编解码工作效率。
本申请进一步提出一种电子设备,如图11所示,图11是本申请电子设备一实施例的结构示意图。电子设备包括:获取模块1102,用于获取待编解码处理的视频及视频中的预设句法元素;解析模块1103,与获取模块1102耦接,解析模块1103用于解析视预设句法元素,其中,预设句法元素包括预设尺寸和预设编解码端技术;获取模块1102进一步用于视频的当前编码单元的尺寸;判断模块1104,与解析模块1103耦接,判断模块1104用于判断当前编码单元的尺寸是否小于或等于预设尺寸;处理模块1105,与判断模块1104耦接,处理模块1105用于在判断模块1104判断当前编码单元的尺寸小于或等于预设尺寸时采用预设编解码端技术对视频进行处理。
本申请进一步提出一种计算机可读存储介质,如图10所示,图10是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质1001其上存储有程序指令1002,程序指令1002被处理器(图未示)执行时实现上述视频编解码方法。
本实施例计算机可读存储介质1001可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
本申请实施例提供的视频编解码方法包括:获取待编解码处理的视频,解析并获取视频中的预设句法元素,其中,预设句法元素包括预设尺寸和预设编解码端技术;获取视频的当前编码单元的尺寸;判断当前编码单元的尺寸是否小于或等于预设尺寸;若是,则采用预设编解码端技术对视频进行编解码处理。通过这种方式,本申请实施例通过预设句法元素的形式设置预设尺寸和预设编解码端技术,在采用预设编解码端技术对视频进行编解码处理之前,对视频的当前编码单元的尺寸与预设尺寸进行比较,只有在视频的当前编码单元的尺寸小于或者等于预设尺寸时,才采用预设编解码端技术对视频进行编解码处理,因此能够降低编解码端的运算复杂度;而预设尺寸和预设编解码端技术可以根据用户对视频的要求或者电子设备的性能等进行设置,因此能够提高编解码端技术控制的灵活性,有效提高编解码工作效率。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
在本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种视频编解码方法,其特征在于,包括:
获取待编解码处理的视频,解析并获取所述视频中的预设句法元素,其中,所述预设句法元素包括预设尺寸和预设编解码端技术;
获取所述视频的当前编码单元的尺寸;
判断所述当前编码单元的尺寸是否小于或等于所述预设尺寸;
若是,则采用所述预设编解码端技术对所述视频进行编解码处理;
其中,所述预设编解码端技术包括DMVR技术、BIO技术和BGC技术。
2.根据权利要求1所述的视频编解码方法,其特征在于,在所述解析并获取所述视频中的预设句法元素的步骤之后,所述获取所述视频的当前编码单元的尺寸的步骤之前,所述视频编解码方法进一步包括:
获取所述预设编解码端技术的使能数据;
若所述使能数据为1,则执行所述获取所述视频的当前编码单元的尺寸的步骤。
3.根据权利要求1所述的视频编解码方法,其特征在于,所述预设尺寸大小为2A+4,其中,所述A为无符号整数,且其范围为0~3。
4.根据权利要求1所述的视频编解码方法,其特征在于,所述采用所述预设编解码端技术对所述视频进行编解码处理的步骤包括:
采用所述预设编解码端技术对所述视频进行帧预测,以获取第一视频数据;
所述视频编解码方法进一步包括:
对所述第一视频数据依次进行变化、量化及熵编码,以获取所述视频的码流。
5.根据权利要求4所述的视频编解码方法,其特征在于,所述视频编解码方法进一步包括:
若所述当前编码单元的尺寸大于所述预设尺寸,则执行对所述第一视频数据依次进行变化、量化及熵编码,以获取所述视频的码流的步骤。
6.根据权利要求4所述的视频编解码方法,其特征在于,所述视频编解码方法进一步包括:
对所述码流依次进行熵解码、反量化及反变化,以获取第二视频数据;
所述采用所述预设编解码端技术对所述视频进行编解码处理的步骤进一步包括:
采用所述预设编解码端技术对所述第二视频数据进行帧预测,以获取解码后的视频。
7.根据权利要求1所述的视频编解码方法,其特征在于,所述视频编解码方法进一步包括:
定义所述视频的配置信息,以在所述视频的语法定义中增加所述句法元素;
其中,所述语法定义至少包括:序列头定义、图像头定义、片定义或编码树单元定义中的任一种。
8.一种电子设备,其特征在于,所述电子设备包括:
获取模块,用于获取待编解码处理的视频及所述视频中的预设句法元素;
解析模块,与所述获取模块耦接,所述解析模块用于解析所述视频中预设句法元素,其中,所述预设句法元素包括预设尺寸和预设编解码端技术;
所述获取模块进一步用于所述视频的当前编码单元的尺寸;
判断模块,与所述解析模块耦接,所述判断模块用于判断所述当前编码单元的尺寸是否小于或等于所述预设尺寸;
处理模块,与所述判断模块耦接,所述处理模块用于在所述判断模块判断所述当前编码单元的尺寸小于或等于所述预设尺寸时采用所述预设编解码端技术对所述视频进行处理;其中,所述预设编解码端技术包括DMVR技术、BIO技术和BGC技术。
9.一种电子设备,其特征在于,所述电子设备包括处理器及与所述处理器耦接的存储器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至7任一项所述的视频编解码方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至7任一项所述的视频编解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010852602.5A CN112055222B (zh) | 2020-08-21 | 2020-08-21 | 视频编解码方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010852602.5A CN112055222B (zh) | 2020-08-21 | 2020-08-21 | 视频编解码方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112055222A CN112055222A (zh) | 2020-12-08 |
CN112055222B true CN112055222B (zh) | 2024-05-07 |
Family
ID=73599568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010852602.5A Active CN112055222B (zh) | 2020-08-21 | 2020-08-21 | 视频编解码方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112055222B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106204567A (zh) * | 2016-07-05 | 2016-12-07 | 华南理工大学 | 一种自然背景视频抠图方法 |
WO2018169099A1 (ko) * | 2017-03-13 | 2018-09-20 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
WO2020103870A1 (en) * | 2018-11-20 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Inter prediction with refinement in video processing |
CN111294598A (zh) * | 2019-02-08 | 2020-06-16 | 北京达佳互联信息技术有限公司 | 一种视频编解码方法及设备 |
JP2020096329A (ja) * | 2018-12-14 | 2020-06-18 | シャープ株式会社 | 予測画像生成装置、動画像復号装置および動画像符号化装置 |
CN111436226A (zh) * | 2018-11-12 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于帧间预测的运动矢量存储 |
-
2020
- 2020-08-21 CN CN202010852602.5A patent/CN112055222B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106204567A (zh) * | 2016-07-05 | 2016-12-07 | 华南理工大学 | 一种自然背景视频抠图方法 |
WO2018169099A1 (ko) * | 2017-03-13 | 2018-09-20 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
CN111436226A (zh) * | 2018-11-12 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于帧间预测的运动矢量存储 |
WO2020103870A1 (en) * | 2018-11-20 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Inter prediction with refinement in video processing |
JP2020096329A (ja) * | 2018-12-14 | 2020-06-18 | シャープ株式会社 | 予測画像生成装置、動画像復号装置および動画像符号化装置 |
CN111294598A (zh) * | 2019-02-08 | 2020-06-16 | 北京达佳互联信息技术有限公司 | 一种视频编解码方法及设备 |
Non-Patent Citations (3)
Title |
---|
Kyohei Unno,et al.CE9: Block size restriction for DMVR (test 9.2.6).《JVET》.2019,全文. * |
Versatile Video Coding (Draft 4);Benjamin Bross,et al;《JVET》;29、66 * |
基于深度学习的视频编码技术研究;王洋;CNKI;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112055222A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10142654B2 (en) | Method for encoding/decoding video by oblong intra prediction | |
CN111971962B (zh) | 视频编解码装置和方法 | |
US7426308B2 (en) | Intraframe and interframe interlace coding and decoding | |
US10542284B2 (en) | Method and arrangement for video coding | |
US20200374514A1 (en) | Video encoding and decoding method and device, computer device, and storage medium | |
US11206405B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
US11496732B2 (en) | Video image encoding and decoding method, apparatus, and device | |
CN101313587B (zh) | 用于多媒体编码的模式选择技术 | |
CN102017615B (zh) | 视频单元内的边界伪影校正 | |
CN108924553B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
US20070076795A1 (en) | Method and apparatus for determining inter-mode in video encoding | |
US20110206113A1 (en) | Data Compression for Video | |
CN102883159A (zh) | 图像编码方法以及图像解码方法 | |
US7822123B2 (en) | Efficient repeat padding for hybrid video sequence with arbitrary video resolution | |
JP2003209848A (ja) | 動き推定及びモード決定装置並びにその方法 | |
US11212536B2 (en) | Negative region-of-interest video coding | |
US7839933B2 (en) | Adaptive vertical macroblock alignment for mixed frame video sequences | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
US20050089098A1 (en) | Data processing apparatus and method and encoding device of same | |
JP2011015117A (ja) | 画像符号化装置、画像符号化方法及び、ビデオカメラ | |
CN108401185B (zh) | 参考帧选择方法、视频转码方法、电子设备和存储介质 | |
CN1457196A (zh) | 基于时空域相关性运动矢量预测的视频编码方法 | |
CN112055222B (zh) | 视频编解码方法、电子设备及计算机可读存储介质 | |
US20120163462A1 (en) | Motion estimation apparatus and method using prediction algorithm between macroblocks | |
TW201338553A (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 |