JP3996819B2 - Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor - Google Patents

Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor Download PDF

Info

Publication number
JP3996819B2
JP3996819B2 JP2002251865A JP2002251865A JP3996819B2 JP 3996819 B2 JP3996819 B2 JP 3996819B2 JP 2002251865 A JP2002251865 A JP 2002251865A JP 2002251865 A JP2002251865 A JP 2002251865A JP 3996819 B2 JP3996819 B2 JP 3996819B2
Authority
JP
Japan
Prior art keywords
data
amount
time
terminal
output buffer
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
JP2002251865A
Other languages
Japanese (ja)
Other versions
JP2004096239A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2002251865A priority Critical patent/JP3996819B2/en
Publication of JP2004096239A publication Critical patent/JP2004096239A/en
Application granted granted Critical
Publication of JP3996819B2 publication Critical patent/JP3996819B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、インターネット等のネットワークシステムにおいて、送信端末からネットワークを介して接続された受信端末にオーディオデータや音声を符号化圧縮してIP伝送し、受信端末にてこれらのオーディオデータや音声を復号化して再生を行うオーディオ伝送システム、これに用いられる受信端末、送信端末及び復号化処理装置、並びにオーディオ伝送方法に関する。
【0002】
【従来の技術】
従来、オーディオデータの符号化処理及び復号化処理においては、符号化クロックと復号化クロックの周波数を同期させることができない場合に生じるデータ処理速度の相違に起因する受信端末の入力バッファのオーバーフローやアンダーフローを、受信端末における復号化処理の際にデータを間引くか、あるいは、入力バッファから復号化器への符号化データの読込処理や復号化器自体の復号化処理の停止をすることで回避していた。このようなオーディオ伝送システムとして、特開2001−189933号公報に記載のものが挙げられる。
【0003】
図8は、従来のオーディオ伝送システムの受信端末の概略構成を示すブロック図である。図8に示すオーディオ伝送システムにおいて、送信端末から送信されてきた符号化データは、入力バッファ801に蓄積される。入力バッファ801に蓄積された符号化データは、復号化器802に入力されて復号化処理が行われる。この復号化データは、再生器803に入力されて再生データとして出力される。
【0004】
復号化処理の際に入力バッファ801におけるオーバーフローやアンダーフローを回避するために入力バッファ制御部804が設けられている。入力バッファ制御部804は、入力バッファ801内の符号化データの残量(以下、「入力バッファ801の残量」という)をチェックし、入力バッファ801の残量が予め定められた閾値以上である場合には、オーバーフローの可能性があると判断し、入力バッファ801に蓄積されている先頭の符号化データの破棄を指示する。
【0005】
この場合において、入力バッファ制御部804は、入力バッファ801の残量が95%以上であれば、無条件に破棄を行う。一方、入力バッファ801の残量が70%以上95%以下であれば、復号化器802に符号化データを一旦入力し、復号化データを再生器803に入力させると共に、復号化データレベル生成部805に入力させる。
【0006】
復号化データレベル生成部805は、入力された復号化データのレベル値を生成し、そのレベル値を入力バッファ制御部804に出力するものである。入力バッファ制御部804は、復号化データレベル生成部805から入力されたレベル値に基づいて復号化データが無音レベルか判定を行う。復号化データが無音レベルであれば、入力バッファ制御部804は、再生器803に入力された復号化データの破棄を指示する。
【0007】
一方、入力バッファ801の残量が予め定められた閾値以下である場合には、アンダーフローの可能性があると判断し、復号化器802に対して復号化処理の停止及び再生器803に対して現在入力されている復号化データの繰り返し再生を指示する。
【0008】
この場合において、入力バッファ801の残量が5%以下であれば、無条件に復号化器802に対して復号化処理の停止を指示し、再生器803に対して現在入力されている復号化データの繰り返し再生を指示する。一方、残量が5%以上30%以下であれば、復号化器802に符号化データを一旦入力し、復号化データを再生器803に入力させる一方、復号化データレベル生成部805に入力させる。
【0009】
復号化データレベル生成部805が生成したレベル値が入力されるので、入力バッファ制御部804は、このレベル値に基づいて復号化データが無音レベルか判定を行う。復号化データが無音レベルであれば、入力バッファ制御部804は、復号化器802に対して復号化処理の停止を指示し、再生器803に現在入力されている復号化データの繰り返し再生を指示する。
【0010】
以上のように、従来のオーディオ伝送システムでは、受信端末において入力バッファ801の残量を監視しながら、符号化データの破棄や復号化データの繰り返し再生を行う。これにより、入力バッファ801の残量を一定に維持し、符号化クロックと復号化クロックとを同期させることができないために発生し得る入力バッファ801のオーバーフローやアンダーフローを回避し、再生器803から出力される再生データの聴覚的な劣化を抑制している。
【0011】
【発明が解決しようとする課題】
しかしながら、従来のオーディオ伝送システムでは、入力バッファ801の残量を維持するための符号化データの破棄や復号化データの繰り返し再生が復号化処理単位であるフレーム単位で行われる。このため、符号化データの破棄や復号化データの繰り返し再生が数十msec単位で行われることとなり、信号の不連続性による耳障りな雑音が発生してしまうという問題がある。
【0012】
特に、従来のオーディオ伝送システムにおいては、送信端末からIPネットワークへ符号化データを送信する送信タイミングクロックと、受信端末がIPネットワークから符号化データを受信する受信タイミングクロックとの同期について考慮されていない。このため、受信端末において、IPネットワークからの符号化データが入力バッファ801よりも先に蓄積される受信バッファにオーバーフローやアンダーフローが発生する事態が生じ得る。この場合には、入力バッファ801でオーバーフローやアンダーフローを回避する以前に符号化データが連続して消失してしまうという問題がある。
【0013】
本発明は、かかる問題点に鑑みて為されたものであり、信号の不連続性による耳障りな雑音の発生を抑制しつつ、受信端末と送信端末との処理速度の相違によるデータの消失を回避することができるオーディオ伝送システム、これに用いられる受信端末、送信端末及び復号化処理装置、並びにオーディオ伝送方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るオーディオ伝送システムは、受信端末において、通信回線を介して接続された送信端末から取得した時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて受信端末における復号化処理量を制御する一方、復号化データが蓄積される出力バッファ内の現時点における復号化データの蓄積量と以前に処理した時点における出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて出力バッファから再生器へのデータ出力量を調整するようにしたものである。
【0015】
これにより、送信端末と受信端末との間における時刻差分に応じて受信端末における復号化処理量が制御されるので、受信端末のバッファにおけるオーバーフロー及びアンダーフローを回避することができる一方、出力バッファ内のデータ蓄積量の増減に伴い再生器へのデータ出力量が調整されるので、出力バッファへの書き込み量と再生器の読み出し量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0016】
本発明の第1の態様に係るオーディオ伝送システムは、送信端末から通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信するオーディオ伝送システムであって、前記送信端末は、オーディオデータを符号化した符号化データパケットを送信するパケット送信部と、前記受信端末の要求に応じて当該送信端末の時刻情報を計測する時刻計測部とを備え、前記受信端末は、前記符号化データパケットを受信するパケット受信部と、前記符号化データパケットを復号化する復号化処理部と、前記復号化処理部で復号化されたデータを読み出してオーディオデータを再生する再生器と、前記送信端末の時刻情報を取得する時刻取得部と、前記時刻取得部が取得した時刻情報をもとに前記復号化処理部の復号化処理量を制御する入力バッファ管理部と、前記再生器による復号化データの読み出し量を監視し前記復号化処理部から前記再生器への復号化データの出力量を調整する出力バッファ管理部とを備える構成を採る。
【0017】
この構成によれば、入力バッファ管理部により送信端末と受信端末との間における時刻差分に応じて復号化処理部における復号化処理量が制御されるので、受信端末内のバッファにおけるオーバーフロー及びアンダーフローを回避することができる。また、出力バッファ管理部により再生器による復号化データの読み出し量に応じて再生器への復号化データの出力量が調整されるので、復号化処理部における復号化データ量と再生器による読み出しデータ量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0018】
本発明の第2の態様は、第1の態様に係るオーディオ伝送システムにおいて、前記復号化処理部は、前記パケット受信部からの符号化データを蓄積する入力バッファと、前記入力バッファに蓄積された符号化データを復号化する復号化器と、前記復号化器が復号化した復号化データを蓄積する出力バッファと、を備える構成を採る。
【0019】
本発明の第3の態様は、第2の態様に係るオーディオ伝送システムにおいて、前記復号化器は、符号化データの復号化処理単位であるデータサイズを基準値とし、当該基準値よりも小さいデータサイズ、当該基準値と同一のデータサイズ又は当該基準値よりも大きいデータサイズを選択して出力量を調整して前記出力バッファに書き込む一方、前記再生器は、前記復号化器が出力するデータサイズと同一のデータサイズで前記出力バッファから復号化データを読み出す構成を採る。
【0020】
これらの構成によれば、出力バッファから再生器への復号化データの出力量を、復号化処理単位であるデータサイズよりも小さいデータサイズから、当該データサイズよりも大きいサイズにまで調整することができるため、適切なデータサイズで復号化器による書き込み量と再生器による読み出し量との相違に起因するバッファのオーバーフローやアンダーフローを防ぎ、雑音の発生を抑制することができる。
【0021】
本発明の第4の態様は、第2又は第3の態様に係るオーディオ伝送システムにおいて、前記入力バッファ管理部は、前記送信端末の時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記入力バッファから前記復号化器への符号化データの入力量を制御することで前記復号化処理部の復号化処理量を制御する構成を採る。
【0022】
この構成によれば、送信端末と受信端末との時刻差分に応じて入力バッファから復号化器への符号化データの入力量を制御することで復号化処理部の復号化処理量が制御される。これにより、送信端末が符号化データを送信する送信タイミングと受信端末が符号化データを受信する受信タイミングとのずれを、復号化処理量を制御することで吸収することができるので、通信回線からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができる。この結果、符号化データが消失するという事態を事前に回避することができる。
【0023】
本発明の第5の態様は、第4の態様に係るオーディオ伝送システムにおいて、前記時刻取得部は、一定時間間隔で前記送信端末の時刻情報を取得し、前記入力バッファ管理部は、前記時刻取得部による時刻情報の取得間隔に対する前記時刻差分の比率を求め、当該比率に応じて前記復号化器が前記入力バッファから符号化データを取得するタイミングを調整することで前記復号化器への符号化データの入力量を制御する構成を採る。
【0024】
この構成によれば、時刻取得部による時刻情報の取得間隔に対する送信端末と受信端末との時刻差分の比率に応じて復号化器が入力バッファから符号化データを取得するタイミングを調整することで復号化器への符号化データの入力量が制御される。これにより、入力バッファに一定量の符号化データが蓄積された時点で符号化データが復号化器へ入力されるので、通信回線からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができる。
【0025】
本発明の第6の態様は、第2から第5のいずれかの態様に係るオーディオ伝送システムにおいて、前記出力バッファ管理部は、現時点における前記出力バッファ内の復号化データの蓄積量と、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて前記出力バッファから前記再生器へのデータ出力量を調整する構成を採る。
【0026】
この構成によれば、出力バッファ内における復号化データの蓄積量の差異量に応じて出力バッファから再生器へのデータ出力量が調整されるので、復号化器から出力バッファへの書き込み量と再生器の出力バッファからの読み出し量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0027】
本発明の第7の態様は、第6の態様に係るオーディオ伝送システムにおいて、前記出力バッファ管理部は、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を上回った場合に前記再生器へのデータ出力量を減少させる一方、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を下回った場合に前記再生器へのデータ出力量を増加させる構成を採る。
【0028】
この構成によれば、出力バッファ内における復号化データの蓄積量の差異量に応じて出力バッファから再生器へのデータ出力量が増減されるので、復号化器から出力バッファへの書き込み量と再生器の出力バッファからの読み出し量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0029】
本発明の第8の態様は、第6又は第7の態様に係るオーディオ伝送システムにおいて、前記出力バッファ管理部は、前記復号化器が書き込んだ復号化データの終端アドレスを示す書き込み先アドレスと、前記再生器が読み出す復号化データの始端アドレスを示す読み出し元アドレスとを含む情報が登録された管理テーブルを備え、前記書き込み先アドレスから前記読み出し元アドレスを差し引いた値を、符号化データの復号化処理単位であるデータサイズを基準値として、当該基準値で割ることで現時点における前記出力バッファ内の復号化データの蓄積量を算出する構成を採る。
【0030】
この構成によれば、出力バッファ管理部が備えた管理テーブルに登録された書き込み先アドレス及び読み出し元アドレスを用いて現時点における出力バッファ内の復号化データの蓄積量を算出するので、迅速かつ確実に現時点における出力バッファ内の復号化データの蓄積量を求めることができる。
【0031】
本発明の第9の態様は、第8の態様に係るオーディオ伝送システムにおいて、前記書き込み先アドレス及び前記読み出し元アドレスは、前記復号化器が出力するデータサイズの増減によらず、前記基準値を加算して更新していく構成を採る。
【0032】
この構成によれば、書き込み先アドレス及び読み出し元アドレスは、復号化器が出力するデータサイズの増減によらず、基準値を加算して更新されるので、簡単な制御で書き込み先アドレス及び読み出し元アドレスの更新作業を行うことができる。
【0033】
本発明の第10の態様に係る受信端末は、通信回線を介して接続された送信端末から符号化圧縮されたオーディオデータを受信する受信端末であって、オーディオデータが符号化された符号化データパケットを受信するパケット受信部と、前記符号化データパケットを復号化する復号化処理部と、前記復号化処理部で復号化されたデータを読み出してオーディオデータを再生する再生器と、前記送信端末の時刻情報を取得する時刻取得部と、前記時刻取得部が取得した時刻情報をもとに前記復号化処理部の復号化処理量を制御する入力バッファ管理部と、前記再生器による復号化データの読み出し量を監視し前記復号化処理部から前記再生器への復号化データの出力量を調整する出力バッファ管理部と、を備える構成を採る。
【0034】
この構成によれば、入力バッファ管理部により送信端末と受信端末との間における時刻差分に応じて復号化処理部における復号化処理量が制御されるので、受信端末内のバッファにおけるオーバーフロー及びアンダーフローを回避することができる。また、出力バッファ管理部により再生器による復号化データの読み出し量に応じて再生器への復号化データの出力量が調整されるので、復号化処理部における復号化データ量と再生器による読み出しデータ量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0035】
本発明の第11の態様は、第10の態様に係る受信端末において、前記復号化処理部は、前記パケット受信部からの符号化データを蓄積する入力バッファと、前記入力バッファに蓄積された符号化データを復号化する復号化器と、前記復号化器が復号化した復号化データを蓄積する出力バッファと、を備える構成を採る。
【0036】
本発明の第12の態様は、第11の態様に係る受信端末において、前記復号化器は、符号化データの復号化処理単位であるデータサイズを基準値とし、当該基準値よりも小さいデータサイズ、当該基準値と同一のデータサイズ又は当該基準値よりも大きいデータサイズを選択して出力量を調整して前記出力バッファに書き込む一方、前記再生器は、前記復号化器が出力するデータサイズと同一のデータサイズで前記出力バッファから復号化データを読み出す構成を採る。
【0037】
これらの構成によれば、出力バッファから再生器への復号化データの出力量を、復号化処理単位であるデータサイズよりも小さいデータサイズから、当該データサイズよりも大きいサイズにまで調整することができるため、適切なデータサイズで復号化器による書き込み量と再生器による読み出し量との相違に起因するバッファのオーバーフローやアンダーフローを防ぎ、雑音の発生を抑制することができる。
【0038】
本発明の第13の態様は、第11又は第12の態様に係る受信端末において、前記入力バッファ管理部は、前記送信端末の時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記入力バッファから前記復号化器への符号化データの入力量を制御することで前記復号化処理部の復号化処理量を制御する構成を採る。
【0039】
この構成によれば、送信端末と受信端末との時刻差分に応じて入力バッファから復号化器への符号化データの入力量を制御することで復号化処理部の復号化処理量が制御される。これにより、送信端末が符号化データを送信する送信タイミングと受信端末が符号化データを受信する受信タイミングとのずれを、復号化処理量を制御することで吸収することができるので、通信回線からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができる。この結果、符号化データが消失するという事態を事前に回避することができる。
【0040】
本発明の第14の態様は、第13の態様に係る受信端末において、前記時刻取得部は、一定時間間隔で前記送信端末の時刻情報を取得し、前記入力バッファ管理部は、前記時刻取得部による時刻情報の取得間隔に対する前記時刻差分の比率を求め、当該比率に応じて前記復号化器が前記入力バッファから符号化データを取得するタイミングを調整することで前記復号化器への符号化データの入力量を制御する構成を採る。
【0041】
この構成によれば、時刻取得部による時刻情報の取得間隔に対する送信端末と受信端末との時刻差分の比率に応じて復号化器が入力バッファから符号化データを取得するタイミングを調整することで復号化器への符号化データの入力量が制御される。これにより、入力バッファに一定量の符号化データが蓄積された時点で符号化データが復号化器へ入力されるので、通信回線からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができる。
【0042】
本発明の第15の態様に係る送信端末は、通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信する送信端末であって、オーディオデータを符号化した符号化データパケットを送信するパケット送信部と、第10から第14の態様のいずれかに記載の受信端末の要求に応じて当該送信端末の時刻情報を計測する時刻計測部と、を備える構成を採る。
【0043】
この構成によれば、第10から第14のいずれかの態様に係る受信端末からの要求に応じて送信端末における時刻情報を計測するので、これらの受信端末の処理を円滑に実行させることができる。
【0044】
本発明の第16の態様に係る復号化処理装置は、通信回線を介して接続された送信端末から符号化圧縮されたオーディオデータを受信する受信端末に搭載される復号化処理装置であって、前記送信端末から送信された符号化データを蓄積する入力バッファと、前記入力バッファに蓄積された符号化データを復号化する復号化器と、前記復号化器が復号化した復号化データを蓄積する出力バッファと、前記送信端末の時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記入力バッファから前記復号化器への符号化データの入力量を制御する入力バッファ管理部と、現時点における前記出力バッファ内の復号化データの蓄積量と、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて前記出力バッファから再生器へのデータ出力量を調整する出力バッファ管理部と、を備える構成を採る。
【0045】
これらの構成によれば、送信端末と受信端末との時刻差分に応じて入力バッファから復号化器への符号化データの入力量を制御することで復号化処理部の復号化処理量が制御される。これにより、時刻差分に応じた符号化データ量の差異を入力バッファで吸収するため、通信回線からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができる。
【0046】
また、出力バッファ内における復号化データの蓄積量の差異量に応じて出力バッファから再生器へのデータ出力量が調整されるので、復号化器から出力バッファへの書き込み量と再生器の出力バッファからの読み出し量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0047】
本発明の第17の態様に係るオーディオ伝送方法は、送信端末から通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信し、受信端末で復号化してオーディオデータを再生するオーディオ伝送方法であって、
前記受信端末から前記送信端末の時刻情報の取得を要求し、この要求に応じて前記送信端末から時刻情報を前記受信端末に応答し、当該送信端末の時刻情報と前記受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記受信端末における復号化処理量を制御するものである。
【0048】
この方法によれば、送信端末と受信端末との間における時刻差分に応じて受信端端末における復号化処理量が制御されるので、受信端末内のバッファにおけるオーバーフロー及びアンダーフローを回避することができる。
【0049】
本発明の第18の態様は、第17の態様に係るオーディオ伝送方法において、前記受信端末から一定時間間隔で前記送信端末の時刻情報を取得し、当該時刻情報の取得間隔に対する前記時刻差分の比率を求め、当該比率に応じて前記受信端末における復号化処理のタイミングを調整することで復号化処理量を制御するものである。
【0050】
この方法によれば、時刻情報の取得間隔に対する送信端末と受信端末との時刻差分の比率に応じて受信端末における復号化処理のタイミングを調整することで受信端末における復号化処理量が制御される。これにより、一定量の符号化データが蓄積された時点で復号化処理が行われるので、通信回線からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができる。
【0051】
本発明の第19の態様は、第17又は第18の態様に係るオーディオ伝送方法において、前記受信端末で復号化した復号化データが蓄積される出力バッファ内の現時点における復号化データの蓄積量を算出し、当該現時点における蓄積量と以前に処理した時点における前記出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて前記出力バッファから再生器へのデータ出力量を調整するものである。
【0052】
本発明の第20の態様は、第19の態様に係るオーディオ伝送方法において、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を上回った場合に前記再生器へのデータ出力量を減少させる一方、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を下回った場合に前記再生器へのデータ出力量を増加させるものである。
【0053】
この方法によれば、出力バッファ内における復号化データの蓄積量の差異量に応じて出力バッファから再生器へのデータ出力量が増減されるので、出力バッファへの復号化データの書き込み量と再生器による出力バッファからの読み出し量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0054】
本発明の第21の態様は、通信回線を介して接続された送信端末から符号化圧縮されたオーディオデータを受信する受信端末のプログラムであって、コンピュータを、前記送信端末から送信された符号化データパケットを受信するパケット受信手段と、前記符号化データパケットを復号化する復号化処理手段と、前記復号化処理手段で復号化されたデータを読み出してオーディオデータを再生する再生手段と、前記送信端末の時刻情報を取得する時刻取得手段と、前記時刻取得手段が取得した時刻情報をもとに前記復号化処理手段の復号化処理量を制御する入力バッファ管理手段と、前記再生手段による復号化データの読み出し量を監視し前記復号化処理手段から前記再生手段への復号化データの出力量を調整する出力バッファ管理手段として機能させるための受信端末のプログラムである。
【0055】
本発明の第22の態様は、通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信する送信端末のプログラムであって、コンピュータを、オーディオデータを符号化した符号化データパケットを送信するパケット送信手段と、第21の態様の受信端末のプログラムの要求に応じて当該送信端末の時刻情報を計測する時刻計測手段として機能させるための送信端末のプログラムである。
【0056】
以下、本発明に係る実施の形態について図面を参照して具体的に説明する。
【0057】
図1は、本発明の一実施の形態に係るオーディオ伝送システム、並びにこれを構成する送信端末及び受信端末の概略構成を示すブロック図である。
【0058】
図1に示すオーディオ伝送システム100は、オーディオデータを符号化して送信する送信端末110と、この符号化データを復号化した後にオーディオデータとして再生する受信端末120とをIPネットワーク150を介して接続して構成される。
【0059】
送信端末110は、オーディオデータを符号化したデータ(以下、「符号化データ」という)をパケット化してIPネットワーク150に送信する送信処理部111と、受信端末120の取得要求に応じて送信端末110内の時刻情報を計測する時刻計測処理部112とを有している。
【0060】
より具体的には、送信処理部110は、符号化データをパケット化してIPネットワーク150に送信するパケット送信部113を備えている。また、時刻計測処理部112は、受信端末120の取得要求に応じて送信端末110内の時刻情報を計測する時刻計測部114を備えている。
【0061】
受信端末120は、IPネットワーク150からパケット化された符号化データを受信しデパケット化する受信処理部121と、受信処理部121が受信した符号化データを復号化する復号化処理部122と、復号化処理部122が復号化したデータ(以下、「復号化データ」という)をオーディオデータとして再生する再生器123とを有している。
【0062】
より具体的には、受信処理部121は、IPネットワーク150からパケット化された符号化データを受信しデパケット化するパケット受信部124を備えている。また、復号化処理部122は、パケット受信部124によりデパケット化された符号化データが蓄積される入力バッファ125、入力バッファ125に蓄積された符号化データを復号化する復号化器126及び復号化器126により復号化された復号化データを蓄積する出力バッファ127を備えている。
【0063】
また、受信端末120は、入力バッファ125から復号化器126に入力される符号化データの入力量を制御する入力制御処理部128と、出力バッファ127から再生器123に出力される復号化データの出力量を監視する出力監視処理部129と、これらの入力制御処理部128及び出力監視処理部139が参照するタイマ値をカウントするタイマ130と、を有している。
【0064】
より具体的には、入力制御処理部128は、送信端末110から時刻情報を取得する時刻取得部131及び時刻取得部131が取得した時刻情報に基づいて入力バッファ125から復号化器126に入力される符号化データの入力量を制御する入力バッファ管理部132を備えている。また、出力監視処理部129は、出力バッファ127から再生器123に出力される復号化データの出力量を監視する出力バッファ管理部133を備えている。この出力バッファ管理部133は、出力バッファ127から再生器123へのDMA(Direct Memory Access)転送を制御するDMA転送管理部134を備えている。
【0065】
DMA転送管理部134は、図2に示すDMA転送管理テーブル200を備え、このDMA転送管理テーブル200に登録された情報に基づいてDMA転送を制御している。
【0066】
図2に示すように、DMA転送管理テーブル200には、書き込み元ブロックアドレス201、書き込み先ブロックアドレス202、書き込みブロックサイズ203、読み出し元ブロックアドレス204、読み出し先ブロックアドレス205、読み出しブロックサイズ206、基準DMAデータサイズ207及びDMA補正サイズ208が登録される。
【0067】
書き込み元ブロックアドレス201には復号化器126による復号化データの書き込みを開始する出力バッファ127のアドレスが、書き込み先ブロックアドレス202には復号化器126による復号化データの書き込みを終了する出力バッファ127のアドレスが、書き込みブロックサイズ203には復号化器126による復号化データを出力バッファ127に書き込む際のデータブロックのサイズが、それぞれ登録される。なお、書き込みブロックサイズ203には、後述するDMA転送サイズが登録される。
【0068】
また、読み出し元ブロックアドレス204には再生器123が復号化データの読み出しを開始する出力バッファ127のアドレスが、読み出し先ブロックアドレス205には再生器123が復号化データの読み出しを終了する出力バッファ127のアドレスが、読み出しブロックサイズ206には再生器123が復号化データを出力バッファ127から読み出す際のデータブロックのサイズが、それぞれ登録されている。なお、読み出しブロックサイズ206には、後述するDMA転送サイズが登録される。
【0069】
さらに、基準DMAデータサイズ207には復号化器126における復号化データサイズをN(Nは2以上の整数)で割ったデータサイズが、DMA補正サイズ208には出力バッファ127から再生器123へのDMA転送サイズを2で割ったデータサイズまでの任意の数値が、それぞれ登録される。なお、基準DMAデータサイズは、復号化器126における符号化データの復号化処理単位であるデータサイズの基準値を構成する。
【0070】
タイマ130は、図3に示すタイマ管理テーブル300を備えている。タイマ管理テーブル300に登録されたタイマ値に応じて入力制御処理部128や出力監視処理部129が起動する。
【0071】
図3に示すように、タイマ管理テーブル300には、時刻取得タイマ値301及び復号化待ちタイマ値302が登録される。時刻取得タイマ値301は、入力制御処理部128の起動の際に参照され、復号化待ちタイマ値302は、復号化処理部の起動の際に参照される。
【0072】
以下、上記構成を有するオーディオ伝送システム100において、送信端末110から送信されたオーディオデータが受信端末120で再生されるまでの動作について図4〜図7に示すフロー図を用いて説明する。
【0073】
図4は、送信端末110から受信端末120へ符号化データの送信を行う際のフロー図である。図5は、受信端末120における符号化データの復号化処理を行う際のフロー図である。図6は、受信端末120における復号化処理部122の出力バッファ127の監視を行う際のフロー図である。図7は、送信端末110から時刻情報を取得し、当該時刻情報に基づいて復号化器126への符号化データの入力量を制御する際のフロー図である。
【0074】
まず、図4を用いて送信端末110から受信端末120へ符号化データの送信を行う際のフローについて説明する。なお、図4(a)が送信端末110の動作フローを示し、図4(b)が受信端末120の動作フローを示している。
【0075】
送信端末110から受信端末120へ符号化データの送信を行う際、送信端末110において送信処理部111が起動される。送信処理部111は、まず、送信端末110の操作者から指示されたオーディオデータが符号化された符号化データを取得する(ST401)。取得された符号化データは、パケット送信部113に入力される。
【0076】
パケット送信部113は、この符号化データをRTP(Real-time Transport Protocol)のデータパケットとしてパケット化を行い(ST402)、このデータパケットを受信端末120に送信する(ST403)。
【0077】
なお、本実施の形態のオーディオ伝送システム100では、送信端末110から受信端末120へ符号化データを送信する際には、データの通信プロトコルとして、RFC1889で規定された公知のRTP/RTCP(RTP Control Protocol)を用いている。
【0078】
RTPのデータパケットを送信した後、送信処理部111は、次の符号化データが入力されるまで、再び符号化データの取得を待機する(ST404)。そして、符号化データが入力されると、処理をST401に戻し、ST404までの処理を繰り返す。
【0079】
一方、受信端末120においては、常に送信端末110からのデータパケットの受信を待機している(ST405)。受信端末120においては、受信処理部121が常に起動されており、受信処理部121によりデータパケットの受信が監視されている。
【0080】
送信端末110からデータパケットが送信されたならば、受信処理部121において、パケット受信部124がデータパケットを受信する(ST406)。データパケットを受信したならば、パケット受信部124は、データパケットのデパケット化を行う(ST407)。デパケット化された符号化データは、入力バッファ125に書き込まれる(ST408)。
【0081】
入力バッファ125への符号化データの書き込みまで終了すると、受信処理部121は、処理をST405に戻し、ST408までの処理を繰り返す。
【0082】
次に、図5を用いて受信端末120における符号化データの復号化処理を行う際のフローについて説明する。なお、図5に示すフローは、受信端末120における復号化処理部122により実行される。
【0083】
復号化処理を行うためには、受信端末120では復号化処理部122を起動することになるが、復号化処理部122は、タイマ管理テーブル300上の復号化待ちタイマ値301が設定されたタイマ130がタイムアウトした時に起動される(ST501)。
【0084】
起動されると、復号化処理部122は、入力バッファ125の先頭に蓄積されている符号化データを取得し、復号化器126へ入力することにより取得した符号化データの復号化処理を行う(ST502)。
【0085】
次に、復号化処理部122は、復号化処理により得た復号化データが記録されているメモリのアドレスを、DMA転送管理テーブル200の書き込み元ブロックアドレス201に設定する(ST503)。ここで、復号化データが記録されたメモリのアドレスを、書き込み元ブロックアドレス201に設定するのは、復号化データの出力バッファ127へのDMA転送の際に用いるためである。
【0086】
書き込み元ブロックアドレス201への設定をした後、復号化処理部122は、DMA転送管理テーブル200の書き込み先ブロックアドレス202に書き込まれた現在のアドレスに、基準DMAデータサイズ207を加算する(ST504)。すなわち、書き込み先ブロックアドレス202に現在登録されているアドレスに、そのアドレスに基準DMAデータサイズ207を加えて示されるアドレスに更新する。
【0087】
次に、復号化処理部122は、DMAを起動して復号化データを出力バッファ127に転送する(ST505)。このとき、復号化処理部122は、DMA転送サイズを示す書き込みブロックサイズ203を参照してDMA転送を行う。書き込みブロックサイズ203が未登録の場合には、基準DMAデータサイズ207をDMA転送サイズとしてDMA転送を行う。
【0088】
復号化データのDMA転送を開始した後、復号化処理部122は、出力バッファ127からDMA転送が完了した旨の割り込み(以下、「DMA転送完了割り込み」という)を受けるまで待機する(ST506)。
【0089】
DMA転送完了割り込みを受け付けたならば、復号化処理部122は、復号化データの出力バッファ127へのDMA転送が復号化データサイズ分だけ終了したか判断する(ST507)。復号化データサイズ分だけ終了していない場合には、処理をST504に戻してST507までの処理を繰り返す。
【0090】
本実施の形態のオーディオ伝送システム100における受信端末120では、出力バッファ127へのDMA転送を、復号化データサイズをN(Nは整数)で割った基準DMAデータサイズ単位で行っている。このため、復号化処理部122は、ST507で復号化データサイズ分だけ処理が終了したかを判断することで、復号化処理単位である復号化データサイズより小さいサイズでDMA転送が完了するのを防止している。
【0091】
出力バッファ127へのDMA転送が復号化データサイズ分だけ終了したならば、復号化処理部122は、タイマ管理テーブル300から読み出した復号化待ちタイマ値302をタイマ130に設定し(ST508)、処理をST501に戻す。
【0092】
次に、図6を用いて受信端末120における復号化処理部122の出力バッファ127の監視を行う際のフローについて説明する。なお、図6に示すフローは、受信端末120における出力監視処理部129により実行される。
【0093】
出力バッファ127の監視を行うためには、受信端末120では出力監視処理部129を起動することになるが、出力監視処理部129は、出力バッファ127から再生器123に復号化データがDMA転送された後に出力される完了割り込みにより起動される(ST601)。
【0094】
起動されると、出力監視処理部129の出力バッファ管理部133において、DMA転送管理部134は、現在出力バッファ127に残っている残ブロック数(以下、「現在の残ブロック数」という)を算出する(ST602)。DMA転送管理部134は、DMA転送管理テーブル200に登録された情報を用いて現在の残ブロック数を以下の式により算出する。
現在の残ブロック数=(書き込み先ブロックアドレス202−読み出し元ブロックアドレス204)/基準DMAデータサイズ207
【0095】
このようにDMA転送管理テーブル200に登録された書き込み先アドレス202及び読み出し元アドレス204を用いて現在の残ブロック数を算出するので、迅速かつ確実に現在の残ブロック数を求めることができる。
【0096】
次に、出力監視処理部129は、算出した現在の残ブロック数と、再生器123への復号化データのDMA転送を開始した初期時の残ブロック数(以下、「初期残ブロック数」という)との差異を求める(ST603)。なお、初期残ブロック数は、DMA転送管理部134においてDMA転送の過程で記憶しておく。
【0097】
初期残ブロック数が現在の残ブロック数と等しい場合、DMA転送管理部134は、DMA転送サイズを基準DMAデータサイズ207に設定する(ST604)。
【0098】
一方、初期残ブロック数が現在の残ブロック数より大きい場合、DMA転送管理部134は、DMA転送サイズを、基準DMAデータサイズ207にDMA補正サイズ208を加えた値に設定する(ST605)。
【0099】
初期残ブロック数が現在の残ブロック数より大きい場合は、すなわち、再生器123の再生クロックが復号化器126の復号化クロックを上回っていることにより、残ブロック数が減少していることを意味する。このため、DMA転送サイズを、基準DMAデータサイズ207にDMA補正サイズ208を加えた値に設定して、再生器123への1回のDMA転送サイズを大きくしている。
【0100】
これに対して、初期残ブロック数が現在の残ブロック数より小さい場合、DMA転送管理部134は、DMA転送サイズを、基準DMAデータサイズ207からDMA補正サイズ208を引いた値に設定する(ST606)。
【0101】
初期残ブロック数が現在の残ブロック数より小さい場合は、すなわち、再生器123の再生クロックが復号化器126の復号化クロックを下回っていることにより、残ブロック数が増加していることを意味する。このため、DMA転送サイズを、基準DMAデータサイズ207からDMA補正サイズ208を引いた値に設定して、再生器123への1回のDMA転送サイズを小さくしている。
【0102】
なお、DMA転送サイズは、DMA転送管理テーブル200に登録される読み出しブロックサイズ206及び書き込みブロックサイズ203と同一である。したがって、DMA転送管理部134は、ST604〜ST606で求めたDMA転送サイズを読み出しブロックサイズ206及び書き込みブロックサイズ203に設定する。
【0103】
ST604〜ST606のようにDMA転送サイズを設定した後、DMA転送管理部134は、DMA転送管理テーブル200の読み出し元ブロックアドレス204に書き込まれた現在のアドレスに、基準DMAデータサイズ207を加算(ST607)。すなわち、読み出し元ブロックアドレス204に現在登録されているアドレスを、そのアドレスに基準DMAデータサイズ207を加えて示されるアドレスに更新する。
【0104】
次に、DMA転送管理部134は、DMAを起動して復号化データを再生器123に転送する(ST608)。このとき、DMA転送管理部134は、ST604からST606にて算出した転送サイズをDMA転送サイズとしてDMA転送を行う。
【0105】
復号化データのDMA転送を開始した後、DMA転送管理部134は、再生器123からDMA転送完了割り込みを受けるまで待機する(ST609)。DMA転送完了割り込みを受け付けたならば、DMA転送管理部134は、処理をST601に処理を戻してST609までの処理を繰り返す。
【0106】
このように出力バッファ127内の現在の残ブロック数と初期残ブロック数との差異量に応じて出力バッファ127から再生器123へのデータ出力量を、復号化処理単位である基準DMAデータサイズよりも小さいデータサイズから大きいデータサイズにまで調整でき、また、これに応じて復号化器126から出力バッファ127へのデータ出力量も調整されるため、復号化器126から出力バッファ127への書き込み量と再生器123による出力バッファ127からの読み出し量との相違に起因する耳障りな雑音の発生を抑制することができる。
【0107】
次に、図7を用いて送信端末110から時刻情報を取得し、当該時刻情報に基づいて復号化器126への符号化データの入力量を制御する際のフローについて説明する。なお、図7(a)が送信端末110の動作フローを示し、図7(b)が受信端末120の動作フローを示している。また、図7(a)に示すフローは、送信端末110における時刻計測処理部112により実行され、図7(b)に示すフローは、受信端末120における入力制御処理部128により実行される。
【0108】
送信端末110に時刻情報を要求するためには、受信端末120では入力制御処理部128を起動することになるが、入力制御処理部128は、タイマ管理テーブル300上の時刻取得タイマ値301が設定されたタイマ130がタイムアウトした時に起動される(ST701)。
【0109】
起動されると、入力制御処理部128において、時刻取得部131が送信端末110に対して時刻情報の取得要求を送信する(ST702)。なお、時刻情報の取得要求は、RFC792として公知のICMP(Internet Control Message Protocol)による時刻情報取得要求メッセージや、RFC1305として公知のNTP(Network Time Protocol)等により行う。
【0110】
時刻情報の取得要求が送信端末110により受信されると、送信端末110から時刻情報の取得応答が返信されてくるので、時刻取得部131は、これを受信する(ST703)。
【0111】
この時刻情報の取得応答を受信したならば、時刻取得部131は、これに含まれる時刻情報を入力バッファ管理部132に渡す。この時刻情報を受け取ると、入力バッファ管理部132は、受信端末120における現在の時刻と送信端末110における時刻との差分を算出する(ST704)。具体的には、受信端末120における現在の時刻情報と、送信端末110から取得した時刻情報との差異を求めることで時刻差分を算出する。
【0112】
なお、ここで算出した時刻差分は、前回の時刻情報の取得時から今回の時刻情報の取得時までの送信端末110と受信端末120との時刻のずれを示す。これは、すなわち、送信端末110における送信タイミングクロックと受信端末120における受信タイミングクロックの精度差を示す。
【0113】
ST704で時刻差分を算出した後、入力バッファ管理部132は、送信端末110から取得した時刻を受信端末120の現在の時刻として設定する(ST705)。
【0114】
次に、入力バッファ管理部132は、復号化待ちタイマ値302の補正率σを算出する(ST706)。入力バッファ管理部132は、復号化待ちタイマ値302の補正率σを以下の式により算出する。
σ=Δt/ΔT
なお、ST704にて算出した時刻差分をΔt、タイマ管理テーブル300に登録されている時刻取得タイマ値301をΔT、復号化待ちタイマ値302の補正率をσとする。
【0115】
入力バッファ管理部132は、ST706で算出した復号化待ちタイマ値302の補正率σを用いて、タイマ管理テーブル300に登録されている復号化待ちタイマ値302の補正を行い、補正後の値を新しい復号化待ちタイマ値302に更新する(ST707)。入力バッファ管理部132は、補正した復号化待ちタイマ値を以下の式により算出する。
ΔTf’=(1−σ)×ΔTf
なお、ST706にて算出した補正率をσ、現在の復号化待ちタイマ値302をΔTf、補正した復号化待ちタイマ値をΔTf’とする。
【0116】
このように復号化待ちタイマ値302を補正することにより、図5に示した受信端末120における復号化処理の処理間隔が変更される。これにより、入力バッファ125から復号化器126に入力される符号化データの処理速度を送信端末110の送信タイミングクロックに同期させることができる。これにより、IPネットワーク150からの符号化データパケットを蓄積する受信バッファのオーバーフローやアンダーフローを回避することができ、この結果、符号化データが消失するという事態を確実に回避することができる。
【0117】
最後に入力バッファ管理部132は、タイマ管理テーブル300から読み出した時刻取得タイマ値301をタイマ130に設定し(ST708)、処理をST701に戻す。
【0118】
一方、送信端末110においては、常に受信端末120からの時刻情報の取得要求の受信を待機している。送信端末110においては、時刻計測処理部112が常に起動されており、この時刻計測処理部112により時刻情報の取得要求の受信が監視されている。
【0119】
時刻情報の取得要求を受信したならば(ST709)、時刻計測処理部112は、送信端末110の現在の時刻情報を計測し(ST710)、計測した時刻情報を時刻取得応答として受信端末120に送信する(ST711)。現在の時刻情報を時刻取得応答として受信端末120に送信した後、時刻計測処理部112は、処理をST709に戻し処理711までの処理を繰り返す。
【0120】
このように本実施の形態のオーディオ伝送システム100によれば、受信端末120から送信端末110に時刻情報の取得要求を行い、一定時間ごとに受信端末120と送信端末110との時刻差分を算出する。そして、算出した時刻差分に応じて送信端末110の送信タイミングクロックと、受信端末120の受信タイミングクロックとを同期させて、復号器126に入力される符号化データに対する処理速度を補正する。
【0121】
これにより、入力バッファ125より先に符号化データのデータパケットが蓄積される受信バッファにオーバーフローが予想される場合には復号化器126の復号化処理間隔が短縮される一方、アンダーフローが予想される場合には復号化器126の復号化処理間隔が拡大される。この結果、受信バッファのオーバーフローやアンダーフローを事前に防止することができる。
【0122】
また、本実施の形態のオーディオ伝送システム100によれば、復号化器126と出力バッファ127との間で行われるDMA転送の書き込み先ブロックアドレス202と、出力バッファ127と再生器123との間で行われるDMA転送の読み出し元ブロックアドレス204とを監視し、復号化器126の書き込みと再生器123の読み出しにおける処理速度の差を算出する。そして、算出した処理速度の差に応じてDMA転送サイズを増減させて、再生器123の処理量を増減させている。
【0123】
これにより、出力バッファ127から読み出される復号化データの読み出し間隔を、出力バッファ127に対する書き込み間隔に同期させるとともに、復号化器126から出力バッファ127への書き込みブロックサイズ203及び出力バッファ127から再生器123への読み出し元ブロックアドレス204の境界のサイズは常に一定に維持される。このため、出力バッファ127内の復号化データの残量を一定に維持することができるので、出力バッファ127のオーバーフローやアンダーフローを事前に防止することができる。
【0124】
本発明は、当業者に明らかなように、上記実施の形態に記載した技術に従ってプログラムされた一般的な市販のデジタルコンピュータおよびマイクロプロセッサを使って実施することができる。また、当業者に明らかなように、本発明は、上記実施の形態に記載した技術に基づいて当業者により作成されるコンピュータプログラムを包含する。
【0125】
また、本発明を実施するコンピュータをプログラムするために使用できる命令を含む記憶媒体であるコンピュータプログラム製品が本発明の範囲に含まれる。この記憶媒体は、フロッピー(R)ディスク、光ディスク、CDROM及び磁気ディスク等のディスク、ROM、RAM、EPROM、EEPROM、磁気光カード、メモリカードまたはDVD等であるが、特にこれらに限定されるものではない。
【0126】
【発明の効果】
以上説明したように本発明によれば、信号の不連続性による耳障りな雑音の発生を抑制しつつ、受信端末と送信端末との処理速度の相違によるデータの消失を回避することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るオーディオ伝送システム、並びにこれを構成する送信端末及び受信端末の概略構成を示すブロック図
【図2】上記実施の形態に係るオーディオ伝送システムにおける受信端末が備えるDMA転送管理テーブルの構成図
【図3】上記実施の形態に係るオーディオ伝送システムにおける受信端末が備えるタイマ管理テーブルの構成図
【図4】上記実施の形態に係るオーディオ伝送システムにおける送信端末から受信端末へ符号化データの送信を行う際のフロー図
【図5】上記実施の形態に係るオーディオ伝送システムの受信端末において復号化処理を行う際のフロー図
【図6】上記実施の形態に係るオーディオ伝送システムの受信端末において復号化処理部の出力バッファの監視を行う際のフロー図
【図7】上記実施の形態に係るオーディオ伝送システムの送信端末から時刻情報を取得し、当該時刻情報に基づいて復号化器への符号化データの入力量を制御する際のフロー図
【図8】従来のオーディオ伝送システムの受信端末の概略構成を示すブロック図
【符号の説明】
100 オーディオ伝送システム
110 送信端末
120 受信端末
111 送信処理部
112 時刻計測処理部
113 パケット送信部
114 時刻計測部
121 受信処理部
122 復号化処理部
123 再生器
124 パケット受信部
125 入力バッファ
126 復号化器
127 出力バッファ
128 入力制御処理部
129 出力監視処理部
130 タイマ
131 時刻取得部
132 入力バッファ管理部
133 出力バッファ管理部
134 DMA転送管理部
200 DMA転送管理テーブル
300 タイマ管理テーブル
[0001]
BACKGROUND OF THE INVENTION
In a network system such as the Internet, the present invention encodes and compresses audio data and voice from a transmitting terminal to a receiving terminal connected via the network and transmits the IP data, and the receiving terminal decodes the audio data and voice. TECHNICAL FIELD The present invention relates to an audio transmission system that reproduces and reproduces, a receiving terminal, a transmitting terminal, a decoding processing device, and an audio transmission method used therefor.
[0002]
[Prior art]
Conventionally, in the encoding process and decoding process of audio data, an overflow or underflow of the input buffer of the receiving terminal due to a difference in data processing speed that occurs when the frequency of the encoding clock and the decoding clock cannot be synchronized. The flow can be avoided by thinning out the data during the decoding process at the receiving terminal, or by stopping the process of reading the encoded data from the input buffer to the decoder or the decoding process of the decoder itself. It was. An example of such an audio transmission system is that described in Japanese Patent Application Laid-Open No. 2001-189933.
[0003]
FIG. 8 is a block diagram showing a schematic configuration of a receiving terminal of a conventional audio transmission system. In the audio transmission system shown in FIG. 8, encoded data transmitted from the transmission terminal is accumulated in the input buffer 801. The encoded data stored in the input buffer 801 is input to the decoder 802 and subjected to decoding processing. This decoded data is input to the regenerator 803 and output as regenerated data.
[0004]
An input buffer control unit 804 is provided to avoid overflow or underflow in the input buffer 801 during the decoding process. The input buffer control unit 804 checks the remaining amount of encoded data in the input buffer 801 (hereinafter referred to as “the remaining amount of the input buffer 801”), and the remaining amount of the input buffer 801 is equal to or greater than a predetermined threshold. In this case, it is determined that there is a possibility of overflow, and an instruction to discard the first encoded data stored in the input buffer 801 is given.
[0005]
In this case, the input buffer control unit 804 discards unconditionally if the remaining amount of the input buffer 801 is 95% or more. On the other hand, if the remaining amount of the input buffer 801 is not less than 70% and not more than 95%, the encoded data is temporarily input to the decoder 802, the decoded data is input to the regenerator 803, and the decoded data level generation unit 805 is input.
[0006]
The decoded data level generation unit 805 generates a level value of the input decoded data, and outputs the level value to the input buffer control unit 804. The input buffer control unit 804 determines whether the decoded data is a silence level based on the level value input from the decoded data level generation unit 805. If the decoded data is a silence level, the input buffer control unit 804 instructs to discard the decoded data input to the regenerator 803.
[0007]
On the other hand, when the remaining amount of the input buffer 801 is equal to or less than a predetermined threshold, it is determined that there is a possibility of underflow, the decoding process is stopped for the decoder 802, and the regenerator 803 is stopped. To instruct the repeated reproduction of the currently input decoded data.
[0008]
In this case, if the remaining amount of the input buffer 801 is 5% or less, the decoder 802 is unconditionally instructed to stop the decoding process, and the decoding currently input to the regenerator 803 is performed. Instructs repeated playback of data. On the other hand, if the remaining amount is not less than 5% and not more than 30%, the encoded data is temporarily input to the decoder 802, and the decoded data is input to the regenerator 803, while being input to the decoded data level generation unit 805. .
[0009]
Since the level value generated by the decoded data level generation unit 805 is input, the input buffer control unit 804 determines whether the decoded data is a silence level based on this level value. If the decoded data is a silence level, the input buffer control unit 804 instructs the decoder 802 to stop the decoding process and instructs the reproducer 803 to repeatedly reproduce the decoded data currently input. To do.
[0010]
As described above, in the conventional audio transmission system, the received data is discarded and the decoded data is repeatedly reproduced while monitoring the remaining amount of the input buffer 801 at the receiving terminal. As a result, the remaining amount of the input buffer 801 is kept constant, the overflow and underflow of the input buffer 801 that may occur because the encoding clock and the decoding clock cannot be synchronized, and the regenerator 803 Auditory degradation of the output playback data is suppressed.
[0011]
[Problems to be solved by the invention]
However, in the conventional audio transmission system, the discard of the encoded data and the repeated reproduction of the decoded data for maintaining the remaining amount of the input buffer 801 are performed in units of frames which are units of decoding processing. For this reason, the encoded data is discarded or the decoded data is repeatedly reproduced in units of several tens of msec, and there is a problem that annoying noise due to signal discontinuity occurs.
[0012]
In particular, in the conventional audio transmission system, the synchronization between the transmission timing clock for transmitting the encoded data from the transmission terminal to the IP network and the reception timing clock for the reception terminal to receive the encoded data from the IP network is not considered. . For this reason, in the receiving terminal, a situation may occur in which overflow or underflow occurs in the receiving buffer in which encoded data from the IP network is accumulated before the input buffer 801. In this case, there is a problem that encoded data is continuously lost before overflow or underflow is avoided in the input buffer 801.
[0013]
The present invention has been made in view of such problems, and avoids loss of data due to a difference in processing speed between a receiving terminal and a transmitting terminal while suppressing generation of annoying noise due to signal discontinuity. It is an object of the present invention to provide an audio transmission system that can be used, a reception terminal, a transmission terminal, a decoding processing device, and an audio transmission method used therefor.
[0014]
[Means for Solving the Problems]
In order to achieve the above object, an audio transmission system according to the present invention calculates a time difference between time information acquired from a transmission terminal connected via a communication line and time information of the reception terminal at the reception terminal, While controlling the amount of decoding processing in the receiving terminal according to the time difference, the amount of decoding data stored in the output buffer where decoding data is stored and the decoding in the output buffer at the time of previous processing A difference amount from the accumulated amount of data is obtained, and the data output amount from the output buffer to the regenerator is adjusted according to the difference amount.
[0015]
As a result, the amount of decoding processing at the receiving terminal is controlled in accordance with the time difference between the transmitting terminal and the receiving terminal, so that overflow and underflow in the buffer of the receiving terminal can be avoided, while in the output buffer Since the data output amount to the regenerator is adjusted with the increase or decrease of the data storage amount, the generation of annoying noise due to the difference between the write amount to the output buffer and the read amount of the regenerator can be suppressed. .
[0016]
An audio transmission system according to a first aspect of the present invention is an audio transmission system that encodes and compresses audio data from a transmission terminal to a reception terminal connected via a communication line, and transmits the audio data. Includes a packet transmission unit that transmits an encoded data packet obtained by encoding audio data, and a time measurement unit that measures time information of the transmission terminal in response to a request from the reception terminal. A packet receiving unit that receives an encoded data packet; a decoding processing unit that decodes the encoded data packet; and a regenerator that reads out data decoded by the decoding processing unit and reproduces audio data; A time acquisition unit that acquires time information of the transmission terminal, and a decoding processing amount of the decoding processing unit based on the time information acquired by the time acquisition unit A configuration comprising: an input buffer management unit that controls; and an output buffer management unit that monitors a read amount of decoded data by the regenerator and adjusts an output amount of the decoded data from the decoding processing unit to the regenerator. take.
[0017]
According to this configuration, since the decoding processing amount in the decoding processing unit is controlled by the input buffer management unit according to the time difference between the transmitting terminal and the receiving terminal, overflow and underflow in the buffer in the receiving terminal Can be avoided. Further, since the output buffer management unit adjusts the output amount of the decoded data to the regenerator in accordance with the read amount of the decoded data by the regenerator, the decoded data amount in the decoding processing unit and the read data by the regenerator Generation of annoying noise caused by the difference from the amount can be suppressed.
[0018]
According to a second aspect of the present invention, in the audio transmission system according to the first aspect, the decoding processing unit stores an input buffer for storing encoded data from the packet receiving unit, and an input buffer. A configuration is provided that includes a decoder that decodes the encoded data, and an output buffer that stores the decoded data decoded by the decoder.
[0019]
According to a third aspect of the present invention, in the audio transmission system according to the second aspect, the decoder uses a data size, which is a decoding processing unit of encoded data, as a reference value, and data smaller than the reference value. While selecting the size, the same data size as the reference value or a data size larger than the reference value, adjusting the output amount and writing to the output buffer, the regenerator outputs the data size output by the decoder The decoded data is read out from the output buffer with the same data size.
[0020]
According to these configurations, the output amount of the decoded data from the output buffer to the regenerator can be adjusted from a data size smaller than the data size as a decoding processing unit to a size larger than the data size. Therefore, it is possible to prevent buffer overflow and underflow caused by the difference between the amount written by the decoder and the amount read by the regenerator with an appropriate data size, and to suppress the generation of noise.
[0021]
According to a fourth aspect of the present invention, in the audio transmission system according to the second or third aspect, the input buffer management unit calculates a time difference between the time information of the transmitting terminal and the time information of the receiving terminal. Then, a configuration is adopted in which the decoding processing amount of the decoding processing unit is controlled by controlling the input amount of encoded data from the input buffer to the decoder in accordance with the time difference.
[0022]
According to this configuration, the decoding processing amount of the decoding processing unit is controlled by controlling the input amount of the encoded data from the input buffer to the decoder according to the time difference between the transmitting terminal and the receiving terminal. . As a result, the difference between the transmission timing at which the transmission terminal transmits the encoded data and the reception timing at which the reception terminal receives the encoded data can be absorbed by controlling the decoding processing amount. It is possible to avoid overflow and underflow of the reception buffer for storing the encoded data packet. As a result, a situation in which encoded data is lost can be avoided in advance.
[0023]
According to a fifth aspect of the present invention, in the audio transmission system according to the fourth aspect, the time acquisition unit acquires time information of the transmission terminal at regular time intervals, and the input buffer management unit acquires the time acquisition Encoding the time difference with respect to the acquisition interval of time information by the unit and adjusting the timing at which the decoder acquires encoded data from the input buffer according to the ratio A configuration that controls the amount of data input is adopted.
[0024]
According to this configuration, the decoding is performed by adjusting the timing at which the decoder acquires the encoded data from the input buffer according to the ratio of the time difference between the transmitting terminal and the receiving terminal with respect to the time information acquisition interval by the time acquisition unit. The amount of encoded data input to the encoder is controlled. As a result, the encoded data is input to the decoder when a certain amount of encoded data is accumulated in the input buffer, so that overflow or underflow of the reception buffer that accumulates encoded data packets from the communication line is prevented. It can be avoided.
[0025]
According to a sixth aspect of the present invention, in the audio transmission system according to any one of the second to fifth aspects, the output buffer management unit includes a storage amount of decoded data in the output buffer at a current time, A difference amount from the accumulated amount of decoded data in the output buffer at the time of processing is obtained, and a data output amount from the output buffer to the regenerator is adjusted according to the difference amount.
[0026]
According to this configuration, the amount of data output from the output buffer to the regenerator is adjusted in accordance with the amount of difference in the amount of decoded data stored in the output buffer. The generation of annoying noise caused by the difference from the read amount from the output buffer of the device can be suppressed.
[0027]
According to a seventh aspect of the present invention, in the audio transmission system according to the sixth aspect, the output buffer management unit is configured to output the output at the time when the accumulated amount of decoded data in the output buffer at the present time has been processed previously. When the accumulated amount of decoded data in the buffer exceeds the amount of data output to the regenerator, the output at the time when the accumulated amount of decoded data in the output buffer at the present time has been processed before is reduced. A configuration is adopted in which the amount of data output to the regenerator is increased when the stored amount of decoded data in the buffer falls below.
[0028]
According to this configuration, the amount of data output from the output buffer to the regenerator is increased or decreased in accordance with the difference in the amount of decoded data stored in the output buffer. The generation of annoying noise caused by the difference from the read amount from the output buffer of the device can be suppressed.
[0029]
According to an eighth aspect of the present invention, in the audio transmission system according to the sixth or seventh aspect, the output buffer management unit includes a write destination address indicating a termination address of the decoded data written by the decoder; A management table in which information including a read source address indicating a start address of decoded data read by the regenerator is registered, and a value obtained by subtracting the read source address from the write destination address is used to decode encoded data A configuration is adopted in which the storage amount of decoded data in the output buffer at the present time is calculated by dividing the data size, which is a processing unit, as a reference value by the reference value.
[0030]
According to this configuration, the storage amount of the decoded data in the output buffer at the present time is calculated using the write destination address and the read source address registered in the management table provided in the output buffer management unit, so that it can be performed quickly and reliably. The storage amount of the decoded data in the output buffer at the present time can be obtained.
[0031]
According to a ninth aspect of the present invention, in the audio transmission system according to the eighth aspect, the write destination address and the read source address are equal to the reference value regardless of increase or decrease in the data size output from the decoder. Adopting a structure of adding and updating.
[0032]
According to this configuration, the write destination address and the read source address are updated by adding the reference value regardless of the increase or decrease in the data size output by the decoder. Address update work can be performed.
[0033]
A receiving terminal according to a tenth aspect of the present invention is a receiving terminal that receives encoded and compressed audio data from a transmitting terminal connected via a communication line, and is encoded data in which audio data is encoded A packet receiving unit that receives a packet; a decoding processing unit that decodes the encoded data packet; a regenerator that reads data decoded by the decoding processing unit and reproduces audio data; and the transmission terminal A time acquisition unit for acquiring the time information, an input buffer management unit for controlling a decoding processing amount of the decoding processing unit based on the time information acquired by the time acquisition unit, and decoded data by the regenerator And an output buffer management unit that adjusts the output amount of the decoded data from the decoding processing unit to the regenerator.
[0034]
According to this configuration, since the decoding processing amount in the decoding processing unit is controlled by the input buffer management unit according to the time difference between the transmitting terminal and the receiving terminal, overflow and underflow in the buffer in the receiving terminal Can be avoided. Further, since the output buffer management unit adjusts the output amount of the decoded data to the regenerator in accordance with the read amount of the decoded data by the regenerator, the decoded data amount in the decoding processing unit and the read data by the regenerator Generation of annoying noise caused by the difference from the amount can be suppressed.
[0035]
According to an eleventh aspect of the present invention, in the receiving terminal according to the tenth aspect, the decoding processing unit includes an input buffer for storing encoded data from the packet receiving unit, and a code stored in the input buffer. The decoder includes a decoder that decodes the encoded data and an output buffer that stores the decoded data decoded by the decoder.
[0036]
According to a twelfth aspect of the present invention, in the receiving terminal according to the eleventh aspect, the decoder uses a data size that is a decoding processing unit of encoded data as a reference value, and a data size smaller than the reference value. The data size that is the same as the reference value or larger than the reference value is selected, the output amount is adjusted and written to the output buffer, while the regenerator has the data size output by the decoder A configuration is adopted in which decoded data is read from the output buffer with the same data size.
[0037]
According to these configurations, the output amount of the decoded data from the output buffer to the regenerator can be adjusted from a data size smaller than the data size as a decoding processing unit to a size larger than the data size. Therefore, it is possible to prevent buffer overflow and underflow caused by the difference between the amount written by the decoder and the amount read by the regenerator with an appropriate data size, and to suppress the generation of noise.
[0038]
According to a thirteenth aspect of the present invention, in the receiving terminal according to the eleventh or twelfth aspect, the input buffer management unit calculates a time difference between the time information of the transmitting terminal and the time information of the receiving terminal, A configuration is adopted in which the decoding processing amount of the decoding processing unit is controlled by controlling the input amount of encoded data from the input buffer to the decoder according to the time difference.
[0039]
According to this configuration, the decoding processing amount of the decoding processing unit is controlled by controlling the input amount of the encoded data from the input buffer to the decoder according to the time difference between the transmitting terminal and the receiving terminal. . As a result, the difference between the transmission timing at which the transmission terminal transmits the encoded data and the reception timing at which the reception terminal receives the encoded data can be absorbed by controlling the decoding processing amount. It is possible to avoid overflow and underflow of the reception buffer for storing the encoded data packet. As a result, a situation in which encoded data is lost can be avoided in advance.
[0040]
According to a fourteenth aspect of the present invention, in the receiving terminal according to the thirteenth aspect, the time acquisition unit acquires time information of the transmission terminal at regular time intervals, and the input buffer management unit is configured to acquire the time acquisition unit. The ratio of the time difference with respect to the time information acquisition interval is determined, and the encoded data to the decoder is adjusted by adjusting the timing at which the decoder acquires the encoded data from the input buffer according to the ratio. The configuration is used to control the input amount.
[0041]
According to this configuration, the decoding is performed by adjusting the timing at which the decoder acquires the encoded data from the input buffer according to the ratio of the time difference between the transmitting terminal and the receiving terminal with respect to the time information acquisition interval by the time acquisition unit. The amount of encoded data input to the encoder is controlled. As a result, the encoded data is input to the decoder when a certain amount of encoded data is accumulated in the input buffer, so that overflow or underflow of the reception buffer that accumulates encoded data packets from the communication line is prevented. It can be avoided.
[0042]
A transmitting terminal according to the fifteenth aspect of the present invention is a transmitting terminal that encodes and compresses audio data to a receiving terminal connected via a communication line, and transmits the encoded audio data. A configuration is provided that includes a packet transmission unit that transmits a data packet and a time measurement unit that measures time information of the transmission terminal in response to a request from the reception terminal according to any of the tenth to fourteenth aspects.
[0043]
According to this configuration, since the time information at the transmitting terminal is measured in response to a request from the receiving terminal according to any of the tenth to fourteenth aspects, the processing of these receiving terminals can be executed smoothly. .
[0044]
A decoding processing device according to a sixteenth aspect of the present invention is a decoding processing device mounted on a receiving terminal that receives audio data encoded and compressed from a transmitting terminal connected via a communication line, An input buffer for storing the encoded data transmitted from the transmitting terminal, a decoder for decoding the encoded data stored in the input buffer, and the decoded data decoded by the decoder A time difference between the output buffer, the time information of the transmitting terminal and the time information of the receiving terminal is calculated, and the input amount of encoded data from the input buffer to the decoder is controlled according to the time difference. The difference between the input buffer management unit, the amount of decoded data stored in the output buffer at the current time, and the amount of decoded data stored in the output buffer at the time of previous processing The calculated, employs a configuration and an output buffer management unit for adjusting the data output amount to the regenerator from the output buffer in accordance with the difference amount.
[0045]
According to these configurations, the decoding processing amount of the decoding processing unit is controlled by controlling the input amount of the encoded data from the input buffer to the decoder according to the time difference between the transmitting terminal and the receiving terminal. The Thereby, since the difference in the encoded data amount corresponding to the time difference is absorbed by the input buffer, it is possible to avoid overflow and underflow of the reception buffer for storing the encoded data packet from the communication line.
[0046]
Further, since the data output amount from the output buffer to the regenerator is adjusted according to the difference in the accumulated amount of decoded data in the output buffer, the write amount from the decoder to the output buffer and the output buffer of the regenerator The generation of annoying noise caused by the difference from the read amount from can be suppressed.
[0047]
In the audio transmission method according to the seventeenth aspect of the present invention, audio data is encoded and compressed from a transmitting terminal to a receiving terminal connected via a communication line and transmitted, and the receiving terminal decodes the audio data. An audio transmission method for reproducing,
Requesting acquisition of time information of the transmitting terminal from the receiving terminal, responding to the request with time information from the transmitting terminal in response to the request, the time information of the transmitting terminal and the time information of the receiving terminal A time difference is calculated, and a decoding processing amount in the receiving terminal is controlled according to the time difference.
[0048]
According to this method, since the amount of decoding processing at the receiving end terminal is controlled according to the time difference between the transmitting terminal and the receiving terminal, overflow and underflow in the buffer in the receiving terminal can be avoided. .
[0049]
According to an eighteenth aspect of the present invention, in the audio transmission method according to the seventeenth aspect, the time information of the transmitting terminal is obtained from the receiving terminal at regular time intervals, and the ratio of the time difference to the time information obtaining interval is obtained. And the amount of decoding processing is controlled by adjusting the timing of decoding processing at the receiving terminal according to the ratio.
[0050]
According to this method, the amount of decoding processing at the receiving terminal is controlled by adjusting the timing of decoding processing at the receiving terminal according to the ratio of the time difference between the transmitting terminal and the receiving terminal with respect to the time information acquisition interval. . Thereby, since a decoding process is performed when a certain amount of encoded data is accumulated, it is possible to avoid overflow and underflow of a reception buffer that accumulates encoded data packets from the communication line.
[0051]
According to a nineteenth aspect of the present invention, in the audio transmission method according to the seventeenth or eighteenth aspect, an amount of decoded data stored in an output buffer in which decoded data decoded by the receiving terminal is stored is determined. Calculating, obtaining a difference amount between the current accumulated amount and the accumulated amount of the decoded data in the output buffer at the previous processing time, and outputting the data output amount from the output buffer to the regenerator according to the difference amount Is to adjust.
[0052]
According to a twentieth aspect of the present invention, in the audio transmission method according to the nineteenth aspect, the accumulated amount of decoded data in the output buffer at the present time is the amount of decoded data in the output buffer at the time of previous processing. While the amount of data output to the regenerator is reduced when the accumulated amount exceeds, the accumulated amount of decoded data in the output buffer at the present time is the amount of decoded data in the output buffer at the time of previous processing. When the accumulated amount falls below, the data output amount to the regenerator is increased.
[0053]
According to this method, the amount of data output from the output buffer to the regenerator is increased or decreased according to the amount of difference in the amount of decoded data stored in the output buffer. The generation of annoying noise caused by the difference from the read amount from the output buffer by the device can be suppressed.
[0054]
According to a twenty-first aspect of the present invention, there is provided a receiving terminal program for receiving encoded and compressed audio data from a transmitting terminal connected via a communication line, wherein the computer transmits the encoded data transmitted from the transmitting terminal. A packet receiving means for receiving a data packet; a decoding processing means for decoding the encoded data packet; a reproducing means for reading the data decoded by the decoding processing means to reproduce audio data; and the transmission Time acquisition means for acquiring time information of the terminal, input buffer management means for controlling the decoding processing amount of the decoding processing means based on the time information acquired by the time acquisition means, and decoding by the reproduction means Output buffer management means for monitoring the amount of data read and adjusting the output amount of decoded data from the decoding processing means to the reproducing means A receiving terminal program for functioning.
[0055]
According to a twenty-second aspect of the present invention, there is provided a transmission terminal program for encoding and compressing audio data to a reception terminal connected via a communication line, and transmitting the computer by encoding the audio data. A packet transmission means for transmitting a data packet and a program of a transmission terminal for functioning as time measurement means for measuring time information of the transmission terminal in response to a request of the program of the reception terminal of the twenty-first aspect.
[0056]
Embodiments according to the present invention will be specifically described below with reference to the drawings.
[0057]
FIG. 1 is a block diagram showing a schematic configuration of an audio transmission system according to an embodiment of the present invention, and a transmission terminal and a reception terminal constituting the audio transmission system.
[0058]
An audio transmission system 100 shown in FIG. 1 connects a transmitting terminal 110 that encodes and transmits audio data and a receiving terminal 120 that reproduces the encoded data after decoding the encoded data via an IP network 150. Configured.
[0059]
The transmission terminal 110 packetizes data obtained by encoding audio data (hereinafter referred to as “encoded data”) and transmits the packetized data to the IP network 150, and the transmission terminal 110 in response to an acquisition request from the reception terminal 120. And a time measurement processing unit 112 that measures time information within the time.
[0060]
More specifically, the transmission processing unit 110 includes a packet transmission unit 113 that packetizes the encoded data and transmits the packetized data to the IP network 150. Further, the time measurement processing unit 112 includes a time measurement unit 114 that measures time information in the transmission terminal 110 in response to an acquisition request from the reception terminal 120.
[0061]
The receiving terminal 120 receives the encoded data packetized from the IP network 150 and depackets it, a decoding processing unit 122 that decodes the encoded data received by the receiving processing unit 121, and a decoding And a playback device 123 that plays back the data decoded by the data processing unit 122 (hereinafter referred to as “decoded data”) as audio data.
[0062]
More specifically, the reception processing unit 121 includes a packet receiving unit 124 that receives encoded data packetized from the IP network 150 and depackets it. In addition, the decoding processing unit 122 includes an input buffer 125 that stores the encoded data depacketized by the packet receiving unit 124, a decoder 126 that decodes the encoded data stored in the input buffer 125, and a decoding An output buffer 127 for storing the decoded data decoded by the device 126 is provided.
[0063]
The receiving terminal 120 also includes an input control processing unit 128 that controls the input amount of encoded data input from the input buffer 125 to the decoder 126, and the decoded data output from the output buffer 127 to the regenerator 123. An output monitoring processing unit 129 that monitors the output amount, and a timer 130 that counts timer values referred to by the input control processing unit 128 and the output monitoring processing unit 139 are provided.
[0064]
More specifically, the input control processing unit 128 is input from the input buffer 125 to the decoder 126 based on the time information acquired from the transmission terminal 110 and the time information acquired by the time acquisition unit 131. An input buffer management unit 132 is provided for controlling the input amount of encoded data. The output monitoring processing unit 129 includes an output buffer management unit 133 that monitors the output amount of the decoded data output from the output buffer 127 to the regenerator 123. The output buffer management unit 133 includes a DMA transfer management unit 134 that controls DMA (Direct Memory Access) transfer from the output buffer 127 to the regenerator 123.
[0065]
The DMA transfer management unit 134 includes the DMA transfer management table 200 shown in FIG. 2, and controls DMA transfer based on information registered in the DMA transfer management table 200.
[0066]
As shown in FIG. 2, the DMA transfer management table 200 includes a write source block address 201, a write destination block address 202, a write block size 203, a read source block address 204, a read destination block address 205, a read block size 206, a reference A DMA data size 207 and a DMA correction size 208 are registered.
[0067]
The write source block address 201 is the address of the output buffer 127 where the decoder 126 starts to write the decoded data, and the write destination block address 202 is the output buffer 127 which finishes writing the decoded data by the decoder 126. In the write block size 203, the data block size when the decoded data by the decoder 126 is written in the output buffer 127 is registered. Note that a DMA transfer size described later is registered in the write block size 203.
[0068]
Further, the read source block address 204 has an address of the output buffer 127 from which the regenerator 123 starts reading the decoded data, and the read destination block address 205 has the output buffer 127 from which the regenerator 123 finishes reading the decoded data. In the read block size 206, the size of the data block when the regenerator 123 reads the decoded data from the output buffer 127 is registered. Note that a DMA transfer size described later is registered in the read block size 206.
[0069]
Further, the reference DMA data size 207 is a data size obtained by dividing the decoded data size in the decoder 126 by N (N is an integer of 2 or more), and the DMA correction size 208 is the output from the output buffer 127 to the regenerator 123. Arbitrary numerical values up to the data size obtained by dividing the DMA transfer size by 2 are registered. Note that the reference DMA data size constitutes a reference value of the data size that is a unit of decoding processing of encoded data in the decoder 126.
[0070]
The timer 130 includes a timer management table 300 shown in FIG. The input control processing unit 128 and the output monitoring processing unit 129 are activated according to the timer value registered in the timer management table 300.
[0071]
As shown in FIG. 3, a time acquisition timer value 301 and a decoding wait timer value 302 are registered in the timer management table 300. The time acquisition timer value 301 is referred to when the input control processing unit 128 is activated, and the decoding wait timer value 302 is referred to when the decoding processing unit is activated.
[0072]
Hereinafter, in the audio transmission system 100 having the above configuration, an operation until the audio data transmitted from the transmission terminal 110 is reproduced by the reception terminal 120 will be described with reference to the flowcharts shown in FIGS.
[0073]
FIG. 4 is a flowchart when transmitting encoded data from the transmission terminal 110 to the reception terminal 120. FIG. 5 is a flowchart when the receiving terminal 120 performs the decoding process of the encoded data. FIG. 6 is a flowchart for monitoring the output buffer 127 of the decoding processing unit 122 in the receiving terminal 120. FIG. 7 is a flowchart for obtaining time information from the transmission terminal 110 and controlling the input amount of encoded data to the decoder 126 based on the time information.
[0074]
First, a flow when transmitting encoded data from the transmission terminal 110 to the reception terminal 120 will be described with reference to FIG. 4A shows an operation flow of the transmission terminal 110, and FIG. 4B shows an operation flow of the reception terminal 120.
[0075]
When transmitting encoded data from the transmission terminal 110 to the reception terminal 120, the transmission processing unit 111 is activated in the transmission terminal 110. First, the transmission processing unit 111 acquires encoded data obtained by encoding audio data instructed by the operator of the transmission terminal 110 (ST401). The acquired encoded data is input to the packet transmission unit 113.
[0076]
The packet transmitter 113 packetizes the encoded data as a RTP (Real-time Transport Protocol) data packet (ST402), and transmits the data packet to the receiving terminal 120 (ST403).
[0077]
In the audio transmission system 100 according to the present embodiment, when transmitting encoded data from the transmission terminal 110 to the reception terminal 120, a well-known RTP / RTCP (RTP Control) defined by RFC1889 is used as a data communication protocol. Protocol).
[0078]
After transmitting the RTP data packet, transmission processing section 111 waits for acquisition of encoded data again until the next encoded data is input (ST404). When encoded data is input, the process returns to ST401, and the processes up to ST404 are repeated.
[0079]
On the other hand, receiving terminal 120 always waits for reception of a data packet from transmitting terminal 110 (ST405). In the reception terminal 120, the reception processing unit 121 is always activated, and reception of the data packet is monitored by the reception processing unit 121.
[0080]
If the data packet is transmitted from transmitting terminal 110, in reception processing section 121, packet receiving section 124 receives the data packet (ST406). If a data packet is received, packet receiving section 124 depackets the data packet (ST407). The depacketized encoded data is written to the input buffer 125 (ST408).
[0081]
When the encoded data has been written to input buffer 125, reception processing section 121 returns the process to ST405 and repeats the processes up to ST408.
[0082]
Next, the flow at the time of performing the decoding process of the encoded data in the receiving terminal 120 is demonstrated using FIG. Note that the flow shown in FIG. 5 is executed by the decoding processing unit 122 in the receiving terminal 120.
[0083]
In order to perform the decoding process, the receiving terminal 120 activates the decoding processing unit 122, but the decoding processing unit 122 uses the timer set with the decoding waiting timer value 301 on the timer management table 300. It is activated when 130 times out (ST501).
[0084]
When activated, the decoding processing unit 122 acquires the encoded data accumulated at the head of the input buffer 125 and inputs the encoded data to the decoder 126 to perform a decoding process on the acquired encoded data ( ST502).
[0085]
Next, decryption processing section 122 sets the address of the memory where the decrypted data obtained by the decryption processing is recorded as write source block address 201 of DMA transfer management table 200 (ST503). Here, the reason why the address of the memory in which the decoded data is recorded is set as the write source block address 201 is to use it when DMA transfer to the output buffer 127 of the decoded data.
[0086]
After setting the write source block address 201, the decoding processing unit 122 adds the reference DMA data size 207 to the current address written to the write destination block address 202 of the DMA transfer management table 200 (ST504). . That is, the address is updated to the address indicated by adding the reference DMA data size 207 to the address currently registered in the write destination block address 202.
[0087]
Next, decoding processing section 122 activates DMA and transfers the decoded data to output buffer 127 (ST505). At this time, the decoding processing unit 122 performs DMA transfer with reference to the write block size 203 indicating the DMA transfer size. If the write block size 203 is not registered, DMA transfer is performed using the reference DMA data size 207 as the DMA transfer size.
[0088]
After starting the DMA transfer of the decoded data, the decoding processing unit 122 waits until receiving an interrupt indicating that the DMA transfer is completed (hereinafter referred to as “DMA transfer completion interrupt”) from the output buffer 127 (ST506).
[0089]
If a DMA transfer completion interrupt is accepted, decoding processing section 122 determines whether or not DMA transfer of decoded data to output buffer 127 has been completed for the decoded data size (ST507). If the decoding data size has not been completed, the process returns to ST504 and the processes up to ST507 are repeated.
[0090]
In the receiving terminal 120 in the audio transmission system 100 according to the present embodiment, the DMA transfer to the output buffer 127 is performed in units of the reference DMA data size obtained by dividing the decoded data size by N (N is an integer). For this reason, the decoding processing unit 122 determines whether or not the processing has been completed for the decoded data size in ST507, so that the DMA transfer is completed with a size smaller than the decoded data size as a decoding processing unit. It is preventing.
[0091]
If the DMA transfer to the output buffer 127 is completed for the decoded data size, the decoding processing unit 122 sets the decoding waiting timer value 302 read from the timer management table 300 in the timer 130 (ST508), and the processing To ST501.
[0092]
Next, a flow when monitoring the output buffer 127 of the decoding processing unit 122 in the receiving terminal 120 will be described with reference to FIG. 6 is executed by the output monitoring processing unit 129 in the receiving terminal 120.
[0093]
In order to monitor the output buffer 127, the receiving terminal 120 activates the output monitoring processing unit 129. The output monitoring processing unit 129 DMA-transfers the decoded data from the output buffer 127 to the regenerator 123. It is activated by a completion interrupt that is output after (ST601).
[0094]
When activated, in the output buffer management unit 133 of the output monitoring processing unit 129, the DMA transfer management unit 134 calculates the number of remaining blocks currently remaining in the output buffer 127 (hereinafter referred to as “current number of remaining blocks”). (ST602). The DMA transfer management unit 134 uses the information registered in the DMA transfer management table 200 to calculate the current number of remaining blocks according to the following formula.
Current number of remaining blocks = (write destination block address 202−read source block address 204) / reference DMA data size 207
[0095]
Since the current remaining block count is calculated using the write destination address 202 and the read source address 204 registered in the DMA transfer management table 200 in this way, the current remaining block count can be obtained quickly and reliably.
[0096]
Next, the output monitoring processor 129 and the calculated number of remaining blocks and the number of remaining blocks at the beginning of DMA transfer of the decoded data to the regenerator 123 (hereinafter referred to as “initial number of remaining blocks”). (ST603). The initial number of remaining blocks is stored in the DMA transfer management unit 134 during the DMA transfer.
[0097]
If the initial number of remaining blocks is equal to the current number of remaining blocks, DMA transfer management section 134 sets the DMA transfer size to reference DMA data size 207 (ST604).
[0098]
On the other hand, when the initial number of remaining blocks is larger than the current number of remaining blocks, DMA transfer management section 134 sets the DMA transfer size to a value obtained by adding DMA correction size 208 to reference DMA data size 207 (ST605).
[0099]
If the initial number of remaining blocks is larger than the current number of remaining blocks, that is, it means that the number of remaining blocks has decreased because the recovered clock of the regenerator 123 exceeds the decoded clock of the decoder 126. To do. For this reason, the DMA transfer size is set to a value obtained by adding the DMA correction size 208 to the reference DMA data size 207, and the DMA transfer size for one time to the regenerator 123 is increased.
[0100]
On the other hand, when the initial number of remaining blocks is smaller than the current number of remaining blocks, DMA transfer management section 134 sets the DMA transfer size to a value obtained by subtracting DMA correction size 208 from reference DMA data size 207 (ST606). ).
[0101]
If the initial number of remaining blocks is smaller than the current number of remaining blocks, this means that the number of remaining blocks has increased because the recovered clock of the regenerator 123 is lower than the decoded clock of the decoder 126. To do. For this reason, the DMA transfer size is set to a value obtained by subtracting the DMA correction size 208 from the reference DMA data size 207 to reduce the size of one DMA transfer to the regenerator 123.
[0102]
The DMA transfer size is the same as the read block size 206 and the write block size 203 registered in the DMA transfer management table 200. Therefore, the DMA transfer management unit 134 sets the DMA transfer size obtained in ST604 to ST606 to the read block size 206 and the write block size 203.
[0103]
After setting the DMA transfer size as in ST604 to ST606, the DMA transfer management unit 134 adds the reference DMA data size 207 to the current address written in the read source block address 204 of the DMA transfer management table 200 (ST607). ). That is, the address currently registered in the read source block address 204 is updated to the address indicated by adding the reference DMA data size 207 to the address.
[0104]
Next, DMA transfer management section 134 activates DMA and transfers the decoded data to regenerator 123 (ST608). At this time, the DMA transfer management unit 134 performs DMA transfer using the transfer size calculated in ST604 to ST606 as the DMA transfer size.
[0105]
After starting the DMA transfer of the decoded data, the DMA transfer manager 134 waits until receiving a DMA transfer completion interrupt from the regenerator 123 (ST609). If a DMA transfer completion interrupt is accepted, DMA transfer management section 134 returns the process to ST601 and repeats the processes up to ST609.
[0106]
In this way, the data output amount from the output buffer 127 to the regenerator 123 according to the difference between the current number of remaining blocks and the initial number of remaining blocks in the output buffer 127 is determined from the reference DMA data size that is a decoding processing unit. Since the data output amount from the decoder 126 to the output buffer 127 is also adjusted accordingly, the write amount from the decoder 126 to the output buffer 127 can be adjusted from a small data size to a large data size. And an unpleasant noise caused by the difference between the read amount from the output buffer 127 by the regenerator 123 can be suppressed.
[0107]
Next, a flow for acquiring time information from the transmission terminal 110 and controlling the input amount of encoded data to the decoder 126 based on the time information will be described with reference to FIG. 7A shows the operation flow of the transmission terminal 110, and FIG. 7B shows the operation flow of the reception terminal 120. 7A is executed by the time measurement processing unit 112 in the transmission terminal 110, and the flow shown in FIG. 7B is executed by the input control processing unit 128 in the reception terminal 120.
[0108]
In order to request time information from the transmission terminal 110, the input control processing unit 128 is activated in the reception terminal 120. The input control processing unit 128 sets the time acquisition timer value 301 on the timer management table 300. When the timer 130 is timed out, it is started (ST701).
[0109]
When activated, in the input control processing unit 128, the time acquisition unit 131 transmits a time information acquisition request to the transmission terminal 110 (ST702). The time information acquisition request is made by a time information acquisition request message based on ICMP (Internet Control Message Protocol) known as RFC 792, an NTP (Network Time Protocol) known as RFC 1305, or the like.
[0110]
When the time information acquisition request is received by transmission terminal 110, time information acquisition response is returned from transmission terminal 110, and time acquisition section 131 receives this (ST703).
[0111]
If the time information acquisition response is received, the time acquisition unit 131 passes the time information included therein to the input buffer management unit 132. Upon receiving this time information, input buffer management section 132 calculates the difference between the current time at receiving terminal 120 and the time at transmitting terminal 110 (ST704). Specifically, the time difference is calculated by obtaining the difference between the current time information at the receiving terminal 120 and the time information acquired from the transmitting terminal 110.
[0112]
Note that the time difference calculated here indicates a time lag between the transmission terminal 110 and the reception terminal 120 from the previous time information acquisition time to the current time information acquisition time. In other words, this indicates the accuracy difference between the transmission timing clock at the transmission terminal 110 and the reception timing clock at the reception terminal 120.
[0113]
After calculating the time difference in ST704, input buffer management section 132 sets the time acquired from transmitting terminal 110 as the current time of receiving terminal 120 (ST705).
[0114]
Next, input buffer management section 132 calculates correction factor σ of decoding wait timer value 302 (ST706). The input buffer management unit 132 calculates the correction rate σ of the decoding wait timer value 302 by the following equation.
σ = Δt / ΔT
Note that the time difference calculated in ST704 is Δt, the time acquisition timer value 301 registered in the timer management table 300 is ΔT, and the correction rate of the decoding wait timer value 302 is σ.
[0115]
The input buffer management unit 132 corrects the decoding wait timer value 302 registered in the timer management table 300 using the correction rate σ of the decoding wait timer value 302 calculated in ST706, and sets the corrected value. It is updated to a new decoding wait timer value 302 (ST707). The input buffer management unit 132 calculates the corrected decoding wait timer value using the following equation.
ΔTf ′ = (1−σ) × ΔTf
Note that the correction rate calculated in ST706 is σ, the current decoding wait timer value 302 is ΔTf, and the corrected decoding wait timer value is ΔTf ′.
[0116]
By correcting the decoding wait timer value 302 in this way, the processing interval of the decoding process in the receiving terminal 120 shown in FIG. 5 is changed. As a result, the processing speed of the encoded data input from the input buffer 125 to the decoder 126 can be synchronized with the transmission timing clock of the transmission terminal 110. As a result, it is possible to avoid overflow or underflow of the reception buffer that stores the encoded data packet from the IP network 150, and as a result, it is possible to reliably avoid the situation where the encoded data is lost.
[0117]
Finally, the input buffer management unit 132 sets the time acquisition timer value 301 read from the timer management table 300 in the timer 130 (ST708), and returns the process to ST701.
[0118]
On the other hand, the transmission terminal 110 always waits for reception of a time information acquisition request from the reception terminal 120. In the transmission terminal 110, the time measurement processing unit 112 is always activated, and reception of a time information acquisition request is monitored by the time measurement processing unit 112.
[0119]
If a time information acquisition request is received (ST709), time measurement processing section 112 measures current time information of transmission terminal 110 (ST710), and transmits the measured time information to reception terminal 120 as a time acquisition response. (ST711). After transmitting the current time information as a time acquisition response to the receiving terminal 120, the time measurement processing unit 112 returns the process to ST709 and repeats the processing up to the processing 711.
[0120]
As described above, according to the audio transmission system 100 of the present embodiment, the reception terminal 120 requests the transmission terminal 110 to acquire time information, and calculates the time difference between the reception terminal 120 and the transmission terminal 110 at regular intervals. . Then, the processing speed for the encoded data input to the decoder 126 is corrected by synchronizing the transmission timing clock of the transmission terminal 110 and the reception timing clock of the reception terminal 120 according to the calculated time difference.
[0121]
As a result, when an overflow is expected in the reception buffer in which the data packet of the encoded data is accumulated prior to the input buffer 125, the decoding processing interval of the decoder 126 is shortened while an underflow is expected. In this case, the decoding processing interval of the decoder 126 is expanded. As a result, overflow and underflow of the reception buffer can be prevented in advance.
[0122]
Further, according to the audio transmission system 100 of the present embodiment, the write destination block address 202 of the DMA transfer performed between the decoder 126 and the output buffer 127 and between the output buffer 127 and the regenerator 123 are performed. The reading source block address 204 of the DMA transfer to be performed is monitored, and a difference in processing speed between writing by the decoder 126 and reading by the regenerator 123 is calculated. Then, the DMA transfer size is increased / decreased according to the calculated difference in processing speed, and the processing amount of the regenerator 123 is increased / decreased.
[0123]
Thereby, the read interval of the decoded data read from the output buffer 127 is synchronized with the write interval to the output buffer 127, and the write block size 203 from the decoder 126 to the output buffer 127 and from the output buffer 127 to the regenerator 123 are synchronized. The boundary size of the read source block address 204 is always kept constant. For this reason, since the remaining amount of the decoded data in the output buffer 127 can be maintained constant, an overflow or underflow of the output buffer 127 can be prevented in advance.
[0124]
As will be apparent to those skilled in the art, the present invention can be implemented using a typical commercially available digital computer and microprocessor programmed according to the techniques described in the above embodiments. Further, as will be apparent to those skilled in the art, the present invention includes a computer program created by a person skilled in the art based on the technique described in the above embodiment.
[0125]
Also included within the scope of the invention are computer program products that are storage media containing instructions that can be used to program a computer that implements the invention. This storage medium is a disk such as a floppy (R) disk, optical disk, CDROM and magnetic disk, ROM, RAM, EPROM, EEPROM, magnetic optical card, memory card or DVD, but is not limited to these. Absent.
[0126]
【The invention's effect】
As described above, according to the present invention, it is possible to avoid data loss due to a difference in processing speed between a receiving terminal and a transmitting terminal while suppressing generation of annoying noise due to signal discontinuity. Play.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of an audio transmission system according to an embodiment of the present invention, and a transmission terminal and a reception terminal constituting the audio transmission system.
FIG. 2 is a configuration diagram of a DMA transfer management table provided in a receiving terminal in the audio transmission system according to the embodiment.
FIG. 3 is a configuration diagram of a timer management table provided in a receiving terminal in the audio transmission system according to the embodiment.
FIG. 4 is a flowchart for transmitting encoded data from a transmission terminal to a reception terminal in the audio transmission system according to the embodiment.
FIG. 5 is a flowchart when decoding processing is performed in the receiving terminal of the audio transmission system according to the embodiment.
FIG. 6 is a flowchart when monitoring the output buffer of the decoding processing unit in the receiving terminal of the audio transmission system according to the embodiment;
FIG. 7 is a flowchart for obtaining time information from the transmission terminal of the audio transmission system according to the embodiment and controlling the input amount of encoded data to the decoder based on the time information.
FIG. 8 is a block diagram showing a schematic configuration of a receiving terminal of a conventional audio transmission system.
[Explanation of symbols]
100 audio transmission system
110 Sending terminal
120 receiving terminal
111 Transmission processing unit
112 Time measurement processor
113 Packet transmitter
114 Time measurement unit
121 Reception processing unit
122 Decoding processing unit
123 Regenerator
124 packet receiver
125 input buffers
126 Decoder
127 Output buffer
128 Input control processor
129 Output monitoring processor
130 timer
131 Time acquisition unit
132 Input buffer management unit
133 Output buffer management unit
134 DMA transfer manager
200 DMA transfer management table
300 Timer management table

Claims (22)

送信端末から通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信するオーディオ伝送システムであって、
前記送信端末は、オーディオデータを符号化した符号化データパケットを送信するパケット送信部と、前記受信端末の要求に応じて当該送信端末の時刻情報を計測する時刻計測部とを備え、前記受信端末は、前記符号化データパケットを受信するパケット受信部と、前記符号化データパケットを復号化する復号化処理部と、前記復号化処理部で復号化されたデータを読み出してオーディオデータを再生する再生器と、前記送信端末の時刻情報を取得する時刻取得部と、前記時刻取得部が取得した時刻情報をもとに前記復号化処理部の復号化処理量を制御する入力バッファ管理部と、前記再生器による復号化データの読み出し量を監視し前記復号化処理部から前記再生器への復号化データの出力量を調整する出力バッファ管理部とを備えることを特徴とするオーディオ伝送システム。
An audio transmission system that encodes and compresses audio data from a transmitting terminal to a receiving terminal connected via a communication line,
The transmission terminal includes a packet transmission unit that transmits an encoded data packet obtained by encoding audio data, and a time measurement unit that measures time information of the transmission terminal in response to a request from the reception terminal, A packet receiving unit that receives the encoded data packet, a decoding processing unit that decodes the encoded data packet, and a reproduction that reads the data decoded by the decoding processing unit and reproduces audio data A time acquisition unit that acquires time information of the transmission terminal, an input buffer management unit that controls a decoding processing amount of the decoding processing unit based on the time information acquired by the time acquisition unit, An output buffer management unit that monitors the read amount of the decoded data by the regenerator and adjusts the output amount of the decoded data from the decoding processing unit to the regenerator. Audio transmission system according to claim.
前記復号化処理部は、前記パケット受信部からの符号化データを蓄積する入力バッファと、前記入力バッファに蓄積された符号化データを復号化する復号化器と、前記復号化器が復号化した復号化データを蓄積する出力バッファと、を備えることを特徴とする請求項1記載のオーディオ伝送システム。The decoding processing unit includes an input buffer for storing encoded data from the packet receiving unit, a decoder for decoding the encoded data stored in the input buffer, and the decoder The audio transmission system according to claim 1, further comprising an output buffer for storing decoded data. 前記復号化器は、符号化データの復号化処理単位であるデータサイズを基準値とし、当該基準値よりも小さいデータサイズ、当該基準値と同一のデータサイズ又は当該基準値よりも大きいデータサイズを選択して出力量を調整して前記出力バッファに書き込む一方、前記再生器は、前記復号化器が出力するデータサイズと同一のデータサイズで前記出力バッファから復号化データを読み出すことを特徴とする請求項2記載のオーディオ伝送システム。The decoder uses a data size that is a decoding processing unit of encoded data as a reference value, a data size that is smaller than the reference value, a data size that is the same as the reference value, or a data size that is larger than the reference value. While selecting and adjusting the output amount and writing to the output buffer, the regenerator reads the decoded data from the output buffer with the same data size as the data size output by the decoder The audio transmission system according to claim 2. 前記入力バッファ管理部は、前記送信端末の時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記入力バッファから前記復号化器への符号化データの入力量を制御することで前記復号化処理部の復号化処理量を制御することを特徴とする請求項2又は請求項3記載のオーディオ伝送システム。The input buffer management unit calculates a time difference between the time information of the transmission terminal and the time information of the reception terminal, and an input amount of encoded data from the input buffer to the decoder according to the time difference The audio transmission system according to claim 2 or 3, wherein the decoding processing amount of the decoding processing unit is controlled by controlling the decoding process. 前記時刻取得部は、一定時間間隔で前記送信端末の時刻情報を取得し、前記入力バッファ管理部は、前記時刻取得部による時刻情報の取得間隔に対する前記時刻差分の比率を求め、当該比率に応じて前記復号化器が前記入力バッファから符号化データを取得するタイミングを調整することで前記復号化器への符号化データの入力量を制御することを特徴とする請求項4記載のオーディオ伝送システム。The time acquisition unit acquires time information of the transmitting terminal at a fixed time interval, and the input buffer management unit obtains a ratio of the time difference with respect to the time information acquisition interval by the time acquisition unit, and according to the ratio 5. The audio transmission system according to claim 4, wherein the input amount of the encoded data to the decoder is controlled by adjusting a timing at which the decoder acquires the encoded data from the input buffer. . 前記出力バッファ管理部は、現時点における前記出力バッファ内の復号化データの蓄積量と、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて前記出力バッファから前記再生器へのデータ出力量を調整することを特徴とする請求項2から請求項5のいずれかに記載のオーディオ伝送システム。The output buffer management unit obtains a difference amount between the accumulation amount of the decoded data in the output buffer at the current time and the accumulation amount of the decoded data in the output buffer at the time of the previous processing, and determines the difference amount 6. The audio transmission system according to claim 2, wherein a data output amount from the output buffer to the player is adjusted accordingly. 前記出力バッファ管理部は、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を上回った場合に前記再生器へのデータ出力量を減少させる一方、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を下回った場合に前記再生器へのデータ出力量を増加させることを特徴とする請求項6記載のオーディオ伝送システム。The output buffer management unit stores data to the regenerator when the amount of decoded data stored in the output buffer at the current time exceeds the amount of decoded data stored in the output buffer at the time of previous processing. While reducing the output amount, the data stored in the regenerator when the accumulated amount of decoded data in the output buffer at the current time is lower than the accumulated amount of decoded data in the output buffer at the time of the previous processing. The audio transmission system according to claim 6, wherein the output amount is increased. 前記出力バッファ管理部は、前記復号化器が書き込んだ復号化データの終端アドレスを示す書き込み先アドレスと、前記再生器が読み出す復号化データの始端アドレスを示す読み出し元アドレスとを含む情報が登録された管理テーブルを備え、前記書き込み先アドレスから前記読み出し元アドレスを差し引いた値を、符号化データの復号化処理単位であるデータサイズを基準値として、当該基準値で割ることで現時点における前記出力バッファ内の復号化データの蓄積量を算出することを特徴とする請求項6又は請求項7記載のオーディオ伝送システム。The output buffer management unit registers information including a write destination address indicating the end address of the decoded data written by the decoder and a read source address indicating the start address of the decoded data read by the regenerator. The output buffer at the present time by dividing a value obtained by subtracting the read source address from the write destination address by using the data size that is a decoding processing unit of encoded data as a reference value 8. The audio transmission system according to claim 6, wherein an accumulation amount of the decoded data is calculated. 前記書き込み先アドレス及び前記読み出し元アドレスは、前記復号化器が出力するデータサイズの増減によらず、前記基準値を加算して更新していくことを特徴とする請求項8記載のオーディオ伝送システム。9. The audio transmission system according to claim 8, wherein the write destination address and the read source address are updated by adding the reference value regardless of increase or decrease in the data size output by the decoder. . 通信回線を介して接続された送信端末から符号化圧縮されたオーディオデータを受信する受信端末であって、
オーディオデータが符号化された符号化データパケットを受信するパケット受信部と、前記符号化データパケットを復号化する復号化処理部と、前記復号化処理部で復号化されたデータを読み出してオーディオデータを再生する再生器と、前記送信端末の時刻情報を取得する時刻取得部と、前記時刻取得部が取得した時刻情報をもとに前記復号化処理部の復号化処理量を制御する入力バッファ管理部と、前記再生器による復号化データの読み出し量を監視し前記復号化処理部から前記再生器への復号化データの出力量を調整する出力バッファ管理部と、を備えることを特徴とする受信端末。
A receiving terminal for receiving encoded and compressed audio data from a transmitting terminal connected via a communication line;
A packet receiving unit that receives an encoded data packet in which audio data is encoded, a decoding processing unit that decodes the encoded data packet, and data that is decoded by the decoding processing unit to read audio data An input buffer management for controlling a decoding processing amount of the decoding processing unit based on the time information acquired by the time acquisition unit And an output buffer management unit that monitors the read amount of the decoded data by the regenerator and adjusts the output amount of the decoded data from the decoding processing unit to the regenerator. Terminal.
前記復号化処理部は、前記パケット受信部からの符号化データを蓄積する入力バッファと、前記入力バッファに蓄積された符号化データを復号化する復号化器と、前記復号化器が復号化した復号化データを蓄積する出力バッファと、を備えることを特徴とする請求項10記載の受信端末。The decoding processing unit includes an input buffer for storing encoded data from the packet receiving unit, a decoder for decoding the encoded data stored in the input buffer, and the decoder The receiving terminal according to claim 10, further comprising an output buffer for storing decoded data. 前記復号化器は、符号化データの復号化処理単位であるデータサイズを基準値とし、当該基準値よりも小さいデータサイズ、当該基準値と同一のデータサイズ又は当該基準値よりも大きいデータサイズを選択して出力量を調整して前記出力バッファに書き込む一方、前記再生器は、前記復号化器が出力するデータサイズと同一のデータサイズで前記出力バッファから復号化データを読み出すことを特徴とする請求項11記載の受信端末。The decoder uses a data size that is a decoding processing unit of encoded data as a reference value, a data size that is smaller than the reference value, a data size that is the same as the reference value, or a data size that is larger than the reference value. While selecting and adjusting the output amount and writing to the output buffer, the regenerator reads out the decoded data from the output buffer with the same data size as the data size output from the decoder The receiving terminal according to claim 11. 前記入力バッファ管理部は、前記送信端末の時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記入力バッファから前記復号化器への符号化データの入力量を制御することで前記復号化処理部の復号化処理量を制御することを特徴とする請求項11又は請求項12記載の受信端末。The input buffer management unit calculates a time difference between the time information of the transmission terminal and the time information of the reception terminal, and an input amount of encoded data from the input buffer to the decoder according to the time difference The receiving terminal according to claim 11, wherein the decoding processing amount of the decoding processing unit is controlled by controlling 前記時刻取得部は、一定時間間隔で前記送信端末の時刻情報を取得し、前記入力バッファ管理部は、前記時刻取得部による時刻情報の取得間隔に対する前記時刻差分の比率を求め、当該比率に応じて前記復号化器が前記入力バッファから符号化データを取得するタイミングを調整することで前記復号化器への符号化データの入力量を制御することを特徴とする請求項13記載の受信端末。The time acquisition unit acquires time information of the transmitting terminal at a fixed time interval, and the input buffer management unit obtains a ratio of the time difference with respect to the time information acquisition interval by the time acquisition unit, and according to the ratio 14. The receiving terminal according to claim 13, wherein the input amount of the encoded data to the decoder is controlled by adjusting a timing at which the decoder acquires the encoded data from the input buffer. 通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信する送信端末であって、
オーディオデータを符号化した符号化データパケットを送信するパケット送信部と、請求項10から請求項14のいずれかに記載の受信端末の要求に応じて当該送信端末の時刻情報を計測する時刻計測部と、を備えることを特徴とする送信端末。
A transmission terminal that encodes and compresses audio data to a reception terminal connected via a communication line,
A packet transmission unit that transmits an encoded data packet obtained by encoding audio data, and a time measurement unit that measures time information of the transmission terminal in response to a request from the reception terminal according to any one of claims 10 to 14. A transmission terminal comprising:
通信回線を介して接続された送信端末から符号化圧縮されたオーディオデータを受信する受信端末に搭載される復号化処理装置であって、
前記送信端末から送信された符号化データを蓄積する入力バッファと、前記入力バッファに蓄積された符号化データを復号化する復号化器と、前記復号化器が復号化した復号化データを蓄積する出力バッファと、前記送信端末の時刻情報と当該受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記入力バッファから前記復号化器への符号化データの入力量を制御する入力バッファ管理部と、現時点における前記出力バッファ内の復号化データの蓄積量と、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて前記出力バッファから再生器へのデータ出力量を調整する出力バッファ管理部と、を備えることを特徴とする復号化処理装置。
A decoding processing device mounted on a receiving terminal that receives audio data encoded and compressed from a transmitting terminal connected via a communication line,
An input buffer for storing the encoded data transmitted from the transmitting terminal, a decoder for decoding the encoded data stored in the input buffer, and the decoded data decoded by the decoder A time difference between the output buffer, the time information of the transmitting terminal and the time information of the receiving terminal is calculated, and the input amount of encoded data from the input buffer to the decoder is controlled according to the time difference. Determine the difference between the input buffer management unit, the amount of decoded data stored in the output buffer at the current time, and the amount of decoded data stored in the output buffer at the time of previous processing, and according to the difference And an output buffer management unit for adjusting a data output amount from the output buffer to the regenerator.
送信端末から通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信し、受信端末で復号化してオーディオデータを再生するオーディオ伝送方法であって、
前記受信端末から前記送信端末の時刻情報の取得を要求し、この要求に応じて前記送信端末から時刻情報を前記受信端末に応答し、当該送信端末の時刻情報と前記受信端末の時刻情報との時刻差分を算出し、当該時刻差分に応じて前記受信端末における復号化処理量を制御することを特徴とするオーディオ伝送方法。
An audio transmission method in which audio data is encoded and compressed and transmitted from a transmitting terminal to a receiving terminal connected via a communication line, and the audio data is decoded and reproduced by the receiving terminal,
Requesting acquisition of time information of the transmitting terminal from the receiving terminal, responding to the request with time information from the transmitting terminal in response to the request, the time information of the transmitting terminal and the time information of the receiving terminal An audio transmission method characterized by calculating a time difference and controlling a decoding processing amount in the receiving terminal according to the time difference.
前記受信端末から一定時間間隔で前記送信端末の時刻情報を取得し、当該時刻情報の取得間隔に対する前記時刻差分の比率を求め、当該比率に応じて前記受信端末における復号化処理のタイミングを調整することで復号化処理量を制御することを特徴とする請求項17記載のオーディオ伝送方法。The time information of the transmitting terminal is acquired from the receiving terminal at regular time intervals, the ratio of the time difference to the time information acquisition interval is obtained, and the timing of the decoding process at the receiving terminal is adjusted according to the ratio 18. The audio transmission method according to claim 17, wherein the decoding processing amount is controlled by this. 前記受信端末で復号化した復号化データが蓄積される出力バッファ内の現時点における復号化データの蓄積量を算出し、当該現時点における蓄積量と以前に処理した時点における前記出力バッファ内の復号化データの蓄積量との差異量を求め、当該差異量に応じて前記出力バッファから再生器へのデータ出力量を調整することを特徴とする請求項17又は請求項18記載のオーディオ伝送方法。The storage amount of the present decoded data in the output buffer in which the decoded data decoded by the receiving terminal is stored is calculated, and the current storage amount and the decoded data in the output buffer at the time of previous processing are calculated. 19. The audio transmission method according to claim 17 or 18, wherein a difference amount with respect to a storage amount is obtained, and a data output amount from the output buffer to the player is adjusted according to the difference amount. 現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を上回った場合に前記再生器へのデータ出力量を減少させる一方、現時点における前記出力バッファ内の復号化データの蓄積量が、以前に処理した時点における前記出力バッファ内の復号化データの蓄積量を下回った場合に前記再生器へのデータ出力量を増加させることを特徴とする請求項19記載のオーディオ伝送方法。When the accumulated amount of decoded data in the output buffer at the current time exceeds the accumulated amount of decoded data in the output buffer at the time of previous processing, the data output amount to the regenerator is reduced. Increasing the amount of data output to the regenerator when the amount of decoded data stored in the output buffer at the current time is less than the amount of decoded data stored in the output buffer at the time of previous processing; 20. The audio transmission method according to claim 19, wherein: 通信回線を介して接続された送信端末から符号化圧縮されたオーディオデータを受信する受信端末のプログラムであって、
コンピュータを、前記送信端末から送信された符号化データパケットを受信するパケット受信手段と、前記符号化データパケットを復号化する復号化処理手段と、前記復号化処理手段で復号化されたデータを読み出してオーディオデータを再生する再生手段と、前記送信端末の時刻情報を取得する時刻取得手段と、前記時刻取得手段が取得した時刻情報をもとに前記復号化処理手段の復号化処理量を制御する入力バッファ管理手段と、前記再生手段による復号化データの読み出し量を監視し前記復号化処理手段から前記再生手段への復号化データの出力量を調整する出力バッファ管理手段として機能させるための受信端末のプログラム。
A program for a receiving terminal that receives audio data encoded and compressed from a transmitting terminal connected via a communication line,
A computer reads packet data receiving means for receiving an encoded data packet transmitted from the transmitting terminal, decoding processing means for decoding the encoded data packet, and data decoded by the decoding processing means. A playback unit that plays back audio data, a time acquisition unit that acquires time information of the transmission terminal, and a decoding processing amount of the decoding processing unit based on the time information acquired by the time acquisition unit. A receiving terminal for functioning as an input buffer management means and an output buffer management means for monitoring the read amount of the decoded data by the reproducing means and adjusting the output amount of the decoded data from the decoding processing means to the reproducing means Program.
通信回線を介して接続された受信端末に対してオーディオデータを符号化圧縮して送信する送信端末のプログラムであって、
コンピュータを、オーディオデータを符号化した符号化データパケットを送信するパケット送信手段と、請求項21記載の受信端末のプログラムの要求に応じて当該送信端末の時刻情報を計測する時刻計測手段として機能させるための送信端末のプログラム。
A transmission terminal program that encodes and compresses audio data to a reception terminal connected via a communication line,
23. A computer functioning as packet transmission means for transmitting an encoded data packet in which audio data is encoded, and time measurement means for measuring time information of the transmission terminal in response to a request for a program of the reception terminal according to claim 21. Program of the sending terminal for.
JP2002251865A 2002-08-29 2002-08-29 Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor Expired - Fee Related JP3996819B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002251865A JP3996819B2 (en) 2002-08-29 2002-08-29 Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002251865A JP3996819B2 (en) 2002-08-29 2002-08-29 Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor

Publications (2)

Publication Number Publication Date
JP2004096239A JP2004096239A (en) 2004-03-25
JP3996819B2 true JP3996819B2 (en) 2007-10-24

Family

ID=32058334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002251865A Expired - Fee Related JP3996819B2 (en) 2002-08-29 2002-08-29 Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor

Country Status (1)

Country Link
JP (1) JP3996819B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4597826B2 (en) * 2005-09-16 2010-12-15 ティーオーエー株式会社 COMMUNICATION DEVICE, ITS COMMUNICATION METHOD, COMMUNICATION PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE COMMUNICATION PROGRAM
JP2008051862A (en) * 2006-08-22 2008-03-06 Alpine Electronics Inc Voice reproducing apparatus
JP5971550B2 (en) * 2011-03-28 2016-08-17 ヤマハ株式会社 Audio data input device and output device
CN113873338B (en) * 2021-09-17 2023-08-04 深圳爱特天翔科技有限公司 Data transmission method, terminal device and computer readable storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122681A (en) * 1998-10-20 2000-04-28 Victor Co Of Japan Ltd Sound data synchronizing regenerator
JP2000332802A (en) * 1999-05-24 2000-11-30 Sony Corp Communication method, communication system, communication terminal and repeater
JP2001189933A (en) * 1999-12-28 2001-07-10 Fujitsu Ltd Decoding buffer controller
JP2002033722A (en) * 2000-07-18 2002-01-31 Sharp Corp Decoder
JP3857533B2 (en) * 2001-03-21 2006-12-13 株式会社日立製作所 Signal receiving apparatus and signal receiving method

Also Published As

Publication number Publication date
JP2004096239A (en) 2004-03-25

Similar Documents

Publication Publication Date Title
KR101868280B1 (en) Information processing apparatus, information processing method, and computer-readable recording medium
US7870281B2 (en) Content playback device, content playback method, computer-readable storage medium, and content playback system
CN106686438B (en) method, device and system for synchronously playing audio images across equipment
EP1817680A1 (en) Methods for streaming media data
JP2007295038A (en) Moving video reproducer and reproduction method
JP2006211602A (en) Data transmitter and program
WO2014134932A1 (en) Method and device for estimating temporary storage status
JP5282383B2 (en) Content reproduction apparatus, content reproduction method, program, and content reproduction system
JP3996819B2 (en) Audio transmission system, receiving terminal, transmitting terminal, decoding processing apparatus, and audio transmission method used therefor
WO2007074520A1 (en) Distributing apparatus and reproducer
JP5440839B2 (en) Information processing apparatus and method, and program
JP5135147B2 (en) Video file transmission server and operation control method thereof
TWI237806B (en) Audio decoding system with ring buffer and method thereof
US9264720B2 (en) Apparatus and method for multimedia service
JP4490437B2 (en) Method and apparatus for offset interleaving vocoder frames
JP5947273B2 (en) Transmitter, data processing method and data transmission / reception system
CN1627418A (en) Audio/video reproduction apparatus
JP4289138B2 (en) Data processing apparatus and method and encoding apparatus
JP2005149029A (en) Content delivery system, content server, content receiving device, content delivery method, program and recording medium
KR100931344B1 (en) Method for providing video streaming service and system, server and user terminal for same
JP2008193227A (en) Moving picture reproducing apparatus
CN118509651A (en) Video data encapsulation method and device, electronic equipment and storage medium
JP2001016585A (en) Video storage/reproduction method and device
JP2016040919A (en) Information processor, information processing method, and program
JP3773892B2 (en) Digital recording / reproducing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070803

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees