CN103442238B - 一种适用于hevc标准的编码器中sao的硬件处理方法 - Google Patents
一种适用于hevc标准的编码器中sao的硬件处理方法 Download PDFInfo
- Publication number
- CN103442238B CN103442238B CN201310383897.6A CN201310383897A CN103442238B CN 103442238 B CN103442238 B CN 103442238B CN 201310383897 A CN201310383897 A CN 201310383897A CN 103442238 B CN103442238 B CN 103442238B
- Authority
- CN
- China
- Prior art keywords
- lcu
- quarter
- pattern
- under
- component
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明属于高清数字视频压缩编解码技术领域,具体为一种适用于HEVC视频编码标准下SAO的硬件处理方法。本发明是基于Quarter‑LCU(Y分量为32x32大小的像素点块,Cb和Cr分量为16x16大小的像素点块)为基本单元的硬件处理方法;一个LCU分为四个Quarter‑LCU:Quarter‑LCU_0,Quarter‑LCU_1,Quarter‑LCU_2,Quarter‑LCU_3;处理的顺序依次从Quarter‑LCU_0,Quarter‑LCU_1,Quarter‑LCU_2到Quarter‑LCU_3进行。最终获得最优模式及其四个偏移量。本发明可以有效的减少芯片的存储单元的面积,减小了硬件的开销,从而高效的实现高清视频的实时编码。
Description
技术领域
本发明属于高清数字视频压缩编解码技术领域,针对HEVC视频编解码标准,具体涉及一种适用于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.残差系数经过反量化及反变换处理,再与之前得到的预测像素相加得到重建像素,存储作为预测的参考帧像素。
HEVC中的处理单元块引入了四叉树的结构,图像处理块的大小最大为64×64,它还可以继续递归地划分为32×32、16×16、8×8、4×4的小块组合,并分别进行处理。编码端要对块的所有划分情况进行一次遍历,以确定哪种划分情况的处理为最佳。
SAO(Sample Adaptive Offset)模块即为图1中的自适应样点补偿模块,该模块主要通过原始像素值与经过去方块滤波器以后像素值的比较获得偏移量的值,再将偏移量的值加到经过去方块滤波器以后像素值上,减少图像的失真,使重建图像具有更好的质量和PSNR值(峰值信噪比)。
在HEVC的官方参考软件HM9.0中,该模块是基于一个LCU(largest coding unit,Y分量为64x64大小的像素点块,Cb和Cr分量为32x32大小的像素点块)大小进行运算的,这种处理方式的话,硬件实现中会导致片上需要大量的存储单元,消耗过多的硬件资源。
发明内容
本发明的目的在于提出一种可以克服现有技术不足的、高效的适用于HEVC标准的编码器中SAO的硬件处理方法。
在平常的原始视频流里,每幅图像包括一个亮度分量,记为Y,每个亮度分量对应两个色度分量,分别记为Cb、Cr。在SAO模块中,其基于一个64x64大小的Y分量块和两个32x32的Cr、Cb分量块。SAO模块有两种基本模块:边缘补偿(记为EO(Edge Offset))和条带补偿(记为BO(Band Offset)),EO通过比较当前像素块中每个像素点与之相邻像素点的值,得到一些统计信息,从而获得偏移量的值;BO通过每个像素点自身的值,得到一些统计信息,从而获得偏移量的值;其中,EO模式下根据比较的相邻像素的不同位置,可分为四种模式:EO_0、EO_1、EO_2、EO_3,如图2所示,设c为当前像素点,a和b为所需比较的相邻像素点,则模式EO_0 的像素点位置为自左至右为a、c、b,模式EO_1的像素点位置为自上至下为a、c、b,模式EO_2的像素点位置为左上、中间、右下对角线分别为a、c、b,模式EO_3的像素点位置为右上、中间、左下对角线分别为a、c、b。
对于EO_0、EO_1、EO_2、EO_3模式,每个模式下又有4个类别,类别的分类可以通过表1得到。
表1 EO模式下的类别分类
类别 | 满足条件 |
类别1 | c < a && c < b |
类别2 | ( c < a && c == b ) || ( c < a && c == b ) |
类别3 | ( c < a && c == b ) || ( c < a && c == b ) |
类别4 | c > a && c > b |
对于BO模式,又可以分为32个类别,一般一个像素点由8比特(其值代表0-255)组成,我们通过把8比特等分乘32个类别,若一个像素点的值在0-7之间,则属于类别1,以此类推,若一个像素点的值在248-255之间,则属于类别32。
由此,通过一些统计信息,可以得到当前块Y分量在EO_0、EO_1、EO_2、EO_3、BO五种模式下各自的偏移量;Cb和Cr分量分别在EO_0、EO_1、EO_2、EO_3、BO五种模式下各自的偏移量。
通过式(1)进行模式判决,得到Y分量、Cb和Cr分量各自最优的模式。其中,Distortion(失真)为在某一模式下图像与原始图像之间的失真,λ(拉姆达)为一个常系数,Bitrate(比特率)为传输该模式及该模式下的偏移值所需要的比特率,Cost即为某一模式下的代价值。
(1)
本发明提出了一个基于Quarter-LCU(Y分量为32x32大小的像素点块,Cb和Cr分量为16x16大小的像素点块)为基本单元的硬件处理方式,其主要思路是采用以一个Quarter-LCU为一个基本单元进行处理的方法,这种处理方式可以有效的减少每一次处理片上所需要的存储单元。其处理的顺序如图2所示,大的方框为一个LCU,分为四个Quarter-LCU:Quarter-LCU_0,Quarter-LCU_1,Quarter-LCU_2到Quarter-LCU_3。处理的顺序依次从Quarter-LCU_0,Quarter-LCU_1,Quarter-LCU_2到Quarter-LCU_3进行。最终获得最优模式及其四个偏移量。具体步骤为:
(1)对Quarter-LCU_0的处理:式(1)中的Distortion通过式(2)获得:
(2)
其中,N为在符合某一模式下的某一类别的像素点的个数,offset为该类别的偏移量。
E可通过式(3)获得:
(3)
其中,C为属于某一模式下的某一类别的像素点的集合,s(k)为C集合中某一点位置的原始像素值,x(k)为与s(k)相对应位置的经过去方块滤波器以后的像素值。
offset可通过式(4)得到:
(4)
由于每个模式下的每个类别的偏移量都是基于一个LCU的,所以这里对于对Quarter-LCU_0的处理,主要获取该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值,将N和E值先保存。
(2)对于Quarter-LCU_1的处理:对于Quarter-LCU_1的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值。
(3)对于Quarter-LCU_2的处理:对于Quarter-LCU_2的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值
(4)对于Quarter-LCU_3的处理:对于Quarter-LCU_3的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值。
(5)获得最终的最优模式:将步骤1、2、3、4中得到的各个模式下各个类别的N和E值分别加起来,即为整个LCU各个模式下的各个类别最终的N和E值;通过上述获得的最终N和E值。另外,通过式(4)可以得到每个模式下每个类别的offset值。
① 获得Y分量、Cb和Cr分量BO模式下最终的4个偏移量
由于Y分量的BO模式有32个类别,根据标准只需要连续四个类别的offset,通过式(5)获得最优的四个偏移量,其中Distortioni(i=0,1,2,3)为四个连续类别的失真值,λ为以常数,Bitrate为传输该模式、起始类别及四个偏移量所需要的码流。由于BO模式一共有32个类别,可分为29种不同起始的连续四个类别,所以这29种不同起始的连续四个类别,通过式(5)进行比较哪种起始的Cost的值最小,即选择该起始的连续四个类别。Cb和Cr分量的BO模式下四个偏移量的值获取方式和Y分量类似。
② 获得Y分量、Cb和Cr分量各自的最优模式及其4个偏移量
对于Y分量有EO_0、EO_1、EO_2、EO_3、BO这五种模式需要判决,每个模式下有四个类别,每个类别有一个偏移量。通过式(5)可以判决得出,此时式中的Distortioni(i=0,1,2,3)为某一模式下四个类别的失真值,Bitrate为在该模式下传输所需的码流。通过比较这五种模式下哪种模式的Cost值最小,最优模式即为该模式,最终的四个偏移量即为该模式下的四个偏移量。Cb和Cr分量的最优模式判决以及最优模式下的四个偏移量的获取过程与Y分量类似。
(5)
本发明采用一种高效的适用于HEVC标准的编码器中SAO的硬件处理方法,可以有效的减少芯片的存储单元的面积,减小了硬件的开销。
附图说明
图1:HEVC视频编码器结构图。
图2:四种EO模式。
图3:基于Quarter-LCU处理的顺序。
具体实施方式
下面通过实例并结合附图,进一步具体描述本发明方法。
1.对Quarter-LCU_0的处理
式(1)中的Distortion通过式(2)获得,其中N为在符合某一模式下的某一类别的像素点的个数,offset为该类别的偏移量。E可通过式(3)获得,C为属于某一模式下的某一类别的像素点的集合,s(k)为C集合中某一点位置的原始像素值,x(k)为与s(k)相对应位置的经过去方块滤波器以后的像素值。offset可通过式(4)得到。
(2)
(3)
(4)
由于每个模式下的每个类别的偏移量都是基于一个LCU的,所以这里对于Quarter-LCU_0的处理,主要获取该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值,将N和E值先保存。
2.对Quarter-LCU_1的处理
对于Quarter-LCU_1的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值。
3.对Quarter-LCU_2的处理
对于Quarter-LCU_2的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值。
4.对Quarter-LCU_3的处理
对于Quarter-LCU_3的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值。
5.获得最终的最优模式
将步骤1、2、3、4中得到的各个模式下各个类别的N和E值分别加起来,即为整个LCU各个模式下的各个类别最终的N和E值。通过上述步骤获得的最终N和E值。
通过式(4)可以得到每个模式下每个类别的offset值。
(1)获得Y分量、Cb和Cr分量BO模式下最终的4个偏移量
由于Y分量的BO模式有32个类别,根据标准只需要连续四个类别的offset,通过式(5)获得最优的四个偏移量,其中Distortioni(i=0,1,2,3)为四个连续类别的失真值,λ为以常数,Bitrate为传输该模式、起始类别及四个偏移量所需要的码流。由于BO模式一共有32个类别,可分为29种不同起始的连续四个类别,所以这29种不同起始的连续四个类别,通过式(5)进行比较哪种起始的Cost的值最小,即选择该起始的连续四个类别。Cb和Cr分量的BO模式下四个偏移量的值获取方式和Y分量类似。
(5)
(2)获得Y分量、Cb和Cr分量各自的最优模式及其4个偏移量
对于Y分量有EO_0、EO_1、EO_2、EO_3、BO这五种模式需要判决,每个模式下有四个类别,每个类别有一个偏移量。通过式(5)可以判决得出,此时式中的Distortioni,(i=0,1,2,3)为某一模式下四个类别的失真值,Bitrate为在该模式下传输所需的码流。通过比较这五种模式下哪种模式的Cost值最小,最优模式即为该模式,最终的四个偏移量即为该模式下的四个偏移量。Cb和Cr分量的最优模式判决以及最优模式下的四个偏移量的获取过程与Y分量类似。
本发明采用一种高效的适用于HEVC标准的编码器中SAO的硬件处理方法,可以有效的减少芯片的存储单元的面积,减小了硬件的开销。
Claims (1)
1. 一种适用于HEVC标准的编码器中SAO的硬件处理方法,设Y为图像的亮度分量,Cb、Cr分别为Y对应的两个色度分量;式(1)为模式判决式:
(1)
由式(1)可得到Y分量、Cb和Cr分量各自最优的SAO(Sample Adaptive Offset)模式;其中,Distortion为在某一模式下图像与原始图像之间的失真,λ为一个常系数,Bitrate为传输该模式值及该模式下的偏移值所需要的比特率,Cost为该模式下的代价值;
设EO为边缘补偿,BO为条带补偿,EO和BO为SAO模式判决中的两种基本模式;EO模式下根据比较的相邻像素的不同位置,分为四种模式:EO_0、EO_1、EO_2、EO_3,设c为当前像素点,a和b为所需比较的相邻像素点,则模式EO_0 的像素点位置为自左至右为a、c、b,模式EO_1的像素点位置为自上至下为a、c、b,模式EO_2的的像素点位置为左上、中间、右下对角线分别为a、c、b,模式EO_3的像素点位置为右上、中间、左下对角线分别为a、c、b;
其特征在于:设Quarter-LCU为基本单元,该基本单元中,Y分量为32x32大小的像素点块,Cb和Cr分量为16x16大小的像素点块;一个LCU中分为四个Quarter-LCU:Quarter-LCU_0、Quarter-LCU_1、Quarter-LCU_2、Quarter-LCU_3;处理的顺序依次从Quarter-LCU_0,Quarter-LCU_1,Quarter-LCU_2到Quarter-LCU_3进行;具体步骤为:
(1)对Quarter-LCU_0的处理:式(1)中的Distortion通过式(2)获得,其中N为在符合某一模式下的某一类别的像素点的个数,offset为该类别的偏移量;E可通过式(3)获得,C为属于某一模式下的某一类别的像素点的集合,s(k)为C集合中某一点位置的原始像素值,x(k)为与s(k)相对应位置的经过去方块滤波器以后的像素值;offset可通过式(4)得到;由于每个模式下的每个类别的偏移量都是基于一个LCU的,所以这里对于Quarter-LCU_0的处理,获取Quarter-LCU_0区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值,将N和E值先保存;
(2)对于Quarter-LCU_1的处理:对于Quarter-LCU_1的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值;
(3)对于Quarter-LCU_2的处理:对于Quarter-LCU_2的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值;
(4)对于Quarter-LCU_3的处理:对于Quarter-LCU_3的处理过程与Quarter-LCU_0相同,保存该区域Y分量、Cb和Cr分量下每个模式下每个类别的N和E的值;
(5)获得最终的最优模式:将步骤(1)、(2)、(3)、(4)中得到的各个模式下各个类别的N和E值分别加起来,即为整个LCU各个模式下的各个类别最终的N和E值:
① 获得Y分量、Cb和Cr分量BO模式下最终的4个偏移量
Y分量的BO模式有32个类别,根据标准需要连续四个类别的offset,通过式(5)获得最优的四个偏移量;其中,Distortioni为四个连续类别的失真值,i=0,1,2,3,λ为常系数,Bitrate为传输该模式值、起始类别及四个偏移量所需要的比特率;BO模式一共有32个类别,分为29种不同起始的连续四个类别,这29种不同起始的连续四个类别,通过式(5)进行比较哪种起始的Cost的值最小,即选择该起始的连续四个类别;Cb和Cr分量的BO模式下四个偏移量的值获取方式和Y分量类似;
② 获得Y分量、Cb和Cr分量各自的最优模式及其4个偏移量
对于Y分量有EO_0、EO_1、EO_2、EO_3、BO这五种模式需要判决,每个模式下有四个类别,每个类别有一个偏移量,通过式(5)判决得出;此时,式中的Distortioni为某一模式下四个类别的失真值,i=0,1,2,3,Bitrate为在该模式下传输所需的比特率;通过比较这五种模式下哪种模式的Cost值最小,最优模式即为该模式,最终的四个偏移量即为该模式下的四个偏移量;Cb和Cr分量的最优模式判决以及最优模式下的四个偏移量的获取过程与Y分量类似;
(2)
(3)
(4)
(5)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310383897.6A CN103442238B (zh) | 2013-08-29 | 2013-08-29 | 一种适用于hevc标准的编码器中sao的硬件处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310383897.6A CN103442238B (zh) | 2013-08-29 | 2013-08-29 | 一种适用于hevc标准的编码器中sao的硬件处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103442238A CN103442238A (zh) | 2013-12-11 |
CN103442238B true CN103442238B (zh) | 2018-02-23 |
Family
ID=49695898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310383897.6A Active CN103442238B (zh) | 2013-08-29 | 2013-08-29 | 一种适用于hevc标准的编码器中sao的硬件处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103442238B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104735460B (zh) * | 2013-12-24 | 2018-04-06 | 珠海全志科技股份有限公司 | 视频图像采样点自适应偏移处理方法及装置 |
CN105409221B (zh) * | 2014-04-29 | 2020-03-06 | 微软技术许可有限责任公司 | 用于样本自适应偏移滤波的编码器侧决策 |
CN104219520B (zh) * | 2014-09-10 | 2018-11-20 | 华为技术有限公司 | 确定图像补偿模式的方法和装置 |
CN105306940B (zh) * | 2015-10-27 | 2019-10-18 | 中星技术股份有限公司 | 一种视频编解码样值偏移补偿中边界补偿模式处理方法 |
CN106817583B (zh) * | 2015-12-02 | 2020-01-10 | 福州瑞芯微电子股份有限公司 | 一种hevc sao计算方法和装置 |
CN105554507B (zh) * | 2016-03-01 | 2018-10-02 | 福州瑞芯微电子股份有限公司 | 一种hevc sao硬件计算装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9955153B2 (en) * | 2012-01-05 | 2018-04-24 | Google Technology Holdings LLC | Devices and methods for sample adaptive offset coding |
US9161035B2 (en) * | 2012-01-20 | 2015-10-13 | Sony Corporation | Flexible band offset mode in sample adaptive offset in HEVC |
-
2013
- 2013-08-29 CN CN201310383897.6A patent/CN103442238B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103442238A (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103442238B (zh) | 一种适用于hevc标准的编码器中sao的硬件处理方法 | |
TWI529664B (zh) | 畫像編碼裝置及畫像解碼裝置 | |
CN104054344B (zh) | 对色度数据进行解块以用于视频译码 | |
US20200077094A1 (en) | Methods and apparatus forpicture encoding and decoding | |
KR102323427B1 (ko) | 영상 부호화 방법 및 장치 | |
US20210120266A1 (en) | Method and device for intra-prediction | |
US11930215B2 (en) | Multiple neural network models for filtering during video coding | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
WO2013067435A1 (en) | Differential pulse code modulation intra prediction for high efficiency video coding | |
CN103442229B (zh) | 适用于hevc标准的编码器中sao模式判决的比特率估计方法 | |
KR20140048885A (ko) | 화상 처리 장치 및 방법 | |
KR20150014981A (ko) | 동영상 부호화 장치, 동영상 복호 장치, 동영상 부호화 방법 및 동영상 복호 방법 | |
AU2020297260B2 (en) | Apparatus and method for filtering in video coding | |
US11962803B2 (en) | Method and device for intra-prediction | |
CN105306957A (zh) | 自适应环路滤波方法和设备 | |
CN107258081A (zh) | 对使用非正方形分割编码视频数据的优化 | |
US20220215593A1 (en) | Multiple neural network models for filtering during video coding | |
CN103491372B (zh) | 一种适用于hevc标准的去方块滤波器的滤波方法 | |
KR20230129015A (ko) | 비디오 코딩 동안의 필터링을 위한 다수의 신경망 모델들 | |
KR20170125154A (ko) | 곡선 화면 내 예측을 사용하는 비디오 복호화 방법 및 장치 | |
CN116918331A (zh) | 编码方法和编码装置 | |
CN103442230B (zh) | 适用于hevc标准的编码器中sao模式判决的拉格朗日乘子取值方法 | |
CN107343199B (zh) | 用于hevc中样点的快速自适应补偿方法 | |
Shukla et al. | Area efficient dataflow hardware design of SAO filter for HEVC | |
CN103402101A (zh) | 基于边界平滑度的avs环路滤波快速算法 |
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 |