CN113542769A - 一种视频图像编码方法、系统、设备以及介质 - Google Patents
一种视频图像编码方法、系统、设备以及介质 Download PDFInfo
- Publication number
- CN113542769A CN113542769A CN202111095002.XA CN202111095002A CN113542769A CN 113542769 A CN113542769 A CN 113542769A CN 202111095002 A CN202111095002 A CN 202111095002A CN 113542769 A CN113542769 A CN 113542769A
- Authority
- CN
- China
- Prior art keywords
- block
- reference block
- ith sub
- content
- coordinate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010845 search algorithm Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频图像编码方法,包括以下步骤:将待编码图像帧划分成多个子块,并为每一个子块分配坐标;根据第i个子块的内容计算对应的哈希值;利用第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与第i个子块对应的哈希值相同的第一参考块对应的坐标;根据第i个子块的坐标判断第一参考块的坐标是否有效;响应于第一参考块的坐标有效,根据第一参考块的坐标获取第一参考块的内容,并与第i个子块的内容进行对比;响应于第一参考块的内容与第i个子块的内容一致,对第i个子块进行帧内复制块编码。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的技术方案能够快速的判断待编码块能否可用于IBC模式编码。
Description
技术领域
本发明涉及图像编码领域,具体涉及一种视频图像编码方法、系统、设备以及存储介质。
背景技术
传统视频编解码标准中会采用两种预测编码方案:帧内预测(intraprediction),帧间预测( inter prediction)。帧内预测可以减小单帧图像空间冗余信息,帧间预测可以减小帧与帧之间的时间信息冗余。
而帧内复制块(Intra Copy Block, IBC作为一种新的帧内预测技术,其常用于帧内相同内容的数据块编码。
AV1、H266等最新视频编解码协议支持IBC的编码,对于编码器,IBC算法的重点在于重复内容块的查找。视频编解码协议没有也没有必要规定IBC查找的算法。当前主流的IBC搜索算法大多都是类似于帧间块搜索方法,例如基于块匹配搜索算法。
块匹配算法的基本思想是先将视频图像侦划分成各个相互不重叠的的子块,每个子块是相互独立的,假设在子块内,所有的像素位移量是相同的。即我们可把每个子块看作运动的物体,在视频图像帖序列中,t时刻对应于第k帧图像,t-x时刻对应于前一帧k-1图像。对于k帧中的任意一个子块,在k-1侦中寻找与k帧中该子块相似度最高的子块,即这个过程称为块匹配.
评价两个子块相似的标准,叫做匹配准则。常用的匹配准则有以下两个:
(1)均方误差(MSE)最小准则:
(2)绝对误差均值(MAD)最小准则:
从以上公式内容看,无论是最小MSE准则还是最小MAD,都是通过比较两个字块内容之间的差异来评估相似性。即传统块匹配搜索算法的目的是找到与当前块最相似一个的参考块。自然采集视频序列中,由于光照,噪声,相机等因素的影响,同一物体在两幅图像中的像素值不可能完全相同。此种情形下,最小MSE或者最小MAD可以搜索传统自然视频系列相似较高的块。
但是屏幕内容视频与自然采集视频序的特点不尽相同:屏幕内容完全由算法生成,因此视频(图像)像素值不受光照,噪声,相机等因素的影响。对于两个完全相同的内容块,它们的像素也完全一致且相同。因此IBC搜索算法的也应该为搜索相同块。但是块匹配搜索算法实质上是搜索相似块,所以块匹配搜索算法并不是理想的IBC搜索算法。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明提出一种视频图像编码方法,包括以下步骤:
将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
根据第i个子块的内容计算对应的哈希值;
利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,进一步包括:
响应于所述第一哈希表中不存在与所述第i个子块对应的哈希值相同的第一参考块的坐标,则将所述第i个子块对应的哈希值和对应的坐标更新到所述第一哈希表中;
利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的坐标无效,利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的内容与所述第i个子块的内容不一致,根据所述第一参考块的坐标在第二哈希表中进行搜索,以得到与所述第一参考块对应的哈希值相同的第二参考块的坐标与所述第一参考块的坐标之间的差值;
根据所述第二参考块的坐标与所述第一参考块的坐标之间的差值以及所述第一参考块的坐标确定所述第二参考块的坐标;
根据所述第二参考块的坐标获取所述第二参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第二参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,还包括:
利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标。
在一些实施例中,还包括:
计算所述第一参考块的坐标与所述第i个子块对应的坐标之间的坐标差值;
将所述第i个子块对应的坐标和所述坐标差值更新到第二哈希表中。
在一些实施例中,还包括:
将所述第i个子块的坐标和哈希值更新到第三哈希表中。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种视频图像编码系统,包括:
划分模块,配置为将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
计算模块,配置为根据第i个子块的内容计算对应的哈希值;
搜索模块,配置为利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
判断模块,配置为根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
对比模块,配置为响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
编码模块,配置为响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种视频图像编码方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种视频图像编码方法的步骤。
本发明具有以下有益技术效果:本发明提出的技术方案基于第一哈希表进行帧内搜索,与帧间的块匹配搜索法相比,能够快速的判断待编码块能否可用于IBC模式编码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的视频图像编码方法的流程示意图;
图2为本发明的实施例提供的视频图像编码系统的结构示意图;
图3为本发明的实施例提供的计算机设备的结构示意图;
图4为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在本发明的实施例中,IBC(Intra block copy)指帧内复制块,视频编解码中的一种方式。BV(Block Vector)指块矢量,描述IBC与参考的位置关系。
根据本发明的一个方面,本发明的实施例提出一种视频图像编码方法,如图1所示,其可以包括步骤:
S1,将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
S2,根据第i个子块的内容计算对应的哈希值;
S3,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
S4,根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
S5,响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
S6,响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
本发明提出的技术方案基于第一哈希表进行帧内搜索,与帧间的块匹配搜索法相比,能够快速的判断待编码块能否可用于IBC模式编码。
在一些实施例中,步骤S1中,将待编码图像帧划分成多个图像子块,并为每一个图像子块分配坐标,具体的,待编码图像为视频图像侦,在进行编码前可以将其划分成各个相互不重叠的M*N个子块,每一个子块对应的数据可以是Pixel[i:i+8, j:j+8],即每一个子块的像素值为8*8。然后可以根据每一个子块位置对每一个子块分配坐标,例如第一行第三列的子块的坐标可以为(1,3)。
在一些实施例中,步骤S3中,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,具体的,第一哈希表(Hash_table)可以为一维数组,数字坐标对应HASH值,数组元素用于保存图像子块的坐标,即该一维数组以HASH值为索引,图像子块的坐标为值。例如Hash_table[i]保存hash值等于i的一个子块的坐标(x0,y0),即通过哈希值i即可在第一哈希表中找到子块的坐标(x0,y0)。
需要说明的是,在每次对新的待编码图像帧进行编码时,第一哈希表中均需要更新为空。在对当前的待编码图像帧进行编码时,第一哈希表中记录的均是当前的待编码图像帧划分出的子块的哈希值和对应的坐标。并且一个哈希值只会对应一个坐标,并且该哈希值对应的坐标是最新最近的子块的坐标,例如,当前第一哈希表中哈希值为i的坐标为(x0,y0),若后续对其他子块进行编码时,其他子块的哈希值同样为i,则用其他子块的坐标(x1,y1)将第一哈希表中的(x0,y0)替换掉。
当利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,并且当前的第一哈希表中已经记录了该哈希值对应的坐标,说明之前存在一个子块的哈希值与第i个子块的哈希值相同,这样通过第一哈希表即可得到之前与第i个子块的哈希值相同的第一参考块对应的坐标。
在一些实施例中,步骤S4中,根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效,具体的,如果通过第一哈希表得到了第一参考块对应的坐标,可以先判断该坐标是否有效,例如,第一参考块的横纵坐标与第i个子块的横纵坐标的差值是否在预设范围内,如果在预设范围内,则说明该第一参考块是有效的,如果不在预设范围内,则说明是无效的。
在一些实施例中,步骤S5中,响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比,具体的,当第一参考块的坐标有效时,则根据第一参考块的坐标获取到对应的内容,并与第i个子块的内容进行对比以判读两者的内容是否一致。在一些实施例中,检测两个块的内容是否一致,可以采用检测残差内容是否全为0的方式判断是否一致。
在一些实施例中,如果全为0,则说明第i个子块的内容与第一参考块的内容一致,则进行步骤S6,对第i个子块采用IBC模式编码,并计算相应的BV。
在一些实施例中,方法还包括:
响应于所述第一参考块的坐标无效,利用预设编码方法对所述第i个子块进行编码。
具体的,如果第一参考块的坐标无效,说明当前的第i个子块无法用IBC模式编码,则对第i个子块采用其他模式的编码。
在一些实施例中,方法还包括:
利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标。
具体的,当第i个子块的哈希值跟内容与第一参考块均相同,此时由于第一哈希表中记录的是最新最近的坐标,因此需要将第i个子块的坐标更新第一哈希表中第一参考块的坐标。即此后在利用第i个子块或第一参考块的哈希值在第一哈希表中进行搜索时,得到的是第i个子块的坐标。
在一些实施例中,方法还包括:
计算所述第一参考块的坐标与所述第i个子块对应的坐标之间的坐标差值;
将所述第i个子块对应的坐标和所述坐标差值更新到第二哈希表中。
具体的,当利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标后,第一参考块的坐标可以利用差值的形式记录到第二哈希表中。
在一些实施例中,第二哈希表(CHT,Chained Hash table)可以为链式Hash表,其为二维数组。数组坐标为子块图像的坐标,数组元素为坐标差值(dx dy)。第二哈希表与第一哈希表配合使用,构建一个链式Hash表。CHT的意义在于为Hash值相同的字块之间构联系,即Hash CHT[x][y]==Hash CHT[x-dx][y-dy]。例如,第i个子块和第一参考块的哈希值相同,则将第i个子块的坐标作为第二哈希表的索引,第i个子块的坐标和第一参考块的坐标之间的差值作为值,这样即可利用第i个子块的坐标得到第i个子块和第一参考块之间的坐标差值,进而得到第一参考块的坐标。
在一些实施例中,还包括:
响应于所述第一参考块的内容与所述第i个子块的内容不一致,根据所述第一参考块的坐标在第二哈希表中进行搜索,以得到与所述第一参考块对应的哈希值相同的第二参考块的坐标与所述第一参考块的坐标之间的差值;
根据所述第二参考块的坐标与所述第一参考块的坐标之间的差值以及所述第一参考块的坐标确定所述第二参考块的坐标;
根据所述第二参考块的坐标获取所述第二参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第二参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
具体的,如果第i个子块的内容与第一参考块的内容不一致,说明出现哈希冲突(哈希值相同,但原始内容不同),此时则需要根据第一个参考块的坐标在第二哈希表中进行搜索,以得到与第一参考块的哈希值相同的第二参考块的坐标,由于第二哈希表中记录的是坐标差值,因此需要先根据第一参考块的坐标得到第一参考块和第二参考块之间的坐标差值,再根据坐标差值得到第二参考块的坐标。接着,则判断第二参考块是否可以作为第i个子块的参考,同样的判断第二参考块的内容与第i个子块的内容是否相同,如果相同,则说明第二参考快可以作为第i个子块的参考,并根据第二参考块对第i个子块采用IBC模式编码,并计算相应的BV。如果不相同,则可以基于相同的过程,继续根据第二参考块的坐标在第二哈希表中寻找第三参考块,并进行内容判断。如果没有在第二哈希表中找到内容相同的参考块的坐标,则对第i个子块采用其他模式的编码。
在一些实施例中,步骤S3中,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,进一步包括:
响应于所述第一哈希表中不存在与所述第i个子块对应的哈希值相同的第一参考块的坐标,则将所述第i个子块对应的哈希值和对应的坐标更新到所述第一哈希表中;
利用预设编码方法对所述第i个子块进行编码。
具体的,如果第一哈希表中不存在与第i个子块对应的哈希值相同的第一参考块的坐标,则直接将第i个子块对应的哈希值和对应的坐标更新到第一哈希表中,这样,当后续有其他子块的哈希值与第i个子块的哈希值相同的话,即可利用相同的哈希值在第一哈希表中搜索到第i个子块对应的坐标。同时也说明当前的第i个子块无法使用IBC模式的编码,则对第i个子块采用其他模式的编码。
在一些实施例中,方法还包括:
将所述第i个子块的坐标和哈希值更新到第三哈希表中。
具体的,第三哈希表(BHT,Block_hash_table),属于块hash列表,其同样为二维数组,但是数组坐标为子块图像的坐标,数组元素为该坐标对应子块图像内容的hash值。通过第三哈希表可以记录每一个坐标对应的哈希值。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种视频图像编码系统400,如图2所示,包括:
划分模块401,配置为将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
计算模块402,配置为根据第i个子块的内容计算对应的哈希值;
搜索模块403,配置为利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
判断模块404,配置为根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
对比模块405,配置为响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
编码模块406,配置为响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,进一步包括:
响应于所述第一哈希表中不存在与所述第i个子块对应的哈希值相同的第一参考块的坐标,则将所述第i个子块对应的哈希值和对应的坐标更新到所述第一哈希表中;
利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的坐标无效,利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的内容与所述第i个子块的内容不一致,根据所述第一参考块的坐标在第二哈希表中进行搜索,以得到与所述第一参考块对应的哈希值相同的第二参考块的坐标与所述第一参考块的坐标之间的差值;
根据所述第二参考块的坐标与所述第一参考块的坐标之间的差值以及所述第一参考块的坐标确定所述第二参考块的坐标;
根据所述第二参考块的坐标获取所述第二参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第二参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,还包括:
利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标。
在一些实施例中,还包括:
计算所述第一参考块的坐标与所述第i个子块对应的坐标之间的坐标差值;
将所述第i个子块对应的坐标和所述坐标差值更新到第二哈希表中。
在一些实施例中,还包括:
将所述第i个子块的坐标和哈希值更新到第三哈希表中。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上以下步骤:
S1,将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
S2,根据第i个子块的内容计算对应的哈希值;
S3,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
S4,根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
S5,响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
S6,响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,进一步包括:
响应于所述第一哈希表中不存在与所述第i个子块对应的哈希值相同的第一参考块的坐标,则将所述第i个子块对应的哈希值和对应的坐标更新到所述第一哈希表中;
利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的坐标无效,利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的内容与所述第i个子块的内容不一致,根据所述第一参考块的坐标在第二哈希表中进行搜索,以得到与所述第一参考块对应的哈希值相同的第二参考块的坐标与所述第一参考块的坐标之间的差值;
根据所述第二参考块的坐标与所述第一参考块的坐标之间的差值以及所述第一参考块的坐标确定所述第二参考块的坐标;
根据所述第二参考块的坐标获取所述第二参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第二参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,还包括:
利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标。
在一些实施例中,还包括:
计算所述第一参考块的坐标与所述第i个子块对应的坐标之间的坐标差值;
将所述第i个子块对应的坐标和所述坐标差值更新到第二哈希表中。
在一些实施例中,还包括:
将所述第i个子块的坐标和哈希值更新到第三哈希表中。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
S1,将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
S2,根据第i个子块的内容计算对应的哈希值;
S3,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
S4,根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
S5,响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
S6,响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,进一步包括:
响应于所述第一哈希表中不存在与所述第i个子块对应的哈希值相同的第一参考块的坐标,则将所述第i个子块对应的哈希值和对应的坐标更新到所述第一哈希表中;
利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的坐标无效,利用预设编码方法对所述第i个子块进行编码。
在一些实施例中,还包括:
响应于所述第一参考块的内容与所述第i个子块的内容不一致,根据所述第一参考块的坐标在第二哈希表中进行搜索,以得到与所述第一参考块对应的哈希值相同的第二参考块的坐标与所述第一参考块的坐标之间的差值;
根据所述第二参考块的坐标与所述第一参考块的坐标之间的差值以及所述第一参考块的坐标确定所述第二参考块的坐标;
根据所述第二参考块的坐标获取所述第二参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第二参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
在一些实施例中,还包括:
利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标。
在一些实施例中,还包括:
计算所述第一参考块的坐标与所述第i个子块对应的坐标之间的坐标差值;
将所述第i个子块对应的坐标和所述坐标差值更新到第二哈希表中。
在一些实施例中,还包括:
将所述第i个子块的坐标和哈希值更新到第三哈希表中。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种视频图像编码方法,其特征在于,包括以下步骤:
将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
根据第i个子块的内容计算对应的哈希值;
利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
2.如权利要求1所述的方法,其特征在于,利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标,进一步包括:
响应于所述第一哈希表中不存在与所述第i个子块对应的哈希值相同的第一参考块的坐标,则将所述第i个子块对应的哈希值和对应的坐标更新到所述第一哈希表中;
利用预设编码方法对所述第i个子块进行编码。
3.如权利要求1所述的方法,其特征在于,还包括:
响应于所述第一参考块的坐标无效,利用预设编码方法对所述第i个子块进行编码。
4.如权利要求1所述的方法,其特征在于,还包括:
响应于所述第一参考块的内容与所述第i个子块的内容不一致,根据所述第一参考块的坐标在第二哈希表中进行搜索,以得到与所述第一参考块对应的哈希值相同的第二参考块的坐标与所述第一参考块的坐标之间的差值;
根据所述第二参考块的坐标与所述第一参考块的坐标之间的差值以及所述第一参考块的坐标确定所述第二参考块的坐标;
根据所述第二参考块的坐标获取所述第二参考块的内容,并与所述第i个子块的内容进行对比;
响应于所述第二参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
5.如权利要求1所述的方法,其特征在于,还包括:
利用所述第i个子块对应的坐标替换所述第一哈希表中所述第一参考块对应的坐标。
6.如权利要求5所述的方法,其特征在于,还包括:
计算所述第一参考块的坐标与所述第i个子块对应的坐标之间的坐标差值;
将所述第i个子块对应的坐标和所述坐标差值更新到第二哈希表中。
7.如权利要求1所述的方法,其特征在于,还包括:
将所述第i个子块的坐标和哈希值更新到第三哈希表中。
8.一种视频图像编码系统,其特征在于,包括:
划分模块,配置为将待编码图像帧划分成多个子块,并为每一个子块分配坐标;
计算模块,配置为根据第i个子块的内容计算对应的哈希值;
搜索模块,配置为利用所述第i个子块对应的哈希值在第一哈希表中进行搜索,以得到与所述第i个子块对应的哈希值相同的第一参考块对应的坐标;
判断模块,配置为根据所述第i个子块的坐标判断所述第一参考块的坐标是否有效;
对比模块,配置为响应于所述第一参考块的坐标有效,根据所述第一参考块的坐标获取所述第一参考块的内容,并与所述第i个子块的内容进行对比;
编码模块,配置为响应于所述第一参考块的内容与所述第i个子块的内容一致,对所述第i个子块进行帧内复制块编码。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-7任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-7任意一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095002.XA CN113542769B (zh) | 2021-09-17 | 2021-09-17 | 一种视频图像编码方法、系统、设备以及介质 |
PCT/CN2022/074615 WO2023040166A1 (zh) | 2021-09-17 | 2022-01-28 | 一种视频图像编码方法、系统、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095002.XA CN113542769B (zh) | 2021-09-17 | 2021-09-17 | 一种视频图像编码方法、系统、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542769A true CN113542769A (zh) | 2021-10-22 |
CN113542769B CN113542769B (zh) | 2021-12-10 |
Family
ID=78093401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111095002.XA Active CN113542769B (zh) | 2021-09-17 | 2021-09-17 | 一种视频图像编码方法、系统、设备以及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113542769B (zh) |
WO (1) | WO2023040166A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023040166A1 (zh) * | 2021-09-17 | 2023-03-23 | 苏州浪潮智能科技有限公司 | 一种视频图像编码方法、系统、设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130272412A1 (en) * | 2012-04-12 | 2013-10-17 | Qualcomm Incorporated | Common motion information candidate list construction process |
CN105426413A (zh) * | 2015-10-31 | 2016-03-23 | 华为技术有限公司 | 一种编码方法及装置 |
CN106105197A (zh) * | 2014-03-17 | 2016-11-09 | 高通股份有限公司 | 针对帧内块复制的基于散列的编码器搜索 |
CN111836046A (zh) * | 2020-06-22 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 视频编码方法及装置、电子设备和计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743570B (zh) * | 2019-01-09 | 2021-07-06 | 北京工业大学 | 一种屏幕内容视频的压缩方法 |
CN113542769B (zh) * | 2021-09-17 | 2021-12-10 | 苏州浪潮智能科技有限公司 | 一种视频图像编码方法、系统、设备以及介质 |
-
2021
- 2021-09-17 CN CN202111095002.XA patent/CN113542769B/zh active Active
-
2022
- 2022-01-28 WO PCT/CN2022/074615 patent/WO2023040166A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130272412A1 (en) * | 2012-04-12 | 2013-10-17 | Qualcomm Incorporated | Common motion information candidate list construction process |
CN106105197A (zh) * | 2014-03-17 | 2016-11-09 | 高通股份有限公司 | 针对帧内块复制的基于散列的编码器搜索 |
CN105426413A (zh) * | 2015-10-31 | 2016-03-23 | 华为技术有限公司 | 一种编码方法及装置 |
CN111836046A (zh) * | 2020-06-22 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 视频编码方法及装置、电子设备和计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023040166A1 (zh) * | 2021-09-17 | 2023-03-23 | 苏州浪潮智能科技有限公司 | 一种视频图像编码方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113542769B (zh) | 2021-12-10 |
WO2023040166A1 (zh) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3941056A1 (en) | Encoding and decoding method and device, encoder side apparatus and decoder side apparatus | |
JP4504230B2 (ja) | 動画像処理装置、動画像処理方法、及び動画像処理プログラム | |
CN113056910B (zh) | 用于视频编码的运动矢量预测子索引编码 | |
CN110383841A (zh) | 用于在视频压缩中对运动矢量进行编码的方法和设备 | |
US9113170B2 (en) | Motion vector decision apparatus, motion vector decision method and computer readable storage medium | |
CN116668675A (zh) | 视频图像分量的预测方法、装置及计算机存储介质 | |
CN111818342A (zh) | 帧间预测方法及预测装置 | |
CN113542769B (zh) | 一种视频图像编码方法、系统、设备以及介质 | |
JP5178616B2 (ja) | シーンチェンジ検出装置および映像記録装置 | |
WO2016131270A1 (zh) | 一种错误隐藏的方法和装置 | |
JP2021005808A (ja) | 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム | |
JP2005348008A (ja) | 動画像符号化方法、動画像符号化装置、動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
WO2022116119A1 (zh) | 一种帧间预测方法、编码器、解码器及存储介质 | |
WO2022174469A1 (zh) | 一种光照补偿方法、编码器、解码器及存储介质 | |
CN112055221B (zh) | 一种帧间预测方法、视频编码方法及电子设备和存储介质 | |
US20210014511A1 (en) | Image processing apparatus and method | |
CN112911301B (zh) | 一种局部亮度补偿方法、装置及计算机可读存储介质 | |
JP6390275B2 (ja) | 符号化回路、符号化方法 | |
TW202139693A (zh) | 一種幀間預測方法、編碼器、解碼器及儲存媒介 | |
Jubran et al. | Sequence-level reference frames in video coding | |
CN114071138A (zh) | 帧内预测编码方法、帧内预测编码装置和计算机可读介质 | |
CN116723318A (zh) | 编码方法和装置、解码方法和装置以及存储介质 | |
US10075691B2 (en) | Multiview video coding method using non-referenced view video group | |
JP6942504B2 (ja) | 符号化装置、撮像装置、符号化方法、及びプログラム | |
CN112868231B (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 |