JP2014107742A - 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 - Google Patents
画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 Download PDFInfo
- Publication number
- JP2014107742A JP2014107742A JP2012259978A JP2012259978A JP2014107742A JP 2014107742 A JP2014107742 A JP 2014107742A JP 2012259978 A JP2012259978 A JP 2012259978A JP 2012259978 A JP2012259978 A JP 2012259978A JP 2014107742 A JP2014107742 A JP 2014107742A
- Authority
- JP
- Japan
- Prior art keywords
- index
- encoding
- pixel
- encoded
- representative
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】符号化データの復号時における処理能力の向上を図る。
【解決手段】画像符号化装置10の決定部14は、画像データを分割した画素ブロック毎に、画素ブロックを表現するための代表色数の代表色を決定する。割当部16は、画素ブロック内の各画素に、代表色を識別するインデックスを割り当てる。符号化部20は、代表色を2色以上連続して符号化しないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化する。
【選択図】図1
【解決手段】画像符号化装置10の決定部14は、画像データを分割した画素ブロック毎に、画素ブロックを表現するための代表色数の代表色を決定する。割当部16は、画素ブロック内の各画素に、代表色を識別するインデックスを割り当てる。符号化部20は、代表色を2色以上連続して符号化しないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化する。
【選択図】図1
Description
本発明の実施形態は、画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法に関する。
画像データを符号化する技術として、複数の代表色を用いた画像の符号化方法が知られている。この符号化方法では、符号化対象の画像データを複数の領域に分割し、各領域内のすべての画素に、該画素に応じて、画像で使用する色としての代表色を特定するためのインデックスを割り当てる。そして、インデックスに対応する代表色と、画素毎に割り当てたインデックスと、を符号化データとして出力する。
また、従来では、符号化データは、符号化データの先頭に全ての画素に対応する代表色を格納し、それに続いて全ての画素に対応するインデックスを格納した構成としている。
しかしながら、従来では、符号化データを復号する復号側では、符号化データの先頭に格納されている全ての画素に対応する代表色を全て受信した後に、初めて、画素毎に割り当てられたインデックスを取得する。このため、符号化データを受け付けてから復号データを出力するまでに遅延時間が発生し、単位時間当たりの処理能力が低下する場合があった。
本発明が解決しようとする課題は、符号化データの復号時における処理能力の向上を図ることができる、画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法を提供することである。
実施形態の画像符号化装置は、決定部と、割当部と、符号化部と、を備える。決定部は、画像データを分割した画素ブロック毎に、前記画素ブロックを表現するための代表色数の代表色を決定する。割当部は、前記画素ブロック内の各画素に、前記代表色を識別するインデックスを割り当てる。符号化部は、前記代表色が2色以上連続して符号化されないように、前記インデックスと前記インデックスによって特定される前記代表色とを交互に並べて符号化する。
(実施の形態1)
図1は、本実施の形態の画像符号化装置10の機能的構成を示すブロック図である。画像符号化装置10は、画像符号化を行う装置である。画像符号化装置10は、例えば、PC(パーソナルコンピュータ)の画面等、主に、CG(コンピュータグラフィックス)画像を扱う装置やシステムに組み込まれる。
図1は、本実施の形態の画像符号化装置10の機能的構成を示すブロック図である。画像符号化装置10は、画像符号化を行う装置である。画像符号化装置10は、例えば、PC(パーソナルコンピュータ)の画面等、主に、CG(コンピュータグラフィックス)画像を扱う装置やシステムに組み込まれる。
本実施の形態の画像符号化装置10は、取得部12、決定部14、割当部16、判定部18、及び符号化部20を備える。
取得部12は、符号化対象の画像データを取得し、予め定めた大きさの画素ブロックに分割する。
図2は、画素ブロックの一例を示す模式図である。図2に示すように、取得部12は、例えば、符号化対象の画像データを4×4画素の画素ブロックに分割する。
なお、取得部12が分割する画素ブロックの単位は、4×4画素の画素ブロックに限られない。例えば、取得部12は、符号化対象の画像データを、N×N画素の正方形の画素ブロックや、N×M画素の長方形の画素ブロックに分割してもよい。なお、N及びMは、2以上の整数であり、NとMとは異なる値である。また、取得部12は、符号化対象の画素を、N×1画素や1×N画素のライン状の画素ブロックに分割してもよい。
なお、取得部12は、符号化対象の画像データを構成する各画素を、ラスタースキャン等の公知の走査順で走査し、画素ブロックに分割する。なお、取得部12が画像データを画素ブロックに分割するときの、該画像データの走査順は、ラスタースキャンに限られない。
また、本実施の形態では、符号化対象の画像データを構成する各画素の色は、RGB表色系で表現されているものとして説明する。なお、各画素の色は、RGB表色系に限られない。例えば、各画素の色は、YUV、YCbCr、HSV等、RGB表色系以外の他の表色系の表現であってもよい。また、本実施の形態では、各画素の色のダイナミックレンジは、8ビット(0〜255)で表現されているものとして説明するが、8ビットに限られない。
図1に戻り、決定部14は、画素ブロックを取得部12から順次受け付ける。そして、決定部14は、受け付けた画素ブロックの各々について、各画素ブロックを表現するための、1または複数の代表色を決定する。
具体的には、決定部14は、画素ブロック毎に、画素ブロックに応じた、1または複数の代表色を決定する。なお、以下では、決定部14が、画素ブロック毎に決定する代表色の数を、代表色数と称して説明する場合がある。
決定部14は、公知の方法で代表色を決定する。本実施の形態では、決定部14は、画素ブロック内の各画素の色値に基づいた代表色数の代表色を決定する。
図3は、決定部14が決定した代表色の一例を示す模式図である。図3に示すように、決定部14は、例えば、4色の代表色(パレット0〜パレット3)を決定する。なお、決定部14は、各代表色の色値として、RGB表色系によって示される値、すなわち、R,G,Bの各々の色値を決定する。
なお、決定部14は、公知の方法を用いて代表色を決定すればよく、決定方法は、上記方法に限られない。例えば、決定部14は、画素ブロックを構成する画素の色のヒストグラムを生成し、該ヒストグラムによって特定される色分布に基づいて、代表色数の代表色を決定してもよい。また、決定部14は、予め設定した代表色数の代表色を読取ることによって、代表色を決定してもよい。また、決定部14は、画素ブロックを構成する画素の色に応じて、代表色数を調整してもよい。
なお、決定部14が、予め設定した代表色数の代表色を決定する場合には、後述する符号化部20では、決定された代表色数の符号化を行う必要はない。
図1に戻り、割当部16は、画素ブロック内の各画素に、決定部14で決定された代表色数の代表色の各々を識別するインデックスを、画素とインデックスとが1対1の関係となるように割り当てる。インデックスは、各代表色を一意に識別する識別情報であり、例えば、代表色を示す番号等で示される。
具体的には、割当部16は、画素ブロック内の各画素の各々について、画素の色値と、決定部14で決定された各代表色の色値と、の色空間における距離を算出し、算出した距離が最小となる代表色を識別するインデックスを割り当てる。
各画素の色値と代表色の色値との距離の算出式には、下記式(1)を用いる。
式(1)中、「符号化対象画素のR」は、符号化対象の画素のRの色値を示す。「代表色のR」は、決定部14で決定された代表色のRの色値を示す。「符号化対象画素のG」は、符号化対象の画素のGの色値を示す。「代表色のG」は、決定部14で決定された代表色のGの色値を示す。「符号化対象画素のB」は、符号化対象の画素のBの色値を示す。「代表色のB」は、決定部14で決定された代表色のBの色値を示す。
また、式(1)中、αは、R(Rの色値)に対する重み係数である。式(1)中、βは、G(Gの色値)に対する重み係数であり、γは、B(Bの色値)に対する重み係数である。なお、本実施の形態では、α=β=γ=1である場合を説明する。
なお、本実施の形態では、α=β=γ=1とする形態を説明するが、この形態に限られない。例えば、ベイヤー配列などを考慮して、G(Gの色値)を優先するのであれば、α=γ=1、β=2としてもよい。また、YUV表色系であれば、Y(Yの色値)に対する重み係数をα、U(Uの色値)に対する重み係数をβ、V(Vの色値)に対する重み係数をγとした場合、Yを優先して、α=2、β=γ=1としてもよい。
さらに、8ビット精度での差分を取らずに、例えば、下位ビットを落としてもよい。すなわち、算術右シフトのようビット幅を減らしてもよい。8ビットを7ビットに減らした後に差分を算出することで、正負の情報として増える1ビットの情報を加味しても、元の8ビットで処理するビット幅を増やさずに済む。
なお、割当部16によるインデックスの割り当て方法は、上記方法に限られない。例えば、割当部16は、画素ブロック内の各画素の色値と代表色の色値との距離の算出式に、上記式(1)以外の式を用いてもよい。また、割当部16は、後述する符号化部20におけるインデックスの符号化が容易となるように、隣接する画素に同じ値のインデックスが割り当てられ易くするような公知の方法で、インデックスを割り当ててもよい。
図4は、図2に示す画素ブロック内の各画素に、図3に示す4色の代表色(パレット0〜パレット3)の内の何れかのインデックスを割り当てた割当結果の一例を示す模式図である。
図4に示すように、割当部16は、画素ブロック内の各画素の色値(RGB値)と、決定部14で決定された代表色の色値と、から、代表色のインデックスを各画素に割り当てる。
図1に戻り、判定部18は、符号化部20が画素ブロックを構成する画素を予め定めた走査順で走査して符号化するときに、符号化対象の画素に割り当てられたインデックスが新規インデックスであるか否かを判定する。具体的には、判定部18は、符号化対象の画素ブロック内の各画素を順に走査して符号化するときに、該画素ブロックにおいて符号化済のインデックスとは異なる値のインデックスの割り当てられた画素を走査した(すなわち、符号化対象とした)か否かを判別することで、新規インデックスであるか否かを判定する。
符号化部20は、判定部18による判定結果を受け付ける。また、符号化部20は、決定部14から、決定された代表色を受け付ける。また、符号化部20は、インデックスの割り当てられた画素ブロックを割当部16から受け付ける。
符号化部20は、判定部18による判定結果に応じて、代表色を2色以上連続して符号化しないように、画素ブロック内の各画素に割り当てられたインデックスと、インデックスによって特定される代表色とを交互に並べて符号化する。
次に、画像符号化装置10で実行する符号化処理を説明する。図5は、画像符号化装置10が実行する符号化処理の手順を示すフローチャートである。
画像符号化装置10では、取得部12が符号化対象の画像データを取得すると、符号化処理を実行する。
まず、決定部14が、取得部12で分割された画素ブロックを取得する(ステップS101)。
次に、決定部14が、画素ブロックに応じた代表色を決定する(ステップS102)。ステップS102の処理によって、上述したように、決定部14は、符号化対象の画素ブロックに応じた、代表色数の代表色を決定する。
次に、符号化部20が、ステップS102で決定された代表色数を符号化する(ステップS103)。
次に、割当部16が、ステップS101で取得した画素ブロック内の各画素に対して、代表色のインデックスを割り当てる(ステップS104)。
次に、符号化部20が、ステップS101で取得した画素ブロック内の各画素を、予め定めた走査順で走査することで、順次、符号化対象の画素を特定し、ステップS105〜ステップS108の処理を実行する。
具体的には、符号化部20は、符号化対象の画素に割り当てられたインデックスを符号化するインデックス符号化処理を実行する(ステップS105)。例えば、インデックスが“0”である場合、符号化部20は、“0”を符号化する。
次に、判定部18が、直前のステップS105の処理において符号化されたインデックスが新規インデックスであるか否かを判断する(ステップS106)。判定部18がステップS106で肯定判断すると(ステップS106:Yes)、ステップS107へ進む。一方、ステップS106で否定判断すると(ステップS106:No)、後述するステップS108へ進む。
ステップS107では、符号化部20が、ステップS105で符号化したインデックスに対応する代表色を符号化する(ステップS107)。具体的には、符号化部20は、代表色の色値を符号化する。例えば、ステップS105で符号化したインデックスが“0”である場合、符号化部20は、該インデックス“0”に対応する代表色“パレット0”の色値“R=128、G=128、B=128”を符号化する(図3も参照)。
次に、符号化部20は、ステップS101で取得した画素ブロックに含まれる全ての画素について、ステップS105〜ステップS107の処理を実行したか否かを判断する(ステップS108)。ステップS108で否定判断すると(ステップS108:No)、上記ステップS105へ戻る。一方、ステップS108で肯定判断すると(ステップS108:Yes)、本ルーチンを終了する。
画像符号化装置10では、符号化対象の画像データにおける全ての画素ブロックについて、上記ステップS101〜ステップS108の処理を実行する。これによって、符号化対象の画像データを符号化する。
図6は、画像符号化装置10における符号化処理によって作成された符号化データのデータ構造の一例を示す模式図である。
なお、図6は、決定部14が図3に示す代表色を決定し、割当部16が画素ブロック内の各画素に図4に示すインデックスを割り当てた場合に、符号化部20が作成した符号化データの一部のデータ構造を示す模式図である。
上記符号化処理が実行されることによって、図6に示すように、符号化データは、代表色が2色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とが交互に配置された構成となる。
具体的には、図6に示すように、符号化データの先頭には、符号化された代表色数(図6中、“パレット数=4”参照)が配置される。そして、符号化対象の画素ブロックにおいて初めて出現したインデックス(新規インデックス)については、符号化された該インデックスの後に、該インデックスによって特定される、符号化された代表色(具体的には代表色の色値)が配置される。また、符号化対象の画素ブロックにおいて、既に出現したインデックスについては、該インデックスのみが符号化され、該インデックスに対応する代表色は符号化されない。
このため、画像符号化装置10によって作成された符号化データは、代表色が2色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とが交互に配置された構成となる。
以上説明したように、本実施の形態の画像符号化装置10では、代表色が2色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化する。
このため、本実施の形態の画像符号化装置10では、符号化データに含まれる全ての代表色を受け付ける前に復号処理を開始可能な符号化データを生成することができる。このため、本実施の形態の画像符号化装置10では、符号化データを復号する復号装置側における、符号化データを受け付けてから復号データを出力するまでの遅延時間の短縮を図ることができる。
従って、本実施の形態の画像符号化装置10では、符号化データの復号時における単位時間当たりの処理能力の向上を図ることができる。
(変形例1−1)
なお、割当部16は、画素ブロック内の各画素の符号化処理において、最初に符号化する符号対象の画素について、予め定めたインデックスを割り当ててもよい。例えば、割当部16は、画素ブロックを構成する画素の内、最初の符号化対象の画素については、インデックス“0”を割り当ててもよい。
なお、割当部16は、画素ブロック内の各画素の符号化処理において、最初に符号化する符号対象の画素について、予め定めたインデックスを割り当ててもよい。例えば、割当部16は、画素ブロックを構成する画素の内、最初の符号化対象の画素については、インデックス“0”を割り当ててもよい。
このようにすれば、画素ブロックを構成する画素の内、最初の符号化対象の画素に対してのインデックスの割り当ては不要となる。このため、符号化データに含まれる符号化されたインデックスの数が、画素ブロックを構成する画素の画素数から1画素分減算した数となる。このため、符号化データのデータ量の削減を図ることができる。
(変形例1−2)
また、符号化部20は、符号化対象の画素ブロックについて、決定部14で決定された代表色の代表色数が“1”である場合には、該画素ブロックについてはインデックス情報を符号化しないようにしてもよい。この場合、画像符号化装置10では、図7に示す符号化処理を実行すればよい。
また、符号化部20は、符号化対象の画素ブロックについて、決定部14で決定された代表色の代表色数が“1”である場合には、該画素ブロックについてはインデックス情報を符号化しないようにしてもよい。この場合、画像符号化装置10では、図7に示す符号化処理を実行すればよい。
図7は、本変形例における符号化処理の手順を示すフローチャートである。
図7に示すように、まず、決定部14が、取得部12から画素ブロックを取得する(ステップS201)。次に、決定部14が、画素ブロックに応じた代表色を決定する(ステップS202)。次に、符号化部20が、ステップS202で決定された代表色数を符号化する(ステップS203)。ステップS201〜ステップS203の処理は、上記実施の形態1のステップS101〜ステップS103と同様である。
次に、符号化部20が、ステップS202で決定された代表色数が“1”であるか否かを判断する(ステップS204)。ステップS204で肯定判断すると(ステップS204:Yes)、ステップS210へ進む。
ステップS210では、符号化部20が、ステップS202で決定された1色分の代表色のみを符号化し(ステップS210)、本ルーチンを終了する。
一方、上記ステップS204で否定判断すると(ステップS204:No)、ステップS205へ進む。ステップS205〜ステップS209では、実施の形態1のステップS104〜ステップS108と同様の処理を実行する。そして、符号化対象の画像における未処理の次の画素ブロックについて、ステップS201〜ステップS210の処理を実行する。
このように、本変形例の画像符号化装置10では、符号化対象の画素ブロックについて決定された代表色数が“1”、すなわち1色である場合には、インデックスの割り当てやインデックスの符号化を含む、ステップS205〜ステップS209の処理を省略する。
このため、本変形例の画像符号化装置10では、実施の形態1の効果に加えて更に、符号化処理における演算量の削減と、生成する符号化データのデータ量削減を図ることができる。
(変形例1−3)
上記実施の形態では、符号化部20は、全ての情報を固定長で符号化する場合を想定して説明した。しかし、符号化部20は、符号化対象のデータの種類に応じた符号長で符号化を行ってもよい。
上記実施の形態では、符号化部20は、全ての情報を固定長で符号化する場合を想定して説明した。しかし、符号化部20は、符号化対象のデータの種類に応じた符号長で符号化を行ってもよい。
例えば、符号化部20は、インデックスの符号化について、符号化対象の画素ブロックにおける、同じ値のインデックスの出現頻度に応じて符号長を変更してもよい。すなわち、符号化部20は、可変長符号化方式を用いて符号化を行ってもよい。可変長符号化方式には、例えば、ハフマン符号化、算術符号化がある。また、符号化部20は、連続するインデックスをまとめて符号化するランレングス符号化方式を用いて符号化を行ってもよい。
(変形例1−4)
また、上記実施の形態では、符号化部20は、画素毎に割り当てられたインデックスを符号化する場合を説明した。しかし、符号化部20は、インデックスの符号化について、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、該符号化対象の画素のインデックスの符号化を行ってもよい。
また、上記実施の形態では、符号化部20は、画素毎に割り当てられたインデックスを符号化する場合を説明した。しかし、符号化部20は、インデックスの符号化について、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、該符号化対象の画素のインデックスの符号化を行ってもよい。
図8は、符号化部20が、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、インデックスの符号化を行う方法を説明するための説明図である。
なお、図8(A)及び図8(B)中、a、b、cは、各々、符号化済の画素を示す。また、図8(A)及び図8(B)中、dは、符号化対象の画素を示す。
また、図8(A)の状態において、符号化部20が実行するインデックス符号化処理の手順を、図9を用いて説明する。図9は、本変形例において、符号化部20が実行するインデックス符号化処理の手順を示すフローチャートである。なお、図9に示すインデックス符号化処理は、実施の形態1−2のステップS206(図7参照)のインデックス符号化処理に替えて実行する。
まず、符号化部20は、符号化対象の画素のインデックス符号化にあたり、該符号化対象の画素に隣接する符号化済の画素のインデックスから、符号化対象の画素のインデックスを予測した予測値を生成する(ステップS2061)。
具体的には、符号化部20は、図8(A)における、符号化対象の画素としてのdのインデックスを符号化するにあたり、該dに隣接し且つ符号化済の画素であるa、b、cの各々のインデックスから、該dのインデックスを予測する。例えば、画素aとbのインデックスが等しく、aとcのインデックスが異なる場合には、符号化部20は、画像中に斜めのエッジが存在するとみなして、予測値(pred)としてcを生成する(図8(B)参照)。
同様に、符号化部20は、図8(A)におけるbとcのインデックスが等しく、bとaのインデックスが異なる場合は、画像中に縦のエッジがあるとみなして、予測値(pred)としてaを生成する(図8(B)参照)。これら以外の場合は、横のエッジがあるとみなして予測値(pred)としてbを生成する(図8(B)参照)。
なお、予測値の決定方法については、公知の方法を用いればよく、上記方法に限られない。
次に、符号化部20は、ステップS2061で生成した予測値と、dのインデックスとが一致するか否かを判断する(ステップS2062)。ステップS2062で肯定判断すると(ステップS2062:Yes)、ステップS2063へ進む。ステップS2063では、符号化部20は、Skip_flag=1を示す情報を1ビットで符号化する(ステップS2063)。そして、本ルーチンを終了する。
一方、ステップS2062で否定判断すると(ステップS2062:No)、ステップS2064へ進む。そして、符号化部20は、Skip_flag=0を示す情報を符号化し(ステップS2064)、さらにdのインデックスを、例えば固定長で符号化する(ステップS2065)。そして、本ルーチンを終了する。
以上説明したように、本変形例では、符号化対象の画素に隣接する符号化済の画素のインデックスを用いて、符号化対象の画素のインデックスを符号化する。このため、隣接画素間のインデックスの相関の高い画像では、インデックスを固定長2ビットで符号化していたところを、1ビットのフラグの符号化のみで対応することができる。
このため、本変形例では、実施の形態1の効果に加えて更に、高い圧縮率の符号化データを作成することができる。
(変形例1−5)
なお、符号化部20は、可変長符号化方式を用いて、インデックスの符号化を行ってもよい。
なお、符号化部20は、可変長符号化方式を用いて、インデックスの符号化を行ってもよい。
図10は、インデックスの割り当ての説明図である。例えば、符号化対象の画素ブロックが図2に示す画素ブロックであったとする。そして、決定部14が、符号化対象の画素ブロックに対して、図10(B)に示す、4色の代表色(パレット0〜パレット3)を決定したとする。
この場合、決定部14は、符号化対象の画素ブロック内の各画素に、例えば、図10(A)に示すインデックスを割り当てる。この画素ブロック内の各画素について、符号化部20が符号化時に予め定めた走査順で走査を行うと、各代表色に対応するインデックスの値が新規に出現するタイミングは、「インデックス0」、「インデックス1」、「インデックス3」、「インデックス2」の順となる。
図11は、インデックスの再割り当て後の状態を示す説明図である。この場合、符号化部20は、これらのインデックスを、「インデックス0」〜「インデックス3」といった、走査順にそって昇順の並びとなるように、インデックスの再割り当てを行う(図11参照)。
詳細には、符号化部20は、代表色と代表色に対応するインデックスと、の対応関係を、符号化対象の画素ブロックを構成する画素に割り当てたインデックスが該画素を順に符号化するときの走査順にそって昇順となるように、変更する。
図11に示す例では、色値「R=64,G=128,B=64」によって示される代表色に対応づけられていたインデックス「パレット2」を、インデックス「パレット3」に変更している。また、色値「R=128,G=96,B=128」によって示される代表色に対応づけられていたインデックス「パレット3」を「パレット2」に変更している(図11(B)参照)。これによって、画素ブロック内の各画素に割り当てられるインデックスは、図11(A)に示すように、画素ブロックを構成する画素を符号化するときの走査順にそって昇順となるように割り当てられる。
なお、符号化部20は、図5におけるステップS104によって示される、各画素へのインデックスの割り当て処理を行った後に、上記再割り当て処理を行えばよい。そして、符号化部20は、この再割り当て処理を行った後に、さらに、画素ブロック内の各画素を、予め定めた走査順で走査し、図5で説明したステップS105〜ステップS108の処理を実行すればよい。
このように、符号化部20が、インデックスの再割り当てを行うことにより、符号化対象の画素を走査した時点では、それまでに出現したインデックスの最大値+1よりも大きい値のインデックスは出現しないこととなる。このため、インデックスの出現状況に応じて、インデックスの符号長を制御することができる。
例えば、符号化部20が第0画素目の画素のインデックスを符号化した時点では、「インデックス0」のみしか出現していない。このため、第1画素目のインデックスは「インデックス0」または「インデックス1」であることが保証される。したがって、本来インデックスを2ビットで符号化していたところを、「インデックス0」あるいは「インデックス1」を示す1ビットの情報で表現できるようになる。
従って、本変形例では、実施の形態1の効果に加えて更に、インデックスを固定長で符号化する場合に比べて高い圧縮率の符号化データを作成することができる。
(変形例1−6)
なお、符号化部20は、代表色の符号化において(図5のステップS107参照)、代表色を量子化することで符号化することが好ましい。具体的には、代表色の色値を量子化することで符号化することが好ましい。代表色を量子化することで、より圧縮率の高い符号化データの生成が可能となる。
なお、符号化部20は、代表色の符号化において(図5のステップS107参照)、代表色を量子化することで符号化することが好ましい。具体的には、代表色の色値を量子化することで符号化することが好ましい。代表色を量子化することで、より圧縮率の高い符号化データの生成が可能となる。
代表色の量子化としては、例えば、8ビットで表現していた色値の下位ビットを一律に落として、6ビットにする方法がある。例えば、代表色数が4色であり、R,G,Bの各色値を8ビットで表現すると、1色の代表色につき96ビット必要である。すなわち、8ビット×R,G,Bの3コンポーネント×4色=96ビット必要である。
一方、8ビットで表現していた色値の下位ビットを一律に落として、6ビットにすると、1色の代表色につき72ビットで表現可能である。すなわち、72ビット(6ビット×3コンポーネント(R,G,B)×4色=72ビット)となる。
このため、8ビットの情報をそのまま符号化する場合に比べ、高い圧縮率の符号化データの生成が可能となる。
(変形例1−7)
また、符号化部20は、代表色の符号化において(図5のステップS107参照)、代表色の色値のダイナミックレンジに応じて、代表色を符号化する際の符号化長を決定することが好ましい。代表色の色値のダイナミックレンジに応じて、符号化長を適宜変更することで、より圧縮率の高い符号化データを生成することができる。
また、符号化部20は、代表色の符号化において(図5のステップS107参照)、代表色の色値のダイナミックレンジに応じて、代表色を符号化する際の符号化長を決定することが好ましい。代表色の色値のダイナミックレンジに応じて、符号化長を適宜変更することで、より圧縮率の高い符号化データを生成することができる。
この場合、実施の形態1の符号化部20を、図12に示す符号化部20Aに替えた構成の画像符号化装置10A(図1参照)とすればよい。図12は、符号化部20Aの機能構成を示すブロック図である。
符号化部20Aは、ダイナミックレンジ算出部30、及びエントロピー符号化部32を備える。
ダイナミックレンジ算出部30は、決定部14で決定された代表色のダイナミックレンジを算出する。エントロピー符号化部32は、エントロピー符号化を行う。
図13は、符号化部20に替えて符号化部20Aを備えた画像符号化装置10A(図1参照)で実行する符号化処理の手順を示すフローチャートである。
まず、画像符号化装置10Aでは、実施の形態1の画像符号化装置10におけるステップS101〜ステップS102、及びステップS104と同様の処理を実行する(ステップS601〜ステップS603)。
次に、ダイナミックレンジ算出部30が、決定部14で決定された代表色の色値のダイナミックレンジを、R,G,Bの各々のコンポーネントについて算出する(ステップS604)。
図14は、決定部14が決定した代表色の一例を示す模式図である。図14に示す例では、決定部14は、4色の代表色(「パレット0」〜「パレット3」)の色値(RGB値)を決定している。
この場合、ダイナミックレンジ算出部30は、R,G,Bの各々のコンポーネントのダイナミックレンジとして、Rについては[128,128]、Gについては[0,127]、Bについては[64,127]を算出する。
次に、エントロピー符号化部32が、ステップS604で算出されたダイナミックレンジを符号化する(ステップS605)。
例えば、エントロピー符号化部32は、R,G,Bの各々のコンポーネントにおけるダイナミックレンジの最小値、及び、R,G,Bの各々のコンポーネントにおけるダイナミックレンジを表現するために必要なビット幅、を符号化する。エントロピー符号化部32は、最小値として、例えば、Rについては[128]、Gについては[0]、Bについては[64]を、固定長(例えば、8ビット)で符号化する。
また、エントロピー符号化部32は、代表色のダイナミックレンジを表現するために必要なビット幅については、Rについては[128,128]の区間を表現すればよい。このため、必要なビット幅は0ビット(R_Range=0ビット)となる。Gについては、[0,127]の区間を表現するので、7ビット(G_Range=7ビット)となる。Bについては、[64,127]の区間を表現するので、6ビット(B_Range=6ビット)となる。そして、エントロピー符号化部32は、これらの代表色の表現に必要なビット幅に関する情報を、固定長(例えば、4ビット)で符号化する。
次に、エントロピー符号化部32は、ステップS601で取得した画素ブロック内の各画素を、予め定めた走査順で走査し、各画素について、ステップS606〜ステップS609の処理を実行する。
なお、ステップS606及びステップS607の処理は、実施の形態1におけるステップS105及びステップS106と同様である(図5参照)。
ステップS608では、エントロピー符号化部32が、上記ステップS604で算出したダイナミックレンジに基づいて代表色を符号化する(ステップS608)。
本変形例では、エントロピー符号化部32は、各代表色の色値と、R,G,Bの各々のコンポーネントの最小値と、の差分を符号化する。
図14における、代表色「パレット0」を符号化する場合を一例に挙げて説明する。
まず、エントロピー符号化部32は、決定部14で決定された4色の代表色(「パレット0」〜「パレット3」)における、「パレット0」のRの値[128]から、ステップS604で算出されたRのコンポーネントの最小値[128]を減算した差分[0]を符号化する。なお、上述したように、本変形例では、代表色のダイナミックレンジを表現するために必要なビット幅として、Rについて必要なビット幅は0ビット(R_Range=0ビット)である。このため、この差分については符号化する必要がない。
また、エントロピー符号化部32は、決定部14で決定された4色の代表色における、「パレット0」のGの値[127]から、ステップS604で算出されたGのコンポーネントの最小値[0]を減算した差分[127]を符号化する。なお、上述したように、本変形例では、代表色のダイナミックレンジを表現するために必要なビット幅として、Gについて必要なビット幅は7ビット(G_Range=7ビット)である。このため、エントロピー符号化部32は、この差分[127]を7ビットで符号化する。
同様に、エントロピー符号化部32は、決定部14で決定された4色の代表色における、「パレット0」のBの値[127]から、ステップS604で算出されたBのコンポーネントの最小値[64]を減算した差分[63]を符号化する。なお、上述したように、本変形例では、代表色のダイナミックレンジを表現するために必要なビット幅として、Bについて必要なビット幅は6ビット(B_Range=6ビット)である。このため、エントロピー符号化部32は、この差分[63]を6ビットで符号化する。
図15は、本変形例で作成された符号化データのデータ構造の一例を示す模式図である。
上述したように、上記実施の形態では、代表色を8ビットの固定長で符号化する場合には、代表色の符号化には96ビットが必要であった。一方、代表色のダイナミックレンジに応じて代表色を符号化する際の符号化長を決定することで、本変形例では、図15に示すデータ構造の符号化データが得られる。すなわち、図15に示すように、本変形例では、代表色の符号化には、88ビット((8+4)bit×3コンポーネント(R,G,B)+(0+7+6)bit×4色=88bit)を用いればよい。
このため、本変形例では、実施の形態1における効果に加えて、高い圧縮率の符号化データを生成することができる。
(変形例1−8)
また、符号化部20は、符号化済の画素から代表色を予測して符号化してもよい。
また、符号化部20は、符号化済の画素から代表色を予測して符号化してもよい。
図16は、代表色の予測符号化の説明図である。図16(A)は、符号化済の画素を利用した代表色の符号化の説明図である。図16(B)は、決定された代表色の一例を示す模式図である。
なお、図16(A)中、「Pix0」〜「Pix8」は符号化済の画素を表している。また、符号化部20が、図16中「インデックス」と表記された各画素を、ラスタースキャン順に走査するものとして説明する。
例えば、符号化部20が、第0画素目の画素を符号化対象としたとする。この場合、第0画素目に割り当てられているインデックス(「インデックス0」)は、この時点で新規に出現した新規インデックスである。このため、符号化部20は、「インデックス0」と、該インデックスによって特定される代表色である「パレット0」の代表色を符号化する。
このとき、符号化部20は、「パレット0」の代表色と同じ色値の符号化済の画素を「Pix0」〜「Pix8」から探索する。図16に示す例では、「パレット0」の代表色と、「Pix1」の色値とが同じである。このため、符号化部20は、「パレット0」の代表色を符号化、すなわち、R,G,Bの値の各々を8ビットで符号化する符号化処理に替えて、「Skip_palette=1」というフラグを1ビットで符号化する。また、このとき、符号化部20は、「Pix1」の色値(画素値とも称する)と同じであることを示す情報を符号化する。
なお、「Pix1」を指定する情報については、例えば、「Pix0」〜「Pix8」に対してそれぞれ0000(2)〜1000(2)の符号を割り当てる。そして、Pix1=0001(2)を固定長4ビットで符号化すればよい。なお、符号化部20は、符号化対象の画素との相対位置(例えば、「X=0,Y=−1」)を符号化してもよい。
符号化部20は、次に、第1画素目の画素を符号化する。第1画素目のインデックス(「インデックス1」)は、この時点で新規に出現する新規インデックスである。このため、符号化部20は、このインデックス(「インデックス1」)と、「インデックス1」によって特定される代表色(「パレット1」)を符号化する。
この場合についても同様に、符号化部20は、「パレット1」の代表色と同じ色値の符号化済の画素を「Pix0」〜「Pix8」から探索する。図16に示す例では、「パレット1」の代表色と同じ色値の符号化済の画素が存在しない。このため、符号化部20は、「Skip_palette=0」というフラグを1ビットで符号化するとともに、「パレット1」の代表色をR,G,Bの各々について8ビットで符号化する。
なお、本変形例では、色値が完全一致する画素を符号化済の画素から探索したが、この方法に限られない。例えば、符号化部20は、同じ色値であると識別するための閾値(閾値Bとする)を予め定める。そして、符号化部20は、符号化済の画素の色値と、符号化対象の画素のインデックスによって特定される代表色の色値と、の差分絶対和が閾値B以下の符号化済の画素を、色値が完全一致する画素として探索してもよい。
また、符号化部20は、代表色のR,G,Bを符号化する場合についても、例えば、量子化を行って符号化する方式や、ダイナミックレンジを利用して符号化する方式と組み合させて符号化してもよい。
(実施の形態2)
上記実施の形態1では、画像符号化装置10は、符号化対象の画素ブロック内の各画素の符号化時に、各画素に割り当てられたインデックスが新規インデックスであると判別した場合に、該インデックスによって特定される代表色を符号化する場合を説明した。
上記実施の形態1では、画像符号化装置10は、符号化対象の画素ブロック内の各画素の符号化時に、各画素に割り当てられたインデックスが新規インデックスであると判別した場合に、該インデックスによって特定される代表色を符号化する場合を説明した。
本実施の形態では、画像符号化装置(本実施の形態における後述する画像符号化装置40)は、実施の形態1とは異なるタイミングで代表色を符号化する。
図17は、本実施の形態の画像符号化装置40の機能的構成を示すブロック図である。画像符号化装置40は、取得部42、決定部44、割当部46、符号化順序決定部48、及び符号化部50を備える。
取得部42、決定部44、割当部46、及び符号化部50は、実施の形態1の取得部12、決定部14、割当部16、及び符号化部20と各々同様である。本実施の形態では、実施の形態1の画像符号化装置10における判定部18に替えて、符号化順序決定部48を備えた点が実施の形態1と異なる。
以下、実施の形態1と異なる部分について、詳細に説明する。
図18は、本実施の形態の画像符号化装置40で実行する符号化処理の手順を示すフローチャートである。
まず、決定部44が、取得部42から画素ブロックを取得する(ステップS301)。次に、決定部44が、画素ブロックに応じた代表色を決定する(ステップS302)。次に、符号化部50が、ステップS302で決定された代表色の代表色数を符号化する(ステップS303)。次に、割当部46が、ステップS301で取得した画素ブロック内の各画素に対してインデックスを割り当てる(ステップS304)。ステップS301〜ステップS304の処理は、実施の形態1のステップS101〜ステップS104と同様である。
次に、符号化順序決定部48が、ステップS304の処理によるインデックスの割り当て結果に基づいて、代表色を符号化する符号化順序を決定する(ステップS305)。
ステップS305において、符号化順序決定部48は、各代表色に対応するインデックスが、画素ブロック内の各画素の符号化時に初めて出現するタイミングと同じとなるように、符号化順序を決定する。
ここで、符号化対象の画素ブロック内の各画素には、図4に示すインデックスが割り当てられた状態にある場合を説明する。なお、図4は、実施の形態1で説明したように、図2に示す画素ブロック内の各画素に、図3に示す4色の代表色(パレット0〜パレット3)の何れかを示すインデックスを割り当てた割当結果の一例を示す模式図である。
この場合、まず、符号化順序決定部48は、符号化対象の画素ブロック内の各画素を、所定の走査順でスキャン(走査)する。実施の形態1と同様に、本実施の形態においても、ラスタースキャンを行うものとして説明する。
まず、符号化部50が、第0画素目の符号化を行うときに、「インデックス0」が新規に出現する。次に、第1画素目の符号化を行うときに、「インデックス1」が新規に出現する。以降、同様にスキャンすることで、第4画素目で「インデックス3」、第8画素目で「インデックス2」が新規に出現する。このため、図4に示すインデックスの割り当てられた画素ブロックでは、符号化部50によるラスタースキャンによって各インデックスが初めて出現するタイミングは、「インデックス0」、「インデックス1」、「インデックス3」、「インデックス2」の順となる。
本実施の形態では、符号化順序決定部48は、符号化対象の画素ブロック内の各画素において各インデックスが新規に出現するタイミング(配列)にそった符号化順序を、各インデックスによって特定される代表色の符号化順序として決定する。上記の例では、符号化順序決定部48は、「インデックス0」、「インデックス1」、「インデックス3」、「インデックス2」の順に沿った、代表色「パレット0」、「パレット1」、「パレット3」、「パレット2」の配列を、代表色の符号化順序として決定する。
次に、符号化部50が、実施の形態1のステップS105と同様にしてインデックスを符号化する(ステップS306)。例えば、符号化部50は、第0画素目の画素のインデックス(「インデックス0」)を符号化する。
次に、符号化部50が、ステップS305で符号化順序を決定した代表色の全ての符号化が完了したか否かを判断する(ステップS307)。ステップS307で否定判断すると(ステップS307:No)、ステップS308へ進む。一方、ステップS307で肯定判断すると(ステップS307:Yes)、後述するステップS309へ進む。
ステップS308では、上記ステップS305で決定された符号化順序に沿って、未符号化の代表色を1つ符号化する(ステップS308)。本実施の形態では、例えば、符号化部50は、代表色「パレット0」を符号化する。
次に、符号化部50が、符号化対象の画素ブロックに含まれる全ての画素について、符号化処理が完了したか否かを判断する(ステップS309)。ステップS309で肯定判断すると(ステップS309:Yes)、本ルーチンを終了する。
一方、ステップS309で否定判断すると(ステップS309:No)、上記ステップS306へ戻る。そして、ステップS309で肯定判断(ステップS309:Yes)するまで、ステップS306〜ステップS309の処理を繰り返す。
例えば、前回第0画素目を符号化対象とした場合、次に、符号化部50は、第1画素目を符号化対象とする。そして、符号化部50は、第1画素目のインデックス(「インデックス1」)を符号化した後に、次の代表色(「パレット1」)を符号化する。さらに、符号化部50は、第2画素目を符号化対象とする。そして、符号化部50は、第2画素目のインデックス(「インデックス1」)を符号化した後に、次の代表色(「パレット3」)を符号化する。さらに、符号化部50は、第3画素目のインデックス(「インデックス1」)を符号化した後に、次の代表色(「パレット2」)を符号化する。
そして、符号化部50では、第3画素目の符号化処理を完了した時点で、符号化対象の画素ブロックに係る全ての代表色の符号化が完了したことになり、該画素ブロックにおける以降の画素の符号化処理では、代表色の符号化は行わず(ステップS307:Yes)、インデックスのみを符号化することとなる。
図19は、本実施の形態の画像符号化装置40で作成した符号化データのデータ構造の一例を示す模式図である。
本実施の形態の画像符号化装置40では、符号化対象の画素ブロック内の各画素に割り当てられたインデックスによって特定される代表色について、同じ値のインデックスによって特定される代表色については1回のみ符号化する。そして、既に符号化した代表色に対応するインデックスの割り当てられた画素については、インデックスのみを符号化する。
このため、本実施の形態の画像符号化装置40では、実施の形態1における効果に加えて更に、符号化処理の単純化を図る事ができる。
なお、本実施の形態においては、符号化データは、「インデックス」、「代表色」の順で符号化を行う場合を説明したが、この順序に制限はない。例えば、符号化データは、「代表色」、「インデックス」の順で符号化した形態であってもよい。
図20は、「代表色」、「インデックス」の順に符号化を行うことで作成した符号化データのデータ構造の一例を示す模式図である。
図20に示すように、符号化データは、図19における「インデックス」と「代表色」の配列を逆にした構成であってもよい。
(実施の形態3)
図21は、本実施の形態に係る画像復号装置51の機能的構成の一例を示す模式図である。
図21は、本実施の形態に係る画像復号装置51の機能的構成の一例を示す模式図である。
画像復号装置51は、上記実施の形態の画像符号化装置10または画像符号化装置10Aで作成された符号化データを復号する。
画像復号装置51は、取得部52、代表色数復号部54、インデックス復号部56、新規判定部58、及び代表色復号部60を備える。
取得部52は、例えば、画像符号化装置10から符号化データを取得する。
代表色数復号部54は、取得部52で取得した符号化データを先頭から読取り、該符号化データに含まれる、符号化された代表色数を復号する。インデックス復号部56は、取得部52で取得した符号化データを先頭から読取り、該符号化データに含まれる符号化されたインデックスを復号する。
新規判定部58は、インデックス復号部56で復号したインデックスが、復号対象の画素ブロック内において新規に出現したもの(すなわち、新規インデックス)であるか否かを判定する。代表色復号部60は、新規判定部58による判定結果に応じて、代表色を復号する。
次に、画像復号装置51で実行する復号処理を説明する。
図22は、画像復号装置51が実行する復号処理の手順を示すフローチャートである。
まず、取得部52が、符号化データを取得する(ステップS401)。次に、代表色数復号部54が、ステップS401で取得された符号化データの先頭からデータを読取り、符号化データの先頭に配置されている代表色数(パレット数)を復号する(ステップS402)。
なお、ステップS401で取得部52が取得した符号化データが、代表色数が固定値である符号化データである場合、ステップS402の処理は省略する。
次に、画像復号装置51では、符号化データに含まれる、該符号化データの符号化時に用いた画素ブロックに対応する符号化単位毎に、ステップS403〜ステップS406の復号処理を実行する。
まず、インデックス復号部56が、復号対象の画素のインデックスを復号する(ステップS403)。次に、新規判定部58が、ステップS403で復号されたインデックスが、新規インデックスであるか否かを判定する(ステップS404)。
ステップS404で肯定判定すると(ステップS404:Yes)、ステップS405へ進む。ステップS405では、代表色復号部60が、ステップS403で復号されたインデックスによって特定される代表色を復号する(ステップS405)。そして、ステップS406へ進む。
一方、ステップS404で否定判断すると(ステップS404:No)、ステップS406へ進む。
ステップS406では、インデックス復号部56が、復号対象の画素ブロック内の全ての画素について復号処理が終了したか否かを判断する(ステップS406)。ステップS406で否定判断すると(ステップS406:No)、上記ステップS403へ戻る。一方、ステップS406で肯定判断すると(ステップS406:Yes)、本ルーチンを終了する。
画像復号装置51では、上記ステップS403〜ステップS406の処理を、画素ブロック単位で実行する。
以上説明したように、本実施の形態の画像復号装置51では、代表色が2色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化した符号化データを復号する。このため、画像復号装置51では、符号化データに含まれる全ての代表色を受け付ける前に復号処理を開始することができる。
従って、本実施の形態の画像復号装置51では、符号化データの復号時における単位時間当たりの処理能力の向上を図ることができる。
(実施の形態4)
図23は、本実施の形態に係る画像復号装置70の機能的構成の一例を示す模式図である。画像復号装置70は、実施の形態2の画像符号化装置40で作成された符号化データを復号する装置である。画像復号装置70は、実施の形態3の画像復号装置51とは、代表色を復号するタイミングが異なる。
図23は、本実施の形態に係る画像復号装置70の機能的構成の一例を示す模式図である。画像復号装置70は、実施の形態2の画像符号化装置40で作成された符号化データを復号する装置である。画像復号装置70は、実施の形態3の画像復号装置51とは、代表色を復号するタイミングが異なる。
画像復号装置70は、取得部72、代表色数復号部74、インデックス復号部76、及び代表色復号部78を備える。
取得部72は、画像符号化装置40から符号化データを取得する。代表色数復号部74は、取得部72で取得した符号化データを先頭から読取り、該符号化データに含まれる代表色数を復号する。インデックス復号部76は、符号化データを先頭から読取り、該符号化データに含まれるインデックスを復号する。代表色復号部78は、代表色を復号する。
図24は、本実施の形態の画像復号装置70が実行する復号処理の手順を示すフローチャートである。
まず、取得部72が符号化データを取得する(ステップS501)。次に、代表色数復号部74が、取得した符号化データの先頭からデータを読取り、符号化データの先頭に配置されている代表色数(パレット数)を復号する(ステップS502)。
なお、ステップS501で取得部72が取得した符号化データが、代表色数が固定値である符号化データである場合、ステップS502の処理は省略する。
次に、画像復号装置70では、符号化データに含まれる、該符号化データの符号化時に用いた画素ブロックに対応する単位毎に、ステップS503〜ステップS506の復号処理を実行する。
まず、インデックス復号部76が、復号対象の画素のインデックスを復号する(ステップS503)。次に、代表色復号部78が、画素ブロック内の全ての代表色の復号が完了したか否かを判断する(ステップS504)。ステップS504で否定判断すると(ステップS504:No)、ステップS505へ進む。
ステップS505では、代表色復号部78が、符号化データにおける、ステップS503で復号したインデックスに対応する代表色を復号する(ステップS505)。そして、ステップS506へ進む。
一方、ステップS504で肯定判断すると(ステップS504:Yes)、ステップS506へ進む。
ステップS506では、インデックス復号部76が、復号対象の画素ブロック内の全ての画素について復号処理が終了したか否かを判断する(ステップS506)。ステップS506で否定判断すると(ステップS506:No)、上記ステップS503へ戻る。一方、ステップS506で肯定判断すると(ステップS506:Yes)、本ルーチンを終了する。
なお、実施の形態3及び実施の形態4においては、符号化データを読取り、符号化データに含まれる「インデックス」、「代表色」の順序で復号を行う場合を説明した。しかし、復号の順序は、「代表色」、「インデックス」の順であってもよい。
以上説明したように、本実施の形態の画像復号装置70では、実施の形態2で作成された符号化データを復号する。このため、画像復号装置70では、代表色が2色以上連続して配置されないように、インデックスとインデックスによって特定される代表色とを交互に並べて符号化した符号化データを復号する。このため、画像復号装置70では、符号化データに含まれる全ての代表色を受け付ける前に復号処理を開始することができる。
従って、本実施の形態の画像復号装置70では、符号化データの復号時における単位時間当たりの処理能力の向上を図ることができる。
なお、上記実施の形態及び変形例における画像符号化装置10、10A、40、画像復号装置51、70で実行される符号化処理及び復号処理の各々を実行するためのプログラムは、ROM等に予め組み込まれて提供される。
上記実施の形態及び変形例における画像符号化装置10、10A、40、画像復号装置51、70で実行される符号化処理及び復号処理の各々を実行するためのプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上記実施の形態及び変形例における画像符号化装置10、10A、40、画像復号装置51、70で実行される符号化処理及び復号処理の各々を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態及び変形例における画像符号化装置10、10A、40、画像復号装置51、70で実行される符号化処理及び復号処理の各々を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
上記実施の形態及び変形例における画像符号化装置10、10A、40、画像復号装置51、70で実行される符号化処理及び復号処理の各々を実行するためのプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより該各部が主記憶装置上にロードされ、該各部が主記憶装置上に生成されるようになっている。なお、上記実施の形態及び変形例における画像符号化装置10、10A、40、画像復号装置51、70の各部を回路等のハードウェアで構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10、10A、40 画像符号化装置
14、44 決定部
16、46 割当部
18 判定部
20、20A、50 符号化部
48 符号化順序決定部
51、70 画像復号装置
54、74 代表色数復号部
56、76 インデックス復号部
58 新規判定部
60、78 代表色復号部
14、44 決定部
16、46 割当部
18 判定部
20、20A、50 符号化部
48 符号化順序決定部
51、70 画像復号装置
54、74 代表色数復号部
56、76 インデックス復号部
58 新規判定部
60、78 代表色復号部
Claims (8)
- 画像データを分割した画素ブロック毎に、前記画素ブロックを表現するための代表色数の代表色を決定する決定部と、
前記画素ブロック内の各画素に、前記代表色を識別するインデックスを割り当てる割当部と、
前記代表色が2色以上連続して符号化されないように、前記インデックスと前記インデックスによって特定される前記代表色とを交互に並べて符号化する符号化部と、
を備えた画像符号化装置。 - 前記符号化部は、
前記画素ブロック内の各画素に割り当てられたインデックスを予め定められた順に従って走査し、
前記代表色の各々に対応する前記インデックスが前記画素ブロックにおいて初めて走査された順にしたがって前記代表色の各々を並べて符号化する、
請求項1に記載の画像符号化装置。 - 前記符号化部は、
前記画素ブロックにおいて、符号化済のインデックスとは異なる値のインデックスの割り当てられた画素を走査したときに、該インデックスによって特定される前記代表色を符号化する、
請求項2に記載の画像符号化装置。 - 前記割当部は、
前記画素ブロック内の画素のうち、前記符号化部において最初に走査する画素には、予め定めた値のインデックスを割り当てる、
請求項1に記載の画像符号化装置。 - 前記符号化部は、
前記代表色数を更に符号化すると共に、該代表色数が1である場合は前記インデックスの符号化を行わない、
請求項1に記載の画像符号化装置。 - 画素ブロックを表現するための代表色数の代表色を識別するインデックスと、前記インデックスによって特定される前記代表色と、を前記代表色が2色以上連続して符号化されないように交互に並べて符号化した符号化データにおける、前記インデックスを復号するインデックス復号部と、
前記符号化データにおける前記代表色を復号する代表色復号部と、
を備えた画像復号装置。 - 画像データを分割した画素ブロック毎に、前記画素ブロックを表現するための代表色数の代表色を決定すること、
前記画素ブロック内の各画素に、前記代表色を識別するインデックスを割り当てること、
前記代表色が2色以上連続して符号化されないように、前記インデックスと前記インデックスによって特定される前記代表色とを交互に並べて符号化すること、
を備えた画像符号化方法。 - 画素ブロックを表現するための代表色を識別するインデックスと、前記インデックスによって特定される前記代表色と、を前記代表色が2色以上連続して符号化されないように交互に並べて符号化した符号化データにおける、前記インデックスを復号すること、
前記符号化データにおける前記代表色を復号すること、
を備えた画像復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012259978A JP2014107742A (ja) | 2012-11-28 | 2012-11-28 | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
US14/045,222 US20140147040A1 (en) | 2012-11-28 | 2013-10-03 | Image encoding device, image decoding device, image encoding method, and image decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012259978A JP2014107742A (ja) | 2012-11-28 | 2012-11-28 | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014107742A true JP2014107742A (ja) | 2014-06-09 |
Family
ID=50773354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012259978A Pending JP2014107742A (ja) | 2012-11-28 | 2012-11-28 | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140147040A1 (ja) |
JP (1) | JP2014107742A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016046814A (ja) * | 2014-08-25 | 2016-04-04 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | イメージ、および、ビデオ符号化のパレットインデックスシグナリングの方法および装置 |
US10021405B2 (en) | 2015-08-18 | 2018-07-10 | Kabushiki Kaisha Toshiba | Encoding device, decoding device, and image processing device |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291827B2 (en) | 2013-11-22 | 2019-05-14 | Futurewei Technologies, Inc. | Advanced screen content coding solution |
US9826242B2 (en) * | 2014-03-14 | 2017-11-21 | Qualcomm Incorporated | Palette-based video coding |
US10638143B2 (en) * | 2014-03-21 | 2020-04-28 | Futurewei Technologies, Inc. | Advanced screen content coding with improved color table and index map coding methods |
US10091512B2 (en) | 2014-05-23 | 2018-10-02 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
CN105282550A (zh) * | 2014-06-13 | 2016-01-27 | 财团法人工业技术研究院 | 编码方法与解码方法、编解码***、编码器与解码器 |
WO2016119667A1 (zh) * | 2015-01-27 | 2016-08-04 | 同济大学 | 图像处理方法及装置 |
CN105828079B (zh) * | 2015-01-27 | 2020-06-16 | 同济大学 | 图像处理方法及装置 |
GB2539488B8 (en) | 2015-06-18 | 2020-08-19 | Gurulogic Microsystems Oy | Encoder, decoder and method employing palette utilization and compression |
GB2539486B (en) | 2015-06-18 | 2019-07-31 | Gurulogic Microsystems Oy | Encoder, decoder and method employing palette compression |
JP7320352B2 (ja) * | 2016-12-28 | 2023-08-03 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置 |
CN112040236B (zh) * | 2020-09-04 | 2022-02-18 | 维沃移动通信有限公司 | 图像处理方法、处理装置、以及图像显示方法、显示装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843484A (en) * | 1986-09-12 | 1989-06-27 | Pioneer Electronic Corporation | Information recording disc with composite index codes and its playback method |
US6037982A (en) * | 1996-03-28 | 2000-03-14 | Intel Corporation | Multi-pass video compression |
JPH11161782A (ja) * | 1997-11-27 | 1999-06-18 | Seiko Epson Corp | カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置 |
US7804980B2 (en) * | 2005-08-24 | 2010-09-28 | Denso Corporation | Environment recognition device |
US9626730B2 (en) * | 2011-05-05 | 2017-04-18 | Arm Limited | Method of and apparatus for encoding and decoding data |
JP5632431B2 (ja) * | 2012-09-04 | 2014-11-26 | 株式会社東芝 | 画像符号化装置、及び画像符号化方法 |
-
2012
- 2012-11-28 JP JP2012259978A patent/JP2014107742A/ja active Pending
-
2013
- 2013-10-03 US US14/045,222 patent/US20140147040A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016046814A (ja) * | 2014-08-25 | 2016-04-04 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | イメージ、および、ビデオ符号化のパレットインデックスシグナリングの方法および装置 |
US10021405B2 (en) | 2015-08-18 | 2018-07-10 | Kabushiki Kaisha Toshiba | Encoding device, decoding device, and image processing device |
Also Published As
Publication number | Publication date |
---|---|
US20140147040A1 (en) | 2014-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014107742A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 | |
KR102394226B1 (ko) | 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치 | |
JP4418762B2 (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP6465890B2 (ja) | 画素ブロックの符号化または復号の方法および装置 | |
US7689048B2 (en) | Image encoding apparatus, method, and computer-readable storage medium for encoding a pixel value | |
JP6310152B2 (ja) | パレットテーブル予測とシグナリングの方法と装置 | |
JP2017522839A (ja) | 整合パレット符号化 | |
JP4847398B2 (ja) | 画像処理装置およびその方法 | |
JP2016105619A (ja) | 映像予測単位についてのイントラ予測モード符号化方法及び装置、並びに映像予測単位についてのイントラ予測モード復号化方法及び装置 | |
KR20160039549A (ko) | 비디오 신호 처리 방법 및 장치 | |
CN107211143B (zh) | 用于处理视频信号的方法和设备 | |
EP4270951A2 (en) | Block size determination method, video encoding device, and program | |
WO2013051794A1 (ko) | 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치 | |
CN109936742B (zh) | 对视频序列进行编码的方法、编码装置和存储介质 | |
JP6634936B2 (ja) | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、画像復号プログラムおよび画像伝送システム | |
KR20120082606A (ko) | 깊이 영상의 부호화/복호화 장치 및 방법 | |
EP3506637A1 (en) | Image encoding device, image decoding device, and data structure | |
US20150023416A1 (en) | Image encoding device and image decoding device | |
CN114009036A (zh) | 图像编码设备、图像解码设备、图像编码方法和图像解码方法 | |
KR102570374B1 (ko) | 영상 부호화 장치, 영상 부호화 방법, 영상 부호화 프로그램, 영상 복호 장치, 영상 복호 방법, 및 영상 복호 프로그램 | |
JP2023038316A (ja) | 決定装置、符号化装置、復号装置及びプログラム | |
US8463057B2 (en) | Image encoding apparatus and control method therefor | |
CN114342392A (zh) | 视频信号处理方法和装置 | |
KR20190087329A (ko) | 복수의 예측 모드 후보군을 사용하여 화면내 예측을 수행하는 영상 부호화/복호화 방법 및 장치 | |
US11991367B2 (en) | Device and method for allocating code amounts to intra prediction modes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20151102 |