CN110913231B - 一种纹理图整数运动估计并行实现方法 - Google Patents

一种纹理图整数运动估计并行实现方法 Download PDF

Info

Publication number
CN110913231B
CN110913231B CN201911271281.3A CN201911271281A CN110913231B CN 110913231 B CN110913231 B CN 110913231B CN 201911271281 A CN201911271281 A CN 201911271281A CN 110913231 B CN110913231 B CN 110913231B
Authority
CN
China
Prior art keywords
sub
block
blocks
coding
multiplied
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
Application number
CN201911271281.3A
Other languages
English (en)
Other versions
CN110913231A (zh
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.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
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 Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN201911271281.3A priority Critical patent/CN110913231B/zh
Publication of CN110913231A publication Critical patent/CN110913231A/zh
Application granted granted Critical
Publication of CN110913231B publication Critical patent/CN110913231B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种纹理图整数运动估计并行实现方法。本发明方法通过构建基于邻接互连的2×4二维处理元阵列并行结构完成16×16编码块的8×8、16×16两种分块模式的纹理图整数运动估计并行处理。通过将16×16的图像编码块和18×18的参考图像搜索窗分解为8×8子编码块和10×10的子搜索窗,在所述阵列中并行地计算各8×8子编码块的SAD值,通过合并8×8的SAD值得到16×16编码块的SAD值。本发明方法通过构建并行结构,用于支持两种分块模式的纹理图整数运动估计并行实现方法,既提高其块匹配过程的计算效率,又能够满足块弹性块尺寸的应用要求。

Description

一种纹理图整数运动估计并行实现方法
技术领域
本发明涉及数字视频解码技术领域,特别涉及一种纹理图整数运动估计并行实现方法。
背景技术
运动估计(Motion Estimate,简称ME)是视频编码和视频处理中广泛使用的一种技术。在纹理图预测编码中,由于活动图像邻近帧中的景物存在着一定的相关性。因此,可将活动图像分成若干块,然后对每个块到参考帧某一给定搜索范围内根据一定的匹配准则找出与当前块(Current Block,简称CB)最相似的块,即匹配块(Matching Block,简称MB),MB与CB的相对位移就是运动矢量(Motion Vector,简称MV),得到MV的过程被称为ME。视频解码的时候,通过MV指明的位置和经过运动匹配后得到的预测误差就可以完全恢复出CB。通过ME可以在编码时去除帧间冗余数据,使得视频传输的比特数大为减少。
JCT-3V提出的三维高效视频编码(3D High Efficiency Video Coding,简称3D-HEVC),采用多视点视频加深度(Multi-view Video plus Depth,简称MVD)格式对多个视点的纹理图像和深度图像进行编码。在3D-HEVC中,对纹理图像的ME采用了和HEVC相同的处理方式。ME是HEVC中计算复杂度较高的模块,其编码时间占到编码器总的编码时间的60%~80%,而整数运动估计(Integer Motion Estimation,简称IME)又占到整个ME的大部分计算负载。因此本发明根据ME的数据和计算特点,构建了用于纹理图IME的并行结构来减少编码时间。
在HEVC标准中,采用了不同于H.264/AVC的固定大小分块策略,分块的大小会根据视频图像纹理结构信息来确定,对于纹理相对简单的区域,会选择较大的块进行处理,而对于纹理结构相对复杂的图像,则会选择较小的块来进行处理。因此HEVC中的ME必须支持不同大小的分块模式。基于软件实现的编码器可以很好的支撑这种弹性块尺寸的预测算法,但是具有最优图像质量的全搜索过程导致极大的计算量,使得软件编码器必须采用牺牲图像质量的快速搜索算法才能在计算时间满足应用的时延需求。而硬件编码器虽然在计算能力上具有绝对优势,无法克服弹性块尺寸带来的重复功能设计开销。
上述缺陷是本领域技术人员期望克服的。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种纹理图整数运动估计并行实现方法,通过构建基于邻接互连的2×4二维处理元阵列并行结构,同时完成16×16编码块的8×8、16×16两种分块模式的纹理图整数运动估计并行处理,既减少了编码时间又满足了弹性块尺寸的需求。
(二)技术方案
本发明采用的主要技术方案包括:
为实现上述目的,本发明所采用的技术方法包括:
本发明一实施例提供一种纹理图整数运动估计并行实现方法,其特征在于,通过构建基于邻接互连的2×4二维处理元阵列并行结构,同时完成16×16编码块的8×8、16×16两种分块模式的纹理图整数运动估计并行处理,包括以下步骤:
步骤1、基于获取的视频图像,从外存加载16×16的原始图像编码块,构建成4个8×8大小的子编码块存放到所述并行结构的所述处理元中;
步骤2、基于获取的视频图像,从外存加载18×18的参考图像搜索窗,构建成4个10×10大小的子搜索窗存放到所述并行结构的所述处理元中;
步骤3、在所述处理元中,基于获取的子编码块和子搜索窗,根据SAD准则并行地进行每个8×8子编码块的SAD值SAD8×8计算,分别得到4个8×8子编码块的最佳匹配块;
步骤4、在得到SAD8×8的基础上,在所述处理元中合并计算得到16×16编码块的SAD值SAD16×16及最佳匹配块;
步骤5、根据得到的4个8×8最佳匹配块和16×16最佳匹配块,在所述并行结构的所述处理元中计算得到当前16×16编码块的分块模式以及运动矢量。
作为本发明方法的一种改进,在步骤1之前,还包括:
将视频的测试序列转换成所述阵列能识别的二进制数据,并存储在数据输入存储DIM中,作为原始像素,将所述视频中的前一帧图像处理后生成的重建图像,并存储在数据输出存储DOM中,作为参考像素。
作为本发明方法的一种改进,在步骤1中所述从外存加载16×16的原始图像编码块,构建成4个8×8大小的子编码块存放到所述并行结构的所述处理元中,包括:
通过所述二维处理元阵列中第一行第一列的处理元PE00从DIM中读取16×16的原始像素,将16×16的原始像素按照从左到右从上到下的顺序等分为4个8×8大小的子编码块,并由处理元PE00将子编码块0下发至第一行第二列的处理元PE01,将子编码块1下发至第一行第三列的处理元PE02,将子编码块2下发至第一行第三列的处理元PE03,将子编码块3下发至第二行第一列的处理元PE10。
作为本发明方法的一种改进,在步骤2中所述从外存加载18×18的参考图像搜索窗,构建成4个10×10大小的子搜索窗存放到所述并行结构的所述处理元中,包括:
通过所述二维处理元阵列中第二行第四列的处理元PE13从DOM中读取18×18的参考像素作为原始搜索窗,并由其构建成4个10×10大小的子搜索窗,并由处理元PE13将子搜索窗0下发到PE01、将子搜索窗1下发至PE02,将子搜索窗2下发至PE03,将子搜索窗3下发至PE10。
作为本发明方法的一种改进,在步骤3中包括:
在处理元PE01、PE02、PE03和PE10分别获得各自的子编码块和子搜索窗后,并行地进行以下操作:
a.采用全搜索算法由子搜索窗构建9个8×8大小的参考块;
b.对每个参考块,利用SAD(Sum of Absolute Differences)准则与子编码块计算8×8块的SAD值,得到9个SAD8×8,SAD准则计算公式如下:
(1)
Figure BDA0002314260430000041
其中N为编码块或参考块的大小维度,例如8×8块的N=8,fk(m,n)代表编码块(m,n)位置的像素值,fk-1(m+i,n+j)代表参考块的像素值,(i,j)为编码块和参考块间的运动矢量。
c.比较得到的9个SAD8×8,取最小值得到子编码块的SAD值,对应的参考块为该子编码块的最佳匹配块;
在处理元PE01、PE02、PE03和PE10计算完成后,得到8×8分块模式下4个子编码块的最优SAD8×8和最佳匹配块,并将其传送至PE11。
作为本发明方法的一种改进,步骤4所述在所述处理元中合并计算得到16×16编码块的SAD值及最佳匹配块,包括:
根据步骤3得到的SAD8×8,处理元PE11分别从处理元PE01、PE02、PE03和PE10中取出各自第一参考块的SAD8×8、合并计算得到第1个16×16分块的SAD值SAD16×16,第二参考块的SAD8×8合并计算得到第2个SAD16×16,以此类推直到第9个SAD16×16,然后对9个SAD16×16取最小值得到16×16分块模式的最佳匹配块和最优SAD16×16。
作为本发明方法的一种改进,在步骤5中包括:
处理元PE11对步骤3得到的4个最优SAD8×8求和,与步骤4得到的最优SAD16×16比较,若SAD8×8小则选择8×8分块模式并输出4个8×8最优匹配块及4个运动矢量输出,若SAD16×16小则选择16×16分块模式并输出16×16最优匹配块及其运动矢量。
(三)有益效果
本发明的有益效果是:
本发明方法通过构建并行结构,用于纹理图整数运动估计并行实现方法,同时对16×16的纹理图编码块的8×8、16×16两种分块模式的运动估计计算过程进行并行化实现,既提高其块匹配过程的计算效率,又能够满足块弹性块尺寸的应用要求,提高其编码效率,缩短其编码时间。
附图说明
图1为为本发明具体实施方式中的邻接互连的2×4二维处理元阵列并行结构示意图;
图2为本发明具体实施方式中用于支持纹理图整数运动估计并行实现方法的流程图;
图3为本发明具体实施方式中用于支持纹理图整数运动估计的并行结构架构图;
图4为本发明具体实施方式中将16×16编码块划分4个8×8子编码块的示意图;
图5为本发明具体实施方式中在18×18搜索窗中构建按子搜索窗0的示意图;
图6为本发明具体实施方式中在18×18搜索窗中构建按子搜索窗1的示意图;
图7为本发明具体实施方式中在18×18搜索窗中构建按子搜索窗2的示意图;
图8为本发明具体实施方式中在18×18搜索窗中构建按子搜索窗3的示意图;
图9为本发明具体实施方式中在10×10子搜索窗中提取9种8×8参考块的示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
在HEVC标准中,以64×64大小的编码块作为帧间预测的基本处理单元,但是会根据视频图像纹理结构信息来确定,对于纹理相对简单的区域,会选择较大的块进行处理,而对于纹理结构相对复杂的图像,则会选择较小的块来进行处理。因此HEVC运动估计的预测块大小从64×64、32×32、16×16、8×8到4×4都有。而运动估计的过程需要遍历所有分块模式后根据失真代价计算(例如SAD值)选出最优的一种进行运动矢量计算。一方面,基于软件实现的编码器可以很好的支撑这种弹性块尺寸的预测算法,但是具有最优图像质量的全搜索过程导致极大的计算量,使得软件编码器必须采用牺牲图像质量的快速搜索算法才能在计算时间满足应用的时延需求。而硬件编码器虽然在计算能力上具有绝对优势,无法克服弹性块尺寸带来的重复功能设计面积开销。
经过对HEVC测试模型HM中测试序列实验统计,发现16×16和8×8分块模式比例在90%以上,因此本发明构建了基于邻接互连的2×4二维处理元阵列并行结构,如图1所示,用于支持16×16和8×8两种分块模式的纹理图整数运动估计并行实现。
本发明实施例构建的2×4二维处理元阵列并行结构,包括2×4个PE,第一行分别是PE00、PE01、PE02和PE03,第二行分别是PE10、PE11、PE12和PE13。每个PE包含一个本地存储(0-255编址)和一个共享存储(256-512编址),本地存储用来进行PE内部的计算和数据缓存,共享存储采用物理统一、逻辑独立的设计可以支持跨PE之间的数据访问。
本发明并不是套用原有的架构,而是要重新设计其架构,该架构可以满足同时完成16×16编码块的8×8、16×16两种分块模式的纹理图整数运动估计并行处理的计算要求,既提高其块匹配过程的计算效率,又能够满足块弹性块尺寸的应用要求,提高其编码效率,缩短其编码时间。
图2给出了本发明实施例提供的一种用于支持两种分块模式的纹理图整数运动估计并行实现方法,该方法包括以下步骤:
步骤1、基于获取的视频图像,从外存加载16×16的原始图像编码块,构建成4个8×8大小的子编码块存放到所述并行结构的所述处理元中;
步骤2、基于获取的视频图像,从外存加载18×18的参考图像搜索窗,构建成4个10×10大小的子搜索窗存放到所述并行结构的所述处理元中;
步骤3、在所述处理元中,基于获取的子编码块和子搜索窗,根据SAD准则并行地进行每个8×8子编码块的SAD值SAD8×8计算,分别得到4个8×8子编码块的最佳匹配块;
步骤4、在得到SAD8×8的基础上,在所述处理元中合并计算得到16×16编码块的SAD值SAD16×16及最佳匹配块;
步骤5、根据得到的4个8×8最佳匹配块和16×16最佳匹配块,在所述并行结构的所述处理元中计算得到当前16×16编码块的分块模式以及运动矢量。
以下结合图3对图2所示实施例的各个步骤的具体实现进行详细阐述。
本发明的一个实施例中,以8个处理元(Processing Element,简称PE)为例,图3给出了本发明一实施例中支持两种分块模式的纹理图整数运动估计的并行结构架构图。如图3所示,DIM是数据输入存储,DOM是数据输出存储。处理元PE00用于从DIM取数及下发,PE13用于从DOM取数及下发,PE01、PE02、PE03和PE10用于进行块匹配操作,PE11用于进行分块模式选择和输出操作。
如图2步骤1所述从外存加载16×16的原始图像编码块之前,还包括:将视频的测试序列转换成所述阵列能识别的二进制数据,并存储在数据输入存储DIM中,作为原始像素,将所述视频中的前一帧图像处理后生成的重建图像,并存储在数据输出存储DOM中,作为参考像素。
如图2中步骤1所述从外存加载16×16的原始图像编码块,构建成4个8×8大小的子编码块存放到所述并行结构的所述处理元中,具体包括:
通过处理元PE00访问DIM读取一个16×16大小的编码块,按行存储到PE00的数据存储的0-255号地址中。将16×16的编码块按照从左到右从上到下的顺序划分为块大小为8×8的子编码块0、子编码块1、子编码块2及子编码块3,如图4所示。
然后处理元PE00将中0-7,16-23,32-39,48-55,64-71,80-87,96-103,112-119号地址的像素值,即子编码块0的像素值,下发到处理元PE01的0-63号地址中;将PE00中8-15,24-31,40-47,56-63,72-79,88-95,104-111,120-127号地址的像素值,即子编码块1的像素值,下发到PE02的0-63号地址中;将PE00中128-135,144-151,160-167,176-183,192-199,208-215,224-231,240-247号地址的像素值,即子编码块2的像素值,下发到PE03的0-63号地址中;将PE00中136-143,152-159,168-175,184-191,200-207,216-223,232-239,248-255号地址的像素值,即子编码块3的像素值,下发到PE03的0-63号地址中。
原始图像编码块像素值下发完成后,向PE13的511号地址中发送握手信号555。
如图2中步骤2中所述从外存加载18×18的参考图像搜索窗,构建成4个10×10大小的子搜索窗存放到所述并行结构的所述处理元中,具体包括:
处理元PE13接收到PE00的握手信号555后,开始执行参考像素的读取操作。通过PE13从DOM中读取18×18的参考像素作为原始搜索窗,共计324个像素值,存储到PE13的0-323号地址。
然后处理元PE13将子搜索窗0的像素值,如图5所示,即0-9,18-27,36-45,54-63,72-81,90-99,108-117,126-135,144-153,162-171号地址中存储的像素值,下发到PE01的130-229号地址中;将子搜索窗1的像素值,如图6所示,即8-17,26-35,44-53,62-71,80-89,98-107,116-125,134-143,152-161,170-179号地址中存储的像素值,下发到PE02的130-229号地址中;将子搜索窗2的像素值,如图7所示,即144-153,162-171,180-189,198-207,216-225,234-243,252-261,270-279,288-297,306-315号地址中存储的像素值,下发到PE03的130-229号地址中;将子搜索窗3的像素值,如图8所示,即152-161,170-179,188-197,206-215,224-233,242-251,260-269,278-287,296-305,314-323号地址中存储的像素值,下发到PE10的130-229号地址中。
以上操作完成后,向PE01、PE02、PE03和PE10的511号地址发送握手信号555。
如图2中步骤3中所述在所述处理元中,基于获取的子编码块和子搜索窗,根据SAD准则并行地进行每个8×8子编码块的SAD值SAD8×8计算,分别得到4个8×8子编码块的最佳匹配块,具体包括:
基于全搜索算法,在处理元PE01、PE02、PE03和PE10的130-229号地址中存储的10×10子搜索窗按照地址被划分成9个8×8参考块区域,如图9所示。按照从左到右、自上而下,第130-137,140-147,150-157,160-167,170-177,180-187,190-197,200-207号地址对应第1参考块;第131-138,141-148,151-158,161-168,171-178,181-188,191-198,201-208号地址对应第2参考块;第132-139,142-149,152-159,162-169,172-179,182-189,192-199,202-209号地址对应第3参考块;第140-147,150-157,160-167,170-177,180-187,190-197,200-207,210-217号地址对应第4参考块;第141-148,151-158,161-168,171-178,181-188,191-198,201-208,211-218号地址对应第5参考块;第142-149,152-159,162-169,172-179,182-189,192-199,202-209,212-219号地址对应第6参考块;第150-157,160-167,170-177,180-187,190-197,200-207,210-217,220-227号地址对应第7参考块;第151-158,161-168,171-178,181-188,191-198,201-208,211-218,212-219号地址对应第8参考块;第152-159,162-169,172-179,182-189,192-199,202-209,212-219,222-229号地址对应第9参考块。
处理元PE01、PE02、PE03和PE10接收到PE13的握手信号,对第1到第9参考块执行以下操作:
a.读取一个参考块到64-127号地址中,然后用0-63号地址的子编码块像素值与其一起计算SAD8×8,将计算得到的SAD8×8存入500-509号地址中;其中,第1参考块的SAD8×8存入500号地址中,第2参考块的SAD8×8存入501号地址中,第3参考块的SAD8×8存入502号地址中,第4参考块的SAD8×8存入503号地址中,5参考块的SAD8×8存入504号地址中,第6参考块的SAD8×8存入505号地址中,第7参考块的SAD8×8存入506号地址中,第8参考块的SAD8×8存入507号地址中,第9参考块的SAD8×8存入508号地址中。
SAD准则计算公式如下:
(1)
Figure BDA0002314260430000101
其中N为编码块或参考块的大小维度,例如8×8块的N=8,fk(m,n)代表编码块(m,n)位置的像素值,fk-1(m+i,n+j)代表参考块的像素值,(i,j)为编码块和参考块间的运动矢量。本实施例中第1到第9参考块的运动矢量分别是(-1,-1)、(-1,0)、(-1,1)、(0,-1)、(0,0)、(0,1)、(1,-1)、(1,0)、(1,1)。
b.9个SAD8×8计算的同时会标记较小的一个SAD值的位置,第9个SAD计算完成,即找到最小的SAD8×8,所对应的块就是最佳匹配块。
c.将最佳匹配块的运动矢量存入497、498号地址中,对应的SAD值SAD8×8存入到499号地址中。
处理元PE01、PE02、PE03和PE10对以上过程是并行执行的,该过程完成后每个处理元的共享存储497-499号地址中存入各自的最优SAD8×8和运动矢量即参考块的位置索引。然后PE01向PE11的511号地址中发送握手信号555,PE02向PE11的510号地址中发送握手信号555,PE03向PE11的509号地址中发送握手信号555。PE10向PE11的508号地址中发送握手信号555。
如图2中步骤4所述在所述处理元中合并计算得到16×16编码块的SAD值及最佳匹配块,具体包括:
根据图5、图6、图7、图8和9中可以推导出,4个10×10搜索窗中的第1个8×8参考块恰好拼接成的18×18搜索窗的第1个16×16参考块,而其他8个参考块也符合同样的规律,因此根据公式(1)将步骤3得到的处理元PE11将PE01、PE02、PE03和PE10中相同地址位置的SAD8×8累加求和即可快速求得16×16参考块的SAD16×16。具体实施过程如下:
处理元PE11将PE01、PE02、PE03和PE10发送的555握手信号收齐后,分别访问PE01、PE02、PE03和PE10共享存储的500号地址,取出4个第1参考块的SAD8×8累加后得到第1个SAD16×16,存入PE11的0号地址;PE11继续对PE01、PE02、PE03和PE10共享存储的501-508地址数据执行同样操作,得到其他8个SAD16×16,分别存入PE11的1-7号地址中。
9个SAD16×16计算的同时会标记较小的一个SAD值的位置,第9个SAD计算完成,即找到最小的SAD16×16,所对应的块就是最佳匹配块。处理元PE11将最佳匹配块的运动矢量存入9,10号地址中,对应的SAD16×16存入到11号地址中。
如图2中步骤5所述根据得到的4个8×8最佳匹配块和16×16最佳匹配块,在所述并行结构的所述处理元中计算得到当前16×16编码块的分块模式以及运动矢量,包括:
处理元PE11分别访问PE01、PE02、PE03和PE10的共享存储499号地址读取4个最优SAD8×8值,对其累加和与11号地址中存储的最优SAD16×16比较,若SAD8×8的累加和小则选择8×8分块模式,读取PE01、PE02、PE03和PE10的共享存储497、498地址的运动矢量后输出;若SAD16×16小则选择16×16分块模式并输出PE11的9,10号地址的运动矢量。
完成以上操作后进行复位,向PE00的510号地址里存储握手信号,开始下一个16×16编码块的整数运动估计。
由于本公开的示例实施例图3的用于支持两种分块模式的纹理图整数运动估计的并行结构的各个功能模块与上述图2所示的用于支持两种分块模式的纹理图整数运动估计并行实现方法的示例实施例的步骤对应,因此对于本公开结构实施例中未披露的细节,请参照本公开上述的用于支持两种分块模式的纹理图整数运动估计的并行实现方法的实施例。
需要理解的是,以上对本发明的具体实施例进行的描述只是为了说明本发明的技术路线和特点,其目的在于让本领域内的技术人员能够了解本发明的内容并据以实施,但本发明并不限于上述特定实施方式。凡是在本发明权利要求的范围内做出的各种变化或修饰,都应涵盖在本发明的保护范围内。

Claims (5)

1.一种纹理图整数运动估计并行实现方法,其特征在于,
通过构建基于邻接互连的2×4二维处理元阵列并行结构,同时完成16×16编码块的8×8、16×16两种分块模式的纹理图整数运动估计并行处理,包括以下步骤:
步骤1、基于获取的视频图像,从外存加载16×16的原始图像编码块,构建成4个8×8大小的子编码块存放到所述并行结构的所述处理元中;
步骤2、基于获取的视频图像,从外存加载18×18的参考图像搜索窗,构建成4个10×10大小的子搜索窗存放到所述并行结构的所述处理元中;
步骤3、在所述处理元中,基于获取的子编码块和子搜索窗,根据SAD准则并行地进行每个8×8子编码块的SAD值SAD8×8计算,分别得到4个8×8子编码块的最佳匹配块;
步骤4、在得到SAD8×8的基础上,在所述处理元中合并计算得到16×16编码块的SAD值SAD16×16及最佳匹配块;包括:
将每个子搜索窗中同一位置8×8参考块对应的SAD值SAD8×8累加求和,得到9个16×16参考块的SAD值SAD16×16;
将9个SAD16×16中最小的SAD16×16作为所述16×16编码块的最优SAD16×16,将最小的SAD16×16所对应的参考块作为16×16编码块的最佳匹配块。
步骤5、根据得到的4个8×8最佳匹配块和16×16最佳匹配块,在所述并行结构的所述处理元中计算得到当前16×16编码块的分块模式以及运动矢量,包括:
对4个8×8子编码块的最佳匹配块对应的4个最优SAD8×8进行累加求和,将累加和与所述最优SAD16×16比较;
若累加和小,则选择8×8分块模式,并计算4个8×8最佳匹配块对应的运动矢量;
若所述最优SAD16×16小,则选择16×16分块模式,计算16×16最佳匹配块所应的运动矢量。
2.如权利要求1所述的方法,其特征在于,
在步骤1之前,还包括:
将视频的测试序列转换成所述阵列能识别的二进制数据,并存储在数据输入存储DIM中,作为原始像素;
将所述视频中的前一帧图像处理后生成的重建图像,存储在数据输出存储DOM中作为参考像素。
3.如权利要求2所述的方法,其特征在于,
在步骤1中所述从外存加载16×16的原始图像编码块,构建成4个8×8大小的子编码块存放到所述并行结构的所述处理元中,包括:
通过所述二维处理元阵列中第一行第一列的处理元PE00从DIM中读取16×16的原始像素,将16×16的原始像素按照从左到右从上到下的顺序等分为4个8×8大小的子编码块,并由处理元PE00将子编码块0下发至第一行第二列的处理元PE01,将子编码块1下发至第一行第三列的处理元PE02,将子编码块2下发至第一行第三列的处理元PE03,将子编码块3下发至第二行第一列的处理元PE10。
4.如权利要求2所述的方法,其特征在于,
在步骤2中所述从外存加载18×18的参考图像搜索窗,构建成4个10×10大小的子搜索窗存放到所述并行结构的所述处理元中,包括:
通过所述二维处理元阵列中第二行第四列的处理元PE13从DOM中读取18×18的参考像素作为原始搜索窗,并由其构建成4个10×10大小的子搜索窗,并由处理元PE13将子搜索窗0下发到PE01、将子搜索窗1下发至PE02,将子搜索窗2下发至PE03,将子搜索窗3下发至PE10。
5.如权利要求1所述的方法,其特征在于,
在步骤3包括:
在处理元PE01、PE02、PE03和PE10分别获得各自的子编码块和子搜索窗后,并行地进行以下操作:
a.采用全搜索算法由子搜索窗构建9个8×8大小的参考块;
b.对每个参考块,利用SAD准则与子编码块计算8×8块的SAD值,得到9个SAD8×8;
c.比较得到的9个SAD8×8,取最小值得到子编码块的SAD值,对应的参考块为该子编码块的最佳匹配块;
在处理元PE01、PE02、PE03和PE10计算完成后,得到8×8分块模式下4个子编码块的最优SAD8×8和最佳匹配块,并将其传送至PE11。
CN201911271281.3A 2019-12-12 2019-12-12 一种纹理图整数运动估计并行实现方法 Active CN110913231B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911271281.3A CN110913231B (zh) 2019-12-12 2019-12-12 一种纹理图整数运动估计并行实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911271281.3A CN110913231B (zh) 2019-12-12 2019-12-12 一种纹理图整数运动估计并行实现方法

Publications (2)

Publication Number Publication Date
CN110913231A CN110913231A (zh) 2020-03-24
CN110913231B true CN110913231B (zh) 2023-05-30

Family

ID=69824949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911271281.3A Active CN110913231B (zh) 2019-12-12 2019-12-12 一种纹理图整数运动估计并行实现方法

Country Status (1)

Country Link
CN (1) CN110913231B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080102947A (ko) * 2007-05-22 2008-11-26 한국전자통신연구원 가변 블록 움직임 추정을 위한 sad 계산 방법 및 장치
KR20090105365A (ko) * 2008-04-02 2009-10-07 삼성전자주식회사 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
CN102143365A (zh) * 2011-05-13 2011-08-03 万辉视讯(北京)科技有限公司 一种运动估计方法
CN103747262A (zh) * 2014-01-08 2014-04-23 中山大学 一种基于gpu的运动估计方法
CN105847810A (zh) * 2016-01-29 2016-08-10 西安邮电大学 一种高效视频编码加法树并行实现方法
CN106060555A (zh) * 2016-06-29 2016-10-26 东华大学 一种基于多核处理器的编码器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100618910B1 (ko) * 2004-04-03 2006-09-01 (주)씨앤에스 테크놀로지 최적화된 연산복잡도를 갖는 움직임 추정 장치 및 그 방법
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
US9271010B2 (en) * 2012-10-02 2016-02-23 Futurewei Technologies, Inc. System and method for motion estimation for large-size block
KR20140123196A (ko) * 2013-04-11 2014-10-22 한국전자통신연구원 가변 블록 크기를 위한 움직임 추정 장치 및 움직임 추정 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080102947A (ko) * 2007-05-22 2008-11-26 한국전자통신연구원 가변 블록 움직임 추정을 위한 sad 계산 방법 및 장치
KR20090105365A (ko) * 2008-04-02 2009-10-07 삼성전자주식회사 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
CN102143365A (zh) * 2011-05-13 2011-08-03 万辉视讯(北京)科技有限公司 一种运动估计方法
CN103747262A (zh) * 2014-01-08 2014-04-23 中山大学 一种基于gpu的运动估计方法
CN105847810A (zh) * 2016-01-29 2016-08-10 西安邮电大学 一种高效视频编码加法树并行实现方法
CN106060555A (zh) * 2016-06-29 2016-10-26 东华大学 一种基于多核处理器的编码器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A fast coding unit division and mode selection method for HEVC intra prediction;Xiaoyan Xie;《2017 4th International Conference on Systems and Informatics (ICSAI)》;20171231;全文 *
H.265整数运动估计参考块更新的并行化设计;谢晓燕等;《电视技术》;20171231;全文 *
HEVC运动估计中SAD算法的动态可重构实现;蒋林;《北京邮电大学学报》;20180815;全文 *
High speed SAD architectures for variable block size motion estimation in HEVC video coding;Purnachand Nalluri;《2014 IEEE International Conference on Image Processing (ICIP)》;20150129;全文 *

Also Published As

Publication number Publication date
CN110913231A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
RU2699258C2 (ru) Способ прогнозирования изображения и устройство прогнозирования изображения
JP5174970B2 (ja) 適応フィルタ
CN112369023A (zh) 基于cclm的帧内预测方法和装置
GB2519514A (en) Method and apparatus for displacement vector component prediction in video coding and decoding
TWI559773B (zh) 低記憶體存取移動向量導出技術
TW201931854A (zh) 統一合併候選列表運用
CN110278442A (zh) 用于对恢复的图像执行滤波的图像处理装置及其滤波方法
CN109348234B (zh) 一种高效亚像素运动估计方法及系统
JP7439841B2 (ja) ループ内フィルタリングの方法及びループ内フィルタリングの装置
EP3959881A1 (en) Global motion for merge mode candidates in inter prediction
EP3918791A1 (en) Inter prediction in exponential partitioning
CN113709458B (zh) 视频编解码中的位移矢量预测方法、装置及设备
EP3959889A1 (en) Adaptive motion vector prediction candidates in frames with global motion
KR20240127495A (ko) 디코딩 방법, 인코딩 방법, 장치, 기기 및 저장매체
CN110913231B (zh) 一种纹理图整数运动估计并行实现方法
CN112601095A (zh) 一种视频亮度和色度分数插值模型的创建方法及系统
WO2020219948A1 (en) Selective motion vector prediction candidates in frames with global motion
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
CN103327340A (zh) 一种整数搜索方法及装置
US20100020882A1 (en) Barbell Lifting for Wavelet Coding
WO2021003671A1 (en) Resolution-adaptive video coding
JP7516793B2 (ja) 動画像符号化システムおよび動画像符号化方法
CN114503559B (zh) 用于视频译码中的帧间预测装置和方法的插值滤波器
CN113453008B (zh) 视频解码方法、视频编码方法、相关设备及介质
JP2006165699A (ja) 画像符号化装置および画像符号化方法

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