(57)【特許請求の範囲】
【請求項１】
走査順に整列された複数の画素の画素データを含む画像データを圧縮して符号化処理を行う画像符号化装置であって、
符号化処理の対象画素データと所定方法で算定された予測データとに基づいて、前記対象画素データの圧縮モードをＤＰＣＭかＰＣＭのどちらにするかを決定する圧縮モード決定手段と、
前記圧縮モード決定手段によって圧縮モードがＤＰＣＭと決定された場合に、前記対象画素データと前記予測データの差分値を予め定められたＤＰＣＭ符号長のＤＰＣＭ符号データに圧縮するＤＰＣＭ圧縮手段と、
前記圧縮モード決定手段によって圧縮モードがＰＣＭと決定された場合に、前記対象画素データを指定されたＰＣＭ符号長のＰＣＭ符号データに圧縮するＰＣＭ圧縮手段と、
前記複数の画素のうちの所定の画素群単位で、符号化後の符号長の合計値が許容値以下となるように、前記対象画素データ毎に前記ＰＣＭ符号長を算定して前記ＰＣＭ圧縮手段に送出するＰＣＭ符号長決定手段と、
圧縮モードに応じて、当該圧縮モードがＤＰＣＭかＰＣＭかを示すタグを、前記ＤＰＣＭ圧縮手段から出力された前記ＤＰＣＭ符号データ、又は前記ＰＣＭ圧縮手段から出力された前記ＰＣＭ符号データに付して出力用符号データを作成し出力するタグ・符号出力手段と、を備えていることを特徴とする画像符号化装置。
【請求項２】
前記ＰＣＭ符号長決定手段は、前記所定の画素群を構成する画素数及び前記許容値に関する情報を含む初期設定データと、前記所定の画素群を構成する画素のうち既に画素データの符号化処理が完了した処理済画素数及び当該処理済画素の符号化後の符号長の合計である処理済符号長総数に関する情報を含む進捗データに基づいて、前記所定の画素群を構成する画素数のうち処理時点における未処理画素数と作成可能符号長総数を導出し、前記未処理画素数の各画素データを同一の符号長で符号化しても前記作成可能符号長総数を超えない最大の符号長をもって、前記ＰＣＭ符号長として決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記所定の画素群は、前記画像データのうちの１ラインを構成する複数の画素であり、
前記許容値とは、ラインメモリの最大値であることを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記所定の画素群は、前記画像データのうちの１フレームを構成する複数の画素であり、
前記許容値とは、フレームメモリの最大値であることを特徴とする請求項２に記載の画像符号化装置。
【請求項５】
前記ＰＣＭ符号長決定手段は、外部より前記ＰＣＭ符号長が指定可能に構成されており、指定された場合には当該指定された前記ＰＣＭ符号長を前記ＰＣＭ圧縮手段に出力する構成であることを特徴とする請求項１〜４の何れか１項に記載の画像符号化装置。
【請求項６】
前記タグ・符号出力手段が、２画素以上の所定の画素数毎に、各画素の画素データに対応する前記タグのみを先頭に移動させると共に、引き続いてその下位のビットに前記各画素の画素データの前記ＤＰＣＭ符号データ又は前記ＰＣＭ各符号データを連続させることで前記出力用符号データを作成し出力することを特徴とする請求項１〜５の何れか１項に記載の画像符号化装置。
【請求項７】
前記初期設定データが、前記所定の画素群を構成する画素数に関する情報、前記許容値に関する情報、１画素当たりの色数に関する情報を含む構成であり、
外部より入力された前記初期設定データを格納する初期設定データ格納部を備えていることを特徴とする請求項２〜６の何れか１項に記載の画像符号化装置。
【請求項８】
前記ＰＣＭ符号長決定手段は、前記初期設定データに含まれる各情報である前記所定の画素群を構成する画素数をＡ，前記許容値をＭ，前記色数をＣとし、前記進捗データに含まれる各情報である前記処理済画素数をＺｒ，前記処理済符号長総数をＺｍとすると、下記式
（１＋Ｘ・Ｃ）・（Ａ−Ｚｒ）≦（Ｍ−Ｚｍ）
を満たす最大の整数Ｘをもって前記ＰＣＭ符号長と決定することを特徴とする請求項７に記載の画像符号化装置。
【請求項９】
前記ＰＣＭ符号長決定手段は、前記初期設定データに含まれる各情報である前記所定の画素群を構成する画素数をＡ，前記許容値をＭ，前記色数をＣ，前記タグの符号長をＴとし、前記進捗データに含まれる各情報である前記処理済画素数をＺｒ，前記処理済符号長総数をＺｍとすると、下記式
（Ｔ＋Ｘ・Ｃ）・（Ａ−Ｚｒ）≦（Ｍ−Ｚｍ）
を満たす最大の整数Ｘをもって前記ＰＣＭ符号長と決定することを特徴とする請求項７に記載の画像符号化装置。
【請求項１０】
前記ＰＣＭ符号長決定手段は、前記進捗データに含まれる前記処理済画素数に関する情報に基づき、前記対象画素データの画素が前記所定の画素群において先頭画素から数えて偶数番目に該当する場合であって、更に直前の画素データの圧縮モードがＰＣＭである場合には、当該直前の画素データの前記ＰＣＭ符号長と同一の値をもって当該対象画素データの前記ＰＣＭ符号長と決定することを特徴とする請求項２〜９の何れか１項に記載の画像符号化装置。
【請求項１１】
前記圧縮モード決定手段は、前記差分値をｄｉｆｆ、前記ＤＰＣＭ符号長をＸｄとしたときに、下記式
−２（Ｘｄ−１）≦ｄｉｆｆ＜２（Ｘｄ−１）
が成立すれば圧縮モードをＤＰＣＭとし、成立しなければＰＣＭとすることを特徴とする請求項１〜１０の何れか１項に記載の画像符号化装置。
【請求項１２】
走査順に整列された複数の画素の画素データを含む画像データを圧縮して符号化処理を行う画像符号化方法であって、
符号化処理の対象画素の画素データである対象画素データと所定方法で算定された予測データとに基づいて、前記対象画素データの圧縮モードをＤＰＣＭかＰＣＭのどちらにするかを決定する圧縮モード決定ステップと、
前記圧縮モード決定ステップにおいて決定された圧縮モードに応じてＤＰＣＭかＰＣＭのどちらかの圧縮モードに基づいて圧縮処理を行う圧縮ステップと、
前記圧縮ステップで生成されたデータに、当該圧縮モードがＤＰＣＭかＰＣＭかを示すタグを付して出力符号データを作成して出力するタグ付き符号化データ生成ステップと、を有し、
前記圧縮ステップは、前記圧縮モード決定ステップにおいて圧縮モードがＤＰＣＭと決定された場合には、前記対象画素データと前記予測データの差分値を予め定められたＤＰＣＭ符号長のＤＰＣＭ符号データに圧縮する処理を行い、圧縮モードがＰＣＭと決定された場合には、ＰＣＭ符号長決定ステップで決定されたＰＣＭ符号長のＰＣＭ符号データに圧縮する処理を行うステップであり、
前記ＰＣＭ符号長決定ステップは、前記複数の画素のうちの所定の画素群単位で、符号化後の符号長の合計値が許容値以下となるように、前記対象画素データ毎に前記ＰＣＭ符号長を算定するステップであることを特徴とする画像符号化方法。
【請求項１３】
前記ＰＣＭ符号長決定ステップは、前記所定の画素群を構成する画素数及び前記許容値に関する情報を含む初期設定データと、前記所定の画素群を構成する画素のうち既に画素データの符号化処理が完了した処理済画素数及び当該処理済画素の符号化後の符号長の合計である処理済符号長総数に関する情報を含む進捗データに基づいて、前記所定の画素群を構成する画素数のうち処理時点における未処理画素数と作成可能符号長総数を導出し、前記未処理画素数の各画素データを同一の符号長で符号化しても前記作成可能符号長総数を超えない最大の符号長をもって、前記ＰＣＭ符号長として決定するステップであることを特徴とする請求項１２に記載の画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置に関し、特に、画像メモリやバスのインタフェースに組み込んで画像メモリ容量やアクセスバンド幅を削減するために適した画像符号化装置、画像符号化方法に関する。
【背景技術】
【０００２】
近年の急速な半導体技術の発展や画像データの高精細化にともなって、デバイスやシステムが処理すべき画像データ量は爆発的に増加の一途をたどっている。一方で、画像処理を行うに際しては、多くの場合、処理途中の中間画像データを一時的に保持する必要がある。
【０００３】
画像処理装置では、一般的にメモリインタフェースやバスを通じて内部バッファや外部メモリに画像データを格納する。しかし、例えば、毎秒６０枚送信される１画素当たり３０ｂｉｔのフル・ハイビジョン画像を１画面当たり３画面分の中間画像データをメモリに保持しつつ処理する場合には、1920 (pixel) × 1080 (pixel) × 60 (枚) × 30 (bit) × 3 (画面) × 2 （回数（read・write））= 約 22.4 Ｇbit／秒のデータ転送能力と1920 (pixel) × 1080 (pixel) × 30 (bit) × 3 (画面) = 約 186 Ｍbitsのメモリ容量が必要になり、現実的な回路での実現が困難になりつつある。そのため、メモリに格納するデータ量の削減が非常に重要となっている。
【０００４】
データ量を削減する方法の一つとして、画像データに対して符号化処理を行う方法がある。このような符号化の方法として、従来、ＰＣＭ（Pulse Code Modulation：パルス符号変調）とＤＰＣＭ（Differential Pulse Code Modulation：差分パルス符号変調）がある。
【０００５】
ＰＣＭは、信号を一定時間ごとに標本化し、定められたビット数の整数値に量子化する手法であり、本来はアナログ信号をデジタル信号に変換する方法であるが、デジタルデータを圧縮するためにも適用できる。また、ＤＰＣＭは標本化された値をそのまま符号化するのではなく、予測画像の信号値との差分を符号化する予測符号化手法である。また、局所的な画像の複雑度などの情報を用いて量子化ステップを適応的に変化させる適応ＤＰＣＭ（ADPCM, Adaptive DPCM）手法がＤＰＣＭ手法の改良として提案されている。
【０００６】
その他にも、さまざまな画像圧縮技術が提案されている。例えば、ハフマン符号化などの可変長符号化方法は特に可逆変換としてさまざまな圧縮手法の一部に取り入れられており、ＤＣＴ（Discrete Cosine Transform：離散コサイン変換）に代表される直交変換などを用いた複雑な処理技術はＪＰＥＧやＭＰＥＧなど高圧縮率を目標とした画像圧縮アルゴリズム中に取り入れられている。
【０００７】
フレームメモリ向けの画像圧縮では、視覚的に高画質な画像の確保と、高い圧縮率でリアルタイムに圧縮或いは伸張処理を行うことが要求される。このような要求を満たすべく、本出願人は、ピクセル毎の固定長圧縮方式として、隣接画素との差分値によりＰＣＭとＤＰＣＭとを切り替えて符号化処理を行う符号化方法を開発した（下記特許文献１参照）。
【０００８】
この技術では、人間の目で視覚的に感度が低い箇所、すなわち隣接画素との差分の大きな箇所については誤差を大きくし、視覚的に感度が高い箇所、すなわち隣接画素との差分の小さい箇所については誤差を小さくすることで、高画質の画像圧縮を実現している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−４５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
近年、取り扱う画像サイズが大きくなってきており、圧縮率を高くする必要性が更に高まっている。しかし、上記特許文献１に記載のようなピクセル毎の固定長圧縮では、ある程度以上圧縮率を高めることが困難である。
【００１１】
形式的には、短い固定長で符号化することで、圧縮率を高めることは可能である。しかし、特にＰＣＭのように元のデータに対する符号化を行う圧縮方法による場合、固定長を短くすることは多くの桁落ちを招くことを意味する。この場合、復号化した時に得られる画像の精度が劣化してしまう。つまり、復元画像の画質をある程度維持するためには、符号化後の固定長はある程度の長さを確保する必要があり、このことが、圧縮率をある程度以上高めることのできない理由となる。
【００１２】
この問題を端的に解決するには、固定長という符号化制約を外すことが考えられる。しかし、単に符号の長さを可変とした場合には、連続して生成される符号と符号の切れ目を復号化側が前もって知ることができない。符号と符号の間に切れ目を意味する特別な符号を挿入していたとしても、この特別な符号を認識した上で復号化が行われる構成であるため、符号化装置は、ストリーム状に送られている符号化列に対し、特別な符号を確認するまで復号化処理を開始することができない。すなわち、リアルタイムに復号化を行うことができず、復号化処理に時間を要してしまう。また、原理的に逐次復号化を行わねばならないため、並列処理が困難となり、この点も復号化に時間を要する原因となる。
【００１３】
本発明は、上記の問題点に鑑みてなされたものであり、高い圧縮率での符号化と、短い処理時間での復号化による高画質な画像復元を両立することのできる画像符号化装置及び画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決すべくなされた本発明の画像符号化装置は、走査順に整列された複数の画素の画素データを含む画像データを圧縮して符号化処理を行う構成であって、
符号化処理の対象画素データと所定方法で算定された予測データとに基づいて、前記対象画素データの圧縮モードをＤＰＣＭかＰＣＭのどちらにするかを決定する圧縮モード決定手段と、
前記圧縮モード決定手段によって圧縮モードがＤＰＣＭと決定された場合に、前記対象画素データと前記予測データの差分値を予め定められたＤＰＣＭ符号長のＤＰＣＭ符号データに圧縮するＤＰＣＭ圧縮手段と、
前記圧縮モード決定手段によって圧縮モードがＰＣＭと決定された場合に、前記対象画素データを指定されたＰＣＭ符号長のＰＣＭ符号データに圧縮するＰＣＭ圧縮手段と、
前記複数の画素のうちの所定の画素群単位で、符号化後の符号長の合計値が許容値以下となるように、前記対象画素データ毎に前記ＰＣＭ符号長を算定して前記ＰＣＭ圧縮手段に送出するＰＣＭ符号長決定手段と、
圧縮モードに応じて、当該圧縮モードがＤＰＣＭかＰＣＭかを示すタグを、前記ＤＰＣＭ圧縮手段から出力された前記ＤＰＣＭ符号データ、又は前記ＰＣＭ圧縮手段から出力された前記ＰＣＭ符号データに付して出力用符号データを作成して出力するタグ・符号出力手段と、を備えていることを特徴とする。
【００１５】
この画像符号化装置によれば、圧縮モードとしてＰＣＭを利用する場合には、所定の画素群単位で許容可能な符号長の合計値を超えない範囲内で、対象画素データ毎にＰＣＭ符号長を決定することができる。従って、許容可能な符号長の合計値としてメモリの最大容量に基づいて算定される値を採用し、可能な限りでＰＣＭ符号長を大きく指定する構成としておけば、復号できなくなるという事態を招くことなく、可能な範囲で高画質の画像を再現することができる。
【００１６】
そして、この方法によれば、先頭に付されたタグによって、ＰＣＭかＤＰＣＭのどちらの圧縮モードによって圧縮処理が施されたかを復号化装置側で認識することができる。更に、ＤＰＣＭにおいては、予め符号長を固定としているため、このＤＰＣＭ符号長に関する情報を復号化装置側に与えておくことで、復号化処理の前段階で既に符号長を知ることができるため、復号処理に要する時間を短くすることが可能である。
【００１７】
更には、ＤＰＣＭの符号長が固定である上、ＰＣＭの符号長の決定方法も予め定められた規則に基づくものであるため、同じ決定機構を復号化装置側に備えておくことが可能である。このように構成しておけば、予め複数画素のタグを先読みすることで、複数画素について並行して復号化を実行することができ、更に復号処理に要する時間の短縮化を図ることができる。
【００１８】
ＰＣＭ符号長決定手段がＰＣＭ符号長を決定する際の規則として、より具体的には、前記所定の画素群を構成する画素数及び前記許容値に関する情報を含む初期設定データと、前記所定の画素群を構成する画素のうち既に符号化処理が完了した画素データの処理済画素数及び当該処理済画素の符号化後の符号長の合計である処理済符号長総数に関する情報を含む進捗データに基づいて、ＰＣＭ符号長決定手段が前記所定の画素群を構成する画素数のうち処理時点における未処理画素数と作成可能符号長総数を導出し、前記未処理画素数の各画素データを同一の符号長で符号化しても前記作成可能符号長総数を超えない最大の符号長をもって、前記ＰＣＭ符号長として決定するものとすることができる。
【００１９】
更に具体的に言えば、前記初期設定データが、前記所定の画素群を構成する画素数に関する情報、前記許容値に関する情報、１画素当たりの色数に関する情報を含む構成である場合において、前記初期設定データに含まれる各情報である前記所定の画素群を構成する画素数をＡ，前記許容値をＭ，前記色数をＣ，前記タグの符号長をＴとし、前記進捗データに含まれる各情報である前記処理済画素数をＺｒ，前記処理済符号長総数をＺｍとすると、下記式
（Ｔ＋Ｘ・Ｃ）・（Ａ−Ｚｒ）≦（Ｍ−Ｚｍ）
を満たす最大の整数Ｘをもって前記ＰＣＭ符号長と決定する構成とすることができる。
【００２０】
なお、タグが１ビットである場合には、当然に
（１＋Ｘ・Ｃ）・（Ａ−Ｚｒ）≦（Ｍ−Ｚｍ）
を満たす最大の整数Ｘをもって前記ＰＣＭ符号長と決定するものとすれば良い。
【００２１】
ここで、所定の画素群を、前記画像データのうちの１ラインを構成する複数の画素とし、前記許容値をラインメモリの最大値とすることで、１ライン毎の符号化に際し、ラインメモリを超えないようにしながら、復号化時に劣化が小さくなるような画像の符号化が実現できる。
【００２２】
同様に、所定の画素群を、前記画像データのうちの１フレームを構成する複数の画素とし、前記許容値をフレームメモリの最大値とすることで、１フレーム毎の符号化に際し、フレームメモリを超えないようにしながら、復号化時に劣化が小さくなるような画像の符号化が実現できる。
【００２３】
また、前記ＰＣＭ符号長決定手段は、外部より前記ＰＣＭ符号長が指定可能に構成されているものとしても良い。この場合において、当該外部より前記ＰＣＭ符号長が指定された場合には、この指定されたＰＣＭ符号長の値を前記ＰＣＭ圧縮手段に出力する。
【００２４】
このように構成することで、例えば利用者が特に慎重な画像復元を希望する領域については、符号長を長く指定することができる等、フレキシブルな対応が可能となる。より具体的には、画面を左右に分け、左端から中央部までの画素列を１ラインとし、中央部から右端までの画素列を別の１ラインとして符号化を行う場合において、右半分の画面の先頭画素を符号化する際のＰＣＭ符号長を大きな値で設定することが考えられる。このようにすることで、復元後の画像データを確認した際に、画面の中央部分に画像乱れが生じるのを防止することができる。
【発明の効果】
【００２５】
本発明の構成によれば、高い圧縮率での符号化と、短い処理時間での復号化による高画質な画像復元を両立することのできる画像符号化装置が実現される。
【図面の簡単な説明】
【００２６】
【図１】本発明の画像符号化装置の概念的ブロック図
【図２】各画素データがどのように符号化されるかを説明するための図
【図３】各画素データがどのように符号化されるかを説明するための図
【図４】符号化データを２画素ずつ出力する状況を説明するための図
【図５】画像符号化装置の適用例
【図６】本発明の画像符号化装置の別の概念的ブロック図
【発明を実施するための形態】
【００２７】
図１は、本発明に係る画像符号化装置の概念的ブロック図である。画像符号化装置１は、圧縮モード決定手段３，ＤＰＣＭ圧縮手段５，ＰＣＭ圧縮手段７，ＰＣＭ符号長決定手段９，初期設定データ格納部１１，タグ・符号出力手段１３，画像データ入力端子２１，初期設定データ入力端子２３，及び符号化データ出力端子２５を備える。
【００２８】
なお、圧縮モード決定手段３，ＤＰＣＭ圧縮手段５，ＰＣＭ圧縮手段７，ＰＣＭ符号長決定手段９，及びタグ・符号出力手段１３は、入力されるデータに対してハードウェアを（必要に応じてソフトウェアも）用いて所定の演算処理を実行する機能的手段である。また、初期設定データ格納部１１は、初期設定データ入力端子２３より入力された初期設定データを格納する記憶手段である。初期設定データの詳細については後述する。
【００２９】
画像データ入力端子２１は、符号化を行う対象となる画像データの入力を受け付ける。画像データは複数の画素データで構成されており、以下では、現時点で符号化を行う対象となっている画素データのことを「対象画素データ」と呼ぶ。図１内のｄｉは対象画素データを示している。この対象画素データｄｉは、圧縮モード決定手段３に送出される。
【００３０】
圧縮モード決定手段３は、対象画素データｄｉを圧縮するに際し、ＤＰＣＭ処理を行うかＰＣＭ処理を行うかを決定する手段である。本実施形態では、圧縮モード決定手段３は、対象画素データｄｉとその直前に入力された画素データに基づいて算定される予測データｄｉｐとの差分値に基づいてＤＰＣＭとＰＣＭのどちらの圧縮モードを選択するかを決定する。また、対象画素データｄｉが先頭画素の画素データである場合には、圧縮モードを強制的にＰＣＭに決定する。
【００３１】
また、本実施形態では、ＤＰＣＭ処理の符号長が予め定められており、この符号長を「ＤＰＣＭ符号長」と呼ぶ。圧縮モード決定手段３は、対象画素データｄｉと予測データｄｉｐの差分値が、この予め定められた「ＤＰＣＭ符号長」で表現できれば、ＤＰＣＭ処理を選択し、「ＤＰＣＭ符号長」を超える符号長によらなければ表現できない場合にはＰＣＭ処理を選択する。
【００３２】
つまり、差分値をｄｉｆｆ、ＤＰＣＭ符号長をＸｄとした場合に、以下の数１に示す条件が成立すれば、圧縮モード決定手段３は対象画素データｄｉの圧縮モードをＤＰＣＭとし、成立しなければＰＣＭとする。
【００３３】
（数１）
−２（Ｘｄ−１）≦ｄｉｆｆ＜２（Ｘｄ−１）
【００３４】
なお、予測データｄｉｐの生成方法は、種々の方法が採用される。ここでは、圧縮モード決定手段３が直前に入力された画素データｄｊを一時的に格納するバッファを有しており、このバッファから読み出した画素データｄｊをもって予測データｄｉｐと決定するものとする。
【００３５】
圧縮モード決定手段３は、処理モードをＤＰＣＭに決定した場合には、ＤＰＣＭ圧縮手段５に対して差分値ｄｉｆｆを出力すると共に、タグ・符号出力手段１３に対して、圧縮モードがＤＰＣＭである旨を示すタグを出力する。また、処理モードをＰＣＭに決定した場合には、ＰＣＭ圧縮手段７に対して対象画素データｄｉを出力すると共に、タグ・符号出力手段１３に対して、圧縮モードがＰＣＭである旨を示すタグを出力する。
【００３６】
なお、ここでは圧縮モードを示すタグは１ビットで表記されるものとし、「０」であればＤＰＣＭを、「１」であればＰＣＭを示すものとする。
【００３７】
ＤＰＣＭ圧縮手段５は、圧縮モード決定手段３から差分値ｄｉｆｆが入力されると、この差分値ｄｉｆｆをＤＰＣＭ符号長のデータに圧縮変換する。このとき、±の極性符号付整数で表記するものとして良い。
【００３８】
ＰＣＭ圧縮手段７は、圧縮モード決定手段３から対象画素データｄｉが入力されると、ＰＣＭ符号長決定手段９より与えられた符号長のデータに圧縮変換する。以下では、ＰＣＭ符号長決定手段９より与えられる符号長を「ＰＣＭ符号長」と記載する。対象画素データｄｉのビット数が「ＰＣＭ符号長」より大きければ、下位ビットを脱落させることで、ＰＣＭ符号長の長さで符号化を行う。
【００３９】
ＰＣＭ符号長決定手段９は、初期設定データ格納部１１に格納されている初期設定データ、及びタグ・符号出力手段１３から与えられる符号化の進捗状況を示すデータ（後述する「処理済画素数データ」、「処理済符号長総数データ」に対応する）に基づいて、対象画素データｄｉの「ＰＣＭ符号長」を決定する。
【００４０】
タグ・符号出力手段１３は、ＤＰＣＭ圧縮手段５若しくはＰＣＭ圧縮手段７から出力された圧縮後のデータに、圧縮モードを示す１ビットのタグを付して符号化データを生成し、符号化データ出力端子２５より出力する。図１に示すデータｄｑは、対象画素データｄｉを符号化した符号化データを示している。
【００４１】
以下において、本装置１の符号化方法の詳細につき、ＰＣＭ符号長決定手段９のＰＣＭ符号長決定方法を含めた具体的な実施例を参照して説明する。
【００４２】
ここでは、各画素データがＲＧＢ各１０ビット、計３０ビットで表現されるものとし、入力画像データを水平方向１０画素×垂直方向１０画素のデータ（合計３０×１０×１０＝３０００ビット）で構成されるものとして説明する。また、本実施例では、２４００ビットのメモリ領域に格納すべく、８０％の圧縮率で符号化を行うものとして説明する。
【００４３】
なお、図２及び図３は、本実施例において各画素データがどのように符号化されるかを説明するための図である。図２において、di(1)〜di(10)は、夫々同一ラインに配置された第１画素から第１０画素までの対象画素データを示している。また、dq(1)〜dq(10)は、各対象画素データdi(1)〜di(10)を符号化した後に得られる符号化データを示している。各符号化データには、１ビットのタグt1〜t10が付されている。
【００４４】
図３では、符号化後に得られるデータのうち、タグを除くデータを、Ｒ，Ｇ，Ｂを区別せずこれらを統合してcode(1)〜code(10)と表記している。
【００４５】
上述したように、本実施形態のＤＰＣＭ圧縮手段５は予め定められた固定長の符号を生成する。実施例では、ＤＰＣＭ圧縮手段５によって圧縮された符号の符号長（ＤＰＣＭ符号長）は、１色当たりのビット数に圧縮率を乗じた値を超えない最大の整数とする。より具体的には、１０ビットの８０％を乗じた値を超えない最大の整数である７ビットとする。
【００４６】
また、本実施例では、フレームメモリのアドレス計算がシンプルになるよう、１ラインあたりの圧縮メモリ容量を固定値とする。つまり、２４００ビットのメモリ領域に１０ライン分の圧縮データを格納するため、１ラインの圧縮メモリ容量を２４０ビットで固定とする。
【００４７】
そして、上述したように、先頭画素の圧縮モードをＰＣＭとする。つまり、本実施形態では、各ラインの先頭画素の圧縮モードをＰＣＭとする。
【００４８】
更に、本実施例では、ＰＣＭ符号長決定手段９が２画素毎に符号長を決定するものとする。これは、先頭から数えて偶数番目の画素の圧縮モードがＰＣＭである場合に、その直前の画素の圧縮モードもＰＣＭであれば、当該直前の画素と同じ符号長で符号化することを意味する。
【００４９】
まず、対象となる画像データと、目標とする出力用の圧縮データに関する必要な情報を初期設定データとして、初期設定データ入力端子２３から入力する。具体的には、１ライン当たりの画素数Ａ、１画素当たりの色数Ｃ、１ライン当たりの圧縮メモリ容量に関する情報Ｍを初期データ入力端子２３より入力し、これを初期設定データ格納部１１内に格納する。前記の通り、本実施例では、Ａ＝１０，Ｃ＝３，Ｍ＝２４０とし、これらの値が初期設定データ格納部１１に格納されている。
【００５０】
つまり、本実施例における１ラインが「所定の画素群」に対応し、１ライン当たりの画素数が「所定の画素群を構成する画素数」に対応し、１ライン当たりの圧縮メモリ容量が「許容値」に対応する。
【００５１】
まず、第１行に属する各画素のうち、先頭画素に係る画素データdi(1)が画像データ入力端子２１より入力される。圧縮モード決定手段３は、この画素データが先頭画素であることを検知すると、圧縮モードをＰＣＭに設定し、ＰＣＭ圧縮手段７に対して当該画素データを送出する。なお、圧縮モード決定手段３は、次の画素が入力されるまでの間、この画素データの情報を一時的に格納するバッファを内部に備えている。
【００５２】
ＰＣＭ圧縮手段７は、ＰＣＭ符号長決定手段９より、ＰＣＭ符号長に関する情報を読み出す。ここで、ＰＣＭ符号長決定手段９は、符号化対象ラインの残り画素数Ｒ、圧縮メモリの残り容量をｍとすると、以下の数２に示す条件を満たす最大の整数Ｘをもって、１色当たりの符号長として決定する。
【００５３】
（数２）
（１＋Ｘ・Ｃ）・Ｒ≦ｍ
【００５４】
また、１画素当たりの符号化データのビット長Ｙは、上記数２によって算定されたＸを用いて、以下の数３に示す算出式によって求められる。
【００５５】
（数３）
Ｙ＝１＋Ｘ・Ｃ
【００５６】
なお、上記数２及び数３では、上述したように、圧縮モードを示すタグが１ビットの情報で表記されるものとしている。
【００５７】
ここでは、対象画素データdi(1)が先頭画素の画素データであるためＲ＝Ａ＝１０，ｍ＝Ｍ＝２４０であり、またＣ＝３であるため、これを数２に代入することで、符号長Ｘが７ビットと決定される。ＰＣＭ符号長決定手段９は、各色毎に７ビットの符号とする旨の情報をＰＣＭ圧縮手段７に与える。ＰＣＭ圧縮手段７は、対象画素データｄｉのＲ，Ｇ，Ｂ夫々を７ビットの符号に圧縮してタグ・符号出力手段１３に送る。
【００５８】
本実施例では、Ｒ，Ｇ，Ｂ夫々１０ビットで表記されたデータを７ビットに圧縮することとなる。この方法の一例としては、例えば下位の３ビットを脱落させることで７ビットのデータとして圧縮することが可能である。
【００５９】
タグ・符号出力手段１３は、圧縮モード決定手段３から圧縮モードがＰＣＭである旨の情報を受け取り、ＰＣＭ圧縮手段７より与えられた符号データcode1の先頭に、「１」が付されたタグt1を挿入した符号化データdq(1)として符号化データ出力端子２５より出力する。
【００６０】
なお、タグ・符号出力手段１３は、内部にバッファを備えており、これまでに符号化した画素数に関するデータ（以下、「処理済画素数データ」と呼ぶ）Zr、及び符号長の合計値に関するデータ（以下、「処理済符号長総数データ」と呼ぶ）Zmを一時的に格納する。この符号長の合計値は、対象画素データのラインが変わる都度更新されるものとして良い。
【００６１】
次に、後続の第２画素データdi(2)が画像データ入力端子２１より入力される。圧縮モード決定手段３は、内部のバッファより、直前の画素データである第１画素データdi(1)を読み出し、これとの差分値を算出する。ここでは、この差分値データが、各色共にＤＰＣＭ符号長である７ビットで表記可能であるとする。
【００６２】
この場合、圧縮モード決定手段３は、圧縮モードをＤＰＣＭと決定し、ＤＰＣＭ圧縮手段５に対してこの差分値データを出力する。ＤＰＣＭ圧縮手段５は、与えられた差分値データに基づいてＤＰＣＭ符号長の符号データに圧縮し、タグ・符号出力手段１３に出力する。タグ・符号出力手段１３は、圧縮モード決定手段３から圧縮モードがＤＰＣＭである旨の情報を受け取り、ＤＰＣＭ圧縮手段５より与えられた符号データcode2の先頭に、「０」が付されたタグt2を挿入した符号化データdq(2)として符号化データ出力端子２５より出力する。なお、このとき、タグ・符号出力手段１３内のバッファには、処理済画素数データとして「2」が格納され、処理済符号長総数データとしてdq(1)とdq(2)の符号長の合計値である「44」が格納されている。
【００６３】
次に、後続の第３画素データdi(3)が画像データ入力端子２１より入力される。圧縮モード決定手段３は、内部のバッファより、直前の画素データである第２画素データdi(2)を読み出し、これとの差分値を算出する。ここでは、この差分値データを７ビットで表記することができず、圧縮モードをＰＣＭと決定したものとする。
【００６４】
ＰＣＭ圧縮手段７は、ＰＣＭ符号長決定手段９より、ＰＣＭ符号長に関する情報を読み出す。ここで、ＰＣＭ符号長決定手段９は、タグ・符号出力手段１３より処理済画素数データZr及び処理済符号長データZmを読み出し、残り画素数Ｒ，及び圧縮メモリの残り容量ｍを算定する。ここでは、処理済画素数データZr＝2より、初期設定データ格納部１１に格納されている１ライン当たりの画素数Ａ＝10から、残り画素数Ｒ＝Ａ−Zr＝8を得る。また、処理済符号長データZm＝44より、初期設定データ格納部１１に格納されている１ラインあたりの圧縮メモリ容量に関する情報Ｍ＝240より、残り容量ｍ＝Ｍ−Zm＝196を得る。
【００６５】
よって、ＰＣＭ圧縮手段７は、上記数２にこの最新のＲ，ｍを代入し、
（１＋３Ｘ）・８≦１９６
を満たす最大の整数Ｘをもって１色当たりの符号長を決定する。これにより、Ｘ＝７、すなわちＰＣＭ符号長が７と決定される。
【００６６】
なお、これにより、次の画素データに対する圧縮モードがＰＣＭである場合にも、ＰＣＭ符号長が７と決定される。
【００６７】
ＰＣＭ符号長決定手段９は、各色毎に７ビットの符号とする旨の情報をＰＣＭ圧縮手段７に与える。ＰＣＭ圧縮手段７は、対象画素データdi(3)のＲ，Ｇ，Ｂ夫々を７ビットの符号に圧縮してタグ・符号出力手段１３に送る。タグ・符号出力手段１３は、圧縮モード決定手段３から圧縮モードがＰＣＭである旨の情報を受け取り、ＰＣＭ圧縮手段７より与えられた符号データcode3の先頭に、「１」が付されたタグt3を挿入した符号化データdq(3)として符号化データ出力端子２５より出力する。
【００６８】
次に、後続の第４画素データdi(4)が画像データ入力端子２１より入力される。圧縮モード決定手段４は、内部のバッファより、直前の画素データである第３画素データdi(3)を読み出し、これとの差分値を算出する。ここでは、この差分値データを７ビットで表記することができず、圧縮モードをＰＣＭと決定したものとする。
【００６９】
ＰＣＭ圧縮手段７は、ＰＣＭ符号長決定手段９より、ＰＣＭ符号長に関する情報を読み出す。ＰＣＭ符号長決定手段９は、直前の奇数番目の画素の圧縮モードもＰＣＭであったことを確認し、直前の画素と同じＰＣＭ符号長として「７」をＰＣＭ圧縮手段７に与える。ＰＣＭ圧縮手段７は、対象画素データdi(4)のＲ，Ｇ，Ｂ夫々を７ビットの符号に圧縮してタグ・符号出力手段１３に送る。タグ・符号出力手段１３は、圧縮モード決定手段３から圧縮モードがＰＣＭである旨の情報を受け取り、ＰＣＭ圧縮手段７より与えられた符号データcode4の先頭に、「１」が付されたタグt4を挿入した符号化データdq(4)として符号化データ出力端子２５より出力する。
【００７０】
以下、同様の手順により、対象画素データdi(5),di(6),……に対しても符号化を実行する。
【００７１】
そして、１ラインの最終画素データであるdi(10)に対し、符号化データdq(10)が生成されると、次のライン（第２行）の先頭画素データを対象画素データとして画像データ入力端子２１より入力する。先頭画素のため、圧縮モードはＰＣＭと決定され、タグ・符号出力手段１３は、この画素を符号化して出力する際に、処理済画素数データZrを「１」に、処理済符号長データを、この先頭画素の画素データの符号化データの符号長に夫々更新する。
【００７２】
なお、上記実施例では、説明のために１画素ずつ逐次符号化が行われた後、１画素ずつ符号化データを符号化データ出力端子２５から出力するかのように説明したが、２画素単位で出力するものとしても構わない。
【００７３】
図４は、符号化データを２画素ずつ符号化データ出力端子２５から出力する状況を説明するための図である。（ａ）は、図３と同様に、dq(1)〜dq(10)までの各符号化データを縦に並べて図示したものである。また、（ｂ）は、２画素ずつの符号化データを出力する場合の出力データを表わしている。
【００７４】
１画素ずつの符号化データを出力する場合、復号装置側においても、１画素ずつ逐次復号化を行うことが要求される。実際のところ、圧縮モードがＤＰＣＭの場合、直前の画素データが復号化されるまで復号化することができない。しかしながら、その後の画素データの圧縮モードがＰＣＭの場合、直前の画素データが復号化されるのを待つことなく復号化を行うことが可能である。
【００７５】
これを踏まえれば、複数画素に係る符号化データをまとめて出力し、復号化処理を並列的に実行可能にすることで、復号化に要する時間を短縮することができる。
【００７６】
図４（ｂ）は、このような事情を鑑み、２画素毎に符号化データをまとめて生成し、これを符号化データ出力端子２５から出力する構成としている。より具体的には、奇数番目と偶数番目の画素の画素データに対する圧縮処理が完了した時点で、両者のタグを先頭に２ビットのデータとして付し、その後に奇数番目の画素の画素データの符号化データと偶数番目の画素の画素データの符号化データを並べることで、出力用の符号化データを生成して符号化データ出力端子２５から出力する。
【００７７】
なお、図４（ｂ）では、２ビットのpaddingを付している。これは、１ライン分のメモリ容量に対して冗長ができている場合に、この冗長分を埋めるべく設けられたものである。このpaddingは必ず付さなければならないというものではない。
【００７８】
復号化装置側では、この符号化データを受信すると、先頭の２ビットのタグに基づいて、奇数番目の画素の画素データと偶数番目の画素の画素データの各圧縮モードが認識される。すなわち、タグが「００」であれば両者共にＰＣＭであり、「１１」であれば両者共にＤＰＣＭであり、「０１」であれば奇数番目がＰＣＭで偶数番目がＤＰＣＭであり、「１０」であれば奇数番目がＤＰＣＭで偶数番目がＰＣＭである。
【００７９】
「１１」の場合、本実施形態では、ＤＰＣＭ符号長が７ビットで固定であるため、送られてきた符号化データのうち、３ビット目〜９ビット目までが奇数番目の画素の画素データの符号化データ、１０ビット目〜１６ビット目までが偶数番目の画素の画素データの符号化データであることが分かる。また、「１０」の場合は、３ビット目〜９ビット目までが奇数番目の画素の符号化データで、１０ビット目以後の符号が偶数番目の画素の画素データの符号化データであることが分かる。
【００８０】
更に、「０１」の場合には、最後尾から数えて７ビット分が偶数番目の画素の画素データの符号化データであり、それより１ビット手前から先頭から数えて３ビット目までのが奇数番目の画素の画素データの符号化データである。
【００８１】
また、「００」の場合には、奇数番目と偶数番目の画素の画素データの符号化データは、共に同一の符号長であるため、３ビット目以後の符号長を半分に区切り、その前半が奇数番目の画素の画素データの符号化データ、後半が偶数番目の画素の画素データの符号化データであることが分かる。
【００８２】
このようにして、２画素分の符号化データが連続して送られた場合であっても、奇数番目の符号化データと偶数番目の符号化データを認識することができるため、これらの各データと、圧縮モードに基づいて復号化することが可能である。
【００８３】
なお、上記の方法とは異なり、復号化装置側においても、ＰＣＭ符号長決定手段９と同様の処理機構を備えることで、圧縮モードがＰＣＭである各画素の符号化データの符号長を算定し、これに基づいて、画素別の符号化データを特定する方式を採用しても良い。
【００８４】
上記実施形態の構成によれば、特に圧縮モードがＰＣＭの場合に、また圧縮されていない画素データの量と利用できる残りビット数に応じて、符号長を可変にすることができる。これにより、残りビット数が多いときには符号長を長くして圧縮による画質低下を抑制することができる。一方、残りビット数が少ないときには符号長を短くすることで、記憶領域に残りの画素データを全て格納できるように制御することができる。
【００８５】
なお、本発明の符号化装置は、画像メモリのインタフェースに組み込むことによって、低コストで数クロックの遅延で圧縮による画質劣化が小さい符号化／復号化が実現できる。これにより、画像メモリへの書き込み時に符号化し、画像メモリからの読み出し時に復号化することで、メモリに格納するデータ量やメモリに単位時間にアクセスするデータ量を減少させることができ、メモリ容量やアクセスバンド幅の削減が期待できる。図５は、本発明の符号化装置１をメモリインタフェース４０に応用した場合の概念図を示している。
【００８６】
入力された画像データは、メモリインタフェース４０内の符号化装置１によって上述した実施形態の規則に従って符号化されることで、データ量が圧縮された状態で信号線又は電気通信回線を介してメモリ４５へと送られる。メモリ４５では、この圧縮されたデータ（符号化データ）が格納される。一方、読み出し指示を受けると、メモリ４５からは信号線又は電気通信回線を介してこの圧縮されたデータが読み出される。このデータは、メモリインタフェース４０内の復号化装置４１において復号化処理が施されることで、画像データとして復元されて出力される。
【００８７】
また、本符号化装置は、画像メモリのインタフェースへの適用に限定されるものではなく、一般の画像処理システムに組み込まれることで、画像データの圧縮に利用され得る。このため、一般の画像圧縮技術が適用対象とする全てのアプリケーションに対して適用が可能である。
【００８８】
［別実施形態］
以下、別実施形態について説明する。
【００８９】
〈１〉  上記実施形態では、ラインメモリを固定とし、１ライン毎にメモリの残量と未処理画素数に応じて符号長を決定する構成であった。これと全く同じ原理に従ってフレームメモリを固定とし、１フレーム毎にメモリの残量と未処理画素数に応じて符号長を決定する構成とすることが可能である。
【００９０】
〈２〉  図６に示すように、ＰＣＭ符号長設定情報入力端子３１を備え、この端子より外部からＰＣＭ符号長を強制的に設定できるような構成としても構わない。このように構成することで、特定の箇所における画素の符号長について大きな値を設定しておくことで、特に画質を劣化させたくない箇所が存在するような場合には有益である。
【００９１】
より具体的には、画面を左右に分け、左端から中央部までの画素列を１ラインとし、中央部から右端までの画素列を別の１ラインとして上記実施形態の方法に従って符号化を行う場合に、右半分の画面の先頭画素の画素データを符号化する場合には、ＰＣＭ符号長設定情報入力端子３１からＰＣＭ符号長を大きな値で設定するのが好適である。このようにすることで、復元後の画像データを確認した際に、画面の中央部分に画像乱れが生じるのを防止することができる。
【００９２】
〈３〉  図１及び図６では、複数の入力端子を備える構成としたが、当該入力された情報を判別する機構を備えていれば、必ずしも異なる入力端子を備えなくても良い。すなわち、共通の入力端子２１から各種情報が入力される構成であって、画素データに関する情報であれば圧縮モード決定手段３に出力し、初期設定データに関する情報であれば初期設定データ格納部１１に出力し、ＰＣＭ符号長に関する情報であればＰＣＭ符号長決定手段９に出力するものとすれば良い。
【００９３】
〈４〉  上記実施形態では、圧縮モード決定手段３が入力された画素データを一時的に保持しておき、次に画素データが入力された際、当該保持されている直前の画素データそのものをもって予測データとして採用する構成であった。しかし、予測データとしては、このように直前の画素データそのものを採用する必要があるというわけではなく、他の方法で算定することも可能である。一例としては、直前の数画素に係るデータの傾きに基づいて予測データを算定する方法が採用され得る。
【００９４】
〈５〉  タグ・符号出力手段１３は、データの送信元がＤＰＣＭ圧縮手段５かＰＣＭ圧縮手段７かを識別できる構成であれば、必ずしも圧縮モード決定手段３から圧縮モードに関する情報を取得する構成とする必要はない。この場合、タグ・符号出力手段１３は、ＤＰＣＭ圧縮手段５から符号化データが与えられれば、ＤＰＣＭを示す「０」のタグを付し、ＰＣＭ圧縮手段７から符号化データが与えられれば、ＰＣＭを示す「１」のタグを付す。
【００９５】
〈６〉  上記実施形態では、図４を参照しながら、符号化データを２画素ずつ符号化データ出力端子２５から出力する場合について説明した。しかし、２画素に限らず、３画素以上の複数画素ずつ符号化データ出力端子２５から出力される構成としても構わない。
【００９６】
〈７〉  上記実施形態では、画素データがＲ，Ｇ，Ｂ形式で規定されているものとして説明したが、その他の形式（例えばＹ，Ｕ，Ｖ形式等）が採用されている場合においても、同様の原理により符号化を行うことが可能である。
【００９７】
〈８〉  上記実施形態では、一連の画素群の先頭に当たる先頭画素の画素データの圧縮モードをＰＣＭとするものとして説明したが、必ずしもこの規則に従わなければならないというものではない。別の一例としては、先頭画素の予測値を予め定められた値αとみなしとして、圧縮モード決定手段３が先頭画素以外の画素データと同様の手順によって圧縮モードをＤＰＣＭかＰＣＭのどちらかに決定する処理を実行する構成とすることが可能である。なお、α＝０とした場合には、端的に先頭画素の画素データの値そのものに応じてＤＰＣＭかＰＣＭかが決定される構成となる。
【００９８】
〈９〉  上記実施形態の符号化装置１は、対象画素データと予測データの差分値が所定より大きい場合、より詳細には、予め定められたＤＰＣＭ符号長によって符号化できない場合には圧縮モードをＰＣＭとし、それ以外の場合には圧縮モードをＤＰＣＭとする構成である。このようにＰＣＭ処理とＤＰＣＭ処理を自動的に変化させながらデータの圧縮処理を実行する動作の詳細については、本出願人によって出願された上記特許文献１に記述されているため、重複する内容については割愛する。
【符号の説明】
【００９９】
１：  画像符号化装置
３：  圧縮モード決定手段
５：  ＤＰＣＭ圧縮手段
７：  ＰＣＭ圧縮手段
９：  ＰＣＭ符号長決定手段
１１：  初期設定データ格納部
１３：  タグ・符号出力手段
２１：  画像データ入力端子
２３：  初期設定データ入力端子
２５：  符号化データ出力端子
３１：  ＰＣＭ符号長設定情報入力端子
４０：  メモリインタフェース
４１：  復号化装置
４５：  メモリ
ｄｉ：  （符号化）対象画素データ
ｄｑ：  符号化データ
【図１】
0005285682.tif 000002
【図２】
0005285682.tif 000003
【図３】
0005285682.tif 000004
【図４】
0005285682.tif 000005
【図５】
0005285682.tif 000006
【図６】
0005285682.tif 000007