(57)【要約】      （修正有）【課題】復号化処理の処理速度を向上させるための画像圧縮伸張装置および画像圧縮伸張方法を提供する。【解決手段】符号化装置１０は、シンボル値を可変長符号化して符号化データを生成する符号化部１０１と、生成された符号化データの１画素を、Ｎ個のプレフィックスおよびＮ個のサフィックスをパッキングして第１パッキングデータを生成する第１パッキング部１０２と、第１パッキング部１０２によって生成された第１パッキングデータを所定画素単位でパッキングし第２パッキングデータを生成する第２パッキング部１０３と、を備えている。復号化装置３０は、第２パッキング部１０３によって生成された第２パッキングデータをアン・パッキングして符号化データの先頭を切り出すアン・パッキング部３０１と、先頭が切り出された符号化データを格納するレジスタ３０２と、レジスタ３０２に格納された符号化データを復号化する復号化部３０３と、を備えている。【選択図】図１
2010050697.tif 000002
【特許請求の範囲】
【請求項１】
画像データのシンボル値を符号化して、符号化データを生成する符号化装置と、前記符号化装置によって生成された符号化データを復号化する復号化装置と、を備える画像圧縮伸張装置であって、
前記符号化装置は、
所定の符号化方式に従って前記シンボル値を可変長符号化して、前記符号化データを生成する符号化部と、
前記符号化部によって生成された符号化データの１画素を構成するＮ（Ｎは自然数）個のシンボルに対応するＮ個のプレフィックスおよびＮ個のサフィックスを、前記Ｎ個のプレフィックスの後に前記Ｎ個のサフィックスが配置されるようにパッキングして、第１パッキングデータを生成する第１パッキング部と、
前記第１パッキング部によって生成された第１パッキングデータを所定画素単位でパッキングして、第２パッキングデータを生成する第２パッキング部と、を備え、
前記復号化装置は、
前記第２パッキング部によって生成された第２パッキングデータをアン・パッキングして、次に復号化すべき符号化データの先頭を切り出すアン・パッキング部と、
前記アン・パッキング部によって先頭が切り出された符号化データを格納するレジスタと、
前記レジスタに格納された符号化データを復号化する復号化部を備えることを特徴とする画像圧縮伸張装置。
【請求項２】
前記アン・パッキング部は、前記Ｎ個のプレフィックスの符号長の合計値および前記Ｎ個のサフィックスの符号長の合計値に基づいて前記Ｎ個のシンボルの符号長の合計値を算出し、その算出結果に基づいて前記レジスタに対するシフト演算を行う請求項１に記載の画像圧縮伸張装置。
【請求項３】
前記第２パッキング部は、前記Ｎ個のサフィックスの符号長をヘッダとして付加して、前記第２パッキングデータを生成する請求項１に記載の画像圧縮伸張装置。
【請求項４】
画像データの圧縮および伸張を行うための画像圧縮伸張方法であって、
所定の符号化方式に従って前記画像データのシンボル値を可変長符号化して、符号化データを生成し、
前記符号化データの１画素を構成するＮ（Ｎは自然数）個のシンボルに対応するＮ個のプレフィックスおよびＮ個のサフィックスを、前記Ｎ個のプレフィックスの後に前記Ｎ個のサフィックスが配置されるようにパッキングして、第１パッキングデータを生成し、
前記第１パッキングデータを所定画素単位でパッキングして、第２パッキングデータを生成し、
前記第２パッキングデータをアン・パッキングし、次に復号化すべき符号化データの先頭を切り出して、その符号化データをレジスタに格納し、
前記レジスタに格納された符号化データを復号化することを特徴とする画像圧縮伸張方法。
【請求項５】
前記Ｎ個のプレフィックスの符号長の合計値および前記Ｎ個のサフィックスの符号長の合計値に基づいて前記Ｎ個のシンボルの符号長の合計値を算出し、その算出結果に基づいて前記レジスタに対するシフト演算を行う請求項４に記載の画像圧縮伸張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮および伸張に用いられる画像圧縮伸張装置および画像圧縮伸張方法に関する。
【背景技術】
【０００２】
符号化データのあるシンボルを可変長符号であるプレフィックスと固定長符号であるサフィックスとを用いて符号化する場合には、符号化装置は、プレフィックスとサフィックスとを交互に並べ、それらをパッキングして、パッキングデータを生成する。このような符号化データを復号化するための復号化装置は、Ｎ（Ｎは自然数）個のシンボルに対応する符号化データを１サイクルで処理するために、以下のような処理を行う。
【０００３】
前提として、あるサイクルで処理すべき符号化データがＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）側に詰められてレジスタに格納されているとする。はじめに、復号化装置は、レジスタのＭＳＢ側に詰められて格納されているデータを１つ目（Ｎ＝１）のシンボルに対応する復号化部に入力するとともに、この符号化データから、１つ目のシンボルに対応するプレフィックスの符号長を算出し、その算出結果に１つ目のシンボルに対応するサフィックスの固定長を加算して、１つ目のシンボルの符号長を算出する。次に、復号化装置は、レジスタに格納されている符号化データを１つ目のシンボルの符号長を用いて左シフトした値（以下、「左シフトデータ」という）を２つ目（Ｎ＝２）のシンボルに対応する復号化部に入力する。このとき、復号化装置は、Ｎ個目の左シフトデータをレジスタのＭＳＢ側に詰めて格納する。
【０００４】
しかしながら、一般的な画像データは、１つの画素が３つのコンポーネントからなる（すなわち、Ｎ＝３である）ので、各コンポーネントが上記各シンボルに相当すると考えると、１サイクルで３つのシンボルを復号化する必要がある。このとき、復号化装置のクロック周波数が高い場合には、シンボルの符号長の算出およびシフト演算がタイミングのクリティカルパスになるので、復号化処理の処理速度を向上させることができない。
【特許文献１】特開平８−１１６２６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、復号化処理の処理速度を向上させるための画像圧縮伸張装置および画像圧縮伸張方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の第１態様によれば、
画像データのシンボル値を符号化して、符号化データを生成する符号化装置と、前記符号化装置によって生成された符号化データを復号化する復号化装置と、を備える画像圧縮伸張装置であって、
前記符号化装置は、
所定の符号化方式に従って前記シンボル値を可変長符号化して、前記符号化データを生成する符号化部と、
前記符号化部によって生成された符号化データの１画素を構成するＮ（Ｎは自然数）個のシンボルに対応するＮ個のプレフィックスおよびＮ個のサフィックスを、前記Ｎ個のプレフィックスの後に前記Ｎ個のサフィックスが配置されるようにパッキングして、第１パッキングデータを生成する第１パッキング部と、
前記第１パッキング部によって生成された第１パッキングデータを所定画素単位でパッキングして、第２パッキングデータを生成する第２パッキング部と、を備え、
前記復号化装置は、
前記第２パッキング部によって生成された第２パッキングデータをアン・パッキングして、次に復号化すべき符号化データの先頭を切り出すアン・パッキング部と、
前記アン・パッキング部によって先頭が切り出された符号化データを格納するレジスタと、
前記レジスタに格納された符号化データを復号化する復号化部を備えることを特徴とする画像圧縮伸張装置が提供される。
【０００７】
本発明の第２態様によれば、
画像データの圧縮および伸張を行うための画像圧縮伸張方法であって、
所定の符号化方式に従って前記画像データのシンボル値を可変長符号化して、符号化データを生成し、
前記符号化データの１画素を構成するＮ（Ｎは自然数）個のシンボルに対応するＮ個のプレフィックスおよびＮ個のサフィックスを、前記Ｎ個のプレフィックスの後に前記Ｎ個のサフィックスが配置されるようにパッキングして、第１パッキングデータを生成し、
前記第１パッキングデータを所定画素単位でパッキングして、第２パッキングデータを生成し、
前記第２パッキングデータをアン・パッキングし、符号化データを生成して、その符号化データをレジスタに格納し、
前記レジスタに格納された符号化データを復号化することを特徴とする画像圧縮伸張方法が提供される。
【発明の効果】
【０００８】
本発明によれば、復号化処理の処理速度を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施例について図面を参照して説明する。なお、以下の実施例は、本発明の実施の一形態であって、本発明の範囲を限定するものではない。
【実施例１】
【００１０】
はじめに、本発明の実施例１について説明する。本発明の実施例１は、Ｎ個のプレフィックスと、Ｎ個のプレフィックスの後に配置されるＮ個のサフィックスと、から構成されるパッキングデータを用いて行われる復号化処理の例である。ここで、本発明の実施例１では、各プレフィックスの符号長は未知であり、各サフィックスの符号長は既知であるとする。
【００１１】
図１は、本発明の実施例１に係る画像圧縮伸張装置１の構成を示すブロック図である。
【００１２】
図１に示すように、本発明の実施例１に係る画像圧縮伸張装置１は、符号化装置１０と、メモリサブシステム２０と、復号化装置３０と、を備えている。
【００１３】
また、図１に示すように、符号化装置１０は、符号化部１０１と、第１パッキング部１０２と、第２パッキング部１０３と、を備えている。
【００１４】
また、図１に示すように、符号化部１０１は、外部装置（図示せず）から画像データを読み出し（１１）、所定の符号化方式に従って画像データのシンボル値を可変長符号化し、各シンボルに対応するプレフィックスおよびサフィックスを第１パッキング部１０２に送る（１２）。たとえば、符号化部１０１は、ＤＰＣＭ（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）処理などの予測符号化モジュールおよび量子化モジュール、ならびに逆量子化モジュールおよび逆予測符号化モジュールを含んでいる。この場合には、ＤＰＣＭ処理によって算出された複数の画像データの間の差分値がシンボル値となる。
【００１５】
また、図１に示すように、第１パッキング部１０２は、符号化部１０１によって生成された符号化データの１画素を構成するＮ個のシンボルについて、Ｎ個のプレフィックスおよびＮ個のサフィックスを、Ｎ個のプレフィックスの後にＮ個のサフィックスが配置されるようにパッキングし、１画素分の第１パッキングデータ（図２を参照）を生成して、第２パッキング部１０３に送る（１３）。Ｎは、符号化部１０１の符号化方式に従って定められる値であって、１画素分のコンポーネントの数を示す値である。たとえば、輝度信号Ｙと色差信号Ｃｂ，Ｃｒとの関係が、Ｙ：Ｃｂ：Ｃｒ＝４：４：４の場合にはＮ＝３であり、Ｙ：Ｃｂ：Ｃｒ＝４：２：２の場合にはＮ＝２である。
【００１６】
図２は、本発明の実施例１に係るＮ＝３のときの第１パッキングデータのデータ構造を示す概略図である。
【００１７】
図２に示すように、Ｎ＝３のときの第１パッキングデータは、ｉ番目乃至ｉ＋２番目のシンボルに対応するプレフィックス（Ｐｒｅｆｉｘ（ｉ），（ｉ＋１），（ｉ＋２））を含むプレフィックス部と、そのプレフィックス部の後に配置されるｉ番目乃至ｉ＋２番目のシンボルに対応するサフィックス（Ｓｕｆｆｉｘ（ｉ），（ｉ＋１），（ｉ＋２））を含むサフィックス部と、から構成されるデータ構造を有する。各プレフィックスは可変長符号であり、各サフィックスは固定長符号である。
【００１８】
また、図１に示すように、第２パッキング部１０３は、第１パッキング部１０２から送られた１画素分の第１パッキングデータを順次受け取り、Ｍ（Ｍは２以上の整数）画素分の第１パッキングデータをパッキングし、第２パッキングデータ（図３を参照）を生成する。そして、第２パッキング部１０３は、後述するバス２０１のバス幅分の第２パッキングデータが生成されたときに、それらの第２パッキングデータを後述するバス２０１に出力する（１４）。Ｍは、第２パッキングデータを構成する画素数を示す値である。
【００１９】
図３は、本発明の実施例１に係るＭ＝３２のときの第２パッキングデータのデータ構造を示す概略図である。
【００２０】
図３に示すように、Ｍ＝３２のときの第２パッキングデータは、３２画素分の第１パッキングデータから構成されるデータ構造を有する。したがって、Ｎ＝３の場合には、Ｍ＝３２のときの第２パッキングデータは、９６個のプレフィックスおよび９６個のサフィックスを含む。
【００２１】
また、図１に示すように、メモリサブシステム２０は、バス２０１と、システムメモリコントローラ２０２と、システムメモリ２０３と、ＤＭＡ（Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ Ａｃｃｅｓｓ）コントローラ（図示せず）と、を備えている。
【００２２】
また、図１に示すように、バス２０１は、第２パッキング部１０３、システムメモリコントローラ２０２、および後述するアン・パッキング部３０１に接続されている。また、バス２０１は、第２パッキング部１０３、システムメモリコントローラ２０２、および後述するアン・パッキング部３０１との間で所定のバス幅（たとえば、６４ｂｉｔまたは３２ｂｉｔ）分のデータを転送する。
【００２３】
また、図１に示すように、システムメモリコントローラ２０２は、システムメモリ２０３を制御する。また、システムメモリコントローラ２０２は、第２パッキング部１０３から出力されたバス幅分の第２パッキングデータをバス２０１経由で受け取り（２１）、その第２パッキングデータをシステムメモリ２０３に書き込む（２２）。また、システムメモリコントローラ２０２は、システムメモリ２０３に記憶された第２パッキングデータを読み出し（２２）、その第２パッキングデータを後述するアン・パッキング部３０１にバス２０１経由で出力する（２１，３１）。
【００２４】
また、図１に示すように、システムメモリ２０３は、システムメモリコントローラ２０２の制御に基づいて、第２パッキング部１０３から送られた第２パッキングデータを含む様々なデータを記憶可能である。
【００２５】
なお、ＤＭＡコントローラ（図示せず）は、第２パッキング部１０３、バス２０１、システムメモリコントローラ２０２、およびシステムメモリ２０３のそれぞれの間でデータの転送を制御する。
【００２６】
また、図１に示すように、復号化装置３０は、アン・パッキング部３０１と、レジスタ３０２と、復号化部３０３と、を備えている。
【００２７】
また、図１に示すように、アン・パッキング部３０１は、符号化データを格納するデータバッファを備えている。また、アン・パッキング部３０１は、データバッファに空きがあるときに、バス２０１からバス幅分の第２パッキングデータを受け取り（３１）、その第２パッキングデータをデータバッファに格納する。また、アン・パッキング部３０１は、レジスタ３０２に格納された符号化データに含まれるＮ個のプレフィックスの符号長の合計値およびＮ個のサフィックスの符号長の合計値に基づいてＮ個のシンボルの符号長の合計値を算出する。また、アン・パッキング部３０１は、レジスタ３０２に格納された符号化データとデータバッファに格納された符号化データとを連接し、レジスタ３０２に対してＮ個のシンボルの符号長の合計値でシフト演算を行い、次に復号化すべきＮ個のシンボルの符号化データの先頭を切り出して、その符号化データをレジスタ３０２に格納する（３２）。また、アン・パッキング部３０１は、レジスタ３０２に少なくとも１画素分の符号化データが常に格納されているようにする。また、アン・パッキング部３０１は、これらの処理を実現するための加算器およびシフト演算器、ならびに符号と符号長の関係を示すテーブルを備えている。
【００２８】
また、図１に示すように、レジスタ３０２は、少なくとも１画素分の符号化データをＭＳＢ側に詰めて格納する。
【００２９】
図４は、本発明の実施例１に係る復号化装置３０の復号化処理の処理手順を示すフローチャートである。
【００３０】
図４に示すように、はじめに、復号化工程（Ｓ４０１）が行われる。復号化工程（Ｓ４０１）では、復号化部３０３が、レジスタ３０２に格納された符号化データをＭＳＢ側から読み出し、その符号化データを復号化して、外部装置（図示せず）に出力する。
【００３１】
次に、図４に示すように、プレフィックス符号長算出工程（Ｓ４０２）が行われる。プレフィックス符号長算出工程（Ｓ４０２）では、アン・パッキング部３０１が、レジスタ３０２のＭＳＢ側に詰められて格納されているＮ個のプレフィックスを参照して、Ｎ個のプレフィックスの符号長の合計値を算出する。Ｎ＝３の場合には、プレフィックス符号長算出工程（Ｓ４０２）の算出結果は、Ｐｒｅｆｉｘ（ｉ）乃至Ｐｒｅｆｉｘ（ｉ＋２）の符号長の合計である。
【００３２】
次に、図４に示すように、シンボル符号長算出工程（Ｓ４０３）が行われる。シンボル符号長算出工程（Ｓ４０３）では、アン・パッキング部３０１が、プレフィックス符号長算出工程（Ｓ４０２）の算出結果に既知のサフィックスの符号長の合計値を加算する。
【００３３】
次に、図４に示すように、シフト演算工程（Ｓ４０４）が行われる。シフト演算工程（Ｓ４０４）では、アン・パッキング部３０１が、シンボル符号長算出工程（Ｓ４０３）の算出結果に基づいてレジスタ３０２に格納された符号化データを左シフトするためのシフト演算を行う。このとき、レジスタ３０２に格納された符号化データが左シフトされた左シフトデータが、次に符号化される符号化データとなる。
【００３４】
Ｓ４０１乃至Ｓ４０５は、次に復号化される符号化データが存在する限り繰り返される（Ｓ４０５−ＮＯ）。
【００３５】
図４に示すように、本発明の実施例１に係る復号化処理は、次に復号化される符号化データが存在しない場合に終了する（Ｓ４０５−ＹＥＳ）。
【００３６】
なお、本発明の実施例１では、符号化部１０１は、ゴロム・ライス符号方式に従ってシンボル値を符号化して、符号化データを生成しても良い。この場合には、プレフィックスの可変長符号は、Ｕｎａｒｙ符号となる。
【００３７】
本発明の実施例１によれば、プレフィックス符号長算出工程（図４のＳ４０２）の直前では、レジスタ３０２は、Ｐｒｅｆｉｘ（ｉ）をＭＳＢ側に詰めて格納し、シフト演算工程（図４のＳ４０５）の直後では、Ｐｒｅｆｉｘ（ｉ＋Ｎ）をＭＳＢ側に詰めて格納する。すなわち、従来技術においてクリティカルパスであるシンボル符号長算出工程（Ｓ４０３）およびシフト演算工程（Ｓ４０４）を１回行うだけでＮ個のシンボルに対応する符号化データの復号化処理を行うことができる。その結果、そのクリティカルパスが復号化処理に与える影響を軽減することができ、ひいては、復号化処理の処理速度を向上させることができる。
【実施例２】
【００３８】
次に、本発明の実施例２について説明する。本発明の実施例２は、サフィックスの符号長がシンボル毎に異なるような符号化データに対して行われる復号化処理の例である。なお、本発明の実施例１と同様の内容についての説明は省略する。ここで、本発明の実施例２では、各プレフィックスおよび各サフィックスの符号長は未知であるとする。
【００３９】
図１に示すように、本発明の実施例２に係る第２パッキング部１０３は、Ｍ画素分の第１パッキングデータと後述するヘッダをパッキングし、第２パッキングデータ（図５を参照）を生成して、バス２０１に出力する（１４）。
【００４０】
図５は、本発明の実施例２に係るＮ＝３，Ｍ＝３２のときの第２パッキングデータのデータ構造を示す概略図である。
【００４１】
図５に示すように、本発明の実施例２に係る第２パッキングデータは、ヘッダおよび３２画素分の第１パッキングデータから構成されるデータ構造を有する。ヘッダには、第１パッキングデータのＮ個のサフィックス（Ｓｕｆｆｉｘ（ｉ），（ｉ＋１），（ｉ＋２））の符号長が含まれている。
【００４２】
また、図４に示すように、本発明の実施例２に係る復号化処理では、シンボル符号長算出工程（Ｓ４０３）において、アン・パッキング部３０１が、レジスタ３０２に格納された第２パッキングデータのヘッダを参照して、サフィックスの符号長の合計値を算出し、プレフィックス符号長算出工程（Ｓ４０２）の算出結果に算出されたサフィックスの符号長の合計値を加算する。
【００４３】
本発明の実施例２によれば、第２パッキングデータにＮ個のサフィックスの符号長を示すデータを含むヘッダが付加されるので、シンボル毎にサフィックスの符号長が異なるような符号化データに対して行われる復号化処理の処理速度を向上させることができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施例１に係る画像圧縮伸張装置１の構成を示すブロック図である。
【図２】本発明の実施例１に係るＮ＝３のときの第１パッキングデータのデータ構造を示す概略図である。
【図３】本発明の実施例１に係るＭ＝３２のときの第２パッキングデータのデータ構造を示す概略図である。
【図４】本発明の実施例１に係る復号化装置３０の復号化処理の処理手順を示すフローチャートである。
【図５】本発明の実施例２に係るＮ＝３，Ｍ＝３２のときの第２パッキングデータのデータ構造を示す概略図である。
【符号の説明】
【００４５】
１  画像圧縮伸張装置
１０  符号化装置
１０１  符号化部
１０２  第１パッキング部
１０３  第２パッキング部
２０  メモリサブシステム
２０１  バス
２０２  システムメモリコントローラ
２０３  システムメモリ
３０  復号化装置
３０１  アン・パッキング部
３０２  レジスタ
３０３  復号化部
【図１】
2010050697.tif 000003
【図２】
2010050697.tif 000004
【図３】
2010050697.tif 000005
【図４】
2010050697.tif 000006
【図５】
2010050697.tif 000007