本发明涉及一种编解码方法,特别是涉及一种yuv4:4:4数据的编解码方法。
背景技术:
日新月异的视频需求,催生了大压缩率h.264/265等算法的发展。但是现在主流的压缩数字视频编解码芯片,比如海思,安霸等厂商的芯片主要用于安防监控行业,而该行业对于色彩仅仅使用yuv4:2:2甚至yuv4:2:0就可以了。而对于会议,控制中心等行业的桌面应用,yuv4:4:4色彩是刚性需求。而主流的压缩数字视频编解码芯片无法单独完成yuv4:4:4数据的编解码。
技术实现要素:
如何使用现有的主流压缩数字视频编解码芯片,实现yuv4:4:4质量信号的编解码,是一项亟待解决的技术问题。
为解决上述技术问题,本发明提供的技术方案为:
本发明提供一种yuv4:4:4数据的编解码方法,包括步骤s1~步骤s7:
步骤s1:获得yuv4:4:4采样格式的24bit的第一时序数据;
步骤s2:将第一时序数据进行缓存、重新排序,得到两组yuv4:2:2采样格式的16bit的第二中间数据;其中,两组第二中间数据的信息组合包含第一时序数据的所有像素点的信息;
步骤s3:将两组第二中间数据分别进行bt1120时序输出,得到两组yuv4:2:2采样格式、以bt1120输出的16bit的第二时序数据;输出的第二时序数据的时钟和第一时序数据的时钟完全一致,且两组第二时序数据的内嵌时序完全一致;
步骤s4:将每组第二时序数据分别进行数据压缩,得到相应的yuv4:2:0采样格式、12bit的第三时序数据;
步骤s5:解压缩两组第三时序数据,并进行bt1120时序输出,还原得到两组yuv4:2:2采样格式、以bt1120输出的16bit的第二时序数据;
步骤s6:通过内部数据重整,将两组第二时序数据反向还原为yuv4:4:4采样格式的24bit的第一时序数据。
优选地,本发明的yuv4:4:4数据的编解码方法,
第一时序数据的存储格式为:8列y,8列u,8列v;
第一组的第二时序数据的存储格式为:第一行全部y,第二行全部的偶数列v构成的4项有效v和全部的偶数列v的副本构成的4项冗余v;
第二组的第二时序数据的存储格式为:第一行全部u,第二行全部的奇数列v构成的4项有效v和全部的奇数列v的副本构成的4项冗余v;
两组第三时序数据的存储格式均在对应的第二时序数据的存储格式的基础上删除了第二行的4项冗余v。
优选地,本发明的yuv4:4:4数据的编解码方法,两组第二时序数据和两组第三时序数据的存储格式的第二行中每一有效v及其相应的冗余v之间均间隔一项v。
优选地,本发明的yuv4:4:4数据的编解码方法,
第一时序数据的存储格式为第一行:{y0、y1、y2、y3、y4、y5、y6、y7}第二行:{u0、u1、u2、u3、u4、u5、u6、u7},第三行:{v0、v1、v2、v3、v4、v5、v6、v7};
第一组的第二时序数据的存储格式为:{y0、y1、y2、y3、y4、y5、y6、y7}第二行:{v0、v2、v0、v2、v4、v6、v4、v6};
第二组的第二时序数据的存储格式为:{u0、u1、u2、u3、u4、u5、u6、u7}第二行:{v1、v3、v1、v3、v5、v7、v5、v7};
第一组的第三时序数据的存储格式为:{y0、y1、y2、y3、y4、y5、y6、y7}第二行:{v0、v2、v4、v6};
第二组的第三时序数据的存储格式为:{u0、u1、u2、u3、u4、u5、u6、u7}第二行:{v1、v3、v5、v7}。
优选地,本发明的yuv4:4:4数据的编解码方法,步骤s1包括通过hdmiphy芯片将输入的hdmi源信号转换为yuv4:4:4采样格式的24bit的第一时序数据;步骤s6还包括将反向还原得到的第一时序数据通过hdmiphy芯片将第一时序数据还原为hdmi源信号。
优选地,本发明的yuv4:4:4数据的编解码方法,步骤s2、步骤s3和步骤s6均通过fpga实现。
优选地,本发明的yuv4:4:4数据的编解码方法,步骤s4和步骤s5具体通过压缩数字视频编解码芯片实现。
优选地,本发明的yuv4:4:4数据的编解码方法,所述压缩数字视频编解码芯片包括海思hi3559av100芯片、海思hi3519av100芯片、海思hi3516dv300芯片、海思hi3516cv500芯片、安霸a7la50芯片、安霸a7la70芯片、安霸a12la55芯片和安霸a12la75芯片中的任一种。
本发明具有的优点或者有益效果:
本发明提供的yuv4:4:4数据的编解码方法,通过将yuv4:4:4数据经缓存、重新排序,bt1120时序输出得到主流压缩数字视频编解码芯片能够接受的两组yuv4:2:2采样格式、以bt1120输出的16bit的第二时序数据,然后通过主芯片的压缩和解压缩处理,最终反向还原成原yuv4:4:4数据。其中,通过主流压缩数字视频编解码芯片的编解码处理可以实现在相同的带宽下提供更加优质的图象质量;本发明提供的yuv4:4:4数据的编解码方法可以实现最低的码率达到最少的失真;通过牺牲一定的存储空间换取连续、流畅的高质量图像性能,提供了更加优质的视频播放体验。使用现有主流压缩数字视频编解码芯片,完成yuv4:4:4数据的编解码,特别适用于对于图像质量具有更高要求(yuv4:4:4图像数据)的会议、控制中心等行业的桌面应用等场景。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本发明的主旨。
图1是本发明的一个具体实施例的yuv4:4:4数据的编解码的流程图;
图2是本发明的一个具体实施例的yuv4:4:4数据的编解码的流程简图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的说明,显然所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。因此,以下对附图中提供的本发明实施例中的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
如何使用现有的主流压缩数字视频编解码芯片,实现yuv4:4:4质量信号的编解码,是一项亟待解决的技术问题。
实施例1
为解决上述技术问题,实施例1提供一种yuv4:4:4数据的编解码方法,其流程图如图1所示,具体包括如下步骤:
本发明提供一种yuv4:4:4数据的编解码方法,包括步骤s1~步骤s6:
步骤s1:获得yuv4:4:4采样格式的24bit的第一时序数据1;
步骤s2:将第一时序数据1进行缓存、重新排序,得到两组yuv4:2:2采样格式的16bit的第二中间数据;其中,两组第二中间数据的信息组合包含第一时序数据1的所有像素点的信息;
步骤s3:将两组第二中间数据分别进行bt1120时序输出,得到两组yuv4:2:2采样格式、以bt1120输出的16bit的第二时序数据21、22;输出的第二时序数据21、22的时钟和第一时序数据1的时钟完全一致,且两组第二时序数据21、22的内嵌时序完全一致;
步骤s4:将第一组的第二时序数据21进行数据压缩,得到相应的yuv4:2:0采样格式、12bit的第一组的第三时序数据31;将第二组的第二时序数据22进行数据压缩,得到相应的yuv4:2:0采样格式、12bit的第二组的第三时序数据32;
步骤s5:解压缩第一组的第三时序数据31,并进行bt1120时序输出,还原得到yuv4:2:2采样格式、以bt1120输出的16bit的第一组的第二时序数据21’;解压缩第二组的第三时序数据32,并进行bt1120时序输出,还原得到yuv4:2:2采样格式、以bt1120输出的16bit的第二组的第二时序数据22’;
步骤s6:通过内部数据重整,将两组第二时序数据21’和22’反向还原为yuv4:4:4采样格式的24bit的第一时序数据1’。
本发明提供的yuv4:4:4数据的编解码方法,通过将yuv4:4:4数据经缓存、重新排序,bt1120时序输出得到主流压缩数字视频编解码芯片(即图1和图2中的主芯片)能够接受的两组yuv4:2:2采样格式、以bt1120输出的16bit的第二时序数据,然后通过主芯片的压缩和解压缩处理,最终反向还原成原yuv4:4:4数据。其中,通过主流压缩数字视频编解码芯片的编解码处理可以实现在相同的带宽下提供更加优质的图象质量;本发明提供的yuv4:4:4数据的编解码方法可以实现最低的码率达到最少的失真;通过牺牲一定的存储空间换取连续、流畅的高质量图像性能,提供了更加优质的视频播放体验。使用现有主流压缩数字视频编解码芯片,完成yuv4:4:4数据的编解码,特别适用于对于图像质量具有更高要求(yuv4:4:4图像数据)的会议、控制中心等行业的桌面应用等场景。
优选地,本发明的yuv4:4:4数据的编解码方法,
第一时序数据1、1’的存储格式为:8列y,8列u,8列v;
第一组的第二时序数据21、21’的存储格式为:第一行全部y,第二行全部的偶数列v构成的4项有效v和全部的偶数列v的副本构成的4项冗余v;
第二组的第二时序数据22、22’的存储格式为:第一行全部u,第二行全部的奇数列v构成的4项有效v和全部的奇数列v的副本构成的4项冗余v;
第一组的第三时序数据31的存储格式在第一组的第二时序数据21的存储格式的基础上删除了第二行的4项冗余v;第二组的第三时序数据32的存储格式在第二组的第二时序数据22的存储格式的基础上删除了第二行的4项冗余v。
优选地,本发明的yuv4:4:4数据的编解码方法,两组第二时序数据21、22和两组第三时序数据31、32的存储格式的第二行中每一有效v及其相应的冗余v之间均间隔一项v。
其中,两组yuv4:2:2采样格式、以bt1120输出的16bit的第二时序数据中的4项冗余v与位于同一行的4项有效v的数据集合完全相同,对于数据的缓存和读取而言,数据提取更加方便,读取数据时基本无需等待,有利于提高运算效率,缩短步骤s2和步骤s5的耗时,同时提高了容错能力,;另一方面,对于步骤s4而言,只需要在第二时序数据21的存储格式的第二行的基础上进行查找重复值、去除重复值处理,即可快速地删除其中的4项冗余v,得到yuv4:2:0采样格式、12bit的第三时序数据31,有利于提高运算效率,缩短步骤s4的耗时,从而提高yuv4:4:4数据的编解码的效率。
优选地,本发明的yuv4:4:4数据的编解码方法,其中,如图1和图2所示,
第一时序数据1、1’的存储格式为第一行:{y0、y1、y2、y3、y4、y5、y6、y7}第二行:{u0、u1、u2、u3、u4、u5、u6、u7},第三行:{v0、v1、v2、v3、v4、v5、v6、v7};
第一组的第二时序数据21、21’的存储格式为:{y0、y1、y2、y3、y4、y5、y6、y7}第二行:{v0、v2、v0、v2、v4、v6、v4、v6};
第二组的第二时序数据22、22’的存储格式为:{u0、u1、u2、u3、u4、u5、u6、u7}第二行:{v1、v3、v1、v3、v5、v7、v5、v7};
第一组的第三时序数据31的存储格式为:{y0、y1、y2、y3、y4、y5、y6、y7}第二行:{v0、v2、v4、v6};
第二组的第三时序数据32的存储格式为:{u0、u1、u2、u3、u4、u5、u6、u7}第二行:{v1、v3、v5、v7}。
为了更好地贴合实际的场景使用需求,优选地,本发明的yuv4:4:4数据的编解码方法,步骤s1包括通过hdmiphy芯片将输入的hdmi源信号转换为yuv4:4:4采样格式的24bit的第一时序数据;步骤s6还包括将反向还原得到的第一时序数据通过hdmiphy芯片将第一时序数据还原为hdmi源信号。hdmi格式的视频信号是一种使用最广泛的视频格式之一,并且能够方便地进行输入和输出。通过添加hdmiphy芯片可以实现hdmi源信号与yuv4:4:4采样格式的24bit的第一时序数据之间的相互转换,能够更好地贴合实际的场景使用需求,进一步提高了使用体验。
为了降低成本,优选地,本发明的yuv4:4:4数据的编解码方法,步骤s2、步骤s3和步骤s6均通过fpga实现。fpga作为一种发展最为成熟的可编程电路元件,其在yuv4:4:4数据与yuv4:2:2数据之间的转换的方法已经十分成熟,采用小容量的fpga即可满足本发明的使用需求,从而节省了成本。
本发明的yuv4:4:4数据的编解码方法,步骤s4和步骤s5具体通过压缩数字视频编解码芯片(主芯片)实现。优选地,本发明的yuv4:4:4数据的编解码方法,压缩数字视频编解码芯片包括海思hi3559av100芯片、海思hi3519av100芯片、海思hi3516dv300芯片、海思hi3516cv500芯片、安霸a7la50芯片、安霸a7la70芯片、安霸a12la55芯片和安霸a12la75芯片中的任一种。海思和安霸的上述压缩数字视频编解码芯片均可以实现yuv4:2:2数据的编解码,并且性能稳定,性价比较高,进一步提高了yuv4:4:4数据的编解码方法的可靠性。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。