具有自适应编码单元拆分/合并的视频处理装置以及相关视频处理方法与流程

文档序号:12290213阅读:187来源:国知局
具有自适应编码单元拆分/合并的视频处理装置以及相关视频处理方法与流程

本发明要求2014年7月25日申请的序列号为62/028,943的美国临时专利申请的优先权以及2015年7月23日申请的序列号为14/806,664的美国专利申请的优先权,美国临时专利申请以及美国专利申请在此全部并入参考。

【技术领域】

本发明涉及视频处理,且更特别地,涉及具有自适应编码单元拆分/合并的视频处理装置以及相关视频处理方法。



背景技术:

现有的视频编码标准通常采用基于块的编码技术以扩展空间和时间冗余。例如,基本方法是将整个来源帧分割为多个块,对每个块执行帧内预测/帧间预测,转换每个块的残值,以及执行量化和熵编码。此外,重建的帧在编码循环中生成以提供参考像素数据用于编码接下来的块。对于某些视频编码标准,环内滤波器可用于增强重建的帧的图像质量。

视频解码器用于执行由视频编码器执行的视频编码的逆操作。例如,视频解码器可具有多个处理电路,例如,熵解码电路、帧内预测电路、运动补偿电路、逆量化电路、逆转换电路以及重建电路、解块滤波器。在现有设计中,视频解码器可以管线方式解码图片的编码单元用于实现更好的解码效率。例如,熵解码、运动补偿/帧内预测、重建以及环内解块可形成不同的管线级。因此,一个编码单元将依次经历熵解码、运动补偿/帧内预测、重建以及环内解块。当熵解码级用于处理第一编码单元,运动补偿/帧内预测级可用于处理第二编码单元,重建级可用于处理第三编码单元,以及环内解块级可用于处理第四编码单元。然而,对于某些编码标准,相同图片中不同的编码单元被允许具有不同的编码单元大小。在当前管线级用于解码大尺寸的编码单元以及下一管线级用于解码小尺寸的编码单元的情形中,下一管线级可在当前管线级完成大尺寸的编码单元的解码前完成小尺寸编码单元的解码。在当前管线级用于解码小尺寸的编码单元且下一管线级用于解码大尺寸的编码单元的另一情形中,当前管线级可在下一管线级完成小尺寸的编码单元的解码前完成小尺寸的编码单元的解码。其结果是,在被解码的编码单元不具有相同大小的情况下管线失衡发生。

关于基于管线的视频解码器设计,具有各种编码单元尺寸的编码单元可导致若干缺点,例如,更多的等待周期、更低的解码通过量、以及更高管线缓冲器要求。因此,需要一种新颖的视频处理设计,其能够避免/减轻由具有各种编码尺寸的编码单元导致的这些缺点。



技术实现要素:

本发明的一个目的是提供具有自适应编码单元拆分/合并的视频处理装置以及相关视频处理方法。

根据本发明的第一方面,揭示一种示范性视频处理装置。示范性视频处理装置包含第一处理电路、第二处理电路和控制电路。第一处理电路用于执行第一处理操作。第二处理电路用于执行不同于第一处理操作的第二处理操作。控制电路用于根据从第一处理电路生成的输入编码单元生成至少一个输出编码单元到第二处理电路,其中控制电路检查输入编码单元的大小,以选择性地将输入编码单元拆分为多个输出编码单元。

根据本发明的第二方面,揭示一种示范性视频处理装置。示范性视频处理装置包含第一处理电路、第二处理电路和控制电路。第一处理电路用于执行第一处理操作。第二处理电路用于执行不同于第一处理操作的第二处理操作。控制电路用于根据从第一处理电路生成的多个输入编码单元生成至少一个输出编码单元到第二处理电路,其中控制电路检查输入编码单元的大小,以选择性地将输入编码单元合并为单个输出编码单元。

根据本发明的第三方面,揭示一种示范性视频处理方法。示范性视频处理方法包含:执行第一处理操作以生成输入编码单元;根据从第一处理操作生成的输入编码单元生成至少一个输出编码单元,包含检查输入编码单元的大小以选择性地将输入编码单元拆分为多个输出编码单元;并对至少一个输出编码单元执行第二处理操作,其中第二处理操作不同于第一处理操作。

根据本发明的第四方面,揭示一种示范性视频处理方法。示范性视频处理方法包含:执行第一处理操作以生成多个输入编码单元;根据从第一处理操作生成的输入编码单元生成至少一个输出编码单元,包含检查输入编码单元的大小以选择性地将输入编码单元合并为单个输出编码单元;并对至少一个输出编码单元执行第二处理操作,其中第二处理操作不同于第一处理操作。

根据本发明的第五方面,揭示一种示范性视频处理装置。示范性视频处理装置包含多个处理电路和控制电路。处理电路包含熵解码电路、逆扫描电路、逆量化电路、逆转换电路、重建电路、环内滤波器、参考图片缓冲器、帧内预测电路以及运动补偿电路。控制电路耦合于处理电路的第一处理电路和第二处理电路之间,并用于根据从第一处理电路生成的至少一个输入编码单元生成至少一个输出编码单元到第二处理电路,其中每个至少一个输入编码单元的大小不同于每个至少一个输出编码单元的大小。

在阅读了图示于各种图和附图中的优先实施例的以下详细描述后,本发明的这些和其它目的将对本领域的普通技术人员变得显而易见。

【附图说明】

图1是根据本发明的实施例的视频处理装置的示意图。

图2是图示一个超级块递归分区为各种大小的模式信息单元的示意图。

图3是图示根据本发明的实施例的具有编码单元拆分功能的控制电路的示意图。

图4是图示根据本发明的实施例的编码单元拆分方法的流程图。

图5是图示根据本发明的实施例的具有编码单元合并功能的控制电路的示意图。

图6是图示根据本发明的实施例的编码单元合并方法的流程图。

图7是图示根据本发明实施例的具有FIFO缓冲功能的控制电路的示意图。

图8是图示根据本发明的实施例的将图片分区为具有的各种编码单元大小的编码单元的示意图。

图9是图示根据本发明的实施例的具有多个管线级和多个控制电路的视频处理装置的示意图。

图10是根据本发明的实施例的图示编码单元的管线处理的示意图。

图11是图示根据本发明的实施例的支持编码单元拆分功能、编码单元合并功能以及FIFO缓冲功能中的至少两项的控制电路的示意图。

【具体实施方式】

遍及整篇描述和权利要求的某些术语用于指代特定部件。如本领域的技术人员意识到的,制造商可用不同的名称指代部件。此文档不打算区别名称不同但功能相同的部件。在权利要求和下文的描述中,术语“包括”和“包含”用于开放方式,且因此应该解释为意思是“包含,但不限于”。而且,术语“耦合”意于表示间接或直接电连接。因此,如果一个装置耦合到另一装置,那个连接可以通过直接电连接,或通过经由其它装置和连接的间接电连接。

图1是根据本发明的实施例的视频处理装置的图表。视频处理装置100可以是电子装置的部分,例如,个人计算机(例如,膝上计算机或台式计算机)、移动电话、平板电脑或可穿戴装置。视频处理装置100可包含用于解码比特流BS以生成包含多个连续的解码后的图片(即,重建的图片)的视频序列的视频解码器的至少部分(即,部分或所有)。视频处理装置100的至少部分可以实施于集成电路(IC)。简而言之,使用提出的视频处理装置100的任何电子装置或电子系统均落入本发明的范围。

如图1所示,视频处理装置(例如,视频解码器)100包含多个处理电路,例如,熵解码电路102、逆扫描电路(由“IS”指代)104、逆量化电路(由“IQ”指代)106、逆转换电路(由“IT”指代)108、重建电路(由“REC”指代)110、至少一个环内滤波器(例如,解块滤波器(DF)112)、参考图片缓冲器114、帧内预测电路(由“IP”指代)116、运动补偿电路(由“MC”指代)118。参考图片缓冲器114可以是外部存储装置,例如,芯片外动态随机存取存储器(DRAM)。以示例的方式,但并非限制,视频处理装置100可用于解码使用由开发的开放及免费使用的视频编码标准的VP9编码标准生成的进来的比特流BS。然而,此仅仅是用于说明性的目的,且并非是作为本发明的限制。使用提出的视频解码器结构的任何视频解码器落入本发明的范围。

熵解码电路102用于将熵解码应用到进来的比特流BS用于生成帧内模式信息INFintra、帧间模式信息INFinter(例如,运动向量(MV)信息)以及残值。残值通过逆扫描(在逆扫描电路104执行)、逆量化(在逆量化电路106执行)以及逆转换(在逆转换电路108执行)发送到重建电路110。当原始图片中的块使用帧内预测模式编码时,使能帧内预测电路116以生成预测的像素/样本到重建电路110。当原始图片中的块是使用帧间预测模式编码时,使能运动补偿电路118以生成预测的像素/样本到重建电路110。重建电路110用于将逆转换电路108的残值输出和帧内预测电路116和运动补偿电路118中的一个的预测像素输出结合,以由此生成图片(即,重建的/解码的图片)的每个块的重建的像素/样本。解块滤波器112用于将解块滤波应用于从重建电路110生成的重建的图片,且生成解块的图片(其包含滤波的像素/样本)作为参考图片。参考图片储存于参考图片缓冲器114,且可以由运动补偿电路118参考以生成预测的像素/样本。

在本实施例中,进来的比特流BS可具有各种编码单元尺寸的编码单元。在高级视频编码标准(例如,HEVC或VP9)中,编码单元不一定限制于16x16块大小。以VP9编码标准为例,一个图片可以分割为64x64大小的块,称为超级块。图片的超级块以光栅顺序来处理:从左到右、从上到下。此外,VP9支持基于方形树的编码。因此,可以采用递归分区以将每个超级块拆分为一个或多个分区(例如,较小尺寸的块)用于进一步处理。图2是图示一个超级块递归分区为各种大小的模式信息(MI)单元的示意图。例如,64x64块大小的一个超级块可以拆分为一个或多个编码单元(或在VP9中称为MI单元),其中由VP9编码标准支持的分区可包含方形分区,例如,64x64大小的块、32x32大小的块、16x16大小的块、8x8大小的块、4x4大小的块,以及还可包含非方形分区,例如,64x32大小的块、32x64大小的块、32x16大小的块、16x32大小的块,…,4x8大小的块、8x4大小的块。因此,编码单元(MI单元)大小可包含64x64、32x32、16x16、8x8、64x32、32x64、32x16、16x32,…,8x8、4x8、8x4、4x4。即,VP9中的可变编码单元大小可从4x4变动到64x64。

因为高级视频编码标准允许各种编码单元尺寸,当视频处理装置100中的上述的处理电路用于操作于管线方式时,由可变编码单元尺寸导致的管线失衡问题可发生。因此,除上述的处理电路外,提出的视频处理装置100还可包含至少一个控制电路,以处理管线失衡问题用于以高效且经济的方式解码比特流BS。如图1所示,视频处理装置100还具有多个控制电路122、124、126、128以及130,其中控制电路122耦合于熵解码电路102与帧内预测电路116之间,控制电路124耦合于熵解码电路102和逆扫描电路104之间,控制电路126耦合于逆转换电路108和重建电路110之间,控制电路128耦合于重建电路110和解块滤波器112之间,以及控制电路130耦合于熵解码电路102和运动补偿电路118之间。每个控制电路122、124、126、128以及130可以用于支持多个预定义的功能的至少一个,包含编码单元拆分功能、编码单元合并功能以及先进先出(FIFO)缓冲功能。提出的控制电路的进一步细节描述于以下。

图3是图示根据本发明的实施例的具有编码单元拆分功能的控制电路的示意图。在本实施例中,控制电路302耦合于第一处理电路301和第二处理电路303之间。第一处理电路301用于执行第一处理操作(例如,熵解码或其它解码功能)以生成输入编码单元(例如,CUIN)的处理结果到控制电路302。控制电路302用于根据从第一处理操作生成的输入编码单元(例如,CUIN)生成至少一个输出编码单元(例如,CU1-CU4)。第二处理电路303用于对从控制电路302提供的至少一个输出编码单元执行第二处理操作(例如,帧内预测或其它解码功能),其中第二处理操作不同于第一处理操作。在本实施例中,控制电路302用于检查输入编码单元(例如,CUIN)的大小以选择性地将输入编码单元(例如,CUIN)拆分为多个输出编码单元(例如,CU1、CU2、CU3以及CU4)。例如,控制电路302可将输入编码单元(例如,CUIN)的宽度W与第一阈值(即,编码单元宽度阈值)TH1比较,和/或可将输入编码单元(例如,CUIN)的高度H与第二阈值(即,编码单元高度阈值)TH2比较。

在第一示范性设计中,控制电路302可将输入编码单元(例如,CUIN)的宽度W与第一阈值TH1比较,以生成第一比较结果,以及可根据第一比较结果选择性地将输入编码单元(例如,CUIN)拆分为多个输出编码单元(例如,CU1-CU4),其中由于编码单元拆分生成的每个输出编码单元的大小小于输入编码单元的大小。

在第二示范性设计中,控制电路302可将输入编码单元(例如,CUIN)的高度H与第二阈值TH2比较,以生成第二比较结果,以及可根据第二比较结果选择性地将输入编码单元(例如,CUIN)拆分为多个输出编码单元(例如,CU1-CU4),其中由于编码单元拆分生成的每个输出编码单元的大小小于输入编码单元的大小。

在第三示范性设计中,控制电路302可将输入编码单元(例如,CUIN)的宽度W与第一阈值TH1比较,以生成第一比较结果,以及将输入编码单元(例如,CUIN)的高度H与第二阈值TH2比较,以生成第二比较结果,且可根据第一比较结果和第二比较结果选择性地将输入编码单元(例如,CUIN)拆分为多个输出编码单元(例如,CU1-CU4),其中由于编码单元拆分生成的每个输出编码单元的大小小于输入编码单元的大小。

图4是图示根据本发明的实施例的编码单元拆分方法的流程图。假设结果基本相同,步骤不要求以显示于图4中的精确顺序来执行。编码单元拆分方法可以由显示于图3中的控制电路302执行,且可简短地概括如以下。

步骤402:从先前管线级(例如,第一处理电路301)接收输入编码单元(例如,CUIN)。

步骤404:检查输入编码单元的大小是否等于或大于编码单元大小阈值T。例如,编码单元大小阈值T可包含第一阈值TH1和第二阈值TH2中的一个或两个。如果输入编码单元的大小等于或大于编码单元大小阈值T,流程进入步骤406;否则,流程进入步骤408。

步骤406:将输入编码单元拆分为用作由后续管线级(例如,第二处理电路303)处理的输出编码单元的N个分区,且设置i=N。进入步骤410。

步骤408:旁路输入编码单元为由后续管线级(例如,第二处理电路303)处理的输出编码单元,并设置i=1。

步骤410:触发后续管线级(例如,第二处理电路303)以一次处理一个输出编码单元,且设置i=i-1。

步骤412:检查是否i==0。如果是,则与输入编码单元关联的控制流程完成;否则,流程进入步骤410以处理另一输出编码单元。

当输入编码单元的大小等于或大于编码单元大小阈值T时,使能编码单元拆分功能以将具有较大大小的输入编码单元拆分为每个具有较小大小的多个输出编码单元(步骤402、404和406)。以此方式,触发后续管线级以逐个的处理较小大小的输出编码单元(步骤410和412)。因此,经济的视频解码器可以由于放松的管线缓冲器要求而实现。另外,由后续管线级要求的等待周期的数目可以有效地减少。

当输入编码单元的大小小于编码单元大小阈值T时,编码单元拆分功能不使能,以便从后续管线级生成的输入编码单元可以直接供应到后续的管线级(步骤402、404以及408)。因此,后续的管线级被触发以处理与输入编码单元相同的一个输出编码单元(步骤410和412)。

应该注意到,编码单元大小阈值T(其可包含第一阈值(编码单元宽度阈值)TH1以及第二阈值(编码单元高度阈值)TH2的一个或两个)可以被调整,取决于实际设计考虑。此外,拆分分区的数目(即,N的值)可以根据输入编码单元的大小决定。例如,编码单元大小阈值T可以由{TH1=64以及TH2=64}设置,以及N的值可以由4设置。因此,一个64x64输入编码单元可以拆分为将逐个由第二处理电路303处理的四个32x32输出编码单元。对于另一示例,编码单元大小阈值T可以由{TH1=64或TH2=64}设置。N的值可以响应于输入编码单元的大小适应性地设置。如果输入编码单元的大小是64x64,N=4。因此,一个64x64输入编码单元可以拆分为逐个地由第二处理电路303处理的四个32x32输出编码单元。如果输入编码单元的大小是32x64,则N=2。因此,一个32x64输入编码单元可以拆分为逐个地由第二处理电路303处理的两个32x32输出编码单元。如果输入编码单元的大小是64x32,则N=2。因此,一个64x32输入编码单元可以拆分为逐个地由第二处理电路303处理的两个32x32输出编码单元。此外,拆分分区的大小可以被调整,取决于实际设计考虑。例如,从编码单元拆分功能生成的输出编码单元可仅仅包含方形分区。对于另一示例,从编码单元拆分功能生成的输出编码单元可仅仅包含非方形分区。对于又一示例,从编码单元拆分功能生成的输出编码单元可包含方形分区和非方形分区。

然而,以上仅仅是用于说明性的目的,且并非是作为本发明的限制。任何由于拆分从后续管线生成的较大尺寸的输入编码单元生成到后续管线的较小尺寸的输出编码单元落入本发明的范围。

图5是图示根据本发明的实施例的具有编码单元合并功能的控制电路的示意图。在本实施例中,控制电路502耦合于第一处理电路501和第二处理电路503之间。第一处理电路501用于执行第一处理操作(例如,重建或其它解码功能)以生成多个输入编码单元(例如,CUIN_1-CUIN_4)的处理结果到控制电路502。控制电路502用于根据从第一处理操作生成的输入编码单元(例如,CUIN_1-CUIN_4)生成至少一个输出编码单元(例如,CUOUT)。第二处理电路503用于对由控制电路502提供的至少一个输出编码单元(例如,CUOUT)执行第二处理操作(例如,解块或其它解码功能),其中第二处理操作不同于第一处理操作。在本实施例中,控制电路502用于检查输入编码单元(例如,CUIN_1-CUIN_4)的大小,以选择性地将输入编码单元(例如,CUIN_1-CUIN_4)合并为单个输出编码单元(例如,CUOUT)。例如,控制电路502可将输入编码单元(例如,CUIN_1-CUIN_4)的宽度W与第一阈值(即,编码单元宽度阈值)TH1’比较,和/或可将输入编码单元(例如,CUIN_1-CUIN_4)的高度H与第二阈值(即,编码单元高度阈值)TH2’比较。

在第一示范性设计中,控制电路502可将输入编码单元(例如,CUIN_1-CUIN_4)的宽度与第一阈值TH1’比较,以生成第一比较结果,并可根据第一比较结果选择性地将输入编码单元(例如,CUIN_1-CUIN_4)合并为单个输出编码单元(例如,CUOUT),其中每个输入编码单元的大小小于由于编码单元合并生成的输出编码单元的大小。

在第二示范性设计中,控制电路502可将输入编码单元(例如,CUIN_1-CUIN_4)的高度与第二阈值TH2’比较,以生成第二比较结果,并可根据第二比较结果选择性地将输入编码单元(例如,CUIN_1-CUIN_4)合并为单个输出编码单元(例如,CUOUT),其中每个输入编码单元的大小小于由于编码单元合并生成的输出编码单元的大小。

在第三示范性设计中,控制电路502可将输入编码单元(例如,CUIN_1-CUIN_4)的宽度与第一阈值TH1’比较,以生成第一比较结果,并将输入编码单元(例如,CUIN_1-CUIN_4)的高度与第二阈值TH2’比较,以生成第二比较结果,且可根据第一比较结果和第二比较结果选择性地将输入编码单元(例如,CUIN_1-CUIN_4)合并为单个输出编码单元(例如,CUOUT),其中每个输入编码单元的大小小于由于编码单元合并生成的输出编码单元的大小。

图6是图示根据本发明的实施例的编码单元合并方法的流程图。假设结果基本相同,步骤不要求以显示于图6中的精确顺序来执行。编码单元拆分方法可以由显示于图5中的控制电路502执行,且可简短地概括如以下。

步骤602:从先前管线级(例如,第一处理电路501)接收输入编码单元,并设置i=0。

步骤604:检查输入编码单元的大小是否等于或小于编码单元大小阈值T’。例如,编码单元大小阈值T’可包含第一阈值TH1’以及第二阈值TH2’中的一个或两个。如果输入编码单元的大小不大于编码单元大小阈值T,则流程进入步骤606;否则,流程进入步骤612。

步骤606:设置i=i+1。

步骤608:检查是否i==N’。如果是,则进入步骤610;否则,进入步骤602以从先前管线级接收另一输入编码单元。

步骤610:合并N’个输入编码单元为由后续管线级(例如,第二处理电路303)处理的单个输出编码单元,每个输入编码单元具有不大于编码单元大小阈值T’的大小。进入步骤614。

步骤612:旁路输入编码单元为由后续管线级(例如,第二处理电路303)处理的一个输出编码单元。

步骤614:触发后续的管线级(例如,第二处理电路303)以一次处理一个输出编码单元。

当输入编码单元的大小不大于编码单元大小阈值T’时,编码单元合并功能被使能以使具有较小大小的输入编码单元变成具有较大大小的输出编码单元的一部分(步骤602、604、606和608)。在较大大小的输出编码单元最终派生于合并多于一个较小大小的输入编码单元后,后续的管线级被触发以每次处理较大大小的输出编码单元(步骤610和614)。因此,由于较大大小的输出编码单元的解码需要较少握手,较小大小的输入编码单元的解码效率可通过将较小大小的输入编码单元合并为一个较大大小的输出编码单元来改善。当输入编码单元的大小大于编码单元大小阈值T’时,编码单元合并功能不被使能用于输入编码单元,以便从先前管线级生成的输入编码单元可以直接供应到后续的管线级(步骤602、604以及612)。因此,后续的管线级被触发以处理与输入编码单元相同的一个输出编码单元(步骤614)。

应该注意到,编码单元大小阈值T’(其可包含第一阈值(编码单元宽度阈值)TH1’以及第二阈值(编码单元高度阈值)TH2’的一个或两个)可以被调整,取决于实际设计考虑。此外,合并分区的数目(即,N’的值)可以根据输入编码单元的大小决定。例如,编码单元大小阈值T’可以设置为{TH1’=8以及TH2’=8},以及N’的值可以设置为4。因此,四个8x8输入编码单元可以合并为每次由第二处理电路503处理的一个16X16输出编码单元。对于另一示例,编码单元大小阈值T’可以设置为{TH1’=8或TH2’=8}。N’的值可以响应于输入编码单元的大小设置。如果输入编码单元的大小是8x8,则N’=4。因此,四个8x8输入编码单元可以合并为每次由第二处理电路503处理的一个16X16输出编码单元。如果输入编码单元的大小是16x8,则N’=2。因此,两个16x8输入编码单元可以合并为每次由第二处理电路503处理的一个16x16输出编码单元。如果输入编码单元的大小是8x16,则N’=2。因此,两个8x16输入编码单元可合并为每次由第二处理电路503处理的一个16x16输出编码单元。此外,待合并的分区的大小可以调整,取决于实际设计考虑。例如,由编码单元合并功能处理的输入编码单元可仅仅包含方形分区。对于另一示例,由编码单元合并功能处理的输入编码单元可仅仅包含非方形分区。对于又一示例,由编码单元合并功能处理的输入编码单元可包含方形分区和非方形分区。

然而,以上仅仅是用于说明性的目的,且并非是作为本发明的限制。任何由于从合并较小尺寸的输入编码单元生成到后续管线的输出编码单元落入本发明的范围,其中较小尺寸的输入编码单元从先前管线级生成。

图7是图示根据本发明实施例的具有FIFO缓冲功能的控制电路的示意图。在本实施例中,控制电路702耦合于第一处理电路701和第二处理电路703之间。第一处理电路701用于执行第一处理操作,以生成多个输入编码单元的处理结果到控制电路702。控制电路702具有存储装置705用作FIFO缓冲器,用于相继地缓冲从第一处理电路701生成的输入编码单元,以及相继地输出缓冲的输入编码单元为输出编码单元。以示例的方式,但并非限制,存储装置705可以使用单个存储单元实施,或可以使用多个存储单元实施。另外,存储装置705可以是内部存储装置、外部存储装置或包含内部存储装置和外部存储装置的混合存储装置。简而言之,本发明没有限制存储装置705的实际实现。第二处理电路703用于对从控制电路702(特别地,存储装置705)提供的输出编码单元执行第二处理操作,其中第二处理操作不同于第一处理操作。

在较大大小的编码单元是从先前管线级(即,第一处理电路701)生成到后续的管线级(即,第二处理电路703)且较小大小的编码单元反馈到先前管线级(即,第一处理电路701)的情形中,先前管线级(即,第一处理电路701)将在后续管线级完成较大大小的编码单元的解码前完成较小大小的编码单元的解码。控制电路702中的存储装置705可用于缓冲较小大小的编码单元的解码结果和相关命令,由此允许先前管线级(即,第一处理电路701)在后续管线级开始处理较小大小的编码单元之前开始处理下一编码单元。当后续的管线级完成较大大小的编码单元时,控制电路702可输出较小大小的编码单元的解码结果和相关命令到后续的管线级。以此方式,具有各种编码单元大小的比特流可有效率地被解码。具体地,通过使用具有FIFO缓冲功能的控制电路702,管线失衡可以避免/减轻。为了更好地理解控制电路702的FIFO缓冲功能提供的好处,在两个管线级之间插入一个具有FIFO缓冲功能的控制电路的示例给出如以下。

图8是图示根据本发明的实施例的将图片分区为具有的各种编码单元大小的编码单元的示意图。在此示例中,图片可包含多个编码单元CU0-CU15。每个编码单元CU0和CU5具有第一编码单元大小,每个编码单元CU1-CU4、CU10以及CU15具有第二编码单元大小,以及每个编码单元CU6-CU9和CU11-CU14具有第三编码单元大小。第一编码单元大小(例如,64x64)是第二编码单元大小(例如,32x32)的4倍,以及第二编码单元大小(例如,32x32)是第三编码单元大小(例如,16x16)的4倍。

请结合图9参考图8。图9是图示根据本发明的实施例的具有多个管线级和多个控制电路的视频处理装置的示意图。在本实施例中,每个控制电路702_1、702_2和702_3可以使用显示于图7中的控制电路702实施。因此,每个控制电路702_1、702_2和702_3可支持FIFO缓冲功能。如图所示,控制电路702_1耦合于管线级0(例如,熵解码)和管线级1(例如,运动补偿/帧内预测)之间,控制电路702_2耦合于管线级1(例如,运动补偿/帧内预测)和管线级2(例如,重建)之间,以及控制电路702_3耦合到管线级2(例如,重建)和管线级3(例如,环内解块)。包含于比特流中的编码单元CU0-CU15将按顺序解码。例如,每个编码单元CU0-CU15将由管线级0、管线级1、管线级2和管线级3按顺序处理。因为编码单元CU0-CU15不具有相同的编码单元大小,每个控制电路702_1、702_2和702_3可缓冲在两个管线级之间发送的编码单元的数据和相关命令。

如图9所示,当管线级3处理编码单元CU0的时候,管线级2可用于处理编码单元CU3,管线级1可用于处理编码单元CU5,以及管线级0可用于处理编码单元CU9,其中由管线级0处理和输出的编码单元CU6、CU7、CU8的数据暂时储存于由控制电路702_1管理的存储装置(例如,FIFO缓冲器),由管线级1处理和输出的编码单元CU4的数据暂时储存于由控制电路702_2管理的存储装置(例如,FIFO缓冲器),以及由管线级2处理和输出的编码单元CU1和CU2的数据暂时储存于由控制电路702_3管理的存储装置(例如,FIFO缓冲器)。图10是根据本发明的实施例的图示编码单元的管线处理的示意图。由于具有FIFO缓冲功能的控制电路702_1、702_2和702_3的使用,管线级0、管线级1、管线级2和管线级3不遭遇由各种编码单元大小所导致的泡沫(即,等待周期)。

在图3示出的示例中,控制电路302用于支持编码单元拆分功能。在图5示出的示例中,控制电路502用于支持编码单元合并功能。在图7示出的示例中,控制电路702用于支持FIFO缓冲功能。然而,这些仅仅是用于说明性的目的,并非是本发明的限制。备选,控制电路可以用于支持编码单元拆分功能、编码单元合并功能以及FIFO缓冲功能中的至少两个。

图11是图示根据本发明的实施例的支持编码单元拆分功能、编码单元合并功能以及FIFO缓冲功能中的至少两项的控制电路的示意图。在本实施例中,控制电路1102具有存储装置1104和控制单元1106。存储装置1104用作FIFO缓冲器,用于缓冲输入编码单元和从先前管线级生成的相关命令。以示例的方式,但并非限制,存储装置1104可使用单个存储单元实施,或可使用多个存储单元实施。另外,存储装置1104可以是内部存储装置、外部存储装置或包含内部存储装置和外部存储装置的混合存储装置。简而言之,本发明对存储装置1104的实际实现没有限制。控制单元1106可用于将编码单元拆分功能应用于缓冲于存储装置1104中的编码单元的至少部分(即,部分或所有),可以用于将编码单元合并功能应用于缓冲于存储装置1104中的编码单元的至少部分(即,部分或所有),和/或可以用于控制存储装置1104提供FIFO缓冲功能。

以示例的方式,但并非限制,显示于图1中的控制电路122可以使用用于支持编码单元拆分功能和FIFO缓冲功能的控制电路1102来实施;显示于图1中的控制电路124可以使用用于支持FIFO缓冲功能的控制电路1102来实施;显示于图1中的控制电路126可以使用用于支持FIFO缓冲功能的控制电路1102来实施;显示于图1中的控制电路128可以使用用于支持编码单元拆分功能、编码单元合并功能以及FIFO缓冲功能的控制电路1102来实施;以及显示于图1中的控制电路130可以使用用于支持编码单元合并功能以及FIFO缓冲功能的控制电路1102来实施。然而,这些仅仅是用于说明性的目的,且并非是本发明的限制。采用提出的编码单元拆分功能、编码单元合并功能以及FIFO缓冲功能的一个或多个的任何视频处理装置(例如,视频解码器)落入本发明的范围。

本领域技术人员将容易观察到,在保留本发明的教导之下,可以对装置和方法进行许多修改和替换。因此,以上揭示应该解释为仅仅由所附的权利要求的精神和界限所限制。

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