JP3715332B2 - Communication system, receiving apparatus and method - Google Patents

Communication system, receiving apparatus and method Download PDF

Info

Publication number
JP3715332B2
JP3715332B2 JP31558193A JP31558193A JP3715332B2 JP 3715332 B2 JP3715332 B2 JP 3715332B2 JP 31558193 A JP31558193 A JP 31558193A JP 31558193 A JP31558193 A JP 31558193A JP 3715332 B2 JP3715332 B2 JP 3715332B2
Authority
JP
Japan
Prior art keywords
time
signal
data
difference
input
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
Application number
JP31558193A
Other languages
Japanese (ja)
Other versions
JPH07170290A (en
Inventor
浩一 田中
達 河上
竜夫 永松
充 田辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP31558193A priority Critical patent/JP3715332B2/en
Publication of JPH07170290A publication Critical patent/JPH07170290A/en
Application granted granted Critical
Publication of JP3715332B2 publication Critical patent/JP3715332B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、例えば、コンピュータネットワークのような通信の技術分野で用いられる通信システム、受信装置及び方法に関し、特に、オーディオやビデオデータのようなマルチメディアデータに対応できる通信システム、受信装置及び方法に関するものである。
【0002】
【従来の技術】
近年、パーソナルコンピュータやワークステーションなどの性能は格段に向上し、また、身近に普及しつつある。また、最近は、それらをテレビジョンや電話と同じように日常的なコミュニケーションに利用したいという要求や、これら情報処理システムをより広範囲の用途に活用したいという要求が出てきている。したがって、上記パーソナルコンピュータやワークステーションなどにおいては、これらの要求を実現するために、音声や動画などのマルチメディアデータを分散環境上でインタラクティブに扱えるようにする事が必要となっている。
【0003】
ここで、従来のマルチメディアの通信で用いられる情報処理通信システムとしては、図13に示す構成のものが知られている。
【0004】
この図13において、入力装置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】
先ず、上記従来の情報処理通信システムにおいては、例えば受信側の上記出力データ処理装置114,115などの負荷の変動によって処理が遅れ、受信バッファメモリ112において内容が増えすぎるようになる場合がある。このように、受信バッファメモリ112の内容が増えすぎるようになると、当該受信バッファメモリ112におけるデータの入力から出力までの時間遅れが大きくなる。
【0008】
また、図13の例では、受信バッファメモリは単数となっているが、受信バッファメモリが複数ある様な場合において、例えばこの複数の受信バッファメモリの間で内容量の差が大きくなりすぎるようになると、これら複数の受信バッファメモリは本来同期していなければならないものであるにもかかわらず、出力の際のバッファメモリ間の時間のずれ(すなわちメディア間の時間のずれ)が大きくなる。
【0009】
この従来の欠点についてより具体的に説明する。例えば、動画や音声などのマルチメディアデータは、コンピュータがこれまで処理してきた数値データやテキストデータとは本質的に異なる性質を持っている。すなわち、マルチメディアデータは、
第一に、マルチメディアデータは単なるバイト列ではなく、明示的あるいは暗示的に時間の属性を持っていること、
第二に、本質的にデータ量が莫大かつ冗長で、ハードウェアの処理能力が向上したとしても、効率良く扱うためにはデータ圧縮をする必要があること、
第三に、インタラクティブな処理を必要とされ、スループットだけでなくレスポンスや遅れなどの性能が重視されること、
などの性質を持っている。
【0010】
このため、これらを分散環境で扱うためには、メディア間同期、通信、処理、リーソス管理などに新たな手法を導入する必要がある。
【0011】
そこで、本発明は、上述のような実情に鑑みてなされたものであり、入力から出力までの時間遅れが少なく、出力でのメディア間の時間のずれも小さい通信システム、受信装置及び方法を提供することを目的とするものである。
【0012】
【課題を解決するための手段】
本発明は上述した目的を達成するために提案されたものであり、動画信号を含むマルチメディアデータをパケット化して送信側から受信側に送信し、送信側で取り込む時間と受信側で再生する時間との差が所定時間以内である実時間の通信システムであって、送信側は、入力された動画信号に対しての画質を選択又はコマ落とし数を可変する可変手段と、この可変手段を介して得られた動画信号のパケットを受信側に送信する送信手段と、上記可変手段を制御する制御手段と、上記制御手段への受信側からの制御信号が入力される制御信号入力手段とを備え、受信側は、上記送信側から送信された動画信号を取り込む取り込み手段と、上記取り込まれた動画信号をメモリに書き込んで読み出すことによりバッファリングするバッファ手段と、このバッファリングされた動画信号を再生する再生手段と、上記バッファ手段の読出アドレスと書き込みアドレスとの差から求められる入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が上限としての第1の時間内であることを検出する第1の検出手段と、上記バッファ手段での入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が下限としての第2の時間内であることを検出する第2の検出手段と、動画信号の取り込み時間と再生する時間との差が上記第1の時間を越えたこと及び/又は上記第2の時間を下回ったことを検出したときに、上記バッファ手段での入力から出力までの時間遅れに基づく上記信号の取り込み時間と再生する時間との差を上記第1の時間と第2の時間との間となすために上記送信側に対して画質又は単位時間内の送信コマ数を制御するための制御信号を送る制御信号送信手段とを備えてなることを特徴とするものである。
【0013】
また、本発明の通信システムの受信側には、受信信号が動画信号を除く信号であることを検出する第3の検出手段を設け、受信側では動画信号を除く信号をも受信すると共に、上記第3の検出手段によって受信信号が動画信号を除く信号であることを検出したときには、当該動画信号を除く信号をそのまま処理するようにしている。
【0014】
さらに、受信側には動画信号の所定の部分であることを検出する第4の検出手段を設け、当該受信側では、上記第4の検出手段によって上記動画信号の所定の部分を検出したときには当該所定の部分のみをそのまま処理し、他の部分を廃棄するようにする。
【0015】
【作用】
本発明の通信システムによれば、受信側において、信号の取り込み時間と再生する時間との差が第1の時間内を越えたこと及び/又は第2の時間内を下回ったことを検出すると、信号の取り込み時間と再生する時間との差を第1の時間と第2の時間との間となすために送信側に対して画質又は単位時間内の送信コマ数を制御するための制御信号を送るようにする。これを受けた送信側は、送信する動画信号に対して動画の画質を選択又はコマ落とし数を可変する制御を行う。
【0016】
すなわち、本発明の通信システムによれば、受信側において信号の取り込み時間と再生する時間との差が上限である第1の時間内を越えると、バッファ手段での入力から出力までの時間遅れが大きくなるので、受信側で信号の取り込み時間と再生する時間との差が第1の時間内を越えるようになったときには、送信側において送る動画の画質を落とすか又はコマ落としを行うことで、受信側のバッファ手段の入力から出力までの時間遅れを適正値に回復させるようにしている。
【0017】
さらに、本発明の通信システムによれば、受信側において信号の信号の取り込み時間と再生する時間との差が第2の時間内を下回ると、映像が途切れるおそれが出てくるので、受信側で信号の取り込み時間と再生する時間との差が第2の時間内を下回るようになったときには、送信側において送る動画の画質を上げるか又はコマ落とし数を無くす(若しくは少なくする)ことで、受信側で映像が途切れるのを防ぐようにしている。
【0018】
また、本発明の通信システムによれば、受信側に第3の検出手段を設け、この第3の検出手段によって受信信号が動画信号を除く信号であることを検出したときには、そのまま処理することで、受信信号が例えばテキストデータやプログラムデータ,数値データ,他のバイナリデータなどである場合に、これらデータの内容が変化することを防いでいる。
【0019】
さらに、本発明の通信システムによれば、受信側にさらに第4の検出手段を設け、この第4の検出手段によって受信信号の動画信号の所定の部分を検出したときには、その所定の部分を除く他の部分を廃棄することで、バッファ手段の入力から出力までの時間遅れを適正値に回復させるようにし、その所定の部分についてはそのまま処理することで、この所定の部分の信号については破棄しないようにする。
【0020】
【実施例】
以下、図面を参照し、本発明に係る通信システム、受信装置及び方法の実施例について詳述する。
【0021】
図1には、本発明実施例の通信システムの構成を示す。
本実施例の通信システムは、図1に示すように、動画信号を、送信側90で取り込む時間と受信側91で再生する時間との差が所定時間以内となるように、少なくとも受信側において、例えばバッファメモリに対する書き込み時間と読み出し時間との差を所定の時間範囲内に制御するような実時間の通信システムであり、送信側90は、動画信号を取り込む取り込み手段としてのA/D変換回路66及びフレームバッファ68と、フレームバッファ68において動画の画質を選択又はコマ落とし数を可変する可変手段してのフレーム取り込みクロック発生回路70と、上記フレーム取り込みクロック発生回路70を制御する制御手段としての取り込み周期指定回路71と、上記取り込み周期指定回路71への受信側91からの制御信号が入力される制御信号入力手段としてのネットワーク受信部72とを備えてなるものである。
【0022】
また、本実施例の通信システムの受信側91は、送信側90から送信された動画信号を取り込む取り込み手段としてのネットワーク受信部11と、動画信号を再生する再生手段としての分離回路12及び伸張D/A変換回路19と、動画信号の取り込み時間と再生する時間との差(後述する測定値V)が上限(後述するVmax)の第1の時間内であることを検出する第1の検出手段、及び動画信号の取り込み時間と再生する時間との差(測定値V)が下限(後述するVmin)の第2の時間内であることを検出する第2の検出手段としてのバッファメモリ内容量測定回路20と、分離された映像データ(動画データ)をバッファリングするバッファ手段である映像データバッファメモリ14と、信号の取り込み時間と再生する時間との差が上記第1の時間内を越えたこと(V>Vmax)又は第2の時間内を下回ったこと(V<Vmin)を検出すると、上記信号の取り込み時間と再生する時間との差を上記第1の時間と第2の時間との間となすために、上記送信側90に対して画質の選択又は単位時間内の送信コマ数を制御するための制御信号を送る制御信号送信手段としての演算判断回路81及びネットワーク送信部73とを備えている。
【0023】
すなわち、本実施例の通信システムは、送信側90が上記受信側91からの制御信号を受信すると、フレームバッファ68において動画の画質選択又はコマ落とし数を可変することで、受信側91に送る動画データの量を制御するようにしている。
【0024】
なお、本実施例の通信システムでは、動画データと共に、音声データをも扱うようにしている。
【0025】
また、本発明実施例の通信システムは、音声及び動画の信号を除く信号をも受信可能であり、したがって、送信側90には音声及び動画の信号を除く信号を処理するデータ処理回路94を設けると共に、受信側91には受信信号が音声及び動画の信号を除く信号であることを検出する第3の検出手段としての検出回路25をさらに設けている。なお、上記音声及び動画の信号を除く信号としては、例えばテキストデータやプログラムデータや数値データ,他のバイナリデータ等を挙げることができる。受信側91は、上記検出回路25において上記受信信号が動画の信号を除く信号であることを検出したときには、当該検出回路25からの検出出力に応じて分離回路12でこのテキストデータなどの部分のみを分離させ、当該分離したテキストデータなどの部分についてはデータ処理回路26によってそのまま処理するようにしている。
【0026】
さらに、本発明実施例の通信システムの受信側91の上記検出回路25は、受信信号から所定の部分として例えば映像や音声の重要な部分を検出する第4の検出手段としても動作し、当該第4の検出手段としての検出回路25からの検出出力を、上記演算判断回路81に送る。当該演算判断回路81においては、音声データバッファメモリ13及び映像データバッファメモリ14に対して上記所定の部分のみはそのまま処理し、他の部分を廃棄するような読み出し制御を行う。
【0027】
ここで、先ず、図1と図9〜図12に示す本発明実施例の通信システムの具体的に説明に先立ち、本発明の通信システムが適用される情報処理通信システムのマルチメディアデータ対応の情報処理装置の基本機能と、該情報処理装置のモデルといわゆるアプリケーション・プログラミング・インタフェース(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】

Figure 0003715332
【0070】
【表2】
Figure 0003715332
【0071】
次に、ネットワークとしてサービス総合ディジタル網(ISDN:integrated service digitial network) の1B(64K)を用いた場合の性能は表3のようになる。なお、ISDMを用いた場合には、画像データを圧縮しないと最小の画面サイズ(80×60)においてもフレームレートが0.2(fps)となり、実用的でないため、深さ16ビットの無圧縮画像の転送性能の評価は省いた。
【0072】
【表3】
Figure 0003715332
【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からの圧縮された音声データと映像データは、マルチプレクサ5によってマルチプレクスされ、その後データバッファメモリ(例えばFIFOメモリ)6を介してネットワーク送信部7に送られ、当該ネットワーク送信部7から例えばイーサネットなどのネットワーク8を経て、受信側91のネットワーク受信部11に送られる。
【0079】
また、この図1の通信システムにおいては、入力端子89には上記音声や動画を除く信号として例えばテキストデータやプログラムデータ,数値データ,他のバイナリデータ等が供給される。これらデータは、データ処理回路94において例えば誤り訂正符号が付加される等の処理が施された後、マルチプレクサ5を介し、さらにネットワーク送信部7から出力されるようにもなっている。
【0080】
当該受信側91のネットワーク受信部11で受信したデータは、分離回路12によって上記圧縮された音声データと映像データとに分離され、それぞれ対応する音声データバッファメモリ(FIFOメモリ)13と映像データバッファメモリ(FIFOメモリ)14に送られる。
【0081】
また、バッファメモリ内容量測定回路20は、映像データバッファメモリ14の書き込みアドレス及び読み出しアドレスから当該メモリ14の内容量の測定を行い、その測定結果(後述する測定値V)を演算判断回路81に送る。当該演算判断回路81は、上記測定回路20からのメモリ14の内容量測定結果から上記映像データバッファメモリ14の内容量が上記上限(後述するVmax)を越えたことが検出されると、その旨の信号を制御信号としてネットワーク送信部73を介して送信側91に送る。
【0082】
さらに、上記演算判断回路81では、上記測定回路20からのメモリ14の内容量測定結果(後述する測定値V)から映像データバッファメモリ14の内容量が上記下限(後述するVmin)を下回ることが検出されると、映像が途切れるおそれがあるので、その旨(下限を下回った旨)の信号を制御信号としてネットワーク送信部73を介して送信側90に送る。
【0083】
ここで、上記バッファメモリ内容量測定回路20及び演算判断回路81においては、図9に示すようなフローチャートによって、映像データバッファメモリ14の内容量を測定し、上記制御信号を生成するようにしている。
【0084】
この図9において、ステップS11では、映像データのバッファメモリ14の内容量の測定値V(単位は再生時間)を求める。なお、上記測定値Vは以下の式で求める。
V=(バッファ読み出しアドレス)−(バッファ書き込みアドレス)
【0085】
次のステップS2では、当該測定値Vと映像データのバッファメモリ14の内容量の適正範囲の上限値VmaxとからV>Vmaxを判定し、ノーと判定した場合にはステップS32に進み、逆にイエスと判定した場合にはステップS35に進む。
【0086】
上記ステップS35では、送信側90に対して、V>Vmaxである旨を表す信号を制御信号として送り、その後ステップS11に戻る。
【0087】
また、上記ステップS12でノーと判断されてステップS32に進むと、このステップS32では、上記測定値Vと映像データのバッファメモリ14の内容量の適正範囲の下限値VminとからV<Vminを判定する。当該ステップS32で、ノーと判定した場合にはステップS11に戻り、イエスと判断した場合にはステップS36に進む。
【0088】
ステップS36では、送信側90に対してV<Vminである旨を表す信号を制御信号として送り、その後ステップS11に戻る。
【0089】
なお、映像データのバッファメモリ14の内容量の適正範囲の適正値をVstaとすると、上記上限値Vmaxと上記適正値Vstaと下限値Vminとの関係はVmin<Vsta<Vmaxとなる。
【0090】
上記受信側91からの制御信号は、送信側90のネットワーク受信部72にて受信され、取り込み周期指定回路71に送られる。当該取り込み周期指定回路71は、上記制御信号に基づいて、フレーム取り込みクロック発生回路70を制御する。当該フレーム取り込みクロック発生回路70は、上記取り込み周期指定回路71からの信号を受けると、フレームバッファ68においてコマ落とし数を可変させるようなフレーム取り込みクロックを発生する。ここで例えば、コマ落としを行う(若しくはコマ落とし数を増やす)ことで、送信する映像データの量を減らすことができき、コマ落としを行わないか若しくはコマ落とし数を減らすことで送信する映像データの量を増やすことができる。
【0091】
すなわち、上記送信側90では、上記受信側91からの制御信号によって図10に示すようなフローチャートの処理を行う。
【0092】
この図10において、ステップS41では受信側91からの制御信号を受ける。
【0093】
次のステップS42では、受信した制御信号がV>Vmaxを表す信号か否かを判断し、当該V>Vmaxを表す信号であると判断した場合には、ステップS43に進み、否と判断した場合にはステップS44に進む。
【0094】
ステップS43では、上記取り込み周期指定回路71が、フレーム取り込みクロック発生回路70に対して、フレームバッファ68におけるフレームの取り込みクロックの周期をPだけ長くさせるように制御する。このステップS43の後はステップS41に戻る。なお、このPの値は、例えば1%とする。
【0095】
一方、上記ステップS42においてノーと判断された場合のステップS44では、上記受信した制御信号がV<Vminを表す信号か否かを判断し、当該V<Vminを表す信号であると判断した場合には、ステップS45に進み、否と判断した場合にはステップS41に戻る。
【0096】
ステップS44では、上記取り込み周期指定回路71が、フレーム取り込みクロック発生回路70に対して、フレームバッファ68におけるフレームの取り込みクロックの周期をPだけ短くさせるように制御する。このステップS44の後はステップS41に戻る。なお、このPの値は、例えば1%とする。
【0097】
これにより、本実施例の通信システムにおいては、受信側91の映像データバッファメモリ14の内容量が多くなって当該映像データバッファメモリ14における入力から出力までの時間遅れ及び時間のずれが適正な値を越えるようになっても、当該時間送り及び時間のずれを適正な値に回復することができ、また、映像データバッファメモリ14の内容量が少なくなって映像が途切れるおそれがでてきても、当該映像の途切れを防ぐことができるようになる。
【0098】
また、受信側91において、音声データバッファメモリ13や映像データバッファメモリ14から読み出された音声データと映像データは、それぞれ対応する伸張処理及びD/A変換を施す伸張D/A変換回路18,19に送られる。これら伸張D/A変換回路18,19では、前記A/D変換圧縮回路3,4での各圧縮処理に対応する伸張処理がそれぞれ施され、その後D/A変換して出力する。
【0099】
上記伸張D/A変換回路18からの音声信号はスピーカ27に送られ、上記伸張D/A変換回路19からの映像信号はモニタディスプレイ24に送られる。
【0100】
また、上記図1の構成では、送信側90において映像のコマ落とし数を可変することで、上記映像データバッファメモリ14における入力から出力までの時間遅れ及び時間のずれを適正な値に回復したり、映像の途切れを防ぐようにしているが、例えば、送信側90から受信側91に送る画像の画質を選択することでも同様のことを行うことができる。
【0101】
すなわち、この画質を選択する場合には、例えば、フレームバッファ68において取り込む各画素データを間引くことで送信するデータ量を減らしたり、逆に間引きを行わないようにすることで画質を確保する。この場合、受信側91では、画素データを間引いたときには、例えば補間等の処理を行って画像を復元する。
【0102】
また、この図1の通信システムにおいて、受信側91の上記分離回路12に供給された受信信号は、当該分離回路12を介して前記検出回路25にも送られる。当該検出回路25では、上記受信信号から音声及び動画の信号を除く信号として例えばテキストデータやプログラムデータ,数値データ,他のバイナリデータのような信号を検出する。
【0103】
この検出回路25において上記音声や動画の信号を除くデータを検出すると、当該検出回路25からは、上記分離回路12に対して検出信号が出力される。上記分離回路12は、上記検出回路25からの検出信号が供給されると、上記受信信号から当該検出信号に応じたデータのみを分離して、データ処理回路26に送る。
【0104】
当該データ処理回路26では、供給されたデータに対して所定の処理を施した後、出力端子から出力する。なお、上記所定の処理としては、例えば誤り訂正処理等を挙げることができる。
【0105】
このように、本実施例の受信側91においては、上記検出回路25を有し、上記分離回路12が当該検出回路25からの検出信号に応じて、受信信号から音声や動画を除くデータを分離することによって、これら音声や動画を除くデータに応じた処理を行うことが可能となっている。
【0106】
また、本実施例の受信側91の分離回路12において分離された音声と映像のデータも、上記検出回路25に送られる。
【0107】
このときの上記検出回路25では、音声データに対しては例えば人間の聴覚特性を考慮して当該音声データから低域の部分を検出したり、人間の声の部分のように特に重要な音声部分を検出したりする。また、映像データに対しては例えば人間の視覚特性を考慮して当該映像データから特に視覚的に重要な映像部分を検出したり、映像内容で特に重要な部分を検出したりする。この検出回路25からは、上記演算判断回路81に対して上記映像データと音声データの各々に対応する検出信号が送られる。
【0108】
上記演算判断回路81では、上記検出回路25からの音声データに対応する検出信号を受けると、音声データバッファメモリ13に対して上記検出信号に対応した音声部分が破棄されないような制御を行う。すなわち、上記検出信号に対応する音声の重要な部分については、上記音声データバッファメモリ13からそのまま後段の音声データの伸張D/A変換回路18に送られるような制御を行う。一方、これら重要な部分以外の音声のデータに対しては、バッファメモリ13の内容量が例えば適正値を越えた場合に破棄することで当該バッファメモリ13の内容量の適正化を図っている。
【0109】
これによっても、本実施例の通信システムの受信側91では、上記バッファメモリ13の入力から出力までの時間遅れを適正値に回復させることができ、また、上記音声の重要部分については破棄されないために、後のスピーカ27から出力される音声は、高品質を保つことができるようになる。
【0110】
一方、演算判断回路81では、上記検出回路25からの映像データに対応する検出信号を受けると、映像データバッファメモリ14に対して上記検出信号に対応した映像部分が破棄されないような制御を行う。すなわち、上記検出信号に対応する映像の重要な部分については、上記映像データバッファメモリ14からそのまま後段の映像データの伸張D/A変換回路19に送られるような制御を行う。また、これら重要な部分以外の映像のデータに対しては、バッファメモリ14の内容量が適正値を越えた場合に破棄することで当該バッファメモリ14の内容量の適正化を図っている。
【0111】
これによっても、本実施例の通信システムの受信側91では、上記バッファメモリ14の入力から出力までの時間遅れを適正値に回復させることができ、また、上記映像の重要部分については破棄されないために、後のモニタディスプレイ24に表示される映像は、高品質を保つことができるようになる。
【0112】
さらに、本発明の通信システムにおいて、送信側90から受信側91に送る画像の画質を選択する具体例としては、例えば図11に示すように、映像データ圧縮回路69における圧縮率を可変する構成とすることもできる。なお、この図11において、前述した図1と同様の構成要素には同一の指示符号を付してその詳細な説明については省略する。
【0113】
すなわちこの図11において、送信部90では、上記受信部91からの制御信号を、圧縮のパラメータを指定する圧縮パラメータ指定回路85で受ける。この圧縮パラメータ指定回路85は、上記制御信号に応じて映像データ圧縮回路69における圧縮率を可変する。例えば、圧縮率を高くすることで受信側91に送る映像データの量を減らすことができ、また、圧縮率を低くすることで受信側91に送る映像データの量を増やすことができる。言い換えれば、圧縮率を高くすることは画質を落とすことであり、圧縮率を低くすることは画質を高めることである。なお、この図11のように映像データの圧縮率を可変した場合には、その圧縮パラメータを受信側91に送る必要があり、受信側91の伸張D/A変換回路19ではこの圧縮パラメータに基づいて圧縮された映像データの伸張を行うことになる。
【0114】
また、図11の構成では、音声データを圧縮する音声データ圧縮回路67に対しても同様に可変した圧縮パラメータを送るようにすれば、受信側91の音声データバッファメモリ13の内容量の制御が可能となる。
【0115】
次に、本発明の他の実施例の構成を図12に示す。
【0116】
この図12において、送信側ホストコンピュータには、モニタディスプレイ40とマイクロホン41とビデオカメラ42が接続され、またネットワーク43を介して受信側ホストコンピュータと接続される。
【0117】
当該送信側ホストコンピュータにおいて、CPU30は、メインメモリ31に保持されているプログラムデータを用いて各部を制御すると共に、動画の画質選択又はコマ落とし数を可変する可変手段及び上記可変手段を制御する制御手段としての機能を備えている。すなわち、このCPU30は、前記図1の取り込み周期指定回路71及びフレーム取り込みクロック発生回路70やデータ処理回路94と同様の機能をも有する。
【0118】
ビデオカメラ42からの映像信号は、A/D変換圧縮処理部38によってA/D変換されると共に前述したような映像データ用の圧縮処理が施され、バッファメモリ34に一時蓄えられる。さらに、このバッファメモリ34は、前記動画信号を取り込む取り込み手段としても動作するものである。なお、図1の実施例では、前記取り込み手段としてのフレームバッファ68には圧縮前の映像データが取り込まれる例を挙げているが、この図12に示すバッファメモリ34の例では圧縮後の映像データを取り込むようにしている。
【0119】
一方、マイクロホン41からの音声信号は、A/D変換圧縮処理部37によってA/D変換されると共に前述したような音声データ用の圧縮処理が施され、バッファメモリ33に一時蓄えられる。
【0120】
また、フレームメモリ32には、例えばCPU30によって形成された映像フレームデータや、ビデオカメラ42によって撮影された映像に基づく映像フレームデータが記憶される。当該フレームメモリ32からの映像フレームデータは、ディスプレイインタフェース36を介してモニタディスプレイ40に送られて表示される。
【0121】
さらに、上記バッファメモリ33,34に蓄えられた圧縮された音声データと映像データは、例えばCPU30によってマルチプレクスされた後にバッファメモリ35に一旦蓄えられてから読み出される。当該バッファメモリ35から読み出されたデータは、ネットワークインタフェース39に接続されたネットワーク43を介して、受信側ホストコンピュータに送られる。このネットワークインタフェース39が、前記図1のネットワーク送信部7及びネットワーク受信部72と同様の機能を有している。
【0122】
次に、受信側ホストコンピュータには、モニタディスプレイ61とスピーカ62が接続され、さらにネットワーク43を介して送信側ホストコンピュータと接続される。
【0123】
当該受信側ホストコンピュータにおいて、CPU52は、メインメモリ53に保持されているプログラムデータを用いて各部を制御したり、また、各種の演算を行う。また、このCPU52は、前記図1のバッファメモリ内容量の測定回路20及び演算判断回路81や検出回路25,データ処理回路26としての機能をも有している。
【0124】
上記ネットワーク43を介して上記送信側ホストコンピュータから送られてきたデータは、ネットワークインタフェース50を介してバッファメモリ51に一旦蓄えられた後、読み出される。なお、このネットワークインタフェース50は、前記図1のネットワーク受信部11及びネットワーク送信部73と同様の機能を有するものである。
【0125】
当該バッファメモリ51から読み出された受信データからは、例えばCPU52によって上記圧縮された音声データと映像データとが分離され、それぞれ対応するバッファメモリ54,55に送られる。
【0126】
バッファメモリ54に送られた圧縮された映像データは、当該バッファメモリ54から読み出されてデータ伸張処理部56に送られて上記送信側ホストコンピュータでの圧縮に対応する伸張処理がなされる。当該伸張された映像データは、フレームメモリに蓄えられてフレームとなされ、ディスプレイインタフェース58を介してモニタディスプレイ61に送られて表示される。
【0127】
また、バッファメモリ55に送られた圧縮された音声データは、当該メモリ55から読み出されてデータ伸張処理部59に送られて上記送信側ホストコンピュータでの圧縮に対応する伸張処理がなされる。当該伸張された音声データは、D/A変換処理部60によってアナログの音声信号に変換された後、スピーカ62に送られる。
【0128】
上述したように、本発明の各実施例によれば、受信側は、送信側から送られてくる動画信号の取り込み時間と再生する時間との差である測定値Vが、上限(Vmax)内を越えたこと又は下限(Vmiv)内を下回ったことを検出すると、これら上限と下限との間にあるように画質又は単位時間内の送信コマ数を制御するための制御信号を送信側に送るようにし、受信側ではこの制御信号を受けて画質又は送信コマ数制御を行うことで、入力から出力までの時間遅れ及び時間のずれを適正な値に回復し、また映像の途切れを防ぐことを可能としている。
【0129】
また、本実施例の通信システムにおいては、受信側91にデータ検出回路25を設け、このデータ検出回路25によって受信信号が音声又は動画のうちいずれかの信号を除くデータであることを検出したときには、データ処理回路26においてそのまま処理するようにしたことで、受信信号が例えばテキストデータなどである場合に、データの内容が変化することを防いでいる。
【0130】
さらに、本実施例の通信システムにおいては、検出回路25によって受信信号から音声,映像において特に重要な部分を検出したときには、演算判断回路81においてこれら重要な部分を除く他の部分を音声データバッファメモリ13及び映像データバッファメモリ14に対して廃棄させることで、これらバッファメモリ13及び14の入力から出力までの時間遅れを適正値に回復させるようにし、上記特に重要な部分についてはそのまま処理することで、この部分の信号については破棄されることを防いでいる。
【0131】
【発明の効果】
上述のように本発明の通信システムにおいては、受信側において、動画信号の取り込み時間と再生する時間との差が第1の時間内を越えたこと及び/又は第2の時間内を下回ったことを検出すると、第1の時間と第2の時間との間に画質又は単位時間内の送信コマ数を制御するための制御信号を送信側に送るようにし、これを受けた送信側は、送信する動画信号から動画の画質選択又はコマ落とし数を可変する制御を行うようにしているため、受信側におけるバッファ手段の入力から出力までの時間遅れを適正値に回復させることができ、また、映像の途切れを防ぐことが可能となる。
【0132】
また、本発明の通信システムにおいては、受信側に第3の検出手段を設け、この第3の検出手段によって受信信号が動画信号を除く信号であることを検出したときにはそのまま処理することで、受信信号が例えばテキストデータやプログラムデータなどである場合に、データの内容が変化することを防止できる。
【0133】
さらに、本発明の通信システムにおいては、受信側にさらに第4の検出手段を設け、この第4の検出手段によって受信信号の動画信号の所定の部分を検出したときには、その所定の部分を除く他の部分を廃棄することで、バッファ手段の入力から出力までの時間遅れを適正値に回復させるようにし、その所定の部分についてはそのまま処理することで、この所定の部分の信号については破棄されることを防止できる。
【図面の簡単な説明】
【図1】本発明実施例の通信システムの送信側及び受信側の概略構成を示すブロック回路図である。
【図2】本発明通信システムが適用される情報処理通信システムの情報処理装置のモデルを示す図である。
【図3】マルチメディアデータの転送について説明するための図である。
【図4】ネットワークでつながれたホスト間のマルチメディアデータの転送について説明するための図である。
【図5】システム全体における情報処理装置の位置付けについて説明するための図である。
【図6】無圧縮の場合の送受信バッファサイズと転送遅延、効率の関係を示す特性図である。
【図7】JPEG圧縮の画像の送受信バッファサイズと転送遅延、効率の関係を示す特性図である。
【図8】情報処理装置と遅延との関係を説明するための図である。
【図9】本実施例通信システムの受信側における映像データバッファメモリの内容量測定とこの測定値が上限を越えた旨又は下限を下回った旨を示す制御信号の出力の処理を説明するためのフローチャートである。
【図10】本実施例通信システムの送信側における画質選択又はコマ落とし制御の処理を説明するためのフローチャートである。
【図11】本実施例の通信システムの送信側における画質選択を行う具体的構成を示すブロック回路図である。
【図12】本発明の他の実施例の送信側ホストコンピュータと受信側ホストコンピュータの概略構成を示すブロック回路図である。
【図13】従来の送信側と受信側からなる通信システムの概略構成を示すブロック回路図である。
【符号の説明】
1,41・・・マイクロホン
2,42・・・ビデオカメラ
5・・・マルチプレクサ
6・・・データバッファメモリ
7,73・・・ネットワーク送信部
8・・・ネットワーク
9,72・・・ネットワーク受信部
12・・・分離回路
13・・・音声データバッファメモリ
14・・・映像データバッファメモリ
20・・・バッファメモリ内容量測定回路
18・・・音声データの伸張D/A変換回路
19・・・ビデオデータの伸張D/A変換回路
24,40,61・・・モニタディスプレイ
25・・・検出回路
26・・・受信側のデータ処理回路
27,62・・・スピーカ
30・・・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・・・取り込み周期指定回路
81・・・演算判断回路
90・・・送信側
91・・・受信側
94・・・送信側のデータ処理回路[0001]
[Industrial application fields]
The present invention relates to a communication system, a receiving apparatus, and a method used in the technical field of communication such as a computer network, and more particularly, to a communication system, a receiving apparatus, and a method that can handle multimedia data such as audio and video data. Is.
[0002]
[Prior art]
In recent years, the performance of personal computers and workstations has been remarkably improved, and is becoming popular. Recently, there has been a demand to use them for daily communication like television and telephone, and a request to use these information processing systems for a wider range of applications. Therefore, in order to realize these requirements, the personal computer, workstation, and the like need to be able to handle multimedia data such as voice and moving images interactively in a distributed environment.
[0003]
Here, as an information processing communication system used in conventional multimedia communication, the one shown in FIG. 13 is known.
[0004]
In FIG. 13, for example, audio data, moving image data, and the like are supplied from the input devices 100 and 101. Examples of the input devices 100 and 101 include an A / D converter that converts an analog audio signal from a microphone or an analog video signal from a video camera into a digital signal. Data from the input devices 100 and 101 are sent to the input data processing devices 102 and 103, respectively, and subjected to predetermined data processing. An example of data processing in the input data processing devices 102 and 103 is data compression processing. The compressed data from the input data processing devices 102 and 103 is multiplexed by the multiplexer 104, stored in the transmission buffer memory 105, and then read out from the network transmission unit 106 via a network such as Ethernet. Sent to the network receiving unit 111 on the receiving side.
[0005]
The data received by the network reception unit 111 is temporarily stored in the reception buffer memory 112 and then read, and further, the separation device 113 performs separation processing corresponding to the multiplexing processing on the transmission side to output data processing. Sent to devices 114 and 115. The output data processing devices 114 and 115 perform data decompression processing corresponding to the input data processing devices 102 and 103, and then send them to the playback devices 116 and 117. As the playback devices 116 and 117, a D / A converter can be cited as an example.
[0006]
[Problems to be solved by the invention]
Incidentally, the above-described conventional information processing communication system has the following problems.
[0007]
First, in the conventional information processing communication system, for example, processing may be delayed due to load fluctuations in the output data processing devices 114 and 115 on the receiving side, and the content in the reception buffer memory 112 may increase excessively. As described above, when the contents of the reception buffer memory 112 increase too much, the time delay from the input to the output of data in the reception buffer memory 112 increases.
[0008]
In the example of FIG. 13, the reception buffer memory is singular. However, when there are a plurality of reception buffer memories, for example, the difference in content between the plurality of reception buffer memories is too large. In this case, the time lag between the buffer memories at the time of output (that is, time lag between media) becomes large even though the plurality of reception buffer memories must be synchronized.
[0009]
This conventional defect will be described more specifically. For example, multimedia data such as moving images and audio have properties that are essentially different from numerical data and text data that have been processed by computers. That is, multimedia data is
First, multimedia data is not just a sequence of bytes, it has a time attribute either explicitly or implicitly,
Second, the amount of data is inherently huge and redundant, and even if the hardware processing capability is improved, it is necessary to compress the data to handle it efficiently.
Third, interactive processing is required, and performance such as response and delay as well as throughput is important.
It has such properties.
[0010]
Therefore, in order to handle these in a distributed environment, it is necessary to introduce a new method for inter-media synchronization, communication, processing, resource management, and the like.
[0011]
Therefore, the present invention has been made in view of the above-described circumstances, and provides a communication system, a receiving apparatus, and a method in which a time delay from input to output is small and a time lag between media at the output is small. It is intended to do.
[0012]
[Means for Solving the Problems]
The present invention has been proposed in order to achieve the above-described object, in which multimedia data including a moving image signal is packetized and transmitted from the transmission side to the reception side, and the time taken in by the transmission side and the time reproduced by the reception side The transmission side is a real-time communication system in which the difference is within a predetermined time, and the transmission side selects the image quality for the input video signal or changes the number of dropped frames, and through this variable means Transmitting means for transmitting the packet of the moving image signal obtained to the receiving side, control means for controlling the variable means, and control signal input means for inputting a control signal from the receiving side to the control means. The receiving side captures the moving image signal transmitted from the transmitting side; and buffer means for buffering the captured moving image signal by writing it into a memory; The difference between the reproduction means for reproducing the buffered video signal and the video signal capture time and the reproduction time based on the time delay from input to output obtained from the difference between the read address and write address of the buffer means The difference between the first detection means for detecting that the time is within the first time as the upper limit and the time delay from the input to the output in the buffer means to the output of the video signal is the lower limit. The second detection means for detecting that the time is within the second time, and the difference between the video signal capture time and the playback time exceeds the first time and / or the second time Is detected, the difference between the signal capture time and the playback time based on the time delay from the input to the output in the buffer means is the second time. Those characterized by comprising a control signal transmitting means for sending a control signal for controlling the number of transmission frames in the image quality or the unit time relative to the transmission side in order to make a between the time.
[0013]
Further, the receiving side of the communication system of the present invention is provided with third detecting means for detecting that the received signal is a signal excluding the moving image signal, and the receiving side also receives the signal excluding the moving image signal, and When the third detection means detects that the received signal is a signal excluding the moving image signal, the signal excluding the moving image signal is processed as it is.
[0014]
Further, the receiving side is provided with a fourth detecting means for detecting that the predetermined portion of the moving image signal is detected. On the receiving side, when the predetermined portion of the moving image signal is detected by the fourth detecting means, Only a predetermined part is processed as it is, and the other part is discarded.
[0015]
[Action]
According to the communication system of the present invention, when the receiving side detects that the difference between the signal capture time and the playback time exceeds the first time and / or falls below the second time, A control signal for controlling the image quality or the number of frames to be transmitted within a unit time for the transmission side in order to make the difference between the signal capture time and the reproduction time between the first time and the second time. To send. Upon receiving this, the transmission side performs control for selecting the image quality of the moving image or changing the number of dropped frames for the moving image signal to be transmitted.
[0016]
That is, according to the communication system of the present invention, if the difference between the signal capture time and the reproduction time exceeds the upper limit of the first time on the receiving side, there is a time delay from input to output in the buffer means. Therefore, when the difference between the signal capture time and the playback time exceeds the first time on the receiving side, the image quality of the moving image to be sent on the transmitting side is reduced or frame dropping is performed. The time delay from the input to the output of the buffer means on the receiving side is recovered to an appropriate value.
[0017]
Furthermore, according to the communication system of the present invention, if the difference between the signal capture time and the playback time is less than the second time on the receiving side, the video may be interrupted. When the difference between the signal capture time and the playback time is less than the second time, receive by increasing the image quality of the video to be sent on the transmission side or eliminating (or reducing) the number of dropped frames. The video is prevented from being interrupted on the side.
[0018]
Further, according to the communication system of the present invention, the third detecting means is provided on the receiving side, and when the third detecting means detects that the received signal is a signal excluding the moving image signal, the processing is performed as it is. When the received signal is, for example, text data, program data, numerical data, or other binary data, the contents of these data are prevented from changing.
[0019]
Further, according to the communication system of the present invention, the receiving side is further provided with fourth detecting means, and when the predetermined portion of the moving image signal of the received signal is detected by the fourth detecting means, the predetermined portion is excluded. By discarding the other part, the time delay from the input to the output of the buffer means is restored to an appropriate value, and the predetermined part is processed as it is, and the signal of the predetermined part is not discarded. Like that.
[0020]
【Example】
Hereinafter, embodiments of a communication system, a receiving apparatus, and a method according to the present invention will be described in detail with reference to the drawings.
[0021]
FIG. 1 shows the configuration of a communication system according to an embodiment of the present invention.
As shown in FIG. 1, the communication system of the present embodiment has at least the reception side so that the difference between the time for capturing the moving image signal on the transmission side 90 and the time for reproduction on the reception side 91 is within a predetermined time. For example, it is a real-time communication system that controls the difference between the write time and the read time for the buffer memory within a predetermined time range, and the transmission side 90 has an A / D conversion circuit 66 as a capturing means for capturing a moving image signal. And a frame buffer 68, a frame capture clock generation circuit 70 as a variable means for selecting the image quality of a moving image or changing the number of dropped frames in the frame buffer 68, and capture as control means for controlling the frame capture clock generation circuit 70. A control signal from the receiving side 91 is input to the cycle designating circuit 71 and the capture cycle designating circuit 71. It is made and a network receiving section 72 as a control signal input means to be.
[0022]
In addition, the receiving side 91 of the communication system of the present embodiment includes a network receiving unit 11 serving as a capturing unit that captures a moving image signal transmitted from the transmitting side 90, a separation circuit 12 serving as a reproducing unit that reproduces the moving image signal, and an expansion D. / A conversion circuit 19 and first detection means for detecting that the difference (measurement value V described later) between the moving image signal capture time and the reproduction time is within a first time of an upper limit (described later Vmax). And measuring the capacity of the buffer memory as a second detection means for detecting that the difference (measurement value V) between the video signal capture time and the reproduction time is within a second time of a lower limit (Vmin described later). There is a difference between the circuit 20, the video data buffer memory 14 which is a buffer means for buffering the separated video data (moving image data), and the time of signal capture and playback. When it is detected that the first time has been exceeded (V> Vmax) or less than the second time (V <Vmin), the difference between the signal capture time and the reproduction time is determined as the first time. The calculation judgment as a control signal transmission means for sending a control signal for selecting the image quality or controlling the number of transmission frames within the unit time to the transmission side 90 so as to be between the second time and the second time. A circuit 81 and a network transmission unit 73 are provided.
[0023]
That is, in the communication system according to the present embodiment, when the transmission side 90 receives the control signal from the reception side 91, the moving image to be sent to the reception side 91 by changing the image quality selection or the number of dropped frames in the frame buffer 68. The amount of data is controlled.
[0024]
In the communication system according to the present embodiment, audio data is handled together with moving image data.
[0025]
In addition, the communication system according to the embodiment of the present invention can also receive signals excluding audio and video signals. Therefore, the transmission side 90 is provided with a data processing circuit 94 for processing signals excluding audio and video signals. At the same time, the receiving side 91 is further provided with a detection circuit 25 as third detection means for detecting that the received signal is a signal excluding audio and video signals. Examples of signals excluding the audio and moving image signals include text data, program data, numerical data, and other binary data. When the receiving circuit 91 detects that the received signal is a signal excluding a moving image signal in the detection circuit 25, only the text data and other parts are separated by the separation circuit 12 in accordance with the detection output from the detection circuit 25. The data processing circuit 26 processes the separated text data and the like as they are.
[0026]
Further, the detection circuit 25 on the reception side 91 of the communication system according to the embodiment of the present invention also operates as a fourth detection unit that detects, for example, an important part of video or audio as a predetermined part from the received signal. The detection output from the detection circuit 25 as the detection means 4 is sent to the arithmetic determination circuit 81. In the arithmetic determination circuit 81, the audio data buffer memory 13 and the video data buffer memory 14 are subjected to read control so that only the predetermined portion is processed as it is and the other portions are discarded.
[0027]
Here, first, prior to specific description of the communication system of the embodiment of the present invention shown in FIGS. 1 and 9 to 12, information corresponding to multimedia data of the information processing communication system to which the communication system of the present invention is applied. Basic functions of processing device, model of information processing device, so-called application programming interface (API), positioning of information processing device corresponding to multimedia in information processing communication system, evaluation of information processing Will be described in the following items.
[0028]
1. Functions of information processing device for multimedia in information processing communication system
The goal realized by this information processing device is
(1) Although there are various restrictions, it must be built on a standard personal computer or workstation to maintain compatibility with existing systems.
(2) Audio and video communication and special processing are left to the information processing device, and the client program only performs its control.
(3) The ability to deal flexibly according to the attributes of the media data and the purpose of the client program,
(4) Capability to respond to changes in the load of resources such as processors and networks
(5) The model is simple,
Etc.
[0029]
Due to these requirements, the information processing apparatus needs to have the functions described below.
[0030]
1.1 Media type
As media data handled by the information processing apparatus, there are basically audio and moving images. These are assigned temporal attributes such as the amount of data per unit time and generation time, and are used for processing in the information processing apparatus. For example, in the case of audio data with a data width of 8 bits and a sampling frequency of 8 kHz, the attributes of unit time is 1/8000 (sec) and the data amount per unit time is 1 byte.
[0031]
1.2 Information processing device and media device
The information processing apparatus outputs data from a plurality of input devices to the output device while maintaining temporal synchronization.
[0032]
As an input device,
(1) Hardware devices such as audio interface and video input interface,
(2) Multimedia data files such as sound files, movie files and movie files,
(3) Multicast address,
(4) Client process
And so on.
[0033]
As an output device,
(1) Devices such as audio interfaces and windows,
(2) multimedia files,
(3) Multicast address,
(4) Client process,
And so on.
[0034]
There is only one information processing apparatus in a host, and the device that it directly handles must be on that host. When the input device and the output device need to be on different hosts, the client accesses each information processing apparatus on each host and connects the information processing apparatuses.
[0035]
1.3 Media data transfer and synchronization
The following can be considered as criteria for evaluating the quality of an object provided to a user as a multimedia system.
For example,
(1) Tolerance limit of transfer delay,
(2) Tolerance limit for synchronization between media,
(3) throughput,
(4) Data loss is allowed and not allowed
It is.
[0036]
In order to obtain satisfactory quality on a given transfer path, various parameters at the time of transfer such as data amount, compression method, protocol and packet size are controlled. The information processing apparatus performs synchronization between media in accordance with the quality evaluation standard.
[0037]
1.4 Network protocol
The multimedia data network protocol used by the information processing apparatus needs to be able to dynamically control the flow and the like in consideration of quality evaluation criteria. 100Mbit / sec token passing fiber using so-called Ethernet based on IEEE 802.3 standard of current network environment and optical fiber proposed in SC13 of International Organization for Standardization (ISO) Since network devices such as a distributed data interface (FDDI) share and share resources individually in a distributed environment, services that secure network resources in advance are difficult. However, considering the compatibility with the current network environment, it is necessary to use the Internet protocol (IP), and this time, as a network protocol, the so-called transmission control protocol (TCP) and connection A so-called user datagram protocol (UDP), which is a protocol of a lesser form, was used.
[0038]
1.5 Data compression / decompression
The information processing apparatus has a function of compressing / decompressing audio data and moving image data by software or hardware. As a speech compression method, the recommendation of G. ITU standard for speech coding standards of the International Telegraph and Telephone Consultative Committee (CCITT). 711, G. 721, G. 722, G.G. Supports standards such as 728. In addition, as an image compression system, the international standardization working group of the color still image coding system of the International Telegraph and Telephone Consultative Committee (CCITT), so-called JPEG (Joint Picture Expert Group), and a video coding recommendation for a video conference system. H. 261, there is a system such as MPEG (Moving Picture Expert Group) of the international standardization working group of the color moving picture coding system. Since each compression method has its characteristics, it is necessary to use it properly depending on the application.
[0039]
1.6 Resource control
The information processing apparatus has a function of processing input / output requests from a plurality of client programs. For example, when there is a voice input request from a plurality of clients even though there is only one voice input device, the following processing method can be considered.
(1) Copy and distribute to all request sources.
(2) Prioritize first-come-first-served requests and reject later-arrival requests.
(3) Switch clients sequentially. This function is used by a program such as a multimedia manager corresponding to the window manager in the window system.
[0040]
1.7 Physical device control
In order to handle multimedia data such as audio and moving images, it is necessary to connect a so-called audio / visual device (AV device) such as a video camera or a video deck. The information processing apparatus supports a predetermined protocol for AV device control for these controls.
[0041]
2. Information processing device model and API
2.1 Model of information processing equipment to which AV equipment is connected
As illustrated in FIG. 2, the information processing apparatus generates one execution control unit (AVobj) for each client. When the client wants to input / output multimedia data, it makes a request to the information processing apparatus in the following procedure. First, a virtual media device (AVdev) is opened in the execution control unit (AVobj). Since the virtual media device (AVdev) is not a physical device, exclusive control or opening from multiple devices can be realized.
[0042]
In addition, as shown in FIG. 3, the execution control unit (AVobj) that opened the virtual media device (AVdev) for input and the execution control unit (AVobj) that opened the media device (AVdev) for output. By connecting, a transfer path for multimedia data is secured. Media synchronization is guaranteed between devices opened in the same execution control unit (AVobj).
[0043]
Further, as shown in FIG. 4, an execution control unit (AVobj) is generated and connected in information processing apparatuses on different hosts connected by a network, and multimedia data is transferred at a workstation in a distributed environment.
[0044]
A telephone can be realized by using a sound device as a device (AVdev) opened by the execution control unit (AVobj) on the sending and receiving sides. Furthermore, videophone can be realized by opening a video device. When a movie file is specified as an input device and a sound device and a video device are opened as an output device, a movie player is obtained. In this way, various multimedia applications can be easily created by rearranging input / output devices.
[0045]
2.2 API of information processing equipment
For example, the following library is prepared in the library of the information processing apparatus.
[0046]
int avs _new (char * hostname);
This generates an execution control unit (AVobj) in the information processing apparatus activated on the host name (hostname). If an error occurs, null is returned. If the process ends normally, the ID (identification information) of the execution control unit (AVobj) is returned. All instructions for the execution control unit (AVobj) are executed using the ID of this execution control unit (AVobj).
[0047]
int avs _open (int net, char * devname, int mode);
This opens the device (AVdev). The arguments are the execution control unit (AVobj) ID, device name, and mode.
[0048]
int avs _connect (int net1, int net2);
This is a point-to-point connection between two execution control units (AVobj). As a result, when one of the connected execution control units (AVobj) enters the transfer state by the function (avs_transfer) described below, the other execution control unit (AVobj) can receive the data and automatically receives it. Process the data. Since a plurality of reception execution control units (AVobj) can be connected to one transmission execution control unit (AVobj), one-to-many data transfer can be processed.
[0049]
int avs _transfer (int net, int dev, int length);
This controls the transmission of execution control units (AVobj). If 0 is specified as the device ID, the execution control unit (AVobj) is valid for all open devices. If a positive number is designated for the length (length), data transfer is performed for that length (unit: msec). If zero is specified here, transfer is performed until the next function (av_transfer) is given. If a negative number is specified, stop immediately.
[0050]
int avs _destroy (int net);
This releases the execution control unit (AVobj) generated by the function (av_new).
[0051]
int avs _interval (int net, int dev, int interval);
This sets the transfer interval. The unit is msec. If zero is set as the device ID, it is applied to all devices opened in the execution control unit (AVobj).
[0052]
int avs _resize (int net, int dev, int width, int height);
This requires a resize to the video device. The unit of size is pixels. If zero is set as the device ID, it is applied to all video devices opened in the execution control unit (AVobj).
[0053]
int avs _nettype (int net, char * type);
This sets the type of network that connects execution control units (AVobj). Currently, the TCP and UDP are supported. This must be done before executing the function (avs_connect).
[0054]
int avs _fd (int net);
This returns the file descriptor of the control connection connection between the client and the execution control unit (AVobj).
[0055]
int avs _codec (int net, char * type, int quality);
This specifies the compression method of media data. Here, only JPEG compression / decompression is supported for image data.
[0056]
In addition, there are the following libraries for accessing media data directly to the device (AVdev).
For example,
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);
It is.
[0057]
3. Implementation of information processing equipment
The positioning of the information processing apparatus in the entire system is as shown in FIG.
3.1 Use of Thread
When threads are used, the time required for context switching is shorter than that achieved by using a plurality of processes, and an environment such as a memory can be shared among the threads, so that programming becomes easy. In realizing the information processing apparatus, there are two possible methods for assigning threads to the model.
[0058]
For example,
Assign to a thread for each function,
Assign a thread for each data stream,
There is.
The former is a method in which a thread is assigned for each function such as screen input / output, audio input / output, and network, and a pipeline is formed. The latter is a method in which a thread is assigned to processing from input to output for each media data.
[0059]
Even if a pipeline is formed for each function, there is no advantage unless it is in a multiprocessor environment, and the latter is suitable for schedule / priority control in units of streams in multiple streams. We also used a method of assigning threads to.
[0060]
3.2 TCP / IP send / receive buffers and delays
In order to realize high reliability in the TCP / IP, packet ordering, checksum, timeout, and retransfer are performed, and the overhead is large and data transfer delay becomes a problem.
[0061]
Therefore, a buffer is prepared here for transmission and reception. For example, in a workstation, the default is 8K (bytes). A delay is caused by the accumulation of data in this buffer. For example, if the screen has a resolution of 160 × 120 and a depth of 16 bits, one screen is approximately 38 Kbytes, and even if the buffers on both the transmission side and the reception side are combined, one frame is not buffered. In this case, increasing the buffer size improves the transfer efficiency. However, if image compression is applied to a size of about 4 Kbytes, which is about 1/10, about 4 frames are accumulated in both buffers. If transfer is performed at a speed of 5 frames per second, this alone is a delay of about 1 second.
[0062]
However, if the buffer is made too small, the transfer efficiency deteriorates, so there is a trade-off here. The size of the transmission / reception buffer can be changed by a function (setsockopt).
[0063]
4). Evaluation of information processing equipment
Evaluation when the information processing apparatus is mounted on a workstation is as follows.
[0064]
4.1 Transmission / reception buffer and transfer delay, efficiency
As an example of actually measuring the size, transfer delay, and efficiency of the transmission / reception buffer, moving image data was transferred between two workstations connected to the same network. Here, the workstation is connected via Ethernet, the resolution is 160 x 120, 16-bit deep uncompressed and JPEG compressed images are measured, and the size of one frame is uncompressed, approximately 38 Kbytes, JPEG compressed About 5K bytes.
[0065]
The transfer delay was measured using the function (timed (8)), and the time from image capture to transfer and display on the remote side was measured. Further, the maximum transfer frame rate is measured as the transfer efficiency. FIG. 6 shows the relationship between the transmission / reception buffer size, transfer delay, and efficiency of an uncompressed image and FIG.
[0066]
As shown in FIG. 6, when the size of one frame is large without compression, since one frame does not fit in the transmission / reception buffer, the difference in transfer delay with respect to the buffer size hardly changes. When the buffer size is 8 Kbytes, good results in both transfer delay and efficiency appear. According to FIG. 6, it can be understood that the TCP / IP transfer is most efficient in that case because the default transmission / reception buffer size is 8 Kbytes.
[0067]
In contrast, when transferring an image subjected to JPEG compression shown in FIG. 7, the maximum frame rate is small because JPEG compression / decompression is performed by software. In addition, since several frames are accumulated in the transmission / reception buffer, the delay increases as the buffer size increases. Therefore, when the image data is sufficiently smaller than the network bandwidth by performing compression such as JPEG, the transfer delay of the media data can be shortened by reducing the transmission / reception buffer size so that the transfer efficiency does not decrease.
[0068]
4.2 Screen transfer speed
In the same environment, the screen size, frame rate, and transfer delay are measured. First, when Ethernet was used as the network, the results in the following table were obtained. Table 1 shows the maximum transfer rate and delay performance of a 16-bit deep uncompressed image, and Table 2 shows a JPEG compressed image.
[0069]
[Table 1]
Figure 0003715332
[0070]
[Table 2]
Figure 0003715332
[0071]
Next, Table 3 shows the performance when 1B (64K) of an integrated service digitial network (ISDN) is used as the network. When ISDM is used, if the image data is not compressed, the frame rate becomes 0.2 (fps) even at the minimum screen size (80 × 60), which is impractical, and is therefore uncompressed with a depth of 16 bits. Evaluation of image transfer performance was omitted.
[0072]
[Table 3]
Figure 0003715332
[0073]
By using such an information processing apparatus, it has become possible to easily create a multimedia application without being conscious of capturing and compressing / decompressing images and sounds, and network programming.
[0074]
4.4 Realization of synchronization between media
In this information processing apparatus, media data is synchronized and transferred in a single stream. Further, since TCP / IP is used as the network protocol, the order of the packets is guaranteed. Furthermore, if a plurality of media data can be fetched simultaneously and interleaved to ensure synchronization at the time of data transmission, it can be assumed that a plurality of media data are synchronized even on the data receiving side. In fact, the synchronization of audio and video media data transferred over a single network using this method has been satisfactory.
[0075]
4.5 Relation to delay
In the above implementation, standard TCP / IP is used as the network protocol in the UNIX of the operating system. Here, as shown in FIG. 8, in an environment in which media data can be sent directly, the information processing apparatus can control the buffers on the transmission side and the reception side, and fine flow rate control can be performed.
[0076]
Hereinafter, referring back to FIG. 1, a communication system according to an embodiment of the present invention that specifically realizes the above will be described.
[0077]
In FIG. 1, audio signals and video signals (moving image signals) from the microphone 1 and the video camera 2 are sent to the corresponding A / D conversion circuits 65 and 66, respectively, where they are A / D converted. The audio data from the A / D conversion circuit 65 is sent to the audio data compression circuit 67. As described above, for example, G. 711, G. 721, G. 722, G.G. Compression using any one of 728 and the like is performed. The video data from the A / D conversion circuit 66 is sent to the video data compression circuit 69 via a frame buffer 68 described later. As described above, for example, JPEG, H.P. Compression using any one of H.261, MPEG and the like is performed.
[0078]
The compressed audio data and video data from the compression circuits 67 and 69 are multiplexed by the multiplexer 5 and then sent to the network transmission unit 7 via the data buffer memory (for example, FIFO memory) 6, and the network transmission unit 7 to the network receiving unit 11 on the receiving side 91 via the network 8 such as Ethernet.
[0079]
In the communication system of FIG. 1, for example, text data, program data, numerical data, other binary data, and the like are supplied to the input terminal 89 as signals excluding the voice and moving image. These data are subjected to processing such as addition of an error correction code in the data processing circuit 94 and then output from the network transmission unit 7 via the multiplexer 5.
[0080]
The data received by the network receiving unit 11 on the receiving side 91 is separated into the compressed audio data and the video data by the separation circuit 12, and the corresponding audio data buffer memory (FIFO memory) 13 and the video data buffer memory, respectively. (FIFO memory) 14 is sent.
[0081]
The buffer memory capacity measurement circuit 20 measures the internal capacity of the memory 14 from the write address and the read address of the video data buffer memory 14, and sends the measurement result (measured value V described later) to the arithmetic determination circuit 81. send. When it is detected from the result of measuring the internal capacity of the memory 14 from the measurement circuit 20 that the arithmetic determination circuit 81 detects that the internal capacity of the video data buffer memory 14 exceeds the upper limit (Vmax described later). Is sent to the transmission side 91 via the network transmission unit 73 as a control signal.
[0082]
Further, in the calculation determination circuit 81, the internal capacity of the video data buffer memory 14 is less than the lower limit (Vmin, which will be described later) from the internal capacity measurement result (measured value V, which will be described later) of the memory 14 from the measurement circuit 20. If detected, the video may be interrupted, and a signal indicating that (below the lower limit) is sent to the transmission side 90 via the network transmission unit 73 as a control signal.
[0083]
Here, the buffer memory internal capacity measuring circuit 20 and the operation determining circuit 81 measure the internal capacity of the video data buffer memory 14 and generate the control signal according to the flowchart shown in FIG. .
[0084]
In FIG. 9, in step S11, a measured value V (unit: playback time) of the internal capacity of the video data buffer memory 14 is obtained. The measured value V is obtained by the following formula.
V = (buffer read address) − (buffer write address)
[0085]
In the next step S2, V> Vmax is determined from the measured value V and the upper limit value Vmax of the appropriate range of the internal capacity of the video data buffer memory 14, and if it is determined NO, the process proceeds to step S32, and conversely. If it is determined as YES, the process proceeds to step S35.
[0086]
In step S35, a signal indicating that V> Vmax is sent as a control signal to the transmission side 90, and then the process returns to step S11.
[0087]
If it is determined NO in step S12 and the process proceeds to step S32, V <Vmin is determined in step S32 from the measured value V and the lower limit value Vmin of the appropriate range of the internal capacity of the video data buffer memory 14. To do. If it is determined as NO in step S32, the process returns to step S11. If YES is determined, the process proceeds to step S36.
[0088]
In step S36, a signal indicating that V <Vmin is transmitted to the transmission side 90 as a control signal, and the process returns to step S11.
[0089]
If the appropriate value of the appropriate range of the internal capacity of the video data buffer memory 14 is Vsta, the relationship between the upper limit value Vmax, the appropriate value Vsta, and the lower limit value Vmin is Vmin <Vsta <Vmax.
[0090]
The control signal from the receiving side 91 is received by the network receiving unit 72 of the transmitting side 90 and is sent to the capture cycle specifying circuit 71. The capture cycle designation circuit 71 controls the frame capture clock generation circuit 70 based on the control signal. When the frame capture clock generation circuit 70 receives the signal from the capture cycle designating circuit 71, the frame capture clock generation circuit 70 generates a frame capture clock that varies the number of dropped frames in the frame buffer 68. Here, for example, by dropping frames (or increasing the number of dropped frames), the amount of video data to be transmitted can be reduced, and video data to be transmitted without dropping frames or by reducing the number of dropped frames The amount of can be increased.
[0091]
That is, the transmission side 90 performs the processing of the flowchart as shown in FIG. 10 according to the control signal from the reception side 91.
[0092]
In FIG. 10, in step S41, a control signal from the receiving side 91 is received.
[0093]
In the next step S42, it is determined whether or not the received control signal is a signal representing V> Vmax. If it is determined that the signal is a signal indicating V> Vmax, the process proceeds to step S43. Then, the process proceeds to step S44.
[0094]
In step S43, the capture cycle designation circuit 71 controls the frame capture clock generation circuit 70 so that the frame capture clock cycle in the frame buffer 68 is increased by P. After step S43, the process returns to step S41. Note that the value of P is, for example, 1%.
[0095]
On the other hand, in step S44 when it is determined NO in step S42, it is determined whether or not the received control signal is a signal representing V <Vmin, and when it is determined that the signal represents V <Vmin. Advances to step S45, and returns to step S41 if determined NO.
[0096]
In step S44, the capture cycle designation circuit 71 controls the frame capture clock generation circuit 70 to shorten the frame capture clock cycle in the frame buffer 68 by P. After step S44, the process returns to step S41. Note that the value of P is, for example, 1%.
[0097]
As a result, in the communication system of the present embodiment, the content of the video data buffer memory 14 on the receiving side 91 increases, and the time delay and time shift from input to output in the video data buffer memory 14 are appropriate values. Even if it exceeds the time limit, the time feed and time lag can be recovered to appropriate values, and even if the content of the video data buffer memory 14 is reduced and the video may be interrupted, The interruption of the video can be prevented.
[0098]
On the receiving side 91, the audio data and the video data read from the audio data buffer memory 13 and the video data buffer memory 14 are respectively subjected to corresponding expansion processing and D / A conversion expansion D / A conversion circuit 18, 19 is sent. In the decompression D / A conversion circuits 18 and 19, decompression processing corresponding to each compression processing in the A / D conversion compression circuits 3 and 4 is respectively performed, and then D / A conversion is performed and output.
[0099]
The audio signal from the expansion D / A conversion circuit 18 is sent to the speaker 27, and the video signal from the expansion D / A conversion circuit 19 is sent to the monitor display 24.
[0100]
Further, in the configuration of FIG. 1, by changing the number of dropped frames on the transmission side 90, the time delay from the input to the output and the time lag in the video data buffer memory 14 can be recovered to appropriate values. However, the same thing can be done by selecting the image quality of the image sent from the transmission side 90 to the reception side 91, for example.
[0101]
That is, when this image quality is selected, for example, the image data is secured by reducing the amount of data to be transmitted by thinning out each pixel data captured in the frame buffer 68, or conversely not performing the thinning. In this case, on the receiving side 91, when the pixel data is thinned out, for example, processing such as interpolation is performed to restore the image.
[0102]
In the communication system of FIG. 1, the received signal supplied to the separation circuit 12 on the reception side 91 is also sent to the detection circuit 25 via the separation circuit 12. The detection circuit 25 detects signals such as text data, program data, numerical data, and other binary data as signals excluding audio and moving image signals from the received signal.
[0103]
When the detection circuit 25 detects data excluding the audio and moving image signals, the detection circuit 25 outputs a detection signal to the separation circuit 12. When the detection signal from the detection circuit 25 is supplied, the separation circuit 12 separates only the data corresponding to the detection signal from the reception signal and sends it to the data processing circuit 26.
[0104]
The data processing circuit 26 performs a predetermined process on the supplied data and then outputs it from the output terminal. Examples of the predetermined process include an error correction process.
[0105]
As described above, the receiving side 91 of the present embodiment has the detection circuit 25, and the separation circuit 12 separates data excluding audio and moving images from the reception signal according to the detection signal from the detection circuit 25. By doing so, it is possible to perform processing according to data excluding these sounds and moving images.
[0106]
Also, the audio and video data separated by the separation circuit 12 on the receiving side 91 of this embodiment is also sent to the detection circuit 25.
[0107]
At this time, the detection circuit 25 detects a low-frequency part from the audio data in consideration of, for example, human auditory characteristics, or a particularly important audio part such as a human voice part. Is detected. For video data, for example, in consideration of human visual characteristics, a particularly visually important video portion is detected from the video data, or a particularly important portion is detected from video content. From the detection circuit 25, detection signals corresponding to the video data and the audio data are sent to the arithmetic determination circuit 81.
[0108]
When receiving the detection signal corresponding to the audio data from the detection circuit 25, the arithmetic determination circuit 81 performs control so that the audio portion corresponding to the detection signal is not discarded for the audio data buffer memory 13. That is, control is performed so that an important portion of the sound corresponding to the detection signal is sent from the audio data buffer memory 13 to the subsequent audio data expansion D / A conversion circuit 18 as it is. On the other hand, audio data other than these important portions is discarded when the internal capacity of the buffer memory 13 exceeds an appropriate value, for example, to optimize the internal capacity of the buffer memory 13.
[0109]
Also by this, the receiving side 91 of the communication system of the present embodiment can recover the time delay from the input to the output of the buffer memory 13 to an appropriate value, and the important part of the voice is not discarded. In addition, the sound output from the later speaker 27 can maintain high quality.
[0110]
On the other hand, when receiving the detection signal corresponding to the video data from the detection circuit 25, the arithmetic determination circuit 81 performs control so that the video portion corresponding to the detection signal is not discarded for the video data buffer memory 14. That is, control is performed so that an important part of the video corresponding to the detection signal is sent from the video data buffer memory 14 to the subsequent video data decompression D / A conversion circuit 19 as it is. Further, the video data other than these important portions is discarded when the internal capacity of the buffer memory 14 exceeds an appropriate value, so that the internal capacity of the buffer memory 14 is optimized.
[0111]
This also allows the receiving side 91 of the communication system of the present embodiment to recover the time delay from the input to the output of the buffer memory 14 to an appropriate value, and important parts of the video are not discarded. In addition, the video displayed on the subsequent monitor display 24 can maintain high quality.
[0112]
Further, in the communication system of the present invention, as a specific example of selecting the image quality of the image to be sent from the transmission side 90 to the reception side 91, for example, as shown in FIG. You can also In FIG. 11, the same components as those in FIG. 1 described above are denoted by the same reference numerals, and detailed description thereof is omitted.
[0113]
That is, in FIG. 11, in the transmission unit 90, the control signal from the reception unit 91 is received by the compression parameter designating circuit 85 that designates the compression parameter. The compression parameter designating circuit 85 varies the compression rate in the video data compression circuit 69 in accordance with the control signal. For example, the amount of video data sent to the receiving side 91 can be reduced by increasing the compression rate, and the amount of video data sent to the receiving side 91 can be increased by reducing the compression rate. In other words, increasing the compression rate is reducing the image quality, and decreasing the compression rate is increasing the image quality. When the compression rate of the video data is varied as shown in FIG. 11, it is necessary to send the compression parameter to the reception side 91, and the decompression D / A conversion circuit 19 of the reception side 91 is based on this compression parameter. Thus, the compressed video data is expanded.
[0114]
In the configuration of FIG. 11, if the variable compression parameter is similarly sent to the audio data compression circuit 67 that compresses the audio data, the internal capacity of the audio data buffer memory 13 on the receiving side 91 can be controlled. It becomes possible.
[0115]
Next, the configuration of another embodiment of the present invention is shown in FIG.
[0116]
In FIG. 12, a monitor display 40, a microphone 41, and a video camera 42 are connected to a transmission side host computer, and are connected to a reception side host computer via a network 43.
[0117]
In the transmission-side host computer, the CPU 30 controls each unit using program data stored in the main memory 31, and also controls variable means for changing the image quality selection or number of dropped frames of the moving image and the variable means. It has a function as a means. That is, the CPU 30 also has the same functions as the capture cycle designation circuit 71, the frame capture clock generation circuit 70, and the data processing circuit 94 in FIG.
[0118]
The video signal from the video camera 42 is A / D converted by the A / D conversion compression processing unit 38 and subjected to the above-described compression processing for video data, and is temporarily stored in the buffer memory 34. Further, the buffer memory 34 also operates as a capturing means for capturing the moving image signal. In the embodiment of FIG. 1, an example in which video data before compression is taken into the frame buffer 68 serving as the taking-in means is shown. However, in the example of the buffer memory 34 shown in FIG. To capture.
[0119]
On the other hand, the audio signal from the microphone 41 is A / D converted by the A / D conversion compression processing unit 37 and subjected to the compression processing for the audio data as described above, and is temporarily stored in the buffer memory 33.
[0120]
The frame memory 32 stores, for example, video frame data formed by the CPU 30 and video frame data based on video shot by the video camera 42. The video frame data from the frame memory 32 is sent to the monitor display 40 via the display interface 36 and displayed.
[0121]
Further, the compressed audio data and video data stored in the buffer memories 33 and 34 are multiplexed by, for example, the CPU 30 and then temporarily stored in the buffer memory 35 and then read out. Data read from the buffer memory 35 is sent to the receiving host computer via the network 43 connected to the network interface 39. The network interface 39 has the same functions as the network transmission unit 7 and the network reception unit 72 shown in FIG.
[0122]
Next, a monitor display 61 and a speaker 62 are connected to the reception side host computer, and further connected to the transmission side host computer via the network 43.
[0123]
In the reception-side host computer, the CPU 52 controls each unit using program data stored in the main memory 53 and performs various calculations. The CPU 52 also has functions as the buffer memory internal capacity measurement circuit 20, the operation determination circuit 81, the detection circuit 25, and the data processing circuit 26 in FIG. 1.
[0124]
Data sent from the sending host computer via the network 43 is temporarily stored in the buffer memory 51 via the network interface 50 and then read. The network interface 50 has the same functions as the network receiver 11 and the network transmitter 73 shown in FIG.
[0125]
From the received data read from the buffer memory 51, for example, the CPU 52 separates the compressed audio data and video data and sends them to the corresponding buffer memories 54 and 55, respectively.
[0126]
The compressed video data sent to the buffer memory 54 is read from the buffer memory 54 and sent to the data decompression processing unit 56 where decompression processing corresponding to the compression at the transmission side host computer is performed. The decompressed video data is stored in the frame memory to form a frame, which is sent to the monitor display 61 via the display interface 58 and displayed.
[0127]
The compressed audio data sent to the buffer memory 55 is read from the memory 55 and sent to the data decompression processing unit 59, where decompression processing corresponding to the compression at the transmission side host computer is performed. The expanded audio data is converted into an analog audio signal by the D / A conversion processing unit 60 and then sent to the speaker 62.
[0128]
As described above, according to each embodiment of the present invention, the receiving side has a measured value V that is the difference between the capture time of the moving image signal sent from the transmitting side and the playback time within the upper limit (Vmax). When it is detected that the value exceeds the lower limit (Vmiv) or falls below the lower limit (Vmiv), a control signal for controlling the image quality or the number of transmission frames within the unit time is sent to the transmission side so as to be between these upper limit and lower limit The receiving side receives this control signal and controls the image quality or the number of frames to be transmitted, thereby recovering the time delay and time lag from input to output to appropriate values, and preventing video interruptions. It is possible.
[0129]
In the communication system of the present embodiment, the data detecting circuit 25 is provided on the receiving side 91, and when the data detecting circuit 25 detects that the received signal is data excluding one of audio and video signals. Since the data processing circuit 26 performs the processing as it is, the content of the data is prevented from changing when the received signal is, for example, text data.
[0130]
Further, in the communication system of the present embodiment, when the detection circuit 25 detects a particularly important part in the audio and video from the received signal, the operation determination circuit 81 removes the other parts excluding these important parts from the audio data buffer memory. 13 and the video data buffer memory 14 are discarded so that the time delay from the input to the output of these buffer memories 13 and 14 is restored to an appropriate value, and the above particularly important parts are processed as they are. The signal of this part is prevented from being discarded.
[0131]
【The invention's effect】
As described above, in the communication system of the present invention, on the receiving side, the difference between the video signal capture time and the playback time exceeds the first time and / or falls below the second time. Is detected, the control signal for controlling the image quality or the number of frames to be transmitted within the unit time is transmitted to the transmission side between the first time and the second time, and the transmission side having received this transmits the transmission signal. Since the video quality is selected from the video signal to be controlled or the control for changing the number of dropped frames is performed, the time delay from the input to the output of the buffer means on the receiving side can be recovered to an appropriate value. Can be prevented.
[0132]
In the communication system of the present invention, the receiving side is provided with the third detecting means, and when the third detecting means detects that the received signal is a signal excluding the moving image signal, the processing is performed as it is. When the signal is, for example, text data or program data, the contents of the data can be prevented from changing.
[0133]
Further, in the communication system of the present invention, a fourth detection means is further provided on the receiving side, and when the predetermined portion of the moving image signal of the received signal is detected by the fourth detection means, the predetermined portion is excluded. By discarding this part, the time delay from the input to the output of the buffer means is restored to an appropriate value. By processing the predetermined part as it is, the signal of this predetermined part is discarded. Can be prevented.
[Brief description of the drawings]
FIG. 1 is a block circuit diagram showing a schematic configuration of a transmission side and a reception side of a communication system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a model of an information processing apparatus of an information processing communication system to which the communication system of the present invention is applied.
FIG. 3 is a diagram for explaining transfer of multimedia data;
FIG. 4 is a diagram for explaining transfer of multimedia data between hosts connected by a network.
FIG. 5 is a diagram for explaining the positioning of the information processing apparatus in the entire system.
FIG. 6 is a characteristic diagram showing the relationship between transmission / reception buffer size, transfer delay, and efficiency in the case of no compression.
FIG. 7 is a characteristic diagram showing the relationship between the JPEG compressed image transmission / reception buffer size, transfer delay, and efficiency.
FIG. 8 is a diagram for explaining a relationship between an information processing apparatus and a delay.
FIG. 9 is a diagram for explaining the processing of the content of the video data buffer memory on the receiving side of the communication system of the present embodiment and the output of a control signal indicating that the measured value exceeds the upper limit or falls below the lower limit. It is a flowchart.
FIG. 10 is a flowchart for explaining image quality selection or frame dropping control processing on the transmission side of the communication system according to the embodiment.
FIG. 11 is a block circuit diagram showing a specific configuration for performing image quality selection on the transmission side of the communication system of the present embodiment.
FIG. 12 is a block circuit diagram showing a schematic configuration of a transmission side host computer and a reception side host computer according to another embodiment of the present invention.
FIG. 13 is a block circuit diagram showing a schematic configuration of a conventional communication system including a transmission side and a reception side.
[Explanation of symbols]
1,41 ... Microphone
2, 42 ... Video camera
5 ... Multiplexer
6 ... Data buffer memory
7, 73 ... Network transmitter
8 ... Network
9, 72 ... Network receiver
12... Separation circuit
13 ... Audio data buffer memory
14 ... Video data buffer memory
20 ... Buffer memory capacity measurement circuit
18 ... Decompression D / A conversion circuit for audio data
19 ... Video data expansion D / A conversion circuit
24, 40, 61 ... monitor display
25 ... Detection circuit
26: Data processing circuit on receiving side
27, 62 ... Speaker
30 ... CPU
31, 53 ... Main memory
32, 57 ... frame memory
33, 34, 35, 51, 54, 55 ... buffer memory
36,58 ... Display interface
37 ... Audio data A / D conversion compression unit
38 ... Moving image data A / D conversion compression unit
56 ... Data decompression unit for audio data
59 ... Data expansion unit for video data
60: Audio data D / A converter
65, 66... A / D conversion circuit
67. Audio data compression circuit
68 ... Frame buffer
69 ... Video data compression circuit
70... Frame capture clock generation circuit
71 ... Capture cycle designation circuit
81... Operation judgment circuit
90 ... Sending side
91 ... Receiving side
94. Data processing circuit on transmission side

Claims (5)

動画信号を含むマルチメディアデータをパケット化して送信側から受信側に送信し、送信側で取り込む時間と受信側で再生する時間との差が所定時間以内である実時間の通信システムであって、
送信側は、入力された動画信号に対しての画質を選択又はコマ落とし数を可変する可変手段と、この可変手段を介して得られた動画信号のパケットを受信側に送信する送信手段と、上記可変手段を制御する制御手段と、上記制御手段への受信側からの制御信号が入力される制御信号入力手段とを備え、
受信側は、上記送信側から送信された動画信号を取り込む取り込み手段と、上記取り込まれた動画信号をメモリに書き込んで読み出すことによりバッファリングするバッファ手段と、このバッファリングされた動画信号を再生する再生手段と、上記バッファ手段の読出アドレスと書き込みアドレスとの差から求められる入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が上限としての第1の時間内であることを検出する第1の検出手段と、上記バッファ手段での入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が下限としての第2の時間内であることを検出する第2の検出手段と、動画信号の取り込み時間と再生する時間との差が上記第1の時間を越えたこと及び/又は上記第2の時間を下回ったことを検出したときに、上記バッファ手段での入力から出力までの時間遅れに基づく上記信号の取り込み時間と再生する時間との差を上記第1の時間と第2の時間との間となすために上記送信側に対して画質又は単位時間内の送信コマ数を制御するための制御信号を送る制御信号送信手段とを備えてなる
ことを特徴とする通信システム。
A real-time communication system in which multimedia data including a video signal is packetized and transmitted from a transmission side to a reception side, and a difference between a time taken on the transmission side and a reproduction time on the reception side is within a predetermined time,
The transmission side is a variable means for selecting the image quality for the input video signal or changing the number of dropped frames, and a transmission means for transmitting the video signal packet obtained through the variable means to the reception side, A control means for controlling the variable means; and a control signal input means for receiving a control signal from the receiving side to the control means,
The receiving side captures the moving image signal transmitted from the transmitting side, buffer means for buffering the captured moving image signal by writing it into the memory and reading it, and reproduces the buffered moving image signal Based on the time delay from the input to the output obtained from the difference between the read address and the write address of the reproduction means and the buffer means , the difference between the video signal capture time and the reproduction time is within the first time as the upper limit. The difference between the first detection means for detecting the presence and the time taken from the input to output of the buffer means to the output based on the time delay from the input to the output is within the second time as the lower limit. The difference between the second detection means for detecting the moving image signal capture time and the reproduction time exceeds the first time and / or When it is detected that the time is less than the second time, the difference between the signal acquisition time and the reproduction time based on the time delay from the input to the output in the buffer means is the second time. And a control signal transmitting means for sending a control signal for controlling the image quality or the number of frames to be transmitted within a unit time to the transmitting side so as to be within a predetermined time.
上記制御信号送信手段は、動画信号の取り込み時間と再生する時間との差が上記第1の時間を越えたことを検出したときに、上記送信側に対して送信データ量を減らすように画質又は単位時間内の送信コマ数を制御するための制御信号を送り、動画信号の取り込み時間と再生する時間との差が上記第2の時間を下回ったことを検出したときに、上記送信側に対して送信データ量を増やすように画質又は単位時間内の送信コマ数を制御するための制御信号を送ることを特徴とする請求項1記載の通信システム。 When the control signal transmission means detects that the difference between the video signal capture time and the reproduction time exceeds the first time, the control signal transmission means reduces the transmission data amount to the transmission side. When a control signal for controlling the number of frames to be transmitted within a unit time is sent and it is detected that the difference between the video signal capture time and the playback time is less than the second time, 2. The communication system according to claim 1, wherein a control signal for controlling the image quality or the number of transmission frames within a unit time is transmitted so as to increase a transmission data amount . 受信側には、上記送信側から送信された動画信号が入力され、この動画信号の重要な部分であることを検出する第4の検出手段を設け、
受信側では、上記第4の検出手段によって上記動画信号の重要な部分を検出したときには、当該重要な部分以外の他の部分を上記バッファ手段での入力から出力までの時間遅れに応じて廃棄することを特徴とする請求項1又は2記載の通信システム。
On the receiving side, the moving image signal transmitted from the transmitting side is input, and fourth detecting means for detecting that the moving image signal is an important part is provided.
On the receiving side, when an important part of the moving image signal is detected by the fourth detecting means, other parts other than the important part are discarded according to a time delay from input to output in the buffer means. The communication system according to claim 1 or 2.
送信側より送信された動画信号を含むパケット化されたマルチメディアデータを受信する受信装置において、
上記送信側から送信されたパケット化された動画信号を取り込む取り込み手段と、
上記取り込まれた動画信号をメモリに書き込んで読み出すことによりバッファリングするバッファ手段と、
上記バッファリングされた動画信号を再生する再生手段と、
上記バッファ手段の読出アドレスと書き込みアドレスとの差から求められる入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が上限としての第1の時間内であることを検出する第1の検出手段と、
上記バッファ手段での入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が下限としての第2の時間内であることを検出する第2の検出手段と、
動画信号の取り込み時間と再生する時間との差が上記第1の時間を越えたこと及び/又は上記第2の時間を下回ったことを検出したときに、上記バッファ手段での入力から出力までの時間遅れに基づく上記信号の取り込み時間と再生する時間との差を上記第1の時間と第2の時間との間となすために上記送信側に対して画質又は単位時間内の送信コマ数を制御するための制御信号を送る制御信号送信手段と
を有することを特徴とする受信装置。
In a receiving apparatus that receives packetized multimedia data including a moving image signal transmitted from a transmitting side,
Capture means for capturing the packetized video signal transmitted from the transmission side;
Buffer means for buffering the captured video signal by writing to and reading from the memory ;
Playback means for playing back the buffered video signal;
Based on the time delay from input to output obtained from the difference between the read address and write address of the buffer means , it is detected that the difference between the video signal capture time and the playback time is within the first time as the upper limit. First detecting means for
Second detection means for detecting that the difference between the video signal capture time and the playback time is within the second time as a lower limit based on a time delay from input to output in the buffer means;
When it is detected that the difference between the capture time of the video signal and the playback time exceeds the first time and / or falls below the second time, the input from the buffer means to the output is detected. In order to set the difference between the signal capture time based on the time delay and the reproduction time to be between the first time and the second time, the image quality or the number of transmission frames within the unit time is set to the transmission side. And a control signal transmitting means for transmitting a control signal for control.
送信側より送信された動画信号を含むパケット化されたマルチメディアデータを受信する受信方法において、
上記送信側から送信されたパケット化された動画信号を取り込む取り込み工程と、
上記取り込まれた動画信号をバッファ手段のメモリに書き込んで読み出すことによりバッファリングする工程と、
上記バッファリングされた動画信号を再生する再生工程と、
上記バッファ手段の読出アドレスと書き込みアドレスとの差から求められる入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が上限としての第1の時間内であることを検出する第1の検出工程と、
上記バッファ手段での入力から出力までの時間遅れに基づき動画信号の取り込み時間と再生する時間との差が下限としての第2の時間内であることを検出する第2の検出工程と、
動画信号の取り込み時間と再生する時間との差が上記第1の時間を越えたこと及び/又は上記第2の時間を下回ったことを検出したときに、上記バッファ手段での入力から出力までの時間遅れに基づく上記信号の取り込み時間と再生する時間との差を上記第1の時間と第2の時間との間となすために上記送信側に対して画質又は単位時間内の送信コマ数を制御するための制御信号を送る制御信号送信工程と
を有することを特徴とする受信方法。
In a receiving method for receiving packetized multimedia data including a video signal transmitted from a transmitting side,
A capturing step of capturing a packetized video signal transmitted from the transmission side;
Buffering the captured video signal by writing to and reading from the memory of the buffer means;
A reproduction step of reproducing the buffered video signal;
Based on the time delay from input to output obtained from the difference between the read address and write address of the buffer means , it is detected that the difference between the video signal capture time and the playback time is within the first time as the upper limit. A first detection step to:
A second detection step of detecting that the difference between the video signal capture time and the playback time is within a second time as a lower limit based on a time delay from input to output in the buffer means;
When it is detected that the difference between the capture time of the video signal and the playback time exceeds the first time and / or falls below the second time, the input from the buffer means to the output is detected. In order to set the difference between the signal capture time based on the time delay and the reproduction time to be between the first time and the second time, the image quality or the number of transmission frames within the unit time is set to the transmission side. And a control signal transmitting step of transmitting a control signal for control.
JP31558193A 1993-12-15 1993-12-15 Communication system, receiving apparatus and method Expired - Fee Related JP3715332B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31558193A JP3715332B2 (en) 1993-12-15 1993-12-15 Communication system, receiving apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31558193A JP3715332B2 (en) 1993-12-15 1993-12-15 Communication system, receiving apparatus and method

Publications (2)

Publication Number Publication Date
JPH07170290A JPH07170290A (en) 1995-07-04
JP3715332B2 true JP3715332B2 (en) 2005-11-09

Family

ID=18067078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31558193A Expired - Fee Related JP3715332B2 (en) 1993-12-15 1993-12-15 Communication system, receiving apparatus and method

Country Status (1)

Country Link
JP (1) JP3715332B2 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10229420A (en) 1997-02-17 1998-08-25 Matsushita Electric Ind Co Ltd Communication system
JPH11187367A (en) * 1997-12-19 1999-07-09 Nec Corp Video transmitter, video receiver and video transmitting system using these
JP4538161B2 (en) * 2000-03-08 2010-09-08 パナソニック株式会社 Video / audio processor
JP4596693B2 (en) * 2000-07-06 2010-12-08 パナソニック株式会社 Streaming method and system for executing the same
JP4644990B2 (en) * 2000-08-28 2011-03-09 ソニー株式会社 Wireless transmission apparatus and method, wireless reception apparatus and method, and computer program
AU2001295924A1 (en) 2000-10-13 2002-04-22 Sony Corporation Radio communication system, transmission control apparatus and transmission control method
JP2002142217A (en) * 2000-11-01 2002-05-17 Hitachi Kokusai Electric Inc Image transmitting method
JP4712238B2 (en) * 2001-07-30 2011-06-29 パナソニック株式会社 Video signal encoding apparatus, video signal transmitting apparatus, and video signal encoding method
JP2003078893A (en) * 2001-09-05 2003-03-14 Nec Corp Portable terminal with video transmission function, and video transmission method adopted by the same
AU2002225386A1 (en) * 2002-01-08 2003-07-24 Kouki Nagashima Information distribution system using pcmcia card, future-generation distribution system, and its principle
JP2005012729A (en) * 2003-06-23 2005-01-13 Nanao Corp Information providing device
JP4183586B2 (en) * 2003-09-12 2008-11-19 三洋電機株式会社 Video display device
EP1679895A1 (en) * 2003-10-16 2006-07-12 NEC Corporation Medium signal transmission method, reception method, transmission/reception method, and device
US8472320B2 (en) 2006-12-06 2013-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Jitter buffer control
JP5347441B2 (en) * 2008-11-10 2013-11-20 日本電気株式会社 Moving image processing device

Also Published As

Publication number Publication date
JPH07170290A (en) 1995-07-04

Similar Documents

Publication Publication Date Title
US6278478B1 (en) End-to-end network encoding architecture
JP3715332B2 (en) Communication system, receiving apparatus and method
US8160129B2 (en) Image pickup apparatus and image distributing method
JP4965059B2 (en) Switching video streams
US5490247A (en) Video subsystem for computer-based conferencing system
US5511003A (en) Encoding and decoding video signals using spatial filtering
US5434913A (en) Audio subsystem for computer-based conferencing system
EP1919220A2 (en) Method and apparatus for dynamic bandwidth allocation of video over a digital subscriber line
US20070263077A1 (en) System and Method for Dynamic Control of Image Capture in a Video Conference System
JP2003524909A (en) Method and apparatus for achieving a multimedia network interface
JP2003504897A (en) High-speed video transmission via telephone line
US20040073953A1 (en) Audio/video apparatus for use with a cable television network
US7502417B2 (en) Data transmission device and method
JPH07170292A (en) Transmitter
JP3799070B2 (en) Transmitting apparatus and method
JPH07170503A (en) Receiver
JPH07170502A (en) Receiver
JPH07170291A (en) Transmitter
US6947447B1 (en) Image communication apparatus, image communication method and recording medium which stores the sound and image
JP2002344937A (en) Quality control assurance method and quality control assurance device, and network connection device
JP2004349743A (en) Video stream switching system, method, and video image monitoring and video image distribution system including video stream switching system
Johanson Designing an environment for distributed real-time collaboration
JP2003536326A (en) Interactive processing system
KR100639872B1 (en) Method for transmitting of voice data using Native ATM API
Bolot et al. Sound and Video on the Web

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050825

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080902

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees