(57)【要約】【課題】画像圧縮において、圧縮開始の第１ラインの圧縮における誤差の発生を抑制する。【解決手段】画像処理装置は、画像の先頭にある第１ラインに隣接してダミーラインを生成するとともに、前記ダミーラインを含む前記画像のデータ圧縮を行う圧縮部を備える。前記圧縮部は、前記第１ラインの上の各画素の複数のビットを、上位ビットデータと下位ビットデータの２つのビットデータに分割し、前記上位ビットデータまたは前記下位ビットデータのうちの一方のビットデータを含むデータを前記ダミーラインの上のダミー画素の圧縮データとして生成し、前記上位ビットデータまたは前記下位ビットデータのうちの他方のビットデータを含むデータを前記第１ラインの上の画素の圧縮データとして作成する。【選択図】図１０
2015173368.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
画像の先頭にある第１ラインに隣接してダミーラインを生成するとともに、前記ダミーラインを含む前記画像のデータ圧縮を行う圧縮部を備え、
前記圧縮部は、
前記第１ラインの上の各画素の複数のビットを、上位ビットデータと下位ビットデータの２つのビットデータに分割し、
前記上位ビットデータまたは前記下位ビットデータのうちの一方のビットデータを含むデータを前記ダミーラインの上のダミー画素の圧縮データとして生成し、
前記上位ビットデータまたは前記下位ビットデータのうちの他方のビットデータを含むデータを前記第１ラインの上の画素の圧縮データとして作成する、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記各画素の圧縮データは、固定長である、画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記圧縮部は、前記画像の前記ダミーライン及び前記第１ラインの画素については、所定の下位ビットを削除する第１の量子化によるデータ圧縮を実行する、画像処理装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理装置において、
前記圧縮部は、前記画像の前記第１ラインの直後の第２ライン以降の各ラインの画素については、所定の下位ビットを削除する第１の量子化、又は、圧縮対象となるラインと他のラインとの差分を求める第２の量子化によるデータ圧縮を実行する、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記第２ライン以降の各ラインの画素について、前記圧縮部は、
前記第２の量子化により圧縮できる場合には、前記第２の量子化によるデータ圧縮を行い、
前記第２の量子化により圧縮できない場合には、前記第１の量子化によるデータ圧縮を行う、
画像処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の画像処理装置において、さらに、
圧縮されたデータを解凍する解凍部を備え、
前記解凍部は、解凍時に、
前記ダミーラインの上のダミー画素の圧縮データと、前記第１ラインの上の画素の圧縮データと、を用いて前記第１ラインの上の各画素の複数のビットを復元し、
前記ダミーラインを削除する、
画像処理装置。
【請求項７】
画像処理方法であって、
画像の先頭にある第１ラインに隣接してダミーラインを生成するとともに、前記ダミーラインを含む前記画像のデータ圧縮を行う圧縮工程を備え、
前記圧縮工程は、
前記第１ラインの上の各画素の複数のビットを、上位ビットデータと下位ビットデータの２つのビットデータに分割する工程と、
前記上位ビットデータまたは前記下位ビットデータのうちの一方のビットデータを含むデータを前記ダミーラインの上のダミー画素の圧縮データとして生成する工程と、
前記上位ビットデータまたは前記下位ビットデータのうちの他方のビットデータを含むデータを前記第１ラインの上の画素の圧縮データとして作成する工程と、
を備える、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に画像の圧縮、解凍に関する。
【背景技術】
【０００２】
対象画素の各成分値から前の対象画素に基づく予測値の各成分値の各差分値をベクトル量子化して符合化する差分ベクトル量子化部と対象画素の各成分値をベクトル量子化して符号化する絶対値ベクトル量子化部と各差分値を各々の比較範囲と比較し符号選択を判定する判定部と、判定部からの出力に基づいて差分ベクトル量子化部からの出力と絶対値ベクトル量子化部からの出力とのいずれか一方を選択する符号セレクタとを有する画像を圧縮、解凍する画像処理装置が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３９７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の画像処理装置では、圧縮開始の先頭ラインは、参照画素が無いため、差分値を取ることができず、誤差が生じるおそれがあるという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００６】
（１）本発明の一形態によれば、画像処理装置が提供される。この画像処理装置は、画像の先頭にある第１ラインに隣接してダミーラインを生成するとともに、前記ダミーラインを含む前記画像のデータ圧縮を行う圧縮部を備え、前記圧縮部は、前記第１ラインの上の各画素の複数のビットを、上位ビットデータと下位ビットデータの２つのビットデータに分割し、前記上位ビットデータまたは前記下位ビットデータのうちの一方のビットデータを含むデータを前記ダミーラインの上のダミー画素の圧縮データとして生成し、前記上位ビットデータまたは前記下位ビットデータのうちの他方のビットデータを含むデータを前記第１ラインの上の画素の圧縮データとして作成する。この形態の画像処理装置によれば、第１ラインの上位ビットデータ又は下位ビットデータの一方をダミーラインの上のダミー画素の圧縮データとして生成し、他方を前記第１ラインの上の画素の圧縮データとして作成するので、誤差の発生を抑制することが可能となる。
【０００７】
（２）上記形態の画像処理装置において、前記各画素の圧縮データは、固定長であってもよい。この形態の画像処理装置によれば、各画素の圧縮データが固定長であるので、可変長に比べ、圧縮、解凍のアルゴリズムが簡単となる。
【０００８】
（３）上記形態の画像処理装置において、前記圧縮部は、前記画像の前記ダミーライン及び前記第１ラインの画素については、所定の下位ビットを削除する第１の量子化によるデータ圧縮を実行してもよい。この形態の画像処理装置によれば、他のラインのデータを参照しなくても良い。
【０００９】
（４）上記形態の画像処理装置において、前記圧縮部は、前記画像の前記第１ラインの直後の第２ライン以降の各ラインの画素については、所定の下位ビットを削除する第１の量子化、又は、圧縮対象となるラインと他のラインとの差分を求める第２の量子化によるデータ圧縮を実行してもよい。この形態の画像処理装置によれば、第２ライン以降については、単純量子化又はベクトル量子化によってデータ圧縮するので、圧縮後の画質劣化を抑制できる。
【００１０】
（５）上記形態の画像処理装置において、前記第２ライン以降の各ラインの画素について、前記圧縮部は、前記第２の量子化により圧縮できる場合には、前記第２の量子化によるデータ圧縮を行い、前記第２の量子化により圧縮できない場合には、前記第１の量子化によるデータ圧縮してもよい。この形態の画像処理装置によれば、圧縮部は、ベクトル量子化により圧縮できる場合には、ベクトル量子化によるデータ圧縮を行うので、圧縮後の画質劣化を抑制できる。
【００１１】
（６）上記形態の画像処理装置において、さらに、圧縮されたデータを解凍する解凍部を備え、前記解凍部は、解凍時に、前記ダミーラインの上のダミー画素の圧縮データと、前記第１ラインの上の画素の圧縮データと、を用いて前記第１ラインの上の各画素の複数のビットを復元し、前記ダミーラインを削除してもよい。この形態の画像処理装置によれば、圧縮前の画像を容易に復元できる。
【００１２】
（７）本発明の一形態によれば、画像処理方法が提供される。この画像処理方法は、画像の先頭にある第１ラインに隣接してダミーラインを生成するとともに、前記ダミーラインを含む前記画像のデータ圧縮を行う圧縮工程を備え、前記圧縮工程は、前記第１ラインの上の各画素の複数のビットを、上位ビットデータと下位ビットデータの２つのビットデータに分割する工程と、前記上位ビットデータまたは前記下位ビットデータのうちの一方のビットデータを含むデータを前記ダミーラインの上のダミー画素の圧縮データとして生成する工程と、前記上位ビットデータまたは前記下位ビットデータのうちの他方のビットデータを含むデータを前記第１ラインの上の画素の圧縮データとして作成する工程と、を備える。この形態の画像処理方法によれば、第１ラインの上位ビットデータ又は下位ビットデータの一方をダミーラインの上のダミー画素の圧縮データとして生成し、他方を前記第１ラインの上の画素の圧縮データとして作成するので、誤差の発生を抑制することが可能となる。
【００１３】
本発明は、種々の形態で実現することが可能であり、例えば、画像処理装置の他、画像処理方法、画像圧縮装置、画像圧縮方法等、様々な形態で実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の画像処理装置の構成を示す説明図である。
【図２】ダミーライン追加・処理部の動作を示す説明図である。
【図３】圧縮処理部の構成を示す説明図である。
【図４】スカラー量子化の一例を示す説明図である。
【図５】差分の算出からベクトル量子化までを示す説明図である。
【図６】スカラー逆量子化予測部の動作を示す説明図である。
【図７】ベクトル逆量子化予測部の動作を示す説明図である。
【図８】解凍処理部の構成を示す説明図である。
【図９】データ圧縮とスカラー量子化とベクトル量子化の誤差との関係を示す説明図である。
【図１０】１０ビットを６ビットに圧縮する場合の差分値と差分値の関係を示す説明図である。
【図１１】１０ビットを５ビットに圧縮する場合の差分値と差分値の関係を示す説明図である。
【図１２】本実施形態における圧縮フローチャートを示す説明図である。
【図１３】本実施形態における解凍フローチャートを示す説明図である
【発明を実施するための形態】
【００１５】
図１は、本実施形態の画像処理装置１０の構成を示す説明図である。画像処理装置１０は、入力部１００と、圧縮・解凍切り替え部１１０と、圧縮率設定部１２０と、圧縮部２０と、解凍部３０と、出力部１５０と、を備える。圧縮部２０は、ダミーライン追加・処理部１３０と、圧縮処理部２００とを備える。解凍部３０は、ダミーライン削除・処理部１４０と、解凍処理部３００とを備える。入力部１００には、画像データあるいは、画像が圧縮された圧縮データが入力される。圧縮・解凍切り替え部１１０は、入力されたデータ（画像データ、あるいは圧縮データ）を圧縮するか、解凍するか、を切り替える。圧縮・解凍切り替え部１１０は、データのヘッダー部のヘッダー情報から、入力されたデータが画像データであるか、あるいは圧縮データであるか、を判別し、画像データであれば圧縮し、圧縮データであれば解凍する。なお、圧縮・解凍切り替えスイッチを備え、手動で圧縮と解凍が切り替えられても良い。
【００１６】
圧縮率設定部１２０は、画像データを圧縮するときの圧縮率を設定する。圧縮率を一定にするならば、圧縮率設定部１２０は無くても良い。ダミーライン追加・処理部１３０は、画像データの１行目のデータの前にダミーライン（第０ライン）を追加するとともに、ダミーラインの上と第１ラインの上の画素のビットデータをそのまま圧縮データとする。圧縮処理部２００は、画像データを圧縮し、圧縮データを生成する。解凍処理部３００は、圧縮データを解凍し、画像データを復元する。ダミーライン削除・処理部１４０は、ダミーラインと第１ラインの圧縮データを用いて第１ラインを復元し、ダミーラインを削除する。出力部１５０は、圧縮により生成された圧縮データあるいは解凍により復元された画像データを出力する。
【００１７】
図２は、ダミーライン追加・処理部１３０の動作を示す説明図である。元の画像データは、図２（Ａ）に示すように、ｎラインのデータを備える。本実施形態では、各ラインの上には、各画素の複数のビット（本実施形態では１０ビット）のビットデータを有している。なお、各行のビット数が多い場合には、１０ビットずつの列に区切ればよい。ダミーライン追加・処理部１３０は、図２（Ｂ）に示すように、第１ラインに隣接するダミーラインを生成し、第１ラインのビットデータをダミーラインにコピーする。この段階では、第０ラインのビットデータと第１ラインのビットデータは同一である。
【００１８】
次にダミーライン追加・処理部１３０は、図２（Ｃ）に示すように、ダミーラインの上のビットデータのうちの上位から５ビットのビットデータと、第１ラインの上のビットデータのうちの下位から５ビットのビットデータを削除する。ダミーライン追加・処理部１３０は、図２（Ｄ）に示すように、ダミーラインのビットデータを左方向に５ビットシフトする。結果として、第１ラインの下位の５ビットのビットデータがダミーラインの上位５ビットのビットデータとして移動される。ダミーライン追加・処理部１３０は、ダミーラインの５ビット、第１ラインの５ビットのビットデータをそれぞれダミーライン、第１ラインの圧縮データとして用いる。なお、ダミーライン、第１ラインの圧縮データは、後述するＳ／Ｖｆｌａｇを有さなくても良い。ここで、Ｓ／Ｖｆｌａｇは、圧縮プロセスがスカラー量子化により行われたか、ベクトル量子化により行われたかを区別するためのフラグである。
【００１９】
なお、本実施形態では、第１ラインの下位の５ビットのビットデータをダミーラインの上位５ビットのビットデータとして移動させているが、第１ラインの上位の５ビットのビットデータをダミーラインの上位５ビットのビットデータとして移動させ、第１ラインの下位の５ビットのビットデータを左に５ビット移動させても良い。また、本実施形態では、ダミーラインのビットデータを左側（上位側）に移動させたが、ダミーライン及び第１ラインのビットデータを右側（下位側）に移動させても良い。また、本実施形態では、１０ビットのビットデータを５ビットずつのビットデータに分けたが、６ビットのビットデータと４ビットのビットデータ、７ビットのビットデータと３ビットのビットデータのように不均一に分けても良い。但し、ビット数の大きい方は、圧縮後の圧縮データの１行のビット数よりも小さいことが好ましい。
【００２０】
図２を用いて、ダミーライン削除・処理部１４０の動作を説明する。圧縮データが復元されて生成されるデータは、図２（Ｄ）に示すデータである。ダミーライン削除・処理部１４０は、図２（Ｃ）に示すように、ダミーラインのビットデータを右方向（下位側）に５ビットシフトする。次に、ダミーライン削除・処理部１４０は、ダミーラインのビットデータを第１ラインのビットデータに加算する。これで、第１ラインのビットデータは、圧縮前の元の第１ラインのビットデータに復元される。ダミーライン削除・処理部１４０は、ダミーラインを削除する。
【００２１】
図３は、圧縮処理部２００の構成を示す説明図である。本実施形態では、圧縮処理部２００は、第２ライン以降の各ラインのビットデータの圧縮に用いられる。圧縮処理部２００は、スカラー量子化部２１０と、差分算出部２２０と、ベクトル量子化部２３０と、スカラー・ベクトル切り替え判定部２４０と、圧縮値選択部２５０と、スカラー逆量子化予測部２６０と、ベクトル逆量子化予測部２７０と、解凍結果選択遅延出力部２８０と、を備える。スカラー量子化部２１０は、圧縮率により定められる下位ビットを削除してデータビット数を削減してスカラー量子化データを生成する。スカラー逆量子化予測部２６０は、スカラー量子化データに所定の下位ビットのビットデータを加えてデータを復元する。
【００２２】
図４は、スカラー量子化の一例を示す説明図である。ここでは、１０ビットのビットデータＤｎ[ｓ：０]を８ビットのビットデータＤｎ[ｓ：ｔ＋１]に圧縮（圧縮率８０％）する場合について説明する。ここで、Ｄｎ[ｉ]は、第ｎラインの下位からｉ番目のビットデータを意味する。また、ｎ[ｓ：０]は、下位から０番目のビットデータからｓ番目のビットデータまでの複数のビットデータを意味する。同様にＤｎ[ｓ：ｔ＋１]は、下位から（ｔ＋１）番目のビットデータからｓ番目のビットデータまでの複数のビットデータを意味する。また、「ｓ」は、（入力ビット数−１）であり、図４の例では入力ビット数は１０ビットであり、「ｓ」は９である。「ｔ」は、削減したいビット数であり、圧縮率から決められる。図４の例では圧縮率は８０％であり、１０ビットを８ビットに圧縮するため、「ｔ」の値は２である。
【００２３】
図４において、圧縮前のビットデータＤｎ[ｓ：０]は、Ｄ[０]〜Ｄ[９]までの１０ビットのビットデータである。ここで、Ｄ[０]〜Ｄ[９]の値は、０か、１のいずれかである。スカラー量子化部２１０は、下位３ビットのビットデータＤ[０]〜Ｄ[２]を削除して７ビットのビットデータＤｎ[ｓ：ｔ＋１]を生成する。ここで下位３ビットの３は、削減したいビット数ｔに１を加えた値である。１を加える理由は、後のプロセスで、圧縮プロセスが、スカラー量子化なのか、後述するベクトル量子化なのかを区別するためのフラグＳ／Ｖｆｌａｇが追加されて、圧縮データの大きさが１ビット大きくなる。そのため、スカラー量子化部２１０は、その１ビット分だけ多くデータを削除するために、削減したいビット数ｔに１を加えた（ｔ＋１）ビットのビットデータを削除する。
【００２４】
次に、スカラー量子化部２１０は、残りの７ビットのビットデータＤｎ[ｓ：ｔ＋１]を右に（下位側に）３ビットシフトする。これにより７ビットのスカラー量子化データが生成される。スカラー量子化は、単純に下位ビットのビットデータを削除するので、単純量子化とも呼ぶ。なお、請求項では、本実施形態のスカラー量子化を、第１の量子化と呼んでいる。
【００２５】
差分算出部２２０は、圧縮するラインのビットデータＤｎ[ｓ：０]と、その前のラインのビットデータＤｎ−１[ｓ：０]との差分データＳｎ[ｓ＋１：０]を生成する。ここで、その前のラインのビットデータＤｎ−１[ｓ：０]は、１ライン前のスカラー逆量子化予測値またはベクトル逆量子化予測値のいずれかである。スカラー逆量子化予測値、ベクトル逆量子化予測値については、後述する。差分データＳｎ[ｓ＋１：０]は、圧縮するラインのビットデータＤｎ[ｓ：０]と、その前のラインのビットデータＤｎ−１[ｓ：０]とで、どちらが大きいかにより値が正になったり負になったりするので、符号ビット（Ｓｉｇｎ  ｂｉｔ）が付加される。そのため、元のビットデータＤｎ[ｓ：０]よりも１ビットだけ大きくなる。
【００２６】
ベクトル量子化部２３０は、差分データＳｎ[ｓ＋１：０]からＳｉｇｎ  ｂｉｔを除いた上位（ｔ＋２）ビットを削除してベクトル量子化データＶｎ[ｓ−ｔ−１：０]を算出する。ｔビットではなく（ｔ＋２）ビットを削除する理由は、ベクトル量子化データでは、Ｓｉｇｎ  ｂｉｔ１ビットを含んでいること及び後のプロセスで、圧縮プロセスが、スカラー量子化なのか、後述するベクトル量子化なのかを区別するためのフラグＳ／Ｖｆｌａｇが追加されて、圧縮データの大きさが１ビット大きくなる。そのため、削減したいビット数よりもさらにその２ビット分だけデータを削除するためである。
【００２７】
図５は、差分の算出からベクトル量子化までを示す説明図である。図４で説明したスカラー量子化と同様に１０ビットのデータを８ビットに圧縮する場合について説明する。図３の差分算出部２２０は、圧縮するラインのビットデータＤｎ[０]〜Ｄｎ[９]と、その前のラインのビットデータＤｎ−１[０]〜Ｄｎ−１[９]との差分データＳｎ[０]〜Ｓｎ[１０]の１１ビットのビットデータを生成する。最上位のＳｎ[１０]は、Ｓｉｇｎ  ｂｉｔである。次に、ベクトル量子化部２３０は、差分データのＳｉｇｎ  ｂｉｔを除いた上位４ビットのビットデータＳ［６］〜Ｓ［９］を削除して、ベクトル量子化データＶｎ［ｓ−ｔ−１：０］（Ｖｎ[０]〜Ｖｎ[５]、Ｖｎ[６]）を生成する。Ｖｎ[６]は、Ｓｉｇｎ  ｂｉｔであり、Ｓｎ[１０]の値と同じ値である。ベクトル量子化は、差分値を用いているので、差分量子化とも呼ぶ。なお、請求項では、本実施形態のベクトル量子化を、第２の量子化と呼んでいる。
【００２８】
なお、スカラー量子化データの大きさ（ビット長）と、ベクトル量子化データの大きさ（ビット長）、すなわち圧縮データは、固定長であることが好ましい。また、この固定長は、ダミーライン、第１ラインの圧縮データの大きさと同じであることが好ましい。固定長とすると、可変長と比較して圧縮、解凍のアルゴリズムが簡単となる。また、可変長の大きさを示すパラメーターが不要となる。
【００２９】
スカラー・ベクトル切り替え判定部２４０は、圧縮を行うときに、スカラー量子化を行うか、ベクトル量子化を行うかを判定する。スカラー量子化では、下位ビットを削除する。そのため、例えば、図４に示したように下位３ビットを削除する場合、復元時に−３〜４の誤差が生じる。一方、ベクトル量子化では、図５に示したように上位４ビットを削除する。したがって、差分値Ｓｎ[１１：０]が−６４〜＋６３の場合、ベクトル量子化で表現出来る数（Ｖｎ[６：０]）の範囲内であり、真値を正確に復元できる。しかし、差分値Ｓｎ[１１：０]が、−６４より小さい場合、あるいは、＋６３よりも大きい場合には、誤差が大きくなる。したがって、スカラー・ベクトル切り替え判定部２４０は、差分Ｓｎ[１１：０]の値が、圧縮率により定まる所定の範囲内に収まる場合には、ベクトル量子化を選択し、収まらない場合には、スカラー量子化を選択する。なお、圧縮率が大きくなると、ベクトル量子化で使用できるデータのビット数が少なくなるので、圧縮率が大きい場合には、さらに、第３の量子化を行うことが好ましい。この第３の量子化については、後述する。圧縮値選択部２５０は、スカラー・ベクトル切り替え判定部２４０の判定に基づいて、圧縮値を選択する。そして、最上位ビットに、Ｓ／Ｖｆｌａｇを付加する。
【００３０】
図３のスカラー逆量子化予測部２６０は、圧縮前のデータを用いて、スカラー圧縮されたデータが解凍されて生成されるデータを予測する。図６は、スカラー逆量子化予測部２６０の動作を示す説明図である。ここではｔが２であるとして説明する。まず、スカラー逆量子化予測部２６０は、Ｄ[０]〜Ｄ[９]までの１０ビットのビットデータ（Ｄｎ[ｓ：０]）から下位３ビットのビットデータＤ[０]〜Ｄ[２]を０にして、Ｄｎ[ｓ：ｔ＋１]＊２＾（ｔ＋１）を生成する。ここで、記号＾はべき乗を意味する。さらに、スカラー逆量子化予測部２６０は２＾（ｔ）を加えてスカラー逆量子化予測値（Ｄｎ[ｓ：ｔ＋１]＊２＾（ｔ＋１）＋２＾（ｔ））を算出する。ｔの値が２の時は、２＾（ｔ）の値は２＾２＝２２＝４＝（１００）である。また、真値Ｄｎ[ｓ：０]と、スカラー逆量子化予測値（Ｄｎ[ｓ：ｔ＋１]＊２＾（ｔ＋１）＋２＾（ｔ））との誤差は、真値の下位３ビットのビットデータが［０００］のとき＋４であり、真値の下位３ビットのビットデータが［１１１］のとき−３である。すなわち、誤差の範囲は−３〜＋４の間である。
【００３１】
ベクトル逆量子化予測部２７０は、差分圧縮されたデータが解凍されて生成されるデータを予測する。図７は、ベクトル逆量子化予測部２７０の動作を示す説明図である。ベクトル逆量子化予測部２７０は、１ライン前の解凍結果であるデータＤｎ−１’[ｓ：０]に、解凍対象ラインのベクトル量子化データＶｎ[ｓ−ｔ−１：０]を加算して、解凍対象ラインの解凍後のベクトル逆量子化予測値を算出する。ベクトル逆量子化予測部２７０は、ベクトル量子化データＶｎ[ｓ−ｔ−１：０]として、ベクトル量子化部２３０の出力を用いることができる。１ライン前の解凍結果であるデータＤｎ−１’[ｓ：０]は、次に説明する解凍結果選択遅延出力部２８０の１ライン前の出力である。
【００３２】
解凍結果選択遅延出力部２８０は、スカラー・ベクトル切り替え判定部２４０の判定に基づき、スカラー逆量子化予測部２６０の出力であるスカラー逆量子化予測値を解凍対象ラインの解凍データとして用いるか、あるいは、ベクトル逆量子化予測部２７０の出力であるベクトル逆量子化予測値を解凍対象ラインの解凍データとして用いるかを判断する。なお、前ラインが存在しない場合には、解凍結果選択遅延出力部２８０は、スカラー逆量子化予測部２６０の出力であるスカラー逆量子化予測値を解凍対象ラインの解凍データとして用いる。
【００３３】
図８は、解凍処理部３００の構成を示す説明図である。解凍処理部３００は、スカラー・ベクトル切り替え判定部３１０と、スカラー逆量子化部３２０と、ベクトル逆量子化部３３０と、解凍結果出力部３４０と、１ライン遅延出力部３５０と、を備える。スカラー・ベクトル切り替え判定部３１０は、解凍対象ラインに対して、スカラー逆量子化を行うか、ベクトル逆量子化を行うかを判定する。圧縮データの各ラインの最上位ビットは、Ｓ／Ｖｆｌａｇである。スカラー・ベクトル切り替え判定部３１０は、この最上位ビットのＳ／Ｖｆｌａｇの値から、解凍対象ラインに対して、スカラー逆量子化を行うか、ベクトル逆量子化を行うかを判定する。
【００３４】
スカラー逆量子化部３２０は、圧縮されたデータであるビットデータＣｎ[ｓ−ｔ：０]の最上位ビット（Ｓ／Ｖｆｌａｇ）を削除してビットデータＣｎ[ｓ−ｔ−１：０]を生成し、さらに左方に所定のビット数ｔ＋１だけシフトして２＾（ｔ）を加えて、解凍後のデータを復元する。したがって、上述した図４のスカラー逆量子化予測部２６０とほぼ同一の動作である。スカラー逆量子化予測部２６０では、非圧縮のビットデータＤｎ[ｓ：０]が入力され、下位ｔ＋１ビットが削除されてＤｎ[ｓ：ｔ]が生成されるのに対し、スカラー逆量子化部３２０には、圧縮されたデータであるビットデータＣｎ[ｓ−ｔ：０]が入力される点が相違するだけである。なお、ビットデータＤｎ[ｓ：ｔ]と、ビットデータＣｎ[ｓ−ｔ：０]とは同じ値となる。したがって、スカラー逆量子化部３２０は、下位（ｔ＋１）ビットを削除する構成を除けば、スカラー逆量子化予測部２６０と同一の構成を採用できる。また、圧縮と解凍は同時には行われないので、スカラー逆量子化部３２０とスカラー逆量子化予測部２６０とで、回路の一部共通化が可能である。
【００３５】
ベクトル逆量子化部３３０は、圧縮されたデータであるビットデータＣｎ[ｓ−ｔ：０]の最上位ビット（Ｓ／Ｖｆｌａｇ）を削除してビットデータＣｎ[ｓ−ｔ−１：０]を生成し、ビットデータＣｎ[ｓ−ｔ−１：０]と、前ラインの解凍データのビットデータＤｎ−１’［ｓ：０］とを加算して、解凍後のデータを復元する。したがって、上述した図４のベクトル逆量子化予測部２７０とほぼ同一の動作であり、ベクトル逆量子化予測部２７０と同様の構成を採用できる。また、圧縮と解凍は同時には行われないので、ベクトル逆量子化部３３０とベクトル逆量子化予測部２７０とで、回路の共通化が可能である。
【００３６】
解凍結果出力部３４０は、スカラー・ベクトル切り替え判定部２４０の判定に基づき、スカラー逆量子化部３２０の出力を解凍対象ラインの解凍データとして用いるか、あるいは、ベクトル逆量子化部３３０の出力を解凍対象ラインの解凍データとして用いるかを判断する。１ライン遅延出力部３５０は、解凍ラインの前のラインの解凍結果を出力する。したがって、解凍結果出力部３４０と１ライン遅延出力部３５０は、合わせて、上述した図３の解凍結果選択遅延出力部２８０と同一の動作を実行する。解凍結果出力部３４０と１ライン遅延出力部３５０は、解凍結果選択遅延出力部２８０と同一の構成を採用できる。また、圧縮と解凍は同時には行われないので、解凍結果出力部３４０、１ライン遅延出力部３５０と、解凍結果選択遅延出力部２８０とで、回路の共通化が可能である。
【００３７】
図９は、データ圧縮と、スカラー量子化とベクトル量子化の誤差との関係を示す説明図である。ここでは、１０ビットのデータを５〜９ビットに圧縮する場合を示している。例えば、１０ビットから９ビットに圧縮する場合、スカラー量子化の場合、データの大きさは２ビット削減されるため、誤差は−１〜＋２である。ベクトル量子化の場合、前ラインのデータとの差分が、−１２８〜＋１２７の場合、誤差が発生しない。したがって、前ラインのデータとの差分が、−１２８〜＋１２７の場合、ベクトル量子化を実行することが好ましく、前ラインのデータとの差分が−１２８より小さい場合、あるいは、＋１２７よりも大きい場合、スカラー量子化を実行することが好ましい。表から分かるように、圧縮ビット数（削減されるビット数）が大きくなるにしたがって、スカラー量子化の誤差が大きくなり、ベクトル量子化において誤差の発生しない数（「ベクトル表現可能数」とも呼ぶ）の範囲が狭くなる。
【００３８】
図９において、１０ビットを６ビットに圧縮する場合、ベクトル表現可能数として、誤差の無い範囲−１６〜＋１５ではなく、−３１〜＋３１の値が記載され、１０ビットを５ビットに圧縮する場合、ベクトル表現可能数として、誤差の無い範囲−８〜＋７ではなく、−４７〜＋４７の値が記載されている。これは、１つの差分値について、複数の差分値を対応づける第３の量子化による。なお、第３の量子化は、差分値を用いることから、第２の量子化の変形であり、第２の量子化と呼ぶ場合には、第３の量子化も含まれてもよい。
【００３９】
図１０は、１０ビットを６ビットに圧縮する場合の差分値と、差分値の関係を示す説明図である。差分値が−７〜７までの範囲では、差分値とベクトルコードが一致する。ベクトルコードとは、圧縮データに含まれるベクトル量子化データの値である。すなわち、第３の量子化が行われる場合、圧縮データには、差分値の下位ビットがそのまま格納されるのではなく、差分値に対応するベクトルコードが格納される。差分値とベクトルコードが一致する場合、解凍値は差分値と同じ値であり、誤差は生じない。解凍値は、ベクトルコードに関連づけられている値であり、ベクトルコードが決まれば一意に定まる。なお、差分値とベクトルコードと解凍値は、予め作成されてメモリーに格納されている。
【００４０】
差分値が、−８〜−１５まで、あるいは、８〜１５までの間は、２個の差分値について、１つのベクトルコードが対応づけられる。例えば、差分値が、−８あるいは−９のときは、ベクトルコードは、−８である。ベクトルコードが−８のときの解凍値は−８であり、差分値が−８の時は、解凍値−８と同じ値であり誤差は生じないが、差分値が−９の時は、解凍値−８と、−１の誤差が生じる。
【００４１】
差分値が、−１６〜−３１まで、あるいは、１６〜３１までの間は、４個の差分値について、１つのベクトルコードが対応づけられる。例えば、差分値が、−２８〜−３１のときは、ベクトルコードは、−１５である。ベクトルコードが−１５のときの解凍値は−３０であり、差分値が−３０の時は、差分値と解凍値−３０とは、同じ値であり誤差は生じないが、差分値が−２８の時は、解凍値−３０と、＋２の誤差が生じる。ただし、これらの誤差は、スカラー量子化により生じ得る誤差−１５〜＋１６よりも小さい。
【００４２】
図１１は、１０ビットを５ビットに圧縮する場合の差分値と、差分値の関係を示す説明図である。差分値が−３〜３までの範囲では、差分値とベクトルコードが一致する。差分値が、−４〜−７まで、あるいは、４〜７までの間は、４個の差分値について、１つのベクトルコードが対応づけられる。このときの誤差は、同様にして求めると、それぞれ−１〜＋２あるいは、−２〜＋１である。差分値が、−８〜−１５まで、あるいは、８〜１５までの間は、８個の差分値について、１つのベクトルコードが対応づけられる。このときの誤差を同様にして求めると、それぞれ−３〜＋４あるいは、−４〜＋３である。差分値が、−１６〜−４７まで、あるいは、１６〜４７までの間は、１６個の差分値について、１つのベクトルコードが対応づけられる。このときの誤差を同様にして求めると、それぞれ−７〜＋８あるいは、−８〜＋７である。同様に、これらの誤差は、スカラー量子化により生じ得る誤差−３１〜＋３２よりも小さい。
【００４３】
このように、圧縮率が大きい場合、ベクトル表現可能な数の範囲が狭くなり、スカラー量子化を行わなければならなかったが、本実施形態では、複数の差分値に対して１つのベクトルコードを割り当てることにより、ベクトル量子化を実行でき、誤差を低減できる。
【００４４】
図１２は、本実施形態における圧縮フローチャートを示す説明図である。ステップＳ１００では、ダミーライン追加・処理部１３０は、ダミーラインを生成する。ステップＳ１１０では、ダミーライン追加・処理部１３０は、ダミーラインと第１ラインの圧縮データを生成する圧縮工程を実行する。ダミーラインと第１ラインは、いずれも５ビットのビットデータであるので、ダミーライン追加・処理部１３０は、この５ビットのビットデータをそのまま圧縮データとして使用できる。また、ダミーライン、第１ラインについては、Ｓ／Ｖｆｌａｇを付加しなくても良い。すなわち、Ｓ／Ｖｆｌａｇを付加する１ビット分をデータから削除しなくても良いので誤差を抑制できる。
【００４５】
ステップＳ１２０では、第１ラインの直後の第２ライン以降のデータを圧縮する。第２ライン以降については、圧縮プロセスをスカラー圧縮とするか、差分圧縮とするかは、前ラインのデータとの差分値に依存するので、スカラー量子化データと、ベクトル量子化データの両方を算出してもよい。ステップＳ１３０では、スカラー・ベクトル切り替え判定部２４０は、差分値から、圧縮プロセスをスカラー圧縮とするか、差分圧縮とするかを判定する。なお、第２ラインのベクトル量子化及ぶ圧縮プロセス判断においては、第２ラインのデータと、ダミーラインを形成する前の第１ラインのデータと、の差分を用いても良い。第１ラインのデータを５ビットとするよりも差分値が小さくなる可能性が高く、所定の範囲内であれば、誤差が存在しないベクトル量子化を選択できる。圧縮値選択部２５０は、スカラー・ベクトル切り替え判定部２４０の判定に基づいて、スカラー量子化データと、ベクトル量子化データのいずれかを選択する。ステップＳ１４０では、最後のライン（第ｎライン）か否かが判断される。最後のラインの場合には、圧縮処理が終了される。処理がステップＳ１２０に移行する。
【００４６】
図１３は、本実施形態における解凍フローチャートを示す説明図である。ステップＳ２１０では、ダミーラインと第１ラインから第１ラインのデータが復元される。ダミーライン削除・処理部１４０は、ダミーラインのビットデータを右方向（下位側）に５ビットシフトする。次に、ダミーライン削除・処理部１４０は、ダミーラインのビットデータを第１ラインのビットデータに加算する。これで、第１ラインのビットデータは、圧縮前の元の第１ラインのビットデータに復元される。ステップＳ２２０では、ダミーライン削除・処理部１４０は、ダミーラインを削除する。ステップＳ２３０では、解凍処理部３００は、第２ライン以降の各ラインの圧縮データを解凍する。ステップＳ２４０では、解凍処理部３００は、最後のラインまで解凍処理したかを判断し、最後のラインまで解凍処理していれば処理を終了し、最後のラインまで解凍処理していなければ、処理をステップＳ２３０に移行する。
【００４７】
以上、本実施形態によれば、第１ラインの上の各画素の複数のビット（１０ビット）を、上位ビットデータと下位ビットデータの２つのビットデータに分割し、上位ビットデータまたは下位ビットデータのうちの一方のビットデータをそのまま含むデータをダミーラインの上のダミー画素の圧縮データとして生成し、他方のビットデータをそのまま含むデータを第１ラインの上の画素の圧縮データとして作成するので、第１ラインにおいて誤差の発生を抑制することが可能となる。
【００４８】
上記実施形態によれば、差分値から、ベクトル量子化（差分量子化）により圧縮できる場合には、ベクトル量子化（差分量子化）によるデータ圧縮を行い、ベクトル量子化（差分量子化）により圧縮できない場合には、スカラー量子化（単純量子化）によるデータ圧縮を行うので、誤差の少ない圧縮が可能となる。
【００４９】
上記実施形態では、画像処理装置として構成したが、画像の先頭にある第１ラインに隣接してダミーラインを生成する機能と、ダミーラインを含む画像のデータ圧縮を行う機能とをコンピューターに実現させ、データ圧縮する機能は、第１ラインの上の各画素の複数のビットを、上位ビットデータと下位ビットデータの２つのビットデータに分割する機能と、上位ビットデータまたは下位ビットデータのうちの一方のビットデータをそのまま含むデータをダミーラインの上のダミー画素の圧縮データとして生成する機能と、他方のビットデータをそのまま含むデータを前記第１ラインの上の画素の圧縮データとして作成する機能を含む画像処理プログラムとしてもよい。
【００５０】
以上、いくつかの実施例に基づいて本発明の実施の形態について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
【符号の説明】
【００５１】
１０…画像処理装置    ２０…圧縮部    ３０…解凍部    １００…入力部    １１０…圧縮・解凍切り替え部    １２０…圧縮率設定部    １３０…ダミーライン追加・処理部    １４０…ダミーライン追加・処理部    １５０…出力部    ２００…圧縮処理部    ２１０…スカラー量子化部    ２２０…差分算出部    ２３０…ベクトル量子化部    ２４０…判定部    ２５０…圧縮値選択部    ２６０…スカラー逆量子化予測部    ２７０…ベクトル逆量子化予測部    ２８０…解凍結果選択遅延出力部    ３００…解凍処理部    ３１０…判定部    ３２０…スカラー逆量子化部    ３３０…ベクトル逆量子化部    ３４０…解凍結果出力部
【図１】
2015173368.tif 000003
【図２】
2015173368.tif 000004
【図３】
2015173368.tif 000005
【図４】
2015173368.tif 000006
【図５】
2015173368.tif 000007
【図６】
2015173368.tif 000008
【図７】
2015173368.tif 000009
【図８】
2015173368.tif 000010
【図９】
2015173368.tif 000011
【図１０】
2015173368.tif 000012
【図１１】
2015173368.tif 000013
【図１２】
2015173368.tif 000014
【図１３】
2015173368.tif 000015