(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022127864
(43)【公開日】2022-09-01
(54)【発明の名称】画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法、画像符号化プログラム、および画像復号化プログラム
(51)【国際特許分類】
H03M 7/42 20060101AFI20220825BHJP
H04N 19/91 20140101ALI20220825BHJP
【FI】
H03M7/42
H04N19/91
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2021026084
(22)【出願日】2021-02-22
(71)【出願人】
【識別番号】392016432
【氏名又は名称】株式会社シキノハイテック
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】藤岡 靖
【テーマコード(参考)】
5C159
5J064
【Fターム(参考)】
5C159ME01
5C159ME17
5C159UA02
5C159UA05
5J064AA03
5J064BA09
5J064BB01
5J064BB03
5J064BC05
5J064BC14
(57)【要約】
【課題】少ない計算量で圧縮率の高いゴロムライス符号化が可能な画像符号化装置、画像符号化方法、画像符号化プログラムを提供し、少ない計算量で圧縮率の高いゴロムライス復号化が可能な画像復号化装置、画像復号化方法、および画像復号化プログラムを提供する。
【解決手段】符号化部16は、原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成し、パラメータ設定部18は、ブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新し、符号化部16は、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成する符号化部と、
前記符号化部によるブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部と、を備え、
前記符号化部は、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する、画像符号化装置。
【請求項2】
前記符号化部は、前記原画像の画素の画素値と前記原画像の画素の予測値との誤差値から前記シンボルを生成し、前記シンボルをゴロムライス符号化する、請求項1記載の画像符号化装置。
【請求項3】
前記パラメータ設定部は、ブロック内のすべての画素についてのゴロムライス符号化データのうち、定められたグループに属するものの数が上限閾値以上の場合に、符号化パラメータkを減少させ、定められたグループに属するものの数が下限閾値以下の場合に、符号化パラメータkを増加させ、前記定められたグループに属する前記ゴロムライス符号化データの符号長は、最小である、請求項1または2記載の画像符号化装置。
【請求項4】
前記定められたグループに属するゴロムライス符号化データのプリフィックスは、1ビットである、請求項3記載の画像符号化装置。
【請求項5】
前記符号化部は、既にゴロムライス符号化を終了した複数の画素からなり、前記着目ブロックに隣接する少なくとも1つのブロックを用いて算出された符号化パラメータkに基づいて、前記着目ブロック内のすべての画素について、それぞれゴロムライス符号化する、請求項1~4のいずれか1項に記載の画像符号化装置。
【請求項6】
前記ブロックは、複数行、かつ複数列であり、
前記符号化部は、前記着目ブロックが行方向の先頭でなく、かつ前記着目ブロックが列方向の先頭でないときは、既にゴロムライス符号化を終了した複数の画素からなり、行方向において前記着目ブロックに隣接するブロックを用いて算出された符号化パラメータk、および既にゴロムライス符号化を終了した複数の画素からなり、列方向において前記着目ブロックに隣接するブロックを用いて算出された符号化パラメータkの平均値に基づいて、前記着目ブロック内のすべての画素について、それぞれゴロムライス符号化する、請求項5記載の画像符号化装置。
【請求項7】
符号化画像の画素について、前記符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化する復号化部と、
前記復号化部によるブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部と、を備え、
前記復号化部は、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する、画像復号化装置。
【請求項8】
前記パラメータ設定部は、ブロック内のすべての画素についてのゴロムライス符号化データのうち、定められたグループに属するものの数が上限閾値以上の場合に、符号化パラメータkを減少させ、定められたグループに属するものの数が下限閾値以下の場合に、符号化パラメータkを増加させ、前記定められたグループに属する前記ゴロムライス符号化データの符号長は、最小である、請求項7記載の画像復号化装置。
【請求項9】
前記定められたグループに属するゴロムライス符号化データのプリフィックスは、1ビットである、請求項8記載の画像復号化装置。
【請求項10】
前記復号化部は、既にゴロムライス復号化を終了した複数の画素からなり、前記着目ブロックに隣接する少なくとも1つのブロックを用いて算出された符号化パラメータkに基づいて、前記着目ブロック内のすべての画素について、それぞれゴロムライス復号化する、請求項7~9のいずれか1項に記載の画像復号化装置。
【請求項11】
前記ブロックは、複数行、かつ複数列であり、
前記復号化部は、前記着目ブロックが行方向の先頭でなく、かつ前記着目ブロックが列方向の先頭でないときは、既にゴロムライス復号化を終了した複数の画素からなり、行方向において前記着目ブロックに隣接するブロックを用いて算出された符号化パラメータk、および既にゴロムライス復号化を終了した複数の画素からなり、列方向において前記着目ブロックに隣接するブロックを用いて算出された符号化パラメータkの平均値に基づいて、前記着目ブロック内のすべての画素について、それぞれゴロムライス復号化する、請求項10記載の画像復号化装置。
【請求項12】
原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成するステップと、
ブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するステップと、を備え、
前記ゴロムライス符号化データを生成するステップは、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化するステップを含む、画像符号化方法。
【請求項13】
前記符号化するステップは、前記原画像の画素の画素値と前記原画像の画素の予測値との誤差値から前記シンボルを生成し、前記シンボルをゴロムライス符号化するステップを含む、請求項12記載の画像符号化方法。
【請求項14】
符号化画像の画素について、前記符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化するステップと、
ブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するステップと、を備え、
前記復号化するステップは、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化するステップを含む、画像復号化方法。
【請求項15】
コンピュータを、
原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成する符号化部と、
前記符号化部によるブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部として機能させ、
前記符号化部は、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する、画像符号化プログラム。
【請求項16】
前記符号化部は、前記原画像の画素の画素値と前記原画像の画素の予測値との誤差値から前記シンボルを生成し、前記シンボルをゴロムライス符号化する、請求項15記載の画像符号化プログラム。
【請求項17】
コンピュータを、
符号化画像の画素について、前記符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化する復号化部と、
前記復号化部によるブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部として機能させ、
前記復号化部は、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する、画像復号化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法、画像符号化プログラム、および画像復号化プログラムに関する。
【背景技術】
【0002】
エントロピー符号化方法として、ゴロムライス符号が知られている。ゴロムライス符号の圧縮率を左右する重要な鍵は、符号化パラメータkの決定にある。国際規格であるJPEG-LS方式では、画像符号化装置および画像復号化装置は、原画素までの予測誤差の平均値を符号化パラメータkの決定に用いている(たとえば、非特許文献1を参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ISO/IEC 14495-1:1999, "Information Technology-Lossless and Near-Lossless Compression of Continuous-Tone Still Images : baseline"
【発明の概要】
【発明が解決しようとする課題】
【0004】
JPEG-LS方式を用いた画像符号化装置および画像復号化装置は、1画素単位で符号化パラメータkを更新する必要があるので、計算量が多くなるという問題がある。
【0005】
それゆえに、本発明の目的は、少ない計算量で、ゴロムライス符号化が可能な画像符号化装置、画像符号化方法、画像符号化プログラムを提供するとともに、少ない計算量で、ゴロムライス復号化が可能な画像復号化装置、画像復号化方法、および画像復号化プログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の画像符号化装置は、原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成する符号化部と、符号化部によるブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部とを備える。符号化部は、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0007】
好ましくは、符号化部は、原画像の画素の画素値と原画像の画素の予測値との誤差値からシンボルを生成し、シンボルをゴロムライス符号化する。
【0008】
好ましくは、パラメータ設定部は、ブロック内のすべての画素についてのゴロムライス符号化データのうち、定められたグループに属するものの数が上限閾値以上の場合に、符号化パラメータkを減少させ、定められたグループに属するものの数が下限閾値以下の場合に、符号化パラメータkを増加させる。定められたグループに属するゴロムライス符号化データの符号長は、最小である。
【0009】
好ましくは、定められたグループに属するゴロムライス符号化データのプリフィックスは、1ビットである。
【0010】
好ましくは、符号化部は、既にゴロムライス符号化を終了した複数の画素からなり、着目ブロックに隣接する少なくとも1つのブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0011】
好ましくは、ブロックは、複数行、かつ複数列である。符号化部は、着目ブロックが行方向の先頭でなく、かつ着目ブロックが列方向の先頭でないときは、既にゴロムライス符号化を終了した複数の画素からなり、行方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータk、および既にゴロムライス符号化を終了した複数の画素からなり、列方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkの平均値に基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0012】
本発明の画像復号化装置は、符号化画像の画素について、符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化する復号化部と、復号化部によるブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部とを備える。復号化部は、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0013】
好ましくは、パラメータ設定部は、ブロック内のすべての画素についてのゴロムライス符号化データのうち、定められたグループに属するものの数が上限閾値以上の場合に、符号化パラメータkを減少させ、定められたグループに属するものの数が下限閾値以下の場合に、符号化パラメータkを増加させる。定められたグループに属するゴロムライス符号化データの符号長は、最小である。
【0014】
好ましくは、定められたグループに属するゴロムライス符号化データのプリフィックスは、1ビットである。
【0015】
好ましくは、復号化部は、既にゴロムライス復号化を終了した複数の画素からなり、着目ブロックに隣接する少なくとも1つのブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0016】
好ましくは、ブロックは、複数行、かつ複数列である。復号化部は、着目ブロックが行方向の先頭でなく、かつ着目ブロックが列方向の先頭でないときは、既にゴロムライス復号化を終了した複数の画素からなり、行方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータk、および既にゴロムライス復号化を終了した複数の画素からなり、列方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkの平均値に基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0017】
本発明の画像符号化方法は、原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成するステップと、ブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するステップとを備える。ゴロムライス符号化データを生成するステップは、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化するステップを含む。
【0018】
好ましくは、符号化するステップは、原画像の画素の画素値と原画像の画素の予測値との誤差値からシンボルを生成し、シンボルをゴロムライス符号化するステップを含む。
【0019】
本発明の画像復号化方法は、符号化画像の画素について、符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化するステップと、ブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するステップとを備える。復号化するステップは、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化するステップを含む。
【0020】
本発明の画像符号化プログラムは、コンピュータを、原画像の画素の画素値から生成されたシンボルをゴロムライス符号化して、ゴロムライス符号化データを生成する符号化部と、符号化部によるブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部として機能させる。符号化部は、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0021】
好ましくは、符号化部は、原画像の画素の画素値と原画像の画素の予測値との誤差値からシンボルを生成し、シンボルをゴロムライス符号化する。
【0022】
本発明の画像復号化プログラムは、コンピュータを、符号化画像の画素について、符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化する復号化部と、復号化部によるブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新するパラメータ設定部として機能させる。復号化部は、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【発明の効果】
【0023】
本発明によれば、少ない計算量で、圧縮率の高いゴロムライス符号化およびゴロムライス復号化が可能である。
【図面の簡単な説明】
【0024】
【
図1】JPEG-LS方式の画像符号化の手順を表わすフローチャートである。
【
図2】JPEG-LS方式の画像復号化の手順を表わすフローチャートである。
【
図3】実施の形態の画像符号化装置1の構成を表わす図である。
【
図4】k=3のときのゴロムライス符号化、およびゴロムライス復号化の例を表わす図である。
【
図5】k=5のときのゴロムライス符号化、およびゴロムライス復号化の例を表わす図である。
【
図6】ゴロムライス符号化テーブルを表わす図である。
【
図7】実施の形態の画像符号化の手順を表わすフローチートである。
【
図8】第1の実施形態におけるブロックを表わす図である。
【
図9】第1の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)を表わす図である。
【
図10】実施の形態の画像復号化装置2の構成を表わす図である。
【
図11】実施の形態の画像復号化の手順を表わすフローチャートである。
【
図12】第2の実施形態におけるブロックを表わす図である。
【
図13】第2の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)表わす図である。
【
図14】第3の実施形態におけるブロックを表わす図である。
【
図15】第3の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)表わす図である。
【
図16】第4の実施形態おいて、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)を表わす図である。
【
図17】画像符号化装置および画像復号化装置の内部構成を表わす図である。
【発明を実施するための形態】
【0025】
以下、実施の形態について、図面を参照して説明する。
[参考例]
図1は、JPEG-LS方式の画像符号化の手順を表わすフローチャートである。
【0026】
ステップS101において、画像符号化装置は、パラメータRESET、A、Nを初期化する。Aは、データの総和である。Nは、データの数である。A/Nは、データの平均値を表わす。ここで、データとは、後述する誤差値Eである。RESETは、AおよびNをリセットするための値である。AおよびNは、0に初期化される。RESETは、予め定められた値(たとえば、16、32など)に固定される。
【0027】
ステップS102において、画像符号化装置は、符号化パラメータkを0に初期化する。
【0028】
ステップS103において、Nをkビット左にビットシフトした値がA未満の場合に、処理がステップS104に進み、Nをkビット左にビットシフトした値がA以上の場合に、処理がステップS105に進む。
【0029】
ステップS104において、画像符号化装置は、kを1だけ増加させる。その後、処理がステップS103に戻る。
【0030】
ステップS105において、画像符号化装置は、原画像の着目画素の画素値Sを取得する。
【0031】
ステップS106において、画像符号化装置は、着目画素の予測値Pを生成する。
ステップS107において、画像符号化装置は、着目画素の誤差値E(=S-P)を算出する。
【0032】
ステップS108において、画像符号化装置は、誤差値E(符号有りデータ)からシンボルSB(符号なしデータ)を生成する。具体的には、画像符号化装置は、誤差値Eが正の場合には、2×EをシンボルSBとし、誤差値Eが負の場合には、(-2×E-1)をシンボルSBとする。画像符号化装置は、シンボルSBを現在設定されている符号化パラメータkでゴロムライス符号化する。
【0033】
ステップS109において、画像符号化装置は、Nを1だけ増加させる。画像符号化装置は、Aに誤差値Eの絶対値を加算して、Aを更新する。
【0034】
ステップS110において、NがRESETと等しいときには、処理がステップS111に進み、NがRESETと等しくないときには、処理がステップS112に進む。
【0035】
ステップS111において、画像符号化装置は、Nを2で除算することによって、Nを更新し、Aを2で除算することによって、Aを更新する。その後、処理がステップS112に進む。
【0036】
ステップS112において、画像符号化装置は、Nを1だけ増加させる。
ステップS113において、原画像の全画素の画素値の取得が完了していない場合に、処理がステップS114に進み、原画像の全画素の画素値の取得が完了した場合に、処理が終了する。
【0037】
ステップS114において、画像符号化装置は、原画像を所定の走査順序で走査することによって、着目画素を移動させる。
【0038】
図2は、JPEG-LS方式の画像復号化の手順を表わすフローチャートである。
ステップS301において、画像復号化装置は、パラメータRESET、A、Nを初期化する。RESET、A、Nは、符号化のときと同様である。
【0039】
ステップS301において、画像復号化装置は、符号化パラメータkを0に初期化する。
【0040】
ステップS302において、Nをkビット左にビットシフトした値がA未満の場合に、処理がステップS304に進み、Nをkビット左にビットシフトした値がA以上の場合に、処理がステップS305に進む。
【0041】
ステップS304において、画像復号化装置は、kを1だけ増加させる。その後、処理がステップS303に戻る。
【0042】
ステップS305において、画像復号化装置は、符号化画像の着目画素の画素値を取得する。
【0043】
ステップS306において、画像復号化装置は、符号化画像の着目画素の画素値を現在設定されているkでゴロムライス復号化して、シンボルSBを生成する。
【0044】
ステップS307において、画像復号化装置は、原画像の着目画素の予測値Pを生成する。
【0045】
ステップS308において、画像復号化装置は、復号化されたシンボルSB(符号なしデータ)から誤差値E(符号有りデータ)を生成する。具体的には、画像復号化装置は、復号化されたシンボルSBが偶数の場合に、SB/2を誤差値Eとし、復号化されたシンボルSBが奇数の場合に、-(SB+1)/2を誤差値Eとする。画像復号化装置は、原画像の着目画素の画素値S(=P+E)を復元する。
【0046】
ステップS309において、画像復号化装置は、Nを1だけ増加させる。画像復号化装置は、Aに誤差値Eの絶対値を加算して、Aを更新する。
【0047】
ステップS310において、NがRESETと等しいときには、処理がステップS311に進み、NがRESETと等しくないときには、処理がステップS312に進む。
【0048】
ステップS311において、画像復号化装置は、Nを2で除算することによって、Nを更新し、Aを2で除算することによって、Aを更新する。その後、処理がステップS312に進む。
【0049】
ステップS312において、画像復号化装置は、Nを1だけ増加させる。
ステップS313において、符号化画像の全画素の画素値の取得が完了していない場合に、処理がステップS314に進み、符号化画像の全画素の画素値の取得が完了した場合に、処理が終了する。
【0050】
ステップS314において、画像復号化装置は、原画像を所定の走査順序(符号化時と同じ順序)で走査することによって、着目画素を移動させる。
【0051】
以上のように、JPEG-LS方式の画像符号化方法、および画像復号化方法は、画素ごとに、符号化パラメータkを更新する処理を実行するので、計算量が多くなるという問題がある。
【0052】
[第1の実施形態]
(画像符号化装置)
図3は、実施の形態の画像符号化装置1の構成を表わす図である。
【0053】
画像符号化装置1は、画像入力部10と、シンボル生成部11と、符号化部16と、パラメータ設定部18と、画像走査部19とを備える。シンボル生成部11は、画像予測部12と、予測誤差生成部14とを備える。
【0054】
画像入力部10は、原画像の画素の画素値Sを取得する。
シンボル生成部11は、原画像の画素の画素値Sからシンボルを生成する。各画素値に対するシンボルからなる画像を変換画像とする、シンボル生成部11は、原画像の画素値の出現頻度の偏りよりも、変換画像の画素値(シンボル)の出現頻度の偏りが大きくなるようにする。
【0055】
本実施の形態では、シンボル生成部11は、原画像の画素値と原画像の画素値の予測値との差分を表わす誤差からシンボルを生成するが、これに限定されるものではない。たとえば、シンボル生成部11は、原画像を離散コサイン変換した変換画像の画素値からシンボルを生成するものとしてもよい。
【0056】
画像予測部12は、着目画素の予測値Pを生成する。たとえば、画像予測部12は、符号化済みの周辺画素a、b、cを用いて、着目画素の予測値Pを以下の式に従って算出する。原画像の画素a、b、cの画素値をA、B、Cとする。原画像の画素の取得順序が、ラスター順の場合には、画素aは、着目画素の1つ左の画素、画素bは、着目画素の1つ上の画素、画素cは、着目画素の左上の画素とすることができる。
【0057】
P=min(A,B) (max(A,B)≦Cのとき)…(1)
P=max(A,B) (min(A,B)≧Cのとき)…(2)
P=A+B-C (min(A,B)<C<max(A,B)のとき)…(3)
予測誤差生成部14は、シンボルとして、着目画素の誤差値E(=S-P)を算出する。
【0058】
符号化部16は、原画像の画素について、原画像の画素の画素値と原画像の画素の予測値との誤差値EからシンボルSBを生成する。符号化部16は、シンボルSBをゴロムライス符号化して、ゴロムライス符号化データを生成する。符号化部16は、既にゴロムライス符号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0059】
パラメータ設定部18は、パラメータk、M、THu、THbを設定する。パラメータkは、符号化パラメータである。パラメータTHu、THbは、それぞれ上限閾値、下限閾値である。パラメータMは、ゴロムライス符号化テーブルのグループ0に属すると判定されたブロック内のデータの数を表わす。ここで、データとは、ゴロムライス符号化データである。
【0060】
パラメータ設定部18は、符号化部16によるブロック内のすべての画素についてのゴロムライス符号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新する。
【0061】
画像走査部19は、原画像を走査することによって、着目ブロックおよび着目ブロック内の着目画素を移動させる。
【0062】
図4は、k=3のときのゴロムライス符号化、およびゴロムライス復号化の例を表わす図である。
【0063】
ゴロムライス符号化は、以下のようにして行われる。固定長8ビットの符号前データの下位k(=3)ビットから、符号化後データの下位ビット(suffix)が生成され、固定長8ビットの符号前データの上位5ビットから、符号化後データの上位ビット(prefix)が生成される。符号化前データの下位3ビット(011)がそのまま符号化後データのsuffix(011)となる。符号化前データの上位ビット(00110)を10進数で表わすと「6」となるので、符号化後データのprefixの上位ビットは0が6個連続する(000000)となり、符号化後データのprefixの最下位ビットは固定値「1」となる。
【0064】
ゴロムライス復号化は、以下のようにして行われる。
図4の例では、「0」が6個連続して入力された後にストップビット「1」が入力される。よって、prefix(上位ビット)は、7ビット(0000001)と認識される。k=3のため、suffixは、3ビット(011)と認識される。符号化後データのsuffix(011)が、そのまま固定長8ビットの符号化前データの下位3ビット(011)となる。符号化後データのprefixから生成される符号化前データの上位ビットは、5(=8-3)ビットである。prefixは、「0」が6個連続するので、符号化前データの上位5ビットは、「6」を2進数で表した(00110)となる。
【0065】
図5は、k=5のときのゴロムライス符号化、およびゴロムライス復号化の例を表わす図である。
【0066】
ゴロムライス符号化は、以下のようにして行われる。固定長8ビットの符号前データの下位k(=5)ビットから、符号化後データの下位ビット(suffix)が生成され、固定長8ビットの符号前データの上位3ビットから、符号化後データの上位ビット(prefix)が生成される。符号化前データの下位5ビット(10011)がそのまま符号化後データのsuffix(10011)となる。符号化前データの上位ビット(001)を10進数で表すと「1」となるので、符号化後データのprefixの上位ビットは0が1個連続する(0)となり、符号化後データのprefixの最下位ビットは固定値「1」となる。
【0067】
ゴロムライス復号化は、以下のようにして行われる。ゴロムライス復号化は、以下のようにして行われる。復号化時の入力データ(符号化後データ)はビットストリーム(上位ビットから順次入力され、データの切れ目が不明)である。
図5の例では、「0」が1個して入力された後にストップビット「1」が入力される。よって、prefix(上位ビット)は、2ビット(01)と認識される。k=5のため、suffixは、5ビット(10011)と認識される。符号化後データのsuffix(10011)が、そのまま固定長8ビットの符号化前データの下位5ビット(10011)となる。符号化後データのprefixから生成される符号化前データの上位ビットは、3(=8-5)ビットである。prefixは、「0」が1個なので、符号化前データの上位3ビットは、「1」を2進数で表した(001)となる。
【0068】
図6は、ゴロムライス符号化テーブルを表わす図である。
以下の説明では、0bX
1X
2・・・は、2進数表示を表わし、X
1,X
2は、0または1である。
【0069】
符号化データは、上位ビットでprefixと下位ビットであるsuffixとから構成される。下位ビットであるsuffixは、kビットである。グループiに属する符号化データのsuffixにおいて、最下位ビットが1で、上位ビットが連続するi個の0である。グループiに属する符号化データの符号長は(i+1+k)である。各グループに属する符号化データの数は、2kである。
【0070】
たとえば、グループ0に属する符号化データの上位ビットであるprefixは「0b1」である。下位ビットのsuffixは、kビットであるから、グループ0に属する符号化データの符号長は、(1+k)である。
【0071】
グループ1に属する符号化データの上位ビットであるprefixは「0b01」である。下位ビットのsuffixは、kビットであるから、グループ1に属する符号化データの符号長は、(2+k)である。
【0072】
グループ2に属する符号化データの上位ビットであるprefixは「0b001」である。下位ビットのsuffixは、kビットであるから、グループ2に属する符号化データの符号長は、(3+k)である。
【0073】
グループiに属する符号化データの上位ビットであるprefixは「0b{00・・・0}(i)1」である。{00・・・0}(k)は、0がK個連続することを表わす。下位ビットのsuffixは、kビットであるから、グループiに属する符号化データの符号長は、(i+1+k)である。
【0074】
グループiに属するデータの出現頻度は、グループ(i+1)に属するデータの出現頻度よりも大きい。グループ0の理想的な出現頻度は、50%であり、グループ1の理想的な出現頻度は、25%である。グループiの理想的な出現頻度は、(1/2)(i+1)×100(%)である。
【0075】
グループ0に属するゴロムライス符号化データの符号長は、最小である。符号化データの上位ビットであるprefixは、すべてのビットを反転してもよい。よって、グループ0に属する符号化データの上位ビットであるprefixは、「0b1」または「0b0」の1ビットである。
【0076】
パラメータ設定部18は、ブロック内のすべての画素についてのゴロムライス符号化データのうち、グループ0に属するものの数が上限閾値以上の場合に、符号化パラメータkを減少させ、グループ0に属するものの数が下限閾値以下の場合に、符号化パラメータkを増加させる。これによって、グループ0に属する割合を望ましい値(50%)に近づけることができる。
【0077】
図7は、実施の形態の画像符号化の手順を表わすフローチャートである。このフローチャートの処理は、コンピュータが画像符号化プログラムを実行することによって、実現されるものとしてもよい。
【0078】
ステップS201において、パラメータ設定部18は、パラメータk、THu、THbを初期化する。符号化パラメータkは、予め定められた初期値に設定される。たとえば、符号化パラメータkは、実験によって高い圧縮率が得られた値に定められる。上限閾値THuは、予め定められた値に設定される。下限閾値THbは、予め定められた値に設定される。たとえば、ブロック内の画素の数が16のときには、上限閾値THuを12に設定し、下限閾値THbを4に設定することができる。
【0079】
ステップS202において、パラメータ設定部18は、パラメータM(=ゴロムライス符号化テーブルのグループ0に属すると判定されたブロック内のゴロムライス符号化データの数)を0に初期化する。
【0080】
ステップS203において、画像入力部10は、原画像の着目画素の画素値Sを取得する。
【0081】
ステップS204において、画像予測部12は、着目画素の予測値Pを生成する。
ステップS205において、予測誤差生成部14は、着目画素の誤差値E(=S-P)を算出する。
【0082】
ステップS206において、符号化部16は、誤差値E(符号有りデータ)からシンボルSB(符号なしデータ)を生成する。具体的には、符号化部16は、誤差値Eが正の場合には、2×EをシンボルSBとし、誤差値Eが負の場合には、(-2×E-1)をシンボルSBとする。符号化部16は、シンボルSBを現在設定されている符号化パラメータkでゴロムライス符号化する。
【0083】
ステップS207において、ゴロムライス符号化後の画素値がゴロムライス符号化テーブルのグループ0に属するときには、処理がステップS208に進み、ゴロムライス符号化後の画素値がゴロムライス符号化テーブルのグループ0に属しないときには、処理がステップS209に進む。
【0084】
ステップS208において、パラメータ設定部18は、Mを1だけ増加させる。その後、処理がステップS209に進む。
【0085】
ステップS209において、着目ブロックの全画素の画素値の取得が完了した場合に、処理がステップS211に進む。着目ブロックの全画素の画素値の取得が完了していない場合に、処理がステップS210に進む。
【0086】
ステップS210において、画像走査部19は、原画像を所定の順序で走査することによって、着目ブロック内の着目画素を移動させる。その後、処理がステップS203に進む。
【0087】
ステップS211において、Mが上限閾値THu以上のときには、処理がステップS212に進み、Mが上限閾値THu未満のときには、処理がステップS213に進む。
【0088】
ステップS212において、パラメータ設定部18は、kを1だけ減少させる。これによって、グループ0に属する要素の割合が大きいときには、kを小さくすることによって、グループ0に属する要素の割合を望ましい値(たとえば、50%)に近づけることができる。その後、処理がステップS215に進む。
【0089】
ステップS213において、Mが下限閾値THb以下のときには、処理がステップS214に進み、Mが下限閾値THbを超えているときには、処理がステップS215に進む。
【0090】
ステップS214において、パラメータ設定部18は、kを1だけ増加させる。これによって、グループ0に属する要素の割合が小さいときには、kを大きくすることによって、グループ0に属する要素の割合を望ましい値(たとえば、50%)に近づけることができる。その後、処理がステップS215に進む。
【0091】
ステップS215において、原画像の全画素の画素値の取得が完了していない場合に、処理がステップS216に進み、原画像の全画素の画素値の取得が完了した場合に、処理が終了する。
【0092】
ステップS216において、画像走査部19は、原画像を所定の走査順序で走査することによって、着目ブロックを移動させる。画像走査部19は、着目ブロックの先頭の画素を着目ブロックの着目画素とする。
【0093】
(パラメータkのソース)
符号化部16は、既にゴロムライス符号化を終了した複数の画素からなり、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0094】
図8は、第1の実施形態におけるブロックを表わす図である。ブロックは、行方向(=上下方向)に1画素、列方向(左右方向)に16画素からなる。画素の取得順序は、着目ブロック内において、左方向から右方向に順番に取得される。ブロックの順序は、最も左の列の上から下に移動し、その後、順次右の列に移動し、上から下へ移動することを繰り返す。
【0095】
図9は、第1の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)を表わす図である。
【0096】
図9(a)に示すように、着目ブロックが行方向の最も上(行方向の先頭)に位置しないときには、ソースブロックは、1つ上のブロックになる。よって、符号化部16は、着目ブロックが行方向の最も上(行方向の先頭)に位置しないときには、既にゴロムライス符号化を終了した複数の画素からなり、行方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0097】
図9(b)に示すように、着目ブロックが行方向の最も上(行方向の先頭)に位置するときには、ソースブロックは1つ前の列の最も上に位置するブロックとなる。よって、符号化部16は、着目ブロックが行方向の最も上(行方向の先頭)に位置するときには、既にゴロムライス符号化を終了した複数の画素からなり、列方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0098】
なお、着目ブロックが行方向の最も上(行方向の先頭)に位置するときには、符号化パラメータkを、予め定められた初期値に設定するものとしてもよい。
【0099】
(画像復号化装置)
図10は、実施の形態の画像復号化装置2の構成を表わす図である。
【0100】
画像復号化装置2は、画像入力部20と、復号化部26と、画像予測部22と、画像復元部24と、パラメータ設定部28と、画像走査部29とを備える。
【0101】
画像入力部20は、符号化画像の画素の画素値Sを取得する。
復号化部26は、符号化画像の画素について、符号化画像の画素の画素値であるゴロムライス符号化データをゴロムライス復号化して、シンボルSBを生成する。復号化部26は、既にゴロムライス復号化を終了した複数の画素からなるブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0102】
パラメータ設定部28は、パラメータk、M、THu、THbを設定する。パラメータkは、符号化パラメータである。パラメータTHu、THbは、それぞれ上限閾値、下限閾値である。パラメータMは、ゴロムライス符号化テーブルのグループ0に属すると判定されたブロック内のデータの数を表わす。ここで、データとは、ゴロムライス符号化データである。
【0103】
パラメータ設定部28は、復号化部26によるブロック内のすべての画素についてのゴロムライス復号化の終了後に、ブロック内のすべての画素についてのゴロムライス符号化データに基づいて、符号化パラメータkを更新する。
【0104】
パラメータ設定部18は、ブロック内のすべての画素についてのゴロムライス符号化データのうち、グループ0に属するものの数が上限閾値以上の場合に、符号化パラメータkを減少させ、グループ0に属するものの数が下限閾値以下の場合に、符号化パラメータkを増加させる。
【0105】
画像予測部22は、着目画素の予測値Pを生成する。たとえば、画像予測部22は、復元済みの周辺画素a、b、cを用いて、着目画素の予測値Pを以下の式に従って算出する。復元済みの画素a、b、cの画素値をA、B、Cとする。符号化画像の画素の取得順序が、ラスター順の場合には、画素aは、着目画素の1つ左の画素、画素bは、着目画素の1つ上の画素、画素cは、着目画素の左上の画素とすることができる。
【0106】
P=min(A,B) (max(A,B)≦Cのとき)・・・(1)
P=max(A,B) (min(A,B)≧Cのとき)・・・(2)
P=A+B-C (min(A,B)<C<max(A,B)・・・(3)
画像復元部24は、復号化されたシンボルSBから誤差値Eを生成する。画像復元部24は、原画像の着目画素の画素値S(=P+E)を復元する。
【0107】
画像走査部29は、符号化時と同じ順序で符号化画像を走査することによって、着目ブロックおよび着目ブロック内の着目画素を移動させる。
【0108】
図11は、実施の形態の画像復号化の手順を表わすフローチャートである。このフローチャートの処理は、コンピュータが画像復号化プログラムを実行することによって、実現されるものとしてもよい。
【0109】
ステップS401において、パラメータ設定部28は、パラメータk、THu、THbを初期化する。符号化パラメータkは、予め定められた初期値に設定される。k、THu、THbは、符号化時と同じ値に設定される。
【0110】
ステップS402において、パラメータ設定部18は、パラメータM(=ゴロムライス符号化テーブルのグループ0に属すると判定されたブロック内のゴロムライス符号化データの数)を0に初期化する。
【0111】
ステップS403において、画像入力部10は、符号化画像の着目画素の画素値を取得する。
【0112】
ステップS404において、符号化画像の着目画素の画素値がゴロムライス符号化テーブルのグループ0に属するときには、処理がステップS405に進み、符号化画像の着目画素の画素値がゴロムライス符号化テーブルのグループ0に属しないときには、処理がステップS406に進む。
【0113】
ステップS405において、パラメータ設定部28は、Mを1だけ増加させる。その後、処理がステップS406に進む。
【0114】
ステップS406において、復号化部26は、符号化画像の着目画素の画素値を現在設定されているkでゴロムライス復号化して、シンボルSBを生成する。
【0115】
ステップS407において、画像予測部22は、原画像の着目画素の予測値Pを生成する。
【0116】
ステップS408において、画像復元部24は、復号化されたシンボルSB(符号なしデータ)から誤差値E(符号有りデータ)を生成する。具体的には、画像復元部24は、復号化されたシンボルSBが偶数の場合に、SB/2を誤差値Eとし、復号化されたシンボルSBが奇数の場合に、-(SB+1)/2を誤差値Eとする。画像復元部24は、原画像の着目画素の画素値S(=P+E)を復元する。
【0117】
ステップS409において、着目ブロックの全画素の画素値の取得が完了した場合に、処理がステップS411に進む。着目ブロックの全画素の画素値の取得が完了していない場合に、処理がステップS410に進む。
【0118】
ステップS41において、画像走査部29は、符号化画像を所定の順序(=符号化時と同じ走査順序)で走査することによって、着目ブロック内の着目画素を移動させる。その後、処理がステップS403に進む。
【0119】
ステップS411において、Mが上限閾値THu以上のときには、処理がステップS412に進み、Mが上限閾値THu未満のときには、処理がステップS413に進む。
【0120】
ステップS412において、パラメータ設定部28は、kを1だけ減少させる。これによって、グループ0に属する要素の割合が大きいときには、kを小さくすることによって、グループ0に属する要素の割合を望ましい値(たとえば、50%)に近づけることができる。その後、処理がステップS415に進む。
【0121】
ステップS413において、Mが下限閾値THb以下のときには、処理がステップS414に進み、Mが下限閾値THbを超えているときには、処理がステップS415に進む。
【0122】
ステップS414において、パラメータ設定部28は、kを1だけ増加させる。これによって、グループ0に属する要素の割合が小さいときには、kを大きくすることによって、グループ0に属する要素の割合を望ましい値(たとえば、50%)に近づけることができる。その後、処理がステップS415に進む。
【0123】
ステップS415において、符号化画像の全画素の画素値の取得が完了していない場合に、処理がステップS416に進み、符号化画像の全画素の画素値の取得が完了した場合に、処理が終了する。
【0124】
ステップS416において、画像走査部29は、符号化画像を所定の走査順序(=符号化時と同じ走査順序)で走査することによって、着目ブロックを移動させる。画像走査部29は、着目ブロックの先頭の画素を着目ブロックの着目画素とする。
【0125】
(パラメータkのソース)
復号化部26は、既にゴロムライス符号化を終了した複数の画素からなり、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0126】
図8に示すように、ブロックは、行方向(=上下方向)に1画素、列方向(左右方向)に16画素からなる。画素の取得順序は、着目ブロック内において、左方向から右方向に順番に取得される。ブロックの順序は、最も左の列の上から下に移動し、その後、順次右の列に移動し、上から下へ移動することを繰り返す。
【0127】
図9(a)に示すように、着目ブロックが行方向の最も上(行方向の先頭)に位置しないときには、ソースブロックは、1つ上のブロックになる。よって、復号化部26は、着目ブロックが行方向の最も上(行方向の先頭)に位置しないときには、既にゴロムライス復号化を終了した複数の画素からなり、行方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0128】
図9(b)に示すように、着目ブロックが行方向の最も上(行方向の先頭)に位置するときには、ソースブロックは1つ前の列の最も上に位置するブロックとなる。よって、復号化部26は、既にゴロムライス復号化を終了した複数の画素からなり、列方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。なお、着目ブロックが行方向の最も上(行方向の先頭)に位置するときには、符号化パラメータkを、予め定められた初期値に設定するものとしてもよい。
【0129】
(実験結果)
JIS X 9201:2001の規格に付属の8枚の自然画像と、JIS X 9204 2004の規格に付属の8枚の自然画像を用いて、JPEG-LS方式による画像符号化と、本実施の形態による画像符号化とにおける圧縮率と、計算時間とを比較する実験を行った。JPEG-LS方式において、RESET=16とし、本実施の形態において、行方向に1画素、列方向に16画素からなるブロックを用いた。本実施の形態において、
図9(a)、(b)に示すようにして、符号化パラメータkを利用した。実験によれば、本実施の形態の画像符号化は、JPEG-LS方式による画像符号化に比べて、平均して、1%程度圧縮率が高いことが示された。本実施の形態の画像符号化および画像復号化は、JPEG-LS方式による画像符号化および画像復号化に比べて、平均して、5%程度計算時間が短いことが示された。
【0130】
以上のように、本実施の形態によれば、画素ごとではなく、ブロックごとに符号化パラメータkを更新する処理を実行するので、計算量を少なくすることができる。
【0131】
[第2の実施形態]
(パラメータkのソース)
図12は、第2の実施形態におけるブロックを表わす図である。ブロックは、行方向(上下方向)に1画素、列方向(左右方向)に16画素からなる。画素の取得順序は、着目ブロック内において、左方向から右方向に順番に取得される。ブロックの順序は、最も上の行の左から右に移動し、その後、順次下の行に移動し、左から右へ移動することを繰り返す。
【0132】
図13は、第2の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)表わす図である。
【0133】
図13(a)に示すように、着目ブロックが列方向の最も左(列方向の先頭)に位置しないときには、ソースブロックは、1つ左のブロックになる。よって、符号化部16は、着目ブロックが列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス符号化を終了した複数の画素からなり、列方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。復号化部26は、着目ブロックが列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス復号化を終了した複数の画素からなり、列方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0134】
図13(b)に示すように、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、ソースブロックは1つ前の行の最も左に位置するブロック(すなわち、1つ上のブロック)となる。よって、符号化部16は、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、既にゴロムライス符号化を終了した複数の画素からなり、行方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。復号化部26は、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、既にゴロムライス復号化を終了した複数の画素からなり、行方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0135】
なお、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、符号化パラメータkを、予め定められた初期値に設定するものとしてもよい。
【0136】
本実施の形態は、以下のような利点がある。たとえば、実施の形態で記載された画像符号化装置および画像復号化装置をハードウェアとして実装し、カメラまたはイメージセンサから入力された画像を直接処理する場合、画素の入力順は基本的にラスタースキャンとなる。つまり、画素の入力順序は、左から右へ走査し、水平画素数分走査完了すると下の画素に移動し、また左から右へ走査、を繰り返す。つまり、本実施の形態の符号化順序および復号化順序も、ラスタースキャン順序なので、容量の大きなメモリを使用する必要がない。また例えば、実施の形態で記載された画像符号化装置および画像復号化装置をソフトウェア(プログラム)として実装する場合、1フレームの画像データは、メモリに基本的にラスタースキャン順に格納される。つまり、本実施の形態のように、ラスタースキャン順に処理すれば、連続したアドレス順に処理することができるため、実施の形態1で記載した順序よりも高速に処理できる。
【0137】
[第3の実施形態]
(パラメータkのソース)
図14は、第3の実施形態におけるブロックを表わす図である。ブロックは、行方向(上下)方向)に16画素、列方向(左右方向)に1画素からなる。画素の取得順序は、着目ブロック内において、上方向から下方向に順番に取得される。ブロックの順序は、最も上の行の左から右に移動し、その後、順次下の行に移動し、左から右へ移動することを繰り返す。
【0138】
図15は、第3の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)表わす図である。
【0139】
図15(a)に示すように、着目ブロックが列方向の最も左(列方向の先頭)に位置しないときには、ソースブロックは、1つ左のブロックになる。よって、符号化部16は、着目ブロックが列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス符号化を終了した複数の画素からなり、列方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。復号化部26は、着目ブロックが列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス復号化を終了した複数の画素からなり、列方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0140】
図15(b)に示すように、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、ソースブロックは1つ前の行の最も左に位置するブロックとなる。よって、符号化部16は、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、既にゴロムライス符号化を終了した複数の画素からなり、行方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。復号化部26は、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、既にゴロムライス復号化を終了した複数の画素からなり、行方向において、着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0141】
なお、着目ブロックが列方向の最も左(列方向の先頭)に位置するときには、符号化パラメータkを、予め定められた初期値に設定するものとしてもよい。
【0142】
[第4の実施形態]
図16は、第4の実施形態において、着目ブロックが利用する符号化パラメータkを算出したブロック(ソースブロック)を表わす図である。
【0143】
着目ブロックが行方向の最も上(行方向の先頭)に位置せず、かつ列方向の最も左(列方向の先頭)に位置しないときには、着目ブロックの1つ上のブロックにおいて算出された符号化パラメータkと、着目ブロックの1つ左のブロックにおいて算出された符号化パラメータkとの平均値が着目ブロックにおいて利用される。
【0144】
よって、符号化部16は、着目ブロックが行方向の最も上(行方向の先頭)に位置せず、かつ列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス符号化を終了した複数の画素からなり、行方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータk、および既にゴロムライス符号化を終了した複数の画素からなり、列方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkの平均値に基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0145】
復号化部26は、着目ブロックが行方向の最も上(行方向の先頭)に位置せず、かつ列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス復号化を終了した複数の画素からなり、行方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータk、および既にゴロムライス復号化を終了した複数の画素からなり、列方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkの平均値に基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0146】
符号化部16は、着目ブロックが行方向の最も上(行方向の先頭)に位置し、かつ列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス符号化を終了した複数の画素からなり、列方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0147】
復号化部26は、着目ブロックが行方向の最も上(行方向の先頭)に位置し、かつ列方向の最も左(列方向の先頭)に位置しないときには、既にゴロムライス復号化を終了した複数の画素からなり、列方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0148】
符号化部16は、着目ブロックが行方向の最も上(行方向の先頭)に位置せず、かつ列方向の最も左(列方向の先頭)に位置するときには、既にゴロムライス符号化を終了した複数の画素からなり、行方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス符号化する。
【0149】
復号化部26は、着目ブロックが行方向の最も上(行方向の先頭)に位置せず、かつ列方向の最も左(列方向の先頭)に位置するときには、既にゴロムライス復号化を終了した複数の画素からなり、行方向において着目ブロックに隣接するブロックを用いて算出された符号化パラメータkに基づいて、着目ブロック内のすべての画素について、それぞれゴロムライス復号化する。
【0150】
(画像符号化装置および画像復号化装置の内部構成)
図17は、画像符号化装置および画像復号化装置の内部構成を表わす図である。
【0151】
図17に示すように、画像符号化装置または画像復号化装置は、コンピュータによって構成されるものとしてもよい。コンピュータは、バス3300と、CPU(Central Processing Unit)3301と、ROM(Read Only Memory)3302と、RAM(Random Access Memory)3303と、HDD(Hard Disk Drive)3304と、DVD(Digital Versatile Disk)3307が接続されたDVDドライブ3306と、ネットワークI/F3309と、キーボード3310と、マウス3311と、リムーバブルメモリ3313が接続されるメモリポート3312と、ディスプレイ3308とを備える。
【0152】
キーボード3310およびマウス3311は、ユーザからの入力を受け付ける。上述の実施形態で説明した機能をコンピュータで実現するための画像符号化プログラムまたは画像復号化プログラムは、DVD3307、リムーバブルメモリ3313、ネットワークI/F3309からHDD3304に転送される。
【0153】
コンピュータ(CPU3301)が、画像符号化プログラムを実行することによって、
図1の画像符号化装置1が構成される。言い換えると、画像符号化プログラムは、コンピュータを
図1の画像符号化装置1の各構成要素(画像入力部10、画像予測部12、予測誤差生成部14、符号化部16、パラメータ設定部18、および画像走査部19)として機能させる。コンピュータ(CPU3301)が、画像復号化プログラムを実行することによって、
図10の画像復号化装置2が構成される。言い換えると、画像復号化プログラムは、コンピュータを
図10の画像復号化装置2の各構成要素(画像入力部20、復号化部26、パラメータ設定部28、画像予測部22、および画像復元部24)として機能させる。
【0154】
ROM3302は、たとえば起動プログラム等を記憶する。RAM3303は、実行中のプログラム、およびその作業データなどを記憶する。ネットワークI/F3309は、インターネット3400に接続され、Web1000上のデータを取得することができる。
【0155】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0156】
1 画像符号化装置、2 画像復号化装置、10,20 画像入力部、11 シンボル生成部、12,22 画像予測部、14 予測誤差生成部、16 符号化部、18,28 パラメータ設定部、19,29 画像走査部、24 画像復元部、26 復号化部、3300 バス、3302 ROM、3303 RAM、3306 ドライブ、3308 ディスプレイ、3310 キーボード、3311 マウス、3312 メモリポート、3313 リムーバブルメモリ、3400 インターネット、3309 ネットワークI/F。