图像编码和解码的方法、编码和解码设备以及计算机程序的制作方法_2

文档序号:9399622阅读:来源:国知局
。当若干个块子集被 包含在相同的数据子流中时,需要单个指示符,由此降低压缩文件的大小。
[0044] 在又一特定实施例中,当所述被编码的块子集想要以预定的顺序来并行编码时, 在对该块子集中的每个分别编码之后给出的数据子流在为了解码而被发送之前根据该预 定顺序来预先排序。
[0045] 该规定使其可能使被编码的数据子流适应特定类型的解码,而不需要对图像进行 解码然后再次编码。
[0046] 相关地,本发明还涉及一种对至少一个图像进行编码的设备,包括:
[0047] -将图像分割为多个块的装置,该多个块可以包含属于预定符号集的符号,
[0048]-用于将所述块分组为预定数量的块子集的装置,
[0049] -对该块子集中的每个进行编码的装置,该编码装置包括熵编码模块,能够将数字 信息与所考虑的子集中的每个块的符号相关联,该编码装置包含针对图像中的第一块来初 始化熵编码模块的状态变量的子装置,
[0050] -用于生成数据的至少一个数据子流的装置,该数据子流表示被编码的块子集中 的至少一个。
[0051] 该编码装置值得注意,在于它包括:
[0052] -用于确定当前块的符号出现概率的装置,在当前块是所考虑的子集中要被编码 的第一块的情形下,该装置确定第一块的符号出现概率为针对至少一个其他子集的编码和 解码的预定块所已经确定的那些概率,
[0053] -写入装置,在当前块是所考虑的子集中最后编码的块的情形下,其被激活以将在 所考虑的子集中的块的编码期间已经与所述符号关联的所有数字信息写入到子流中,该子 流至少表示所考虑的子集,
[0054] 初始化子装置还被激活以重新初始化熵编码模块的状态变量。
[0055] 通过相应的方式,本发明还涉及一种用于对表示至少一个被编码的图像的流进行 解码的方法,包括下列步骤:
[0056] -在所述流中识别与要解码的至少一个块子集分别对应的预定数量的数据子流, 所述块能够包含属于预定符号集的符号,
[0057] -通过熵解码模块,通过在至少一个被识别的子流中读取与对应于该至少一个所 述被识别的子流的子集中的每个块的符号相关联的数字信息,来对所述被识别的块子集进 行解码,该解码步骤包括针对图像中要被解码的第一块来初始化所述熵解码模块的状态变 量的子步骤,
[0058] 该解码方法值得注意,在于:
[0059] -在当前块是所考虑的子集中要被解码的第一块的情形下,确定所考虑的子集中 的第一块的符号出现概率,该概率是针对至少一个其他子集的被解码的预定块而已经确定 的那些概率,
[0060] -在当前块是所考虑的子集中最后解码的块的情形下,实现所述初始化子步骤。
[0061] 在特定的实施例中,所述块子集被顺序或并行地解码。
[0062] 在另一特定的实施例中,当至少两个块子集与至少一个其他的块子集并行解码 时,被识别的数据子流中的一个表示所述至少两个块子集。
[0063] 在又一特定的实施例中,当被编码的块子集想要以预定的顺序来并行解码时,与 被编码的块子集分别对应的数据子流之前在所述要解码的流中以该预定顺序来排序。
[0064] 相关地,本发明还涉及一种用于对表示至少一个被编码的图像的流进行解码的设 备,包括:
[0065]-用于在所述流中识别与要解码的至少一个块子集分别对应的预定数量的数据子 流的装置,所述块能够包含属于预定符号集的符号,
[0066]-用于对被识别的块子集进行解码的装置,该解码装置包括熵解码模块,其能够在 至少一个所述被识别的子流中读取与对应于该至少一个被识别的子流的子集中的每个块 的符号相关联的数字信息,该解码装置包括针对图像中要被解码的第一块来初始化熵解码 模块的状态变量的子装置,
[0067] 该解码装置值得注意,在于它包括用于确定当前块的符号出现概率的装置,在当 前块是所考虑的子集中要被解码的第一块的情形下,该装置确定该第一块的符号出现概 率,作为针对至少一个其他子集的被解码的预定块而已经确定的那些概率,
[0068] 并且在于,在当前块是所考虑的子集中最后解码的块的情形下,初始化子装置被 激活以重新初始化熵解码模块的状态变量。
[0069] 本发明的目标还在于一种包含指令的计算机程序,当程序被计算机执行时,用于 执行上述编码或解码方法的步骤。
[0070] 该程序可以使用任意编程语言,并且可以采用源代码、目标代码或介于源代码和 目标代码之间的中间代码的形式,例如部分编译的形式或任意其他想要的形式。
[0071] 本发明的又一主题还在于一种记录介质,其可被计算机读取,并且包含如上所述 的计算机程序指令。
[0072] 该记录介质可以是能存储程序的实体或装置。例如,该介质可以包括存储装置例 如ROM如⑶ROM或微电子电路R0M,或者磁存储装置如磁盘(软盘)或硬盘。
[0073] 此外,该记录介质可以是可传输介质例如电或光信号,其可以通过电或光缆、通过 无线电或其他方式来传递。根据本发明的程序特别地可以从互联网类型的网络上下载。
[0074] 或者,该记录介质可以是其中包含程序的集成电路,该电路适于执行所考虑的方 法或者在后者执行时使用。
[0075] 上述编码装置、解码方法、解码装置和计算机程序展示了与根据本发明的编码方 法所具有的相同的优势。
【附图说明】
[0076] 阅读参考附图来描述的两个优选实施例,其他特征和优势将变得明显,在附图 中:
[0077] -图1表示现有技术的图像编码图,
[0078] -图2A表示根据本发明的编码方法的主要步骤,
[0079] -图2B详细地表示在图2A的编码方法中实现的编码,
[0080] -图3A表示根据本发明的编码装置的第一实施例,
[0081] -图3B表示图3A中的编码装置的编码单元,
[0082] -图3C表示根据本发明的编码装置的第二实施例,
[0083] -图4A表示根据第一优选实施例的图像编码/解码图,
[0084] -图4B表示根据第二优选实施例的图像编码/解码图,
[0085] -图5A表示根据本发明的解码方法的主要步骤,
[0086] -图5B详细地表示在图5A的解码方法中实现的解码,
[0087] -图6A表示根据本发明的解码装置的实施例,
[0088] -图6B表示图6A中的解码装置的解码单元,
[0089] -图7A表示实现顺序类型的编码和并行类型的解码的图像编码/解码图,
[0090]-图7B表示以各自不同的并行级别来实现并行类型的编码/解码的图像编码/解 码图。
【具体实施方式】
[0091] 现在将描述本发明的实施例,其中,根据例如符合H. 264/MPEG-4AVC标准的编码 而获得的二进制流,依据根据本发明的编码方法被用于对图像序列进行编码。在该实施例 中,通过对初始符合H. 264/MPEG-4AVC标准的编码器的调整,根据本发明的编码方法例如 以软件或硬件的方式来实现。根据本发明的编码方法以包含步骤Cl到C5的算法的形式来 表示,如图2A所示。
[0092] 根据本发明的实施例,根据本发明的编码方法在编码装置CO中实现,其两个实施 例分别在图3A和3C中表示。
[0093] 参考图2A,第一编码步骤Cl是将要编码的图像序列中的图像IE划分为多个块或 宏块MB,如图4A或4B所示。所述宏块可以包含一个或多个符号,所述符号形成预定符号集 的一部分。在所示例子中,所述块MB具有正方形并且都具有相同的大小。作为图像大小的 函数,该图像不必是块大小的倍数,左侧的最后一块和底部的最后一块可以不是正方形。在 替代的实施例中,块例如可以是长方形大小并且/或者互相不对齐。
[0094] 每个块或宏块自身可以进一步被分为子块,该子块本身可以再细分。
[0095] 该划分是通过图3A所示的划分模块PCO来执行的,其使用众所周知的划分算法。
[0096] 参考图2A,第二编码步骤C2是将上述块分组为要被顺序或并行编码的预订数量P 的连续块的子集SE1,SE2,一,SEk,一,SEP。在图4A和4B所示的例子中,为了图的清楚, 仅展示了四个子集SE1、SE2、SE3、SE4。这四个块子集每个用虚线表示,并且分别包含图像 IE的前四行的块。
[0097] 该分组是通过图3A中所示的计算模块GRCO在本身众所周知的算法的辅助下执行 的。
[0098] 参考图2A,第三编码步骤C3包括对所述块子集SEl到SE6中的每个进行编码,根 据例如顺序类型的预定遍历次序PS来对所考虑的子集中的块进行编码。在图4A和4B所 示的例子中,当前块SEk(K k < P)中的块如箭头PS所示从左到右被依次编码。
[0099] 根据第一变体,该编码是顺序类型,并且通过如图3A所示的单个编码单元UC来实 现。通过本身已知的方式,编码器CO包括缓冲存储器MT,其被适配为包含在当前块编码时 被逐渐重复更新的符号出现的概率。
[0100] 如图3B中更详细地展示,编码单元UC包括:
[0101] *关于至少一个之前被编码和解码的块对当前块进行预测编码的模块,被表示为 MCP ;
[0102] *使用针对所述之前被编码和解码的块来计算的至少一个符号出现的概率来对所 述当前块进行熵编码的模块,被表示为MCE。
[0103] 预测编码模块MCP是软件模块,其能够根据传统的预测技术例如以内和/或间模 式对当前块进行预测编码。
[0104] 熵编码模块MCE本身是CABAC类型,但根据本发明来调整,在描述中将进一步描 述。
[0105] 作为变体,熵编码模块MCE可以是本身已知的霍夫曼编码器。
[0106] 在图4A和4B所示的例子中,单元UC对第一行SEl中的块从左到右进行编码。当 它到达第一行SEl的最后一块时,它传递到第二行SE2的第一块。当它到达第二行SE2的 最后一块时,它传递到第三行SE3的第一块。当它到达第三行SE3的最后一块时,它传递到 第四行SE4的第一块,等等,直到图像IE的最后一块被编码。
[0107] 与以上刚才描述的不同的其他类型的遍历当然是可能的。于是,可以将图像IE划 分为若干个子图像并将该类型的划分独立应用于每个子图像。编码单元还可以不和以上解 释的那样相继处理各行,而是相继(处理)各列。还可以以任意方向来遍历行或列。
[0108] 根据第二变体,该编码是并行类型,并且,仅通过由预订数量R的编码单元 UCkd彡k彡R)来实现的事实(在图3C所示的例子中R = 2),它与顺序编码的第一变体 相区分。已知该并行编码给编码方法带来了明显的加速。
[0109] 编码单元UCk中的每个等价于图3B所示的编码单元UC。通过相应的方式,编码单 元UCk包括预测编码模块MCPk和熵编码模块MCEk。
[0110] 再次参考图4A和4B,第一单元UCl对奇数排名的行中的块进行编码,而第二单元 UC2对偶数排名的行中的块进行编码。更准确地说,第一单元UCl从左到右对第一行SEl中 的块进行编码。当它达到第一行SEl的最后一块时,它传递第(2n+l)行即第三行SE3等的 第一块。与第一单元UCl执行的处理并行,第二单元UC2从左到右对第二行SE2中的块进 行编码。当它到达第二行SE2的最后一块,它传递到第(2n)行在这里是第四行SE4等的第 一块。上述两个遍历被重复,直到图像IE的最后一块被编码。
[0111] 参考图2A,第四编码步骤C4是产生比特的L个子流Fl,F2,…,Fm,…, FL (I < m < L < P)来表示通过上述编码单元UC或者上述编码单元UCk中的每个来压缩的 被处理的块以及每个子集SEk中被处理的块的解码版本。根据在描述中将进一步细化的同 步机制,所考虑的子集中用SED1,SED2,…,SEDk,一,SEDP表示的被解码的处理的块可以 被图3A所示的编
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1