(57)【要約】【課題】  ブロック内の全画素が同一画素値を示す符号化データが連続する場合には、可逆復号、非可逆復号のための復号手段の稼働率を上げて、復号することで、復号時間を短縮する技術を提供しようとするものである。【解決手段】  ヘッダ解析部２は、１ブロック分の符号化データを解析することで、前記着目ブロックの符号化データが、当該着目ブロック内の全画素が同じ画素値である場合の予め設定された符号化データパターンに一致するか否かを判定する。データ変換部３は、着目ブロックの符号化データが、全画素が同一色の符号化データパターンに一致するとの判定結果を受けるたびに、その着目ブロックの符号化データを可逆符号化データのみで構成されるデータ構造、非可逆符号化データのみで構成されるデータ構造のいずれか一方に、交互に変換し、第１、第２の復号部のいれかに供給する。【選択図】  図３
2012151573.tif 000002
【特許請求の範囲】
【請求項１】
ｍ×ｎ個の多値の画素で構成されるブロックを単位にして符号化された符号化データを復号する画像復号装置であって、
前記ブロック内の文字線画に属する画素の画素値、及び、画素毎に文字線画、非文字線画のいずれに属するのかを示す識別情報の可逆符号化データを復号する第１の復号手段と、
前記ブロック内のｍ×ｎ個の多値の画素値の非可逆符号化データを復号する第２の復号手段と、
前記ブロックの符号化データを解析し、着目ブロックの符号化データが前記可逆符号化データのみの形式のデータ構造であるか、前記可逆符号化データと前記非可逆符号化データを含む形式のデータ構造であるか、前記非可逆符号化データのみで構成される形式のデータ構造であるかを判別する判別手段と、
前記着目ブロックの符号化データが、前記判別手段により、前記可逆符号化データのみ、または、前記非可逆符号化データのみで構成される形式のデータ構造であると判別された場合、他方の符号化データに変換可能かを判定する判定手段と、
該判定手段により、変換可能と判定された符号化データを他方の符号化データに変換する変換手段と、
前記着目ブロックの符号化データ、前記変換手段により変換された符号化データのいずれか一方を前記第１、第２のいずれか一方の復号手段に分配する分配手段と
を具備することを特徴とする画像復号装置。
【請求項２】
前記分配手段は、前記判定手段により、前記着目ブロックの符号化データが変換可能と判定する度に、交互に分配することを特徴とする請求項１記載の画像復号装置。
【請求項３】
前記分配手段は、前記第１の復号手段に滞留しているデータ量と前記第２の復号手段に滞留しているデータ量とを比較する比較手段を含み、
前記判定手段により前記着目ブロックの符号化データが変換可能と判定する度に、前記比較手段にて滞留しているデータ量が少ないと判定された方の形式の符号化データを分配することを特徴とする請求項１記載の画像復号装置。
【請求項４】
ｍ×ｎ個の多値の画素で構成されるブロックを単位にして符号化された符号化データを復号する画像復号装置の制御方法であって、
第１の復号手段が、前記ブロック内の文字線画に属する画素の画素値、及び、画素毎に文字線画、非文字線画のいずれに属するのかを示す識別情報の可逆符号化データを復号する第１の復号工程と、
第２の復号手段が、前記ブロック内のｍ×ｎ個の多値の画素値の非可逆符号化データを復号する第２の復号工程と、
判別手段が、前記ブロックの符号化データを解析し、着目ブロックの符号化データが前記可逆符号化データのみの形式のデータ構造であるか、前記可逆符号化データと前記可逆符号化データを含む形式のデータ構造であるか、前記非可逆符号化データのみで構成される形式のデータ構造であるかを判別する判別工程と、
前記着目ブロックの符号化データが、前記判別工程により、前記可逆符号化データのみ、または、前記非可逆符号化データのみで構成される形式のデータ構造であると判別された場合、判定手段が、他方の符号化データに変換可能かを判定する判定工程と、
変換手段が、該判定工程により、変換可能と判定された符号化データを他方の符号化データに変換する変換工程と、
分配手段が、前記着目ブロックの符号化データ、前記変換工程により変換された符号化データのいずれか一方を前記第１、第２のいずれか一方の復号工程に分配する分配工程と
を含むことを特徴とする画像復号装置の制御方法。
【請求項５】
前記分配工程は、前記判定工程により、前記着目ブロックの符号化データが変換可能と判定する度に交互に分配することを特徴とする請求項４記載の画像復号装置の制御方法。
【請求項６】
前記分配工程は、前記第１の復号工程に滞留しているデータ量と前記第２の復号工程に滞留しているデータ量とを比較する比較工程を含み、
前記判定工程により前記着目ブロックの符号化データが変換可能と判定する度に、前記比較工程にて滞留しているデータ量が少ないと判定された方の形式の符号化データを分配することを特徴とする請求項４記載の画像復号装置の制御方法。
【請求項７】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至３のいずれか１項に記載の各手段として機能させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化画像データを復号する復号技術に関するものである。
【背景技術】
【０００２】
複数画素で構成されるブロック単位の画像データを固定長符号化する技術として、特許文献１が知られている。この特許文献１では、ブロック単位の画像データ内の、文字線画等の視覚上重要な画素を抽出して可逆符号化し、その他のデータについては非可逆符号化し、それらを併せて固定長になるように符号量制御を行うというものである。特に、ブロック内の全画素が同一色からなるブロックの符号化データは、同一色の画像データを視覚上重要な画素として抽出して可逆符号化し、ブロック内のすべての画素データの位置情報をランレングス符号化などの可逆符号化していた。復号装置では、同一色のブロックであることを検出せず、ランレングス符号化などの可逆符号化データを復号することにより、同一色のブロックを復号する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２７８０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法では、連続して同一色ブロックの符号化データを復号する場合は、可逆復号手段のみ動作させて、階調符号化データの復号部を停止させるので、リソースを効率的に使用することができない。そのため、復号時間を短縮することができないという課題がある。
【０００５】
本発明はかかる点に鑑みなされたものであり、ブロック内の全画素が同一画素値を示す符号化データが連続する場合には、可逆復号、非可逆復号のための復号手段の稼働率を上げて、復号することで、復号時間を短縮する技術を提供しようとするものである。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の画像復号装置は以下の構成を備える。すなわち、
ｍ×ｎ個の多値の画素で構成されるブロックを単位にして符号化された符号化データを復号する画像復号装置であって、
前記ブロック内の文字線画に属する画素の画素値、及び、画素毎に文字線画、非文字線画のいずれに属するのかを示す識別情報の可逆符号化データを復号する第１の復号手段と、
前記ブロック内のｍ×ｎ個の多値の画素値の非可逆符号化データを復号する第２の復号手段と、
前記ブロックの符号化データを解析し、着目ブロックの符号化データが前記可逆符号化データのみの形式のデータ構造であるか、前記可逆符号化データと前記非可逆符号化データを含む形式のデータ構造であるか、前記非可逆符号化データのみで構成される形式のデータ構造であるかを判別する判別手段と、
前記着目ブロックの符号化データが、前記判別手段により、前記可逆符号化データのみ、または、前記非可逆符号化データのみで構成される形式のデータ構造であると判別された場合、他方の符号化データに変換可能かを判定する判定手段と、
該判定手段により、変換可能と判定された符号化データを他方の符号化データに変換する変換手段と、
前記着目ブロックの符号化データ、前記変換手段により変換された符号化データのいずれか一方を前記第１、第２のいずれか一方の復号手段に分配する分配手段とを具備する。
【発明の効果】
【０００７】
本発明によれば、ブロック内の全画素が同一画素値を示す符号化データが連続する場合には、可逆復号、非可逆復号のための復号手段の稼働率を上げて復号することで、復号時間を短縮することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態における復号対象の符号化データのデータ構造を示す図。
【図２】第１の実施形態における画像符号化装置の構成図。
【図３】第１の実施形態における画像復号装置の構成図。
【図４】第１、第２の実施形態の符号化データの具体例を示す図。
【図５】第２の実施形態の画像復号装置の構成図。
【図６】第３の実施形態の画像復号装置の構成図。
【発明を実施するための形態】
【０００９】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１０】
先ず、実施形態における復号装置について説明する前に、符号化装置及びそれによって生成される符号化データのデータ構造について説明する。図２は、本実施形態の画像符号化装置のブロック構成図を示している。この画像符号化装置は、装置全体の制御を司る制御部１５０、ブロック部１０１、抽出色決定部１０２、第１の符号化部１０３、符号量検出部１０４、多重化部１０５、置換部１０６、第２の符号化部１０７、符号量制御部１０８で構成される。なお、各処理部における処理に要する時間は、互いに異なるので、各処理部の前段には互いに同期するためのバッファメモリが設けられているものとして説明する。以下、同図の構成における処理内容を説明する。
【００１１】
ブロック部１０１は、符号化対象の多値画像データから、複数画素で構成されるブロック（ｍ×ｎ個の画素）単位に入力し、後段に出力する。本実施形態では、説明を簡単にするため、符号化対象の画像はモノクロ多値画像であって、１画素が８ビット（２５６階調）とし輝度を示すものとする。また、１ブロックは８×８画素のサイズとする。ただし、符号化対象の画像はカラー画像であっても良いし、上記ビット数やブロックサイズはこれに限定されるものではない。カラー画像の場合、複数の色成分が存在することになるから、成分毎に以下に説明する処理を行えば良い。
【００１２】
抽出色決定部１０２は、入力したブロック内の８×８（＝６４）画素データに、視覚上重要な画素があるか否かを判定し、その画素の色（画素値）を抽出色（８ビット）として抽出し、出力する。また、それとともに、画素毎に、抽出色を持つ画素と、非抽出色を持つ画素を識別するための２値データを出力する。この２値データが“１”の場合、該当する画素は抽出色を持つ画素であるものとし、“０”の場合には該当する画素は非抽出色の画素とする。この２値データは、抽出色／非抽出色それぞれの画素位置の判定に用いられるので、これ以降、位置情報と呼ぶ。１ブロックは８×８個の画素で構成されるものであるから、１ブロック分の位置情報は８×８ビット＝６４ビットとなる。
【００１３】
抽出色決定部１０２における抽出色、位置情報を求めるアルゴリズムの一例を以下に示す。
【００１４】
まず、ブロック内の画素の平均値を算出する。そして、その平均値よりも大きな値（高輝度）を持つ画素群（以下、第１の画素群と呼ぶ）と、その平均値以下（低輝度）の画素群（以下、第２の画素群と呼ぶ）とに分類する。更に、第１の画素群の平均値（第１の平均値）と第２の画素群の平均値（第２の平均値）を求め、それらの差の絶対値が、あらかじめ設定された閾値を超えるか否かを判定する。
【００１５】
第１、第２の平均値の差の絶対値が、上記の閾値を超えている場合、抽出色決定部１０２は、抽出色ありを示す抽出色有無情報を多重化部１０５に通知する。そして、第２の画素群に属するのが、抽出色を持つ画素（文字線画の画素）としてみなし、その色情報を抽出色情報として多重化部１０５に出力する。また、抽出色を持つ画素の位置では“１”、非抽出色の画素（非文字線画の画素）の位置では“０”とする位置情報を第１の符号化部１０３、置換部１０６に出力する。なお、位置情報はラスタースキャン順に出力するものとする。
【００１６】
一方、第１、第２の平均値の差の絶対値が、上記の閾値以下の場合、抽出色決定部１０２は、抽出色無を示す抽出色有無情報を多重化部１０５に通知する。また、抽出色決定部１０２はすべてが“０”の位置情報を出力する。以上、抽出色決定部１０２における処理内容を説明したが、これは一例である点に注意されたい。なお、本実施形態では、画素値が輝度を表わす例を示している。すなわち、文字線画を構成する画素においては輝度が小さいため上記のように第２の画素群を文字線画の画素としている。もし、画素値が濃度としている場合には、ベクトルが真逆であるので、第１の画素群を抽出色画素とすれば良い。もしくは、「輝度値＝２５５（８ビットの最大値）−濃度値」として、濃度値から輝度値に変換して、上記の処理を行えば良い。
【００１７】
第１の符号化部１０３は、抽出色決定部１０２から出力された６４ビットの位置情報を符号化し、その符号化データを多重化部１０５に出力する。この際の符号化は可逆符号化が望ましく、本実施形態ではランレングス符号化を採用するものとする。符号量検出部１０４は、第１の符号化部１０３から出力された１ブロック分の位置情報の符号化データ量（ビット数）を検出し、その結果を符号量制御部１０８に出力する。
【００１８】
次に、置換部１０６について説明する。置換部１０６内の置換色算出部１０９は、位置情報が“０”の画素値の平均値を算出し、その算出した平均値を置換色データとしてセレクタ１１０に出力する。セレクタ１１０は、着目画素位置の位置情報が“１”の場合、置換色算出部１０９から出力された置換色を選択し、位置情報が“０”の場合には、ブロック化部１０１からの画素データを選択し、出力する。
【００１９】
第２の符号化部１０７は、たとえば、非可逆符号化であって、本実施形態ではＪＰＥＧ符号化部である。この第２の符号化部１０７は、置換部１０６から出力された８×８画素の階調画像データを符号化し、符号化データを符号量制御部１０８に出力する。出力する順序は、ＤＣ成分の符号化データ、ＡＣ成分の符号化データの順である。なお、ＤＣ成分については、隣接ブロックとの差分ではなく、ＤＣデータそのものを保持するものとする。これはブロックの符号化データを固定長とし、どのブロックからでも復号できるようにするためである。
【００２０】
符号量制御部１０８は、抽出色決定部１０２からの抽出色有無情報、並びに、符号量検出部１０４から出力された位置情報の符号化データ量に従い、１ブロックの符号化データ量を固定長とするための、第２の符号化部１０７から出力された階調画像データの符号化データのデータ量を抑制する抑制手段として機能する。具体的には、抽出色有無情報、並びに、符号量検出部１０４からの符号量から、階調画像の符号量として許容できるビット数（以下、許容ビット数）を算出する。そして、符号量制御部１０８は、第２の符号化部１０７からの符号化データが許容ビット数以下である場合には、その全符号化データと、許容ビット数に未だ余りがある場合にはダミービット（パディングビット）を付加して多重化部１０５に出力する。一方、符号量制御部１０８は、第２の符号化部１０７からの符号化データが許容ビット数を越える場合、符号化データの先頭から許容ビット数までを多重化部１０５に出力する。これにより、１ブロックあたりの符号化データ量を固定長とする。
【００２１】
多重化部１０５は、抽出色決定部１０２からの抽出色有無情報、抽出色情報、第１の符号化部１０３からの符号化データ、並びに、符号量制御部部１０８からの符号化データを多重化し、ブロック単位に固定長の符号化データを生成し、出力する。具体的には、着目ブロックについて、抽出色決定部１０２からの抽出色有無情報が抽出色有りを示している場合、着目ブロックのヘッダには、第１の符号化部１０３、並びに、第２の符号化部１０７の両方の符号化データが含まれることを示す情報（１ビットで良い）を格納し、そのヘッダに後続して、抽出色情報（８ビット）、位置情報の符号化データ（第１の符号化部１０３からの符号化データ）、符号量制御部１０８からの階調画像データの符号化データをこの順番に接続して、出力する。図１（Ａ）はこの場合のデータ構造を示している。
【００２２】
また、抽出色決定部１０２からの抽出色有無情報が抽出色無しを示している場合、着目ブロックのヘッダには、第２の符号化部１０７の符号化データのみが格納されていることを示す情報（１ビット）を格納し、そのヘッダに後続して、符号量制御部１０８からの階調画像データの符号化データを接続して、出力する。図１（Ｂ）はこの場合のデータ構造を示している。図１（Ｂ）に示す通り、抽出色有無情報が抽出色無しを示している場合には、抽出色並びに位置情報の符号化データを格納する必要がないので、ＡＣ成分の符号化データがその途中で切り捨てられる可能性は低くできる。
【００２３】
ここで、符号化対象の着目ブロック内の全画素が同じ画素値（同一色）である場合について考察する。ブロック内の全画素が同一画素値となる状況は、通常の文章画像の場合にはその行間や上下左右の余白部分であろうから、その発生頻度は非常に高いことが予想される。それ故、効率的に、その符号化データを表現することが望まれるし、復号の際に高速に復号できることが望まれる。
【００２４】
さて、ブロック内の全画素が同じ画素値（以下、このようなブロックを同一色ブロックという）である場合、すべての画素を抽出色として位置情報を抽出し、画素値そのものと位置情報をランレングス符号化する方法が考えられる。ここで、ランレングスが６４のときの符号をＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）符号で置き換えると決めておくと更に効率的と言える。このようにすると、同一色ブロックの符号化データは、図１（Ｃ）のように、ヘッダと抽出色データとランレングス符号用のＥＯＢ符号と、固定長とするためのパディングデータから構成される固符号化データとなる。
【００２５】
その他の同一色ブロックを符号化する方法として、ＪＰＥＧ符号化を使用する方法もある。同一色ブロックには抽出色データなしと考えると、ブロックデータを全てＪＰＥＧ符号化することになる。この場合、ＤＣ成分、ＡＣ成分の順に符号化する。同一色ブロックにおいて、ＤＣ成分は同一色とした画素値そのものになり、ＡＣ成分は０になる。このとき、ＡＣ成分が０を示す符号をＪＰＥＧ用のＥＯＢ符号で置き換えると決めておくことにする。そのようにすると、同一色ブロックの符号化データは、図１（Ｄ）のように、ヘッダとＤＣデータとＥＯＢ符号とパディングデータから構成される固定長の符号化データとなる。同一色ブロックの場合、図１（Ｃ）の抽出色データと（Ｄ）のＤＣデータは同一となるので、符号化データの違いはヘッダおよびＥＯＢ符号の違いだけとなる。いずれの符号化データであっても、復号器で同一色ブロックに復号することができる。
【００２６】
抽出色決定部１０２は先に説明したように画素群を２つのグループに分ける際に、個々の画素値を読み取り平均値を算出する等の処理を行っている。全画素が同一色であるというのは、ブロック内の全画素の平均値を算出し、その算出した平均値を越える値を持つ画素が１つも存在しない場合である（先に説明した第１の画素群に属する画素が１つもない状況）。従って、抽出色決定部１０２は、その処理中に、全画素が同一の画素値であるか否かを簡単に調べることができる。そこで、抽出色決定部１０２はブロック内の全画素が同一色であるか否かを示す信号、換言すれば、着目ブロックが同一色ブロックであるか否かを示す信号を第１の符号化部１０３、符号量制御部１０８に出力する。第１の符号化部１０３は、同一色ブロック信号であることを示す信号を受信した場合、ＥＯＢ符号語を生成し、多重化部１０５に出力する。また、符号量制御部１０８は、第２の符号化部からの符号化データは無視し、パディングデータを生成し、出力すれば良い。この結果、図１（Ｃ）に示す符号化データを生成できる。
【００２７】
また、図１（Ｄ）の符号化データを生成するのであれば、抽出色決定部１０２が着目ブロックが同一色ブロックであるか否かを示す信号を第２の符号化部１０７、符号量制御部１０８に出力すれば良い。着目ブロックが同一色ブロックであることを示す場合、第２の符号化部１０は、画素値をＤＣ成分値として出力し、それに後続して、ＥＯＢを出力する。符号量制御部１０８は、固定長とするためのパディングデータを生成し、出力すれば良い。この結果、図１（Ｄ）に示す符号化データを生成できる。
【００２８】
また、より単純には、抽出色決定部１０２が着目ブロックが同一色ブロックであるか否かを示す信号と同一であると判定された画素値を多重化部１０５に出力するようにしても良い。多重化部１０５は予め図１（Ｃ）（或いは、図１（Ｄ）のＤＣデータ）のデータ構造を記憶保持しておき、同一色ブロックであることを示す情報を受信した場合、抽出色決定部１０２から受信した画素値を、「抽出色データ」（図１（Ｄ）の場合には「ＤＣデータ」）に格納して出力する。
【００２９】
以上、ブロック内の全画素が同じ画素値を持つ場合の効率化した符号化について説明した。
【００３０】
［第１の実施形態］
本第１の実施形態では、図１（Ａ）乃至図１（Ｃ）、或いは、図１（Ａ），図１（Ｂ），図１（Ｄ）、或いは、図１（Ａ）乃至図１（Ｄ）のいずれの形式の符号化データを受信したとしても、効率良く復号するものである。
【００３１】
図３は第１の実施形態における画像復号装置のブロック構成図である。本装置は、ブロックデータ読み出し部１、ヘッダ解析部２、データ変換部３、第１の復号部４、第２の復号部５、第１のバッファ６、第２のバッファ７、出力部８、制御部９で構成される。以下、同図の構成における処理内容を説明する。
【００３２】
ブロックデータ読み出し部１は、不図示の記憶媒体や通信手段を介して、１ブロック分の固定長の符号化データを読み出す（入力する）。ヘッダ解析部２は、入力したブロック（以下、着目ブロック）の符号化データのヘッダを解析し、その符号化データが抽出色データを含む形式のデータであるか否かを判定する。また、抽出色データ（８ビット）を含む場合にそれに後続する符号がＥＯＢであるか否か、すなわち、図１（Ｃ）の形式のデータであるか否かを判定する。更に、抽出色データを含まないと判定した場合、ＤＣデータに後続する符号がＥＯＢであるか否か、すなわち、図１（Ｄ）の形式のデータであるか否かを判定する。つまり、ヘッダ解析部２は、図１（Ａ）乃至図１（Ｄ）のいずれの形式のデータであるかを判定し、その判定内容を解析結果としてデータ変換部３に出力する。なお、ヘッダに、図１（Ａ）乃至図１（Ｄ）のいずれであるかを示す信号（２ビット）が格納されている場合には、その２ビットだけ解析すれば、上記の判定が行えることとなる。
【００３３】
先ず、着目ブロックが図１（Ａ）であることを示す解析結果の信号をヘッダ解析部２が出力した場合について説明する。
【００３４】
この解析結果を受信した場合、データ変換部３は、ブロックデータ読み出し部１から供給された符号化データを第１の復号部４に供給する。第１の復号部４は、第１の符号化部１０３に対応する復号部であって、復号して得られた抽出色（８ビット）、並びに、位置情報（６４ビット）を第１のバッファに出力する。このとき、位置情報符号化データの最後端のビット位置が判明するので、第１の復号部４はそのビット位置をデータ変換部３に通知する。データ変換部３は、その通知を受けた場合、通知されたビット位置の次のビットから固定長の最後のビットを第２の復号部５に出力する。第２の復号部５は、第２の符号化部１０７に対応するもので、ＪＰＥＧ復号を行う。なお、ＪＰＥＧ復号する際、固定長の位置で不完全な符号が発生した場合、その不完全な符号以降のＡＣ成分は０と見なして、ＪＰＥＧ復号を行う。第２の復号部５は、復号して得られた階調画像の復号結果を第２のバッファ７に格納する。出力部８は、制御部９から図１（Ａ）のデータ構造であることを示す制御信号を受信すると、着目ブロックにおける第１のバッファ６の位置情報、並びに、第２のバッファ７の階調画像をラスターススキャン順に読み出し、着目画素位置の位置情報が“１”の場合、抽出色データを着目画素の多値画素値として出力し、着目画素位置の位置情報が“０”（非抽出色）の場合、第２のバッファ７内の該当する画素位置の多値画素値を着目画素の画素値として出力する。
【００３５】
なお、上記において、第１の復号部４が自身に割り当てられた符号化データを復号したとき、残りの符号化データ（ＤＣ成分以降）を第２の復号部５に転送して復号させるようにしても構わない。
【００３６】
次に、着目ブロックが図１（Ｂ）である場合のデータ変換部３の処理を以下に説明する。データ変換部３は、ブロックデータ読み出し部１から供給された符号化データを第２の復号部５に供給する。第２の復号部５は、ＪＰＥＧ復号を行い、その復号結果を第２のバッファ７に格納する。なお、ＪＰＥＧ復号する際、固定長の位置で不完全な符号が発生した場合、その不完全な符号以降のＡＣ成分は０と見なして、ＪＰＥＧ復号を行うのは先に説明した通りである。出力部８は、制御部９から図１（Ｂ）のデータ構造であることを示す制御信号を受信すると、第２のバッファ７に格納された復号済みの階調画像の各画素をラスタースキャン順に出力する。
【００３７】
次に、着目ブロックが図１（Ｃ）、（Ｄ）である場合のデータ変換部３の処理を以下に説明する。
【００３８】
図１（Ｃ）のデータ構造と、図１（Ｄ）のデータ構造は共に同一色ブロックの符号化データのデータ構造である。そして、抽出色データの８ビットと、ＤＣ成分の８ビットは、共に同一色としての画素値でもあるので、抽出色データと、ＤＣ成分の８ビットは同じであり、異なるのはヘッダ（に格納されたデータ構造の識別に係るデータ）とＥＯＢである。図１（Ｃ）の符号化データを第１の復号部４で復号した結果と、図１（Ｄ）の符号化データを第２の復号部５で復号しても、着目ブロックの全画素が抽出色（ＤＣ成分）になるのに変わりはなく、同じ結果となる。ところが、例えば図１（Ｃ）のようなデータが連続して入力すると、第１の復号部４に順番にその符号化データが供給されることとなり、第２の復号部５は非稼働状態となってしまう。逆に、図１（Ｄ）のようなデータが連続して入力すると、第２の復号部５に順番にその符号化データが供給されることとなり、第１の復号部４は非稼働状態となってしまい、稼働率が良いとは言えない。そこで、本実施形態におけるデータ変換部３は、図１（Ｃ）或いは図１（Ｄ）の形式のデータが入力される度に、第１の復号部４、第２の復号部５に交互に入力した符号化データを分配出力することで、稼働率を高くする。この結果、図１（Ｃ）或いは図１（Ｄ）の符号化データが連続する限りは、２つのブロックの復号処理が並列に実行されることとなり、復号効率を高くする。
【００３９】
たとえば、着目ブロックの符号化データの直前のブロックの符号化データを第１の復号部４に供給したとする。そして、着目ブロックの符号化データが図１（Ｄ）のデータ構造であった場合には、そのまま第２の復号部５に供給する。また、着目ブロックの符号化データが図１（Ｃ）のデータ構造であった場合には、ヘッダとＥＯＢ、パディングデータを、図１（Ｄ）のものと置き換え、抽出色データをＤＣデータとして、他方の第２の復号部５に供給する。
【００４０】
一方、着目ブロックの符号化データの直前のブロックの符号化データを第２の復号部５に供給したとする。そして、着目ブロックの符号化データが図１（Ｄ）のデータ構造であった場合には、ヘッダ、ＥＯＢ及びパディングデータを、図１（Ｃ）のものと置き換え、ＤＣデータを抽出色データとして第１の復号部４に供給する。そして、着目ブロックの符号化データが図１（Ｃ）のデータ構造であった場合には、そのまま第１の復号部４に供給する。
【００４１】
図４を用いて、この動作を更に詳細に説明する。図４は、同一色ブロックの符号化データを表したものである。ここでは、１ブロックは２５６ｂｉｔの固定長符号化である例である。図４（Ａ）は、抽出色データと識別情報の符号化データパターンである。図４（Ｂ）は、ＤＣデータとＪＰＥＧ符号を用いた符号化データパターンである。図４（Ａ）は、ヘッダＳ１は抽出色ありを示す“０”、抽出色データＳ２は８ｂｉｔの抽出色画像データそのもの、ＥＯＢ符号Ｓ３は、ハフマン符号のＥＯＢ符号である“１１００００”、符号量制御のためのパディングデータＳ４は２４１個（ビット）の“１”となっている。言い換えれば、先頭から１５ビットが“０＊＊＊＊＊＊＊＊１１００００”（＊は０、１のいずれでも構わないことを示している）のパターンと一致したとき、この符号化データは同一色ブロックで尚且つ可逆符号化された可逆符号化データであると見なして良い。換言すれば、このパターンと一致したとき、他方の符号化形式データに変換可能として判定する。図４（Ｂ）は、ヘッダＳ５は抽出色なしを示す“１”、ＤＣデータＳ６は８ｂｉｔのＤＣデータそのもの、ＥＯＢ符号Ｓ７は、ＪＰＥＧのＡＣ成分用のＥＯＢ符号である“１０１０”、パディングデータＳ８は２４３個（ビット）の“１”となっている。先頭から１３ビットが“１＊＊＊＊＊＊＊＊１０１０”のパターンと一致したとき、この符号化データは同一色ブロックで尚且つ非可逆符号化された非可逆符号化データであると見なして良いことになる。換言すれば、このパターンと一致したとき、他方の符号化形式データに変換可能として判定する。
【００４２】
ここで、同一色ブロックの符号化データが図４（Ａ）の符号化データとして続けて入力される場合、データ変換部３は以下のような変換を行う。
【００４３】
１番目の符号化データは、データ変換を行わないで、そのまま、第１の復号部４に転送して、復号を行う。２番目の符号化データは、図４（Ｂ）の符号化データに変換する。すなわち、ヘッダＳ１の０を１に変換し、抽出色データＳ２は、ＤＣデータＳ６と同じ形式なので変換せず、Ｓ３、Ｓ４の１１００００＋１（２４１ｂｉｔ）をＳ７、Ｓ８の１０１０＋１（２４３ｂｉｔ）に変換する。このように変換した変換後の符号化データは、第２の復号部５で復号可能である。変換後の符号化データを第２の復号部５に転送して、復号を行う。以下、交互に、符号化データの変換を制御して、第１と第２の復号部に交互に符号化データを分配させ、その復号を動作させる。ここで、ランレングス符号化データとＪＰＥＧ符号化データのＥＯＢ符号を同一にすることで、処理を更に簡略化することも可能である。ＥＯＢ符号を同一にすると、上述したＥＯＢ符号の変換は不要となる。このような動作により、第１と第２の復号部をバランスよく使用することができて、リソース使用効率を高めることができる。
【００４４】
本実施形態では、図４（Ａ）の符号化データで同一色ブロックの符号化データが表されている例を説明した。しかし、同一色ブロックの符号化データはこれに限定されるものではなく、図４（Ｂ）の符号化データで同一色ブロックの符号化データが表されていてもよいし、図４（Ａ）、（Ｂ）の符号化データが混在していてもよい。
【００４５】
なお、制御部９は、入力されるブロック単位に、各ブロックはどのような符号化データであったのかを示す情報を内部に保持し、出力部８に対して、復号出力すべき符号化データ構造がどのようなものであったのかを示す情報を出力し、出力が終えたことの通知を受けた場合に、次に復号出力すべき符号化データ構造がどのようなものであったのかを示す情報を出力する。
【００４６】
また、本実施形態では、第１と第２の復号部を交互に使用するように、符号化データを変換している。しかし、交互に限定されるものではなく、第１と第２の復号部の復号にかかる時間に応じて効率よく使用できるようにスケジューリングして符号化データ変換をしてもよい。
【００４７】
上記実施形態では、１ブロックのサイズとして、８×８画素としたが、これに限らず１ブロックがｍ×ｎ個の画素で構成される場合に一般化できるのは明らかである。
【００４８】
［第２の実施形態］
第２の実施形態を説明する。本第２の実施形態における復号対象の符号化データは第１の実施形態と同様であるものとし、その説明については省略する。図５に本第２の実施形態における画像復号装置のブロック構成図を示す。
【００４９】
本第２の実施形態における装置は、ブロックデータ読み出し部１、ヘッダ解析部２、データ変換部１０、第１の復号部４、第２の復号化部５、第１のバッファ部６、第２のバッファ部７、出力部８、占有率検出部１１、制御部１２で構成される。第１の実施形態と同じ動作をするブロックは同じ参照番号を付し、その説明は省略する。
【００５０】
データ変換部１０は、ヘッダ解析部２の解析結果に基づいて、データを変換する。具体的なデータ変換の方法を以下に示す。
【００５１】
ヘッダ解析部２の解析結果が、着目ブロックが同一色ブロックの符号化データであることを示している場合、入力される符号化データには、ヘッダ、抽出色データ又はＤＣデータ、更にＥＯＢ符号が格納されている。データ変換部１０は、後で説明する占有率検出部１１の検出結果に基づいて、図４（Ａ）の符号化データあるいは図４（Ｂ）の符号化データになるようにデータを変換する。入力される同一色ブロックの符号化データが、図４（Ａ）から（Ｂ）への変換方法は第１の実施形態で説明したとおりである。また、図４（Ｂ）から（Ａ）への変換方法は、（Ａ）から（Ｂ）への変換と同様に、ヘッダとＥＯＢ符号とパディングデータを変換すればよい。
【００５２】
占有率検出部１１は、第１のバッファ６、第２のバッファ７に滞留しているデータの占有率を検出して占有率を制御部１２に出力する。第１、第２のバッファをＦＩＦＯで構成して、占有率はＦＩＦＯの使用されたワード数（以後、ｕｓｅｄｗｏｒｄと呼ぶ）をモニタすることで検出できる。
【００５３】
制御部１２は、占有率検出部１１の結果から、第１のバッファ６と第２のバッファ７の占有率が低い方の復号部で復号できる符号化データになるように、データ変換部１０を制御する。つまり、第１のバッファ６の占有率の方が低く、着目ブロックが同一色ブロックであるとき、ヘッダとＥＯＢ符号とパディングデータを第１の復号部４で復号される符号化データに変換した後、第１の復号部４へ転送する。また、第２のバッファ７の占有率の方が低く、着目ブロックが同一色ブロックであるとき、ヘッダとＥＯＢ符号とパディングデータを第２の復号部５で復号される符号化データに変換した後、第２の復号部５に転送する。ここで、占有率の比較はｕｓｅｄｗｏｒｄを用いて以下のようにできる。たとえば、第１のバッファ６と第２のバッファ７が同じ段数のＦＩＦＯである場合、ｕｓｅｄｗｏｒｄを直接比較するとよいので、ｕｓｅｄｗｏｒｄが小さい方のバッファの占有率が小さいと判断する。第１のバッファ６と第２のバッファ７の段数が異なる場合は、ＦＩＦＯの全ワード数からｕｓｅｄｗｏｒｄを減算した残りのワード数を比較してもよい。残りのワード数が大きい方のバッファの占有率が小さいと判断する。また、実際にｕｓｅｄｗｏｒｄをＦＩＦＯの全ワード数で割って占有率を求めてもよい。
【００５４】
このように制御することにより、第１あるいは第２の復号部のいずれか１つの復号部のみを使ってブロックデータを復号することが可能になる。さらに、第１あるいは第２の復号部の選択は、バッファ占有率に基づいて行われるので、両方の復号部をバランスよく使用することができ、リソース使用効率を高めることができる。
【００５５】
あるいは、第１の復号部と第２の復号部の動作状態を検出して、動作していない方の復号部で復号できるようにデータを変換してもよい。このように制御すると、動作していない方の復号部を優先的に使って復号を行うことができ、リソース使用率を高めることができる。
【００５６】
［第３の実施形態］
次に第３の実施形態を説明する。本第３の実施形態における復号対象の符号化データは第１の実施形態と同様であるものとし、その説明については省略する。図６に本第２の実施形態における画像復号装置のブロック構成図を示す。なお、入力される符号化データは第１の実施形態と同様であるものとし、その説明を省略する。本第３の実施形態における画像復号装置において、第１、第２の実施形態と同じ動作をするブロックは同じ番号を付し、説明を省略する。
【００５７】
ブロックデータ読み出し部２１は、１ブロック分の固定長の符号化データを読み出す手段である。本第３の実施形態では、メモリから隣接する２ブロック分の固定長の符号化データを続けて読み出して、第１の符号化データを第１のヘッダ解析部２２へ、第２の符号化データを第２のヘッダ解析部２３へ出力する。
【００５８】
第１のヘッダ解析部２２は、符号化データのヘッダを解析して符号化データの種別を判定し、その判定結果（解析結果）を第１のデータ変換部２４に供給する。第２のヘッダ解析部２３も同様で、符号化データのヘッダを解析して符号化データの種別を判定し、その判定結果（解析結果）を第２のデータ変換部２５に供給する。
【００５９】
抽出色があれば、その符号化データは第１の復号部４で復号する。また、抽出色がなければ、第２の復号部５で復号する。この動作は第１の実施形態と同様である。本第３の実施形態では、第１のヘッダ解析部２２と第２のヘッダ解析部２３が並列に動作する。しかし、同じ解析結果となったとしても、復号部は一つしか利用できないので、抽出色がある場合は、データ転送部２６にて、第１と第２の符号化データの順で第１の復号部４へデータを転送する。また、本実施形態においても、ヘッダの後に抽出色あるいはＤＣデータがあるのでこれらのデータを保持する。その後、ＥＯＢ符号の有無を判別する。抽出色データまたはＤＣデータの直後にＥＯＢ符号がある場合は、同一色ブロックであると判断する。同一色ブロックであると判断した場合は、各々、第１のデータ変換部２４、第２のデータ変換部２５でデータを一部分変換する。その際、第１のデータ変換部２４は、第１の復号部４で復号可能な符号化データに変換し、第２のデータ変換部２５は、第２の復号化部で復号可能な符号化データに変換する。具体的なデータ変換の方法は第１の実施形態で説明したもの同じであるので説明を省略する。
【００６０】
データ転送部２６は、２つの符号化データが共に同一色ブロックであった場合、上述したように第１のデータ変換部２４からの符号化データを第１1の復号部４へ転送し、第２のデータ変換部２５からの符号化データを第２の復号部５へ転送する。ただし、図２（Ａ）のように抽出色ありの符号化データが入力された場合は、第１、第２のデータ変換部のいずれからの入力データであっても、第１の復号部４へデータを出力する。また、図２（Ｂ）のように抽出色なしの符号化データが入力された場合は、第１、第２のデータ変換部のいずれからの入力データであっても、第２の復号部５へデータを出力する。制御部２７は上述したようにブロック画像復号装置全体を制御するものである。
【００６１】
以上のような構成にすることで、同一色データからなるブロックを連続して処理する場合に、２ブロックを並列に処理することができるので、スループットを向上することが可能になる。
【００６２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012151573.tif 000003
【図２】
2012151573.tif 000004
【図３】
2012151573.tif 000005
【図４】
2012151573.tif 000006
【図５】
2012151573.tif 000007
【図６】
2012151573.tif 000008