JP3799070B2 - 送信装置及び方法 - Google Patents
送信装置及び方法 Download PDFInfo
- Publication number
- JP3799070B2 JP3799070B2 JP31558393A JP31558393A JP3799070B2 JP 3799070 B2 JP3799070 B2 JP 3799070B2 JP 31558393 A JP31558393 A JP 31558393A JP 31558393 A JP31558393 A JP 31558393A JP 3799070 B2 JP3799070 B2 JP 3799070B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer memory
- time
- data
- signal
- internal capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【産業上の利用分野】
本発明は、例えば、コンピュータネットワークのような通信の技術分野で用いられる送信装置及び方法に関し、特に、オーディオやビデオデータのようなマルチメディアデータに対応できる送信装置及び方法に関するものである。
【0002】
【従来の技術】
近年、パーソナルコンピュータやワークステーションなどの性能は格段に向上し、また、身近に普及しつつある。また、最近は、それらをテレビジョンや電話と同じように日常的なコミュニケーションに利用したいという要求や、これら情報処理システムをより広範囲の用途に活用したいという要求が出てきている。したがって、上記パーソナルコンピュータやワークステーションなどにおいては、これらの要求を実現するために、音声や動画などのマルチメディアデータを分散環境上でインタラクティブに扱えるようにする事が必要となっている。
【0003】
ここで、従来のマルチメディアの通信で用いられる情報処理通信システムとしては、図11に示す構成のものが知られている。
【0004】
この図11において、入力装置100や101からは例えば音声データ、動画データ等が供給される。この入力装置100,101としては、例えばマイクロホンからのアナログの音声信号やビデオカメラからのアナログの映像信号をディジタル信号に変換するA/Dコンバータを挙げることができる。この入力装置100,101からのデータは、それぞれ入力データ処理装置102,103に送られ、それぞれ所定のデータ処理が施される。この入力データ処理装置102,103でのデータ処理としては、例えばデータ圧縮処理を挙げることができる。上記入力データ処理装置102,103からの圧縮データは、マルチプレクサ104によってマルチプレクス処理され、送信バッファメモリ105に蓄えられた後に読み出されて、ネットワーク送信部106から例えばイーサーネットなどのネットワークを介して受信側のネットワーク受信部111に送られる。
【0005】
上記ネットワーク受信部111で受信されたデータは、受信バッファメモリ112に一旦蓄えられた後に読み出され、さらに分離装置113によって上記送信側のマルチプレクス処理に対応する分離処理がなされて、出力データ処理装置114,115に送られる。当該出力データ処理装置114,115は上記入力データ処理装置102,103に対応するデータ伸張処理を施し、その後再生装置116,117に送る。なお、当該再生装置116,117としては、D/Aコンバータを例に挙げることができる。
【0006】
【発明が解決しようとする課題】
ところで、上述した従来の情報処理通信システムにおいては、以下のような問題点がある。
【0007】
先ず、上記従来の情報処理通信システムにおいては、例えば通信路などの負荷の変動によって処理が遅れ、送信バッファメモリ105において内容が増えすぎるようになる場合がある。このように、送信バッファメモリ105の内容が増えすぎるようになると、当該送信バッファメモリ105におけるデータの入力から出力までの時間遅れが大きくなる。
【0008】
また、図11の例では、送信バッファメモリは単数となっているが、送信バッファメモリが複数ある様な場合において、例えばこの複数の送信バッファメモリの間で内容量の差が大きくなりすぎるようになると、これら複数の送信バッファメモリは本来同期していなければならないものであるにもかかわらず、出力の際のバッファメモリ間の時間のずれ(すなわちメディア間の時間のずれ)が大きくなる。
【0009】
この従来の欠点についてより具体的に説明する。例えば、動画や音声などのマルチメディアデータは、コンピュータがこれまで処理してきた数値データやテキストデータとは本質的に異なる性質を持っている。すなわち、マルチメディアデータは、
第一に、マルチメディアデータは単なるバイト列ではなく、明示的あるいは暗示的に時間の属性を持っていること、
第二に、本質的にデータ量が莫大かつ冗長で、ハードウェアの処理能力が向上したとしても、効率良く扱うためにはデータ圧縮をする必要があること、
第三に、インタラクティブな処理を必要とされ、スループットだけでなくレスポンスや遅れなどの性能が重視されること、
などの性質を持っている。
【0010】
このため、これらを分散環境で扱うためには、メディア間同期、通信、処理、リーソス管理などに新たな手法を導入する必要がある。
【0011】
そこで、本発明は、上述のような実情に鑑みてなされたものであり、特に上記メディア間同期をとるために、動画像信号についての外部から送信装置への取り込み時間と送信装置から外部へ送信する時間との差を所定時間以内に制御可能とする送信装置及び送信方法を提供することを目的とするものである。
【0012】
【課題を解決するための手段】
本発明の送信装置は、上述した目的を達成するために提案されたものであり、信号の外部から送信装置への取り込み時間と取り込まれて処理された信号を送信する時間との差を所定時間以内となして動画信号を含むマルチメディアデータの信号をパケット化して送信する実時間の送信装置であって、動画信号を外部から取り込む取り込み手段と、上記取り込み手段により取り込まれた動画信号を圧縮符号化する圧縮符号化手段と、上記圧縮符号化手段からの出力信号をバッファリングするバッファ手段と、上記バッファ手段のバッファメモリ内容量Dを測定する内容量測定手段と、上記バッファ手段によりバッファリングされた動画信号を送信する送信手段と、上記動画信号の上記取り込み手段による取り込み時間と上記送信手段により送信する時間との差が上記内容量測定手段により測定されたバッファメモリ内容量Dに予め対応付けられ、上記時間の差の上限としての第1の時間がバッファメモリ内容量の上限値Dmaxに、上記時間の差の下限としての第2の時間がバッファメモリ内容量の下限値Dminにそれぞれ予め対応付けられ、上記内容量測定手段により測定されたバッファメモリ内容量Dが上記上限値Dmax内であることを検出する第1の検出手段、及び上記バッファメモリ内容量Dが上記下限値Dmin内であることを検出する第2の検出手段と、上記内容量測定手段により測定されたバッファメモリ内容量Dが上記上限値Dmaxを越えたことを検出したときに、上記バッファメモリ内容量を上記上限値と上記下限値との間となすために、上記取り込み手段から出力する単位時間内のコマ数を制御する制御手段とを有することを特徴とするものである。
また、本発明の送信方法は、信号の外部から送信装置への取り込み時間と取り込まれて処理された信号を送信する時間との差を所定時間以内となして動画信号を含むマルチメディアデータの信号をパケット化して送信する実時間の送信方法であって、動画信号を外部から取り込む取り込み工程と、上記取り込み工程により取り込まれた動画信号を圧縮符号化する圧縮符号化工程と、上記圧縮符号化工程により圧縮符号化された出力信号をバッファ手段にバッファリングする工程と、上記バッファ手段のバッファメモリ内容量Dを測定する内容量測定工程と、上記バッファ手段によりバッファリングされた動画信号を送信する送信工程と、上記動画信号の上記取り込み手段による取り込み時間と上記送信手段により送信する時間との差が上記内容量測定手段により測定されたバッファメモリ内容量Dに予め対応付けられ、上記時間の差の上限としての第1の時間がバッファメモリ内容量の上限値Dmaxに、上記時間の差の下限としての第2の時間がバッファメモリ内容量の下限値Dminにそれぞれ予め対応付けられ、上記内容量測定工程により測定されたバッファメモリ内容量Dが上記上限値Dmax内であることを検出する第1の検出工程、及び上記バッファメモリ内容量Dが上記下限値Dmin内であることを検出する第2の検出工程と、上記内容量測定工程により測定されたバッファメモリ内容量Dが上記上限値Dmaxを越えたことを検出したときに、上記バッファメモリ内容量を上記上限値と上記下限値との間となすために、上記取り込み工程から上記圧縮符号化工程に出力する単位時間内のコマ数を制御する制御工程とを有することを特徴とするものである。
【0013】
また、本発明の送信装置は、送信信号が動画信号を除く信号であることを検出する第3の検出手段をも設け、動画信号を除く信号をも送信すると共に、上記第3の検出手段によって送信信号が動画信号を除く信号であることを検出したときには、当該動画信号を除く信号に対してはそのまま処理する。
【0014】
さらに、本発明の送信装置は、送信信号の所定の部分を検出する第4の検出手段をも設け、当該第4の検出手段によって上記所定の部分を検出したときには、当該所定の部分についてはそのまま処理し、他の部分については送信を中止するようにしている。
【0015】
【作用】
本発明によれば、制御手段は、信号の取り込み時間と送信する時間との差が上限である第1の時間内を越えたことを検出したときに、信号の取り込み時間と送信する時間との差を第1の時間と第2の時間との間と成すために、画質又は単位時間内の送信コマ数を制御する。
【0016】
すなわち、本発明の送信装置によれば、送信時に信号の取り込み時間と送信する時間との差が第1の時間を越えると、バッファ手段での入力から出力までの時間遅れが大きくなるので、送信時に信号の取り込み時間と送信する時間との差が第1の時間を越えるようになったときには、送信する動画の画質を落とすか又はコマ落としを行うことで、バッファ手段の入力から出力までの時間遅れを適正値に回復させるようにしている。
【0017】
さらに、本発明の送信装置によれば、送信時に信号の信号の取り込み時間と送信する時間との差が下限である第2の時間内を下回ると、映像が途切れるおそれが出てくるので、送信時の信号の取り込み時間と送信する時間との差が第2の時間内を下回るようになったときには、送信する動画の画質を上げるか又はコマ落とし数を無くす(若しくは少なくする)ことで、映像の途切れを防ぐようにしている。
【0018】
また、本発明の送信装置によれば、さらに第3の検出手段を設け、この第3の検出手段によって送信信号が動画の信号を除く信号であることを検出したときには、そのまま処理することで、送信信号が例えばテキストデータなどである場合に、データの内容が変化することを防いでいる。
【0019】
さらに、本発明の送信装置によれば、さらに第4の検出手段を設け、この第4の検出手段によって送信信号の所定の部分を検出したときには、その所定の部分を除く他の部分の送信を中止することで、バッファ手段の入力から出力までの時間遅れを適正値に回復させるようにし、その所定の部分についてはそのまま処理することで、この所定の部分の信号については送信するようにする。
【0020】
【実施例】
以下、図面を参照し、本発明の実施例について詳述する。
【0021】
図1には、本発明に係る送信装置及び方法の実施例となる送信装置の構成を示す。
本実施例の送信装置は、図1に示すように、少なくとも動画の信号を、取り込む取り込み時間と送信す時間との差が所定時間以内であるように送信する実時間の送信装置であり、動画信号を取り込む取り込み手段としてのA/D変換回路66及びフレームバッファ68と、動画データをバッファリングするバッファ手段としての映像データバッファメモリ83と、動画データを送信する送信手段であるネットワーク送信部7とを有してなる。
【0022】
さらに、本実施例の送信装置には、動画データについての取り込み時間と送信する時間との差(後述する測定値D)が上限(後述する上限値Dmax)の第1の時間内であることを検出する第1の検出手段、及び動画データについての取り込み時間と送信する時間との差が下限(後述する下限値Dmin)の第2の時間内であることを検出する第2の検出手段としてのバッファメモリ内容量測定回路86と、上記バッファメモリ内容量測定回路86によって上記取り込み時間と送信時間との差(測定値D)が上記第1の時間内(上限値Dmax)を越えたことを検出したときに、上記取り込み時間と送信する時間との差を上記第1の時間内(上限値Dmax内)と第2の時間内(下限値Dmin内)との間と成すために、画質又は単位時間内の送信コマ数を制御する制御手段としての演算判断回路84,取り込み周期指定回路71,フレーム取り込みクロック発生回路70とを有している。
【0023】
すなわち、本実施例の送信装置は、上記バッファメモリ内容量測定回路86において上記取り込み時間と送信時間との差(測定値D)が上記第2の時間内(下限値Dmin)を下回ったことを検出すると、上記演算判断回路84が取り込み周期指定回路71及びフレーム取り込みクロック発生回路70を制御することで、フレームバッファ68において動画の画質又はコマ落とし数を可変する。これによって、本実施例の送信装置は、映像データバッファメモリ83に送る動画データの量を制御するようにしている。
【0024】
なお、本実施例の送信装置では、動画データと共に、音声データをも扱うようにしている。
【0025】
また、本実施例の送信装置には、音声及び動画の信号を除く信号をも送信可能であり、したがって、送信信号が音声及び動画の信号を除く信号であることを検出する第3の検出手段としての検出回路93をさらに設けている。この検出回路93において、送信信号が音声及び動画を除く信号であることを検出したときには、当該信号をデータ処理回路26によってそのまま処理するようにもしている。なお、上記音声及び動画の信号を除く信号としては、例えばテキストデータやプログラムデータや数値データ,他のバイナリデータ等を挙げることができる。
【0026】
さらに、本発明の送信装置の上記検出回路93は、送信信号から所定の部分として例えば映像の重要な部分を検出する第4の検出手段としても動作し、当該第4の検出手段としての検出回路93からの検出出力を、上記演算判断回路84に送るようにもしている。当該演算判断回路84においては、上記検出出力に基づいて、上記取り込み周期指定回路71とフレーム取り込みクロック発生回路70を制御することで、上記フレームバッファ68に対して上記所定の部分のみはそのまま出力し、他の部分を伝送しないような読み出し制御を行う。
【0027】
ここで、先ず、図1と図9〜図10に示す本発明実施例の送信装置の具体的に説明に先立ち、本発明の送信装置が適用される情報処理通信システムのマルチメディアデータ対応の情報処理装置の基本機能と、該情報処理装置のモデルといわゆるアプリケーション・プログラミング・インタフェース(API:application programming interface) と、情報処理通信システムにおける当該マルチメディア対応の情報処理装置の位置付け、当該情報処理の評価について、以下に項目に分けて説明する。
【0028】
1.情報処理通信システムにおけるマルチメディア対応の情報処理装置の機能
この情報処理装置が実現する目標は、
(1) いろいろな制約はあるが、標準のパーソナルコンピュータやワークステーションにおいて構築し、既存のシステムとの親和性を保つこと、
(2) 音声や動画の通信や特有の処理は、当該情報処理装置にまかせ、クライアントプログラムはそのコントロールだけを行うこと、
(3) メディアデータの属性と、クライアントプログラムの目的に応じて柔軟に対処できること、
(4) プロセッサやネットワークなどのリソースの負荷の変動に対して、対応できること、
(5) モデルが単純なこと、
などである。
【0029】
これらの要求から、情報処理装置は以下に述べるような機能を持つことが必要となる。
【0030】
1.1 メディアタイプ
情報処理装置で扱うメディアデータとして、基本的には音声と動画がある。これらには、単位時間あたりのデータ量や生成時刻などの時間的な属性をつけ、これを情報処理装置での処理に利用する。例えば、データ幅8ビット、サンプリング周波数8kHzの音声データの場合には、単位時間は1/8000(sec)、単位時間あたりのデータ量は1バイトという属性がつけられる。
【0031】
1.2 情報処理装置とメディアデバイス
情報処理装置は、複数の入力デバイスからのデータを、時間的な同期を取りながら、出力デバイスに出力する。
【0032】
入力デバイスとしては、
(1) オーディオインタフェースやビデオ入力インタフェースなどのハードウェアデバイス、
(2) サウンドファイルや動画ファイルやムービーファイルのようなマルチメディアデータファイル、
(3) マルチキャストアドレス、
(4) クライアントプロセス
などをサポートする。
【0033】
出力デバイスとしては、
(1) オーディオインタフェースやウィンドウなどのデバイス、
(2) マルチメディアファイル、
(3) マルチキャストアドレス、
(4) クライアントプロセス、
などをサポートする。
【0034】
あるホストには情報処理装置はただ一つだけ存在し、それが直接に取り扱うデバイスは、そのホスト上にあることが必要である。入力デバイスと出力デバイスが別々のホストにあることを必要とする場合には、クライアントがそれぞれのホスト上のそれぞれの情報処理装置にアクセスして情報処理装置同志を接続させる。
【0035】
1.3 メディアデータの転送と同期
マルチメディアシステムとしてユーザに提供する物の品質の評価規準として以下のものが考えられる。
例えば、
(1) 転送の遅れの許容限度、
(2) メディア間同期の許容限度、
(3) スループット、
(4) データの欠損が許される場合と許されない場合
である。
【0036】
与えられた転送路で満足できる品質を得るために、データ量、圧縮方式、プロトコルやパケットサイズなどの転送の際の種々のパラメータをコントロールする。情報処理装置は、品質の評価基準に従って、メディア間同期を行う。
【0037】
1.4 ネットワークプロトコール
上記情報処理装置が利用するマルチメディアデータのネットワークプロトコールは、品質の評価基準を考慮しながらフローなどを動的にコントロールできる必要がある。現状のネットワーク環境のIEEE 802.3規格に準拠したいわゆるイーサ・ネット(Ethernet)や、国際標準化機構(ISO)のSC13において提案されている光ファイバを用いた100Mビット/秒トークンパッシング方式のファイバ・ディストリィビューテッド・データ・インタフェース(FDDI:fiber-distributed data interface)などネットワークデバイスは、分散環境上で個々に資源を取り合って共有しているため、あらかじめネットワーク資源を確保するようなサービスが難しい。しかし、現状のネットワーク環境との親和性を考えるとインターネット・プロトコール(IP:internet protocol) を利用する必要があり、今回はネットワークプロトコールとしていわゆるトランスミッション・コントロール・プロトコール(TCP:transmission control protocol) と、コネクションレス形式のプロトコールであるいわゆるユーザ・データグラム・プロトコール(UDP:user datdgram protocol)を利用した。
【0038】
1.5 データの圧縮伸張
情報処理装置は、ソフトウェアまたはハードウェアによる、音声データや動画データの圧縮伸張機能を持つ。音声の圧縮方式としては、国際電信電話通信諮問委員会(CCITT)の音声符号化標準の勧告G.711,G.721,G.722,G.728などの規格をサポートする。また、画像の圧縮方式としては、国際電信電話通信諮問委員会(CCITT)のカラー静止画像符号化方式の国際標準化作業グループのいわゆるJPEG(Joint Picture Expert Group)や、テレビ会議システム用映像符号化勧告H.261、カラー動画像符号化方式の国際標準化作業グループのMPEG(Moving Picture Expert Group)などの方式がある。圧縮方式ごとに特徴があるので、用途によって使い分ける必要がある。
【0039】
1.6 リソースのコントロール
情報処理装置は、複数のクライアントプログラムからの入出力要求を処理する機能をもつ。例えば、音声入力デバイスは一つしかないのに複数のクライアントから音声入力要求があった場合には、以下のような処理方法が考えられる。
(1) すべての要求元にコピーして配る。
(2) 先着の要求を優先し、後着の要求を拒絶する。
(3) クライアントを順次切り替える。この機能は、ウィンドウシステムでのウィンドウマネージャに相当するマルチメディアマネージャなどのプログラムが利用する。
【0040】
1.7 物理デバイスのコントロール
音声や動画などのマルチメディアデータを扱う場合には、ビデオカメラやビデオデッキのようないわゆるオーディオ・ビジュアル機器(AV機器)を接続することが必要になる。情報処理装置は、これらのコントロールのために、AV機器制御用の所定のプロトコールをサポートする。
【0041】
2. 情報処理装置のモデルとAPI
2.1 AV機器が接続される情報処理装置のモデル
情報処理装置は、図2に示すように、クライアントそれぞれに対し1つの実行制御単位(AVobj)を生成する。クライアントがマルチメディアデータの入出力を行いたい場合には、次のような手順で情報処理装置に要求をだす。まず、実行制御単位(AVobj)において仮想的なメディアデバイス(AVdev) をオープンする。当該仮想的なメディアデバイス(AVdev) は物理的なデバイスではないため、排他制御や複数からのオープンなどが実現出来る。
【0042】
また、図3に示すように、入力用に上記仮想的なメディアデバイス(AVdev) をオープンした実行制御単位(AVobj) と出力用にメディアデバイス(AVdev) をオープンした実行制御単位(AVobj) とを接続することによりマルチメディアデータの転送路が確保される。同一の実行制御単位(AVobj) でオープンされているデバイス間のメディアの同期は保証される。
【0043】
さらに、図4のようにネットワークでつながれた異なるホスト上の情報処理装置において実行制御単位(AVobj) を生成し、接続することにより分散環境上のワークステーションにおいてマルチメディアデータの転送が行われる。
【0044】
送信、受信側の実行制御単位(AVobj) がオープンするデバイス(AVdev) としてサウンドデバイスを用いると電話が実現できる。さらに、ビデオデバイスをオープンするとテレビ電話が実現できる。また、入力デバイスとして映画(Movie) ファイルを指定し、出力デバイスにサウンドデバイスとビデオデバイスをオープンすると映画(Movie) プレーヤとなる。このように入出力のデバイスを組み替えることにより各種マルチメディアアプリケーションを容易に作成することが可能となる。
【0045】
2.2 情報処理装置のAPI
情報処理装置のライブラリには、例えば次のものが用意されている。
【0046】
int avs _new(char *hostname);
これは、ホスト名(hostname)上で起動されている情報処理装置において実行制御単位(AVobj) を生成する。エラーが発生した場合にはヌル(null)が返される。正常終了した場合には実行制御単位(AVobj) のID(識別情報)が返される。実行制御単位(AVobj) に対する命令はすべてこの実行制御単位(AVobj) のIDを用いて行なわれる。
【0047】
int avs _open(int net, char *devname, int mode);
これは、デバイス(AVdev) をオープンする。引数は実行制御単位(AVobj) のID、デバイス名、モードである。
【0048】
int avs _connect(int net1, int net2);
これは、2つの実行制御単位(AVobj) をポイント・ツウ・ポイント(point-to-point)接続する。これによって接続した実行制御単位(AVobj) の一方が以下に述べる関数(avs _transfer) によって転送状態になると、もう一方の実行制御単位(AVobj) がそのデータを受けとれるようになり自動的に受けとったデータを処理する。ひとつの送信実行制御単位(AVobj) に対して複数の受信実行制御単位(AVobj) を接続することが可能なため、1対多のデータ転送を処理できる。
【0049】
int avs _transfer(int net, int dev, int length);
これは、実行制御単位(AVobj) の送信を制御する。デバイスIDとして0を指定すると、実行制御単位(AVobj) がオープンしたすべてのデバイスに対して有効となる。長さ(length)に正の数を指定するとその長さだけデータ転送が行なわれる(単位はmsec)。ここでゼロを指定すると、次の関数(av _transfer) が与えられるまで転送します。負の数を指定すると即座に停止する。
【0050】
int avs _destroy(int net);
これは、関数(av _new)によって生成した実行制御単位(AVobj) を解放する。
【0051】
int avs _interval(int net, int dev, int interval);
これは、転送インターバルの設定を行なう。単位はmsecである。デバイスIDとしてゼロを設定すると、その実行制御単位(AVobj) でオープンされたすべてのデバイスに対して適応される。
【0052】
int avs _resize(int net, int dev, int width, int height);
これは、ビデオデバイスに対してサイズ変更を要求する。サイズの単位はピクセルである。デバイスIDとしてゼロを設定すると、その実行制御単位(AVobj) でオープンされたすべてのビデオデバイスに対して適応される。
【0053】
int avs _nettype(int net, char *type);
これは、実行制御単位(AVobj) 同志を接続するネットワークのタイプを設定する。現在のところ前記TCPとUDPがサポートされている。これは関数(avs_connect)を実行する以前に行なわなければならない。
【0054】
int avs _fd(int net);
これは、クライアントと実行制御単位(AVobj) とのコントロール接続コネクションのファイル記述子を返す。
【0055】
int avs _codec(int net, char *type, int quality);
これは、メディアデータの圧縮方式を指定する。ここでは、画像データに対して前記JPEGの圧縮伸張のみがサポートされている。
【0056】
その他、デバイス(AVdev) に対し直接メディアデータにアクセスするためのライブラリとして次のものがある。
例えば、
int avs _read(int net, int dev, int shmid, int size);
int avs _write(int net, int dev, int shmid, int size);
int avs _ioctl(int net, int dev, int request, int shmi);
である。
【0057】
3.情報処理装置の実装
システム全体における情報処理装置の位置付けは次の図5のようになる。
3.1 スレッド(Thread)の利用
スレッドを用いると、複数プロセスを用いて実現するよりもコンテキスト・スイッチの時間が短く、各スレッド間でメモリなどの環境を共有でき、プログラミングが容易になる。情報処理装置を実現するにあたってスレッドのモデルへの割り当て方法として次の2通りが考えられる。
【0058】
例えば、
機能毎にスレッドに割り当てる、
データストリーム毎にスレッドを割り当てる、
がある。
前者では画面入出力・音声入出力・ネットワークなどの機能毎にスレッドを割り当て、パイプラインを形成する方法であり、後者はメディアデータ毎の入力から出力までを行う処理にスレッドに割り当てる方法である。
【0059】
機能毎にパイプラインを形成してもマルチプロセッサ環境下でないと利点はなく、複数のストリームにおいてストリーム単位のスケジュール・プライオリティ制御を行うには、後者が適しているため、今回の実装ではデータストリーム毎にスレッドを割り当てる方法も用いた。
【0060】
3.2 TCP/IPの送信受信バッファと遅延
前記TCP/IPでは高信頼性を実現するため、パケットの順序付け、チェックサム、タイムアウトそして再転送を行い、オーバヘッドが大きくデータの転送遅延が問題となる。
【0061】
したがって、ここでは送信および受信のためにバッファが用意されている。例えばワークステーションでは、デフォルトで8K(バイト)となっている。このバッファにデータがたまることによって遅延が生じる。例えば、解像度が160×120、深さ16ビットの画面ならば、一画面でおよそ38Kバイトとなり、送信側と受信側両方のバッファを合わせても1フレームもバッファリングされない。この場合にはバッファサイズを大きくすると転送効率は向上する。ところが、画像圧縮をかけて1/10程の4Kバイト程度の大きさにすると両方のバッファ合わせておよそ4フレームが溜まることとなる。1秒間に5フレームのスピードで転送を行うならばこれだけで約1秒間の遅延となる。
【0062】
しかし、逆にあまりバッファを小さくすると、転送効率が悪くなるため、ここにトレードオフがある。この送信、受信バッファのサイズは関数(setsockopt)で変更可能である。
【0063】
4. 情報処理装置の評価
情報処理装置をワークステーション上に実装した場合の評価は以下のようになる。
【0064】
4.1 送受信バッファと転送遅延、効率
実際に送受信バッファのサイズと転送遅延、効率の測定をした例として、同一ネットワークに接続された2台のワークステーションの間で動画像データの転送を行なった。ここで、ワークステーションをイーサネットで接続し、解像度は160×120、16ビットの深さの無圧縮とJPEG圧縮画像で転送して測定し、1フレームのサイズは無圧縮でおよそ38Kバイト、JPEG圧縮でおよそ5Kバイトとしている。
【0065】
また、転送遅延は関数(timed(8))を用いて時計を合わせ、画像取り込みから転送を行いリモート側で表示を行うまでの時間を測定した。さらに、転送効率としては最大転送フレームレートを測定している。図6には無圧縮、図7にはJPEG圧縮の画像の送受信バッファサイズと転送遅延、効率の関係を示す。
【0066】
図6に示すように、無圧縮で1フレームの大きさが大きい場合には、送受信バッファに1フレームが入り切らないためバッファのサイズに対する転送遅延の差はほとんど変わらない。バッファサイズが8Kバイトの時には、転送遅延、効率ともに良い結果が現れる。この図6によれば、デフォルトの送受信バッファサイズが8KバイトということからもTCP/IPでの転送がその場合に一番効率が良くなるようになっていることがわかる。
【0067】
それに比べ、図7に示すJPEG圧縮を行なった画像を転送する場合には、ソフトウェアでJPEGの圧縮伸張を行うため最大フレームレートは少ない。また、送受信バッファに数フレームが溜まってしまうため、バッファのサイズが大きいほど遅延は増大する。そこでJPEGなどの圧縮を行い画像データがネットワークのバンド幅より充分小さい場合には、送受信のバッファサイズを転送効率が下がらない程度に小さくすることにより、メディアデータの転送遅延を短縮できる。
【0068】
4.2 画面転送スピード
同様の環境で、画面サイズとフレームレートおよび転送遅延を測定している。まず、ネットワークとしてイーサネットを用いた場合は、次の表の結果が得られた。表1には16ビットの深さの無圧縮画像、表2にはJPEG圧縮した画像の転送最大フレームレートと遅延の性能を示す。
【0069】
【表1】
【0070】
【表2】
【0071】
次に、ネットワークとしてサービス総合ディジタル網(ISDN:integrated service digitial network) の1B(64K)を用いた場合の性能は表3のようになる。なお、ISDMを用いた場合には、画像データを圧縮しないと最小の画面サイズ(80×60)においてもフレームレートが0.2(fps)となり、実用的でないため、深さ16ビットの無圧縮画像の転送性能の評価は省いた。
【0072】
【表3】
【0073】
このような情報処理装置を用いることにより、画像と音声の取り込みや圧縮伸張、またネットワークプログラミングを意識することなく容易にマルチメディアアプリケーションが作成可能となった。
【0074】
4.4 メディア間同期の実現
この情報処理装置では同期をとりメディアデータは、単一のストリームにインターリーブして転送している。また、ネットワークプロトコルとしてTCP/IPを用いているため、パケットの順序は保証される。さらに、複数のメディアデータの取り込みを同時に行い、インターリーブしてデータ送信時に同期を保証できれば、データ受取側でも複数のメディアデータの同期はとれているものと仮定できる。実際この方法で単一ネットワーク上にて転送した音声と動画のメディアデータの同期は満足のいく結果となった。
【0075】
4.5 遅延との関係
上述の実装では、ネットワークプロトコルとしてオペレーティングシステムのUNIXで標準的なTCP/IPを用いている。ここで、図8に示すように、メディアデータを直接送ることの出来る環境では、送信側と受信側のバッファの制御を情報処理装置が行うことができ、細かな流量制御が行える。
【0076】
以下、図1に戻って、上述したようなことを具体的に実現する本発明実施例の送信装置について説明する。
【0077】
図1において、マイクロホン1やビデオカメラ2からの音声信号や映像信号(動画信号)は、それぞれ対応するA/D変換回路65,66に送られて、A/D変換される。A/D変換回路65からの音声データは、音声データ圧縮回路67に送られ、ここで前述したように音声の圧縮方式として例えばG.711,G.721,G.722,G.728などのうちのいずれかを用いた圧縮が施される。また、上記A/D変換回路66からの映像データは、フレームバッファ68を介して映像データ圧縮回路69に送られ、ここで前述したように動画の圧縮方式として例えばJPEG,H.261,MPEGなどのうちのいずれかを用いた圧縮が施される。
【0078】
これら圧縮回路67,69からの圧縮された音声データと映像データは、それぞれ対応して設けられた音声データバッファメモリ82と映像データバッファメモリ83に送られる。
【0079】
また、バッファメモリ内容量測定回路86は、音声データバッファメモリ82と映像データバッファメモリ83のそれぞれの書き込みアドレス及び読み出しアドレスから、当該メモリ82と83の内容量の測定を行い、その測定結果を演算判断回路84に送る。
【0080】
当該演算判断回路84では、上記測定回路86からの映像データバッファメモリ83の内容量測定結果(後述する測定値D)に基づいて、映像データバッファメモリ83の内容量が上記上限(後述するDmax)を越えたことを検出したときに、その旨の信号を制御信号として上記取り込み周期指定回路91に送る。
【0081】
さらに、上記演算判断回路84では、上記測定回路86からのメモリ83の内容量測定結果(後述する測定値D)が、映像データバッファメモリ83の内容量が上記下限(後述するDmin)を下回るような場合には、映像が途切れるおそれがあるので、その旨(下限を下回った旨)の信号を制御信号として上記取り込み周期指定回路91に送る。
【0082】
当該取り込み周期指定回路71は、上記制御信号に基づいて、フレーム取り込みクロック発生回路70を制御する。当該フレーム取り込みクロック発生回路70は、上記取り込み周期指定回路71からの信号を受けると、例えばフレームバッファ68において出力するコマ数を可変させるようなフレーム取り込みクロックを発生させる。このフレームバッファ68において、例えばコマ落としを行う(若しくはコマ落とし数を増やす)ことで、送信する映像データの量を減らすことができ、コマ落としを行わないか若しくはコマ落とし数を減らすことで送信する映像データの量を増やすことができる。
【0083】
すなわち、本実施例の送信装置ではでは、以下の図9に示すようなフローチャートの処理を行うことで、単位時間内に送信するコマ数を制御するようにしている。
【0084】
この図9において、ステップS61では、上記映像データのバッファメモリ83の内容量の測定値Dを求める。なお、上記測定値Dは以下の式で求める。
D=(バッファ読み出しアドレス)−(バッファ書き込みアドレス)
【0085】
次のステップS62では、当該測定値Dと映像データのバッファメモリ83の内容量の上限値Dmaxとから、D>Dmaxを判定し、ノーと判定した場合にはステップS63に進み、逆にイエスと判定した場合にはステップS64に進む。
【0086】
ステップS64では、上記取り込み周期指定回路71が、フレーム取り込みクロック発生回路70に対して、フレームバッファ68におけるフレームの取り込みクロックの周期をPだけ長くさせるように制御する。このステップS64の後はステップS61に戻る。なお、このPの値は、例えば1%とする。
【0087】
一方、上記ステップS62においてノーと判断された場合のステップS63では、上記測定値Dと映像データのバッファメモリ83の内容量の下限値Dminとから、D<Dminを判定する。当該ステップS63において、ノーと判定した場合にはステップS61に戻り、イエスと判断した場合にはステップS65に進む。
【0088】
ステップS65では、上記取り込み周期指定回路71が、フレーム取り込みクロック発生回路70に対して、フレームバッファ68におけるフレームの取り込みクロックの周期をPだけ短くさせるように制御する。このステップS65の後はステップS61に戻る。なお、このPの値は、例えば1%とする。
【0089】
これにより、本実施例の送信装置では、映像データバッファメモリ83の内容量が多くなって当該映像データバッファメモリ83における入力から出力までの時間遅れ及び時間のずれが適正な値を越える、すなわち映像データバッファメモリ83の内容量の測定値Dが上限値Dmaxを越えるようになっても、当該時間遅れ及び時間のずれを適正な値に回復する、すなわち上記測定値Dを上限値Dmaxまでの範囲内に戻すことができ、また、映像データバッファメモリ83の内容量が少なくなって上記測定値Dが下限値Dminを下回ることにより映像が途切れるおそれがでてきても、当該映像の途切れを防ぐことができるようになる。
【0090】
上述のようにして映像データバッファメモリ83から読み出された圧縮された映像データと、音声データバッファメモリ82から読み出された圧縮された音声データとは、マルチプレクサ5によってマルチプレクスされ、その後ネットワーク送信部7に送られ、当該ネットワーク送信部7から例えばイーサネットなどのネットワーク8を経て、受信側のネットワーク受信部11に送られる。
【0091】
また、本実施例の送信装置の入力端子89には、送信信号として音声及び動画の信号を除く信号である例えばテキストデータやプログラムデータ,数値データ,他のバイナリデータのような信号が入力される。このデータは、検出回路93に送られる。当該検出回路93においては、上記音声及び動画を除くデータを検出するとそのまま当該データを出力して、データ処理回路94に送る。
【0092】
当該データ処理回路94では、供給されたデータに対する所定の処理としては、例えば誤り訂正符号の付加等の処理を行い、その後、データバッファメモリ95に送る。当該データバッファメモリ95では、データを一旦蓄えた後に、上記マルチプレクサ5に送る。
【0093】
このように、本実施例の送信装置においては、上記検出回路93を有し、送信信号として前記音声や動画を除く他のデータも送信できるようになっている。
【0094】
さらに、本実施例の送信側では、上記A/D変換回路66からの映像データも、上記検出回路93に送られる。
【0095】
このときの上記検出回路93では、映像データに対しては例えば人間の視覚特性を考慮して当該映像データから特に視覚的に重要な映像部分を検出したり、映像内容で特に重要な部分を検出したりする。この検出回路93からは、上記映像データに対応する検出信号が出力され、この検出信号が上記演算判断回路84に送られる。
【0096】
上記演算判断回路84では、上記検出回路93から上記映像データ用の制御信号を受けると、前述したフレームバッファ68における伝送コマ数の可変制御を行う際に、上記検出回路93での検出信号に対応した映像部分については伝送されるような制御、すなわち、上記検出信号に対応する映像の重要な部分については上記フレームバッファ68からそのままデータを読み出して映像データ圧縮回路69に送るように制御する。逆に、映像の重要でない部分に対しては、映像データバッファメモリ83の内容量に応じて、前記伝送コマ数の制御が行われる。
【0097】
これにより、本実施例の送信装置では、映像の重要な部分を除く部分についてはフレームバッファ68での伝送コマ数の制御操作が行われることで、映像データバッファメモリ83の入力から出力までの時間遅れを適正値に回復させることができ、また、上記映像の重要部分についてはコマ落としがなされないために、送信される映像は、高品質を保つことができるようになる。
【0098】
次に、本実施例の受信側において、上述したような送信データを受信するネットワーク受信部11によって受信されたデータは、分離回路12によって上記圧縮された音声データと映像データとに分離され、それぞれ対応する音声データバッファメモリ(FIFOメモリ)13と映像データバッファメモリ(FIFOメモリ)14に送られる。
【0099】
上記音声データバッファメモリ13や映像データバッファメモリ14から読み出された音声データと映像データは、それぞれ対応する伸張処理及びD/A変換を施す伸張D/A変換回路18,19に送られる。これら伸張D/A変換回路18,19では、前記A/D変換圧縮回路3,4での各圧縮処理に対応する伸張処理がそれぞれ施され、その後D/A変換して出力する。
【0100】
上記伸張D/A変換回路18からの音声信号はスピーカ19に送られ、上記伸張D/A変換回路19からの映像信号はモニタディスプレイ24に送られる。
【0101】
また、上記分離回路12に供給された受信信号は、当該分離回路12を介して検出回路25にも送られる。検出回路25では、上記受信信号から音声及び動画の信号を除く信号である例えば上記テキストデータやプログラムデータ,数値データ,他のバイナリデータのようなの信号を検出する。
【0102】
この検出回路25において上記音声や動画の信号を除くデータを検出すると、当該検出回路25からは、上記分離回路12に対して検出信号が出力される。上記分離回路12は、上記検出回路25からの検出信号が供給されると、上記受信信号から当該検出信号に応じたデータのみを分離して、データ処理回路26に送る。
【0103】
当該データ処理回路26では、供給されたデータに対して所定の処理を施した後、出力端子から出力する。なお、上記所定の処理としては、例えば誤り訂正処理等を挙げることができる。
【0104】
このように、本実施例の受信側においては、上記検出回路25を有し、上記分離回路12が当該検出回路25からの検出信号に応じて、受信信号から音声や動画以外のデータを分離することによって、上記音声や動画を除くデータについての処理を可能となっている。
【0105】
また、上記図1の構成では、映像のコマ落とし数を可変することで、上記映像データバッファメモリ83における入力から出力までの時間遅れ及び時間のずれを適正な値に回復したり、映像の途切れを防ぐようにしているが、例えば、画像の画質を選択することでも同様のことを行うことができる。
【0106】
すなわち、この画質を選択する場合には、例えば、フレームバッファ68において取り込む各画素データを間引くことで送信するデータ量を減らしたり、逆に間引きを行わないようにすることで画質を確保する。この場合、受信側では、画素データを間引いたときには、例えば補間等の処理を行って画像を復元する。
【0107】
次に、本発明の他の実施例の構成を図10に示す。
【0108】
この図10において、送信側ホストコンピュータには、モニタディスプレイ40とマイクロホン41とビデオカメラ42が接続され、またネットワーク43を介して受信側ホストコンピュータと接続される。
【0109】
当該送信側ホストコンピュータにおいて、CPU30は、メインメモリ31に保持されているプログラムデータを用いて各部を制御すると共に、上述した図1の各バッファメモリ内容量測定回路86,演算判断回路84,取り込み周期指定回路71,フレーム取り込みクロック発生回路70,検出回路93,データ処理回路94等の機能を備えているものである。
【0110】
ビデオカメラ42からの映像信号は、A/D変換圧縮処理部38によってA/D変換されると共に前述したような圧縮処理が施され、バッファメモリ34に一時蓄えられる。このバッファメモリ34は、前述の各実施例の映像データバッファメモリ83として機能する部分と共に、前記フレームバッファ68としても機能する部分をも有するしている。ただし、前述のフレームバッファ68には圧縮前の映像データが取り込まれる例を挙げているが、この図10に示すバッファメモリ34の例では圧縮後の映像データを取り込むようにしている。
【0111】
一方、マイクロホン41からの音声信号は、A/D変換圧縮処理部37によってA/D変換されると共に前述したような圧縮処理が施され、バッファメモリ33に一時蓄えられる。このバッファメモリ33は、前述の図1の音声データバッファメモリ82としての機能を有する。
【0112】
また、フレームメモリ32には、例えばCPU30によって形成された映像フレームデータや、ビデオカメラ42によって撮影された映像に基づく映像フレームデータが記憶される。当該フレームメモリ32からの映像フレームデータは、ディスプレイインタフェース36を介してモニタディスプレイ40に送られて表示される。
【0113】
さらに、上記バッファメモリ33,34に蓄えられた圧縮された音声データと映像データは、例えばCPU30によってマルチプレクスされた後にバッファメモリ35に一旦蓄えられてから読み出される。なお、このバッファメモリ35は図1のデータバッファメモリ95としての機能も有している。当該バッファメモリ35から読み出されたデータは、ネットワークインタフェース39に接続されたネットワーク43を介して、受信側ホストコンピュータに送られる。
【0114】
次に、受信側ホストコンピュータには、モニタディスプレイ61とスピーカ62が接続され、さらにネットワーク43を介して送信側ホストコンピュータと接続される。
【0115】
当該受信側ホストコンピュータにおいて、CPU52は、メインメモリ53に保持されているプログラムデータを用いて各部を制御したり、また、各種の演算を行う。
【0116】
上記ネットワーク43を介して上記送信側ホストコンピュータから送られてきたデータは、ネットワークインタフェース50を介してバッファメモリ51に一旦蓄えられた後、読み出される。
【0117】
当該バッファメモリ51から読み出された受信データからは、例えばCPU52によって上記圧縮された音声データと映像データとが分離され、それぞれ対応するバッファメモリ54,55に送られる。
【0118】
バッファメモリ54に送られた圧縮された映像データは、当該バッファメモリ54から読み出されてデータ伸張処理部56に送られて上記送信側ホストコンピュータでの圧縮に対応する伸張処理がなされる。当該伸張された映像データは、フレームメモリに蓄えられてフレームとなされ、ディスプレイインタフェース58を介してモニタディスプレイ61に送られて表示される。
【0119】
また、バッファメモリ55に送られた圧縮された音声データは、当該メモリ55から読み出されてデータ伸張処理部59に送られて上記送信側ホストコンピュータでの圧縮に対応する伸張処理がなされる。当該伸張された音声データは、D/A変換処理部60によってアナログの音声信号に変換された後、スピーカ62に送られる。
【0120】
上述したように、本発明の各実施例装置によれば映像データバッファ83の内容量の測定値Dが、当該バッファ83の内容量の上限値Dmaxを越えたことを検出すると、当該映像データバッファメモリ83における映像データの取り込み時間と送信時間との差を上限値Dmaxと下限値Dminとの間とするために、画質又は単位時間内の送信コマ数を制御するようにしているため、上記映像データバッファメモリ83での入力から出力までの時間遅れ及び時間のずれを適正な値に回復し、また映像の途切れを防ぐことを可能としている。
【0121】
また、本実施例の送信装置においては、検出回路93を設け、この検出回路93によって受信信号が動画及び音声を除くデータであることを検出したときには、データ処理回路94においてそのまま処理するようにしたことで、送信信号が例えばテキストデータ,プログラムデータ,数値データ,他のバイナリデータなどである場合に、これらデータの内容が変化することを防いでいる。
【0122】
さらに、本実施例の送信装置においては、検出回路93によって送信信号から映像において特に重要な部分を検出したときには演算判断回路84によって取り込み周期指定回路71及びフレーム取り込みクロック発生回路70を制御し、これら重要な部分を除く他の部分についてはコマ落としを行うように上記フレームバッファ68を制御することで、映像データバッファメモリ83の入力から出力までの時間遅れを適正値に回復させるようにし、上記特に重要な部分についてはそのまま処理することで、この部分の信号については破棄されることを防いでいる。
【0123】
【発明の効果】
上述のように本発明の送信装置においては、信号の外部から送信装置への取り込み時間と取り込まれて処理された信号を送信する時間との差を所定時間以内となして動画信号を含むマルチメディアデータの信号を送信する実時間の送信を行う際に、動画信号を外部から取り込み、この取り込まれた動画信号をバッファ手段にバッファリングし、バッファ手段のバッファメモリ内容量Dを測定し、バッファ手段によりバッファリングされた動画信号を送信し、測定されたバッファメモリ内容量Dが、上記取り込み時間と上記送信する時間との差の上限としての第1の時間をバッファメモリ内容量に換算して得られる上限値Dmax内であることを検出し、測定されたバッファメモリ内容量Dが、上記取り込み時間と上記送信する時間との差の下限としての第2の時間をバッファメモリ内容量に換算して得られる下限値Dmin内であることを検出し、測定されたバッファメモリ内容量Dが上記上限値Dmaxを越えたことを検出したときに、画質又は単位時間内の送信コマ数を制御することにより、バッファメモリ内容量を上記上限値と上記下限値との間となすことができ、これによってバッファ手段の入力から出力までの時間遅れを適正値に回復させることを可能としている。
【0124】
さらに、本発明の送信装置においては、送信時に信号の信号の取り込み時間と送信する時間との差が第2の時間内を下回ったことを検出したときには、送信する動画の画質を上げるか又はコマ落とし数を無くす(若しくは少なくする)ことで、映像の途切れを防ぐことが可能となる。
【0125】
また、本発明の送信装置においては、第3の検出手段によって送信信号が動画の信号を除く信号であることを検出したときには、そのまま処理することで、送信信号が例えばテキストデータなどである場合に、データの内容が変化することを防止できる。
【0126】
さらに、本発明の送信装置によれば、第4の検出手段を設け、この第4の検出手段によって送信信号の所定の部分を検出したときには、その所定の部分を除く他の部分の送信を中止することで、バッファ手段の入力から出力までの時間遅れを適正値に回復させることができ、その所定の部分についてはそのまま処理することで、この所定の部分の信号については送信可能とする。
【図面の簡単な説明】
【図1】本発明実施例の送信装置及びこれに対応する受信側の装置の概略構成を示すブロック回路図である。
【図2】本発明装置が適用される情報処理通信システムの情報処理装置のモデルを示す図である。
【図3】マルチメディアデータの転送について説明するための図である。
【図4】ネットワークでつながれたホスト間のマルチメディアデータの転送について説明するための図である。
【図5】システム全体における情報処理装置の位置付けについて説明するための図である。
【図6】無圧縮の場合の送受信バッファサイズと転送遅延、効率の関係を示す特性図である。
【図7】JPEG圧縮の画像の送受信バッファサイズと転送遅延、効率の関係を示す特性図である。
【図8】情報処理装置と遅延との関係を説明するための図である。
【図9】本実施例装置における映像データバッファメモリの内容量測定と伝送コマ数制御についての処理を説明するためのフローチャートである。
【図10】本発明の他の実施例の送信側ホストコンピュータと受信側ホストコンピュータの概略構成を示すブロック回路図である。
【図11】従来の送信装置と送信装置の概略構成を示すブロック回路図である。
【符号の説明】
1,41・・・マイクロホン
2,42・・・ビデオカメラ
5・・・マルチプレクサ
6・・・データバッファメモリ
7・・・ネットワーク送信部
8・・・ネットワーク
9・・・ネットワーク受信部
12・・・分離回路
13,82・・・音声データバッファメモリ
14,83・・・映像データバッファメモリ
18・・・音声データの伸張D/A変換回路
19・・・ビデオデータの伸張D/A変換回路
24,40,61・・・モニタディスプレイ
25,93・・・検出回路
26,94・・・データ処理回路
27,62・・・スピーカ
30,52・・・CPU
31,53・・・メインメモリ
32,57・・・フレームメモリ
33,34,35,51,54,55・・・バッファメモリ
36,58・・・ディスプレイインタフェース
37・・・音声データA/D変換圧縮部
38・・・動画データA/D変換圧縮部
56・・・音声データ用データ伸張部
59・・・映像データ用データ伸張部
60・・・音声データD/A変換部
65,66・・・A/D変換回路
67・・・音声データ圧縮回路
68・・・フレームバッファ
69・・・映像データ圧縮回路
70・・・フレーム取り込みクロック発生回路
71・・・取り込み周期指定回路
84・・・演算判断回路
86・・・バッファメモリ内容量測定回路
95・・・データバッファメモリ
Claims (4)
- 信号の外部から送信装置への取り込み時間と取り込まれて処理された信号を送信する時間との差を所定時間以内となして動画信号を含むマルチメディアデータの信号をパケット化して送信する実時間の送信装置であって、
動画信号を外部から取り込む取り込み手段と、
上記取り込み手段により取り込まれた動画信号を圧縮符号化する圧縮符号化手段と、
上記圧縮符号化手段からの出力信号をバッファリングするバッファ手段と、
上記バッファ手段のバッファメモリ内容量Dを測定する内容量測定手段と、
上記バッファ手段によりバッファリングされた動画信号を送信する送信手段と、
上記動画信号の上記取り込み手段による取り込み時間と上記送信手段により送信する時間との差が上記内容量測定手段により測定されたバッファメモリ内容量Dに予め対応付けられ、上記時間の差の上限としての第1の時間がバッファメモリ内容量の上限値D max に、上記時間の差の下限としての第2の時間がバッファメモリ内容量の下限値D min にそれぞれ予め対応付けられ、上記内容量測定手段により測定されたバッファメモリ内容量Dが上記上限値Dmax内であることを検出する第1の検出手段、及び上記バッファメモリ内容量Dが上記下限値Dmin内であることを検出する第2の検出手段と、
上記内容量測定手段により測定されたバッファメモリ内容量Dが上記上限値Dmaxを越えたことを検出したときに、上記バッファメモリ内容量を上記上限値と上記下限値との間となすために、上記取り込み手段から出力する単位時間内のコマ数を制御する制御手段と
を有することを特徴とする送信装置。 - 上記信号の外部から送信装置への取り込み周期を指定する取り込み周期指定手段を設け、
上記制御手段は、上記内容量測定手段により測定されたバッファメモリ内容量Dが上記上限値Dmaxを越えた(D>Dmax)とき、上記取り込み周期指定手段の取り込み周期を長くさせるように制御し、上記内容量測定手段により測定されたバッファメモリ内容量Dが上記下限値Dminを下回った(D<Dmin)とき、上記取り込み周期指定手段の取り込み周期を短くさせるように制御することを特徴とする請求項1記載の送信装置。 - 上記外部から送信装置への信号の取り込みの際に取り込む各画素データを間引いたり間引きを行わないことで画質を選択する画質選択手段を設け、
上記制御手段は、上記内容量測定手段により測定されたバッファメモリ内容量Dに応じて上記画質選択手段による画質の選択を制御することを特徴とする請求項1記載の送信装置。 - 信号の外部から送信装置への取り込み時間と取り込まれて処理された信号を送信する時間との差を所定時間以内となして動画信号を含むマルチメディアデータの信号をパケット化して送信する実時間の送信方法であって、
動画信号を外部から取り込む取り込み工程と、
上記取り込み工程により取り込まれた動画信号を圧縮符号化する圧縮符号化工程と、
上記圧縮符号化工程により圧縮符号化された出力信号をバッファ手段にバッファリングする工程と、
上記バッファ手段のバッファメモリ内容量Dを測定する内容量測定工程と、
上記バッファ手段によりバッファリングされた動画信号を送信する送信工程と、
上記動画信号の上記取り込み手段による取り込み時間と上記送信手段により送信する時間との差が上記内容量測定手段により測定されたバッファメモリ内容量Dに予め対応付けられ、上記時間の差の上限としての第1の時間がバッファメモリ内容量の上限値D max に、上記時間の差の下限としての第2の時間がバッファメモリ内容量の下限値D min にそれぞれ予め対応付けられ、上記内容量測定工程により測定されたバッファメモリ内容量Dが上記上限値Dmax内であることを検出する第1の検出工程、及び上記バッファメモリ内容量Dが上記下限値Dmin内であることを検出する第2の検出工程と、
上記内容量測定工程により測定されたバッファメモリ内容量Dが上記上限値Dmaxを越えたことを検出したときに、上記バッファメモリ内容量を上記上限値と上記下限値との間となすために、上記取り込み工程から上記圧縮符号化工程に出力する単位時間内のコマ数を制御する制御工程と
を有することを特徴とする送信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31558393A JP3799070B2 (ja) | 1993-12-15 | 1993-12-15 | 送信装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31558393A JP3799070B2 (ja) | 1993-12-15 | 1993-12-15 | 送信装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07170504A JPH07170504A (ja) | 1995-07-04 |
JP3799070B2 true JP3799070B2 (ja) | 2006-07-19 |
Family
ID=18067103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31558393A Expired - Fee Related JP3799070B2 (ja) | 1993-12-15 | 1993-12-15 | 送信装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3799070B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10229420A (ja) | 1997-02-17 | 1998-08-25 | Matsushita Electric Ind Co Ltd | 通信システム |
JP3460625B2 (ja) | 1999-06-02 | 2003-10-27 | 日本電気株式会社 | テレビ電話装置およびテレビ電話装置における情報処理方法 |
US6721280B1 (en) * | 2000-04-19 | 2004-04-13 | Qualcomm Incorporated | Method and apparatus for voice latency reduction in a voice-over-data wireless communication system |
JP2005012729A (ja) * | 2003-06-23 | 2005-01-13 | Nanao Corp | 情報提供装置 |
JP5295120B2 (ja) * | 2006-12-06 | 2013-09-18 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ジッタバッファ制御 |
-
1993
- 1993-12-15 JP JP31558393A patent/JP3799070B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07170504A (ja) | 1995-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6278478B1 (en) | End-to-end network encoding architecture | |
JP3715332B2 (ja) | 通信システム、受信装置及び方法 | |
US8160129B2 (en) | Image pickup apparatus and image distributing method | |
US6195680B1 (en) | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing | |
JP4965059B2 (ja) | ビデオストリームの切り替え | |
JP2003524909A (ja) | マルチメディアネットワーク・インタフェースを達成する方法及び装置 | |
JP4822866B2 (ja) | インターネットプロトコルを用いたシリアルバスを介したデータ電送を実行するための方法及び当該方法を利用するための装置 | |
JP2003504897A (ja) | 電話回線による高速映像伝送 | |
US20040073953A1 (en) | Audio/video apparatus for use with a cable television network | |
US7502417B2 (en) | Data transmission device and method | |
JPH07170292A (ja) | 送信装置 | |
Lehman et al. | Experiments with delivery of HDTV over IP networks | |
JP3799070B2 (ja) | 送信装置及び方法 | |
CA2344595A1 (en) | System and method for simultaneous viewing and/or listening to a plurality of transmitted multimedia streams through a centralized processing space | |
JPH07170503A (ja) | 受信装置 | |
JPH07170502A (ja) | 受信装置 | |
JPH07170291A (ja) | 送信装置 | |
JP2000295597A (ja) | メディアデータ受信および送信装置 | |
JPH10164553A (ja) | 映像サーバ及びクライアント及び制御方法及び記憶媒体 | |
US6947447B1 (en) | Image communication apparatus, image communication method and recording medium which stores the sound and image | |
JP2002344937A (ja) | 品質制御保証方法及び品質制御保証装置並びにネットワーク接続装置 | |
Engman | High Performance Video Streaming on Low End Systems | |
KR100639872B1 (ko) | Native ATM API를 이용한 음성데이터 전송 방법 | |
JP2003536326A (ja) | 対話型処理システム | |
KR100327226B1 (ko) | Ieee1394버스를이용한화상전화데이터전송방법및그단말장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040405 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040409 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060424 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |