説明

画像処理装置

【課題】待機時間を削減することによって復号処理の高速化を図ることが可能な、画像処理装置を得る。
【解決手段】復号部1は、ND復号部DC0〜DC15を有し、NORMAL DATA群PNDを復号する第1の処理部と、FLEX BIT群PFBを復号する第2の処理部と、セレクタ4とを備える。第2の処理部によるFLEX BIT群PFB0に関する復号処理に並行して、ND復号部DC0〜DC15は、データストリームDSにおける復号処理の開始位置を異ならせて、NORMAL DATA群PND1に関する復号処理を実行する。セレクタ4は、第2の処理部によるFLEX BIT群PFB0に関する復号処理の結果に基づいて、ND復号部DC0〜DC15のうち、FLEX BIT群PFB0の終端位置に連続する位置が復号処理の開始位置に設定されている一つのND復号部DCを選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関し、特に、HD Photoにおけるデコーダに関する。
【背景技術】
【0002】
近年、JPEGよりも高画質で、JPEG2000よりも回路構成及び演算処理が簡素化された静止画ファイルフォーマットとして、マイクロソフト社よりHD Photo(又はJPEG XR)が提案されている。
【0003】
HD Photoにおけるエンコーダは、色変換部、プレフィルタ、周波数変換部、量子化部、予測部、及び符号化部を備えて構成されている。
【0004】
周波数変換部は、入力された画素信号に対して所定の周波数変換処理(PCT)を実行することにより、ハイパス成分、ローパス成分、及び直流成分の周波数データ(係数データ)を出力する。縦16画素×横16画素の1個のマクロブロック内には、輝度Y、色差U、及び色差Vの各々毎に、ハイパス成分の240個の周波数データと、ローパス成分の15個の周波数データと、直流成分の1個の周波数データとが含まれる。
【0005】
量子化部は、周波数変換部から入力された各成分の周波数データのうち、量子化係数で規定される桁数に相当する下位データをそれぞれ削除することにより、量子化後の周波数データ(ハイパス成分、ローパス成分、及び直流成分)を出力する。
【0006】
符号化部は、予測部から入力された各成分の周波数データを、上位側の桁範囲内の上位データ(NORMAL DATA)と、下位側の桁範囲内の下位データ(FLEX BIT)とに分割する。そして、符号化部は、各成分のNORMAL DATAに対して、エントロピー符号化処理をそれぞれ実行して出力する。また、符号化部は、各成分のFLEX BITを、エントロピー符号化することなく出力する。
【0007】
また、HD Photoにおけるデコーダは、色逆変換部、ポストフィルタ、周波数逆変換部、逆量子化部、逆予測部、及び復号部を備えて構成されている。デコーダは、エンコーダにおける処理と逆順序の処理を実行することによって、符号化された周波数データから画素信号を復元する。
【0008】
なお、HD Photoの詳細については、例えば下記非特許文献1に開示されており、JPEG XRの詳細については、例えば下記非特許文献2又は下記非特許文献3に開示されている。
【0009】
【非特許文献1】"HD Photo -Photographic Still Image File Format", [online], 2006年11月7日, Microsoft Corporation, [2007年10月10日検索], インターネット<URL: http://www.microsoft.com/whdc/xps/hdphotodpk.mspx>
【非特許文献2】"Coding of Still Pictures -JBIG JPEG", [online], 19 December 2007, ISO/IEC JTC 1/SC 29/WG1 N 4392, [2008年3月4日検索], インターネット<URL: http://www.itscj.ipsj.or.jp/sc29/open/29view/29n9026t.doc>
【非特許文献3】"Coding of Still Pictures -JBIG JPEG", [online], 14 September 2008, ISO/IEC JTC 1/SC 29/WG1 N 4739, [2008年9月17日検索], インターネット<URL: http://www.itscj.ipsj.or.jp/sc29/open/29view/29n9749t.doc>
【発明の開示】
【発明が解決しようとする課題】
【0010】
図10は、HD Photoにおける一つの周波数データFDを示す図である。周波数データFDは、エンコーダの符号化部によって、上位側の桁範囲R1内のNORMAL DATA(以下「ND」と略称する場合もある)と、下位側の桁範囲R2内のFLEX BIT(以下「FB」と略称する場合もある)とに分割される。桁範囲R1と桁範囲R2との境界(つまりFLEX BITのデータ長)は、所定のパラメータ(MODEL BIT)によって任意に設定可能である。
【0011】
図11は、HD Photoにおけるデコーダのうち、復号部における処理の流れを簡略化して示すフローチャートである。まずステップSP1において、直流成分(DC成分)の周波数データに関する復号処理が実行される。但し、処理対象であるマクロブロック内の全ての直流成分のNORMAL DATAがゼロである場合には、そのマクロブロックに関してはステップSP1の処理は実行されずにパスされる。
【0012】
次にステップSP2において、ローパス成分(LP成分)の周波数データに関する復号処理が実行される。但し、上記と同様に、処理対象であるマクロブロック内の全てのローパス成分のNORMAL DATAがゼロである場合には、そのマクロブロックに関してはステップSP2の処理は実行されずにパスされる。
【0013】
次にステップSP3において、ハイパス成分(HP成分)の周波数データに関する復号処理が実行される。但し、上記と同様に、処理対象であるマクロブロック内の全てのハイパス成分のNORMAL DATAがゼロである場合には、そのマクロブロックに関してはステップSP3の処理は実行されずにパスされる。
【0014】
次にステップSP4において、全てのマクロブロック(MB)に関する復号処理が完了したか否かが判定される。未処理のマクロブロックが残っている場合(つまりステップSP4における判定の結果が「NO」である場合)は、ステップSP5において処理対象が次のマクロブロックに更新された後、ステップSP1以降の処理が再び実行される。一方、全てのマクロブロックに関する処理が完了した場合(つまりステップSP4における判定の結果が「YES」である場合)は、処理が終了される。
【0015】
図12は、図11に示したハイパス成分の復号処理(ステップSP3)を具体的に示すフローチャートである。まずステップSP31において、処理対象であるブロック内に、ゼロではないNORMAL DATAが少なくとも1個含まれているか否かが判定される。
【0016】
ゼロではないNORMAL DATAが含まれている場合(つまりステップSP31における判定の結果が「YES」である場合)は、次にステップSP32において、そのブロック内に含まれている15個のNORMAL DATAに関して、復号処理が実行される。一方、そのブロック内に含まれている全てのNORMAL DATAがゼロである場合(つまりステップSP31における判定の結果が「NO」である場合)は、そのブロックに関してはステップSP32の処理は実行されずにパスされる。
【0017】
次にステップSP33において、そのブロック内に含まれている15個のFLEX BITに関して、復号処理が実行される。
【0018】
次にステップSP34において、全てのブロックに関する復号処理が完了したか否かが判定される。未処理のブロックが残っている場合(つまりステップSP34における判定の結果が「NO」である場合)は、ステップSP35において処理対象が次のブロックに更新された後、ステップSP31以降の処理が再び実行される。
【0019】
一方、全てのブロックに関する処理が完了した場合(つまりステップSP34における判定の結果が「YES」である場合)は、次にステップSP36において、Y成分、U成分、及びV成分の全てに関する処理が完了したか否かが判定される。未処理の成分が残っている場合(つまりステップSP36における判定の結果が「NO」である場合)は、ステップSP37において処理対象が次の成分に更新された後、ステップSP31以降の処理が再び実行される。一方、全ての成分に関する処理が完了した場合(つまりステップSP36における判定の結果が「YES」である場合)は、処理が終了される。
【0020】
図13は、HD Photoにおけるデコーダのうち、復号部101の構成を示すブロック図である。復号部101は、バレルシフタ102と、NORMAL DATAを復号するND復号部103と、FLEX BITを復号するFB復号部104と、処理部105とを備えて構成されている。
【0021】
上記の通り、1個のマクロブロック内には、ハイパス成分の240個の周波数データと、ローパス成分の15個の周波数データと、直流成分の1個の周波数データとが含まれている。復号部101は、ハイパス成分及びローパス成分に関しては、15個の周波数データを含むブロックを処理単位として、復号処理を実行する。従って、復号部101は、1個のマクロブロックに関して、ハイパス成分の16個のブロックと、ローパス成分の1個のブロックとを処理する。
【0022】
以下、ハイパス成分の周波数データに対する復号処理について説明する。図13を参照して、バレルシフタ102には、符号化された周波数データに関するデータストリームDSが入力される。
【0023】
図14は、データストリームDSの一部を示す図である。データストリームDSにおいては、第0ブロックに関する15個のNORMAL DATAを含むNORMAL DATA群PND0、第0ブロックに関する15個のFLEX BITを含むFLEX BIT群PFB0、第1ブロックに関する15個のNORMAL DATAを含むNORMAL DATA群PND1、第1ブロックに関する15個のFLEX BITを含むFLEX BIT群PFB1、・・・がこの順に並んでいる。
【0024】
図13,14を参照して、まず、バレルシフタ102は、時刻T1において、NORMAL DATA群PND0(図13におけるデータD101)を、ND復号部103に入力する。ND復号部103は、NORMAL DATA群PND0をエントロピー復号することにより、NORMAL DATA群PND0に関する復号データD102を出力する。NORMAL DATA群PND0に関する復号データD102は、処理部105に入力される。また、ND復号部103は、NORMAL DATA群PND0に関する復号処理が完了した後、データストリームDSにおけるNORMAL DATA群PND0の終端位置に関する情報を、データD103としてバレルシフタ102に通知する。
【0025】
次に、バレルシフタ102は、時刻T2において、FLEX BIT群PFB0(図13におけるデータD104)を、FB復号部104に入力する。ここで、バレルシフタ102は、ND復号部103から入力されたデータD103に基づき、データストリームDSにおけるNORMAL DATA群PND0の終端位置に連続する位置を、FLEX BIT群PFB0の先頭位置として設定する。FB復号部104は、FLEX BIT群PFB0を復号することにより、FLEX BIT群PFB0に関する復号データD105を出力する。FLEX BIT群PFB0に関する復号データD105は、処理部105に入力される。また、FB復号部104は、FLEX BIT群PFB0に関する復号処理が完了した後、データストリームDSにおけるFLEX BIT群PFB0の終端位置に関する情報を、データD106としてバレルシフタ102に通知する。
【0026】
次に、バレルシフタ102は、時刻T3において、NORMAL DATA群PND1(図13におけるデータD101)を、ND復号部103に入力する。ここで、バレルシフタ102は、FB復号部104から入力されたデータD106に基づき、データストリームDSにおけるFLEX BIT群PFB0の終端位置に連続する位置を、NORMAL DATA群PND1の先頭位置として設定する。ND復号部103は、NORMAL DATA群PND1をエントロピー復号することにより、NORMAL DATA群PND1に関する復号データD102を出力する。NORMAL DATA群PND1に関する復号データD102は、処理部105に入力される。また、ND復号部103は、NORMAL DATA群PND1に関する復号処理が完了した後、データストリームDSにおけるNORMAL DATA群PND1の終端位置に関する情報を、データD103としてバレルシフタ102に通知する。
【0027】
以降は同様にして、FLEX BIT群PFB1、NORMAL DATA群PND2、FLEX BIT群PFB2、・・・の復号処理が順に実行される。処理部105は、ND復号部103から入力された複数の復号データD102、及びFB復号部104から入力された複数の復号データD105に対して、データの並び替え及び結合等の処理を実行し、処理後の復号データを次段の処理回路(逆予測部)に送出する。
【0028】
図13,14に示した例によると、NORMAL DATA群に関する復号処理と、FLEX BIT群に関する復号処理とがシリアルに実行されている。従って、あるNORMAL DATA群に関する復号処理が完了しても、そのNORMAL DATA群に対応するFLEX BIT群に関する復号処理が完了するまで、次のNORMAL DATA群に関する復号処理の開始を待機する必要がある。HD Photoにおけるデコーダでは、この待機時間が復号処理におけるボトルネックとなっている。
【0029】
本発明はかかる事情に鑑みて成されたものであり、待機時間を削減することによって復号処理の高速化を図ることが可能な、画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【0030】
本発明の第1の態様に係る画像処理装置は、複数のブロック内に含まれる複数のデータを復号する画像処理装置であって、各前記ブロック内には、複数のデータが含まれ、各前記データは、上位側の桁範囲内の上位データと、下位側の桁範囲内の下位データとを有し、前記画像処理装置には、第1ブロックの上位データ群と、第1ブロックの下位データ群と、第2ブロックの上位データ群とがこの順に並ぶデータストリームが入力され、前記画像処理装置は、複数の復号部を有し、上位データ群を復号する第1の処理部と、下位データ群を復号する第2の処理部と、前記複数の復号部のうちの一つを選択する選択部とを備え、前記第2の処理部による前記第1ブロックの下位データ群に関する復号処理に並行して、前記複数の復号部は、前記データストリームにおける復号処理の開始位置を異ならせて、前記第2ブロックの上位データ群に関する復号処理を実行し、前記選択部は、前記第2の処理部による前記第1ブロックの下位データ群に関する復号処理の結果に基づいて、前記複数の復号部のうち、前記第1ブロックの下位データ群の終端位置に連続する位置が復号処理の開始位置に設定されている一つの復号部を選択することを特徴とするものである。
【0031】
第1の態様に係る画像処理装置によれば、第1の処理部は、複数の復号部を有する。そして、複数の復号部は、第2の処理部による第1ブロックの下位データ群に関する復号処理に並行して、第2ブロックの上位データ群に関する復号処理を実行する。従って、第2ブロックの上位データ群に関する復号処理の開始を、第1ブロックの下位データ群に関する復号処理が完了するまで待機する必要がない。その結果、待機時間が削減されることによって、復号処理の高速化を図ることが可能となる。
【0032】
しかも、複数の復号部は、データストリームにおける復号処理の開始位置を異ならせて、第2ブロックの上位データ群に関する復号処理を実行する。そして、選択部は、複数の復号部のうち、第1ブロックの下位データ群の終端位置に連続する位置が復号処理の開始位置に設定されている一つの復号部を選択する。従って、第1ブロックの下位データ群が可変長であることに起因して、データストリームにおける第2ブロックの上位データ群の開始位置が変化する場合にも、適切に対応することが可能となる。つまり、予め開始位置を異ならせた複数のパターンで第2ブロックの上位データ群に関する復号処理を実行しておくことにより、第1ブロックの下位データ群に関する復号処理が完了してデータ長が確定した時点で、複数のパターンの中から適切な一つを選択することができる。その結果、第2ブロックの上位データ群に関して、正確な復号データを得ることが可能となる。
【0033】
本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、各前記ブロック内には、N個(Nは2以上の自然数)の前記データが含まれ、前記第1の処理部は、N+1個の前記復号部を有することを特徴とするものである。
【0034】
第1ブロックの下位データ群のデータ長は、N個の下位データのうち1ビットの符号ビットが付加されるデータの個数に応じて、N+1通りのパターンとなる。従って、データストリームにおける第2ブロックの上位データ群の開始位置も、最大でN+1通りのパターンが想定される。第2の態様に係る画像処理装置によれば、第1の処理部はN+1個の復号部を有しているため、N+1通りの全てのパターンに関して、第2ブロックの上位データ群の復号処理を実行することができる。従って、N+1個の復号部によって得られるN+1個の復号データの中には、復号処理の開始位置が適切に設定された適切な復号データが必ず存在する。仮にそのような適切な復号データが存在しない場合には、第1ブロックの下位データ群に関する復号処理が完了した後に、第2ブロックの上位データ群に関する復号処理を再実行する必要があるが、第2の態様に係る画像処理装置によれば、適切な復号データが必ず存在するため、復号処理の再実行が必要となる可能性はなく、その結果、復号処理の高速化を図ることが可能となる。
【0035】
本発明の第3の態様に係る画像処理装置は、第2の態様に係る画像処理装置において特に、前記第1ブロックの上位データ群に関する復号処理の結果に基づいて、前記データストリームにおける前記第2ブロックの上位データの開始位置に関する候補位置を求める、第3の処理部をさらに備え、前記N+1個の前記復号部のうち、前記候補位置の個数に相当する個数の復号部のみが、前記第2ブロックの上位データ群に関する復号処理を実行することを特徴とするものである。
【0036】
第3の態様に係る画像処理装置によれば、候補位置が絞られることによって必ずしもN+1個の復号部の全てを駆動する必要がない場合には、余剰の駆動部を駆動させないことにより、消費電力の低減を図ることが可能となる。
【0037】
本発明の第4の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、各前記ブロック内には、N個(Nは2以上の自然数)の前記データが含まれ、前記第1の処理部は、M個(Mは2以上でN以下の自然数)の前記復号部を有し、前記M個の前記復号部の中に、前記終端位置に連続する位置が復号処理の開始位置に設定されていた復号部が存在しない場合には、前記M個の前記復号部のうちの任意の一つの復号部によって、前記終端位置に連続する位置を開始位置として、前記第2ブロックの上位データ群に関する復号処理が実行されることを特徴とするものである。
【0038】
第4の態様に係る画像処理装置によれば、第1ブロックの下位データ群のデータ長は、N個の下位データのうち1ビットの符号ビットが付加されるデータの個数に応じて、N+1通りのパターンとなる。従って、データストリームにおける第2ブロックの上位データ群の開始位置も、最大でN+1通りのパターンが想定される。第4の態様に係る画像処理装置によれば、第1の処理部は、N+1個の復号部を有するのではなく、それよりも少ないM個の復号部を有する。従って、N+1個の復号部を設ける場合と比較して、回路規模を削減することが可能となる。第4の態様に係る画像処理装置においては、M個の復号部によって得られるM個の復号データの中に、復号処理の開始位置が適切に設定された復号データが存在しない場合もあり得る。しかし、この場合には、第1ブロックの下位データ群に関する復号処理が完了して終端位置が確定した後に、その終端位置に連続する位置を開始位置として、第2ブロックの上位データ群に関する復号処理を再実行することにより、正確な復号データを得ることが可能となる。
【0039】
本発明の第5の態様に係る画像処理装置は、第4の態様に係る画像処理装置において特に、前記第1ブロックの上位データ群に関する復号処理の結果に基づいて、前記データストリームにおける前記第2ブロックの上位データの開始位置に関する候補位置を求める、第3の処理部をさらに備え、前記候補位置の個数がM個未満である場合には、前記M個の前記復号部のうち、前記候補位置の個数に相当する個数の復号部のみが、前記第2ブロックの上位データ群に関する復号処理を実行することを特徴とするものである。
【0040】
第5の態様に係る画像処理装置によれば、候補位置が絞られることによって必ずしもM個の復号部の全てを駆動する必要がない場合には、余剰の駆動部を駆動させないことにより、消費電力の低減を図ることが可能となる。
【0041】
本発明の第6の態様に係る画像処理装置は、第1〜第5のいずれか一つの態様に係る画像処理装置において特に、前記データは、HD Photoにおけるハイパス成分又はローパス成分の周波数データであることを特徴とするものである。
【0042】
第6の態様に係る画像処理装置によれば、HD Photoのハイパス成分に関しては、1個のマクロブロック内には、YUVの各成分毎に複数個(16個)のブロックが含まれ、1個のブロック内に複数個(15個)の周波数データが含まれ、各周波数データは、上位側の桁範囲内のNORMAL DATAと、下位側の桁範囲内のFLEX BITとを有する。また、HD Photoのローパス成分に関しては、1個のマクロブロック内には、YUVの各成分毎に1個のブロックが含まれ、1個のブロック内に複数個(15個)の周波数データが含まれ、各周波数データは、上位側の桁範囲内のNORMAL DATAと、下位側の桁範囲内のFLEX BITとを有する。従って、本発明の適用対象としてHD Photoにおけるデコーダは好適であり、本発明をHD Photoにおけるデコーダに適用することによって、復号処理の高速化を図ることが可能となる。
【発明の効果】
【0043】
本発明によれば、待機時間を削減することによって復号処理の高速化を図ることが可能となる。
【発明を実施するための最良の形態】
【0044】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。なお、以下の説明では、本発明をHD Photoにおけるデコーダに適用する例(特にハイパス成分の周波数データに関する復号処理)について述べるが、本発明の適用対象はHD Photoにおけるデコーダに限定されるものではなく、本発明は、複数のブロック内に含まれる複数のデータを復号する任意のデコーダに適用することが可能である。
【0045】
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係る画像処理装置の構成を示すブロック図である。特に、図1には、HD Photoにおけるデコーダのうち、復号部1の構成を示している。復号部1は、バッファ2と、NORMAL DATAを復号する第1の処理部と、FLEX BITを復号する第2の処理部と、シフタ制御部3と、処理部5とを備えて構成されている。第1の処理部は、16個のバレルシフタBS0〜BS15と、16個のND復号部DC0〜DC15と、セレクタ4とを有している。ND復号部DC0〜DC15の各入力は、バレルシフタBS0〜BS15の各出力にそれぞれ接続されている。セレクタ4の入力は、ND復号部DC0〜DC15の各出力に接続されている。セレクタ4の出力は、処理部5の入力に接続されている。第2の処理部は、バレルシフタBS16とFB復号部DC16とを有している。FB復号部DC16の入力は、バレルシフタBS16の出力に接続されている。FB復号部DC16の出力は、処理部5の入力に接続されている。バレルシフタBS0〜BS16の各入力は、バッファ2の出力に接続されている。また、シフタ制御部3は、ND復号部DC0〜DC15、FB復号部DC16、バレルシフタBS0〜BS16、及びセレクタ4に接続されている。
【0046】
バッファ2には、符号化された周波数データに関するデータストリームDSが入力され、バッファ2は、入力されたデータストリームDSを一時的に保存する。
【0047】
図2は、データストリームDSの一部を示す図である。データストリームDSにおいては、第0ブロックに関するNORMAL DATA群PND0、第0ブロックに関するFLEX BIT群PFB0、第1ブロックに関するNORMAL DATA群PND1、第1ブロックに関するFLEX BIT群PFB1、・・・がこの順に並んでいる。
【0048】
図3は、一つのNORMAL DATA群PND及び一つのFLEX BIT群PFBを並べて示す図である。NORMAL DATA群PNDは15個のNORMAL DATA(ND0〜ND14)を含み、FLEX BIT群PFBは15個のFLEX BIT(FB0〜FB14)を含む。例えばNORMAL DATA(ND0)は周波数データFD0の上位データに相当し、FLEX BIT(FB0)は周波数データFD0の下位データに相当する。
【0049】
各周波数データFD0〜FD14において、NORMAL DATAの値がゼロでない場合(図3の例ではFD0,FD3,FD14)は、そのNORMAL DATAに、1ビットの符号ビット(SB0,SB3,SB14)が付加されている。また、NORMAL DATAの値がゼロであり、FLEX BITの値がゼロでない場合(図3の例ではFD1)は、そのFLEX BITに、1ビットの符号ビット(SB1)が付加されている。また、NORMAL DATAの値及びFLEX BITの値がいずれもゼロである場合(図3の例ではFD2)は、符号ビットは付加されていない。
【0050】
このように、NORMAL DATAの値及びFLEX BITの値に応じて、FLEX BITに符号ビットが付加される場合とそうでない場合とが生じる。従って、符号ビットが付加されるFLEX BITの個数に応じて、FLEX BIT群PFBのデータ長は可変である。15個全てのFLEX BITに符号ビットが付加されていない場合に、FLEX BIT群PFBのデータ長は最も短くなり、そのデータ長は、“MODEL BIT*15+0”ビットとなる。15個全てのFLEX BITに符号ビットが付加されている場合に、FLEX BIT群PFBのデータ長は最も長くなり、そのデータ長は、“MODEL BIT*15+15”ビットとなる。よって、FLEX BIT群PFBのデータ長は、15個のFLEX BITのうち1ビットの符号ビットが付加されているFLEX BITの個数に応じて、16(=15+1)通りのパターンとなる。
【0051】
図4は、復号部1による複数のNORMAL DATA群及び複数のFLEX BIT群の処理順序を示すタイミングチャートである。また、図5は、復号部1によるNORMAL DATA群PND0,PND1及びFLEX BIT群PFB0の処理を詳細に示すタイミングチャートである。以下、図1,4,5を参照して、復号部1の動作について説明する。
【0052】
まず、バレルシフタBS0は、シフタ制御部3から入力されたデータA0に基づいて、時刻T1において、NORMAL DATA群PND0(図1におけるデータB0)を、ND復号部DC0に入力する。ND復号部DC0は、NORMAL DATA群PND0をエントロピー復号することにより、NORMAL DATA群PND0に関する復号データD0を出力する。NORMAL DATA群PND0に関する復号データD0は、セレクタ4を介して処理部5に入力される。また、ND復号部DC0は、NORMAL DATA群PND0に関する復号処理が完了した後、データストリームDSにおけるNORMAL DATA群PND0の終端位置に関する情報を、データC0としてシフタ制御部3に通知する。
【0053】
次に、バレルシフタBS16は、時刻T2において、FLEX BIT群PFB0(図1におけるデータB16)を、FB復号部DC16に入力する。ここで、シフタ制御部3は、ND復号部DC0から入力されたデータC0に基づき、データストリームDSにおけるNORMAL DATA群PND0の終端位置に連続する位置を、FLEX BIT群PFB0の先頭位置として設定する。そして、シフタ制御部3は、FLEX BIT群PFB0の先頭位置に関する情報を、データA16としてバレルシフタBS16に通知する。FB復号部DC16は、FLEX BIT群PFB0を復号することにより、FLEX BIT群PFB0に関する復号データD16を出力する。FLEX BIT群PFB0に関する復号データD16は、処理部5に入力される。また、FB復号部DC16は、FLEX BIT群PFB0に関する復号処理が完了した後、データストリームDSにおけるFLEX BIT群PFB0の終端位置に関する情報を、データC16としてシフタ制御部3に通知する。
【0054】
また、時刻T2において、シフタ制御部3は、データストリームDSにおけるFLEX BIT群PFB0の先頭位置から、第1の候補FLEX BIT群PFB0(図5参照)のデータ長である“MODEL BIT*15+0”ビット後方の位置を、NORMAL DATA群PND1の第1の先頭候補位置として設定する。MODEL BITに関する情報は、予めシフタ制御部3に教示されている。そして、シフタ制御部3は、NORMAL DATA群PND1の第1の先頭候補位置に関する情報を、データA0としてバレルシフタBS0に通知する。同様に、シフタ制御部3は、FLEX BIT群PFB0の先頭位置から、第2の候補FLEX BIT群PFB0のデータ長である“MODEL BIT*15+1”ビット後方の位置を、NORMAL DATA群PND1の第2の先頭候補位置として設定し、その情報をデータA1としてバレルシフタBS1に通知する。同様に、シフタ制御部3は、FLEX BIT群PFB0の先頭位置から、第3の候補FLEX BIT群PFB0のデータ長である“MODEL BIT*15+2”ビット後方の位置を、NORMAL DATA群PND1の第3の先頭候補位置として設定し、その情報をデータA2としてバレルシフタBS2に通知する。バレルシフタBS3〜BS15についても同様に、1ビットずつずれた第4〜第16の先頭候補位置が、データA3〜A15としてシフタ制御部3から通知される。
【0055】
時刻T2において、バレルシフタBS0〜BS15は、シフタ制御部3から入力されたデータA0〜A15に基づいて、候補NORMAL DATA群PND1〜PND115(図1におけるデータB0〜B15)を、ND復号部DC0〜DC15にそれぞれ入力する。ND復号部DC0〜DC15は、時刻T2において、候補NORMAL DATA群PND1〜PND115に関するエントロピー復号処理をそれぞれ開始する。
【0056】
時刻T3において、FB復号部DC16によるFLEX BIT群PFB0に関する復号処理が完了すると、FLEX BIT群PFB0の終端位置に関する情報(データC16)が、FB復号部DC16からシフタ制御部3に通知される。これにより、シフタ制御部3は、16個の候補NORMAL DATA群PND1〜PND115の中から、正しい1個を選択することができる。図5を参照して、例えば、第3の候補FLEX BIT群PFB0の終端位置BXを示すデータC16が通知された場合には、シフタ制御部3は、終端位置BXに連続する位置BYが先頭位置として設定されている候補NORMAL DATA群PND1を、正しいNORMAL DATA群PND1として選択する。この選択に関する情報はシフタ制御部3からセレクタ4に通知され、セレクタ4は、候補NORMAL DATA群PND1の復号処理を実行しているND復号部DC2を選択する。ND復号部DC2から出力されたNORMAL DATA群PND1に関する復号データD2は、セレクタ4を介して処理部5に入力される。また、ND復号部DC2は、時刻T4においてNORMAL DATA群PND1に関する復号処理が完了すると、データストリームDSにおけるNORMAL DATA群PND1の終端位置に関する情報を、データC2としてシフタ制御部3に通知する。
【0057】
以降は、全てのブロックに関する処理が完了するまで、上記と同様の処理が繰り返し実行される。処理部5は、ND復号部DC0〜DC15から入力された複数の復号データD0〜D15、及びFB復号部DC16から入力された複数の復号データD16に対して、データの並び替え及び結合等の処理を実行し、処理後の復号データを次段の処理回路(逆予測部)に送出する。
【0058】
第1の実施の形態に係る復号部1によれば、第1の処理部は、複数のND復号部DC0〜DC15を有する。そして、複数のND復号部DC0〜DC15は、FB復号部DC16によるFLEX BIT群PFB0に関する復号処理に並行して、NORMAL DATA群PND1に関する復号処理を実行する。従って、NORMAL DATA群PND1に関する復号処理の開始を、FLEX BIT群PFB0に関する復号処理が完了するまで待機する必要がない。その結果、待機時間が削減されることによって、復号処理の高速化を図ることが可能となる。
【0059】
しかも、複数のND復号部DC0〜DC15は、データストリームDSにおける復号処理の開始位置を異ならせて、NORMAL DATA群PND1に関する復号処理を実行する。そして、セレクタ4は、複数のND復号部DC0〜DC15のうち、FLEX BIT群PFB0の終端位置BXに連続する位置BYが復号処理の開始位置に設定されている一つのND復号部(上記の例ではND復号部DC2)を選択する。従って、FLEX BIT群PFB0が可変長であることに起因して、データストリームDSにおけるNORMAL DATA群PND1の先頭位置が変化する場合にも、適切に対応することが可能となる。つまり、予め開始位置を異ならせた複数のパターン(候補NORMAL DATA群PND1〜PND115)でNORMAL DATA群PND1に関する復号処理を実行しておくことにより、FLEX BIT群PFB0に関する復号処理が完了してデータ長が確定した時点で、複数のパターンの中から適切な一つを選択することができる。その結果、NORMAL DATA群PND1に関して、正確な復号データを得ることが可能となる。
【0060】
また、FLEX BIT群PFB0のデータ長は、15個のFLEX BITのうち1ビットの符号ビットが付加されるデータの個数に応じて、16通りのパターンとなる。従って、データストリームDSにおけるNORMAL DATA群PND1の開始位置も、最大で16通りのパターンが想定される。第1の実施の形態に係る復号部1によれば、第1の処理部は16個のND復号部DC0〜DC15を有しているため、16通りの全てのパターンに関して、NORMAL DATA群PND1の復号処理を実行することができる。従って、16個のND復号部DC0〜DC15によって得られる16個の復号データD0〜D15の中には、復号処理の開始位置が適切に設定された適切な復号データ(上記の例では復号データD2)が必ず存在する。仮にそのような適切な復号データが存在しない場合には、FLEX BIT群PFB0に関する復号処理が完了した後に、NORMAL DATA群PND1に関する復号処理を再実行する必要があるが、第1の実施の形態に係る復号部1によれば、適切な復号データが必ず存在するため、復号処理の再実行が必要となる可能性はなく、その結果、復号処理の高速化を図ることが可能となる。
【0061】
また、第1の実施の形態に係る復号部1によれば、HD Photoのハイパス成分に関しては、1個のマクロブロック内に複数個(16個)のブロックが含まれ、1個のブロック内に複数個(15個)の周波数データが含まれ、各周波数データは、上位側の桁範囲内のNORMAL DATAと、下位側の桁範囲内のFLEX BITとを有する。従って、本発明の適用対象としてHD Photoにおけるデコーダは好適であり、本発明をHD Photoにおけるデコーダに適用することによって、復号処理の高速化を図ることが可能となる。
【0062】
<第1の実施の形態の変形例>
図6は、本発明の第1の実施の形態に係る画像処理装置の変形例を示すブロック図である。図6では、図1に示した復号部1の構成うち、バッファ2、セレクタ4、バレルシフタBS16、FB復号部DC16、及び処理部5の図示が省略されている。復号部1は、駆動制御部10を有している。駆動制御部10は、ND復号部DC0〜DC15、バレルシフタBS0〜BS15、及びシフタ制御部3に接続されている。
【0063】
図4に示したように、バレルシフタBS0は、シフタ制御部3から入力されたデータA0に基づいて、時刻T1において、NORMAL DATA群PND0(図6におけるデータB0)を、ND復号部DC0に入力する。ND復号部DC0は、NORMAL DATA群PND0をエントロピー復号することにより、NORMAL DATA群PND0に関する復号データD0を出力する。その際、ND復号部DC0は、NORMAL DATA群PND0に含まれる15個のNORMAL DATA(ND0〜ND14)のうち、値がゼロではないデータの個数をカウントする。そして、ND復号部DC0は、そのカウントの結果(以下、その値を「W」とする)に関する情報を、データE0として駆動制御部10に通知する。
【0064】
駆動制御部10は、データE0に基づいて、次回のNORMAL DATA群PND1に関する復号処理において駆動させないバレルシフタBS(BS0〜BS15)及びND復号部DC(DC0〜DC15)の個数を決定する。具体的に、駆動制御部10は、バレルシフタBSとND復号部DCとの対の総数である「16」のうち、データE0で与えられる値Wに相当する数を、NORMAL DATA群PND1に関する復号処理において駆動させない、バレルシフタBSとND復号部DCとの対の個数として決定する。
【0065】
図4に示したように、時刻T2において、NORMAL DATA群PND1に関する復号処理が開始される。ここで、駆動制御部10は、バレルシフタBS15から順に遡って、値Wに相当する個数のバレルシフタBSに対して、駆動させない旨の制御信号F0〜F15を入力する。同様に、駆動制御部10は、ND復号部DC15から順に遡って、値Wに相当する個数のND復号部DCに対して、駆動させない旨の制御信号G0〜G15を入力する。また、駆動制御部10は、値Wに関する情報を、データHとしてシフタ制御部3に通知する。NORMAL DATA群PND1に関する復号処理において、シフタ制御部3は、バレルシフタBS15から順に遡って、値Wに相当する個数のバレルシフタBSに対しては、データA0〜A15を入力しない。
【0066】
値Wが例えば「10」である場合には、NORMAL DATA群PND1に関する復号処理において、10個のバレルシフタBS6〜BS15及び10個のND復号部DC6〜DC15は駆動されない。また、駆動されない10個のバレルシフタBS6〜BS15には、シフタ制御部3からデータA6〜A15は入力されない。
【0067】
図3を参照して、各周波数データFD0〜FD14において、NORMAL DATAの値がゼロでない場合(図3の例ではFD0,FD3,FD14)は、そのNORMAL DATAに符号ビット(SB0,SB3,SB14)が付加されている。従って、NORMAL DATAの値がゼロではない周波数データFDに関しては、FLEX BITには符号ビットが付加されない。よって、NORMAL DATA群PND0に含まれる15個のNORMAL DATAのうち、値がゼロではないデータの個数に応じて、FLEX BIT群PFB0のデータ長の候補を絞ることができる。また、それに応じて、候補NORMAL DATA群PND1〜PND115の個数も絞ることができる。
【0068】
本変形例に係る復号部1によれば、候補位置が絞られることによって必ずしも16個のND復号部DC0〜DC15(及びバレルシフタBS0〜BS15)の全てを駆動する必要がない場合には、余剰のND駆動部DC(及びバレルシフタBS)を駆動させないことにより、消費電力の低減を図ることが可能となる。
【0069】
<第2の実施の形態>
図7は、本発明の第2の実施の形態に係る画像処理装置(復号部1)の構成を示すブロック図である。上記第1の実施の形態とは異なり、第1の処理部は、5個のバレルシフタBS0〜BS4と、5個のND復号部DC0〜DC4とを有している。但し、バレルシフタBS及びND復号部DCの各個数は、5個に限定されるものではなく、1個のブロックに含まれるNORMAL DATAの個数(15個)以下の任意の複数であれば良い。復号部1は、予測部20を有している。予測部20は、シフタ制御部3に接続されている。
【0070】
図8(図8の(A)及び(B))は、復号部1による複数のNORMAL DATA群及び複数のFLEX BIT群の処理順序を示すタイミングチャートである。以下、図7及び図8の(A)を参照して、復号部1の動作について説明する。
【0071】
まず、バレルシフタBS0は、シフタ制御部3から入力されたデータA0に基づいて、時刻T1において、NORMAL DATA群PND0(図7におけるデータB0)を、ND復号部DC0に入力する。ND復号部DC0は、NORMAL DATA群PND0をエントロピー復号することにより、NORMAL DATA群PND0に関する復号データD0を出力する。NORMAL DATA群PND0に関する復号データD0は、セレクタ4を介して処理部5に入力される。また、ND復号部DC0は、NORMAL DATA群PND0に関する復号処理が完了した後、データストリームDSにおけるNORMAL DATA群PND0の終端位置に関する情報を、データC0としてシフタ制御部3に通知する。
【0072】
次に、バレルシフタBS16は、時刻T2において、FLEX BIT群PFB0(図7におけるデータB16)を、FB復号部DC16に入力する。ここで、シフタ制御部3は、ND復号部DC0から入力されたデータC0に基づき、データストリームDSにおけるNORMAL DATA群PND0の終端位置に連続する位置を、FLEX BIT群PFB0の先頭位置として設定する。そして、シフタ制御部3は、FLEX BIT群PFB0の先頭位置に関する情報を、データA16としてバレルシフタBS16に通知する。FB復号部DC16は、FLEX BIT群PFB0を復号することにより、FLEX BIT群PFB0に関する復号データD16を出力する。FLEX BIT群PFB0に関する復号データD16は、処理部5に入力される。また、FB復号部DC16は、FLEX BIT群PFB0に関する復号処理が完了した後、データストリームDSにおけるFLEX BIT群PFB0の終端位置に関する情報を、データC16としてシフタ制御部3に通知する。
【0073】
また、時刻T2において、予測部20からシフタ制御部3に、FLEX BIT群PFB0のデータ長に関する予測値Jが入力される。予測部20による予測値Jの決定方法は任意である。第1の例として、予測部20は、処理対象であるブロックに隣接するブロックに関する復号結果を参照し、その参照ブロックに関して既に求められたFLEX BIT群PFB0のデータ長を、予測値Jとして採用する。参照ブロックとしては、例えば、エンコーダの符号化部の前段に配置されている予測部での予測処理において採用されたブロックを用いることができる。第2の例として、予測部20は、色差成分U,Vを処理する場合には、同一ブロックの輝度成分Yに関して既に求められたFLEX BIT群PFB0のデータ長を、予測値Jとして採用する。
【0074】
シフタ制御部3は、データストリームDSにおけるFLEX BIT群PFB0の先頭位置から、予測値Jだけ後方の位置を、NORMAL DATA群PND1の第1の先頭候補位置として設定する。そして、シフタ制御部3は、第1の先頭候補位置に関する情報を、データA2としてバレルシフタBS2に通知する。
【0075】
また、シフタ制御部3は、第1の先頭候補位置に対して、2ビット前方の位置、1ビット前方の位置、1ビット後方の位置、及び2ビット後方の位置を、それぞれ第2の先頭候補位置、第3の先頭候補位置、第4の先頭候補位置、及び第5の先頭候補位置として設定する。そして、シフタ制御部3は、第2の先頭候補位置、第3の先頭候補位置、第4の先頭候補位置、及び第5の先頭候補位置に関する情報を、それぞれデータA0,A1,A3,A4としてバレルシフタBS0,BS1,BS3,BS4に通知する。
【0076】
時刻T2において、バレルシフタBS0〜BS4は、シフタ制御部3から入力されたデータA0〜A4に基づいて、候補NORMAL DATA群(図7におけるデータB0〜B4)を、ND復号部DC0〜DC4にそれぞれ入力する。ND復号部DC0〜DC4は、時刻T2において、候補NORMAL DATA群に関するエントロピー復号処理をそれぞれ開始する。
【0077】
時刻T3において、FB復号部DC16によるFLEX BIT群PFB0に関する復号処理が完了すると、FLEX BIT群PFB0の終端位置に関する情報(データC16)が、FB復号部DC16からシフタ制御部3に通知される。これにより、シフタ制御部3は、5個の候補NORMAL DATA群の中から、正しい1個を選択することができる。この選択に関する情報はシフタ制御部3からセレクタ4に通知され、セレクタ4は、正しい候補NORMAL DATA群の復号処理を実行している1個のND復号部DC(この例ではND復号部DC1とする)を選択する。ND復号部DC1から出力されたNORMAL DATA群PND1に関する復号データD1は、セレクタ4を介して処理部5に入力される。また、ND復号部DC1は、時刻T4においてNORMAL DATA群PND1に関する復号処理が完了すると、データストリームDSにおけるNORMAL DATA群PND1の終端位置に関する情報を、データC1としてシフタ制御部3に通知する。
【0078】
一方、図8の(B)を参照して、5個の候補NORMAL DATA群の中に正しいものが含まれていない場合には、時刻T3において、ND復号部DC0〜DC4による候補NORMAL DATA群に関する復号処理が中止される。また、シフタ制御部3は、FB復号部DC16から入力されたデータC16に基づき、データストリームDSにおけるFLEX BIT群PFB0の終端位置に連続する位置を、NORMAL DATA群PND1の先頭位置として設定する。そして、シフタ制御部3は、NORMAL DATA群PND1の先頭位置に関する情報を、データA0としてバレルシフタBS0に通知する。但し、バレルシフタBS0ではなく他のバレルシフタBS1〜BS4の一つに通知しても良い。
【0079】
バレルシフタBS0は、時刻T3において、NORMAL DATA群PND1を、ND復号部DC0に入力する。DC復号部DC0は、NORMAL DATA群PND1を復号することにより、復号データD0を出力する。復号データD0は、セレクタ4を介して処理部5に入力される。また、DC復号部DC0は、NORMAL DATA群PND1に関する復号処理が完了した後、データストリームDSにおけるNORMAL DATA群PND1の終端位置に関する情報を、データC0としてシフタ制御部3に通知する。
【0080】
第2の実施の形態に係る復号部1によれば、FLEX BIT群PFB0のデータ長は、15個のFLEX BITのうち1ビットの符号ビットが付加されるデータの個数に応じて、16通りのパターンとなる。従って、データストリームDSにおけるNORMAL DATA群PND1の先頭位置も、最大で16通りのパターンが想定される。第2の実施の形態に係る復号部1によれば、第1の処理部は、16個のND復号部DCを有するのではなく、それよりも少ない個数(上記の例では5個)のND復号部DC0〜DC4を有する。従って、16個のND復号部DC0〜DC15を設ける場合と比較して、回路規模を削減することが可能となる。
【0081】
第2の実施の形態に係る復号部1においては、5個のND復号部DC0〜DC4によって得られる5個の復号データD0〜D4の中に、復号処理の開始位置が適切に設定された復号データが存在しない場合もあり得る。しかし、この場合には、図8の(B)に示したように、FLEX BIT群PFB0に関する復号処理が完了して終端位置が確定した後に、その終端位置に連続する位置を開始位置として、NORMAL DATA群PND1に関する復号処理を再実行することにより、正確な復号データを得ることが可能となる。
【0082】
<第2の実施の形態の変形例>
図9は、本発明の第2の実施の形態に係る画像処理装置の変形例を示すブロック図である。図9では、図7に示した復号部1の構成うち、バッファ2、セレクタ4、バレルシフタBS16、FB復号部DC16、予測部20、及び処理部5の図示が省略されている。復号部1は、駆動制御部10を有している。駆動制御部10は、ND復号部DC0〜DC4、バレルシフタBS0〜BS4、及びシフタ制御部3に接続されている。
【0083】
図8の(A)に示したように、バレルシフタBS0は、シフタ制御部3から入力されたデータA0に基づいて、時刻T1において、NORMAL DATA群PND0(図9におけるデータB0)を、ND復号部DC0に入力する。ND復号部DC0は、NORMAL DATA群PND0をエントロピー復号することにより、NORMAL DATA群PND0に関する復号データD0を出力する。その際、ND復号部DC0は、NORMAL DATA群PND0に含まれる15個のNORMAL DATA(ND0〜ND14)のうち、値がゼロではないデータの個数をカウントする。そして、ND復号部DC0は、そのカウントの結果(値W)に関する情報を、データE0として駆動制御部10に通知する。
【0084】
駆動制御部10は、データE0に基づいて、次回のNORMAL DATA群PND1に関する復号処理において駆動させないバレルシフタBS(BS0〜BS4)及びND復号部DC(DC0〜DC4)の個数を決定する。具体的に、駆動制御部10は、FLEX BIT群PFB0のデータ長がとり得る最大パターン数である「16」から、データE0で与えられる値Wを減算する。そして、その減算の結果として得られた値(以下、その値を「P」とする)が、バレルシフタBSとND復号部DCとの対の総数である「5」よりも小さい場合に、「5」と「P」との差に相当する数(以下、その値を「Q」とする)を、NORMAL DATA群PND1に関する復号処理において駆動させない、バレルシフタBSとND復号部DCとの対の個数として決定する。
【0085】
図8の(A)に示したように、時刻T2において、NORMAL DATA群PND1に関する復号処理が開始される。ここで、駆動制御部10は、バレルシフタBS4から順に遡って、値Qに相当する個数のバレルシフタBSに対して、駆動させない旨の制御信号F0〜F4を入力する。同様に、駆動制御部10は、ND復号部DC4から順に遡って、値Qに相当する個数のND復号部DCに対して、駆動させない旨の制御信号G0〜G4を入力する。また、駆動制御部10は、値Qに関する情報を、データHとしてシフタ制御部3に通知する。NORMAL DATA群PND1に関する復号処理において、シフタ制御部3は、バレルシフタBS4から順に遡って、値Qに相当する個数のバレルシフタBSに対しては、データA0〜A4を入力しない。
【0086】
値Wが例えば「13」である場合には、値Pは「3」(=16−13)となり、値Qは「2」(=5−3)となる。この場合、NORMAL DATA群PND1に関する復号処理において、2個のバレルシフタBS3,BS4及び2個のND復号部DC3,DC4は駆動されない。また、駆動されない2個のバレルシフタBS3,BS4には、シフタ制御部3からデータA3,A4は入力されない。
【0087】
本変形例に係る復号部1によれば、候補位置が絞られることによって必ずしも5個のND復号部DC0〜DC4(及びバレルシフタBS0〜BS4)の全てを駆動する必要がない場合には、余剰のND駆動部DC(及びバレルシフタBS)を駆動させないことにより、消費電力の低減を図ることが可能となる。
【0088】
なお、以上の説明では、HD Photoのハイパス成分に関して本発明を適用する例について述べたが、本発明は、HD Photoのローパス成分に関して適用することも可能である。HD Photoのローパス成分に関しては、1個のマクロブロック内には、YUVの各成分毎に1個のブロックが含まれる。つまり、1個のマクロブロック内に複数のブロックが含まれる。また、1個のブロック内に複数個(15個)の周波数データが含まれ、各周波数データは、上位側の桁範囲内のNORMAL DATAと、下位側の桁範囲内のFLEX BITとを有する。従って、HD Photoのローパス成分に関して本発明を適用することが可能であり、上記と同様の効果を得ることができる。
【図面の簡単な説明】
【0089】
【図1】本発明の第1の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図2】データストリームの一部を示す図である。
【図3】一つのNORMAL DATA群及び一つのFLEX BIT群を並べて示す図である。
【図4】復号部による複数のNORMAL DATA群及び複数のFLEX BIT群の処理順序を示すタイミングチャートである。
【図5】復号部によるNORMAL DATA群及びFLEX BIT群の処理を詳細に示すタイミングチャートである。
【図6】本発明の第1の実施の形態に係る画像処理装置の変形例を示すブロック図である。
【図7】本発明の第2の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図8】復号部による複数のNORMAL DATA群及び複数のFLEX BIT群の処理順序を示すタイミングチャートである。
【図9】本発明の第2の実施の形態に係る画像処理装置の変形例を示すブロック図である。
【図10】HD Photoにおける一つの周波数データを示す図である。
【図11】HD Photoにおけるデコーダのうち、復号部における処理の流れを簡略化して示すフローチャートである。
【図12】図11に示したハイパス成分の復号処理を具体的に示すフローチャートである。
【図13】HD Photoにおけるデコーダのうち、復号部の構成を示すブロック図である。
【図14】データストリームの一部を示す図である。
【符号の説明】
【0090】
1 復号部
3 シフタ制御部
4 セレクタ
10 駆動制御部
DC0〜DC15 ND復号部
DC16 FB復号部
DS データストリーム
PND NORMAL DATA群
PFB FLEX BIT群
ND0〜ND14 NORMAL DATA
FB0〜FB15 FLEX BIT

【特許請求の範囲】
【請求項1】
複数のブロック内に含まれる複数のデータを復号する画像処理装置であって、
各前記ブロック内には、複数のデータが含まれ、
各前記データは、上位側の桁範囲内の上位データと、下位側の桁範囲内の下位データとを有し、
前記画像処理装置には、第1ブロックの上位データ群と、第1ブロックの下位データ群と、第2ブロックの上位データ群とがこの順に並ぶデータストリームが入力され、
前記画像処理装置は、
複数の復号部を有し、上位データ群を復号する第1の処理部と、
下位データ群を復号する第2の処理部と、
前記複数の復号部のうちの一つを選択する選択部と
を備え、
前記第2の処理部による前記第1ブロックの下位データ群に関する復号処理に並行して、前記複数の復号部は、前記データストリームにおける復号処理の開始位置を異ならせて、前記第2ブロックの上位データ群に関する復号処理を実行し、
前記選択部は、前記第2の処理部による前記第1ブロックの下位データ群に関する復号処理の結果に基づいて、前記複数の復号部のうち、前記第1ブロックの下位データ群の終端位置に連続する位置が復号処理の開始位置に設定されている一つの復号部を選択する、画像処理装置。
【請求項2】
各前記ブロック内には、N個(Nは2以上の自然数)の前記データが含まれ、
前記第1の処理部は、N+1個の前記復号部を有する、請求項1に記載の画像処理装置。
【請求項3】
前記第1ブロックの上位データ群に関する復号処理の結果に基づいて、前記データストリームにおける前記第2ブロックの上位データの開始位置に関する候補位置を求める、第3の処理部をさらに備え、
前記N+1個の前記復号部のうち、前記候補位置の個数に相当する個数の復号部のみが、前記第2ブロックの上位データ群に関する復号処理を実行する、請求項2に記載の画像処理装置。
【請求項4】
各前記ブロック内には、N個(Nは2以上の自然数)の前記データが含まれ、
前記第1の処理部は、M個(Mは2以上でN以下の自然数)の前記復号部を有し、
前記M個の前記復号部の中に、前記終端位置に連続する位置が復号処理の開始位置に設定されていた復号部が存在しない場合には、前記M個の前記復号部のうちの任意の一つの復号部によって、前記終端位置に連続する位置を開始位置として、前記第2ブロックの上位データ群に関する復号処理が実行される、請求項1に記載の画像処理装置。
【請求項5】
前記第1ブロックの上位データ群に関する復号処理の結果に基づいて、前記データストリームにおける前記第2ブロックの上位データの開始位置に関する候補位置を求める、第3の処理部をさらに備え、
前記候補位置の個数がM個未満である場合には、前記M個の前記復号部のうち、前記候補位置の個数に相当する個数の復号部のみが、前記第2ブロックの上位データ群に関する復号処理を実行する、請求項4に記載の画像処理装置。
【請求項6】
前記データは、HD Photoにおけるハイパス成分又はローパス成分の周波数データである、請求項1〜5のいずれか一つに記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−93522(P2010−93522A)
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2008−261198(P2008−261198)
【出願日】平成20年10月8日(2008.10.8)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】