0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带有环路滤波的HEVC视频解码器的结构和应用实例分析

电子设计 来源:电子工程网 作者:电子工程网 2021-03-19 09:52 次阅读

1.0 引言

高效视频编码(HEVC)是H.264/MPEG-4 AVC(高级视频编码)的一种升级版视频压缩标准(即ISO/IEC 23008-2 MPEG-H第2部分和ITU-T H.265)是由ISO/IEC动态图像专家组(MPEG)和ITU-T视频编码专家组(VCEG)共同编写的。与业界标准H.264相比,HEVC能够以几乎同样的视频质量实现半比特速率,并且有望在视频应用中得到广泛运用,其中包括:手机、广播、机顶盒、视频会议、视频监控、车载等。

下图显示了带有环路滤波的HEVC视频解码器结构图,突出显示的即为环路滤波。如图所示,它是一个可去除视频编码过程中块效应的两个级组成的级联,即去块效应滤波(DBLK)和采样自适应偏移(SAO)滤波。接下来的两部分内容将详细描述这个级。

图1 HEVC视频解码器结构图

2.0 去块效应滤波(DBLK)

本部分将阐述去块效应滤波,如HEVC视频标准[1]所述。去块效应滤滤器运行可大体可分为两部分:

1. 滤波器边缘上的边界滤波强度(aka BS)计算

2. 滤波器的实际运行

纵观整个去块效应滤波器运行,本文献采用了以下惯例:Q像素位于“纵向”滤波器的右侧,P像素位于“纵向”滤波器左侧。同样,Q属于“横向”滤波器边缘下方的像素,P属于“横向”滤波器边缘上方的像素。

图2 环内去块效应滤波中称为惯例的相邻像素

2.1 滤波器边缘强度(aka BS)

边界滤波强度[hor/ver][xpos][ypos]计算是在一个8x8网格上完成的,取值0、1、2,如下图所示:

虽然在8x8网格的每个像素边缘上都有滤波器(8x8结构包括4像素边缘),但就一个4像素段的所有像素而言,边界滤波强度计算的属性可以被组合。就强度计算而言,我们假设每个4像素段作为一个级。请注意,边界滤波强度计算取决于当前、左侧和顶部LCU LCUinfo。

图3 边界滤波强度(BS)结构图,在8x8网格中显示了边缘及其编号

2.1.1 边界滤波强度功能概述

边界滤波强度计算是在一个8x8网格上完成的,设置图片为0,且分片边界(slice boundarie) (if loop_filter_across_slice_enabled_flag = 0),Tile边界(loop_filter_across_tile_enabled_flag = 0)。

只有8x8像素边界经过滤波,即预测单元(PU)和/或转换单元(TU)边界,滤波过程如下。

图4 PU和TU部分的边界滤波强度(BS)与边缘调谐

边界滤波强度推导规则:

感兴趣的读者可参见HEVC规范,了解以下内容:

1. 边界滤波强度的TU边界滤波强度推导:8.7.2.1章节

2. 边界滤波强度的PU边界滤波强度推导:8.7.2.2章节

3. 边界滤波强度推导:8.7.2.3章节

2.1.2 色度边界滤波强度推导

只有8x8色度像素网格上的PU和/或TU边界得到滤波。色度边界滤波强度值源自亮度边界滤波强度值。就色度滤波器4:2:0 (q0, p0)采样而言,从相应的(2q0, 2p0)亮度采样(即BS{Hor/ver}[xpos/2][ypos/2]图中的2因素下行采样)获取边界滤波强度。

图5 色度边界滤波强度映射:匹配到8x8网格然后除以2

2.2 滤波器运行

该部分将阐述去除HEVC视频标准中特定块效应的实际滤波。

2.2.1 滤波器的阶数

就HEVC而言,规定的滤波器阶数为帧级(不是LCU级),如下所示:

1. 在整个帧处理过程中,对所有块的竖向边缘都进行了H滤波。

2. 在整个帧处理过程中,对所有块的横向边缘都进行了V滤波。

滤波是完全独立的8x8滤波段,如图6所示:

图6 8x8块级独立滤波

是否需要亮度/色度(开启/关闭判定)滤波、滤波级别(弱滤波/强滤波)以及最终的实际滤波运行将在下面章节阐述。

2.2.2 亮度滤波器开启/关闭以及弱/强滤波的判定

滤波器开/关判定和亮度强/弱判定是根据上图所示的四个行列段进行的。

如果边界滤波强度等于0,则按顺序进行以下步骤:

qPL= ((QPP+QPQ+1)》》1), QPP 和 QPQ 为亮度 QPs

β = BETA_TABLE[Clip3(0,51,qPL+(beta_offset_div2》2)) && ( |p3,0- p0,0| + |q3,0- q0,0| 》3)) && ( | p0,0- q0,0| 》1))) dSam0 = 1

If ( (2*dpq3 》2)) && ( |p3,3- p0,3| + |q3,3- q0,3| 》3)) && ( | p0,3- q0,3| 》1))) dSam3 = 1

如果 (dSam0 ==1 && dSam3 ==1) dE = 2 (strong filter); 其他 dE = 1 (弱滤波);

如果 (dp 》1))》》3) ) dEp = 1 //对滤波采样的数量进行弱滤波

If (dq 》1))》》3) ) dEq = 1 //对滤波采样的数量进行弱滤波

图7 去块效应滤波中滤波开/关以及滤波强度判定中的像素使用

表1 qp、tc和β(BETA_TABLE和TC_TABLE)之间的关系

2.2.3 亮度强滤波以及弱滤波

2.2.3.1 亮度强滤波机制

4像素部分共享同一个判定(dE, dEp, dEq)

如果(dE == 2),则进行强滤波以修改每端的三个像素

p0‘ = Clip3( p0?2*tc, p0+2*tc, ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) 》》 3 )

p1’ = Clip3( p1?2*tc, p1+2*tc, ( p2 + p1 + p0 + q0 + 2 ) 》》 2 )

p2‘ = Clip3( p2?2*tc, p2+2*tc, ( 2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) 》》 3 )

q0’ = Clip3( q0?2*tc, q0+2*tc, ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) 》》 3 )

q1‘ = Clip3( q1?2*tc, q1+2*tc, ( p0 + q0 + q1 + q2 + 2 ) 》》 2 )

q2’ = Clip3( q2?2*tc, q2+2*tc, ( p0 + q0 + q1 + 3*q2 + 2*q3 + 4 ) 》》 3 )

图8 亮度DBLK滤波和边缘周围像素点的使用

2.2.3.2 亮度弱滤波机制

4像素部分共享同一个判定(dE, dEp, dEq)

如果(dE == 1),则进行弱滤波以修改每端的一个或二个像素

D = (9*(q0– p0)-3*(q1–p1)+8)》》4

如果 (aBS(Δ) 》1),tc》》1,(((p2+p0+1)》》1)–p1+Δ)》》1)

p1’ = Clip1Y(p1+Δp)

if dEq等于1,则滤波采样值q1’规定如下:

Δq = Clip3(-(tc》》1),tc》》1,(((q2+q0+1)》》1)–q1–Δ)》》1)

q1’ = Clip1Y(q1+Δq))

2.2.4 色度滤波

只有8x8色度像素网格上的PU和/或TU边界得到滤波

边界滤波强度源自亮度(对每个方向进行2因素下行采样)(请参见色度边界滤波强度推导小节)

qPI = ( (( QPQ + QPP + 1 ) 》》 1) + cqp_offset ), 其中此处的cqp_offset分别代表组件Cb/U和Cr/V的pic_cb_qp_offset和pic_cr_qp_offset。

下表的qPI包括了qPC

图9 色度DBLK滤波和边缘周围像素点的使用

表2 QPc向qPi转换

tc = TC_TABLE[Clip3(0,53,qPC+2*(BS-1)+(tc_offset_div2 1时,则Chroma滤波器将被开启

Δ = Clip3(-tC,tC,((((q0–p0)》3))

p0’ = Clip1C(p0+Δ)

q0’ = Clip1C(q0-Δ)

3.1.3 边界条件处理

需要条件处理的有三种条件:

1. 图像边界(上、下、左、右)

2. 分片边界以及slice_loop_filter_across_slices_enabled_flag = 0。跨跃分片滤波适用于给定分片边界的左侧和上侧边缘(并非所有方向)

3. 瓦片边界和loop_filter_across_tiles_enabled_flag = 0

在上述情况中,分片边界沿线的像素未被处理,具体取决于SAO类型。

就BO而言,所有像素都将被处理。

就EO而言,像素有效性将根据SAO类型进行,如果在边界条件下像素无效,其将跳过进行处理(即0漂移)。

下图对边界条件处理进行了描述。

图14 SAO解码器的边界处理实例

3.1.4 条件处理

在下列条件时,SAO滤波将关闭。

SAO类型idx = OFF

CU类型 = PCM且环路滤波器被描述为PCM类型

CU类型 = TQBypss(无损耗)

限幅电平SAO = OFF

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机顶盒
    +关注

    关注

    4

    文章

    386

    浏览量

    54094
  • 手机
    +关注

    关注

    35

    文章

    6860

    浏览量

    157477
  • 视频监控
    +关注

    关注

    17

    文章

    1708

    浏览量

    64922
收藏 人收藏

    评论

    相关推荐

    HV206多制式梳状滤波视频解码器电子资料

    概述:HV206是一款多制式梳状滤波视频解码器,该芯片为NTSC/PAL/SECAM等多制式视频解码加YCbCr分量输入以及2.5v/3.3
    发表于 04-21 07:11

    i.MX8M Plus可以同时对多少视频流进行HEVC/H.265编码?

    高清视频编码解码器压缩多个视频源,用于云流或本地存储,并提供丰富的用户体验3D/2D 图形,以及带有 Dolby Atmos® 和 D
    发表于 03-24 07:29

    mpeg-2视频解码器下载

    mpeg-2视频解码器 1.1版
    发表于 09-28 15:59 1112次下载

    AMD 系列显卡AVIVO视频解码器10.7版

    AMD 系列显卡AVIVO视频解码器10.7版
    发表于 08-27 16:01 0次下载

    液晶电视视频解码器基础讲解

    液晶电视视频解码器基础讲解[1] LCD TV的硬件结构 视频解码器 视频码流的路径 .
    发表于 08-27 17:35 181次下载

    AMD系列显卡AVIVO视频解码器

    AMD 系列显卡AVIVO视频解码器 安装程序
    发表于 09-25 10:03 50次下载

    GIF文件结构解码器

    GIF文件结构解码器
    发表于 05-24 10:53 2次下载

    视频解码器领域的大师,在NAB2015展会上展示多种视频解码器IP

    屏幕视频演示,演示了基于FPGA的视频解码器在各种Xilinx FPGA评估包上的运行情况,包括: 运行在Artix-7 FPGA上的HDp60 HEVC
    发表于 02-09 04:46 353次阅读

    什么是视频解码器_有什么用

     视频解码器是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。 专业级视频解码器IRD2600是一种可根据用户特殊应用而“量身定做的”
    发表于 03-22 15:23 3w次阅读

    ADC/DAC 与TI 视频解码器的介绍及其应用

    TI 视频解码器和 ADC/DAC 产品及其应用
    的头像 发表于 06-12 14:35 4357次阅读

    CoreEL 4K AVC长GOP解码器的基本介绍

    Ravi C.S.描述了Xilinx Kintex-7器件上的CoreEL 4K AVC长GOP解码器,4K AVC帧内编解码器,音频 - 视频解码器模块和
    的头像 发表于 11-28 06:05 3093次阅读

    视频解码器是什么,编解码器技术原理作用

    一、什么是视频解码器 视频解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。压缩和可能改变
    的头像 发表于 06-24 19:02 1.4w次阅读

    视频编码包括什么?视频解码器是如何工作的?

    视频编码包括什么,视频解码器是如何工作的?我们将在下面深入挖掘,并涵盖我们的流媒体最佳视频解码器列表。
    的头像 发表于 04-21 10:42 2576次阅读

    什么是视频解码器?

    从定义上来说,视频解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。 这么说你可能有些模糊,总的来说,监控系统视频解码器
    的头像 发表于 05-06 11:10 5240次阅读
    什么是<b class='flag-5'>视频</b><b class='flag-5'>解码器</b>?

    视频编码解码器的应用方案

    视频解码器视频编码在数字通讯、音视频压缩领域有着广泛的应用。视频编码
    的头像 发表于 08-14 14:38 1316次阅读
    <b class='flag-5'>视频</b>编码<b class='flag-5'>器</b>与<b class='flag-5'>解码器</b>的应用方案