(57)【特許請求の範囲】
【請求項１】
Ｍｏｔｉｏｎ ＪＰＥＧ符号化方式で符号化することで得られたＪＰＥＧ符号化データ及び該ＪＰＥＧ方式に準拠したヘッダ情報を入力するＪＰＥＧ符号化データ入力手段と、
前記ヘッダ情報からＭＰＥＧ４符号化方式に準拠したヘッダ情報を生成するヘッダ情報生成手段と、
前記ＭＰＥＧ４符号化方式におけるハフマン符号化パラメータと前記ＪＰＥＧ方式に準拠したヘッダ情報から抽出したハフマン符号化パラメータとに基づき、前記ＪＰＥＧ符号化データ内の可変長符号を変換する可変長符号変換手段と、
前記ＪＰＥＧ符号化データ内の可変長符号を復号することによりＤＣ成分を取得し、該ＤＣ成分を、前記ＭＰＥＧ４符号化方式により予測符号化するＤＣ成分変換手段と、
前記ＪＰＥＧ符号化データ内の可変長符号を復号する可変長符号復号手段と、
前記可変長符号復号手段によって復号され得られた量子化値を格納する格納手段と、
前記格納手段に格納された前フレームのＪＰＥＧ符号化データの量子化値の各ブロックPij(x,y)と、前記可変長符号復号手段によって復号され得られた量子化値のブロックG(x,y)とを用いて、該ブロック単位毎の差分の和ΣxΣy(G(x,y)- Pij(x,y))を算出することで動きベクトルを探索し、該動きベクトルに基づいて前記ブロックG(x,y)の予測誤差を算出する動き補償手段と、
前記予測誤差を符号化する予測誤差符号化手段と、
前記ヘッダ情報生成手段、前記可変長符号変換手段及び前記ＤＣ成分変換手段からの出力又は、前記ヘッダ情報生成手段及び前記予測誤差符号化手段からの出力を前記ＭＰＥＧ４符号化方式の書式に整形して、前記ＭＰＥＧ４符号化方式による符号化データとして出力する符号化データ出力手段と、
を有することを特徴とする符号化データ変換装置。
【請求項２】
前記動き補償手段及び前記予測誤差符号化手段は、フレーム間符号化を行う時にのみ動作することを特徴とする前記請求項１に記載の符号化データ変換装置。
【請求項３】
Ｍｏｔｉｏｎ ＪＰＥＧ符号化方式で符号化することで得られたＪＰＥＧ符号化データ及び該ＪＰＥＧ方式に準拠したヘッダ情報を入力するＪＰＥＧ符号化データ入力ステップと、
前記ヘッダ情報からＭＰＥＧ４符号化方式に準拠したヘッダ情報を生成するヘッダ情報生成ステップと、
前記ＭＰＥＧ４符号化方式におけるハフマン符号化パラメータと前記ＪＰＥＧ方式に準拠したヘッダ情報から抽出したハフマン符号化パラメータとに基づき、前記ＪＰＥＧ符号化データ内の可変長符号を変換する可変長符号変換ステップと、
前記ＪＰＥＧ符号化データ内の可変長符号を復号することによりＤＣ成分を取得し、該ＤＣ成分を、前記ＭＰＥＧ４符号化方式により予測符号化するＤＣ成分変換ステップと、
前記ＪＰＥＧ符号化データ内の可変長符号を復号する可変長符号復号ステップと、
前記可変長符号復号ステップにおいて復号され得られた量子化値を格納部に格納する格納ステップと、
前記格納部に格納された前フレームのＪＰＥＧ符号化データの量子化値の各ブロックPij(x,y)と、前記可変長符号復号ステップにおいて復号され得られた量子化値のブロックG(x,y)とを用いて、該ブロック単位毎の差分の和ΣxΣy(G(x,y)- Pij(x,y))を算出することで動きベクトルを探索し、該動きベクトルに基づいて前記ブロックG(x,y)の予測誤差を算出する動き補償ステップと、
前記予測誤差を符号化する予測誤差符号化ステップと、
前記ヘッダ情報生成ステップ、前記可変長符号変換ステップ及び前記ＤＣ成分変換ステップによる出力又は、前記ヘッダ情報生成ステップ及び前記予測誤差符号化ステップによる出力を前記ＭＰＥＧ４符号化方式の書式に整形して、前記ＭＰＥＧ４符号化方式による符号化データとして出力する符号化データ出力ステップと、
を有することを特徴とする符号化データ変換方法。
【請求項４】
前記動き補償ステップ及び前記予測誤差符号化ステップは、フレーム間符号化を行う時にのみ動作することを特徴とする前記請求項３に記載の符号化データ変換方法。
【請求項５】
コンピュータ上で実行されることによって、該コンピュータを請求項１または２に記載の符号化データ変換装置として動作させることを特徴とするプログラム。
【請求項６】
請求項５記載のプログラムを記録したコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像の符号化データを変換する符号化データ変換装置及びその方法に関する。
【０００２】
【従来の技術】
近年、カメラのデジタル化が進み、動画像の符号化方式を採用するものが出始めた。例えばデジタルスチールカメラにおいては、静止画を記録する際にJPEG（Joint Photographic Coding Experts Group）符号化方式を採用しており、これを連続して符号化することによって動画記録を行なうMothion JPEGが普及しつつある。
【０００３】
一方で、PCの普及に伴い、インターネットで動画像をやり取りしたり、配信したりする方式として、ISO（International Organization for Standardization：国際標準化機構）が標準化したMPEG（Moving Picture Coding Experts Group）-4符号化方式が利用され始めている。MPEG-4符号化方式はフレーム間符号化方式であり、従来のMPEG-1,2といった符号化方式に比べ、特に低ビットレートに向いており、インターネット等での利用には最適な符号化方式となっている。
【０００４】
従来のMPEG-1符号化方式で符号化して得られたビットストリームを、MPEG-4符号化方式のビットストリームに変換する技術が開示されている（例えば、特許文献１参照）。また、MPEG-2符号化方式のビットストリームをMPEG-4符号化方式のビットストリームに変換する手法が開示されている（例えば、特許文献２参照）。
【特許文献１】
特開２００１−２３８２１４
【特許文献２】
特開２００１−２３８２１８
【０００５】
【発明が解決しようとする課題】
上述したようなMotion JPEGによる符号化データを、MEPG-4符号化方式のビットストリームと同様に例えばインターネット上で利用したいという要求がある。しかしながら、Motion JPEG符号化方式はフレーム内符号化方式であるため、そのままでは符号化効率を上げることができず、インターネット等で配信するためには容量が大きすぎるといった問題が生じてしまう。
【０００６】
そこで、上記Motion JPEGによる符号化データを、MPEG-4符号化方式のビットストリームに変換する技術が必要とされるが、Motion JPEG符号化方式のビットストリームをMPEG-4符号化方式のビットストリームに変換するには、一度画素値に戻してから、動き補償を行なう必要がある。従って、一旦復号した後に再度符号化を行わねばならないため、処理が大規模になってしまう。さらにこの場合、再度の符号化を行うことにより、入力された画像データに対して新たな劣化が加わってしまう。
【０００７】
本発明は上記課題を解決するためになされたものであり、画質を劣化させずに、第１の符号化データを第２の符号化データに高速かつ、小規模な構成で変換することができる符号化データ変換装置及びその方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するための一手段として、本発明の符号化データ変換装置は以下の構成を備える。
【０００９】
すなわち、Ｍｏｔｉｏｎ ＪＰＥＧ符号化方式で符号化することで得られたＪＰＥＧ符号化データ及び該ＪＰＥＧ方式に準拠したヘッダ情報を入力するＪＰＥＧ符号化データ入力手段と、前記ヘッダ情報からＭＰＥＧ４符号化方式に準拠したヘッダ情報を生成するヘッダ情報生成手段と、前記ＭＰＥＧ４符号化方式におけるハフマン符号化パラメータと前記ＪＰＥＧ方式に準拠したヘッダ情報から抽出したハフマン符号化パラメータとに基づき、前記ＪＰＥＧ符号化データ内の可変長符号を変換する可変長符号変換手段と、前記ＪＰＥＧ符号化データ内の可変長符号を復号することによりＤＣ成分を取得し、該ＤＣ成分を、前記ＭＰＥＧ４符号化方式により予測符号化するＤＣ成分変換手段と、前記ＪＰＥＧ符号化データ内の可変長符号を復号する可変長符号復号手段と、前記可変長符号復号手段によって復号され得られた量子化値を格納する格納手段と、前記格納手段に格納された前フレームのＪＰＥＧ符号化データの量子化値の各ブロックPij(x,y)と、前記可変長符号復号手段によって復号され得られた量子化値のブロックG(x,y)とを用いて、該ブロック単位毎の差分の和ΣxΣy(G(x,y)- Pij(x,y))を算出することで動きベクトルを探索し、該動きベクトルに基づいて前記ブロックG(x,y)の予測誤差を算出する動き補償手段と、前記予測誤差を符号化する予測誤差符号化手段と、前記ヘッダ情報生成手段、前記可変長符号変換手段及び前記ＤＣ成分変換手段からの出力又は、前記ヘッダ情報生成手段及び前記予測誤差符号化手段からの出力を前記ＭＰＥＧ４符号化方式の書式に整形して、前記ＭＰＥＧ４符号化方式による符号化データとして出力する符号化データ出力手段と、を有することを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１２】
＜第１実施形態＞
図１は、本実施形態における符号化データ変換システムの構成を示すブロック図である。同図において、1は本発明に係る符号化データ変換装置である。2，3は記憶装置であり、記憶装置2にはMotion JPEG符号化方式で符号化された符号化データが、記憶装置3にはMPEG-4符号化方式で符号化された符号化データが、それぞれ格納される。なお、本実施形態においてはこれらの符号化方式を例として説明するが、本発明はこれらの符号化方式に限定されず、他の符号化方式に対しても適用可能である。
【００１３】
4は分離器であり、Motion JPEG符号化方式の符号化データを解釈し、ヘッダやフレーム単位の符号化データに分離する。5はヘッダ解析器であり、JPEG符号化方式の符号化データの各ヘッダを解釈し、画像そのものを記述する画像情報と符号化に必要なパラメータに分離する。6は画像情報符号化器であり、画像を記述する画像情報を符号化し、MPEG-4符号化方式のヘッダを生成する。7は符号化パラメータ符号化器であり、符号化パラメータのうちMPEG-4符号化方式で必要な諸パラメータを符号化し、MPEG-4符号化方式のヘッダを生成する。
【００１４】
8は、MPEG-4符号化方式でIntraマクロブロック符号化を行なう際に使用する、可変長符号化の符号化テーブルを予め格納しておくMPEG-4VLCメモリである。9は符号変換設定器であり、ヘッダ解析部5で分離された符号化パラメータと、MPEG-4VLCメモリ8に格納された符号化テーブルから、符号の変換に必要なテーブル等を生成する。
【００１５】
10はフレームの符号化データを一時的に格納するメモリであり、ブロック単位で後段に符号化データを送出する。11は各ブロックのDC成分の可変長符号を復号するVLC復号器、12は周囲のDC成分からMPEG-4符号化方式のDC予測の方式に則って予測を行なうDC予測器、13はDC予測器12で得られたDC成分の予測誤差をMPEG-4符号化方式に則って可変長符号化するDC符号化器である。
【００１６】
14は、符号変換設定器9で生成した変換テーブル等の情報に基づいて、AC成分のJPEG符号化方式の符号化データをMPEG-4符号化方式の符号化データに変換する符号変換器である。
【００１７】
15は、画像情報符号化器6、符号化パラメータ符号化器7、DC符号化器13、符号変換器14の出力を、MPEG-4符号化方式の書式に従った符号化データに整形する整形器である。
【００１８】
以下、上述した構成からなる符号化データ変換システムにおける符号の変換動作について説明する。変換処理に先立ち、まずは各部の初期化を行なう。すなわち、メモリ10はクリアされ、各部のパラメータがリセットされる。また、記憶装置2では変換するMotion JPEG符号化方式の符号化データが選択され、その読み出し開始位置を設定する。また、記憶装置3では空いている領域で書き込み可能な領域の書き込み開始位置を設定する。
【００１９】
初期化処理が終了すると、記憶装置2からMotion JPEG符号化方式の符号化データが符号化データ変換装置1に入力される。符号化データ変換装置1の分離器4は最初のJPEG符号化データを読み込み、ヘッダやフレーム単位の符号化データに分離して、ヘッダはヘッダ解析器5に、フレームの符号化データはメモリ10に蓄積される。
【００２０】
ヘッダ解析器5はJPEG符号化方式のヘッダを解釈する。JPEG符号化方式では、最初にイメージ層の符号化データが入力される。なお、JPEG符号化方式に関してはISO10918-1に詳細が記載されているため、ここでは詳細な説明を省略するが、画像開始のマーカーコードに続き、各種のテーブルデータが記述されている。JPEG符号化方式では、量子化マトリクスやハフマンテーブルについてのデフォルトが存在しないため、これらが符号化されている。これらは符号化や復号に必要不可欠な符号化パラメータであり、符号化パラメータ符号化器7に入力される。量子化マトリクスとしては、量子化テーブル定義のDQTマーカーコードに続いて64個の量子化テーブル要素が存在しているためにこれを読み出すか、または、量子化テーブル番号に従って量子化テーブル要素を読み出し、これらの量子化テーブルのデータは符号化パラメータ符号化器7に入力される。またハフマンテーブルとしては、ハフマン定義のDHTマーカーコードに続いてハフマン符号が存在しているために、これを読み出して符号変換設定器9に入力する。
【００２１】
符号化パラメータ符号化器7では、入力された量子化テーブル要素と、MPEG-4符号化方式のIntraブロックにおけるデフォルトの量子化マトリクスとの比較を行なう。なお、MPEG-4符号化方式に関してはISO14496-2に詳細が記載されているため、ここでは詳細な説明を省略する。入力された量子化テーブル要素がデフォルトの量子化マトリクスと異なるようであれば、VOL(Video Object Layer)ヘッダのload_intra_quant_mat符号を1にし、load_intra_mat符号としてAC成分の量子化テーブル要素を記述しておく。さらに、VOP(Video Object Plane)ヘッダのvop_coding_type符号は常にintra-coded(I)を示す“00”とする。マクロブロック単位でのAC予測符号化を行なうか否かを記述するac_pred_flag符号は0としておく。
【００２２】
符号変換設定器9では、ハフマンテーブルの処理を行なう。以下、JPEG符号化方式のハフマンテーブルがISO10918-1の表K.5に記載されたテーブルであった場合を例として説明する。まず、ラン長が0である符号を表１に抜き出す。
【００２３】
【表１】
0003893350.tif 000002
【００２４】
また、MPEG-4符号化方式のハフマンテーブルは、ISO14496-2のTableB-16に記載されているように一義に決まっており、MPEG-4VLCメモリ8にそれぞれの値が格納されている。但し、MPEG-4符号化方式はJPEG符号化方式の2次元ハフマンに対し、LAST,RUN,VALUEの3次元符号化方式である。従って、まずはLASTが0のハフマンについて説明するため、ラン長0でLASTが0の符号を抜き出した結果を表２に示す。
【００２５】
【表２】
0003893350.tif 000003
【００２６】
また、JPEG符号化方式で入力されたハフマン符号に続いてEOBが続く場合が、LASTが1である状態となるため、ラン長0でLASTが1の符号を抜き出した結果を表３に示す。
【００２７】
【表３】
0003893350.tif 000004
【００２８】
ここで、符号にescapeと記された符号は固定長の符号であり、VALUEが9の場合は
00001 1 000000 1 00000001001 1 0000
となり、10の場合は
00001 1 000000 1 00000001010 1 0000
となる。従って、続いてEOB符号が無い場合、JPEG符号化方式のハフマンをMPEG-4符号化方式のハフマンに変換するテーブルは、表１と表２に基づき、表４のように作成される。
【００２９】
【表４】
0003893350.tif 000005
【００３０】
また、EOBが続く場合は、JPEG符号化方式のハフマンをMPEG-4符号化方式のハフマンに変換するテーブルは、表１と表３に基づき、表５のように作成される。
【００３１】
【表５】
0003893350.tif 000006
【００３２】
符号変換設定器9では、他のハフマン符号に関しても同様に、MPEG-4VLCメモリ8に格納されたMPEG-4符号化方式のハフマンテーブルと比較して、変換テーブルを作成する。以降、EOBが続かない場合の変換テーブルを変換テーブルA、続く場合のテーブルを変換テーブルBと便宜的に呼ぶこととする。これらの変換テーブルは、符号変換器14に入力される。
【００３３】
続いて、ヘッダ解析器5はJPEG符号化方式の符号化データで最初のフレームのヘッダを解釈する。フレームヘッダには、入力画像のサンプル精度、ライン数、ライン当りのサンプル数等の画像に関する情報が存在しており、これらの画像情報は画像情報符号化器6に入力される。
【００３４】
画像情報符号化器6では、これらのサンプル精度、ライン数、ライン当りのサンプル数から、MPEG-4符号化方式における各符号を決定していく。サンプル精度は、8ビットであればVOLヘッダのnot_8_bit符号を0とし、そうでなければnot_8_bit符号を1にした上、quant_precision符号とbits_per_pixel符号を適宜設定し、符号を生成する。
【００３５】
ライン数とライン数当りのサンプル数は、画像の縦と横のサイズを表しているので、VOLヘッダのvideo_object_layer_height符号とvideo_object_layer_width符号にその値を設定し、符号を生成する。もちろん、画像の形状は矩形なので、VOLヘッダのvideo_object_layer_shape符号は“rectangular”に設定する。その他のMPEG-4符号化方式のVOS(Visual Object Sequence)ヘッダ、VO(Visual Object)ヘッダ、VOLヘッダの各符号も適宜設定し、符号を生成する。生成された符号は整形器15に入力される。整形器15はこれらをVOS,VO,VOLのヘッダデータとして整形し、記憶装置3の所定の領域に格納する。
【００３６】
分離器4で分離されたフレームの符号化データはメモリ10に格納され、各ブロック単位でDC成分はVLC復号器11に、AC成分は符号変換器14に入力される。
【００３７】
まず、DC成分の処理について説明する。VLC復号器11ではDC成分の符号を復号し、量子化されたDC成分の予測誤差値をDC予測器12に入力する。DC予測器12では前のブロックのDC成分と入力された予測誤差値から、DC成分の量子化値を復元して蓄積し、周囲のブロックのDC成分からMPEG-4符号化方式のDC成分の予測を行なう。直前ラインの同じ位置のブロックのDC成分と直前のブロックのDC成分からDC予測値を求め、DC符号化器13に入力する。DC符号化器13では、入力されたDC予測誤差を、MPEG-4符号化方式のDC成分の符号化手順に従って符号化する。生成された符号は整形器15に入力される。
【００３８】
一方、AC成分の符号が入力された符号変換器14では、符号変換設定器9で生成された変換テーブルに従った変換を行う。まず、読み出したハフマン符号に続いてEOBが無ければ、変換テーブルAに従ってMPEG-4符号化方式のハフマン符号に変換する。EOBが続く場合は、変換テーブルBに従って変換し、次のブロックの処理に移行する。生成された符号は整形器15に入力される。
【００３９】
整形器15では、画像情報符号化器6、符号化パラメータ符号化器7、DC符号化器13、符号変換器14で生成された符号を並び替え、MPEG-4符号化データの書式に従って整列して記憶装置3に出力し、所定の領域に順次、書き込む。
【００４０】
記憶装置2に蓄積されたJPEG符号化データの全てのフレームに関して、フレームデータの読み出しと符号の変換を行ない、出力し終えたら処理を終了する。
【００４１】
以上に説明した符号化データの変換処理の流れを、図２、３のフローチャートを用いて説明する。
【００４２】
図２のステップS1では、JPEG符号化データのイメージ層の符号化データを読み出す。ステップS2では、その符号化データから量子化テーブルに関する符号を抽出し、MPEG-4符号化方式の量子化マトリクスと比較し、必要に応じて符号を生成する。ステップS3では、ハフマンテーブルに関する符号を抽出し、MPEG-4符号化方式のハフマンテーブルと比較し、変換テーブルを作成する。ステップS4では、JPEG符号化方式の符号化データからフレームデータを読み出し、そのヘッダを解析する。ステップS5では、その解析結果等から画像情報を得て、VOS,VO,VOLの各ヘッダデータを生成して出力する。ステップS6では、フレームの画素に関する符号化データの変換を行なう。この変換の処理に関しては図３を用いて後述する。ステップS7では、全てのフレームデータに関して処理が終了したか否かを判定し、未処理のフレームデータがある場合はステップS8に進む。ステップS8では、JPEG符号化方式のフレームデータを読み出し、ステップS6に戻ってフレームデータの変換を行う。ステップS7で全てのフレームの処理が終わったと判断されれば、処理全体を終了する。
【００４３】
図３は、上記ステップS6におけるフレーム単位の符号化データ変換処理を示すフローチャートである。ステップS21では、画像情報等からVOPのヘッダを生成して出力する。ステップS22では、フレームの全てのマクロブロックについて処理が終了したか否かによって、終了判定を行なう。終了していれば、当該フレームの処理は終了したと判断するが、そうでなければステップS23に進む。ステップS23では、マクロブロックの全てのブロックについて処理が終了したか否かを判定する。終了していればステップS22に戻り、そうでなければステップS24に進む。ステップS24では、ブロックのDC成分に関して予測誤差の復号、JPEG符号化方式の予測に基づくDC成分の量子化値の再生、MPEG-4符号化方式での予測と符号化を行ない出力する。ステップS25では、EOB符号の検出によって全てのAC成分の変換が終了したか否かを判定し、これによってブロック単位での処理の終了判定を行なう。終了していればステップS23に戻り、そうでなければステップS26に進む。ステップS26では、0ランと値を表すハフマン符号を抽出する。ステップS27では、抽出した符号の次がEOB符号化であるか否かを判定し、EOB符号であればステップS29に、そうでなければステップS28に進む。ステップS28ではテーブルAを用いて符号の変換を行ない、出力する。ステップS29ではテーブルBを用いて変換を行なう。
【００４４】
以上説明したように本実施形態によれば、JPEG符号化方式で符号化されたデータを画素値の再生を行なうこと無く、劣化を伴わずに、MPEG-4符号化方式における符号化データ(I-VOP)に変換することができる。その結果、ＪＰＥＧ符号化方式に比べ、ＭＰＥＧ−４符号化方式はＤＣの予測が適応的に行なわれるため、符号化効率の改善が見込まれる。また、符号の変換もテーブル参照によって行なうため、非常に高速な処理が行なえる。また、画素値を保存するためのメモリが不要であるなため、処理規模を抑えることができ、装置のコスト削減が可能になる。
【００４５】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００４６】
図４は、第２実施形態における符号化データ変換システムの構成を示すブロック図である。第２実施形態においても、入力としてMotion JPEG符号化データを、出力としてMPEG-4符号化データを例として説明するが、これに限定されないことは第１実施形態と同様である。なお、第１実施形態の図１と同様の構成要素については同一番号を付してその詳細な説明は省略する。
【００４７】
図４において、101は第２実施形態に係る符号化データ変換装置である。102は、各ブロックのAC成分の可変長符号を復号するVLC復号器であり、103はマクロブロック単位で量子化値によって動き補償を行なう動き補償器である。104は動き補償器103で得られたマクロブロックの予測誤差をMPEG-4符号化方式に則って可変長符号化する符号化器である。105は各ブロック毎に復号された量子化値を格納するメモリである。106は画像情報符号化器6、符号化パラメータ符号化器7、DC符号化器13、符号変換器14、符号化器104の出力をMPEG-4符号化方式の書式に従った符号化データに整形する整形器である。
【００４８】
以下、上述した構成からなる符号化データ変換システムにおける符号の変換動作について説明する。変換処理に先立ち、まずは各部の初期化を行なう。すなわち、メモリ10，メモリ105はクリアされ、各部のパラメータがリセットされる。また、記憶装置2では変換するMotion JPEG符号化方式の符号化データが選択され、その読み出し開始位置を設定する。また、記憶装置3では空いている領域で書き込み可能な領域の書き込み開始位置を設定する。
【００４９】
初期化処理が終了すると、記憶装置2からMotion JPEG符号化方式の符号化データを符号化データ変換装置101に入力する。符号化データ変換装置101の分離器4は最初のJPEG符号化データを読み込み、ヘッダやフレーム単位の符号化データに分離して、ヘッダはヘッダ解析器5に、フレームの符号化データはメモリ10に蓄積される。
【００５０】
上述した第１実施形態と同様に、ヘッダ解析器5はJPEG符号化方式のヘッダを解釈して符号化パラメータと画像情報を抽出し、符号化パラメータ符号化器7と画像情報符号化器6でヘッダデータを生成して整形器106に出力する。符号変換設定器9も変換テーブルを作成して符号変換器14に入力する。
【００５１】
続いて、フレーム単位の処理について説明する。第２実施形態では、MPEG-4符号化方式におけるフレーム内符号化モードであるI-VOPと、フレーム間符号化モードであるP-VOPの符号を生成する。以下、一定間隔でI-VOPが含まれる場合について説明するが、間隔やフレームモードの決定による制限はない。
【００５２】
最初に、フレームの符号化モードがI-VOPである場合について説明する。符号化パラメータ符号化器7では、VOPヘッダのvop_coding_type符号はintra-coded(I)を示す“00”とする。第１実施形態と同様に、分離器4で分離されたフレームの符号化データはメモリ10に格納され、各ブロック単位でDC成分はVLC復号器11とVLC復号器102に、AC成分は符号変換器14とVLC復号器102に入力される。DC成分の符号の変換は第１実施形態と同様に、VLC復号器11、DC予測器12、DC符号化器13によって実施される。また、AC成分の変換も第１実施形態と同様に符号変換器14にて実施される。変換された符号化データは整形器106を介して出力される。
【００５３】
一方、メモリ10からVLC復号器102にブロック単位で入力された符号化データは、DC成分、AC成分ともに可変長符号化データに復号され、量子化された値が再生されて動き補償器103に入力される。動き補償器103はI-VOPでは動作せず、量子化値はそのままメモリ105に格納される。また、符号化器104もI-VOPでは動作しない。
【００５４】
次に、フレームの符号化モードがP-VOPである場合について説明する。符号化パラメータ符号化器7では、VOPヘッダのvop_coding_type符号をpredictive-coded(P)を示す“01”とする。メモリ10に格納されたフレームの符号化データは、各ブロック単位で読み出されてVLC復号器102に入力され、DC成分、AC成分とも可変長符号化データが復号されて、量子化された値が再生され、動き補償器103に入力される。動き補償器103は入力された量子化値とメモリ105にブロック単位で格納された量子化値とを比較する。この比較は、例えば輝度のみについて行えばよいが、色度を加えても良い。
【００５５】
ここで、動き補償器103における動き補償処理について説明する。以下、画像がCIF(352×288)である場合を例として説明するが、この例に限定されないことはもちろんである。
【００５６】
入力されたブロックが画像内の(I,J)座標であり、量子化値がＧ(x,y)であるとする。なお、Iは0から21まで、Jは0から17までの値をとる。メモリ105に格納された量子化値Ｐi,j(x,y)（i=0〜21、j=0〜17）に対して、差分値の絶対値の和Ｓijを次式に従って計算する。
【００５７】
Ｓij = Σx=0,7Σy=0,7|Ｇ(x,y)−Ｐi,j(x,y)|  …(1)
さらに、入力された4つのブロックをまとめてマクロブロック単位とし、各Ｓijをまとめて、マクロブロック毎に差分値の絶対値の和を求めて、最もその値が小さいものを選択する。これにより、画像の状態では8画素単位の動き補償を行なっているのと等価になる。そして、選択されたブロックとの相対位置を動きベクトルとし、その差分を予測誤差として符号化器104に出力する。このように第２実施形態においては、動きベクトルが16画素単位となる。
【００５８】
符号化器104はMPEG-4符号化方式に従って、動きベクトルと量子化値の予測誤差を符号化する。得られた符号化データは整形器106に入力される。
【００５９】
整形器106では、フレームの符号化モードがI-VOPである場合には、画像情報符号化器6、符号化パラメータ符号化器7、DC符号化器13、符号変換器14で生成された符号を並び替え、MPEG-4符号化データの書式に従って整列する。一方、フレームの符号化モードがP-VOPである場合には、画像情報符号化器6、符号化パラメータ符号化器7、符号化器104で生成された符号を並び替え、MPEG-4符号化データの書式に従って整列する。そして、整列された符号化データを記憶装置3に出力し、所定の領域に順次書き込む。
【００６０】
記憶装置2に蓄積されたJPEG符号化データの全てのフレームに関してフレームデータの読み出しと、符号の変換を行ない、出力し終えたら処理を終了する。
【００６１】
以上に説明した符号化データの変換処理の流れを、図５，図６のフローチャートを用いて説明する。
【００６２】
図５は、第２実施形態における符号化データ変換処理を示すフローチャートであるが、上述した第１実施形態の図２と同様の処理については同一ステップ番号を付し、その詳細な説明を省略する。
【００６３】
ステップS7での終了判定において未処理のフレームデータがある場合には、ステップS100に進む。ステップS100では符号化モードをI-VOP，P-VOPのいずれにするかを決定する。例えば、一定のフレーム間隔でI-VOPとするように決定すればよい。その後、ステップS8で第１実施形態と同様にフレームデータを読み出し、ステップS6に戻ってフレームデータの符号を符号化モードに従って変換する。
【００６４】
図６は、ステップS6におけるフレーム単位の符号化データ変換処理を示すフローチャートである。なお、上述した第１実施形態の図３と同様の処理については同一ステップ番号を付し、その詳細な説明を省略する。
【００６５】
まずステップS121では、画像情報等からVOPのヘッダを生成して出力する。この時、vop_coding_type符号は、図５のステップS100でI-VOP符号化が選択された場合には“00”、P-VOP符号化が選択された場合には“01”が設定される。
【００６６】
ステップS122では、図５のステップS100で決定された符号化モードによって処理を選択する。符号化モードがI-VOPであればステップS22に、P-VOPであればステップS124に進む。
【００６７】
符号化モードがＩ−ＶＯＰである場合は、ステップＳ２４からステップＳ２６までの処理を行なった後、第１実施形態と同様にステップＳ２７からステップＳ２９でＡＣ成分の変換を行なう。
【００６８】
一方、符号化モードがP-VOPである場合は、ステップS124でステップS22と同様に終了判定を行なう。未終了であればステップS125において、マクロブロックに含まれるブロックのDC成分、AC成分の可変長符号化を復号し、量子化値を得た後、メモリ105に格納してステップS126に進む。ステップS126では、量子化値を参照して、動きベクトル探索と予測誤差の算出が行われる。そしてステップS127では、得られた動きベクトルと予測誤差をMPEG-4符号化方式に従って符号化し、出力して次のマクロブロックの処理を行なうためにステップS124に戻る。
【００６９】
以上説明したように第２実施形態によれば、フレーム内符号化方式であるJPEG符号化方式で符号化されたデータを画素値の再生を行なうこと無く、劣化を伴わずに、フレーム間符号化方式であるMPEG-4符号化方式のデータ(I-VOP及びP-VOP)に変換することができる。その結果、ＪＰＥＧ符号化方式に比べ、ＭＰＥＧ−４符号化方式は動き補償によって大幅な符号化効率の改善が見込まれている。また、符号の変換もテーブル参照で行なうことができるので、非常に高速に処理が行なえる。また、画素値を保存するためのメモリが不要であるため、処理規模を抑えることができ、装置のコスト削減が可能になる。また、動きベクトル探索も非常に演算量が少なく、高速に探索を行なうことができる。
【００７０】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。第３実施形態においては、符号化データ変換処理をソフトウェアによって実現する例を示す。図７は、第３実施形態における符号化データ変換装置の構成を示すブロック図である。
【００７１】
図７において、300は装置全体の制御、及び種々の処理を行う中央演算装置(CPU)、301は本装置の制御に必要なオペレーティングシステム(OS)やソフトウェアによる演算に必要な記憶領域を提供するメモリである。302は種々の装置を接続し、データや制御信号をやり取りするバスである。303は装置の起動、各種条件の設定、再生の指示を行なうための操作部である。304はソフトウェアを蓄積する記憶装置である。305は画像データを蓄積する記憶装置、306は画像を撮像するカメラである。記憶装置304および305は、システムから脱着可能なメディアで構成することもできる。307は画像を表示するモニタ、308は通信回路であり、LAN、公衆回線、無線回線、放送電波等で構成されている。309は通信回路308を介して画像データを送受信する通信インタフェース(I/F)である。
【００７２】
メモリ301には装置全体を制御し、各種ソフトウェアを動作させるためのOSや動作させるソフトウェアを格納し、入力されるJPEG符号化データを格納するJPEG符号化データエリア、出力するMPEG-4符号化データを格納するMPEG-4符号化データエリア、復号した量子化値等のパラメータ等を格納しておくワーキングエリアが存在する。
【００７３】
このような構成において、記憶装置305に格納されたMotion JPEG符号化データをMPEG-4符号化データに変換して通信インターフェースから送信する符号化データ送信処理について説明する。
【００７４】
処理に先立ち、操作部303から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置304に格納されているソフトウェアがバス302を介してメモリ301に展開され、ソフトウェアが起動される。
【００７５】
ここで図８に、メモリ301の使用状況を示す。図８に示されるようにメモリ301には、装置全体を制御し、各種ソフトウェアを動作させるためのOS、通信を制御する通信ソフトウェア、符号化データ変換ソフトウェアが展開されている。
【００７６】
装置の起動後、メモリ301に格納された通信ソフトウエアが起動され、通信回線308を介して他装置との通信路を確保する。
【００７７】
以下、CPU300による符号化データの変換処理について、説明する。画像情報の抽出、符号化パラメータの抽出、画像情報の符号化、符号化パラメータの符号化、MPEG-4符号化データのヘッダの生成に関しては、第２実施形態の図５と同様であるため、図５を参照して第３実施形態を説明する。
【００７８】
まずステップS1で、JPEG符号化データのイメージ層の符号化データを読み出し、メモリ301のJPEG符号化データエリアに格納する。ステップS2では、メモリ301のJPEG符号化データエリアに格納されたイメージ層の符号化データから、符号化パラメータである、量子化テーブルに関する符号を抽出し、MPEG-4符号化方式の量子化マトリクスと比較し、必要に応じて符号を生成して、ワーキングエリアに格納する。ステップS3では、メモリ301のJPEG符号化データエリアの符号化データからハフマンテーブルに関する符号を抽出し、MPEG-4符号化方式のハフマンテーブルと比較し、変換テーブルを作成してワーキングエリアに格納する。ステップS4では、メモリ301のJPEG符号化データエリアからJPEG符号化方式の符号化データでフレームデータを読み出し、そのヘッダを解析する。得られた画像情報は、メモリ301上のワーキングエリアに格納される。ステップS5では、その画像情報や符号化パラメータ等からVOS,VO,VOLの各ヘッダデータを生成して、メモリ301上のMPEG-4符号化データエリアに格納する。ステップS6では、フレームの画素に関する符号化データの変換を行なう。
【００７９】
ステップS7では、全てのフレームデータに関して処理が終了したか否かを判定する。未処理のフレームデータがメモリ301上のJPEG符号化データエリアにある場合は、ステップS100に進む。ステップS100では符号化モードをI-VOP，P-VOPのいずれにするかを決定する。ステップS8では、メモリ301のJPEG符号化データエリアからJPEG符号化方式のフレームデータを読み出す。そしてステップS9では、フレームの画素に関する符号化データの変換を行ない、メモリ301のMPEG-4符号化データエリアに順に格納した後、ステップS7に戻る。この変換の処理に関しては図９を用いて後述する。
【００８０】
ステップS7で全てのフレームの処理が終わったと判断されれば処理全体を終了する。通信ソフトウェアはメモリ301のMPEG-4符号化データエリアの符号化データを適宜読み出し、通信インターフェース309を介して通信回線308に出力し、出力したデータに関してはメモリ301上のMPEG-4符号化データエリアから削除する。
【００８１】
続いて図９のフローチャートを用いて、上記ステップS100におけるフレーム単位の符号化データ変換処理について説明する。
【００８２】
ステップS201では、メモリ301上のワーキングエリアに格納された画像情報と符号化パラメータからVOPヘッダを生成し、図５のステップS6で決められた符号化モードをvop_coding_type符号に記述する。そして、生成されたVOPヘッダをメモリ301上のMPEG-4符号化データエリアに格納してステップS202に進む。ステップS202では、フレームの全てのマクロブロックについて処理が終了したか否かによって終了判定を行なう。終了していれば、当該フレームの処理は終了したと判断するが、そうでなければステップS203に進む。ステップS203では、ステップS6で決定された符号化モードによって処理を選択する。符号化モードがI-VOPであればステップS204に、P-VOPであればステップS212に進む。
【００８３】
符号化モードがI-VOPであった場合、ステップS204では、Intraマクロブロックとしてのマクロブロックのヘッダを生成して、メモリ301上のMPEG-4符号化データエリアに格納し、ステップS205に進む。ステップS205では、マクロブロックの全てのブロックについて処理が終了したか否かを判定する。終了していれば、ステップS202に戻り、そうでなければステップS206に進む。
【００８４】
ステップS206では、ブロックのDC成分に関して予測誤差の復号、JPEG符号化方式の予測に基づくDC成分の量子化値の再生、MPEG-4符号化方式での予測と符号化を行ない、MPEG-4符号化データエリアに符号化データを格納し、DC成分をワーキングエリアの量子化値を格納する領域の該当するブロック位置に格納して、ステップS207に進む。ステップS207では、EOB符号の検出によって全てのAC成分の変換が終了したか否かを判定し、これによってブロック単位での処理の終了判定を行なう。終了していればステップS210に進み、そうでなければステップS208に進む。ステップS208では、0ランと値を表すハフマン符号を抽出し、ステップS209に進む。ステップS209では、入力した符号を復号して量子化された値を再生し、これをワーキングエリアの量子化値を格納する領域の該当するブロックの位置に格納して、ステップS207に戻る。
【００８５】
ステップS207でブロックの量子化値の再生が終了したと判断されたら、ステップS210でメモリ301上のワーキングエリアに格納されている周囲のブロックの量子化値からMPEG-4符号化方式の係数の予測に従って、DC成分とAC成分を予測し、ステップS211に進む。ステップS211ではこの予測誤差と残りのAC成分を符号化して、MPEG-4符号化データエリアに格納し、ステップS205に戻る。ステップS205でマクロブロック内の全ブロックの処理が終了したら、次のマクロブロックの処理を行なうために、ステップS202に戻る。
【００８６】
一方、ステップS203において符号化モードがP-VOPであった場合、ステップS212では、入力したマクロブロックの符号を復号して量子化された値を再生し、これをメモリ301上のワーキングエリアの量子化値を格納する領域の該当するブロック位置に格納して、ステップS213に進む。ステップS213では、ワーキングエリアに格納された前のフレームの量子化値を参照して8画素単位の動きベクトル探索を行い、求めた動きベクトルと各予測誤差を一時的にワーキングエリアに格納する。さらに、予測誤差の絶対値の総和Ｓmを求めて、ステップS214に進む。ステップS214では、入力された量子化値に関して絶対値の総和Ｓsを求め、ＳmとＳsを比較する。ＳsがＳmよりも小さければ、当該マクロブロックはIntra符号化することが効率的と判断してステップS204に進み、前述のとおり、Intraマクロブロックとして処理を行なう。そうでなければ、Inter符号化するためにステップS215に進む。
【００８７】
ステップS215では、動き補償を行なうInterマクロブロックとしてマクロブロックヘッダを生成して、MPEG-4符号化データエリアに格納し、ステップS216に進む。このヘッダにはステップS213で算出した動きベクトルの符号化データも含まれる。ステップS216では、マクロブロックの全てのブロックについて処理が終了したか否かを判定する。終了していればステップS202に戻り、そうでなければステップS217に進む。ステップS217では、得られた予測誤差をブロック単位で符号化し、メモリ301上のMPEG-4符号化データエリアに格納して次のマクロブロックの処理を行なうためにステップS216を介してステップS202に戻る。
【００８８】
このように第３実施形態においては、マクロブロックの符号化モードを判定し、フレーム内符号化モード時にはAC予測を行うことを特徴とする。
【００８９】
以上説明したように第３実施形態によれば、フレーム内符号化方式であるJPEG符号化方式で符号化されたデータを画素値の再生を行なうこと無く、劣化を伴わずに、フレーム間符号化方式であるMPEG-4符号化方式のデータ(I-VOP及びP-VOP)に変換することができる。その結果、ＪＰＥＧ符号化方式に比べ、ＭＰＥＧ−４符号化方式はＡＣの予測によってよりいっそうの符号化効率の改善が見込まれている。また、符号の変換もテーブル参照で行なうことができるので、非常に高速に処理が行なえる。また、画素値を保存するメモリが不要であるため、ソフトウェアの規模を抑えることができ、小容量のメモリで符号データの変換を行うことが可能となる。また、動きベクトル探索も非常に演算量が少なく、高速に探索を行なうことができる。
【００９０】
なお、第２及び第３実施形態においては動き補償として前方予測のみを用いたが、これに限定されず、MPEG-4符号化方式の他の動き補償のモード、例えば両方向予測による動き補償を行なうことももちろん可能である。
【００９１】
また、上述した第１乃至第３実施形態においては、入力をJPEG符号化方式の符号化データ、出力をMPEG-4符号化方式の符号化データとして説明したが、本発明はこの例に限定されず、MPEG-1,2、H.261、H.263等の符号化方式であってもでも構わなし、入出力が同じ変換を用いる変換符号化方式であっても良い。
【００９２】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、テレビ受像機、ビデオテープレコーダ、複写機、ファクシミリ装置など)に適用しても良い。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【００９３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることが出来る。
【００９５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９７】
【発明の効果】
以上説明したように本発明によれば、画質を劣化させずに、第１の符号化データを第２の符号化データに高速かつ、小規模な構成で変換することができる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態における符号化データ変換システムの構成を示すブロック図である。
【図２】本実施形態における符号化データ変換処理を示すフローチャートである。
【図３】本実施形態におけるフレーム単位の符号化データ変換処理を示すフローチャートである。
【図４】第２実施形態における符号化データ変換システムの構成を示すブロック図である。
【図５】第２実施形態における符号化データ変換処理を示すフローチャートである。
【図６】第２実施形態におけるフレーム単位の符号化データ変換処理を示すフローチャートである。
【図７】第３実施形態における符号化データ変換システムの構成を示すブロック図である。
【図８】第３実施形態におけるメモリの使用例を示す図である。
【図９】第３実施形態におけるフレーム単位の符号化データ変換処理を示すフローチャートである。
【符号の説明】
1,101  符号化データ変換装置
2,3,304,305  記憶装置
4  分離器
5  ヘッダ解析器
6  画像情報符号化器
7  符号化パラメータ符号化器
8  MPEG-4VLCメモリ
9  符号変換設定器
10,105,301  メモリ
11,102  VLC復号器
12  DC予測器
13  DC符号化器
14  符号変換器
15,106  整形器
103  動き補償器
104  符号化器
300  CPU
302  バス
303  操作部
308  通信回線
309  通信インターフェース
【図１】
0003893350.tif 000007
【図２】
0003893350.tif 000008
【図３】
0003893350.tif 000009
【図４】
0003893350.tif 000010
【図５】
0003893350.tif 000011
【図６】
0003893350.tif 000012
【図７】
0003893350.tif 000013
【図８】
0003893350.tif 000014
【図９】
0003893350.tif 000015