(57)【要約】【課題】符号化データの復号時における処理能力の向上を図る。【解決手段】画像符号化装置１０の決定部１４は、画像データを分割した画素ブロック毎に、画素ブロックを表現するための代表色数の代表色を決定する。割当部１６は、画素ブロック内の各画素に、代表色を識別するインデックスを割り当てる。符号化部２０は、代表色を２色以上連続して符号化しないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化する。【選択図】図１
2014107742.tif 000002
【特許請求の範囲】
【請求項１】
画像データを分割した画素ブロック毎に、前記画素ブロックを表現するための代表色数の代表色を決定する決定部と、
前記画素ブロック内の各画素に、前記代表色を識別するインデックスを割り当てる割当部と、
前記代表色が２色以上連続して符号化されないように、前記インデックスと前記インデックスによって特定される前記代表色とを交互に並べて符号化する符号化部と、
を備えた画像符号化装置。
【請求項２】
前記符号化部は、
前記画素ブロック内の各画素に割り当てられたインデックスを予め定められた順に従って走査し、
前記代表色の各々に対応する前記インデックスが前記画素ブロックにおいて初めて走査された順にしたがって前記代表色の各々を並べて符号化する、
請求項１に記載の画像符号化装置。
【請求項３】
前記符号化部は、
前記画素ブロックにおいて、符号化済のインデックスとは異なる値のインデックスの割り当てられた画素を走査したときに、該インデックスによって特定される前記代表色を符号化する、
請求項２に記載の画像符号化装置。
【請求項４】
前記割当部は、
前記画素ブロック内の画素のうち、前記符号化部において最初に走査する画素には、予め定めた値のインデックスを割り当てる、
請求項１に記載の画像符号化装置。
【請求項５】
前記符号化部は、
前記代表色数を更に符号化すると共に、該代表色数が１である場合は前記インデックスの符号化を行わない、
請求項１に記載の画像符号化装置。
【請求項６】
画素ブロックを表現するための代表色数の代表色を識別するインデックスと、前記インデックスによって特定される前記代表色と、を前記代表色が２色以上連続して符号化されないように交互に並べて符号化した符号化データにおける、前記インデックスを復号するインデックス復号部と、
前記符号化データにおける前記代表色を復号する代表色復号部と、
を備えた画像復号装置。
【請求項７】
画像データを分割した画素ブロック毎に、前記画素ブロックを表現するための代表色数の代表色を決定すること、
前記画素ブロック内の各画素に、前記代表色を識別するインデックスを割り当てること、
前記代表色が２色以上連続して符号化されないように、前記インデックスと前記インデックスによって特定される前記代表色とを交互に並べて符号化すること、
を備えた画像符号化方法。
【請求項８】
画素ブロックを表現するための代表色を識別するインデックスと、前記インデックスによって特定される前記代表色と、を前記代表色が２色以上連続して符号化されないように交互に並べて符号化した符号化データにおける、前記インデックスを復号すること、
前記符号化データにおける前記代表色を復号すること、
を備えた画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法に関する。
【背景技術】
【０００２】
画像データを符号化する技術として、複数の代表色を用いた画像の符号化方法が知られている。この符号化方法では、符号化対象の画像データを複数の領域に分割し、各領域内のすべての画素に、該画素に応じて、画像で使用する色としての代表色を特定するためのインデックスを割り当てる。そして、インデックスに対応する代表色と、画素毎に割り当てたインデックスと、を符号化データとして出力する。
【０００３】
また、従来では、符号化データは、符号化データの先頭に全ての画素に対応する代表色を格納し、それに続いて全ての画素に対応するインデックスを格納した構成としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１６１７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来では、符号化データを復号する復号側では、符号化データの先頭に格納されている全ての画素に対応する代表色を全て受信した後に、初めて、画素毎に割り当てられたインデックスを取得する。このため、符号化データを受け付けてから復号データを出力するまでに遅延時間が発生し、単位時間当たりの処理能力が低下する場合があった。
【０００６】
本発明が解決しようとする課題は、符号化データの復号時における処理能力の向上を図ることができる、画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態の画像符号化装置は、決定部と、割当部と、符号化部と、を備える。決定部は、画像データを分割した画素ブロック毎に、前記画素ブロックを表現するための代表色数の代表色を決定する。割当部は、前記画素ブロック内の各画素に、前記代表色を識別するインデックスを割り当てる。符号化部は、前記代表色が２色以上連続して符号化されないように、前記インデックスと前記インデックスによって特定される前記代表色とを交互に並べて符号化する。
【図面の簡単な説明】
【０００８】
【図１】画像符号化装置のブロック図。
【図２】画素ブロックを示す模式図。
【図３】代表色の一例を示す模式図。
【図４】インデックスの割当結果を示す模式図。
【図５】符号化処理の手順を示すフローチャート。
【図６】符号化データのデータ構造を示す模式図。
【図７】符号化処理の手順を示すフローチャート。
【図８】インデックスの符号化の説明図。
【図９】インデックス符号化処理の手順を示すフローチャート。
【図１０】インデックスの割り当ての説明図。
【図１１】インデックスの再割り当て後を示す説明図。
【図１２】符号化部の機能構成を示すブロック図。
【図１３】符号化処理の手順を示すフローチャート。
【図１４】代表色の一例を示す模式図。
【図１５】符号化データのデータ構造の一例を示す模式図。
【図１６】代表色の予測符号化の説明図。
【図１７】画像符号化装置のブロック図。
【図１８】符号化処理の手順を示すフローチャート。
【図１９】符号化データのデータ構造を示す模式図。
【図２０】符号化データのデータ構造の模式図。
【図２１】画像復号装置の機能的構成の模式図。
【図２２】復号処理の手順を示すフローチャート。
【図２３】画像復号装置の機能的構成を示す模式図。
【図２４】復号処理の手順を示すフローチャート。
【発明を実施するための形態】
【０００９】
（実施の形態１）
図１は、本実施の形態の画像符号化装置１０の機能的構成を示すブロック図である。画像符号化装置１０は、画像符号化を行う装置である。画像符号化装置１０は、例えば、ＰＣ（パーソナルコンピュータ）の画面等、主に、ＣＧ（コンピュータグラフィックス）画像を扱う装置やシステムに組み込まれる。
【００１０】
本実施の形態の画像符号化装置１０は、取得部１２、決定部１４、割当部１６、判定部１８、及び符号化部２０を備える。
【００１１】
取得部１２は、符号化対象の画像データを取得し、予め定めた大きさの画素ブロックに分割する。
【００１２】
図２は、画素ブロックの一例を示す模式図である。図２に示すように、取得部１２は、例えば、符号化対象の画像データを４×４画素の画素ブロックに分割する。
【００１３】
なお、取得部１２が分割する画素ブロックの単位は、４×４画素の画素ブロックに限られない。例えば、取得部１２は、符号化対象の画像データを、Ｎ×Ｎ画素の正方形の画素ブロックや、Ｎ×Ｍ画素の長方形の画素ブロックに分割してもよい。なお、Ｎ及びＭは、２以上の整数であり、ＮとＭとは異なる値である。また、取得部１２は、符号化対象の画素を、Ｎ×１画素や１×Ｎ画素のライン状の画素ブロックに分割してもよい。
【００１４】
なお、取得部１２は、符号化対象の画像データを構成する各画素を、ラスタースキャン等の公知の走査順で走査し、画素ブロックに分割する。なお、取得部１２が画像データを画素ブロックに分割するときの、該画像データの走査順は、ラスタースキャンに限られない。
【００１５】
また、本実施の形態では、符号化対象の画像データを構成する各画素の色は、ＲＧＢ表色系で表現されているものとして説明する。なお、各画素の色は、ＲＧＢ表色系に限られない。例えば、各画素の色は、ＹＵＶ、ＹＣｂＣｒ、ＨＳＶ等、ＲＧＢ表色系以外の他の表色系の表現であってもよい。また、本実施の形態では、各画素の色のダイナミックレンジは、８ビット（０〜２５５）で表現されているものとして説明するが、８ビットに限られない。
【００１６】
図１に戻り、決定部１４は、画素ブロックを取得部１２から順次受け付ける。そして、決定部１４は、受け付けた画素ブロックの各々について、各画素ブロックを表現するための、１または複数の代表色を決定する。
【００１７】
具体的には、決定部１４は、画素ブロック毎に、画素ブロックに応じた、１または複数の代表色を決定する。なお、以下では、決定部１４が、画素ブロック毎に決定する代表色の数を、代表色数と称して説明する場合がある。
【００１８】
決定部１４は、公知の方法で代表色を決定する。本実施の形態では、決定部１４は、画素ブロック内の各画素の色値に基づいた代表色数の代表色を決定する。
【００１９】
図３は、決定部１４が決定した代表色の一例を示す模式図である。図３に示すように、決定部１４は、例えば、４色の代表色（パレット０〜パレット３）を決定する。なお、決定部１４は、各代表色の色値として、ＲＧＢ表色系によって示される値、すなわち、Ｒ，Ｇ，Ｂの各々の色値を決定する。
【００２０】
なお、決定部１４は、公知の方法を用いて代表色を決定すればよく、決定方法は、上記方法に限られない。例えば、決定部１４は、画素ブロックを構成する画素の色のヒストグラムを生成し、該ヒストグラムによって特定される色分布に基づいて、代表色数の代表色を決定してもよい。また、決定部１４は、予め設定した代表色数の代表色を読取ることによって、代表色を決定してもよい。また、決定部１４は、画素ブロックを構成する画素の色に応じて、代表色数を調整してもよい。
【００２１】
なお、決定部１４が、予め設定した代表色数の代表色を決定する場合には、後述する符号化部２０では、決定された代表色数の符号化を行う必要はない。
【００２２】
図１に戻り、割当部１６は、画素ブロック内の各画素に、決定部１４で決定された代表色数の代表色の各々を識別するインデックスを、画素とインデックスとが１対１の関係となるように割り当てる。インデックスは、各代表色を一意に識別する識別情報であり、例えば、代表色を示す番号等で示される。
【００２３】
具体的には、割当部１６は、画素ブロック内の各画素の各々について、画素の色値と、決定部１４で決定された各代表色の色値と、の色空間における距離を算出し、算出した距離が最小となる代表色を識別するインデックスを割り当てる。
【００２４】
各画素の色値と代表色の色値との距離の算出式には、下記式（１）を用いる。
【００２５】
【数１】
2014107742.tif 000003
【００２６】
式（１）中、「符号化対象画素のＲ」は、符号化対象の画素のＲの色値を示す。「代表色のＲ」は、決定部１４で決定された代表色のＲの色値を示す。「符号化対象画素のＧ」は、符号化対象の画素のＧの色値を示す。「代表色のＧ」は、決定部１４で決定された代表色のＧの色値を示す。「符号化対象画素のＢ」は、符号化対象の画素のＢの色値を示す。「代表色のＢ」は、決定部１４で決定された代表色のＢの色値を示す。
【００２７】
また、式（１）中、αは、Ｒ（Ｒの色値）に対する重み係数である。式（１）中、βは、Ｇ（Ｇの色値）に対する重み係数であり、γは、Ｂ（Ｂの色値）に対する重み係数である。なお、本実施の形態では、α＝β＝γ＝１である場合を説明する。
【００２８】
なお、本実施の形態では、α＝β＝γ＝１とする形態を説明するが、この形態に限られない。例えば、ベイヤー配列などを考慮して、Ｇ（Ｇの色値）を優先するのであれば、α＝γ＝１、β＝２としてもよい。また、ＹＵＶ表色系であれば、Ｙ（Ｙの色値）に対する重み係数をα、Ｕ（Ｕの色値）に対する重み係数をβ、Ｖ（Ｖの色値）に対する重み係数をγとした場合、Ｙを優先して、α＝２、β＝γ＝１としてもよい。
【００２９】
さらに、８ビット精度での差分を取らずに、例えば、下位ビットを落としてもよい。すなわち、算術右シフトのようビット幅を減らしてもよい。８ビットを７ビットに減らした後に差分を算出することで、正負の情報として増える１ビットの情報を加味しても、元の８ビットで処理するビット幅を増やさずに済む。
【００３０】
なお、割当部１６によるインデックスの割り当て方法は、上記方法に限られない。例えば、割当部１６は、画素ブロック内の各画素の色値と代表色の色値との距離の算出式に、上記式（１）以外の式を用いてもよい。また、割当部１６は、後述する符号化部２０におけるインデックスの符号化が容易となるように、隣接する画素に同じ値のインデックスが割り当てられ易くするような公知の方法で、インデックスを割り当ててもよい。
【００３１】
図４は、図２に示す画素ブロック内の各画素に、図３に示す４色の代表色（パレット０〜パレット３）の内の何れかのインデックスを割り当てた割当結果の一例を示す模式図である。
【００３２】
図４に示すように、割当部１６は、画素ブロック内の各画素の色値（ＲＧＢ値）と、決定部１４で決定された代表色の色値と、から、代表色のインデックスを各画素に割り当てる。
【００３３】
図１に戻り、判定部１８は、符号化部２０が画素ブロックを構成する画素を予め定めた走査順で走査して符号化するときに、符号化対象の画素に割り当てられたインデックスが新規インデックスであるか否かを判定する。具体的には、判定部１８は、符号化対象の画素ブロック内の各画素を順に走査して符号化するときに、該画素ブロックにおいて符号化済のインデックスとは異なる値のインデックスの割り当てられた画素を走査した（すなわち、符号化対象とした）か否かを判別することで、新規インデックスであるか否かを判定する。
【００３４】
符号化部２０は、判定部１８による判定結果を受け付ける。また、符号化部２０は、決定部１４から、決定された代表色を受け付ける。また、符号化部２０は、インデックスの割り当てられた画素ブロックを割当部１６から受け付ける。
【００３５】
符号化部２０は、判定部１８による判定結果に応じて、代表色を２色以上連続して符号化しないように、画素ブロック内の各画素に割り当てられたインデックスと、インデックスによって特定される代表色とを交互に並べて符号化する。
【００３６】
次に、画像符号化装置１０で実行する符号化処理を説明する。図５は、画像符号化装置１０が実行する符号化処理の手順を示すフローチャートである。
【００３７】
画像符号化装置１０では、取得部１２が符号化対象の画像データを取得すると、符号化処理を実行する。
【００３８】
まず、決定部１４が、取得部１２で分割された画素ブロックを取得する（ステップＳ１０１）。
【００３９】
次に、決定部１４が、画素ブロックに応じた代表色を決定する（ステップＳ１０２）。ステップＳ１０２の処理によって、上述したように、決定部１４は、符号化対象の画素ブロックに応じた、代表色数の代表色を決定する。
【００４０】
次に、符号化部２０が、ステップＳ１０２で決定された代表色数を符号化する（ステップＳ１０３）。
【００４１】
次に、割当部１６が、ステップＳ１０１で取得した画素ブロック内の各画素に対して、代表色のインデックスを割り当てる（ステップＳ１０４）。
【００４２】
次に、符号化部２０が、ステップＳ１０１で取得した画素ブロック内の各画素を、予め定めた走査順で走査することで、順次、符号化対象の画素を特定し、ステップＳ１０５〜ステップＳ１０８の処理を実行する。
【００４３】
具体的には、符号化部２０は、符号化対象の画素に割り当てられたインデックスを符号化するインデックス符号化処理を実行する（ステップＳ１０５）。例えば、インデックスが“０”である場合、符号化部２０は、“０”を符号化する。
【００４４】
次に、判定部１８が、直前のステップＳ１０５の処理において符号化されたインデックスが新規インデックスであるか否かを判断する（ステップＳ１０６）。判定部１８がステップＳ１０６で肯定判断すると（ステップＳ１０６：Ｙｅｓ）、ステップＳ１０７へ進む。一方、ステップＳ１０６で否定判断すると（ステップＳ１０６：Ｎｏ）、後述するステップＳ１０８へ進む。
【００４５】
ステップＳ１０７では、符号化部２０が、ステップＳ１０５で符号化したインデックスに対応する代表色を符号化する（ステップＳ１０７）。具体的には、符号化部２０は、代表色の色値を符号化する。例えば、ステップＳ１０５で符号化したインデックスが“０”である場合、符号化部２０は、該インデックス“０”に対応する代表色“パレット０”の色値“Ｒ＝１２８、Ｇ＝１２８、Ｂ＝１２８”を符号化する（図３も参照）。
【００４６】
次に、符号化部２０は、ステップＳ１０１で取得した画素ブロックに含まれる全ての画素について、ステップＳ１０５〜ステップＳ１０７の処理を実行したか否かを判断する（ステップＳ１０８）。ステップＳ１０８で否定判断すると（ステップＳ１０８：Ｎｏ）、上記ステップＳ１０５へ戻る。一方、ステップＳ１０８で肯定判断すると（ステップＳ１０８：Ｙｅｓ）、本ルーチンを終了する。
【００４７】
画像符号化装置１０では、符号化対象の画像データにおける全ての画素ブロックについて、上記ステップＳ１０１〜ステップＳ１０８の処理を実行する。これによって、符号化対象の画像データを符号化する。
【００４８】
図６は、画像符号化装置１０における符号化処理によって作成された符号化データのデータ構造の一例を示す模式図である。
【００４９】
なお、図６は、決定部１４が図３に示す代表色を決定し、割当部１６が画素ブロック内の各画素に図４に示すインデックスを割り当てた場合に、符号化部２０が作成した符号化データの一部のデータ構造を示す模式図である。
【００５０】
上記符号化処理が実行されることによって、図６に示すように、符号化データは、代表色が２色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とが交互に配置された構成となる。
【００５１】
具体的には、図６に示すように、符号化データの先頭には、符号化された代表色数（図６中、“パレット数＝４”参照）が配置される。そして、符号化対象の画素ブロックにおいて初めて出現したインデックス（新規インデックス）については、符号化された該インデックスの後に、該インデックスによって特定される、符号化された代表色（具体的には代表色の色値）が配置される。また、符号化対象の画素ブロックにおいて、既に出現したインデックスについては、該インデックスのみが符号化され、該インデックスに対応する代表色は符号化されない。
【００５２】
このため、画像符号化装置１０によって作成された符号化データは、代表色が２色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とが交互に配置された構成となる。
【００５３】
以上説明したように、本実施の形態の画像符号化装置１０では、代表色が２色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化する。
【００５４】
このため、本実施の形態の画像符号化装置１０では、符号化データに含まれる全ての代表色を受け付ける前に復号処理を開始可能な符号化データを生成することができる。このため、本実施の形態の画像符号化装置１０では、符号化データを復号する復号装置側における、符号化データを受け付けてから復号データを出力するまでの遅延時間の短縮を図ることができる。
【００５５】
従って、本実施の形態の画像符号化装置１０では、符号化データの復号時における単位時間当たりの処理能力の向上を図ることができる。
【００５６】
（変形例１−１）
なお、割当部１６は、画素ブロック内の各画素の符号化処理において、最初に符号化する符号対象の画素について、予め定めたインデックスを割り当ててもよい。例えば、割当部１６は、画素ブロックを構成する画素の内、最初の符号化対象の画素については、インデックス“０”を割り当ててもよい。
【００５７】
このようにすれば、画素ブロックを構成する画素の内、最初の符号化対象の画素に対してのインデックスの割り当ては不要となる。このため、符号化データに含まれる符号化されたインデックスの数が、画素ブロックを構成する画素の画素数から１画素分減算した数となる。このため、符号化データのデータ量の削減を図ることができる。
【００５８】
（変形例１−２）
また、符号化部２０は、符号化対象の画素ブロックについて、決定部１４で決定された代表色の代表色数が“１”である場合には、該画素ブロックについてはインデックス情報を符号化しないようにしてもよい。この場合、画像符号化装置１０では、図７に示す符号化処理を実行すればよい。
【００５９】
図７は、本変形例における符号化処理の手順を示すフローチャートである。
【００６０】
図７に示すように、まず、決定部１４が、取得部１２から画素ブロックを取得する（ステップＳ２０１）。次に、決定部１４が、画素ブロックに応じた代表色を決定する（ステップＳ２０２）。次に、符号化部２０が、ステップＳ２０２で決定された代表色数を符号化する（ステップＳ２０３）。ステップＳ２０１〜ステップＳ２０３の処理は、上記実施の形態１のステップＳ１０１〜ステップＳ１０３と同様である。
【００６１】
次に、符号化部２０が、ステップＳ２０２で決定された代表色数が“１”であるか否かを判断する（ステップＳ２０４）。ステップＳ２０４で肯定判断すると（ステップＳ２０４：Ｙｅｓ）、ステップＳ２１０へ進む。
【００６２】
ステップＳ２１０では、符号化部２０が、ステップＳ２０２で決定された１色分の代表色のみを符号化し（ステップＳ２１０）、本ルーチンを終了する。
【００６３】
一方、上記ステップＳ２０４で否定判断すると（ステップＳ２０４：Ｎｏ）、ステップＳ２０５へ進む。ステップＳ２０５〜ステップＳ２０９では、実施の形態１のステップＳ１０４〜ステップＳ１０８と同様の処理を実行する。そして、符号化対象の画像における未処理の次の画素ブロックについて、ステップＳ２０１〜ステップＳ２１０の処理を実行する。
【００６４】
このように、本変形例の画像符号化装置１０では、符号化対象の画素ブロックについて決定された代表色数が“１”、すなわち１色である場合には、インデックスの割り当てやインデックスの符号化を含む、ステップＳ２０５〜ステップＳ２０９の処理を省略する。
【００６５】
このため、本変形例の画像符号化装置１０では、実施の形態１の効果に加えて更に、符号化処理における演算量の削減と、生成する符号化データのデータ量削減を図ることができる。
【００６６】
（変形例１−３）
上記実施の形態では、符号化部２０は、全ての情報を固定長で符号化する場合を想定して説明した。しかし、符号化部２０は、符号化対象のデータの種類に応じた符号長で符号化を行ってもよい。
【００６７】
例えば、符号化部２０は、インデックスの符号化について、符号化対象の画素ブロックにおける、同じ値のインデックスの出現頻度に応じて符号長を変更してもよい。すなわち、符号化部２０は、可変長符号化方式を用いて符号化を行ってもよい。可変長符号化方式には、例えば、ハフマン符号化、算術符号化がある。また、符号化部２０は、連続するインデックスをまとめて符号化するランレングス符号化方式を用いて符号化を行ってもよい。
【００６８】
（変形例１−４）
また、上記実施の形態では、符号化部２０は、画素毎に割り当てられたインデックスを符号化する場合を説明した。しかし、符号化部２０は、インデックスの符号化について、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、該符号化対象の画素のインデックスの符号化を行ってもよい。
【００６９】
図８は、符号化部２０が、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、インデックスの符号化を行う方法を説明するための説明図である。
【００７０】
なお、図８（Ａ）及び図８（Ｂ）中、ａ、ｂ、ｃは、各々、符号化済の画素を示す。また、図８（Ａ）及び図８（Ｂ）中、ｄは、符号化対象の画素を示す。
【００７１】
また、図８（Ａ）の状態において、符号化部２０が実行するインデックス符号化処理の手順を、図９を用いて説明する。図９は、本変形例において、符号化部２０が実行するインデックス符号化処理の手順を示すフローチャートである。なお、図９に示すインデックス符号化処理は、実施の形態１−２のステップＳ２０６（図７参照）のインデックス符号化処理に替えて実行する。
【００７２】
まず、符号化部２０は、符号化対象の画素のインデックス符号化にあたり、該符号化対象の画素に隣接する符号化済の画素のインデックスから、符号化対象の画素のインデックスを予測した予測値を生成する（ステップＳ２０６１）。
【００７３】
具体的には、符号化部２０は、図８（Ａ）における、符号化対象の画素としてのｄのインデックスを符号化するにあたり、該ｄに隣接し且つ符号化済の画素であるａ、ｂ、ｃの各々のインデックスから、該ｄのインデックスを予測する。例えば、画素ａとｂのインデックスが等しく、ａとｃのインデックスが異なる場合には、符号化部２０は、画像中に斜めのエッジが存在するとみなして、予測値（ｐｒｅｄ）としてｃを生成する（図８（Ｂ）参照）。
【００７４】
同様に、符号化部２０は、図８（Ａ）におけるｂとｃのインデックスが等しく、ｂとａのインデックスが異なる場合は、画像中に縦のエッジがあるとみなして、予測値（ｐｒｅｄ）としてａを生成する（図８（Ｂ）参照）。これら以外の場合は、横のエッジがあるとみなして予測値（ｐｒｅｄ）としてｂを生成する（図８（Ｂ）参照）。
【００７５】
なお、予測値の決定方法については、公知の方法を用いればよく、上記方法に限られない。
【００７６】
次に、符号化部２０は、ステップＳ２０６１で生成した予測値と、ｄのインデックスとが一致するか否かを判断する（ステップＳ２０６２）。ステップＳ２０６２で肯定判断すると（ステップＳ２０６２：Ｙｅｓ）、ステップＳ２０６３へ進む。ステップＳ２０６３では、符号化部２０は、Ｓｋｉｐ＿ｆｌａｇ＝１を示す情報を１ビットで符号化する（ステップＳ２０６３）。そして、本ルーチンを終了する。
【００７７】
一方、ステップＳ２０６２で否定判断すると（ステップＳ２０６２：Ｎｏ）、ステップＳ２０６４へ進む。そして、符号化部２０は、Ｓｋｉｐ＿ｆｌａｇ＝０を示す情報を符号化し（ステップＳ２０６４）、さらにｄのインデックスを、例えば固定長で符号化する（ステップＳ２０６５）。そして、本ルーチンを終了する。
【００７８】
以上説明したように、本変形例では、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、符号化対象の画素のインデックスを符号化する。このため、隣接画素間のインデックスの相関の高い画像では、インデックスを固定長２ビットで符号化していたところを、１ビットのフラグの符号化のみで対応することができる。
【００７９】
このため、本変形例では、実施の形態１の効果に加えて更に、高い圧縮率の符号化データを作成することができる。
【００８０】
（変形例１−５）
なお、符号化部２０は、可変長符号化方式を用いて、インデックスの符号化を行ってもよい。
【００８１】
図１０は、インデックスの割り当ての説明図である。例えば、符号化対象の画素ブロックが図２に示す画素ブロックであったとする。そして、決定部１４が、符号化対象の画素ブロックに対して、図１０（Ｂ）に示す、４色の代表色（パレット０〜パレット３）を決定したとする。
【００８２】
この場合、決定部１４は、符号化対象の画素ブロック内の各画素に、例えば、図１０（Ａ）に示すインデックスを割り当てる。この画素ブロック内の各画素について、符号化部２０が符号化時に予め定めた走査順で走査を行うと、各代表色に対応するインデックスの値が新規に出現するタイミングは、「インデックス０」、「インデックス１」、「インデックス３」、「インデックス２」の順となる。
【００８３】
図１１は、インデックスの再割り当て後の状態を示す説明図である。この場合、符号化部２０は、これらのインデックスを、「インデックス０」〜「インデックス３」といった、走査順にそって昇順の並びとなるように、インデックスの再割り当てを行う（図１１参照）。
【００８４】
詳細には、符号化部２０は、代表色と代表色に対応するインデックスと、の対応関係を、符号化対象の画素ブロックを構成する画素に割り当てたインデックスが該画素を順に符号化するときの走査順にそって昇順となるように、変更する。
【００８５】
図１１に示す例では、色値「Ｒ＝６４，Ｇ＝１２８，Ｂ＝６４」によって示される代表色に対応づけられていたインデックス「パレット２」を、インデックス「パレット３」に変更している。また、色値「Ｒ＝１２８，Ｇ＝９６，Ｂ＝１２８」によって示される代表色に対応づけられていたインデックス「パレット３」を「パレット２」に変更している（図１１（Ｂ）参照）。これによって、画素ブロック内の各画素に割り当てられるインデックスは、図１１（Ａ）に示すように、画素ブロックを構成する画素を符号化するときの走査順にそって昇順となるように割り当てられる。
【００８６】
なお、符号化部２０は、図５におけるステップＳ１０４によって示される、各画素へのインデックスの割り当て処理を行った後に、上記再割り当て処理を行えばよい。そして、符号化部２０は、この再割り当て処理を行った後に、さらに、画素ブロック内の各画素を、予め定めた走査順で走査し、図５で説明したステップＳ１０５〜ステップＳ１０８の処理を実行すればよい。
【００８７】
このように、符号化部２０が、インデックスの再割り当てを行うことにより、符号化対象の画素を走査した時点では、それまでに出現したインデックスの最大値＋１よりも大きい値のインデックスは出現しないこととなる。このため、インデックスの出現状況に応じて、インデックスの符号長を制御することができる。
【００８８】
例えば、符号化部２０が第０画素目の画素のインデックスを符号化した時点では、「インデックス０」のみしか出現していない。このため、第１画素目のインデックスは「インデックス０」または「インデックス１」であることが保証される。したがって、本来インデックスを２ビットで符号化していたところを、「インデックス０」あるいは「インデックス１」を示す１ビットの情報で表現できるようになる。
【００８９】
従って、本変形例では、実施の形態１の効果に加えて更に、インデックスを固定長で符号化する場合に比べて高い圧縮率の符号化データを作成することができる。
【００９０】
（変形例１−６）
なお、符号化部２０は、代表色の符号化において（図５のステップＳ１０７参照）、代表色を量子化することで符号化することが好ましい。具体的には、代表色の色値を量子化することで符号化することが好ましい。代表色を量子化することで、より圧縮率の高い符号化データの生成が可能となる。
【００９１】
代表色の量子化としては、例えば、８ビットで表現していた色値の下位ビットを一律に落として、６ビットにする方法がある。例えば、代表色数が４色であり、Ｒ，Ｇ，Ｂの各色値を８ビットで表現すると、１色の代表色につき９６ビット必要である。すなわち、８ビット×Ｒ，Ｇ，Ｂの３コンポーネント×４色＝９６ビット必要である。
【００９２】
一方、８ビットで表現していた色値の下位ビットを一律に落として、６ビットにすると、１色の代表色につき７２ビットで表現可能である。すなわち、７２ビット（６ビット×３コンポーネント（Ｒ，Ｇ，Ｂ）×４色＝７２ビット）となる。
【００９３】
このため、８ビットの情報をそのまま符号化する場合に比べ、高い圧縮率の符号化データの生成が可能となる。
【００９４】
（変形例１−７）
また、符号化部２０は、代表色の符号化において（図５のステップＳ１０７参照）、代表色の色値のダイナミックレンジに応じて、代表色を符号化する際の符号化長を決定することが好ましい。代表色の色値のダイナミックレンジに応じて、符号化長を適宜変更することで、より圧縮率の高い符号化データを生成することができる。
【００９５】
この場合、実施の形態１の符号化部２０を、図１２に示す符号化部２０Ａに替えた構成の画像符号化装置１０Ａ（図１参照）とすればよい。図１２は、符号化部２０Ａの機能構成を示すブロック図である。
【００９６】
符号化部２０Ａは、ダイナミックレンジ算出部３０、及びエントロピー符号化部３２を備える。
【００９７】
ダイナミックレンジ算出部３０は、決定部１４で決定された代表色のダイナミックレンジを算出する。エントロピー符号化部３２は、エントロピー符号化を行う。
【００９８】
図１３は、符号化部２０に替えて符号化部２０Ａを備えた画像符号化装置１０Ａ（図１参照）で実行する符号化処理の手順を示すフローチャートである。
【００９９】
まず、画像符号化装置１０Ａでは、実施の形態１の画像符号化装置１０におけるステップＳ１０１〜ステップＳ１０２、及びステップＳ１０４と同様の処理を実行する（ステップＳ６０１〜ステップＳ６０３）。
【０１００】
次に、ダイナミックレンジ算出部３０が、決定部１４で決定された代表色の色値のダイナミックレンジを、Ｒ，Ｇ，Ｂの各々のコンポーネントについて算出する（ステップＳ６０４）。
【０１０１】
図１４は、決定部１４が決定した代表色の一例を示す模式図である。図１４に示す例では、決定部１４は、４色の代表色（「パレット０」〜「パレット３」）の色値（ＲＧＢ値）を決定している。
【０１０２】
この場合、ダイナミックレンジ算出部３０は、Ｒ，Ｇ，Ｂの各々のコンポーネントのダイナミックレンジとして、Ｒについては［１２８，１２８］、Ｇについては［０，１２７］、Ｂについては［６４，１２７］を算出する。
【０１０３】
次に、エントロピー符号化部３２が、ステップＳ６０４で算出されたダイナミックレンジを符号化する（ステップＳ６０５）。
【０１０４】
例えば、エントロピー符号化部３２は、Ｒ，Ｇ，Ｂの各々のコンポーネントにおけるダイナミックレンジの最小値、及び、Ｒ，Ｇ，Ｂの各々のコンポーネントにおけるダイナミックレンジを表現するために必要なビット幅、を符号化する。エントロピー符号化部３２は、最小値として、例えば、Ｒについては［１２８］、Ｇについては［０］、Ｂについては［６４］を、固定長（例えば、８ビット）で符号化する。
【０１０５】
また、エントロピー符号化部３２は、代表色のダイナミックレンジを表現するために必要なビット幅については、Ｒについては［１２８，１２８］の区間を表現すればよい。このため、必要なビット幅は０ビット（Ｒ＿Ｒａｎｇｅ＝０ビット）となる。Ｇについては、［０，１２７］の区間を表現するので、７ビット（Ｇ＿Ｒａｎｇｅ＝７ビット）となる。Ｂについては、［６４，１２７］の区間を表現するので、６ビット（Ｂ＿Ｒａｎｇｅ＝６ビット）となる。そして、エントロピー符号化部３２は、これらの代表色の表現に必要なビット幅に関する情報を、固定長（例えば、４ビット）で符号化する。
【０１０６】
次に、エントロピー符号化部３２は、ステップＳ６０１で取得した画素ブロック内の各画素を、予め定めた走査順で走査し、各画素について、ステップＳ６０６〜ステップＳ６０９の処理を実行する。
【０１０７】
なお、ステップＳ６０６及びステップＳ６０７の処理は、実施の形態１におけるステップＳ１０５及びステップＳ１０６と同様である（図５参照）。
【０１０８】
ステップＳ６０８では、エントロピー符号化部３２が、上記ステップＳ６０４で算出したダイナミックレンジに基づいて代表色を符号化する（ステップＳ６０８）。
【０１０９】
本変形例では、エントロピー符号化部３２は、各代表色の色値と、Ｒ，Ｇ，Ｂの各々のコンポーネントの最小値と、の差分を符号化する。
【０１１０】
図１４における、代表色「パレット０」を符号化する場合を一例に挙げて説明する。
【０１１１】
まず、エントロピー符号化部３２は、決定部１４で決定された４色の代表色（「パレット０」〜「パレット３」）における、「パレット０」のＲの値［１２８］から、ステップＳ６０４で算出されたＲのコンポーネントの最小値［１２８］を減算した差分［０］を符号化する。なお、上述したように、本変形例では、代表色のダイナミックレンジを表現するために必要なビット幅として、Ｒについて必要なビット幅は０ビット（Ｒ＿Ｒａｎｇｅ＝０ビット）である。このため、この差分については符号化する必要がない。
【０１１２】
また、エントロピー符号化部３２は、決定部１４で決定された４色の代表色における、「パレット０」のＧの値［１２７］から、ステップＳ６０４で算出されたＧのコンポーネントの最小値［０］を減算した差分［１２７］を符号化する。なお、上述したように、本変形例では、代表色のダイナミックレンジを表現するために必要なビット幅として、Ｇについて必要なビット幅は７ビット（Ｇ＿Ｒａｎｇｅ＝７ビット）である。このため、エントロピー符号化部３２は、この差分［１２７］を７ビットで符号化する。
【０１１３】
同様に、エントロピー符号化部３２は、決定部１４で決定された４色の代表色における、「パレット０」のＢの値［１２７］から、ステップＳ６０４で算出されたＢのコンポーネントの最小値［６４］を減算した差分［６３］を符号化する。なお、上述したように、本変形例では、代表色のダイナミックレンジを表現するために必要なビット幅として、Ｂについて必要なビット幅は６ビット（Ｂ＿Ｒａｎｇｅ＝６ビット）である。このため、エントロピー符号化部３２は、この差分［６３］を６ビットで符号化する。
【０１１４】
図１５は、本変形例で作成された符号化データのデータ構造の一例を示す模式図である。
【０１１５】
上述したように、上記実施の形態では、代表色を８ビットの固定長で符号化する場合には、代表色の符号化には９６ビットが必要であった。一方、代表色のダイナミックレンジに応じて代表色を符号化する際の符号化長を決定することで、本変形例では、図１５に示すデータ構造の符号化データが得られる。すなわち、図１５に示すように、本変形例では、代表色の符号化には、８８ビット（（８＋４）ｂｉｔ×３コンポーネント（Ｒ，Ｇ，Ｂ）＋（０＋７＋６）ｂｉｔ×４色＝８８ｂｉｔ）を用いればよい。
【０１１６】
このため、本変形例では、実施の形態１における効果に加えて、高い圧縮率の符号化データを生成することができる。
【０１１７】
（変形例１−８）
また、符号化部２０は、符号化済の画素から代表色を予測して符号化してもよい。
【０１１８】
図１６は、代表色の予測符号化の説明図である。図１６（Ａ）は、符号化済の画素を利用した代表色の符号化の説明図である。図１６（Ｂ）は、決定された代表色の一例を示す模式図である。
【０１１９】
なお、図１６（Ａ）中、「Ｐｉｘ０」〜「Ｐｉｘ８」は符号化済の画素を表している。また、符号化部２０が、図１６中「インデックス」と表記された各画素を、ラスタースキャン順に走査するものとして説明する。
【０１２０】
例えば、符号化部２０が、第０画素目の画素を符号化対象としたとする。この場合、第０画素目に割り当てられているインデックス（「インデックス０」）は、この時点で新規に出現した新規インデックスである。このため、符号化部２０は、「インデックス０」と、該インデックスによって特定される代表色である「パレット０」の代表色を符号化する。
【０１２１】
このとき、符号化部２０は、「パレット０」の代表色と同じ色値の符号化済の画素を「Ｐｉｘ０」〜「Ｐｉｘ８」から探索する。図１６に示す例では、「パレット０」の代表色と、「Ｐｉｘ１」の色値とが同じである。このため、符号化部２０は、「パレット０」の代表色を符号化、すなわち、Ｒ，Ｇ，Ｂの値の各々を８ビットで符号化する符号化処理に替えて、「Ｓｋｉｐ＿ｐａｌｅｔｔｅ＝１」というフラグを１ビットで符号化する。また、このとき、符号化部２０は、「Ｐｉｘ１」の色値（画素値とも称する）と同じであることを示す情報を符号化する。
【０１２２】
なお、「Ｐｉｘ１」を指定する情報については、例えば、「Ｐｉｘ０」〜「Ｐｉｘ８」に対してそれぞれ００００（２）〜１０００（２）の符号を割り当てる。そして、Ｐｉｘ１＝０００１（２）を固定長４ビットで符号化すればよい。なお、符号化部２０は、符号化対象の画素との相対位置（例えば、「Ｘ＝０，Ｙ＝−１」）を符号化してもよい。
【０１２３】
符号化部２０は、次に、第１画素目の画素を符号化する。第１画素目のインデックス（「インデックス１」）は、この時点で新規に出現する新規インデックスである。このため、符号化部２０は、このインデックス（「インデックス１」）と、「インデックス１」によって特定される代表色（「パレット１」）を符号化する。
【０１２４】
この場合についても同様に、符号化部２０は、「パレット１」の代表色と同じ色値の符号化済の画素を「Ｐｉｘ０」〜「Ｐｉｘ８」から探索する。図１６に示す例では、「パレット１」の代表色と同じ色値の符号化済の画素が存在しない。このため、符号化部２０は、「Ｓｋｉｐ＿ｐａｌｅｔｔｅ＝０」というフラグを１ビットで符号化するとともに、「パレット１」の代表色をＲ，Ｇ，Ｂの各々について８ビットで符号化する。
【０１２５】
なお、本変形例では、色値が完全一致する画素を符号化済の画素から探索したが、この方法に限られない。例えば、符号化部２０は、同じ色値であると識別するための閾値（閾値Ｂとする）を予め定める。そして、符号化部２０は、符号化済の画素の色値と、符号化対象の画素のインデックスによって特定される代表色の色値と、の差分絶対和が閾値Ｂ以下の符号化済の画素を、色値が完全一致する画素として探索してもよい。
【０１２６】
また、符号化部２０は、代表色のＲ，Ｇ，Ｂを符号化する場合についても、例えば、量子化を行って符号化する方式や、ダイナミックレンジを利用して符号化する方式と組み合させて符号化してもよい。
【０１２７】
（実施の形態２）
上記実施の形態１では、画像符号化装置１０は、符号化対象の画素ブロック内の各画素の符号化時に、各画素に割り当てられたインデックスが新規インデックスであると判別した場合に、該インデックスによって特定される代表色を符号化する場合を説明した。
【０１２８】
本実施の形態では、画像符号化装置（本実施の形態における後述する画像符号化装置４０）は、実施の形態１とは異なるタイミングで代表色を符号化する。
【０１２９】
図１７は、本実施の形態の画像符号化装置４０の機能的構成を示すブロック図である。画像符号化装置４０は、取得部４２、決定部４４、割当部４６、符号化順序決定部４８、及び符号化部５０を備える。
【０１３０】
取得部４２、決定部４４、割当部４６、及び符号化部５０は、実施の形態１の取得部１２、決定部１４、割当部１６、及び符号化部２０と各々同様である。本実施の形態では、実施の形態１の画像符号化装置１０における判定部１８に替えて、符号化順序決定部４８を備えた点が実施の形態１と異なる。
【０１３１】
以下、実施の形態１と異なる部分について、詳細に説明する。
【０１３２】
図１８は、本実施の形態の画像符号化装置４０で実行する符号化処理の手順を示すフローチャートである。
【０１３３】
まず、決定部４４が、取得部４２から画素ブロックを取得する（ステップＳ３０１）。次に、決定部４４が、画素ブロックに応じた代表色を決定する（ステップＳ３０２）。次に、符号化部５０が、ステップＳ３０２で決定された代表色の代表色数を符号化する（ステップＳ３０３）。次に、割当部４６が、ステップＳ３０１で取得した画素ブロック内の各画素に対してインデックスを割り当てる（ステップＳ３０４）。ステップＳ３０１〜ステップＳ３０４の処理は、実施の形態１のステップＳ１０１〜ステップＳ１０４と同様である。
【０１３４】
次に、符号化順序決定部４８が、ステップＳ３０４の処理によるインデックスの割り当て結果に基づいて、代表色を符号化する符号化順序を決定する（ステップＳ３０５）。
【０１３５】
ステップＳ３０５において、符号化順序決定部４８は、各代表色に対応するインデックスが、画素ブロック内の各画素の符号化時に初めて出現するタイミングと同じとなるように、符号化順序を決定する。
【０１３６】
ここで、符号化対象の画素ブロック内の各画素には、図４に示すインデックスが割り当てられた状態にある場合を説明する。なお、図４は、実施の形態１で説明したように、図２に示す画素ブロック内の各画素に、図３に示す４色の代表色（パレット０〜パレット３）の何れかを示すインデックスを割り当てた割当結果の一例を示す模式図である。
【０１３７】
この場合、まず、符号化順序決定部４８は、符号化対象の画素ブロック内の各画素を、所定の走査順でスキャン（走査）する。実施の形態１と同様に、本実施の形態においても、ラスタースキャンを行うものとして説明する。
【０１３８】
まず、符号化部５０が、第０画素目の符号化を行うときに、「インデックス０」が新規に出現する。次に、第１画素目の符号化を行うときに、「インデックス１」が新規に出現する。以降、同様にスキャンすることで、第４画素目で「インデックス３」、第８画素目で「インデックス２」が新規に出現する。このため、図４に示すインデックスの割り当てられた画素ブロックでは、符号化部５０によるラスタースキャンによって各インデックスが初めて出現するタイミングは、「インデックス０」、「インデックス１」、「インデックス３」、「インデックス２」の順となる。
【０１３９】
本実施の形態では、符号化順序決定部４８は、符号化対象の画素ブロック内の各画素において各インデックスが新規に出現するタイミング（配列）にそった符号化順序を、各インデックスによって特定される代表色の符号化順序として決定する。上記の例では、符号化順序決定部４８は、「インデックス０」、「インデックス１」、「インデックス３」、「インデックス２」の順に沿った、代表色「パレット０」、「パレット１」、「パレット３」、「パレット２」の配列を、代表色の符号化順序として決定する。
【０１４０】
次に、符号化部５０が、実施の形態１のステップＳ１０５と同様にしてインデックスを符号化する（ステップＳ３０６）。例えば、符号化部５０は、第０画素目の画素のインデックス（「インデックス０」）を符号化する。
【０１４１】
次に、符号化部５０が、ステップＳ３０５で符号化順序を決定した代表色の全ての符号化が完了したか否かを判断する（ステップＳ３０７）。ステップＳ３０７で否定判断すると（ステップＳ３０７：Ｎｏ）、ステップＳ３０８へ進む。一方、ステップＳ３０７で肯定判断すると（ステップＳ３０７：Ｙｅｓ）、後述するステップＳ３０９へ進む。
【０１４２】
ステップＳ３０８では、上記ステップＳ３０５で決定された符号化順序に沿って、未符号化の代表色を１つ符号化する（ステップＳ３０８）。本実施の形態では、例えば、符号化部５０は、代表色「パレット０」を符号化する。
【０１４３】
次に、符号化部５０が、符号化対象の画素ブロックに含まれる全ての画素について、符号化処理が完了したか否かを判断する（ステップＳ３０９）。ステップＳ３０９で肯定判断すると（ステップＳ３０９：Ｙｅｓ）、本ルーチンを終了する。
【０１４４】
一方、ステップＳ３０９で否定判断すると（ステップＳ３０９：Ｎｏ）、上記ステップＳ３０６へ戻る。そして、ステップＳ３０９で肯定判断（ステップＳ３０９：Ｙｅｓ）するまで、ステップＳ３０６〜ステップＳ３０９の処理を繰り返す。
【０１４５】
例えば、前回第０画素目を符号化対象とした場合、次に、符号化部５０は、第１画素目を符号化対象とする。そして、符号化部５０は、第１画素目のインデックス（「インデックス１」）を符号化した後に、次の代表色（「パレット１」）を符号化する。さらに、符号化部５０は、第２画素目を符号化対象とする。そして、符号化部５０は、第２画素目のインデックス（「インデックス１」）を符号化した後に、次の代表色（「パレット３」）を符号化する。さらに、符号化部５０は、第３画素目のインデックス（「インデックス１」）を符号化した後に、次の代表色（「パレット２」）を符号化する。
【０１４６】
そして、符号化部５０では、第３画素目の符号化処理を完了した時点で、符号化対象の画素ブロックに係る全ての代表色の符号化が完了したことになり、該画素ブロックにおける以降の画素の符号化処理では、代表色の符号化は行わず（ステップＳ３０７：Ｙｅｓ）、インデックスのみを符号化することとなる。
【０１４７】
図１９は、本実施の形態の画像符号化装置４０で作成した符号化データのデータ構造の一例を示す模式図である。
【０１４８】
本実施の形態の画像符号化装置４０では、符号化対象の画素ブロック内の各画素に割り当てられたインデックスによって特定される代表色について、同じ値のインデックスによって特定される代表色については１回のみ符号化する。そして、既に符号化した代表色に対応するインデックスの割り当てられた画素については、インデックスのみを符号化する。
【０１４９】
このため、本実施の形態の画像符号化装置４０では、実施の形態１における効果に加えて更に、符号化処理の単純化を図る事ができる。
【０１５０】
なお、本実施の形態においては、符号化データは、「インデックス」、「代表色」の順で符号化を行う場合を説明したが、この順序に制限はない。例えば、符号化データは、「代表色」、「インデックス」の順で符号化した形態であってもよい。
【０１５１】
図２０は、「代表色」、「インデックス」の順に符号化を行うことで作成した符号化データのデータ構造の一例を示す模式図である。
【０１５２】
図２０に示すように、符号化データは、図１９における「インデックス」と「代表色」の配列を逆にした構成であってもよい。
【０１５３】
（実施の形態３）
図２１は、本実施の形態に係る画像復号装置５１の機能的構成の一例を示す模式図である。
【０１５４】
画像復号装置５１は、上記実施の形態の画像符号化装置１０または画像符号化装置１０Ａで作成された符号化データを復号する。
【０１５５】
画像復号装置５１は、取得部５２、代表色数復号部５４、インデックス復号部５６、新規判定部５８、及び代表色復号部６０を備える。
【０１５６】
取得部５２は、例えば、画像符号化装置１０から符号化データを取得する。
【０１５７】
代表色数復号部５４は、取得部５２で取得した符号化データを先頭から読取り、該符号化データに含まれる、符号化された代表色数を復号する。インデックス復号部５６は、取得部５２で取得した符号化データを先頭から読取り、該符号化データに含まれる符号化されたインデックスを復号する。
【０１５８】
新規判定部５８は、インデックス復号部５６で復号したインデックスが、復号対象の画素ブロック内において新規に出現したもの（すなわち、新規インデックス）であるか否かを判定する。代表色復号部６０は、新規判定部５８による判定結果に応じて、代表色を復号する。
【０１５９】
次に、画像復号装置５１で実行する復号処理を説明する。
【０１６０】
図２２は、画像復号装置５１が実行する復号処理の手順を示すフローチャートである。
【０１６１】
まず、取得部５２が、符号化データを取得する（ステップＳ４０１）。次に、代表色数復号部５４が、ステップＳ４０１で取得された符号化データの先頭からデータを読取り、符号化データの先頭に配置されている代表色数（パレット数）を復号する（ステップＳ４０２）。
【０１６２】
なお、ステップＳ４０１で取得部５２が取得した符号化データが、代表色数が固定値である符号化データである場合、ステップＳ４０２の処理は省略する。
【０１６３】
次に、画像復号装置５１では、符号化データに含まれる、該符号化データの符号化時に用いた画素ブロックに対応する符号化単位毎に、ステップＳ４０３〜ステップＳ４０６の復号処理を実行する。
【０１６４】
まず、インデックス復号部５６が、復号対象の画素のインデックスを復号する（ステップＳ４０３）。次に、新規判定部５８が、ステップＳ４０３で復号されたインデックスが、新規インデックスであるか否かを判定する（ステップＳ４０４）。
【０１６５】
ステップＳ４０４で肯定判定すると（ステップＳ４０４：Ｙｅｓ）、ステップＳ４０５へ進む。ステップＳ４０５では、代表色復号部６０が、ステップＳ４０３で復号されたインデックスによって特定される代表色を復号する（ステップＳ４０５）。そして、ステップＳ４０６へ進む。
【０１６６】
一方、ステップＳ４０４で否定判断すると（ステップＳ４０４：Ｎｏ）、ステップＳ４０６へ進む。
【０１６７】
ステップＳ４０６では、インデックス復号部５６が、復号対象の画素ブロック内の全ての画素について復号処理が終了したか否かを判断する（ステップＳ４０６）。ステップＳ４０６で否定判断すると（ステップＳ４０６：Ｎｏ）、上記ステップＳ４０３へ戻る。一方、ステップＳ４０６で肯定判断すると（ステップＳ４０６：Ｙｅｓ）、本ルーチンを終了する。
【０１６８】
画像復号装置５１では、上記ステップＳ４０３〜ステップＳ４０６の処理を、画素ブロック単位で実行する。
【０１６９】
以上説明したように、本実施の形態の画像復号装置５１では、代表色が２色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化した符号化データを復号する。このため、画像復号装置５１では、符号化データに含まれる全ての代表色を受け付ける前に復号処理を開始することができる。
【０１７０】
従って、本実施の形態の画像復号装置５１では、符号化データの復号時における単位時間当たりの処理能力の向上を図ることができる。
【０１７１】
（実施の形態４）
図２３は、本実施の形態に係る画像復号装置７０の機能的構成の一例を示す模式図である。画像復号装置７０は、実施の形態２の画像符号化装置４０で作成された符号化データを復号する装置である。画像復号装置７０は、実施の形態３の画像復号装置５１とは、代表色を復号するタイミングが異なる。
【０１７２】
画像復号装置７０は、取得部７２、代表色数復号部７４、インデックス復号部７６、及び代表色復号部７８を備える。
【０１７３】
取得部７２は、画像符号化装置４０から符号化データを取得する。代表色数復号部７４は、取得部７２で取得した符号化データを先頭から読取り、該符号化データに含まれる代表色数を復号する。インデックス復号部７６は、符号化データを先頭から読取り、該符号化データに含まれるインデックスを復号する。代表色復号部７８は、代表色を復号する。
【０１７４】
図２４は、本実施の形態の画像復号装置７０が実行する復号処理の手順を示すフローチャートである。
【０１７５】
まず、取得部７２が符号化データを取得する（ステップＳ５０１）。次に、代表色数復号部７４が、取得した符号化データの先頭からデータを読取り、符号化データの先頭に配置されている代表色数（パレット数）を復号する（ステップＳ５０２）。
【０１７６】
なお、ステップＳ５０１で取得部７２が取得した符号化データが、代表色数が固定値である符号化データである場合、ステップＳ５０２の処理は省略する。
【０１７７】
次に、画像復号装置７０では、符号化データに含まれる、該符号化データの符号化時に用いた画素ブロックに対応する単位毎に、ステップＳ５０３〜ステップＳ５０６の復号処理を実行する。
【０１７８】
まず、インデックス復号部７６が、復号対象の画素のインデックスを復号する（ステップＳ５０３）。次に、代表色復号部７８が、画素ブロック内の全ての代表色の復号が完了したか否かを判断する（ステップＳ５０４）。ステップＳ５０４で否定判断すると（ステップＳ５０４：Ｎｏ）、ステップＳ５０５へ進む。
【０１７９】
ステップＳ５０５では、代表色復号部７８が、符号化データにおける、ステップＳ５０３で復号したインデックスに対応する代表色を復号する（ステップＳ５０５）。そして、ステップＳ５０６へ進む。
【０１８０】
一方、ステップＳ５０４で肯定判断すると（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０６へ進む。
【０１８１】
ステップＳ５０６では、インデックス復号部７６が、復号対象の画素ブロック内の全ての画素について復号処理が終了したか否かを判断する（ステップＳ５０６）。ステップＳ５０６で否定判断すると（ステップＳ５０６：Ｎｏ）、上記ステップＳ５０３へ戻る。一方、ステップＳ５０６で肯定判断すると（ステップＳ５０６：Ｙｅｓ）、本ルーチンを終了する。
【０１８２】
なお、実施の形態３及び実施の形態４においては、符号化データを読取り、符号化データに含まれる「インデックス」、「代表色」の順序で復号を行う場合を説明した。しかし、復号の順序は、「代表色」、「インデックス」の順であってもよい。
【０１８３】
以上説明したように、本実施の形態の画像復号装置７０では、実施の形態２で作成された符号化データを復号する。このため、画像復号装置７０では、代表色が２色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化した符号化データを復号する。このため、画像復号装置７０では、符号化データに含まれる全ての代表色を受け付ける前に復号処理を開始することができる。
【０１８４】
従って、本実施の形態の画像復号装置７０では、符号化データの復号時における単位時間当たりの処理能力の向上を図ることができる。
【０１８５】
なお、上記実施の形態及び変形例における画像符号化装置１０、１０Ａ、４０、画像復号装置５１、７０で実行される符号化処理及び復号処理の各々を実行するためのプログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１８６】
上記実施の形態及び変形例における画像符号化装置１０、１０Ａ、４０、画像復号装置５１、７０で実行される符号化処理及び復号処理の各々を実行するためのプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読取り可能な記録媒体に記録して提供するように構成してもよい。
【０１８７】
さらに、上記実施の形態及び変形例における画像符号化装置１０、１０Ａ、４０、画像復号装置５１、７０で実行される符号化処理及び復号処理の各々を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態及び変形例における画像符号化装置１０、１０Ａ、４０、画像復号装置５１、７０で実行される符号化処理及び復号処理の各々を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１８８】
上記実施の形態及び変形例における画像符号化装置１０、１０Ａ、４０、画像復号装置５１、７０で実行される符号化処理及び復号処理の各々を実行するためのプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからプログラムを読み出して実行することにより該各部が主記憶装置上にロードされ、該各部が主記憶装置上に生成されるようになっている。なお、上記実施の形態及び変形例における画像符号化装置１０、１０Ａ、４０、画像復号装置５１、７０の各部を回路等のハードウェアで構成してもよい。
【０１８９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１９０】
１０、１０Ａ、４０  画像符号化装置
１４、４４  決定部
１６、４６  割当部
１８  判定部
２０、２０Ａ、５０  符号化部
４８  符号化順序決定部
５１、７０  画像復号装置
５４、７４  代表色数復号部
５６、７６  インデックス復号部
５８  新規判定部
６０、７８  代表色復号部
【図１】
2014107742.tif 000004
【図２】
2014107742.tif 000005
【図３】
2014107742.tif 000006
【図４】
2014107742.tif 000007
【図５】
2014107742.tif 000008
【図６】
2014107742.tif 000009
【図７】
2014107742.tif 000010
【図８】
2014107742.tif 000011
【図９】
2014107742.tif 000012
【図１０】
2014107742.tif 000013
【図１１】
2014107742.tif 000014
【図１２】
2014107742.tif 000015
【図１３】
2014107742.tif 000016
【図１４】
2014107742.tif 000017
【図１５】
2014107742.tif 000018
【図１６】
2014107742.tif 000019
【図１７】
2014107742.tif 000020
【図１８】
2014107742.tif 000021
【図１９】
2014107742.tif 000022
【図２０】
2014107742.tif 000023
【図２１】
2014107742.tif 000024
【図２２】
2014107742.tif 000025
【図２３】
2014107742.tif 000026
【図２４】
2014107742.tif 000027