圧縮符号化装置、および画像表示制御装置
【課題】、画像データに圧縮符号化を施す際に、圧縮率を大幅に低下させることなく、デコード側にて正確に透明色制御を行うことを可能にする。
【解決手段】RGB表色系の画像データに非可逆圧縮符号化を施す際に、その画像データが透明色制御の対象でもある場合には、画素毎に透明色制御の対象であるか否かを判定し、透明色制御の対象外の画素についてはYCbCr表色系の画素値に、透明色制御の対象画素については、RGB表色系からYCbCr表色系への写像の写像範囲外の値に各々変換した後に非可逆変換を施し圧縮符号化データを得る。ただし、この際の非可逆圧縮符号化アルゴリズムとしては、上記写像範囲外の値については、非可逆圧縮符号化および復号化を経ても、非可逆圧縮符号化前の値が復号されるものを用いる。
【解決手段】RGB表色系の画像データに非可逆圧縮符号化を施す際に、その画像データが透明色制御の対象でもある場合には、画素毎に透明色制御の対象であるか否かを判定し、透明色制御の対象外の画素についてはYCbCr表色系の画素値に、透明色制御の対象画素については、RGB表色系からYCbCr表色系への写像の写像範囲外の値に各々変換した後に非可逆変換を施し圧縮符号化データを得る。ただし、この際の非可逆圧縮符号化アルゴリズムとしては、上記写像範囲外の値については、非可逆圧縮符号化および復号化を経ても、非可逆圧縮符号化前の値が復号されるものを用いる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データの非可逆圧縮符号化技術に関し、特に、透明色制御の対象となる画像データの非可逆圧縮符号化技術に関する。
【背景技術】
【0002】
ゲーム機などに用いられる画像処理デバイスの一例としてスプライト方式の画像処理LSI(Large Scale Integration)が挙げられる。この種の画像処理LSIでは、ゲームキャラクタなどのスプライト画像を表す画像データが予め格納されたスプライトパターンメモリから、ゲームの進行に合わせて画像データを読み出し、拡大や縮小、回転などの編集処理を施してバッファに書き込み、バッファの格納内容に応じた画像をLCD(Liquid Crystal Display)などの表示装置に表示させる、といった処理が行われる。この種の画像処理デバイスでは、背景画像の手前にゲームキャラクタ等のスプライトの画像を重ねて表示させるオーバレイ表示が行われる場合がある。このようなオーバレイ表示は、スプライトにて背景に相当する画素を透明として扱い、背景画像の画素が見えるようにする制御(以下、透明色制御)を行うことで実現される。そして、透明色制御は、透明として扱う画素の色(以下、透明色)を予め設定しておき、透明色に対応する画素値の画素を表示しないようにすることで実現される。
【0003】
スプライト方式の画像処理デバイスにおいては、スプライトパターンメモリに格納する画像データに何らかの圧縮符号化を施しておくことが多い。この圧縮符号化技術は、可逆圧縮符号化技術と非可逆圧縮符号化技術に大別される。可逆圧縮符号化技術の一例としては、予測符号化と可変長符号化とを併用したものが挙げられる。可逆圧縮符号化技術には、圧縮符号化を施した画像データ(以下、圧縮符号化データ)から圧縮符号化前の画像データ(以下、原画像データ)を完全に復元することができるものの高い圧縮率が得られないといった特徴がある。一方、非可逆圧縮符号化の一例としては直交変換を利用したものが挙げられる。非可逆圧縮符号化技術には、高い圧縮率が得られるものの、圧縮符号化データから原画像データを完全には復元することができないといった特徴がある。したがって、原画像データを忠実に復元する必要がある場合には、可逆圧縮符号化技術が採用され、圧縮符号化データのデータ量を低く抑える必要がある場合には、非可逆圧縮符号化技術が採用されるなど、両技術はニーズに応じて適宜使い分けられる。
【0004】
透明色制御の対象となる画像データの圧縮符号化を行う場合においても、データ量を低く抑える必要があるか否かなどに応じて可逆圧縮符号化技術と非可逆圧縮符号化技術を使い分けることが望ましい。しかし、透明色制御の対象となる画像データに非可逆圧縮符号化を施すと、本来透明とされるべき画素が透明とされなかったり、逆に、本来透明とされるべきではない画素が透明にされたりするなどの不具合が生じ得る。例えば、図14(A)には、透明色が0xFFFFFF(すなわち、R成分、G成分およびB成分の各々が0xFF)に設定されている場合において、透明色制御の対象となるべき画素の画素値が非可逆圧縮符号化および復号により、0xFEFEFEに変化した結果生じる不具合(すなわち、本来、透明とされるべき画素が透明とされないという不具合)が例示されている。一方、図14(B)には、透明色が0x000000と設定されている場合において、透明色制御の対象ではない画素(図14(B)では、画素値が0x0101010である画素)の画素値が非可逆圧縮符号化および復号により、0x000000に変化した結果生じる不具合(すなわち、本来、透明とされるべきではない画素が透明とされる不具合)が例示されている。これらの不具合は、何れも非可逆圧縮符号化により得られた圧縮符号化データを復号しても、原画像データを完全に復元することはできないことに起因するものである。
【0005】
このような不具合を回避するための技術としては、特許文献1や特許文献2に開示された技術が挙げられる。これら特許文献には、透明色制御の対象となる画素であるか否かを示す2値データを画素の配列順に並べたマスクデータを圧縮符号化データとともに用いることが開示されている。また、図14(C)および図14(D)に示すように、非可逆圧縮符号化後の画素データの各々に透明色制御の対象となる画素であるか否かを示す付加ビット(図14に示す例では、透明色制御の対象である場合は1、対象ではない場合は0)を付与し、この付加ビットを用いて透明色制御の対象画素か否かを判別することも考えられる。このようなマスクデータや付加ビット等の付加情報を用いることによって、透明色制御となる画像データに非可逆圧縮符号化を施しても、デコード側にて正確に透明色制御を行うことが可能になる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−205788号公報
【特許文献2】特開2003−87572号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、圧縮符号化データの他に付加情報を用いる態様においては、付加情報のデータ量を含めて圧縮率を評価する必要があり、付加情報を用いない態様に比較して圧縮率の低下を招くことは否めない。特に、非圧縮符号化技術は、可逆圧縮符号化技術に比較して高い圧縮率が得られることが利点であったのであるから、上記付加情報を用いる態様では非可逆圧縮符号化技術本来の利点が損なわれる虞がある。
本発明は、上記課題に鑑みて為されたものであり、透明色制御の対象となる画像データに圧縮符号化を施す際に、圧縮率を大幅に低下させることなく、デコード側にて正確に透明色制御を行うことを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために本発明は、画像を構成する複数の画素の各々の色を第1色成分〜第3色成分の強度の組み合わせで表す画像データを取得し、前記複数の画素の各々について透明色制御の対象であるか否かを前記第1色成分〜第3色成分を参照して判定し、対象ではないと判定された画素については、前記第1色成分〜第3色成分の強度の組み合わせを所定の写像規則にしたがって前記第1色成分〜第3色成分とは異なる3種類の新たな成分の組み合わせに写像する一方、対象であると判定された画素については、前記写像規則による写像範囲外の値に写像して新たな画素データに変換するデータ変換手段と、前記データ変換手段により得られる画像データに対して非可逆圧縮符号化処理を施し圧縮符号化データを生成する非可逆圧縮符号化手段とを具備することを特徴とする圧縮符号化装置を提供する。なお、本発明の別の態様においては、コンピュータを上記各手段として機能させることを特徴とするプログラムを提供しても良い。
【0009】
このような態様の圧縮符号化装置により圧縮符号化された画像データの復号、およびその画像データの示す画像の表示制御を行う画像表示制御装置としては、以下の構成のものが考えられる。すなわち、上記圧縮符号化装置により生成された圧縮符号化データを取得する取得手段と、前記取得手段により取得された圧縮符号化データに、前記非可逆圧縮符号化処理の逆演算に相当する復号処理を施し、画像データを復元する復号手段と、前記復号手段により復元された画像データの表す画像を構成する画素の各々について画素値が前記写像範囲外の値であるか否かを判定し、前記写像範囲外の値である画素については透明色制御を行う一方、その他の画素については前記写像規則にしたがった演算の逆演算により画素値を前記第1色成分〜第3色成分の強度の組み合わせに変換し、その組み合わせに応じた色で表示装置に表示させる表示制御手段とを有することを特徴とする画像表示制御装置である。
【0010】
より好ましい態様においては、前記圧縮符号化装置の非可逆圧縮符号化手段が実行する非可逆圧縮処理では、前記写像規則による写像範囲外の所定の値については可逆圧縮符号化され、前記写像規則による写像範囲内の値については非可逆圧縮符号化されることを特徴とする。このような態様によれば、前記写像規則による写像範囲外の所定の値については可逆圧縮符号化であるから、復号装置側では、復号された画像データの表す画素毎に画素値が前記写像規則による写像範囲外の所定の値であるか否かを判定することによって透明色制御の対象画素を正確に判定することができる。
【0011】
また、別の好ましい態様においては、前記圧縮符号化装置の前記データ変換手段は、透明色制御の対象であると判定された画素について、前記写像規則による写像範囲の上限或いは下限から大きく離れた値に写像して新たな画素データを生成することを特徴とする。非可逆圧縮符号化とはいっても、復号装置側で圧縮符号化前とはかけ離れた値が復号される訳ではないと考えられるので、透明色制御の対象画素の画素値は非可逆圧縮符号化および復号化を経ても前記写像規則による写像範囲外に留まると考えられる。したがって、このような態様においては、復号装置側では、復号された画像データの表す画素毎に画素値が前記写像規則による写像範囲外の値であるか否かを判定することによって透明色制御の対象画素を正確に判定することができる。
【0012】
また、別の好ましい態様においては、前記圧縮符号化装置の非可逆圧縮符号化手段が実行する非可逆圧縮処理では、前記データ変換処理により得られた画像データの3種類の新たな成分のうち少なくとも1つを可逆圧縮符号化され、他の成分については非可逆圧縮符号化されることを特徴とする。このような態様によれば、復号装置側では、復号された画像データの表す画素毎に3つの成分のうちの何れかが前記写像規則による写像範囲外の値であるか否かを判定することによって透明色制御の対象画素を判定することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1実施形態である圧縮符号化装置1および画像表示制御装置2を含む画像データの圧縮符号化伝送システムの一例を示す図である。
【図2】本発明の第2実施形態である圧縮符号化装置100および画像表示制御装置200を含む画像データの圧縮符号化伝送システムの一例を示す図である。
【図3】同圧縮符号化装置100が実行するデータ変換処理120の流れを示すフローチャートである。
【図4】同圧縮符号化装置100が生成する透明色制御用データの一例を示す図である。
【図5】同圧縮符号化装置100が実行する縮小処理131における画素の間引き、および拡張処理132における画素の補間について説明するための図である。
【図6】同圧縮符号化装置100が実行する予測符号化処理141の内容を示す図である。
【図7】同予測符号化処理141にて算出される予測誤差の一例を示す図である。
【図8】同圧縮符号化装置100が実行する予測誤差変換処理142の内容を示す図である。
【図9】予測誤差の構成ビット数(符号ビットを除く)が6ビットである場合を例に予測誤差変換処理142の処理内容を詳細に示す図である。
【図10】同圧縮符号化装置100が実行する可変長符号化処理143にて使用される変換テーブルを示す図である。
【図11】画像表示制御装置200が実行する表示制御処理の流れを示すフローチャートである。
【図12】本発明の画像表示制御装置の第3実施形態である画像処理LSI300の構成例を示す図である。
【図13】同画像処理LSI300の記憶部302に格納されている圧縮符号化情報の一例を示す図である。
【図14】従来の画像の非可逆圧縮符号化に伴う透明色制御の問題点を説明するための図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しつつ本発明の実施形態について説明する。
(A:第1実施形態)
図1は、本発明の一実施形態である圧縮符号化装置1と画像表示制御装置2とを含む画像データの圧縮符号化伝送システムの構成例を示す図である。このシステムでは、透明色制御の対象となる画像データの非可逆圧縮符号化伝送、その復号および復号結果に応じた画像の表示制御が行われる。図1の圧縮符号化装置1は画像データの非可逆圧縮符号化処理を行う装置である。図1に示すシステムでは、圧縮符号化装置1による処理結果である圧縮符号化データをCD−ROM(Compact Disk-Read Only Memory)などの記録媒体に書き込んで配布したり、インターネットなどの電気通信回線経由のダウンロードで配布したりすることで画像データの非可逆圧縮符号化伝送が実現される。一方、画像表示制御装置2は、圧縮符号化データの復号、および復号結果に応じた画像の表示制御を行う装置である。ここで、画像データとは、画像を構成する複数の画素の各々の色を第1色成分から第3色成分(本実施形態では、R、GおよびBの3つの色成分)の強度で表す画素データの集合体であり、本実施形態では、各色成分の強度を0から255の値(すなわち、8ビットのデータ:したがって、1画素あたり3×8=24ビットのデータ)で表現するものが用いられる。
【0015】
図1の圧縮符号化装置1は、例えばDSP(Digital Signal Processor)などのコンピュータである。この圧縮符号化装置1には、本実施形態の特徴を顕著に示す非可逆圧縮符号化処理を実現するプログラム(以下、非可逆圧縮符号化プログラム)が予めインストールされている。圧縮符号化装置1は、この非可逆圧縮符号化プログラムにしたがって、本実施形態の特徴を顕著に示す非可逆圧縮符号化処理を実行する。図1に示すように、この非可逆圧縮符号化処理は、透明色判断処理10、RGB→YCbCr変換処理20a、オールゼロ変換処理20b、および非可逆圧縮処理30を含んでいる。
【0016】
圧縮符号化装置1に対して、圧縮符号化対象の画像データ(RGB24ビット形式の画像データ)の入力と、透明色の指定が為されると、圧縮符号化装置1は、上記画像データの表す画像を構成する画素の各々について、透明色判断処理10を実行する。この透明色判断処理10は、判断対象の画素の画素値が透明色に等しいか否かを判断する処理である。例えば、透明色として“0xFFFFFF”(すなわち、R、GおよびBの各成分の強度が0xFF(255)である色)が設定されている場合、画素値が“0xFFFFFF”ではない画素については、透明色判断処理10にて非透明色であると判断され、RGB→YCbCr変換処理20aが実行される。このRGB→YCbCr変換処理20aは、以下の式(1)に示す写像規則にしたがってRGB表色系からYCbCr表色系への写像を行う処理である。このRGB→YCbCr変換処理20aの結果得られる画素値のY成分、Cb成分およびCr成分は何れも16以上の値となる。
Y = 0.257×R+0.504×G+0.098×B+16
Cb=−0.148×R−0.291×G+0.439×B+128
Cr= 0.439×R−0.368×G−0.071×B+128
・・・(1)
【0017】
これに対して、画素値が“0xFFFFFF”である画素については透明色判断処理10にて透明色であると判断され、画素値を0x000000に変換するオールゼロ変換処理20bが実行される。前述したことから明らかように、0x000000はRGB表色系からYCbCr表色系への写像における写像範囲外の値であり、デコード側(本実施形態では、画像表示制御装置2)にてデコード結果に応じた画像の表示を行う際に、透明色制御の対象であるか否かを画素毎に判定する際の手掛かりとなる。よって、以下では、上記0x000000のことを制御対象明示値と呼ぶ。
【0018】
非可逆圧縮符号化処理30は、画素毎にRGB→YCbCr変換処理20aまたはオールゼロ変換処理20bの何れかが施された画像データに非可逆圧縮符号化を施し、圧縮符号化データを生成する処理である。ただし、本実施形態では、画素値が制御対象明示値である画素については、非可逆圧縮符号化および復号化により制御対象明示値が復号され、かつ、YCbCr表色系の画素値については非可逆圧縮符号化および復号化により制御対象明示値とは異なる値が復号されるような非可逆圧縮符号化アルゴリズムが採用されている点に特徴がある。これは、デコード側にて、画素値を手掛かりに透明色制御の対象であるか否かを確実に判別することができるようにするためである。本実施形態では、このようにして生成された圧縮符号化データが画像表示制御装置2へ伝送される。なお、本実施形態では、制御対象明示値として0x000000を用いたが、RGB表色系からYCbCr表色系への写像範囲外の値であって、非可逆圧縮符号化および復号化により圧縮符号化前の値が確実に復号される(換言すれば、可逆圧縮符号化される)ような値(或いは、そのような非圧縮符号化アルゴリズム)を選択するようにすれば良い。
【0019】
次いで、画像表示制御装置2について説明する。画像表示制御装置2も、前述した圧縮符号化装置1と同様にDSPであり、本実施形態の特徴を顕著に示す圧縮符号化データの復号およびその復号結果に応じた画像の表示制御を実現するプログラムが予めインストールされている。図1に示すように、画像表示制御装置2は、上記プログラムにしたがって復号処理40、透明色判断処理50、YCbCr→RGB変換処理60a、判断処理60b、描画処理70および80b、透明色制御処理80aを実行する。より詳細に説明すると、画像表示制御装置2は、圧縮符号化装置1により生成された圧縮符号データの入力および透明色(圧縮符号化装置1に対して指定されたものと同一の透明色)の指定がなされると、まず、この圧縮符号化データに対して非可逆圧縮符号化処理30の逆演算に相当する復号処理40を施す。その結果、画素値としてYCbCr表色系の画素値または制御対象明示値を有する画像データが得られることとなる。
【0020】
図1の透明色判断処理50は、復号処理40により得られた画像データの表す画像を構成する画素毎に透明色制御の対象であるか否かをその画素値に応じて判断する処理である。より詳細に説明すると、判断対象の画素の画素値が制御対象明示値に等しい場合には、透明色判断処理50の判断結果はYesになり、逆に、判断対象の画素の画素値が制御対象明示値に等しくない場合には、透明色判断処理50の判断結果はNoになる。前述したように本実施形態では、圧縮符号化前に画素値が制御対象明示値であった画素は、非可逆圧縮符号化および復号化を経ても画素値として制御対象明示値が必ず復号され、また、圧縮符号化前に画素値がYCbCr表色系の画素値であったものが非可逆圧縮符号化および復号化により制御対象明示値に復号されることはない。このため、上記透明色判断処理50によって、透明色制御の対象画素であるか否かを正確に判別することができるのである。
【0021】
透明色判断処理50の判断結果がNoである画素に対しては、その画素値(YCbCr表色系の画素値)を以下の式(2)にしたがってRGB表色系の画素値に変換するYCbCr→RGB変換処理60aが実行され、その変換結果に応じた色で表示装置に描画させる描画処理70が行われる。
R=1.164×(Y−16)+1.596×(Cr−128)
G=1.164×(Y−16)−0.391×(Cb−128)−0.813×(Cr−128)
B=1.164×(Y−16)+2.018×(Cb−128)
・・・(2)
【0022】
これに対して、透明色判断処理50の判断結果がYesである画素に対しては、透明色制御の実行を指示されているか否かの判断処理60bが行われ、その判断結果がYesであれば、透明色制御(すなわち、当該画素を描画しない)80aが、逆、その判断結果がNoであれば、透明色(すなわち、透明とすべき旨を指定された色)で表示装置に表示させる描画処理80bが行われる。
以上が本実施形態の圧縮符号化装置1および画像表示制御装置2の構成および機能である。
【0023】
以上に説明したように、本実施形態によれば、圧縮符号化前の画素値が制御対象明示値である画素については非可逆圧縮符号化および復号化を経ても画素値として必ず制御対象明示値が復号され、YCbCr表色系の画素値については必ず制御対象明示値とは異なる値が復号される。このため、本実施形態では、付加ビット等の付加情報を用いることなくデコード側で透明色制御の対象画素であるか否かをデコード後の画素値に基づいて正確に判断することができる。本実施形態では、付加情報を用いないのであるから、非可逆圧縮符号化における圧縮率の低下が生じることはない。つまり、本実施形態によれば、透明色制御の対象となる画像データに非可逆圧縮符号化を施す際に、圧縮率を低下させることなく、デコード側で正確な透明色制御を行うことが可能になる。
【0024】
(B:第2実施形態)
図2は、本発明の第2実施形態である圧縮符号化装置100と画像表示制御装置200とを含む画像データの圧縮符号化伝送システムの構成例を示す図である。このシステムにおいても、図1に示すシステムと同様に、画像データ(RGB24ビット形式)の圧縮符号化伝送、その復号および復号結果に応じた画像の表示制御が行われる。ただし、図2に示すシステムにおいては、前述した第1実施形態とは異なり、制御対象明示値についても可逆圧縮符号化とはならない非可逆圧縮符号化アルゴリズムが採用されている点に特徴がある。
【0025】
まず、圧縮符号化装置100について説明する。
図2の圧縮符号化装置100も、図1の圧縮符号化装置1と同様にDSPであり、本実施形態の特徴を顕著に示す非可逆圧縮符号化処理を実現する非可逆圧縮符号化プログラムが予めインストールされている。図2に示すように、この非可逆圧縮符号化処理は、データ変換処理120、非可逆変換処理130、および、可逆圧縮符号化処理140を含んでいる。なお、本実施形態では、これら各処理をソフトウェアで実現するが、データ変換処理120を実行するデータ変換手段、非可逆変換処理130および可逆圧縮符号化処理140を実行する非可逆圧縮符号化手段の各々を電子回路で構成し、これら各手段を組み合わせて圧縮符号化装置100を構成しても勿論良い。
【0026】
データ変換処理120は、非可逆圧縮符号化の対象となる画像データ(RGB表色系の画像データ)を後段の各処理に適したものに変換する処理である。このデータ変換処理120は、第1実施形態における透明色判断処理10、RGB→YCbCr変換処理20aおよびオールゼロ変換処理20bに対応する処理である。図3は、データ変換処理120の流れを示すフローチャートである。このデータ変換処理120は、圧縮符号化対象となる画像データに含まれる画素データ毎(すなわち、同画像データの表す画像の構成画素毎)に実行される処理である。例えば、圧縮符号化対象となる画像からラスタスキャン順に変換対象画素が1個ずつ選択され、各変換対象画素に対して図3のフローチャートにしたがった処理が実行される。
【0027】
図3に示すように、データ変換処理120では、まず、変換対象画素が透明色制御の対象となる画素であるか否かの判定(ステップSA100)が行われる。このステップSA100の判定処理の処理内容は透明色判断処理10と同一である。そして、ステップSA100の判定結果が“No”である場合には、座標変換処理(ステップSA110)が実行され、逆に、ステップSA100の判定結果が“Yes”である場合には、ステップSA120およびステップSA130の処理が実行される。
【0028】
ステップSA110の座標変換処理は、RGB表色系からYCbCr表色系への写像処理であり、その処理内容は前述したRGB→YCbCr変換処理20aと同様である。一方、ステップSA100の判定結果が“Yes”である場合に実行されるステップSA120の処理は、変換対象画素についてのY、CbおよびCr成分の各画素データとして式(1)の示す写像規則にしたがった写像の写像範囲外の値(上記写像規則にしたがった演算により得られる値の範囲の下限よりも小さな値、或いは、同範囲の上限より大きな値)を制御対象明示値として出力する処理である。そして、ステップSA120に後続して実行されるステップSA130の処理は、透明色と制御対象明示値との対応を示す透明色制御用データ(図4参照)を生成しデコード側へ出力する処理である。この透明色制御用データは、図2に示すように、画像表示制御装置200に与えられ、透明色制御を行いつつ画像表示を行う際(或いは、透明色制御を行わず画像表示を行う際)に利用される。
【0029】
本実施形態では、制御対象明示値として第1実施形態と同様に0x000000(前掲式(1)の示す写像規則による写像範囲の下限(0x101010)から大きく離れた値)が採用されている点に第1の特徴がある。本実施形態にて、制御対象明示値として写像範囲の下限から大きく離れた値を採用した理由は以下の通りである。データ変換処理120を経た画像データに対しては非可逆圧縮符号化(後述するように本実施形態では、非可逆変換処理130および可逆圧縮符号化処理140からなる非可逆圧縮符号化処理)が施されるが、前述したように、本実施形態では、制御対象明示値に対する非可逆圧縮符号化および復号化により制御対象明示値が復号されるとは限らない。しかし、如何に非可逆圧縮符号化であるとは言っても、圧縮符号化前の値から大きく離れた値が復号されるとは考えられない。透明色制御の対象となる画素の画素値をその他の画素(すなわち、透明制御の対象ではない画素)についての写像範囲の上限或いは下限から大きく離れた値に変換しておけば、仮に、非可逆圧縮符号化による影響があったとしても、復号後の画素値は写像範囲外に留まる可能性が高くなると考えられる。したがって、透明色制御の対象となる画素の画素値を上記写像範囲の上限或いは下限から大きく離れた値に変換しておけば、非可逆圧縮符号化および復号化を経た後も、その復号後の画素値が上記写像範囲外の値であるか否かを判別することによって、透明色制御の対象であるか否かを付加ビット等の付加情報を用いることなくデコード側で正確に判別することができると期待される。これが、制御対象明示値として上記写像範囲の下限から大きく離れた値(0x000000)を用いた理由である。なお、本実施形態では、透明色制御の対象となる画素について非可逆圧縮符号化および復号化を経た後の画素値が上記写像範囲外の値となることを保証する非可逆圧縮符号化アルゴリズムおよび復号化アルゴリズムが採用されている点に第2の特徴があり、この第2の特徴については後に詳細に説明する。
【0030】
以上説明したように、本実施形態のデータ変換処理120は、RGB表色系からYCbCr表色系への色変換処理そのものではないが、以下では説明の便宜上、データ変換処理120を経た画像データを「YcBCr表色系の画像データ」と呼ぶ。なお、本実施形態では、透明色が1種類である場合について説明するが、複数種の透明色を設定しても良いことは勿論である。このように複数種の透明色を設定する態様においては、それら透明色の各々に対して互いに異なる制御対象明示値を割り当てれば良く、また、透明色制御用データとして、複数の透明色の各々と各制御対象明示値との対応関係を示すものを生成するようにすれば良い。
以上がデータ変換処理120の内容である。
【0031】
非可逆変換処理130は、可逆圧縮符号化処理140における圧縮率を高めるためにその前段で行われる処理である。図2に示すように、非可逆変換処理130は、縮小処理131、拡張処理132、および量子化処理133を含んでいる。図2に示すように、縮小処理131および拡張処理132は、データ変換処理120により生成される3種類の新たな画像データのうちCb成分およびCr成分の画像データのみを処理対象とする。縮小処理131は、図5(A)に示すように、Cb成分およびCr成分の画像データを2×2画素のマトリクス状に区分けし、各マトリクスにて左上隅の画素に対応する画素データを除く3つの画素データを削除する処理(すなわち、4画素当たり3画素の割合で画素を間引く処理)である。一方、拡張処理132は、図5(B)に示すように、縮小処理131にて間引かれなかった画素データ(上記2×2画素のマトリクスにて左上隅に位置する画素の画素データ)を用いて上記間引いた画素データを補間する処理である。ここで注目すべき点は、画像データの圧縮率を向上させるという観点から言えば、図5(A)に示すYCbCr411形式の画像データを圧縮符号化する場合のほうが、図5(B)に示すYCbCr444形式の画像データを圧縮符号化する場合に比較して圧縮率が高くなるにも関わらず拡張処理132を行ってYCbCr411形式の画像データをYCbCr444形式の画像データに変換している点である。このような変換を行う理由については、画像表示制御装置200における処理の説明にて明らかにする。なお、非可逆変換処理130においてY成分の画像データに対して縮小処理131および拡張処理132を施さないのは、Y成分の画像データは各画素の輝度を表すため、画素データの間引きを行ってしまうと画質の劣化が顕著に表れるからである。また、本実施形態にてRGB表色系の画像データをデータ変換処理120によりYCbCr表色系の画像データに変換した後に非可逆変換処理130を施すようにしたのも上記縮小処理131、拡張処理132および量子化処理133による画質の劣化を回避するためである。
【0032】
量子化処理133は、Y成分、Cb成分およびCr成分の画像データの何れか、或いは全てを処理対象とし、処理対象の画像データを構成する各画素データのビット数を削減する処理である。この量子化処理133は、量子化モードテーブルを参照して実行され、この量子化モードテーブルの格納内容の一例は以下の表1に示す通りである。この量子化モードテーブルについては、非可逆圧縮符号化プログラムに予め埋め込んでおいても良く、また、非可逆圧縮符号化プログラムとは別個に圧縮符号化装置100に記憶させておいても良い。表1に示すように量子化モードテーブルには、量子化モードを示すモード値(本実施形態では、0〜6までの6種類の値、なお、モード値=0は量子化処理133を施さないことを示す)に対応付けてそのモード値の示す量子化モードにおける各成分の削減ビット数を規定する量子化係数(表1では、Y成分量子化係数、Cb成分量子化係数およびCr成分量子化係数)が格納されている。量子化処理133では、予め設定されたモード値(或いは、外部から与えられる量子化モード信号の示すモード値)に対応する量子化係数が量子化モードテーブルから読み出され、その量子化係数に応じたビット数分の右論理シフトを該当する成分の画素データに施すことで、そのモード値に応じた量子化が実現される。
【表1】
【0033】
例えば、モード値=1が予め設定されている場合には、Y成分の画像データに対してのみ、画素データのビット数を1ビット削減する処理(1ビットの右論理シフト)が施され、モード値=2が予め設定されている場合には、Y成分、Cb成分およびCr成分の各画像データに対して画素データのビット数を1ビット削減する処理が施される。図2に示すように、本実施形態では、非可逆変換処理130を経た画像データに対して可逆圧縮符号化処理140が施され、その処理結果である圧縮符号化データが画像表示制御装置200による復号化の対象となる。後述するように可逆圧縮符号化処理140は予測符号化と可変長符号化とを併用した典型的な可逆演算であるが、その前段で各々非可逆演算からなる非可逆変換処理130が施されるため、圧縮符号化装置100における圧縮符号化演算は全体として非可逆演算となるのである。また、本実施形態では、図2に示すように、量子化処理133における量子化モードのモード値を示す量子化モード信号が圧縮符号化装置100から画像表示制御装置200に与えられる。この量子化モード信号は、画像表示制御装置200にて上記量子化処理の逆演算である逆量子化処理を行う際に利用される。
【0034】
可逆圧縮符号化処理140は、図2に示すように、予測符号化処理141、予測誤差変換処理142、および、可変長符号化処理143を含んでいる。予測符号化処理141では、図6に示すように、圧縮符号化対象の画像を構成する各画素の中から対象画素Xがラスタスキャン順に選択される。そして、対象画素Xの近傍の画素の画素データから対象画素についての画素データの予測値Mxが算出され、この予測値Mxと対象画素の画素データの実際値との差分である予測誤差X−Mxが算出される。
【0035】
具体的には、予測符号化処理141では、次のアルゴリズムに従って、予測値Mxが算出される。まず、対象画素Xの左隣の画素Xaの画素データがXa、対象画素の直上の画素Xbの画素データがXb、対象画素の左上の画素Xcの画素データがXcである場合において、これらの3つの画素データの最大値max(Xa、Xb、Xc)を求め、Xc=max(Xa、Xb、Xc)であるか否かを判断する。この判断結果が肯定的である場合において、Xb<Xaであれば、予測値MxをXbとし、Xa<Xbであれば予測値MxをXaとする。一方、Xc=max(Xa、Xb、Xc)でない場合、3つの画素データの最小値min(Xa、Xb、Xc)を求め、Xc=min(Xa、Xb、Xc)であるか否かを判断する。この判断結果が肯定的である場合において、Xb>Xaであれば、予測値MxをXbとし、Xa>Xbであれば予測値MxをXaとする。そして、Xc=max(Xa、Xb、Xc)でもなく、Xc=min(Xa、Xb、Xc)でもない場合、すなわち、Xc>min(Xa、Xb、Xc)であり、かつ、Xc<max(Xa、Xb、Xc)である場合、Mx=Xa+Xb−Xcを予測値Mxとする。そして、このようにして得られる予測値Mxと対象画素Xの画素データの実際値との差分である予測誤差X−Mxを算出するのである。
【0036】
本実施形態では、前述した非可逆変換処理130により、Cb成分の画像データとCr成分の画像データは同一の値を有する4個の画素データがマトリクス状に並ぶものに変換されており(図7参照)、各マトリクス内で右下隅に位置する画素についての予測誤差は必ずゼロとなる。つまり、Cb成分の画像データとCr成分の画像データについては、水平方向に並んだ複数の画素の各々についての予測誤差が少なくとも1つおきにゼロになることが保証されている。このため、本実施形態では、Cb成分およびCr成分の画像データに関して予測符号化処理141にて算出される予測誤差が連続してゼロとなりやすくなっているのである。詳細については後述するが、予測誤差がゼロとなる画素が連続して表れるほど圧縮符号化データのデータサイズは小さくなる(換言すれば、圧縮率は高くなる)。
【0037】
予測誤差変換処理142は、予測符号化処理141により算出される予測誤差の符号ビットを反転すると当該予測誤差の絶対値が減少する場合に当該予測誤差の符号ビットを反転させる処理である。この予測誤差変換処理142が行う変換処理の内容は、予測誤差の構成ビット数、すなわち、圧縮符号化の対象となる画像データを構成する各画素データの構成ビット数により異なったものとなる。図8は、予測誤差の構成ビット数(符号ビットを除く)が8ビット、6ビット、5ビット、4ビットの各場合について、入力データである予測誤差と予測誤差変換処理142を経た出力データとの関係を示したものである。なお、図8では、符号を反転した場合に絶対値が小さくなる入力データのみについて入力データと出力データとの関係が示されており、符号を反転した場合に絶対値が小さくならない入力データ(すなわち、符号反転されることなくそのまま出力データとなる入力データ)については、入力データと出力データとの関係の図示は省略されている。
【0038】
図9は、予測誤差の構成ビット数(符号ビットを除く)が6ビットである場合について、予測誤差変換処理142の入力データと出力データとの関係を示している。この図において、矢印は変換の方向を示している。本実施形態において取り扱う各成分の画素データおよび予測誤差等の2進の数値データは、2の補数形式で負の数の表現を行う。この場合において、予測誤差の構成ビット数(符号ビットを除く)が6ビットであるとすると、正の値では絶対値が32以上の予測誤差は符号ビットを反転したときの絶対値が元の絶対値以下になる。そこで、絶対値が26−1=32以上の正の予測誤差は符号ビットの反転を行う。また、負の値でも絶対値が32以上の予測誤差(すなわち、−32以下の負の値)は符号ビットを反転したときの絶対値が元の絶対値以下となる。そこで、絶対値が32以上の負の予測誤差は符号ビットの反転を行う。予測誤差の構成ビット数が異なる他の場合についても同様であり、図8に示すように、予測誤差の構成ビット数が8ビットである場合には絶対値が28−1=128以上である予測誤差が符号反転の対象となり、予測誤差の構成ビット数が5ビットである場合には絶対値が25−1=16以上である予測誤差が符号反転の対象となり、予測誤差の構成ビット数が4ビットである場合には絶対値が24−1=8以上である予測誤差が符号反転の対象となる。
【0039】
可変長符号化処理143は、予測誤差変換処理142を経た予測誤差を可変長符号に変換する処理である。上述したように、予測符号化処理141では、圧縮符号化の対象となる画像を構成する各画素の中からラスタスキャン順に対象画素Xが選択され、予測誤差が算出される。本実施形態では、予測符号化処理141によりラスタスキャン順に算出される予測誤差に対してそのままの順序で予測誤差変換処理142および可変長符号化処理143が施され、可変長符号に変換される。このようにして得られる可変長符号の集合体が、圧縮符号化装置100の出力データたる圧縮符号化データとなるのである。
【0040】
図10は、可変長符号化処理143において、予測誤差を可変長符号に変換する際に参照される変換テーブルの内容を示す図である。この変換テーブルについても、前述した量子化モードテーブルと同様に非可逆圧縮符号化プログラムに埋め込んでおいても良く、また、非可逆圧縮符号化プログラムとは別個に圧縮符号化装置100に記憶させておいても良い。図10において、符号化対象は、予測誤差変換処理142を経た予測誤差である。Sは符号長が同じである可変長符号に割り当てられた可変長符号のグループ番号である。1つの可変長符号は、符号と付加ビットとにより構成されている。ここで、符号は、その可変長符号が属するグループを他のグループと区別するための識別情報である。また、付加ビットは、ある符号を持った可変長符号のグループ内において、各可変長符号を他の可変長符号と区別するための識別情報である。
【0041】
図10に示すように、0以外の絶対値を持った符号化対象は、絶対値が小さいもの程、少ないビット長の符号および付加ビットからなる可変長符号に変換される。例えば絶対値が1である2種類の符号化対象−1、1は、符号01が割り当てられたグループ番号S=1の可変長符号に変換され、2種類の符号化対象−1、1の各々付加ビット0、1により区別される。また、絶対値が2〜3の範囲に属する4種類の符号化対象−3、−2、2、3は、符号10が割り当てられたグループ番号S=2の可変長符号に変換され、4種類の符号化対象−3、−2、2、3は各々付加ビット00、01、10、11により区別される。以下、同様であり、符号化対象は、各々連続した絶対値を持ったグループに分けられ、大きな絶対値を持った符号化対象のグループ程、ビット長の大きな符号が割り当てられる。また、絶対値が256である符号化対象のグループを除き、大きな絶対値を持った符号化対象のグループ程、グループを構成する符号化対象の個数は大きくなり、それらを区別するための付加ビットのビット長も長くなる。なお、本実施形態で取り扱う予測誤差の構成ビット数(符号ビットを除く)は最大8ビットであり、−256および256は、いずれもオーバーフロー状態を表わす。従って、−256および256は、符号が111111110であり、付加ビットのない同じ可変長符号に変換される。
【0042】
絶対値が0である符号化対象は、ZRL(Zero Run Length)、すなわち、0の連続長が可変長符号に変換される。例えばZRL=1は、符号000が割り当てられたグループ番号S=9の可変長符号に変換される。また、2〜3の範囲に属する2種類のZRL=2、3は、符号0010が割り当てられたグループ番号S=10の可変長符号に変換され、2種類のZRL=2、3は各々付加ビット0、1により区別される。また、4〜7の範囲に属する4種類のZRL=4、5、6、7は、符号00110が割り当てられたグループ番号S=11の可変長符号に変換され、4種類のZRL=4、5、6、7は各々付加ビット00、01、10、11により区別される。以下、同様であり、ZRLは、各々連続したZRLからなるグループに分けられ、大きなZRLのグループ程、ビット長の大きな符号が割り当てられる。また、大きなZRLのグループ程、グループを構成するZRLの個数は大きくなり、それらを区別するための付加ビットのビット長も長くなる。さらに本実施形態では、圧縮率を高めるために、ALL0という予測誤差の発生形態が想定されている。このALL0は、着目している画素の予測誤差が0であり、かつ、その画素が属するラインのその画素以降の全ての画素の予測誤差が0である状態である。本実施形態においてこのALL0は、符号が001110であり、付加ビットのない可変長符号に変換される。前述したように、本実施形態では、Cb成分画像データおよびCr成分画像データについては縮小処理131および拡張処理132を施すことによって、水平走査線方向に並んだ複数の画素の予測誤差は、必ず1つおきに0になり、0の連続長が長くなり易くなっている。このため、本実施形態では、ZRLを利用して効率的に可変長符号化を行い、圧縮率を高めることができると期待されるのである。
以上が本実施形態による圧縮符号化装置100の詳細である。
【0043】
次に画像表示制御装置200について説明する。
前掲図2の画像表示制御装置200は、圧縮符号化装置100により生成された圧縮符号化データを復号し、その復号結果である画像データを液晶ディスプレイなどの表示装置に与えて画像の表示制御を行う装置である。この画像表示制御装置200も、圧縮符号化装置100と同様にDSPなどのコンピュータに本実施形態の復号処理を実現するプログラム(以下、復号プログラム)をインストールしたものである。画像表示制御装置200は、この復号プログラムにしたがって可逆復号処理210、逆量子化処理220、および表示制御処理230、を実行する。なお、本実施形態では、これら各処理をソフトウェアで実現するが、可逆復号処理210および逆量子化処理220を実行する復号手段、および、表示制御処理230を実行する表示制御手段の各々を電子回路で構成し、これら各手段を組み合わせて画像表示制御装置200を構成しても勿論良い。
【0044】
図2の可逆復号処理210は、可逆圧縮符号化処理140の逆演算に相当し、可変長復号化処理211と逆予測符号化処理212とを含んでいる。可変長復号化処理211は、前述した可変長符号化処理143の逆演算であり、可変長符号化処理143にて用いているものと同じ変換テーブルを使用し、符号と付加ビットとからなる可変長符号を可変長符号化前の予測誤差に戻す処理である。一方、逆予測符号化処理212は、予測符号化処理141の逆演算に相当する処理である。この逆予測符号化処理212では、可変長復号化処理211により得られる予測誤差から、その予測誤差に応じた成分の画像データ(すなわち、Y成分、Cb成分およびCr成分の各画像データ)への変換が行われる。さらに詳述すると、Y成分、Cb成分およびCr成分のうちのある成分に関し、図6に示す3個の画素Xc、Xb、Xaの画素データが既に復号化されている状態において、画素Xの予測誤差が可変長復号化処理211により得られた場合、この逆予測符号化処理212では、予測符号化処理141と同様なアルゴリズムに従い、画素Xc、Xb、Xaの各画素データから画素Xの画素データの予測値MXが算出される。そして、この予測値MXに画素Xの予測誤差を加算することにより画素Xの画素データが算出されるのである。圧縮符号化装置100から出力される圧縮符号化データに対して可逆復号処理210を施すことにより、圧縮符号化装置100にて可逆圧縮符号化処理140が施される前の画像データ(すなわち、原画像データであるRGB表色系の画像データにデータ変換処理120を施して得られるYCbCr表色系の画像データに、さらに非可逆変換処理130を施して得られる画像データ)が完全に復元されるのである。
【0045】
本実施形態では、前掲式(1)にしたがって生成されるY成分、Cb成分およびCr成分の各画素データは正の値(より正確には、16以上の値)を有し、これら各画素データに量子化処理133を施して得られるデータも0以上の値を有する。そこで、逆予測符号化処理212では、予測符号化前の各成分の画素データが正の値であることを前提とし、予測値MXと予測誤差の加算結果において符号ビットを除く部分を復号結果たる各成分の画素データとする。従って、本実施形態では、予測誤差における符号ビットを除く部分の内容が同じであれば、予測誤差が符号ビット“0”を有する正の値であるか符号ビット“1”を有する負の値であるかによらず、その予測誤差から同じ画素データが復元される。圧縮符号化装置100にて予測誤差変換処理142を行うのは、予測誤差の符号ビットの“1”/“0”が復号結果に影響を与えないという点を利用し、可変長符号化処理143における符号化対象(予測誤差)をより絶対値の小さな値とし、変換後の可変長符号のビット長を短くする(すなわち、圧縮符号化データのデータ量を削減し、圧縮率を高める)ためである。この点に関し、一例を挙げて説明すると、次のようになる。
【0046】
まず、Y成分、Cb成分およびCr成分の各画素データおよび予測誤差の構成ビット数(符号ビットを除く)が6ビットであり、図10における対象画素Xの画素データが59d(dは10進)、予測値が10d、予測誤差が49d=0110001b(bは2進。先頭の“0”は符号ビット)であったとする。ここで、仮に予測誤差変換処理142を行わなかったとすると、圧縮符号化装置100および画像表示制御装置200の処理内容は次のようになる。まず、圧縮符号化装置100が実行する可変長符号化処理143では、図10に示す変換テーブルに従い、予測誤差49dはグループ番号S=6のグループに属する符号111110および付加ビット110001からなる12ビットの可変長符号に変換されて出力される。画像表示制御装置200が実行する可変長復号化処理211においては、この可変長符号が予測誤差49dに変換される。そして、逆予測符号化処理212では、次式に示すように、予測値である10d=0001010bと予測誤差である49d=0110001bの2進加算が行われ、対象画素Xの画素データ59dが復元される。
0001010b+0110001b=0111011b
=59d
……(3)
【0047】
これに対し、予測誤差変換処理142を含む圧縮符号化を行う場合の圧縮符号化装置100と画像表示制御装置200の処理内容は次のようになる。まず、図9に示すように、予測誤差である49dは、2進数に変換すると、0110001b(bは2進。先頭の“0”は符号ビット)となる。この2進数の先頭の符号ビットを“0”から“1”に反転すると、図10に示すように、符号ビットの反転後の2進数1110001bに対応した10進数は−15dとなり、符号ビットの反転前の49dよりも絶対値の小さな値となる。そこで、圧縮符号化装置100が実行する予測誤差変換処理142の出力データは、符号ビットを反転した予測誤差1110001b=−15dとなる。この予測誤差変換処理142に後続する可変長符号化処理143は、図10の変換テーブルに従い、この予測誤差1110001b=−15dは、グループ番号S=4のグループに属する符号1110および付加ビット0000からなる8ビットの可変長符号に変換され、出力される。画像表示制御装置200が実行する可変長復号化処理211では、この可変長符号が予測誤差1110001b=−15dに変換される。そして、この可変長復号化処理211に後続する逆予測符号化処理212では、次式に示すように、予測値である10d=0001010bと予測誤差である−15d=1110001bの2進加算が行われる。
0001010b+1110001b=1111011b ……(4)
【0048】
そして、逆予測符号化処理212では、この加算結果1111011bの先頭の符号ビット“1”が無視され、対象画素Xの画素データを、111011b=59dとする。このように、復号結果である画素データは予測値と予測誤差の構成ビットのうち符号ビットを除く部分のみにより決定される。そこで、本実施形態における圧縮符号化装置100では、予測誤差の符号ビットを反転させた場合において予測誤差の絶対値が小さくなる場合には、予測誤差変換処理142にて予測誤差の符号反転を行った後に可変長符号化処理143を施し、圧縮符号化データを構成する可変長符号のビット長を短縮しているのである。
以上が可逆復号処理210の処理内容である。
ここで、注目すべき点は、可逆復号処理210は、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより可逆圧縮符号化された画像データを復号する処理と何ら変わらないという点である。このため、可逆復号処理210を実行するデコード回路(図1では図示略)としては、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより可逆圧縮符号化された画像データのデコードを行う従来のものをそのまま用いることができる。したがって、本実施形態の画像表示制御装置200によれば、圧縮符号化装置100により得られた非可逆圧縮符号化データのデコードと上記可逆圧縮符号化データのデコードの両方を行うことができるのである。仮に圧縮符号化装置100側で拡張処理132が行われていないとしたならば、この拡張処理132に相当する処理を画像表示制御装置200側で行う必要があり、従来のデコード回路をそのまま用いることはできず、何らかの変更を加えなければならない。また、ラインバッファ方式の画像処理LSIに組み込まれる場合のように、ライン単位でデコードを行う必要がある場合には、ラインをまたぐ拡張処理は複雑なものとなるため、デコード回路に加える変更も複雑なものとなってしまう。本実施形態では、圧縮符号化装置100側で拡張処理132を行うようにしたため、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより可逆圧縮符号化された画像データのデコードを行うデコード回路をそのまま用いて画像表示制御装置200を構成することができ、これが圧縮符号化装置100にて拡張処理132を行う理由である。
【0049】
逆量子化処理220は、前述した量子化処理133の逆演算であり、量子化処理133にて構成ビットの削減が行われた画素データについてその構成ビットを補間する処理である。前述したように、圧縮符号化装置100で行われる量子化処理133にて構成ビットの削除が行われる画素データおよび削除されるビット数は、圧縮符号化装置100から画像表示制御装置200へ送られる量子化モード信号の信号値で表される。この逆量子化処理220では、上記量子化モード信号の信号値に応じて、以下の表2に示す要領で各成分の画像データの補間が行われる。
【表2】
【0050】
例えば、モード値=1の場合、圧縮符号化装置100が実行する量子化処理133では、Y成分の画素データの構成ビット数は、1ビット削減され、7ビットとなっている(表2では、Y[6:0]と表記)。これに対して、画像表示制御装置200が実行する逆量子化処理220では、Y成分の画素データの最上位ビットから上記削除したビット数分のビット(この例では、Y[6])を、その最下位ビットの後ろに付加することで、Y成分の画素データの構成ビット数は8ビットに復元されるのである。
【0051】
図2の表示制御処理230は、逆量子化処理220により得られた画像データの示す画像を構成する画素をラスタスキャン順に1画素ずつ選択し、処理対象として選択した画素に対して図11(A)または図11(B)に示すフローチャートにしたがってRGB表色系の画素データに変換して出力する処理である。より詳細に説明すると、画像表示制御装置200の操作部(図2では図示略)に対する操作により透明色制御を行わない旨の指示が入力された場合には、この表示制御処理230では図11(A)に示すフローチャートにしたがった処理が実行される。逆に、透明色制御を行わない旨の指示が入力された場合には、表示制御処理230では図11(B)に示すフローチャートにしたがった処理が実行される。
【0052】
図11(A)に示すように、表示制御処理230では、まず、処理対象画素が透明色制御の対象であったものか否かが判定される(ステップSB100)。この判定については種々の態様で行うことが考えられる。例えば、処理対象画素の画素値が、前掲式(1)の示す写像規則にしたがった演算により得られる写像範囲外の値であるか否かにより判定する態様や、処理対象画素のY成分の画素値にのみ着目し、当該画素値が上記範囲外(例えば、16未満)であるか否かにより判定する態様が考えられる。
【0053】
ここで、ステップSB100の判定処理にてY成分の画素データのみに着目しても良い理由は、以下の通りである。前述したように、Cb成分およびCr成分の画素データに対しては、図5(A)および図5(B)に示す要領で縮小処理131および拡張処理132が施されている。Cb成分およびCr成分の画像データについては、これら縮小処理131および拡張処理132の実行過程で制御対象明示値を設定した画素データの削除、或いは、当該画素データによる他の画素データの補間が行われていないとは保証できない。これに対して、Y成分の画像データについては、縮小処理131および拡張処理132を経ておらず、その圧縮符号化方式は可逆圧縮符号化であると言える。したがって、Y成分に関しては、透明色制御の対象となる画素については、必ずその旨を示す値の画素データが復号され、逆に、透明色制御の対象ではない画素については、本来のY成分の強度を示す画素データが必ず復号される。このため、Y成分の画素データが上記写像規則の写像範囲外の値であるか否かを判定することによって、その処理対象画素が透明色制御の対象であるか否かを正確に判別することができるのである。これが、ステップSB100の判定処理にてY成分の画素データのみに着目しても良い理由である。
【0054】
図11(A)のステップSB100の判定結果が“No”である場合に実行される逆座標変換処理(ステップSB110)は、前述したYCbCr→RGB変換処理60aと同一内容の処理である。一方、ステップSB100の判定結果が“Yes”である場合に実行されるステップSB120の処理は、処理対象画素のRGB表色系の画素データとして透明色制御用データにより指示される透明色を示すものを出力する処理である。前述したように、透明色は透明色制御を施すべき画素のRGB表色系における色(すなわち、原画像における当該画素の色)を表している。このように、図11(A)に示す表示制御処理では、逆量子化処理220により得られた画像データの表す全ての画素についてRGB表色系の画素データが表示装置に出力され、その画像データの表す画像の全てが表示装置に表示されることとなる。
【0055】
これに対して、図11(B)は、透明色制御を行う旨の指示が入力された場合に実行される表示制御処理230の流れを示すフローチャートである。図11(A)と図11(B)とを対比すれば明らかように、図11(B)に示す表示制御処理では、ステップSB100の判定結果が“Yes”である場合に、前述したステップSB120の処理を実行しない点が図11(A)に示す表示制御処理と異なる。このように、図11(B)に示す表示制御処理では、ステップSB100の判定結果が“Yes”となる画素(すなわち、透明色制御の対象となる画素)についてステップSB120の処理が実行されず、表示装置にはこれらの画素に該当する部分が欠落した画像が表示されることとなる。したがって、当該画像が背景画像の手前にオーバレイ表示されるものである場合には、上記欠落部分に関しては背景画像の画素が見えることとなり、透明色制御が実現されるのである。
【0056】
以上説明したように、本実施形態によれば、透明色制御の対象画素であるか否かを示す付加情報(図14(C)および(D)に示す符号ビット等)に比較して透明色制御用データのデータサイズは充分に小さく、圧縮率の低下を抑えることができる。また、本実施形態にて、非可逆圧縮符号化および復号化を経た画像データにおいて透明色制御の対象画素を正確に弁別することができることは前述した通りである。つまり、本実施形態によっても、透明色制御の対象となる画像データに非可逆圧縮符号化を施す際に、圧縮率が大幅に低下することを避けつつ、デコード側にて透明色制御を正確に行うことが可能になる。
【0057】
(C:第3実施形態)
次いで、本発明の画像表示制御装置の第3実施形態について説明する。
図12は、本発明の画像表示制御装置の他の実施形態であるラインバッファ方式の画像処理LSI300の構成例を示すブロック図である。この画像処理LSI300は、例えばゲーム機などに組み込まれ、そのゲーム機の制御中枢として機能するCPU(Central Processing Unit)402による制御下でゲームキャラクタ等を表すスプライト画像やゲームシーンの背景画像をモニタ403にオーバレイ表示させるものである。より詳細に説明すると、図12のスプライトパターンメモリ401には、スプライトの画像データに圧縮符号化装置100による非可逆圧縮符号化を施して得られる圧縮符号化データが格納されている。画像処理LSI300は、CPU402による制御の下、圧縮符号化データをスプライトパターンメモリ401から読み出して復号し、その復号結果である画像データに応じたスプライト画像をライン(水平走査線)単位でモニタ403に表示させるものである。なお、図12では、画像処理LSI300を構成する要素のうち、圧縮符号化データの復号化および再生に関与している部分のみが図示されており、それ以外の要素の図示は省略されている。
【0058】
スプライトパターンメモリ401は、複数種類のスプライト画像の各々の圧縮符号化データを記憶したメモリであり、例えばROM(Read Only Memory)により構成されている。
【0059】
画像処理LSI300において、CPUI/F(インタフェース)301は、CPU402から制御情報を受け取る装置である。記憶部302は、CPUI/F301を介してCPU402から与えられる制御情報を記憶する装置であり、例えばRAM(Random Access Memory)により構成されている。CPU402から記憶部302に与えられる制御情報には、復号化および再生の対象であるスプライト画像の圧縮符号化データのスプライトパターンメモリ401内の格納先アドレス、モニタ403の表示画面におけるスプライト画像の表示位置、スプライト画像の拡大・縮小に関する指示、圧縮符号化情報等が含まれる。図13に示すように、圧縮符号化情報には、量子化モードを示す量子化モード識別子と前述した透明色制御用データが含まれている。なお、各透明色制御用データの示す透明色は同一であっても良く、また、各々異なっていても良い。同様に、各透明色制御用データの示す制御対象明示値も同一であっても良く、各々異なっていても良い。
【0060】
制御部303は、記憶部302に記憶された制御情報に従って画像処理LSI300内の各部の制御を行う制御中枢である。パターンメモリI/F304は、制御部303による制御の下、記憶部302に記憶された制御情報に含まれている格納先アドレスの示す記憶領域に格納されている圧縮符号化データをスプライトパターンメモリ401から取得する取得手段の役割を果たす。パターンデータデコーダ305は、前述した可逆復号処理210を実行する装置である。このパターンデータデコーダ305は、制御部303による制御の下、スプライトパターンメモリ401からパターンメモリI/F304を介してスプライト画像の圧縮符号化データを受け取り、可変長復号化処理211および逆予測符号化処理212を施す。これにより、圧縮符号化前のスプライトの画像データ(RGB表色系の画像データ)にデータ変換処理120および非可逆変換処理130を順次施して得られる画像データが復元されることになる。
【0061】
パターンデータデコーダ305から出力される画像データは、逆量子化部306による逆量子化処理(前述した逆量子化処理220と同一の処理)および表示制御部307による表示制御処理(前述した表示制御処理230と同一の処理)を経てRGB表色系の画像データに変換される。図12の逆量子化部306は、記憶部302に記憶された制御情報に含まれている圧縮符号化情報の量子化モード識別子にしたがって前述した逆量子化処理220を実行し、表示制御部307は、同圧縮符号化情報に含まれている透明色制御用データと制御部303から与えられる透明色制御を行うか否かの指示に応じて図11(A)或いは図11(B)に示す表示制御処理を実行する。表示制御部307による処理を経た画像データは、スプライトレンダリングプロセッサ308によるレンダリングでラインバッファ309Aまたは309Bに格納される。
【0062】
より詳細に説明すると、ラインバッファ309Aおよび309Bは、モニタ403の1ライン分の画像データを記憶する容量を各々有している。制御部303は、これらのラインバッファ309Aおよび309Bを交互に使用し、例えばラインバッファ309A内の1ライン分の画像データがモニタ403に表示される期間には、ラインバッファ309Bに次の1ライン分の画像データを書き込むレンダリングをスプライトレンダリングプロセッサ308に実行させ、ラインバッファ309B内の1ライン分の画像データがモニタ403に表示される期間には、ラインバッファ309Aに次の1ライン分の画素データを書き込むレンダリングをスプライトレンダリングプロセッサ308に実行させる。また、制御部303は、スプライトレンダリングプロセッサ308が行うレンダリングに間に合うように、レンダリングの対象となる1ライン分のスプライト画像の画像データをパターンデータデコーダ305、逆量子化部306および表示制御部307に出力させるための制御を行う。ここで、モニタ403の1ラインに複数種類のスプライト画像を表示させる場合もある。そのような場合、制御部303は、表示対象である全てのスプライト画像の1ライン分の画像データを得るために必要な圧縮符号化データをスプライトパターンメモリ401から読み出してパターンデータデコーダ305に供給し、その復号化を行わせるための制御を行う。
【0063】
表示コントローラ311、画像データコントローラ310およびモニタI/F312は、ラインバッファ309Aおよび309Bから交互に1ライン分の画像データを読み出してモニタ403に供給し、モニタ403に画像を表示させる手段である。さらに詳述すると、表示コントローラ311は、垂直同期信号および水平同期信号をモニタI/F312を介してモニタ403に供給するとともに、水平同期信号に同期して、画像データコントローラ310に画像データの読み出し指令を送る。画像データコントローラ310は、画像データの読み出し指令を受け取る毎に、ラインバッファ309Aおよび309Bを交互に選択し、選択したラインバッファから1ライン分の画像データを読み出し、モニタI/F312を介してモニタ403に送るのである。
以上が画像処理LSI300の構成である。
【0064】
以上のような構成としたため、本実施形態によれば、前述した画像表示制御装置200と同様に非可逆圧縮符号化の利点を損なうことなく、正確な透明色制御を行うことが可能になる。なお、本実施形態では、ラインバッファ方式の画像処理LSIに本発明を適用したが、フレームバッファ方式の画像処理LSIに本発明を適用しても勿論良い。ここで、フレームバッファ方式の画像処理LSIとは、1フレーム(1画面)分の画像データを格納するフレームバッファを備え、フレーム単位でレンダリング等を行うことを特徴とする画像処理デバイスのことである。
【0065】
(D:変形)
以上、本発明の一実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した第3実施形態では、圧縮符号化情報に量子化モード識別子が含まれていたが、量子化処理133における量子化モードが予め固定されている場合には、量子化モード識別子を圧縮符号化情報に含めておく必要はない。また、圧縮符号化データと対応付けて圧縮符号化情報をスプライトパターンメモリ401に格納しておいても良く、この場合、CPU402から制御部303に与える制御情報に圧縮符号化情報を含めておく必要はない。
【0066】
(2)上述した第2実施形態では、量子化処理133を施しておくことで、可逆圧縮符号化処理140を施す画像データの何れかの成分の構成ビット数を削減したが、このような量子化処理は必ずしも必須ではなく、省略しても勿論良い。なお、量子化処理133を省略して得られた圧縮符号化データのデコードにおいては逆量子化処理を行う必要がないことは勿論である。また、上記第2実施形態では、予測符号化処理141により得られた予測誤差に予測誤差変換処理142を施した後に可変長符号化処理143を施したが、予測誤差変換処理142を省略しても勿論良い。また、上記第2実施形態では、可逆圧縮符号化処理140として予測符号化処理141と可変長符号化処理143とを併用したものを用いたが、少なくとも予測符号化処理141を含むものであれば良い。
上述した第2実施形態では、量子化処理133の後に可逆圧縮符号化処理を行っているが、これに限られることはなく、透明色制御の対象となる画素について非可逆圧縮符号化処理および復号化を経た後の画素値が写像範囲外の値となることを保障する非可逆圧縮符号化処理アルゴリズムおよび復号化アルゴリズムであれば、非可逆圧縮符号化処理を行っても良い。
また、上述した第1実施形態では、透明色判断処理10の判断結果に応じて画素毎にRGB→YCbCr変換処理20aまたはオールゼロ変換処理20bの何れかが施された画像データに対して非可逆圧縮符号化処理30を施したが、必ずしもこれに限られるものではなく、透明色制御の対象となる画素について可逆圧縮符号化処理および復号化処理を経た後の画素値が写像範囲外の値となることを保障する可逆圧縮符号化処理アルゴリズムおよび復号化アルゴリズムであれば、可逆圧縮符号化処理を行っても良い。
【0067】
(3)上述した第2実施形態では、非可逆変換処理130(特に、縮小処理131および拡張処理132)を施すことによる画質の劣化を最小限に抑えるために、その前段においてRGB表色系からYCbCr表色系への写像を行ったが、LUV表色系への写像であっても勿論良い。他にも、RGB→YUV、RGB→YIQ、RGB→Lab、RGB→HLS、RGB→HSV、RGB→CMY、RGB→CMYKなどの各種写像を利用することが考えられる。これらの写像の写像規則は、前掲式(1)を参照すれば明らかなように、一般に、変換前の表色系における第1色成分から第3色成分の各画素データの一次結合で変換後の表色系における各成分を表す演算で表現される。つまり、データ変換処理120における演算は、画像を構成する複数の画素の各々について、変換前の表色系における第1色成分から第3色成分の各画素データの一次結合で新たな3種類の画素データを算出するような演算に一般化することができる。
【0068】
例えば、RGBの各成分の画素データから、R成分の画素データ、G成分とR成分の差分(G−R)を表す画素データ、およびB成分とR成分の差分(B−R)を表す画素データに変換する演算であっても良く、同様に、G成分、R成分とG成分の差分(R−G)およびB成分とG成分の差分(B−G)の各々を表す画素データに変換する演算や、B成分、R成分とB成分の差分(R−B)、G成分とB成分の差分(G−B)の各々を表す画素データに変換する演算であっても良い。そして、データ変換処理120のステップSA110における演算として画像を構成する複数の画素の各々について変換前の表色系における第1色成分から第3色成分の各画素データの一次結合で新たな3種類の画素データを算出する演算を採用する場合においては、同ステップSA120にて使用する制御対象明示値として上記演算の示す写像規則による写像範囲外の値(例えば、上記写像範囲の下限よりも小さな値、または、同写像範囲の上限よりも大きな値)を用いるようにすれば良い。
【0069】
また、第1色成分から第3色成分の各画素データの一次結合で新たな3種類の画素データを算出する演算の内容によっては、上記新たな画素データが0以上の値になるとは限らず、負の値となることも考えられる。しかし、本実施形態の逆予測符号化処理212では、予測符号化前の画素データが0以上の値であることを前提としているため、上記新たな画素データが負の値となることは不都合である。そこで、データ変換処理120により得られる新たな画素データが負の値となり得る場合には、上記新たな画素データに対してレベルシフト処理(例えば、一定の正の値の加算)を施し、画素データが必ずゼロ以上の値となるようにすれば良い。また、このようなレベルシフト処理を行う場合には、画質の劣化が顕著となることを避けるため、非可逆変換処理130の前段で行っておくことが望ましい。
【0070】
(4)上述した第2実施形態では、データ変換処理120により得られるYCbCr表色系の画像データのうち、Cb成分およびCr成分に対して縮小処理131および拡張処理132を施したが何れか一方の成分についてのみ縮小処理131および拡張処理132を施しても勿論良い。なお、他の表色系への写像の場合も同様に、第1色成分から第3色成分の各画素データの一次結合で得られる新たな3種類の画素データのうちの少なくとも一つに対して縮小処理131および拡張処理132を施すようにすれば良く、上記新たな3種類の画素データのうちの何れを縮小処理131および拡張処理132の処理対象とするのかについては、画質の劣化との兼ね合いで決めるようにすれば良い。
【0071】
(5)上述した第1(或いは第2)実施形態では、本実施形態の特徴を顕著に示す非可逆圧縮処理を実現するためのプログラムが圧縮符号化装置1(或いは、圧縮符号化装置100)に予めインストールされていたが、例えばCD−ROMなどのコンピュータ読み取り可能な記録媒体に上記非可逆圧縮プログラムを書き込んで配布しても良く、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。復号プログラムについても同様に、コンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、電気通信回線経由のダウンロードにより配布しても良い。
【符号の説明】
【0072】
1,100…圧縮符号化装置、2,200…画像表示制御装置、10…透明色判断処理、20a…RGB→YCbCr変換処理、20b…変換処理、30…非可逆圧縮符号化処理、30…復号処理、50…透明色判断処理、60a…YCbCr→RGB変換処理、60b…判断処理、70,80b…描画処理、80a…透明色制御処理、120…データ変換処理、130…非可逆変換処理、131…縮小処理、132…拡張処理、133…量子化処理、140…可逆圧縮符号化処理、141…予測符号化処理、142…予測誤差変換処理、143…可変長符号化処理、210…可逆復号処理、211…可変長復号化処理、212…逆予測符号化処理、220…逆量子化処理、230…表示制御処理、300…画像処理LSI、301…CPUI/F、302…記憶部、303…制御部、304…パターンメモリI/F、305…パターンデータデコーダ、306…逆量子化部、307…表示制御部、308…スプライトレンダリングプロセッサ、309A,309B…ラインバッファ、310…画像データコントローラ、311…表示コントローラ、312…モニタI/F、401…スプライトパターンメモリ、402…CPU、403…モニタ。
【技術分野】
【0001】
本発明は、画像データの非可逆圧縮符号化技術に関し、特に、透明色制御の対象となる画像データの非可逆圧縮符号化技術に関する。
【背景技術】
【0002】
ゲーム機などに用いられる画像処理デバイスの一例としてスプライト方式の画像処理LSI(Large Scale Integration)が挙げられる。この種の画像処理LSIでは、ゲームキャラクタなどのスプライト画像を表す画像データが予め格納されたスプライトパターンメモリから、ゲームの進行に合わせて画像データを読み出し、拡大や縮小、回転などの編集処理を施してバッファに書き込み、バッファの格納内容に応じた画像をLCD(Liquid Crystal Display)などの表示装置に表示させる、といった処理が行われる。この種の画像処理デバイスでは、背景画像の手前にゲームキャラクタ等のスプライトの画像を重ねて表示させるオーバレイ表示が行われる場合がある。このようなオーバレイ表示は、スプライトにて背景に相当する画素を透明として扱い、背景画像の画素が見えるようにする制御(以下、透明色制御)を行うことで実現される。そして、透明色制御は、透明として扱う画素の色(以下、透明色)を予め設定しておき、透明色に対応する画素値の画素を表示しないようにすることで実現される。
【0003】
スプライト方式の画像処理デバイスにおいては、スプライトパターンメモリに格納する画像データに何らかの圧縮符号化を施しておくことが多い。この圧縮符号化技術は、可逆圧縮符号化技術と非可逆圧縮符号化技術に大別される。可逆圧縮符号化技術の一例としては、予測符号化と可変長符号化とを併用したものが挙げられる。可逆圧縮符号化技術には、圧縮符号化を施した画像データ(以下、圧縮符号化データ)から圧縮符号化前の画像データ(以下、原画像データ)を完全に復元することができるものの高い圧縮率が得られないといった特徴がある。一方、非可逆圧縮符号化の一例としては直交変換を利用したものが挙げられる。非可逆圧縮符号化技術には、高い圧縮率が得られるものの、圧縮符号化データから原画像データを完全には復元することができないといった特徴がある。したがって、原画像データを忠実に復元する必要がある場合には、可逆圧縮符号化技術が採用され、圧縮符号化データのデータ量を低く抑える必要がある場合には、非可逆圧縮符号化技術が採用されるなど、両技術はニーズに応じて適宜使い分けられる。
【0004】
透明色制御の対象となる画像データの圧縮符号化を行う場合においても、データ量を低く抑える必要があるか否かなどに応じて可逆圧縮符号化技術と非可逆圧縮符号化技術を使い分けることが望ましい。しかし、透明色制御の対象となる画像データに非可逆圧縮符号化を施すと、本来透明とされるべき画素が透明とされなかったり、逆に、本来透明とされるべきではない画素が透明にされたりするなどの不具合が生じ得る。例えば、図14(A)には、透明色が0xFFFFFF(すなわち、R成分、G成分およびB成分の各々が0xFF)に設定されている場合において、透明色制御の対象となるべき画素の画素値が非可逆圧縮符号化および復号により、0xFEFEFEに変化した結果生じる不具合(すなわち、本来、透明とされるべき画素が透明とされないという不具合)が例示されている。一方、図14(B)には、透明色が0x000000と設定されている場合において、透明色制御の対象ではない画素(図14(B)では、画素値が0x0101010である画素)の画素値が非可逆圧縮符号化および復号により、0x000000に変化した結果生じる不具合(すなわち、本来、透明とされるべきではない画素が透明とされる不具合)が例示されている。これらの不具合は、何れも非可逆圧縮符号化により得られた圧縮符号化データを復号しても、原画像データを完全に復元することはできないことに起因するものである。
【0005】
このような不具合を回避するための技術としては、特許文献1や特許文献2に開示された技術が挙げられる。これら特許文献には、透明色制御の対象となる画素であるか否かを示す2値データを画素の配列順に並べたマスクデータを圧縮符号化データとともに用いることが開示されている。また、図14(C)および図14(D)に示すように、非可逆圧縮符号化後の画素データの各々に透明色制御の対象となる画素であるか否かを示す付加ビット(図14に示す例では、透明色制御の対象である場合は1、対象ではない場合は0)を付与し、この付加ビットを用いて透明色制御の対象画素か否かを判別することも考えられる。このようなマスクデータや付加ビット等の付加情報を用いることによって、透明色制御となる画像データに非可逆圧縮符号化を施しても、デコード側にて正確に透明色制御を行うことが可能になる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−205788号公報
【特許文献2】特開2003−87572号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、圧縮符号化データの他に付加情報を用いる態様においては、付加情報のデータ量を含めて圧縮率を評価する必要があり、付加情報を用いない態様に比較して圧縮率の低下を招くことは否めない。特に、非圧縮符号化技術は、可逆圧縮符号化技術に比較して高い圧縮率が得られることが利点であったのであるから、上記付加情報を用いる態様では非可逆圧縮符号化技術本来の利点が損なわれる虞がある。
本発明は、上記課題に鑑みて為されたものであり、透明色制御の対象となる画像データに圧縮符号化を施す際に、圧縮率を大幅に低下させることなく、デコード側にて正確に透明色制御を行うことを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために本発明は、画像を構成する複数の画素の各々の色を第1色成分〜第3色成分の強度の組み合わせで表す画像データを取得し、前記複数の画素の各々について透明色制御の対象であるか否かを前記第1色成分〜第3色成分を参照して判定し、対象ではないと判定された画素については、前記第1色成分〜第3色成分の強度の組み合わせを所定の写像規則にしたがって前記第1色成分〜第3色成分とは異なる3種類の新たな成分の組み合わせに写像する一方、対象であると判定された画素については、前記写像規則による写像範囲外の値に写像して新たな画素データに変換するデータ変換手段と、前記データ変換手段により得られる画像データに対して非可逆圧縮符号化処理を施し圧縮符号化データを生成する非可逆圧縮符号化手段とを具備することを特徴とする圧縮符号化装置を提供する。なお、本発明の別の態様においては、コンピュータを上記各手段として機能させることを特徴とするプログラムを提供しても良い。
【0009】
このような態様の圧縮符号化装置により圧縮符号化された画像データの復号、およびその画像データの示す画像の表示制御を行う画像表示制御装置としては、以下の構成のものが考えられる。すなわち、上記圧縮符号化装置により生成された圧縮符号化データを取得する取得手段と、前記取得手段により取得された圧縮符号化データに、前記非可逆圧縮符号化処理の逆演算に相当する復号処理を施し、画像データを復元する復号手段と、前記復号手段により復元された画像データの表す画像を構成する画素の各々について画素値が前記写像範囲外の値であるか否かを判定し、前記写像範囲外の値である画素については透明色制御を行う一方、その他の画素については前記写像規則にしたがった演算の逆演算により画素値を前記第1色成分〜第3色成分の強度の組み合わせに変換し、その組み合わせに応じた色で表示装置に表示させる表示制御手段とを有することを特徴とする画像表示制御装置である。
【0010】
より好ましい態様においては、前記圧縮符号化装置の非可逆圧縮符号化手段が実行する非可逆圧縮処理では、前記写像規則による写像範囲外の所定の値については可逆圧縮符号化され、前記写像規則による写像範囲内の値については非可逆圧縮符号化されることを特徴とする。このような態様によれば、前記写像規則による写像範囲外の所定の値については可逆圧縮符号化であるから、復号装置側では、復号された画像データの表す画素毎に画素値が前記写像規則による写像範囲外の所定の値であるか否かを判定することによって透明色制御の対象画素を正確に判定することができる。
【0011】
また、別の好ましい態様においては、前記圧縮符号化装置の前記データ変換手段は、透明色制御の対象であると判定された画素について、前記写像規則による写像範囲の上限或いは下限から大きく離れた値に写像して新たな画素データを生成することを特徴とする。非可逆圧縮符号化とはいっても、復号装置側で圧縮符号化前とはかけ離れた値が復号される訳ではないと考えられるので、透明色制御の対象画素の画素値は非可逆圧縮符号化および復号化を経ても前記写像規則による写像範囲外に留まると考えられる。したがって、このような態様においては、復号装置側では、復号された画像データの表す画素毎に画素値が前記写像規則による写像範囲外の値であるか否かを判定することによって透明色制御の対象画素を正確に判定することができる。
【0012】
また、別の好ましい態様においては、前記圧縮符号化装置の非可逆圧縮符号化手段が実行する非可逆圧縮処理では、前記データ変換処理により得られた画像データの3種類の新たな成分のうち少なくとも1つを可逆圧縮符号化され、他の成分については非可逆圧縮符号化されることを特徴とする。このような態様によれば、復号装置側では、復号された画像データの表す画素毎に3つの成分のうちの何れかが前記写像規則による写像範囲外の値であるか否かを判定することによって透明色制御の対象画素を判定することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1実施形態である圧縮符号化装置1および画像表示制御装置2を含む画像データの圧縮符号化伝送システムの一例を示す図である。
【図2】本発明の第2実施形態である圧縮符号化装置100および画像表示制御装置200を含む画像データの圧縮符号化伝送システムの一例を示す図である。
【図3】同圧縮符号化装置100が実行するデータ変換処理120の流れを示すフローチャートである。
【図4】同圧縮符号化装置100が生成する透明色制御用データの一例を示す図である。
【図5】同圧縮符号化装置100が実行する縮小処理131における画素の間引き、および拡張処理132における画素の補間について説明するための図である。
【図6】同圧縮符号化装置100が実行する予測符号化処理141の内容を示す図である。
【図7】同予測符号化処理141にて算出される予測誤差の一例を示す図である。
【図8】同圧縮符号化装置100が実行する予測誤差変換処理142の内容を示す図である。
【図9】予測誤差の構成ビット数(符号ビットを除く)が6ビットである場合を例に予測誤差変換処理142の処理内容を詳細に示す図である。
【図10】同圧縮符号化装置100が実行する可変長符号化処理143にて使用される変換テーブルを示す図である。
【図11】画像表示制御装置200が実行する表示制御処理の流れを示すフローチャートである。
【図12】本発明の画像表示制御装置の第3実施形態である画像処理LSI300の構成例を示す図である。
【図13】同画像処理LSI300の記憶部302に格納されている圧縮符号化情報の一例を示す図である。
【図14】従来の画像の非可逆圧縮符号化に伴う透明色制御の問題点を説明するための図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しつつ本発明の実施形態について説明する。
(A:第1実施形態)
図1は、本発明の一実施形態である圧縮符号化装置1と画像表示制御装置2とを含む画像データの圧縮符号化伝送システムの構成例を示す図である。このシステムでは、透明色制御の対象となる画像データの非可逆圧縮符号化伝送、その復号および復号結果に応じた画像の表示制御が行われる。図1の圧縮符号化装置1は画像データの非可逆圧縮符号化処理を行う装置である。図1に示すシステムでは、圧縮符号化装置1による処理結果である圧縮符号化データをCD−ROM(Compact Disk-Read Only Memory)などの記録媒体に書き込んで配布したり、インターネットなどの電気通信回線経由のダウンロードで配布したりすることで画像データの非可逆圧縮符号化伝送が実現される。一方、画像表示制御装置2は、圧縮符号化データの復号、および復号結果に応じた画像の表示制御を行う装置である。ここで、画像データとは、画像を構成する複数の画素の各々の色を第1色成分から第3色成分(本実施形態では、R、GおよびBの3つの色成分)の強度で表す画素データの集合体であり、本実施形態では、各色成分の強度を0から255の値(すなわち、8ビットのデータ:したがって、1画素あたり3×8=24ビットのデータ)で表現するものが用いられる。
【0015】
図1の圧縮符号化装置1は、例えばDSP(Digital Signal Processor)などのコンピュータである。この圧縮符号化装置1には、本実施形態の特徴を顕著に示す非可逆圧縮符号化処理を実現するプログラム(以下、非可逆圧縮符号化プログラム)が予めインストールされている。圧縮符号化装置1は、この非可逆圧縮符号化プログラムにしたがって、本実施形態の特徴を顕著に示す非可逆圧縮符号化処理を実行する。図1に示すように、この非可逆圧縮符号化処理は、透明色判断処理10、RGB→YCbCr変換処理20a、オールゼロ変換処理20b、および非可逆圧縮処理30を含んでいる。
【0016】
圧縮符号化装置1に対して、圧縮符号化対象の画像データ(RGB24ビット形式の画像データ)の入力と、透明色の指定が為されると、圧縮符号化装置1は、上記画像データの表す画像を構成する画素の各々について、透明色判断処理10を実行する。この透明色判断処理10は、判断対象の画素の画素値が透明色に等しいか否かを判断する処理である。例えば、透明色として“0xFFFFFF”(すなわち、R、GおよびBの各成分の強度が0xFF(255)である色)が設定されている場合、画素値が“0xFFFFFF”ではない画素については、透明色判断処理10にて非透明色であると判断され、RGB→YCbCr変換処理20aが実行される。このRGB→YCbCr変換処理20aは、以下の式(1)に示す写像規則にしたがってRGB表色系からYCbCr表色系への写像を行う処理である。このRGB→YCbCr変換処理20aの結果得られる画素値のY成分、Cb成分およびCr成分は何れも16以上の値となる。
Y = 0.257×R+0.504×G+0.098×B+16
Cb=−0.148×R−0.291×G+0.439×B+128
Cr= 0.439×R−0.368×G−0.071×B+128
・・・(1)
【0017】
これに対して、画素値が“0xFFFFFF”である画素については透明色判断処理10にて透明色であると判断され、画素値を0x000000に変換するオールゼロ変換処理20bが実行される。前述したことから明らかように、0x000000はRGB表色系からYCbCr表色系への写像における写像範囲外の値であり、デコード側(本実施形態では、画像表示制御装置2)にてデコード結果に応じた画像の表示を行う際に、透明色制御の対象であるか否かを画素毎に判定する際の手掛かりとなる。よって、以下では、上記0x000000のことを制御対象明示値と呼ぶ。
【0018】
非可逆圧縮符号化処理30は、画素毎にRGB→YCbCr変換処理20aまたはオールゼロ変換処理20bの何れかが施された画像データに非可逆圧縮符号化を施し、圧縮符号化データを生成する処理である。ただし、本実施形態では、画素値が制御対象明示値である画素については、非可逆圧縮符号化および復号化により制御対象明示値が復号され、かつ、YCbCr表色系の画素値については非可逆圧縮符号化および復号化により制御対象明示値とは異なる値が復号されるような非可逆圧縮符号化アルゴリズムが採用されている点に特徴がある。これは、デコード側にて、画素値を手掛かりに透明色制御の対象であるか否かを確実に判別することができるようにするためである。本実施形態では、このようにして生成された圧縮符号化データが画像表示制御装置2へ伝送される。なお、本実施形態では、制御対象明示値として0x000000を用いたが、RGB表色系からYCbCr表色系への写像範囲外の値であって、非可逆圧縮符号化および復号化により圧縮符号化前の値が確実に復号される(換言すれば、可逆圧縮符号化される)ような値(或いは、そのような非圧縮符号化アルゴリズム)を選択するようにすれば良い。
【0019】
次いで、画像表示制御装置2について説明する。画像表示制御装置2も、前述した圧縮符号化装置1と同様にDSPであり、本実施形態の特徴を顕著に示す圧縮符号化データの復号およびその復号結果に応じた画像の表示制御を実現するプログラムが予めインストールされている。図1に示すように、画像表示制御装置2は、上記プログラムにしたがって復号処理40、透明色判断処理50、YCbCr→RGB変換処理60a、判断処理60b、描画処理70および80b、透明色制御処理80aを実行する。より詳細に説明すると、画像表示制御装置2は、圧縮符号化装置1により生成された圧縮符号データの入力および透明色(圧縮符号化装置1に対して指定されたものと同一の透明色)の指定がなされると、まず、この圧縮符号化データに対して非可逆圧縮符号化処理30の逆演算に相当する復号処理40を施す。その結果、画素値としてYCbCr表色系の画素値または制御対象明示値を有する画像データが得られることとなる。
【0020】
図1の透明色判断処理50は、復号処理40により得られた画像データの表す画像を構成する画素毎に透明色制御の対象であるか否かをその画素値に応じて判断する処理である。より詳細に説明すると、判断対象の画素の画素値が制御対象明示値に等しい場合には、透明色判断処理50の判断結果はYesになり、逆に、判断対象の画素の画素値が制御対象明示値に等しくない場合には、透明色判断処理50の判断結果はNoになる。前述したように本実施形態では、圧縮符号化前に画素値が制御対象明示値であった画素は、非可逆圧縮符号化および復号化を経ても画素値として制御対象明示値が必ず復号され、また、圧縮符号化前に画素値がYCbCr表色系の画素値であったものが非可逆圧縮符号化および復号化により制御対象明示値に復号されることはない。このため、上記透明色判断処理50によって、透明色制御の対象画素であるか否かを正確に判別することができるのである。
【0021】
透明色判断処理50の判断結果がNoである画素に対しては、その画素値(YCbCr表色系の画素値)を以下の式(2)にしたがってRGB表色系の画素値に変換するYCbCr→RGB変換処理60aが実行され、その変換結果に応じた色で表示装置に描画させる描画処理70が行われる。
R=1.164×(Y−16)+1.596×(Cr−128)
G=1.164×(Y−16)−0.391×(Cb−128)−0.813×(Cr−128)
B=1.164×(Y−16)+2.018×(Cb−128)
・・・(2)
【0022】
これに対して、透明色判断処理50の判断結果がYesである画素に対しては、透明色制御の実行を指示されているか否かの判断処理60bが行われ、その判断結果がYesであれば、透明色制御(すなわち、当該画素を描画しない)80aが、逆、その判断結果がNoであれば、透明色(すなわち、透明とすべき旨を指定された色)で表示装置に表示させる描画処理80bが行われる。
以上が本実施形態の圧縮符号化装置1および画像表示制御装置2の構成および機能である。
【0023】
以上に説明したように、本実施形態によれば、圧縮符号化前の画素値が制御対象明示値である画素については非可逆圧縮符号化および復号化を経ても画素値として必ず制御対象明示値が復号され、YCbCr表色系の画素値については必ず制御対象明示値とは異なる値が復号される。このため、本実施形態では、付加ビット等の付加情報を用いることなくデコード側で透明色制御の対象画素であるか否かをデコード後の画素値に基づいて正確に判断することができる。本実施形態では、付加情報を用いないのであるから、非可逆圧縮符号化における圧縮率の低下が生じることはない。つまり、本実施形態によれば、透明色制御の対象となる画像データに非可逆圧縮符号化を施す際に、圧縮率を低下させることなく、デコード側で正確な透明色制御を行うことが可能になる。
【0024】
(B:第2実施形態)
図2は、本発明の第2実施形態である圧縮符号化装置100と画像表示制御装置200とを含む画像データの圧縮符号化伝送システムの構成例を示す図である。このシステムにおいても、図1に示すシステムと同様に、画像データ(RGB24ビット形式)の圧縮符号化伝送、その復号および復号結果に応じた画像の表示制御が行われる。ただし、図2に示すシステムにおいては、前述した第1実施形態とは異なり、制御対象明示値についても可逆圧縮符号化とはならない非可逆圧縮符号化アルゴリズムが採用されている点に特徴がある。
【0025】
まず、圧縮符号化装置100について説明する。
図2の圧縮符号化装置100も、図1の圧縮符号化装置1と同様にDSPであり、本実施形態の特徴を顕著に示す非可逆圧縮符号化処理を実現する非可逆圧縮符号化プログラムが予めインストールされている。図2に示すように、この非可逆圧縮符号化処理は、データ変換処理120、非可逆変換処理130、および、可逆圧縮符号化処理140を含んでいる。なお、本実施形態では、これら各処理をソフトウェアで実現するが、データ変換処理120を実行するデータ変換手段、非可逆変換処理130および可逆圧縮符号化処理140を実行する非可逆圧縮符号化手段の各々を電子回路で構成し、これら各手段を組み合わせて圧縮符号化装置100を構成しても勿論良い。
【0026】
データ変換処理120は、非可逆圧縮符号化の対象となる画像データ(RGB表色系の画像データ)を後段の各処理に適したものに変換する処理である。このデータ変換処理120は、第1実施形態における透明色判断処理10、RGB→YCbCr変換処理20aおよびオールゼロ変換処理20bに対応する処理である。図3は、データ変換処理120の流れを示すフローチャートである。このデータ変換処理120は、圧縮符号化対象となる画像データに含まれる画素データ毎(すなわち、同画像データの表す画像の構成画素毎)に実行される処理である。例えば、圧縮符号化対象となる画像からラスタスキャン順に変換対象画素が1個ずつ選択され、各変換対象画素に対して図3のフローチャートにしたがった処理が実行される。
【0027】
図3に示すように、データ変換処理120では、まず、変換対象画素が透明色制御の対象となる画素であるか否かの判定(ステップSA100)が行われる。このステップSA100の判定処理の処理内容は透明色判断処理10と同一である。そして、ステップSA100の判定結果が“No”である場合には、座標変換処理(ステップSA110)が実行され、逆に、ステップSA100の判定結果が“Yes”である場合には、ステップSA120およびステップSA130の処理が実行される。
【0028】
ステップSA110の座標変換処理は、RGB表色系からYCbCr表色系への写像処理であり、その処理内容は前述したRGB→YCbCr変換処理20aと同様である。一方、ステップSA100の判定結果が“Yes”である場合に実行されるステップSA120の処理は、変換対象画素についてのY、CbおよびCr成分の各画素データとして式(1)の示す写像規則にしたがった写像の写像範囲外の値(上記写像規則にしたがった演算により得られる値の範囲の下限よりも小さな値、或いは、同範囲の上限より大きな値)を制御対象明示値として出力する処理である。そして、ステップSA120に後続して実行されるステップSA130の処理は、透明色と制御対象明示値との対応を示す透明色制御用データ(図4参照)を生成しデコード側へ出力する処理である。この透明色制御用データは、図2に示すように、画像表示制御装置200に与えられ、透明色制御を行いつつ画像表示を行う際(或いは、透明色制御を行わず画像表示を行う際)に利用される。
【0029】
本実施形態では、制御対象明示値として第1実施形態と同様に0x000000(前掲式(1)の示す写像規則による写像範囲の下限(0x101010)から大きく離れた値)が採用されている点に第1の特徴がある。本実施形態にて、制御対象明示値として写像範囲の下限から大きく離れた値を採用した理由は以下の通りである。データ変換処理120を経た画像データに対しては非可逆圧縮符号化(後述するように本実施形態では、非可逆変換処理130および可逆圧縮符号化処理140からなる非可逆圧縮符号化処理)が施されるが、前述したように、本実施形態では、制御対象明示値に対する非可逆圧縮符号化および復号化により制御対象明示値が復号されるとは限らない。しかし、如何に非可逆圧縮符号化であるとは言っても、圧縮符号化前の値から大きく離れた値が復号されるとは考えられない。透明色制御の対象となる画素の画素値をその他の画素(すなわち、透明制御の対象ではない画素)についての写像範囲の上限或いは下限から大きく離れた値に変換しておけば、仮に、非可逆圧縮符号化による影響があったとしても、復号後の画素値は写像範囲外に留まる可能性が高くなると考えられる。したがって、透明色制御の対象となる画素の画素値を上記写像範囲の上限或いは下限から大きく離れた値に変換しておけば、非可逆圧縮符号化および復号化を経た後も、その復号後の画素値が上記写像範囲外の値であるか否かを判別することによって、透明色制御の対象であるか否かを付加ビット等の付加情報を用いることなくデコード側で正確に判別することができると期待される。これが、制御対象明示値として上記写像範囲の下限から大きく離れた値(0x000000)を用いた理由である。なお、本実施形態では、透明色制御の対象となる画素について非可逆圧縮符号化および復号化を経た後の画素値が上記写像範囲外の値となることを保証する非可逆圧縮符号化アルゴリズムおよび復号化アルゴリズムが採用されている点に第2の特徴があり、この第2の特徴については後に詳細に説明する。
【0030】
以上説明したように、本実施形態のデータ変換処理120は、RGB表色系からYCbCr表色系への色変換処理そのものではないが、以下では説明の便宜上、データ変換処理120を経た画像データを「YcBCr表色系の画像データ」と呼ぶ。なお、本実施形態では、透明色が1種類である場合について説明するが、複数種の透明色を設定しても良いことは勿論である。このように複数種の透明色を設定する態様においては、それら透明色の各々に対して互いに異なる制御対象明示値を割り当てれば良く、また、透明色制御用データとして、複数の透明色の各々と各制御対象明示値との対応関係を示すものを生成するようにすれば良い。
以上がデータ変換処理120の内容である。
【0031】
非可逆変換処理130は、可逆圧縮符号化処理140における圧縮率を高めるためにその前段で行われる処理である。図2に示すように、非可逆変換処理130は、縮小処理131、拡張処理132、および量子化処理133を含んでいる。図2に示すように、縮小処理131および拡張処理132は、データ変換処理120により生成される3種類の新たな画像データのうちCb成分およびCr成分の画像データのみを処理対象とする。縮小処理131は、図5(A)に示すように、Cb成分およびCr成分の画像データを2×2画素のマトリクス状に区分けし、各マトリクスにて左上隅の画素に対応する画素データを除く3つの画素データを削除する処理(すなわち、4画素当たり3画素の割合で画素を間引く処理)である。一方、拡張処理132は、図5(B)に示すように、縮小処理131にて間引かれなかった画素データ(上記2×2画素のマトリクスにて左上隅に位置する画素の画素データ)を用いて上記間引いた画素データを補間する処理である。ここで注目すべき点は、画像データの圧縮率を向上させるという観点から言えば、図5(A)に示すYCbCr411形式の画像データを圧縮符号化する場合のほうが、図5(B)に示すYCbCr444形式の画像データを圧縮符号化する場合に比較して圧縮率が高くなるにも関わらず拡張処理132を行ってYCbCr411形式の画像データをYCbCr444形式の画像データに変換している点である。このような変換を行う理由については、画像表示制御装置200における処理の説明にて明らかにする。なお、非可逆変換処理130においてY成分の画像データに対して縮小処理131および拡張処理132を施さないのは、Y成分の画像データは各画素の輝度を表すため、画素データの間引きを行ってしまうと画質の劣化が顕著に表れるからである。また、本実施形態にてRGB表色系の画像データをデータ変換処理120によりYCbCr表色系の画像データに変換した後に非可逆変換処理130を施すようにしたのも上記縮小処理131、拡張処理132および量子化処理133による画質の劣化を回避するためである。
【0032】
量子化処理133は、Y成分、Cb成分およびCr成分の画像データの何れか、或いは全てを処理対象とし、処理対象の画像データを構成する各画素データのビット数を削減する処理である。この量子化処理133は、量子化モードテーブルを参照して実行され、この量子化モードテーブルの格納内容の一例は以下の表1に示す通りである。この量子化モードテーブルについては、非可逆圧縮符号化プログラムに予め埋め込んでおいても良く、また、非可逆圧縮符号化プログラムとは別個に圧縮符号化装置100に記憶させておいても良い。表1に示すように量子化モードテーブルには、量子化モードを示すモード値(本実施形態では、0〜6までの6種類の値、なお、モード値=0は量子化処理133を施さないことを示す)に対応付けてそのモード値の示す量子化モードにおける各成分の削減ビット数を規定する量子化係数(表1では、Y成分量子化係数、Cb成分量子化係数およびCr成分量子化係数)が格納されている。量子化処理133では、予め設定されたモード値(或いは、外部から与えられる量子化モード信号の示すモード値)に対応する量子化係数が量子化モードテーブルから読み出され、その量子化係数に応じたビット数分の右論理シフトを該当する成分の画素データに施すことで、そのモード値に応じた量子化が実現される。
【表1】
【0033】
例えば、モード値=1が予め設定されている場合には、Y成分の画像データに対してのみ、画素データのビット数を1ビット削減する処理(1ビットの右論理シフト)が施され、モード値=2が予め設定されている場合には、Y成分、Cb成分およびCr成分の各画像データに対して画素データのビット数を1ビット削減する処理が施される。図2に示すように、本実施形態では、非可逆変換処理130を経た画像データに対して可逆圧縮符号化処理140が施され、その処理結果である圧縮符号化データが画像表示制御装置200による復号化の対象となる。後述するように可逆圧縮符号化処理140は予測符号化と可変長符号化とを併用した典型的な可逆演算であるが、その前段で各々非可逆演算からなる非可逆変換処理130が施されるため、圧縮符号化装置100における圧縮符号化演算は全体として非可逆演算となるのである。また、本実施形態では、図2に示すように、量子化処理133における量子化モードのモード値を示す量子化モード信号が圧縮符号化装置100から画像表示制御装置200に与えられる。この量子化モード信号は、画像表示制御装置200にて上記量子化処理の逆演算である逆量子化処理を行う際に利用される。
【0034】
可逆圧縮符号化処理140は、図2に示すように、予測符号化処理141、予測誤差変換処理142、および、可変長符号化処理143を含んでいる。予測符号化処理141では、図6に示すように、圧縮符号化対象の画像を構成する各画素の中から対象画素Xがラスタスキャン順に選択される。そして、対象画素Xの近傍の画素の画素データから対象画素についての画素データの予測値Mxが算出され、この予測値Mxと対象画素の画素データの実際値との差分である予測誤差X−Mxが算出される。
【0035】
具体的には、予測符号化処理141では、次のアルゴリズムに従って、予測値Mxが算出される。まず、対象画素Xの左隣の画素Xaの画素データがXa、対象画素の直上の画素Xbの画素データがXb、対象画素の左上の画素Xcの画素データがXcである場合において、これらの3つの画素データの最大値max(Xa、Xb、Xc)を求め、Xc=max(Xa、Xb、Xc)であるか否かを判断する。この判断結果が肯定的である場合において、Xb<Xaであれば、予測値MxをXbとし、Xa<Xbであれば予測値MxをXaとする。一方、Xc=max(Xa、Xb、Xc)でない場合、3つの画素データの最小値min(Xa、Xb、Xc)を求め、Xc=min(Xa、Xb、Xc)であるか否かを判断する。この判断結果が肯定的である場合において、Xb>Xaであれば、予測値MxをXbとし、Xa>Xbであれば予測値MxをXaとする。そして、Xc=max(Xa、Xb、Xc)でもなく、Xc=min(Xa、Xb、Xc)でもない場合、すなわち、Xc>min(Xa、Xb、Xc)であり、かつ、Xc<max(Xa、Xb、Xc)である場合、Mx=Xa+Xb−Xcを予測値Mxとする。そして、このようにして得られる予測値Mxと対象画素Xの画素データの実際値との差分である予測誤差X−Mxを算出するのである。
【0036】
本実施形態では、前述した非可逆変換処理130により、Cb成分の画像データとCr成分の画像データは同一の値を有する4個の画素データがマトリクス状に並ぶものに変換されており(図7参照)、各マトリクス内で右下隅に位置する画素についての予測誤差は必ずゼロとなる。つまり、Cb成分の画像データとCr成分の画像データについては、水平方向に並んだ複数の画素の各々についての予測誤差が少なくとも1つおきにゼロになることが保証されている。このため、本実施形態では、Cb成分およびCr成分の画像データに関して予測符号化処理141にて算出される予測誤差が連続してゼロとなりやすくなっているのである。詳細については後述するが、予測誤差がゼロとなる画素が連続して表れるほど圧縮符号化データのデータサイズは小さくなる(換言すれば、圧縮率は高くなる)。
【0037】
予測誤差変換処理142は、予測符号化処理141により算出される予測誤差の符号ビットを反転すると当該予測誤差の絶対値が減少する場合に当該予測誤差の符号ビットを反転させる処理である。この予測誤差変換処理142が行う変換処理の内容は、予測誤差の構成ビット数、すなわち、圧縮符号化の対象となる画像データを構成する各画素データの構成ビット数により異なったものとなる。図8は、予測誤差の構成ビット数(符号ビットを除く)が8ビット、6ビット、5ビット、4ビットの各場合について、入力データである予測誤差と予測誤差変換処理142を経た出力データとの関係を示したものである。なお、図8では、符号を反転した場合に絶対値が小さくなる入力データのみについて入力データと出力データとの関係が示されており、符号を反転した場合に絶対値が小さくならない入力データ(すなわち、符号反転されることなくそのまま出力データとなる入力データ)については、入力データと出力データとの関係の図示は省略されている。
【0038】
図9は、予測誤差の構成ビット数(符号ビットを除く)が6ビットである場合について、予測誤差変換処理142の入力データと出力データとの関係を示している。この図において、矢印は変換の方向を示している。本実施形態において取り扱う各成分の画素データおよび予測誤差等の2進の数値データは、2の補数形式で負の数の表現を行う。この場合において、予測誤差の構成ビット数(符号ビットを除く)が6ビットであるとすると、正の値では絶対値が32以上の予測誤差は符号ビットを反転したときの絶対値が元の絶対値以下になる。そこで、絶対値が26−1=32以上の正の予測誤差は符号ビットの反転を行う。また、負の値でも絶対値が32以上の予測誤差(すなわち、−32以下の負の値)は符号ビットを反転したときの絶対値が元の絶対値以下となる。そこで、絶対値が32以上の負の予測誤差は符号ビットの反転を行う。予測誤差の構成ビット数が異なる他の場合についても同様であり、図8に示すように、予測誤差の構成ビット数が8ビットである場合には絶対値が28−1=128以上である予測誤差が符号反転の対象となり、予測誤差の構成ビット数が5ビットである場合には絶対値が25−1=16以上である予測誤差が符号反転の対象となり、予測誤差の構成ビット数が4ビットである場合には絶対値が24−1=8以上である予測誤差が符号反転の対象となる。
【0039】
可変長符号化処理143は、予測誤差変換処理142を経た予測誤差を可変長符号に変換する処理である。上述したように、予測符号化処理141では、圧縮符号化の対象となる画像を構成する各画素の中からラスタスキャン順に対象画素Xが選択され、予測誤差が算出される。本実施形態では、予測符号化処理141によりラスタスキャン順に算出される予測誤差に対してそのままの順序で予測誤差変換処理142および可変長符号化処理143が施され、可変長符号に変換される。このようにして得られる可変長符号の集合体が、圧縮符号化装置100の出力データたる圧縮符号化データとなるのである。
【0040】
図10は、可変長符号化処理143において、予測誤差を可変長符号に変換する際に参照される変換テーブルの内容を示す図である。この変換テーブルについても、前述した量子化モードテーブルと同様に非可逆圧縮符号化プログラムに埋め込んでおいても良く、また、非可逆圧縮符号化プログラムとは別個に圧縮符号化装置100に記憶させておいても良い。図10において、符号化対象は、予測誤差変換処理142を経た予測誤差である。Sは符号長が同じである可変長符号に割り当てられた可変長符号のグループ番号である。1つの可変長符号は、符号と付加ビットとにより構成されている。ここで、符号は、その可変長符号が属するグループを他のグループと区別するための識別情報である。また、付加ビットは、ある符号を持った可変長符号のグループ内において、各可変長符号を他の可変長符号と区別するための識別情報である。
【0041】
図10に示すように、0以外の絶対値を持った符号化対象は、絶対値が小さいもの程、少ないビット長の符号および付加ビットからなる可変長符号に変換される。例えば絶対値が1である2種類の符号化対象−1、1は、符号01が割り当てられたグループ番号S=1の可変長符号に変換され、2種類の符号化対象−1、1の各々付加ビット0、1により区別される。また、絶対値が2〜3の範囲に属する4種類の符号化対象−3、−2、2、3は、符号10が割り当てられたグループ番号S=2の可変長符号に変換され、4種類の符号化対象−3、−2、2、3は各々付加ビット00、01、10、11により区別される。以下、同様であり、符号化対象は、各々連続した絶対値を持ったグループに分けられ、大きな絶対値を持った符号化対象のグループ程、ビット長の大きな符号が割り当てられる。また、絶対値が256である符号化対象のグループを除き、大きな絶対値を持った符号化対象のグループ程、グループを構成する符号化対象の個数は大きくなり、それらを区別するための付加ビットのビット長も長くなる。なお、本実施形態で取り扱う予測誤差の構成ビット数(符号ビットを除く)は最大8ビットであり、−256および256は、いずれもオーバーフロー状態を表わす。従って、−256および256は、符号が111111110であり、付加ビットのない同じ可変長符号に変換される。
【0042】
絶対値が0である符号化対象は、ZRL(Zero Run Length)、すなわち、0の連続長が可変長符号に変換される。例えばZRL=1は、符号000が割り当てられたグループ番号S=9の可変長符号に変換される。また、2〜3の範囲に属する2種類のZRL=2、3は、符号0010が割り当てられたグループ番号S=10の可変長符号に変換され、2種類のZRL=2、3は各々付加ビット0、1により区別される。また、4〜7の範囲に属する4種類のZRL=4、5、6、7は、符号00110が割り当てられたグループ番号S=11の可変長符号に変換され、4種類のZRL=4、5、6、7は各々付加ビット00、01、10、11により区別される。以下、同様であり、ZRLは、各々連続したZRLからなるグループに分けられ、大きなZRLのグループ程、ビット長の大きな符号が割り当てられる。また、大きなZRLのグループ程、グループを構成するZRLの個数は大きくなり、それらを区別するための付加ビットのビット長も長くなる。さらに本実施形態では、圧縮率を高めるために、ALL0という予測誤差の発生形態が想定されている。このALL0は、着目している画素の予測誤差が0であり、かつ、その画素が属するラインのその画素以降の全ての画素の予測誤差が0である状態である。本実施形態においてこのALL0は、符号が001110であり、付加ビットのない可変長符号に変換される。前述したように、本実施形態では、Cb成分画像データおよびCr成分画像データについては縮小処理131および拡張処理132を施すことによって、水平走査線方向に並んだ複数の画素の予測誤差は、必ず1つおきに0になり、0の連続長が長くなり易くなっている。このため、本実施形態では、ZRLを利用して効率的に可変長符号化を行い、圧縮率を高めることができると期待されるのである。
以上が本実施形態による圧縮符号化装置100の詳細である。
【0043】
次に画像表示制御装置200について説明する。
前掲図2の画像表示制御装置200は、圧縮符号化装置100により生成された圧縮符号化データを復号し、その復号結果である画像データを液晶ディスプレイなどの表示装置に与えて画像の表示制御を行う装置である。この画像表示制御装置200も、圧縮符号化装置100と同様にDSPなどのコンピュータに本実施形態の復号処理を実現するプログラム(以下、復号プログラム)をインストールしたものである。画像表示制御装置200は、この復号プログラムにしたがって可逆復号処理210、逆量子化処理220、および表示制御処理230、を実行する。なお、本実施形態では、これら各処理をソフトウェアで実現するが、可逆復号処理210および逆量子化処理220を実行する復号手段、および、表示制御処理230を実行する表示制御手段の各々を電子回路で構成し、これら各手段を組み合わせて画像表示制御装置200を構成しても勿論良い。
【0044】
図2の可逆復号処理210は、可逆圧縮符号化処理140の逆演算に相当し、可変長復号化処理211と逆予測符号化処理212とを含んでいる。可変長復号化処理211は、前述した可変長符号化処理143の逆演算であり、可変長符号化処理143にて用いているものと同じ変換テーブルを使用し、符号と付加ビットとからなる可変長符号を可変長符号化前の予測誤差に戻す処理である。一方、逆予測符号化処理212は、予測符号化処理141の逆演算に相当する処理である。この逆予測符号化処理212では、可変長復号化処理211により得られる予測誤差から、その予測誤差に応じた成分の画像データ(すなわち、Y成分、Cb成分およびCr成分の各画像データ)への変換が行われる。さらに詳述すると、Y成分、Cb成分およびCr成分のうちのある成分に関し、図6に示す3個の画素Xc、Xb、Xaの画素データが既に復号化されている状態において、画素Xの予測誤差が可変長復号化処理211により得られた場合、この逆予測符号化処理212では、予測符号化処理141と同様なアルゴリズムに従い、画素Xc、Xb、Xaの各画素データから画素Xの画素データの予測値MXが算出される。そして、この予測値MXに画素Xの予測誤差を加算することにより画素Xの画素データが算出されるのである。圧縮符号化装置100から出力される圧縮符号化データに対して可逆復号処理210を施すことにより、圧縮符号化装置100にて可逆圧縮符号化処理140が施される前の画像データ(すなわち、原画像データであるRGB表色系の画像データにデータ変換処理120を施して得られるYCbCr表色系の画像データに、さらに非可逆変換処理130を施して得られる画像データ)が完全に復元されるのである。
【0045】
本実施形態では、前掲式(1)にしたがって生成されるY成分、Cb成分およびCr成分の各画素データは正の値(より正確には、16以上の値)を有し、これら各画素データに量子化処理133を施して得られるデータも0以上の値を有する。そこで、逆予測符号化処理212では、予測符号化前の各成分の画素データが正の値であることを前提とし、予測値MXと予測誤差の加算結果において符号ビットを除く部分を復号結果たる各成分の画素データとする。従って、本実施形態では、予測誤差における符号ビットを除く部分の内容が同じであれば、予測誤差が符号ビット“0”を有する正の値であるか符号ビット“1”を有する負の値であるかによらず、その予測誤差から同じ画素データが復元される。圧縮符号化装置100にて予測誤差変換処理142を行うのは、予測誤差の符号ビットの“1”/“0”が復号結果に影響を与えないという点を利用し、可変長符号化処理143における符号化対象(予測誤差)をより絶対値の小さな値とし、変換後の可変長符号のビット長を短くする(すなわち、圧縮符号化データのデータ量を削減し、圧縮率を高める)ためである。この点に関し、一例を挙げて説明すると、次のようになる。
【0046】
まず、Y成分、Cb成分およびCr成分の各画素データおよび予測誤差の構成ビット数(符号ビットを除く)が6ビットであり、図10における対象画素Xの画素データが59d(dは10進)、予測値が10d、予測誤差が49d=0110001b(bは2進。先頭の“0”は符号ビット)であったとする。ここで、仮に予測誤差変換処理142を行わなかったとすると、圧縮符号化装置100および画像表示制御装置200の処理内容は次のようになる。まず、圧縮符号化装置100が実行する可変長符号化処理143では、図10に示す変換テーブルに従い、予測誤差49dはグループ番号S=6のグループに属する符号111110および付加ビット110001からなる12ビットの可変長符号に変換されて出力される。画像表示制御装置200が実行する可変長復号化処理211においては、この可変長符号が予測誤差49dに変換される。そして、逆予測符号化処理212では、次式に示すように、予測値である10d=0001010bと予測誤差である49d=0110001bの2進加算が行われ、対象画素Xの画素データ59dが復元される。
0001010b+0110001b=0111011b
=59d
……(3)
【0047】
これに対し、予測誤差変換処理142を含む圧縮符号化を行う場合の圧縮符号化装置100と画像表示制御装置200の処理内容は次のようになる。まず、図9に示すように、予測誤差である49dは、2進数に変換すると、0110001b(bは2進。先頭の“0”は符号ビット)となる。この2進数の先頭の符号ビットを“0”から“1”に反転すると、図10に示すように、符号ビットの反転後の2進数1110001bに対応した10進数は−15dとなり、符号ビットの反転前の49dよりも絶対値の小さな値となる。そこで、圧縮符号化装置100が実行する予測誤差変換処理142の出力データは、符号ビットを反転した予測誤差1110001b=−15dとなる。この予測誤差変換処理142に後続する可変長符号化処理143は、図10の変換テーブルに従い、この予測誤差1110001b=−15dは、グループ番号S=4のグループに属する符号1110および付加ビット0000からなる8ビットの可変長符号に変換され、出力される。画像表示制御装置200が実行する可変長復号化処理211では、この可変長符号が予測誤差1110001b=−15dに変換される。そして、この可変長復号化処理211に後続する逆予測符号化処理212では、次式に示すように、予測値である10d=0001010bと予測誤差である−15d=1110001bの2進加算が行われる。
0001010b+1110001b=1111011b ……(4)
【0048】
そして、逆予測符号化処理212では、この加算結果1111011bの先頭の符号ビット“1”が無視され、対象画素Xの画素データを、111011b=59dとする。このように、復号結果である画素データは予測値と予測誤差の構成ビットのうち符号ビットを除く部分のみにより決定される。そこで、本実施形態における圧縮符号化装置100では、予測誤差の符号ビットを反転させた場合において予測誤差の絶対値が小さくなる場合には、予測誤差変換処理142にて予測誤差の符号反転を行った後に可変長符号化処理143を施し、圧縮符号化データを構成する可変長符号のビット長を短縮しているのである。
以上が可逆復号処理210の処理内容である。
ここで、注目すべき点は、可逆復号処理210は、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより可逆圧縮符号化された画像データを復号する処理と何ら変わらないという点である。このため、可逆復号処理210を実行するデコード回路(図1では図示略)としては、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより可逆圧縮符号化された画像データのデコードを行う従来のものをそのまま用いることができる。したがって、本実施形態の画像表示制御装置200によれば、圧縮符号化装置100により得られた非可逆圧縮符号化データのデコードと上記可逆圧縮符号化データのデコードの両方を行うことができるのである。仮に圧縮符号化装置100側で拡張処理132が行われていないとしたならば、この拡張処理132に相当する処理を画像表示制御装置200側で行う必要があり、従来のデコード回路をそのまま用いることはできず、何らかの変更を加えなければならない。また、ラインバッファ方式の画像処理LSIに組み込まれる場合のように、ライン単位でデコードを行う必要がある場合には、ラインをまたぐ拡張処理は複雑なものとなるため、デコード回路に加える変更も複雑なものとなってしまう。本実施形態では、圧縮符号化装置100側で拡張処理132を行うようにしたため、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより可逆圧縮符号化された画像データのデコードを行うデコード回路をそのまま用いて画像表示制御装置200を構成することができ、これが圧縮符号化装置100にて拡張処理132を行う理由である。
【0049】
逆量子化処理220は、前述した量子化処理133の逆演算であり、量子化処理133にて構成ビットの削減が行われた画素データについてその構成ビットを補間する処理である。前述したように、圧縮符号化装置100で行われる量子化処理133にて構成ビットの削除が行われる画素データおよび削除されるビット数は、圧縮符号化装置100から画像表示制御装置200へ送られる量子化モード信号の信号値で表される。この逆量子化処理220では、上記量子化モード信号の信号値に応じて、以下の表2に示す要領で各成分の画像データの補間が行われる。
【表2】
【0050】
例えば、モード値=1の場合、圧縮符号化装置100が実行する量子化処理133では、Y成分の画素データの構成ビット数は、1ビット削減され、7ビットとなっている(表2では、Y[6:0]と表記)。これに対して、画像表示制御装置200が実行する逆量子化処理220では、Y成分の画素データの最上位ビットから上記削除したビット数分のビット(この例では、Y[6])を、その最下位ビットの後ろに付加することで、Y成分の画素データの構成ビット数は8ビットに復元されるのである。
【0051】
図2の表示制御処理230は、逆量子化処理220により得られた画像データの示す画像を構成する画素をラスタスキャン順に1画素ずつ選択し、処理対象として選択した画素に対して図11(A)または図11(B)に示すフローチャートにしたがってRGB表色系の画素データに変換して出力する処理である。より詳細に説明すると、画像表示制御装置200の操作部(図2では図示略)に対する操作により透明色制御を行わない旨の指示が入力された場合には、この表示制御処理230では図11(A)に示すフローチャートにしたがった処理が実行される。逆に、透明色制御を行わない旨の指示が入力された場合には、表示制御処理230では図11(B)に示すフローチャートにしたがった処理が実行される。
【0052】
図11(A)に示すように、表示制御処理230では、まず、処理対象画素が透明色制御の対象であったものか否かが判定される(ステップSB100)。この判定については種々の態様で行うことが考えられる。例えば、処理対象画素の画素値が、前掲式(1)の示す写像規則にしたがった演算により得られる写像範囲外の値であるか否かにより判定する態様や、処理対象画素のY成分の画素値にのみ着目し、当該画素値が上記範囲外(例えば、16未満)であるか否かにより判定する態様が考えられる。
【0053】
ここで、ステップSB100の判定処理にてY成分の画素データのみに着目しても良い理由は、以下の通りである。前述したように、Cb成分およびCr成分の画素データに対しては、図5(A)および図5(B)に示す要領で縮小処理131および拡張処理132が施されている。Cb成分およびCr成分の画像データについては、これら縮小処理131および拡張処理132の実行過程で制御対象明示値を設定した画素データの削除、或いは、当該画素データによる他の画素データの補間が行われていないとは保証できない。これに対して、Y成分の画像データについては、縮小処理131および拡張処理132を経ておらず、その圧縮符号化方式は可逆圧縮符号化であると言える。したがって、Y成分に関しては、透明色制御の対象となる画素については、必ずその旨を示す値の画素データが復号され、逆に、透明色制御の対象ではない画素については、本来のY成分の強度を示す画素データが必ず復号される。このため、Y成分の画素データが上記写像規則の写像範囲外の値であるか否かを判定することによって、その処理対象画素が透明色制御の対象であるか否かを正確に判別することができるのである。これが、ステップSB100の判定処理にてY成分の画素データのみに着目しても良い理由である。
【0054】
図11(A)のステップSB100の判定結果が“No”である場合に実行される逆座標変換処理(ステップSB110)は、前述したYCbCr→RGB変換処理60aと同一内容の処理である。一方、ステップSB100の判定結果が“Yes”である場合に実行されるステップSB120の処理は、処理対象画素のRGB表色系の画素データとして透明色制御用データにより指示される透明色を示すものを出力する処理である。前述したように、透明色は透明色制御を施すべき画素のRGB表色系における色(すなわち、原画像における当該画素の色)を表している。このように、図11(A)に示す表示制御処理では、逆量子化処理220により得られた画像データの表す全ての画素についてRGB表色系の画素データが表示装置に出力され、その画像データの表す画像の全てが表示装置に表示されることとなる。
【0055】
これに対して、図11(B)は、透明色制御を行う旨の指示が入力された場合に実行される表示制御処理230の流れを示すフローチャートである。図11(A)と図11(B)とを対比すれば明らかように、図11(B)に示す表示制御処理では、ステップSB100の判定結果が“Yes”である場合に、前述したステップSB120の処理を実行しない点が図11(A)に示す表示制御処理と異なる。このように、図11(B)に示す表示制御処理では、ステップSB100の判定結果が“Yes”となる画素(すなわち、透明色制御の対象となる画素)についてステップSB120の処理が実行されず、表示装置にはこれらの画素に該当する部分が欠落した画像が表示されることとなる。したがって、当該画像が背景画像の手前にオーバレイ表示されるものである場合には、上記欠落部分に関しては背景画像の画素が見えることとなり、透明色制御が実現されるのである。
【0056】
以上説明したように、本実施形態によれば、透明色制御の対象画素であるか否かを示す付加情報(図14(C)および(D)に示す符号ビット等)に比較して透明色制御用データのデータサイズは充分に小さく、圧縮率の低下を抑えることができる。また、本実施形態にて、非可逆圧縮符号化および復号化を経た画像データにおいて透明色制御の対象画素を正確に弁別することができることは前述した通りである。つまり、本実施形態によっても、透明色制御の対象となる画像データに非可逆圧縮符号化を施す際に、圧縮率が大幅に低下することを避けつつ、デコード側にて透明色制御を正確に行うことが可能になる。
【0057】
(C:第3実施形態)
次いで、本発明の画像表示制御装置の第3実施形態について説明する。
図12は、本発明の画像表示制御装置の他の実施形態であるラインバッファ方式の画像処理LSI300の構成例を示すブロック図である。この画像処理LSI300は、例えばゲーム機などに組み込まれ、そのゲーム機の制御中枢として機能するCPU(Central Processing Unit)402による制御下でゲームキャラクタ等を表すスプライト画像やゲームシーンの背景画像をモニタ403にオーバレイ表示させるものである。より詳細に説明すると、図12のスプライトパターンメモリ401には、スプライトの画像データに圧縮符号化装置100による非可逆圧縮符号化を施して得られる圧縮符号化データが格納されている。画像処理LSI300は、CPU402による制御の下、圧縮符号化データをスプライトパターンメモリ401から読み出して復号し、その復号結果である画像データに応じたスプライト画像をライン(水平走査線)単位でモニタ403に表示させるものである。なお、図12では、画像処理LSI300を構成する要素のうち、圧縮符号化データの復号化および再生に関与している部分のみが図示されており、それ以外の要素の図示は省略されている。
【0058】
スプライトパターンメモリ401は、複数種類のスプライト画像の各々の圧縮符号化データを記憶したメモリであり、例えばROM(Read Only Memory)により構成されている。
【0059】
画像処理LSI300において、CPUI/F(インタフェース)301は、CPU402から制御情報を受け取る装置である。記憶部302は、CPUI/F301を介してCPU402から与えられる制御情報を記憶する装置であり、例えばRAM(Random Access Memory)により構成されている。CPU402から記憶部302に与えられる制御情報には、復号化および再生の対象であるスプライト画像の圧縮符号化データのスプライトパターンメモリ401内の格納先アドレス、モニタ403の表示画面におけるスプライト画像の表示位置、スプライト画像の拡大・縮小に関する指示、圧縮符号化情報等が含まれる。図13に示すように、圧縮符号化情報には、量子化モードを示す量子化モード識別子と前述した透明色制御用データが含まれている。なお、各透明色制御用データの示す透明色は同一であっても良く、また、各々異なっていても良い。同様に、各透明色制御用データの示す制御対象明示値も同一であっても良く、各々異なっていても良い。
【0060】
制御部303は、記憶部302に記憶された制御情報に従って画像処理LSI300内の各部の制御を行う制御中枢である。パターンメモリI/F304は、制御部303による制御の下、記憶部302に記憶された制御情報に含まれている格納先アドレスの示す記憶領域に格納されている圧縮符号化データをスプライトパターンメモリ401から取得する取得手段の役割を果たす。パターンデータデコーダ305は、前述した可逆復号処理210を実行する装置である。このパターンデータデコーダ305は、制御部303による制御の下、スプライトパターンメモリ401からパターンメモリI/F304を介してスプライト画像の圧縮符号化データを受け取り、可変長復号化処理211および逆予測符号化処理212を施す。これにより、圧縮符号化前のスプライトの画像データ(RGB表色系の画像データ)にデータ変換処理120および非可逆変換処理130を順次施して得られる画像データが復元されることになる。
【0061】
パターンデータデコーダ305から出力される画像データは、逆量子化部306による逆量子化処理(前述した逆量子化処理220と同一の処理)および表示制御部307による表示制御処理(前述した表示制御処理230と同一の処理)を経てRGB表色系の画像データに変換される。図12の逆量子化部306は、記憶部302に記憶された制御情報に含まれている圧縮符号化情報の量子化モード識別子にしたがって前述した逆量子化処理220を実行し、表示制御部307は、同圧縮符号化情報に含まれている透明色制御用データと制御部303から与えられる透明色制御を行うか否かの指示に応じて図11(A)或いは図11(B)に示す表示制御処理を実行する。表示制御部307による処理を経た画像データは、スプライトレンダリングプロセッサ308によるレンダリングでラインバッファ309Aまたは309Bに格納される。
【0062】
より詳細に説明すると、ラインバッファ309Aおよび309Bは、モニタ403の1ライン分の画像データを記憶する容量を各々有している。制御部303は、これらのラインバッファ309Aおよび309Bを交互に使用し、例えばラインバッファ309A内の1ライン分の画像データがモニタ403に表示される期間には、ラインバッファ309Bに次の1ライン分の画像データを書き込むレンダリングをスプライトレンダリングプロセッサ308に実行させ、ラインバッファ309B内の1ライン分の画像データがモニタ403に表示される期間には、ラインバッファ309Aに次の1ライン分の画素データを書き込むレンダリングをスプライトレンダリングプロセッサ308に実行させる。また、制御部303は、スプライトレンダリングプロセッサ308が行うレンダリングに間に合うように、レンダリングの対象となる1ライン分のスプライト画像の画像データをパターンデータデコーダ305、逆量子化部306および表示制御部307に出力させるための制御を行う。ここで、モニタ403の1ラインに複数種類のスプライト画像を表示させる場合もある。そのような場合、制御部303は、表示対象である全てのスプライト画像の1ライン分の画像データを得るために必要な圧縮符号化データをスプライトパターンメモリ401から読み出してパターンデータデコーダ305に供給し、その復号化を行わせるための制御を行う。
【0063】
表示コントローラ311、画像データコントローラ310およびモニタI/F312は、ラインバッファ309Aおよび309Bから交互に1ライン分の画像データを読み出してモニタ403に供給し、モニタ403に画像を表示させる手段である。さらに詳述すると、表示コントローラ311は、垂直同期信号および水平同期信号をモニタI/F312を介してモニタ403に供給するとともに、水平同期信号に同期して、画像データコントローラ310に画像データの読み出し指令を送る。画像データコントローラ310は、画像データの読み出し指令を受け取る毎に、ラインバッファ309Aおよび309Bを交互に選択し、選択したラインバッファから1ライン分の画像データを読み出し、モニタI/F312を介してモニタ403に送るのである。
以上が画像処理LSI300の構成である。
【0064】
以上のような構成としたため、本実施形態によれば、前述した画像表示制御装置200と同様に非可逆圧縮符号化の利点を損なうことなく、正確な透明色制御を行うことが可能になる。なお、本実施形態では、ラインバッファ方式の画像処理LSIに本発明を適用したが、フレームバッファ方式の画像処理LSIに本発明を適用しても勿論良い。ここで、フレームバッファ方式の画像処理LSIとは、1フレーム(1画面)分の画像データを格納するフレームバッファを備え、フレーム単位でレンダリング等を行うことを特徴とする画像処理デバイスのことである。
【0065】
(D:変形)
以上、本発明の一実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した第3実施形態では、圧縮符号化情報に量子化モード識別子が含まれていたが、量子化処理133における量子化モードが予め固定されている場合には、量子化モード識別子を圧縮符号化情報に含めておく必要はない。また、圧縮符号化データと対応付けて圧縮符号化情報をスプライトパターンメモリ401に格納しておいても良く、この場合、CPU402から制御部303に与える制御情報に圧縮符号化情報を含めておく必要はない。
【0066】
(2)上述した第2実施形態では、量子化処理133を施しておくことで、可逆圧縮符号化処理140を施す画像データの何れかの成分の構成ビット数を削減したが、このような量子化処理は必ずしも必須ではなく、省略しても勿論良い。なお、量子化処理133を省略して得られた圧縮符号化データのデコードにおいては逆量子化処理を行う必要がないことは勿論である。また、上記第2実施形態では、予測符号化処理141により得られた予測誤差に予測誤差変換処理142を施した後に可変長符号化処理143を施したが、予測誤差変換処理142を省略しても勿論良い。また、上記第2実施形態では、可逆圧縮符号化処理140として予測符号化処理141と可変長符号化処理143とを併用したものを用いたが、少なくとも予測符号化処理141を含むものであれば良い。
上述した第2実施形態では、量子化処理133の後に可逆圧縮符号化処理を行っているが、これに限られることはなく、透明色制御の対象となる画素について非可逆圧縮符号化処理および復号化を経た後の画素値が写像範囲外の値となることを保障する非可逆圧縮符号化処理アルゴリズムおよび復号化アルゴリズムであれば、非可逆圧縮符号化処理を行っても良い。
また、上述した第1実施形態では、透明色判断処理10の判断結果に応じて画素毎にRGB→YCbCr変換処理20aまたはオールゼロ変換処理20bの何れかが施された画像データに対して非可逆圧縮符号化処理30を施したが、必ずしもこれに限られるものではなく、透明色制御の対象となる画素について可逆圧縮符号化処理および復号化処理を経た後の画素値が写像範囲外の値となることを保障する可逆圧縮符号化処理アルゴリズムおよび復号化アルゴリズムであれば、可逆圧縮符号化処理を行っても良い。
【0067】
(3)上述した第2実施形態では、非可逆変換処理130(特に、縮小処理131および拡張処理132)を施すことによる画質の劣化を最小限に抑えるために、その前段においてRGB表色系からYCbCr表色系への写像を行ったが、LUV表色系への写像であっても勿論良い。他にも、RGB→YUV、RGB→YIQ、RGB→Lab、RGB→HLS、RGB→HSV、RGB→CMY、RGB→CMYKなどの各種写像を利用することが考えられる。これらの写像の写像規則は、前掲式(1)を参照すれば明らかなように、一般に、変換前の表色系における第1色成分から第3色成分の各画素データの一次結合で変換後の表色系における各成分を表す演算で表現される。つまり、データ変換処理120における演算は、画像を構成する複数の画素の各々について、変換前の表色系における第1色成分から第3色成分の各画素データの一次結合で新たな3種類の画素データを算出するような演算に一般化することができる。
【0068】
例えば、RGBの各成分の画素データから、R成分の画素データ、G成分とR成分の差分(G−R)を表す画素データ、およびB成分とR成分の差分(B−R)を表す画素データに変換する演算であっても良く、同様に、G成分、R成分とG成分の差分(R−G)およびB成分とG成分の差分(B−G)の各々を表す画素データに変換する演算や、B成分、R成分とB成分の差分(R−B)、G成分とB成分の差分(G−B)の各々を表す画素データに変換する演算であっても良い。そして、データ変換処理120のステップSA110における演算として画像を構成する複数の画素の各々について変換前の表色系における第1色成分から第3色成分の各画素データの一次結合で新たな3種類の画素データを算出する演算を採用する場合においては、同ステップSA120にて使用する制御対象明示値として上記演算の示す写像規則による写像範囲外の値(例えば、上記写像範囲の下限よりも小さな値、または、同写像範囲の上限よりも大きな値)を用いるようにすれば良い。
【0069】
また、第1色成分から第3色成分の各画素データの一次結合で新たな3種類の画素データを算出する演算の内容によっては、上記新たな画素データが0以上の値になるとは限らず、負の値となることも考えられる。しかし、本実施形態の逆予測符号化処理212では、予測符号化前の画素データが0以上の値であることを前提としているため、上記新たな画素データが負の値となることは不都合である。そこで、データ変換処理120により得られる新たな画素データが負の値となり得る場合には、上記新たな画素データに対してレベルシフト処理(例えば、一定の正の値の加算)を施し、画素データが必ずゼロ以上の値となるようにすれば良い。また、このようなレベルシフト処理を行う場合には、画質の劣化が顕著となることを避けるため、非可逆変換処理130の前段で行っておくことが望ましい。
【0070】
(4)上述した第2実施形態では、データ変換処理120により得られるYCbCr表色系の画像データのうち、Cb成分およびCr成分に対して縮小処理131および拡張処理132を施したが何れか一方の成分についてのみ縮小処理131および拡張処理132を施しても勿論良い。なお、他の表色系への写像の場合も同様に、第1色成分から第3色成分の各画素データの一次結合で得られる新たな3種類の画素データのうちの少なくとも一つに対して縮小処理131および拡張処理132を施すようにすれば良く、上記新たな3種類の画素データのうちの何れを縮小処理131および拡張処理132の処理対象とするのかについては、画質の劣化との兼ね合いで決めるようにすれば良い。
【0071】
(5)上述した第1(或いは第2)実施形態では、本実施形態の特徴を顕著に示す非可逆圧縮処理を実現するためのプログラムが圧縮符号化装置1(或いは、圧縮符号化装置100)に予めインストールされていたが、例えばCD−ROMなどのコンピュータ読み取り可能な記録媒体に上記非可逆圧縮プログラムを書き込んで配布しても良く、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。復号プログラムについても同様に、コンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、電気通信回線経由のダウンロードにより配布しても良い。
【符号の説明】
【0072】
1,100…圧縮符号化装置、2,200…画像表示制御装置、10…透明色判断処理、20a…RGB→YCbCr変換処理、20b…変換処理、30…非可逆圧縮符号化処理、30…復号処理、50…透明色判断処理、60a…YCbCr→RGB変換処理、60b…判断処理、70,80b…描画処理、80a…透明色制御処理、120…データ変換処理、130…非可逆変換処理、131…縮小処理、132…拡張処理、133…量子化処理、140…可逆圧縮符号化処理、141…予測符号化処理、142…予測誤差変換処理、143…可変長符号化処理、210…可逆復号処理、211…可変長復号化処理、212…逆予測符号化処理、220…逆量子化処理、230…表示制御処理、300…画像処理LSI、301…CPUI/F、302…記憶部、303…制御部、304…パターンメモリI/F、305…パターンデータデコーダ、306…逆量子化部、307…表示制御部、308…スプライトレンダリングプロセッサ、309A,309B…ラインバッファ、310…画像データコントローラ、311…表示コントローラ、312…モニタI/F、401…スプライトパターンメモリ、402…CPU、403…モニタ。
【特許請求の範囲】
【請求項1】
画像を構成する複数の画素の各々の色を第1色成分〜第3色成分の強度の組み合わせで表す画像データを取得し、前記複数の画素の各々について透明色制御の対象であるか否かを前記第1色成分〜第3色成分を参照して判定し、対象ではないと判定された画素については、前記第1色成分〜第3色成分の強度の組み合わせを所定の写像規則にしたがって前記第1色成分〜第3色成分とは異なる3種類の新たな成分の組み合わせに写像する一方、対象であると判定された画素については、前記写像規則による写像範囲外の所定の値に写像して新たな画素データに変換するデータ変換手段と、
前記データ変換手段により得られる画像データに対して非可逆圧縮符号化処理を施し圧縮符号化データを生成する非可逆圧縮符号化手段と
を具備することを特徴とする圧縮符号化装置。
【請求項2】
前記非可逆圧縮処理では、前記写像規則による写像範囲外の所定の値については可逆圧縮符号化され、前記写像規則による写像範囲内の値については非可逆圧縮符号化されることを特徴とする請求項1に記載の圧縮符号化装置。
【請求項3】
前記データ変換手段は、透明色制御の対象であると判定された画素について、前記写像規則による写像範囲の上限或いは下限から大きく離れた値に写像して新たな画素データを生成することを特徴とする請求項1に記載の圧縮符号化装置。
【請求項4】
前記非可逆圧縮処理では、前記データ変換処理により得られた画像データの3種類の新たな成分のうち少なくとも1つを可逆圧縮符号化され、他の成分については非可逆圧縮符号化されることを特徴とする請求項1に記載の圧縮符号化装置。
【請求項5】
請求項1に記載の圧縮符号化装置により生成された圧縮符号化データを取得する取得手段と、
前記取得手段により取得された圧縮符号化データに、前記非可逆圧縮符号化処理の逆演算に相当する復号処理を施し、画像データを復元する復号手段と、
前記復号手段により復元された画像データの表す画像を構成する画素の各々について画素値が前記写像範囲外の値であるか否かを判定し、前記写像範囲外の値である画素については透明色制御を行う一方、その他の画素については前記写像規則にしたがった演算の逆演算により画素値を前記第1色成分〜第3色成分の強度の組み合わせに変換し、その組み合わせに応じた色で表示装置に表示させる表示制御手段と、
を有することを特徴とする画像表示制御装置。
【請求項1】
画像を構成する複数の画素の各々の色を第1色成分〜第3色成分の強度の組み合わせで表す画像データを取得し、前記複数の画素の各々について透明色制御の対象であるか否かを前記第1色成分〜第3色成分を参照して判定し、対象ではないと判定された画素については、前記第1色成分〜第3色成分の強度の組み合わせを所定の写像規則にしたがって前記第1色成分〜第3色成分とは異なる3種類の新たな成分の組み合わせに写像する一方、対象であると判定された画素については、前記写像規則による写像範囲外の所定の値に写像して新たな画素データに変換するデータ変換手段と、
前記データ変換手段により得られる画像データに対して非可逆圧縮符号化処理を施し圧縮符号化データを生成する非可逆圧縮符号化手段と
を具備することを特徴とする圧縮符号化装置。
【請求項2】
前記非可逆圧縮処理では、前記写像規則による写像範囲外の所定の値については可逆圧縮符号化され、前記写像規則による写像範囲内の値については非可逆圧縮符号化されることを特徴とする請求項1に記載の圧縮符号化装置。
【請求項3】
前記データ変換手段は、透明色制御の対象であると判定された画素について、前記写像規則による写像範囲の上限或いは下限から大きく離れた値に写像して新たな画素データを生成することを特徴とする請求項1に記載の圧縮符号化装置。
【請求項4】
前記非可逆圧縮処理では、前記データ変換処理により得られた画像データの3種類の新たな成分のうち少なくとも1つを可逆圧縮符号化され、他の成分については非可逆圧縮符号化されることを特徴とする請求項1に記載の圧縮符号化装置。
【請求項5】
請求項1に記載の圧縮符号化装置により生成された圧縮符号化データを取得する取得手段と、
前記取得手段により取得された圧縮符号化データに、前記非可逆圧縮符号化処理の逆演算に相当する復号処理を施し、画像データを復元する復号手段と、
前記復号手段により復元された画像データの表す画像を構成する画素の各々について画素値が前記写像範囲外の値であるか否かを判定し、前記写像範囲外の値である画素については透明色制御を行う一方、その他の画素については前記写像規則にしたがった演算の逆演算により画素値を前記第1色成分〜第3色成分の強度の組み合わせに変換し、その組み合わせに応じた色で表示装置に表示させる表示制御手段と、
を有することを特徴とする画像表示制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−15139(P2011−15139A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2009−156990(P2009−156990)
【出願日】平成21年7月1日(2009.7.1)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願日】平成21年7月1日(2009.7.1)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]