CN105472389B - 一种用于超高清视频处理系统的片外缓存压缩方法 - Google Patents
一种用于超高清视频处理系统的片外缓存压缩方法 Download PDFInfo
- Publication number
- CN105472389B CN105472389B CN201510870385.1A CN201510870385A CN105472389B CN 105472389 B CN105472389 B CN 105472389B CN 201510870385 A CN201510870385 A CN 201510870385A CN 105472389 B CN105472389 B CN 105472389B
- Authority
- CN
- China
- Prior art keywords
- pixel
- group
- pixels
- compressed
- piece
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42692—Internal components of the client ; Characteristics thereof for reading from or writing on a volatile storage medium, e.g. Random Access Memory [RAM]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种用于超高清视频处理系统的片外缓存压缩方法,步骤为:压缩:将来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能的视频帧数据进行分组,以形成待压缩块,并对每个待压缩块进行块内像素分组、预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;解压缩:从片外缓存读取压缩码流,经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码以及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。本发明能大幅降低片外访存带宽,提升系统的数据吞吐率。
Description
技术领域
本发明涉及视频处理领域,具体地,涉及一种用于超高清视频处理系统的片外缓存压缩方法。
背景技术
近年来,人们对高品质视觉享受的主观需求和半导体技术快速发展的客观条件共同促进了视频产业的蓬勃发展,高清2K,超高清4K、8K视频也快速产业化。超高清视频处理系统,如超高清电视后处理ASIC、超高清视频编解码器,一般都采用数据处理核心与外部动态存储器协同工作的架构。处理核心一般由ASIC或者协处理器实现,片外存储器用于存储大量的视频数据,处理核心需要频繁的访问外存。
然而,在当前的工艺水平下,CMOS集成电路的速度存在极限,一直以来存储器访问速度的提升落后于逻辑电路,因此存储访问的带宽是制约系统性能的瓶颈。若通过增加片上存储单元来缓解此问题也会大幅度增加成本和芯片功耗。另一方面,频繁的访问外存也会带来能耗的大量提升。
为了解决带宽和能耗瓶颈,压缩片外缓存数据是有效可行的办法。在这些应用中,一般要求高速、实时的完成编解码过程;要求帧随机访问,甚至帧内像素块的随机访问;要求无损或者极小的压缩损失,却又不强调高压缩比。这些特性都是通用编解码器无法满足的。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种用于超高清视频处理系统的片外缓存压缩方法,以实现超高清视频处理系统片外访存带宽大幅降低,数据吞吐率大幅提升。
为实现以上目的,本发明提供一种用于超高清视频处理系统的片外缓存压缩方法,所述方法包括:
第一步、压缩:将来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能的视频帧数据进行分组,以形成待压缩块,并对每个待压缩块进行块内像素分组、预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;
第二步、解压缩:从片外缓存请求并接收压缩码流,将压缩码流经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。
优选地:所述第一步,具体实现如下:
S11、压缩块形成
将来自原始视频输入端及处理内核的待压缩视频帧数据拆分为若干小的子块,形成多个独立的待压缩块;
S12、预测
将S11每个待压缩块中的像素进行分组,然后以组为单位进行预测与残差处理,获得待压缩块中每个像素的残差;
S13、量化
将S12待压缩块中像素的残差经过量化处理,获得待压缩块中像素的量化后残差;
S14、反量化和像素重建
将S13待压缩块中像素的量化后残差进行反量化处理和像素重建过程,获得像素的重建值,供S12预测时使用(S12中当前像素的预测值由待压缩块内已处理像素重建值经预测处理获得)。
S15、熵编码
将S13待压缩块中像素的量化后残差进行熵编码,得到熵编码后像素残差;编码过程中编码阶数按组划分,每组内所有像素的编码阶数相同,不同组的编码阶数可以固定也可以自适应调整;
S16、码流打包
按照S15熵编码后像素残差按组依次进行打包处理,每组熵编码后像素残差值打包成一个打包后子码流;
S17、简化压缩处理
在满足压缩率要求的约束下,对待压缩块进行简单的压缩处理;
S18、压缩码流输出控制
根据S16打包后子码流及S17简化压缩处理形成的压缩码流,在压缩率约束下,控制压缩码流的形成及长度,形成待压缩块的压缩码流,并将此压缩码流输出。
更优选地,所述的第一步中,压缩的数据来源包括:来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能的视频帧数据,所述视频处理功能,如超高清视频帧率上变换、视频去噪、视频后处理等。
更优选地,所述的S11中,待压缩块是指:单独进行压缩,不依赖周围视频帧信息,形成一个码流的视频像素块。
更优选地,所述的S13中,每组量化系数可固定,也可自适应调整。
更优选地,所述的S18中,所述的压缩码流输出控制,具体过程如下:
S181:检测每个打包后子码流的长度;
S182:若某组打包后子码流的长度大于传输像素原始值的长度,则在形成压缩码流时舍弃打包后子码流,转而使用该组像素的原始像素值的高8位;否则,使用打包后子码流;
S183:在完成S181、S182之后,得到候选压缩码流的长度;若候选压缩码流的长度不满足压缩率要求,则舍弃该候选压缩码流,选择简化压缩处理的结果形成压缩码流;否则使用此候选码流作为压缩码流。
优选地:所述第二步,具体实现如下:
S21、码流解析
将来自片外缓存的压缩码流解析成各个独立的经过熵编码的像素残差值;
S22、熵解码
将S21经过熵编码的像素残差值进行解码处理,获得解码后的像素残差值;
S23、反量化
将S22解码后的像素残差值进行反量化处理,获得反量化后的像素残差值;
S24、像素形成
包含当前像素预测值和重建像素值计算:在一个压缩码流内部,已获得的重建像素值经过S12中的预测处理,可以得到当前像素的预测值;将S23反量化后的像素残差值加上像素预测值,得到重建像素值;
S25、简化压缩处理解码
若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则进行简化压缩处理解码将此码流解码,得到解码后的重建像素值;
S26、像素块复原
将S24得到的重建像素值进行组装,得到候选解压后像素块;若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则舍弃此候选解压后像素块,使用S25解码后得到的重建像素值,组装形成最终的解压后像素块;否则使用候选解压后像素块作为最终的解压后像素块。
更优选地,所述的S24中,使用已得到的重建像素值经过与第一步中S12相同的预测过程,得到当前像素的预测值。
本发明中:在预测时进行分组,并且以组为单位进行后续的处理,每个待压缩块独立压缩,不依赖其他信息,因此在解码端仅通过压缩码流信息,就可复原出像素;压缩率固定,因此可做到压缩块的随机读取访问。
与现有技术相比,本发明具有如下的有益效果:
1实时压缩来自原始视频输入和处理内核的视频帧数据,然后再写入片外缓存,从而降低片外存储器写带宽;
2实时解压缩压缩码流,然后再输出给内核处理模块和视频输出显示模块,从而降低片外存储器读带宽;
3每个压缩块独立进行压缩和解压缩,且每个压缩块可以设置固定压缩比,因此可以实现压缩块的随机访问;
4可以根据内核处理模块的数据读取特点,灵活的设置压缩块的大小与形状,减少数据重复读取,提高读写效率;
5片外缓存存储的所有数据是压缩码流,因此可以大幅降低片外缓存的容量。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例的系统框图;
图2为本发明一实施例的压缩模块结构框图;
图3为本发明一实施例的压缩模块中压缩块形成的示意图;
图4为本发明一实施例的像素分组示意图;
图5为本发明一实施例的简化压缩处理示意图;
图6为本发明一实施例的解压缩模块结构框图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,一种用于超高清视频处理系统的片外缓存压缩方法,包括:
步骤一、压缩
将来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能(如超高清视频帧率上变换、视频去噪、视频后处理等)的视频帧数据进行分组,以形成待压缩块,并对每个待压缩块进行预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;
步骤二、解压缩
从片外缓存读取压缩码流,经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码以及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块。
作为一个优选实施方式,上述的步骤一,压缩过程可以采用压缩模块实现,所述压缩模块的数据来源有两个:来自原始视频输入端的视频帧数据,如帧率上变换处理系统中的原始视频帧数据;来自处理内核的完成特定视频处理功能的视频帧数据,如帧率上变换系统中的内插视频帧数据。所述压缩模块将上述数据源来的视频帧数据进行分组,形成待压缩块,并对每个待压缩块进行独立压缩,得到压缩码流。上述待压缩块指单独进行压缩,不依赖周围视频帧信息,形成一个码流的视频像素块。
进一步的,所述压缩模块包括:压缩块形成模块、预测模块、量化模块、反量化和像素重建模块、熵编码模块、码流打包模块、简化压缩处理模块和压缩码流输出控制模块,其整体架构如图2所示;各模块实现的过程如下所述。
1、压缩块形成模块
该模块将待压缩视频帧拆分为若干小的子块,形成多个独立的待压缩块。所述待压缩视频帧拆分过程如图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为待压缩像素块的第二行第二个像素;以此类推,直到第一行的第六十四个像素和第二行的第六十四个像素。
所述待压缩块,每个都独立进行压缩处理,相互之间不依赖;每个待压缩块都形成一个固定长度的压缩码流。作为一种可实施方式,规定每个压缩码流长度为512bit。
2、预测模块
该模块将每个待压缩块的128个待压缩像素进行像素分组,然后进行预测与残差处理,获得每个待压缩像素的残差。
所述像素分组,是将待压缩块的128个待压缩像素拆分成多个像素组,后续预测与残差处理以组为单位进行。作为一种可实施方式,所述像素分组的128个待压缩像素拆分过程如图4所示。在图4像素分组示意中将128个待压缩像素分成group_6x1、group_4x2、group_8x2、group_16x2、group_before和group_after六组。由于每个待压缩块独立处理,不能依赖周围压缩块的信息,因此进行上述分组;后续处理也以上述组为单位进行,这样当前分组可以使用已处理分组的信息,提高压缩效果;同时考虑系统的吞吐率和复杂度,一般将压缩块拆分成4到6组比较合适。
所述预测与残差处理按照上述的像素分组顺序进行,即先处理group_6x1,然后依次处理group_4x2、group_8x2、group_16x2、group_before,最后处理group_after。在每个像素分组内部,首先根据前面已处理像素分组的像素重建值对当前像素分组内的每个像素进行预测,获得当前像素分组每个像素预测值;再由像素值和对应的像素预测值相减,得到像素残差值。
作为一种可实施方式,每个像素均为10bit像素,具体处理过程为:
group_6x1中的6个像素不进行预测过程,直接截取原始像素的高8位,作为其像素残差值;将所得的像素残差值直接乘以四,得到其重建值。处理过程具体为:
delta_1_1=msb(pixel_1_1,8)
delta_1_16=msb(pixel_1_16,8)
delta_1_32=msb(pixel_1_32,8)
delta_1_33=msb(pixel_1_33,8)
delta_1_48=msb(pixel_1_48,8)
delta_1_64=msb(pixel_1_64,8)
restruct_1_1=delta_1_1*4
restruct_1_16=delta_1_16*4
restruct_1_32=delta_1_32*4
restruct_1_33=delta_1_33*4
restruct_1_48=delta_1_48*4
restruct_1_64=delta_1_64*4
其中:delta_x_y表示第x行第y个像素的像素残差值;restruct_x_y表示第x行第y个像素的像素重建值;msb(pixel_x_y,z)表示取第x行第y个像素的高z bit位。
group_4x2中的14个像素的预测值由group_6x1像素的重建值获得;像素残差值为原始像素值与预测值的差值;像素重建值为经过量化和反量化之后的残差值与预测值的相加和。处理过程具体为:
pred_2_1=restruct_1_1
pred_1_8=(restruct_1_1+restruct_1_16)/2
pred_2_8=(restruct_1_1+restruct_1_16)/2
pred_2_16=restruct_1_16
pred_1_24=(restruct_1_16+restruct_1_32)/2
pred_2_24=(restruct_1_16+restruct_1_32)/2
pred_2_32=restruct_1_32
pred_2_33=restruct_1_33
pred_1_40=(restruct_1_33+restruct_1_48)/2
pred_2_40=(restruct_1_33+restruct_1_48)/2
pred_2_48=restruct_1_48
pred_1_56=(restruct_1_48+restruct_1_64)/2
pred_2_56=(restruct_1_48+restruct_1_64)/2
pixel_2_64=restruct_1_64
delta_x_y=pixel_x_y–pred_x_y,x和y仅取group_4x2的像素
restruct_x_y=pred_x_y+qdelta_x_y,x和y仅取group_4x2的像素;
其中:pred_x_y表示第x行第y个像素的像素预测值;delta_x_y表示第x行第y个像素的像素残差值;restruct_x_y表示第x行第y个像素的像素重建值;qdelta_x_y表示第x行第y个像素经过量化与反量化的像素残差值。
group_8x2中的16个像素的预测值由group_6x1和group_4x2像素的重建值获得;像素的残差值与重建值的处理过程与group_4x2相同。具体为:
pred_1_4=pred_2_4=(restruct_1_1+restruct_2_1+restruct_1_8+restruct_2_8)/4
pred_1_12=pred_2_12=(restruct_1_8+restruct_2_8+restruct_1_16+restruct_2_16)/4
pred_1_20=pred_2_20=(restruct_1_16+restruct_2_16+restruct_1_24+restruct_2_24)/4
pred_1_28=pred_2_28=(restruct_1_24+restruct_2_24+restruct_1_32+restruct_2_32)/4
pred_1_36=pred_2_36=(restruct_1_33+restruct_2_33+restruct_1_40+restruct_2_40)/4
pred_1_44=pred_2_44=(restruct_1_40+restruct_2_40+restruct_1_48+restruct_2_48)/4
pred_1_52=pred_2_52=(restruct_1_48+restruct_2_48+restruct_1_56+restruct_2_56)/4
pred_1_60=pred_2_60=(restruct_1_56+restruct_2_56+restruct_1_64+restruct_2_64)/4
delta_x_y=pixel_x_y–pred_x_y,x和y仅取group_4x2的像素
restruct_x_y=pred_x_y+qdelta_x_y,x和y仅取group_4x2的像素
其中:pred_x_y表示第x行第y个像素的像素预测值;delta_x_y表示第x行第y个像素的像素残差值;restruct_x_y表示第x行第y个像素的像素重建值;qdelta_x_y表示第x行第y个像素经过量化与反量化的像素残差值。
group_16x2、group_before和group_after的预测值、残差值和重建值的处理过程和group_8x2的一样,不再叙述。
3、量化模块
该模块将预测模块所得的待压缩像素的残差经过量化处理,获得待压缩像素的量化后残差。
量化处理以上述像素分组形成的组为单位进行,不同的组采取不同的量化系数。每组的量化系数可以设置为固定值,也可以自适应调整。作为一种可实施方式,将不同组的量化系数固定,并取为:
group_6x1像素作为基准像素,传输像素的高8位,在量化处理中不再对组group_6x1像素残差进行量化处理。
4、反量化和像素重建模块
该模块将待压缩像素的量化后残差进行反量化处理与像素重建过程,获得像素的重建值,供预测模块预测时使用。
5、熵编码模块
该模块将像素量化后残差进行熵编码,得到编码后像素残差。
作为一种可实施方式,所述熵编码的方式采用golomb编码。golomb编码的阶数按组划分,每组内所有像素的编码阶数相同,不同组的编码阶数可以固定也可以自适应调整。
比如,一实施例中:不同组的编码阶数固定,具体为:
组group_6x1传输原始值,所以不进行golomb编解码过程,无编码阶数。
6、码流打包模块
该模块按照上述分组进行,将每组熵编码后像素残差值依次进行打包处理,形成打包后子码流。每组熵编码后像素残差值形成一个打包后子码流,因此每个压缩块包含6个子码流。
7、简化压缩处理模块
该模块在满足压缩率约束的前提下,对待压缩块进行简单的压缩处理。在预测、量化、熵编码处理的码流不能满足压缩率要求的时候,使用简化压缩处理模块的压缩结果来形成压缩码流。
作为一种可实施方式,简化压缩处理模块具体处理过程如图5所示:
图5中标记为黑色的像素取其高6位传输,未传输的像素,使用未传输的像素周围的三个传输的像素进行预测,未传输的像素预测值就作为其重建值。预测模式分为四种:用未传输的像素左侧像素作为预测值;用未传输的像素右侧像素作为预测值,用未传输的像素垂直方向的像素作为预测值;使用周围三个像素的平均值作为预测值。图5中只提供了压缩块的前四分之一部分,后面的处理与此完全相同。
8、压缩码流输出控制模块
该模块在压缩率要求下,控制输出的压缩码流的长度,形成待输出的压缩码流。
具体处理过程为:
1检测每个打包后子码流的长度;
2若某组打包后子码流的长度大于传输像素原始值得长度,则在形成压缩码流时舍弃打包后子码流,转而使用该组像素的原始像素值的高8位;否则,使用打包后子码流;
3在完成前两步之后,得到候选压缩码流的长度,若其长度不满足压缩率要求,则舍弃此码流,选择简化压缩处理模块的结果形成压缩码流;否则,使用此候选压缩码流作为压缩码流。
作为一个优选实施方式,步骤二中,解压缩过程可以采用解压缩模块实现,所述解压缩模块包括:码流解析、熵解码、反量化、像素形成、简化压缩处理解码、像素块复原等模块,其整体架构如图6所示;各模块实现的过程如下。
1、码流解析模块
将来自片外缓存的压缩码流解析成各个独立的经过熵编码的像素残差值,并送给熵解码模块进行熵解码处理。
2、熵解码模块
将码流解析模块解析出的经过熵编码的像素残差值进行解码处理,获得解码后的像素残差值;并将此像素残差值送给反量化模块做进一步的处理。
3、反量化模块,将熵解码模块解码出的像素残差值进行反量化处理,获得反量化后的像素残差值;并将此残差值送给像素形成模块。
4、像素形成模块
反量化模块形成的像素残差值加上预测值,得到重建像素值。所述像素形成模块使用已得到的重建像素值经过与步骤一中相同的预测过程,得到当前像素的预测值。
5、简化压缩处理解码模块
将压缩码流按照简化压缩处理的方式进行解码,得到解码后的重建像素值。
6、像素块复原模块
像素形成模块得到的重建像素值进行组装,得到候选解压后像素块;若来自片外缓存的压缩码流是经过简化压缩处理形成的码流,则舍弃此候选解压后像素块,使用简化压缩处理解码模块解码后得到的重建像素值,组装形成最终的解压后像素块;否则使用此候选解压后像素块作为最终的解压后像素块。
本发明通过将超高清视频处理系统中的原始视频帧数据和处理内核的完成视频处理功能的视频帧数据压缩后再写入片外缓存,及从片外缓存中读取压缩码流,解码之后再输出给帧率上变换内核和输出显示,可大幅降低片外存储器的读写带宽,大幅减低片外缓存的容量和大幅提高系统的数据吞吐率。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (4)
1.一种用于超高清视频处理系统的片外缓存压缩方法,其特征在于:包括:
第一步、压缩:将来自原始视频输入端的视频帧数据和来自处理内核的完成视频处理功能的视频帧数据进行分组,以形成待压缩块,并对每个待压缩块进行块内像素分组、预测、量化、反量化和像素重建、熵编码、码流打包、简化压缩处理以及压缩码流输出控制操作,得到压缩码流,并将压缩码流写到片外缓存中;
第二步、解压缩:从片外缓存请求并接收压缩码流,将压缩码流经过码流解析、熵解码、反量化、像素形成、简化压缩处理解码及像素块复原处理后实时解码,形成解压后像素块,并将解压后像素块输出给处理内核和输出显示模块;
所述第一步,具体实现如下:
S11、压缩块形成
将来自原始视频输入端及处理内核的待压缩视频帧数据拆分为若干小的子块,形成多个独立的待压缩块;
S12、预测
将S11每个待压缩块中的像素进行分组,然后以组为单位进行预测与残差处理,获得待压缩块中每个像素的残差;
所述的S12中:
将128个待压缩像素分成group_6x1、group_4x2、group_8x2、group_16x2、group_before和group_after六组,后续处理也以组为单位进行,当前分组可以使用已处理分组的信息,这样每个待压缩块可不依赖周围压缩块的信息,独立处理;
128个待压缩像素按照2行64个分布,其中:
group_6x1中6个像素:分别是位于第1行的第1个、第16个、第32个、第33个、第48个和第64个的像素;
group_4x2中14个像素:分别是位于第1行的第8个、第24个、第40个、第56个以及第2行的第1个、第8个、第16个、第24个、第32个、第33个、第40个、第48个、第56个以及第64个的像素;
group_8x2中16个像素:分别是位于第1行和第2行的第4个、第12个、第20个、第28个、第36个、第44个、第52个、第60个的像素;
group_16x2中32个像素:分别是位于第1行和第2行的第2个、第6个、第10个、第14个、第18个、第22个、第26个、第30个、第34个、第38个、第42个、第46个、第50个、第54个、第58个、第62个的像素;
group_before中28个像素:分别是位于第1行和第2行的第5个、第9个、第13个、第17个、第21个、第25个、第29个、第37个、第41个、第45个、第49个、第53个、第57个、第61个的像素;
group_after中32个像素:分别是位于第1行和第2行的第3个、第7个、第11个、第15个、第19个、第23个、第27个、第31个、第35个、第39个、第43个、第47个、第51个、第55个、第59个、第63个的像素;
所述预测与残差处理按照像素分组顺序进行,即先处理group_6x1,然后依次处理group_4x2、group_8x2、group_16x2、group_before,最后处理group_after,在每个像素分组内部,首先根据前面已处理像素分组的像素重建值对当前像素分组内的每个像素进行预测,获得当前像素分组每个像素预测值;再由像素值和对应的像素预测值相减,得到像素残差值;
每个像素均为10bit像素,具体处理过程为:
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的一样;
S13、量化
将S12待压缩块中像素的残差经过量化处理,获得待压缩块中像素的量化后残差;
S14、反量化和像素重建
将S13待压缩块中像素的量化后残差进行反量化处理和像素重建过程,获得像素的重建值,供S12预测时使用;
S15、熵编码
将S13待压缩块中像素的量化后残差进行熵编码,得到熵编码后像素残差;编码过程中编码阶数按组划分,每组内所有像素的编码阶数相同;
S16、码流打包
按照S15熵编码后像素残差按组依次进行打包处理,每组熵编码后像素残差值打包成一个打包后子码流;
S17、简化压缩处理
在满足压缩率要求的约束下,对待压缩块进行简化压缩处理;
所述的简化压缩处理:待压缩块中,采用棋盘格的方式取一半的像素传输高6位信息;对于未传输的像素,使用未传输的像素周围的三个传输的像素进行预测,未传输的像素预测值就作为重建值;预测模式分为四种:用未传输的像素左侧像素作为预测值;用未传输的像素右侧像素作为预测值,用未传输的像素垂直方向的像素作为预测值;使用周围三个像素的平均值作为预测值;
S18、压缩码流输出控制
根据S16打包后子码流及S17简化压缩处理形成的压缩码流,在压缩率要求下,形成待压缩块的压缩码流,并将此压缩码流输出;
所述的S18中,所述的压缩码流输出控制,具体过程如下:
S181:检测每个打包后子码流的长度;
S182:若某组打包后子码流的长度大于传输像素原始值的长度,则在形成压缩码流时舍弃打包后子码流,转而使用该组像素的原始像素值的高8位;否则,使用打包后子码流;
S183:在完成S181、S182之后,得到候选压缩码流的长度;若候选压缩码流的长度不满足压缩率要求,则舍弃该候选压缩码流,选择S17简化压缩处理的结果形成压缩码流;否则使用此候选码流作为压缩码流;
所述第二步,具体实现如下:
S21、码流解析
将来自片外缓存的压缩码流解析成各个独立的经过熵编码的像素残差值;
S22、熵解码
将S21经过熵编码的像素残差值进行解码处理,获得解码后的像素残差值;
S23、反量化
将S22解码后的像素残差值进行反量化处理,获得反量化后的像素残差值;
S24、像素形成
将S23反量化后的像素残差值加上预测值,得到重建像素值;
S25、简化压缩处理解码
若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则进行简化压缩处理解码将此码流解码,得到解码后的重建像素值;
S26、像素块复原
将S24得到的重建像素值进行组装,得到候选解压后像素块;若来自片外缓存的压缩码流是第一步中简化压缩处理形成的码流,则舍弃此候选解压后像素块,使用S25解码后得到的重建像素值,组装形成最终的解压后像素块;否则使用候选解压后像素块作为最终的解压后像素块。
2.根据权利要求1所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述的S11中,待压缩块是指:单独进行压缩,不依赖周围视频帧信息,形成一个码流的视频像素块。
3.根据权利要求1所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述的S13中,每组量化系数为固定或者自适应调整。
4.根据权利要求1-3任一项所述的用于超高清视频处理系统的片外缓存压缩方法,其特征在于:所述的S24中,使用已得到的重建像素值经过与第一步中相同的预测过程,得到当前像素的预测值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510870385.1A CN105472389B (zh) | 2015-12-01 | 2015-12-01 | 一种用于超高清视频处理系统的片外缓存压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510870385.1A CN105472389B (zh) | 2015-12-01 | 2015-12-01 | 一种用于超高清视频处理系统的片外缓存压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105472389A CN105472389A (zh) | 2016-04-06 |
CN105472389B true CN105472389B (zh) | 2018-11-16 |
Family
ID=55609605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510870385.1A Active CN105472389B (zh) | 2015-12-01 | 2015-12-01 | 一种用于超高清视频处理系统的片外缓存压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105472389B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763877B (zh) * | 2016-02-22 | 2019-01-01 | 青岛海信电器股份有限公司 | 一种视频帧像素块的压缩方法和装置 |
CN107026999A (zh) * | 2016-08-04 | 2017-08-08 | 成都小娱网络科技有限公司 | 一种用于超高清视频处理系统的片外缓存压缩方法 |
AU2018233042B2 (en) | 2018-09-21 | 2024-06-13 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a tree of blocks of video samples |
CN111882505B (zh) * | 2020-08-06 | 2023-10-20 | 鸣飞伟业技术有限公司 | 一种基于应急通信前端箱的应用系统 |
CN112929590B (zh) * | 2021-02-05 | 2022-10-04 | 广东欧谱曼迪科技有限公司 | 开机动画播放系统、压缩方法、装置及解压方法、装置 |
CN113068037B (zh) * | 2021-03-17 | 2022-12-06 | 上海哔哩哔哩科技有限公司 | 用于样点自适应补偿的方法及装置、设备和介质 |
CN113556540A (zh) * | 2021-07-30 | 2021-10-26 | 深圳市爱协生科技有限公司 | 图像显示设备的固定比压缩方法和系统 |
CN114785865B (zh) * | 2022-03-14 | 2023-05-23 | 四川九洲电器集团有限责任公司 | 一种二次雷达数据压缩方法、解压缩方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795415A (zh) * | 2010-04-22 | 2010-08-04 | 杭州华三通信技术有限公司 | 一种视频编码中的码率控制方法及其装置 |
CN103891278A (zh) * | 2011-11-07 | 2014-06-25 | 日本电信电话株式会社 | 图像编码以及解码方法、装置、程序 |
CN103959782A (zh) * | 2011-11-07 | 2014-07-30 | 夏普株式会社 | 具有增强cabac解码的视频解码器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101452860B1 (ko) * | 2009-08-17 | 2014-10-23 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
KR101715007B1 (ko) * | 2011-11-28 | 2017-03-13 | 한국전자통신연구원 | 매크로 블록 가변 크기 분할 방식의 인트라 프리딕션을 적용한 인코딩 방법 및 장치 |
-
2015
- 2015-12-01 CN CN201510870385.1A patent/CN105472389B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795415A (zh) * | 2010-04-22 | 2010-08-04 | 杭州华三通信技术有限公司 | 一种视频编码中的码率控制方法及其装置 |
CN103891278A (zh) * | 2011-11-07 | 2014-06-25 | 日本电信电话株式会社 | 图像编码以及解码方法、装置、程序 |
CN103959782A (zh) * | 2011-11-07 | 2014-07-30 | 夏普株式会社 | 具有增强cabac解码的视频解码器 |
Also Published As
Publication number | Publication date |
---|---|
CN105472389A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105472389B (zh) | 一种用于超高清视频处理系统的片外缓存压缩方法 | |
JP5399416B2 (ja) | 参照フレームの圧縮を伴うビデオ符号化システム | |
CN101908035B (zh) | 视频编解码方法、gpu及其与cpu的交互方法及系统 | |
CN101252694B (zh) | 基于块的视频解码的帧存储压缩和地址映射系统 | |
CN106210728B (zh) | 用于视频解码的电路、方法和视频解码器 | |
CN103814573A (zh) | 使用系数压缩进行解码的装置和方法 | |
US8363969B1 (en) | Systems and methods for image coding and processing | |
CN105120293A (zh) | 基于cpu和gpu的图像协同解码方法及装置 | |
US20070047655A1 (en) | Transpose buffering for video processing | |
CN105578190A (zh) | 应用于视频硬解码的无损压缩方法及系统 | |
CN105933708B (zh) | 一种数据压缩和解压缩的方法和装置 | |
US9510008B2 (en) | Video decoder memory bandwidth compression | |
CN106412579A (zh) | 一种图像的编码、解码方法和装置 | |
US20060133512A1 (en) | Video decoder and associated methods of operation | |
CN107026999A (zh) | 一种用于超高清视频处理系统的片外缓存压缩方法 | |
CN105472442B (zh) | 一种用于超高清帧率上变换的片外缓存压缩系统 | |
DE112014000643T5 (de) | Bilddatencodierung für Zugriff nach Raster und nach Makroblock | |
CN101511025B (zh) | 图像压缩/解压缩的方法、装置 | |
CN108063947A (zh) | 一种基于像素纹理的无损参考帧压缩方法 | |
US20180131936A1 (en) | Conversion buffer to decouple normative and implementation data path interleaving of video coefficients | |
CN106817584A (zh) | 一种基于fpga的mjpeg压缩实现方法和fpga | |
CN104113759B (zh) | 视频系统、视频帧缓存再压缩/解压缩方法与装置 | |
US7330595B2 (en) | System and method for video data compression | |
CN114339263A (zh) | 一种针对视频数据的无损处理方法 | |
Lee et al. | Low latency variable length coding scheme for frame memory recompression |
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 |