CN101252694B - 基于块的视频解码的帧存储压缩和地址映射系统 - Google Patents
基于块的视频解码的帧存储压缩和地址映射系统 Download PDFInfo
- Publication number
- CN101252694B CN101252694B CN 200810103045 CN200810103045A CN101252694B CN 101252694 B CN101252694 B CN 101252694B CN 200810103045 CN200810103045 CN 200810103045 CN 200810103045 A CN200810103045 A CN 200810103045A CN 101252694 B CN101252694 B CN 101252694B
- Authority
- CN
- China
- Prior art keywords
- data
- circuit
- storage
- output
- control
- 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.)
- Expired - Fee Related
Links
Images
Abstract
基于块的视频解码的帧存储压缩和地址映射系统属于视频解码技术领域,其特征在于,在输入比特流经过熵解码、反变换和反量化后,对不同数据个数小于、等于16的块数据有一个采用无损定长编码方法压缩的过程,压缩时采用4种编码比特数,按照不同数据的个数进行定长压缩编码。在数据的存储方式中,对作为片外存储器的具有4个存储阵列的SDRAM进行存储时把上下左右相邻的10个宏块的数据存储在4个存储阵列的同一行,每个存储阵列的一行可以存储4个宏块的亮度数据,或8个宏块的色度数据。因而,本发明在无误差地压缩存储条件下,使写入存储器的数据减少50%左右,对存储器的行激活操作数减少85~95%左右,从而降低了带宽需求,同时也降低了能耗。
Description
技术领域
“基于块的视频解码的帧存储压缩和地址映射系统”直接应用的技术领域是对采用基于块的视频编解码标准进行压缩的视频序列进行解码的优化设计。本发明所述的方法对解码过程中的参考帧数据存储进行优化,减少了存储器的行激活次数和读写次数,从而降低了视频解码系统的功耗,充分利用了有限的带宽资源。
背景技术
随着视频编解码技术的发展,多媒体业务的种类越来越多,应用也越来越广泛,比如数字电视,移动电视,MP4,数码相框等都和人们的生活息息相关。在众多视频编解码标准中,大多采用了基于块的压缩方法,例如MPEG-2、H.264等;同时,这两种标准也是当前应用最广泛的视频编解码标准。MPEG-2应用于DVD存储,数字电视广播等领域,而H.264主要应用于便携式的多媒体设备如MP4等消费电子类产品。
近年来电路的处理能力快速增强,对视频的处理也已经向标清和高清(1920×1080)迈进,所处理的数据量急剧增加。而相比CMOS电路计算能力的发展速度,存储器的速度发展显得比较落后(见文献Susan L.Graham,Marc Snir,and Cynthia A.Patterson,“Getting up to speed:The Future of Supercompting,”The National Academies Press,Washington,D.C.,2004)。在视频解码过程中,需要保存参考帧图像的数据信息以支持后续解码过程,即需要对大量数据进行存储和读取操作,所需的存储带宽较高,而存储器所消耗的能量在系统中的比重也较大,因此对存储器的操作常常构成视频解码器设计的瓶颈。
多数多媒体处理系统通常以SDRAM(同步动态随机存取存储器)作为片外存储器,解码过程中的参考帧存储和显示之前的数据缓存都通过SDRAM来实现。视频解码过程中需要的存储带宽主要来自重建数据写回,参考帧数据读取,帧图像显示和读取输入压缩码流四部分操作,其中前三部分一般都是通过和SDRAM进行数据交互完成的,需要对SDRAM进行大量的读、写以及行激活等操作,从而对存储数据带宽提出了很高的要求。一般情况下,一个支持HDTV分辨率(1920×1080),帧率为30帧每秒的MPEG-2解码器需要的存储数据带宽大于2Gbps,而同样的H.264解码器在最坏情况下需要的带宽可达10Gbps(见文献K.Kawakami,M.Kuroda,H.Kawaguchi,and M.Yoshimoto,“Power and Memory Bandwidth Reduction of an H.264/AVC HDTV Decoder LSI with Elastic Pipeline Architecture,”Proceedings of Asia and South Pacific Design Automation Conference(ASP-DAC′07),2007.)。
视频解码中对存储器的操作不仅需要很高的数据带宽,也会消耗系统中很大一部能量。存储器的能耗主要包括动态能耗和静态能耗两部分,公式为: 其中M为存储器的bank(存储阵列)数目;而且静态功耗为其处于空闲状态的功耗,公式为: 动态功耗以读写和行激活,充电操作的功耗为主,公式为, 其中 为读/写的次数(见文献Seong-II Park,Yongseok Yi,and In-Cheol Park,“High Performance Memory Mode Control for HDTV Decoders”,IEEE Transactions on Consumer Electronics,Vol.49,No.4,pp.134-1353,2003.)。在当前的技术水平下,基于Micron公司的SDRAM模型,视频解码过程中存储器部分消耗的能量占视频解码系统能量的很大一部分(见文献SDRAM System-Power Calculator, http://www.micron.com/systemcalc.)。因此减少对片外存储器的操作,可以减少系统的能耗也能够降低视频解码所需要的存储带宽。
解决上述问题主要从两个方面入手。一方面是对存储器的管理机制进行优化,包括数据在存储器中的组织方式,地址映射方式,存储器操作控制(减少行激活次数)等;另一方面是减少存储的数据量,也就是对存储数据进行重压缩。基于块的编码标准中,对数据的操作是以宏块MB(16×16)为单位的,所以解码过程中重建数据的写回和参考帧读取都是基于宏块进行的。根据这个特点,此过程中对数据的压缩和存储方法也是基于宏块进行的。Hideo Ohira提出了一种非线性一维的差分编码方式对存储的参考帧图像进行压缩,以块为单位,每个块都采用相同的压缩比(见文献Hideo Ohira,and Fumitoshi Karube,“A Memory Reduction Approach for MPEG decoding System,”IEICE Trans.On Fundamentals,Vol.E82-A,pp.1588-1591,Aug,1999.)。Lee则采用了一种改进后的Hadamard变换和哥伦布编码联合的方法对每个块(8×8)的每行象素进行压缩,将其编码为32bit的段,即压缩到50%(见文献T.Y.Lee,“A New Frame-Recompression Algorithm and its Hardware Design for MPEG-2 Video Decoders,”IEEE Transactions on Circuits and Systems for Video Technology,Vol.13,No.6,June,2003,pp.529-534.)。Chen提出了一种自适应的存储方法,根据当前宏块的类型以及剩余的存储空间决定此宏块是以重建数据、压缩数据还是运动向量的方式存储(见文献C.C.Chen,and O.T.Chen,“Slice-Based Memory Reduction and Management for Storing Multiple Reference Frames of H.264 Video Codec,”Proceedings of 2006 IEEE Region 10 Conference,2006.)。这些方法都能减少存储的数据量,但是其共同存在的问题是,对参考帧数据采用了有损压缩,会降低图像的质量还会引起误码扩散问题;另外,处理中采用了不定长或者变换编码,当遇到被参考的宏块需要跨越多个相邻宏块的情况时会增加需要读取的数据量,带来额外的代价。
在存储的优化管理方面也有很多研究成果。传统的存储方法(记为传统方法)是在存储器中将图像的行列顺序和存储器的行列顺序对应,即图像同一行的数据存储在存储器存储空间的同一行,而亮度和色度分量分别存储在两个不同的存储空间。而基于块的视频解码是以宏块为单位进行的,那么每存储一个宏块的数据就需要进行多次行地址的变换,而在读取图像显示时,因为需要联合读取亮度和色度数据,也将不停的进行行地址变换,这会使存储器消耗大量的能量,也会增加读取和写入需要的延时。Kim提出了一种阵列地址翻译技术,对于帧数据的存储,定义一个窗口,窗口内的象素作为一个阵列一起进行存储地址映射,减少换行的次数,也简化地址映射的运算(见文献Hansoo Kim,and In-Cheol Park,“High-Performance and Low-Power Memory-Interface Architecture for Video Processing Applications,”IEEE Transactions on Circuits and Systems for Video Technology,Vol.11,No.11,pp.1160-1170,Nov.2001)。Jia对MPEG-2解码器中的运动补偿部分进行了改进,采用四个象素生成器并行执行双向预测和半象素预测,同时针对多bank的存储器改进存储方式,将4个上下左右相邻的窗口内的象素存储在不同bank的同一行中(记为Window4方法),减少了Memory的延时(见文献Jia Xiaoling,Chen Guanghua,and Zou Weiyu,“A High-Speed Memory Interface Architecture for MPEG-2 Video Decoder,”Proceedings of High Density Microsystem Design and Packaging and Component Failure Analysis,2005 Conference on,2005.)。同时,在运动补偿过程中需要读取的数据量一般大于写入的数据量,因此为了减少读取数据时候的行变换次数,Zhang提出了一种象素复制的办法,将前一行的象素复制一部分同时存储在下一行,但是这种方法在减少行激活次数的同时会增加需要的存储空间(见文献Peng Zhang,Wen Gao,Di Wu,and Don Xie,“An Efficient Reference Frame Storage Scheme for H.264 HDTV Decoder,”Proceedings of ICME 2006,pp.361-364,2006.)。为了进一步提高存储器的吞吐率,Wang提出了一种新的地址映射和数据管理方式,其基于多片SDRAM的系统结构,将宏块分组,每32个宏块(MB)一组,每组MB存储在多片SDRAM的相同行中;另外,改变亮度和色度信号的读取顺序以减少行激活的次数(见文献Tsun-Hsien Wang,and Ching-Te Chiu,“Low Power Design of High Performance Memory Access Architecture For HDTV Decoder,”Proceedings of ICME 2007,pp.699-702,2007.)。
发明内容
本发明提出了一种适用于基于块的视频解码器中的,可以减少存储带宽需求和降低存储器功耗的存储数据压缩方法和帧图像的存储映射结构,如图2、6、8、10、11所示。
本发明的特征在于:它含有:
基于块的MPEG视频解码的帧存储压缩和地址映射系统,其特征在于,含有:由熵解码电路、反变换和反量化电路、加法电路、运动补偿电路、主控制器、显示控制电路、重压缩电路、第1解压缩电路、第2解压缩电路、以及存储控制器组成的解码器,还有片外存储器和显示器,其中:
熵解码电路,输入是压缩比特流,输出是变换后的频域系数,
反变换和反量化电路,输入端与所述熵解码电路的输出端相连,再经过反变换和反量化后得到象素域数据输出,输出端接加法电路的输入端对于I帧中的每个宏块得到的是图像数据,先进行重压缩后再帧存储,对于前向预测帧P和双向预测帧B得到的是残差数据,则需要与所述运动补偿电路输出的参考帧相加后,再进行重压缩;
运动补偿电路,数据输入端与第1解压缩电路的输出端相连,数据输出端接加法电路的另一个输入端,在主控制器的控制下,运动补偿电路得到前向预测帧P和双向预测帧B所需的参考帧数据;
显示控制电路,数据输入端接第2解压缩电路的输出,数据输出端接外部显示器,该电路在主控制器的控制下,将第2解压缩电路输出的数据送到显示器进行显示;
重压缩电路,输入端与加法电路的输出端相连,输出端与存储控制器的数据输入端相连,将输入数据以8×8的块为单位,按以下步骤进行重压缩处理:
步骤(1),按以下方法判断,从所述加法电路输出的数据按原数据存储,还是对数据进行压缩再存储:
若一个块中不同数据的个数大于16,则按照原数据存储,
若一个块中不同数据的个数小于或等于16,则对其压缩存储;
步骤(2),建立每个块的存储方式说明字段,含有:
存储方式,位于第0个比特,包含按原数据存储和压缩存储两种方式,
空位,位于第1个比特,
编码比特数,位于第2、第3两个比特,对应于1~4比特,共4种编码的方式,
字典元素个数,位于第4~7比特,对应1~16共16种字典元素个数的情况;
步骤(3),若按原数据存储,则存储的内容在存储方式说明字段后即为原始块数据;
步骤(4),若压缩存储,则存储的内容在存储方式说明字段后为字典元素数据,每个字典元素用8个比特表示,字典元素的个数为步骤(2)中所述的字典元素个数所说明,字典元素后为对原始块数据的编码,即压缩后数据,对于不同的字典元素个数,块内数据采用如下编码方式:
1~2个字典元素,采用1比特,
3~4个字典元素,采用2比特,
5~8个字典元素,采用3比特,
9~16个字典元素,采用4比特,
步骤(5),把步骤(3)或步骤(4)的结果送入所述存储控制器:在宏块中,按照从左到右、从上到下的顺序依次把8×8块的数据输入;
所述重压缩电路含有:控制单元、8bit比较器、数据缓存单元、第1计数器、第2计数器、16:1选择器、1:16复用器、以及8bit的寄存器组R0~R15,其中:
8bit比较器,其输入端A0在所述步骤(1)时与所述重压缩电路的输入端相连,在其他步骤时与数据缓存的输出端相连,而输入端A1与16:1选择器的输出端相连,比较结果通过输出端送入控制单元;
数据缓存单元,其输入端与所述重压缩电路的输入端相连,在步骤(1)时,输入数据通过输入端依次缓存;
1:16复用器,16个数据输出端D0~D15分别与8bit的寄存器组的单元R0~R15相连,数据输入端与所述重压缩电路的输入端相连,选择控制端S0~S3接第1计数器的计数输出端,而其使能控制端接控制单元输出的控制信号;
16:1选择器,其16个数据输入端D0~D15分别与8bit的寄存器组的单元R0~R15相连,选择控制端S0~S3接第2计数器的计数输出端,使能控制端的信号由控制单元输出;
第1计数器,计数时钟为系统时钟CLK,在控制单元输出的信号控制下进行步骤(1)中不同数据个数的计数;
第2计数器,计数时钟为系统时钟CLK,在控制单元输出的信号控制下进行步骤(4)中数据压缩的控制计数;
控制单元,控制时钟为系统时钟CLK,根据输入的第1计数器的计数输出、第2计数器的计数输出、以及8bit比较器的输出信号,输出待存储的数据到存储控制器的数据输入端;
8bit的寄存器组R0~R15,分别存储步骤(1)中的不同的数据;
第1解压缩电路,数据输入端与所述存储控制器的输出端相连。该解压缩电路的数据输出端则和所述运动补偿电路的输入端相连,按以下步骤对所述存储控制器从片外存储器调出的压缩数据进行解压缩后,作为参考数据输入所述运动补偿电路,
步骤(1′),对于一个块的第1个字节数据,判断出当前块的存储方式;
步骤(2′),若为原始数据存储则把其后续数据作为象素数据依次输出;
步骤(3′),若为压缩存储数据,则根据前4个比特判断字典元素的个数,记为N,并根据后续的2个比特判断编码比特数,记为M;
步骤(4′),先把N个字典元素存入寄存器,再依次截取M比特根据其数据值选择相应寄存器中的数据输出,即为解压缩后的原始数据;
所述解压缩电路含有:判断和控制单元、16:1选择器、1:16复用器、以及8bit的寄存器组R0~R15,这些模块都在系统时钟CLK的控制下协同工作,其中:
16:1选择器,其16个输入端D0~D15分别与8bit的寄存器组的单元R0~R15相连,选择输入端S0~S3为判断和控制单元输出的信号,输出端与判断和控制单元相接;
1:16复用器,其输入端与判断和控制单元相接,输入的数据为判断和控制单元得到的步骤(4)中的字典元素,16个输出端D0~D15分别与8bit的寄存器组的单元R0~R15相连,选择输入端S0~S3为判断和控制单元输出的信号;
判断和控制单元,解压缩电路的输入数据送入此单元,控制16:1选择器和1:16复用器的数据选择,并通过16:1选择器输出端输出的数据得到解码数据输出,即为解压缩电路的输出;
8bit的寄存器组R0~R15,用于存储字典元素数据;
第2解压缩电路,内部组成结构与第1解压缩电路相同,其数据输入端与所述存储控制器的输出端相连,该解压缩电路的输出数据被送入显示控制电路;
片外存储器,与所述存储控制器互连,该片外存储器是一个SDRAM存储器,有4个存储阵列;
存储控制器,把上下左右相邻的10个宏块存储在所述片外存储的4个存储阵列中的同一行,每个存储阵列的一行存入了4个宏块的亮度数据,或者8个宏块的色度数据;所述存储控制器把压缩后的数据依据显示控制电路的命令通过第2解压缩电路送入显示控制电路,然后在显示控制电路控制下在显示器中显示;
主控制器:通过控制总线与所述熵解码电路、反变换和反量化电路、存储控制器、显示控制电路、以及重压缩电路互联。
本发明的有益效果是:
与传统的解码器以及之前的改进存储数据压缩方法相比,本发明所述的帧存储数据压缩方法可以在不带来任何误差的情况下将写入存储器的数据量降低50%左右,同时能够使读取的数据量有一定减少,减少了解码器的存储带宽需求。与传统的帧数据存储方式以及之前提出的典型优化方法相比,本发明所述的帧图像存储地址映射方法可以将对存储器的行激活操作次数减少85~95%左右,不仅降低了视频解码过程中的带宽需求,也降低了存储器的能耗。
附图说明
图1.传统的基于宏块的MPEG解码流程图;
图2.本发明所述的视频解码流程图;
图3.宏块中的亮度、色度块结构图示;
图4.一个宏块的参考数据跨越4个宏块的情况示意图;
图5.本发明所述的存储方式说明字段的说明图示;
图6.本发明中重压缩模块的实现框图;
图7.本发明中简化字典压缩方法对一个块的处理流程图;
图8.本发明中解压缩模块的实现框图;
图9.4个bank结构的SDRAM的示意图;
图10.本发明所述方法中图像中的窗口划分及宏块对应的存储位置示意图;
图11.本发明所述的方法中存储在同一行的10个宏块的亮度和色度数据在4个bank中的分配示意图。
具体实施方式
传统的MPEG视频解码的实现框图如附图1所示,其中粗箭头线代表数据信号,而细箭头线代表控制信号。视频流的解码以帧为单位进行,每帧内又是以宏块为单位进行的。主控制器控制整个解码流程,使各个模块协同工作,完成视频解码。显示控制对解码后的帧进行图像重排,按顺序控制时间进行显示。输入的压缩比特流首先经过熵解码,得到变换后的频域系数,然后再经过反变换和反量化得到象素域数据。如果是I帧得到的即是图像数据,可以直接进行帧存储;如果是P帧或者B帧,得到的就是残差数据,需要和其所参考的数据进行相加(也就是运动补偿)得到图像数据,然后再进行帧存储;解码的帧经过重新排序输出,得到解码后的视频序列。存储控制器控制帧存储数据与各个模块之间的交互,主要实现数据地址生成,存储器指令生成以及存储器模式控制等功能。各个模块处理一个宏块需要的周期数不同,主控制器就是用来控制每个模块的工作状态,使其能正确读取每个宏块经过上一模块处理后的数据。
附图2为本发明所述的优化方法的视频解码框图。虚线框内的为解码器部分,与附图1的结构大致相同,由主控制器控制各部分协同工作进行解码;而片外存储器和显示器为外部设备,片外存储器用于存储当前解码帧以及参考帧的数据,显示器用于顺序显示解码后的图像。图中带阴影的重压缩、第1解压缩、第2解压缩以及存储控制单元为本发明所述的方法与传统方法的不同之处。首先,为了减少存储器中需要写入的数据量,运动补偿以后的重建数据经过重压缩单元采用简化的字典方法进行压缩以后再存取,同时从存储器中读取参考数据时就需要将压缩的数据进行解压缩以后再输出。另外,显示设备也是从存储器中读取解码后的数据进行显示的,因此显示之前也需要将数据进行解压缩处理。同时为了减少对片外存储器的行激活操作,通过存储控制器对数据的存储地址进行了优化管理。本发明所述的存储优化方法的核心就包括上述两部分内容:对解码重建数据的重压缩方法和解码图像的存储方式管理。
基于块的视频解码,以MPEG-2为例,其解码流程是以宏块为单位对编码后的压缩数据进行解码并重建得到图像数据的。那么重建帧的存储也是以宏块为单位进行的。后面的 叙述中,宏块定义为尺寸为16×16的象素矩阵,而8×8的象素矩阵定义为块。以常用的色差格式4:2:0(即色度信号U、V在水平和垂直方向的采样密度都是亮度信号Y的一半)为例,每个16×16的宏块中包含6个8×8的块,其中包括四个Y块,一个U块和一个V块。附图3中所示数字为一个宏块中6个块的处理顺序。本发明所述的优化方法中对重建后数据的压缩结合解码处理过程的特点,以宏块为处理单元,当得到一个宏块的重建数据后,则将其先进行压缩处理后再存储;同时,在每个宏块内,以块为单位按图3所示的顺序进行处理。基于视频解码过程的特点,I帧和/或P帧图像重建后在后续解码过程中还会被作为参考帧读取,即从存储器中读取出来,与残差相加得到当前帧的图像数据(后文中都将当前解码的帧称作当前帧,而被参考的帧称为参考帧,如果参考帧时间顺序上在当前帧之前,则称作前向参考帧,否则称为后向参考帧)。在当前宏块的参考数据跨越参考帧的四个宏块的情况下,如图4所示,当前帧的MB0需要将其残差和参考帧的MB1~MB4对应的部分数据进行相加得到其重建数据,如果对于参考帧的压缩在宏块内采用了不定长编码,那么读取MB0的参考帧数据时就需要同时读取MB1~MB4四个宏块的数据并进行解码,这相当于增加了需要读取的数据量,也就是对存储数据的压缩会带来额外的代价。另外,如果压缩过程中带来误差,在后续的运动补偿操作中会出现误码扩散的问题,影响解码后的图像质量。
本发明中采用的压缩方法为无损的定长编码方法,没有误差,同时由于采用定长编码,可以根据运动向量进行选择,只读取需要的数据,不存在读取数据量增加的问题。本发明中所采用的压缩方法为基于块的简化定长字典压缩方法。压缩过程以块为单位进行。对于每个8×8的块,对其数据进行一遍扫描,根据其特点来决定其存储的方式:压缩存储还是以原数据存储。如果一个块中互不相同的数据个数大于16,则按照原数据存储,否则将其压缩存储。如果采用压缩存储,再按照块中不同数据的个数决定每个数据采用多少比特(bit)存储:1~2个数据采用1bit,3~4个数据采用2bit,5~8个数据采用3bit,9~16个数据采用4bit。每个块的存储内容分为3部分,从前到后依次为:存储方式说明,字典部分,压缩后数据部分。如果按原数据存储则没有字典部分,存储方式说明后即为原始数据存储。存储方式说明部分采用8个比特表示,即1字节,每个bit表示的意义如附图5中所示,其中图5(a)为以压缩存储方式的情况,存储方式说明的内容包括字典元素个数、编码比特数、以及压缩存储还是原数据存储的说明;图5(b)所示为以原数据存储的情况,只有最低位表示原数据存储,其他比特位都为0。字典中的每个元素用8个bit表示,存储内容即为待编码的数据,对此数据的编码为其在字典中的序号,得到和其编码bit数对应的二进制编码。字典元素后存储的就是块中数据编码后的结果。如果块以原始数据存储,则存储方式说明后即为原始数据,每个用8bit表示,按照从左到右,从上到下的顺序存储。
附图6所示为附图2中重压缩单元的结构示意图。实现此压缩方法需要16个8bit的寄存器组R0~R15,一个8位比较器,数据缓存单元以及计数器1、计数器2、多路复用器和选择器、以及控制单元所组成的逻辑控制部分。对于一个块来说,整个压缩过程需要进行两次扫描。第一遍扫描确定此块数据的编码方式并将字典元素存入8bit的寄存器组R0~R15。数据输入后缓存到先入先出的数据缓存单元,第一个数据直接存入寄存器R0,后续的数据送到比较器中与已经存入寄存器组中的数据依次进行比较,如果与当前寄存器的数据都不相同则存入下一个寄存器。待比较的数据由控制单元输出的信号控制计数器2计数到需要的位置,然后通过16:1选择器选择相应寄存器的数据得到。存入寄存器组的数据由控制单元的信号控制计数器1计数到需要的位置,然后通过1:16复用器存取相应的寄存器。附图7所示即为第一遍扫描的流程图。首先将当前块的第一数据存入R0中(计数器1的初始值为0),数据个数用计数器1的值n表示,n置为1;然后读取下一个数据,通过计数器2控制选择器,依次选择从R0开始的n的数据与其进行比较。如果当前数据与其中某个数据相同,则读取下一个数据重复上述过程;否则将当前数据通过复用器存入第n+1个寄存 器Rn,并将n增加1,再读取下一个数据重复上述过程。如果此过程中发现n大于16了,则确定此块以原始数据存储,设置控制单元到相应状态,依次输出8bit的编码信息并进入第二遍扫描。如果已经扫描到块的最后一个数据时n仍然小于等于16,则确定此块以压缩数据进行存储;根据n的大小,确定每个数据编码的比特数,设置控制单元到相应的状态,输出8bit的编码信息以及8bit的寄存器R0~Rn-1中的数据,然后进入第二遍扫描。
如果当前块以原始数据方式存储,则第二遍扫描时只需依次读取数据缓存中的数据然后输出即可。如果当前块以压缩方式存储,则第二遍扫描时依次从数据缓存单元取出存入的数据,用控制单元控制计数器2从0开始计数通过选择器选择R0~R15中的数据送到A1与送入A0的数据进行比较,如果Rn中的数据与其相同,则将当前计数器2的值n输出作为其编码值。
解压缩过程的实现为重压缩的反过程。附图8所示为解压缩单元的框图,其中包括16个8bit的寄存器组R0~R15,一个选择器和一个复用器,以及一个控制整个流程的判断和控制单元。解码时,数据依次送入判断和控制单元。如果此数据为一个块的第一个字节数据,则根据其内容(附图5所示)判断当前块的存储方式。如果其以原始数据存储,则将后续数据即为象素数据,将其依次输出。如果以压缩数据存储,则根据前4个bit判断字典元素的个数,即为N,并根据后续的2个bit判断编码bit数,记为M。然后将后续输入判断和控制单元的N的数据(即字典元素)通过控制单元的控制经复用器存入相应的寄存器(R0~RN-1)。后续输入的数据,分别截取M bit,根据其数据值,由判断和控制单元控制选择器选择相应寄存器中的数据依次输出,即为解压缩后的原始数据。
为了验证本方法的效果,我们采用一些SDTV~HDTV大小的视频序列作为测试序列。这些视频序列都采用4:2:0的YUV色差格式,每个序列含有6帧。采用MPEG-2标准的编码器对其进行编码得到编码码流,编码帧格式依次为IBBPBI,其他信息如表1中所示。然后在将编码后的码流进行解码的过程中,将需要存储的参考帧数据按照本发明所述的方法进行压缩,读取参考帧数据时再将相应数据进行解压缩,分析其得到的效果。
表1 测试序列的编码参数信息
视频序列 | 大小 | 帧数 | 编码码率 | 帧类型 | 编码级别 |
Mobcal | 720×576 | 6 | 6M | IBBPBI | MP@ML |
Parkrun | 720×576 | 6 | 6M | IBBPBI | MP@ML |
Stockholm | 720×576 | 6 | 6M | IBBPBI | MP@ML |
Shields | 720×576 | 6 | 6M | IBBPBI | MP@ML |
Mobcal | 1280×720 | 6 | 15M | IBBPBI | MP@HL |
Parkrun | 1280×720 | 6 | 15M | IBBPBI | MP@HL |
Shields | 1280×720 | 6 | 15M | IBBPBI | MP@HL |
Area | 1920×1080 | 6 | 20M | IBBPBI | MP@HL |
Bluesky | 1920×1080 | 6 | 20M | IBBPBI | MP@HL |
Riverbed | 1920×1080 | 6 | 20M | IBBPBI | MP@HL |
Rush_hour | 1920×1080 | 6 | 20M | IBBPBI | MP@HL |
Station | 1920×1080 | 6 | 20M | IBBPBI | MP@HL |
Sunflower | 1920×1080 | 6 | 20M | IBBPBI | MP@HL |
将测试序列需要存储的数据用本发明所述的简化定长字典方法压缩,分别计算Y、U、V分量压缩后的字节数与原字节数的百分比,如表2所示。通过比较可以发现,对于720×576和1280×720尺寸的视频序列来说,Y分量可以压缩的空间较少,不过对于1920×1080大小的序列Y分量的压缩比多数都能达到60%左右;而对于U、V分量,这几个序列都可以达到50%左右或者更低,也就意味着采用此方法,可以将解码过程中写入存储器的 数据量减少50%左右。表2的最右边两列分别列出了将Y、U、V分量都进行压缩和只将U、V分量进行压缩而Y分量以原数据存储的整体压缩比。可以看出,对于720×576和1280×720的序列,亮度分量以原始数据存储,只将色度分量按本发明所示的方法进行压缩,一方面可以减少压缩运算带来的代价,另一个方面也可以得到和将所有数据都进行压缩近似的压缩比。而对于1920×1080的序列,解码过程中,将所有分量都进行压缩,以得到更高的压缩比。
表2 各测试序列的压缩效果(压缩后字节数与原字节数百分比)
视频序列 | 大小 | Y(%) | U(%) | V(%) | Total1(YUV) | Total2(UV) |
Mobcal | 720×576 | 90.47 | 61.62 | 47.19 | 78.45 | 84.80 |
Parkrun | 720×576 | 98.06 | 35.72 | 21.75 | 74.95 | 76.25 |
Stockholm | 720×576 | 84.19 | 48.10 | 45.15 | 71.67 | 82.21 |
Shields | 720×576 | 90.12 | 58.83 | 54.76 | 79.01 | 85.60 |
Mobcal | 1280×720 | 91.79 | 69.81 | 43.39 | 80.06 | 85.53 |
Parkrun | 1280×720 | 99.80 | 43.81 | 22.97 | 77.66 | 77.80 |
Shields | 1280×720 | 91.68 | 66.72 | 58.17 | 81.94 | 87.48 |
Area | 1920×1080 | 56.33 | 28.75 | 24.79 | 46.48 | 75.59 |
Bluesky | 1920×1080 | 49.39 | 43.77 | 37.13 | 46.41 | 80.15 |
Riverbed | 1920×1080 | 84.07 | 40.25 | 26.00 | 67.09 | 77.71 |
Rush_hour | 1920×1080 | 65.05 | 37.60 | 30.89 | 54.78 | 78.08 |
Station | 1920×1080 | 76.62 | 39.19 | 39.89 | 64.26 | 79.85 |
Sunflower | 1920×1080 | 64.68 | 63.49 | 50.57 | 62.13 | 85.68 |
同时,我们对采用本发明所述的压缩方法的解码器读取参考帧时需要读取的数据量进行了统计,并和标准MPEG-2解码器进行比较。表3所示即为每个序列按照原始方法解码需要读取的象素数和分别采用只将色度分量压缩以及所有分量都压缩的方法后,需要读取的数据量以及其与原始方法的比。从表中可以看出,本发明所述的方法不仅不存在与之前方法一样的会使得读取数据量增加的问题,还在一定程度上减少了需要读取的数据量。
表3 各测试序列读取参考帧时读取的数据量以及其比值
另一个影响解码过程中存储器的功耗和延时的主要因素就是数据的存储方式以及存储器操作的管理。本发明采用将同一个宏块的亮度和色度分量都存储在实际存储空间的同一 行,并且将上下左右相邻的10个宏块存储在同一行的方法。当前的多bank结构SDRAM存储器以4个bank结构居多,本发明所述的方法即基于4个bank结构的SDRAM实现,附图9所示即为含有4个bank的SDRAM示意图。本方法给每个块分配同样的存储空间,即64×8=512bit。存储器每行(也就是一个page)的存储单元为8Kbit(即8192个),而每个宏块含有4个亮度块和2个色度块,按每个数据8bit计算,总共64×6×8=3072bit。而一块SDRAM含有4个bank,每行为8192bit,因此4个bank的同一行最多可以存储10个宏块的数据。因此,在本发明所述的方法中,上下左右相邻的10个宏块存储在4个bank的同一行,如附图7所示。而一个宏块中,亮度数据共有2048bit,色度数据共有1024bit,因此一个bank的一行可以存储4个宏块的亮度数据或者8个宏块的色度数据。
在本发明所述的方法中,我们定义一个窗口包含10个宏块,在一个窗口内的宏块数据存储在同一行地址空间中。附图10所示即为窗口分割及其对应的存储器的行地址示意图。每相邻的2行5列中的10个宏块划分为一个窗口,后续按照图像行顺序从左到右分配,最后不足5列则按5列记,也划分为一个窗口。窗口内的数据按照图像空间顺序从左到右,从上到下依次存储在存储器的相邻行内。附图11所示为每个窗口中的宏块数据在4个bank的行地址空间中的分配方式。这里我们给10个宏块按图中所示的方式编号为0~9,以第0宏块为例,其亮度分量记为Y0(为16×16的象素块),色度分量记为UV0(为两个8×8的象素块)。每个bank的每行空间被等分为4份,即每份含有2048个存储单元,正好可以存储一个宏块的亮度分量或者两个宏块的色度分量。如附图11所示,bank0和bank1分别存储宏块0、1、2、3、5、6、7、8的亮度分量,bank2存储上述宏块的色度分量;bank3存储宏块4、9的亮度和色度分量。bank3的每行中有2048bit存储单元剩余,正好用于存储以原始数据存储的块的最后一个字节数据。
在MPEG-2解码器中,如果解码后即时显示,则需要同时存储的图像最多为3帧:两个参考帧(前向参考帧和后向参考帧)和一个当前解码帧。按照图像的大小分配每帧的存储空间,确定三个初始地址,A1,A2和A3。并定义三个地址指针,分别指向前向参考帧,后向参考帧和当前帧图像的起始行地址。解码过程中地址的判断方式如下:(1)解码的第一帧为I帧,以A1为起始地址,并将前向参考帧和当前帧的指针都赋值为A1;第二个解码帧为P帧,以A2为起始地址,并将后向参考帧和当前帧的指针都赋值为A2;(2)如果下一帧为B帧,则将当前帧指针赋值为A3,以A3为起始地址;如果为P帧或者I帧,则将前向参考帧指针赋给当前帧,从此地址开始,而将之前的后向参考帧指针和前向参考帧指针互换;(3)下一帧按照(2)中的方式存储,如此循环下去。这种方法在存储过程中不需要进行将当前帧转存到参考帧的存储空间的操作,只需要进行指针的变换,减少了此项读写操作。对于每帧图像,确定起始行地址后,根据窗口是否改变确定行地址是否需要递增。第一个宏块存储在当前行,并记录此地址;后续的4个宏块都属于同一窗口,按照前面所述的存储对应方法确定其列地址。第6个宏块属于另一个窗口,行地址增加1,重复上述的过程。到达图像的下一行宏块时,即附图10中所示的“行:1”,读取之前记录的第一个宏块的行地址,将相邻的5个宏块数据存入对应的列地址空间。到达附图10中所示的“行:2”时,窗口变化,将行地址加1,并记录此地址,然后重复上述过程;如此进行下去即可实现本发明所述的存储方法。
图像数据在存储器中的不同存储方式主要影响的参数为对于存储器的行激活次数,而行激活操作也是SDRAM工作时最消耗能量的操作之一。在这里我们将本发明的方法和之前所述的传统方法以及典型的Window4方法进行了对比。视频解码过程中,除了读取待解码数据,需要对SDRAM进行操作的主要包括三部分:重建数据写回,参考帧读取和显示图像数据读取。因此,比较不同存储方法的行激活次数也主要比较这三类操作。表4、表5和表6分别列出了传统方法,Window4方法和本发明所述的方法在对测试序列进行解码和显示过程中的行激活次数。
表4 传统方法中对存储器的行激活次数统计
序列 | 大小 | 重建写回 | 读取参考帧 | 显示读取 | 总数 |
Mobcal | 720×576 | 466560 | 327104 | 311040 | 1104704 |
Parkrun | 720×576 | 466560 | 340544 | 311040 | 1118144 |
Stockholm | 720×576 | 466560 | 323552 | 311040 | 1101152 |
Shields | 720×576 | 466560 | 260448 | 311040 | 1038048 |
Mobcal | 1280×720 | 1059840 | 769376 | 691200 | 2520416 |
Parkrun | 1280×720 | 1059840 | 758496 | 691200 | 2509536 |
Shields | 1280×720 | 1059840 | 768608 | 691200 | 2519648 |
Area | 1920×1080 | 2350080 | 905824 | 1555200 | 4811104 |
Bluesky | 1920×1080 | 2350080 | 1254496 | 1555200 | 5159776 |
Riverbed | 1920×1080 | 2350080 | 1029152 | 1555200 | 4934432 |
Rush_hour | 1920×1080 | 2350080 | 1427936 | 1555200 | 5333216 |
Station | 1920×1080 | 2350080 | 1303808 | 1555200 | 5209088 |
Sunflower | 1920×1080 | 2350080 | 1177696 | 1555200 | 5082976 |
表5 Window4方法中对存储器的行激活次数统计
序列 | 大小 | 重建写回 | 读取参考帧 | 显示读取 | 总数 |
Mobcal | 720×576 | 4860 | 24855 | 311040 | 340755 |
Parkrun | 720×576 | 4860 | 26319 | 311040 | 342219 |
Stockholm | 720×576 | 4860 | 24799 | 311040 | 340699 |
Shields | 720×576 | 4860 | 20252 | 311040 | 336152 |
Mobcal | 1280×720 | 11040 | 51227 | 691200 | 753467 |
Parkrun | 1280×720 | 11040 | 61008 | 691200 | 763248 |
Shields | 1280×720 | 11040 | 59554 | 691200 | 761794 |
Area | 1920×1080 | 24480 | 74839 | 1555200 | 1654519 |
Bluesky | 1920×1080 | 24480 | 109918 | 1555200 | 1689598 |
Riverbed | 1920×1080 | 24480 | 91636 | 1555200 | 1671316 |
Rush_hour | 1920×1080 | 24480 | 122746 | 1555200 | 1702426 |
Station | 1920×1080 | 24480 | 116742 | 1555200 | 1696422 |
Sunflower | 1920×1080 | 24480 | 106573 | 1555200 | 1686253 |
表6 本发明的方法中对存储器的行激活次数统计
序列 | 大小 | 重建写回 | 读取参考帧 | 显示读取 | 总数 |
Mobcal | 720×576 | 2160 | 15453 | 34560 | 52173 |
Parkrun | 720×576 | 2160 | 14958 | 34560 | 51678 |
Stockholm | 720×576 | 2160 | 13689 | 34560 | 50409 |
Shields | 720×576 | 2160 | 11462 | 34560 | 48182 |
Mobcal | 1280×720 | 4590 | 28053 | 73440 | 106083 |
Parkrun | 1280×720 | 4590 | 37712 | 73440 | 115742 |
Shields | 1280×720 | 4590 | 33282 | 73440 | 111312 |
Area | 1920×1080 | 10200 | 45145 | 162000 | 217345 |
Bluesky | 1920×1080 | 10200 | 65603 | 162000 | 237803 |
Riverbed | 1920×1080 | 10200 | 56037 | 162000 | 228237 |
Rush_hour | 1920×1080 | 10200 | 75442 | 162000 | 247642 |
Station | 1920×1080 | 10200 | 70178 | 162000 | 242378 |
Sunflower | 1920×1080 | 10200 | 64183 | 162000 | 236383 |
从上述三个表格中可以看出,本发明所述的方法在解码过程的重建写回、参考帧读取和显示数据读取操作中需要的行激活次数都比之前的方法减少很多。表7所示为在对测试序列进行解码的过程中三种方法需要的行激活总数的比较。从表中可以看出,对于以一块4个bank的SDRAM作为片外存储的解码器结构,相比传统方法,本方法的行激活次数可以减少95%以上,而相比之前提出的Window4以及与其类似的方法,本方法的行激活次数可以减少85%左右。
表7 三种方法中行激活次数总数的比较
上面的读写数据减少以及行激活次数减少情况是基于MPEG-2解码器统计的,本发明所述的方法也同样适用于其他基于块的视频解码标准,例如H.264解码等,并能够得到类似的效果。
综上所述,在基于块的视频解码过程中,采用本发明所述的对存储数据用简化定长字典方法压缩,在读取参考帧时再进行解压缩的方法,在不带来任何误差的情况下,可以将写入存储器的数据量减少50%左右,也能够使读取的数据量有一定的降低;同时在以多bank的SDRAM为外部存储器的情况下,图像数据在存储器中的地址映射采用同一宏块的亮度和色度数据存储于同一行,上下左右相邻的10个宏块存储于4个bank的相同行的方法可以将对外部存储器的行激活次数减少85%左右。本发明所述的方法减少了视频解码过程中需要的存储带宽,也降低了解码过程中存储器的能耗,适用于数据量越来越大的视频解码系统。同时,在当前存储器的速度发展落后于CMOS电路的计算能力发展的情况下,本发明所述的方法也可以缓解存储器在系统中造成的瓶颈问题。
Claims (1)
1.基于块的MPEG视频解码的帧存储压缩和地址映射系统,其特征在于,含有:由熵解码电路、反变换和反量化电路、加法电路、运动补偿电路、主控制器、显示控制电路、重压缩电路、第1解压缩电路、第2解压缩电路、以及存储控制器组成的解码器,还有片外存储器和显示器,其中:
熵解码电路,输入是压缩比特流,输出是变换后的频域系数,
反变换和反量化电路,输入端与所述熵解码电路的输出端相连,再经过反变换和反量化后得到象素域数据输出,输出端接加法电路的输入端对于I帧中的每个宏块得到的是图像数据,先进行重压缩后再帧存储,对于前向预测帧P和双向预测帧B得到的是残差数据,则需要与所述运动补偿电路输出的参考帧相加后,再进行重压缩;
运动补偿电路,数据输入端与第1解压缩电路的输出端相连,数据输出端接加法电路的另一个输入端,在主控制器的控制下,运动补偿电路得到前向预测帧P和双向预测帧B所需的参考帧数据;
显示控制电路,数据输入端接第2解压缩电路的输出,数据输出端接外部显示器,该电路在主控制器的控制下,将第2解压缩电路输出的数据送到显示器进行显示;
重压缩电路,输入端与加法电路的输出端相连,输出端与存储控制器的数据输入端相连,将输入数据以8×8的块为单位,按以下步骤进行重压缩处理:
步骤(1),按以下方法判断,从所述加法电路输出的数据按原数据存储,还是对数据进行压缩再存储:
若一个块中不同数据的个数大于16,则按照原数据存储,
若一个块中不同数据的个数小于或等于16,则对其压缩存储;
步骤(2),建立每个块的存储方式说明字段,含有:
存储方式,位于第0个比特,包含按原数据存储和压缩存储两种方式,
空位,位于第1个比特,
编码比特数,位于第2、第3两个比特,对应于1~4比特,共4种编码的方式,
字典元素个数,位于第4~7比特,对应1~16共16种字典元素个数的情况;
步骤(3),若按原数据存储,则存储的内容在存储方式说明字段后即为原始块数据;
步骤(4),若压缩存储,则存储的内容在存储方式说明字段后为字典元素数据,每个字典元素用8个比特表示,字典元素的个数为步骤(2)中所述的字典元素个数所说明,字典元素后为对原始块数据的编码,即压缩后数据,对于不同的字典元素个数,块内数据采用如下编码方式:
1~2个字典元素,采用1比特,
3~4个字典元素,采用2比特,
5~8个字典元素,采用3比特,
9~16个字典元素,采用4比特,
步骤(5),把步骤(3)或步骤(4)的结果送入所述存储控制器:在宏块中,按照从左到右、从上到下的顺序依次把8×8块的数据输入;
所述重压缩电路含有:控制单元、8bit比较器、数据缓存单元、第1计数器、第2计数器、16:1选择器、1:16复用器、以及8bit的寄存器组R0至R15,其中:
8bit比较器,其输入端A0在所述步骤(1)时与所述重压缩电路的输入端相连,在其他步骤时与数据缓存的输出端相连,而输入端A1与16:1选择器的输出端相连,比较结果通过输出端送入控制单元;
数据缓存单元,其输入端与所述重压缩电路的输入端相连,在步骤(1)时,输入数据通过输入端依次缓存;
1:16复用器,16个数据输出端D0~D15分别与8bit的寄存器组的单元R0~R15相连,数据输入端与所述重压缩电路的输入端相连,选择控制端S0~S3接第1计数器的计数输出端,而其使能控制端接控制单元输出的控制信号;
16:1选择器,其16个数据输入端D0~D15分别与8bit的寄存器组的单元R0~R15相连,选择控制端S0~S3接第2计数器的计数输出端,使能控制端的信号由控制单元输出;
第1计数器,计数时钟为系统时钟CLK,在控制单元输出的信号控制下进行步骤(1)中不同数据个数的计数;
第2计数器,计数时钟为系统时钟CLK,在控制单元输出的信号控制下进行步骤(4)中数据压缩的控制计数;
控制单元,控制时钟为系统时钟CLK,根据输入的第1计数器的计数输出、第2计数器的计数输出、以及8bit比较器的输出信号,输出待存储的数据到存储控制器的数据输入端;
8bit的寄存器组R0~R15,分别存储步骤(1)中的不同的数据;
第1解压缩电路,数据输入端与所述存储控制器的输出端相连。该解压缩电路的数据输出端则和所述运动补偿电路的输入端相连,按以下步骤对所述存储控制器从片外存储器调出的压缩数据进行解压缩后,作为参考数据输入所述运动补偿电路,
步骤(1′),对于一个块的第1个字节数据,判断出当前块的存储方式;
步骤(2′),若为原始数据存储则把其后续数据作为象素数据依次输出;
步骤(3′),若为压缩存储数据,则根据前4个比特判断字典元素的个数,记为N,并根据后续的2个比特判断编码比特数,记为M;
步骤(4′),先把N个字典元素存入寄存器,再依次截取M比特根据其数据值选择相应寄存器中的数据输出,即为解压缩后的原始数据;
所述解压缩电路含有:判断和控制单元、16:1选择器、1:16复用器、以及8bit的寄存器组R0~R15,这些模块都在系统时钟CLK的控制下协同工作,其中:
16:1选择器,其16个输入端D0~D15分别与8bit的寄存器组的单元R0~R15相连,选择输入端S0~S3为判断和控制单元输出的信号,输出端与判断和控制单元相接;
1:16复用器,其输入端与判断和控制单元相接,输入的数据为判断和控制单元得到的步骤(4)中的字典元素,16个输出端D0~D15分别与8bit的寄存器组的单元R0~R15相连,选择输入端S0~S3为判断和控制单元输出的信号;
判断和控制单元,解压缩电路的输入数据送入此单元,控制16:1选择器和1:16复用器的数据选择,并通过16:1选择器输出端输出的数据得到解码数据输出,即为解压缩电路的输出;
8bit的寄存器组R0~R15,用于存储字典元素数据;
第2解压缩电路,内部组成结构与第1解压缩电路相同,其数据输入端与所述存储控制器的输出端相连,该解压缩电路的输出数据被送入显示控制电路;
片外存储器,与所述存储控制器互连,该片外存储器是一个SDRAM存储器,有4个存储阵列;
存储控制器,把上下左右相邻的10个宏块存储在所述片外存储的4个存储阵列中的同一行,每个存储阵列的一行存入了4个宏块的亮度数据,或者8个宏块的色度数据;所述存储控制器把压缩后的数据依据显示控制电路的命令通过第2解压缩电路送入显示控制电路,然后在显示控制电路控制下在显示器中显示;
主控制器:通过控制总线与所述熵解码电路、反变换和反量化电路、存储控制器、显示控制电路、以及重压缩电路互联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810103045 CN101252694B (zh) | 2008-03-31 | 2008-03-31 | 基于块的视频解码的帧存储压缩和地址映射系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810103045 CN101252694B (zh) | 2008-03-31 | 2008-03-31 | 基于块的视频解码的帧存储压缩和地址映射系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101252694A CN101252694A (zh) | 2008-08-27 |
CN101252694B true CN101252694B (zh) | 2011-08-17 |
Family
ID=39955851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810103045 Expired - Fee Related CN101252694B (zh) | 2008-03-31 | 2008-03-31 | 基于块的视频解码的帧存储压缩和地址映射系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101252694B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527849B (zh) * | 2009-03-30 | 2011-11-09 | 清华大学 | 集成视频解码器的存储系统 |
CN102023944A (zh) * | 2010-12-18 | 2011-04-20 | 浙江大学 | 一种存储器多模访问控制方法及其片上sram存储器控制系统 |
US10244239B2 (en) | 2010-12-28 | 2019-03-26 | Dolby Laboratories Licensing Corporation | Parameter set for picture segmentation |
CN102256131B (zh) * | 2011-07-28 | 2013-08-07 | 杭州士兰微电子股份有限公司 | 视频编码中数据帧存储空间的配置方法 |
CN102769755B (zh) * | 2012-08-03 | 2015-02-25 | 龙芯中科技术有限公司 | 一种视频编解码访存优化系统和方法 |
KR101951171B1 (ko) * | 2012-08-09 | 2019-02-25 | 삼성전자 주식회사 | 멀티미디어 프로세싱 시스템 및 그 동작 방법 |
US9647684B2 (en) | 2014-10-21 | 2017-05-09 | Huawei Technologies Co., Ltd. | Memory-based history search |
CN106506007A (zh) * | 2015-09-08 | 2017-03-15 | 联发科技(新加坡)私人有限公司 | 一种无损数据压缩和解压缩装置及其方法 |
CN106954073B (zh) * | 2016-01-07 | 2020-11-13 | 海信视像科技股份有限公司 | 一种视频数据输入和输出方法、装置与系统 |
CN105578190B (zh) | 2016-02-03 | 2018-05-04 | 珠海全志科技股份有限公司 | 应用于视频硬解码的无损压缩方法及系统 |
WO2018020299A1 (en) * | 2016-07-29 | 2018-02-01 | Chan Kam Fu | Lossless compression and decompression methods |
CN113873242A (zh) | 2016-08-31 | 2021-12-31 | 株式会社Kt | 用于对视频进行解码的方法和用于对视频进行编码的方法 |
WO2020145805A1 (ko) * | 2019-01-12 | 2020-07-16 | 주식회사 윌러스표준기술연구소 | 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치 |
GB2583061B (en) * | 2019-02-12 | 2023-03-15 | Advanced Risc Mach Ltd | Data processing systems |
-
2008
- 2008-03-31 CN CN 200810103045 patent/CN101252694B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101252694A (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252694B (zh) | 基于块的视频解码的帧存储压缩和地址映射系统 | |
CN101527849B (zh) | 集成视频解码器的存储系统 | |
CN101248430B (zh) | 视频处理的转置缓冲 | |
Gupte et al. | Memory bandwidth and power reduction using lossy reference frame compression in video encoding | |
CN105578190A (zh) | 应用于视频硬解码的无损压缩方法及系统 | |
US9894371B2 (en) | Video decoder memory bandwidth compression | |
CN105472389B (zh) | 一种用于超高清视频处理系统的片外缓存压缩方法 | |
Lian et al. | Lossless frame memory compression using pixel-grain prediction and dynamic order entropy coding | |
CN103686173A (zh) | 变换与反变换电路 | |
CN100493193C (zh) | 对实时数码视频影流进行缓存控制的方法和装置 | |
CN101883276B (zh) | 软硬件联合解码的多格式高清视频解码器结构 | |
CN112866695B (zh) | 一种视频编码器 | |
Lee et al. | Design of VLSI architecture of autocorrelation-based lossless recompression engine for memory-efficient video coding systems | |
Fan et al. | A parallel-access mapping method for the data exchange buffers around DCT/IDCT in HEVC encoders based on single-port SRAMs | |
CN114339263A (zh) | 一种针对视频数据的无损处理方法 | |
CN109005410A (zh) | 一种系数存取方法和装置及机器可读介质 | |
Yang et al. | An effective dictionary-based display frame compressor | |
CN100576917C (zh) | 逆扫描频率系数的方法和系统 | |
Chao et al. | An efficient architecture of multiple 8× 8 transforms for H. 264/AVC and VC-1 decoders | |
TWI565303B (zh) | 影像處理系統及影像處理方法 | |
Gao et al. | Lossless memory reduction and efficient frame storage architecture for HDTV video decoder | |
Husemann et al. | Optimized solution to accelerate in hardware an intra H. 264/SVC video encoder | |
US20090201989A1 (en) | Systems and Methods to Optimize Entropy Decoding | |
WO2023185806A9 (zh) | 一种图像编解码方法、装置、电子设备及存储介质 | |
Ouyang et al. | A dynamic JPEG CODEC with adaptive quantization table for frame storage compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110817 Termination date: 20180331 |