官方服务微信:dat818 购买与出租对接

AVS最新视频压缩标准感知无损压缩的全面介绍与应用场景解析

3万

主题

2

回帖

9万

积分

管理员

积分
99613
发表于 3 小时前 | 显示全部楼层 |阅读模式
    深感荣幸能在此与各位分享AVS最新推出的视频压缩规范——感知无损压缩技术。正如其名,感知无损着重于确保压缩后的图像质量无损。起初,这一技术被命名为轻压缩,与重压缩形成对比,着重指出其在编解码过程中的计算复杂度相对较低。随后,考虑到其效果,人们又将其更名为浅压缩,与深压缩相对,更突出其较低的压缩比率。在标准草案即将完成之际,AVS标准小组内部形成共识——即所谓的PLC,也就是感知无损压缩技术,这一技术着重于提升视频压缩后的画质水平。

    今日,我将对应用领域及需求分析、AVS PLC标准的概览、高效并行处理技术、基础编码工具的使用、CVR码控制与品质提升策略以及未来发展趋势等六个方面进行详细阐述。

    -01-

    应用与需求

    浅压缩技术主要应用于显示接口和内容制作领域。通常情况下,H.265和AVS系列压缩技术并未涉及这两个场景。显示接口涵盖了如HDMI、DP等类型,既包括有线也包括无线传输方式。这些接口的共同点是带宽十分宽裕,因此对画质的无损性提出了要求。在这些接口上传输的内容均达到了数字无损的画质标准,确保了内容的零失真。

    既然质量这么好,为什么还要压缩呢?

    以DP1.4规范为参照,其具备的带宽为,在此带宽范围内,若不进行任何压缩直接传输信号,则能够传输一路每秒60帧的4K视频。然而,若需传输每秒60帧的8K视频,现有的物理信道将无法满足需求。针对这些挑战,一种解决方案是进一步扩大物理信道的宽度,增加线的粗细,但这种方法并不十分便捷,因为线加粗后可能就无法弯曲。另一种途径是采取压缩技术,降低对物理带宽的依赖,这被称为接口压缩。在内容制作环节,一般由专业的前端摄像机捕捉yuv或rgb格式的信号,随后传输至媒体工作站进行内容编辑,整个过程均依赖于磁盘文件,而磁盘的读写操作成为了制约效率的关键瓶颈。目前所采取的方案是在信号抵达媒体工作站后,将其转换成一种便于编辑的特定格式,该格式需确保为单张图片的编解码过程,并严格禁止图像间的预测编码。因此,在完成每张图片的编辑后,其内容便可以立即进行存储。

    技术需求方面,浅压缩与深压缩存在显著差异。浅压缩处理的内容不仅会直接呈现在屏幕上,而且还会在后台执行域编码操作,以此作为原始数据源。此外,这类内容的色彩格式通常采用RGB等高保真度格式。

    标准中对于浅压缩的色彩位深支持8至16比特。此外,它还兼容信号和视觉的无损处理。浅压缩的典型压缩比率在3至10倍之间,这一点与视频分发领域存在显著差异。在执行H.265编码过程中,以1080p为例,其码率通常介于2兆至4兆之间,这已属于非常高的视频质量。典型的压缩比例高达200:1,有时甚至可以达到500:1,这被称作深度压缩或重度压缩。从这个数据中,我们可以清楚地观察到,即便采用浅层压缩,其最终的码率也往往能达到百兆甚至千兆级别。

    另一个显著的不同点在于,浅压缩对延迟的要求极为严苛,尤其是对接口压缩的延迟,需达到行级水平。此外,它还必须具备高并行处理能力。浅压缩的信号标准相当严格,对于这类内容的实时信号处理,并行化处理是必不可少的。另外,值得一提的是,由于浅压缩在成本考量及特定场景下的实用性方面有所考虑,因此在制定标准的过程中,本身就内置了码控算法。随机访问,正如之前所述,无论是制作域还是接口,都需实现单张图片的随机读取。在低复杂度方面,显示接口和内容制作领域存在一定差异。内容制作对成本的要求较为宽松,这主要是因为其编解码器的实现大多依赖于工作站上的软件。工作接口的标准实现主要在芯片上完成,这些芯片将被广泛应用于各类消费电子产品中。由于成本控制极为严格,标准制定时必须对算法的复杂性进行限制。此外,在内容制作环节,还有一个特别的要求,即在编码多次迭代的过程中,必须避免出现明显的质量下降。

    -02-

    AVS PLC标准概述

    在2021年8月的会议中,我们正式提出了对标准的具体要求。在此之前,AVS标准组未曾就浅压缩领域设立过标准,国内同样缺乏此类标准。因此,在制定标准过程中,我们细致地分析了各类应用的具体需求,并提出了包括采用定比特率压缩而非定比压缩、实现像素行级延迟、明确码控模型以及区分显示接口与制作域的技术需求等四个方面的具体要求。

    随后,我们获得了两份技术方案征集通知,这两份方案均展现了出色的创新尝试。然而,在评估过程中,我们识别出了一些需解决的问题。我们原先设定的标准与码控技术紧密相连,但收到的方案中却缺少了码控相关内容。此外,方案还需考虑到硬件的限制,以确保能在低成本接口芯片上得以实施。针对这些问题,我们组建了浅压缩专题小组,并采用“云封闭开发”模式进行协作。

    标准的制定可以分为如下几个阶段:

    在2022年3月,工作重心转向了降低边解码器的成本。到了6月,我们成功改进了基础的编码控制算法,并推出了一个适用于恒定比特率(CBR)的编码控制模型。随后,我们继续对硬件流水线方案进行了进一步的优化。

    至2022年年末,公司再度对成本进行了一次优化调整,力求在行业内打造出最为出色的低成本解决方案。

    在2023年三月,对扩展测试中暴露出的质量问题进行了技术层面的深入讨论和归纳总结。随后,四月,我们成功制定了相关标准,并正式发布了FCD版本。

    评估过程中选用了极具高标准的图像资料,涵盖了RGB色彩模式以及两种不同格式,其中主要针对的位深是8比特和10比特,而16比特的评估则在后续阶段得到了全面而深入的考察。

    内容可以被划分为两大类别,一类涉及摄像机捕捉到的自然环境画面,另一类则是通过计算机技术创造出来的内容。在具体的评估过程中,我们参照了特定的标准,该标准由两个主要部分组成:一是采用交替闪烁的方式进行评估,二是采用并排对比的方式进行评估。

    交替闪烁检测技术涉及将编码前后的图像以每秒8次的频率轮流展示,若观测到闪烁现象,则表明图像的画质未能达标。这种标准相当苛刻。然而,在实际应用中,我们往往无法直接观察到编码前的图像,因此,并排对比法成为了更普遍的选择。此法涉及将相同内容分别显示于两个屏幕或一个屏幕的两侧,以便观众同时观察,并能够识别出失真区域,即交替闪烁法中闪烁的部分。若观众未能察觉,则需进行测试。进行测试时,对测试所用的设备有着特定的要求。需先核实显示器及播放器材是否兼容高比特位深,同时确保显示接口对图像传输未进行任何加工,若仍觉不安,则可借助灰阶测试图来检验其是否具备高位深显示功能。

    在实践操作中观察到,无论是8比特的显示屏还是10比特的显示屏,一旦出现失真现象,采用交替闪烁法对其失真程度进行检测的结果均保持一致。鉴于此,在后续的标准制定阶段,为了简化流程并吸引更多单位参与,决定统一采用8比特的显示器进行所有测试工作。

   


    今年四月,AVS标准组在鹏城实验室举办了一场详尽的测试活动:该测试采用了27张图片,这些图片既包括相机拍摄的,也包括计算机生成的,涵盖了RGB等多种格式。经过对数据的筛选与分析,结果显示,在27条测试内容中,有25条成功通过了闪烁测试,而全部27条均顺利通过了并排对比测试。

    在完成对PLC标准方案的画质通过性评估之余,我们还将其与业内的DSC规范进行了相应的对比分析,具体评估结果已详细呈现于左下角的表格之中。

    这是一张典型的架构图。当整个图像被传输进来时,会先进行切片处理。因为块的高度决定了缓存中行数的多少,所以我们将它们划分为16*2尺寸的CU。此外,尽管规范文本中包含了DCT变换模块,但为了实现低成本的目标,我们在接口和帧存两个级别上都关闭了DCT。

    -03-

    高性能并行处理机制

    底层并行是指三个分量并行进行熵编码和熵解码的操作。

    视频编解码环节中,熵编码环节尤为关键,成为制约性能提升的瓶颈。为突破这一瓶颈,实现8k分辨率60帧或120帧的实时编解码,必须对视频的不同部分进行并行处理。具体而言,需将每个分量的压缩数据流单独封装,确保每个部分配备独立的熵编码与解码模块。此外,还需通过子流交织技术,确保三个分量的同步运行。

    右上角展示了子流片的布局格式。该子流片的尺寸与处理图像的位深紧密相连。以16*2的CU为例,其包含10比特信息,经32倍放大后,原始数值达到320比特。此外,还需额外增加16比特的头部开销。在数据传输前,会附加一个2比特的数据头,该头信息能够明确指出子流片所属的YUV分量,便于解码过程中的识别。在图像输入编码端后,将产生YUV三个分量的语法单元。这些单元在等待进行熵编码处理时,会被分配至相应的熵编码器。完成编码后,它们会被组合成子流片段。随后,这些子流片段被存入各自分量的位流缓冲区。在统一机制的作用下,这些子流片段被交织在一起,最终形成单一的码流。该码流随后传递至解码端,以确保各分量同步,避免出现任何错误。解码端在接收到单一码流后,首要任务是进行交织处理,随后,将三个分量所对应的子流片逐一放入各自的缓冲区,进行解码操作,最终获得重建的像素。

    YUV的三个组成部分,亦或是RGB经过转换成YCOCG后,其信号复杂度存在差异。其中,Y分量在编码过程中较为复杂,一个编码块处理后的Y分量与UV分量的子流片段数量往往极不均衡。为此,通过在编码端实施子流交织策略,可以确保解码端能够同步获取到同一编码块的三个分量的编码信息。编码端会依据YUV三个分量的难度程度来设置缓冲,从而确保解码端无需进行任何额外的缓冲操作。

    高层并行处理更为直观,即在获取图像后,将其分割成若干矩形块——称为slice。这些slice之间能够实现并行编码,其核心是一个具有伸缩性的架构。当视频规格提升,比如从4K升至8K,从30帧提升至60帧,若要支持更高级别的规格,在硬件设计阶段,只需增加更多的处理单元或硬件核心即可。

    特别值得一提的是,只有当条带在水平方向上并排排列时,才能实施并行处理。其根本原因在于,硬件在处理图像时是逐行逐行地处理像素的。解码端必须确保在解码完一行或两行后立即进行输出。需要注意的是,这一行可能属于不同的slice,比如和,此时便需采取一些特别的措施。存在一种简便的操作方式,即每行进行一次切片处理,这种方法虽可行,但切片之间缺乏空间预测能力,导致压缩效果极差。因此,仍需设定一个较大的切片尺寸。此外,每当编码完一个高度为2的块行后,还会进行码流的交织操作。接收端必须配置用于存储slice块行数据的位流缓冲区,以确保能够将和的第1行数据同步发送至多个独立的硬件核心进行解码。这种设计与硬件的关联性极为紧密。

    -04-

    底层编码工具

    基础工具大致可分为两大类,一类是普遍使用的编程辅助工具,另一类则是用于异常情况处理的工具。

    常规编码设备主要用于实现基本的压缩效果。考虑到成本因素,我们挑选了三种设备。首先,块预测技术主要依据上一行的像素信息,以及左侧重建的像素,来预测方向性的角度。这一技术的优点在于具备极高的并行处理能力,框内所有像素都能同时得到预测结果,但在纹理复杂变化区域则难以实现良好的匹配。右上角的预测点能够有效应对这类复杂纹理的图像处理。每个像素点都独立完成预测、残差编码与重建任务,第一个像素点的重建结果随后被用于预测紧邻的第二个像素点。这种方法的预测效率极高,然而却存在一个极其严重的缺陷,那就是其硬件性能表现极差。我们实施了一系列限制措施,规定在处理某个区块内的所有像素时,必须确保需要依次处理的像素数量不超过三个。具体操作是,首先对偶数列进行预测,利用黄色像素点来预测该区块第一行的像素;在获取第一行像素信息后,接着预测下一行的像素,即第二行;完成这两次预测后,再通过左右方向的预测来处理和编码所有奇数列的像素点。块复制是最后一个工具,其核心功能是针对屏幕内容的处理。该工具处理的众多内容中,很大一部分源自计算机自动生成,例如办公软件中的Word文档、Excel表格等,其中包含的文字、表格边框等元素。这些内容的显著特点是边缘极为锐利,高频信息极为丰富,且具有很高的重复性。采用2×2块为单位进行复制操作,效果显著,尤其在典型内容处理上,其压缩效率远超块预测与点预测。将三个常规工具整合运用,为压缩效率提供了坚实的基础保障。

    有两种异常处理手段,第一种是原始值模式,即PCM模式,其主要目的是为了遏制编码的膨胀现象。在特定情境下,若预测编码导致编码后的比特数超过了直接对原始值进行编码的比特数,此时便需采取回归原始值编码的措施。第二种则是回退模式。由于我们引入了CBR码控技术,其核心在于确定QP值,而编码产生的比特数与预期目标存在一定的偏差,即无法达到完美的比特级精确。因此,必须设立一种机制,以确保压缩比特被严格限制在某个阈值以内,防止数据溢出。这种回退模式主要起到保障作用。

    在实施过程中,我们察觉到16x2的预测模块在纹理内容发生显著变化的情况下,其适配效果并不理想。经过持续的研究与尝试,我们意识到,若将预测细化至子块级别,便能有效地克服这一难题。

    为此,我们研制了数种算法:首当其冲的是一种直接将数据分割成更细小的子块的方法,每个子块单独执行DC预测,这种做法确实有效降低了主观失真;其次,我们还采用了子块DC补偿的策略。编码一旦完成,若其平坦区域的表现不尽如人意,可以采取相应的补救策略。在4×2或8×1的层面上,额外传输原始值与当前重建值之间的差异。经过这样的补偿,效果显著提升,编码质量得以大幅提高,堪称上乘。

    在众多典型的图像中,文字周围的背景通常是平滑的,然而文字本身的结构却极为繁复,处理时往往需要采用区块复制的手段。若能对文字间的间距进行空间预测,比如垂直方向的预测,那么就能有效减少文字间水平方向上的条状失真。位于右上角的子块插值预测,则是为了应对一种虽不常见但对画质影响显著的状况。若编码块中的所有预测手段均无法奏效,比如该编码块为一片平坦区域,而上下左右均充斥着噪声,便难以获取有效的预测数值,那么在这样平坦的区域内,可能会出现人眼可辨的编码失真现象。针对此问题,我们可以采取直接编码整个块的直流分量(DC值),随后再对块内每个像素与直流分量之间的差值进行编码。在此操作模式中,当前的图像区块独立进行编码,并不依赖于左侧及上方的像素信息。将所有模式综合运用,即便是在一些极其微小、极易被忽视的区域,尤其是那些特别敏感的平坦地带,也能展现出出色的处理效果。

   


    即便预测效果不尽如人意,只要采用极小的量化补偿措施,其主观感受仍可接受,只需额外增加些许比特即可。然而,这无疑对量化机制提出了更高的要求,它必须能够实现极其精细的调整。

    与常规标准有所区别,我们的标准采纳了向右移动的量化方法。以AVS为例,AVS2和AVS3采用的是分数量化技术。每当量化参数QP提升8个单位,量化步长便会翻倍。在精细调整量化操作时,一般涉及乘法和右移两个步骤。然而,频繁进行高效处理对硬件而言是一项重大挑战。因此,我们决定取消乘法步骤,将量化过程简化为单纯的右移操作。不使用乘法,量化步长便成了持续加倍的q step。量化存在多个级别。在编码阶段,CU级量化会依据块的复杂程度进行评估。它会对亮度和色度进行单独分析,以确定其所属的复杂度等级,进而计算出相应的QP值。QP值的推导是在编码和解码两端同步进行的,这一点与传统编解码标准有所区别。在遵循传统分块域压缩规范的过程中,量化参数QP是在编码环节计算得出后,再传递至解码环节。除了CU层面设定的基本QP外,针对每个2×2的子块,我们还能够实施进一步的调整。依据对当前子块所参照纹理复杂度的分析,若认定该子块相对较为平坦,则会在CU QP的基础上额外减少1或2个单位,以实现更高品质的编码;反之,若子块较为复杂,则保持CU QP的数值不变。

    子块量化之外,尚有逐点量化,此方法系针对前述点预测组合技术而设计。若某一点之残差显著,则表明该区域预测难度较高,QP需相应增加以应对;相对地,若残差较小,则表明该区域易于预测,属于较为平坦的区域。对于平坦区域,应予以重点保护,并需适当降低QP值。

    系数编码的关键在于对每个系数分组实施半固定长度编码。由于高性能处理中无法实现可变长度编码,导致处理效率无法满足需求。半固定长度编码会在系数组内的残差中查找共同的码长,并将这一信息传递至编码块的头部信息中。通过使用相同的长度对系数组内所有残差进行固定长度编码,显著提高了熵编码的性能。

    RDO计算在编码环节中扮演着重要角色。特别需要强调的是,鉴于我们采用的是CBR码控技术,为确保数据不发生溢出,我们在选择RDO时更倾向于采用低比特率。RGB图像内容在编码前会被转换成YCoCg格式。

    在并行处理高层时,必须对矩形的slice进行并行化处理。图像的宽度与高度均需与CU的16×2尺寸对齐。这种对齐方式是大家所熟知的。具体来说,存在两种对齐方式:一种是在图像的右侧进行对齐,其优势在于处理复杂度较低,然而编码结果可能存在不均衡的问题。在每个slice的右侧进行操作,这一做法有助于解决编码不均衡的难题,然而,它也引出了新的挑战——即每个硬件的核心均需进行填充处理,从而导致了成本的增加。标准中对此提供了两种解决方案,供大家根据实际需求进行选择。

    -05-

    CBR码控与质量优化

    该图展示了H.264标准所阐述的漏桶模型,在编码一个区块的过程中,会将编码后的比特流输出至码控模块,并经过比特率的平滑处理。考虑到区块的复杂度是持续变化的,既有噪声密集的复杂区域,也有相对简单的平坦区域,因此在以固定速率处理完每个区块后,实际进入码率的数值是呈现波动状态的。

    码控系统包含两个关键输入,首先需确定当前编码块是复杂还是简单,其次要判断该块是处于空置状态还是已满。其输出结果为亮度与色度分量的量化参数(QP)。其核心在于对图像编码过程中,前一个编码块及其之前所有块的整体编码难易程度进行评估。自然,仅有这些资料尚显不足,待所有前述模块处理完毕后,我们将对模块的复杂程度进行初步的划分,将其归类为五个不同的复杂度级别。每个级别都将配备相应的预测编码比特,这样一来,我们便拥有了更为详尽的信息,有助于对当前模块实施更优化的码率规划和分配。

    码控对最终压缩效率的提升作用可高达10%,有时甚至超过20%,因此对码控的优化也是必不可少的。在最初分析区块时,需要判断该区块是复杂还是简单。而复杂与简单的界定,并不仅仅是基于纹理的复杂程度,实际上,复杂与简单可以理解为易于编码与难以编码的代名词。即便某些区块在视觉上显得复杂,只要能够将其编码成较小的区块,它依然可以被视为一个简单区块。因此,我们设立了一个标准,若某屏幕上的内容便于通过块复制进行有效压缩,便将其归类为简单块。此类操作对提升内容质量具有显著效果。

    在整体码控过程中,平坦区尤为关键。尤其是在复杂地带,中间的平坦区域往往处理起来最为棘手。在处理这些区域时,我们会先评估当前区域是否已满载,若未满载,即便是相对简单的信息,也会为其分配更多的比特,以确保区域质量。在实施上述码控优化措施后,复杂地带中间平坦区域的质量得到了显著提高。

    码控的初始阶段,设置了一个延迟,目的是为了在内部逐步积累足够的初始比特。通过这种方式,在随后的CBR传输过程中,可以有效防止下溢问题的出现。即便出现下溢,相关标准也提供了下溢填充的应对措施。码控的运行依赖于充溢度这一参数。然而,在slice的起始和结束阶段,实际水位与码控所需的水位并不相符。这两个区域必须通过调整虚拟的充溢度来进行编码控制。编码过程高度依赖于上方的像素行信息,一旦上方的像素行信息无法获取,编码压力将显著增大。在这种情况下,必须为第一行的像素分配更多的比特,以确保其质量,从而防止slice边界出现失真。类似的问题也存在于首列。首列左侧的像素信息同样无法获取,这将对块复制造成影响。块复制向左搜不到时,会向上搜索以提升重建图像质量。

    -06-

    未来展望

    现已启动针对制作领域的视频压缩工作。这项工作分为两个阶段。首先,在摄像机端,即采集环节进行视频压缩。目前仅支持4:2:0的AVS3标准方案将得到扩展,以支持4:2:2和4:4:4的色彩格式,使得专业摄像机能够采集并压缩色彩保真度更高的视频内容。至于制作环节,其压缩需求则存在一定差异。AVS标准组正着手制定一项新的制作域标准,旨在满足对软件操作极为友好、具备高并行处理能力和低复杂度的单帧编辑需求。此外,在三维医学影像编码方面,AVS标准组力求实现数学上或主观上的无损处理,这在技术上也可视为浅压缩范畴。针对这一领域,AVS标准组已经制定了统一的标准规划。

    谢谢大家!

更多帖子推荐

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-5-6 14:30 , Processed in 0.067758 second(s), 17 queries .