(57)【要約】【課題】  JPEG-LSのランレングス復号化処理において、ランレングスが０の場合でも復号化処理性能を低下させない。【解決手段】  符号化データ列の頭出しを行う第１の頭出し手段と、第１の頭出し手段によって頭出しされた符号化データ列をランレングス復号化するランレングス復号化手段と、ランレングス符号の符号長を基に、第１の頭出し手段から出力された符号化データ列を頭出しする第２の頭出し手段と、第２の頭出し手段によって頭出しされた符号化データ列をラン割り込み復号化するラン割り込み復号化手段と、ランレングス符号の符号長とラン割り込み符号の符号長の合計を算出し、第１の頭出し手段に出力する合計符号長算出手段を備える。【選択図】  図１
2010004272.tif 000002
【特許請求の範囲】
【請求項１】
符号化データ列の頭出しを行う第１の頭出し手段と、
同じ値を持つ画素の連続数を符号化したランレングス符号を、前記第１の頭出し手段によって頭出しされた符号化データ列から復号化し、同じ値を持つ画素の連続数と、当該ランレングス符号の符号長を出力するランレングス復号化手段と、
前記ランレングス復号化手段から出力されたランレングス符号の符号長を基に、前記第１の頭出し手段から出力された符号化データ列を頭出しする第２の頭出し手段と、
同じ値を持つ画素の連続が途切れる画素の値を符号化したラン割り込み符号を、前記第２の頭出し手段によって頭出しされた符号化データ列から復号化し、復号化された画素の値と、当該ラン割り込み符号の符号長を出力するラン割り込み復号化手段と、
前記ランレングス復号化手段から出力された画素の連続数を基に、連続する画素の値と、前記ラン割り込み復号化手段から出力された画素の値のいずれかを選択する制御手段と、
前記ランレングス復号化手段から出力されたランレングス符号の符号長と、前記ラン割り込み復号化手段から出力されたラン割り込み符号の符号長を基に、ランレングス符号とラン割り込み符号の符号長の合計を算出し、前記第１の頭出し手段に出力する合計符号長算出手段
から構成されることを特徴とする画像復号化装置。
【請求項２】
前記ランレングス復号化手段はさらに、ランレングス符号の復号化の結果得られるパラメータを出力し、
前記ラン割り込み復号化手段はさらに、前記ランレングス復号化手段から出力されたパラメータを基に、ラン割り込み符号を復号化することを特徴とする請求項１に記載の画像復号化装置。
【請求項３】
前記ランレングス符号はMELCODE符号化方式で符号化されていることを特徴とする請求項１に記載の画像復号化装置。
【請求項４】
前記ラン割り込み符号はGolomb-Rice符号化方式で符号化されていることを特徴とする請求項１に記載の画像復号化装置。
【請求項５】
JPEG-LS符号化方式により符号化された符号化データを復号化することを特徴とする請求項１に記載の画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化された画像データの復号化を行う復号化装置に関するものである。
【背景技術】
【０００２】
近年、静止画像を電子データとして圧縮し外部に伝送したりメモリに格納したりする用途が増加している。これら画像の中でも、特に医療用の静止画像等については画質を劣化させない様に可逆（ロスレス）圧縮符号化されることが好ましい。
【０００３】
可逆圧縮符号化の方式としては、JPEG-LSが知られている。JPEG-LSの圧縮符号化方法については、例えば「“lossless and near-lossless coding of continuous tone still images”ISO/IEC JTC1/SC29 WG1 14495」などに、その詳細が記載されている。
【０００４】
JPEG-LS方式を採用した画像符号化装置及び画像復号化装置として、例えば特許文献１の符号化装置や、特許文献２の復号化装置が提案されている。
【０００５】
図２は、JPEG-LS復号化を実現する画像復号化装置の構成を表す図である。図２を用いてJPEG-LSの復号化方法を説明する。
【０００６】
画像メモリ２０１から、図３で示される復号化対象の画素Ｘの周辺に位置する画素Ａ，Ｂ，Ｃ，Ｄが読み出される。
【０００７】
コンテクスト判別部２０２は、復号化対象画素Ｘの周辺に位置する画素Ａ，Ｂ，Ｃ，Ｄのコンテクストを判別する。
【０００８】
コンテクスト・パラメータ・メモリ２０３には、コンテクスト・パラメータが格納されており、復号化対象画素Ｘの予測値の修正に用いられる。
【０００９】
レギュラーモード復号化部２０４は、復号化対象画素Ｘの周辺画素Ａ、Ｂ、Ｃ、Ｄ（位置関係は図３参照）の値を基に、復号化対象画素Ｘの予測値を算出する。予測値を前記コンテクスト・パラメータに基づいて修正する。次に、入力された符号化データ列に対しGolomb-Rice符号化方式による復号化を行い、予測誤差値を得る。予測誤差値と修正された予測値を基に画素値を得る。
【００１０】
ランモード復号化部２０５は、図４に示される同一の画素値を持つ画素の連続数（以下、画素の連続数と記す）を表す符号（ランレングス符号と呼ぶ）をMELCODE符号化方式により復号化する。また、同一の画素値を持つ画素の連続が途切れる画素（図４の画素β）はラン割り込み画素と呼ばれ、Golomb-Rice符号化方式により復号化される。
【００１１】
制御部２０７は、コンテクスト判別部２０２によって判別されたコンテクストに基づいて、レギュラーモード復号化部２０４から出力されたデータとランモード復号化部２０５から出力されたデータを、次のように選択して外部へ出力する。周辺画素値が全て同一（Ａ＝Ｂ＝Ｃ＝Ｄ）である場合は、ランモード復号化部２０４から出力されたデータを選択する。そうでない場合には、レギュラーモード復号化部２０４から出力されたデータを選択する。
【００１２】
次に、従来の画像復号化装置のランモード復号化部２０５の動作を、図１１を用いて詳細に説明する。符号化データ頭出し部２０５１は、入力された符号化データ列の頭出しを行う。遅延部２０５２は、符号化データ頭出し部２０５１によって頭出しされた符号化データ列を１クロックサイクル遅延する。
【００１３】
ランレングス復号化部２０５４は、遅延された符号化データ列からMELCODE符号化方式によってランレングス符号を復号化し、画素の連続数と、復号化に用いたパラメータと、ランレングス符号の符号長とを出力する。
【００１４】
ラン割り込み復号化部２０５５は、ランレングス復号化部２０５４から出力されたパラメータを用いて、遅延された符号化データ列からラン割り込み画素の符号をGolomb-Rice符号化方式によって復号化し、画素値と符号長を出力する。
【００１５】
制御部２０５３は、ランレングス復号化部２０５４から出力された画素の連続数を基に、外部に出力する画素値を選択する選択器２０５６と、符号長を選択する選択器２０５７を制御する。選択器２０５７によって選択された符号長は、符号化データ頭出し部２０５１へ入力される。
【特許文献１】特開2000-115781号公報
【特許文献２】特開2000-115783号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
さて、JPEG-LSのランレングス符号では、図５に示すように、画素の連続数が０の場合がある。この場合、図５に示す復号化対象画素βを復号化処理するのに、画素の連続数が０であることを表すランレングス符号と、ラン割り込み画素であるβを表すラン割り込み符号の２つの符号を復号化しなければならない。
【００１７】
従来の画像復号化装置では、ランレングス復号化部２０５４がランレングス符号の復号化を行い、その次のクロックサイクルでラン割り込み復号化部２０５５がラン割り込み画素の符号の復号化を行っていた。そのため、１つの画素の復号化に２クロックサイクルの時間がかかり、復号化処理性能が半分に低下するという問題があった。
【００１８】
そこで、本発明は、画素の連続数が０のランレングス符号が出現しても、復号化処理性能が低下しない画像復号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
以上に述べた課題を解決するため、本発明の画像復号化装置は、符号化データ列の頭出しを行う第１の頭出し手段と、同じ値を持つ画素の連続数を符号化したランレングス符号を、前記第１の頭出し手段によって頭出しされた符号化データ列から復号化し、同じ値を持つ画素の連続数と、当該ランレングス符号の符号長を出力するランレングス復号化手段と、前記ランレングス復号化手段から出力されたランレングス符号の符号長を基に、前記第１の頭出し手段から出力された符号化データ列を頭出しする第２の頭出し手段と、同じ値を持つ画素の連続が途切れる画素の値を符号化したラン割り込み符号を、前記第２の頭出し手段によって頭出しされた符号化データ列から復号化し、復号化された画素の値と、当該ラン割り込み符号の符号長を出力するラン割り込み復号化手段と、前記ランレングス復号化手段から出力された画素の連続数を基に、連続する画素の値と、前記ラン割り込み復号化手段から出力された画素の値のいずれかを選択する制御手段と、前記ランレングス復号化手段から出力されたランレングス符号の符号長と、前記ラン割り込み復号化手段から出力されたラン割り込み符号の符号長を基に、ランレングス符号とラン割り込み符号の符号長の合計を算出し、前記第１の頭出し手段に出力する合計符号長算出手段を備えることを特徴とする。
【発明の効果】
【００２０】
本発明の画像復号化装置は、同一の画素値を持つ画素の連続数を表すランレングス符号と、同一の画素値を持つ画素の連続が途切れる画素を表すラン割り込み符号とを１サイクルで復号化できる。よって、ランモード復号化が選択されたときに、画素の連続数が０であったとしても従来の画像復号化装置のように性能が低下せず、高速に復号化処理を行えるという効果がある。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００２２】
本発明の第１の実施形態の画像復号化装置の構成と動作を、図１及び図２を参照して詳細に説明する。本実施形態の画像復号化装置は、図２に示す画像メモリ２０１、コンテクスト判別部２０２、コンテクストパラメータメモリ２０３、レギュラーモード復号化部２０４、ランモード復号化部２０５、制御部２０７、選択器２０８から構成される。
【００２３】
図２のランモード復号化部２０５以外の動作は、背景技術で説明した従来の画像復号化装置と同様である。
【００２４】
一方、図２のランモード復号化部２０５は、図１に示す符号化データ頭出し部１０１及び１０３、遅延部１０２、制御部１０４、ランレングス復号化部１０５、ラン割り込み復号化部１０６、合計符号長算出部１０７、選択器１０８から構成される。
【００２５】
符号化データ頭出し部１０１は、外部から入力された符号化データ列の頭出しを行う。遅延部１０２は、符号化データ頭出し部１０１によって頭出しされた符号化データ列を１クロックサイクル遅延させる。遅延された符号化データ列は、ランレングス復号化部１０５及び符号化データ頭出し部１０３へ入力される。
【００２６】
図６は、ランレングス復号化の手順を示すフローチャートであり、「“lossless and near-lossless coding of continuous tone still images”ISO/IEC JTC1/SC29 WG1 14495」に記載のCode segment A.15及びCode segment A.16と逆の処理を行うものである。図７にCode segment A.15及びCode segment A.16を記す。
【００２７】
図６及び図７において、RUNcntは画素の連続数を数えるカウンタである。J[]はランレングス符号化及び復号化に用いられるパラメータ列である。RUNindexは当該パラメータ列のインデクスであり、画像復号化処理開始時に0に初期化される。図８にパラメータ列J[]の中身を示す。なお、本発明はパラメータ列J[]の具体的な値に限定されるものではなく、RUNindexの初期値に限定されるものではない。
【００２８】
以下、図６を用いてランレングス復号化部１０５の処理を説明する。まず、RUNcntを0に初期化する（ステップS301）。次に、符号化データ列の先頭から1ビットを参照する（ステップS302）。参照されたビット値が1であった場合（ステップS303でYES）、ステップS304を実行する。ステップS304では、1をJ[RUNindex]ビット左シフトした値、即ち2のJ[RUNindex]乗をRUNcntに加算する。例えば、RUNindexが7であった場合、図８よりJ[RUNindex]の値は1であるので、ステップS304ではRUNcntに2が加算される。次に、符号化データ列から1ビットを頭出しする（ステップS305）。RUNindexが31より小さい場合（ステップS306でYES）は、ステップS307でRUNindexに1を加算して、ステップS302へ処理を移行する。そうでない場合（ステップS306でNO）は、そのままステップS302へ処理を移行する。
【００２９】
一方、ステップS303でビット値が1でなかった場合（NO）、ステップS308へ処理を移行する。ステップS308では、符号化データ列の先頭からJ[RUNindex]＋1ビットを参照する。RUNindexが8であった場合、図８よりJ[RUNindex]は2であるので、3ビットを参照する。参照されたビット列を符号無し整数としてRUNcntに加算する。例えば、ステップS308で抽出されたビット列が"011"であった場合、RUNcntに3を加算する。次に、符号化データ列からJ[RUNindex]＋1ビットを頭出しする（ステップS309）。次に、RUNindexが0より大きいか否かを判定し（ステップS310）、RUNindexが0より大きい場合（ステップS310でYES）は、RUNindexから1を引く（ステップS311）。そうでない場合はそのまま処理を終了する。
【００３０】
なお、図６のフローチャートにおいて、ステップS301〜S307が「“lossless and near-lossless coding of continuous tone still images”ISO/IEC JTC1/SC29 WG1 14495」に記載のCode segment A.15（図７）に対応し、ステップS308〜S311がCode segment A.16（図７）に対応する。図９に、ランレングス符号の構成を示す。本実施形態の画像復号化装置のランレングス復号化部１０５は、図９のランレングス符号のうちCode segment A.15の部分を１ビットあたり１サイクルで復号化する。また、Code segment A.16の部分を１サイクルで復号化する。なお、RUNcntが0の場合、即ち画素の連続数が0のときは、Code segment A.15のwhile文の条件から明らかなように、Code segment A.16の部分のみが符号化されている。RUNcntが0の場合のランレングス符号を図１０に示す。
【００３１】
以上の処理により得られたRUNcntの値が、画素の連続数を表す。
【００３２】
ランレングス復号化部１０５によって復号化された画素の連続数は、制御部１０４へ入力される。なお、ランレングス復号化部１０５がランレングス符号を完全に復号化し終える前に、図９に示すCode segment A.15の部分が１ビット復号化された時点での画素の連続数RUNcntが制御部１０４へ順次入力される。これにより、後述する制御部１０４は、画素の連続数が完全に復号化される前に、画素が連続していることが確定した時点で、画素値を復号化装置外部へ出力させることができるため、復号化処理性能が低下しない。
【００３３】
また、ランレングス符号の符号長は、符号化データ頭出し部１０３及び合計符号長算出部１０７へ入力される。パラメータJ[RUNindex]は、ラン割り込み復号化部１０６へ入力される。
【００３４】
符号化データ頭出し部１０３は、遅延部１０２から出力された符号化データ列を、ランレングス復号化部１０５から出力されたランレングス符号の符号長に基づいて頭出しする。符号化データ頭出し部１０３によって頭出しされた符号化データ列は、ラン割り込み復号化部１０６へ入力される。
【００３５】
ラン割り込み復号化部１０６は、符号化データ頭出し部１０３によって頭出しされた符号化データ列に対しGolomb-Rice復号化を行い、ラン割り込み画素を出力する。Golomb-Riceの最大符号長は、LIMIT - J[RUNindex] - 1ビットである。LIMITは画素のビット精度に応じて定まる定数であり、10ビット精度のときは40となる。なお、ラン割り込み復号化部１０６の処理は、ランレングス復号化部１０５による図９のCode segment A.16の部分に対する復号化処理と同一クロックサイクルにて行われる。復号化された画素は、選択器１０８へ入力される。即ち、図１０に示すランレングス符号のCode Segment A.16部分とラン割り込み符号とを同一クロックサイクルで復号化する。
【００３６】
制御部１０４は、ランレングス復号化部１０５から入力された画素の連続数に基づいて、ラン割り込み復号化部１０６によって復号化されたラン割り込み画素と連続する画素値のいずれか１つを選択するための制御信号を、選択器１０８へ出力する。
【００３７】
選択器１０８は、制御部１０４からの制御信号に基づいて、本実施形態の画像復号化装置の外部へ出力する画素を選択する。
【００３８】
合計符号長算出部１０７は、ランレングス復号化部１０５から入力されたランレングス符号の符号長と、ラン割り込み復号化部１０６から入力されたラン割り込み符号の符号長を合計し、合計された符号長を符号化データ頭出し部１０１へ出力する。
【００３９】
以上説明したように、本実施形態の画像復号化装置は、図１０に示すランレングス符号のCode segment A.16部分とラン割り込み符号とを同一クロックサイクルで復号化するため、画素の連続数が０の場合であっても復号化処理性能が低下することがなく、高速に画像復号化処理を行うことができる。
【００４０】
なお、本実施形態の画像復号化装置では、符号化方式としてJPEG-LSを例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、ランレングス符号やラン割り込み符号にハフマン符号を用いてもよい。また、符号化モードの判定に用いられる周辺画素も、図３で示されるものに限定されない。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態の画像復号化装置のランモード復号化部の構成を表す図
【図２】JPEG-LS方式による画像復号化装置の構成を表す図
【図３】復号化対象画素と周辺画素との関係を表す図
【図４】画素の連続数が４のときの画像の例
【図５】画素の連続数が０のときの画像の例
【図６】本発明の実施形態のランレングス復号化部１０５による処理の流れを表すフローチャート
【図７】“lossless and near-lossless coding of continuous tone still images”ISO/IEC JTC1/SC29 WG1 14495」に記載の処理Code segment A.15及びCode segment A.16
【図８】パラメータ列J[]
【図９】ランレングス符号
【図１０】Code segment A.16による処理のみで符号化されたランレングス符号
【図１１】従来のJPEG-LS画像復号化処理装置のランモード復号化部の構成を表す図
【符号の説明】
【００４２】
１０１  符号化データ頭出し部
１０２  遅延部
１０３  符号化データ頭出し部
１０４  制御部
１０５  ランレングス復号化部
１０６  ラン割り込み復号化部
１０７  合計符号長算出部
１０８  選択器
【図１】
2010004272.tif 000003
【図２】
2010004272.tif 000004
【図３】
2010004272.tif 000005
【図４】
2010004272.tif 000006
【図５】
2010004272.tif 000007
【図６】
2010004272.tif 000008
【図７】
2010004272.tif 000009
【図８】
2010004272.tif 000010
【図９】
2010004272.tif 000011
【図１０】
2010004272.tif 000012
【図１１】
2010004272.tif 000013