本发明涉及液晶模组显示和测试技术领域,具体地指一种基于dsc(displaystreamcompression,显示流压缩)压缩算法实现视频实时显示的装置及方法。
技术背景
随着超高清显示技术的日益成熟,人们已不满足30帧720p的视频显示效果,60帧及以上帧率视频显示要求愈加强烈。但是,超高帧率视频显示需要处理的数据量巨大,这就要求显示系统中需要采用显示效果更佳的压缩手段、更高速的传输途径及更高性能的显示接口。为了解决这些问题,vesa协会提出了dsc压缩算法,该算法复杂度小,既不影响视觉感受,又能降低带宽压力,因此在超高清视频显示系统中加入具有dsc功能的硬件结构是非常有必要的。由于dsc算法应用领域非常明确,他要求压缩过程在一帧内进行,原始dsc算法最大只能支持60帧4k图像处理,而对更高速率的帧率要求没有涉及,因此,本专利提出对dsc算法进行优化方法,使其能达到90帧及以上,帧率4k的视频显示。
技术实现要素:
本发明的目的就是要提供一种基于dsc压缩算法实现视频实时显示的装置及方法,该装置和方法对现有dsc算法结构进行优化调整,提出并行流水处理,修改不同功能模块间的衔接关系,使原本串行工作的模块能进行并行执行,提高了运算速度,修改后的层次关系更利于在fpga平台实现。优化后的算法可支持每秒处理90帧4k分辨率及以上图像。
为实现此目的,本发明所设计的一种基于dsc压缩算法实现视频实时显示的装置,它包括图像分割模块、像素值预测模块、残差及像素重构模块、熵编码模块、码率控制模块、多路码流重组模块;图像分割模块用于对原始图像按片分割成多片子图像,每片子图像中的每行像素点平均划分成多个像素组;
所述像素值预测模块对每片子图像的各组像素点采用中值预测方式进行像素值预测,实现对每片子图像的各组像素点独立的中值预测;
所述像素值预测模块对每片子图像的第一行各像素组中的像素点按照改进的中值自适应预测赋初值方式进行像素值预测;
所述像素值预测模块对每片子图像的其余各行的第一组像素点采用改进的中值自适应预测方式进行像素值预测;
所述像素值预测模块对每片子图像的其余各行中第一组像素点后的各组像素点的像素值预测形式均由当前组像素点的前一组像素点重构后的熵编码计算结果确定,实现对每片子图像的各组像素点的分区组合预测,其中,每片子图像其余各行中第二组像素点的像素值预测形式由该行中第一组像素点重构后的熵编码计算结果确定;
残差及像素重构模块用于将每片子图像各像素组中的每个像素点的像素预测值去减对应像素点的原始像素值得到每片子图像各像素点的残差,将各像素点的残差进行并行的量化,将各像素点残差量化的结果替代对应像素点的原始像素值实现每片子图像各像素点的重构;
熵编码模块用于对像素点重构后的每片子图像进行熵编码;
码率控制模块用于在熵编码时计算每片子图像熵编码时的量化系数来动态调整每片子图像的像素在熵编码需要用到的字节数,形成dsc压缩图像数据;
多路码流重组模块用于将每片子图像对应的dsc压缩图像数据进行多路码流重组处理得到最终的重组码流传输给液晶模组进行显示。
一种基于dsc压缩算法实现视频实时显示方法,其特征在于,它包括如下步骤:
步骤1:图像分割模块对原始图像按片分割成多片子图像,每片子图像中的每行像素点平均划分成多个像素组;
步骤2:像素值预测模块对每片子图像的各像素组中的每个像素点进行并行像素值预测,得到每片子图像各像素组中的每个像素点的像素预测值;
步骤3:残差及像素重构模块将每片子图像各像素组中的每个像素点的像素预测值去减对应像素点的原始像素值得到每片子图像各像素点的残差,将各像素点的残差进行并行的量化,将各像素点残差量化的结果替代对应像素点的原始像素值实现每片子图像各像素点的重构;
步骤4:熵编码模块对像素点重构后的每片子图像进行熵编码;
步骤5:码率控制模块在熵编码时计算每片子图像熵编码时的量化系数来动态调整每片子图像的像素在熵编码需要用到的字节数,形成dsc压缩图像数据;
步骤6:多路码流重组模块将每片子图像对应的dsc压缩图像数据进行多路码流重组处理得到最终的重组码流传输给液晶模组进行显示。
所述步骤2中,所述像素值预测模块对每片子图像的各组像素点采用中值预测方式进行像素值预测,实现对每片子图像的各组像素点独立的中值预测;
同时,所述像素值预测模块对每片子图像的第一行各像素组中的像素点按照改进的中值自适应预测赋初值方式进行像素值预测;所述像素值预测模块对每片子图像的其余各行的第一组像素点采用改进的中值自适应预测方式进行像素值预测;所述像素值预测模块对每片子图像的其余各行中第一组像素点后的各组像素点的像素值预测形式均由当前组像素点的前一组像素点重构后的熵编码计算结果确定,实现对每片子图像的各组像素点的分区组合预测,其中,每片子图像其余各行中第二组像素点的像素值预测形式由该行中第一组像素点重构后的熵编码计算结果确定;
索引颜色历史记录重构模块对每片子图像的其余各行中第一组像素点后的各组像素点进行索引颜色历史记录重构处理,并将索引颜色历史记录重构的结果与对应像素点的独立中值预测后的重构结果及每片子图像的各组像素点的分区组合预测后的重构结果进行比较,选取与对应像素点更接近的重构结果进行后续熵编码处理。
本发明设计的上述装置和方法适用于所有支持高清视频及图像显示及模组检测处理的设备,既能支持4k、8k及以上分辨率模组点屏测试,又能支持90hz刷新率高清视频实时显示,且不用缓存整帧数据(改进后的算法因为并行处理迅速,不存在数据处理不过来的情况所以无需使用缓存),降低了吞吐量。另外,本发明对现有dsc算法结构进行优化调整,提出将原始图像数据进行分块后在分组的并行流水处理,修改不同功能模块间的衔接关系,使原本串行工作的模块能进行并行执行,提高了运算速度,减少了器件间的数据交互,具有容易实现、成本低、实用性高等特点。
附图说明
图1为本发明的结构框图。
图2为本发明中dsc压缩处理模块的结构框图。
图3为本发明中原始图像按片分割的示意图。
图4为本发明并行处理的时序图。
其中,1—图像原始数据传输接口、2—dsc压缩处理模块、2.1—图像分割模块、2.2—像素值预测模块、2.3—残差及像素重构模块、2.4—熵编码模块、2.5—码率控制模块、2.6—多路码流重组模块、2.7—图像边界判断模块、2.8—索引颜色历史记录重构模块、3—图像显示接口。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细说明:
本发明设计的一种基于dsc压缩算法实现视频实时显示的装置,如图1和2所示,它包括图像原始数据传输接口1、dsc压缩处理模块2和图像显示接口3,所述dsc压缩处理模块2包括图像分割模块2.1、像素值预测模块2.2、残差及像素重构模块2.3、熵编码模块2.4、码率控制模块2.5、多路码流重组模块2.6;
所述图像原始数据传输接口1用于将接收到的原始图像数据传输给图像分割模块2.1;
图像分割模块2.1用于对原始图像按片(slice)分割成多片子图像,每片子图像中的每行像素点(即这一行中的所有像素点)按相邻的三个像素点为一组(group)的形式平均划分成多个像素组(每个像素组包括该行中相邻的三个像素点);
每片子图像的每行像素点按相邻的三个像素点一组进行分组,如图3所示;
像素值预测模块2.2用于对每片子图像的各像素组中的每个像素点进行并行像素值预测,得到每片子图像各像素组中的每个像素点的像素预测值;
残差及像素重构模块2.3用于将每片子图像各像素组中的每个像素点的像素预测值去减对应像素点的原始像素值得到每片子图像各像素点的残差,将各像素点的残差进行并行的量化,将各像素点残差量化的结果替代对应像素点的原始像素值实现每片子图像各像素点的重构;
熵编码模块2.4用于对像素点重构后的每片子图像进行熵编码(vlc);
码率控制(rc)模块2.5用于在熵编码时计算每片子图像熵编码时的量化系数来动态调整每片子图像的像素在熵编码需要用到的字节数,形成dsc压缩图像数据;
多路码流重组模块2.6用于将每片子图像对应的dsc压缩图像数据进行多路码流重组处理,并将得到的重组码流通过图像显示接口3传输给液晶模组进行显示。
上述技术方案中,如果原始像素点是rgb(红、绿、蓝三色)数据,则需要先经过色域转换,变换成y/co/cg(y亮度坐标,cocg色度坐标)数据后在进行编码处理。
上述技术方案中,各个功能模块均可在fpga(现场可编程门阵列)中实现。
上述技术方案中,所述像素值预测模块2.2对每片子图像的第一行各像素组中的像素点按照中值预测(mpp,midpointprediction)方式进行像素值预测。
所述像素值预测模块2.2对每片子图像的其余各行的第一组像素点采用改进的中值自适应预测(map、modifiedmedian-adaptiveprediction)方式进行像素值预测。
所述像素值预测模块2.2对每片子图像的其余各行中第一组像素点后的各组像素点的像素值预测形式均由当前组像素点的前一组像素点重构后的熵编码计算结果确定,其中,每片子图像其余各行中第二组像素点的像素值预测形式由该行中第一组像素点重构后的熵编码计算结果确定(具体确定规则见表1),其中,像素值预测形式包括中值预测形式、改进的中值自适应预测和块预测形式。上述各预测方式彼此独立因此可以并行实现,码率控制操作和熵编码与像素值预测并行处理,即当前组像素点的前一组像素点进行重构、熵编码和码率控制的同时,当前组像素点即可进行像素值预测处理,如图4所示,节约了三分之二的处理时间。
表1:vlc码字传输规则
上述技术方案中,所述图像分割模块2.1对原始图像按片分割的分割比例由最终显示该原始图像的显示模组自身的压缩图片参数集信息确定(每个液晶模组中都有个pps信息类似使用说明书,里面会记载slice的长和宽,及模组分辨率。用模组分辨率/slice长宽=slice个数)。
上述技术方案中,残差及像素重构模块2.3对每片子图像各像素点的残差依据对应的量化参数进行并行的量化,量化通过查表实现,例如亮度分量的计算结果为0~15数值,则分别对应的量化因子为:0、0、0、1、1、2、2、3、3、4、4、5、5、5、6、7。
上述技术方案中,它还包括图像边界判断(flat)模块2.7,图像边界判断模块2.7用于对每片子图像进行图像边界判断处理,然后将每片子图像的图像边界判断结果传输给像素值预测模块2.2和码率控制模块2.5,使得像素值预测模块2.2进行像素预测及码率控制模块2.5进行码率控制时,适应当前像素的边界情况。由于图像边界判断模块2.7是从未来数据中提取信息,用以产生当前数据所需的量化系数,因此该模块可以和预测模块一样并行处理,节省处理时间。
上述技术方案中,它还包括索引颜色历史记录(ich,indexedcolorhistory)重构模块2.8,索引颜色历史记录重构模块2.8用于对每片子图像的其余各行中第一组像素点后的各组像素点进行索引颜色历史记录重构处理,并将索引颜色历史记录重构的结果与对应像素点的独立中值预测后的重构结果及每片子图像的各组像素点的分区组合预测后的重构结果进行比较,选取与对应像素点更接近的重构结果(实现重构结果的更新)进行后续熵编码处理。
一种基于dsc压缩算法实现视频实时显示方法,它包括如下步骤:
步骤1:图像分割模块2.1对原始图像按片分割成多片子图像,每片子图像中的每行像素点平均划分成多个像素组;
步骤2:像素值预测模块2.2对每片子图像的各像素组中的每个像素点进行并行像素值预测,得到每片子图像各像素组中的每个像素点的像素预测值;
步骤3:残差及像素重构模块2.3将每片子图像各像素组中的每个像素点的像素预测值减去对应像素点的原始像素值得到每片子图像各像素点的残差,将各像素点的残差进行并行的量化,将各像素点残差量化的结果替代对应像素点的原始像素值实现每片子图像各像素点的重构;
步骤4:熵编码模块2.4对像素点重构后的每片子图像进行熵编码;
步骤5:码率控制模块2.5在熵编码时计算每片子图像熵编码时的量化系数来动态调整每片子图像的像素在熵编码需要用到的字节数,形成dsc压缩图像数据;
步骤6:多路码流重组模块2.6将每片子图像对应的dsc压缩图像数据进行多路码流重组处理得到最终的重组码流传输给液晶模组进行显示。
上述技术方案的步骤2中,所述像素值预测模块2.2对每片子图像的第一行各像素组中的像素点按照中值预测方式进行像素值预测;
所述像素值预测模块2.2对每片子图像的其余各行的第一组像素点采用改进的中值自适应预测方式进行像素值预测;
所述像素值预测模块2.2对每片子图像的其余各行中第一组像素点后的各组像素点的像素值预测形式均由当前组像素点的前一组像素点重构后的熵编码计算结果确定,其中,每片子图像其余各行中第二组像素点的像素值预测形式由该行中第一组像素点重构后的熵编码计算结果确定;
索引颜色历史记录重构模块2.8对每片子图像的其余各行中第一组像素点后的各组像素点进行索引颜色历史记录重构处理,并将索引颜色历史记录重构的结果与对应像素点的独立中值预测后的重构结果及每片子图像的各组像素点的分区组合预测后的重构结果进行比较,选取与对应像素点更接近的重构结果进行后续熵编码处理。
本发明采用并行流水处理方式,让预测、量化、重构、熵编码、码率控制进行并行处理,这样缩短了处理周期,利于视频实时处理。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。