CN105554507B - 一种hevc sao硬件计算装置及方法 - Google Patents
一种hevc sao硬件计算装置及方法 Download PDFInfo
- Publication number
- CN105554507B CN105554507B CN201510882527.6A CN201510882527A CN105554507B CN 105554507 B CN105554507 B CN 105554507B CN 201510882527 A CN201510882527 A CN 201510882527A CN 105554507 B CN105554507 B CN 105554507B
- Authority
- CN
- China
- Prior art keywords
- sao
- module
- control module
- deblocking effect
- computing
- 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
Abstract
一种HEVC SAO硬件计算装置,包括去方块效应模块、SAO参数生成模块、状态机控制模块、存储模块、轮转模块、寄存器控制模块、SAO计算模块、输出控制模块;所述去方块效应模块与SAO参数生成模块连接,所述去方块效应模块与轮转模块连接;所述SAO参数生成模块与状态机控制模块连接,状态机控制模块与存储模块和寄存器控制模块连接,存储模块与寄存器控制模块连接,轮转模块与存储模块连接,轮转模块还与寄存器控制模块连接,寄存器控制模块与SAO计算模块连接,所述SAO计算模块与输出控制模块连接;上述技术方案在硬件中配合运行,实现了SAO解码的完全流水,还对不同位置的像素实现了优化设计,使得基于该架构的HEVC硬件解码具有高性能,低功耗,面积优化的特点。
Description
技术领域
本发明涉及视频解码技术领域,尤其涉及一种HEVC SAO硬件计算装置及方法。
背景技术
HEVC(High Efficiency Video Coding)是由国际电信组织(ITU)和运动图像专家组(MPEG)联合成立的组织JCTVC提出的下一代视频编解码标准。目标是在相同的视觉效果的前提下,相比于上一代标准H.264/AVC,压缩率提高一倍。
基于HEVC的视频编码器,其结构图如图1所示,主要由以下几个模块组成:帧内预测、帧间预测、变换、量化、反量化、反变换、重建、去方块滤波器、自适应样点补偿等模块组成。视频压缩编码的基本过程可以概括如下:1.利用帧内预测或帧间预测方式对当前原始视频流像素进行预测;2.将原始的像素值与预测出来的像素值相减得到残差值;3.将残差进行变换及量化处理,得到输出的残差系数再经过CABAC(Context-based AdaptiveBinary Arithmetic Coding)熵编码形成最后的压缩输出码流;4.残差系数经过反量化及反变换处理,再与之前得到的预测像素相加得到重建像素,存储作为预测的参考帧像素。
SAO(Sample Adaptive Offset)模块即为图1中的自适应样点补偿模块,该模块主要通过原始像素值与经过去方块滤波器以后像素值的比较获得偏移量的值,再将偏移量的值加到经过去方块滤波器以后像素值上,减少图像的失真,使重建图像具有更好的质量和PSNR值(峰值信噪比)。
在HEVC的官方参考软件中,该模块是基于一个LCU(largest coding unit,Y分量为64x64大小的像素点块,Cb和Cr分量为32x32大小的像素点块)大小进行运算的,这种处理方式的话,硬件实现中会导致片上需要大量的存储单元,消耗过多的硬件资源。
发明内容
为此,需要提供一种HEVC SAO硬件计算装置及方法,解决现有硬件解码的优化问题。
为实现上述目的,发明人提供了一种HEVC SAO硬件计算装置,包括去方块效应模块、SAO参数生成模块、状态机控制模块、存储模块、轮转模块、寄存器控制模块、SAO计算模块、输出控制模块;
所述去方块效应模块与SAO参数生成模块连接,所述去方块效应模块与轮转模块连接;所述SAO参数生成模块与状态机控制模块连接,状态机控制模块与存储模块和寄存器控制模块连接,存储模块与寄存器控制模块连接,轮转模块与存储模块连接,轮转模块还与寄存器控制模块连接,寄存器控制模块与SAO计算模块连接,所述SAO计算模块与输出控制模块连接;
所述去方块效应模块用于向SAO参数生成模块传输SAO解码参数,还用于将去方块效应以后的像素传送给轮转模块;
所述SAO参数生成模块用于根据SAO解码参数生成SAO参数;
所述状态机控制模块用于根据SAO参数生成控制信号,将所述控制信号传输给存储模块或寄存器控制模块;
所述轮转模块用于将所述去方块效应以后的像素传输到存储模块;
所述存储模块用于存储所述去方块效应以后的像素,接收控制信号;
所述寄存器控制模块用于接收控制信号,根据控制信号从存储模块中读取接收所述去方块效应以后的像素,将去方块效应以后的像素与SAO参数传输到SAO计算模块;
所述SAO计算模块用于根据去方块效应以后的像素和SAO参数进行计算,将计算结果传输给输出控制模块;
所述输出控制模块用于输出计算结果。
进一步地,所述计算结果包括计算后的像素buffer。
具体地,所述SAO计算模块中包括Y计算单元、U计算单元、V计算单元。
一种HEVC SAO硬件计算方法,包括步骤:
所述去方块效应模块向SAO参数生成模块传输SAO解码参数,将去方块效应以后的像素传送给轮转模块;
所述SAO参数生成模块根据SAO解码参数生成SAO参数;
所述状态机控制模块用于根据SAO参数生成控制信号,将所述控制信号传输给存储模块或寄存器控制模块;
所述轮转模块将所述去方块效应以后的像素传输到存储模块或寄存器控制模块;
所述存储模块存储所述去方块效应以后的像素,接收控制信号;
所述寄存器控制模块接收控制信号,根据控制信号从存储模块中读取接收所述去方块效应以后的像素,将去方块效应以后的像素与SAO参数传输到SAO计算模块;
所述SAO计算模块根据去方块效应以后的像素和SAO参数进行计算,将计算结果传输给输出控制模块;
所述输出控制模块输出计算结果。
进一步地,所述计算结果包括计算后的像素buffer。
具体地,所述SAO计算模块中包括Y计算单元、U计算单元、V计算单元。
区别于现有技术,上述技术方案在硬件中配合运行,可以YUV SAO计算同时进行,实际应用中能够实现HEVC 4K 60Hz的解码,实现了SAO解码的完全流水,还对不同位置的像素实现了优化设计,使得基于该架构的HEVC硬件解码具有高性能,低功耗,面积优化的特点。
附图说明
图1为本发明具体实施方式所述的装置模块图;
图2为本发明具体实施方式所述的方法流程图;
图3为本发明具体实施方式所述的SAO计算模块。
附图标记说明:
100、去方块效应模块;
102、SAO参数生成模块;
104、状态机控制模块;
106、存储模块;
108、轮转模块;
110、寄存器控制模块;
112、SAO计算模块;
114、输出控制模块。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一种HEVC SAO硬件计算装置模块示意图,包括去方块效应模块100、SAO参数生成模块102、状态机控制模块104、存储模块106、轮转模块108、寄存器控制模块110、SAO计算模块112、输出控制模块114;
所述去方块效应模块100与SAO参数生成模块102连接,所述去方块效应模块100与轮转模块108连接;所述SAO参数生成模块102与状态机控制模块104连接,状态机控制模块104与存储模块106和寄存器控制模块110连接,轮转模块108与存储模块106连接,存储模块与寄存器控制模块连接,轮转模块108还与寄存器控制模块110连接,寄存器控制模块110与SAO计算模块112连接,所述SAO计算模块112与输出控制模块114连接;
所述去方块效应模块100用于向SAO参数生成模块传输SAO解码参数,还用于将去方块效应以后的像素传送给轮转模块;
所述SAO参数生成模块用于根据SAO解码参数生成SAO参数;
其中,SAO解码参数是前级去方块效应模块读取参数命令FIFO解析出来,包括slice级别,CTU级别关于当前SAO解码所需要的参数,可以由系统生成,直接应用于本装置。SAO参数是根据当前解码CTU的状态将前级传过来的SAO解码参数和之前计算存储的SAO解码参数进行再分析得出当前解码CTU(coding tree unit,编码树单元,图像划分的一种)SAO计算所需要的参数。SAO参数生成模块是从前级的参数FIFO读取SAO解码参数,根据读取到的解码参数重组更新当前CTU SAO控制与计算所需要的所有SAO参数,包括之前计算保存的SAO参数和保存下次计算所需要的SAO参数。
所述状态机控制模块用于根据SAO参数生成控制信号,将所述控制信号传输给存储模块或寄存器控制模块;状态控制模块是整个模块的核心控制模块,生成各种控制信号来控制下述模块进行SAO计算与输出的。
所述轮转模块用于将所述去方块效应以后的像素传输到存储模块;其中,去方块效应模块将像素处理为去方块效应以后的像素后将所述去方块效应以后的像素存储到轮转模块,当存储模块调用时传输到存储模块。轮转模块是将CTU buffer轮转于deblocking,recon与SAO计算模块,前级的计算结果需要经过recon,deblocking模块处理之后才能用于SAO计算,所述recon是预测数据与残差数据相加得到重构数据,所述deblocking是块效应环内滤波。
所述存储模块用于存储所述去方块效应以后的像素,接收控制信号;
所述寄存器控制模块用于接收控制信号,根据控制信号从存储模块中读取接收所述去方块效应以后的像素,将去方块效应以后的像素与SAO参数传输到SAO计算模块;
所述SAO计算模块用于根据去方块效应以后的像素和SAO参数进行计算,将计算结果传输给输出控制模块;所述输出控制模块用于输出计算结果。进一步地,在图3所示的实施例中,SAO计算模块由以下3个计算部分组成,分别是Y,U,V三个分量的计算逻辑单元,在这里所述YUV是图像格式,Y表示亮度,UV色度其中Y有8个子计算单元,U和V各用4个子计算单元。每个分量的计算单元分别的相应的IDX的计算单元,中间像素的计算单元,最左侧像素的计算单元,和最右侧像素的计算单元组。IDX实现选择哪个IDX,而像素计算单元则实现了偏移值和原始值的计算。因此计算单元通过与前后级的配合,实现Y像素一个时钟周期8个点,UV一个时钟周期各4个点的计算,实现SAO计算的全流水,实现4K HEVC 60fps的计算。在优选的实施例中,寄存器控制模块还根据SAO计算模块的特性,输出Y计算分量的3行像素,每行8个像素,输出U计算分量的3行像素,每行4个像素,输出U计算分量的3行像素,每行4个像素,输出控制模块可以实现每个cycle Y8个点的输出,UV各4点的输出。综上,本技术方案在硬件中配合运行,可以YUV SAO计算同时进行,实际应用中能够实现HEVC 4K 60Hz的解码,实现了SAO解码的完全流水,还对不同位置的像素实现了优化设计,使得基于该架构的HEVC硬件解码具有高性能,低功耗,面积优化的特点。
在某些进一步的实施例中,所述计算结果包括计算后的像素buffer,以配合上述轮转模块的轮转功能用于后续的计算。在另一些实施例中还包括向bus模块传输解码最终输出结果和BUS传输该解码结果所需要的参数信息。
在图2所示的实施例中,介绍一种HEVC SAO硬件计算方法,包括步骤
S200:所述去方块效应模块向SAO参数生成模块传输SAO解码参数,将去方块效应以后的像素传送给轮转模块;
S202:所述SAO参数生成模块根据SAO解码参数生成SAO参数;
S204:所述状态机控制模块用于根据SAO参数生成控制信号,将所述控制信号传输给存储模块或寄存器控制模块;
S206:所述轮转模块将所述去方块效应以后的像素传输到存储模块或寄存器控制模块;
S208:所述存储模块存储所述去方块效应以后的像素,接收控制信号;
所述寄存器控制模块接收控制信号,根据控制信号从存储模块中读取接收所述去方块效应以后的像素,将去方块效应以后的像素与SAO参数传输到SAO计算模块;
S210:所述SAO计算模块根据去方块效应以后的像素和SAO参数进行计算,将计算结果传输给输出控制模块;
S212:所述输出控制模块输出计算结果。
在进一步的实施例中,所述计算结果包括计算后的像素buffer。
在具体的实施例中,所述SAO计算模块中包括Y计算单元、U计算单元、V计算单元。上述方法实现了SAO解码的完全流水,还对不同位置的像素实现了优化设计,使得基于该架构的HEVC硬件解码具有高性能,低功耗,面积优化的特点。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (4)
1.一种HEVC SAO硬件计算装置,其特征在于,包括去方块效应模块、SAO参数生成模块、状态机控制模块、存储模块、轮转模块、寄存器控制模块、SAO计算模块、输出控制模块;
所述去方块效应模块与SAO参数生成模块连接,所述去方块效应模块与轮转模块连接;所述SAO参数生成模块与状态机控制模块连接,状态机控制模块与存储模块和寄存器控制模块连接,存储模块与寄存器控制模块连接,轮转模块与存储模块连接,轮转模块还与寄存器控制模块连接,寄存器控制模块与SAO计算模块连接,所述SAO计算模块与输出控制模块连接;
所述去方块效应模块用于向SAO参数生成模块传输SAO解码参数,还用于将去方块效应以后的像素传送给轮转模块;
所述SAO参数生成模块用于根据SAO解码参数生成SAO参数;
所述状态机控制模块用于根据SAO参数生成控制信号,将所述控制信号传输给存储模块或寄存器控制模块;
所述轮转模块用于将所述去方块效应以后的像素传输到存储模块;
所述存储模块用于存储所述去方块效应以后的像素,接收控制信号;
所述寄存器控制模块用于接收控制信号,根据控制信号从存储模块中读取接收所述去方块效应以后的像素,将去方块效应以后的像素与SAO参数传输到SAO计算模块;
所述SAO计算模块用于根据去方块效应以后的像素和SAO参数进行计算,将计算结果传输给输出控制模块,所述SAO计算模块中包括Y计算单元、U计算单元、V计算单元;
所述输出控制模块用于输出计算结果。
2.根据权利要求1所述的一种HEVC SAO硬件计算装置,其特征在于,所述计算结果包括计算后的像素buffer。
3.一种HEVC SAO硬件计算方法,其特征在于,包括步骤:
去方块效应模块向SAO参数生成模块传输SAO解码参数,将去方块效应以后的像素传送给轮转模块;
SAO参数生成模块根据SAO解码参数生成SAO参数;
状态机控制模块根据SAO参数生成控制信号,将所述控制信号传输给存储模块或寄存器控制模块;
轮转模块将所述去方块效应以后的像素传输到存储模块或寄存器控制模块;
存储模块存储所述去方块效应以后的像素,接收控制信号;
寄存器控制模块接收控制信号,根据控制信号从存储模块中读取接收所述去方块效应以后的像素,将去方块效应以后的像素与SAO参数传输到SAO计算模块;
SAO计算模块根据去方块效应以后的像素和SAO参数进行计算,将计算结果传输给输出控制模块,所述SAO计算模块中包括Y计算单元、U计算单元、V计算单元;
输出控制模块输出计算结果。
4.根据权利要求3所述的一种HEVC SAO硬件计算方法,其特征在于,所述计算结果包括计算后的像素buffer。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882527.6A CN105554507B (zh) | 2016-03-01 | 2016-03-01 | 一种hevc sao硬件计算装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882527.6A CN105554507B (zh) | 2016-03-01 | 2016-03-01 | 一种hevc sao硬件计算装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105554507A CN105554507A (zh) | 2016-05-04 |
CN105554507B true CN105554507B (zh) | 2018-10-02 |
Family
ID=55833413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510882527.6A Active CN105554507B (zh) | 2016-03-01 | 2016-03-01 | 一种hevc sao硬件计算装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105554507B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013062193A1 (ko) * | 2011-10-24 | 2013-05-02 | (주)인터앱 | 영상 복호화 방법 및 장치 |
CN103442238A (zh) * | 2013-08-29 | 2013-12-11 | 复旦大学 | 一种适用于hevc标准的编码器中sao的硬件处理方法 |
CN104602026A (zh) * | 2015-01-22 | 2015-05-06 | 复旦大学 | 一种适用于hevc标准下编码器中全复用的重建环路结构 |
CN105163126A (zh) * | 2015-09-06 | 2015-12-16 | 福州瑞芯微电子股份有限公司 | 一种基于hevc协议的硬件解码方法和装置 |
-
2016
- 2016-03-01 CN CN201510882527.6A patent/CN105554507B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013062193A1 (ko) * | 2011-10-24 | 2013-05-02 | (주)인터앱 | 영상 복호화 방법 및 장치 |
CN103442238A (zh) * | 2013-08-29 | 2013-12-11 | 复旦大学 | 一种适用于hevc标准的编码器中sao的硬件处理方法 |
CN104602026A (zh) * | 2015-01-22 | 2015-05-06 | 复旦大学 | 一种适用于hevc标准下编码器中全复用的重建环路结构 |
CN105163126A (zh) * | 2015-09-06 | 2015-12-16 | 福州瑞芯微电子股份有限公司 | 一种基于hevc协议的硬件解码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105554507A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | A novel deep learning-based method of improving coding efficiency from the decoder-end for HEVC | |
CN106134201B (zh) | 在块预测技术中使用的预处理预测滤波的方法和装置 | |
CN104067524B (zh) | 具有精简的初始化值集合的上下文自适应熵译码 | |
Chen et al. | Dictionary learning-based distributed compressive video sensing | |
JP2014525176A (ja) | 輝度に基づく色度イントラ予測 | |
JP6761033B2 (ja) | 前フレーム残差を用いた動きベクトル予測 | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
CN110830803B (zh) | 结合块匹配和串匹配的图像压缩方法 | |
TWI729378B (zh) | 視訊編解碼的神經網路方法和裝置 | |
CN110225354A (zh) | 用于高性能视频编码中的无损编码模式的环内滤波的装置 | |
CN104704826B (zh) | 两步量化和编码方法和装置 | |
CN103997650A (zh) | 一种视频解码的方法和视频解码器 | |
WO2020140218A1 (zh) | 用于视频编码或解码的运动信息获取方法与装置 | |
CN111741302B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN107431805A (zh) | 编码方法和装置以及解码方法和装置 | |
CN105245896A (zh) | Hevc并行运动补偿方法及装置 | |
CN105163126B (zh) | 一种基于hevc协议的硬件解码方法和装置 | |
EP3711302B1 (en) | Spatially adaptive quantization-aware deblocking filter | |
CN105519108B (zh) | 量化矩阵编码的加权预测方法和装置 | |
US20110110435A1 (en) | Multi-standard video decoding system | |
CN105554507B (zh) | 一种hevc sao硬件计算装置及方法 | |
GB2554680A (en) | Selecting encoding options | |
CN116114246B (zh) | 帧内预测平滑滤波器系统及方法 | |
CN115086664A (zh) | 未匹配像素的解码方法、编码方法、解码器以及编码器 | |
CN109963158A (zh) | 一种基于gpu并行计算的高清视频解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee after: Ruixin Microelectronics Co., Ltd Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee before: Fuzhou Rockchips Electronics Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |