(57)【特許請求の範囲】
【請求項１】
プロセッサにて処理することにより、送信すべき複数種類のデータを多重化し、受信された前記複数種類のデータを多重化してなる多重化データから前記複数種類のデータに分離する多重・分離方法において、
受信した多重化データを記憶手段に記憶し、前記複数種類のデータのうち所定周期毎に発生するデータの各周期の開始時に、前記プロセッサによる多重化処理と前記記憶手段に記憶した多重化データからの前記複数種類のデータの分離処理とを実行し、前記多重化および分離処理の終了後、次の周期の開始時まで前記プロセッサへの動作クロックの供給を停止することを特徴とする多重・分離方法。
【請求項２】
プロセッサにて処理することにより、送信すべき複数種類のデータを多重化し、受信された前記複数種類のデータを多重化してなる多重化データから前記複数種類のデータに分離する多重・分離装置において、
受信した多重化データを記憶する記憶手段と、
前記複数種類のデータのうち所定周期毎に発生するデータの各周期の開始時に、前記プロセッサによる多重化処理と前記記憶手段に記憶された多重化データからの前記複数種類のデータの分離処理とを実行し、前記多重化および分離処理の終了後、次の周期の開始時まで前記プロセッサへの動作クロックの供給を停止する手段と、
を具備したことを特徴とする多重・分離装置。
【請求項３】
前記多重化処理を分離処理に先だって実行することを特徴とする請求項２記載の多重・分離装置。
【請求項４】
前記分離処理が次の周期の開始時までに終了しなかったとき、該分離処理を中断して前記次の周期に実行すべき多重処化処理を実行し、その終了後に前記中断された分離処理を再開することを特徴とする請求項２記載の多重・分離装置。
【請求項５】
前記分離処理が次の周期の開始時までに終了しなかったとき、該分離処理を中断して前記次の周期に実行すべき多重処化処理を実行し、その終了後に前記中断された分離処理を再開し、その終了後に前記記憶手段に記憶された他の多重化データの分離処理を実行することを特徴とする請求項２記載の多重・分離装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、携帯電話システムや衛星通信システムなどの移動通信システムに関し、特に、テレビ電話システムのためのマルチメディア通信装置に関する。
【０００２】
【従来の技術】
従来、例えば、テレビ電話システムに用いられるパケット多重化方式では、映像情報、音声情報、計算機データ及びその他の情報の多重・分離処理を単一ＬＳＩで実現する場合、集積能力の関係からハードウェアで実現していた。この場合、各情報を別々のバッファメモリ（例えば、ＦＩＦＯ（First  In  First  Out）メモリ）を介して接続し、多重・分離処理の単位であるオクテット毎に処理を行っていた。
【０００３】
ハードウェアで構成された多重・分離装置の構成例を図１に示す。同期・クロック制御部１１１は、シンセサイザまたはＰＬＬなどで構成され、ネットワークから受信する信号からクロック（ネットワーククロック）を抽出して、それと内部クロックとを同期化し、ビットクロック及びオクテットクロックなど内部処理に必要なクロックを生成する。
【０００４】
送信バッファ１０１は、例えば、ＦＩＦＯで、映像情報、音声情報、データ情報といった送信用の各種メディア情報を個別に一時保存するとともに、時間上の発生変動を平準化するためのものである。固定パターン記憶部１０２は、上記各種情報を多重化した多重化フレームを構成するためのフラグやヘッダといった固定、準固定の情報を持つレジスタまたはメモリである。
【０００５】
セレクタ部１０３は、ＦＩＦＯメモリ１０１や固定パターン記憶部１０２に記憶されている各情報の中から多重化フレームを構成する情報を選択してパラレルシリアル変換部１０４へ出力するセレクタである。パラレルシリアル変換部１０４は、レジスタ等で構成され、ビットクロックに同期して多重化フレームとしてのパラレルデータをシリアルデータに変換してネットワークに依存する処理を施す機能部（図示せず）へ出力する。
【０００６】
多重制御部１０５は、分離制御部１２２の状態とネットワーククロック及び現在並びに過去に送信した情報の状態に基づいて次に送信する情報を選択し、セレクタ部１０３を制御する。
【０００７】
シリアルパラレル変換部１２１は、ネットワークから受信された多重化フレームとしてのシリアルデータをオクテット単位にパラレルデータに変換する。
【０００８】
分配部１２３は、分離制御部１２２の制御に基づき、ネットワークから受信した多重化フレーム内のデータをオクテット単位で、各種メディア情報毎に設けられた受信バッファ１２４に振り分ける。
【０００９】
分離制御部１２２は、ネットワークからの入力データを監視し、フラグからパケットの同期を行い、必要なパケットの情報をオクテットクロックに同期して取り出すように制御する。
【００１０】
例えば、ＩＴＵ−Ｔ勧告Ｈ．２２３マルチメディア多重化方式のように、多重・分離処理の規格が発展途上にあり、新たな規格が次々と加わっている時には、全てをハードウェアで構成するＬＳＩは開発期間が長くかかるため有効ではない。そこで、内部にプロセッサを持ち、ほとんどの処理を当該プロセッサ上で動作するプログラムで行い、ビットパターン検索やビット幅変換といった変更が無い処理のみをハードウェアで行うことが検討されている。
【００１１】
図２にプロセッサを用いて多重・分離を行う場合の多重・分離装置の構成例を示す。送信バッファ２０１は、図１の送信バッファ１０１と同様、映像情報、音声情報、データ情報といった送信用の各種メディア情報を個別に一時保存するとともに、時間上の発生変動を平準化するためのものである。
【００１２】
多重・分離部２０２は、プロセッサ、ローカルメモリ、キャッシュメモリ、タイマ、カウンタなどから構成されて、予め記憶されたプログラムに基づき多重・分離処理を実行する。
【００１３】
パラレルシリアル変換部２０３は、図１のパラレルシリアル変換部１０４と同様、レジスタ等で構成され、ビットクロックに同期してパラレルデータをシリアルデータに変換する。
【００１４】
同期・クロック制御部２０４は、図１の同期・クロック制御部１１１と同様である。シリアルパラレル変換部２０５は、図１のシリアルパラレル変換部１２１と同様である。受信バッファ２０６は、図１の受信バッファ１２４と同様で、各種メディア情報毎に設けられたＦＩＦＯ等で構成されている。
【００１５】
【発明が解決しようとする課題】
従来のようなハードウェアで行っていたオクテット単位の多重・分離処理を、プロセッサによるプログラム処理で実現しようとすると、ハードウェアの様に完全に並列処理が行えないため、プロセッサの動作周波数が高くなることと、そのため、消費電力が大きくなるという問題点があった。
【００１６】
そこで、本発明は、プロセッサによるプログラム処理でマルチメディア情報の多重・分離を行う際に、プロセッサの消費電力の低減化が図れる多重・分離方法およびそれを用いた多重・分離装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明は、プロセッサにて処理することにより、送信すべき複数種類のデータ（映像情報、音声情報、データ情報）を多重化し、受信された前記複数種類のデータを多重化してなる多重化データから前記複数種類のデータを分離する多重・分離方法において、受信した多重化データを記憶手段に記憶し、前記複数種類のデータのうち所定周期毎に発生するデータの各周期の開始時に、前記プロセッサによる多重化処理と前記記憶手段に記憶した多重化データからの前記複数種類のデータの分離処理とを実行し、前記多重化および分離処理の終了後、次の周期の開始時まで前記プロセッサへの動作クロックの供給を停止することにより、多重・分離処理の無い期間はプロセッサへの動作クロックを停止し、多重・分離処理を周期的に発生するデータの周期に同期させ一括処理できるループ処理で実現できるので、プロセッサによる消費電力を低減することができる。
【００１８】
本発明は、プロセッサにて処理することにより、送信すべき複数種類のデータ（映像情報、音声情報、データ情報）を多重化し、受信された前記複数種類のデータを多重化してなる多重化データから前記複数種類のデータを分離する多重・分離装置において、受信した多重化データを記憶する記憶手段と、前記複数種類のデータのうち所定周期毎に発生するデータの各周期の開始時に、前記プロセッサによる多重化処理と前記記憶手段に記憶された多重化データからの前記複数種類のデータの分離処理とを実行し、前記多重化および分離処理の終了後、次の周期の開始時まで前記プロセッサへの動作クロックの供給を停止する手段とを具備したことにより、多重・分離処理の無い期間はプロセッサへの動作クロックを停止し、多重・分離処理を周期的に発生するデータの周期に同期させ一括処理できるループ処理で実現できるので、プロセッサによる消費電力を低減することができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【００２０】
図３は、本実施形態に係る多重・分離装置の要部の構成例を示したもので、受信部３１１を多重・分離処理プロセッサ部３０１に接続し、この多重・分離処理プロセッサ部３０１と、送信部３１２と、同期・クロック制御部３１４と、共有メモリ３１３とをバス接続して構成されている。
【００２１】
多重・分離処理プロセッサ部３０１は、イベント制御部３０２と、ＡＬＵ（Arithmetic  And  Logic  Unit）などからなるプロセッサコア部３０３と、外部情報保持部３０４と、命令キャッシュメモリ３０５と、ローカルメモリ３０６とから構成されていて、例えば、ＩＴＵ−Ｔ勧告Ｈ．２２３のようなマルチメディア多重化方式によって、映像情報、音声情報、データ情報といった各種メディア情報を多重化して多重化フレームを生成する多重化処理や、所定のネットワークを介して受信された多重化フレームから各種メディア情報を分離する処理を行うものである。
【００２２】
イベント制御部３０２は、主に、同期・クロック制御部３１４で一定周期毎に発生するイベント（周期イベント）の発生を受けて、プロセッサコア部３０３へその動作クロックであるシステムクロックの供給を開始し、プロセッサコア部３０３でプログラム処理実行時に発生するクロック停止のための指示を受けて、プロセッサコア部３０３へのシステムクロックの供給を停止するようになっている。
【００２３】
外部情報保持部３０４は、各種ハードウェアの状態の監視・制御するための外部情報を保持するレジスタ群等から構成されている。
【００２４】
命令キャッシュメモリ３０５は、プロセッサコア部３０３で実行される命令が一時記憶されるキャッシュメモリである。
【００２５】
ローカルメモリ３０６には、受信部３１１にて、映像情報、音声情報、データ情報といった各種メディア情報を多重化した多重化フレームデータを受信したら、それを一時記憶する複数のフレームバッファ（受信フレームバッファ）が設けられているキャッシュメモリである。
【００２６】
プロセッサコア部３０３は、イベント制御部３０２を介して供給されるシステムクロックを動作クロックとして、共有メモリ３１３に記憶されている多重・分離処理のプログラムを実行する。なお、ここでは、イベント制御部３０２からシステムクロックが供給されていないときをスリープ状態と呼ぶことにする。
【００２７】
同期・クロック制御部３１４は、ネットワークから受信した信号（制御情報等）から抽出されたクロックと内部クロックとを同期させて各種クロック（ネットワーククロック、ビットクロック、オクテットクロック、システムクロック等）を生成して、各ハードウェアに分配するクロック同期ロジックと、当該クロックを元にプログラムから指定された所定時間毎の周期イベントを発生するためのインターバルタイマからなる。特に、プロセッサコア部３０３の動作クロックであるシステムクロックは、ここで生成されて、イベント制御部３０２を介してプロセッサコア部３０３に供給される。
【００２８】
受信部３１１は、ネットワークから受信した多重化フレームデータを、必要に応じてビット処理と同期化済みネットワーククロックを元にプログラムが処理できるパラレルデータ（例えばオクテットデータ）に変換し、フラグなどの同期情報を検出すると共にパラレルデータができる毎にイベントを発生し多重・分離処理プロセッサ部３０１に通知する受信インターフェースである。
【００２９】
送信部３１２は、多重・分離処理プロセッサ部３０１で生成された送信用の多重化フレームを一時記憶する送信フレームバッファと、ネットワーククロックに同期してフレームバッファに一時格納された多重化フレームとしてのパラレルデータをシリアルデータに変換するロジック、必要に応じてビット処理とネットワークからの制御情報に基づいてタイミング処理を行う送信インターフェースである。
【００３０】
共有メモリ３１３には、プロセッサコア部３０３で実行するプログラム等が記憶されている。また、共有メモリ３１３には、映像情報、音声情報、データ情報といった送信用の各種メディア情報を一時格納する各種メディア情報毎の送信バッファと、受信されたフレームから分離された各種メディア情報を一時格納する各種メディア情報毎の受信バッファが設けられている。
【００３１】
図４は、受信部３１１から多重化フレームを受信したというイベント（受信イベント）が発生したときの処理手順を示したフローチャートである。受信イベントの発生が多重・分離処理プロセッサ部３０１に通知されると、オクテット単位の処理を少なくするため、受信フレームは受信部３１１にあるレジスタなどの揮発メモリからローカルメモリ３０６に設けられた受信フレームバッファへ転送される（ステップＳ１）。この動作は、プロセッサコア部３０３の処理動作とは無関係に行われる。
【００３２】
共有メモリ３１３に受信フレームバッファを持つことも可能であるが、以下の説明ではローカルメモリ３０６に受信フレームバッファを持つ場合を示す。１つの受信フレームバッファサイズは、予め分かっている受信フレームを処理する時間分だけ保持できる大きさを持つ。例えば２フレーム分持ち、一方を処理中に他方に受信フレームを保持していくといった大きさになる。
【００３３】
図５は、多重・分離処理プロセッサ部３０１における分離多重処理動作を説明するためのフローチャートで、図６は、その処理タイミングを模式的に示したものである。以下、図５、図６を参照して説明する。多重・分離処理は例えば音声情報のように、一定周期で発生し、かつ発生した情報を分割して多重、送信できない情報の周期に合わせて行う。例えば、ＥＴＳＩ（Ｅｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄ  Ｉｎｓｔｉｔｕｄｅ）にて標準化された音声符号化方式ＡＭＲ（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉ  Ｒａｔｅ）の符号化音声情報の発生周期は２０ｍｓ、ＩＴＵ−Ｔ勧告Ｇ．７２３の符号化音声情報の発生周期は３０ｍｓ、ＩＴＵ−Ｔ勧告Ｇ．７２９の符号化音声情報の発生周期は１０ｍｓであるが、ここえは、例えば、ＡＭＲの符号化音声情報の発生周期に合わせて、同期・クロック制御部３１４のタイマを設定する。すなわち、共有メモリ３１３に記憶されているプログラムをプロセッサコア部３０３で実行することにより周期イベントの発生周期を２０ｍｓに設定する。これにより、同期・クロック制御部３１４は、例えば、２０ｍｓ毎に周期イベントを発生し、これを受けてイベント制御部３０２はプロセッサコア部３０３へシステムクロックの供給を開始する。
【００３４】
まず、プロセッサコア部３０３がスリープ状態である場合に、２０ｍｓ毎の周期イベントの発生がイベント制御部３０２に通知されたとき、すなわち、例えば、図６の周期イベント＃Ｎが発生したときについて説明する。
【００３５】
イベント制御部３０２はプロセッサコア部３０３へシステムクロックの供給を開始し、プロセッサコア部３０３は、プログラム処理を実行する。まず、多重化すべき情報がどの程度有るかを共有メモリ３１３に設けられた送信バッファ内を確認する（ステップＳ１０３）。例えば、音声情報は必ず発生し、映像情報ビデオもほぼ発生するであろうがデータ情報などは発生しないことも多い。各種メディア情報の発生量に基づき適切な多重化すべきメディア情報を選択する（ステップＳ１０４）。次に、例えば、図７に示すような多重化フレームを作成するため、フラグパターンに続きヘッダに、どのような種類のメディア情報を選択してどのように組み合わせで多重化したかを示す多重化ＩＤを記述し、選択された各種メディア情報をペイロードに載せ、各種メディア情報を予め決められた手順に従って誤り検出符号を付加するかしないか、連続番号を付加するかしないか、といった処理を行いフレームを作成し、送信部３１２に転送して、多重処理＃Ｎを終了する（ステップＳ１０５）。
【００３６】
次に、分離処理＃Ｎを行う。ローカルメモリ３０６にある受信フレームバッファの先頭からフレームのヘッダを検索する（ステップＳ１０７）。もし、ヘッダが見つからない場合はフレームを受信していないので直ちに終了する（ステップＳ１０８）。ヘッダを見つけた場合、ヘッダにある多重化ＩＤを取り出すため、ヘッダの誤り検査・訂正処理を行う（ステップＳ１０９）。この後、誤りが無いか訂正が行えた場合ヘッダは使用できるのでヘッダ中の多重化ＩＤを収得する（ステップＳ１１０〜ステップＳ１１１）。誤りが多すぎて訂正できない場合などは、当該フレームは分離処理ができないこととなり、破棄し直ちに終了する（ステップＳ１１０）。
【００３７】
以降、当該ヘッダより求めた多重化ＩＤに基づき各種別毎の情報に分離する（ステップＳ１１２）。メディア情報によっては連続番号が付加されているもの、または誤り検出符号が付加されているものがあるうが、そのような情報には該当する処理を行う（ステップＳ１１３）。最後にメディア情報毎に設けられた受信バッファに分離された各種情報を書き込み（ステップＳ１１４〜ステップＳ１１５）、合わせて上記処理結果を通知することで分離処理＃Ｎは終了する。１受信フレームの分離処理が終了したとき、プロセッサコア部３０３は、イベント制御部３０２に、システムクロックの供給の停止を指示する。その指示を受けて、イベント制御部３０２は、プロセッサコア部３０３へのシステムクロック供給を停止し、その結果、次の周期イベントの発生まで、プロセッサコア部３０３はいわゆるスリープ状態に移行する（ステップＳ１１６）。
【００３８】
ところで、上記一連の処理において、ステップＳ１０９およびステップＳ１１３において、誤りが多く検出されたとき、その誤り検査・訂正処理に多くの時間がかかり、１周期の時間内に分離処理が終了しないこともある（図６の分離処理＃Ｎ＋１）。そこで、次に、分離処理＃Ｎ＋１の処理中に次の周期イベント＃Ｎ＋２が発生した場合について説明する。
【００３９】
周期イベント＃Ｎ＋２の発生がイベント制御部３０２に通知されたとき、前回周期の分離処理＃Ｎ＋１が終了していないので（ステップＳ１０１）、イベント制御部３０２はプロセッサコア部３０３に対し指示を出して、現在の状態を一時保存させる（ステップＳ１０２）。状態保存の後、前述同様、ステップＳ１０３〜ステップＳ１０５までの多重処理＃Ｎ＋２を実行する。
【００４０】
次に、分離処理を行うが、この時点で以前の周期＃Ｎ＋１で処理途中のフレームがあるか確認する（ステップＳ１０６）。残っていた場合、保存してある状態を復帰し、分離処理＃Ｎ＋１を継続する（ステップＳ１１７）。すなわち、例えば、メディア情報毎の誤り検査・訂正処理に時間がかかって１周期の時間内で分離処理が終了できなかった場合には、前述したステップＳ１１２〜ステップＳ１１５の処理を継続することになる（ステップＳ１１８〜ステップＳ１２１）。このようにして、分離処理＃Ｎ＋１の残りの処理が終了したらステップＳ１０６に戻る。ステップＳ１０６において、分離途中のフレームがないならば、次に、ローカルメモリ３０６にある受信フレームバッファの先頭からフレームのヘッダを検索して（ステップＳ１０７）、ヘッダが見つかった場合には、前述同様新たな多重化フレームの分離処理＃Ｎ＋２を開始する（ステップＳ１０８〜ステップＳ１１５）。
【００４１】
分離処理＃Ｎ＋２が終了したとき、プロセッサコア部３０３は、イベント制御部３０２に、システムクロックの供給の停止を指示する。その指示を受けて、イベント制御部３０２は、プロセッサコア部３０３へのシステムクロック供給を停止し、その結果、次の周期イベント＃Ｎ＋３の発生まで、プロセッサコア部３０３はスリープ状態になる（ステップＳ１１６）。
【００４２】
以上説明したように、上記実施形態によれば、多重・分離処理をプロセッサコア部３０３によるプログラム処理で実行するが、処理の無い期間はプロセッサのシステムクロックの供給を停止し、多重・分離処理を周期的に発生するデータの周期に同期させ一括で処理できるループ処理を多くしキャッシュの効率を高める様にしているので、消費電力をより少なくすることができる。
【００４３】
すなわち、ヘッダや終了点の検索処理、誤り検査・訂正処理等の多重・分離処理が連続するループとして作成できる。この場合、一連の処理がキャッシュメモリに収まることが期待でき、共有メモリ３１３へのアクセス数も減ると共に、情報の待避と復帰を繰り返さないため全体の処理時間の短縮が図れる。従って、システムクロックを停止している時間が長くなることと、共有メモリ３１３へのアクセス数が減ることで消費電力が低減できる。
【００４４】
また、プロセッサによるプログラム処理で多重・分離処理を行う、図３に示したような構成を集積化したＬＳＩの消費電力を低減できる。
【００４５】
また、分離処理は誤り訂正処理などが有るため、データの内容によって処理時間が大きく変動する。そのため、処理時間が変動する要因の少ない多重処理を各周期の始めに行うことで送信多重化フレームを各周期の一定なタイミングで作成することが出来る。このことにより不要なハードウェアとのタイミング問題を発生することを抑制することができる。
【００４６】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００４７】
【発明の効果】
以上説明したように、本発明によれば、プロセッサによるプログラム処理でマルチメディア情報の多重・分離を行う際に、プロセッサの消費電力の低減化が図れる。
【図面の簡単な説明】
【図１】従来のハードウエアで構成された多重・分離装置の要部の構成例を示した図。
【図２】従来のプロセッサによるプログラム処理を含む多重・分離装置の要部の構成例を示した図。
【図３】本発明の実施形態に係る多重・分離装置の要部の構成例を示した図。
【図４】多重化フレームを受信したときの処理動作を説明するためのフローチャート。
【図５】多重・分離処理動作を説明するためのフローチャート。
【図６】多重・分離処理の処理タイミングを説明するための図。
【図７】多重化フレームのデータ構成の一例を示した図。
【符号の説明】
３０１…多重・分離処理プロセッサ部
３０２…イベント制御部
３０３…プロセッサコア部
３０４…外部情報保持部
３０５…命令キャッシュメモリ
３０６…ローカルメモリ
３１１…受信部
３１２…送信部
３１３…共有メモリ
３１４…同期・クロック制御部
【図１】
0004392963.tif 000002
【図２】
0004392963.tif 000003
【図３】
0004392963.tif 000004
【図４】
0004392963.tif 000005
【図５】
0004392963.tif 000006
【図６】
0004392963.tif 000007
【図７】
0004392963.tif 000008