CN105872567A - 一种面向dsp平台的ctu级hevc环路滤波方法 - Google Patents
一种面向dsp平台的ctu级hevc环路滤波方法 Download PDFInfo
- Publication number
- CN105872567A CN105872567A CN201610373661.8A CN201610373661A CN105872567A CN 105872567 A CN105872567 A CN 105872567A CN 201610373661 A CN201610373661 A CN 201610373661A CN 105872567 A CN105872567 A CN 105872567A
- Authority
- CN
- China
- Prior art keywords
- ctu
- data
- buff
- exists
- 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
Links
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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- 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/42—Methods 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/423—Methods 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 characterised by memory arrangements
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
发明属于视频编码技术领域,具体为一种面向DSP平台的CTU级HEVC环路滤波方法。本发明在DSP二级缓存上分配当前CTU的重建数据存储空间,并分配存储空间存储左侧及上侧CTU的部分未处理数据。在获取当前CTU重建数据后,直接对存储在二级缓存中的当前CTU数据以及其左侧上侧CTU数据进行环路滤波处理,并将结果写入片外存储器。将原本获取整帧重建数据后才进行的环路滤波操作变为CTU级的环路滤波操作,避免将所有CTU重建数据写入外部存储器后再次读取每一CTU重建数据进入二级缓存进行环路滤波处理。减少了DSP对重建帧数据的读写,提高DSP编码速度,有利于实时编码器的实现。
Description
技术领域
本发明属于视频编码技术领域,针对HEVC视频编码标准,具体涉及一种面向于DSP硬件平台并适用于HEVC视频编码标准的,DSP快速环路滤波方法。
背景技术
HEVC(High Efficiency Video Coding)是国际电信组织(ITU)和运动图像专家组(MPEG)联合成立的组织JCTVC制定的下一代视频编解码标准。与国际标准H.264/AVC相比,可在保证图像质量的情况下将视频的压缩率提高一倍。
相比H.264/AVC编码标准,HEVC仍是基于块的运动预测与补偿的编码框架。HEVC编码过程中,将整帧图像划分为若干64x64的CTU(Coding Tree Block)编码块,依次对每一CTU进行编码,包括:预测获取预测值;计算与原始图像残差;对残差进行变换及量化获取残差系数;对残差系数进行反变换及反量化并将其加到预测值获取重建数据;为保证重建质量,在获取重建数据后还需对重建数据进行环路滤波处理,包括去块滤波以及采样点自适应偏移(Sample Adaptive Offset,SAO)操作。HEVC去块滤波处理图像中8x8块边界,处理过程先判断是否进行滤波,进行强滤波或是弱滤波。滤波过程先对垂直边界进行水平滤波再对水平边界进行垂直滤波,滤波操作处理边界处连续的4个像素点,所以当前CTU的去块滤波需要参考周围CTU边界处的像素值。SAO操作在去块滤波后进行,以CTU为基本单位,对CTU中每一像素点进行分类,计算每一类别像素点与原始像素的平均残差,通过对每类像素点增加平均残差以减少失真。分类过程需要参考周围未经过SAO处理的像素作为参考。
DSP(Digital Signal Processor)是一种适合进行数字信号处理的微处理器,较于其他硬件平台,具有成本低、低功耗、高性能、易移植、核内运算资源丰富等特点。以TMS320C6678芯片为例,TMS320C6678芯片内集成了8个C66x核芯,每个核芯具有独立的32KB的一级数据缓存(L1D)与32KB的一级程序缓存(L1P),512KB的二级数据缓存(L2)和8个核芯共享4MB的片内存储空间(MSMC)。其中L2缓存空间可以配置为用户使用的普通存储空间,通常在L2空间中分配频繁使用的数据以及程序的运行栈,以提高对数据的访问速度。
发明内容
本发明设计一种DSP硬件平台HEVC编码器的环路滤波模块的实现方法,目的在于减少DSP对外部存储器的访问,提高编码速度。具体方案包括:
1.DSP L2存储空间中CTU重建数据,左侧CTU与上侧CTU的缓存数据的存储空间的分配,其具体步骤如下:
步骤(11)、在DSP二级缓存L2上分配72x68大小的空间CTU_EXTEND,存储当前编码CTU的重建数据空间;左侧8列存储左侧CTU的倒数8列数据;上侧4行存储上侧CTU的倒数4行数据;剩余64x64大小的空间存储当前CTU重建数据;
步骤(12)、在DSP二级缓存L2上分配两块图像宽度x4的空间BUFF_DEB1与BUFF_DEB2,存储上一CTU行倒数4行完成水平滤波的数据;
步骤(13)、在DSP二级缓存L2上分配两块图像宽度x1的空间BUFF_SAO1与BUFF_SAO2,存储上一CTU行倒数第5行完成去块滤波的数据;
步骤(14)、分配1x68列空间BUFF_C1与BUFF_C2,存储左侧CTU倒数第6列完成去块滤波的数据;分配1x68的列空间BUFF_C3存储左侧CTU最后1列完成去块滤波的数据;分配72x1的行空间BUFF_R1,存储上侧CTU倒数第5行完成去块滤波后的数据;分配72x1的行空间BUFF_R2存储上侧CTU最后一行数据;2.去块滤波操作的缓存数据读取,分块滤波操作以及缓存数据的写入,其特征在于具体步骤如下:
步骤(21)、在编码当前CTU前,若左侧CTU存在,将CTU_EXTEND最右侧8列数据拷贝到左侧8列; 设当前CTU左上角像素点在整帧图像的坐标为(CTUx,CTUy),CTUx为水平方向,CTUy为垂直方向,整帧图像左上角像素点坐标为(0,0),当前CTU左上角对应CTU_EXTEND中(8,4)位置,若上侧CTU存在,从BUFF_DEB1的(CTUx,0)位置处拷贝大小为64x4的数据块到CTU_EXTEND中(8,0)位置处;
步骤(22)、去块滤波计算阶段,对整个经过扩边的CTU_EXTEND区域进行去块滤波操作;若左侧CTU存在,则位于(4,4)的左侧CTU的4x60的块进行水平滤波与垂直滤波,若下方存在CTU,则位于(4,64)的左侧CTU的4x4区域只进行水平滤波;若上侧CTU存在,则位于(8,0)处的上侧CTU的60x4区域进行垂直滤波,若此时右侧CTU不存在则位于(68,0)处4x4块进行垂直滤波;若左上CTU存在,则对位于(4,0)处左上CTU的4x4区域进行水平滤波与垂直滤波;当前CTU左上60x60块进行水平滤波与垂直滤波;若右侧CTU存在,则位于(68,4)处的4x64数据块未进行滤波,否则对位于(68,4)处4x60数据块进行垂直滤波;
步骤(23)、去块滤波的数据保存阶段,将完成滤波的数据保存至BUFF_DEB2与BUFF_SAO2空间;若下方CTU存在,将CTU_EXTEND中位于(8,64)处的60x4数据块拷贝到BUFF_DEB2的(CTUx,0)位置处,若此时左侧CTU存在,拷贝(4,64)处4x4块到BUFF_DEB2的(CTUx-4,0)位置处,若此时右侧CTU不存在,拷贝(68,64)处4x4块到BUFF_DEB2的(CTUx+60,0)位置处;若下侧CTU存在,将CTU_EXTEND中位于(8,63)处的60x1行数据拷贝到BUFF_SAO2的(CTUx,0)位置处,若此时左侧CTU存在,拷贝(4,63)处的4x1行数据拷贝到BUFF_SAO2的(CTUx-4,0),若此时右侧CTU不存在,拷贝(68,63)处的4x1行数据拷贝到BUFF_SAO2的(CTUx+60,0);若右侧CTU存在,将CTU_EXTEND中(66,4)处1x72数据行拷贝到BUFF_C2中;
3.SAO操作的缓存数据读取,分块滤波操作以及重建数据的写入,其特征在于具体步骤如下:
步骤(31)、SAO的数据准备阶段,将SAO操作需要参考的数据拷贝到相应空间;若上侧CTU存在,将BUFF_SAO1中位于(CTUx,0)的64x1的行数据拷贝到BUFF_R1(8,0)位置处,若此时左侧CTU存在,继续拷贝BUFF_SAO1中宽度为8的数据到BUFF_R1起始处,将CTU_EXTEND中位于(0,4)的72x1的行数据拷贝到BUFF_R2中;若左侧CTU存在,将CTU_EXTEND中位于(7,0)处的1x68的列数据拷贝到BUFF_C3中;
步骤(32)、SAO数据处理阶段,依次对CTU_EXTEND中能够完成SAO操作的区域进行SAO操作;若左上CTU存在,位于(3,0)处的5x4数据块完成SAO操作,左侧参考BUFF_C1,上侧参考BUFF_R1,其余参考CTU_EXTEND中数据。若上侧CTU存在,则位于(8,0)处的60x4数据块完成SAO操作,左侧参考BUFF_C3,上侧参考BUFF_R1,其余参考CTU_EXTEND中数据,若此时右侧CTU不存在,则位于(68,0)处的4x4块完成SAO操作。若左侧CTU存在,则位于(3,4)处的5x60数据块完成SAO操作,左侧参考BUFF_C1,上侧参考BUFF_R2,其余参考CTU_EXTEND中数据,若此时下侧CTU不存在则位于(3,64)处的5x4块完成SAO操作;当前CTU位于(8,4)处的59x60数据块完成SAO操作,左侧参考BUFF_C3,上侧参考BUFF_R2,其余参考CTU_EXTEND数据,若此时右侧不存在CTU,则位于(CTUx+59,CTUy)处的5x60数据块完成SAO操作,若此时下侧CTU不存在,则位于(8,64)处的59x4数据块同理完成SAO操作,若右下CTU不存在则右下5x4数据块完成SAO操作;
步骤(33)、将完成SAO操作的数据写回外部存储器;交换BUFF_C1与BUFF_C2空间;交换BUFF_DEB1与BUFF_DEB2空间;交换BUFF_SAO1与BUFF_SAO2空间;
附图说明
图1为DSP内部存储空间分配示意图
图2为去块滤波前的数据拷贝示意图
图3为去块滤波结果示意图
图4为去块滤波后数据保存示意图
图5为SAO操作数据参考示意图
具体实施
下面通过实例并结合附图,进一步具体描述本发明方法。
在DSP上搭建编码器时由于片内空间(L2缓存空间)较小,无法存放整帧图像,当前帧的原始图像与重建图像均存放在外部存储器(DDR3)中,片内L2存储空间则存储当前CTU的编码数据,如CTU的模式选择信息,重建数据等。在对当前CTU完成编码并获取重建数据后,再将重建数据写入外部存储器DDR3中。如果在整帧图像完成重建后进行环路滤波处理,则需在所有CTU完成重建并将重建数据写入外设DDR3后,再将所有CTU重建数据依次拷贝到片内L2空间,进行去块滤波与SAO操作,完成后再将其拷贝到片外存储器DDR3中。这样的设计使得在L2与DDR3间增加了两次对整帧图像数据的访问,由于访问DDR3速度较慢,该操作严重影响编码器速度。针对该问题,本发明通过在DSP核内设置相邻CTU数据缓存空间,调整环路滤波的处理流程,对CTU数据分部进行处理,使得在对当前CTU重建完成后直接进行环路滤波操作,减少了DSP对重建帧数据的读写,将整帧的滤波操作变为CTU级滤波操作,提高DSP编码速度。
在DSP二级缓存中分配当前CTU的重建数据空间,并分配存放左侧及上侧CTU部分数据的存储空间。HEVC的去块滤波会操作边界两侧连续的4个像素点,所以当前CTU数据块的去块滤波操作需要参考周围CTU边界处的像素值,同时这些区域的像素也因缺少当前CTU的数据而无法完成滤波操作。所以对当前CTU重建数据存储区域进行扩充,左侧扩充8列存储左侧CTU最后8列数据,上侧扩充4行存储上侧CTU最后4列数据,此外左上CTU的右下角8x4的数据块也包括其中,最终分配72x68大小CTU_EXTEND存储空间,其中左侧扩充8列为保证存储左侧为进行SAO操作的数据。此外编码过程需要获取周围CTU的数据以及部分缓存空间,具体分配如下:在DSP二级缓存L2上分配两块图像宽度x4的空间BUFF_DEB1与BUFF_DEB2,存储当前CTU上侧4行完成水平滤波的数据;在DSP二级缓存L2上分配两块图像宽度x1的空间BUFF_SAO1与BUFF_SAO2,存储上一CTU行倒数第5行完成去块滤波的数据;分配1x68列空间BUFF_C1与BUFF_C2,存储左侧CTU倒数第6列完成去块滤波的数据;分配1x68列空间BUFF_C3存储左侧CTU最后1列完成去块滤波的数据。存储分配72x1的行空间BUFF_R1数据,存储上侧CTU倒数第5列完成去块滤波后的数据;分配72x1的行空间BUFF_R2存储上侧CTU最后一行数据;具体分配如图1所示。
去块滤波处理阶段前的数据准备阶段。在编码当前CTU前,若左侧存在CTU,则CTU_EXTEND存放的为左侧CTU的数据,所以将当前CTU_EXTEND右侧8列数据拷贝到左侧8列,此时左侧8列数据为当前CTU左侧CTU的最后8列数据。设当前CTU左上角像素点在整帧图像的坐标为(CTUx,CTUy),CTUx为水平方向坐标即宽度方向,CTUy为垂直方向坐标即高度方向,图像左上角像素点坐标为(0,0),则当前CTU左上角像素点对应CUT_EXTEND中的位置为(8,4)。BUFF_DEB1存放上一CTU行的最后4行数据,若上侧CTU存在,从BUFF_DEB1的(CTUx,0)位置处拷贝大小为64x4的数据块到CTU_EXTEND中(8,0)位置处。具体的数据拷贝与各部分数据滤波是完成状态如图2所示。
去块滤波的数据处理阶段,对当前CTU以及左侧上侧CTU能够进行滤波的数据进行处理。如图3所示,若左上CTU存在,则位于(4,0)位置处的左上CTU的4x4数据块A完成垂直滤波。若上侧CTU存在,则位于(8,0)位置处的6上侧CTU的0x4数据块B完成水平滤波与垂直滤波,若此时右侧CTU不存在,则可认为其右侧4x4数据块C已完成水平滤波,进而完成垂直滤波。若左侧CTU存在,则位于(4,4)处的左侧CTU的4x60块D完成水平滤波与垂直滤波,其下侧的4x4数据块E完成水平滤波,若此时下侧CTU不存在则可认为左侧CTU的4x4数据块E完成垂直滤波。当前CTU位于(8,4)位置处60x60块完成水平滤波与垂直滤波。若右侧CTU存在,则位于(68,4)处4x60块由于缺乏右侧CTU数据无法进行滤波,在处理右侧CTU时进行处理,否则视为其完成水平滤波,进而完成垂直滤波。若下侧CTU存在,则位于(8,64)处的60x4数据块G完成水平滤波,由于缺乏下侧CTU数据无法完成垂直滤波,在处理下侧CTU时进行该区域处理。对于位于(68,64)位置处的4x4数据块I,若右侧CTU不存在,其视为完成水平滤波,若此时下侧CTU不存在则其视为完成垂直滤波。具体各部分的数据处理结果如图3所示。
去块滤波的数据保存阶段。由于当前CTU的部分数据无法完成去块滤波以及之后的SAO处理,需要对其进行缓存,在处理右侧及下侧CTU时进行处理。如图4所示,若下方CTU存在,将CTU_EXTEND中位于(8,64)处的60x4数据块B拷贝到BUFF_DEB2的(CTUx,0)位置处,若此时左侧CTU存在,拷贝(4,64)处4x4数据块A到BUFF_DEB2的(CTUx-4,0)位置处,若此时右侧CTU不存在,拷贝(68,64)处4x4数据块C到BUFF_DEB2的(CTUx+60,0)位置处;若下侧CTU存在,将CTU_EXTEND中位于(8,63)处的60x1行数据拷贝到BUFF_SAO2的(CTUx,0)位置处,若此时左侧CTU存在,拷贝(4,63)处的4x1行数据拷贝到BUFF_SAO2的(CTUx-4,0),若此时右侧CTU不存在,拷贝(68,63)处的4x1行数据拷贝到BUFF_SAO2的(CTUx+60,0);若右侧CTU存在, 将CTU_EXTEND中(66,4)处1x72数据行拷贝到BUFF_C2中,具体如图4所示。
SAO数据准备阶段,将所有参考数据拷贝到相应的存储空间中。若上侧CTU存在,将BUFF_SAO1中位于(CTUx,0)的64x1的行数据拷贝到BUFF_R1(8,0)位置处,作为上侧CTU块上侧SAO的参考数据,若此时左侧CTU存在,继续拷贝BUFF_SAO1中宽度为8的数据到BUFF_R1起始处,将CTU_EXTEND中位于(0,4)的72x1的行数据拷贝到BUFF_R2中,作为当前CTU块上侧SAO的参考数据;若左侧CTU存在,将CTU_EXTEND中位于(7,0)处的1x68列数据拷贝到BUFF_C3中,作为当前CTU块左侧SAO的参考数据。
SAO数据处理阶段,依次对CTU_EXTEND中已经完成去块滤波的区域进行SAO处理。若左上CTU存在,位于(3,0)处的左上CTU的5x4数据块完成SAO操作,左侧参考BUFF_C1,上侧参考BUFF_R1,其余参考CTU_EXTEND中数据。若上侧CTU存在,则位于(8,0)处的上侧CTU的60x4数据块完成SAO操作,左侧参考BUFF_C3,上侧参考BUFF_R1,其余参考CTU_EXTEND中数据,若此时右侧CTU不存在,则位于(68,0)处的4x4块完成SAO操作。若左侧CTU存在,则位于(3,4)处的左侧CTU的5x60数据块完成SAO操作,左侧参考BUFF_C1,上侧参考BUFF_R2,其余参考CTU_EXTEND中数据,若此时下侧CTU不存在则位于(3,64)处的5x4块完成SAO操作;处理当前CTU数据时,由于其右侧4列数据可能没有完成去块滤波,所以不能后四列数据无法进行SAO处理,并且倒数第4列由于要参考右侧的完成去块滤波的数据也无法完成SAO操作。而由于去块滤波最多改变边界两侧3个像素点,所以当前CTU倒数第4行虽然没有完成垂直滤波,但垂直滤波不改变其值,仍可作为参考,所以当前CTU位于(8,4)处的59x60数据块完成SAO操作,左侧参考BUFF_C3,上侧参考BUFF_R2,其余参考CTU_EXTEND数据。若此时右侧不存在CTU,则位于(CTUx+59,CTUy)处的5x60数据块完成SAO操作,若此时下侧CTU不存在,则位于(8,64)处的59x4数据块同理完成SAO操作,若右下CTU不存在则右下5x4数据块完成SAO操作;各块数据的参考数据如图5所示。需要注意的是,当前CTU模式选取依赖当前59x60块的数据,这样会导致当前CTU模式不是最优的,因为缺少参考部分数据。但不同数据的选取并不影响最终编码码流的格式,而左侧CTU,上侧CTU以及左上CTU数据记性SAO处理时也使用相应CTU中最大的59x60数据块的模式数据,保证整个CTU使用同一模式数据。
SAO的数据保存阶段。将上一步中完成SAO操作的数据写回外部存储器,由于BUFF_C2存储当前CTU的倒数第6列数据,其会在右侧CTU处理时使用,所以交换BUFF_C1与BUFF_C2空间。同理交换BUFF_DEB1与BUFF_DEB2空间,交换BUFF_SAO1与BUFF_SAO2空间。
Claims (3)
1.DSP L2存储空间中CTU重建数据,左侧CTU与上侧CTU的缓存数据的存储空间的分配,其特征在于具体步骤如下:
步骤(11)、在DSP二级缓存L2上分配72x68大小的空间CTU_EXTEND,存储当前编码CTU的重建数据空间;左侧8列存储左侧CTU的倒数8列数据;上侧4行存储上侧CTU的倒数4行数据;剩余64x64大小的空间存储当前CTU重建数据;
步骤(12)、在DSP二级缓存L2上分配两块图像宽度x4的空间BUFF_DEB1与BUFF_DEB2,存储上一CTU行倒数4行完成水平滤波的数据;
步骤(13)、在DSP二级缓存L2上分配两块图像宽度x1的空间BUFF_SAO1与BUFF_SAO2,存储上一CTU行倒数第5行完成去块滤波的数据;
步骤(14)、分配1x68列空间BUFF_C1与BUFF_C2,存储左侧CTU倒数第6列完成去块滤波的数据;分配1x68的列空间BUFF_C3存储左侧CTU最后1列完成去块滤波的数据;分配72x1的行空间BUFF_R1,存储上侧CTU倒数第5行完成去块滤波后的数据;分配72x1的行空间BUFF_R2存储上侧CTU最后一行数据。
2.去块滤波操作的缓存数据读取,分块滤波操作以及缓存数据的写入,其特征在于具体步骤如下:
步骤(21)、在编码当前CTU前,若左侧CTU存在,将CTU_EXTEND最右侧8列数据拷贝到左侧8列;设当前CTU左上角像素点在整帧图像的坐标为(CTUx,CTUy),CTUx为水平方向,CTUy为垂直方向,整帧图像左上角像素点坐标为(0,0),当前CTU左上角对应CTU_EXTEND中(8,4)位置,若上侧CTU存在,从BUFF_DEB1的(CTUx,0)位置处拷贝大小为64x4的数据块到CTU_EXTEND中(8,0)位置处;
步骤(22)、去块滤波计算阶段,对整个经过扩边的CTU_EXTEND区域进行去块滤波操作;若左侧CTU存在,则位于(4,4)的左侧CTU的4x60的块进行水平滤波与垂直滤波,若下方存在CTU,则位于(4,64)的左侧CTU的4x4区域只进行水平滤波;若上侧CTU存在,则位于(8,0)处的上侧CTU的60x4区域进行垂直滤波,若此时右侧CTU不存在则位于(68,0)处4x4块进行垂直滤波;若左上CTU存在,则对位于(4,0)处左上CTU的4x4区域进行水平滤波与垂直滤波;当前CTU左上60x60块进行水平滤波与垂直滤波;若右侧CTU存在,则位于(68,4)处的4x64数据块未进行滤波,否则对位于(68,4)处4x60数据块进行垂直滤波;
步骤(23)、去块滤波的数据保存阶段,将完成滤波的数据保存至BUFF_DEB2与BUFF_SAO2空间;若下方CTU存在,将CTU_EXTEND中位于(8,64)处的60x4数据块拷贝到BUFF_DEB2的(CTUx,0)位置处,若此时左侧CTU存在,拷贝(4,64)处4x4块到BUFF_DEB2的(CTUx-4,0)位置处,若此时右侧CTU不存在,拷贝(68,64)处4x4块到BUFF_DEB2的(CTUx+60,0)位置处;若下侧CTU存在,将CTU_EXTEND中位于(8,63)处的60x1行数据拷贝到BUFF_SAO2的(CTUx,0)位置处,若此时左侧CTU存在,拷贝(4,63)处的4x1行数据拷贝到BUFF_SAO2的(CTUx-4,0),若此时右侧CTU不存在,拷贝(68,63)处的4x1行数据拷贝到BUFF_SAO2的(CTUx+60,0);若右侧CTU存在,将CTU_EXTEND中(66,4)处1x72数据行拷贝到BUFF_C2中。
3.SAO操作的缓存数据读取,分块滤波操作以及重建数据的写入,其特征在于具体步骤如下:
步骤(31)、SAO的数据准备阶段,将SAO操作需要参考的数据拷贝到相应空间;若上侧CTU存在,将BUFF_SAO1中位于(CTUx,0)的64x1的行数据拷贝到BUFF_R1(8,0)位置处,若此时左侧CTU存在,继续拷贝BUFF_SAO1中宽度为8的数据到BUFF_R1起始处,将CTU_EXTEND中位于(0,4)的72x1的行数据拷贝到BUFF_R2中;若左侧CTU存在,将CTU_EXTEND中位于(7,0)处的1x68的列数据拷贝到BUFF_C3中;
步骤(32)、SAO数据处理阶段,依次对CTU_EXTEND中能够完成SAO操作的区域进行SAO操作;若左上CTU存在,位于(3,0)处的5x4数据块完成SAO操作,左侧参考BUFF_C1,上侧参考BUFF_R1,其余参考CTU_EXTEND中数据;若上侧CTU存在,则位于(8,0)处的60x4数据块完成SAO操作,左侧参考BUFF_C3,上侧参考BUFF_R1,其余参考CTU_EXTEND中数据,若此时右侧CTU不存在,则位于(68,0)处的4x4块完成SAO操作;若左侧CTU存在,则位于(3,4)处的5x60数据块完成SAO操作,左侧参考BUFF_C1,上侧参考BUFF_R2,其余参考CTU_EXTEND中数据,若此时下侧CTU不存在则位于(3,64)处的5x4块完成SAO操作;当前CTU位于(8,4)处的59x60数据块完成SAO操作,左侧参考BUFF_C3,上侧参考BUFF_R2,其余参考CTU_EXTEND数据,若此时右侧不存在CTU,则位于(CTUx+59,CTUy)处的5x60数据块完成SAO操作,若此时下侧CTU不存在,则位于(8,64)处的59x4数据块同理完成SAO操作,若右下CTU不存在则右下5x4数 据块完成SAO操作;
步骤(33)、将完成SAO操作的数据写回外部存储器;交换BUFF_C1与BUFF_C2空间;交换BUFF_DEB1与BUFF_DEB2空间;交换BUFF_SAO1与BUFF_SAO2空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610373661.8A CN105872567A (zh) | 2016-05-31 | 2016-05-31 | 一种面向dsp平台的ctu级hevc环路滤波方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610373661.8A CN105872567A (zh) | 2016-05-31 | 2016-05-31 | 一种面向dsp平台的ctu级hevc环路滤波方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105872567A true CN105872567A (zh) | 2016-08-17 |
Family
ID=56641713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610373661.8A Pending CN105872567A (zh) | 2016-05-31 | 2016-05-31 | 一种面向dsp平台的ctu级hevc环路滤波方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105872567A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254874A (zh) * | 2016-09-19 | 2016-12-21 | 上海国茂数字技术有限公司 | 一种全景视频编码方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060062311A1 (en) * | 2004-09-20 | 2006-03-23 | Sharp Laboratories Of America, Inc. | Graceful degradation of loop filter for real-time video decoder |
TW201320760A (zh) * | 2011-09-06 | 2013-05-16 | Mediatek Inc | 視頻解碼方法及電腦可讀媒介 |
-
2016
- 2016-05-31 CN CN201610373661.8A patent/CN105872567A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060062311A1 (en) * | 2004-09-20 | 2006-03-23 | Sharp Laboratories Of America, Inc. | Graceful degradation of loop filter for real-time video decoder |
TW201320760A (zh) * | 2011-09-06 | 2013-05-16 | Mediatek Inc | 視頻解碼方法及電腦可讀媒介 |
Non-Patent Citations (1)
Title |
---|
范琪蓉: "《基于CUDA的H.264视频解码算法的研究与实现》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254874A (zh) * | 2016-09-19 | 2016-12-21 | 上海国茂数字技术有限公司 | 一种全景视频编码方法及装置 |
CN106254874B (zh) * | 2016-09-19 | 2019-05-31 | 上海国茂数字技术有限公司 | 一种全景视频编码方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113287316B (zh) | 减少环路滤波缓冲器的方法及装置 | |
CN103947208B (zh) | 减少解块滤波器的方法及装置 | |
CN105898335B (zh) | 提升硬件效率的环路滤波方法以及环路滤波装置 | |
CN103891277B (zh) | 回路滤波方法及其装置 | |
CN105474639B (zh) | 视频编码装置、视频解码装置、视频系统、视频编码方法、视频解码方法以及程序 | |
CN103503456B (zh) | 用于重建视频的环内处理方法及其装置 | |
MX2013002070A (es) | Metodo y aparato de filtrado de circuito adaptativo. | |
CN107005695B (zh) | 用于视频编码的替代变换的方法及装置 | |
CN105850121A (zh) | 用于基于块的自适应环路滤波的滤波器控制的方法 | |
US20060133504A1 (en) | Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same | |
DE112006000270T5 (de) | Arbeitspuffer zum Speichern von Schleifenfilterzwischendaten | |
DE112006000271T5 (de) | Arbeitspuffer zum Speichern von Schleifenfilterzwischendaten | |
CN102595140B (zh) | 基于图像修复和矢量预测算子的帧内预测视频编码方法 | |
CN103051892B (zh) | 内嵌式回路滤波方法以及内嵌式回路滤波装置 | |
CN101399991B (zh) | 一种视频解码的方法和装置 | |
CN101472176A (zh) | 基于边界强度因子进行去块效应滤波的解码方法和装置 | |
CN105306957A (zh) | 自适应环路滤波方法和设备 | |
CN104113765A (zh) | 一种视频编、解码方法和装置 | |
US20230086135A1 (en) | Method for picture decoding, decoder and storage medium | |
CN101635849B (zh) | 一种环路滤波方法及环路滤波器 | |
CN103379319B (zh) | 一种滤波方法、滤波器及包含该滤波器的编码器和解码器 | |
CN104253998A (zh) | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 | |
CN107040778A (zh) | 环路滤波方法以及环路滤波装置 | |
WO2022116824A1 (zh) | 视频解码方法、视频编码方法、相关设备及存储介质 | |
CN107623859B (zh) | 一种低码率下jpeg编码的去块效应方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |
|
WD01 | Invention patent application deemed withdrawn after publication |