图像编码方法和系统与流程

文档序号:11778944阅读:394来源:国知局
图像编码方法和系统与流程

本发明涉及图像编码领域,具体而言,涉及一种图像编码方法和系统。



背景技术:

随着云的日益发展,对计算机图像的传输需求越来越大,但是目前对于计算机图像的编码和传输并没有专用的装置。目前图像编码的方法最主要有两种方式:(1)h.26x系列,主要侧重网络传输,对自然视频进行编码;(2)jpeg和jpeg2000,主要对连续色调、多级灰度、静态图像的数字图像压缩编码。

针对相关技术中的图像编码方法功能单一的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种图像编码方法和系统,以至少解决相关技术中的图像编码方法功能单一的技术问题。

根据本发明实施例的一个方面,提供了一种图像编码系统,该系统包括:视频采集卡,用于通过视频接口采集数据,得到初始图像数据;现场可编程门阵列fpga,用于对初始图像数据执行预处理,得到预处理图像数据;处理器cpu,用于根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别,并采用与预处理图像数据的类别相对应的编码器对预处理图像数据进行编码。

进一步地,视频采集卡与fpga集成在外接设备中,cpu集成在终端中,外接设备与cpu通过预设接口连接。

进一步地,外接设备中还集成有直接存储器访问dma控制器和缓存,缓存用于缓存预处理图像数据,dma控制器用于控制缓存与其它存储器之间的数据传输。

进一步地,dma控制器集成在fpga中,fpga还包括缓存控制器,缓存控制器用于与缓存连接并控制与缓存之间的数据传输。

进一步地,终端上还包括存储器,与cpu相连接,用于读取缓存中存储的预处理图像数据,和/或,为cpu提供预处理图像数据,其中,cpu用于控制存储器是否开启与缓存之间的通讯通道。

进一步地,外接设备为minipcie卡上,终端包括用于插入minipcie卡的卡槽。

进一步地,fpga与cpu之间基于pcie通讯标准进行通讯。

进一步地,视频接口为高清晰度多媒体hdmi接口或数字视频dvi接口。

根据本发明实施例的另一个方面,还提供了一种图像编码方法,该方法应用于本发明的图像编码系统,该方法包括:获取初始图像数据;对初始图像数据执行预处理以得到预处理图像数据;根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别;采用与预处理图像数据的类别相对应的编码器对预处理图像数据进行编码。

进一步地,系统包括视频采集卡,获取初始图像数据包括:通过视频采集卡采集视频终端上的当前屏幕图像,得到初始图像数据。

进一步地,系统包括cpu,根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别包括:基于pcie通讯标准将预处理图像数据发送至cpu;通过cpu确认预处理图像数据对应的类别。

进一步地,系统还包括fpga、dma控制器、缓存和存储器,fpga用于对初始图像数据执行预处理以得到预处理图像数据,视频采集卡、fpga、dma控制器和缓存集成在外接设备中,cpu和存储器集成在终端中,根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别包括:通过cpu控制开启存储器与缓存之间的通讯通道;通过dma控制器控制存储器从缓存中获取并存储预处理图像数据;通过cpu获取存储器中存储的预处理图像数据并确认预处理图像数据对应的类别。

在本发明实施例中,通过视频采集卡,用于通过视频接口采集数据,得到初始图像数据;现场可编程门阵列fpga,用于对初始图像数据执行预处理,得到预处理图像数据;处理器cpu,用于根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别,并采用与预处理图像数据的类别相对应的编码器对预处理图像数据进行编码,解决了相关技术中的图像编码方法功能单一的技术问题,通过多种编码方式融合在一个系统中,进而实现了图像编码方式集中度高、节约成本的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的图像编码系统的示意图;

图2是根据本发明实施例的另一种可选的图像编码系统的示意图;

图3是根据本发明实施例的一种可选的fpga的内部结构示意图;

图4是根据本发明实施例的一种可选的cpu的内部结构示意图;

图5是根据本发明实施例的一种可选的图像编码方法的流程图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面对本申请中提及的术语进行解释如下:

pcie:全称peripheralcomponentinterconnectexpress,是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输。minipcie是一种基于pcie的接口。

本申请提供了一种图像编码系统的实施例。

图1是根据本发明实施例的一种可选的图像编码系统的示意图,如图1所示,该系统包括视频采集卡101,现场可编程门阵列fpga103和处理器cpu111。

其中,视频采集卡用于通过视频接口采集数据,得到初始图像数据。可选的,视频接口可以是高清晰度多媒体hdmi接口或数字视频dvi接口,视频采集卡可以通过视频接口与视频终端(播放视频的终端)相连接,并通过视频接口采集视频终端的图像数据,如在视频终端当前屏幕上显示的画面的数据,得到初始图像数据。

fpga用于对初始图像数据执行预处理,得到预处理图像数据。预处理可以包括转换图像格式、滤波等处理方式之一或多种处理方式。fpga在对初始图像数据进行预处理之后,得到预处理图像数据。

cpu用于根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别,并采用与预处理图像数据的类别相对应的编码器对预处理图像数据进行编码。像素特性是指图像数据所代表的图像中像素值展示出的特性,例如,可以将图像数据分为文字图像和图画图像等多个类别,或者,也可以根据图像数据的文件属性将图像数据分为视频图像和jpeg图像等多个类别。不同的类别对应不同的编码器,各个编码器采用的编码方法不同,以适应不同的需求,达到更高的编码效率。

该实施例提供的图像编码系统,能够融合多种编码方式,根据图像数据的类别确定对应的编码器进行编码,解决了相关技术中图像编码方法功能单一的技术问题,提高了图像编码系统的集中度。

可选的,该实施例提供的系统在硬件上可以分为两个部分,第一个部分为外接设备,外接设备中包括视频采集卡和fpga,第二个部分为终端,终端中包括cpu,外接设备与cpu通过预设接口连接。通过这种集成的方式,一方面集成度较高,另一方面有利于视频采集卡的升级,例如,从采集2k的数据升级到采集4k/8k的数据。可选的,外接设备可以是minipcie卡,其中,终端包括用于插入minipcie卡的卡槽。

进一步地,外接设备中还可以集成有直接存储器访问dma控制器和缓存,缓存用于缓存预处理图像数据,dma控制器用于控制缓存与其它存储器之间的数据传输。在外接设备连接终端的情况下,通过dma控制器控制缓存与终端中存储器之间的数据传输,可以有效减轻cpu的工作负荷,提高cpu的工作效率。其中,终端上包括的存储器与cpu相连接,用于读取缓存中存储的预处理图像数据,和/或,为cpu提供预处理图像数据,其中,cpu用于控制存储器是否开启与缓存之间的通讯通道。

可选的,dma控制器可以集成在fpga中,相应地,fpga还包括缓存控制器,缓存控制器用于与缓存连接并控制与缓存之间的数据传输。

下面结合图2详细说明上述实施例的一种具体的实施方式,如图2所示,该实施例提供的图像编码系统包括100组件和110组件两个组件。

100组件与110组件是独立的两个硬件设备,可选的,110组件的形态可以是一个标准的minipcie卡,尺寸为3cm*5.095cm,通过插槽与110组件进行连接。100组件做成minipcie卡的形态,一方面有利于后续采集卡的升级,如采集4k/8k的数据。另一方面集成度比较高,可以有效减少整个产品的面积。

100组件由101组件、102组件和103组件组成,其中,101组件为视频采集模块(视频采集卡),用于完成图像数据的采集,可选的,可以是专用的数据采集集成电路asic,可以将通过视频接口(如hdmi/dvi等)采集到的数据转换成rgb发送给103组件;103组件为fpga,用于格式转换、预处理等操作,得到预处理图像数据,可选的,103组件为低功耗小封装fpga,可以通过verilog变成语言对其进行编程,对图像数据进行预处理;102组件为缓存,用于缓存预处理图像数据,可选的,102组件可以是低功耗内存lpddr,lpddr作为图像的缓存有利于降低功耗。

110组件可以是终端的形态,110组件上可以设置卡槽,用于插入minipcie卡。110组件包括111组件、112组件、113组件、114组件、115组件。

其中,111组件为cpu,主要用于完成图像数据的编码和整个系统的控制管理。112组件为存储器,用于存储预处理图像数据,cpu111可以读取存储器112中的预处理图像数据并进行分类编码。113组件为usb接口,usb接口可以与外部设备通过usb协议进行数据交互。114组件为以太网接口,用于与外部设备通过以太网进行数据交互。115组件为音频模块,可以输出音频。

可选的,上述的103组件内部的结构可以如图3所示,103组件内部包括图像格式转换组件1031、图像预处理组件1032、axi(全称advancedextensibleinterface)总线矩阵组件1033、缓存控制器ddr_ctrl1034、pcie控制器1035和配置模块1036。

1031组件根据输入图像数据的格式进行转换;1032组件进行数据的预处理,包括加框等;1033组件用于使得1032组件,1034组件和1035组件通过axi总线进行数据交换;1034组件为内存控制器;1035组件为带dma的pcie控制器,其中,100组件能够通过fpga103内部的dma模块与存储器112直接进行数据交互,cpu105仅需控制缓存102与存储器112开启通讯,之后的数据传输过程均由dma模块控制,避免对cpu105的占用,具体而言,1035组件中包括pciedma351、pciedmareg352、pciedmauserreg353、pciectrl354和pcieendpoint355,其中,pciedma351为外围组件快速互连直接内存存取,pciedmareg352为外围组件快速互连直接内存存取寄存器,pciedmauserreg353为外围组件快速互连直接内存存取用户寄存器,pciectrl354为外围组件快速互连控制,pcieendpoint355为外围组件快速互连终结点;1036组件为101组件的配置模块,用于获取101组件的状态、对101组件进行初始化配置。

可选的,上述的111组件内部的结构可以如图4所示,111组件内部包括pcie控制器1111组件、图像识别系统1112组件、编码系统1113组件、输出控制1114组件和存储器ddr控制器1115组件。

1111组件能够与fpga103组件和ddr控制器1115组件进行数据交换。

图像识别系统1112组件能够对数字图像进行处理和识别,根据图像的特性确定图像对应的类别,其中,每种类别对应不同的编码方法(编码器)。

如图4中所示,1113组件包括四种不同的编码器,文字编码器131、文字预测编码器132、jpeg编码器133和h.264编码器134,根据1112组件确定的类别在四种编码器中选择一种编码器对图像数据进行编码,由于采用对应的编码方法进行编码,因而可以提高压缩率。

输出控制1114组件可以将编码后的码流调整到一定的格式进行输出。

ddr控制器1115组件用于对图像数据的缓存进行控制。

本申请还提供了一种图像编码方法的实施例。需要说明的是,该方法可以应用于本发明实施例提供的图像编码系统。

图5是根据本发明实施例的一种可选的图像编码方法的流程图,如图5所示,该方法包括如下步骤:

步骤s101,获取初始图像数据;

步骤s102,对初始图像数据执行预处理以得到预处理图像数据;

步骤s103,根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别;

步骤s104,采用与预处理图像数据的类别相对应的编码器对预处理图像数据进行编码。

该实施例通过获取初始图像数据;对初始图像数据执行预处理以得到预处理图像数据;根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别;采用与预处理图像数据的类别相对应的编码器对预处理图像数据进行编码,解决了相关技术中的图像编码方法功能单一的技术问题,进而实现了图像编码方式集中度高、节约成本的技术效果。

在图像编码系统包括视频采集卡的情况下,作为一种可选的实施方式,获取初始图像数据包括:通过视频采集卡采集视频终端上的当前屏幕图像,得到初始图像数据。

在图像编码系统包括cpu的情况下,作为一种可选的实施方式,根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别包括:基于pcie通讯标准将预处理图像数据发送至cpu;通过cpu确认预处理图像数据对应的类别。

可选地,系统还可以包括fpga、dma控制器、缓存和存储器,fpga用于对初始图像数据执行预处理以得到预处理图像数据,视频采集卡、fpga、dma控制器和缓存集成在外接设备中,cpu和存储器集成在终端中。在这种情况下,根据预处理图像数据的像素特性和/或文件属性确认预处理图像数据对应的类别包括:通过cpu控制开启存储器与缓存之间的通讯通道;通过dma控制器控制存储器从缓存中获取并存储预处理图像数据;通过cpu获取存储器中存储的预处理图像数据并确认预处理图像数据对应的类别。

需要说明的是,在附图的流程图虽然示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请还提供了一种存储介质的实施例,该实施例的存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的图像编码方法。

上述本申请实施例的顺序不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。

其中,以上所描述的装置实施例仅仅是示意性的,例如所述组件的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,组件之间的间接耦合或通信连接,可以是电性或其它的形式。

另外,在本申请各个实施例中的各功能组件可以集成在一个处理组件中,也可以是各个组件单独物理存在,也可以两个或两个以上组件集成在一个组件中。上述集成的组件既可以采用硬件的形式实现,也可以采用软件功能组件的形式实现。

所述集成的组件如果以软件功能组件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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