采用基于多块的流水线的增强型数据处理设备及操作方法与流程

文档序号:11931468阅读:191来源:国知局
采用基于多块的流水线的增强型数据处理设备及操作方法与流程

技术领域

与示例性实施例一致的方法和设备涉及一种采用基于多块的流水线的增强型数据处理设备及其操作方法,更具体地,涉及一种用于通过经由包括多个块的块组访问存储器装置以对所述块组执行并行流水线解码处理来对图像进行解码的方法和设备。



背景技术:

当图像或声音被转换成数字数据时,转换的数字数据的尺寸是相当大的。如果数字数据不被压缩,则数字数据在存储器中占用相当大的空间并且需要大带宽来发送如此大尺寸的数据。因此,用于减少数字数据的尺寸的压缩技术是必要的,并且存储空间利用效率和经由网络的数据发送效率可通过采用压缩技术而被提高。

图像压缩格式的示例包括GIF和JPEG。视频和声音压缩格式的示例包括MPEG、H.263/AVC和H.265(HEVC)。高效率视频编码(在下文中被称为'HEVC')是最新的视频编码标准,并在2013年由视频编码联合组(JCT-VC)提出。

HEVC引进具有分层递归四叉树分割结构的编码单元(CU)来取代在传统的图像编码标准(诸如H.264/AVC)中采用的固定尺寸的宏块。与传统图像编码标准相比,HEVC由于四叉树结构而表现出显著提高的压缩效率,但是计算复杂性也相应地显著增大。一帧被划分为具有例如高达64x64或128x128尺寸的最大编码单元(MCU),并且最大编码单元可被反复划分直至最大编码单元被划分为具有例如8x8或4x4的尺寸的最小编码单元(SCU)。

此外,输入视频流被划分为图像组,其中,每个图像组包括一系列图像或帧。每个GOP包括多个图像,并且每个图像被划分为多个切片。此外,两种类型的图像可在单个GOP之中出现,即,帧内模式图像(或I-图像)和预测运动补偿图像(P-图像或B-图像)。

在I-图像中,所有块以帧内模式被解码而无需运动补偿。针对P-图像可执行仅用于从单个参考图像列表选择一副参考图像的单向预测,然而针对B-图像可选择性地采用两个参考图像列表的双向预测和采用单个参考图像列表的单向预测。可以以每个块利用运动补偿的帧内模式对预测运动补偿图像(P-图像或B-图像)进行解码。

图像解码系统通常包括用于存储输入视频流和用于执行运动补偿的帧的存储器。

在图像解码系统中,存储器访问可包括:1)用于熵解码的存储器访问、2)用于针对每个块尺寸的帧内模式预测的存储器访问、3)针对用于帧内模式预测的周围块的存储器访问、4)用于滤波的存储器访问、和5)用于将最终重建的图像写入到存储器的存储器访问。针对用于帧内模式预测的周围块的访问和用于滤波的存储器访问可使用内部存储器。特别是,存储器访问之中的用于帧内模式预测的存储器访问需要最大的存储器带宽。

与传统的图像编码标准相比,近来已被建议作为新的国际运动图像编码标准的H.265/HEVC采用各种块处理单元和显著地更加复杂的技术来运动预测和运动补偿。因此,用于运动补偿的存储器访问的频率显著增加。因此,存在对用于图像编码设备的高效的存储器访问技术的需求。此外,因为H.264/AVC采用16x16宏块(MB)作为唯一的基本处理单元,所以在处理大图像(例如,超高清(UHD)图像)的情况下由于用于运动补偿的大量的存储器访问而存在对于高效的存储器访问技术的需求。



技术实现要素:

与示例性实施例一致的方法和设备涉及通过按块组访问存储器针对所有块对图像进行解码并对块组执行并行流水线解码处理,从而可提高处理速度。

附加的方面将在随后的描述中被部分地阐述,并且部分地将从描述变得清楚,或者可通过呈现的示例性实施例的实践而被获知。

根据示例性实施例的一方面,提供了一种对图像进行解码的方法,所述方法包括:获得关于包括在编码图像的比特流中的一个或更多个块的尺寸的尺寸信息;基于所述一个或更多个块之中的至少一个块的尺寸信息将所述至少一个块分组成块组,以执行所述至少一个块的解码;以存储器访问请求信号向存储器请求与包括在块组中的所述至少一个块相应的参考图像数据;并基于与包括在块组中的所述至少一个块相应的参考图像数据,对块组执行并行流水线解码处理。

并行流水线解码处理可包括用于熵解码、反量化/逆变换、帧内/帧间预测、重建和滤波计算的操作,并且所述操作中的每个操作按块组根据周期被顺序地延迟并被并行地执行。

分组步骤可包括:确定所述至少一个块的尺寸信息指示所述一个或更多个块之中的所述至少一个块中的每个块的尺寸小于16x16或者是16x16;并且响应于确定所述至少一个块的尺寸信息指示所述一个或更多个块之中的所述至少一个块中的每个块的尺寸小于16x16或者是16x16,对所述至少一个块进行分组。

块组可包括四个16x16的块。

请求步骤可包括从存储器获得与块组中的所述至少一个块相应的参考图像数据以执行运动补偿。

获得步骤可包括:通过将用于请求与包括在块组中的所述至少一个块相应的参考图像数据的请求信号进行组合来产生存储器访问请求信号;将存储器访问请求信号发送到存储器;并且在单个存储器访问周期期间,获得与包括在块组中的所述至少一个块相应的参考图像数据。

所述方法还可包括:按块组检查运动矢量;并且如果运动矢量指示半像素或四分之一像素,则对与包括在块组中的所述至少一个块相应的参考图像数据执行插值。

获得步骤可包括:按块组访问本地高速缓存以获得与包括在块组中的所述至少一个块相应的参考图像数据。

获得步骤可包括:按块组分析运动矢量;基于分析的结果来按块组访问多路组相联高速缓存,以获得与包括在块组中的所述至少一个块相应的参考图像数据;并且如果在多路组相联高速缓存正在被访问时发生缓存丢失,则基于按块组分析运动矢量的结果来更新多路组相联高速缓存。

根据示例性实施例的一方面,提供了一种按块组访问存储器的图像解码设备,所述图像解码设备包括:图像解码器,被配置为对至少一个块的块组执行并行流水线解码处理;和存储器,被配置为存储由图像解码器解码的数据,其中,图像解码器包括控制器,其中,控制器被配置为:获得关于包括在编码图像的比特流中的一个或更多个块的尺寸的尺寸信息,基于所述至少一个块的尺寸信息对所述至少一个块进行分组以执行所述至少一个块的解码,以存储器访问请求信号向存储器请求与包括在块组中的所述至少一个块相应的参考图像数据,并基于与包括在块组中的所述至少一个块相应的参考图像数据来对块组执行并行流水线解码处理。

并行流水线解码处理可包括用于熵解码、反量化/逆变换、帧内/帧间预测、重建和滤波计算的操作,并且所述操作中的每个操作按块组根据周期被顺序地延迟并被并行地执行。

控制器可通过以下操作来对所述至少一个块进行分组:确定所述至少一个块的尺寸信息指示所述一个或更多个块之中的所述至少一个块中的每个块的尺寸小于16x16或者是16x16;并且响应于确定所述至少一个块的尺寸信息指示所述一个或更多个块之中的所述至少一个块中的每个块的尺寸小于16x16或者是16x16,对所述至少一个块进行分组。

块组可包括四个16x16的块。

控制器可从存储器获得与块组中的所述至少一个块相应的参考图像数据以执行运动补偿。

控制器可通过以下操作从存储器获得与块组中的所述至少一个块相应的参考图像数据:通过将用于请求与包括在块组中的所述至少一个块相应的参考图像数据的请求信号进行组合来产生存储器访问请求信号;将存储器访问请求信号发送到存储器;并且在单个存储器访问周期期间,获得与包括在块组中的所述至少一个块相应的参考图像数据。

图像解码器可按块组检查运动矢量,并且如果运动矢量指示半像素或四分之一像素,则对与包括在块组中的所述至少一个块相应的参考图像数据执行插值。

控制器可通过按块组访问本地高速缓存以获得与包括在块组中的所述至少一个块相应的参考图像数据,从存储器获得与块组中的所述至少一个块相应的参考图像数据。

控制器可通过以下操作从存储器获得与块组中的所述至少一个块相应的参考图像数据:按块组分析运动矢量;基于分析的结果来按块组访问多路组相联高速缓存,以获得与包括在块组中的所述至少一个块相应的参考图像数据,并且如果在多路组相联高速缓存正在被访问时发生缓存丢失,则控制器被配置为基于按块组分析运动矢量的结果来更新多路组相联高速缓存。

根据示例性实施例的一方面,提供了一种非暂时性计算机可读记录介质,其中,在所述非暂时性计算机可读记录介质上记录有计算机程序,其中,当计算机程序由解码设备执行时促使所述解码设备执行对图像进行解码的方法,所述方法包括:获得关于包括在编码图像的比特流中的一个或更多个块的尺寸的尺寸信息,基于所述一个或更多个块之中的至少一个块的尺寸信息将所述至少一个块分组成块组,以执行所述至少一个块的解码,以存储器访问请求信号向存储器请求与包括在块组中的所述至少一个块相应的参考图像数据,并且基于与包括在块组中的所述至少一个块相应的参考图像数据,对块组执行并行流水线解码处理。

附图说明

从以下结合附图进行的示例性实施例的描述,以上和其它方面将变得清楚并更加容易理解,其中:

图1是示出根据示例性实施例的图像解码设备的示意性框图;

图2是示出根据示例性实施例的图像解码设备的读路径和写路径的框图;

图3是示出沿着其根据示例性实施例的图像编码设备经由高速缓存获得参考图像数据的数据路径的框图;

图4A是示出根据示例性实施例的图像解码系统的块处理单元的示图;

图4B是示出根据示例性实施例的按块执行的并行流水线解码处理的示图;

图5A是示出根据示例性实施例的图像解码系统的块处理单元的示图;

图5B是示出根据示例性实施例的对块组执行的并行流水线解码处理的示图;

图6是根据示例性实施例的图像解码方法的流程图。

具体实施方式

现在将详细参照在附图中示出其示例的示例性实施例,其中,相同的附图标号始终指示相同的元件。就此而言,本示例性实施例可具有不同的形式并且不应被解释为限于在此阐述的描述。因此,下面通过参照图来仅描述示例性实施例以解释各个方面。如这里所使用的情况,术语“和/或”包括相关列出项中的一个或更多个项的任何组合和全部组合。

由于本发明构思允许各种改变和众多示例性实施例,故特定示例性实施例将在附图中被示出并在书面描述中被详细描述。然而,这并非意在将本发明构思限于特定的实施方式,并且应理解:没有脱离本发明构思的精神和技术范围的所有改变、等同物和替换包含在本发明构思中。

将理解:虽然术语“第一”、“第二”、“第三”等可在此被采用以描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应被这些术语限制。因此,在不脱离本公开的教导的情况下,在下面讨论的第一元件可被称为第二元件,并且类似地,第二元件可被称为第一元件。

将理解:当组件被称为被“连接到”另一组件时,所述组件可被直接地或间接地连接到所述另一组件。即,例如,除非在表述中采用术语“直接地”,否则可存在中间组件。

在本说明中采用的术语仅被用于描述特定示例性实施例,并非意在限制本发明构思。采用单数形式的表述包括复数的表述,除非在上下文中有明确不同的含义。在本说明书中,应理解:诸如“包括”或“具有”等的术语意在指示存在在本说明书中公开的特征、数字、步骤、动作、组件、部件或上述项的组合,并非意在排除可存在或可添加一个或更多个其它特征、数字、步骤、动作、组件、部件或上述项的组合的可能性。

诸如“至少一个”的表述并不一定修饰前面列表的全部并且不一定修饰所述列表中的每个成员,使得“a、b和c中的至少一个”应被理解为包括仅a一个、仅b一个、仅c一个、或a、b和c的任意组合。

除非另有限定,在这里采用所有术语(包括技术术语和科学术语)具有本发明构思所属领域普通技术人员通常理解的含义。还将理解:在这里使用的术语(诸如在通常采用的字典中所定义的那些术语)应被理解为具有与它们在现有技术的语境中的含义一致的含义并且将不以理想化或过分正式的意义被解读,除非在此被如此明确地定义。

在下文中,将参照附图来详细描述本发明构思的示例性实施例。

图1是示出根据示例性实施例的图像解码设备100的示意性框图。

参照图1,图像解码设备100包括解码器110、控制器120、存储器130和数据总线140。

解码器110从输入比特流重建显示的图像。详细地,解码器110接收比特流的输入(其中,比特流可在解码器110之前的阶段被解析),熵解码器对输入的比特流进行熵解码。反量化器/逆变换器对编码的信号进行反量化和逆变换并获得残差信号。此外,解码器110经由运动补偿器基于运动矢量来获得预测图像,其中,预测图像和残差信号通过像素重建单元被合成。为了从合成的图像去除块效应,通过滤波单元来对合成图像进行滤波。

反量化和逆变换可在解码器内执行或可分别由单独的解码器来单独地执行。

存储器130存储由解码器110解码的数据并输出存储在存储器中用于进行解码的数据。例如,将被解码的目标帧的部分、整个参考帧的部分、用于进行解码的参数以及关于目标块的周围的信息可被存储在存储器130中。此外,当前正在被解码的目标帧和将不作为参考帧被参考的帧可存储在存储器130中。如下所述,通过控制器120来控制存储器130的操作。

控制器120经由数据总线140控制对存储器130的访问。控制器120基于来自解码器110的存储器访问请求来控制与存储器130的数据交换。例如,控制器120可经由数据总线140从存储器130读取数据,使得解码器110对当前帧执行帧内模式预测。

同时,如下所述,控制器120访问存储器130。

首先,当图像解码设备100的操作被启动时,控制器120检查关于包括在编码图像的比特流中的一个或更多个块的尺寸的尺寸信息。控制器120可基于尺寸信息来确定是否将特定数量的块设置为单个块组单元。例如,当尺寸信息指示每个块的尺寸是16x16并且控制器确认包括在比特流中的每个块的尺寸是64x64或32x32时,多个块可作为单独的块被处理而不是作为单个单元进行处理。然而,当控制器120确认包括在比特流中的每个块的尺寸是16x16时,四个16x16块可被选择作为组,并作为单个块组单元被处理。

当包括一个或更多个块的块组被选择时,控制器120按块组来访问存储器130。因此,解码器110可对块组执行并行流水线解码操作。

当按照包括一个或更多个块的块组来处理数据时,与处理单个块相比,存储器访问效率可被提高。例如,当单独地对四个块进行解码时,如果存储器被访问以对每个单独的块进行解码,则由于存储器访问而引起的四个初始延迟发生。然而,如果控制器120按包括四个块的块组来访问存储器,则针对对块组的四个块进行解码仅发生一个初始延迟。因此,当通过采用包括N(N是整数)个块的块组来访问存储器时,与对块进行单独解码相比,由于存储器访问而引起的延迟发生的数量可减少到1/N。

同时,由解码器110执行的解码操作之中,运动补偿需要最大数量的存储器访问。因为在运动补偿期间考虑时间上的前面的帧和时间上的后续帧,所以对存储当前帧、前面的帧和/或后续帧的存储器的频繁访问被执行到用于执行运动补偿的存储器带宽大于用于执行熵解码、帧内预测和滤波的存储器带宽的总和的程度。

为了执行运动补偿,根据示例性实施例的解码器110可按块组从存储器获得参考图像数据。这里,根据示例性实施例的解码器110的控制器120可通过将用于请求与包括在块组中的各个块相应的参考图像数据的单独的请求信号进行汇总或组合来产生汇总的或组合的请求信号。从而,存储器可经由汇总的或组合的请求信号而被访问一次。因此,解码器110可在单个存储器访问周期期间获得与各个块相应的参考图像数据。这里,汇总的或组合的请求信号可以是针对块组内的各个块的请求信号的顺序汇总。此外,如果运动矢量指示半像素或四分之一像素而不是整个像素,则可对参考图像数据执行插值。

如上所述,因为根据示例性实施例的图像解码设备100按块组来处理数据,所以可减少在存储器正在被访问时发生的延迟的数量。延迟减少的效果包括提高了图像解码设备100的实时处理速度并且由于存储器的有效利用而减小了图像解码设备100的功耗。

同时,以流水线结构对包括一个或更多个块的块组执行由解码器110执行的解码操作。换句话说,熵解码、反量化/逆变换、和滤波可按块单元根据周期被顺序地延迟,并且所述操作可被并行执行。同时,在各个处理器之间的数据传输被流水线化。其结果是,解码器110的性能可被提高。下面将参照图5B给出由根据示例性实施例的图像解码设备100执行的并行流水线解码处理的详细描述。

图2是示出根据示例性实施例的图像解码设备的读路径和写路径的框图。

参照图2,图像解码设备200包括熵解码器210、反量化器/逆变换器220、预测单元230、滤波单元240和存储器260。图2中示出的图像解码设备200可相应于上述图1的图像解码设备100,因此为了简洁省略其中的冗余的描述。

熵解码器210通过访问存储器260来执行用于接收压缩的比特流的输入的读取操作,并对从存储器260接收的比特流进行熵解码。

反量化器/逆变换器220对熵解码的比特流进行反量化并对反量化的比特流进行逆变换。

预测单元230基于图像是基于帧内预测被压缩的还是基于帧间预测被压缩的来执行帧内预测或帧间预测。换句话说,预测单元230包括帧内预测单元和运动补偿器250。帧内预测单元执行帧内预测,然而,如果图像是基于帧间预测被压缩的,则运动补偿器250读出存储在存储器260中的参考图像并执行运动补偿。这里,由于大尺寸,故参考图像被存储在存储器260中,并且控制器120通过按块组访问存储器260来获得参考图像。同时,运动补偿器250还可通过采用经由高速缓存提供的参考图像数据来执行运动补偿。下面将参照图3给出其详细描述。

滤波单元240可包括用于减少块现象的去块滤波器(DF),其中,块现象可在比特流的重建期间在块之间发生。滤波单元240可包括执行去块滤波的去块工具和用于在存储器260中存储数据的直接存储器访问(DMA)。如果在执行帧间模式预测或帧内模式预测之后激活了滤波单元240的标志,则图像解码设备200在滤波操作之后将重建的图像数据存储在存储器260中。如果滤波单元240的标志未被激活,则图像解码设备200在帧间模式预测或帧内模式预测之后立即将重建的图像数据存储在存储器260中存储。

图3是示出沿着其根据示例性实施例的图像编码设备经由高速缓存获得参考图像数据的数据路径的框图。

参照图3,图像解码设备300包括控制器310、高速缓存控制器301、存储器320、数据总线330、高速缓存340、运动补偿器350、参考图像存储确认单元360。图像解码设备300可通过采用高速缓存340来减小由数据总线330占用的带宽。图3中示出的图像编码设备300可相应于上述图1的图像编码设备100和图2的图像编码设备200,因此为了简洁省略对其的冗余描述。

详细地,高速缓存控制器301考虑数据总线330的带宽之中的可由图像解码设备300使用的带宽,并确定将被周期性地存储在高速缓存340中的数据单元的尺寸。例如,用于存储参考图像数据的单元可具有每个参考块的尺寸或与若干参考块相应的尺寸。高速缓存控制器301可从存储在存储器320中的数据选择与用于存储参考图像数据的单元相应的数据。

高速缓存340将关于当前周期的用于运动预测和运动补偿的参考图像数据存储为海量数据341,并将关于下一周期的用于运动预测和运动补偿的参考图像数据存储为更新数据342。根据示例性实施例的高速缓存控制器301可控制高速缓存340将存储的在先前周期中被指示为更新数据342的参考图像数据更新为将被参考以在当前周期中执行运动预测和运动补偿的海量数据341。因此,在当前周期之前,被采用以进行在当前周期中的运动预测和运动补偿的参考图像数据已经在高速缓存340中被存储为更新数据342。此外,根据示例性实施例的高速缓存控制器301可进行控制以使用为下一周期选择的作为更新数据342的数据来更新高速缓存340。

为了操作运动补偿器350,运动矢量和参考索引是必要的。参考图像存储确认单元360可检查与输入的运动矢量和参考索引相应的参考图像数据是否存储在高速缓存340中,并将确认的结果输出到运动补偿器350。运动补偿器350可基于运动矢量和参考索引来利用从存储器320和/或高速缓存340输入的参考数据。

同时,根据示例性实施例的高速缓存340可以是本地高速缓存或多路组相联高速缓存。多路组相联高速缓存可包括与高速缓存的各个索引值相关的多阵列(N-路组)的存储器位置。因此,存储在多路组相联高速缓存中的数据值可基于用于识别与数据值相关的路和组的索引和数字被布置。

根据示例性实施例的高速缓存控制器301可采用用于驱动多路组相联高速缓存的控制信号,并且控制信号可包括索引值和标签值。包括在控制信号中的标签值可与N-路组的多个标签进行比较。如果与包括在控制信号中的索引值相关的任意路组不包括与标签值相应的标签,则发生了缓存丢失,并且可向存储器320做出用于搜索缓存丢失的数据的请求。

如果根据示例性实施例的高速缓存340是本地高速缓存,则运动补偿器350可按块组来访问本地高速缓存以获得参考图像数据。

如果根据示例性实施例的高速缓存340是多路组相联高速缓存,则参考图像存储确认单元360分析输入的运动矢量和参考索引,并且参考图像存储确认单元360可基于分析的运动矢量和参考索引来按块组访问多路组相联高速缓存。此外,如果在多路组相联高速缓存正在被访问时发生了缓存丢失,则可通过基于按块组执行的运动矢量的分析将多请求发送到与缓存丢失的块组相关的总线来更新多路组相联高速缓存。

图4A是示出根据示例性实施例的图像解码系统的块处理单元的示图。

随着新的图像压缩技术的建议,图像编解码器的各种块处理单元正在被提出。例如,用于H.264/AVC编解码器的块处理单元是16x16,用于VP9编解码器的块处理单元是64x64,用于HEVC标准编解码器的块处理单元是64x64、32x32或16x16,用于AVS2编解码器的块处理单元是64x64、32x32或16x16。

固定尺寸的块或各种尺寸的块可被用作图像解码系统的块处理单元。例如,当通过采用固定尺寸的块(例如,32x32块)来执行并行流水线解码处理时,缓冲存储器的尺寸可被减小。然而,实时处理具有较大尺寸的块(例如,64x64块)和实时处理具有较小尺寸的块(例如,16x16块)增大了复杂性。另一方面,当通过采用各种尺寸的块(例如,64x64、32x32和16x16)来执行并行流水线解码处理时,处理具有各种尺寸的块仍可降低复杂性,但是缓冲存储器的大小应被增大。此外,仍然难以实时处理具有较小尺寸的块(例如,16x16块)。

参照图4A,示出了64x64的块410和32x32的块420。64x64的块410被划分成四个32x32的块420,并且针对各个32x32的块420顺序地执行数据处理。同时,每个32x32块420可变为块处理单元。换句话说,按划分块或单独的块来执行包括熵解码、反量化/逆变换、帧内/帧间预测、重建和过滤的一般解码处理的操作。

图4B是示出根据示例性实施例的按块执行的并行流水线解码处理的示图。

参照图4B,以并行流水线结构执行针对初始块430、第一块431、第二块432和第三块433的数据处理阶段。这里,数据处理阶段中的每个阶段可以是解码处理,并可由包括熵解码、反量化/逆变换、帧内/帧间预测、重建和过滤的操作组成。

熵解码是用于对从存储器输入的比特流进行熵解码的操作,反量化/逆变换是用于对熵解码后的比特流进行反量化并对反量化后的比特流进行逆变换的操作。帧内预测是用于从存储器读出在屏参考图像并执行预测的操作,而帧间预测是用于读出存储在存储器中的参考图像并执行运动补偿的操作。这里,由于大尺寸,故参考图像被存储在存储器中并可经由高速缓存被提供。滤波可包括用于减少块现象的去块滤波,其中,块现象可在数据的重建期间在块之间发生。

此后,将详细描述并行流水线解码处理。图像解码设备按块单元根据周期顺序地延迟熵解码、反量化/逆变换、运动补偿和滤波计算,并且并行地执行所述操作。同时,图像解码设使各个处理器之间的数据传输流水线化。例如,图像解码设备接收在先前阶段解析的比特流的输入并针对初始块430(ST1:0)执行熵解码。接着,与关于熵解码的初始块430的比特流被反量化/逆变换同时地,针对第一块431(ST2:0,、ST1:1)执行熵解码。此外,当图像基于帧间预测被压缩时,与针对初始块430执行运动补偿同时地,针对第一块431执行反量化/逆变换并且针对第二块432执行熵解码(ST3:0、ST2:1、ST1:2)。此外,与针对运动补偿后的初始块430执行滤波操作以去除块效应同时地,针对第一块431执行运动补偿,针对第二块432执行反量化/逆变换,并且针对第三块433执行熵解码(ST4:0、ST3:1、ST2:2、ST1:3)。

同时,在并行流水线解码处理中,针对每个块的存储器访问对于执行每个解码操作是必要的。存储器访问可包括:1)用于熵解码的存储器访问、2)用于针对每个块尺寸的帧间模式预测的存储器访问、3)针对用于帧内模式预测的周围块的存储器访问、4)用于滤波的存储器访问、和5)用于将最终重建的图像写入存储器的存储器访问。

参照图4B,当按单独的块来执行并行流水线解码处理时,在任意解码操作中针对N个块发生N(N是整数)次存储器访问,因此针对N个块发生N次延迟450。然而,当由图像解码系统采用了各种块处理单元时,较小尺寸的块可被利用。因此,当小尺寸的块(例如,16x16块)被采用作为数据处理单元时,用于执行解码的存储器访问的数量迅速地增加并且总线初始延迟时间也增加,因此变得难以实时执行图像解码。因此,可通过减少延迟的数量和初始延迟时间来提高图像解码系统的处理速度。

图5A是示出根据示例性实施例的图像解码系统的块处理单元的示图。

参照图5A,示出了16x16的块的组510和组511。在根据示例性实施例的图像解码系统中,包括一个或更多个块的块组变为数据处理单元。例如,四个16x16块可构成单个块组并可变为数据处理单元。例如,包括初始块至第三块(0-3)的块组可构成第一块组510,包括第四块至第七块(4-7)的块组可构成第二块组511。这里,在根据示例性实施例的解码处理中,对块组执行熵解码、反量化/逆变换、帧内/帧间预测、重建和滤波。

图5B是示出根据示例性实施例的对块组执行的并行流水线解码处理的示图。

参照图5B,以并行流水线结构针对各个块组520和块组521执行数据处理操作。这里,数据处理操作是解码操作,并可包括熵解码、反量化/逆变换、帧内/帧间预测、重建和滤波。可由图1至图3中示出的装置来执行数据处理操作。

在下文中,将详细描述根据示例性实施例的按块组执行的并行流水线解码处理。图像解码设备按块单元根据周期顺序地延迟熵解码、反量化/逆变换、运动补偿和过滤计算,并且并行地执行所述操作。同时,图像解码设备使各个处理器之间的数据传输流水线化。例如,根据示例性实施例的图像解码设备100接收在先前阶段解析的比特流的输入,并针对第一块组520(ST1:0,1,2,3)执行熵解码。接着,与关于第一块组520的熵解码后的比特流被反量化/逆变换同时地,针对第二块组521执行熵解码(ST2:0,1,2,3;ST1:4,5,6,7)。此外,当图像基于帧间预测被压缩时,与针对第一块组520执行运动补偿同时地,针对第二块组521执行反量化/逆变换并且针对第三块(...)执行熵解码(ST3:0,1,2,3;ST2:4,5,6,7;ST1:8,9,10,11)。此外,与针对运动补偿后的第一块组520执行滤波操作以去除块效应同时地,针对第二块组521执行运动补偿,针对第三块(...)执行反量化/逆变换,并且针对第四块(...)执行熵解码(ST4:0,1,2,3;ST3:4,5,6,7;ST2:8,9,10,11;ST1:12,13,14,15)。这里,上述块组中的每个块组可包括四个16x16的块。

参照图5B,因为根据示例性实施例的图像解码设备按块组执行并行流水线解码处理,所以在任意解码操作中针对包括N个块的单个块组发生一次总线初始延迟540。换句话说,与按单独的块执行解码处理的处理相比,总线初始延迟的总数量减少至1/N。

如上所述,图像解码设备按块组处理数据,因此在存储器被访问时发生的初始延迟的数量可被减少。初始延迟的减少的效果包括提高了图像解码设备的实时处理速度并且由于操作频率的有效利用而减少了图像解码设备的功耗。

例如,当在提供3840x2176的高分辨率的超高清晰度(UHD)处理期间块处理单元包括16x16的块时,有必要针对60Hz的帧率每帧处理1958400个块。此外,假设图像解码设备的操作频率时450MHz,则可被采用以处理一个16x16的块的周期的数量是大约230个周期,并且由于针对单独的块的存储器访问,230个周期中的大约150个周期被花费作为总线初始延迟。然而,当图像解码设备将四个16x16的块分组成单个块组并按块组访问存储器时,总线初始延迟可被减少为低至1/4。换句话说,当按块组来处理块时,由于初始延迟而花费的时间可从每帧4896000个周期减少到每帧1224000个周期。因此,整体处理速度可提高大约220MHz。

图6是用于描述根据示例性实施例的图像解码方法的流程图。

可由图1至图3中示出的装置来执行图6中示出的操作。

参照图6,在操作S610中,图像解码设备检查关于包括在编码图像的比特流中的一个或更多个块的尺寸的尺寸信息。

在操作S620中,图像解码设备基于关于一个或更多个块的尺寸的信息来确定是否对一个或更多个块进行分组以执行解码。

在操作S630中,图像解码设备基于关于一个或更多个块的信息来设置包括一个或更多个块的块组。

在操作S640中,图像解码设备按块组访问存储器,以按块组执行并行流水线解码处理。

应理解:在此描述的示例性实施例应仅被视为是描述性的意义的而不是为了限制的目的。在每个实施例之中的特征或方面的描述应通常被视为可用于在其它示例性实施例中的其它类似特征或方面。

本发明构思还可被实现为非暂时性计算机可读记录介质上的计算机可读代码。非暂时性计算机可读记录介质是能够存储之后可被计算机系统读取的数据的任何数据存储装置。非暂时性计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储装置等。非暂时性计算机可读记录介质还可分布在联网的计算机系统上,使得计算机可读代码以分布式方式被存储并被执行。

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