用于基于跳过模式对图像进行编码和解码的方法和设备 技术领域 与示例性实施例一致的方法和设备涉及对图像进行编码和解码, 更具体地说, 涉 及以块为单位对图像进行编码和解码。
背景技术 随着无线网络的发展, 无线网络中的装置之间的互联已变为关键议题, 所以许多 公司已设法开发这种技术。具体说来, 用于代替高清晰度多媒体接口 (HDMI) 技术的高清晰 度 (HD) 互联技术正在无线 HD(WiHD) 规范中得以标准化。根据 WiHD 规范, 各种装置 ( 诸如 电视 (TV)、 家庭影院、 数字通用盘 (DVD) 播放器、 蓝光播放器和摄录机 ) 可在无线网络中互 联。
发明内容 技术问题
示例性实施例提供一种用于以块为单位对图像进行编码和解码的方法和设备以 及一种记录有用于执行所述方法的计算机程序的计算机可读记录介质。
有益效果
根据本申请, 可按照跳过模式对像条的起始块进行编码。
附图说明 通过参照附图对示例性实施例进行详细描述, 上述和其他方面将会变得更加清 楚, 其中 :
图 1 是根据示例性实施例的图像编码设备的框图 ;
图 2 是示出根据示例性实施例的图像编码设备的操作的示图 ;
图 3a 到图 3c 是用于描述根据示例性实施例的确定跳过模式的方法的示图 ;
图 4 是根据另一示例性实施例的图像编码设备的框图 ;
图 5 是根据示例性实施例的图像编码设备的自然模式编码器的框图 ;
图 6a 是根据示例性实施例的图 4 所示的图像编码设备的图形模式编码器的框 图;
图 6b 是用于描述根据示例性实施例的基于位平面的编码方法的示图 ;
图 7 是根据另一示例性实施例的图像编码设备的框图 ;
图 8 是根据示例性实施例的图像解码设备的框图 ;
图 9 是根据另一示例性实施例的图像解码设备的框图 ;
图 10 是根据示例性实施例的图像编码方法的流程图 ;
图 11 是根据另一示例性实施例的图像编码方法的流程图 ;
图 12 是根据示例性实施例的图像解码方法的流程图 ;
图 13 是根据另一示例性实施例的图像解码方法的流程图 ;
图 14 示出根据示例性实施例的按照跳过模式恢复当前块的方法的语法 ; 以及
图 15 是根据另一示例性实施例的图像解码方法的流程图。
最佳实施方式
根据示例性实施例的一方面, 提供一种图像编码方法, 所述方法包括 : 如果图像的 当前块是图像的当前像条的起始块, 则确定虚拟块是否与当前块相同, 其中, 所述虚拟块中 的像素值等于预定值 ; 基于所述确定步骤, 按照多种模式中的第一模式对当前块进行编码, 其中, 第一模式是用于在当前块与虚拟块相同时, 对表示当前块按照第一模式被编码的信 息进行编码而不对当前块的像素值进行编码的模式。
所述预定值可以是与当前块的像素值相同的值。
对当前块进行编码的步骤可包括 : 如果当前块与虚拟块不同, 则按照第二模式和 第三模式中的任一模式对当前块进行编码, 其中, 第二模式用于基于离散余弦变换 (DCT) 对当前块进行编码, 第三模式用于基于像素值的多个位平面对当前块进行编码。
第二模式可以是这样一种模式, 该模式用于对当前块的像素值执行 DCT, 并通过将 当前块划分为从系数的最高有效位到系数的最低有效位的多个位平面, 来以位平面为单位 对当前块进行编码, 其中, 所述系数作为执行 DCT 的结果被产生。 第三模式可以是这样一种模式, 该模式用于通过将当前块划分为从当前块的像素 值的最高有效位到当前块的像素值的最低有效位的多个位平面, 来以位平面为单位对当前 块进行编码。
所述编码步骤可包括 : 对关于预定值的信息进行编码, 并将已编码的信息插入比 特流的当前像条头或比特流的块头中。
所述编码步骤可包括 : 对关于预定值的信息进行编码, 并将已编码的信息插入分 配给当前块的像素值的一部分比特流中。
根据另一示例性实施例的一方面, 提供一种图像解码方法, 所述方法包括 : 对表示 图像的当前块的编码模式的信息进行解码, 其中, 所述当前块为图像的当前像条的起始块 ; 基于表示编码模式的所述信息, 按照多种模式中的第一模式对当前块进行解码, 其中, 第一 模式是用于基于虚拟块对当前块进行解码的模式, 其中, 所述虚拟块中的像素值等于预定 值。
按照第一模式对当前块进行解码的步骤可包括 : 对关于预定值的信息进行解码 ; 通过将当前块的像素值设置为等于预定值来对当前块进行解码。
根据示另一例性实施例的一方面, 提供一种图像编码设备, 所述设备包括 : 模式确 定单元, 用于如果图像的当前块是图像的当前像条的起始块, 则确定虚拟块是否与当前块 相同, 其中, 所述虚拟块中的像素值等于预定值 ; 编码器, 用于基于所述确定操作按照多种 模式中的第一模式对当前块进行编码, 其中, 第一模式是用于在当前块与虚拟块相同时, 对 表示当前块按照第一模式被编码的信息进行编码而不对当前块的像素值进行编码的模式。
根据另一示例性实施例的一方面, 提供一种图像解码设备, 所述设备包括 : 模式信 息解码器, 用于对表示图像的当前块的编码模式的信息进行解码, 其中, 所述当前块为图像 的当前像条的起始块 ; 解码器, 用于基于表示编码模式的所述信息, 按照多种模式中的第 一模式对当前块进行解码, 其中, 第一模式是用于基于虚拟块对当前块进行解码的模式, 其 中, 所述虚拟块中的像素值等于预定值。
根据另一示例性实施例的一方面, 提供一种记录有用于执行上述方法的计算机程 序的计算机可读记录介质。
根据另一示例性实施例的一方面, 提供一种图像编码方法, 所述方法包括 : 按照多 种模式中的第一模式对图像的当前像条的起始块进行编码, 其中, 起始块与虚拟块相同, 所 述虚拟块中的像素值等于预定值, 其中, 第一模式是用于对表示起始块按照第一模式被编 码的信息进行编码而不对起始块的像素值进行编码的模式。 具体实施方式
以下, 将参照附图来详细描述示例性实施例。当诸如 “…中的至少一个” 的表述位 于一列元素之后时, 其所修饰的是整列元素, 而不是该列元素中的单个元素。
图 1 是根据示例性实施例的图像编码设备 100 的框图。参照图 1, 图像编码设备 100 包括模式确定单元 110 和编码器 120。
模式确定单元 110 确定当前块的编码模式。装置 ( 诸如 TV、 家庭影院、 DVD 播放 器、 蓝光播放器、 移动装置、 个人膝上型计算机、 摄录机等 ) 在无线网络中互联, 以发送和接 收等同于作为示例的高清晰度 (HD) 级别或更高级别的高质量内容。用于允许各种装置之 间互联的标准正在被建立, 并表征为小存储器和低复杂性。 因此, 用于增加压缩率的复杂图 像编码方法 ( 诸如 MPEG-1、 MPEG-2 以及 MPEG-4H.264/MPEG-4 高级视频编码 (AVC) 方法 ) 可能不被使用。
然而, 如果在不压缩图像的像素值的情况下发送图像, 则具有高传输速率的无线 网络被使用, 以致各种装置之间的互联会被中断。 因此, 如果根据以下将描述的跳过 (skip) 模式、 自然 (natural) 模式或图形 (graphic) 模式对图像进行编码和解码, 则可保证低复杂 性以及适当级别的压缩率。
跳过模式是用于基于当前块是否与当前块的邻近块相同或相似来对当前块进行 编码的模式。自然模式是用于在当前块是自然图像的块的情况下, 通过执行离散余弦变换 (DCT) 和位平面 (bit plane) 划分来对当前块进行编码的模式。图形模式是用于在当前块 是人造图像 (artificial image)( 诸如文本图像 ) 的块的情况下, 通过执行位平面划分对 当前块进行编码的模式。以下将参照图 3 到图 5 来详细描述跳过模式、 自然模式和图形模 式。
模式确定单元 110 将上述模式之一确定为用于对当前块进行编码。例如, 模式确 定单元 110 通过将当前块的像素值与当前像条中的邻近块的像素值进行比较来确定确定 当前块是否与邻近块相同或相似, 其中, 所述邻近块在当前块之前被编码。将参照图 2 到图 3 来详细描述根据一个或多个示例性实施例的模式确定单元 110 的操作。
图 2 是示出根据示例性实施例的图像编码设备 100 的操作的示图。 参照图 2, 图像 编码设备 100 通过以像条、 块和位平面为单位划分图像来对图像进行编码。图像编码设备 10O 将当前画面 210 划分为多个像条 212 到 216( 其中, 所述多个像条 212 到 216 均具有 N 行像素 ), 将像条 212 到 216 中的每个像条划分为 N×N 块 220, 并将每个 N×N 块 220 划分 为从最高有效位 (MSB) 的位平面到最低有效位 (LSB) 的位平面的多个位平面。例如, 如果 块 220 的像素值或 DCT 系数由 M 个比特来表示, 则块 220 可被划分为 M 个位平面。
图 3a 到图 3c 是用于描述根据示例性实施例的确定跳过模式的方法的示图。参照图 3a, 如以上参照图 2 所进行的描述, 当前画面 310 可被划分为多个像条。 将示例性地描述 图像编码设备 100 对当前像条 320 进行编码的情况。
为了对当前像条 320 的当前块 322 进行编码, 图像编码设备 100 的模式确定单元 110 确定当前块 322 是否与在当前块 322 之前被编码的邻近块 324 相同或相似。例如, 当前 块 322 可以与在空间上邻近当前块 322 的邻近块 324 相同或相似。 因此, 如果当前块 322 与 位于当前块 322 的左侧的邻近块 324 相同或相似, 则模式确定单元 110 可将当前块 322 的 编码模式确定为跳过模式。邻近块 324 可以是就在当前块 322 之前被编码的块, 但是应理 解, 其它示例性实施例不限于此。
可通过使用各种方法中的任何方法来确定当前块 322 是否与邻近块 324 相同或相 似。例如, 可基于当前块 322 与邻近块 324 之间的绝对差和 (SAD)、 均方误差 (MSE)、 信噪 比 (SNR) 和最大差值等中的至少一个来计算代价, 并根据计算出的代价来确定当前块 322 是否与邻近块 324 相同或相似。如果 SAD、 MSE、 SNR 或最大差值具有值 0 或接近值 0, 或者 SAD、 MSE、 SNR 或最大差值小于或等于预定数值, 则可确定当前块 322 与邻近块 324 相同或 相似。
然而, 如图 3b 所示, 如果当前块 332 是当前像条 330 的起始块, 则由于不存在用于 进行比较的在当前块 332 之前被编码的邻近块, 所以难以对当前块 332 进行编码。因此, 当 前块 332 的编码模式没有被确定为跳过模式, 而是被确定为以下将描述的自然模式或图形 模式。 如果当前像条 330 是包括填充有相同像素值的区域的像条, 则当前像条 33 的其它 块 334 和 336 可按照跳过模式被编码。然而, 由于尽管当前块 332 为与其它块 334 和 336 相同的区域的块, 但无法按照跳过模式对当前块 332 进行编码, 所以按照自然模式或图形 模式对当前块 332 进行编码。
根据示例性实施例, 如图 3c 所示, 模式确定单元 110 可设置虚拟块 340, 并基于虚 拟块 340 将当前块 332 的编码模式确定为跳过模式。如果虚拟块 340 与当前块 332 相同或 相似, 则当前块 332 的编码模式被确定为跳过模式, 如果虚拟块 340 不与当前块 332 相同或 相似, 则当前块 332 的编码模式被确定为自然模式或图形模式。虚拟块 340 不是当前画面 310 的真实的块, 而是为了确定作为起始块的当前块 332 的编码模式而虚拟添加的块。
设置虚拟块 340 的方法并不受限。例如, 如果虚拟块 340 的像素值被不同地设置, 则多个附加比特被用于将关于虚拟块 340 的信息发送到解码器。因此, 虚拟块 340 的像素 值可被设置为全部具有相同的值。
根据示例性实施例, 虚拟块 340 的相同像素值可被设置为具有与当前块 332 的像 素值相同的值。如果当前块 332 是具有相同像素值的区域的块, 则当前块 332 的像素值可 具有相同的值, 因此, 当虚拟块 340 的像素值被同样地设置为当前块 332 的像素值时, 当前 块 332 的编码模式可被确定为跳过模式。当为了将起始块的编码模式确定为跳过模式而设 置了虚拟块 340 时, 关于虚拟块 340 的像素值的信息被单独编码并被发送到解码器。以下 将参照图 1 的编码器 120 对上述处理进行详细描述。
只有在模式确定单元 110 确定当前块 322 与邻近块 324 完全相同时, 或者模式确 定单元 110 确定当前块 322 与邻近块 324 相似时, 当前块 322 的编码模式可被确定为跳过 模式。也就是说, 只有在 SAD、 MSE 或最大差值具有值 0 时, 或者 SAD、 MSE 或最大差值等于或
小于预定阈值从而确定当前块 322 与邻近块 324 相似时, 当前块 322 的编码模式可被确定 为跳过模式。
类似地, 在当前块 332 是当前像条 330 的起始块时, 只有当当前块 332 与虚拟块 340 完全相同, 或者当前块 332 与虚拟块 340 相似时, 当前块 332 的编码模式可被确定为跳 过模式。
如果模式确定单元 110 确定当前块 322 的编码模式不是跳过模式, 则模式确定单 元 110 将自然模式或图形模式确定为当前块 322 的编码模式。如果当前块 322 是自然图像 ( 即, 非人造图像 ) 的块, 则模式确定单元 100 将当前块 322 的编码模式确定为自然模式。 此外, 如果当前块 322 是人造图像 ( 诸如文本图像或计算机图形图像 ) 的块, 则模式确定单 元 110 将当前块 322 的编码模式确定为图形模式。
确定当前块 322 是否是自然图像的块或人造图像的块的方法并不受限于以上描 述的方法, 并且, 各种算法中的任何算法可被使用。例如, 由于相同像素值会分布于人造图 像的特定区域, 因此, 当前块 322 的像素值可被比较, 如果相同像素值的数量等于或大于预 定数量, 则可确定当前块 322 是人造图像的块。
此外, 根据另一示例性实施例, 可分别按照自然模式和图形模式对当前块 322 进 行编码, 并可基于已编码的块的率失真 (RD) 代价将当前块 322 的编码模式确定为自然模式 或图形模式。以下, 将参照图 7 来描述使用 RD 代价的方法。 参照回图 1, 当模式确定单元 110 确定了当前块的编码模式时, 编码单元 120 按照 由模式确定单元 110 确定的编码模式对当前块进行编码。
如果当前块与邻近块或虚拟块相同或相似, 以致当前块的编码模式被确定为跳过 模式, 则编码单元 120 对表示当前块按照跳过模式被编码的信息 ( 例如, 标记信息 ) 进行编 码, 而不对当前块的像素值进行编码。
由于可对 1 比特的标记信息进行编码, 而不对当前块的所有像素值进行编码, 因 此, 提高了图像压缩率。 此外, 由于仅参考在当前块之前被编码的邻近块或虚拟块以按照跳 过模式对当前块进行编码, 因此, 跳过模式需要低复杂性。
如果当前块是当前像条的起始块, 以致通过参考虚拟块, 当前块的编码模式被却 确定为跳过模式, 则关于虚拟块的像素值的信息被编码并被插入比特流中。当虚拟块的像 素值如上所述被设置为具有相同的值时, 可通过对一个像素值进行编码来对关于虚拟块的 像素值的信息进行编码。关于虚拟块的像素值的信息可被插入比特流的像条头或块头中, 或被插入分配给当前块的像素值的一部分比特流中, 以代替当前块的像素值。
如果当前块的编码模式没有被确定为跳过模式, 则编码单元 120 按照自然模式或 图形模式对当前块进行编码。如果模式确定单元 110 将当前块的编码模式确定为自然模 式, 则编码单元 120 按照自然模式对当前块进行编码。另外, 如果模式确定单元 110 确定当 前块的编码模式为图形模式, 则编码单元 120 按照图形模式对当前块进行编码。将参照图 4、 图 5、 图 6a 和图 6b 来详细描述根据一个或多个示例性实施例的按照自然模式和图形模式 的编码方法。
图 4 是根据另一示例性实施例的图像编码设备 400 的框图。 参照图 4, 图像编码设 备 400 包括模式确定单元 410、 自然模式编码器 420、 图形模式编码器 430 和模式信息编码 器 440。模式确定单元 410 可相应于图 1 所示的模式确定单元 110, 自然模式编码器 420、 图
形模式编码器 430 和模式信息编码器 440 可相应于图 1 所示的编码单元 120。
模式确定单元 410 可在跳过模式、 自然模式和图形模式中确定当前块的编码模 式。
如果模式确定单元 410 将当前块的编码模式确定为跳过模式, 则模式信息编码器 440 对表示当前块按照跳过模式被编码的信息 ( 例如, 标记信息 ) 进行编码, 而不对当前块 的像素值进行编码。
如果模式确定单元 410 将当前块的编码模式确定为自然模式, 则自然模式编码器 420 按照自然模式通过以下操作来对当前块进行编码 : 对当前块执行 DCT 以产生 DCT 系数, 将产生的 DCT 系数分为多个位平面, 通过使用基于位平面的编码方法对每个位平面进行编 码。现将参照图 5 来描述根据示例性实施例的按照自然模式的编码方法。
图 5 是根据示例性实施例的图像编码设备 100 的自然模式编码器 420 的框图。参 照图 5, 自然模式编码器 420 包括变换单元 510、 位平面选择单元 520 和位平面编码器 530。
变换单元 510 对当前块执行 DCT 以产生 DCT 系数。DCT 仅仅是将像素域的像素值 变换到频域并产生频域系数的示例性方法, 本领域的普通技术人员将容易理解 : 在其它示 例性实施例中, 可使用任何其它方法来变换当前块。 在变换单元 510 对当前块执行 DCT 时产生的 DCT 系数中, 直流 (DC) 系数的比特串 按原样被插入比特流中。然而, 交流 (AC) 系数通过使用基于位平面的编码方法被编码。
位平面选择单元 520 将 AC 系数分为从 MSB 的位平面到 LSB 的位平面的多个位平 面。 以比特为单位来划分 M 比特的 AC 系数, 以产生 M 个位平面。 AC 系数的比特流中的 MSB 的 第一位平面被产生, 所述比特流中的第二 MSB 的第二位平面被产生。将该操作重复到 LSB, 以产生 M 个位平面。
当位平面选择单元 520 产生位平面时, 位平面编码器 530 通过使用基于位平面 的编码方法对产生的位平面中的每个位平面进行编码。对位平面进行编码的方法并不 受限, 可使用任何基于位平面的编码方法。此外, 根据示例性实施例, 可通过使用位掩码 (bit mask) 对每个位平面进行编码。可通过使用位掩码在每个位平面中设置具有有效位 (significant bit) 的区域, 可仅对设置的区域执行基于位平面的编码。
应理解 : 以上描述的分别对 DC 系数和 AC 系数进行编码的方法被示例性描述, 自然 模式编码器 420 可使用通过执行 DCT 和通过使用基于位平面的编码方法对当前块进行编码 的任何方法。
参照回图 4, 如果模式确定单元 410 将当前块的编码模式确定为图形模式, 则图形 模式编码器 430 按照图形模式通过以下操作来对当前块进行编码 : 将当前块的像素值分为 多个位平面, 并通过使用基于位平面的编码方法对每个位平面进行编码。现将参照图 6a 和 图 6b 来详细描述根据一个或多个示例性实施例的按照图形模式的编码方法。
图 6a 是根据示例性实施例的图像编码设备 400 的图形模式编码器 430 的框图。 参 照图 6a, 图形模式编码器 430 包括位平面选择单元 610 和位平面编码器 620。
位平面选择单元 610 将当前块的像素值分为多个位平面。例如, 以比特为单位来 划分 P 比特的像素值, 从而产生从 MSB 的位平面到 LSB 的位平面的 P 个位平面。
当位平面选择单元 610 产生位平面时, 位平面编码器 620 通过使用基于位平面的 编码方法对产生的位平面中的每个位平面进行编码。
图 6b 是用于描述根据示例性实施例的基于位平面的编码方法的示图。 参照图 6b, 位平面编码器 620 通过将相同的比特值进行组合来对位平面进行编码。将示例性描述当前 块具有 4×4 的大小和 8 比特像素值的情况。位平面编码器 620 对图 6b 所示的作为 MSB 的 比特 7 的位平面进行编码。通过将具有值 0 的分组 631 与具有值 1 的分组 632 分离, 对比 特 7 的位平面进行编码。由于比特 7 的位平面根据比特值被划分为分组 631 和分组 632, 因 此, 值 1 被编码, 表示分组 631 和分组 632 的各个比特的值 000111111111000 被编码。
基于比特 7 的位平面中的分组 631 和分组 632 中的每个分组是否被划分为具有不 同比特值的分组, 对比特 6 的位平面进行编码。在图 6b 中, 由于具有值 0 的分组 631 和具 有值 1 的分组 632 均未被划分, 因此, 表示具有值 0 的分组 631 未被划分的值 00 以及表示 具有值 1 的分组 632 未被划分的值 01 被编码。
在比特 5 的位平面中, 比特 6 的位平面中具有值 1 的分组 632 被划分为两个分组 633 和 634。因此, 表示具有值 0 的分组 631 未被划分的值 00 被编码, 表示具有值 1 的分组 632 被划分的值 1 被编码。此外, 表示从具有值 1 的分组 632 划分出的分组 634 和分组 644 的各个比特的值 0000011111 被编码。
在比特 4 的位平面中, 从具有值 1 的分组 632 划分出的具有值 0 的分组 633 被划 分为两个分组 635 和 636。因此, 表示具有值 0 的分组 631 未被划分的值 00 被编码。此外, 表示从具有值 1 的分组 632 划分出的具有值 0 的分组 633 被划分的值 1 被编码, 表示从分 组 633 划分出的分组 635 和分组 636 的各个比特的值 11100 被编码。此外, 表示具有值 1 的分组 634 未被划分的值 01 被编码。
位平面编码器 620 通过基于比特分组重复执行基于位平面的编码方法来对到 LSB 的位平面的每个位平面进行编码, 其中, 通过如上所述将相同的比特值进行组合来产生所 述比特分组。
参照回图 4, 模式信息编码器 440 对表示当前块的编码模式的信息进行编码。 如果 模式确定单元 410 将当前块的编码模式确定为跳过模式, 则模式信息编码器 440 对表示当 前块按照跳过模式被编码的信息 ( 例如, 标记信息 ) 进行编码。此外, 如果当前块是当前像 条的起始块并由于当前块与虚拟块相同或相似而按照跳过模式被编码, 则关于虚拟块的像 素值的信息也被编码并被插入比特流中。 如果虚拟块的像素值如上所述被设置为具有相同 的值, 则只有一个像素值可被编码并被插入像条头或块头中。
如果模式确定单元 410 将当前块的编码模式确定为自然模式或图形模式, 则类似 于跳过模式, 模式信息编码器 440 对表示当前块按照自然模式或图形模式被编码的信息 ( 例如, 标记信息 ) 进行编码。
此外, 模式信息编码器 440 可对表示包括当前块的像条是否包括按照跳过模式、 自然模式或图形模式被编码的块的信息 ( 例如, 标记信息 ) 进行编码。表示当前像条的标 记信息可以是当前像条的语法元素。
图 7 是根据另一示例性实施例的图像编码设备 700 的框图。 参照图 7, 图像编码设 备 700 包括跳过模式确定单元 710、 自然模式编码器 720、 图形模式编码器 730、 模式确定单 元 740 和模式信息编码器 750。
跳过模式确定单元 710 和模式确定单元 740 可相应于图 1 所示的模式确定单元 110, 自然模式编码器 720、 图形模式编码器 730 和模式信息编码器 750 可相应于图 1 所示的编码单元 120。
跳过模式确定单元 710 确定是否按照跳过模式对当前块进行编码。例如, 跳过模 式确定单元 710 将当前块的像素值与在当前块之前被编码的邻近块的像素值或虚拟块的 像素值进行比较, 如果当前块与邻近块或虚拟块相同或相似, 则所述跳过模式确定单元 710 确定当前块的编码模式为跳过模式。
如果跳过模式确定单元 710 将当前块的编码模式确定为跳过模式, 则模式信息编 码器 750 对表示当前块按照跳过模式被编码的信息 ( 例如, 标记信息 ) 进行编码。如果当 前块是当前像条的起始块, 则关于虚拟块的像素值的信息也可被编码并被插入比特流中。
如果跳过模式确定单元 710 没有将当前块的编码模式确定为跳过模式, 则自然模 式编码器 720 和图形模式编码器 730 分别按照自然模式和图形模式对当前块进行编码。
模式确定单元 740 将由自然模式编码器 720 和图形模式编码器 730 编码的块进行 比较, 并确定将按照自然模式还是图形模式对当前块进行编码。
例如, 模式确定单元 740 根据等式 : 代价= ( 速率 )+(lambda)×( 失真 ), 基于按照 自然模式对当前块进行编码的结果和按照图形模式对当前块进行编码的结果来计算 RD 代 价。因此, 模式确定单元 740 将自然模式和图形模式中具有较低代价的模式确定为当前块 的编码模式。可根据示例性实施例来变化地设置 lambda 的值, 可通过调整 lambda 的值来 改变用于选择自然模式或图形模式的参考值。 如果模式确定单元 740 将当前块的编码模式确定为自然模式或图形模式, 则模式 信息编码器 750 对表示当前块按照自然模式或图形模式被编码的信息 ( 例如, 标记信息 ) 进行编码。
此外, 如以上参照图 6 所进行的描述, 并非对表示每个块的编码模式的信息进行 编码, 而是, 模式信息编码器 750 可对表示当前像条是否包括按照跳过模式、 自然模式或图 形模式被编码的块的信息进行编码。
图 8 是根据示例性实施例的图像解码设备 800 的框图。参照图 8, 图像解码设备 800 包括模式信息解码器 810 和解码器 820。
模式信息解码器 810 对表示当前块的编码模式的信息进行解码, 其中, 所述信息 包括在比特流中。例如, 模式信息解码器 810 通过解析比特流对表示当前块是否按照跳过 模式、 自然模式或图形模式被编码的信息进行解码。
解码器 820 基于由模式信息解码器 810 解码的信息对当前块进行解码。如果已 解码的信息表示当前块按照跳过模式被编码, 则解码器 820 基于与当前块相同或相似的块 ( 即, 在当前块之前被解码的邻近块 ) 来恢复当前块。 邻近块可以是就在当前块之前被解码 的块, 但是应理解 : 其它示例性实施例不限于此。
如果当前块是当前像条的起始块并按照跳过模式被编码, 则关于虚拟块的像素值 的信息被解码, 并基于已解码的关于虚拟块的像素值的信息来恢复当前块。可通过将作为 起始块的当前块的像素值设置为与虚拟块的像素值相同, 按照跳过模式对所述当前块进行 解码。如果关于虚拟块的像素值的信息被插入像条头或块头中, 则关于虚拟块的像素值的 信息可在对当前块的像素值进行解码之前被解码, 从而使用虚拟块的像素值对当前块的像 素值进行解码。或者, 当关于虚拟块的像素值的信息代替当前块的像素值被插入比特流中 时, 可在当前块的像素值被恢复时对关于虚拟块的像素值的信息进行解码, 从而使用虚拟
块的像素值来恢复当前块的像素值。
如果已解码的信息表示当前块按照自然模式或图形模式被编码, 则解码器 820 通 过反向执行例如以上参照图 5 和图 6a 描述的编码操作来恢复当前块。将参照图 9 来详细 描述根据示例性实施例的当前块的解码方法。
图 9 是根据另一示例性实施例的图像解码设备 900 的框图。 参照图 9, 图像解码设 备 900 包括模式信息解码器 910、 跳过模式解码器 920、 自然模式解码器 930 和图形模式解 码器 940。模式信息解码器 910 可相应于图 8 所示的模式信息解码器 810, 跳过模式解码器 920、 自然模式解码器 930 和图形模式解码器 940 可相应于图 8 所示的解码器 820。
模式信息解码器 910 对表示当前块的编码模式的信息进行解码, 其中, 所述信息 包括在比特流中。
如果已解码的信息表示当前块按照跳过模式被编码, 则跳过模式解码器 920 按照 跳过模式对当前块进行解码。跳过模式解码器 920 基于在当前块之前被解码的邻近块来恢 复当前块。在这种情况下, 可通过复制邻近块来恢复当前块。如果当前块是当前像条的起 始块, 则跳过模式解码器 920 基于虚拟块的像素值来恢复当前块。当虚拟块的像素值被设 置为具有相同值时, 跳过模式解码器 920 通过将当前块的像素值设置为虚拟块的相同像素 值来恢复当前块。 如果已解码的信息表示当前块按照自然模式被编码, 则自然模式解码器 930 按照 自然模式对当前块进行解码。自然模式解码器 930 从包括在比特流中的 DCT 系数解析 DC 系数, 并通过使用基于位平面的解码方法从 DCT 系数中恢复 AC 系数的多个位平面。 如果 AC 系数通过组合恢复的位平面而被恢复, 则基于恢复的 AC 系数和解析的 DC 系数来执行反向 DCT(IDCT)。由此, 当前块被恢复。
如果已解码的信息表示当前块按照图形模式被编码, 则图形模式解码器 940 按照 图形模式对当前块进行解码。图形模式解码器 940 通过使用基于位平面的解码方法来恢复 当前块的像素值的多个位平面, 并通过组合恢复的位平面来恢复当前块的像素值。
图 10 是根据示例性实施例的图像编码方法的流程图。参照图 10, 在操作 1010, 图 1 所示的图像编码设备 100 或图 4 所示的图像编码设备 400 确定是否按照跳过模式对当前 块进行编码。跳过模式是用于在当前块与当前块的邻近块相同或相似时, 对表示当前块按 照跳过模式被编码的信息进行编码, 而不对当前块的像素值进行编码的模式。如果当前块 是当前像条的起始块, 则确定当前块是否与虚拟块相同或相似。虚拟块的像素值可被设置 为具有相同的值, 该相同的值与当前块的像素值相同。
如果在操作 1010 确定当前块的编码模式不是跳过模式, 则在操作 1020, 图像编码 设备 100 或 400 确定是否将按照自然模式或图形模式对当前块进行编码。如以上参照图 1 示出的模式确定单元 110 所进行的描述, 可基于当前块是否是自然图像的块或人造图像的 块来将当前块的编码模式确定为自然模式或图形模式。
如果在操作 1020 确定当前块是自然图像的块, 则在操作 1030, 图像编码设备 100 或 400 按照自然模式对当前块进行编码。以上已经参照图 5 描述了根据示例性实施例的按 照自然模式的编码方法。
如果在操作 1020 确定当前块是人造图像的块, 则在操作 1040, 图像编码设备 100 或 400 按照图形模式对当前块进行编码。以上已经参照图 6a 描述了根据示例性实施例的
按照图形模式的编码方法。
在操作 1050, 图像编码设备 100 或 400 对表示当前块的编码模式的信息 ( 例如, 标 记信息 ) 进行编码。如果当前块的编码模式在操作 1010 被确定为跳过模式, 则图像编码设 备 100 或 400 对表示当前块按照跳过模式被编码的信息进行编码, 而不对当前块的像素值 进行编码。如果当前块是当前像条的起始块, 则关于虚拟块的像素值的信息也与当前块一 起被编码, 其中, 当在操作 1010 将当前块的编码模式确定为跳过模式时, 虚拟块的像素值 已被参考。当虚拟块的像素值被设置为具有相同的值时, 可对一个像素值进行编码。关于 虚拟块的像素值的信息可被编码并被插入像条头或块头中, 或可被插入分配给当前块的像 素值的一部分比特流中, 以代替当前块的像素值。
此外, 如果在操作 1010 当前块的编码模式没有被确定为跳过模式, 并且当前块在 操作 1030 按照自然模式被编码或者在操作 1040 按照图形模式被编码, 则图像编码设备 100 或 400 对表示当前块按照自然模式或图形模式被编码的信息 ( 例如, 标记信息 ) 进行编码。
图 11 是根据另一示例性实施例的图像编码方法的流程图。参照图 11, 在操作 1110, 图 1 所示的图像编码设备 100 或图 7 所示的图像编码设备 700 确定是否将按照跳过 模式对当前块进行编码。操作 1110 可相应于图 10 所示的操作 1010。 如果在操作 1110 当前块的编码模式没有被确定为跳过模式, 则在操作 1120 和操 作 1130, 图像编码设备 100 或 700 分别按照自然模式和图形模式对当前块进行编码。
在操作 1140, 图像编码设备 100 或 700 将自然模式编码的结果与图形模式编码的 结果进行比较, 并基于所述比较来确定当前块的编码模式。例如, 图像编码设备 100 或 700 基于自然模式编码和图形模式编码的结果来计算 RD 代价, 并将自然模式和图形模式中具 有较低代价的模式确定为当前块的编码模式。
在操作 1150, 图像编码设备 100 或 700 对表示当前块的编码模式的信息进行编码。 如果在操作 1110 当前块的编码模式被确定为跳过模式, 则图像编码设备 100 或 700 对表示 当前块按照跳过模式被编码的信息 ( 例如, 标记信息 ) 进行编码, 而不对当前块的像素值 进行编码。此外, 如果在操作 1110 当前块的编码模式没有被确定为跳过模式, 并且在操作 1140 当前块的编码模式被确定为自然模式或图形模式, 则图像编码设备 100 或 700 对表示 当前块按照自然模式或图形模式被编码的信息 ( 例如, 标记信息 ) 进行编码。
图 12 是根据示例性实施例的图像解码方法的流程图。参照图 12, 在操作 1210, 图 8 所示的图像解码设备 800 或图 9 所示的图像解码设备 900 对表示当前块的编码模式的信 息进行解码, 其中, 所述信息包括在比特流中。例如, 图像解码设备 800 或 900 通过解析比 特流来对表示当前块是否按照跳过模式、 自然模式或图形模式被编码的信息进行解码。
在操作 1220, 图像解码设备 800 或 900 基于在操作 1210 解码的信息对当前块进行 解码。如果已解码的信息表示当前块按照跳过模式被编码, 则图像解码设备 800 或 900 基 于与当前块相同或相似的块 ( 即, 在当前块之前被解码的邻近块 ) 来恢复当前块。如果当 前块按照跳过模式被编码并且当前块是当前像条的起始块, 则图像解码设备 800 或 900 基 于虚拟块的像素值来恢复当前块。以下将参照图 13 到图 15 来描述基于虚拟块的像素值对 当前块的解码。
如果已解码的信息表示当前块按照自然模式或图形模式被编码, 则图像解码设备 800 或 900 通过反向执行例如以上参照图 5 和图 6a 描述的编码操作来恢复当前块。
图 13 是根据另一示例性实施例的图像解码方法的流程图。参照图 13, 在操作 1310, 图 8 所示的图像解码设备 800 或图 9 所示的图像解码设备 900 对表示当前块的编码 模式的信息进行解码, 其中, 所述信息包括在比特流中。操作 1310 可相应于图 12 的操作 1210。
在操作 1320, 图像解码设备 800 或 900 通过参考在操作 1310 被解码的表示编码模 式的信息来确定当前块是否按照跳过模式被编码。
如果在操作 1320 确定当前块按照跳过模式被编码, 则在操作 1330, 图像解码设备 800 或 900 确定当前块是否是当前像条的起始块。
如果在操作 1330 确定当前块是当前像条的起始块, 则在操作 1340, 图像解码设备 800 或 900 基于虚拟块的像素值来恢复当前块。此外, 如果当前块是当前像条的起始块, 则 不存在于当前块之前被解码且被参考以按照跳过模式对当前块进行解码的邻近块。因此, 通过参考已解码的关于虚拟块的像素值的信息来恢复当前块。 如果虚拟块的像素值被设置 为全部具有相同的值且当前块按照跳过模式被编码, 则通过将当前块的像素值设置为与虚 拟块的相同像素值相同来恢复当前块。 关于虚拟块的像素值的信息可被包括在像条头或块 头中, 并可在执行图 13 的方法之前被解码。
如果在操作 1330 确定当前块不是当前像条的起始块, 则在操作 1350, 图像解码设 备 800 或 900 可基于与当前块相同或相似的块 ( 即, 在当前块之前被解码的邻近块 ), 来恢 复当前块。
现将参照图 14 来详细描述操作 1340 和操作 1350。图 14 示出根据示例性实施例 的按照跳过模式恢复当前块的方法的语法。具体说来, 图 14 涉及在当前块具有多个彩色分 量 ( 例如, 三个或四个彩色分量 ) 时, 按照跳过模式恢复每个彩色分量的像素值的方法。
参照图 14, 通过语法 “image_data[i*64+j] = pix_first_blk_skip[i]” 来恢复起 始块的每个彩色分量的像素值。这里, 语法 “pix_first_blk_skip[i]” 指示用于按照跳过 模式对当前块进行编码的虚拟块的第 i 彩色分量的像素值。
如 果 当 前 块 不 是 起 始 块,则 通 过 语 法 “image_data[i*64+j] = image_ data[(i-unit)*64+j]” 来恢复每个彩色分量的像素值。 通过复制在当前块之前被解码的邻 近块的每个彩色分量的像素值来恢复当前块的每个彩色分量的像素值。
参照回图 13, 如果在操作 1320 确定当前块没有按照跳过模式被编码, 则在操作 1360, 图像解码设备 800 或 900 按照自然模式或图形模式对当前块进行解码。通过反向执 行例如参照图 5 和图 6a 描述的编码操作来恢复当前块。
图 15 是根据另一示例性实施例的图像解码方法的流程图。参照图 15, 在操作 1510, 图像解码设备 800 或 900 对表示当前块的编码模式的信息进行解码, 其中, 所述信息 包括在比特流中。操作 1510 可相应于图 13 的操作 1310。
在操作 1520, 图像解码设备 800 或 900 通过参考在操作 1510 被解码的表示编码模 式的信息来确定当前块是否按照跳过模式被编码。操作 1520 可相应于图 13 的操作 1320。
如果在操作 1520 确定当前块按照跳过模式被编码, 则在操作 1530, 图像解码设备 800 或 900 确定当前块是否是当前像条的起始块。操作 1530 可相应于图 13 的操作 1330。
如果在操作 1530 确定当前块是当前像条的起始块, 则在操作 1540, 图像解码设备 800 或 900 对关于虚拟块的像素值的信息进行解码。 例如, 如果关于虚拟块的像素值的信息代替当前块的像素值而被插入比特流中, 则分配给当前块的像素值的一部分比特流可被解 析和解码。
在操作 1542, 图像解码设备 800 或 900 基于虚拟块的像素值来恢复当前块。操作 1542 可相应于图 13 的操作 1340。
如果在操作 1530 确定当前块不是当前像条的起始块, 则在操作 1550, 图像解码设 备 800 或 900 基于与当前块相同或相似的块 ( 例如, 在当前块之前被解码的邻近块 ) 来恢 复当前块。操作 1550 可相应于图 13 的操作 1350。
如果在操作 1520 确定当前块没有按照跳过模式被编码, 则在操作 1560, 图像解码 设备 800 或 900 按照自然模式或图形模式对当前块进行解码。操作 1560 可相应于图 13 的 操作 1360。
尽管已经参照附图具体示出并描述了示例性实施例, 但是本领域普通技术人员将 理解 : 在不脱离由权利要求及其等同物限定的本发明构思的精神和范围的情况下, 可在这 里进行形式和细节上的各种改变。 示例性实施例还可被实施为计算机可读记录介质上的计 算机可读代码。 计算机可读记录介质是可存储其后可由计算机系统读取的数据的任何数据 存储装置。
例如, 图 1、 图 4、 图 7、 图 8 和图 9 所示的图像编码和解码设备中的至少一个可包括 耦接到所述设备的每个单元的总线、 至少一个处理器以及存储器, 其中, 所述至少一个处理 器与总线连接, 所述存储器与总线连接以存储命令、 接收的消息或产生的消息, 并且, 所述 处理器执行所述命令。
计算机可读记录介质的示例包括只读存储器 (ROM)、 随机存取存储器 (RAM)、 CD-ROM、 磁带、 软盘和光数据存储装置。计算机可读记录介质还可分布于联网的计算机系 统, 从而可按照分布方式来存储和执行计算机可读代码。
尽管已经参照附图具体示出并描述了示例性实施例, 但是本领域普通技术人员将 理解 : 在不脱离由权利要求限定的本发明构思的精神和范围的情况下, 可在这里进行形式 和细节上的各种改变。