掌桥专利:专业的专利平台
掌桥专利
首页

一种视频压缩方法、系统及装置

文献发布时间:2023-06-19 11:42:32


一种视频压缩方法、系统及装置

技术领域

本发明涉及视频压缩领域,特别是涉及一种视频压缩方法、系统及装置。

背景技术

现有技术中,对视频进行压缩的流程为:首先对存储器中存储的视频数据进行读取,然后对视频数据进行压缩,但是由于对视频数据进行压缩时,只能针对YUV格式的视频数据进行压缩,而视频输出装置输出的视频数据一般为RGB(red-green-blue,红-绿-蓝)格式的视频数据,因此需要根据转换公式对视频数据进行色彩空间转换,以将视频数据由RGB格式转换为YUV格式,然后对YUV格式的视频数据进行采样,得到采样数据,最后对采样数据进行压缩,得到压缩视频数据,并将压缩视频数据写入存储器中,以便视频显示端读取存储器中的压缩视频数据以显示对应的视频图像。其中,将RGB格式转换为YUV格式的转换公式为:

常用的YUV格式有多种,如YUV444格式、YUV422格式及YUV420格式等,对不同YUV格式的视频数据进行采样时,采样方式不同,如对YUV44格式的视频数据进行采样时,对视频数据对应的像素点中的所有的YUV分量均进行采样;对YUV422格式的视频数据进行采样时,对像素点中的所有的Y分量及偶数行的U/V分量进行采样;对YUV420格式的视频数据进行采样时,对像素点中的所有的Y分量及偶数行且偶数列的U/V分量进行采样。也即,YUV422格式下,会舍弃50%的U/V分量,YUV420格式下,会舍弃75%的U/V分量,但是这些被舍弃的U/V分量也是通过上述转换公式计算而来的,这些基于上述转换公式计算出的被舍弃的U/V分量在后续的流程中是无用的,也即基于上述转换公式的计算过程是无用的,从而造成色彩空间转换时的计算量较大,进而导致对应的芯片的功耗较大。

发明内容

本发明的目的是提供一种视频压缩方法、系统及装置,可以预先确定视频数据中需要进行色彩空间转换的视频数据分量,不需要进行色彩空间转换的视频数据分量与被舍弃的U/V分量相对应,此时,不需要对这些舍弃的U/V分量进行色彩空间转换,进而减小了进行色彩空间转换时的计算量,降低了系统的功耗。

为解决上述技术问题,本发明提供了一种视频压缩方法,应用于处理器,包括:

读取存储器中的视频数据,并基于目标视频转换格式及当前帧的视频数据的分辨率确定所述视频数据中需要进行色彩空间转换的视频数据分量;

将需要进行色彩空间转换的所述视频数据分量进行色彩空间转换,以将所述视频数据由RGB格式转换为YUV格式,得到YUV格式视频数据;

对所述YUV格式视频数据进行压缩,得到压缩视频数据。

优选地,得到压缩视频数据之后,还包括:

将所述压缩视频数据写入所述存储器中,以便视频显示端从所述存储器中读取所述压缩视频数据并显示。

优选地,读取存储器中的视频数据,包括:

判断当前帧的视频数据与上一帧的视频数据是否相同;

若是,则不读取当前帧的所述视频数据,并输出重复标志位,将所述重复标志位写入所述存储器中,以便所述视频显示端读取到所述重复标志位时,重复显示与上一帧的所述视频数据对应的视频图像;

若否,则读取当前帧的所述视频数据。

优选地,读取存储器中存储的视频数据之前,还包括:

接收视频输出装置输出的所述视频数据;

通过总线将所述视频数据写入所述存储器。

优选地,

所述处理器包括读取单元及压缩单元;

将所述视频数据写入所述存储器,包括:

将接收到的当前帧的所述视频数据写入对应的地址;

判断写入的当前帧的视频数据与写入的上一帧的视频数据是否相同,其中,上一帧的所述视频数据与当前帧的所述视频数据写入的地址不同;

若写入的当前帧的视频数据与写入的上一帧的视频数据相同,则将标志寄存器置1;

若写入的当前帧的视频数据与写入的上一帧的视频数据不同,则将所述标志寄存器置0;

判断当前帧的视频数据与上一帧的视频数据是否相同,包括:

控制所述读取单元读取所述标志寄存器的状态,并判断所述标志寄存器的状态是否为1;

若所述读取单元读取的所述标志寄存器的状态为1,则判定当前帧的所述视频数据与上一帧的所述视频数据相同,并进入不读取当前帧的视频数据的步骤;

若所述读取单元读取的所述标志寄存器的状态不为1,则判定当前帧的所述视频数据与上一帧的所述视频数据不同;

输出重复标志位,将所述重复标志位写入所述存储器中之前,还包括:

控制所述压缩单元检测到上一帧的压缩视频数据的结尾标志符之后,读取所述标志寄存器的状态,并判断所述标志寄存器的状态是否为1;

若所述压缩单元读取的所述标志寄存器的状态为1,则进入输出重复标志位,将所述重复标志位写入所述存储器中的步骤;

若所述压缩单元读取的所述标志寄存器的状态不为1,则对当前帧的YUV格式视频数据进行压缩,得到当前帧的压缩视频数据,并写入所述存储器中;

其中,所述标志寄存器在被读取两次后清零。

优选地,将所述标志寄存器置1之后,还包括:

将准备寄存器置1;

将所述标志寄存器置0之后,还包括:

将所述准备寄存器置1;

读取所述标志寄存器的状态,并判断所述标志寄存器的状态是否为1之前,还包括:

读取所述准备寄存器的状态,并在所述准备寄存器的状态为1时,进入读取所述标志寄存器的状态,并判断所述标志寄存器的状态是否为1的步骤;

其中,所述准备寄存器在被读取一次后清零。

优选地,接收视频输出装置输出的视频数据之后,还包括:

将所述视频数据进行数据转换,得到转换后的视频数据,并进入通过总线将所述视频数据写入所述存储器的步骤;

其中,所述转换后的视频数据的位数小于所述视频数据的位数,以使所述总线同时写入不止一个的转换后的所述视频数据。

优选地,对所述YUV格式视频数据进行压缩,得到压缩视频数据之前,还包括:

基于压缩格式对所述述YUV格式视频数据进行格式转换,以转换为与所述压缩格式对应的述YUV格式视频数据。

为解决上述技术问题,本发明还提供了一种视频压缩系统,包括:

读取单元,用于读取存储器中的视频数据,并基于目标视频转换格式及当前帧的视频数据的分辨率确定所述视频数据中需要进行色彩空间转换的视频数据分量;

数据转换单元,用于将需要进行色彩空间转换的所述视频数据分量进行色彩空间转换,以将所述视频数据由RGB格式转换为YUV格式,得到YUV格式视频数据;

压缩单元,用于对所述YUV格式视频数据进行压缩,得到压缩视频数据。

为解决上述技术问题,本发明还提供了一种视频压缩装置,包括:

存储模块,用于存储计算机程序;

处理器,用于在执行所述计算机程序时,实现上述所述的视频压缩方法的步骤。

本申请提供了一种视频压缩方法、系统及装置,该方案中,在读取视频数据之后,先根据目标视频转换格式及当前帧的视频数据的分辨率确定需要进行色彩空间转换的视频数据分量,然后只将这些需要进行色彩空间转换的视频数据分量进行色彩空间转换,进而将视频数据由RGB格式转换为YUV格式,然后再对YUV格式的视频数据进行压缩。可见,在不同的YUV格式对应的U/V分量的不同舍弃量时,通过本申请中的方式可以预先确定视频数据中需要进行色彩空间转换的视频数据分量,不需要进行色彩空间转换的视频数据分量与被舍弃的U/V分量相对应,此时,不需要对这些舍弃的U/V分量进行色彩空间转换,进而减小了进行色彩空间转换时的计算量,降低了系统的功耗。

本申请还提供了一种视频压缩系统及装置,与上述描述的视频压缩方法具有相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种视频压缩方法的流程示意图;

图2为本发明提供的一种视频压缩系统的结构框图;

图3为本发明提供的另一种视频压缩系统的结构框图;

图4为本发明提供的一种视频压缩装置的结构框图。

具体实施方式

本发明的核心是提供一种视频压缩方法、系统及装置,可以预先确定视频数据中需要进行色彩空间转换的视频数据分量,不需要进行色彩空间转换的视频数据分量与被舍弃的U/V分量相对应,此时,不需要对这些舍弃的U/V分量进行色彩空间转换,进而减小了进行色彩空间转换时的计算量,降低了系统的功耗。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明提供的一种视频压缩方法的流程示意图,该方法包括:

S11:读取存储器中的视频数据,并基于目标视频转换格式及当前帧的视频数据的分辨率确定视频数据中需要进行色彩空间转换的视频数据分量;

S12:将需要进行色彩空间转换的视频数据分量进行色彩空间转换,以将视频数据由RGB格式转换为YUV格式,得到YUV格式视频数据;

S13:对YUV格式视频数据进行压缩,得到压缩视频数据。

将视频数据由RGB格式转换为YUV格式的过程,称为色彩空间转换,具体地,现有技术中对视频进行压缩的过程为:对所有的视频数据进行色彩空间转换,然后针对不同的YUV格式的视频数据,会舍弃不同比例的U/V分量,但是这些被舍弃的U/V分量,也都经过色彩空间转换这一过程,而每一个舍弃的U/V分量进行的色彩空间转换的相关运算都是无效运算,增加了系统的功耗。

为解决上述技术问题,本申请的设计思路为只针对需要没有舍弃的视频数据分量进行色彩空间转换这一过程,对于要舍弃的视频数据分量直接不进行色彩空间转换,以减小色彩空间转换模块的运算量,进而减小系统的功耗。

基于此,本申请中,先读取存储器中存取的视频数据,然后直接识别用户提前设定的目标视频转换格式,其中,每一个目标视频转换格式对应不同的需要进行色彩空间转换的视频数据分量,此时,根据目标视频转换格式及当前帧的视频数据的分辨率即可确定需要进行色彩空间转换的视频数据分量,然后,将需要进行色彩空间转换的视频数据分量进行色彩空间转换,以将视频数据由RGB格式转换为YUV格式,进而再对所有的YUV格式视频数据进行压缩。此时,对于不同的YUV格式对应的不同的U/V分量的舍弃量,其对应的舍弃的U/V分量不需要再进行格式转换,减小了色彩空间转换模块的运算量,进而降低了系统的功耗。

需要说明的是,根据目标视频转换格式及当前帧的视频数据的分辨率确定需要进行色彩空间转换的视频数据分量的具体过程为:根据视频数据当前帧的分辨率,得到当前像素点的行号和列号,进而根据行号和列号以及目标视频转换格式对应的行号和列号判断当前行号和列号是否进行U/V分量的计算,若需要,则控制色彩空间模块对其进行色彩空间转换。

具体地,例如,YUV444格式时,对所有像素点都进行Y/U/V分量的计算;YUV422格式时,对所有的Y分量进行计算,并对偶数行的像素点进行U/V分量计算,奇数行的U/V分量不进行U/V分量计算;针对YUV420格式时,对所有的Y分量进行计算,并对偶数行的偶数列的像素点进行U/V分量计算,其他的U/V分量不进行U/V分量计算。相对应的,在根据背景技术中的转换公式对Y/U/V分量进行计算时,避免了传统模式下,先计算得到所有像素点的Y/U/V分量,再进行U/V分量的舍弃的弊端。采用本申请中的方式,在YUV422格式下,可以减少50%的U/V分量的计算量;在YUV420格式下,可以减少75%的U/V分量的计算量,从而极大的降低了系统的功耗。

当然,本申请中的具体实现方式并不仅限于上述举例,也可以为其他格式的视频数据,本申请在此不再限定。

综上,在不同的YUV格式对应的U/V分量的不同舍弃量时,通过本申请中的方式可以预先确定视频数据中需要进行色彩空间转换的视频数据分量,不需要进行色彩空间转换的视频数据分量与被舍弃的U/V分量相对应,此时,不需要对这些舍弃的U/V分量进行色彩空间转换,进而减小了进行色彩空间转换时的计算量,降低了系统的功耗。

在上述实施例的基础上:

作为一种优选的实施例,得到压缩视频数据之后,还包括:

将压缩视频数据写入存储器中,以便视频显示端从存储器中读取压缩视频数据并显示。

若存在视频显示端需要对视频数据进行显示时,本申请在得到压缩视频数据之后,还将其写入存储器,以便视频显示端从存储器中读取压缩视频数据并进行显示。

具体地,将压缩视频数据写入存储器之后,产生中断,告知网络驱动或CPU,网络驱动发起读取压缩视频数据的命令,并对压缩视频数据进行打包,EMAC(Ethernet AccessController,以太网控制器)将包括压缩视频数据的网络包转换为以太网帧格式,并发送至PHY(Physical,端口物理层),PHY通过网线或网络将网络包传输至视频显示端,以使视频显示端显示对应的视频数据。

作为一种优选的实施例,读取存储器中的视频数据,包括:

判断当前帧的视频数据与上一帧的视频数据是否相同;

若是,则不读取当前帧的视频数据,并输出重复标志位,将重复标志位写入存储器中,以便视频显示端读取到重复标志位时,重复显示与上一帧的视频数据对应的视频图像;

若否,则读取当前帧的视频数据。

考虑到视频数据中存在静止画面的场景,也即很长时间视频画面不变化,此时,若仍对每一帧视频数据都进行读取,然后依次进行之后的色彩空间转换、压缩、写入存储器的步骤时,需要进行多次完全重复的步骤,需要较大的功耗。

为解决上述技术问题,本申请中的设计思路为:对于很长时间视频画面不变化的情况,只对这一部分视频的第一帧视频数据进行上述步骤,之后的每一帧重复的视频数据只输出一个标志信号,以使视频显示端接收到这一标志信号时,根据第一帧的视频数据及标志信号的个数显示完整的视频数据,且大大减少了重复上述步骤的次数,降低了系统的功耗。

具体地,在从存储器中读取视频数据时,判断当前帧的视频数据与上一帧的视频数据是否相同,若不是,则将此数据从存储器中读取出来,并依次进行接下来的色彩空间转换、压缩及写入存储器的步骤;若是,也即当前帧的视频数据与上一帧的视频数据相同,则不将此数据从存储器中读取出来,也即不对当前帧的数据进行接下来的色彩空间转换、压缩及写入存储器的步骤,但是会输出一个重复标志位,并将其代替当前帧的压缩视频数据写入存储器中,在视频显示端对存储器中的压缩视频数据进行读取时,读取到此重复标志位,则可判定当前帧与上一帧的压缩视频数据对应的图像相同,进而对上一帧的压缩视频数据进行重新读取,从而完成了重复帧,不重复进行色彩空间转换、压缩及写入存储器的步骤,但仍能正常显示对应的视频图像的功能。

综上,本实施例中的方式极大的提高了压缩比,降低了压缩数据量,大大减少了运算量,且减小了视频数据对系统总线带宽、网络带宽及内存模块的占空,提高了系统的性能。

作为一种优选的实施例,读取存储器中存储的视频数据之前,还包括:

接收视频输出装置输出的视频数据;

通过总线将视频数据写入存储器。

本申请实施例旨在说明在将视频数据写入存储器中的步骤,具体地,接收视频输出装置输出的视频数据,然后通过总线将视频数据写入存储器中,以便后续对视频数据进行压缩时从存储器中读取视频数据。

需要说明的是,本申请中视频输出装置可以是手机或电脑等,本申请中的视频数据可以是监控视频数据或者其他的数据等,本申请在此不做具体的限定。

作为一种优选的实施例,处理器包括读取单元及压缩单元;

将视频数据写入存储器,包括:

将接收到的当前帧的视频数据写入对应的地址;

判断写入的当前帧的视频数据与写入的上一帧的视频数据是否相同,其中,上一帧的视频数据与当前帧的视频数据写入的地址不同;

若写入的当前帧的视频数据与写入的上一帧的视频数据相同,则将标志寄存器置1;

若写入的当前帧的视频数据与写入的上一帧的视频数据不同,则将标志寄存器置0;

判断当前帧的视频数据与上一帧的视频数据是否相同,包括:

控制读取单元读取标志寄存器的状态,并判断标志寄存器的状态是否为1;

若读取单元读取的标志寄存器的状态为1,则判定当前帧的视频数据与上一帧的视频数据相同,并进入不读取当前帧的视频数据的步骤;

若读取单元读取的标志寄存器的状态不为1,则判定当前帧的视频数据与上一帧的视频数据不同;

输出重复标志位,将重复标志位写入存储器中之前,还包括:

控制压缩单元检测到上一帧的压缩视频数据的结尾标志符之后,读取标志寄存器的状态,并判断标志寄存器的状态是否为1;

若压缩单元读取的标志寄存器的状态为1,则进入输出重复标志位,将重复标志位写入存储器中的步骤;

若压缩单元读取的标志寄存器的状态不为1,则对当前帧的YUV格式视频数据进行压缩,得到当前帧的压缩视频数据,并写入存储器中;

其中,标志寄存器在被读取两次后清零。

考虑到对存储器中的视频数据进行读取时,需要判断当前帧的读取的视频数据与上一帧的读取的视频数据是否相同,因此,本申请在将视频数据写入存储器时直接进行比较,并输出一个比较结果,在读取时直接对此比较结果进行读取即可得到判断的结果。

具体地,本申请中将视频数据写入存储器的具体实现方式为:获取视频输出装置输出的每一帧的视频数据,然后将每一帧视频数据依次写入存储器中,在将当前帧的视频数据写入存储器中时,写入到存储器中与当前帧的视频数据对应的地址中,然后判断写入的当前帧的视频数据与上一帧的视频数据是否相同,若相同,则将标志寄存器的状态置为1,若否,则将标志寄存器置为0。读取存储器中的当前帧的视频数据时,先对标志寄存器的状态进行读取。

具体地,在标志寄存器的状态为1时,则表示当前帧的视频数据与上一帧的视频数据相同,则不读取当前帧的数据,并在压缩单元读取到标志寄存器的状态为1后,输出一个重复标志位存储在上一帧的视频数据对应的压缩视频数据之后,以便视频显示端在读取存储器中的压缩视频数据时,读取到上一帧的压缩视频数据后,再读取到重复标志位时,判定与上一帧的压缩视频数据的画面相同,以重复读取上一帧的压缩视频数据,进而显示与上一帧的压缩视频数据对应的图像。以此方式,不需要对静止的画面对应的帧数进行重复的色彩空间转换及压缩的步骤,大大降低了视频压缩量,提高了视频压缩比。

在标志寄存器的状态为0时,则表示当前帧的视频数据与上一帧的视频数据不同,则需要对当前帧的视频数据进行读取,然后依次进入色彩空间转换、采样及压缩的过程,并将当前帧的压缩视频数据写入上一帧的压缩视频数据之后,以使视频显示端在读取到上一帧的压缩视频数据之后,读取当前帧的压缩视频数据,并显示与当前帧的视频数据相对应的视频图像。

需要说明的是,上一帧的视频数据与当前帧的视频数据写入的地址不同,此时,写入存储器的具体步骤为:将上一帧的视频数据写入上一帧的视频数据对应的地址,将当前帧的视频数据分为两路,一路写入当前帧的视频数据对应的地址,另一路传输至比较单元,比较单元根据接收到的当前帧的视频数据去读取上一帧的视频数据对应的地址,以读取上一帧的视频数据,并将读取到的上一帧的视频数据与当前帧的视频数据进行比较。

例如,存储器中有A和B两个地址,将每一帧的视频数据写入存储器时,采用乒乓结构的写入顺序,即将上一帧的视频数据写入A地址,将当前帧的视频数据写入B地址,将下一帧的视频数据写入A地址,将再下一帧的视频数据写入B地址,以此类推。对应的,将当前帧的视频数据与上一帧的视频数据进行比较时,具体过程为:将上一帧的视频数据写入A地址,将当前帧数据分为两路,一路写入B地址,一路输出至比较单元,然后比较单元去读取A地址,并将读回的数据与当前帧的视频数据进行比较。

此外,处理器8包括数据处理单元5、比较单元6、读取单元1、数据转换单元2及压缩单元3等,其中,数据处理单元5用于将视频数据分别写入存储器及比较单元6,读取单元1用于根据标志寄存器的状态从存储器中读取视频数据,并根据目标视频转换格式及当前帧的视频数据的分辨率确定需要进行色彩空间转换的视频数据分量,数据转换单元2用于将视频数据分量进行色彩空间转换以将视频数据由RGB格式转换为YUV格式,压缩单元3用于将YUV格式视频数据进行压缩,并写入存储器中,以及读取标志寄存器的状态,并在标志寄存器的状态为1时,将重复标志位写入存储器。

此时,需要说明的是,标志寄存器具有读清属性,且在标志寄存器被读取两次之后清零,也即,在压缩单元对标志寄存器进行第二次读取后,标记寄存器清零。这里的重复标志位可以但不限于为“FFFFFFFF”,在视频显示端读取到此重复标志位时,就会得知,有重复帧的出现,将重复显示上一帧的视频图像。本申请中的压缩视频数据的结尾标志符可以但不限于为FFD9。

当然,具体实现方式并不限于上述举例,本申请在此不做特别的限定。

综上,本申请中的方式可以实现判断当前帧的视频数据与上一帧的视频数据是否相同的功能,且实现方式简单可靠。

作为一种优选的实施例,将标志寄存器置1之后,还包括:

将准备寄存器置1;

将标志寄存器置0之后,还包括:

将准备寄存器置1;

读取标志寄存器的状态,并判断标志寄存器的状态是否为1之前,还包括:

读取准备寄存器的状态,并在准备寄存器的状态为1时,进入读取标志寄存器的状态,并判断标志寄存器的状态是否为1的步骤;

其中,准备寄存器在被读取一次后清零。

考虑到每一帧的视频数据写入存储器中时,将当前帧的视频数据与上一帧的视频数据进行比较需要一定的时间,也即根据每相邻两次的比较结果输出至标志寄存器以改变标志寄存器的状态之间需要一定的时间,而后续读取时,需要对标志寄存器进行持续的读取,若在两次比较结果输出之间对标志寄存器读取不止一次,则输出的结果可能会不准确。

为解决上述技术问题,本申请在将当前帧的视频数据与上一帧的视频数据进行比较并输出比较结果,以将标志寄存器的状态置为1或0后,还将准备志寄存器的状态置为1,后续步骤读取标志寄存器的状态之前,先读取准备寄存器的状态,在其状态为1时,表示已经完成比较,此时再去读取标志寄存器的状态,在其状态不为1时,表示没有完成比较,此时先不读取标志寄存器的状态。

可见,通过本申请中的准备寄存器的方式,可以保证系统工作的可靠性和准确性。

作为一种优选的实施例,接收视频输出装置输出的视频数据之后,还包括:

将视频数据进行数据转换,得到转换后的视频数据,并进入通过总线将视频数据写入存储器的步骤;

其中,转换后的视频数据的位数小于视频数据的位数,以使总线同时写入不止一个的转换后的视频数据。

考虑到将视频输出装置输出的视频数据直接写入存储器时,总线的占用率较高,且传输的速度较慢。

为解决上述技术问题,本申请在接收到视频输出装置的视频数据之后,将视频数据转换为位数较少的视频数据,此时若总线可以同时传输不止一个的转换后的视频数据,传输速度较快,且每一个视频数据对应的总线占用率较低。

具体地,例如,视频输出装置输出的视频数据为32bits的RGB888数据,其中真正有效的数据为24bits,数据处理单元5接收两次RGB888数据,依次转换为RGB565数据(低5位对应B的高5位,高5位对应R的高5位,中6位对应G的高6位),然后两个RGB565数据拼成一个32bits数据,再将其同时通过32bits的总线写入至存储器。

例如:视频输出装置输出的两笔视频数据分别为32’h00A5B6C7和32’h0023A7E6,其对应的转换过程为:

第一笔R[7:0]---8’HA5,取高5bits,得到R[4:0]---5’H14;

第一笔G[7:0]---8’HB6,取高6bits,得到G[5:0]---6’H2D;

第一笔B[7:0]---8’HC7,取高5bits,得到B[4:0]---5’H18;

第二笔R[7:0]---8’H23,取高5bits,得到R[4:0]---5’H4;

第二笔G[7:0]---8’HA7,取高6bits,得到G[5:0]---6’H29;

第二笔B[7:0]---8’HE6,取高5bits,得到B[4:0]---5’H1C;

将转换后的数据进行拼接得到{5’H4,6’H29,5’H1C,5’H14,6’H2D,5’H18},也即32’H253CA5B8,将其通过32bits的总线写入存储器中。相比于传统方案中直接将32bits的RGB88数据通过32bits总线写入存储器中的方式,需要两次32bits的总线的操作才可以写到存储器的视频数据,在经过数据处理单元对视频数据的位数的转换之后,只需要1次的总线操作即可。

此外,需要说明的是,在处理器8中包括数据处理单元5时,上述过程由数据处理单元5完成。本申请中的总线可以为AXI(Advanced Extensible Interface,总线协议)系统总线,该方法是在写入当前帧的视频数据时,读取上一帧的视频数据,其中,AXI系统总线的读通道和写通道是相互独立的,本申请的方案中,读操作用的是AXI系统总线的读通道,而写当前帧的视频数据时,用的是AXI系统总线的写通道。因此,该方法相比传统方案(每一帧的视频数据都进行压缩且每一帧的视频数据都要写入存储器)相比,并没有额外增加AXI系统总线的占用,与此同时,避免了相同帧的重复压缩,还提高了将视频数据写入存储器的速度。

作为一种优选的实施例,对YUV格式视频数据进行压缩,得到压缩视频数据之前,还包括:

基于压缩格式对述YUV格式视频数据进行格式转换,以转换为与压缩格式对应的述YUV格式视频数据。

考虑到压缩单元3的格式与视频采样数据的格式可能不同,比如有的压缩单元3要求YUV格式的视频数据是按照8*8BLOCK的输入,有的则要求按照顺序输入。此时,本申请根据压缩视频格式对YUV格式视频数据进行格式转换,以使其与压缩格式对应。

需要说明的是,上述格式转换可以是在压缩单元3内部进行格式转换,压缩单元3对YUV格式视频数据进行压缩的格式可以但不限于为JPEG格式。

可见,本申请中的上述方式进一步提高了系统的可靠性。

请参照图2和图3,图2为本发明提供的一种视频压缩系统的结构框图,图3为本发明提供的另一种视频压缩系统的结构框图,该系统包括:

读取单元1,用于读取存储器中的视频数据,并基于目标视频转换格式及当前帧的视频数据的分辨率确定视频数据中需要进行色彩空间转换的视频数据分量;

数据转换单元2,用于将需要进行色彩空间转换的视频数据分量进行色彩空间转换,以将视频数据由RGB格式转换为YUV格式,得到YUV格式视频数据;

压缩单元3,用于对YUV格式视频数据进行压缩,得到压缩视频数据。

为解决上述技术问题,本申请还提供了一种视频压缩系统,对于本申请提供的视频压缩系统的介绍请参照上述实施例,本申请在此不再赘述。

请参照图4,图4为本发明提供的一种视频压缩装置的结构框图,该装置包括:

存储模块7,用于存储计算机程序;

处理器8,用于在执行计算机程序时,实现上述的视频压缩方法的步骤。

为解决上述技术问题,本申请还提供了一种视频压缩装置,对于本申请提供的视频压缩装置的介绍请参照上述实施例,本申请在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种视频压缩方法及装置和视频传输系统
  • 视频系统、视频帧缓存再压缩/解压缩方法与装置
技术分类

06120113019956