首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 内核 / 一种用于超高清视频处理系统的片外缓存压缩方法

一种用于超高清视频处理系统的片外缓存压缩方法

阅读:431发布:2024-02-20

专利汇可以提供一种用于超高清视频处理系统的片外缓存压缩方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种用于超高清视频处理系统的片外缓存压缩方法,步骤为:压缩:将来自原始视频输入端的 视频 帧 数据和来自处理 内核 的完成视频处理功能的视频帧数据进行分组,以形成待压缩 块 ,并对每个待压缩块进行块内 像素 分组、预测、量化、反量化和像素重建、 熵编码 、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;解压缩:从片外缓存读取压缩码流,经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码以及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。本发明能大幅降低片外访存带宽,提升系统的数据吞吐率。,下面是一种用于超高清视频处理系统的片外缓存压缩方法专利的具体信息内容。

1.一种用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述方法包括:
第一步、压缩:将来自原始视频输入端的视频数据和来自处理内核的完成视频处理功能的视频帧数据进行分组,以形成待压缩,并对每个待压缩块进行块内像素分组、预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;
第二步、解压缩:从片外缓存请求并接收压缩码流,将压缩码流经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。
2.根据权利要求1所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:
所述第一步,具体实现如下:
S11、压缩块形成
将来自原始视频输入端及处理内核的待压缩视频帧数据拆分为若干小的子块,形成多个独立的待压缩块;
S12、预测
将S11每个待压缩块中的像素进行分组,然后以组为单位进行预测与残差处理,获得待压缩块中每个像素的残差;
S13、量化
将S12待压缩块中像素的残差经过量化处理,获得待压缩块中像素的量化后残差;
S14、反量化和像素重建
将S13待压缩块中像素的量化后残差进行反量化处理和像素重建过程,获得像素的重建值,供S12预测时使用;
S15、熵编码
将S13待压缩块中像素的量化后残差进行熵编码,得到熵编码后像素残差;编码过程中编码阶数按组划分,每组内所有像素的编码阶数相同;
S16、码流打包
按照S15熵编码后像素残差按组依次进行打包处理,每组熵编码后像素残差值打包成一个打包后子码流;
S17、简化压缩处理
在满足压缩率要求的约束下,对待压缩块进行简单的压缩处理;
S18、压缩码流输出控制
根据S16打包后子码流及S17简化压缩处理形成的压缩码流,在压缩率要求下,形成待压缩块的压缩码流,并将此压缩码流输出。
3.根据权利要求2所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:
所述的S11中,待压缩块是指:单独进行压缩,不依赖周围视频帧信息,形成一个码流的视频像素块。
4.根据权利要求2所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:
所述的S13中,每组量化系数为固定或者自适应调整。
5.根据权利要求2所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:
所述的S18中,所述的压缩码流输出控制,具体过程如下:
S181:检测每个打包后子码流的长度;
S182:若某组打包后子码流的长度大于传输像素原始值的长度,则在形成压缩码流时舍弃打包后子码流,转而使用该组像素的原始像素值的高8位;否则,使用打包后子码流;
S183:在完成S181、S182之后,得到候选压缩码流的长度;若候选压缩码流的长度不满足压缩率要求,则舍弃该候选压缩码流,选择S17简化压缩处理的结果形成压缩码流;否则使用此候选码流作为压缩码流。
6.根据权利要求2所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:
所述的S12中:
将128个待压缩像素分成group_6x1、group_4x2、group_8x2、group_16x2、group_before和group_after六组,后续处理也以组为单位进行,当前分组可以使用已处理分组的信息,这样每个待压缩块可不依赖周围压缩块的信息,独立处理;
所述预测与残差处理按照像素分组顺序进行,即先处理group_6x1,然后依次处理group_4x2、group_8x2、group_16x2、group_before,最后处理group_after,在每个像素分组内部,首先根据前面已处理像素分组的像素重建值对当前像素分组内的每个像素进行预测,获得当前像素分组每个像素预测值;再由像素值和对应的像素预测值相减,得到像素残差值。
7.根据权利要求6所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:
group_6x1中的6个像素不进行预测过程,直接截取原始像素的高8位,作为其像素残差值;
将所得的像素残差值直接乘以四,得到重建值;
group_4x2中的14个像素的预测值由group_6x1像素的重建值获得;像素残差值为原始像素值与预测值的差值;像素重建值为经过量化和反量化之后的残差值与预测值的相加和;
group_8x2中的16个像素的预测值由group_6x1和group_4x2像素的重建值获得;像素的残差值与重建值的处理过程与group_4x2相同;
group_16x2、group_before和group_after的预测值、残差值和重建值的处理过程和group_8x2的一样。
8.根据权利要求1-7任一项所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述的简化压缩处理:待压缩块中,取一半的像素传输高6位信息;对于未传输的像素,使用未传输的像素周围的三个传输的像素进行预测,未传输的像素预测值就作为重建值;预测模式分为四种:用未传输的像素左侧像素作为预测值;用未传输的像素右侧像素作为预测值,用未传输的像素垂直方向的像素作为预测值;使用周围三个像素的平均值作为预测值。
9.根据权利要求1-7任一项所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述第二步,具体实现如下:
S21、码流解析
将来自片外缓存的压缩码流解析成各个独立的经过熵编码的像素残差值;
S22、熵解码
将S21经过熵编码的像素残差值进行解码处理,获得解码后的像素残差值;
S23、反量化
将S22解码后的像素残差值进行反量化处理,获得反量化后的像素残差值;
S24、像素形成
将S23反量化后的像素残差值加上预测值,得到重建像素值;
S25、简化压缩处理解码
若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则进行简化压缩处理解码将此码流解码,得到解码后的重建像素值;
S26、像素块复原
将S24得到的重建像素值进行组装,得到候选解压后像素块;若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则舍弃此候选解压后像素块,使用S25解码后得到的重建像素值,组装形成最终的解压后像素块;否则使用候选解压后像素块作为最终的解压后像素块。
10.根据权利要求9所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述的S24中,使用已得到的重建像素值经过与第一步中相同的预测过程,得到当前像素的预测值。

说明书全文

一种用于超高清视频处理系统的片外缓存压缩方法

技术领域

[0001] 本发明涉及视频处理领域,具体地,涉及一种用于超高清视频处理系统的片外缓存压缩方法。

背景技术

[0002] 近年来,人们对高品质视觉享受的主观需求和半导体技术快速发展的客观条件共同促进了视频产业的蓬勃发展,高清2K,超高清4K、8K视频也快速产业化。超高清视频处理系统,如超高清电视后处理ASIC、超高清视频编解码器,一般都采用数据处理核心与外部动态存储器协同工作的架构。处理核心一般由ASIC或者协处理器实现,片外存储器用于存储大量的视频数据,处理核心需要频繁的访问外存。
[0003] 然而,在当前的工艺平下,CMOS集成电路的速度存在极限,一直以来存储器访问速度的提升落后于逻辑电路,因此存储访问的带宽是制约系统性能的瓶颈。若通过增加片上存储单元来缓解此问题也会大幅度增加成本和芯片功耗。另一方面,频繁的访问外存也会带来能耗的大量提升。
[0004] 为了解决带宽和能耗瓶颈,压缩片外缓存数据是有效可行的办法。在这些应用中,一般要求高速、实时的完成编解码过程;要求随机访问,甚至帧内像素的随机访问;要求无损或者极小的压缩损失,却又不强调高压缩比。这些特性都是通用编解码器无法满足的。

发明内容

[0005] 针对现有技术中的缺陷,本发明的目的是提供一种用于超高清视频处理系统的片外缓存压缩方法,以实现超高清视频处理系统片外访存带宽大幅降低,数据吞吐率大幅提升。
[0006] 为实现以上目的,本发明提供一种用于超高清视频处理系统的片外缓存压缩方法,所述方法包括:
[0007] 第一步、压缩:将来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能的视频帧数据进行分组,以形成待压缩块,并对每个待压缩块进行块内像素分组、预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;
[0008] 第二步、解压缩:从片外缓存请求并接收压缩码流,将压缩码流经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。
[0009] 优选地:所述第一步,具体实现如下:
[0010] S11、压缩块形成
[0011] 将来自原始视频输入端及处理内核的待压缩视频帧数据拆分为若干小的子块,形成多个独立的待压缩块;
[0012] S12、预测
[0013] 将S11每个待压缩块中的像素进行分组,然后以组为单位进行预测与残差处理,获得待压缩块中每个像素的残差;
[0014] S13、量化
[0015] 将S12待压缩块中像素的残差经过量化处理,获得待压缩块中像素的量化后残差;
[0016] S14、反量化和像素重建
[0017] 将S13待压缩块中像素的量化后残差进行反量化处理和像素重建过程,获得像素的重建值,供S12预测时使用(S12中当前像素的预测值由待压缩块内已处理像素重建值经预测处理获得)。
[0018] S15、熵编码
[0019] 将S13待压缩块中像素的量化后残差进行熵编码,得到熵编码后像素残差;编码过程中编码阶数按组划分,每组内所有像素的编码阶数相同,不同组的编码阶数可以固定也可以自适应调整;
[0020] S16、码流打包
[0021] 按照S15熵编码后像素残差按组依次进行打包处理,每组熵编码后像素残差值打包成一个打包后子码流;
[0022] S17、简化压缩处理
[0023] 在满足压缩率要求的约束下,对待压缩块进行简单的压缩处理;
[0024] S18、压缩码流输出控制
[0025] 根据S16打包后子码流及S17简化压缩处理形成的压缩码流,在压缩率约束下,控制压缩码流的形成及长度,形成待压缩块的压缩码流,并将此压缩码流输出。
[0026] 更优选地,所述的第一步中,压缩的数据来源包括:来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能的视频帧数据,所述视频处理功能,如超高清视频帧率上变换、视频去噪、视频后处理等。
[0027] 更优选地,所述的S11中,待压缩块是指:单独进行压缩,不依赖周围视频帧信息,形成一个码流的视频像素块。
[0028] 更优选地,所述的S13中,每组量化系数可固定,也可自适应调整。
[0029] 更优选地,所述的S18中,所述的压缩码流输出控制,具体过程如下:
[0030] S181:检测每个打包后子码流的长度;
[0031] S182:若某组打包后子码流的长度大于传输像素原始值的长度,则在形成压缩码流时舍弃打包后子码流,转而使用该组像素的原始像素值的高8位;否则,使用打包后子码流;
[0032] S183:在完成S181、S182之后,得到候选压缩码流的长度;若候选压缩码流的长度不满足压缩率要求,则舍弃该候选压缩码流,选择简化压缩处理的结果形成压缩码流;否则使用此候选码流作为压缩码流。
[0033] 优选地:所述第二步,具体实现如下:
[0034] S21、码流解析
[0035] 将来自片外缓存的压缩码流解析成各个独立的经过熵编码的像素残差值;
[0036] S22、熵解码
[0037] 将S21经过熵编码的像素残差值进行解码处理,获得解码后的像素残差值;
[0038] S23、反量化
[0039] 将S22解码后的像素残差值进行反量化处理,获得反量化后的像素残差值;
[0040] S24、像素形成
[0041] 包含当前像素预测值和重建像素值计算:在一个压缩码流内部,已获得的重建像素值经过S12中的预测处理,可以得到当前像素的预测值;将S23反量化后的像素残差值加上像素预测值,得到重建像素值;
[0042] S25、简化压缩处理解码
[0043] 若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则进行简化压缩处理解码将此码流解码,得到解码后的重建像素值;
[0044] S26、像素块复原
[0045] 将S24得到的重建像素值进行组装,得到候选解压后像素块;若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则舍弃此候选解压后像素块,使用S25解码后得到的重建像素值,组装形成最终的解压后像素块;否则使用候选解压后像素块作为最终的解压后像素块。
[0046] 更优选地,所述的S24中,使用已得到的重建像素值经过与第一步中S12相同的预测过程,得到当前像素的预测值。
[0047] 本发明中:在预测时进行分组,并且以组为单位进行后续的处理,每个待压缩块独立压缩,不依赖其他信息,因此在解码端仅通过压缩码流信息,就可复原出像素;压缩率固定,因此可做到压缩块的随机读取访问。
[0048] 与现有技术相比,本发明具有如下的有益效果:
[0049] 1实时压缩来自原始视频输入和处理内核的视频帧数据,然后再写入片外缓存,从而降低片外存储器写带宽;
[0050] 2实时解压缩压缩码流,然后再输出给内核处理模块和视频输出显示模块,从而降低片外存储器读带宽;
[0051] 3每个压缩块独立进行压缩和解压缩,且每个压缩块可以设置固定压缩比,因此可以实现压缩块的随机访问;
[0052] 4可以根据内核处理模块的数据读取特点,灵活的设置压缩块的大小与形状,减少数据重复读取,提高读写效率;
[0053] 5片外缓存存储的所有数据是压缩码流,因此可以大幅降低片外缓存的容量。附图说明
[0054] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0055] 图1为本发明一实施例的系统框图
[0056] 图2为本发明一实施例的压缩模块结构框图;
[0057] 图3为本发明一实施例的压缩模块中压缩块形成的示意图;
[0058] 图4为本发明一实施例的像素分组示意图;
[0059] 图5为本发明一实施例的简化压缩处理示意图;
[0060] 图6为本发明一实施例的解压缩模块结构框图。

具体实施方式

[0061] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0062] 如图1所示,一种用于超高清视频处理系统的片外缓存压缩方法,包括:
[0063] 步骤一、压缩
[0064] 将来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能(如超高清视频帧率上变换、视频去噪、视频后处理等)的视频帧数据进行分组,以形成待压缩块,并对每个待压缩块进行预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;
[0065] 步骤二、解压缩
[0066] 从片外缓存读取压缩码流,经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码以及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。
[0067] 作为一个优选实施方式,上述的步骤一,压缩过程可以采用压缩模块实现,所述压缩模块的数据来源有两个:来自原始视频输入端的视频帧数据,如帧率上变换处理系统中的原始视频帧数据;来自处理内核的完成特定视频处理功能的视频帧数据,如帧率上变换系统中的内插视频帧数据。所述压缩模块将上述数据源来的视频帧数据进行分组,形成待压缩块,并对每个待压缩块进行独立压缩,得到压缩码流。上述待压缩块指单独进行压缩,不依赖周围视频帧信息,形成一个码流的视频像素块。
[0068] 进一步的,所述压缩模块包括:压缩块形成模块、预测模块、量化模块、反量化和像素重建模块、熵编码模块、码流打包模块、简化压缩处理模块和压缩码流输出控制模块,其整体架构如图2所示;各模块实现的过程如下所述。
[0069] 1、压缩块形成模块
[0070] 该模块将待压缩视频帧拆分为若干小的子块,形成多个独立的待压缩块。所述待压缩视频帧拆分过程如图3所示,连续两行的待压缩像素,分别取其亮度分量的64个像素及对应的32个Cb色度分量和32个Cr色度分量,按照图3中所示方式组合成亮度图像待压缩块和色度图像待压缩块。作为一种可实施方式,亮度和色度采样方式为4:2:2;每个待压缩块包含128个待压缩像素。为方便叙述,将128个像素编号为pixel_1_1、pixel_1_2、pixel_1_3、……、pixel_1_64、pixel_2_1、pixel_2_2、pixel_2_3、……、pixel_2_64,其中:pixel_1_
1为待压缩像素块的第一行第一个像素;pixel_2_1为待压缩像素块的第二行第一个像素;
pixel_1_2为待压缩像素块的第一行第二个像素;pixel_2_2为待压缩像素块的第二行第二个像素;以此类推,直到第一行的第六十四个像素和第二行的第六十四个像素。
[0071] 所述待压缩块,每个都独立进行压缩处理,相互之间不依赖;每个待压缩块都形成一个固定长度的压缩码流。作为一种可实施方式,规定每个压缩码流长度为512bit。
[0072] 2、预测模块
[0073] 该模块将每个待压缩块的128个待压缩像素进行像素分组,然后进行预测与残差处理,获得每个待压缩像素的残差。
[0074] 所述像素分组,是将待压缩块的128个待压缩像素拆分成多个像素组,后续预测与残差处理以组为单位进行。作为一种可实施方式,所述像素分组的128个待压缩像素拆分过程如图4所示。在图4像素分组示意中将128个待压缩像素分成group_6x1、group_4x2、group_8x2、group_16x2、group_before和group_after六组。由于每个待压缩块独立处理,不能依赖周围压缩块的信息,因此进行上述分组;后续处理也以上述组为单位进行,这样当前分组可以使用已处理分组的信息,提高压缩效果;同时考虑系统的吞吐率和复杂度,一般将压缩块拆分成4到6组比较合适。
[0075] 所述预测与残差处理按照上述的像素分组顺序进行,即先处理group_6x1,然后依次处理group_4x2、group_8x2、group_16x2、group_before,最后处理group_after。在每个像素分组内部,首先根据前面已处理像素分组的像素重建值对当前像素分组内的每个像素进行预测,获得当前像素分组每个像素预测值;再由像素值和对应的像素预测值相减,得到像素残差值。
[0076] 作为一种可实施方式,每个像素均为10bit像素,具体处理过程为:
[0077] group_6x1中的6个像素不进行预测过程,直接截取原始像素的高8位,作为其像素残差值;将所得的像素残差值直接乘以四,得到其重建值。处理过程具体为:
[0078] delta_1_1=msb(pixel_1_1,8)
[0079] delta_1_16=msb(pixel_1_16,8)
[0080] delta_1_32=msb(pixel_1_32,8)
[0081] delta_1_33=msb(pixel_1_33,8)
[0082] delta_1_48=msb(pixel_1_48,8)
[0083] delta_1_64=msb(pixel_1_64,8)
[0084] restruct_1_1=delta_1_1*4
[0085] restruct_1_16=delta_1_16*4
[0086] restruct_1_32=delta_1_32*4
[0087] restruct_1_33=delta_1_33*4
[0088] restruct_1_48=delta_1_48*4
[0089] restruct_1_64=delta_1_64*4
[0090] 其中:delta_x_y表示第x行第y个像素的像素残差值;restruct_x_y表示第x行第y个像素的像素重建值;msb(pixel_x_y,z)表示取第x行第y个像素的高z bit位。
[0091] group_4x2中的14个像素的预测值由group_6x1像素的重建值获得;像素残差值为原始像素值与预测值的差值;像素重建值为经过量化和反量化之后的残差值与预测值的相加和。处理过程具体为:
[0092] pred_2_1=restruct_1_1
[0093] pred_1_8=(restruct_1_1+restruct_1_16)/2
[0094] pred_2_8=(restruct_1_1+restruct_1_16)/2
[0095] pred_2_16=restruct_1_16
[0096] pred_1_24=(restruct_1_16+restruct_1_32)/2
[0097] pred_2_24=(restruct_1_16+restruct_1_32)/2
[0098] pred_2_32=restruct_1_32
[0099] pred_2_33=restruct_1_33
[0100] pred_1_40=(restruct_1_33+restruct_1_48)/2
[0101] pred_2_40=(restruct_1_33+restruct_1_48)/2
[0102] pred_2_48=restruct_1_48
[0103] pred_1_56=(restruct_1_48+restruct_1_64)/2
[0104] pred_2_56=(restruct_1_48+restruct_1_64)/2
[0105] pixel_2_64=restruct_1_64
[0106] delta_x_y=pixel_x_y–pred_x_y,x和y仅取group_4x2的像素
[0107] restruct_x_y=pred_x_y+qdelta_x_y,x和y仅取group_4x2的像素;
[0108] 其中:pred_x_y表示第x行第y个像素的像素预测值;delta_x_y表示第x行第y个像素的像素残差值;restruct_x_y表示第x行第y个像素的像素重建值;qdelta_x_y表示第x行第y个像素经过量化与反量化的像素残差值。
[0109] group_8x2中的16个像素的预测值由group_6x1和group_4x2像素的重建值获得;像素的残差值与重建值的处理过程与group_4x2相同。具体为:
[0110] pred_1_4=pred_2_4=(restruct_1_1+restruct_2_1+restruct_1_8+restruct_2_8)/4
[0111] pred_1_12=pred_2_12=(restruct_1_8+restruct_2_8+restruct_1_16+restruct_2_16)/4
[0112] pred_1_20=pred_2_20=(restruct_1_16+restruct_2_16+restruct_1_24+restruct_2_24)/4
[0113] pred_1_28=pred_2_28=(restruct_1_24+restruct_2_24+restruct_1_32+restruct_2_32)/4
[0114] pred_1_36=pred_2_36=(restruct_1_33+restruct_2_33+restruct_1_40+restruct_2_40)/4
[0115] pred_1_44=pred_2_44=(restruct_1_40+restruct_2_40+restruct_1_48+restruct_2_48)/4
[0116] pred_1_52=pred_2_52=(restruct_1_48+restruct_2_48+restruct_1_56+restruct_2_56)/4
[0117] pred_1_60=pred_2_60=(restruct_1_56+restruct_2_56+restruct_1_64+restruct_2_64)/4
[0118] delta_x_y=pixel_x_y–pred_x_y,x和y仅取group_4x2的像素
[0119] restruct_x_y=pred_x_y+qdelta_x_y,x和y仅取group_4x2的像素
[0120] 其中:pred_x_y表示第x行第y个像素的像素预测值;delta_x_y表示第x行第y个像素的像素残差值;restruct_x_y表示第x行第y个像素的像素重建值;qdelta_x_y表示第x行第y个像素经过量化与反量化的像素残差值。
[0121] group_16x2、group_before和group_after的预测值、残差值和重建值的处理过程和group_8x2的一样,不再叙述。
[0122] 3、量化模块
[0123] 该模块将预测模块所得的待压缩像素的残差经过量化处理,获得待压缩像素的量化后残差。
[0124] 量化处理以上述像素分组形成的组为单位进行,不同的组采取不同的量化系数。每组的量化系数可以设置为固定值,也可以自适应调整。作为一种可实施方式,将不同组的量化系数固定,并取为:
[0125]
[0126]
[0127] group_6x1像素作为基准像素,传输像素的高8位,在量化处理中不再对组group_6x1像素残差进行量化处理。
[0128] 4、反量化和像素重建模块
[0129] 该模块将待压缩像素的量化后残差进行反量化处理与像素重建过程,获得像素的重建值,供预测模块预测时使用。
[0130] 5、熵编码模块
[0131] 该模块将像素量化后残差进行熵编码,得到编码后像素残差。
[0132] 作为一种可实施方式,所述熵编码的方式采用golomb编码。golomb编码的阶数按组划分,每组内所有像素的编码阶数相同,不同组的编码阶数可以固定也可以自适应调整。
[0133] 比如,一实施例中:不同组的编码阶数固定,具体为:
[0134]
[0135] 组group_6x1传输原始值,所以不进行golomb编解码过程,无编码阶数。
[0136] 6、码流打包模块
[0137] 该模块按照上述分组进行,将每组熵编码后像素残差值依次进行打包处理,形成打包后子码流。每组熵编码后像素残差值形成一个打包后子码流,因此每个压缩块包含6个子码流。
[0138] 7、简化压缩处理模块
[0139] 该模块在满足压缩率约束的前提下,对待压缩块进行简单的压缩处理。在预测、量化、熵编码处理的码流不能满足压缩率要求的时候,使用简化压缩处理模块的压缩结果来形成压缩码流。
[0140] 作为一种可实施方式,简化压缩处理模块具体处理过程如图5所示:
[0141] 图5中标记为黑色的像素取其高6位传输,未传输的像素,使用未传输的像素周围的三个传输的像素进行预测,未传输的像素预测值就作为其重建值。预测模式分为四种:用未传输的像素左侧像素作为预测值;用未传输的像素右侧像素作为预测值,用未传输的像素垂直方向的像素作为预测值;使用周围三个像素的平均值作为预测值。图5中只提供了压缩块的前四分之一部分,后面的处理与此完全相同。
[0142] 8、压缩码流输出控制模块
[0143] 该模块在压缩率要求下,控制输出的压缩码流的长度,形成待输出的压缩码流。
[0144] 具体处理过程为:
[0145] 1检测每个打包后子码流的长度;
[0146] 2若某组打包后子码流的长度大于传输像素原始值得长度,则在形成压缩码流时舍弃打包后子码流,转而使用该组像素的原始像素值的高8位;否则,使用打包后子码流;
[0147] 3在完成前两步之后,得到候选压缩码流的长度,若其长度不满足压缩率要求,则舍弃此码流,选择简化压缩处理模块的结果形成压缩码流;否则,使用此候选压缩码流作为压缩码流。
[0148] 作为一个优选实施方式,步骤二中,解压缩过程可以采用解压缩模块实现,所述解压缩模块包括:码流解析、熵解码、反量化、像素形成、简化压缩处理解码、像素块复原等模块,其整体架构如图6所示;各模块实现的过程如下。
[0149] 1、码流解析模块
[0150] 将来自片外缓存的压缩码流解析成各个独立的经过熵编码的像素残差值,并送给熵解码模块进行熵解码处理。
[0151] 2、熵解码模块
[0152] 将码流解析模块解析出的经过熵编码的像素残差值进行解码处理,获得解码后的像素残差值;并将此像素残差值送给反量化模块做进一步的处理。
[0153] 3、反量化模块,将熵解码模块解码出的像素残差值进行反量化处理,获得反量化后的像素残差值;并将此残差值送给像素形成模块。
[0154] 4、像素形成模块
[0155] 反量化模块形成的像素残差值加上预测值,得到重建像素值。所述像素形成模块使用已得到的重建像素值经过与步骤一中相同的预测过程,得到当前像素的预测值。
[0156] 5、简化压缩处理解码模块
[0157] 将压缩码流按照简化压缩处理的方式进行解码,得到解码后的重建像素值。
[0158] 6、像素块复原模块
[0159] 像素形成模块得到的重建像素值进行组装,得到候选解压后像素块;若来自片外缓存的压缩码流是经过简化压缩处理形成的码流,则舍弃此候选解压后像素块,使用简化压缩处理解码模块解码后得到的重建像素值,组装形成最终的解压后像素块;否则使用此候选解压后像素块作为最终的解压后像素块。
[0160] 本发明通过将超高清视频处理系统中的原始视频帧数据和处理内核的完成视频处理功能的视频帧数据压缩后再写入片外缓存,及从片外缓存中读取压缩码流,解码之后再输出给帧率上变换内核和输出显示,可大幅降低片外存储器的读写带宽,大幅减低片外缓存的容量和大幅提高系统的数据吞吐率。
[0161] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈