(57)【要約】パケットに分割された可変長データをデコードする際に、データの先頭位置を特定する情報をデコーダに与えることで、デコーダにおける処理負荷の軽減を実現するパケット処理装置を提供する。ヘッダ解析部（１１）は、パケットに格納されるデータが、先頭情報を含む先頭データかそれ以外のデータかを判定する。データ抽出部（１２）は、パケットからデータを抽出してバッファ（１３）に格納する。バッファ制御部（１４）は、バッファ（１３）に格納された先頭データのアドレス位置及び個数を、先頭位置メモリ（１５）及び先頭数カウンタ（１６）に保持させる。デコード部（２０）は、先頭位置メモリ（１５）及び先頭数カウンタ（１６）を参照し、バッファ（１３）に格納されたデータのデコード処理を実行する。
2004112255.tif 000002
【特許請求の範囲】
【請求項１】
可変長データが分割格納されたパケットを処理するパケット処理装置であって、
入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定するヘッダ解析部と、
前記ヘッダ解析部の解析結果を参照して、パケットのペイロードからデータを抽出するデータ抽出部と、
前記データ抽出部で抽出されたデータを格納するバッファと、
前記バッファ内におけるデータの格納位置及び蓄積データ量を制御するバッファ制御部と、
前記ヘッダ解析部の解析結果及び前記バッファ制御部の制御に基づいて、前記バッファ内の前記先頭データを特定するための情報を生成する先頭データ特定部とを備える。
【請求項２】
請求項１に記載のパケット処理装置であって、
前記先頭データ特定部は、
前記バッファに格納された前記先頭データの格納位置情報を保持する先頭位置メモリと、
前記バッファに格納された前記先頭データの個数をカウントする先頭数カウンタとを備える。
【請求項３】
請求項２に記載のパケット処理装置であって、
前記先頭位置メモリが、前記格納位置情報を保持するレジスタであることを特徴とする。
【請求項４】
請求項２に記載のパケット処理装置であって、
前記先頭位置メモリが、前記バッファとは別個に構成された前記格納位置情報を保持するメモリであることを特徴とする。
【請求項５】
請求項２に記載のパケット処理装置であって、
前記格納位置情報は、前記先頭データを格納する前記バッファのライトアドレスであることを特徴とする。
【請求項６】
請求項２に記載のパケット処理装置であって、
前記格納位置情報は、前記バッファに格納された最初のデータを基準として前記先頭データの位置を相対的に示す情報であることを特徴とする。
【請求項７】
請求項２〜６のいずれかに記載のパケット処理装置であって、
前記バッファ制御部は、前記蓄積データ量と予め定めたしきい量とを比較して、蓄積データ量がしきい量以上となったときに所定の通知信号を出力することを特徴とする。
【請求項８】
請求項７に記載のパケット処理装置であって、
前記先頭数カウンタは、前記所定の通知信号を検出した場合、前記しきい量分のデータ内に含まれる前記先頭データの個数を表示することを特徴とする。
【請求項９】
請求項２〜６のいずれかに記載のパケット処理装置であって、
前記バッファ制御部は、前記先頭数カウンタの個数と予め定めたしきい数とを比較して、個数がしきい数以上となったときに所定の通知信号を出力することを特徴とする。
【請求項１０】
請求項７に記載のパケット処理装置であって、
前記しきい数は、前記先頭位置メモリにおける前記格納位置情報を保持できる領域の数であることを特徴とする。
【請求項１１】
請求項２〜１０のいずれかに記載のパケット処理装置であって、
所定のタイミングで、前記バッファからデータを読み出し、かつ、前記先頭データ特定部から格納位置情報及びカウント数を取得し、当該格納位置情報及びカウント数に基づいて読み出したデータに含まれる前記先頭データを先頭情報とデータとに分離し、当該先頭情報に基づいて読み出したデータのデコード処理を行うデコード部をさらに備える。
【請求項１２】
請求項１１に記載のパケット処理装置であって、
前記バッファ制御部は、前記蓄積データ量と予め定めたしきい量とを比較して、蓄積データ量がしきい量以上となったときに所定の通知信号を出力し、
前記先頭数カウンタは、前記所定の通知信号を検出した場合、前記しきい量分のデータ内に含まれる前記先頭データの個数を表示し、
前記デコード部は、前記通知信号を受けたタイミングで前記バッファから前記しきい量分のデータを読み出すことを特徴とする。
【請求項１３】
請求項１１に記載のパケット処理装置であって、
前記バッファ制御部は、前記先頭数カウンタの個数と予め定めたしきい数とを比較して、個数がしきい数以上となったときに所定の通知信号を出力し、
前記デコード部は、前記通知信号を受けたタイミングで前記バッファからデータを読み出すことを特徴とする。
【請求項１４】
請求項１に記載のパケット処理装置であって、
可変長であるＰＥＳデータが格納されたＭＰＥＧ方式のトランスポートストリームパケットを入力する場合、
前記ヘッダ解析部は、入力するトランスポートストリームのＴＳパケットのヘッダを解析し、ペイロードに格納されているデータがＰＥＳヘッダを含んだ先頭ＰＥＳデータかそれ以外のＰＥＳデータかを判定し、
前記データ抽出部は、前記ヘッダ解析部の解析結果を参照して、ＴＳパケットのペイロードからＰＥＳデータを抽出し、
前記バッファは、前記データ抽出部で抽出されたＰＥＳデータを格納し、
前記バッファ制御部は、前記バッファ内におけるＰＥＳデータの格納位置及び蓄積データ量を制御し、
前記先頭データ特定部は、前記ヘッダ解析部の解析結果及び前記バッファ制御部の制御に基づいて、前記バッファ内の前記先頭ＰＥＳデータを特定するための情報を生成することを特徴とする。
【請求項１５】
可変長データが分割格納されたパケットを処理するパケット処理方法であって、
入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定する解析ステップと、
前記解析ステップの解析結果を参照して、パケットのペイロードからデータを抽出する抽出ステップと、
前記抽出ステップで抽出されたデータをバッファに格納するステップと、
前記バッファ内におけるデータの格納位置及び蓄積データ量を制御する制御ステップと、
前記解析ステップの解析結果及び前記制御ステップの制御に基づいて、前記バッファ内の前記先頭データを特定するための情報を生成する特定ステップとを備える。
【請求項１６】
バッファに格納されたデータに含まれる先頭情報を含んだ先頭データを特定するための情報を用いて、バッファに格納されたデータをデコードするデコード処理方法であって、
所定のタイミングで前記バッファからデータを読み出す読み出しステップと、
前記先頭データを特定するための情報に基づいて、読み出したデータに含まれる前記先頭データを先頭情報とデータとに分離する分離ステップと、
前記先頭情報に基づいて読み出したデータのデコード処理を行う復号ステップとを備える。
【請求項１７】
可変長データが分割格納されたパケットを処理するパケット処理方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムであって、
前記プログラムは、コンピュータに、
入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定する解析ステップと、
前記解析ステップの解析結果を参照して、パケットのペイロードからデータを抽出する抽出ステップと、
前記抽出ステップで抽出されたデータをバッファに格納するステップと、
前記バッファ内におけるデータの格納位置及び蓄積データ量を制御する制御ステップと、
前記解析ステップの解析結果及び前記制御ステップの制御に基づいて、前記バッファ内の前記先頭データを特定するための情報を生成する特定ステップとを実行させる。
【請求項１８】
バッファに格納されたデータに含まれる先頭情報を含んだ先頭データを特定するための情報を用いてバッファに格納されたデータをデコードするデコード処理方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムであって、
前記プログラムは、コンピュータに、
所定のタイミングで前記バッファからデータを読み出す読み出しステップと、
前記先頭データを特定するための情報に基づいて、読み出したデータに含まれる前記先頭データを先頭情報とデータとに分離する分離ステップと、
前記先頭情報に基づいて読み出したデータのデコード処理を行う復号ステップとを実行させる。
【請求項１９】
可変長データが分割格納されたパケットを処理するパケット処理方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムを記録した媒体であって、
前記媒体に記録されたプログラムは、コンピュータに、
入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定する解析ステップと、
前記解析ステップの解析結果を参照して、パケットのペイロードからデータを抽出する抽出ステップと、
前記抽出ステップで抽出されたデータをバッファに格納するステップと、
前記バッファ内におけるデータの格納位置及び蓄積データ量を制御する制御ステップと、
前記解析ステップの解析結果及び前記制御ステップの制御に基づいて、前記バッファ内の前記先頭データを特定するための情報を生成する特定ステップとを実行させる。
【請求項２０】
バッファに格納されたデータに含まれる先頭情報を含んだ先頭データを特定するための情報を用いてバッファに格納されたデータをデコードするデコード処理方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムを記録した媒体であって、
前記媒体に記録されたプログラムは、コンピュータに、
所定のタイミングで前記バッファからデータを読み出す読み出しステップと、
前記先頭データを特定するための情報に基づいて、読み出したデータに含まれる前記先頭データを先頭情報とデータとに分離する分離ステップと、
前記先頭情報に基づいて読み出したデータのデコード処理を行う復号ステップとを実行させる。
【請求項２１】
可変長データが分割格納されたパケットを処理する装置に組み込まれる集積回路であって、
前記装置は、データを格納するためのバッファを備え、
前記集積回路は、
入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定するヘッダ解析部、
前記ヘッダ解析部の解析結果を参照して、パケットのペイロードからデータを抽出し、抽出したデータを前記バッファに格納させるデータ抽出部、
前記バッファ内におけるデータの格納位置及び蓄積データ量を制御するバッファ制御部、及び
前記ヘッダ解析部の解析結果及び前記バッファ制御部の制御に基づいて、前記バッファ内の前記先頭データを特定するための情報を生成する先頭データ特定部として機能する回路を、集積している。
【請求項２２】
請求項２１に記載の集積回路であって、
所定のタイミングで、前記バッファからデータを読み出し、かつ、前記先頭データ特定部から前記先頭データを特定するための情報を取得し、当該情報に基づいて読み出したデータに含まれる前記先頭データを先頭情報とデータとに分離し、当該先頭情報に基づいて読み出したデータのデコード処理を行うデコード部として機能する回路を、さらに集積している。
【発明の詳細な説明】
【技術分野】  本発明は、パケット処理装置及び方法に関し、より特定的には、可変長データが分割格納されたパケットから圧縮符号化された画像データや音声データ等を復号するパケット処理装置、及びパケット処理方法に関する。
【背景技術】  近年、ＣＳやＢＳによるディジタル放送等においては、画像データ及び音声データ等を圧縮するための符号化方式として、ＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式が採用されている。従って、ディジタル放送等の受信機器や記録再生機器は、ＭＰＥＧ方式で圧縮符号化されたデータのビットストリームを復号する装置を備える必要がある。
ここで、主にディジタル放送に用いられているＭＰＥＧ２方式について簡単に説明する。ＭＰＥＧ２方式では、圧縮符号化された画像データや音声データ等のビットストリームを、エレメンタリストリーム（ＥＳ）と称する。このエレメンタリストリームを運ぶためのパケット構造として、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）が定義されている。図１５は、ＰＥＳパケットの詳細な構造を示す図である。また、ＭＰＥＧ２方式では、ＰＥＳパケットが所定の単位に分割され、トランスポートストリームパケット（以下、ＴＳパケットという）に格納されて放送される。図１６は、ＴＳパケットの詳細な構造を示す図である。図１７は、ＴＳパケットとＰＥＳデータとの関係を説明する図である。
このようなことから、ＭＰＥＧ２方式のビットストリームを扱う装置では、複数のＴＳパケットからＰＥＳデータを抽出して復号するというパケット処理を行う必要がある。以下、このパケット処理を説明する。
図１８は、従来のパケット処理を行うＭＰＥＧ復号装置の構成例を示すブロック図である。図１８において、従来のＭＰＥＧ復号装置１０１は、ＴＳヘッダ解析部１１１と、ＰＥＳ抽出部１１２と、ＰＥＳバッファ１１３と、ＰＥＳバッファ制御部１１４と、ＭＰＥＧデコード部１２０とを備える。ＴＳヘッダ解析部１１１、ＰＥＳ抽出部１１２、ＰＥＳバッファ１１３及びＰＥＳバッファ制御部１１４は、トランスポートストリーム復号部１１０を構成する。
ＴＳヘッダ解析部１１１及びＰＥＳ抽出部１１２には、ＭＰＥＧ２方式のＴＳパケットが順次入力される。ＴＳヘッダ解析部１１１は、ＴＳパケットが入力される毎に、そのＴＳパケットのＴＳヘッダの解析を行う。ＰＥＳ抽出部１１２は、ＴＳヘッダ解析部１１１におけるＴＳヘッダの解析結果を参照して、入力されたＴＳパケットから必要なＰＥＳデータを抽出する。そして、ＰＥＳ抽出部１１２は、抽出したＰＥＳデータをＰＥＳバッファ１１３に出力する。ＰＥＳバッファ１１３は、ＰＥＳ抽出部１１２で抽出されたＰＥＳデータを一時的に格納する。ＰＥＳバッファ制御部１１４は、ＰＥＳバッファ１１３に対して制御信号を出力し、ＰＥＳバッファ１１３のアドレス制御及び蓄積データ制御等を行う。
ＭＰＥＧデコード部１２０は、任意のタイミングでＰＥＳバッファ１１３からＰＥＳデータを読み出してデコード処理を実行し、復号画像及び復号音声を出力する。この際、ＭＰＥＧデコード処理に必要なＰＥＳヘッダを解析するために、ＰＥＳデータの先頭位置、すなわちＰＥＳヘッダを含むＰＥＳデータを与える情報が必要となる。そこで、通常、ＭＰＥＧデコード部１２０は、ＰＥＳバッファ１１３に格納されたＰＥＳデータに対して、ＰＥＳヘッダが有しているパケットスタートコードを検出することによって、ＰＥＳデータの先頭位置を特定することを行う。ＰＥＳデータの先頭位置の特定に関する技術は、例えば特開２００１−１６５４７号公報（第６〜８頁、図１）に記載されている。
【発明の開示】
しかしながら、上記従来のＭＰＥＧ復号装置１０１のように、ＭＰＥＧデコード部１２０が、ＴＳパケットから抽出されたＰＥＳデータに対してパケットスタートコード検出を行ってＰＥＳデータの先頭位置を特定する場合には、以下のような課題がある。
まず、ＰＥＳは可変長である。このため、ＰＥＳデータの先頭位置を特定するには、ＰＥＳバッファ１１３に格納された全てのＰＥＳデータを対象に、パケットスタートコード検出の処理を実行する必要がある。なお、ＰＥＳヘッダに含まれるＰＥＳパケット長の値が「０」となる場合があり得るが、この場合でも実際のＰＥＳパケットの長さは「０」ではないため、先頭位置を特定するにはパケットスタートコードの検出が必要となる。また、アダプテーションフィールド及びＰＥＳヘッダ内には、パケットスタートコードと同一のパターン、いわゆる擬似スタートコードが発生する場合がある。このため、擬似スタートコードを除外して正しいＰＥＳデータの先頭位置を特定するには、大きな処理量が必要となる。
従って、ＭＰＥＧデコード部１２０における処理負荷が重くなり、ＭＰＥＧデコード処理速度の低下やＰＥＳデータの先頭位置を特定する動作による消費電力の増加を生じさせるという課題があった。この課題は、ＭＰＥＧ２方式のＴＳパケットに限られる話ではなく、可変長データが同一サイズのパケットに分割されて送信される全てのパケット送信に関係するものである。
それ故に、本発明の目的は、可変長データが分割格納されたパケットのデータを復号する際に、データの先頭位置を特定する情報を生成してデコーダに与えることで、デコーダにおける処理負荷の軽減、デコード処理速度の向上、及び消費電力の低減を実現するパケット処理装置及び方法を提供することである。
本発明は、可変長データが分割格納されたパケットを処理するパケット処理装置に向けられている。そして、上記目的を達成させるために、本発明のパケット処理装置は、ヘッダ解析部、データ抽出部、バッファ、バッファ制御部、及び先頭データ特定部とを備えている。
ヘッダ解析部は、入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定する。データ抽出部は、  ヘッダ解析部の解析結果を参照して、パケットのペイロードからデータを抽出する。バッファは、データ抽出部で抽出されたデータを格納する。バッファ制御部は、バッファ内におけるデータの格納位置及び蓄積データ量を制御する。先頭データ特定部は、ヘッダ解析部の解析結果及びバッファ制御部の制御に基づいて、バッファ内の先頭データを特定するための情報を生成する。
典型的な先頭データ特定部は、バッファに格納された先頭データの格納位置情報を保持する先頭位置メモリと、バッファに格納された先頭データの個数をカウントする先頭数カウンタとで構成される。先頭位置メモリとしては、格納位置情報を保持するレジスタが考えられる。格納位置情報としては、先頭データを格納するバッファのライトアドレスか、バッファに格納された最初のデータを基準として先頭データの位置を相対的に示す情報が考えられる。
また、本発明のパケット処理装置に、所定のタイミングで、バッファからデータを読み出し、かつ、先頭データ特定部から格納位置情報及びカウント数を取得し、格納位置情報及びカウント数に基づいて読み出したデータに含まれる先頭データを先頭情報とデータとに分離し、先頭情報に基づいて読み出したデータのデコード処理を行うデコード部をさらに備えてもよい。
ここで、バッファ制御部は、蓄積データ量と予め定めたしきい量とを比較して、蓄積データ量がしきい量以上となったときに所定の通知信号を出力することが好ましい。この所定の通知信号を検出した場合、先頭数カウンタは、しきい量分のデータ内に含まれる先頭データの個数を表示するとよい。デコード部を備える場合には、通知信号を受けたタイミングでバッファからしきい量分のデータを読み出させるようにする。
又は、バッファ制御部は、先頭数カウンタの個数と予め定めたしきい数とを比較して、個数がしきい数以上となったときに所定の通知信号を出力することが好ましい。しきい数は、先頭位置メモリにおける格納位置情報を保持できる領域の数であればよい。デコード部を備える場合には、通知信号を受けたタイミングでバッファからデータを読み出させるようにする。
具体的には、可変長データであるＰＥＳデータが格納されたＭＰＥＧ方式のトランスポートストリームパケットが入力される。この場合、ヘッダ解析部は、入力するトランスポートストリームのＴＳパケットのヘッダを解析し、ペイロードに格納されているデータがＰＥＳヘッダを含んだ先頭ＰＥＳデータかそれ以外のＰＥＳデータかを判定し、パケットデータ抽出部は、ヘッダ解析部の解析結果を参照して、ＴＳパケットのペイロードからＰＥＳデータを抽出し、バッファは、パケットデータ抽出部で抽出されたＰＥＳデータを格納し、バッファ制御部は、バッファ内におけるＰＥＳデータの格納位置及び蓄積データ量を制御し、先頭データ特定部は、ヘッダ解析部の解析結果及びバッファ制御部の制御に基づいて、バッファ内の先頭ＰＥＳデータを特定するための情報を生成することになる。
また、上述したパケット処理装置の各構成が行うそれぞれの処理は、一連の処理手順を与えるパケット処理方法及びデコード処理方法として捉えることができる。すなわち、入力するパケットのヘッダを解析し、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータかを判定し、解析結果を参照してパケットのペイロードからデータを抽出し、抽出したデータをバッファに格納し、バッファ内におけるデータの格納位置及び蓄積データ量を制御し、解析結果及び制御に基づいて、バッファ内の先頭データを特定するための情報を生成する、パケット処理方法である。又は、所定のタイミングでバッファからデータを読み出し、先頭データを特定するための情報に基づいて、読み出したデータに含まれる先頭データを先頭情報とデータとに分離し、先頭情報に基づいて読み出したデータのデコード処理を行うデコード処理方法である。
上述したパケット処理装置を構成する機能ブロックは、集積回路であるＬＳＩとして実現されてもよい。また、パケット処理方法は、一連の処理手順をコンピュータに実行させるためのプログラムの形式で提供される。このプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で、コンピュータに導入されてもよい。
上記のように、本発明によれば、デコードのためにバッファに格納されたデータを読み出すときに、先頭データを特定するための情報を得ることができる。従って、デコード側でデータの先頭位置を検出する必要がなくなり、デコード処理負荷の軽減、デコード処理速度の向上、及び消費電力の低減を実現することができる。また、デコード側は、バッファの蓄積データ量がしきい量に達した通知信号を受けた場合にだけデータの読み出し処理を行うようにすれば、デコード処理を軽減することができる。また、所定数の先頭データがバッファに格納されれば、自動的にデコード側がデータを読み出すようにすれば、例えばデータ長の短いデータが連続して入力され、バッファに多数の先頭データが格納される恐れがあるような場合でも、先頭位置メモリの回路規模を増加させずに済む。
【図面の簡単な説明】  図１は、本発明の一実施形態に係るパケット処理装置１の構成を示すブロック図である。
図２は、データ処理部１０が行う基本的なデータ処理手順の一例を示すフローチャートである。
図３は、パケット処理装置１に入力されるパケットの一例を示す図である。
図４Ａ〜図４Ｆは、図３のパケットに応じたバッファ１３、先頭位置メモリ１５及び先頭数カウンタ１６の状態を説明する図である。
図５Ａは、デコード部２０が行うデータの読み出し処理手順の一例を示すフローチャートである（第１の手法）。
図５Ｂは、図５Ａの手順に従った処理シーケンス例を示した図である。
図６Ａは、デコード部２０が行うデータの読み出し処理手順の一例を示すフローチャートである（第２の手法）。
図６Ｂは、図６Ａの手順に従った処理シーケンス例を示した図である。
図７Ａは、デコード部２０が行うデータの読み出し処理手順の一例を示すフローチャートである（第３の手法）。
図７Ｂは、図７Ａの手順に従った処理シーケンス例を示した図である。
図８Ａは、デコード部２０が行うデータの読み出し処理手順の一例を示すフローチャートである（第４の手法）。
図８Ｂは、図８Ａの手順に従った処理シーケンス例を示した図である。
図９Ａは、デコード部２０が行うデータの読み出し処理手順の一例を示すフローチャートである（第５の手法）。
図９Ｂは、図９Ａの手順に従った処理シーケンス例を示した図である。
図１０Ａは、デコード部２０が行うデータの読み出し処理手順の一例を示すフローチャートである（第６の手法）。
図１０Ｂは、図１０Ａの手順に従った処理シーケンス例を示した図である。
図１１は、パケット処理装置１に入力されるＴＳパケットの一例を示す図である。
図１２Ａ〜図１２Ｆは、図１１のＴＳパケットに応じたバッファ１３、先頭位置メモリ１５及び先頭数カウンタ１６の状態を説明する図である。
図１３は、バッファ１３にデータだけを格納する場合における先頭位置メモリ１５の構成例を示す図である。
図１４Ａは、図７Ａ（第３の手法）及び図９Ａ第５の手法の両方を用いた場合の処理シーケンス例を示した図である。
図１４Ｂは、図８Ａ（第４の手法）及び図１０Ａ第６の手法の両方を用いた場合の処理シーケンス例を示した図である。
図１５は、ＰＥＳパケットの詳細な構造を示す図である。
図１６は、ＴＳパケットの詳細な構造を示す図である。
図１７は、ＴＳパケットとＰＥＳデータとの関係を説明する図である。
図１８は、従来のＭＰＧＥ復号装置１０１の構成を示すブロック図である。
【発明を実施するための最良の形態】  以下、可変長データが分割格納されたパケットが入力される場合を一例に挙げて、本発明のパケット処理装置を説明する。
図１は、本発明の一実施形態に係るパケット処理装置１の構成を示すブロック図である。図１において、パケット処理装置１は、ヘッダ解析部１１と、データ抽出部１２と、バッファ１３と、バッファ制御部１４と、先頭データ特定部１７と、デコード部２０とを備える。ヘッダ解析部１１、データ抽出部１２、バッファ１３、バッファ制御部１４及び先頭データ特定部１７は、データ処理部１０を構成する。典型的な先頭データ特定部１７は、先頭位置メモリ１５及び先頭数カウンタ１６で構成される。なお、本実施形態では、デコード部２０がパケット処理装置１に組み込まれている構成を説明するが、このデコード部２０は、パケット処理装置１と別個で構成されてもよい。
ヘッダ解析部１１及びデータ抽出部１２には、可変長データが分割格納されたパケットが順次入力される。ヘッダ解析部１１は、パケットが入力される毎に、そのパケットのヘッダを解析して、ペイロードに格納されているデータが先頭情報を含んだ先頭データかそれ以外のデータ（非先頭データ）かを判定する。ここで、先頭情報とは、デコード処理に必要な時間情報等が記述されたヘッダ情報等である。データ抽出部１２は、ヘッダ解析部１１におけるヘッダの解析結果を参照して、入力されたパケットのペイロードから必要なデータを抽出する。そして、データ抽出部１２は、抽出したデータをバッファ１３に出力すると共に、先頭データを出力した場合にはバッファ制御部１４へその旨を通知する。バッファ１３は、バッファ制御部１４による格納位置制御に従って、データ抽出部１２から出力されるデータを所定の位置に格納する。
バッファ制御部１４は、バッファ１３の格納位置制御及び蓄積データ制御を行う。この格納位置制御とは、データ抽出部１２で抽出されたデータを書き込む位置（ライトアドレス）を制御することであり、典型的にはライトポインタ（ＷＰ）を用いて行われる。蓄積データ制御とは、データ抽出部１２で抽出されたデータが、オーバーフローすることなくバッファ１３に格納できるように制御することであり、典型的にはバッファ１３に格納されているデータの蓄積データ量の管理である。また、バッファ制御部１４は、バッファ１３に先頭データが格納されたことがデータ抽出部１２から通知されると、先頭位置メモリ１５に格納位置情報を、先頭数カウンタ１６に格納の旨を通知する。
先頭位置メモリ１５は、バッファ制御部１４から通知される先頭データのバッファ１３上のライトアドレスを、先頭データの格納位置情報として保持する。この先頭位置メモリ１５は、複数のレジスト領域を有しているレジスタや、複数の記憶領域を有しているメモリ等である。メモリにすれば、記憶する数を容易に変更することができる。なお、メモリは、バッファ１３とは別に構成される。先頭数カウンタ１６は、バッファ１３に書き込まれた先頭データの個数をカウントする。具体的には、先頭データがバッファ１３に格納されたとき、すなわちバッファ制御部１４から通知を受けたときに、先頭数カウンタ１６のカウント数がインクリメントされる。なお、この先頭数カウンタ１６のカウント数は、デコード部２０によってカウント数分の先頭データがバッファ１３から読み出されたとき、すなわち先頭位置メモリ１５が参照されたときにリセットされる。
次に、図２を参照して、データ処理部１０で行われる処理を詳細に説明する。図２は、データ処理部１０が行う基本的なデータ処理手順の一例を示すフローチャートである。
データ抽出部１２で抽出されたデータは、バッファ１３内のライトポインタで示されたアドレス位置に格納される（ステップＳ２１、Ｓ２２）。格納されたデータが先頭データでない場合には（ステップＳ２３、Ｎｏ）、バッファ制御部１４によって、バッファ１３内のライトポインタが次のアドレス位置に移動する（ステップＳ２６）。一方、格納されたデータが先頭データである場合には（ステップＳ２３、Ｙｅｓ）、まずその先頭データが格納された位置のアドレスが、バッファ制御部１４によって先頭位置メモリ１５に保持される（ステップＳ２４）。さらに、バッファ制御部１４によって、先頭数カウンタ１６のカウント数がインクリメントされる（ステップＳ２５）。その後、バッファ制御部１４によって、バッファ１３内のライトポインタが次のアドレス位置に移動する（ステップＳ２６）。
以上の処理は、入力された各パケットについて実行される（ステップＳ２７）。これにより、データ処理部１０は、バッファ１３に書き込まれた先頭データの格納位置情報及び個数を、先頭位置メモリ１５及び先頭数カウンタ１６にそれぞれ記憶することになる。
次に、図３及び図４Ａ〜図４Ｆを参照して、バッファ１３に格納されるデータ、先頭位置メモリ１５が保持する格納位置情報及び先頭数カウンタ１６のカウント数の関係を、具体的に説明する。図３は、パケット処理装置１に入力されるパケットの一例を示す図である。図４Ａ〜図４Ｆは、図３のパケットに応じたバッファ１３、先頭位置メモリ１５及び先頭数カウンタ１６の状態を説明する図である。ここでは、バッファ１３、先頭位置メモリ１５及び先頭数カウンタ１６の状態が図４Ａのときに、図３に示すパケットが入力された場合を説明する。
最初に抽出されたデータ（１）は、バッファ１３内のライトポインタで示されるアドレス「０００１」に格納される。データ（１）は先頭データではないので、ライトポインタがアドレス「０００２」の位置に移動することだけが行われる（図４Ｂの状態）。
次に抽出されたデータ（２）は、バッファ１３内のライトポインタで示されるアドレス「０００２」に格納される。データ（２）は先頭データであるので、先頭位置メモリ１５にアドレス「０００２」が保持され、先頭数カウンタ１６のカウント数が「０」から「１」に更新される。その後、ライトポインタがアドレス「０００３」の位置に移動する（図４Ｃの状態）。
同様に、次に抽出された先頭データではないデータ（３）及びデータ（４）は、バッファ１３内のライトポインタに従って、アドレス「０００３」及び「０００４」にそれぞれ格納される。ライトポインタは、この処理によってアドレス「０００５」の位置に移動する（図４Ｄの状態）。
さらに、次に抽出された先頭データであるデータ（５）は、バッファ１３内のライトポインタで示されるアドレス「０００５」に格納される。そして、先頭位置メモリ１５にアドレス「０００５」が追加して保持され、先頭数カウンタ１６のカウント数が「１」から「２」に更新される。その後、ライトポインタがアドレス「０００６」の位置に移動する（図４Ｅの状態）。
そして、次に抽出された先頭データではないデータ（６）は、バッファ１３内のライトポインタに従って、アドレス「０００６」に格納される。ライトポインタは、アドレス「０００７」の位置に移動する（図４Ｆの状態）。
次に、デコード部２０が行う動作を説明する。デコード部２０は、ある所定のタイミングにおいて、先頭位置メモリ１５及び先頭数カウンタ１６の参照、及びバッファ１３からのデータ読み出しを行う。そして、デコード部２０は、読み出したデータをデコード処理し、画像及び音声を出力する。このデコード部２０では、行われるデータの読み出し処理としては、例えば次の６つの手法が考えられる。
１．第１の手法（図５Ａ、図５Ｂ）
この第１の手法は、デコード部２０が、任意のタイミングでデコード処理を実行する手法である。まず、デコード部２０は、処理のタイミングになると、先頭数カウンタ１６のカウント数を参照する（ステップＳ５１、Ｓ５２）。次に、デコード部２０は、カウント数が「１」以上か否かを判断する（ステップＳ５３）。カウント数が「１」以上の場合、デコード部２０は、先頭位置メモリ１５に格納されているアドレスを、このカウント数分だけ取得する（ステップＳ５４）。
例えば、図４Ｆの状態においてデコード処理を実行する場合、デコード部２０は、先頭数カウンタ１６のカウント数「２」を参照する。そして、デコード部２０は、最新情報から２つ前までのアドレス「０００２」及び「０００５」を、先頭位置メモリ１５から取得する。
次に、デコード部２０は、バッファ１３に格納されているデータを、例えばリードポインタで示されているアドレス位置から順に読み出す（ステップＳ５５）。デコード部２０は、先頭位置メモリ１５から取得した格納位置情報に対応するアドレス位置から読み出した先頭データについては、ヘッダとデータとに分離し、ヘッダに基づいてデータのデコード処理を行う。この処理は、ヘッダに含まれるデコード処理に必要となる各種の時間情報を利用して行うことができる。
以上の手順をデコード処理が終了するまで繰り返して行うことによって（ステップＳ５６）、デコード部２０は、改めてデータの先頭位置検出を行うことなく、バッファ１３から読み出したデータのデコード処理を行うことができる。なお、図５Ｂは、図５Ａの手順に従った処理シーケンス例を示した図である。
２．第２の手法（図６Ａ、図６Ｂ）
この第２の手法は、第１の手法の手順を変えたものである。第２の手法では、デコード部２０は、処理のタイミングになると、まずバッファ１３に格納されているデータを、例えばリードポインタで示されているアドレス位置から順に読み出す（ステップＳ５１、Ｓ５５）。そして、データの読み出しが完了すると、先頭数カウンタ１６のカウント数の参照、判断及び先頭位置メモリ１５に格納されているアドレスの取得を行う（ステップＳ５２〜Ｓ５４）。
以上の手順をデコード処理が終了するまで繰り返して行うことによって（ステップＳ５６）、デコード部２０は、改めてデータの先頭位置検出を行うことなく、バッファ１３から読み出したデータのデコード処理を行うことができる。なお、図６Ｂは、図６Ａの手順に従った処理シーケンス例を示した図である。
３．第３の手法（図７Ａ、図７Ｂ）
この第３の手法は、デコード部２０が、データ処理部１０からの通知信号に従って、デコード処理を実行する手法である。この手法では、バッファ制御部１４に、バッファ１３の蓄積データ量に関する所定のしきい量を予め保持させておく。このしきい量は、バッファ１３の最大蓄積データ量以内の値（例えば、最大蓄積データ量の８０％）に設定される。そして、バッファ制御部１４に、バッファ１３を常時監視させ、蓄積データ量がしきい量に達したと判断した場合には、先頭位置メモリ１５及び先頭数カウンタ１６に通知信号を出力する。先頭位置メモリ１５は、この通知信号を受けてその時点までに保持したアドレスをデコード部２０に提供する格納位置情報として確定する。また、先頭数カウンタ１６は、この通知信号を受けてその時点までのカウント数、すなわちしきい量分のデータ内に含まれる先頭データの個数を、デコード部２０に提供する個数情報として確定する。さらに、この通知信号は、先頭位置メモリ１５又は先頭数カウンタ１６を通じて、デコード部２０に出力される。
まず、デコード部２０は、蓄積データ量がしきい量に達した通知信号を受けると、先頭数カウンタ１６で確定されたカウント数を参照する（ステップＳ７１、Ｓ７２）。次に、デコード部２０は、カウント数が「１」以上か否かを判断する（ステップＳ７３）。カウント数が「１」以上の場合、デコード部２０は、先頭位置メモリ１５で確定された格納位置情報を、このカウント数分だけ取得する（ステップＳ７４）。このように、上記通知信号以降にバッファ１３に格納された先頭データに関しては、デコード部２０に情報提供がされないことになる。そして、デコード部２０は、バッファ１３に格納されているデータを、例えばリードポインタで示されているアドレス位置から順に読み出す（ステップＳ７５）。デコード部２０は、先頭位置メモリ１５から取得した格納位置情報に対応するアドレス位置から読み出した先頭データについては、ヘッダとデータとに分離し、ヘッダに基づいてデータのデコード処理を行う。
なお、先頭数カウンタ１６は、デコード部２０が先頭位置メモリ１５の格納位置情報を読み出したときに、確定したカウント数をリセットすると共に、その時点でバッファ１３に格納されている先頭データの個数についてカウント表示を行う。
以上の手順をデコード処理が終了するまで繰り返して行うことによって（ステップＳ７６）、デコード部２０は、改めてデータの先頭位置検出を行うことなく、バッファ１３から読み出したデータのデコード処理を行うことができる。さらに、デコード部２０は、バッファ１３の蓄積データ量がしきい量に達した通知信号を受けた場合にだけ、データの読み出し処理を行えばよいので、デコード処理を軽減することができる。なお、図７Ｂは、図７Ａの手順に従った処理シーケンス例を示した図である。
４．第４の手法（図８Ａ、図８Ｂ）
この第４の手法は、第３の手法の手順を変えたものである。第４の手法では、デコード部２０は、処理のタイミングになると、まずバッファ１３に格納されているデータを、例えばリードポインタで示されているアドレス位置から順に読み出す（ステップＳ７１、Ｓ７５）。そして、データの読み出しが完了すると、先頭数カウンタ１６のカウント数の参照、判断及び先頭位置メモリ１５に格納されているアドレスの取得を行う（ステップＳ７２〜Ｓ７４）。
以上の手順をデコード処理が終了するまで繰り返して行うことによって（ステップＳ７６）、デコード部２０は、改めてデータの先頭位置検出を行うことなく、バッファ１３から読み出したデータのデコード処理を行うことができる。なお、図８Ｂは、図８Ａの手順に従った処理シーケンス例を示した図である。
５．第５の手法（図９Ａ、図９Ｂ）
この第５の手法も、デコード部２０が、データ処理部１０からの通知信号に従って、デコード処理を実行する手法である。この手法では、先頭数カウンタ１６に、先頭位置メモリ１５において保持できる格納位置情報の数に対応した所定のしきい数を予め保持させておく。すなわち、このしきい数は、先頭位置メモリ１５が備える格納領域の数に対応させて設定される。そして、先頭数カウンタ１６が、カウント数がしきい数に達したと判断した場合には、その旨がデコード部２０に通知される。
まず、デコード部２０は、カウント数がしきい数に達した通知信号を受けると、先頭数カウンタ１６のカウント数を参照する（ステップＳ９１、Ｓ９２）。次に、デコード部２０は、先頭位置メモリ１５に格納されている格納位置情報を、このカウント数分だけ取得する（ステップＳ９３）。そして、デコード部２０は、バッファ１３に格納されているデータを、例えばリードポインタで示されているアドレス位置から順に読み出す（ステップＳ９４）。デコード部２０は、先頭位置メモリ１５から取得した格納位置情報に対応するアドレス位置から読み出した先頭データについては、ヘッダとデータとに分離し、ヘッダに基づいてデータのデコード処理を行う。
以上の手順をデコード処理が終了するまで繰り返して行うことによって（ステップＳ９５）、デコード部２０は、改めてデータの先頭位置検出を行うことなく、バッファ１３から読み出したデータのデコード処理を行うことができる。さらに、所定数の先頭データがバッファ１３に格納されれば、自動的にデコード部２０がデータを読み出すので、例えばデータ長の短いデータが連続して入力され、バッファ１３に多数の先頭データが格納される恐れがあるような場合でも、先頭位置メモリ１５の回路規模を増加させずに済む。なお、図９Ｂは、図９Ａの手順に従った処理シーケンス例を示した図である。
６．第６の手法（図１０Ａ、図１０Ｂ）
この第６の手法は、第５の手法の手順を変えたものである。第６の手法では、デコード部２０は、処理のタイミングになると、まずバッファ１３に格納されているデータを、例えばリードポインタで示されているアドレス位置から順に読み出す（ステップＳ９１、Ｓ９４）。そして、データの読み出しが完了すると、先頭数カウンタ１６のカウント数の参照及び先頭位置メモリ１５に格納されているアドレスの取得を行う（ステップＳ９２、Ｓ９３）。
以上の手順をデコード処理が終了するまで繰り返して行うことによって（ステップＳ９５）、デコード部２０は、改めてデータの先頭位置検出を行うことなく、バッファ１３から読み出したデータのデコード処理を行うことができる。なお、図１０Ｂは、図１０Ａの手順に従った処理シーケンス例を示した図である。
以上のように、本発明の一実施形態に係るパケット処理装置及び方法によれば、デコード部２０がバッファ１３に格納されたデータを読み出す場合、データの読み出しとは別に先頭データの格納位置及び個数に関する情報を得ることができる。従って、デコード部２０側でデータの先頭位置を検出する必要がなくなり、デコード部２０の処理負荷の軽減、デコード処理速度の向上、及び消費電力の低減を実現することができる。
（ＭＰＥＧ２方式のＴＳパケットへの適用例）
次に、本発明のパケット処理装置１を、ＭＰＥＧ２方式のＴＳパケットのデコード処理に適用した場合の実施例を説明する。なお、データ処理部１０に入力されるＴＳパケットの同期が、ＴＳヘッダ内の同期バイト（図１６を参照）の検出等によって確立されているものとする。
ヘッダ解析部１１及びデータ抽出部１２には、ＭＰＥＧ２方式のＴＳパケットが順次入力される。ヘッダ解析部１１は、ＴＳパケットが入力される毎に、そのＴＳパケットのヘッダ情報、すなわちＴＳヘッダの解析を行う。このとき、ヘッダ解析部１１は、ペイロードユニット開始インジケータ（図１６を参照）が「１」であれば、ＰＥＳヘッダが含まれたＰＥＳデータ（以下、先頭ＰＥＳデータと記す）が、入力されたＴＳパケットのペイロードに格納されていると判定する。データ抽出部１２は、ヘッダ解析部１１におけるＴＳヘッダの解析結果を参照して、入力されたＴＳパケットから必要なＰＥＳデータを抽出する。そして、データ抽出部１２は、抽出したＰＥＳデータをバッファ１３に出力すると共に、先頭ＰＥＳデータを出力した場合にはバッファ制御部１４へその旨を通知する。バッファ１３は、バッファ制御部１４による格納位置制御に従って、データ抽出部１２から出力されるＰＥＳデータを所定の位置に格納する。
先頭位置メモリ１５は、バッファ制御部１４から通知される先頭ＰＥＳデータのバッファ１３上のライトアドレスを、先頭ＰＥＳデータの格納位置情報として保持する。先頭数カウンタ１６は、バッファ１３に書き込まれた先頭ＰＥＳデータの個数をカウントする。具体的には、先頭ＰＥＳデータがバッファ１３に格納されたとき、すなわちバッファ制御部１４から通知を受けたときに、先頭数カウンタ１６のカウント数がインクリメントされる。なお、この先頭数カウンタ１６のカウント数は、デコード部２０によってカウント数分の先頭ＰＥＳデータがバッファ１３から読み出されたとき、すなわち先頭位置メモリ１５が参照されたときにリセットされる。
図１１は、パケット処理装置１に入力されるＴＳパケットの一例を示す図である。図１２Ａ〜図１２Ｆは、図１１のＴＳパケットに応じたバッファ１３、先頭位置メモリ１５及びＰＥＳ先頭数カウンタ１６の状態を説明する図である。ここでは、バッファ１３、先頭位置メモリ１５及び先頭数カウンタ１６の状態が図１２Ａのときに、図１１に示すＴＳパケットが入力された場合を説明する。
最初に抽出されたＰＥＳデータ（１）は、バッファ１３内のライトポインタで示されるアドレス「０００１」に格納される。ＰＥＳデータ（１）は先頭ＰＥＳデータではないので、ライトポインタがアドレス「０００２」の位置に移動することだけが行われる（図１２Ｂの状態）。なお、図面では、ＰＥＳデータのエレメンタリストリームを「ＥＳ」と記述している。
次に抽出されたＰＥＳデータ（２）は、バッファ１３内のライトポインタで示されるアドレス「０００２」に格納される。ＰＥＳデータ（２）は先頭ＰＥＳデータであるので、先頭位置メモリ１５にアドレス「０００２」が保持され、先頭数カウンタ１６のカウント数が「０」から「１」に更新される。その後、ライトポインタがアドレス「０００３」の位置に移動する（図１２Ｃの状態）。なお、図面では、ＰＥＳデータのＰＥＳヘッダを「Ｈ」と記述している。
同様に、次に抽出された先頭ＰＥＳデータではないＰＥＳデータ（３）及び（４）は、バッファ１３内のライトポインタに従って、アドレス「０００３」及び「０００４」にそれぞれ格納される。ライトポインタは、この処理によってアドレス「０００５」の位置に移動する（図１２Ｄの状態）。
さらに、次に抽出された先頭ＰＥＳデータであるＰＥＳデータ（５）は、バッファ１３内のライトポインタで示されるアドレス「０００５」に格納される。そして、先頭位置メモリ１５にアドレス「０００５」が追加して保持され、先頭数カウンタ１６のカウント数が「１」から「２」に更新される。その後、ライトポインタがアドレス「０００６」の位置に移動する（図１２Ｅの状態）。
そして、次に抽出された先頭ＰＥＳデータではないＰＥＳデータ（６）は、バッファ１３内のライトポインタに従って、アドレス「０００６」に格納される。ライトポインタは、アドレス「０００７」の位置に移動する（図１２Ｆの状態）。
デコード部２０が行う動作は、上述した第１〜第６の手法の通りである。なお、先頭ＰＥＳデータから分離したＰＥＳヘッダに基づくエレメンタリストリームのデコード処理は、ＰＥＳヘッダに含まれる時間情報（ＰＴＳ：Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ及びＤＴＳ：Ｄｅｃｏｄｅ  Ｔｉｍｅ  Ｓｔａｍｐ）等のＭＰＥＧデコード処理に必要となる各種の情報（図１５を参照）を利用して行うことができる。
以上のように、ＭＰＥＧ２方式のＴＳパケットにも本発明のパケット処理装置及び方法を適用させることができる。
なお、上記実施形態では、格納位置情報として、先頭データが格納されているバッファ１３内のアドレス位置を用いる場合を説明したが、バッファ１３に格納された最初のデータを基準として先頭データの位置を相対的に示す情報（バイト数等）、とすることも可能である。
また、上記実施形態では、先頭位置メモリ１５と先頭数カウンタ１６とで構成される先頭データ特定部１７を用いて、先頭データが格納されているバッファ１３内の位置を特定する場合を説明した。しかし、本発明は、メモリとカウンタとを用いた構成に限られるものではなく、バッファ１３内の先頭データの格納位置を特定できる構成であれば、他の構成による先頭データ特定部を用いても構わない。
また、上記実施形態では、バッファ１３にヘッダ及びデータの両方を格納する場合を説明したが、データだけを格納しても構わない。ＭＰＥＧ２方式の場合は、「ＥＳ」がデータである。但し、この場合には、本来ヘッダに含まれるデコード処理に必要となる各種の時間情報（タイムスタンプＴ１、Ｔ２…等）を、例えば先頭データと対応付けて先頭位置メモリ１５に格納しておく必要がある。図１３は、この手法を図１２Ｆの状態に適用させた例を示す図である。
さらに、上記実施形態のデコード部２０では、第３（及び第４）の手法又は第５（及び第６）の手法のいずれかを実施するように記載したが、この両方の手法を同時に用いても構わない。図１４Ａ及び図１４Ｂは、両方の手順に従った処理シーケンス例を示した図である。
なお、本発明のパケット処理装置におけるヘッダ解析部１１、データ抽出部１２、バッファ制御部１４及び先頭データ特定部１７の各機能ブロックは、典型的には集積回路であるＬＳＩ（集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、又はウルトラＬＳＩ等と称される）として実現される。これらは、個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。
また、集積回路化の手法は、ＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。また、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別の技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
また、本発明のパケット処理方法は、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）に格納された上述した処理手順を実行可能な所定のプログラムデータが、ＣＰＵによって解釈実行されることで実現されてもよい。この場合、プログラムデータは、ＣＤ−ＲＯＭやフレキシブルディスク等の記録媒体を介して記憶装置内に導入されてもよいし、記録媒体上から直接実行されてもよい。
【産業上の利用可能性】  本発明のパケット処理装置及び方法は、可変長データが分割格納されたパケットのデータを復号する場合等に利用可能であり、特にデコーダにおける処理負荷の軽減、デコード処理速度の向上、及び消費電力の低減を実現させたい場合等に有効である。
【図１】
2004112255.tif 000003
【図２】
2004112255.tif 000004
【図３】
2004112255.tif 000005
2004112255.tif 000006
2004112255.tif 000007
2004112255.tif 000008
2004112255.tif 000009
2004112255.tif 000010
2004112255.tif 000011
2004112255.tif 000012
2004112255.tif 000013
2004112255.tif 000014
2004112255.tif 000015
2004112255.tif 000016
2004112255.tif 000017
2004112255.tif 000018
2004112255.tif 000019
【図１１】
2004112255.tif 000020
2004112255.tif 000021
2004112255.tif 000022
【図１３】
2004112255.tif 000023
2004112255.tif 000024
2004112255.tif 000025
【図１５】
2004112255.tif 000026
【図１６】
2004112255.tif 000027
【図１７】
2004112255.tif 000028
【図１８】
2004112255.tif 000029
【国際調査報告】
2004112255.tif 000030
2004112255.tif 000031