一种视频显示流压缩编码的硬件实现系统及方法与流程

文档序号:17376785发布日期:2019-04-12 23:23阅读:320来源:国知局
一种视频显示流压缩编码的硬件实现系统及方法与流程

本发明涉及一种视频显示流压缩编码的硬件实现系统及方法,属于图像压缩编码的技术领域。



背景技术:

目前显示技术快速发展,显示链路的带宽要求随着显示器分辨率的提高而成比例提升。然而一些显示链路无法满足高清显示器的带宽需求,可以对像素数据进行图像压缩使较低的显示链路带宽也能提供满足高清显示器的数字视频。

dsc算法是视频电子协会(videoelectronicstandardassociation,vesa)和mipi联盟制定的一种图像压缩标准,与其它视频、图像编码方面相关的技术相比,dsc在解决处理器与显示之间链路带宽问题上具有成本低、延时短、低功耗的优点,通过实现视觉无损的图片压缩减少传输数据量,以较低的显示链路带宽得以传输高清或超高清的视频信号,同时运用较简洁的硬件进行实施,来解决其它图像压缩方案在传统的显示设备中操作复杂,实施比较昂贵的缺点。

dsc技术目标被应用在嵌入式产品、移动设备的显示端(智能手机、平板电脑的usbtype-cdp1.4视频接口),多媒体(ar/vr头盔中多路采集视频的实时显示),汽车(先进驾驶辅助系统(adas)中视频信息的多路传送中。随着屏幕分辨率以及帧率的提升,对编码速率的要求越来越高,基于软件的dsc算法对图像的压缩速率较慢,对海量数据进行处理时需要消耗较长时间。



技术实现要素:

本发明所要解决的技术问题在于,针对目前基于软件的dsc算法压缩速率低的问题,本发明提出一种视频显示流压缩编码的硬件实现系统及方法,以有效提高压图像压缩时的执行效率,从而有效的降低压缩所消耗的时间。

本发明具体采用以下技术方案解决上述技术问题:

一种视频显示流压缩编码的硬件实现系统,包括:

颜色空间转换模块,用于将输入的待压缩编码rgb格式的视频源像素转化为压缩编码所需ycocg格式的像素数据;

像素缓存模块,用于将颜色空间转换模块所得ycocg格式的像素数据作为原始像素数据进行缓存;

控制模块,用于从像素缓存模块提取得到原始像素数据,及从行缓存模块提取得到预测所需相邻像素的重建值,并产生用于压缩编码的控制信号;

预测模块,用于根据控制模块所产生用于压缩编码的控制信号,由当前像素的相邻像素的重建值计算获得当前组的像素预测值;

量化模块,用于将当前组的像素预测值与控制模块提取的原始像素数据做差获得像素残差值,根据量化参数运算获得当前组像素量化残差值;

差值重建模块,用于将量化模块获得的当前组像素量化残差值和预测模块获得的当前组的像素预测值,计算获得当前组像素的重建值;

颜色历史索引模块,用于根据预先存储的历史使用的像素重建值和控制模块提取的原始像素数据进行对比,获得颜色历史索引下像素的重建值和像素索引值;

行缓存模块,用于将差值重建模块获得的当前组像素的重建值和颜色历史索引模块所获得像素的重建值,选取其中一种模式下像素的重建值,采用乒乓操作方式进行数据存储;

熵编码模块,用于对当前组像素量化残差值和颜色历史索引模块获得的像素索引值进行分别编码得到两种熵编码数据,并通过计算选择其中一种编码方式输出对应的熵编码数据;

码流复用模块,用于根据熵编码模块输出的一种熵编码数据,得到y、co、cg三个分量的压缩数据流,并将三个分量的数据流复用成一组数据流输出;

速率缓存fifo模块,用于对码流复用模块输出的一组数据流进行缓存并按照存储顺序拼接后输出。

进一步地,作为本发明的一种优选技术方案:还包括平坦度检测模块和码率控制模块,其中平坦度检测模块,用于对控制模块中当前组的原始像素所在的平坦情况进行判断,获得平坦度信号;所述码率控制模块,用于根据平坦度信号和熵编码模块所输出上一组熵编码数据的比特数进行当前组的qp值调节。

进一步地,作为本发明的一种优选技术方案:所述码率控制模块包括空满程度模块、线性转换模块、长项参数选择模块、短项qp值调整模块,其中空满程度模块,用于根据熵编码模块所输出的上一组熵编码数据的比特数和当前组待压缩编码分得的比特数进行计算,得到空满度;所述线性转换模块,用于根据空满度转换得到一定区间内的一个空满度值;所述长项参数选择模块,用于根据空满度值进行区间比对确定qp值的上下界;所述短项qp值调整模块,用于根据平坦度信号和qp值的上下界进行当前组的qp值调整。

进一步地,作为本发明的一种优选技术方案:所述颜色历史索引模块包括颜色历史存储模块、差值计算模块、索引值查找模块、最大误值计算模块,其中差值计算模块,用于将输入的原始像素数据与颜色历史存储模块预先存储的历史使用的像素重建值进行绝对差计算,得到差值;所述索引值查找模块,用于根据差值计算模块得到的差值比较得到最小差值的组以及其对应的索引值;所述最大误值计算模块,用于将索引值查找模块得到的索引值对应的像素值作为像素重建值并与原始像素数据做差,对一组中的三个像素的误差进行比较得到其中最大误差值,并将所得索引值、最大误差值输出至熵编码模块,将像素重建值经过选择器选择判定是否输入到行缓存模块中。

进一步地,作为本发明的一种优选技术方案:所述熵编码模块包括检查计算模块、预测尺寸模块、dsu_vlc编码模块、ich编码模块、选择模块,其中检查计算模块,用于根据输入的当前组像素量化残差值计算编码长度;所述ich编码模块,用于对输入的索引值进行编码得到索引值的编码数据;所述dsu_vlc编码模块,用于根据计算出的编码长度对当前组每个像素量化残差值编码获得当前组像素量化残差值的编码数据;所述预测尺寸模块用于根据dsu_vlc编码模块输出的当前组像素量化残差值的编码数据大小进行尺寸预测作为下一组的检查计算模块输入;所述选择模块,用于从索引值的编码数据和当前组像素量化残差值的编码数据中选择一种并输出。

进一步地,作为本发明的一种优选技术方案:所述速率缓存fifo模块对码流复用模块输出的一组数据流进行缓存并按照存储顺序拼接后输出,具体为:

对码流复用模块输出的一组数据流按照存储顺序拼接,并判断拼接后的数据长度与上一次拼接后剩余比特是否满足拼接输出条件,满足则输出该组数据流,并将数据流中超出拼接输出条件的数据保留下来作为下一次拼接的剩余比特。

进一步地,作为本发明的一种优选技术方案:所述拼接输出条件为数据码流拼接满48位。

本发明还提出一种视频显示流压缩编码的硬件实现方法,包括以下步骤:

将输入的待压缩编码rgb格式的视频源像素,转化为压缩编码所需ycocg格式的像素数据并将作为原始像素数据进行缓存;

提取得到原始像素数据,及缓存中提取得到预测所需相邻像素的重建值;根据产生的用于压缩编码的控制信号,由当前像素的相邻像素的重建值计算获得当前组的像素预测值;

将当前组的像素预测值与原始像素数据做差获得像素残差值,根据量化参数运算获得当前组像素量化残差值;根据获得的当前组像素量化残差值和当前组的像素预测值计算,计算获得当前组像素的重建值;

根据预先存储的历史使用的像素重建值和原始像素数据进行对比,获得颜色历史索引下像素的重建值和像素索引值;将获得的当前组像素的重建值和颜色历史索引下像素的重建值,取其中一种模式下像素的重建值,采用乒乓操作方式进行数据存储;

对当前组像素量化残差值和颜色历史索引模块获得的像素索引值进行分别编码得到两种熵编码数据,并通过计算选择其中一种编码方式输出对应的熵编码数据;根据输出的一种熵编码数据,得到y、co、cg三个分量的压缩数据流,将三个分量的数据流复用成一组数据流,且进行缓存并按照存储顺序拼接后输出。

进一步地,作为本发明的一种优选技术方案:所述方法还包括对当前组的原始像素所在的平坦情况进行判断,获得平坦度信号;根据平坦度信号和上一组熵编码数据的比特数进行当前组的qp值调节。

进一步地,作为本发明的一种优选技术方案:所述方法还包括对一组数据流按照存储顺序拼接,并判断拼接后的数据长度与上一次拼接后剩余比特是否满足拼接输出条件,满足则输出该组数据流,否则将数据流中超出拼接输出条件的数据保留下来作为下一次拼接的剩余比特。

本发明采用上述技术方案,能产生如下技术效果:

本发明提出的视频显示流压缩编码的硬件实现系统及方法,能有效提高图像压缩的处理速度,同时保留了dsc编码器的图像压缩性能,满足显示链路带宽的需求。

因此,本发明与现有技术相比的优点在于:

(1)本发明dsc编码硬件实现方法可以全部采用现场可编程门阵列fpga实现,具有全流水线、实时性好的特点;

(2)本发明完全遵照dsc标准来进行硬件实现,计算结果与标准算法完全等价,避免为了硬件实现上的方便而对原算法内容进行修改导致图像压缩性能下降的缺点,使得本发明具有良好的图像压缩性能;

(3)本发明在预测像素时,利用硬件并行计算的优势,将不同预测方法计算过程采用并行计算技术处理,关键路径延迟更少,更有利于系统运行速度的提升;

(4)本发明方法预先计算出前缀编码所有可能的结果,存储在fpga内部的查找表中,通过比较映射值查表可以得到相应的结果。该步骤的查表可以单周期完成,流水线实现。

附图说明

图1为本发明视频显示流压缩编码的硬件实现系统的结构示意图。

图2为本发明中颜色历史索引模块的结构示意图。

图3为本发明中码率控制模块的结构示意图。

图4为本发明中实现码率控制的流程图。

图5为本发明中熵编码模块的结构示意图。

图6为本发明视频显示流压缩编码的硬件实现方法的流程示意图。

具体实施方式

下面结合说明书附图对本发明的实施方式进行描述。

如图1所示,本发明设计了一种视频显示流压缩编码的硬件实现系统,该dsc编码的硬件实现系统主要包括:颜色空间转换模块101、数据读入像素缓存模块102、控制模块103、预测模块104、量化模块105、差值重建模块106、颜色历史索引模块107、平坦度检测模块108、码率控制模块109、熵编码模块110、行缓存模块111、码流复用模块112、速率缓存fifo113。

其中,所述颜色空间转换模块101,用于从外部接收需要压缩的rgb视频源像素,将输入的待压缩编码rgb格式的视频源像素转化为压缩编码所需ycocg格式的像素数据,其中每个像素包含3个分量;实现外部待处理数据与dsc编码系统间像素的格式转化。

所述像素缓存模块102,用于将颜色空间转换模块所得ycocg格式的像素数据作为原始像素数据进行缓存;将转换好的像素数据存入像素缓存模块102,可以从存储装置中由地址读取需要的像素数据。这样,像素缓存模块102可以实现直接待编码像素数据缓存。

所述控制模块103,连接所述像素缓存模块102和行缓存模块111,用于从像素缓存模块提102取得到量化所需要的原始像素数据,以3个像素为一组进行后续处理;及从行缓存模块111提取得到预测所需相邻像素的重建值,并产生用于压缩编码的控制信号;

例如,将上一个像素点数值信息传输至当前像素点编码处,上一个像素点数值信息作为当前处理像素点的邻近点。在编码时使用,控制模块对于读取到的像素,3个像素为一组,判断当前处理的像素组是不是处于该片图像的首行,如果是,则将当前像素位置其邻近点中的上一行像素的预测重建值按照y、co、cg分别赋值为128,256,256。若不是,由当前像素与其相邻像素的相应位置关系,依次从存储器中读取当前像素对应的上一行相邻像素信息。

所述预测模块104,其连接控制模块103,用于根据控制模块103产生的用于压缩编码的控制信号,由当前像素的相邻像素的重建值计算获得当前组的像素预测值;本发明中采用多种预测方式进行像素预测,所以可相应获得多组像素预测值。本实施例中依据dsc预测的采用3种预测模式:改进的自适应中值预测mmap、块预测bp和中点预测mpp。依据其各自的预测公式和方法,同时进行预测,获得当前组的像素预测值。

所述量化模块105,其连接所述预测模块104,用于将当前组的像素预测值分别与控制模块提取的原始像素数据做差获得像素残差值,根据量化参数运算获得当前组像素量化残差值;利用量化参数qp值,做2次幂运算,采用二进制的加法和位移获得多个像素残差值的量化值,预测残差值的计算在一个时钟周期内完成。其中量化参数qp值,由量化水平q,通过已经计算并存储好的量化值表查询得到。

所述差值重建模块106,其连接所述量化模块105,用于根据量化模块105获得的当前组像素量化残差值和预测模块获得的当前组的像素预测值计算,根据量化参数计算获得当前组像素的重建值;即根据多个预测量化残差的尺寸,选择出一组像素量化残差值和像素预测值,将该组像素量化残差值发送给熵编码模块110。其中,可利用dsc特定的模式选择算法,决定采用预测模块104中的mmap,bp或mpp预测模式中的一种,得到选定预测模式下对应的一组像素量化残差值和一组预测像素值计算,获得当前组像素的重建值。

所述颜色历史索引模块107,其连接控制模块103,用于根据预先存储的历史使用的像素重建值和控制模块提取的原始像素数据进行对比,获得颜色历史索引下像素的重建值和像素索引值;例如,颜色历史索引模块从控制模块103中得到原始像素与模块中寄存器中的像素进行比较后得到了最相似像素值,将该像素的存储地址即索引值发送给熵编码模块110,并对模块中寄存器中的像素进行更新。

所述平坦度检测模块108,其连接控制模块103,用于对控制模块中当前组的原始像素所在的平坦或复杂情况进行判断,获得平坦度信号;

所述码率控制模块109,其连接平坦度检测模块108,用于根据平坦度信号和熵编码模块110所输出上一组熵编码数据的码流的比特数进行当前组的qp值调节;例如通过平坦度检测模块108得到qp值的最大最小区间,结合差值重建模块106得到的预测残差尺寸,通过计算,动态的调整量化参数qp值的大小,将当前qp值输至下一个组像素编码处,在复杂区域使用较大qp值,在平坦区域使用较小qp值,使编码输出保持一个较稳定的速率。

所述行缓存模块111,用于将差值重建模块106获得的当前组像素的重建值和颜色历史索引模块107获得的像素重建值,采用选择算法取其中一种模式下像素的重建值,采用乒乓操作方式进行数据存储;将选取的一种像素的重建值写入数据存储装置,采用两个存储装置,用乒乓操作方式将重建值写入数据存储装置,以便给后面的像素预测使用,控制模块103从存储的像素重建值中读取需要的数据。

所述熵编码模块110,其连接差值重建模块106和颜色历史索引模块107,用于对当前组像素量化残差值和颜色历史索引模块获得的像素索引值进行分别编码,得到两种编码数据,并通过计算选择其中一种编码方式输出对应的编码数据;例如,像素量化残差值经差值重建模块106选择后得到被采用的残差值,像素经过颜色历史索引模块107后得到像素索引值,熵编码模块110将像素量化残差值和像素索引值分开编码,再进行选择其中一种编码方式输出。

所述码流复用模块112,其连接熵编码模块110,用于根据熵编码模块110输出的熵编码数据,得到y、co、cg三个分量的压缩数据流,并经一定规则将将三个分量的数据流复用成一组数据流输出;

所述速率缓存fifo模块113,用于对码流复用模块输出的一组数据流进行缓存并按照存储顺序拼接后输出。

图2为本发明提供的dsc编码的硬件实现系统的中颜色历史索引模块107的结构示意图。如图2所示,所述颜色历史索引模块具体包括:颜色历史存储模块201、差值计算模块202、索引值查找模块203、最大误值计算模块204。在实施实例中具体操作为,当dsc硬件编码系统初始化后,颜色历史存储模块201中存储历史使用过的32组像素重建值,并按使用时间的先后顺序从上到下排列,原始像素数据输入到差值计算模块202进行与颜色历史存储模块201中存储的32组像素重建值进行分别绝对差计算,计算得到的差值进入索引值查找模块203,通过比较得到最小差值的组以及其对应的索引值,将索引值输入到最大误值计算模块204中;所述最大误值计算模块204将得到的索引值对应的像素值作为像素重建值,并与控制模块103读取后输入到颜色历史索引模块107中的原始像素数据做差,对一组中的三个像素的误差进行比较得到其中最大误差值,y、co、cg三个分量分别进行操作,将得到的像素索引值、最大误差值输出给熵编码模块110,像素索引值用于后续编码,最大误差值经过计算得到是否采用ich编码方式的信号,将像素重建值经过选择器,通过ich编码方式信号的选择判定是否输入到行缓存111中用于下一组预测编码。

其中,所述颜色历史存储模块201,通过控制模块103获得上一组像素的重建值,重建值存入模块内一个深度为32的寄存器中,该寄存器存32个最近使用过的重建像素值,最新存入的数据放在最顶端,寄存器中的其它像素值依次下移,最底端数据随着新像素值进入而移出寄存器,若上一组编码模式最终为ich模式,寄存器中索引值对应的像素值提前至顶端,小于引用索引值对应寄存器中的像素值依次下移;所述差值计算模块202,计算输入的当前组原始像素值与寄存器中的32组像素值分别做差值的绝对值运算;

所述索引值查找模块203,根据输入的原始像素值与ich寄存器中的一一相减,通过公式计算获得每一组的加权sad,对于32组加权sad值,通过快速比较找出当前组中三个像素所对应的最小sad值,按照索引值的取值大小,依次在寄存器内分别查找出编号对应索引值最小的像素值作为重建值,其中32组索引值取值范围为“0”到“31”的整数值。

本实施例的系统中,平坦度检测模块108包括两个平坦度检测模块,通过对同一行的邻近像素进行最大值与最小值寻找,两者间的差值与特定阈值进行比较,确定平坦度类型,一个模块对于当前组与前一组数据进行操作,另一个模块对当前组与后一组像素中同时进行检测,通过信号判定模块对两模块检测结果的综合,获得平坦度判定的信号结果。

图3为本发明提供的dsc编码的硬件实现系统中码率控制引模块109的结构示意图。如图3所示,所述码率控制引模块具体包括:空满程度模块301、线性转换模块302、长项参数选择模块303、短项qp值调整模块304。在实施实例中具体操作为,本dsc编码的硬件实现系统中码率控制引模块接收到前一组编码比特数后开始工作,空满程度模块301根据熵编码模块110输出的上一组熵编码数据的码流得到的比特数和当前组待压缩编码分得的比特数进行计算,给出相应空满度,该值输入到线性转换模块302;所述线性转换模块302根据空满度转换后得到一定区间内的一个空满度值,长项参数选择模块303对该值进行区间比对确定qp值的上下界,所述短项qp值调整模块304根据像素组获得的平坦度信号和qp值的上下界进行当前组的qp值相应调整。

图4为本发明提供的dsc编码的硬件实现系统中实现码率控制的流程图,如图4所示,实现码率控制的流程包括:步骤401、步骤402、步骤403和步骤404,具体过程如下:

步骤401,初始化参数。dsc编码系统开始工作,先根据输入图像位数大小设定缓冲器空满的初始值,量化参数qp值的初始值设置为0。

步骤402,对当前组进行dsc压缩编码。对待压缩像素的当前组的每个像素进行dsc压缩编码:首先根据当前像素的相邻像素的重建值获得该组的像素预测值,将预测值和当前原始像素做差获得一个像素残差值,然后用当前的量化参数对该残差值进行量化,得到当前组像素量化残差值,再对当前组像素量化残差值进行映射或者采用颜色历史索引方式得到索引值,将映射后的残差值和索引值进行编码,在编码的过程中记录下当前组的编码比特个数。

步骤403,空满线性化转换。压缩完第i组以后,根据第i组的编码比特个数对缓冲区的空满程度进行线性化计算,通过计算后的线性化空满程度进行阈值区间上下界的比较得到长期参数。

步骤404,进一步进行短期参数qp调整。与相邻的i+1的图像内容的复杂度相结合,调整得到新的量化参数qp值,得到的qp值返还到新一轮的dsc压缩编码环节中,所获得的失真量化参数能使第i+1个编码组的码率近似达到目标码率。

图5为本发明提供的dsc编码的硬件实现系统中熵编码模块的结构示意图。如图5所示,熵编码模块包括:检查计算模块501、预测尺寸模块502、dsu_vlc编码模块503、ich编码模块504、选择模块505。在实施实例中具体操作为,熵编码模块读取量化后的当前组像素量化残差值作为计算检查模块501的输入,通过对像素量化残差值的大小来计算编码长度,达到数据压缩的目的。经计算后得到的编码长度送到ich编码模块504和dsu_vlc编码模块503中,在ich编码模块504中对输入的3个像素索引值按分类进行对应的编码,依据不同分量,采用对y分量采用“前缀+后缀”拼接的方式,对co,cg分量仅采用索引值的方式进行编码,得到索引值的编码数据;在dsu_vlc编码模块503中,采用两个数据通路,包括编码数据和编码数据比特长度,比特长度用于将比特流字符组合成连续的比特流,根据编码长度和其先前组编码方式相关信息的获取得到的前缀长度中“0”的个数以及装载一个残差数据的比特数,根据以上信息来计算编码数据。dsu_vlc编码模块503,根据计算出的编码长度对当前组每个像素量化残差值编码获得当前组像素量化残差值的编码数据,当前组像素的三个y、co、cg分量独立进行操作;在预测尺寸模块502中根据该组的像素量化残差值大小进行尺寸预测作为下一组的检查计算模块输入,其各自分量单独进行。两种方法得到的编码数据经过选择模块505选择后输出dsu_vlc编码或ich编码方式中的其中一种熵编码数据,得到编码数据流。

优选地,本发明系统中所述速率缓存fifo模块113,对于编码后存入缓冲器中的码流即码流复用模块112输出的一组数据流按照存储顺序拼接在一起,并判定熵编码的数据流长度与上次拼接后剩余比特是否满足拼接输出条件,所述拼接输出条件为数据码流拼接满48位;每当数据流拼接满48位时,将其输出到dsc编码器外,将数据流中多出的48位部分保留下来,作为下一次拼接的剩余比特。

图6为本发明提供的dsc编码的硬件实现方法的流程图;本发明还提出一种视频显示流压缩编码的硬件实现方法,如图6所示,包括:步骤601、步骤602、步骤603和步骤604。具体如下:

步骤601、转换传输过来的待压缩像素。将输入的待压缩编码rgb格式的视频源像素,转化为压缩编码所需ycocg格式的像素数据并将作为原始像素数据进行缓存;颜色空间转换模块101将传输进来需要压缩的图像像素点进行格式上的转换,其中输入的图像数据可包括一个或多个图片,在一些情况下,图片可称为视频“帧”。在一些实例中,dsc编码器可将图片分割成多个切片,对每一片执行编码操作。

步骤602、对待压缩像素进行预测、量化、重建或颜色历史索引;具体如下:

(1)压缩像素初始化期间,对待压缩像素读入缓存、缓冲区空满标志进行初始化,并等待开始预测的控制信号。

(2)预测、量化、重建像素时,对新的待压缩像素进行预测,根据预测模式选择对应的重建值进行计算,通过与原始像素值做差,并用量化参数qp进行移位操作得到量化残差,量化残差采用补码形式表示,根据一定的判定机制判断选用何种预测模式,该模式下的残差值与预测值相加得到重建值,与此同时对原始像素进行平坦度判定,调节qp值,从而影响量化残差值;

该过程具体为:提取得到原始像素数据,及缓存中提取得到预测所需相邻像素的重建值;根据产生的用于压缩编码的控制信号,由当前像素的相邻像素的重建值计算获得当前组的像素预测值;将当前组的像素预测值与原始像素数据做差获得像素残差值,根据量化参数运算获得当前组像素量化残差值;根据获得的当前组像素量化残差值和当前组的像素预测值计算获得当前组像素的重建值;

根据预先存储的历史使用的像素重建值和原始像素数据进行对比,获得颜色历史索引下的像素重建值和像素索引值;将获得的当前组像素的重建值和颜色历史索引下的像素重建值,采用选择算法取其中一种模式下像素的重建值,及采用乒乓操作方式进行数据存储;例如,接收到已经完成处理的重建像素,根据一定的计算方式算出当前组的预测值,预测值进入到量化模块中去与原始像素数据比较,并运用量化参数得到量化残差值,量化残差值与像素预测值经过计算得到重建值。在这一过程中原始像素与颜色历史索引模块中存储的像素值进行比较,找到最近似的像素并输出其对应的索引值,并完成颜色历史索引存储模块中的像素更新。并且,还可以对当前组的原始像素所在的平坦情况进行判断,获得平坦度信号;根据平坦度信号和上一组熵编码数据的码流的比特数进行当前组qp值调节。

(3)颜色历史索引与预测、量化、重建同时进行,根据输入的原始像素值与最近使用过的像素值加权sad最小的值作为预测值,找寻其对应的最相似像素的位置即索引值,查询结束后,颜色历史索引的计算完成,对相应的索引历史存储模块进行更新,并对索引值进行输出;

步骤603、对处理后的像素进行熵编码,对像素量化残差值和颜色历史索引模块获得的像素索引值进行分别编码,得到两种编码数据,通过计算选择其中一种编码方式输出对应的编码数据;即根据接收到上一步骤得到的当前组量化残差值和索引值,熵编码模块110根据输入的数据不同,采用不同的编码方式得到两种编码数据的码流,根据一定的判定机制判断采用何种编码方式,选择其中一种编码的码流输出,输出码流包括两组数据,一组是编码的数据,另一组是编码的长度。

该过程中,对输入的量化残差值和索引值根据上一组的编码类型确定本组的前后缀大小和前缀编码字段,若后缀为量化残差值,根据后缀大小,从存储表中取出对应的量化残差截断位数进行拼接,若后缀为索引值,则直接用5位数表示。

步骤604、对缓存压缩后的数据并输出,即根据熵编码模块输出的熵编码数据,得到y、co、cg三个分量的压缩码流,并将三个分量的码流复用成一组数据流,且进行缓存并按照存储顺序拼接后输出。判断拼接后的数据长度与上一次拼接后剩余比特是否满足拼接输出条件,满足则输出该组码流,否则将数据流中超出拼接输出条件的数据保留下来作为下一次拼接的剩余比特,即将得到编码后的码流长度与次拼接后剩余比特位数之和是否大于48,若大于48位,则将上次拼接后的剩余码流移位与当前码流拼接成48位数据流输出,多余部分用寄存器保留作为下一组拼接的剩余比特。

综上,本发明的视频显示流压缩编码的硬件实现系统及方法,能有效提高图像压缩的处理速度,同时保留了dsc编码器的图像压缩性能,满足显示链路带宽的需求,具有全流水线、实时性好的特点,易于现场可编程门阵列的实现。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1