图像数据处理方法与系统

文档序号:516502 发布日期:2021-05-28 浏览:8次 >En<

阅读说明:本技术 图像数据处理方法与系统 (Image data processing method and system ) 是由 茆文艺 黄金福 魏代德 于 2019-11-28 设计创作,主要内容包括:一种图像数据处理方法与系统,方法运行于编码系统与译码系统中,于译码系统中,自编码系统接收编码后的多个图像数据包,其中包括依照一排列规划重新排列图像中的多个像素再经编码形成的多组编码数据,例如依照译码系统中译码电路的数量设定排列规划。于译码系统中,将多组编码数据依据所述的排列规划储存至一存储器,使得译码系统中多个译码电路可同步从各组编码数据的起始数据开始译码,如此能加速译码的效能,可应用在高分辨率图像的译码需求,经完成译码后即输出图像。(In the decoding system, a plurality of image data packets after being encoded are received from the encoding system, wherein the image data packets include a plurality of groups of encoded data formed by rearranging a plurality of pixels in an image according to an arrangement plan, for example, the arrangement plan is set according to the number of decoding circuits in the decoding system. In the decoding system, the multiple groups of coded data are stored into a memory according to the arrangement plan, so that a plurality of decoding circuits in the decoding system can synchronously start decoding from the initial data of each group of coded data, the decoding efficiency can be accelerated, the decoding system can be applied to the decoding requirement of high-resolution images, and the images can be output after the decoding is finished.)

图像数据处理方法与系统

技术领域

本发明关于一种图像数据编译码技术,特别是一种对以一规则编排经过编码的图像像素执行译码的图像处理方法与系统。

背景技术

在图像数据的储存领域中,压缩与解压缩是很重要的课题,当需要输出高分辨率图像时,最终输出的比特流(bitstream)信息中前后数据有很大的依赖性,并且因为比特流中的数据长度可能不是固定的,意味着不知道前面的数据就无法先处理(解压缩)后面的数据,因此必须先解压缩前面的数据才能接着解压缩后面的数据,同时也无法通过同时处理不同片段的图像数据来达到快速处理图像数据的目的。

在图像压缩解压缩技术中,在形成图像数据档案的编码端,可以将图像数据通过一种熵编码(Entropy encoding)处理,熵编码是指一种信息量不丢失(以质量为主)而数据量可以变小的编码技术。经过熵编码处理后的图像数据中的每个像素的位数不是固定的,所以最终输出的图像数据档案在译码端(如图像播放装置)解析时,因为无法预先知道每个像素的最终位,前面的像素尚未处理完成就不能处理后面的像素,就只能一个一个像素顺序译码。

以高分辨率的图像处理为例,如4K、8K图像,若处理电路的频率(clock)不够,当要播放此类高分辨率图像时,若仅能先处理前面的数据才能接着处理后面的数据,会因为硬件的限制导致高分辨率图像无法实时解压缩,在一定的程度上将制约相关的图像处理系统处理数据的速度,如此,因为数据处理量不足将导致图像显示有不稳定与闪烁的现象发生。

在现有技术中,若要同时译码两个(或多个)像素,有解决方式是增加储存空间,在译码端将图像数据同时储存在不同的储存空间,因为不晓得数据长短,因此需要预先以每个图像数据流最长的情况储存,在系统分配资源时,就会产生浪费。

发明内容

为解决因为硬件的限制无法顺畅地处理高分辨率图像的问题,本申请提出一种图像数据处理方法与系统。

根据实施例,所提出的图像数据处理方法实现于一译码系统中,译码系统自一编码系统接收编码后的多个图像数据包,这些多个图像数据包由编码系统产生,其中包括依照一排列规划重新排列一图像中的多个像素再经编码形成的多组编码数据,而在译码系统中,将所接收的多组编码数据依据编码时使用的排列规划储存至一存储器,接着,以多个译码电路同步自各组编码数据的一起始数据执行译码,完成译码后输出经过再生的图像。

进一步地,于译码系统执行译码时,主要是依照多个图像数据包的数量以相同数量的多个译码电路执行译码。

进一步地,在编码系统中,先将图像中多个像素顺序编号后,所述排列规划指依照一设定的数量让编号间隔为此设定的数量的像素设为一组,使得经过编码后成为所述的多组编码数据,再经打包后形成多个图像数据包。在一实施例中,所述设定的数量最大可为译码系统中多个译码电路的数量。

根据一实施例,在编码系统中,依照所设定的数量,如n,将图像的多个像素依照排列规划形成第一组像素至第n组像素,其中n为译码系统在本次译码时使用的多译码电路的数量,经编码后形成第一组编码数据至第n组编码数据,并打包形成所述多个图像数据包,再传送至译码系统;于译码系统中,依照排列规划储存该第一组编码数据至第n组编码数据至存储器,储存时记录各组编码数据的起始数据,能同步自各组编码数据之高位至低位执行译码。

根据一实施例,本申请所提出的图像数据处理系统包括一译码系统,其中具有多个译码电路,对自编码系统得到的多个图像数据包进行译码,特别是这些图像数据包包括依照一排列规划重新排列一图像中的多个像素再经编码形成的多组编码数据。在译码系统中,多组编码数据依据编码时使用的排列规划储存至一存储器,以能同步自各组编码数据的一起始数据执行译码,并于完成译码后输出图像。

所述的图像数据处理系统更包括编码系统,于编码系统中,将图像中多个像素顺序编号后,所述排列规划指依照设定的数量让编号间隔为此数量的像素设为一组,经编码后成为多组编码数据,再经打包后形成多个图像数据包。在一实施例中,所述设定的数量最大为译码系统中多个译码电路的数量。

为使能进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与图式,然而所提供的图式仅用于提供参考与说明,并非用来对本发明加以限制。

附图说明

图1示出为图像数据处理系统的电路架构实施例图;

图2示出为图像数据处理方法中编码的流程实施例图;

图3示出为图像数据处理方法中译码的流程实施例图;

图4示出图像数据处理方法中编排图像数据的实施例示意图之一;

图5示出图像数据处理方法中编排图像数据的实施例示意图之二;

图6示出为图像数据处理方法的实施例流程图;

图7示出为图像数据处理方法的又一实施例流程图。

具体实施方式

以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不背离本发明的构思下进行各种修改与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。

应当可以理解的是,虽然本文中可能会使用到“第一”、“第二”、“第三”等术语来描述各种组件或者信号,但这些组件或者信号不应受这些术语的限制。这些术语主要是用以区分一组件与另一组件,或者一信号与另一信号。另外,本文中所使用的术语“或”,应视实际情况可能包括相关联的列出项目中的任一个或者多个的组合。

在图像压缩解压缩技术中,在形成图像数据档案的编码端,若要顾及图像质量,可以通过一种无损编码处理,可称为熵编码(Entropy encoding)。然而,经过例如熵编码这类技术处理后的图像数据中的每个像素的位数可能不是固定的,让译码端无法预知图像数据中每个像素的比特流长度与最终位,也就使得前面的像素尚未处理完成就不能处理后面的像素。如此,在处理能力有限的硬件下,将无法顺畅地解压缩与播放高分辨率的图像。对此,有现有技术中通过增加储存空间以达到同时解碼两个像素的目的。

然而,针对现有针对高画质图像译码技术可能产生的缺失,本申请提出的图像数据处理方法与系统在编码时重新排列图像像素,藉此改变图像数据流中像素的编码顺序,在译码时,相关处理电路可以在无须事先得到像素编码的比特流长度的情况下同时译码两个或以上的像素,可以有效将图像处理速度加倍或更快,即便面对硬件处理能力的限制,仍可以顺畅地处理(如解压缩)图像数据。

图1示意表示图像数据处理方法所应用的处理系统实施例图,图像数据处理系统10实现一个编译码系统,其中译码系统100应用在一个计算机装置中,或是一个集成电路(IC)中,译码系统100自一编码系统110接收经过编码的图像数据108,此图像数据108为依据一特定编码格式进行编码,并在译码系统100中执行本申请所提出的图像数据处理方法。

在编码系统110中,例如将一个图像帧(frame)或其中部分区块的像素分别根据编号分为奇数像素与偶数像素,并且分别编码为两个图像数据包,若以无损编码处理,形成变长编码数据,可分别为第一组编码数据与第二组编码数据。之后,将第一组编码数据与第二组编码数据传送到译码系统100。

根据以上描述,图像数据处理系统10包括译码系统100与编码系统110,译码系统100主要设有处理单元101,处理单元101为执行图像处理的处理器,可为各种形式的数字信号处理器或是中央处理器,执行译码图像数据的工作。根据上述范例,若编码系统110将图像处理为第一组编码数据(如奇数像素形成的数据包)与第二组编码数据(如偶数像素形成的数据包),译码系统100的处理单元101应包括两组译码电路,如第一译码电路1011与第二译码电路1012,以能同步译码第一组编码数据与第二组编码数据。

根据实施例,译码系统100的处理单元101,其中根据需求设计有多个译码电路,如图示出有第一译码电路1011与第二译码电路1012,而数量不限定。编码系统110执行编码产生的图像数据包中的编码数据的数量不应超过译码系统100中译码电路的数量,最大值就是译码电路的数量。

根据实施例,译码系统100通过数据接口105自编码电路110接收图像数据108,图像数据108为根据一排列规划的像素经过编码形成的多个图像数据包,译码系统100会根据这个排列规划将图像数据108编排至存储单元103中,存储单元103可为译码系统100中各种形式的存储器,当处理单元101执行译码时,将自存储单元103取得经过编排的编码数据,执行编码,完成后,将图像再生,输出至显示系统107显示图像。

根据一实施例,当编码系统110对一张图像(如图像帧)执行编码时,一张图像可以依照硬件条件、软件条件或是特定需求而不一定一次对整张图像执行编码,而可切割为多个图像区块,逐一处理各图像区块。编码时,将选择的图像区块中的多个像素顺序编号后(如1,2,…),根据排列规划将像素分组,例如,依照译码系统100端的译码电路数量(或不超过),将像素依照这个数量编组,例如让编号间隔为此数量的像素设为一组,经编码后成为多组编码数据,再经打包后形成多个图像数据包,即图中图像数据108。

图2示出为图像数据处理方法中编码的流程实施例图。

在步骤S201中,于编码系统中,先决定编码图像与执行编码的区域,之后,如步骤S203,根据译码电路的设计编排像素,其中,译码电路的数量将为编排像素的主要参考依据。举例来说,若译码电路的数量为n,可将像素依照编号分为n组或小于数量n的组,且为了让译码系统可以顺利译码并达到以两倍或更高倍(依照译码电路的能力与数量而定)同步译码的效果,像素依照一排列规划执行编排,特别是指依照一设定的数量(n或小于n)让编号间隔为此数量的像素设为一组。于步骤S205中决定一编码格式,即开始编码(步骤S207),将多组像素编码为多组编码数据,再经打包后形成多个图像数据包(步骤S209)。

接着是图3所示为图像数据处理方法中译码的流程实施例图。

在此图像数据编码的实施例中,一开始,如步骤S301,图像数据处理系统中的译码系统自编码系统接收多个(两个或以上,也就是n或小于n的数量)图像数据包,这些图像数据包可以涵盖一张图像,或是一张图像的一部分。所述图像数据包的数量可以依据译码端的图像数据处理系统中的译码电路数目而定,多个图像数据包涵盖了整个或部分的图像的编码数据,且分别是图像中像素依照所述排列规划分组后再编码完成,图像数据包的数量与编码的格式应符合译码系统的设计。

当译码系统接收到经过编码的多个图像数据包,按照存储器的设计分别排列多个图像数据包的编码数据,如步骤S303所述,依照译码时的排列规划排列各组编码数据。例如将各组编码数据的起始数据,如报头(header),编排在设定为开始译码的存储器地址上,如存储器的开头或结尾,其余编码数据即依序排列,按照排列规划完成排列后,再储存在图像数据处理系统的存储器中,如步骤S305。之后,译码系统中的多个译码电路开始从存储器中的多个开始译码的地址分别取出编码数据,使得各译码电路开始对取出的图像数据译码,译码电路的数量对应多个图像数据包的数量,因此多个译码电路可以同步译码出多个像素,如步骤S307,使得像素可依照编号再生图像,达到在有限硬件处理能力以及无法预知像素编码长度的情况下仍能快速译码的目的。

执行上述图像数据处理方法之前,在编码系统进行图像编码(如压缩,或是无损压缩)时,一般会固定压缩率,或是执行无损压缩。在此一提的是,执行编码时,可能会有两种情况,如果是固定压缩率的编码方式,只要图像分辨率(resolution)可事先给定,就能配置好所有储存编码(压缩)后的图像数据的储存空间。另一种情况是,如果采用无损压缩的编码方式,若图像分辨率也是给定,可以根据无损压缩法计算出最差的情况的整张图像编码所需的储存空间。

如此,不论是否为固定压缩率或是无损压缩,因为能先取得图像数据需要的储存空间,当储存空间固定时,可以将分开打包的多个图像数据包分别从储存空间的开头(如图4左方)与结尾(如图4右方)开始填入经过编码的图像数据流,并向中间部分靠拢。

相关实施例可参考图4所示图像数据处理方法中编排图像数据的实施例示意图,其中图像处理流程可同时参考图6所示之流程。

在图6步骤S601中,如图4所示,译码系统接收编码后的第一组编码数据41与第二组编码数据42,再如步骤S603,依照编码时的排列规划,将各组编码数据自高位至低位分别排列,如图示意表示两个图像数据包中的编码数据可分别从开头与结尾排列,再向中间靠拢排列。

图中示出有第一组编码数据41,其中包括报头(header)A0以及接续数据A1~A4,第二组编码数据42包括保留报头B0以及接续数据B1~B4。图中示意表示一个顺序编排的数据,表示可顺序储存图像数据的储存空间,可以是译码系统中存储单元(103,图1)中的一个连续存储区块,用于写入经过编码的图像数据流,再以本申请提出的图像数据处理方法执行译码。

在此一提的是,一个图像数据包可以仅有一个报头A0,而可以忽略保留报头B0,报头记载的是这个图像数据包的编码格式,包括一个图像的图像数据包数量与译码端的译码方式,如图像中像素的顺序信息与各图像数据包的译码顺序,也就是对应每个图像数据包中编码像素在编码时的编排。

此例示出第一组编码数据41的图像数据流依照顺序自左向右排列,一开始可包括报头A0(可忽略),排列在图中示出的排列顺序中的开头(如最左方),接着顺序填入数据A1~A4,从排列顺序的左方开头设为高位,逐一向右(低位)填入第一组编码数据41。其中,数据A1~A4可为图像数据中各个像素执行无损编码后的数据,可表示为一个图像数据包中各个像素执行完熵编码后的变长编码数据。

另一方面,在此排列顺序的结尾(如最右方)开始填入另一可以记载图像压缩格式信息的保留报头(reserved header)B0(可忽略),从结尾这端将右方设为高位,逐一向左(低位)填入第二组编码数据42,也就是顺序填入数据B1~B4,数据B1~B4表示为另一个图像数据包中各个像素做完熵编码之后的变长编码数据。

其中,在无损编码的情况下,所述第一组编码数据41的数据A1~A4与第二组编码数据42的数据B1~B4可表示图像数据中各个像素执行无损编码后的数据,经过无损编码时,每个像素编码后的位长度不固定,因此图中示出的每个数据方块长度不同。

接着,如图6步骤S605,将排列完成的编码数据暂存到译码系统中的存储器中,两组经过编排的编码数据提供给译码电路执行译码,如图4所示之实施例,顺序排列的第一组编码数据41与第二组编码数据42依照排列规划储存到存储器中,以利译码电路分别从两个设定为开始译码的起始数据开始译码。

在译码系统的存储器中,第一组编码数据41中的一起始数据的存储器地址在储存空间的左方,除报头A0之外,在存储器中顺序填入数据A1~A4,实施方式是从左方开始填入数据,数据A1最左端定为最高有效位(Most Significant Bit,MSB),数据A1的最右端则是这段数据的最低有效位(Least Significant Bit,LSB),填入第一组编码数据41的顺序即从MSB往LSB方向执行,而之后译码的顺序也是从MSB往LSB方向执行。

同理,在另一开始译码的起始数据的存储器地址上,除保留报头B0之外,数据B1~B4表示图像数据包中各像素做完无损编码后的编码数据,从右方开始向左方填入存储器,数据B1最右端定为最高有效位(MSB),数据B1的最左端则是这段数据的最低有效位(LSB),填入第二组编码数据42的顺序同样从MSB往LSB方向执行,而之后译码的顺序也是从MSB往LSB方向执行。

于编码系统中,将图像中多个像素顺序编号后,如此例示出将图像中像素编排为两组,第一组像素可为多个像素中编号为奇数的像素,第二组像素可为多个像素中编号为偶数的像素。在译码系统中,依照多个图像数据包的数量以相同数量的多个译码电路执行译码,且所设定的数量最大为译码系统中多个译码电路的数量,如图6步骤S607,此例示出以两个译码电路分别自存储器的开头与结尾开始译码,译码系统包括第一译码电路,用于自存储器的开头译码第一组编码数据,以及第二译码电路,用于自存储器的结尾译码该第二组编码数据,如步骤S609,完成译码后还原图像,再输出图像,如步骤S611。

接着参考图7所示图像数据处理的流程图。

根据以上实施例的描述,于编码系统中,依照设定的数量,将图像的多个像素依照排列规划形成第一组像素至第n组像素,其中n为译码系统使用的多译码电路的数量,实际上可以不仅为n个译码电路。经编码系统编码后形成第一组编码数据至第n组编码数据,打包形成提供译码系统的多个图像数据包,经传送至译码系统后,可依照排列规划储存第一组编码数据至第n组编码数据至存储器,如图7步骤S701。

如图5示出图像数据处理方法中编排图像数据的又一实施例示意图,此例示出经编码系统编码的图像数据产生4组编码数据,于是,在译码系统中,需要以4个译码电路同步分别对4组编码数据译码,图标的4组编码数据为依照一排列规划重新排列图像中的多个像素再经编码形成的多组编码数据,分别为第一组编码数据41,包括有报头A0与数据A1,A2,A3,A4;第二组编码数据42,包括有保留报头B0与数据B1,B2,B3,B4;第三组编码数据43,包括有保留报头C0与数据C1,C2,C3,C4;以及第四组编码数据44,包括有保留报头D0与数据D1,D2,D3,D4。

在图7步骤S703中,译码系统接收第一组至第n组编码数据,依照排列规划储存第一组编码数据至第n组编码数据至存储器,译码系统于编排后将记录各组编码数据的起始数据,如步骤S705,即各组编码数据的报头位置。

图5示出之示意图表示有4组编码数据,为求译码时可以顺序译码得出连续像素,在编码系统中,先将图像中多个像素顺序编号后,根据排列规划编排像素,即依照设定的数量让编号间隔为数量(如4)的像素设为一组,经编码后成为多组编码数据,此例的第一组编码数据41涵盖的像素编号可以为1,5,9,13…,第二组编码数据42涵盖的像素编号可为2,6,10,14…,第三组编码数据43涵盖的像素标号可为3,7,11,15…,第四组编码数据44涵盖的像素编号可为4,8,12,16…。

接着,如步骤S707,从各组编码数据的起始数据(如报头)开始,译码系统以同步自各组编码数据之高位至低位执行译码,完成译码后输出图像,如步骤S709。

综上所述,根据本申请的描述,经过熵编码后的图像虽无法知道图像中每个像素编码后的长度,且当硬件无法应付高画质图像的译码时,每个像素将无法在规定的时间(如一个频率周期)完成译码,也就是来不及译码当下像素下一个像素就又进入,产生时序约束不满足的问题。但在本申请提出的图像数据处理方法中,在编码端就先把每张图像的像素分为两组或多组,这是依照译码端的电路设计而定,可以让较低处理能力(如较低频率处理器)的硬件执行高画质图像译码的需求,例如要处理4K、8K等高画质图像译码,包括静态图像与动态图像。

以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的权利要求范围,所以凡是运用本发明说明书及图式内容所做的等效技术变化,均包含于本发明的权利要求范围内。

【符号说明】

图像数据处理系统 10

译码电路 100

处理单元 101

第一译码电路 1011

第二译码电路 1012

存储单元 103

数据接口 105

显示系统 107

图像数据 108

编码系统 110

第一组编码数据 41

第二组编码数据 42

第三组编码数据 43

第四组编码数据 44

报头 A0

数据 A1,A2,A3,A4

保留报头 B0

数据 B1,B2,B3,B4

保留报头 C0

数据 C1,C2,C3,C4

保留报头 D0

数据 D1,D2,D3,D4

步骤 S201~S209图像数据处理流程

步骤 S301~S307图像数据处理流程

步骤 S601~S611图像数据处理流程

步骤 S701~S711图像数据处理流程。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于软件定义网络和边缘计算技术的视频业务处理方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类