图像解码方法及其图像解码装置制造方法

文档序号:7998165阅读:93来源:国知局
图像解码方法及其图像解码装置制造方法
【专利摘要】本发明提供一种用以图像解码方法及其图像解码装置,该方法包括下列步骤:首先,取得相应图像的输入比特流并对输入比特流的待解码区块的数据进行熵解码,以得到解码结果,其中解码结果包括至少一系数,至少一系数具有对应区块位置信息与系数值。接着,判断至少一系数的系数值是否为零。当至少一系数的系数值非为零时,判定至少一系数为非零系数并储存非零系数对应的区块位置信息与系数值至外部储存装置。当至少一系数的系数值为零时,不储存至少一系数。
【专利说明】图像解码方法及其图像解码装置

【技术领域】
[0001] 本发明系有关于解码方法及其解码装置,特别是有关于一种用于视频视频/图像 解码的图像解码方法及其图像解码装置。

【背景技术】
[0002] 近年来,便携设备,例如手持式装置,已经在技术上愈来愈先进并且具多功能性。 举例来说,移动装置可接收电子邮件信息、具有先进的电话簿管理应用程序、允许多媒体播 放以及具有各种其他功能。由于这些多功能装置所带来的便利性,也使得这些装置成为人 们的生活必需品之一。由于移动装置例如智能型手机能支持的视频和图像规格不断提升, 例如可支持的视频拍摄和播放能力达到720P甚至1080P,高规格的视频/图像内容对移动 装置采用的嵌入式处理器的编解码能力提出了更高的要求。
[0003] 对于具有嵌入式处理器的移动装置而言,当进行视频图像/图像解码时,部分 解出的信息一般先存放在外部储存装置例如存储器,在后续处理的时候再从外部储存装 置中读出,进行视频或图像的重建。读取这些信息通常需要频繁的向外部储存装置进行 数据读写,由于外部储存装置的操作频率较低,处理器与外部储存装置之间的数据带宽 (Bandwidth)大小常常会影响解码速度。举例来说,在解码1080P高画质视频图像的时候, 由于视频图像的数据量大,需要频繁的向外部储存装置进行数据读写,读写占用的带宽占 总带宽的比例往往很高,例如带宽在每秒1G字节(Byte/sec)以上,如此高的带宽容易成为 提升解码速度的瓶颈所在。
[0004] 因此,需要一种可有效降低嵌入式处理器进行视频图像/图像解码时所需的带宽 的方法。


【发明内容】

[0005] 有鉴于此,本发明提供一种图像解码方法及其图像解码装置。
[0006] 本发明实施例提供一种用以图像解码方法,一种图像解码方法,包括:取得相应 图像的输入比特流;对上述输入比特流的待解码区块的数据进行熵解码,以得到一解码结 果,其中上述解码结果包括至少一系数,上述至少一系数具有对应区块位置信息与系数值; 判断上述至少一系数的上述系数值是否为零;当上述至少一系数的上述系数值非为零时, 判定上述至少一系数为非零系数并储存上述非零系数对应的上述区块位置信息与上述系 数值至外部储存装置;以及当上述至少一系数的上述系数值为零时,不储存上述至少一系 数。
[0007] 本发明的另一个实施例提供一种图像解码装置,包括:储存装置;以及至少一处 理器,用以取得相应图像的输入比特流,对上述输入比特流的待解码区块的数据进行熵解 码,以得到解码结果,其中该解码结果包括至少一系数且上述至少一系数具有对应区块位 置信息与系数值,判断上述至少一系数的上述系数值是否为零,当上述至少一系数的上述 系数值非为零时,判定上述至少一系数为非零系数并储存上述非零系数对应的上述区块位 置信息与上述系数值至上述储存装置,而当上述至少一系数的上述系数值为零时,不储存 上述至少一系数。
[0008] 本发明的图像解码方法及其相关图像解码装置可适用于大多数视频格式影像与 图像的解码,有效减少读写外部储存装置的数据量,提升解码速度。该图像解码方法可以为 内嵌于有形媒介中的程序代码形式图像解码方法可以为内嵌于有形媒介中的程序代码形 式。当该程序代码被加载机器并由该机器执行时,该机器成为用以实现所揭露的方法的装 置。

【专利附图】

【附图说明】
[0009] 图1显示本发明一实施例的图像解码装置的示意图。
[0010] 图2为显示依据本发明一实施例的解码程序示意图。
[0011] 图3显示依据本发明一实施例的图像解码方法的流程图。
[0012] 图4显示依据本发明一实施例的熵解码后的解码结果示意图。
[0013] 图5至图7显示依据本发明实施例的储存数据示意图。

【具体实施方式】
[0014] 为使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举出较佳实施 例,并配合所附图式,作详细说明如下。注意的是,虽然揭露书为依所附图式进行说明,然其 并非用以限定本发明,任何所属领域一般技术人员,在不脱离本发明的精神和范围内,当可 做些许更动与润饰,因此本发明的保护范围当视所附的权利要求所界定者为准。
[0015] 在传统视频解码中,熵解码后的系数的存取都是以区块为单位的,每解出一个系 数,便把系数值写入区块里对应区块位置信息指向的位置中,而后面的重建程序要用的时 候,再以区块为单位来读取系数进行处理。本发明实施例提供的图像解码方法,于熵解码每 解出一个符号(symbol)(非零系数),不再将系数值写到区块中,而将其对应区块位置信息 和系数值分别存入数据数组(data array),并记录每个区块解出的非零系数的个数,产生 一辅助信息。之后,当需要储存多个宏区块(Macroblock,MB)的系数信息时,可读取外部储 存装置中的数据数组,依据数据数组与辅助信息来进行后续重建程序。由于位置信息和系 数值都是连续存入的,可跳过了每个区块里面大量的零值,可有效压缩了读写外部储存装 置的数据量,有效降低了所需的带宽。
[0016] 图1显示本发明一实施例的图像解码装置的示意图。如图1所示,图像解码装置 100至少包括一储存装置102、至少一处理器104、以及一显示设备106。图像解码装置100 可为各种组态的装置,例如:个人数字助理、智能型手机、移动电话、移动上网装置、笔记本 电脑、车用计算机、数字相机、多媒体播放器、游戏设备或任何类型的移动计算设备,然而, 本领域一般技术人员应可理解本发明并不限于此。图像可为常见视频格式(例如:H. 264标 准)的视频图像或图像(pictures)。储存装置102用以储存解码程序所需的数据,例如熵 解码后的解码结果等。
[0017] 储存装置102可包括挥发性存储器组件的组合的任何一者(例如:随机存取存储 器(RAM,例如DRAM以及SRAM等等))以及非挥发性存储器组件等等,以供处理器104进 行数据的存取。处理器104可以是客制化或市售处理器、中央处理单元(CPU)、或多个处 理器的协处理器、半导体为基础的微处理器(以微芯片形式)、一或多个应用特殊整合电路 (ASIC)、多个适当设定的数字逻辑闸或单核或多核心处理器等等。
[0018] 处理器104可用执行一解码程序,以从一图像(例如:图像或视频图像)的已编码 的输入比特流(bitstream)中解码重建出原始图像。图2显示依据本发明一实施例的解码 程序示意图。如图2所示,处理器104对已编码的输入比特流的每个待解码区块可先进行 熵解码(entropy decoding)解码出多个系数。其中,熵解码所解码出的系数又称为量化剩 余系数。处理器104透过熵解码解出的系数,又可称之符号(symbol),其包含对应区块位 置信息以及系数值,其中对应区块位置信息用以表示系数在此区块(例如:4x4或者8x8像 素大小的区块)里的位置。进行熵解码之后,处理器104可接着进行后续的重建程序,可先 利用解码出的系数还原出区块排列模式,再进行反斜向扫描(Inverse Zig-Zag,IZZ)产生 反斜向扫描后数据,再进行反量化(Inverse Quantization, IQ)产生反量化数据,再将反量 化数据经反变换(例如,反离散余弦变换(inverse discrete cosine transform, IDCT)、 运动估测、帧间/帧内预测、区块滤波等操作来进行图像的重建,以重建回原始图像。注意 的是,由于解码程序中的后续重建程序,例如反斜向扫描、反量化、反变换、运动估测、帧间/ 帧内预测以及区块滤波等操作细节为本领域技术人员所熟知的,故其细节不在此赘述。
[0019] 显示设备106可用以显示处理器104解码完成后重建出的视频图像/图像。储存 装置102、处理器104以及显示设备106为耦接于一总线108,使得处理器104可透过总线 108存取储存装置102中的数据。处理器104可用以执行本发明的图像解码方法,其细节将 详细讨论于下。
[0020] 具体来说,处理器104可用以取得相应一视频图像/图像的一输入比特流,再对输 入比特流的一待解码区块的数据进行熵解码,以得到一解码结果。其中解码结果包括多个 系数,每个系数具有一对应区块位置信息与一系数值。处理器104可接着储存解码结果的 系数中的所有非零系数对应的区块位置信息与系数值至储存装置102,其中每个系数的系 数值可能为零或非零(non-zero),而非零系数指的是系数值非为零的系数。
[0021] 进行熵解码之后的处理器104可于后续的重建程序中自外部储存装置102中读取 前述两个数据数组,以及包含符号个数的辅助信息后,还原出区块排列模式,再进行反斜向 扫描(Inverse Zig-Zag)变换,反量化(Inverse Quantization,简称 IQ),反变换(例如, 反离散余弦变换(inverse discrete cosine transform, IDCT)等操作来进行图像的重建。 显示设备106可用显示处理器104解码完成后重建出的视频图像/图像。
[0022] 图3显示依据本发明一实施例的图像解码方法的流程图。本发明实施例的图像解 码方法可应用于一电子装置,例如图1的图像解码装置100,可由图像解码装置100的处理 器104来执行。于本实施例中,图像可为常见视频格式(例如:H. 264标准)的视频图像或 图像(pictures)。
[0023] 首先,如步骤S302,取得相应一图像的一输入比特流。其中,输入比特流可包含 多个待解码区块的数据且每个待解码区块具有特定的大小,例如,区块可以为128x128、 64x64、32xl6、16xl6、8x8 或 4x8 像素等等。
[0024] 接着,如步骤S304,对输入比特流的一待解码区块的数据进行熵解码,以得到一解 码结果,其中解码结果可包括多个系数,每个系数具有对应区块位置信息与一系数值。其 中,熵解码所解码出的系数又称为量化剩余系数。举例来说,参见图4,为显示依据本发明 一实施例的熵解码后的解码结果示意图。如图4所示,解码结果400中包括三个系数值非 为零的非零系数401、402、403以及多个零值系数(系数值为零),其中非零系数401、402、 403对应的系数值分别为ValO、Vail与Val2,其对应的区块位置信息分别为pos0、posl与 pos2。其中,非零系数401的区块位置信息为posO,表示非零系数401的系数值ValO为位 于区块中P〇s0的位置。
[0025] 于完成熵解码得到前述解码结果后,如步骤S306,判断每一系数的系数值是否为 零。当系数的系数值非为零时(步骤S306的否),例如系数401,如步骤S308,判定此系数 为一非零系数并储存非零系数对应的区块位置信息与系数值至储存装置102。举例来说,非 零系数401的系数值ValO与区块位置信息posO将会被储存至储存装置102。
[0026] 反之,当系数的系数值为零时(步骤S306的是),如步骤S310,决定不用储存此系 数。于此步骤中,解码结果的零值系数将会被跳过,不用储存至外部储存装置102。
[0027] 注意的是,步骤S306至S310将对区块内的所有系数重复执行,只要判定一系数为 非零系数,便会储存非零系数对应的区块位置信息与系数值至储存装置102,直到区块内的 所有系数都检查过了才会跳到下一个区块再继续执行。
[0028] 此外,可产生对应于一待解码区块的辅助信息来帮助后续的剩余区块(residual block)的重建程序,其中辅助信息可包括记录可识别非零系数属于那个区块的信息,例如: 每个区块的起始地址、非零系数的个数、特殊旗标等等。因此,于后续的重建程序中,处理 器104可自储存装置102中读出包含非零系数对应的区块位置信息与系数值的前述数据 数组,再依据所读出的非零系数对应的区块位置信息与系数值与辅助信息来重建出剩余区 块,进而执行重建出原始图像。
[0029] 于一些实施例中,可将位置信息与系数值分开储存,非零系数对应的区块位置信 息与系数值为分别储存于储存装置102的不同数据数组中。举例来说,参见图5,为显示依 据本发明一实施例的储存数据示意图。如图5所示,第一数据数组502为用以储存每个区 块所解码出的非零系数的系数值,而第二数据数组504系用以储存每个区块所解码出的非 零系数的对应区块位置信息,其中所有区块的系数值为连续存放,而所有区块的区块位置 信息也是连续且对应于其系数值存放。于本实施例中,当需要进行后续重建程序时,处理器 104可同时参考数据数组502与504,并依据辅助信息来重建剩余区块。
[0030] 于一些实施例中,可将位置信息与系数值储存在一起,非零系数对应的区块位置 信息与系数值为储存于储存装置102的一相同数据数组中。举例来说,参见图6,为显示依 据本发明另一实施例的储存数据示意图。如图6所示,数据数组602为用以储存每个区块 所解码出的非零系数的系数值与其对应区块位置信息,其中所有区块的系数值与对应区块 位置信息为连续存放。于本实施例中,当需要进行后续重建程序时,处理器104可参考数据 数组602,并依据辅助信息来重建剩余区块。
[0031] 于一些实施例中,非零系数的系数值为储存于储存装置102的一数据数组中, 而非零系数所对应的区块位置信息可以相应待解码区块的区块大小的一标记值(mask vlaue)表示,其中标记值的位数对应于待解码区块的总系数个数且标记值中为将包含非 零系数的区块位置信息所对应的位(例如,比特)以〃Γ表示。举例来说,参见图7,为显 示依据本发明另一实施例的储存数据示意图。如图7所示,数据数组为用以储存每个区 块所解码出的非零系数的系数值,其中所有区块的系数值为连续存放,而非零系数所对应 的区块位置信息可以相应待解码区块的区块大小的一标记值700表示。以区块大小为 4x4像素(pixels)大小的区块N为例,数据数组中区块N包括三个非零系数,其系数值 分别为valO、Vail、Val2,其区块位置分别为posO (例如:位置1)、posl (例如:位置4)、 pos2(例如:位置9),因此对应于区块N的标记值700可为16字节,并且标记值700的 比特1、4、9分别设为"1",用以表示区块N的这些位置有非零系数,亦即,标记值700设 为"0000001000010010"。之后,当需要进行后续重建程序时,处理器104可参考数据数组以 及标记值 700"0000001000010010",将系数值 valO、Vail、Val2 分别写入位置 posO、posl、 pos2,以重建出如图4所示的剩余区块。
[0032] 于一些实施例中,可进一步将非零系数所对应的区块位置信息以及系数值先进行 一比特压缩后将非零系数的系数值压缩为固定比特数,而位置信息则压缩为以区块大小相 符的比特数来进一步减少所需储存空间。举例来说,于一实施例中,假设每个区块大小为 4x4像素,第一数据为为一 16字节的数据,用以储存区块N所解码出的某一非零系数的系数 值与对应的区块位置信息,其中第一数据的高12比特以二进制表示其系数值(例如:1比 特的正负号与11比特的数据),低4比特以二进制表示区块位置信息。之后,当需要进行后 续重建程序时,处理器104可将非零系数的第一数据解压缩,解出系数值ValO与区块位置 信息posO,将系数值valO写入区块N的位置posO中,以重建出对应的剩余区块。
[0033] 于一些实施例中,可于储存至储存装置102之前,先将非零系数的位置信息进行 反斜向扫描(IZZ)后再将反斜向扫描后数据储存,或者将系数值进行反量化后产生反量化 数据,再储存反量化数据。于一实施例中,所储存的非零系数所对应的区块位置信息可为将 经由熵解码后的非零系数所对应的区块位置信息进行一反斜向扫描(IZZ)后的位置信息。 于另一实施例中,所储存的非零系数所对应的系数值可为将经由熵解码后的系数值进行一 反量化(IQ)后的系数值。一般而言,反斜向扫描与反量化于熵解码后的重建程序才会执 行,而本发明的方法可选择性地事先完成反斜向扫描及/或反量化的程序,可有效分配解 码程序的负载(loading),并且也可加速后续的重建程序。举例来说,假设处理器104为多 核心处理器或多个处理器所组成时,可将解码程序的各个步骤分配给不同核心或不同处理 器来执行,透过前述的解码程序的负载分配来加速后续的重建程序,可有效提升解码速度。 [0034] 因此,依据本发明的图像解码方法及其相关图像解码装置可将熵解码后的系数分 类,只储存非零系数的部分,而跳过大量的零值系数,可减少储存空间,并且改进熵解码后 存取系数的模式,有效降低了处理器与外部储存装置之间的带宽要求。再者,本发明的图像 解码方法及其相关图像解码装置可适用于大多数视频格式图像与图像的解码,有效减少读 写外部储存装置的数据量,提升解码速度。
[0035] 本发明之方法,或特定型态或其部份,可以以程序代码的型态存在。程序代码可以 包含于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如计算机可读取)储存 媒体,亦或不限于外在形式的计算机程序产品,其中,当程序代码被机器,如计算机加载且 执行时,此机器变成用以参与本发明的装置。程序代码也可透过一些传送媒体,如电线或电 缆、光纤、或是任何传输型态进行传送,其中,当程序代码被机器,如计算机接收、加载且执 行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序代码结合处 理单元提供一操作类似于应用特定逻辑电路的独特装置。
[〇〇36] 虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属领域 一般技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保 护范围当视所附的权利要求所界定者为准。
【权利要求】
1. 一种图像解码方法,其特征在于,所述的图像解码方法包括: 取得相应图像的输入比特流; 对上述输入比特流的待解码区块的数据进行熵解码,以得到一解码结果,其中上述解 码结果包括至少一系数,上述至少一系数具有对应区块位置信息与系数值; 判断上述至少一系数的上述系数值是否为零; 当上述至少一系数的上述系数值非为零时,判定上述至少一系数为非零系数并储存上 述非零系数对应的上述区块位置信息与上述系数值至外部储存装置;以及 当上述至少一系数的上述系数值为零时,不储存上述至少一系数。
2. 如权利要求1所述的图像解码方法,其特征在于,更包括: 产生对应上述待解码区块的辅助信息;以及 依据上述辅助信息与所储存的上述非零系数对应的上述区块位置信息与上述系数值, 执行重建程序以重建上述图像。
3. 如权利要求1所述的图像解码方法,其特征在于,上述外部储存装置包含第一数据 数组与第二数据数组,并且上述非零系数对应的上述区块位置信息储存于上述第一数据数 组,上述非零系数对应的上述系数值储存于上述第二数据数组。
4. 如权利要求1所述的图像解码方法,其特征在于,上述非零系数对应的上述区块位 置信息与上述系数值储存于上述外部储存装置的相同数据数组中。
5. 如权利要求4所述的图像解码方法,其特征在于,上述非零系数所对应的上述区块 位置信息以标记值表示,上述标记值的比特数对应于上述待解码区块的总系数个数且上述 标记值中将上述非零系数的上述区块位置信息所对应的比特以〃1〃表示。
6. 如权利要求4所述的图像解码方法,其特征在于,上述非零系数所对应的上述区块 位置信息以及上述系数值先进行一比特压缩后再进行储存。
7. 如权利要求4所述的图像解码方法,其特征在于,所储存的上述非零系数所对应的 上述区块位置信息为将经由上述熵解码后的上述非零系数所对应的上述区块位置信息进 行反斜向扫描操作后的位置信息。
8. 如权利要求4所述的图像解码方法,其特征在于,所储存的上述非零系数所对应的 上述系数值为将经由上述熵解码后的上述系数值进行一反量化操作后的系数值。
9. 一种图像解码装置,其特征在于,所述的图像解码装置包括: 一储存装置;以及 至少一处理器,用以取得相应图像的输入比特流,对上述输入比特流的待解码区块的 数据进行熵解码,以得到解码结果,其中该解码结果包括至少一系数且上述至少一系数具 有对应区块位置信息与系数值,判断上述至少一系数的上述系数值是否为零,当上述至少 一系数的上述系数值非为零时,判定上述至少一系数为非零系数并储存上述非零系数对应 的上述区块位置信息与上述系数值至上述储存装置,而当上述至少一系数的上述系数值为 零时,不储存上述至少一系数。
10. 如权利要求9所述的图像解码装置,其特征在于,上述处理器更产生对应上述待解 码区块的辅助信息,并依据上述辅助信息与所储存的上述非零系数对应的上述区块位置信 息与上述系数值,执行一重建程序以重建上述图像。
11. 如权利要求9所述的图像解码装置,其特征在于,上述外部储存装置包含第一数据 数组与第二数据数组,并且上述处理器将上述非零系数对应的上述区块位置信息储存于上 述第一数据数组,并将上述非零系数对应的上述系数值储存于上述第二数据数组。
12. 如权利要求9所述的图像解码装置,其特征在于,上述处理器系将上述非零系数对 应的上述区块位置信息与上述系数值储存于上述储存装置的相同数据数组中。
13. 如权利要求12所述的图像解码装置,其特征在于,上述非零系数所对应的上述区 块位置信息以标记值表示,上述标记值的比特数对应于上述待解码区块的总系数个数且上 述标记值中将上述非零系数的上述区块位置信息所对应的比特以"Γ表示。
14. 如权利要求12所述的图像解码装置,其特征在于,上述非零系数所对应的上述区 块位置信息以及上述系数值先进行一比特压缩后再进行储存。
15. 如权利要求12所述的图像解码装置,其特征在于,上述处理器所储存的上述非零 系数所对应的上述区块位置信息为将经由上述熵解码后的上述非零系数所对应的上述区 块位置信息进行反斜向扫描操作后的位置信息。
16. 如权利要求12所述的图像解码装置,其特征在于,上述处理器所储存的上述非零 系数所对应的上述系数值为将经由上述熵解码后的上述系数值进行反量化操作后的系数 值。
【文档编号】H04N21/43GK104104958SQ201310119656
【公开日】2014年10月15日 申请日期:2013年4月8日 优先权日:2013年4月8日
【发明者】胡伟, 梁敏学 申请人:联发科技(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1