(57)【要約】【課題】前記画像情報と前記画像データとを無効なデータが介在しないように連結する処理が複雑化し、ＣＰＵ負荷が増大する課題があった。【解決手段】パラメータによりヘッダのサイズを決定し（ステップＳ２）、さらに１ＤＭＡ転送のデータ量で前記ヘッダのサイズが割り切れるように、オフセットデータのサイズを算出する（ステップＳ３）。次に、ヘッダエンジン４へ前記オフセットデータのサイズとその他のパラメータを設定し（ステップＳ４）、ヘッダエンジン４を起動し（ステップＳ５）、ヘッダデータを記憶装置６へ記憶する。このヘッダデータは、ＳＯＩ（０ｘＦＦＤ８）の先頭に前記サイズのオフセットデータが付加されており、無効なデータが介在することなく画像データは前記ヘッダデータに連続して記憶装置６へ書き込まれる。【選択図】        図４
2005033400.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ画像情報、画像データとなる可変長のビットストリームを専用ハードウェアで生成し、記憶装置へ固定長により転送し、ＪＰＥＧファイルを生成するＪＰＥＧデータ生成方法において、
前記画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと前記固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズを算出する算出ステップと、
前記算出ステップにより算出したサイズのオフセットデータを、前記専用ハードウェアが生成する前記画像情報の先頭に付加する設定ステップと、
を備えたことを特徴とするＪＰＥＧデータ生成方法。
【請求項２】
前記設定ステップは、先入れ先出しメモリへ前記画像情報を書き込む際のアドレスの初期値に前記算出したオフセットデータのサイズを反映させ、前記サイズに応じたオフセットデータを前記画像情報の先頭に付加することを特徴とする請求項１記載のＪＰＥＧデータ生成方法。
【請求項３】
それぞれ画像情報、画像データとなる可変長のビットストリームをヘッダエンジン、ストリームエンジンにより生成し、固定長により記憶装置へ転送し、ＪＰＥＧファイルを生成するＪＰＥＧデータ生成装置において、
前記画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと前記固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズを算出するオフセットサイズ算出手段と、
前記オフセットサイズ算出手段により算出したサイズのオフセットデータを、前記ヘッダエンジンが生成する画像情報の先頭に付加するオフセットデータ設定手段と、
を備えたことを特徴とするＪＰＥＧデータ生成装置。
【請求項４】
前記ヘッダエンジンは先入れ先出しメモリを備え、前記オフセットデータ設定手段は、前記先入れ先出しメモリへ前記画像情報を書き込む際のアドレスの初期値に前記オフセットサイズ算出手段が算出した前記オフセットデータのサイズを反映させ、前記サイズに応じたオフセットデータを前記画像情報の先頭に付加することを特徴とする請求項３記載のＪＰＥＧデータ生成装置。
【請求項５】
前記ヘッダエンジンの起動中は、前記ヘッダエンジンの先入れ先出しメモリに前記オフセットデータのサイズが反映されて書き込まれた画像情報を出力し、前記ヘッダエンジンの停止中にはストリームエンジンにより生成した画像データを出力するセレクタを備えたことを特徴とする請求項４記載のＪＰＥＧデータ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＪＰＥＧデータを生成する際のＣＰＵ負荷の軽減および高速化を実現できるＪＰＥＧデータ生成方法および装置に関する。
【０００２】
【従来の技術】
ＪＰＥＧファイルは、画像情報（ＪＰＥＧヘッダ部）と画像データ部（ＪＰＥＧ画像データ部）とからなる。
画像情報は、ＳＯＩ（Ｓｔａｒｔ  Ｏｆ  Ｉｍａｇｅ）、ＤＱＴ（Ｄｅｆｉｎｅ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ｔａｂｌｅ）、ＤＨＴ（Ｄｅｆｉｎｅ  Ｈｕｆｆｍａｎ  Ｔａｂｌｅ）、ＤＲＩ（Ｄｅｆｉｎｅ  Ｒｅｓｔａｒｔ  Ｉｎｔｅｒｖａｌ）、ＳＯＦ０（Ｂａｓｅｌｉｎｅ  ＤＣＴ）、ＳＯＳ（Ｓｔａｒｔ  ＯｆＳｃａｎ）などのヘッダデータから構成される。
また、画像データ部は、ＥＣＳ（Ｅｎｔｒｏｐｙ  Ｃｏｄｅｄ  Ｓｅｇｍｅｎｔ）、ＥＯＩ（Ｅｎｄ  Ｏｆ  Ｉｍａｇｅ）などのデータから構成される。
図５は、このＪＰＥＧファイルのデータ構成を示す構成図である。そして、画像情報はヘッダエンジンにより生成処理され、また画像データ部はストリームエンジンにより生成処理される。この場合、画像情報、画像データそれぞれのデータとなる可変長のビットストリームを専用ハードウェアで生成し、記憶装置などに記録し、これらデータを連結しＪＰＥＧファイルを生成する。そして、記憶装置には固定長（たとえば３２バイト）づつ転送し記録する（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平６−８５６９０号公報
【０００４】
このように、従来では、それぞれのデータ（画像情報、画像データ）となる可変長のビットストリームを専用ハードウェアで生成し、記憶装置へ固定長で転送しＪＰＥＧデータの生成を行なっていたので、連結される画像情報（ＪＰＥＧヘッダ部）と画像データ部（ＪＰＥＧ画像データ部）との間に、図６に示すように無効なデータが入ってしまうことになる。特に、画像情報においては、図５に示すヘッダデータＤＲＩの有無に応じて６バイトの違いが発生する可変長であり、記憶装置へ固定長で転送した場合に図６に示すように無効なデータが入ってしまう。
【０００５】
図６（ａ）は、１００バイトの画像情報を生成し、１ＤＭＡが３２バイトの転送で６４ビット記憶装置に書き込みを行なったときのメモリマップを示し、４ＤＭＡ転送で１００バイトの画像情報が６４ビット記憶装置にすべて書き込める状態を示すが、４回目の転送では、画像情報に続いて、記憶装置の書き込みアドレス０ｘ００６４から０ｘ００７Ｆには無効なデータが存在してしまう。
また同図（ｂ）は、１０００バイトの画像データを生成し、１ＤＭＡが３２バイトの転送で６４ビット記憶装置の前記図６（ａ）に示す画像情報の続きに書き込みを行なった場合のメモリマップであり、画像情報に続いて無効なデータが入るが、３２ＤＭＡ転送で１０００バイトの前記画像データが６４ビット記憶装置にすべて書き込める状態を示す。
【０００６】
【発明が解決しようとする課題】
従来のＪＰＥＧデータの生成は以上のように行なわれていたので、画像情報と画像データとの間に無効なデータが入らないようにするためには、ＣＰＵにより有効データを切り出す処理が必要になり、画像情報と画像データの連結処理が複雑化し、ＣＰＵ負荷が増大し、高速化を図るのに障害となる課題があった。
【０００７】
本発明はこのような課題を解決するためになされたものであり、本発明の目的は、ＪＰＥＧデータを生成する際のＣＰＵ負荷の軽減および高速化を実現できるＪＰＥＧデータ生成方法および装置を提供することにある。
【０００８】
【課題を解決するための手段】
本発明に係るＪＰＥＧデータ生成方法は、画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズを算出する算出ステップと、前記算出ステップにより算出したサイズのオフセットデータを前記画像情報の先頭に付加する設定ステップとを備えたことを特徴とする。
【０００９】
本発明のＪＰＥＧデータ生成方法は、画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズを算出し、前記算出したサイズのオフセットデータを前記画像情報の先頭に付加することで、前記オフセットデータを含む前記画像情報のサイズを前記固定長の転送サイズで割り切れるサイズにして、前記画像情報を固定長により転送したときに、前記画像情報と、その画像情報に連結される画像データとの間に無効なデータが入ることのないようにする。
【００１０】
本発明に係るＪＰＥＧデータ生成装置は、画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズを算出するオフセットサイズ算出手段と、前記オフセットサイズ算出手段により算出したサイズのオフセットデータを、ヘッダエンジンが生成する画像情報の先頭に付加するオフセットデータ設定手段とを備えたことを特徴とする。
【００１１】
本発明のＪＰＥＧデータ生成装置は、画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズをオフセットサイズ算出手段により算出し、前記算出したサイズのオフセットデータをオフセットデータ設定手段により前記画像情報の先頭に付加することで、前記オフセットデータを含む前記画像情報のサイズを前記固定長の転送サイズで割り切れるサイズにして、前記画像情報を固定長により転送したときに、前記画像情報と、その画像情報に連結される画像データとの間に無効なデータが入ることのないようにする。
【００１２】
【発明の実施の形態】
次に、本発明の実施の一形態について説明する。
図１は、本発明によるＪＰＥＧデータ生成方法が適用されるＪＰＥＧデータ生成装置の実施の一形態を示すシステム構成図である。
このＪＰＥＧデータ生成装置は、ホストコンピュータ（オフセットサイズ算出手段、オフセットデータ設定手段、以下、ＣＰＵという）１、ＣＰＵバス２、ＪＰＥＧ画像生成ハードウェア（専用ハードウェア、以下、ストリームエンジンという）３、ＪＰＥＧヘッダ生成ハードウェア（オフセットデータ設定手段、専用ハードウェア、以下、ヘッダエンジンという）４、セレクタ５、記憶装置６および画像入力装置７などを備えている。ストリームエンジン３およびヘッダエンジン４は、ＣＰＵバス２を介してＣＰＵ１と接続されている。
【００１３】
ＣＰＵ１は、ＣＰＵバス２上に接続されているブロックに対し、パラメータの設定や起動、終了割り込みの受け取りを行うことが出来る。
【００１４】
ＣＰＵバス２は、ＣＰＵ１とストリームエンジン３やヘッダエンジン４とを接続し、ＣＰＵ１とストリームエンジン３、ヘッダエンジン４との間で送受される前記パラメータ、起動信号、終了割り込み信号を含む各種信号の伝送路である。
【００１５】
ストリームエンジン３は画像を圧縮するための情報を設定するものであり、圧縮に必要なパラメータセットや動作終了通知用のＣＰＵインタフェース、圧縮用画像データを入力する入力データインタフェース（ＩｎＰｕｔ用ＤａｔａＩ／Ｆ）、圧縮した画像データを３２バイト単位でＤＭＡ転送出力する出力データインタフェース（ＯｕｔＰｕｔ用ＤａｔａＩ／Ｆ）を有している。
ストリームエンジン３のＣＰＵインタフェースから設定できるパラメータとしては、インターリーブフォーマット情報、割り込み許可、リスタートマーカ間隔値、量子化テーブルなどがある。
【００１６】
ヘッダエンジン４はヘッダに入る画像情報を設定するものであり、ヘッダ生成に必要なパラメータセットや動作終了通知用のＣＰＵインタフェース、生成したヘッダを３２バイト単位でＤＭＡ転送出力する出力データインタフェース（ＯｕｔＰｕｔ用ＤａｔａＩ／Ｆ）を備え、ＣＰＵ１から与えられたパラメータに応じて、出力データの先頭にオフセットデータを０〜３２バイトセットできるオフセットデータ設定機能を有している。
ＣＰＵインタフェースから設定できるパラメータとしては、インタリーブフォーマット情報、オフセットサイズ、画像横サイズ（ピクセル）、画像縦サイズ（ピクセル）、リスタートマーカ間隔値などがある。
【００１７】
図２は、このヘッダエンジン４が有している前記オフセットデータ設定機能によるオフセットデータの設定についての説明図であり、図２（ａ）は、図６（ａ）に示すメモリマップを示し、１００バイトのヘッダの先頭にオフセットデータがセットされていない状態を示し、また図２（ｂ）はヘッダエンジン４が有している前記オフセットデータ設定機能により１００バイトのヘッダの先頭にオフセットデータがセットされた状態を示す。
【００１８】
セレクタ５は、ヘッダエンジン４の起動中は、ヘッダエンジン４の前記出力データインタフェースのデータを出力し、またヘッダエンジン４の停止中にはストリームエンジン３の前記出力データインタフェースのデータを出力する。なお、このヘッダエンジン４の起動中／停止中の状態はセレクト信号により判定できる。
【００１９】
記憶装置６は、セレクタ５から出力されたデータを３２バイト単位で順次記憶するものであり６４ビット記憶装置である。
画像入力装置７は、圧縮する画像データをストリームエンジン３へ入力するものである。
【００２０】
次に動作について説明する。
先ず、ヘッダエンジン４によるオフセットデータ設定機能について説明する。ヘッダエンジン４は、内部に３２バイトのＦＩＦＯを搭載し０番地から３１番地までの書込み用アドレスを持っている。ヘッダエンジン４内では、１バイトごとにヘッダデータを生成し、前記ＦＩＦＯに書き込み、書込み用アドレスをインクリメントする。前記ＦＩＦＯに３２バイト分のデータが書き込まれた時点（ＦＩＦＯの最終アドレスの３１番地をアクセスした時点）で、ＦＩＦＯのデータを外部の記憶装置６に１ＤＭＡ書き込みを行い、ＦＩＦＯのアドレスを０番地にリセットする。ヘッダエンジン４では以上の動作を繰り返し、ヘッダデータが記憶装置６に記憶される。
【００２１】
ＦＩＦＯに３２バイト分のデータが書き込まれる前にヘッダの生成が終了した場合には、その時点でＦＩＦＯのデータを記憶装置６に書き込む。
【００２２】
ＦＩＦＯはシステムリセット後の値は全ビット１とし、前記ＣＰＵインタフェースからオフセットサイズ（０番地から３１番地までの任意）を設定することにより、ヘッダデータを書き込む際のアドレスの初期値に反映させることが出来る。この結果、オフセットサイズに応じた個数の０ｘＦＦをヘッダデータの先頭に付加することが出来る。図２（ｂ）は、ＣＰＵインタフェースからオフセットサイズ（０番地〜２３番地）を設定することにより、２４個のオフセットデータＦＦが記憶装置６のアドレス０ｘ００００から０ｘ００１７に書き込まれた状態のメモリマップを示す。
【００２３】
次に、以上説明したヘッダエンジン４のオフセットデータ設定機能を利用したＪＰＥＧデータ生成処理をＣＰＵ１の動作として説明する。
図４は、このＪＰＥＧデータ生成処理を示すフローチャートである。
先ず、ＣＰＵ１において圧縮パラメータを決定する（ステップＳ１）。次に、この決定された圧縮パラメータを含む、オフセットサイズ以外のパラメータによりヘッダのサイズを決定し（ステップＳ２、算出ステップ）、さらに１ＤＭＡ転送のデータ量である３２バイトで前記ヘッダのサイズが割り切れるように、オフセットサイズを算出する（ステップＳ３、算出ステップ）。
【００２４】
ここで、このオフセットサイズの算出の一例について説明する。
ヘッダサイズは、オフセットサイズ以外のパラメータからサイズが算出できるので、ヘッダデータの最終（ＳＯＳの最終１バイト）が１ＤＭＡ転送の３２バイトの最終１バイトになるように、ヘッダの先頭に付加するオフセットデータのサイズを算出する。図３は、ヘッダデータの最終（ＳＯＳの最終１バイト）が１ＤＭＡ転送の３２バイトの最終１バイトになるようにそのサイズが算出されたオフセットデータとヘッダデータと画像データを示すメモリマップである。
例えば、ヘッダは図５に示すようにＳＯＩ、ＤＱＴ、ＤＨＴ、ＤＲＩ、ＳＯＦ０、ＳＯＳなどの各データから構成されるため、ヘッダサイズは（ＳＯＩのデータサイズ）＋（ＤＱＴのデータサイズ）＋（ＤＨＴのデータサイズ）＋（ＤＲＩのデータサイズ）＋（ＳＯＦ０のデータサイズ）＋（ＳＯＳのデータサイズ）であり、ＳＯＩのデータサイズが２バイト、ＤＱＴのデータサイズが１３４バイト、ＤＨＴのデータサイズが４２０バイト、ＤＲＩのデータサイズが６バイト、ＳＯＦ０のデータサイズが１９バイト、ＳＯＳのデータサイズが１４バイトとすれば、ヘッダサイズは２＋１３４＋４２０＋６＋１９＋１４＝５９５バイトとなる。従って、オフセットサイズは、３２−（５９５／３２の余り）から１３バイトと算出される。
【００２５】
次に、ヘッダエンジン４へ前記算出したオフセットサイズとその他のパラメータを設定し（ステップＳ４、設定ステップ）、ヘッダエンジン４を起動する（ステップＳ５）。
【００２６】
セレクタ５は、ヘッダエンジン４が起動すると、ヘッダエンジン４から出力されるヘッダデータを記憶装置６へ記憶する。このヘッダデータは、ＳＯＩ（０ｘＦＦＤ８）の先頭に前記算出したサイズのオフセットデータが付加されている。そして、図３に示すように、オフセットデータを含むヘッダデータを記憶装置６の先頭アドレスから書き込んだときに、このオフセットデータのサイズは、ヘッダデータの最終（ＳＯＳの最終１バイト）がＤＭＡ転送３２バイトの最終１バイトとなるように、つまり図６に示すように最後にＤＭＡ転送される画像情報（ＪＰＥＧヘッダ部）に無効なデータが入ることのないよう、オフセットデータを含むヘッダデータのバイト数が３２で割り切れるようなサイズになっている。
【００２７】
次に、ストリームエンジン３へ必要なパラメータを設定し（ステップＳ６）、ストリームエンジン３を起動する（ステップＳ７）。セレクタ５は、ヘッダエンジン４が停止すると、ストリームエンジン３の出力データインタフェースのデータを出力するため、ヘッダエンジン４から記憶装置６へヘッダデータが書き込まれた後ヘッダエンジン４が停止し、ストリームエンジン３が起動するとストリームエンジン３の出力データインタフェースのデータ（画像データ）が、ヘッダデータに連続して前記記憶装置６へ書き込まれる。
なお、このストリームエンジン３においても、前記ヘッダエンジン４と同様なＦＩＦＯが搭載されている。
【００２８】
この結果、記憶装置６に書き込まれた画像情報（ＪＰＥＧヘッダ部）と画像データとの間には、従来のように無効なデータが介在していないので、記憶装置６に書き込む手前においてヘッダデータのＳＯＩ／ＥＯＩマーカを検出するように構成することで、ＪＰＥＧファイル部分のみを高速かつ容易に切り出すことが可能になる。
【００２９】
以上のように、この実施の形態によれば、画像情報（ＪＰＥＧヘッダ部）と画像データとの間に無効なデータが入ることのないＪＰＥＧファイルを記憶装置６に生成することの出来るため、従来のように有効なデータの切り出し処理や、画像情報（ＪＰＥＧヘッダ部）と画像データとの連結処理の複雑化を回避でき、ＣＰＵ負荷の軽減および高速化を実現できるＪＰＥＧデータ生成方法および装置を提供できる効果がある。
【００３０】
【発明の効果】
本発明によれば、画像情報を設定するパラメータをもとに算出した前記画像情報のサイズと固定長の転送サイズとから、前記画像情報の最終データを前記固定長による転送の最終データにするオフセットデータのサイズを算出し、前記算出したサイズのオフセットデータを前記画像情報の先頭に付加するように構成したので、前記オフセットデータと前記画像情報との合計のサイズが前記固定長の転送サイズで割り切れるサイズになっており、前記画像情報を固定長により転送したときに、前記画像情報の最終データが前記固定長による転送の最終データになって、その画像情報に連結される画像データとの間に無効なデータが入らないＪＰＥＧデータを生成でき、データの切り出し処理が容易になり、また画像情報と画像データとの連結処理の複雑化を回避でき、ＣＰＵ負荷の軽減および高速化を実現できる効果がある。
【図面の簡単な説明】
【図１】本発明によるＪＰＥＧデータ生成方法が適用されるＪＰＥＧデータ生成装置の実施の一形態を示すシステム構成図である。
【図２】本発明の実施の一形態のＪＰＥＧデータ生成装置におけるオフセットデータ設定機能によるオフセットデータの設定についての説明図である。
【図３】本発明の実施の一形態のＪＰＥＧデータ生成装置において算出されたオフセットデータとヘッダデータと画像データを示すメモリマップである。
【図４】本発明の実施の一形態のＪＰＥＧデータ生成装置におけるＪＰＥＧデータ生成処理を示すフローチャートである。
【図５】ＪＰＥＧファイルのデータ構成を示す構成図である。
【図６】画像情報と画像データを、１ＤＭＡが３２バイトの転送で６４ビット記憶装置に書き込みを行なったときのメモリマップを示す。
【符号の説明】
１……ＣＰＵ（オフセットサイズ算出手段、オフセットデータ設定手段）、３……ストリームエンジン（専用ハードウェア）、４……ヘッダエンジン（オフセットデータ設定手段、専用ハードウェア）、５……セレクタ、６……記憶装置。
【図１】
2005033400.tif 000003
【図２】
2005033400.tif 000004
【図３】
2005033400.tif 000005
【図４】
2005033400.tif 000006
【図５】
2005033400.tif 000007
【図６】
2005033400.tif 000008