CN115396671A - 基于屏幕内容编码的最优块向量匹配方法及装置 - Google Patents

基于屏幕内容编码的最优块向量匹配方法及装置 Download PDF

Info

Publication number
CN115396671A
CN115396671A CN202210930623.3A CN202210930623A CN115396671A CN 115396671 A CN115396671 A CN 115396671A CN 202210930623 A CN202210930623 A CN 202210930623A CN 115396671 A CN115396671 A CN 115396671A
Authority
CN
China
Prior art keywords
candidate
block
hash
coding
current block
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
CN202210930623.3A
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.)
Xiamen Yealink Network Technology Co Ltd
Original Assignee
Xiamen Yealink Network Technology Co Ltd
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 Xiamen Yealink Network Technology Co Ltd filed Critical Xiamen Yealink Network Technology Co Ltd
Priority to CN202210930623.3A priority Critical patent/CN115396671A/zh
Publication of CN115396671A publication Critical patent/CN115396671A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7847Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于屏幕内容编码的最优块向量匹配方法及装置,通过根据当前块的DC值和梯度,计算当前块的一级Hash特征值,根据一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组;并根据CRC算法,计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值;根据二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组;判断精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。减少Hash冲突,降低Hash搜索复杂度。

Description

基于屏幕内容编码的最优块向量匹配方法及装置
技术领域
本发明涉及视频编码领域,尤其涉及一种基于屏幕内容编码的最优块向量匹配方法及装置。
背景技术
目前,针对屏幕内容编码,HEVC-SCC引入了IBC(Intra Block Copy,帧内块拷贝)的预测技术。IBC技术利用屏幕内容在空间上的相关性,采用整像素精度在当前帧的已编码区域中进行全搜索,得到当前待编码块的最优预测块。
IBC技术中的搜索过程与帧间预测中的运动搜索类似,都具有复杂度高的问题。针对该问题,HEVC-SCC中引入了基于Hash的搜索方法来代替复杂度极高的块匹配方法,但是基于Hash的搜索方法中的Hash搜索过程和Hash特征计算复杂度仍然很高,对于视频会议等实时应用场景来说,极高的编码复杂度无法实用。
现有一种IBC模式下的Hash表构建方法,通过判断获取的编码单元的梯度是否符合预先设置的条件,进而仅将梯度信息符合条件的编码单元基于Hash值添加到Hash表中,从而降低Hash表的搜索复杂度。然而,该技术方案仅针对Hash表构建过程进行优化,并且未考虑Hash特征值计算的复杂度,并未从根本上减少Hash冲突,Hash搜索复杂度仍然很高。
发明内容
本发明提供了一种基于屏幕内容编码的最优块向量匹配方法及装置,以解决屏幕内容编码中存在Hash冲突,Hash特征值计算的复杂度高、Hash搜索复杂度高的技术问题。
为了解决上述技术问题,第一方面,本发明实施例提供了一种基于屏幕内容编码的最优块向量匹配方法,包括:
根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组;
根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值;
根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组;
判断所述精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。
本发明通过设置二级Hash,采用第一计算模型进行模糊匹配和第二计算模型精确匹配相结合,减少了Hash冲突,降低Hash搜索复杂度;此外,本发明通过DC值和梯度,利用第一计算模型计算当前块的一级Hash特征值和通过CRC算法利用第二计算模型计算二级Hash特征值,优化了Hash特征值计算,降低了Hash特征值计算复杂度。
进一步地,所述根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,具体为:
计算当前块的梯度图、积分图以及所述梯度图的积分图,采用SIMD汇编技术对所述梯度图和积分图进行优化;
根据积分图方法计算当前块的DC值和梯度值;
基于当前块的DC值和梯度值,通过第一计算模型计算当前块的一级Hash特征值。
本发明通过采用SIMD汇编优化梯度图和积分图,实现了快速计算Hash特征值,降低了Hash特征值的计算复杂度。
进一步地,在所述根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组之前,还包括:
根据当前块的位置限制候选块的筛选范围。
本发明通过当前块的位置限制候选块的搜索范围,限制了Hash的搜索范围,降低搜索复杂度。
进一步地,所述根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组,具体为:
根据所述一级Hash特征值和所述筛选范围在预设的Hash表中查找对应值,将所有对应值与一级Hash特征值相等的候选块作为模糊候选块组。
本发明通过设置筛选范围,并根据一级Hash特征值在Hash表中进行模糊匹配获取候选块组,减少Hash冲突,降低搜索复杂度。
进一步地,所述根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值,具体为:
构建第二计算模型,获取待计算块,将所述待计算块平均分成若干个子块;根据CRC算法计算所有子块的Hash特征值,得到子块特征组;根据子块特征组计算待计算块的Hash特征值;
根据所述第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值。
本发明通过采用CRC算法构建第二计算模型,提高Hash搜索的精度;同时第二计算模型只需要计算子块的Hash特征值,根据子块的特征值可推算得出当前块的特征值,减小了当前块特征值的计算复杂度。
进一步地,所述根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组,具体为:
筛选出模糊候选块组中所有二级Hash特征值与当前块的二级Hash特征值相等的候选块,作为精确匹配候选组。
本发明通过二级Hash特征值在模糊候选块组中匹配得出精确匹配组,提高了候选组的精度。
第二方面,本发明实施例提供了一种CTU编码方法,包括:
获取一个编码树单元,并将所述编码树单元分为若干个编码单元;
多次应用所述的基于屏幕内容编码的最优块向量匹配方法,匹配各编码单元对应的最优块向量,并根据所述各编码单元对应的最优块向量完成各编码单元的编码;
所述所有编码单元完成编码后,对记录候选块坐标的Hash表在水平方向和垂直方向分别进行四分之一下采样更新,完成一次CTU编码。
本发明通过所述基于屏幕内容的最优块向量匹配方法匹配编码树单元中所有编码单元的最优块向量,并基于所述最优块向量进行编码,提高了编码单元的编码效率;同时,编码树单元编码完成后采用四分之一下采样更新,减小Hash表的大小,从而降低Hash搜索复杂度。
第三方面,本发明实施例提供了一种基于屏幕内容编码的最优块向量匹配装置,包括模糊匹配模块、二级特征值计算模块、精确匹配模块和最优块向量匹配模块;
所述模糊匹配模块,用于根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组;
所述二级特征值计算模块,用于根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值;
所述精确匹配模块,用于根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组;
所述最优块向量匹配模块,用于判断所述精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。
第四方面,本发明实施例提供了一种CTU编码装置,包括编码单元划分模块、编码模块和Hash表更新模块;
所述编码单元划分模块,用于获取一个编码树单元,并将所述编码树单元分为若干个编码单元;
所述编码模块,用于多次应用所述的基于屏幕内容编码的最优块向量匹配装置,匹配各编码单元对应的最优块向量,并根据所述各编码单元对应的最优块向量完成各编码单元的编码;
所述Hash表更新模块,用于所述所有编码单元完成编码后,对记录候选块坐标的Hash表在水平方向和垂直方向分别进行四分之一下采样更新,完成一次CTU编码。
第五方面,本发明实施例提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述的CTU编码方法。
附图说明
图1为本发明实施例一提供的基于屏幕内容编码的最优块向量匹配方法的一种流程示意图;
图2为本发明实施例一提供的CTU编码方法的一种流程示意图;
图3为本发明实施例一提供的基于屏幕内容编码的最优块向量匹配装置的一种结构示意图;
图4为本发明实施例一提供的CTU编码装置一种结构示意图;
图5为本发明实施例二提供的基于屏幕内容编码的最优块向量匹配方法的一种流程示意图;
图6为本发明实施例二提供的基于屏幕内容编码的最优块向量匹配装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参照图1,图1为本发明实施例提供的基于屏幕内容编码的最优块向量匹配方法的一种流程示意图,其主要包括步骤101至步骤104,具体如下:
步骤101:根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组。
在本实施例中,所述根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,具体为:
计算当前块的梯度图、积分图以及所述梯度图的积分图,采用SIMD汇编技术对所述梯度图和积分图进行优化;
根据积分图方法计算当前块的DC值和梯度值;
基于当前块的DC值和梯度值,通过第一计算模型计算当前块的一级Hash特征值。
在本实施例中,Hash搜索和Hash表更新过程中都需要计算Hash特征,这样导致Hash计算的复杂度非常高。因此,针对第一级Hash中的DC值和梯度计算进行优化。
作为本实施例的一种具体举例,首先进行代码级优化,采用积分图方法快速计算每个8x8块中4x4子块的DC值和8x8块的梯度值,然后对梯度图和积分图进行SIMD汇编优化。所述积分图方法是指,积分图方法可以实现任意矩形区域快速求和运算。积分图中的每个点存储的是其左上方所有像素之和。
在本实施例中,所述SIMD汇编优化是指针对CPU层面的指令集汇编优化,SIMD指单指令多数据。针对不同的CPU,SIMD对应不同的技术,比如针对X86架构,SIMD主要有MMX、SSE、AVX、AVX2等技术,针对ARM架构,SIMD有NEON技术。
在本实施例中,第一计算模型为16位“DC+grad”的计算模型,具体为:
H1=msb(dc0,3)<<13+msb(dc1,3)<<10+msb(dc2,3)<<7+msb(dc3,3)≤4+msb(gradBLK,4)(1)
其中,H1表示第一级Hash特征值,msb(X,n)表示X的最高n个有效位,dc0,dc1,dc2,dc3分别表示8x8块的4个4x4子块的DC值,gradBLK表示8x8块的梯度。
作为本实施例的一种具体举例,梯度计算具体为:首先,对于块内除了首行和首列所有像素计算gradX,gradX等于当前像素和左侧像素差值的绝对值;然后计算gradY,gradY等于当前像素和上方像素差值的绝对值。第二,每个像素的梯度grad等于其对应的gradX和gradY的均值。最后,gradBLK等于块内所有像素grad的和。
在本实施例中,在所述根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组之前,还包括:
根据当前块的位置限制候选块的筛选范围。
在本实施例中,在基于Hash的搜索过程中,通常距离当前块越近的搜索块其预测精度越高。因此,为了进一步降低搜索复杂度,限制Hash搜索范围。
作为本发明实施例的一种具体举例,一级Hash搜索范围具体为:
MAX(abs(bmv.x),abs(bmv.y))≤512 (2)
其中,bmv.x表示候选块矢量的水平坐标,bmv.y表示候选块矢量的垂直坐标。
在本实施例中,将所述一级Hash特征值作为key,根据预设的筛选范围在预设的Hash表中查找对应的value,将对应的value与一级Hash特征值相等的候选块作为模糊候选块组。
在本实施例中,通过采用SIMD汇编优化梯度图和积分图,实现了快速计算Hash特征值,降低了Hash特征值的计算复杂度;并且通过当前块的位置限制候选块的搜索范围,限制了Hash的搜索范围,降低搜索复杂度。
步骤102:根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值。
在本实施例中,所述根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值,具体为:
构建第二计算模型,获取待计算块,将所述待计算块平均分成若干个子块;根据CRC算法计算所有子块的Hash特征值,得到子块特征组;根据子块特征组计算待计算块的Hash特征值;
根据所述第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值。
作为本实施例的一种具体举例,所述第二计算模型为“CRC-24”计算模型,具体为:
HashIdxi=CRC(pixi) (3)
其中,CRC()函数表示CRC算法,像素数据与一个24位的多项式经过特定的数学计算得到一个24位的Hash特征值,所述24位的多项式为0x864CFB。pixi表示单个像素数据,HashIdxi表示输出的Hash特征值。
作为本实施例的一种具体举例,8x8块的第二级Hash特征值计算方式如下:
将8x8的编码块平均分成四个4x4的子块;
根据所述第二计算模型分别计算每个子块的HashIdxM[i],i=0,1,2,3;
根据所述四个子块的Hash特征值HashIdxM[i],以递归的方式,逐步从4x4子块的Hash特征值HashIdxM推算到8x8块的Hash特征值H2。
作为本实施例的一种具体举例,所述以递归的方式,逐步从4x4子块的Hash特征值HashIdxM推算到8x8块的Hash特征值H2的伪代码如下:
Figure BDA0003781225280000081
在本实施例中,本发明通过采用CRC算法构建第二计算模型,提高Hash搜索的精度;同时第二计算模型只需要计算子块的Hash特征值,根据子块的特征值可推算得出当前块的特征值,减小了当前块特征值的计算复杂度。
步骤103:根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组。
在本实施例中,从模糊候选块组中筛选出所有二级Hash特征值与当前块的二级Hash特征值相等的候选块,作为精确匹配候选组。
在本实施例中,通过二级Hash特征值在模糊候选块组中匹配得出精确匹配组,提高了候选组的精度。
步骤104:判断所述精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。
在本实施例中,若精确匹配候选组中至少有一个候选块,则跳过剩余的计算过程,采用比较精确匹配候选块块向量长度的方法确定最优块向量。所述比较精确匹配候选块块向量长度的方法是指,候选块向量长度最小的候选块作为最优块向量。其中候选块块向量长度为候选块块向量水平方向的绝对值与候选块块向量垂直方向的绝对值的和。若精确匹配候选中没有候选块,则采用运动估计得到的粗选块向量作为最优块向量。
在本实施例中,通过设置二级Hash,采用第一计算模型进行模糊匹配和第二计算模型精确匹配相结合,减少了Hash冲突,降低Hash搜索复杂度;此外,本发明通过DC值和梯度,利用第一计算模型计算当前块的一级Hash特征值和通过CRC算法利用第二计算模型计算二级Hash特征值,优化了Hash特征值计算,降低了Hash特征值计算复杂度。
请参照图2,图2为本发明实施例提供的CTU编码方法的一种流程示意图,其主要包括步骤201至步骤203,具体如下:
步骤201:获取一个编码树单元,并将所述编码树单元分为若干个编码单元;
步骤202:多次应用所述的基于屏幕内容编码的最优块向量匹配方法,匹配各编码单元对应的最优块向量,并根据所述各编码单元对应的最优块向量完成各编码单元的编码;
步骤203:所述所有编码单元完成编码后,对记录候选块坐标的Hash表在水平方向和垂直方向分别进行四分之一下采样更新,完成一次CTU编码。
在本实施例中,通过所述基于屏幕内容的最优块向量匹配方法匹配编码树单元中所有编码单元的最优块向量,并基于所述最优块向量进行编码,提高了编码单元的编码效率。
在本实施例中,基于Hash搜索的IBC编码中,每个CTU编码结束后,都需要更新Hash表。Hash表中记录了具有相同Hash特征值的候选块坐标,用于Hash搜索和匹配。本实施例所述编码树单元编码完成后采用四分之一下采样更新,减小Hash表的大小,从而降低Hash搜索复杂度。
请参照图3,图3为本发明实施例提供的基于屏幕内容编码的最优块向量匹配装置的一种结构示意图,其主要包括模糊匹配模块301、二级特征值计算模块302、精确匹配模块303和最优块向量匹配模块304,具体如下:
所述模糊匹配模块301,用于根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组;
所述二级特征值计算模块302,用于根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值;
所述精确匹配模块303,用于根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组;
所述最优块向量匹配模块304,用于判断所述精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。
请参照图4,图4为本发明实施例提供的CTU编码装置一种结构示意图,其主要包括编码单元划分模块401、编码模块402和Hash表更新模块403,具体如下:
所述编码单元划分模块401,用于获取一个编码树单元,并将所述编码树单元分为若干个编码单元;
所述编码模块402,用于多次应用所述的基于屏幕内容编码的最优块向量匹配装置,匹配各编码单元对应的最优块向量,并根据所述各编码单元对应的最优块向量完成各编码单元的编码;
所述Hash表更新模块403,用于所述所有编码单元完成编码后,对记录候选块坐标的Hash表在水平方向和垂直方向分别进行四分之一下采样更新,完成一次CTU编码。
实施例二
作为本发明实施例提供的基于屏幕内容编码的最优块向量匹配方法的一种具体举例,请参照图5,图5为本发明实施例提供的基于屏幕内容编码的最优块向量匹配方法的一种流程示意图,其主要包括步骤501至步骤509,具体如下:
步骤501:先利用“DC+grad”计算模型计算得到当前8x8块的第一级Hash特征值,然后在Hash表中查找是否存在匹配候选块;
步骤502:若第一级Hash搜索没有匹配候选块,则跳过步骤503至508的计算,停止Hash搜索,执行步骤509;
步骤503:若第一级Hash搜索存在匹配候选块,则利用“CRC-24”计算模型计算当前8x8块的第二级Hash特征值;
步骤504:计算第一级Hash的匹配候选块的第二级Hash特征值;
步骤505:若二级Hash不匹配,即第一级Hash匹配的候选块的第二级Hash特征值不等于当前块的第二级Hash特征值,则跳过当前候选块的率失真计算;若二级Hash匹配,则将候选块加入到精确匹配候选组中;
步骤506:判断第一级Hash的匹配候选块是否为最后一个,若否,则继续执行步骤504至505;若是,则执行步骤507;
步骤507:若精确匹配候选组中至少有一个候选块,则跳过剩余的计算过程,采用比较精确匹配候选块BV长度的方法确定最优BV。所述比较精确匹配候选块BV长度的方法是指,候选BV长度最小的候选块作为最优BV。其中候选块BV长度为候选块BV水平方向的绝对值与候选块BV垂直方向的绝对值的和。
步骤508:否则,若精确匹配候选中没有候选块,则执行步骤509。
步骤509:采用运动估计得到的粗选BV作为最优BV。
作为本发明实施例提供的基于屏幕内容编码的最优块向量匹配装置的一种具体举例,请参照图6,图6为本发明实施例提供的基于屏幕内容编码的最优块向量匹配装置的一种结构示意图,其主要包括二级Hash搜索和匹配模块601、Hash表更新模块602、Hash搜索范围优化模块603和Hash特征计算和优化模块604,具体如下:
所述二级Hash搜索和匹配模块601,用于降低Hash冲突,减少Hash搜索复杂度。第一级Hash采用16位的“DC+grad”的计算模型进行模糊匹配,第二级Hash采用24位的“CRC-24”的计算模型针对第一级Hash匹配得到的候选块进行精确匹配。
所述Hash表更新模块602,用于在每个CTU编码结束后,在当前CTU内采用水平方向和垂直方向分别间隔4个像素点计算Hash特征并更新Hash表,用于构建新的Hash表的同时降低Hash搜索复杂度。
所述Hash搜索范围优化模块603,用于只计算位置距离当前编码块较近的候选块,通过限制Hash搜索范围,进一步降低Hash搜索复杂度。
所述Hash特征计算和优化模块604,用于采用积分图方法快速计算Hash特征值所需要的DC值和梯度值,梯度图和积分图采用SIMD汇编优化进行快速计算,用于计算Hash特征值并降低Hash计算复杂度。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于屏幕内容编码的最优块向量匹配方法,其特征在于,包括:
根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组;
根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值;
根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组;
判断所述精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。
2.如权利要求1所述的基于屏幕内容编码的最优块向量匹配方法,其特征在于,所述根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,具体为:
计算当前块的梯度图、积分图以及所述梯度图的积分图,采用SIMD汇编技术对所述梯度图和积分图进行优化;
根据积分图方法计算当前块的DC值和梯度值;
基于当前块的DC值和梯度值,通过第一计算模型计算当前块的一级Hash特征值。
3.如权利要求2所述的基于屏幕内容编码的最优块向量匹配方法,其特征在于,在所述根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组之前,还包括:
根据当前块的位置限制候选块的筛选范围。
4.如权利要求3所述的基于屏幕内容编码的最优块向量匹配方法,其特征在于,所述根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组,具体为:
根据所述一级Hash特征值和所述筛选范围在预设的Hash表中查找对应值,将所有对应值与一级Hash特征值相等的候选块作为模糊候选块组。
5.如权利要求1所述的基于屏幕内容编码的最优块向量匹配方法,其特征在于,所述根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值,具体为:
构建第二计算模型,获取待计算块,将所述待计算块平均分成若干个子块;根据CRC算法计算所有子块的Hash特征值,得到子块特征组;根据子块特征组计算待计算块的Hash特征值;
根据所述第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值。
6.如权利要求1所述的基于屏幕内容编码的最优块向量匹配方法,其特征在于,所述根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组,具体为:
筛选出模糊候选块组中所有二级Hash特征值与当前块的二级Hash特征值相等的候选块,作为精确匹配候选组。
7.一种CTU编码方法,其特征在于,包括:
获取一个编码树单元,并将所述编码树单元分为若干个编码单元;
多次应用如权利要求1至6任一项所述的基于屏幕内容编码的最优块向量匹配方法,匹配各编码单元对应的最优块向量,并根据所述各编码单元对应的最优块向量完成各编码单元的编码;
所述所有编码单元完成编码后,对记录候选块坐标的Hash表在水平方向和垂直方向分别进行四分之一下采样更新,完成一次CTU编码。
8.一种基于屏幕内容编码的最优块向量匹配装置,其特征在于,包括模糊匹配模块、二级特征值计算模块、精确匹配模块和最优块向量匹配模块;
所述模糊匹配模块,用于根据当前块的DC值和梯度,采用第一计算模型计算当前块的一级Hash特征值,根据所述一级Hash特征值和预设的Hash表,从所有候选块中筛选出匹配成功的候选块作为模糊候选块组;
所述二级特征值计算模块,用于根据CRC算法,采用第二计算模型计算当前块的二级Hash特征值和模糊候选块组中所有候选块的二级Hash特征值;
所述精确匹配模块,用于根据当前块的二级Hash特征值和所述模糊候选组中所有候选块的二级Hash特征值,从模糊候选块组中筛选出精确匹配候选组;
所述最优块向量匹配模块,用于判断所述精确匹配候选组是否为空集,若为空集,则采用运动估计方法获取最优块向量;若不为空集,则将精确匹配候选组中长度最小的块向量作为最优块向量。
9.一种CTU编码装置,其特征在于,包括编码单元划分模块、编码模块和Hash表更新模块;
所述编码单元划分模块,用于获取一个编码树单元,并将所述编码树单元分为若干个编码单元;
所述编码模块,用于多次应用如权利要求8所述的基于屏幕内容编码的最优块向量匹配装置,匹配各编码单元对应的最优块向量,并根据所述各编码单元对应的最优块向量完成各编码单元的编码;
所述Hash表更新模块,用于所述所有编码单元完成编码后,对记录候选块坐标的Hash表在水平方向和垂直方向分别进行四分之一下采样更新,完成一次CTU编码。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求7所述的CTU编码方法。
CN202210930623.3A 2022-08-04 2022-08-04 基于屏幕内容编码的最优块向量匹配方法及装置 Pending CN115396671A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210930623.3A CN115396671A (zh) 2022-08-04 2022-08-04 基于屏幕内容编码的最优块向量匹配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210930623.3A CN115396671A (zh) 2022-08-04 2022-08-04 基于屏幕内容编码的最优块向量匹配方法及装置

Publications (1)

Publication Number Publication Date
CN115396671A true CN115396671A (zh) 2022-11-25

Family

ID=84119318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210930623.3A Pending CN115396671A (zh) 2022-08-04 2022-08-04 基于屏幕内容编码的最优块向量匹配方法及装置

Country Status (1)

Country Link
CN (1) CN115396671A (zh)

Similar Documents

Publication Publication Date Title
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
CN102497558B (zh) 编码和解码图像
CN1130919C (zh) 用于编码包含在视频信号中的区域的轮廓的装置
Chang et al. A fast LBG codebook training algorithm for vector quantization
US20040258154A1 (en) System and method for multi-stage predictive motion estimation
JPH07154784A (ja) 分類されたベクトルの量子化による映像信号のチャネルエラー訂正方法
JPH08242458A (ja) 動きベクトル検出方法
US9615089B2 (en) Method of encoding and decoding multiview video sequence based on adaptive compensation of local illumination mismatch in inter-frame prediction
US20230252684A1 (en) Attribute information prediction method, encoder, decoder and storage medium
JPH04150284A (ja) 動ベクトル検出方法およびその装置
CN115396671A (zh) 基于屏幕内容编码的最优块向量匹配方法及装置
KR100490730B1 (ko) 비디오 영상 압축 시스템에서의 적응적 패턴을 이용한움직임 예측 장치 및 방법
CN114449294A (zh) 运动估计方法、装置、设备、存储介质和计算机程序产品
JP4228705B2 (ja) 動きベクトル探索方法および装置
JP2861971B2 (ja) 動ベクトル予測装置
US7627140B2 (en) Flatted hexagon search method for fast block motion estimation
JP2980810B2 (ja) 動きベクトル探索方法と装置
JP2002247587A (ja) 画像符号化データの再符号化装置、再符号化方法、再符号化プログラム及び再符号化プログラムを記録した記録媒体
US20100239017A1 (en) Motion estimator and a motion estimation method
CN116962708B (zh) 一种智能服务云终端数据优化传输方法及系统
JP4142600B2 (ja) 動きベクトル推定方法,動きベクトル推定装置,動きベクトル推定プログラムおよび動きベクトル推定プログラム記録媒体
CN117376581A (zh) 一种基于误差曲面计算分数运动估计的方法及系统
JP2001298745A (ja) 動きベクトル探索装置および方法
JP2022182885A (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN117939153A (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