(57)【要約】【課題】符号量制御に伴うスループットの低下を抑制する。【解決手段】実施形態によれば、画像符号化装置は、入力画像を所定の画素数に分けた処理単位ごとに符号化処理を行う。画像符号化装置は、パラメータ選択部と、出力選択部とを備える。パラメータ選択部は、第１符号化部の第１符号量を制御するパラメータを選択する。出力選択部は、第１符号化部又は第２符号化部のいずれか一方の符号化結果を選択する。パラメータ選択部は、第１画素群の各画素に対して適用した場合に発生する第１符号量が目標符号量を下回る符号化パラメータを選択する。出力選択部は、第２画素群の各画素に対し選択された符号化パラメータを適用した場合の第１符号化部で発生する第１符号量が、第２符号化部で発生する第２符号量より少なければ第１符号化部の符号化結果を出力する。【選択図】図１
2014179957.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を所定の画素数に分けた処理単位ごとに符号化処理を行う画像符号化装置であって、
前記処理単位のうち先頭画素を含む一部の第１画素群と、前記処理単位のうち残りの第２画素群とを可変長符号化する第１符号化部と、
前記第２画素群を、前記第１符号化部で発生する最大符号量よりも少ない符号量で符号化する第２符号化部と、
前記第１符号化部の第１符号量を取得する第１取得部と、
前記第２符号化部の第２符号量を取得する第２取得部と、
前記第１符号化部の前記第１符号量を制御するパラメータを選択するパラメータ選択部と、
前記第１符号化部又は前記第２符号化部のいずれか一方の符号化結果を選択する出力選択部と、
を有し、
前記パラメータ選択部は、前記第１画素群の各画素に対して適用した場合に発生する前記第１符号量が目標符号量を下回る前記符号化パラメータを選択し、
前記出力選択部は、前記第２画素群の各画素に対し前記選択された符号化パラメータを適用した場合の第１符号化部で発生する前記第１符号量が、第２符号化部で発生する前記第２符号量より少なければ第１符号化部の前記符号化結果を出力することを特徴とする画像符号化装置。
【請求項２】
前記第２符号化部は、前記第２画素群を前記第１符号化部で発生する最大符号量よりも少ない符号量で固定長符号化することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記目標符号量は、処理単位に割り当てられた符号量から前記第２符号量を減じて得られることを特徴とする請求項１記載の画像符号化装置。
【請求項４】
前記第１符号化部は隣接画素から符号化処理対象の画素を予測符号化することを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記出力選択部は、第２画素群の前記符号化結果を出力する前に、前記第１符号化部の結果を出力するか、前記第２符号化部の結果を出力するかを示すフラグ情報を出力することを特徴とする請求項１記載の画像符号化装置。
【請求項６】
次の処理単位と隣接している当該処理単位における画素位置において、
前記第１符号化部および前記第２符号化部それぞれで符号化処理した結果得られる予測符号化に用いられる参照画素が同じ値になることを特徴とする請求項４記載の画像符号化装置。
【請求項７】
所定の画素数（Ｎ）で構成される処理単位ごとに復号化処理を行う画像復号化装置であって、
可変長復号化方法によって符号化データを復号化する第１復号化部と、
前記可変長復号化方法で復号する最大の符号量よりも少ない符号量で符号化データを復号化する第２復号化部と、
符号化データを前記第１復号化部に入力するか、前記第２復号化部に入力するかを切り替える復号化切り替え部と、
を有し
前記復号化切り替え部は、処理単位の全画素のうち先頭画素を含む第１画素群（Ｍ）の復号化が終了するまで前記符号化データを前記第１復号化部に入力し、残りの符号化データは、前記第１復号化部に入力するか前記第２復号化部に入力するかを示す情報を復号化した後、前記情報に基づいて前記第１復号化部あるいは前記第２復号化部に前記残りの符号化データを入力することを切り替えることを特徴とする画像復号化装置。
【請求項８】
所定の画素数（Ｎ）で構成される処理単位ごとに復号化処理を行う画像復号化装置であって、
可変長復号化方法によって符号化データを復号化する第１復号化部と、
前記可変長復号化方法で復号する最大の符号量よりも少ない符号量で符号化データを復号化する第２復号化部と、
前記第１復号化部の第１復号化符号量を取得して累積する第１符号量取得部と、
符号化データを前記第１復号化部に入力するか、前記第２復号化部に入力するかを切り替える復号化切り替え部と、
を有し
前記復号化切り替え部は、前記第１符号量取得部で累積した前記第１符号量が所定の閾値を超えるまで前記第１復号化部に符号化データを入力し、前記第１符号量が所定の閾値を超えた場合、残りの符号化データは前記第２復号化部に入力することを特徴とする画像復号化装置。
【請求項９】
前記第２復号化部は固定長復号化することを特徴とする請求項８記載の画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、画像データの符号化および復号化に関する。
【背景技術】
【０００２】
画像符号化において、符号化対象となる画素と隣接画素との間には高い相関があることから隣接画素に基づく予測符号化（ＤＰＣＭ：Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）が用いられる場合がある。
【０００３】
画像符号化では、入力された画像データの発生符号量を目標符号量以下に制御して、所定量のメモリやＨＤＤなどのストレージに保存する場合があり、画像符号化において符号量制御は重要である。
【０００４】
例えば、符号化処理単位にＤＰＣＭを行うことによって得られる残差信号に対して複数の量子化パラメータを適用してそれぞれ発生符号量を算出したのち、当該発生符号量が目標符号量以下となる量子化パラメータを選択する符号量制御法が知られている。また、この符号量制御法において、発生符号量が目標符号量以下となることを保証するために、固定長符号化する方式も並行して実行して、発生符号量が目標符号量以下となる量子化パラメータがない場合においては固定長符号化を選択することも知られている。所与の量子化パラメータを適用した場合の発生符号量を符号化処理単位で正確に算出するためには、符号化処理単位の最後の画素まで符号化処理を実行することと、符号化処理の完了後に最適な量子化パラメータを選択する比較演算とが必要となる。結果、符号化処理単位の終端画素が次の符号化処理単位の先頭画素の予測に用いられるまでに他の画素よりも多くの演算が生じる。故に、この符号量制御法をハードウェアに適用すると、符号化処理単位の終端画素で発生する遅延がクリティカルパスを形成し、スループットが低下する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１０／０４１４８８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実施形態は、符号量制御に伴うスループットの低下を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態によれば、画像符号化装置は、入力画像を所定の画素数に分けた処理単位ごとに符号化処理を行う。画像符号化装置は、第１符号化部と、第２符号化部と、第１取得部と、第２取得部と、パラメータ選択部と、出力選択部とを備える。第１符号化部は、処理単位のうち先頭画素を含む一部の第１画素群と、処理単位のうち残りの第２画素群とを可変長符号化する。第２符号化部は、第２画素群を、第１符号化部で発生する最大符号量よりも少ない符号量で符号化する。第１取得部は、第１符号化部の第１符号量を取得する。第２取得部は、第２符号化部の第２符号量を取得する。パラメータ選択部は、第１符号化部の第１符号量を制御するパラメータを選択する。出力選択部は、第１符号化部又は第２符号化部のいずれか一方の符号化結果を選択する。パラメータ選択部は、第１画素群の各画素に対して適用した場合に発生する第１符号量が目標符号量を下回る符号化パラメータを選択する。出力選択部は、第２画素群の各画素に対し選択された符号化パラメータを適用した場合の第１符号化部で発生する第１符号量が、第２符号化部で発生する第２符号量より少なければ第１符号化部の符号化結果を出力する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る画像符号化装置を例示するブロック図。
【図２】図１の変形例を示すブロック図。
【図３】第２の実施形態に係る画像復号化装置を例示するブロック図。
【図４】図３の変形例を示すブロック図。
【図５】画像データの構造の説明図。
【図６】図１の画像符号化装置によって行われる画像符号化処理を例示するフローチャート。
【図７】仮符号化処理を例示するフローチャート。
【図８】ＤＰＣＭ符号化処理を例示するフローチャート。
【図９】正負符号予測処理を例示するフローチャート。
【図１０】パラメータ選択処理を例示するフローチャート。
【図１１】ＰＣＭ符号化処理を例示するフローチャート。
【図１２】固定長符号化処理を例示するフローチャート。
【図１３Ａ】可変長符号化処理を例示するフローチャート。
【図１３Ｂ】可変長符号化処理を例示するフローチャート。
【図１４】図３の画像復号化装置によって行われる画像復号化処理を例示するフローチャート。
【図１５】ＰＣＭ復号化処理を例示するフローチャート。
【図１６】固定長復号化処理を例示するフローチャート。
【図１７Ａ】可変長復号化処理を例示するフローチャート。
【図１７Ｂ】可変長復号化処理を例示するフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、説明済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。
【００１０】
図５は、画像符号化装置に入力される画像データあるいは画像復号化装置から出力されるデコード画像データを例示する。ユニットは、画像符号化装置あるいは画像復号化装置で処理する単位（符号化処理単位とも呼ばれる）である。第１の実施形態及び第２の実施形態では、ユニットは、１×３２画素の矩形で構成される。セグメントは、１つ以上のユニットから構成される矩形で所定の符号量で符号化あるいは復号化されるデータの単位を示しており、第１の実施形態及び第２の実施形態では１セグメントは１×Ｍ個のユニットで構成される。入力あるいは出力画像データは１つ以上のセグメントから構成される矩形で、第１の実施形態及び第２の実施形態では画像の１ラインを１セグメントとし、Ｎ個のセグメントで構成される。画像の横幅が３２で割り切れない場合は、右端のユニットは３２画素以下となる。例えば、終端の画素を右側にコピーしつづけて３２画素として右端のユニットを再構成してから処理しても良いし、通常のユニットとして処理しつづけて画素がなくなった時点で処理を打ち切っても良い。この動作に関しては後述する。なお、第１の実施形態及び第２の実施形態のユニットやセグメントの形は、上記例に制限されない。また、第１の実施形態及び第２の実施形態では、以降、入力画像データの画像サイズは１９２０×１０８０画素、入力画像データの画像フォーマットは、ＹＵＶ４４４であって、ＹＵＶの各コンポーネントが８ビットとして説明していくが、第１の実施形態及び第２の実施形態の画像サイズ及び画像フォーマットは、上記例に制限されない。
【００１１】
（第１の実施形態）
第１の実施形態の画像符号化装置は、符号化対象となるユニットの途中から符号化パラメータ（例えば、量子パラメータ、可変長テーブルなど）の選択処理を実行する。故に、この画像符号化装置によれば、ユニット終端でのパラメータ選択処理による遅延は生じないので、高スループットな画像符号化処理が可能である。
【００１２】
図１は、画像符号化装置を例示する。画像符号化装置は、入力画像選択器１０２と、第一符号化器１０３と、第二符号化器１０４と、第三符号化器１０５と、第一符号量取得器１０６と、第二符号量取得器１０９と、符号化パラメータ選択器１０７と、符号化出力選択器１０８とを備える。
【００１３】
入力画像選択器１０２は、入力画像データ１０１から１ユニット分の画像データを取得して、第一、第二、第三符号化器のいずれかに画像データを出力する。更に、入力画像選択器１０２は、後述される初期化処理および符号量制御処理を行う。
【００１４】
第一符号化器１０３は所定の符号化パラメータに基づいた可変長符号化方法により、入力された画像データを符号化する。第二符号化器１０４は固定長符号化方法により、入力された画像データを符号化する。第三符号化器１０５は入力画像データをそのまま加工せずに出力するＰＣＭ符号化方法により、入力された画像データを符号化する。
【００１５】
第一符号量取得器１０６は第一符号化器で符号化した際に発生した第一符号量を取得して累積して保持する。第二符号量取得器１０９は第二符号化器で符号化した際に発生した第二符号量を取得して累積して保持する。
【００１６】
符号化パラメータ選択器１０７は第一符号化器を複数の符号化パラメータで実行した際に得られる複数の第一符号量に基づいて、所定の条件を満たす符号化パラメータを選択する。符号化出力選択器１０８は、第一符号量と第二符号量と第三符号化器１０５の出力結果とに基づいて、第一符号化器１０３、第二符号化器１０４及び第三符号化器１０５のいずれかの符号化結果を符号化データ１１０として出力する。
【００１７】
図６は、第１の実施形態に係る画像符号化装置が実行する画像符号化処理を例示する。
入力画像選択器１０２は、入力されたユニットの画像データにおける位置に依存して、当該ユニットに対する処理を変更できる。ユニットが画像データの先頭である場合には、入力画像選択器１０２は、発生符号量を制御するための累積値のリセット等の初期化処理を行う（Ｓ１０２）。ユニットがセグメントの先頭である場合には、入力画像選択器１０２は、当該セグメントの目標符号量を設定（Ｓ１０３）し、当該セグメントの前のセグメントにおける量子化パラメータ（ＱＰ）の平均値を算出する（Ｓ１０４）。ＱＰは、画質および発生符号量を制御する。さらに、ユニットがセグメントの終端かつユニット内の画素数が所定の数（Ｘ）を下回っている場合には入力画像選択器１０２は第三符号化器１０５に画像データを出力し、上回っている場合には入力画像選択器１０２は第一符号化器１０３に画像データを出力する（Ｓ１０５）。
【００１８】
第一符号化器１０３は、入力されたユニットの画像データを符号化するための目標符号量を算出する（Ｓ１０６）。そして、第一符号化器１０３は、最適な符号化パラメータを選択するための仮符号化処理を行う（Ｓ１０７）。
【００１９】
符号化出力選択器１０８は、仮符号化の結果に基づいて入力されたユニットの画像データを可変長符号化するか、固定長符号化するかを選択し、入力画像選択器１０２に通知する（Ｓ１０８）。
【００２０】
第一符号化器１０３は、可変長符号化処理を行う（Ｓ１０９）。第二符号化器１０４は、固定長符号化処理を行う（Ｓ１１０）。第三符号化器１０５は、ＰＣＭ符号化処理を行う（Ｓ１１１）。符号化出力選択器１０８は、ユニットの最終的な符号化結果を符号化データ１１０として出力する（Ｓ１１２）。ユニットの符号化処理が繰り返され、セグメントの符号化データが出力され（Ｓ１１３）、画像符号化処理が終了する（Ｓ１１４）。
【００２１】
以降、図６の各処理ステップに関する詳細説明を行う。  
ステップＳ１０３において、セグメントの目標符号量は、ユーザーの指定に応じて設定される。例えば、１／２圧縮を指定された場合、１９２０画素×３コンポーネント×８ビット／２＝２３０４０ビットが目標符号量として設定され、セグメントの発生符号量が必ずこの値以下の符号量となるように制御される。
【００２２】
ステップＳ１０４において、前のセグメントの平均ＱＰは、前のセグメントの各ユニットに適用されたＱＰを保持しておき、すべてを累積加算したのちセグメント内のユニット数で割ることで算出できる。
【００２３】
ステップＳ１０６において、ユニットの目標符号量は、例えば、セグメントに割り当てられた符号量をユニット数で割った平均値である。ただし、直前のユニットで発生した符号量と目標符号量との差分をフィードバックすることで、さらに適した目標符号量の算出が可能となる。
【００２４】
ステップＳ１０７で行われる仮符号化処理は、図７に例示される。  
なお、仮符号化は後述する量子化パラメータおよび可変長テーブルの組み合わせ分だけ、並列に実行する。仮符号化が行われると、量子化パラメータと可変長テーブルの組み合わせに応じた分の第一符号量が算出される。
【００２５】
第一符号化器１０３は、第一画素群を入力する（Ｓ２０２）。第一画素群は、ユニットの先頭から所定数の画素を指す。第一画素群の画素数は、後述する符号化パラメータ選択器１０７がパラメータ選択処理するために要する時間またはサイクル数に応じて決定され、本実施形態では３２−６＝２６画素とした。第一符号化器１０３は、入力された第一画素群を含むユニットがセグメント内の先頭ユニットかを判定（Ｓ２０３）し、判定結果がＹＥＳの場合は先頭画素をＰＣＭ符号化し、処理対象は次の画素に移行する（Ｓ２０４）。ステップＳ２０３において判定結果がＮＯの場合には、処理は第一画素群の符号化処理ループに進む。
【００２６】
第一符号化器１０３は、本実施形態では、隣接画素から符号化対象となる画素を予測して、予測残差を量子化パラメータで量子化し、その情報を可変長符号化するＤＰＣＭ符号化処理を利用する。即ち、第一符号化器１０３は、第一画素群に対してＤＰＣＭ符号化処理を行う（Ｓ２０５）。
【００２７】
図８は、ＤＰＣＭ符号化処理を例示する。  
第一符号化器１０３は、まず、入力された画素の上限値及び下限値をクリッピング処理する（Ｓ３０２）。このクリッピング処理は、量子化パラメータの値に応じて行われる。例えば、ＱＰが０の場合は画素値はクリッピングされない。ＱＰが１の場合は画素値は１〜（２５５−１）にクリッピングされ、ＱＰが２の場合は画素値は２〜（２５５−２）にクリッピングされ、ＱＰが３の場合は画素値は４〜（２５５−４）にクリッピングされる。すなわち、画素値は、ＱＰの値で量子化された場合に発生する量子化誤差の値でクリッピングされる。なお、本例では、８ビットのデータの符号化のため画素値の範囲は０〜２５５となっているが、１０ビットであれば画素値の範囲は０〜１０２３となる。なお、クリッピング処理において適用されるＱＰは、仮符号化を並列に実行するためにそれぞれ設定された値となる。
【００２８】
第一符号化器１０３は、クリッピングされた画素と隣接画素との差分を算出する（Ｓ３０３）。本実施形態では、左隣画素との差分を取る１次元ＤＰＣＭとする。
【００２９】
第一符号化器１０３は、画質および符号量を制御するために差分を量子化する（Ｓ３０４）。様々な量子化方法が知られているが、本実施形態では第一符号化器１０３は画素値を２のＱＰ乗で除算することによって量子化する。但し、本実施形態の量子化方法は、これに制限されない。例えば、ＱＰ＝０は量子化なし、ＱＰ＝１は１／３、ＱＰ＝２は１／７など自由な設計が可能である。
【００３０】
ステップＳ３０４において生成された量子化データは符号量を算出するために用いられる。更に、第一符号化器１０３は、次の画素の予測に用いる参照画素生成に利用するために、ステップＳ３０４において生成した量子化データを逆量子化する（Ｓ３０５）。第一符号化器１０３は、隣接画素と逆量子化データを加算して参照画素を生成する（Ｓ３０６）。以上によりＤＰＣＭ符号化処理が終了する（Ｓ３０７）。
【００３１】
図７に示されるように、第一符号化器１０３は、ＤＰＣＭ符号化処理の後に正負符号予測処理を行う（Ｓ２０６）。図９は、正負符号予測処理を例示する。ＤＰＣＭ符号化処理で得られた量子化データを入力として、正負符号予測処理が開始する（Ｓ４０１）。
【００３２】
第一符号化器１０３は、直前の２つの量子化データの符号が負（ただし、量子化データが０の場合も負とみなす）であって、かつ、量子化データが最小値でないかを判定する（Ｓ４０２）。ステップＳ４０２における判定結果がＹＥＳの場合には、第一符号化器１０３は量子化データの符号を反転し（Ｓ４０３）、判定結果がＮＯの場合は第一符号化器１０３はそのまま処理を継続する。以上により正負符号予測処理が終了する（Ｓ４０５）。
【００３３】
図７に示されるように、第一符号化器１０３は、正負符号予測処理の後に発生符号量を累積する処理を行う（Ｓ２０７）。発生符号量は、量子化データに対して可変長符号化テーブルを適用して算出する。本実施形態では、指数ゴロム符号のサフィックス長を制御するパラメータ（Ｋ）を複数用意し、Ｋ＝０の場合は量子化データが０であれば１ｂ、１であれば０１ｂ、−１であれば００１ｂ、２であれば０００１ｂ…とする。Ｋ＝１の場合は量子化データが０であれば１０ｂ、１であれば１１ｂ、−１であれば０１０ｂ、２であれば０１１ｂ…のようにした。すなわち、Ｋの値が小さいほど量子化データの値が０近傍に集中している場合に符号量が小さくなる。他方、Ｋの値が大きいほど量子化データの値が分散している場合に符号量が小さくなる。なお、発生符号量を算出するために適用される可変長テーブルは、仮符号化を並列に実行するためにそれぞれ設定されたテーブルとなる。
【００３４】
第一画素群の処理が終了した段階で処理フローが二つに分かれる。１つはユニットのうち残りの第二画素群を処理するフローと、もう１つはパラメータ選択処理となる。
【００３５】
第二画素群の処理（Ｓ２０８〜Ｓ２１２）は、第一画素群の処理と画素数が異なるだけで、処理内容は同一であるため説明は省略する。
【００３６】
仮符号化は、複数のＱＰおよび複数の可変長テーブルに基づいて並列実行されているが、それぞれのパラメータの組み合わせに対する第一画素群の発生符号量を受けて、パラメータ選択処理が行われる（Ｓ２１３）。
【００３７】
ステップＳ２１４において、第二画素群で発生した符号量と、パラメータ選択処理で第二画素群の符号量として見積もった値（詳細は後述）が比較される。第二画素群の発生符号量が見積もり値よりも小さければ、第二画素群の符号化方法はＤＰＣＭ符号化に決定され、第二画素群の発生符号量が見積もり値より大きければ、第二画素群の符号化方法はＤＰＣＭ符号化とは異なる符号化方法（本実施形態では、固定長符号化）に決定される（Ｓ２１４）。以上により、仮符号化処理が終了する（Ｓ２１５）。
【００３８】
図１０は、パラメータ選択処理を例示する。  
まず、各ＱＰで量子化された量子化データに対して、各可変長テーブルを適用した際に得られる符号量が最も小さくなる可変長テーブルが探索される（Ｓ５０２）。これにより、各ＱＰでの発生符号量が決定される。
【００３９】
次に、ユニット毎に設定された目標符号量を下回る発生符号量を示すＱＰが探索される（Ｓ５０３）。但し、ステップＳ５０３の時点では、第一画素群までの符号量の累積値しか算出されていないため、残りの第二画素群の符号量を見積もって加算する必要がある。ここで、第二符号化器１０４の固定長符号化と同様に固定長符号化処理すれば符号量の最大値を保証することが可能となる。したがって、発生符号量が目標符号量を下回るＱＰを探索する際は、各ＱＰで算出されている第一画素群の符号量と第二画素群に対して固定長符号化を適用した時の符号量とを加算して得られる符号量を基準とする。なお、ここで用いる固定長符号化方式は第二符号化器１０４と同一の方法でも良いし、異なっても良い。ＱＰを探索した結果、目標とする符号量を下回るＱＰが設定可能な最大値を超える場合は、可変長符号化ではない方式が採用され、パラメータは例えばＮ／Ａなどとして出力される。
【００４０】
次に、処理対象のセグメントの前のセグメント（すなわち本実施形態では処理対象のセグメントの上に位置するセグメント）のＱＰが、現在のユニット位置の右側で上昇傾向にあるかが確認される（Ｓ５０４）。上昇傾向であれば、事前にＱＰを上げておくことで符号量制御および画質の安定性が増す（Ｓ５０５）。なお、上昇傾向にあるかを判定する基準はセグメントの平均ＱＰに対して、例えば＋２か＋１かで判定すればよい。平均＋２以上のＱＰが前のセグメントの右側位置のユニットで適用されているのであればＱＰを２上げる、平均＋１以上であればＱＰを１上げるなどが考えられる。
【００４１】
最終的に決定されたＱＰでユニット終端の画素の参照画素が生成される（Ｓ５０６）。参照画素の生成方法はＤＰＣＭ符号化処理ですでに述べているので省略する。次のセグメントで利用するためのＱＰを保存（Ｓ５０７）して、パラメータ選択処理が終了する（Ｓ５０８）。
【００４２】
図６のステップＳ１０９で行われる可変長符号化処理が、図１３Ａ及び図１３Ｂに例示される。まず、可変長符号化ヘッダーとして、可変長符号化が適用されることを示す情報と、選択されたＱＰおよび可変長テーブルを示す情報とが符号化される（Ｓ８０２）。以降の処理は、仮符号化処理と同一である部分が多く、異なる部分に対してのみ説明を行う。
【００４３】
第一画素群の符号化が終了した後、第二画素群の符号化に移行するが、仮符号化時に決定された第二画素群の符号化方法が第一画素群と同様にＤＰＣＭ符号化であるかが判定される（Ｓ８１０）。第二画素群の符号化方法が、ＤＰＣＭ符号化であれば、仮符号化時と同様の符号化処理（可変長符号化処理）行われて処理は終了する（Ｓ８１８）。この際、第二画素群の符号化方法を示す情報も合わせて符号化される。この情報はヘッダー内で符号化されても良いし、第二画素群の先頭で符号化されても良い。
【００４４】
第二画素群の符号化方法がＤＰＣＭ符号化ではない場合、処理対象の画素がユニットの終端画素であるか否かが判定される（Ｓ８１４）。
【００４５】
ステップＳ８１４において判定結果がＹＥＳの場合、終端画素をＤＰＣＭ符号化して得られる参照画素が、ＰＣＭ符号化される（Ｓ８１７）。これにより、第二画素群の符号化方法が第一画素群の符号化方法と異なっていても、次のユニットの先頭画素を予測するために用いられる参照画素は仮符号化時に生成されたものと一致するため、遅延を生じることなく次のユニットの仮符号化が実施可能となり、高スループットが実現できる。
【００４６】
ステップＳ８１４において判定結果がＮＯの場合、入力画素値をＣビットに量子化する（Ｓ８１５）。本実施形態では、入力画素のビット幅（８ビット）からＱＰの値を引いた値をＣとして、入力画素値は２のＱＰ乗で除算されることで量子化される。量子化データは、Ｃビットの固定長で符号化される（Ｓ８１６）。以上により可変長符号化処理が終了する。
【００４７】
図６のステップＳ１１０で行われる固定長符号化処理が、図１２に例示される。  
まず、目標符号量から固定長Ａビットと固定長Ｂビットとが算出される（Ｓ７０２）。例えば、目標符号量が１００であるとすると、３２画素では割り切れないため、Ａビットは４とし、Ｂビットは３として、Ａビットが適用される画素数とＢビットが適用される画素数とを制御することで、発生符号量を目標符号量以下に制御することができる。次に、固定長符号化が適用されることを示す情報が符号化される（Ｓ７０３）。
【００４８】
次に、Ａビットで固定長符号化が行われる。Ａビットが適用される画素数は、４×Ｙ＋３×（３２−Ｙ）＝１００となるように決定できる。本例では、Ｙが４となる。以降の処理は、仮符号化における第二画素群に適用される固定長符号化と同様であるため、詳細な説明は省略する。但し、図１２の処理では、量子化方法に関して、例えば目標ビット幅になるようにＬＳＢ側を削除するという追加処理が想定される。
【００４９】
Ｙ画素分だけＡビットで固定長符号化し、３２−Ｙ画素分だけＢビットで固定長符号化することで固定長符号化処理が終了する（Ｓ７０８）。
【００５０】
図６のステップＳ１１１で行われるＰＣＭ符号化処理が、図１１に例示される。
【００５１】
まず、ＰＣＭ符号化が適用されることを示す情報が符号化される（６０２）。次に、入力画素値を入力ビット幅で符号化することで（Ｓ６０３）、ＰＣＭ符号化処理が終了する（Ｓ６０４）。
【００５２】
なお、本実施形態では、便宜上、１つのコンポーネントに対する処理が説明されたが、実際にはコンポーネント毎に前述の処理が行われる。即ち、ＹＵＶ４４４であれば、前述の処理が３つのコンポーネントのそれぞれに対して行われ、例えば符号量の累積値なども３つのコンポーネントのそれぞれについて管理される。尚、ＹＵＶ４２２であれば、Ｙの偶数画素位置にＵ、奇数画素位置にＶがあると仮定して、ＵおよびＶを１つのコンポーネントとして処理することが可能となる。
【００５３】
また、本実施形態ではＱＰの値をＹとＵ／Ｖとに分けて制御することも可能である。例えば、ＹはＱＰが０、１、２、３、・・・と制御できて、Ｕ／ＶはＱＰが０、２、４、６・・・と制御できるようにしてもよい。そして、ＱＰ＝１のとき、ＹはＱＰ＝１で量子化されるが、Ｕ／ＶはＱＰ＝２で量子化されるように制御することで、Ｙを重視した画質制御が可能となる。
【００５４】
なお、本実施形態の変形として、最終ユニットも通常通り符号化し、特別なモードであるＰＣＭ符号化のための符号化器を有しない図２のケースも考えられる。これにより、ハードウェア実装であれば回路規模の削減が可能となる。
【００５５】
以上の実施形態によれば、符号化処理単位の仮符号化の終端で適切な量子化パラメータが選択されているため、次の符号化処理単位の先頭画素の予測処理に遅延が生じず、高スループットな画像符号化が可能となる。
【００５６】
（第２の実施形態）  
第２の実施形態の画像復号化装置は、復号化対象となるユニットの途中から復号化方法を切り替えることで、第１の実施形態に係る画像符号化装置によって生成された符号化データを復号化できる。
【００５７】
図３は、画像復号化装置を例示する。画像復号化装置は、復号化切り替え器４０２と、第一復号化器４０３と、第二復号化器４０４と、第三復号化器４０５とを備える。復号化切り替え器４０２は符号化データ受け取って解析し、第一復号化器４０３、第二復号化器４０４、第三復号化器４０５のいずれかを選択して、符号化データをそれぞれの復号化器に出力する。第一復号化器４０３は、ＤＰＣＭ復号化処理による可変長復号化処理に基づいて符号化データを復号化し、デコード画像を生成する。第二復号化器４０４は、固定長復号化処理に基づいて符号化データを復号化し、デコード画像を生成する。第三復号化器４０５は、ＰＣＭ復号化処理に基づいて符号化データを復号化し、デコード画像を生成する。
【００５８】
図１４は、第２の実施形態に係る画像復号化装置が実行する画像復号化処理を例示する。  
復号化切り替え器４０２は、復号化しているデコード画像の位置に応じて、符号量の累積等をリセットする初期化処理を行う（Ｓ９０２）。また、入力された符号化データのヘッダー情報を解析して（Ｓ９０３）、第一復号化器４０３、第二復号化器４０４、第三復号化器４０５のいずれに符号化データを出力するかを判定する（Ｓ９０４、Ｓ９０５）。
【００５９】
第一復号化器４０３は可変長復号化処理を行う（Ｓ９０６）。第二復号化器４０３は固定長復号化処理を行う（Ｓ９０７）。第三復号化器４０３はＰＣＭ復号化処理を行う（Ｓ９０８）。
【００６０】
いずれかの復号化器が復号して得られたユニット毎の復号化画像を出力する（Ｓ９０９）。セグメント内のすべてのユニットがデコードされ（Ｓ９１０）、画像内のすべてのセグメントのデコードが終了することで、画像復号化処理が終了する（Ｓ９１１）。
【００６１】
図１４のステップＳ９０６で行われる可変長復号化処理は、図１７Ａ及び図１７Ｂに例示される。  
まず、現在復号化を行っている画像位置がセグメントの先頭ユニットであるかを判定する（Ｓ１２０２）。ステップＳ１２０２においてＹＥＳと判定された場合、入力画素のビット幅（８ビット）分のデータを読み込む（Ｓ１２０３）。読み込んだデータをデコード画素として出力し（Ｓ１２０４）、次の画素の処理に移行する。
【００６２】
次に、第一画素群の処理が行われる。尚、ヘッダーを解析した際に符号化時に選択されたＱＰ及び可変長テーブルの情報が取得されている。そして、選択された可変長テーブルを用いてデータが復号化される（Ｓ１２０５）。復号化された値は、量子化データとして設定される（Ｓ１２０６）。量子化データを入力として、正負符号反転予測処理が行われる（Ｓ１２０７）。なお、この処理は第１の実施形態と同様の処理のため、詳細な説明は省略する。
【００６３】
量子化データは選択されたＱＰで逆量子化される（Ｓ１２０８）。ここで、逆量子化の方法は、符号化時の方法と１対１対応した方が、効率が良い。故に、本実施形態では第１の実施形態で参照画素を生成した逆量子化方法と同一の方法が利用される。
【００６４】
本実施形態では、第一復号化器４０３は隣接画素からの予測に基づくＤＰＣＭ符号化方式で符号化されたデータを復号化するため、左隣の画素に対して逆量子化データを加算して、デコード画素として出力する（Ｓ１２０９）。
【００６５】
次に第二画素群の処理が行われる。第二画素群の開始点はユーザーからの指定によって決められても良いし、動的に切り替えられても良い。本実施形態では、第１の実施形態で符号化されたデータを復号化することを前提にしているため、例えばユーザーからの指定によって決められたユニット内の残り６画素である。しかしながら、例えば可変長符号化テーブルで、エスケープ符号を利用して、第二画素群の開始点が動的に切り替えられるようにしても良い。即ち、第一画素群の処理ではエスケープ符号が発生しないが、第二画素群に切り替わる場合にエスケープ符号が発生するようにしてもよい。
【００６６】
第二画素群の符号化データが可変長符号化を適用されているかを判定する（Ｓ１２１０）。判定方法としては、例えば１ビットの切り替え情報を符号化時に埋め込んでおくことで、それを解析して判定できる。
【００６７】
第二画素群が可変長符号化を適用されている場合は、第一画素群と同様の処理となるため、詳細な説明は省略する。第二画素群が可変長符号化を適用されていない場合には、これから復号化処理する画素がユニットの終端か判定される（Ｓ１２１６）。
【００６８】
ステップＳ１２１６においてＹＥＳとして判定された場合は、ＰＣＭで符号化されている符号化データを復号化するために、入力画素のビット幅（８ビット）が読み込まれる（Ｓ１２１７）。読み込んだデータがデコード画素として出力される（Ｓ１２１８）。
【００６９】
ステップＳ１２１６においてＮＯとして判定された場合は、固定長で符号化されている符号化データを復号化するために、Ｃビット幅分が読み込まれる（Ｓ１２１９）。Ｃビットの幅は第１の実施形態と同様に選択されたＱＰと入力画素のビット幅（８ビット）とから算出できる。
【００７０】
読み込んだデータは、画素ビット幅に合わせて逆量子化される（Ｓ１２２０）。この逆量子化方法は、第１の実施形態で行われた量子化方法に合わせることで画質が向上する。尚、ＬＳＢ側が削られている場合であれば、ＬＳＢ側に０を埋めることで逆量子化可能となる。逆量子化したデータがデコード画素として出力される（Ｓ１２２１）。以上により、可変長復号化処理が終了する（Ｓ１２２３）。
【００７１】
図１４のステップＳ９０７で行われる固定長復号化処理は、図１６に例示される。  
まず、目標符号量から固定長Ａビットと固定長Ｂビットとが算出する（Ｓ１１０２）。この処理は、第１の実施形態の（Ｓ７０２）と同様であるため、詳細な説明は省略し、第１の実施形態の説明と同様に、Ａは４ビット、Ｂは３ビットとし、Ｙは４とした。
【００７２】
まず、Ｙ画素ループにおいて、４ビットのデータが読み込まれる（Ｓ１１０３）。
【００７３】
読み込んだデータを８ビットに逆量子化するためにＬＳＢ側に例えば０が埋められる（Ｓ１１０４）。あるいは、４ビットで読み込んだデータの下位１ビットに基づいて、ＬＳＢ側に埋める０のうち、最上位（今回は４ビット目）を０ではなく１として制御することも可能である。逆量子化データされたデータがデコード画素として出力される（Ｓ１１０５）。
【００７４】
以降、３２−Ｙ画素のループに関してもビット幅が異なるだけ処理内容は同一のため、詳細な説明は省略する。以上により、固定長復号化処理が終了する（Ｓ１１１０）。
【００７５】
図１４のステップＳ９０８で行われるＰＣＭ復号化処理は、図１５に例示される。  
入力画素のビット幅（８ビット）分のデータが読み込まれる（Ｓ１００３）。読み込んだデータがデコード画素として出力され（Ｓ１００４）、ユニット内のすべての画素のデコードが終了するとＰＣＭ復号化処理が終了する。なお、ＰＣＭ復号化はユニットサイズが３２画素でない場合があるが、例えばユーザーから指定される画像幅、画像復号化の先頭に画像サイズなどのヘッダー情報があれば、終端画素数が取得可能である。以上により、ＰＣＭ復号化処理が終了する（Ｓ１００５）。
【００７６】
なお、本実施形態の変形として図４に示すように、ＰＣＭ復号化処理のための復号化器を有しないことにより回路規模等を削減するケース、および、第一復号化器５０３で復号化した符号量を取得する第一符号量取得器５０５を備え、第１の実施形態で述べたユニットの目標符号量算出に則った値と第一符号量との差分から第二画素群に符号化方法を符号化情報なしに切り替えるケースも考えられる。
【００７７】
なお、上述の画像符号化装置及び画像復号化装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、入力画像選択器、第一符号化器、第二符号化器、第三符号化器、第一符号量取得器、符号化パラメータ選択器、符号化出力選択器、第二符号量取得器、復号化切り替え器、第一復号化器、第二復号化器、第三復号化器は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、画像符号化装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００７８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７９】
１０１，２０１，４０６，５０６・・・画像データ
１０２，２０２・・・入力画像選択器
１０３，２０３・・・第一符号化器
１０４，２０４・・・第二符号化器
１０５・・・第三符号化器
１０６，２０５，５０５・・・第一符号量取得器
１０７，２０６・・・符号化パラメータ選択器
１０８，２０７・・・符号化出力選択器
１０９，２０８・・・第二符号量取得器
１１０，２０９，４０１，５０１・・・符号化データ
４０２，５０２・・・復号化切り替え器
４０３，５０３・・・第一復号化器
４０４，５０４・・・第二復号化器
４０５・・・第三復号化器
【図１】
2014179957.tif 000003
【図２】
2014179957.tif 000004
【図３】
2014179957.tif 000005
【図４】
2014179957.tif 000006
【図５】
2014179957.tif 000007
【図６】
2014179957.tif 000008
【図７】
2014179957.tif 000009
【図８】
2014179957.tif 000010
【図９】
2014179957.tif 000011
【図１０】
2014179957.tif 000012
【図１１】
2014179957.tif 000013
【図１２】
2014179957.tif 000014
【図１３Ａ】
2014179957.tif 000015
【図１３Ｂ】
2014179957.tif 000016
【図１４】
2014179957.tif 000017
【図１５】
2014179957.tif 000018
【図１６】
2014179957.tif 000019
【図１７Ａ】
2014179957.tif 000020
【図１７Ｂ】
2014179957.tif 000021