JP2001313717A - 受信パケットを処理する電子システムおよび方法 - Google Patents

受信パケットを処理する電子システムおよび方法

Info

Publication number
JP2001313717A
JP2001313717A JP2001083007A JP2001083007A JP2001313717A JP 2001313717 A JP2001313717 A JP 2001313717A JP 2001083007 A JP2001083007 A JP 2001083007A JP 2001083007 A JP2001083007 A JP 2001083007A JP 2001313717 A JP2001313717 A JP 2001313717A
Authority
JP
Japan
Prior art keywords
packet
deadline
packets
time
egress
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.)
Abandoned
Application number
JP2001083007A
Other languages
English (en)
Inventor
Andrew M Welin
エム、ウイリン アンドリュー
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2001313717A publication Critical patent/JP2001313717A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1106Call signalling protocols; H.323 and related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6464Priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6481Speech, voice
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6494Silence suppression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 パケット利用メディアの改善されたパケット
スケジューリングのためのシステム、プロセスおよび集
積回路を提供する。 【解決手段】 情報の第1および第2の受信パケット1
125の処理方法は、受信パケットのそれぞれのために
デッドライン間隔DIを計算し、次に、それぞれのデッ
ドライン間隔に従って、第1および第2の受信パケット
の処理を順序付ける。単一チップ集積回路511が、プ
ロセッサ回路511および組込み電子命令を有するエグ
レスパケット制御装置581を形成し、この制御装置
は、プロセッサ回路においてエグレススケジューリング
リスト構造1431および諸動作を設定し、それらの動
作は、パケットデッドライン間隔DIを抽出し、パケッ
トをデッドライン間隔に従ってエグレススケジューリン
グリスト内に配置し、それらのパケットをデッドライン
間隔に依存する優先順位に従ってデコードするデコーダ
555を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケット通信、殊
にパケットを用いる音声、オーディオ、画像、ビデオ、
および他のリアルタイム情報のようなリアルタイム情報
の通信のための、集積回路、ネットワーク技術、システ
ム、およびプロセスの分野に関する。
【0002】
【従来の技術】パケット内の圧縮音声のことごとくのフ
レームに対し、そのパケットの損失は、そのパケット内
のそれぞれのフレームの損失を意味する。その場合、1
60ビットまたはそれ以上の失われた圧縮音声を、どの
ようにして作成すべきかの問題が発生する。パケット損
失の低減と、最近のパケット処理の戦略とは、VOP技
術を進歩させる上で極めて重要な挑戦である。
【0003】電話は、デュプレックスチャネルを用い
る。パケット電話の場合には、1つの側(イングレス
(ingress)側)は音声またはディジタル化され
た音声(PCMデータ)を受け、いくつかの圧縮プロセ
スのいずれかを用いてパケットを発生する。このイング
レス側は、ほとんど完全に「同期的」である。音声は、
フレームへ変化せしめられる。与えられたデータ圧縮プ
ロセスのためのフレームのサイズは固定される。
【0004】パケット電話の他の側(エグレス(egr
ess)側)においては、パケットはPCMフレームへ
変換され、それら(フレーム)は、それぞれのチャネル
のための出力バッファへ印加される。それらのパケット
は、平均のみが知られているレートで到着する。この平
均は、用いられるプロセスに依存し、従って、発生され
るべきフレームサイズに依存する。出力バッファからの
データは、一定レートで出力される。もしタイミングよ
く補充されなければ、データは尽きてしまう。
【0005】
【発明が解決しようとする課題】本発明は、パケット利
用メディアの改善されたパケットスケジューリングのた
めのシステム、プロセスおよび集積回路を提供する。
【0006】
【課題を解決するための手段】本発明の1つの形式にお
いては、リアルタイム情報の第1および第2の受信パケ
ットの処理方法は、前記受信パケットのそれぞれのため
にそれぞれのデッドライン間隔を計算するステップと、
前記それぞれのデッドライン間隔に従って、前記第1お
よび第2の受信パケットの処理を順序付けるステップ
と、を含む。
【0007】本発明のもう1つの形式においては、単一
チップ円形時間差分集積回路は、2つのイベントの時刻
を表す値のための記憶装置を有する。前記記憶装置に結
合した加算器/減算器は、電子的差(Δ)を発生し、そ
の差の値を前記記憶装置へ供給し、それにより前記差の
値(Δ)の符号ビット(S)および最上位ビット(MS
B)を生じる。論理回路は、前記電子的差(Δ)の前記
MSBおよび前記符号ビットSおよび所定値に応答し、
加算器/減算器を駆動して、前記2つのイベントの円形
時間差を発生させる。
【0008】本発明のさらにもう1つの形式において
は、無線電話は、アンテナと、音声トランスジューサ
と、前記音声トランスジューサを前記アンテナに結合さ
せる少なくとも1つの集積回路アセンブリと、を含み、
パケット利用音声の送信と、エグレス情報を処理するイ
ングレス/エグレスパケット制御を含む組込み電子命令
と、を提供し、最低の第1エグレスデッドライン間隔D
Iを決定し、さらに、最低の第1エグレスデッドライン
間隔DIの値が所定量を超えた時に、エグレスプロセス
をプリエンプトするイングレスプロセスを実行する。
【0009】本発明の他の形式は、他のプロセス、集積
回路、チップセット、ラインカードおよび他のコンピュ
ータアドインカード、情報記憶装置、システム、コンピ
ュータ、ゲートウェイ、ルータ、セルラまたは他の無線
電話送受器、無線基地局、機器、およびパケットネット
ワーク、および特許請求の範囲に記載されている他の形
式を包含する。
【0010】
【発明の実施の形態】諸図において、同じ番号は、文脈
が別に指示している場合を除き、同じ部品およびステッ
プに関連している図1は、パケット化された電話の図で
ある。パケット1125(図7も参照)は、音声データ
の1つまたはそれ以上の圧縮された「フレーム」のヘッ
ダと、それらのヘッダのペイロードと、を有するビット
ストリームを含む。RTP(リアルタイムトランスポー
トプロトコル)およびRTCP(RTP制御プロトコ
ル)は、パケットに対しタイムスタンプおよび一連番号
を加え、インタネットプロトコルのようなネットワーク
プロトコルの動作を拡張する。それぞれのフレームは、
適用される圧縮プロセスに依存して、10、20、3
0、または40ミリ秒のディジタル化された音声を含
む。音声信号をディジタル化音声データに変換する電話
標準サンプリング速度は、通常8kHzであるが、他の
速度も適当に用いられる。
【0011】図1においては、電話機101および10
1’は、音声信号の複数のソースおよび宛先を代表す
る。電話機101(の入力および出力)は、間接的にア
ナログディジタル変換器(ADC)およびディジタルア
ナログ変換器(DAC)に接続され、これらの変換器は
ディジタル化された音声を発生し、また受ける。
【0012】図1および図2において、アナログ電気信
号1111は、トランスジューサ(図示されていないオ
ーディオ、光、圧力、温度、または任意の他の物理量)
により発生せしめられ、その後それは、そこの垂直線に
より示されているようにサンプリングされる。これらの
サンプルは数であり、それらがコンピュータ1101に
より、インタネットまたは他のネットワークのような伝
送媒体1121を経て受信コンピュータ1151へ送ら
れる時、それらがもう1つのアナログ信号1161とし
て再構成されうるように、時間的に関係している。コン
ピュータ1101および1151は、1111のタイプ
の多くの信号を同時に処理するように適切に構成されて
いる。
【0013】コンピュータ1101は、ディジタル化デ
ータのフレームを作る。それはインタフェースとして動
作し、その場合、ディジタル信号はページ、またはフレ
ーム、またはバッファへ分解される。コンピュータ処理
における重要イベントは、バッファ割込みである。バッ
ファがデータにより満たされている時は、割込みがバッ
ファにより発生せしめられてプロセッサ1115に結合
し、それによりプロセッサは、処理すべきフルバッファ
のデータを有することを知らされる。
【0014】同様のイベントは、コンピュータ1151
の出力処理においても行われる。コンピュータ1151
は、ページを作成する。パケットの場合には、ページ
は、音声その他のアナログ波形1111から直接に作ら
れず、コンピュータ1151により適切にデコードされ
たパケット1125から作られる。ここでの重要な点
は、ある段階において、コンピュータ1151は、前の
フレームが出力されつつある間に、ページを作り終わっ
て、またはデータフレームをバッファし終わっている可
能性があることである。前のフレームのデータが終わる
時、親ページは動作可能状態になければならず、そうで
なければ、コンピュータ1151が発生している出力波
形の連続性に中断を生じる。パケット1125の、コン
ピュータ1151への到着が遅れたものと仮定しよう。
その場合、中断は通常無音(またはリアルタイム出力に
おけるギャップ)によりちょうど充填され、または雑音
により充填され、または前に受信されたデータのコピー
により充填される。
【0015】図1における電話局は、加入者ラインカー
ドおよびボコーダラインカードを含んでいるように示さ
れている。それぞれのラインカードは、多重線路をサポ
ートするように設計されている。換言すれば、それらは
マルチチャネル動作をサポートするように設計されてい
る。
【0016】図1において、ホストプロセッサ1115
は、それに結合したDSPのC6201を有する。ホス
ト1115は、このホストと、このホストに接続された
ソースまたは宛先と、の間で情報を交換するための、内
部に備えられたハンドシェイクホスト制御プロセスを有
する。このホストは、与えられたチャネルが行っている
ことを制御する。
【0017】3部分イングレスプロセスにおいては、前
記ホストはセンダである。イングレス開始プロセスにお
いて、ホスト1115は、送受器101が取り上げられ
宛先がダイアルされた時にそれを検出し、次にホストは
チャネルを開き、呼の開始を示す信号パケットを送る。
イングレス通信プロセスにおいて、ホストは次にデータ
パケットを宛先に送る。イングレス終了プロセスにおい
て、ホストは送受器101が置かれたかどうかを検出
し、次にホストは呼の終了を示す信号パケットを送るこ
とによりチャネルを閉じる。
【0018】また、ホストは、入接続呼に応答して、エ
グレス開始プロセス、エグレス通信プロセス、およびエ
グレス終了プロセスを行う。エグレス開始プロセスにお
いては、ホスト1115は他のコンピュータから、ホス
ト1115への呼の開始を示す信号パケットを受信す
る。ホスト1115はDSPと対話し、とりわけ、開始
された呼へチャネル番号を割当て、用いられるべきデコ
ードプロセスに、図14および図15のエグレスチャネ
ル記録1413内に記憶されるプロセス識別子を与え
る。このようにして、チャネル記録は、ホストおよびD
SPが用いるチャネルに特徴を与え、そのチャネルが切
断されるまで、そのチャネルに関するDSPの動作を構
成する。
【0019】エグレス通信プロセスにおいて、ホスト1
115は他のコンピュータ1151から音声データパケ
ットを受信し、前記他のコンピュータから音声データパ
ケットが来たチャネルのためのエグレスチャネル記録1
413内のプロセス識別子により識別されたプロセスを
用い、それらをデコードする。図11および図12など
の実施例における改善が行われるのは、まさにこのエグ
レス通信プロセスにおいてであり、それにより、これま
で該改善がないためにプロセスにおいて失われていたパ
ケットが利用されるようになる。
【0020】エグレス終了プロセスにおいて、図1のホ
スト1115は他のコンピュータから、ホスト1115
への呼の終了を示す信号パケットを受信する。ホスト1
115はDSPと対話して、とりわけ、前記チャネルを
閉じ、またエグレスチャネル記録1413を適切に更新
し、解放し、または閉じる。
【0021】エグレス側においては、32チャネル管理
システムが、32チャネルデコーダと組合わされる。こ
のデコーダは単にプログラムであることに注意すべきで
あり、コンピュータは、例えば、5つのデコーダプログ
ラムのセットを有し、それらのプログラムは5つの対応
するデコードプロセスを行い、その1つはG.723で
ありうる。デコーダプログラムの与えられた1つは、ブ
ロック1413におけるデコードプロセスを必要とする
全てのチャネルに、チャネル毎にサービスする。ブロッ
ク1413は、いずれのデコーダが、いずれのチャネル
に割当てられるかを決定する。32チャネルの全ては、
同じデコーダを用いうる。あるいは、もう1つの例とし
て、5チャネルがデコーダ1を用い、12チャネルがデ
コーダ2を用い、9チャネルがデコーダ3を用い、2チ
ャネルがデコーダ4を用い、4チャネルがデコーダ5を
用いることもできる。
【0022】全ての実施例ではないが、多くの実施例
は、インプリメンテーションの与えられたノードにおけ
る同じ装置、システム、またはプロセスにおいて、図1
におけるようなデコーダを有する。しかしなお、他の実
施例は、図2(B)のパケットシャフリングまたはソー
ティングプロセスサイトから、同期ネットワークまたは
非同期ネットワークを経て、物理的に遠隔位置にあるデ
コーダを有する。ネットワークレベルにおいて、図2の
ネットワーク200はシステムを構成し、そこではそれ
ぞれのパケットは、それ自身のハードデッドラインを有
する。多くのパケットは、ネットワーク200内のノー
ドまたはルータ(例えば、133)内へ伝送され、図2
(B)のパケットスケジューリングマネジャーによる優
先順位の順に送り出される。もしいつ音声が始まったか
がわかれば、チャネル遅延データベース1171を用
い、いつパケットが必要になるかがわかる。そのときシ
ステムは、プロセスを全て遠隔のものとするように拡張
され且つ配置され、その場合図2(B)のルータおよび
パケットスケジューリングマネジャーは、バッファ11
63から多くのノードだけ隔たったデコーダ171へ、
1125のようなパケットをどのように送り出すべきか
を決定するプロセスを行う。すなわち、発行器(iss
uer)1165に結合したバッファセレクタ1175
は、さまざまなパケットSLOW(低速)およびFAS
T(高速)をルータから宛先ノードへいつ送り出すべき
かを決定する。このようにして、そうでなければ宛先デ
コーダ171に遅く到着し過ぎるであろうパケットは、
ルーティングプロセスにおいて発行器ブロック1165
により事実上進められて発行され、それによりそれらの
パケットは、経路の終りにあるデコーダ171における
使用に間に合って到着する。
【0023】図2は、ネットワーククラウド(netw
ork cloud)200に結合するコンピュータ2
03および205を示す。もしソース203からの1つ
の経路が断続的なものであれば、パケットが宛先205
に到着しうるようにもう1つの経路が存在するようにさ
れる。ソース203は、本発明により、ネットワーク2
00を通る1つまたはそれ以上の経路を経てパケットお
よび任意の従属パケットを送り出す。インタネットにお
いては、与えられたパケットが取るであろう経路は通常
予測しえず、さまざまなパケットが、インタネットの故
障許容性、多重経路性により異なるルートを取る。中間
ノード231および233などからのデータストリーム
を受信するために、宛先205にはPCまたはワークス
テーションが備えられる。
【0024】さらに図2において、パーソナルコンピュ
ータ203は、マイクロホン261.1と、スピーカ
(および/またはヘッドホンまたは他のオーディオトラ
ンスジューサ)262.1と、キーボード(および/ま
たはマウスまたは他のタッチセンス入力装置)263.
1と、1つまたはそれ以上の情報記憶装置265.1を
含むコンピュータボックス264.1と、マイクロプロ
セッサ、ディジタル信号プロセッサ、揮発性メモリ、周
辺チップセット、および周辺装置を有するプリント配線
板266.1と、を有する。コンピュータボックス26
4.1には、プリント配線板266.1に結合したブラ
ウン管モニタ(および/または液晶ディスプレイ、およ
び/またはディジタル光プロセッサ(テキサスインスツ
ルメンツ社(Texas Instruments I
ncorporated)からのDLPTM技術)および
/または他のディスプレイ装置および/またはプリン
タ)267.1が関連している。テレビ会議用カメラ、
ディジタルスティルカメラ、高光学式スキャナ、心電計
EKG、ワイヤ/電力線/ケーブル/ファイバネットワ
ーク化インタフェース、無線ネットワーク化インタフェ
ース、および他の現在入手可能な装置、またはさらに考
案されるべき装置、のような他の周辺装置(図示せず)
もまたプリント配線板266.1に結合される。モデム
268.1もまた、プリント配線板266.1に結合さ
れる。このモデムは、適切にはV.90音声帯域モデ
ム、ケーブルモデム、DSL(ディジタル加入者線)モ
デム、ISDN(総合ディジタル通信網)または他の適
切なモデムとする。モデム268.1は、パーソナルコ
ンピュータ203を、パケットネットワークのゲートウ
ェイコンピュータおよび公衆電話交換網PSTN285
に結合させる。
【0025】同様の説明は、図2のコンピュータ205
に関連するさまざまな成分にもあてはまり、接尾部
「i」を有する参照番号に対しては、パーソナルコンピ
ュータ203に関連してすでに説明した対応する参照番
号に対してと同様の説明が成立する。また、接尾部
「i」は、コンピュータ205が、パケットネットワー
ク200に、またはPSTN285を経てネットワーク
200へのゲートウェイに、結合する多数のコンピュー
タの1つであることを示す。
【0026】さらに図2において、セル電話機281
は、セルラ電話基地局283のセル内において動作する
多数のセル電話機を代表する。セル電話機281は、手
動入力(タッチパッド、またはボタンパッド、またはキ
ーボード)281.1を有する筐体と、マイクロホン2
81.4と、スピーカ281.5のようなオーディオ出
力トランスジューサと、LCDスクリーンのような可視
インタフェース281.3と、無線アンテナ281.7
と、を有する。セルラ電話機281の内部には、上述の
諸部品に結合した電子回路があり、この電子回路は、マ
イクロホン281.4およびスピーカ281.5を、テ
キサスインスツルメンツ社からのTMS320C54x
xおよび/またはTMS320C55xxというDSP
と、アドバンストRISCマシンズ(Advanced
RISC Machines)がライセンスを有する
ARM(TM)チップのようなマイクロコントローラ
と、を含む集積回路アセンブリに結合させるアナログセ
クションを有する。そのマイクロコントローラはまた、
手動入力281.1と、可視インタフェース281.3
と、に結合している。さらにそのマイクロコントローラ
は、ディジタル信号プロセッサとも結合している。無線
周波数のRFセクションは、他のセクションおよびチッ
プを、ツーウェイおよびマルチウェイ通信のためのアン
テナ281.7に結合させる。
【0027】基地局283および287は、公衆電話交
換網PSTN285に結合し、これはさらにパケットネ
ットワーク200に結合している。また、基地局283
および287は、それぞれゲートウェイ291および2
93を経て、パケットネットワーク200に結合してい
る。基地局287のサービスを受けるセルにおいては、
セル電話機289が、その基地局287のサービスエリ
ア内において動作する多数のセル電話機を代表する。
【0028】構内交換機PBX202は、電話機204
および206をPSTN285に結合する。適切には、
PBX202は、ここで説明される経路ダイバーシチ通
信のために改善される。もう1つのPBX211は、図
示されているように、IP電話機213および215を
パケットネットワーク200のノードに結合させる。
【0029】図3においては、システム成分はゲートウ
ェイ機能を提供するように配置され、セルラ電話の基地
局機能およびPBX機能と組合わされる。通信システム
301は、PSTN(公衆電話交換網)303に対し、
電話機305(および図示されていない多数の有線電話
機およびコードレス電話機に接続されたPBX構内交換
機)に対し、ファックスおよび/またはスキャナマシン
307に対し、またセルラ電話機309に対し、インタ
フェースをなす。PSTN303は、T1/E1フレー
マ311を経てDSQスイッチ341に結合している。
電話機305およびファックス307は、PCMコーデ
ック321を経てDSQスイッチ341に結合してい
る。セルラ電話機309は、無線通信インタフェース3
31を経てDSQスイッチ341に結合している。
【0030】さらに図3において、DSQスイッチ34
1は、さまざまなタイプの通信を、DSPバンク内の1
つまたはそれ以上のDSP(TIのTMS320C6x
またはTMS320C54xというDSPのようなディ
ジタル信号プロセッサ)351、353などからN番目
のDSP355まで、の第1ポートに結合する。それぞ
れのDSPは、適切には、当業者により選択された揮発
性メモリおよび不揮発性メモリの適切な混合として備え
られる関連メモリ361、363、...365のそれ
ぞれを有する。これらのDSPは、前記バンクの第2ポ
ートを経てバス371に接続され、このバスはそれら
を、自身のRAMメモリ383およびフラッシュ不揮発
性メモリ385を有するマイクロコントローラ381に
結合させる。マイクロコントローラ381は、PHYま
たはネットワーク物理インタフェース391を経て、図
2のパケットデータネットワーク200と通信する。
【0031】図3においては、ここで説明される改善の
さまざまな部分は、DSP351、353、...35
5およびマイクロコントローラ(MCU)381へ適切
に分配され、オンチップメモリおよびオフチップメモリ
内に所望されるように記憶される。さまざまな分配の代
案が考えられる。また、もう1つの実施例(図示せず)
においてはMCUが省略され、さまざまなソフトウェア
ブロックが、1つのDSPの実行ユニットの間で、また
は複数のDSPの間で、分配される。
【0032】ここで開示されるソフトウェアはまた、2
03および205のような、図2に示されているコンピ
ュータ内に備えられるか、またはロードされ、また、ネ
ットワーク200の231および233のようなルータ
内、PSTN285に接続されたゲートウェイ内、セル
ラ電話の基地局283および287内、またセルラ電話
機281および289自体内、に備えられる。ウェブテ
レビジョンセットおよび移動ウェブTV内には、システ
ム内のディスプレイ267.1および267.iを駆動
するためのチューナ495および795が含まれてい
る。
【0033】1つのタイプの基地局ネットワーク化の実
施例においては、図2の基地局283および287は、
それら自身のゲートウェイ291および293を経て、
パケットネットワーク200に直接結合している。この
ようにして、基地局283および287は、VoPまた
はVoIPにより、パケットネットワーク200および
バイパスPSTN285を経て通信する。
【0034】セル電話機281および289もまた、C
DPセルラディジタルパケットデータを用い、パケット
ネットワーク200を経てデータグラムを送る。それら
はここで開示されるように、十分なデータ転送速度、か
つ高いQoSのための物理層インタフェース(PHY)
ダイバーシチをもって、VoIPまたはVOPを送るよ
うに、さらに改善される。セル電話機は、物理層インタ
フェース(PHY)を構成し、このインタフェースは、
それをVoPまたはVoIP電話機とするために、図5
および図6におけるような、より高い層のソフトウェア
により補足される。
【0035】セル電話機においては、図5および図6の
ソフトウェアは、ユニット内に製造され、またはダウン
ロードされる。次に、図5および図6のマイクロホン1
61.1、キーボード163.1または.i、モニタ1
67.1または.i、およびスピーカ162.iは、そ
れぞれ図2のセル電話機281のマイクロホン281.
4、手動入力281.1、可視インタフェース281.
3、およびスピーカ281.5により置換される。この
ようにして、有利なセル電話機の実施例が、パケットネ
ットワークにより向上せしめられたQoS VoPおよ
びVoIPおよび他のメディアのパケット通信のために
構成される。
【0036】セル電話機281および289は、適切に
はGPS(全地球測位ソフトウェア)などのような測位
ソフトウェアを備える。それらのセル電話機は、身につ
けられるベルトクリップ281.9および289.9を
有する移動筐体を有し、それらの回路は、図2に示され
ている自動車におけるような自動車の筐体内に適切に取
付けられる。諸ブロックの音声認識制御を有するPCS
(パーソナル通信システム)手首バンド装置および他の
高度のモバイル実施例もまた考慮される。
【0037】図5および図6のソフトウェアプロセスの
ブロックは、当業者が適切に選択した速度、電力、経済
的、および他のトレードオフにより、マイクロコントロ
ーラとDSPとへ分配される。音声コーデックおよびモ
デムは、DSPにより適切に動作する。TCP/UDP
/IPスタックは、DSPにより動作するが、適切には
マイクロコントローラへも分配される。
【0038】セル電話機289が、音声を無線でその基
地局287へ通信するシステムにおいては、基地局28
7はその音声を、図4の無線通信インタフェース331
およびDSP351を経て受信する。次に、ここで考え
られた改善により、その音声は図5のリコーダにより記
録され、基地局287は図5および図6のソフトウェア
ブロックの残りを用い、パケットを図2のパケットネッ
トワーク200へ送る。逆の方向においては、図5およ
び図6に示されているように、ソフトウェアは逆に提供
される。
【0039】さらなるネットワークおよびシステムイン
フラストラクチャの実施例においては、VoIP解決プ
ロバイダ(Solution Provider)が、
パケットネットワーク経路ダイバーシチ通信のために、
図5および図6のソフトウェアによりゲートウェイ29
1および293を改善する。次に、図5および図6のソ
フトウェアにより改善されていない装置の、セル電話機
ユーザおよびセルラ電話基地局オペレータが、彼らの装
置を改善されたゲートウェイ291および293に結合
する。ゲートウェイ291および293はまた、1つま
たはそれ以上の構内交換機(PBX)内へ、アドインプ
リント配線板またはカードとして適切に具備または追加
される。数十、数百、数千の同時呼のような、大量のサ
ービスに対しては、ゲートウェイ191および193お
よびそのようなPBXにおいて実行される、図5および
図6およびここでの別の場所のソフトウェアは、マルチ
チャネルコーデックおよびそれぞれの呼のためのマルチ
チャネルVoIP制御により、多数の音声呼を行うこと
によって、直截的にマルチチャネルサービスを行うよう
にされる。キーボード263.iおよびモニタ267.
iは、マルチチャネルサービスの時折の監視のために、
図5および図6のソフトウェアに対するインタフェース
をなす。
【0040】図5において、パケット音声ディジタル信
号プロセッサ(DSP)511は、図示されているブロ
ックを実現するための組込みソフトウェアを有する集積
回路として具体化される。この集積回路は、米国テキサ
ス州ダラスのテキサスインスツルメンツ社から市販され
ている、TMS320C54x、TMS320C55
x、またはTMS320C54xのDSPファミリ、ま
たは他のそのようなファミリからの任意の適切な選択で
あるような、CMOSのDSPであることを適切とす
る。
【0041】例えば、TMS320C54x固定点DS
Pファミリは、1つのプログラムメモリバスと、3つの
データメモリバスとを有する、進歩した修正ハーバード
アーキテクチャの組合せにより製造される。このプロセ
ッサはまた、高度の並列性およびアプリケーション専用
ハードウェア論理、オンチップメモリ、追加のオンチッ
プ周辺装置、を有する中央演算論理ユニットを備えてい
る。このDSPは、動作上の柔軟性と速度とのために特
殊化された命令セットを用いる。
【0042】分離されたプログラムおよびデータ空間
は、プログラム命令およびデータに対する同時アクセス
を可能にする。単一サイクル内に、2つの読取り動作
と、1つの書込み動作と、が行われうる。並列記憶を用
いる命令と、アプリケーション専用命令とが用いられ
る。データは、データ空間とプログラム空間との間で転
送されうる。並列性は、全てが単一マシンサイクル内に
行われうる演算、論理、およびビット操作の動作の強力
なセットをサポートする。制御機構は、割込み、反復さ
れる動作、および機能呼出しを管理する。オンチップR
AMおよびROMメモリが備えられる。オンチップの周
辺装置は、直列ポートおよびHPIホストポートインタ
フェースを含む。
【0043】図5において、集積回路511は、プロセ
ス実施例のある部分を実行するためにROMまたは他の
不揮発性メモリ内に製造されたソフトウェアにより改善
される。このようにして、図5は、前述のハードウェア
は理解されているものとして、集積回路511内に製造
されたソフトウェアブロックの例を強調している。従っ
て、図5に関しては、ソフトウェアについての説明が次
に行われ、そこでは例えば、「ユニット」とは主として
ソフトウェアのブロックのことであるが、ハードウェア
ブロックももう1つの適切な選択肢ではある。
【0044】図5においては、音声サンプルが、図示さ
れていないアナログディジタル変換器(ADC)からP
CMインタフェース515へ供給され、そこでパルス符
号変調へ変換される。次にこのPCMは、エコーキャン
セラブロック517へ供給され、このブロックはさらに
利得制御ブロック521への供給を行う。利得制御ブロ
ック521は音声アクティビティ検出器531への供給
を行い、この検出器は、音声パケットまたは無音パケッ
トのいずれを発生すべきかを検出する。音声アクティビ
ティ検出器531の出力は、音声コーディングユニット
すなわちエンコーダ551を有する音声コーダ541へ
送られる。音声コーダ541は、当業者により、ここで
考えられる多重コーディング速度モードを有するよう
に、適切に工夫され、具体化される。1つの例として
は、11.8kbps、8kbps、および6.4kb
psの選択可能なソース速度sijを有するG.729
および付加装置が適切に用いられる。次に、イングレス
/エグレス制御ブロック581が、エンコーダ551の
出力をパケットカプセル化ユニット571へ結合させ、
このユニットはそこでDSPからの音声パケットを出力
する。制御ブロック581はまた、それ自身から音声コ
ーディングユニットへ制御信号を供給し、ここで説明さ
れる機能を実現する。
【0045】図5内の受信経路上において、音声パケッ
トはパケットカプセル化ユニット571へ入り、パケッ
ト解除され、イングレス/エグレス制御ユニット581
へ送られる。制御ユニット581は、処理を順序づけ、
かつ従来の技術によっては失われるであろうパケットを
セーブするためのプロセスステップを実行するソフトウ
ェアを有する。宛先は、図5の集積回路511と類似し
た、または同じ、集積回路511’(図示せず)により
適切に改善される。
【0046】パケットプレイアウト制御ユニット581
からは、受信されたパケット解除され圧縮された音声情
報が、次に制御されつつ、音声コーダ541の音声デコ
ーダ555部分へ供給される。ここでのさまざまなプロ
セス実施例のいずれかにより改善されたダイバーシチパ
ケットの使用により、適切にジッタ消去され圧縮された
無音パケットおよび音声パケットは、次に音声デコーダ
555によりデコードされ、それによりプレイアウトさ
れる。このようにしてプレイアウトされた音声は、利得
制御装置521を経てPCMインタフェースへ送られ、
そこから、当業者の選択によりオンチップまたはオフチ
ップのいずれかで備えられうる図示されていないDAC
(ディジタルアナログ変換器)へ送られる。DACによ
り変換されたPCM出力は、このようにして、ここで行
われ、また論じられるさまざまな改善により、ユーザに
とって十分満足できエンジョイできるよう、有利に音声
を再構成する。さらに、DTMF「タッチトーン」発生
器591およびトーン検出器597は、VoP/VoI
P電話呼を行うためのダイヤリングステップを処理し、
ここに論じられているように、改善された包括的アプリ
ケーションを提供する。
【0047】図6においては、RTCPが図3のMCU
381に関連するように、改善が分配される場合を説明
する。イングレス/エグレス制御ブロック581および
他の図5のブロックは、図3のDSPのためのDSPソ
フトウェア補足物内に備えられる。
【0048】図6において、図3のMCU381は、T
CP/UDP/IPスタック611を備え、このスタッ
クはさらに、MAC/ARP、イーサネット(登録商
標)ドライバ、および他のネットワークインタフェース
プロトコルブロックを有する。さらに、MCU381の
ためのネットワーク管理ソフトウェア615は、組込み
ウェブサーバHTTP(ハイパーテキスト転送プロトコ
ル)およびジャバ(Java)アプリケーションのため
の第1ソフトウェアブロックと、SNMPプロトコル、
音声MIB、およびプロトコルMIBのための第2ソフ
トウェアブロックと、TFTPソフトウェアダウンロー
ドのための第3ソフトウェアブロックと、を制御し且つ
それらに対しインタフェースをなす、ネットワーク管理
エージェントを有する。またさらに、MCU381のた
めの電話信号ゲートウェイソフトウェアは、呼処理ソフ
トウェア、アドレス翻訳およびパーシングソフトウェア
を有し、H.323プロトコルは、H.225信号方
式、H.245ソフトウェア、およびRAS/RTCP
ソフトウェアを含む。ブロック619内のRTCP機能
は、TCP/UDP/IPスタック611内のUDP機
能に結合し、またさらに図5のDSP511内のパケッ
トカプセル化ユニットにも結合している。
【0049】DSPインタフェースマネジャーソフトウ
ェアブロック621は、ソフトウェアブロック611、
615、619、および623に結合し、また図5のD
SP511およびこれとの関連で説明したソフトウェア
ブロックと通信する。
【0050】MCU381は、RTOS(マイクロソフ
トのウィンドウズCE、またはシンビアン(Symbi
an)EPOCのようなリアルタイムオペレーティング
システム、およびテキサスインスツルメンツ社からのD
SP511を走らすBIOS TMRTOS)を含むシステ
ムソフトウェア623を走らす。システムソフトウェア
623は、WDTドライバソフトウェア、フラッシュメ
モリマネジャー、BSPソフトウェア、開発およびセル
フテスト(IPQST)ソフトウェア、およびソフトウ
ェアインストールコードを含む。
【0051】図1および図3の多重DSP実施例は、4
つのC54x DSPを有するラインカードにおけるよ
うに、テキサス州ダラスのテキサスインスツルメンツ社
からのいくつかのC54x DSPを用いうる。例え
ば、電話局は、10,000(一万)の電話コールを同
時に処理するために100,000(十万)の線路を有
しうる。従って、電話局においては、多数のDSPおよ
びラインカードが用いられる。また、テキサス州ダラス
のテキサスインスツルメンツ社からのC6x DSP
は、小形化の利点を有する。
【0052】図8は、パケットの到着の時間的モデルを
示す。「現在」と記された垂直分割線の右側のパケット
は、すでに到着したパケットであり、一方、「現在」の
左側のパケットは近い未来に到着しようとしているもの
である。図9の部分であるパケットのキュー151は、
過去を未来から分離する「現在」線に沿っての到着パケ
ットモデルにアラインされている。
【0053】パケットの到着、キューイング、デコーデ
ィング、およびエグレスバッファ181内におけるフレ
ームの配置と同時に行われつつある、もう1つのプロセ
スがさらに存在する。サンプルが、一時に1つのサンプ
ルずつ、エグレスバッファ181から出力されつつあ
る。
【0054】バッファ181Aに着目し、「bfout[現
在]」により示されているポインタに注目する。それ
は、データの前部のアドレスである。以前(図9)に時
刻「現在」と関連していたアドレスbfout,Aは、検索
されてDACへ送られるべき次のサンプルをポイントし
つつある。bfin,Aと名付けられたもう1つのアドレス
は、次のパケットのフレームの未来の第1データワード
をポイントする。これら2つのアドレスの間には、音声
ストリームを作るために送り出される状態になったデー
タが存在する。「RA」と記されたそのデータは、リザ
ーブデータである。
【0055】RAより小さいRBのリザーブを有するチャ
ネルBもまた、図9の右側に示されている。これら2つ
のチャネルにおいて、リザーブは(8,000サンプル
毎秒の)同じ速度で使い尽くされつつある。従って、B
の状態は、Aの状態がクリティカルになる前にクリティ
カルになる。実際に、Bのリザーブは、Aの状態がクリ
ティカルになる前に補充されなければならない。
【0056】音声通信の品質は、もしパケットの処理の
順序がそれぞれのチャネルの必要に依存せしめられれ
ば、改善されうる。量的には、リザーブは次式のように
2つのアドレスの差である。
【0057】
【数1】R=bfout−bfin
【0058】これはリザーブの測度であり、リザーブ内
の音声データワードの数により表される。ここで、クロ
ックサイクルの数として表される時間の測度を考える。
クロックがサンプリングクロックであるものと仮定する
と、その領域内の時間単位の数CAは同じになる。すな
わち、CA=RAである。
【0059】図10は、いくつかのチャネルのためのエ
グレスバッファリザーブの「FIFOメモリ」モデルを
示す。このFIFOメモリモデルは、全てのデータが常
に(バッファの左側にある)出力に向かってシフトされ
るものと仮定している。データ要素がメモリから取り出
される毎に、全ての残りのデータは前方へシフトされ
る。データが追加される時は、それは存在しているデー
タの終りに付加される。
【0060】図10においては、全てのチャネルリザー
ブのリザーブが、ひと目見ただけで比較されうる。同様
に重要なのは、全てのチャネルにおける「現在」がアラ
インされていることである。実際に、それは単一の線と
して示されている。リザーブは、現在に向かって「移
動」することにより、一時に1つのサンプルずつ、8k
Hzの速度で消費される。
【0061】図10は、設計の可能性を示しており、そ
れは、全てのフレームの持続時間が10msec周期の
倍数であるという事実を利用している。その事実は、1
0msecの境界の任意の1つにおける、全てのフレー
ムの開始点のアラインメントを可能にする。図1.4に
おいて、全てのチャネルに対する「現在」が、次の10
msecの境界から、10msec周期の同じ小部分だ
け、従って同じサンプル数だけ、離れていることに注目
すべきである。
【0062】諸フレームの開始点のアラインメントは、
それらのフレームの終りをもアラインする。結果として
(再び図10参照)、全てのリザーブの終りは、10m
secの境界の1つの上に来る。それは、任意のパケッ
トのためのデッドラインもまた、10msecの境界の
1つの上に来ることを意味する。結果として、測定の時
間分解能は、単一サンプル(125μsec)からブロ
ック周期(10msec)へ低下せしめられうる。
【0063】入力および出力のディジタル化された信号
は、フレームへ分割される。このフレームのサイズはボ
コーダプロセスに依存し、10msecから40mse
cまでの範囲にありうる。現在のボコーダプロセスは全
て、10msec、またはデータに相当する80サンプ
ル、の最大公約数を有する。入力および出力双方のサン
プリングされたフレームは、共通の10msecの境界
に沿ってアラインされる。「フレームタスク」または単
に「タスク」は、1つのチャネルにおける1つのフレー
ムのためのCPUアクティビティを意味する。
【0064】(プリエンプションのない場合の最大遅
延)与えられたプロセスにおいて、全てのチャネルは、
そのプロセスの期間内において実行可能でなければなら
ない。計算は、20msのフレームサイズを有する32
チャネルにサービスするプロセスが、それぞれのチャネ
ルにサービスするためには、フレームタスク毎に20/
32msのプロセス実行時間をもたなければならないこ
とを結論する。もしエンコーダがその時間の2/3、デ
コーダがその時間の1/3ならば、デコードおよびエン
コードの上限が決定される。
【0065】図11に示されている1セットの実施例に
おいては、あるアーキテクチャが、もし順番に処理され
ればシステムに対し事実上失われるであろういくらか遅
れて到着するパケットをセーブする。その解決法は、そ
れらのパケットの処理を、それらのデッドラインに依存
して促進する。このタイプの実施例は、例えば、1つま
たはそれ以上のリアルタイムデコーダ1171が、諸パ
ケットを同時に受ける多数の並列バッファ1175.
a、1175.b、1175.c、...1175.q
によりサービスされる多数のメディアチャネルを処理す
る、インフラストラクチャシステムにおいて有用であ
る。パケットバッファ1181は、それら多数のチャネ
ルにおけるパケットを受取る。もしパケットが、パケッ
トC、A、B、Q、B、Q、B、A、Aを保持するバッ
ファ1181から先入れ先出し方式で処理されるとすれ
ば、さまざまな遅れて到着するパケットC、A、Bは、
それらがあまりにも遅過ぎるためにシステムにとって無
用のものとなる。セレクタ1185は、例えば、チャネ
ルバッファ1175.cが殆ど空である場合には、パケ
ットCを「列の先頭まで」移動させることにより、すな
わち、パケットCを末尾バッファ1181から殆ど空の
チャネルバッファ1175.cまで移動させることによ
り、パケットCの処理を促進するプロセスにより動作す
る。このようにして、遅れたパケットCは、役立ちうる
十分な早さで、またはちょうど間に合いさえして、デコ
ーダ1171により利用され、システムの動作を有利に
改善する。
【0066】(チャネルにおける第1データパケットへ
の依存性の除去)図11へ帰ると、VoIPにありうる
問題は、デコーダの出力が、圧縮音声のまさに第1パケ
ット到着の事実により開始され且つそれに依存すること
である。この現象を、ここでは第1パケットへの依存性
と呼ぶ。その第1パケットの、後続パケットに対する到
着遅延の事故が起こると、プロセスは、この事故を悪影
響を及ぼすように伝搬させ、パケットの全ての残部の受
信パフォーマンスを劣化させる。この問題を解決するた
めに、いくつかのパケットを蓄積するバッファ1171
が用いられる。デコードシステム1511は、第1パケ
ットのエグレス出力を遅延させうるようにインテリジェ
ントにされ、それにより後のパケットのデッドラインが
終了する前に、それらのパケットに対する時間のクッシ
ョンを有利にリザーブする。このようにして、例えば、
40ms遅れて到着するパケットは、第1パケットの6
0msのバッファリングの提供により、なお20msの
猶予を受ける。
【0067】このバッファリング時間は、効果的なデッ
ドラインクッションを提供するよう十分長く、かつ、ユ
ーザが応答の音声を聞く前に、ユーザが気づく会話の許
容しえない遅延を生じないよう十分短く選択される。
【0068】このようにして、改善されたデコードシス
テム、装置、およびプロセスは、チャネルにおける第1
パケットの到着遅延の事故に対する、VoIP/VoP
メディアの感度を改善する。対照的に、従来のジッタ除
去バッファは、通信ストリーム内の連続するパケット間
の遅延の変動を単にならすのみである。バッファ117
1は、単一チャネルおよび多重チャネル双方を改善す
る。
【0069】あるいは、第1パケットを、図11のその
チャネルバッファ内において、単にいくつかのスペース
だけ後退させる。この結果は、セレクタソフトウェアを
適切にプログラムすることにより、またはバッファハー
ドウェアを適切に構成することにより、実現される。他
の実施例においては、パケットバッファは凝ったセレク
タプロセス1185を有し、異なるチャネルバッファ1
175.aないし1175.qは不必要である。
【0070】図12のグラフは、デコードのために利用
しうる時間が許す時(右から左へ)、利用しうる時間内
において、まずチャネル毎に1フルフレームのデコード
のみ、次に2フレームのデコード、次に3フレームのデ
コード、などとなることを階段として示している。図1
2のグラフは、システムが利用可能としうる実行時間と
比較して、フレームがデコーディングのために必要とす
る実行時間が長くなるほど、順番付けキューの先頭に対
する、最近の極めて遅れたパケットの順番付けがますま
すクリティカルになることを認識させる。図12の、デ
コードのために利用しうる時間のグラフは、システム
が、イングレスおよびオーバヘッド処理を行うために必
要とする正味の時間を示し、それはここの説明の別の場
所において推定される。ここで論じたように、順番付け
の実施例は、フレーム間隔が短く、全てのチャネルがア
クティブであり、かつDSPが低性能(安価)であると
いう、最も過酷な場合に、最も有利であるという利点を
有する。
【0071】エグレスの方法に関する図13において
は、エグレス1200において動作が開始され、到着パ
ケット受信ステップ1211が行われる。システムは、
ステップ1213により用いられるチャネル記録egr
_chnl_recの編成を有する。チャネル番号は、
対応するチャネル記録をポイントする。ステップ121
3は、与えられたパケットのためのパケットデッドライ
ンを抽出し、チャネル記録egr_chnl_recの
編成を更新する。チャネル記録はデッドライン値を含
み、その値は、RAS(リモートアクセススイッチン
グ)設計が指定する数であり、パケットが無用のものに
なって捨て去られるまでにそのパケットが過ごす10ミ
リ秒(ms)単位の数である。次に、ステップ1215
は、パケットデッドライン値に従って、エグレススケジ
ューリングリストegr_sched_list内にデ
ータのパケットを置く。その後、ステップ1217は、
チャネル記録egr_chnl_recを更新する。こ
の更新ステップ1217は、10ミリ秒の境界上で(ま
たは、別の方法で周期的に)、あるいは代わりに、周期
的、非周期的確定的、または非周期的ランダム、のいず
れかにかかわらずある規則性をもって行われる。
【0072】通常の音声の、音声ストリームを考えよ
う。その音声には、さまざまな無音のスペースが点在し
ている。コンピュータがパケットを受け、それらを音声
に変換ずる時、あるパケットは遅くなり過ぎ、または失
われ、無音により、または減衰、雑音、または内挿デー
タにより置換されなければならない。D/A変換の直前
の無音の場合には、立上り時間および減衰の時定数が用
いられうる。このようにして、そうでない場合には極め
て激しく無音に応答する(例えば、1.76kg/cm
2(25psi)であると予測された圧力がゼロという
結果になる)プロセス制御システムにおいて、「無音」
または「ゼロ」フレームは、システムアプリケーション
において適切な立上りおよび減衰を備えるように処理さ
れる。
【0073】音声領域においては、無音フレームまたは
無音パケットは、ある量の無音の時間を含み、パケット
毎に送られうる。無音パケットがキューに入る時は、こ
こでのプロセス実施例はデコードプロセスをバイパスし
て、直接デコーダの出力側へ進み、無音の期間を作る。
もし無音パケットが遅れて到着しても、それはキュー内
において、ステップ1215に関連して上述した音声パ
ケットのようには前進せしめられない。従って、パケッ
トの、音声パケットであるか、無音パケットであるかの
性質は、適切にプロセスへ導入される。
【0074】図14において、シーケンスキューおよび
管理ブロックは、音声パケット1409を受取る。無音
パケット検出器またはセレクタ1405は、1409の
ような音声パケットをブロック1431へ送る。セレク
タ1405は、無音パケット1407のような無音パケ
ットを後処理ブロック1441へ送る。後処理の実施例
は、音声データを、直接に出力バッファ1451内へ、
またはそのローカルまたはプライベートバッファ146
1内へ、発生する。無音は後処理ブロック1441によ
り、その無音を直接に出力バッファ1451へ転送さ
せ、システムにおいて無音を表すのに用いられる方法と
整合するように、無音に対応するデータにより出力バッ
ファ内のあるスペースを満たす。この無音処理は、キュ
ーブロック1431をバイパスする。後処理は、チャネ
ル記録1413を更新し、無音のミリ秒数だけ遅延を増
加させ、それによりエグレスチャネル記録1413の維
持源として働く。
【0075】無音パケットに連続して音声パケットが続
く時は、リンクリスト1431におけるスケジュール更
新により、もし150ミリ秒の無音が生じれば、その音
声パケットはチャネル記録1413内にスケジューリン
グされる。後プロセッサは、単に追加により更新する。
もしフレームが4単位の広さのものならば、(4単位の
広さのフレームを表す)無音記録は、チャネル記録内の
3のエントリの更新を、3に4を加え7にすることによ
り行う。すると、これは、次の音声パケットのためのデ
ッドライン間隔になる。さらに、もし無音パケットが、
パケット内の数Sにより複数フレームの無音を識別する
タイプのものであれば、更新は、チャネル記録+4Sに
等しくなる。(例えば、4S+3が、チャネル記録内の
新しい更新されたデッドライン間隔となる。)もちろ
ん、もし別のタイプのパケットが異なるフレーム幅Fを
示せば、数4はそのフレーム幅により置き換えられる。
一般に、プロセスは、DIの値を次の式により更新す
る。
【0076】
【数2】DI=DI+S×F
【0077】パケットが到着したとする。無音または音
声としてのその特性は、ステップ1405において検出
される。実際の、ヘッダのストリッピング、データの抽
出、および無音であるか音声であるかの決定は、50な
いし100個の命令に関係し、これらは無音パケットセ
レクタ1405のダイアモンドとして簡潔に表される。
音声パケット1409はキュー1431へ進み、ついに
は音声デコーダ処理1425へ送られ、後処理へ進み、
デコードされた音声はバッファ1451へ入り、後処理
1441はチャネル記録1413を更新する。後処理
は、チャネル記録1413内のデッドライン間隔DIま
たはデッドライン間隔エントリを更新する。チャネル記
録1413内の、例が3であるデッドライン間隔は、図
28の後処理1441により更新される。
【0078】デコーディングプロセス1425は、ディ
ジタル化されたデコードされた音声をローカルバッファ
1461へ、また信号後処理1441へも供給し、この
後処理は次に、または同時に、チャネル記録1413に
おけるデッドライン間隔エントリの維持を、それを以下
のように更新することにより行う。無音パケットが示す
フレームの数Sは、チャネル記録1413内の例として
の数4により示されるフレーム長Fを乗算され、そこで
その積は、チャネル記録1413のデッドライン間隔エ
ントリ内に現在あるデッドライン間隔(例えば、3)に
加算される。また、後処理1441は、それが無音を処
理しつつあるか音声を処理しつつあるかにより、ローカ
ルバッファ1461を起動してデコードプロセス142
5からのディジタル化音声を記憶させる。あるいは、も
しパケットが無音ならば、後処理1441は、無音ワー
ド1465を、無音パケットにより無音であると示され
ている1つまたはそれ以上のフレームにより、出力バッ
ファ1451へ転送する。もし音声パケットが存在すれ
ば、後処理1441は、ローカルバッファ1461によ
り出力バッファ1451内への音声データを発行し、そ
の出力バッファ1451のキュー内のそのデータの場所
に置く。
【0079】次に、無音パケット、音声パケット、無音
パケット、音声パケットの連続の処理を考える。プロセ
スは、無音パケットを検出し、次に後処理1441が、
出力バッファ1451をゼロ(または他の無音信号)に
より満たす。
【0080】図15へ目を向けると、エグレスチャネル
記録1413内の記録は、そこへ入力された例としての
数「3」を(凡例「デッドライン間隔」と共に)有し、
3つの10ミリ秒間隔が過ぎた後にそれが無用のものと
なることを示している。この数「3」は、継続的に3に
留まるわけではなく、チャネル記録の別の成分部分はこ
のデッドラインが定期的に、例えば、10ms毎に更新
されるプロセスであり、10ms毎に3から2へ1へ0
へと、1ずつ減少せしめられる。このようにして、マル
チチャネル構造においては、全てのデッドラインが、1
0ms毎に1ずつ減少せしめられる。この減少が、1か
ら0になった時は、パケットを使用するのにはもう遅過
ぎる。
【0081】さらに、データ構造egr_chnl_r
ec内には、エントリのegr_in_use変数があ
る。この変数エントリは「使用中」であるので、エント
リは1である。チャネルは、そのチャネルが自由(エン
トリが0)であった期間中に「使用中」となり、そのと
き呼が処理されなければならず、次にその呼に与えられ
たチャネルが割当てられ、次に「使用中」数が1にセッ
トされる。有利なことに、プロセスが多数(例えば、3
2)のチャネル記録を走査しつつある時、システム処理
は、egr_in_use変数を用い、使用中でないチ
ャネルの処理を回避する。そのわけは、それらに対しな
んら処理を行う必要がないからである。32個の電話コ
ールのような、32のチャネルを処理しうるマシンにお
いて、もし与えられた時刻に、10個の電話コールのみ
を処理する必要があるならば、10個のチャネル記録の
みがegr_in_use内に1のエントリを有する。
【0082】次のエントリ数(例として「4」と示され
ている)は、10ms間隔の単位で測ったデータフレー
ムサイズFであり、これはプロセスに依存する。これは
パケット長ではなく、圧縮されたデータのフレームの長
さであり、その1つまたはそれ以上のフレームは、図1
3のステップ1211において受信されたパケットおよ
び図1のパケット1125のペイロード内に含まれてい
る。
【0083】イングレス側の生データから始め、ある4
0msの量のPCMデータがエンコードプロセスにより
パケット内へ圧縮される。常にではないが、通常、パケ
ットは、データの量を320ワードから恐らくは20ワ
ードという少なさまで変化させる(16:1の圧縮)。
もしチャネルが極めて輻輳していたとすれば、システム
は、もっと少ない数、例えば、160個のワードを、2
0ワードに圧縮(8:1の圧縮)する、異なる圧縮プロ
セスを適切に選択する。ディジタル化形式の図2の純粋
音声1111は、ネットワーク1121内へ送り込まれ
るパケットへエンコードされる。1つのエンコーダプロ
セスは、40msの長さのフレームを発生する。別のエ
ンコーダプロセスは、やはりパケットのために約20ワ
ードを発生する20msに相当する160ワードを取
る。このようにして、フレームは、エンコーダプロセス
がその圧縮の基本単位として取る、非圧縮ディジタル化
音声の間隔である。
【0084】イングレスプロセスのための「フレームタ
スク」は、エンコードプロセスのためにフレームを取
り、パケットを発生するタスクである。このエンコード
プロセスは、送出コンピュータプロセスに依存する。電
話の呼に関し、コンピュータ1101がコンピュータ1
151へ送るために用いるエンコードプロセスは、コン
ピュータ1151がコンピュータ1101へ送るために
用いるエンコードプロセスとは異なりうる。
【0085】エグレス側においては、フレームタスク
は、パケットまたはフレームを、圧縮解除またはデコー
ドされたリアルタイムデータへ、デコーディングする逆
プロセスである。エグレス側においては、フレームタス
クは、単一パケットのデータから、再構成されるよう意
図されたフレームを再生するために必要な処理である。
【0086】1ダースほどもある一般的な国際標準コー
デックプロセスの中から、与えられた伝送のためにいず
れのプロセスを用いるべきかを選択する(または、単一
の伝送におけるプロセスの間でスイッチする、またはそ
のプロセスを再コーディングする)。エグレス側におけ
る30個のアクティブチャネルの中の、いくつかのチャ
ネルは、40msのフレームサイズを使用するプロセス
Aを用い、他のチャネルは、30msのフレームサイズ
を使用するGPSプロセスを用い、さらに他のチャネル
は、フレームサイズ20msを用い、−それにより、任
意の瞬間におけるシステムは、混合プロセスを処理しつ
つあるものと仮定する。図14および図15の、30m
sを表すデッドラインの数表示3を有するチャネル記録
1413において、この数表示はクロック時間のカウン
トであることに注意すべきである。実際に、上述のよう
に与えられた40msのプロセスに対応する40msの
フレームサイズを表すのは、数表示4である。より細密
な分解能で用いるリザーブ空間は、図15のブロック1
413において星印(*)を記されている。
【0087】キュー1431は、全てのチャネル記録を
保持する。システムは、それぞれのパケットがいつ実行
されなければならないかにより表示される、デッドライ
ン情報を有する。システムは、ブロック1413内のデ
ッドライン間隔エントリ「3」をコピーし、それを、そ
れの対応パケットに関連させる。キューは図16におけ
る、リンクされたセルから構成される、egr_sch
ed_cellと指示されたリンクリスト1431であ
る。この構造egr_sched_cell内のそれぞ
れのセルは、パケットに対するポインタを有し、またそ
のパケットがいつ実行されなければならないかのデッド
ラインを有し、また最後に、そのキュー内の次のエグレ
ススケジュールセルに対するポインタを有する3ワード
のセルであり、それによりセルをそれらのデッドライン
の順に順序づける。そのセルの順序は、対応する諸パケ
ットのフレーム内容に関するデコードプロセスを実行す
るために、プロセスが配列される順序を表す。また、全
キューは、10ms毎に更新されると有利であることに
注意すべきである。このようにして、10ms間隔で、
減少プロセスがキュー1431内のことごとくのセルに
アクセスを行い、デッドライン数を1(1は、10ms
を表す)だけ減少させる。
【0088】減少プロセスの後、または到着時、に0ま
たは負数のデッドラインを有するそれぞれのセルは、キ
ュー1431から捨て去られる。デコーダに対する出力
バッファは、対応するヘッドエンドエントリをブランク
にされ、またはゼロにされ、そこでデコーダは、不在フ
レームに対し固有の応答を行う。このようにして、キュ
ーegr_sched_cell内のそれぞれのセル
は、なおデコードプロセスを受けなければならないパケ
ットをポイントし、そのパケットのためのデッドライン
を提供する。
【0089】図15においては、構造1413エグレス
チャネル記録が、図16のキュー1431egr_sc
hed_cell内のABCと同じ順序のデッドライン
をもたない可能性があることに注意すべきである。図1
5において、データパケット1511が到着した時、プ
ロセスはまずそのパケットを、(Nと呼ばれる)空のセ
ル1541に関連させる。ソフトウェアプロセスは、ま
ずセル1541においてポインタ1545をデータパケ
ット1511に割当て、その後、データパケット151
1は移動される必要はなく、図16のエグレススケジュ
ールリスト(キュー1431)のセルのみが、プロセス
の進行に伴い再リンクされる。
【0090】図15および図17においては、文字Nは
必ずしもセル1541がキュー内の最後のセルになるこ
とを示すものではないことに注意すべきである。代わり
に、セル1541は以下のようにして、キュー1431
内の、そのデッドライン値「3」が通常設定する場所に
挿入される。ポインタ1545が設定され終わると、プ
ロセスは、パケット1511からデッドライン値3を、
読取り、回復し、または計算し、そのデッドライン値
「3」を、図15にしめされているように、新しいセル
1541の中央の場所に挿入する。次に、プロセスは図
16のエグレススケジュールリストキュー1431eg
r_sched_cellへ進み、キュー1431内の
セル1541のために(従って、間接的にはパケットに
のためにも)、その上のデッドラインはもっと短く、下
のデッドラインはもっと長く、それによって順序づけら
れたリストキューとしてリスト1431を有利に設定
し、維持し、また更新するような場所(図17参照)を
設定する。
【0091】図16において、キュー1431は、図1
7におけるような、もっとも最近のセルによる更新の前
の時刻におけるセルスケジューリングリストを表す。リ
スト1751は、第N記録1541により更新された後
のエグレススケジューリングリスト1431である。た
だし、セル1541の最後(第3)のワードは古いリス
ト1431内のセルCをポイントするようにされてお
り、セルリスト1431の記録Bの第3ワードは追加さ
れたばかりのセルNをポイントするように更新されてい
る。ソフトウェアにおいては第3ワードは、「次」と呼
ばれる。セルBのデッドラインは新しいセルNのデッド
ラインより小さいので、新しいパケット1511はBよ
りも長く待つことができ、もし新しいセルNのデッドラ
インがセルCのデッドラインより小さいか、またはそれ
に等しい時は、新しいセルNは、キュー内においてセル
BとセルCとの間に挟まれる。
【0092】プロセスは、いくつかの方法のいずれかに
より、リンクされたソートを行う。1つの方法において
は、セルおよびパケットは、メモリまたは他の記憶装置
内で移動されない。代わりに、その方法は単に、新しい
パケットが到着し、対応する新しいセルがリストに追加
されるとき、リストを順序づけられたままに保つようポ
インタを更新する。さらに、その方法は、パケットがデ
コードされた時、またはそれらのパケットのデッドライ
ンを過ぎた時に、古いセルを脱落させるために、次の諸
ポインタを更新する。別の方法は、記憶装置内のデータ
をソフトウェアの制御のもとに物理的に再配置し、それ
を特定の順序に保つ。さらに別の方法においては、ハー
ドウェアまたはファームウェアが、キューの再順序づけ
および維持を行う。DSP上のRAM内のルックアップ
テーブル維持ルーチン、さまざまな種類のテーブルソー
ト、および他の方法もまた考慮される。
【0093】基本的に、さまざまな実施例において、新
しいパケットが入って来ると、それらはデッドライン順
序リストへ入れられるか、または、それらに対応するセ
ルがデッドライン順序のキューへ入れられ、またはさも
なければ、それらは、それらのデッドライン情報の順序
に応答して、またはさもなければそれらのデッドライン
の関数として、記録され、維持され、また処理される。
【0094】図16において、スケジューリングリスト
1431の維持は、2つの別個のプロセスを含む。第1
プロセスは、10msが経過する毎に、キュー内のデッ
ドラインまでの時間を1だけ減少させる。この第1プロ
セスは10msの割込みにより開始され、その第1プロ
セスは「次」ポインタに従ってキュー内を通り、ことご
とくのセルのデッドラインを1だけ減少させる。これ
は、割込みルーチン内において、または割込みからの復
帰の直後に、適切に行われる。キュー内の最後のポイン
タは、ヌルまたはゼロである。
【0095】キュー内の最後のセルを処理するための、
別の形式のキューイングプロセスにおいては、ヘッダが
2つのポインタを有する。1つのポインタはキューの始
めのセルをポイントし、第2ポインタはキューの最後の
セルをポイントする。プロセスは、「次」ポインタに従
って、またそれぞれの連続する「次」ポインタをヘッダ
内の第2ポインタと比較しつつキューを通過する。
「次」ポインタが、ヘッダ内の第2ポインタと等しくな
った時は、最後のセルが処理され、更新プロセスは終了
する。
【0096】2段落上で述べたように、キューの更新は
2つの別個のプロセスを含む。第2プロセスは、新しく
到着したパケット1511を含めることによりキューを
更新し、パケット1511からはブロック1413のた
めにデッドラインが抽出され、そのデッドラインは新し
いセル1541内へ置かれる。このようにして、第2プ
ロセスは、新しいセルをスケジューリングキュー143
1内へ含める。この第2プロセスは、新しいセル154
1のデッドラインを、すでにリスト上にあるそれぞれの
セルA、B、Cのデッドラインと比較しつつ、キューを
通過することによりこれを行う。このプロセスは適切に
は、リストがすでにデッドラインの順序にソートされて
いることを仮定し、次に、リスト内のもっと高い位置の
デッドラインが、新しいセル1541内のデッドライン
「3」よりも小さく、リスト内のもっと低い位置のデッ
ドラインが、新しいセル1541内のデッドライン
「3」よりも大きいか、またはそれに等しい時に限り、
新しいセル1541の「次」フィールド内への書込みを
行う。このようにして、新しいセル1541は、リスト
1431内へ「挿入」される。
【0097】さらに、異なるパケットのためのいくつか
のデッドラインが等しくなり、そのために大きいキュー
内でのこれら異なるパケットまたはセルの順序が問題と
ならなくなると、それらがその大きいキュー内において
適切にいっしょにリストされることに注意すべきであ
る。あるいは、また有利には、上述のデッドラインの優
先順位層のほかの優先順位層を導入する。例えば、フレ
ームサイズが次のデッドラインの優先順位層である。長
いフレームサイズには、短いフレームサイズよりも高い
優先順位を与えることが有利である。そのわけは、40
msのフレームの損失は、10msのフレームの損失よ
りも深刻であるからである。
【0098】(会社による、組織内の地位、電話オペレ
ータによる、名前による、またはコールウェイティング
のようなサービス特徴による)発呼者の識別は、第3層
の優先順位として適切に導入され、それにより、デッド
ライン「3」を有するセルは、キュー内において同じデ
ッドライン「3」を有する他のセルに対し、この第3層
の優先順位による位置に置かれる。このようにして、プ
ロセスのさらに別の置換のセットが、セルを所望の順序
に配置するために用いられうる。
【0099】以上の考察は、キュー1431の順序付け
のルール、またはさらなる次元を、順序付けの第2キー
によりキューを順序付けるプロセスの部分において示唆
する。キューegr_sched_cell内の全ての
パケットは、同じチャネル内にあるものと仮定される。
【0100】時には、同じチャネルからのパケットが誤
った順序で到着する。これは、図7の到着パケットのヘ
ッダ内の、UDP(ユニバーサルデータグラムプロトコ
ル)シーケンス番号による再順序付けにより処理され
る。もしパケットが順序から外れたならば、プロセス
は、極めて速く到着するパケットに対しては多数のミリ
秒を決定し、キュー内においてむしろ低位となる新しい
セル1541を作成する。後の順序外れのパケットが、
この同じチャネルにおいて遅く来た時は、その順序外れ
のパケットに関する比較的短いデッドラインを有する、
そのパケットに対応する別の新しいセルが作成され、そ
の新しいセルはキュー内の、早く受取った極めて早く到
着したパケットのためのセルよりもキュー内において高
位の位置に入れられる。このようにして、到着するパケ
ットのシーケンス番号またはタイムスタンプは、デッド
ラインの計算に用いられる。
【0101】(デッドライン間隔DI)音声デコーダが
前部にFIFOを有する場合は、ここで「デッドライン
間隔」、DIとも呼ばれる、デッドラインまでのハード
リアルタイムを決定し、それは必要な処理実行時間Eを
含む。到着パケットNに対するデッドライン間隔DIN
は、到着時刻Aとデッドライン時点DNとの間の差であ
り、これにより特定のチャネルは、新しいデータを受信
し、あるいは無音のフレームを甘受しなければならな
い。もしパケットが、異なるデッドラインをもった複数
のフレームを有するならば、それぞれのフレームのデッ
ドライン間隔DIは、時刻「現在」からそのそれぞれの
デッドラインまでの時間から計算される。「現在」がデ
ッドラインDに近づくのに伴い、時間の経過であるDI
は減少する。
【0102】スケジューラにおけるデッドライン間隔D
Iの計算式は、もし音声デコーダに続いてエグレスバッ
ファ(図1においてはエグレスバッファと呼ばれ、図9
においてはエグレスチャネルバッファと呼ばれている)
が存在すれば、改訂の必要がない場合が多い。しかし、
ある実施例は、サンプルFIFOがデコーダに対し、ま
たは極めて遅い順序外れパケットのサンプルFIFO内
への挿入に対し、非同期的に動作するようにし、その場
合、デッドライン間隔DIは、図1および図9内のデコ
ーダ(図11においてはチャネルバッファと呼ばれる)
へ供給されるエグレスパケットキューからのフレーム出
力のデッドライン時点に対してではなく、サンプルFI
FO出力のデッドライン時点に対して計算されるべきで
ある。新しいセルj1541に対するセルデッドライン
エントリDのための計算の反復的な第1プロシージャ
は、次のように与えられる。
【0103】
【数3】DIj=A−〔(与えられたチャネルにおける
最高シーケンス番号Siを有するパケットのためのキュ
ー内へ入力されたデッドラインD)+(エグレスチャネ
ルCにおいて用いられているプロセスのためのフレーム
サイズF)×(Sj−Si−1)〕 ただし、Sjは順序外れパケットのシーケンス番号であ
り、以下に説明されるように、DIj=Aj−(T0
(i−1)F)−(Sj−Si−1)Fである。
【0104】この第1プロシージャは、キュー内にまだ
セルが設定されていない時の、最初の第1パケットのた
めのデッドラインDの計算に依存する。このようにし
て、その最初の第1到着パケットのためのデッドライン
Dは、デコーダが最初にその第1パケットを受入れられ
る状態になった時刻から、その第1パケットの到着時刻
を減算したものとして計算される。次に、それぞれの後
に到着するパケットのためのデッドラインが、式から計
算される。さらに、もし第1パケットが順序外れのもの
であったとすれば、後に到着する順序通りのパケットの
低いシーケンス番号は、(Sj−Si−1)として負数を
生じ、従って、1つまたは少数のパケットが、伝送の始
めにおいてそれらのデッドラインを通過することにより
(容認可能に)失われることになる。反復的であるこの
第1プロシージャは、キューを維持するプロセスが高い
信頼性および低いエラーレートを有する時は良好に働
く。キューにおけるエラーチェックおよび冗長記憶は、
エラーを低レベルに保つ。
【0105】デッドラインを計算するための第2プロシ
ージャは、デコーダが最初に第1パケットを受入れられ
る状態になった時刻T0の記憶位置を提供し、次に10
msを単位とするフレームサイズFずつその記憶位置を
連続的に増加させる。第iパケットに対しては、デコー
ダは、そのパケットiを時刻T=T0+(i−1)Fに
おいて受入れられる状態になる。デッドライン間隔DI
iは、最後のパケットの到着時刻Aiからデコーダの動作
準備完了時刻Diを減算したものである。デッドライン
間隔DIiを、デッドライン時点Diと混同しないように
注意すべきである。このようにして、DIi=Ai−Di
である。この第2プロシージャにおいては、セルのデッ
ドライン間隔エントリのための式は、次のようになる。
【0106】
【数4】DIi=Ai−(T0+(i−1)F)
【0107】この第2プロシージャは、インデックスi
およびjを増加させるクロックと、シーケンス番号Sを
発生させるクロックと、の間に実質的なコヒーレンスま
たは同期性が存在する時に良好に働く。第3プロシージ
ャは、より高い信頼性が所望される時に、エラーチェッ
クと共に、第1プロシージャおよび第2プロシージャの
双方を用いる。
【0108】さらに、プロセスは、減少せしめられたデ
ッドラインを越えて残っているパケットを除去する。そ
のようなパケットを処理する箇所はなく、それらは廃棄
されうる。プロセスが、順序外れのパケットを待ってい
るものと仮定する。パケットが失われうる時間的瞬間が
存在する。もしパケットが失われれば、キューにおける
減少プロセスは、いつそれが失われたかを決定する。失
われたパケットが到着するはずだった時刻を過ぎた時、
まだそれがそこへ来ていなければ、デコーダにとって、
ブランクまたは雑音をオーディオストリーム内へ挿入す
る、またはそうでなければ、失われたパケットを再構成
または処理するためにそのデコーダの設定を行う、時が
来たことになる。
【0109】順序外れパケットを処理する第1のアプロ
ーチにおいては、プロセスは、到着パケット1511の
ヘッダ内のシーケンス番号(タグ、タイムスタンプ、な
ど)およびチャネル番号を検出する。プロセスは、上述
のようにプロセスを通して行われる。しかし、デコード
されるべき順序外れパケットは、チャネル記録1413
内に、デッドライン間隔(「3」)+フレームサイズ数
(「4」)×失われたシーケンス番号の数、に等しいデ
ッドラインを有する。それゆえ、もし順序外れパケット
が、その順序外れパケットと、同じチャネル内における
最も最近前に受取ったパケットと、の間に1つの現在失
われているパケットを有するならば、デッドライン数は
セルとしてのキュー1431へ、デッドラインを3+1
×4=7へ改訂されて入力される。このようにして、与
えられたプロセスのためのソートされたキューおよび既
知のフレーム長を有するシステムにおいて、このプロセ
スは、エレガントで有利な解決を提供する。
【0110】第2のアプローチにおいては、分離された
記憶領域が、順序外れパケットを、次の順序通りのシー
ケンス番号をもったパケットが実際に到着するまで、
(例えば、スタック内に)保持する。順序通りのパケッ
トは新しいセル1541を発行され、新しいセル154
1はキュー1431内へ入力される。その後、分離記憶
領域内の順序外れパケットは、それ自身の新しいセルを
発行され、その新しいセルはキュー内へ追加して入力さ
れる。
【0111】1つの形式のプロセスは、40msのブレ
ークを想起するとき、その追加のパケットはデータスト
リーム内へ置かれず、その特別パケットに対するコーデ
ィングから来たデータはデータストリーム内へ置かれる
ことを保証する。パケットが順序外れである時、プロセ
スは、ブロック1413内へ4単位を追加するのみでな
く、キュー1431内のセルにおいて、データがデコー
ダバッファ、例えば1175.c内へ入れられた時、そ
のデータが遠い後方の位置1291へ置かれ、1つまた
はそれ以上の位置1293が空のままになるように、ス
ケジューリングする。空の位置1293の数は、量(S
j−Si−1)の数に等しい。
【0112】図1において、イングレスバッファ121
は、少なくとも2つのフレームのための記憶装置であ
り、イングレス側における例えば40msのデータであ
る、ディジタル化音声1111の完全なフレームをエン
コーダ131により処理するためのものである。このデ
ータが到着すると、最終的にはイングレス側が40ms
のデータを収集する。次に、システムはその40msの
データを、送り出されるべきパケットにエンコードする
ためのイングレスプロセスをスケジューリングする。そ
の間に、システムは、第2フレームのためのスペースを
イングレスバッファ121内に作る。そのわけは、デー
タは連続的に入来しつつあるからである。また、2つよ
り多くのフレームが適切に用いられるが、少なくとも1
つのバッファスペースはエンコーダ131により処理さ
れつつあるフレームを有し、一方イングレスバッファ1
21内の1つまたはそれ以上のバッファスペースは、入
来するさらなるデータ1111のために提供される。
【0113】イングレスパケットキュー141と呼ばれ
るイングレス出力バッファにおいては、少なくとも2つ
のフレームの記憶が行われる。ジッタが存在しない時
は、2つのフレームで十分である。ジッタおよび順序外
れパケットが存在する時は、2つより多くのフレームの
ためのバッファスペースが有利である。
【0114】図18においては、もっと複雑な記憶プロ
セスにおいて、デッドラインキュー1431は、デコー
ダが動作するために要する時間の量を考慮に入れる追加
のキーにより増大せしめられる。リストがデッドライン
までに時間の順にソートされると、異なるフレームは、
1つは40ms、他は30ms、20msの異なるデコ
ーダへ送られる。図12のプロセスは、一時に1つのデ
コーダのみが呼出されて実行する、単一DSPの実施例
におけるデコーダの次に、いずれのフレームを発行すべ
きかを決定する。
【0115】シナリオ#1:リンクリストキュー143
1の底部に、20msデコーダに向けての10msのデ
ッドラインエントリを有するセルがあり、そのキューの
高い位置には30msデコーダに向けての10msのデ
ッドラインエントリを有するセルがあるものと想定す
る。
【0116】シナリオ#2:リンクリストキュー143
1の底部においては、セルは10msデコーダに向けて
の30msのデッドラインエントリを有し、そのキュー
の高い位置には30msデコーダに向けての10msの
デッドラインエントリを有するセルがある。
【0117】シナリオ#3:リンクリストキュー143
1の底部においては、セルは10msデコーダに向けて
の30msのデッドラインエントリを有し、そのキュー
の高い位置には40msデコーダに向けての10msの
デッドラインエントリを有するセルがある。
【0118】プロセスがソートするとき、最後の到着パ
ケットであるパケット1311は、与えられたグループ
内の最後のものである。もしパケット1511に対応す
る新しいセル1541がデッドライン3を有すれば、新
しいセル1541はキュー1431内の、キュー143
1内においてデッドライン3を有するセルのグループの
底部に置かれまたは省略値をとるが、キュー1431内
にデッドライン4を有する第1セルがもしあれば、その
第1セルのすぐ上、かつ前に置かれる。プロセスは、第
1セルのバイトpkt_addrがポイントする図16
のそれぞれのパケット1653がチャネル情報を含み、
ブロック1413が、データ構造から直接得られたか、
間接的に得られたかにかかわらずプロセス情報を含むの
で、いずれのデコーダを呼出すべきかを知りうる。
【0119】ここで、リンクリスト1431へ帰る。リ
ンクリスト更新プロセスは、パケットをデッドライン間
隔DIの順序に順序付ける。論理的には、デッドライン
の前の最後の10ミリ秒内にデッドライン間隔を有する
パケットが、最初に実行されるべきである。それゆえ、
最初に実行されるべきものは1(全ての記録はDI=
1)であり、次は2(全ての記録はDI=2)であり、
次は3(DI=3)であり、などとなる。
【0120】図18において、スケジューリングの実施
例は、それぞれが10、20、30、40、およびそれ
以上のミリ秒のための、実際に分離されて維持されるキ
ューを有する。そのようにすると、それらのキューのス
ケジューリングおよびソーティングは、全ての分離され
たキューを組合わせて作った1つの大形キューにおける
よりも高速で行われるが、順序付けの原理は、同じいず
れかの方法で適切に行われる。1次ソートキーは、デッ
ドライン間隔DIである。2次ソートキーはここでは、
1)センダの識別、2)与えられたプロセスにおけるフ
レーム長(この場合、40msフレームの処理は、10
msフレームよりも重要である)である。10msグル
ープにおいては、エントリの数はチャネルの数までとな
る。これらのアイテムは、優先順位の順にデコーダへ送
られる。
【0121】もしエグレスタスクを行うために必要なマ
イクロ秒の数(例えば、423)が過少推定されたとす
れば、システムは10msキュー内の下方深い位置にあ
るいくらかのパケットを失う。そのわけは、その位置に
おいては、維持が全ての時間間隔を減少させ、10ms
キュー内において処理され終わっていない全てを捨て去
るからである。もしデコーダの動作が、総数Nの全ての
チャネルを処理するのに求められるよりも低速であるな
らば、Nチャネルシステムは、元来そこにはないはずで
ある。
【0122】キューはそれぞれのチャネルに対して備え
ることができ、図1、図9、図11、および図14にお
いて、キューはプロセスが始まる前に2つまたは3つの
パケットをロードされる。与えられた32チャネルキュ
ーソフトウェアは、各チャネルそれぞれに対しリンクリ
ストを提供する。別の方法においては、全てのチャネル
を1つのキューリンクリスト内に入れる。図18におい
ては、第3の方法が、0ないし10ms、10ないし2
0ms、20ないし30ms、30ms以上に対し、別
個のリンクリストを提供する。
【0123】(同期および非同期デコーダ)多重DSP
実施例、または多重データ経路実施例においては、1つ
より多くのデコーダが同時に実行状態にありうる。1つ
のタイプの多重データ経路実施例においては、全てのチ
ャネルデコーダは、10ms境界において動作を開始す
る。これは、同期的であると言われる。
【0124】もう1つの実施例は非同期チャネルを有
し、その場合チャネルデコードは、たとえフレームのG
CDが10msであっても、10msの境界上で開始さ
れない。チャネルを非同期的に動作させると、デコード
プロセスのソフトウェア管理の利点が得られる。この場
合、セルにおけるデッドラインエントリは、より細分し
て与えられ(例えば、5ms、1ms、または1msの
小部分に対し、さまざまなバージョンで数が関係す
る)、しかもフレームが、そのそれぞれのデコードプロ
セスにより必要とされるまでに残された時間を表す。異
なっていることは、それぞれのデコードプロセスが、全
て同じGCD時間境界上で開始されるのではないことで
ある。すなわち、諸チャネルは、チャネルデコードが開
始される1ms、または例えば125μsecの境界上
で同期することができ、それに対しデッドライン数は、
より高い分解能で与えられる。従って、GCD10ms
のアプローチは必要なのではなく、単にエレガントな実
施例の1グループを与えるのみである。
【0125】前景処理は背景処理を妨害せず、従って有
利なことに細密な分離度を乱さない。入来パケットから
の転送は、キュー1431までの途中ずっと、いずれも
高い優先順位レベルで動作する。
【0126】前景プロセスは、割込みにより開始される
プロセスのように、より高い優先順位のプロセスであ
る。例えば、ホスト101は、コンピュータのサイクル
スティールによって割込みをDSP C6201へ送る
ことにより、パケットをメモリへ書込む。(あるいは、
DSPがホスト書込みをポーリングして、ホスト書込み
が行われる時を決定する。)前景プロセスのためには、
全てが停止する。同時に、メインプロセスは割込みルー
チンを呼出し、割込みルーチンが実行されている間はメ
インプロセスは停止し、その後処理は割込みからメイン
プロセスへ復帰する。割込みルーチンは、実行のために
比較的短い時間を要するように書かれ、これは、プロセ
ッサリソースに対し、より高い優先順位を有する時に、
背景内のメインプロセスに対立するものとして、前景処
理と呼ばれる。
【0127】ホストは、チャネル記録1413を含むe
gr_chnl_rec記録を、1つのプロセスにより
更新する。さらなるプロセスは、キューセルのデッドラ
インを減少させる。さらにもう1つのプロセスは、デッ
ドラインを過ぎたセルおよびパケットを捨て去る。さら
にもう1つのプロセスは、最高位のキューセルに基づ
き、さらにもう1つのプロセスであるデコーダプロセス
へパケットを発行する。リアルタイム処理のエンジニア
当業者にとっては、多くの選択がありえ、−それらは例
えば、どのような割込みがホスト割込みであるべきか、
いずれがクロック割込みであるべきか、どのような階層
の割込み優先順位であるべきか、前景および背景におい
てはどのようなプロセスが行われるべきか、どのような
ルーチンが互いに対しどのような長さを取るべきか、で
ある。多くの代わりのプロセス、装置、およびシステム
の実施例がこれらの選択から得られが、これら代わりの
実施例をさらに長々と説明する必要はない。
【0128】図14から図17までにおいて、パケット
が到着した時は、チャネルデータの探索およびキュー1
431の更新の全プロセスは、全て同時に行われうる。
しかし、もしデコードプロセスへ供給するためにキュー
1431の頂部セルがちょうど取り出されつつある時
に、割込みが正常なシーケンスを中断すれば、フレーム
が失われうる。この問題を避けるために、キュー143
1の頂部セルの取り出しのプロセスは、割込みの不能化
またはマスキングのステップをも含む。また、割込みル
ーチンは有利に短く保たれる。このようにして、異なる
プロセス間の矛盾は無視できるようにされる。また、リ
ンクリストが更新されつつあり、またポインタ値が変更
されつつある時、もし割込みルーチンがちょうどその時
に介入すれば、リンクリストは破壊される。リストが破
壊されないようにポインタを割り当て、次にそのポイン
タを下方へ移動させれば、プロセスのこの部分が行わ
れ、要素は解放され、−このようにしてリストの完全性
が保たれる。これは、プロセスを短くする大切な理由で
あることに注意すべきであり、それゆえセルは、わずか
2つか3つのプログラムステートメントにより取り出さ
れうるようになっている。もし余りにも多くのステート
メントが存在したとすれば、多くの部分において避ける
ことが望ましい割込みを使用禁止にすることが別に必要
になる。
【0129】10ms毎にデッドラインを減少させるこ
とによるキュー1431の維持は、DMA(直接メモリ
アクセス)ハードウェアからの10msクロック割込み
により適切にトリガされる。このDMAは、イングレス
側のためにプログラムされ、T1線路(1.544Mb
ps電話通信線路)からのデータを継続的にバッファ内
へ入力する。エグレス側DMAは、そのバッファからデ
ータを連続的に受取り、そのデータをシステムから出る
T1線路上へ出力する。80サンプル毎に割込みが行わ
れる。DMAはサイクルスティールにより動作し、割込
みはDMAがなお動作しつつある間に行われうることに
注意すべきである。
【0130】図19において、サイクルスティールは、
システムにより、マイクロプロセッサMPUおよびDM
Aが同じバス上で共有する同じメモリMEMを動作させ
る場合の、マイクロプロセッサMPUおよびDMAのよ
うな、2つのブロックを同時に動作させうるプロセスで
ある。DMAがMEMと通信するためにバスを用いてい
る間にプロセッサは演算を行い、次にDMAがイナクテ
ィブである間にMPUはMEMにアクセスする。バスは
アドレス線路、データ線路、および制御線路を有する。
DMAがなければ、MPUはことごとくのバスサイクル
を利用しうる。DMAが、MEMを読取り、またはME
Mに書込むためのバスサイクルを必要とする時は、DM
Aは、バスの1サイクルを否定するための制御線路の1
つをプロセッサへ引く。サイクルスティールはこのプロ
セスであり、ハードウェアにより行われる。
【0131】ユーザによるキーボードエントリは重要で
あるが、MPUのデータ処理タスクと比較すれば極めて
稀にしか用いられない。キーボードは、なんの問題もな
く割込まれうる背景の重要な計算が進行している間に、
前景においてI/Oをトリガする。
【0132】キュー1431の更新と呼ばれるプロセス
は、独立してそれぞれの新しいセル1541を追加す
る。この更新プロセスは、新しいパケットの受信に応答
してのホスト割込みにより開始される。
【0133】図19および図20は、割込み信号と、そ
れらの優先順位と、どの信号が図15から図17までの
どの割込みに行くかと、を示す。プロセッサは、10m
sの割込みおよび到着パケット割込みpck_in_i
ntrrにより適切に割込まれる。
【0134】図19において、I/OストリームDMA
に対するサンプリングクロックは、データを24個の音
声チャネルから、米国のツイストペアT1線路内へ取り
込む。欧州は、32チャネルのE1規格を有する。シス
テムは、I/Oデータをとって、それをメモリに入れ
る。DMAクロックは、10ms(80サンプル、8K
Hzの標準電話サンプリング速度)のサンプリングクロ
ックを発生する。
【0135】図19において、第2優先順位チャネル管
理割込みは、DSPプロセッサとホストとの間に境界が
ある時に行われる。このホストは、ホストとDSPとの
間の境界を横切るヘッダを有するパケットを制御する。
この例の場合は、境界はPCIバスであり、それへはD
SP TMS320C 6201が接続されている。パ
ケットヘッダはチャネル番号と、オプションのUDIタ
グまたはシーケンス番号と、を有する。
【0136】図19において、エグレスパケット割込み
は、例の割込みセットを完了する。エグレスパケット割
込みは、セル1541を用いて2次キュー1561を作
成する。全ての図15ないし図17の動作が行われ、前
述のように、デッドラインが記録1413内において探
索され、セル1541が、さらなる優先順位層を有す
る、または有しない、デッドライン順序付けのような特
定の順序付けプロセスにより指定された順序で、スケジ
ューリングリストキュー1431内へ入力される。
【0137】もしある期間内にパケット割込みが行われ
れば、2次キューが作成される。このプロセスは、フレ
ームタスクが処理される時間中にのみ存在する2次キュ
ーを有利にセットアップする。図15における2次キュ
ー1561は、データパケット1567をポイントする
セル1565を有する。2次キュー1561は、キュー
であるためにキュー1431と同じ構造を有するが、こ
の時間中においては、ブロック1413においてデッド
ライン探索は行われず、スケジューリングも行われな
い。従って、2次キュー1561のプロセス実施例は、
データ構造1751と同じではなく、1751において
は、新しいセルNが更新によりデッドライン順序内へ追
加される。
【0138】ある実施例プロセスは2次キューを用いな
いが、2次キューのアプローチは、それ自身の利点を有
するエレガントな解決を与え、その論拠はここで説明さ
れている。パケット割込みが行われる時、プロセスは望
ましくはパケットを受取り、更新されたキュー1251
を発生する更新プロセスを直接行うように設計されう
る。1つの更新プロセスは、割込み機能停止を行い、次
にキュー1631を更新し、次に割込み再可能化を行
う。このアプローチは実行可能であるが、エレガントな
代案を有する。
【0139】そのような代案においては、2次キュープ
ロセスは、キュー1431自体に妨害を与えないように
2次キュー1561を発生させるために、キュー143
1のコピーの底部上に新しいセル1565を単にリンク
させ、連結し、または取付けることにより、最初は極め
てわずかなことしかしない。次に、このプロセスは、た
とえリンケージがまだ順番になっていなくても、リスト
に関して割込み可能なプロセスを実行し、リスト156
1を操作し、そのリストを所望の順序にし、そこで次に
1つの簡単なステップにより、リスト1561によって
キュー1431を置換して、キュー1751を、キュー
1431のこの置換により即座に実現する。このように
して、キュー1431は、いかなる時点においても割込
みにより中断されず且つ割込み機能停止を必要としない
方法で更新されて、キュー1751を発生する。
【0140】10msDMA割込みおよびデコーダへの
出力に目を向けると、この10ms割込みは、プロセ
ス、装置、およびシステムのリズムをセットし、またエ
グレスパケット割込みよりも高い優先順位を有する。プ
ロセスは境界をリセットし、イングレスをスケジューリ
ングし(これは、この議論部分の外にある)、全てのエ
グレスデッドラインを更新する。ここで、プロセスは、
新しいエグレスパケットフラグがセットされているかど
うかをチェックする。割込み信号が、このフラグをセッ
トし、新しいパケットのためのISRの実行へ導き、新
しいセル1541を作成する。
【0141】図15において、エグレスパケットの再リ
ンキングは、新しいパケットを1つの境界から別の境界
へ移動させる機能の名称であり、キュー1431の更新
は高い優先順位で行われる。これは、ISRのみがアク
セスする2次キュー1561に関係する。キュー143
1は、ISR(割込みサービスルーチン)の領域から適
切に取り去られ、割込みが機能停止された時以外は取り
扱われることはなく、次に新しいパケットが、システム
の残部に影響を及ぼすことなく2次キュー1561を用
いて追加されうる。
【0142】(プリエンプション実施例)エグレスパケ
ットまたはイングレスパケットの、いずれのパケットを
最初に処理すべきかを決定することは重要である。パケ
ットがシーケンスをなして到着する時、プリエンプティ
ブ処理は、エグレスチャネルへ優先順位を適切に与え
る。VoP/VoIP電話においては、遅れたパケット
はエグレスプロセスへ突然到着する。ここで改善された
時、プロセスはパケットが遅れていることを知る。その
わけは、それがデッドライン間隔測定プロセスを有する
からである。さらに、改善されたプロセスは、システム
をプリエンプトし(割込み)、エグレスパケットが間に
合ってデコードされうるようにする。
【0143】図20のさまざまなプリエンプション実施
例#1、#2、#3、#4、および#5において、エグ
レスパケットは優先順位を有し、それらのパケットはプ
ロセッサをプリエンプトし、もしパケットが蓄積すれ
ば、それらは処理されるまで単に順番に待つ。しかし、
単に到着の順序に実行される最も簡単な実施例#1にお
いては、単に早い、遅れている、または極めて遅れてい
るだけで待っている、遅れ過ぎてはいないパケットを犠
牲にして、不必要な遅れ過ぎたパケット(最も右側の
列)が処理されることがありうる。
【0144】従って、図20は、別の有利なプリエンプ
ション実施例#2を示す。それぞれの個々のエグレスパ
ケットは、遅れの程度を解析され、また、デッドライン
が満了する前にちょうど間に合うエグレス処理に都合が
よいように、システム動作をプリエンプトすることによ
る(従って、図20における遅れ過ぎたパケットを無視
した)再生の可能性を解析される。DSPのためのBI
OSTMリアルタイムオペレーティングシステム(RTO
S)は、リアルタイムオペレーティングシステムの極め
てスリム化された形式である小さいリアルタイムカーネ
ルを備えている(PC ROMにおけるBiosと混同
してはならない)。BIOSTMRTOSは、I/O機能
と、極めて特殊なタイプのプリエンプションとを有す
る。タスクがいったん優先順位レベルを割当てられる
と、その優先順位は、システムが構成ツールを用いて再
設計されない限り、本質的に固定される。それぞれのタ
スクは、それ自身の単一スタック保持領域を割当てられ
るので記憶は階層的なものとなる。
【0145】この実施例#2においては、BIOSTM
TOSは、ラッパ(wrapper)としてイングレス
/エグレス処理と組合わされる。スケジューリング、パ
ケットに関する情報の獲得、およびエグレスのためのシ
ステムのプリエンプション、を編成するためにBIOS
TMRTOS(1Kのコード)を用いると、失われようと
しているパケットをセーブしうる。到着するパケット
は、BIOSTMのもとでルーチンを実行し、プリエンプ
ションが必要である(図20において、パケットは、早
い、遅れている、または極めて遅れているが、遅れ過ぎ
てはいない)かどうかを決定し、次にプリエンプトして
パケットをセーブする。
【0146】別のプロセス実施例は、全てのチャネルが
同期外れの時の細密な分解能を特徴とする。もし全ての
デコーダプロセスが互いに同期外れになっていれば、こ
の細密分解能が、デッドラインまでの正確な時間の量に
よりリンクリストを順序付けする。プロセスは、システ
ムにおいて行われているそれぞれのデコーダプロセスの
ために、異なるデッドライン時間のセットを記録し、ま
た更新し、デコーダプロセスが互いに同期外れで行われ
ている時には、デッドライン間隔を計算する(すなわ
ち、それぞれのデコーダにおける10msの間隔は、ス
タガされているので異なる時点において終了する)。こ
のようにして、シーケンスキュー1431は、チャネル
からチャネルへのパケットのDIに絶えず有利なように
注意している。そのわけは、DIは、そのチャネルのデ
コードプロセスに関するデッドライン時点に基づき、そ
れぞれのために適正に計算されるからである。この細密
分解能プロセスは、図20のプロセスのいずれとも適切
に組合わされる。
【0147】全てのフレームタスクは、デコーダおよび
32チャネルにおける500マイクロ秒の処理時間を有
する、20ミリ秒のものであると仮定する。チャネルを
処理するために必要な時間は、遅れて到着する新しいパ
ケットを処理する必要と争い、または干渉する。
【0148】図20において、プリエンプション実施例
#2は、多くのチャネルを処理するために、比較的低速
の、安価なDSPプロセッサを有利に用いる。この実施
例は、低速システムにおける極めて遅れたパケットのた
めのプリエンプションの限られた使用、例えば、4チャ
ネルのためのラインカードにおける1つまたはそれ以上
のC54x DSPの使用を特徴とする。4チャネルの
場合は、プロセス毎の基本時間は同じであるが、低速の
プロセッサにおけるプロセスに対して割当てられる時間
の量は、500マイクロ秒ではなく、3ないし5ミリ秒
(10倍多い)である。その場合、プリエンプションは
より重要になる。エグレスパケットは優先順位を有し、
それらはデッドラインに対し残されている時間間隔に従
って順序付けされるが、単にそれらの全てはイングレス
パケットより高い優先順位を有する。このようにして、
エグレスはランダムではなく、エグレスパケットが実行
または処理される必要に従って順序付けされる。この実
施例は、プリエンプティブBIOSTMRTOSが適切に
用いられる小さい安価なシステムのためには、特に有利
である。
【0149】図20の実施例#3においては、優先順位
に従って編成され、差し迫った場合を取り扱うが、いず
れかのエグレスパケットが最後の10ミリ秒の期間内に
処理されるよう得られる時(極めて遅れているカテゴリ
のみ)、いずれかのイングレスパケットをプリエンプト
する、エグレスパケットにより処理を編成する。遅れて
いるパケット(20ミリ秒)および早いパケット(30
ミリ秒またはそれ以上)は、プリエンプトするためには
用いられず、これらの遅れているパケットおよび早いパ
ケットを処理するためには非プリエンプティブ処理が用
いられる
【0150】図20の実施例#4は、遅れているパケッ
トおよび早いパケット(優先順位2)よりも高い割込み
優先順位で極めて遅れているパケットを処理するため
に、プリエンプションを有利に用いる。図20の実施例
#5は、図4および図31との関連で詳述される。
【0151】(「極めて遅れている」パケットのプリエ
ンプティブハンドリング)図21ないし図25を参照す
る前に、処理限界(図12における垂直方向の点線)を
考察する。この限界は、極めて遅れているパケットNを
失われないようにセーブするために重要となる。たとえ
500マイクロ秒の(デコードにおける第Mパケットの
ための)デコード実行時間EMでも、ここでは重要であ
る。極めて遅れている(図20)エグレスフレームNが
到着し、600マイクロ秒の寿命しか残されていないD
Nと、シーケンスキューの処理にかかわらず間もなく
捨て去られるリスクをと、を有するものと仮定する。さ
らに、このパケットフレームのためのデコード処理実行
時間ENが200マイクロ秒を必要とし、例えば別のチ
ャネルのために進行中であるデコードのための500マ
イクロ秒の全実行時間EMより短い時間が残っている
(600−200=400で、これはEM=500より
短い)と仮定する。これは帰するところ、プリエンプシ
ョン判断基準DIN−EN>EM(またはEM+EN<D
N)となり、これは以下においてさらに詳細にされ
る。他のチャネルにおけるエグレス処理のプリエンプシ
ョンは、進行中のエグレスデコード処理を完了するため
に必要な実際の時間Tが、次に説明するように十分に進
められる時は、タスクプリエンプション(図20の実施
例#3、#4、および#5)により節約可能である。
【0152】もし割込みの処理が多くの時間を取り、極
めて遅れているパケットを処理する余地がなくなれば、
その割込みは行われず、または中止されるように、割込
み計算の時間もまた、ある実施例での計算においては適
切に考慮される。
【0153】他のチャネルにおけるエグレス処理は、中
間ポイントにおいて行われうることに注意すべきであ
る。そのチャネルのエグレス処理を完了するために、全
500マイクロ秒は必要とされない。そのわけは、ある
時間T=400が経過すれば、デコードの実行は、EM
=500マイクロ秒の処理の完了までの過程のある割合
(例えば80%)になるからである。このようにして、
進行中のデコードを完了するために、100マイクロ秒
しか必要でないものと仮定しよう。その場合は、待ちチ
ャネル内の極めて遅れているパケットは、進み、デコー
ドに成功し、かつ損失からセーブされるチャンスを有す
る。そのわけは、100+200=300であり、これ
は、この例の600マイクロ秒のデッドライン間隔より
も小さいからである。換言すれば、(EM−T)+EN
DIMである。これらの例において暗示されているの
は、パケットNが遅れ過ぎていないための図20におけ
る判断基準、すなわちDIN−EN>0である。新しいパ
ケットNのためのデッドラインは、デコードにおけるパ
ケットMのためのデッドラインよりも早い。そうでなけ
ればパケットMのデコードは、この実施例においてプリ
エンプトされない。デッドラインまでのより長い時間D
Mは、パケットMのために適切なことであるので、プ
リエンプションの判断基準はDIM>EM−T+ENと書
かれる。このようにして、さまざまな方法おける処理
は、現在行われつつあるチャネルデコード処理におい
て、どれほど多くのマイクロ秒が残っているかを知らせ
るように設計することができ(図22、図23、および
図24)、プリエンプションは判断基準(DIN−EN
0およびDIM−EM+T−EN>0)に基づく。
【0154】これらの考察は、極めて遅れているパケッ
ト(図20の第3列)の特殊なハンドリングを行う、図
20の実施例#3、#4、および#5に導く。ここでの
処理は、スケジューラ告知へ帰る情報を与え、デコード
プロセスは現在動作中であり、それによりプリエンプト
すべきか、プリエンプトせざるべきか、またはパケット
を捨て去るべきか、の判断を行う。この極めて細密な時
間スケールに基づいてタイミングをとる実施例は、次に
図21、図22、図23、図24、および図25におい
て説明する。
【0155】図21は、同一デッドラインタイプと、ス
タガデッドラインタイプとの、チャネルデコードプロセ
スを比較し、対比する。図21の頂部においては、32
チャネルの全てにおけるエグレスおよびイングレスが、
ページの左から右へ広がる10ミリ秒のウィンドウ21
05内で処理される。同一デッドラインチャネルデコー
ドプロセスタイプの全てのチャネルデコードは、10ミ
リ秒デッドラインの時点2111までに完了されなけれ
ばならない。32チャネルのための、さまざまなチャネ
ルデコードの実行e1、e2、...e31の実行順序
は、比較的重要でない。与えられたチャネル、例えばチ
ャネル7のパケットが、もし到着していなければ、チャ
ネル8のデコードが行われる。チャネル7のパケットが
到着した時は、それがデコードされ、実行間隔e7を占
拠する。イングレス実行(イングレスオーバヘッド間
隔)は、全てではないチャネルがデコードされ終り、デ
ッドライン2111を有するパケットがもっと到着する
のをシステムが待っている時のように、始めに、終り
に、または中間のある時に、チャネルのために適切に行
われる。また、デッドライン2111よりも遅いデッド
ラインを有するパケットは、それらのために用いうる時
間がある時には適切にデコードされる。また、そのよう
な実施例は、デッドライン2111を有する極めて遅れ
て到着したパケットに応答して、デッドライン2111
よりも遅いデッドラインを有するパケットをプリエンプ
トし、パケットデコードを行う。
【0156】ここで、クロック境界2125を有する1
0ミリ秒ウィンドウ2121に沿って間隔をあけたデッ
ドラインDiをもつスタガデッドラインプロセスを比較
する。クロック境界2125は、もはや32チャネル全
てのための単一の同じデッドラインを表さない。この場
合は、さまざまなチャネルのためのデコード実行順序
は、ウィンドウ2121内にあるデコードデッドライン
を有するパケットのためにさえ重要になる。極めて遅い
実行順位が重要であり、ある実施例におけるきわめて遅
れたパケットは、回避しうるパケット損失の発生を減少
させるために、他の極めて遅れたパケット、遅れたパケ
ット、および早いパケット、をプリエンプトせしめられ
る。
【0157】図21のウィンドウ2121の下方におい
て、スタガデッドラインプロセスの実施例における、パ
ケットの有利なインテリジェントデコードの1つの実行
例が、ウィンドウ2121内のデッドラインDiの順序
を認識することにより開始されている。例えば、これら
のデッドラインは、32チャネルのうちの例としての6
つにおいて、D4、D9、D3、D5、D1、D2の順
序で来るものと仮定する。パケット4(デッドラインD
4を有するチャネル4のパケットを意味する)が与えら
れて、パケット4の実行が、パケット4の損失からのセ
ーブを開始しなければならい時は、この実施例は、デッ
ドラインD4の前にだけでなく、同時に時点D4−E4
よりも前に完了する、実行時間間隔E4を占拠するパケ
ット4のデコード実行を開始する。
【0158】パケット4のデコード実行が完了すると、
動作はパケット9の存在の検出に進み、これは存在して
いることになる。この実施例はパケット9のデコード実
行を開始し、これは実行時間間隔E9を占拠して、デッ
ドラインD9より前、かつ興味深いことには、パケット
9がデコードを開始しなければならない最も遅い時刻で
ある時点D9−E9の後に完了する。
【0159】パケット9のデコード実行が完了すると、
動作はパケット3の存在をテストするための検出ステッ
プへ進む。しかし、この検出ステップは、パケット3が
到着していないと決定する。そこで、動作は、デッドラ
インD3の後の、次の最も差し迫っているデッドライン
D5を有するパケット5の存在をテストする。この検出
ステップは、パケット5が存在すると決定し、極めて明
確にそのデッドラインD5より前に、パケット5のデコ
ード実行が開始される(開始5)。
【0160】極めて遅れてパケット3が突然到着する。
この実施例は、パケット3に応答して、パケット3をセ
ーブするための十分な時間が存在することを計算し、従
って現在進行中のパケット5のデコード実行のプリエン
プションへ進む。図21の動作は、パケット3のデコー
ド実行を開始する動作を表す、「パケット3のセーブ」
から開始3への矢印に沿って移動する。(パケット5の
デコードは部分的に完了し、これらの結果は一時的にセ
ーブされていることに注意すべきである。)パケット3
のデコード実行は、実行時間間隔E3を占拠し、この時
間間隔は、デッドラインD3の前、かつついでながら、
パケット3のデコードを開始しなければならない最も遅
い時点D3−E3の後に成功裏に完了する。
【0161】パケット3のデコード実行が完了した時、
動作はパケット5の存在をテストするための検出ステッ
プへ進む必要はない。代わりに、動作はパケット5のデ
コード実行が以前に割込まれたポイントまで復帰し、そ
こでパケットのデコード実行は、実行間隔E5の残りを
費やし、デコードを、デッドラインD5の前だけでな
く、時点D5−E5の前にさえ完了する。
【0162】パケット5のデコード実行が完了すると、
動作は、次の最も差し迫っているデッドラインD1を有
するパケット1の存在をテストするための検出ステップ
へ進む。しかし、この検出ステップは、パケット1が到
着していないと決定する。そこで、動作は、デッドライ
ンD1の後の、続いて次の最も差し迫っているデッドラ
インD2を有するパケット2の存在をテストする。この
検出ステップは、パケット2が存在すると決定し、その
デッドラインD5より前に、パケット2のデコード実行
が開始される(開始2)。
【0163】極めて遅れてパケット1が突然到着する
(図の「パケット1の突然の到着」を参照)。この実施
例は、パケット1に応答して、パケット1をセーブする
ための十分な時間が存在することを計算し、従って現在
進行中のパケット2のデコード実行のプリエンプション
へ進む。図21の動作は、パケット1のデコード実行を
開始するために利用しうる最後の時点D1−E1におい
て偶然にちょうど、パケット1のデコード実行を開始す
るために、垂直方向の矢印に沿って移動する。(パケッ
ト2のデコードは部分的に完了し、これらの結果は一時
的にセーブされていることに注意すべきである。)パケ
ット1のデコード実行は、実行時間間隔E1を占拠し、
この時間間隔は、正確にデッドラインD1(「パケット
1のセーブ」)において成功裏に完了する。
【0164】ここで、動作は、パケット2の割込まれた
デコード実行へ、ポイント再開2において復帰し、そこ
で実行時間間隔E2の残りを費やし、パケット2のデコ
ードは、例示的には偶然正確にデッドラインD2におい
て成功裏に完了する。
【0165】図22、図23、および図24は、図21
に示されているようにパケットをセーブする割込み(プ
リエンプション)プロセスを行うための、3つの異なる
実施例を示す。図22、図23、および図24における
諸ブロックの機能の類似性または同一性を示す場合、参
照番号の最後の2桁を、図から図へと同じにしてある。
図22、図23、図24のそれぞれを、より良く理解す
るためには、参照番号の最後の2桁のことを忘れずに、
それらの全ての説明を研究し、比較対比することが望ま
しい。
【0166】当業者は、図21の機能性などを実現する
ために、さまざまな実施例のいずれかを準備し、それら
の機能を実現するのに効果的なように、また図22、図
23、および図24に提案されているように、前景処理
および背景処理に対し、または主処理およびプリエンプ
ション処理または割込み処理に対し、プロセスステップ
を割当てる。ここでの教示を発効させるための開発プロ
セスにおいては、もちろんテストおよびデバッグが必要
となる。
【0167】図22において、第1プロセス実施例は、
デコード可能なリアルタイム情報のチャネルN内のフレ
ームを有するパケット2201の到着に遭遇し、ステッ
プ2205において、チャネルN内のそのフレームを、
受取り、パケット解除し、図9のエグレスパケットキュ
ー内へ入力する。同時に、異なるチャネルM内のフレー
ムに対するデコーダプロセス2211が進行中であり、
それはデコードされたチャネル出力を発生する。このプ
ロセスは、デコーダプロセス2211の経過時間のタイ
マ2215を備えており、デコーダプロセスはタイマ2
215をセットアップし、またタイマ2215の走りを
セットする。
【0168】一方、新しいパケットの到着により(例え
ば、図21における、「パケット3または1の突然の到
着」を参照)、高い優先順位の割込みプロセスが、開始
2221において開始される。次に、ステップ2225
は、チャネルMおよびN内のフレームにおけるデッドラ
イン間隔DIを計算する。割込みタスクは、ステップ2
229において、経過時間Tの入力によりタイマにアク
セスする。
【0169】判断ステップ2231は、双方のパケット
を実行するための十分な時間が、それらそれぞれのデッ
ドラインの前に存在するかどうかを決定する。(パケッ
ト3がセーブされる、開始3および開始5を含む図21
の部分と比較されたい。)第1条件として、チャネル
N、例えばチャネル3、において、デッドライン間隔D
Iから、チャネルN内のフレームをデコードするために
必要なデコーダのデコード実行時間ENを減算したもの
が、ゼロより大きいかテストされる。第2条件として
は、チャネルM、例えばチャネル5、において、デッド
ライン間隔DIから、そのチャネルM内のフレームのデ
コードを完了するために必要なデコーダのデコード実行
時間の残りを減算したものから、割込み中にデコーディ
ングチャネルNにおいて費やされるべき時間ENを減算
したものが計算される。そのチャネルM内のフレームの
デコーディングを完了するために必要なデコーダのデコ
ード実行時間の上述の残りは、EMから経過時間Tを減
算したものである。従って、代数学的には、第2条件は
DIM−EM+T−EN>0となる。
【0170】判断ステップ2231において、もし第1
条件および第2条件の双方が真(YES)であれば、動
作はステップ2235へ進み、チャネルNのためのデッ
ドラインが、進行中のチャネルMのデコードのためのデ
ッドラインより小さい(より差し迫っている)かどうか
がテストされる。もしそうであり、YESであれば、動
作はステップ2241へブランチし、チャネルN内のフ
レームのためのプリエンプションプロセスを実行し、そ
のプロセスはそのフレームをデコードして、デコード実
行時間ENを費やす。このブランチは、図21の上向き
の矢印「パケット3のセーブ」および開始3の動作に対
応する。
【0171】ステップ2235において、もし結果がN
Oであれば、動作はステップ2251へ進み、チャネル
Nのフレームを、図13のステップ1215、および図
14および図16のブロック1431におけるように、
シーケンスキュー(egr_sched_list)へ
追加する。換言すれば、チャネルNはチャネルMのデコ
ードほど差し迫っていない。
【0172】ステップ2231において、もし結果がN
O(第1条件および第2条件のいずれか、または双方
が、真でない)ならば、動作はステップ2261へブラ
ンチし、チャネルN内のパケットを廃棄する。このパケ
ットはセーブするのに遅れ過ぎているか、または、すで
にチャネルM内で開始されているデコードを失うことな
くセーブするのに遅れ過ぎている。それにより、パケッ
トの優先順位決定が実行される。
【0173】ステップ2241、2251、および22
61のいずれの後にも、動作はリターン2271へ進
み、するとステップ2211におけるデコーダは、そこ
での割込まれた動作のいずれかを適切に再開する。
【0174】図23において、もう1つの実施例は、パ
ケット解除されたデータフレームのためのエグレスバッ
ファ1175.a、1175.b、...1175.q
(図11と比較されたい)を有する。エグレスバッファ
1175.a、1175.b、...1175.qは、
それぞれのチャネルiのためのエグレスバッファ117
5.i内の、なお処理すべきいくつかのバイトまたはワ
ードを表す、またはそれに比例する、カウントを保持す
るように配置された、それぞれのカウンタ2305.
a、2305.b、...2305.qを備えている。
これらのカウンタ2305.a、2305.b、...
2305.qは、デコードプロセス中に連続的にカウン
トし、以下のようにタイマとして有利に用いられる。も
し320ワードが、500マイクロ秒以内に処理される
べきであり、カウンタが180ワードが残っていると指
摘すれば、経過した時間Tは250マイクロ秒である
(180/320,T=(320−C)/320かつC
=180)。
【0175】このようにして、図23の実施例は、エグ
レスデータカウンタを時間の測定において有意義なもの
とする(当業者が選択したハードウェア、ソフトウェ
ア、またはこれらを混合したものにおける)環境を有利
に提供する。もしデコードのための全てのデッドライン
が同じ10ミリ秒境界のセット上に来るようにシステム
が構成されているならば、極めて遅れたパケットによ
る、遅れたパケットのプリエンプションは、極めて遅れ
たパケットをセーブするのに十分である。(システム
は、たとえもし全てのチャネルがアクティブであって
も、全ての極めて遅れたパケットを処理するのに十分な
処理能力を備えているので、極めて遅れたパケットのデ
コード実行の順序はあまり重要でない)。しかし、他の
実施例においては、システムは、ちょうどの10ミリ秒
時点とは異なるデッドライン時点上に来る、デコードの
ためのデッドラインを有する。そのような後者の実施例
においては、ちょうど到着した極めて遅れているパケッ
トは、デコード実行において別の極めて遅れているパケ
ットをプリエンプトすることができ、またはプリエンプ
トするようにされるべきである。そのわけは、そのよう
な場合には、デコード実行の順序は、開始デッドライン
にもっと近くさえある突然到着したパケットによる開始
(Di−Ei)およびプリエンプトのための、それらのデ
ッドラインの順序での、到着する極めて遅れたパケット
のデコード実行の開始の有利なセーブにとって重要であ
るからである。図21および図23を参照されたい。
【0176】さらに、図23において、動作は、開始2
321において開始され、ステップ2325へ進み、エ
グレスバッファ1175.Nの1つに対応するチャネル
N内のちょうど到着したパケットのためのデッドライン
間隔DIを計算する。その間に、デコードはチャネルM
において行われつつある。チャネルMにおいて進行中の
デコードが割込まれるべきであるかどうかを決定するプ
ロセスを開始するために、ステップ2329は、カウン
タ2305.M内のカウンタ値Cを入力する。次に、ス
テップ2331は、ちょうど到着したパケットが廃棄さ
れなければならないかどうかを、第1テストにおいて、
パケットNのためのデッドライン間隔DIから、チャネ
ルMにおけるデコーディングの残りを完了するために必
要な時間CΔtの量を減算することにより決定するテス
トを行う。(「Δt」は、それぞれのカウンタにおける
Cの時間単位の量を表し、これによりDIおよびCが同
じ時間単位に基づくことになる。)もしこのようにして
決定された、減算の差がゼロよりも小さければ、進行中
のチャネルMにおけるデコードから節約する時間はな
く、そこで動作はステップ2361へブランチし、チャ
ネルNのちょうど到着したパケットを廃棄する。また、
ステップ2331においては、デッドライン間隔DI
が、チャネルN内のちょうど到着したパケットのための
デコード実行に必要な実行時間ENより小さいかどうか
を、第2テストが決定する。もし第1テストまたは第2
テストのいずれかが満たされれば(YES)、廃棄ステ
ップ2361へのブランチにより、ちょうど到着したチ
ャネルNのパケットは廃棄される。
【0177】もしステップ2331において、第1テス
トも第2テストも満足されなければ(NO)、動作はも
う1つの判断ステップ2335へ進み、ちょうど到着し
たパケットのためのデッドラインDNが、チャネルM内
のデコード中のパケットのためのデッドラインDMより
も小さい(早く来る)かどうかをテストする。もしそう
であるならば、動作はステップ2341へブランチし、
高い優先順位の割込みルーチンを開始して、チャネルM
におけるデコードをプリエンプトし、チャネルN内のち
ょうど到着したパケットのためのデコードを実行し、次
にリターン2371へ進んでチャネルMにおけるデコー
ドを再開する。
【0178】もし判断ステップ2335において、デッ
ドラインDMが、ちょうど到着したパケットのためのデ
ッドラインDNより早いと決定されれば、動作はステッ
プ2351へ進み、ちょうど到着したパケットを図16
のリンクリストへ追加し、するとそのパケットは、その
順番が来た時に有利にデコードされる。ステップ235
1および2361のそれぞれにおける動作は、最終的に
はリターン2371に到着する。
【0179】図22のステップ2281のブロックと、
図23のステップ2381のブロックと、図24のステ
ップ2481のブロックとは、さまざまな実施例におい
て当業者により評価され、また相互に交換されうる、異
なる選択肢を提供する。
【0180】図24は、図20において前に実施例#3
として示された、VoP/VoIPプロセスにおけるプ
リエンプションの最適化の層を示す。ここでは、エグレ
スはイングレスよりも高い優先順位を割当てられてい
る。もし極めて遅れているエグレスパケットが到着し、
そのデッドラインが、到達するのにわずか400マイク
ロ秒というようなスレショルド量より低ければ、そのス
レショルドにおいて、プリエンプションプロセスは、そ
のパケットを損失から有利にセーブする。スレショルド
量とは、システムにおいて現在実行されているタスクを
完了するために残されている時間の長さである。スレシ
ョルド量は、特定のタスクの識別により変化するので、
探索され、または知らされる。スレショルド量は変化
し、そのスレショルド量は、タスク固有の情報により実
行を開始した、また、このプリエンプション実施例によ
り対応するスレショルド計算プロセスが確立されてい
る、その特定のタスクの、完了の程度から計算可能であ
る。
【0181】図24においては、パケットがリンクリス
ト1631内へ入れられるかどうかを決定する情報、す
なわち、リンクリストエントリ判断の直前の情報が、計
算において用いられる。このプロセスにおいて、プロセ
スはいくつかの期間へ分割され、それにより、非プリエ
ンプティブ環境を保持し、プロセスにブレークが起こる
まで待ち、そのブレーク時にはエグレスフレームを開く
べきかどうかを決定する。ブレーク時間中においては、
制御信号が、システムの制御ブロックへ送り返され、パ
ケットをスケジューリングするか、または除去するかを
決定する。
【0182】図24における細密分解能による時間測定
において、それ自身が信頼性のあるクロックを構成する
8KHzの速度のサンプル周期において125マイクロ
秒を占拠するエンコードされた音声の到着は、それらの
音声自身をサンプリングする。細密分解能実施例を用い
る時、そこでは同じクロックが、デコードの経過時間を
も与えるクロックとして用いられるものと考えられる。
当業者は、このようにして、改善されたハードウェアが
与えられた時、適切な構成を行いうる。
【0183】図24の実施例は、音声デコードプロセス
2403自身を、そのプロセスのデコードの進行のタイ
マとして用いる。もしデコードプロセス2403が、1
60サンプルのデータを処理する必要があれば、20サ
ンプル程度毎のプロセスが、割込まれるようにそれ自身
を開いて構成されうる。同時に、その20サンプル程度
毎のプロセスは、レジスタ2414をセットアップし、
そのレジスタに対しそれが20サンプル、40サンプ
ル、60サンプル、などに到達したことを知らせうる。
次に、レジスタ2414は、どのようにパケットをスケ
ジューリングすべきか、またプリエンプトすべきかどう
か、を決定するために用いられる、そこに記憶されてい
る情報について、スケジューラ2413によりアクセス
される。このようにして、デコードプロセス2403に
より例示されるさまざまなタイプのデコードプロセス
は、ここで考えられた利点および新プロセスのために用
いられうる信号を形成するよう構成される。
【0184】図24において、動作は、開始2405に
おいて開始され、ステップ2407へ進んで、(例え
ば、チャネルM内の)次のパケットフレームが音声また
は無音のいずれを表しているかを決定する。もし音声
(YES)であれば、動作はデコードプロセス2403
へブランチする。そこで動作は、まずレジスタ2414
を初期化し、次にステップ2409.1において、音声
(またはメディア)データから、例として20ビット
を、図11のエグレスパケットキュー1175.i内、
または図14および図16のシーケンスキューおよび管
理ブロック1431内へ、転送し、デコードする。ステ
ップ2409.1の後に、ブレークプロセス2411.
1は、スケジューラ2413(デコードプロセス240
3の上方に楕円形として示され、また図24の右側によ
り詳細に示されている)に対する呼出しを開始する。ま
た、ブレークプロセス2411.1は、デコードプロセ
ス2403のデコード実行に食い込む経過時間に比例す
る、または該時間を表す値を、レジスタ2414の内容
が表示するように、レジスタ2414を更新する(増加
または減少の方法が十分に役立つ)。
【0185】図24の右側にある、スケジューラ241
3のプロセスステップの高速での通過は、ちょうど到着
したパケットを処理し、次に動作はデコードプロセス2
403へ復帰し、ステップ2409.2における20以
上のビットのデコードの実行と、それに続く別のブレー
クプロセス2411.2、などを、2409.3、24
11.3、...240.9、2411.kを経由して
行い、デコードはリターン2415において完了する。
【0186】上述のようにスケジューラ2413が呼出
された時、動作は開始2421において開始され、次に
ステップ2425は、例えばチャネルN内のちょうど到
着したパケットのためのデッドライン間隔を計算する。
次にステップ2429は、経過時間を表すレジスタ24
14からの値Tを、デコードプロセス2403へ入力す
る。動作は、図22のブロック2281内のステップ2
231、2235、2241、2251、および226
1と同様に説明される、ステップ2431、2435、
2441、2451、および2461を含むステップ2
481のブロックへ進む。図24のブロック2481に
おける動作の後、リターン2471に到達する。
【0187】図24のステップ2407において、遭遇
したフレームが無音の間隔を表している時は、動作はス
テップ2416へ進み、その無音の持続時間を表す更新
によりレジスタ2414をロードする。次に、ステップ
2417はその無音を、当業者が所望し選択した無音デ
コードプロセスにより、無音響として、または白色雑音
として、または減衰エネルギーとして、またはその他と
して、デコードする。別のチャネル内のちょうど到着し
たパケットは、この無音デコードプロセスに、スケジュ
ーラ2413を用いて適切に割込む。無音デコードステ
ップ2417の後、動作はリターン2419に到達す
る。
【0188】図25は、図24のブロック2411.
1、2411.2、2411.3、...2411.i
において用いられるブレークプロセスを示す。動作は、
開始2511において開始され、次にステップ2515
において、前の20ビットステップ2409.iからの
デコードパラメータおよびデータを、次の20ビットス
テップ2409.i+1が必要とする程度に、後者の時
刻がきた時にセーブする。ステップ2515の後、動作
は、ステップ2521において、レジスタ2414を、
図24のステップ2429および2431と調整され
た、残存デコード実行時間(または経過デコード時間)
により更新する。このようにして、経過デコード時間
は、ステップ2429において時間Tとして入力され、
ステップ2431において図示のように用いられる。代
わりに残存デコード時間(Tr)がステップ2429へ
入力されると、ステップ2431におけるテストは、
〔(DIN−EN>0)および(DIM−Tr−EN>
0)〕となる。
【0189】図25において、動作は、ステップ252
1からステップ2525へ進み、ステップ2525は、
図22、図23、および/または図24に示されている
ように適切に実現されたスケジューラ2413を呼出
す。図25はまた、スケジューラ2413においてフラ
グソフトウェアが用いられるプロセス実施例を提案して
いる。このフラグは、いずれか他のパケットまたはチャ
ネルが、図24において進行中のデコードプロセスより
高い優先順位を与えられるべきであると、適切なテスト
が決定した時にターンオンされる。このフラグがオンで
ある時は(YES)、動作は、ステップ2531からス
テップ2535へブランチし、優先権のあるチャネルの
デコードを開始する。動作は、その優先権のあるデコー
ドが割込まれうるようにさえネスティングでき、それゆ
え、ステップ2535における開始は、割込みのない実
行により完了に至ることを意味しないことに注意すべき
である。ステップ2535の後、またはステップ253
1においてバイパスフラグがオフである時は(NO)、
動作はステップ2541へ進み、ステップ2409.i
からのデコードパラメータおよびデータを回復し、次に
動作はステップ2551へ進み、新しい現在のチャネル
のデコードプロセス2409.i+1へ復帰する。
【0190】図26は、図20の実施例タイプ#5のプ
ロセスの例を詳細に示す。動作は、エグレス開始261
1において開始され、次にステップ2615において、
エグレスパケットをキュー2625に入れる。次に、判
断ステップ2621は、キュー2625内の最も遅れた
パケットのためのデッドライン間隔DIが、あるスレシ
ョルド数Kのバイト(当業者が選択したワードまたはフ
レームなど)を超えているかどうかを検査するテストを
行う。例えば、フレーム2531が、キュー内の最も遅
れた(全てのフレーム中の最低のDI)パケットである
と仮定する。フレーム2531は、早かったフレームで
ある。そのDIは、数Kを超えている。ステップ262
1がYESを決定すると、ステップ2641へブランチ
し、このステップはイングレスプロセスを呼出す。その
わけは、チャネルにおいてエグレス処理が必要になる前
に、イングレスプロセスを行う十分な時間が存在するか
らである。
【0191】もしステップ2621におけるテストがN
Oになれば、動作はステップ2651へ進み、すでに論
じたようにエグレスプロセスを実行し、そこからリター
ン2655へ到達する。また、もしステップ2641に
おいて呼出されたイングレスプロセス中に、判断ステッ
プ2671において、キュー2625の位置2665内
への新しく到着したパケット2661のエントリによる
などして、最低のデッドライン間隔DIがKより小さく
なれば、判断ステップ2671からのブランチはエグレ
スステップ2651へ進む。そうでない場合は、ステッ
プ2671はYESを決定し、動作は「イングレスから
の復帰」2645へ進み、ステップ2621へ帰る。
【0192】(無音処理の実施例)無音処理は、フレー
ムの音声処理よりもずっと短い処理時間を有するので、
図24のデコーダは、パケットが音声であるか否かをブ
ロック2725において適切に決定する。もし音声でな
ければ(すなわち無音ならば)、レジスタ2418は、
例えば、無音処理期間T=5マイクロ秒をロードされ、
その無音パケットがデコードされ、続いてリターンに至
る。スケジューラ2413は、レジスタ2418をチェ
ックする。ステップ2431において廃棄されたであろ
う極めて遅れて到着したパケットは、ステップ2429
において無音パケットのTの値が極めて小さいので、こ
こでは有利にセーブされる。
【0193】(単一チャネル実施例)図4のセルラ電話
機の実施例においては、送信電話機におけるイングレス
パケットは、遠隔受信電話機におけるエグレスパケット
となる。もう1つのプロセスがスケジューリングプロセ
スを編成し、最小の可能な程度までそのイングレスパケ
ットを「酷使」し、または遅延させる。エグレスパケッ
トに、他の全てのものより高い優先順位を割当てる代わ
りに、有利な柔軟性を有するそのプロセスは、それぞれ
のエグレスパケットの実行のためのデッドラインに関す
る情報を利用する。そのプロセスは、遅れているパケッ
トに集中するほかに、既知の長いデッドライン間隔を有
する早いパケットを考慮する。そのプロセスは、早いパ
ケットの処理を、それが早いとわかっているので、非プ
リエンプティブに遅らせる。このようにして、1つまた
はそれ以上のイングレスパケットが非プリエンプティブ
に優先順位を与えられ、既知の早いエグレスパケットの
代わりに処理される。このようにして処理されたイング
レスパケットは、次に送り出され、受信位置に、そうで
ない場合に到着するであろうよりも早く到着し、従っ
て、それらが損失パケットになる確率はかなり減少す
る。(もし、早い、処理を必要としない、またその前に
何もないエグレスパケットのありふれた場合ならば、そ
のエグレスパケットはキューの先頭にあるので、プロセ
スは単にそのエグレスパケットに対し実行する。)この
ようにして、有利なプロセス実施例は、単一チャネル移
動端末、セルラ電話送受器、および他の単一チャネルア
プリケーションをも改善する。
【0194】図4および図26において、非プリエンプ
ションスケジューラは、エグレスチャネルが、その許容
する既知の早いパケット内容のみを有するので、イング
レスエンコードを無制約の時間間隔内へ入れる時間があ
ることを知る。エグレスパケットはデッドライン間隔を
探索され、プロセスは、それが十分な時間を残されてい
ることを知る。すなわち、プロセスは、所定値より大き
いデッドライン間隔を検出する。次に、それはイングレ
スパケットを処理する。有利なことに、この実施例は、
ネットワークの伝送品質を向上させる。そのわけは、こ
の実施例が、受信端において、イングレスパケットのデ
ッドライン間隔の点から、イングレスパケットの遅延を
小さくするからである。
【0195】動作はエグレス開始ステップ2611にお
いて開始され、ステップ2615へ進んで、新しいパケ
ットをキュー内へ入れる。次に、ステップ2621は、
デッドライン間隔DIが、キュー2625内の最低のD
I値2631を有するパケットのための所定の時間間隔
Kを超えているかどうかを決定する。時間間隔Kは、イ
ングレスプロセスが送信端においてもっと多くの入力音
声をエンコードするために必要とする所定の時間量と少
なくとも同程度の大きさを有する。もしステップ262
1において、最低のDIがKを超えていれば、動作はス
テップ2641へブランチしてイングレスプロセスを呼
出し、このプロセスを時間間隔Kより短時間で実行し、
ステップ2645においてステップ2621へ復帰す
る。ある段階においてステップ2621は、最低のDI
が老化して、DIがK以下になったことを検出し、動作
はステップ2651へ進んでエグレスプロセスを実行
し、次にリターン2655に到達する。
【0196】遅れて到着したパケット2661が図内へ
入来してから、もしその遅れて到着したパケットのため
のDIが、ステップ2641において開始されたイング
レスプロセス中に実行されるステップ2671において
Kより大きくないと決定されれば、その到着はイングレ
スプロセスに割込むか、または該プロセスをプリエンプ
トする。もしこれが起こると、イングレス計算が意味の
あるイングレス情報を生じるほど進行していれば、その
イングレス計算は適切にセーブされ、次に動作はステッ
プ2651へ進み、遅れて到着したパケット2661の
ためのエグレスプロセスを実行する。
【0197】このようにして、図4に示されているよう
に、ソース481においてイングレス処理が、進行せし
められ、それによりネットワークへ、イングレスパケッ
トがセル電話機491に到達するための十分な時間、ま
たは少なくともより多くの時間を与え、その場合、電話
機491におけるエグレス処理は、入来パケットに対
し、そうでなかった場合よりも高いデッドライン間隔値
を割当てる。
【0198】無音処理は、音声処理よりも短い処理時間
を有するので、無音または音声のこの特性は、イングレ
スプロセスをエグレスプロセスの代わりに前へ進めるべ
きかどうかの決定に用いられることに、さらに注意すべ
きである。図4のシステムにより得られる利点は従っ
て、1)イングレスパケットの遅延の減少、および2)
得られるネットワークの伝送品質の向上である。
【0199】図14の代わりの、図27に示されている
システムは、無音および音声パケット2711の区別を
最初に行わない。そのようなシステムは、無音パケット
が音声パケットであるかのようにデコードプロセスを行
う。無音パケットまたは音声パケットは、単にシーケン
スキュー管理1431へ進む。最終的には、それら双方
は、ピックアップされてデコード処理2725に入り、
ようやくこの段階においてそれが音声パケットである
か、無音パケットであるかが決定される。
【0200】図14においては、無音プロセスは、デコ
ードプロセス1425をバイパスし、一方、図27にお
いては、無音情報はデコード処理ブロック2725へ進
む。図27においては、図14のローカルバッファは用
いられず、図14の後処理1441は、デコード処理2
725が直接無音または音声データを出力バッファ27
51へ入力するので、簡単化される。簡単化された後処
理2741は、チャネル記録1413を更新する。音声
パケットが関係するか、無音パケットが関係するかにか
かわらず、簡単化された後処理2741のデッドライン
間隔更新プロセスは同じである。無音パケットも音声パ
ケットもシーケンスキューおよび管理プロセス1431
へ進むために、たとえ、シーケンスキューおよび管理プ
ロセス1431が図14と比較してやや多い作業を行う
かもしれない時でも、双方のタイプのパケットは、デコ
ーディングプロセス2725が行われるまでずっと同様
な方法で有利に処理される。このようにして、図14の
セレクタプロセス1405は不要となる。また、多くの
プロセスは、望ましくは、適応フィルタリングおよびエ
コーキャンセレーションなどを連続性をもって実行し、
デルタ変調を用いるG.726エンコードは、音声を、
振幅の差および音声の与えられたフラグメントのマッピ
ングへ変化させる。
【0201】もしデコーディングプロセス2725にお
いて無音の検出が起これば、無音が急峻なものとならな
いように、無音フレームは、あるスペクトルを有するラ
ンプへ適切にデコードされる。
【0202】図27のシステムにおいては、無音パケッ
トおよびそれらの対応する呼出しは、図16のキュー1
431内のリンクリスト記録をスケジュールするために
用いられる。無音パケット通常のヘッダを有するが、短
縮されたペイロードは音声パケットと比較される。これ
らのペイロードはメモリ内に記憶され、ある実施例にお
いてはそれらは固定された記憶位置を有し、デコード処
理2725がその固定位置からデコードする時であって
も固定位置を有する。コードは、スペースが利用可能に
なったことをフロントエンドキュー管理へ知らせる機能
を含むので、パケットがデコードされた時、スペース
は、新しいパケットのためのキュースペースの部分とし
て利用可能なように復帰せしめられる。
【0203】図14および図27のシステムの双方にお
いて、プロセスは、たとえ無音パケットおよび連続する
音声パケットが順序から外れて到着したとしてもしっか
り対応しうる。パケットのシーケンス番号がチェックさ
れ、デッドライン間隔が決定されて、リンクリスト14
31が更新される時に自動的に再順序付けが行われる。
次に、デコードは、それが無音パケットであるか、また
は音声パケットであるかを知る。そのわけは、ヘッダが
この情報を提供するからである。
【0204】スケジューリングリスト1431を管理す
る管理方法は、パケット内の値を減少させ、パケットを
追加し、キューの先頭にあるパケットを取ってそれらを
デコーダへ送る。もしキューの先頭にあるパケットが無
音パケットであるならば、図27の実施例においては、
それは同様にデコーダ2725へ送られる。そのデコー
ダは、それが無音パケットであることを検出し、無音の
ワード数を検出する。次に後プロセッサ2741が、更
新されたデッドライン間隔によりチャネル記録を更新す
る。無音処理は、例えば数百マイクロ秒での音声処理よ
りも、要する時間が少ない(例えば、5マイクロ秒)。
無音処理は、出力バッファ2751またはメモリの領域
を、ゼロ、または前の音声パケットに類似した所定のス
ペクトルを有する雑音、または補間、または他の無音デ
ータ、により適切に満たす。
【0205】無音処理は、異なる処理時間を有するの
で、デコーダまたはデータ記憶装置は、プロセッサの動
作においてこれを考慮して、それを極めて遅れているパ
ケットとして考え、またはレジスタへタイミングを発行
し、または前述のようにイングレスプロセスをエグレス
プロセスの代わりに先に行かせるかどうかを決定する。
【0206】デコーダは、スケジューリングリストに、
その処理においてそれがどれだけ遠くなるかを知らせ
る。ある実施例においては、デコーダおよびスケジュー
ラの両者は、非プリエンプティブスケジューリングルー
プの部分を形成する。
【0207】プリエンプティブ実施例においては、プロ
セスは将来に備えるようにされ、その場合、図24のセ
グメント化されたデコーダプロセスは、遅れて到着する
パケットのために自分自身が割込まれることを許容す
る。
【0208】逆に、無音パケットが到着したパケットで
あるものと仮定する。たとえ、その無音パケットが極め
て遅れていて、廃棄されたであろう音声パケットよりも
遅れていても、その無音パケットは、やはり大きいデッ
ドライン間隔DIを有する。そのわけは、無音パケット
の処理時間が短いからである。ある実施例においては、
失われたパケットは、受取られた無音パケットと同じ処
理を受けるので、この考慮はあまり重要ではない。しか
し、他の実施例においては、受信された無音パケット
は、例えばデッドラインの前の最後の10ミリ秒内に検
出された損失パケットイベントに応答してデコーダが発
生する音声とは、異なる出力音声を発生するようにデコ
ードされる。また、受信された無音パケットが、無音フ
レームの多さの値Sを表示する数を含み、また損失パケ
ットイベントが損失音声フレームの諸定数を示すのみで
ある実施例においては、無音パケットの損失からのセー
ブもまた重要である。このようにして、デッドライン間
隔の計算は、それを行わなければ廃棄されたであろう無
音パケットを、デコーディングのために有利にセーブす
る。
【0209】(円形動作)次の節は、円形バッファと、
システムタイマロールオーバ(円形時間)と、パケット
タイムスタンプロールオーバと、を有するシステムとの
関連における、パケット処理デッドラインのハンドリン
グの問題の解決法を説明する。
【0210】(カウンタサイズ)円形時間を用いるため
には、望ましいクロック速度rCLK〔Hz〕と、対応す
るクロックサイクル周期cCLK=1/rCLKと、つねにシ
ステムにより維持される必要がある最大時間間隔の推定
MAX〔sec〕と、を選択する。それは、クロックを
実現するために必要なビットの数〔数b〕を与える、必
要なクロック範囲〔数k〕を提供する。システムクロッ
クのサイズTMAX(クロック範囲)は、システムにおい
ていつか生じうる2つの時間的に最も離れたパケット間
の最大のタイムスパンtMAXの少なくとも2倍とされ
る。
【0211】標準的な8kHzの電話の場合、16ビッ
トクロックは、8秒を超える全スパンを与え(125μ
sec*216>8sec)、これはグローバルシステム
において与えられたチャネル内に同時に存在しそうな、
2つの最も離れたストリーミングメディアパケットの任
意の痕跡間の最長のタイムスパンを実質的に超える。こ
のようにして、tMAX=216、またk−1=216−1で
ある。
【0212】16ビットの円形タイムクロックが、216
個のアドレスを有する216個のワードのバッファを有す
るものとする。「自動化」プロセスを作成するために、
次式により与えられるシステムクロックの法TMAXを用
いる。
【0213】
【数5】TMAX=2*tMAX ただし、tMAXは上述のように定義され、tMAXは2つの
最も離れたイベントを含む直線時間範囲または時間差で
あり、その記録は常に同時にシステム内に存在する。こ
こで、任意の2つの値tAおよびtBに関する新しい演算
circT(tA,t B,TMAX)を以下のように定義す
る。ただし、0≦tA<tMAX;0≦tB<tMAXである。
【0214】
【数6】 Δ=tA−tB とするとき、 もし0≦Δ<tMAXならば、circT(tA,tB)=Δ; 〔circTは正であり、ストラドルなし〕場合1 もし−tMAX≧Δ>−TMAXならば、circT(tA,tB)=Δ+TMAX; 〔circTは正であり、ストラドルあり〕場合2 もし0>Δ>−tMAXならば、circT(tA,tB)=Δ; 〔circTは負であり、ストラドルなし〕場合3 もしtMAX≦Δ<TMAXならば、circT(tA,tB)=Δ−TMAX; 〔circTは負であり、ストラドルあり〕場合4 もしΔの値を得た後ならば、以上の結果として以下が得られる。 もしΔがTMAXに等しければ、circT(tA,tB)=0 もしΔが−TMAXに等しければ、circT(tA,tB)=0
【0215】図28は、以上に場合1、場合2、場合
3、および場合4として示した4つの結果を示す。Δま
たはcircTのための右向きの矢印は、それらの符号
が正であることを示し、その場合はイベントAはイベン
トBの後に起こっており、結果は図28に場合1、場合
2、場合3、および場合4として示されている。Δまた
はcircTのための左向きの矢印は、それらの符号が
負であることを示し、その場合はイベントAはイベント
Bの前に起こっている。
【0216】クロック面2811は、「1時」から「1
2時」としてのTMAXまで進む円形時間を示す。時刻tA
およびtBは、クロック面2811上の大きい点として
目立つようにしてある。180°の回転が、tMAXとし
て示されている。この180°は、システムが、ここで
説明される円形時間差プロセスを用いて、イベントAお
よびBの順序をその中で決定するスパンである。小さい
円2821は、直線時間が左から右へ、ゼロ(0)から
2TMAXまで進むとき、クロック面2811上の秒針の
ような細密分解能で進むシステムクロックを示唆する。
【0217】図29において、circT(tA,tB
を意味する円形時間差Δtθを与える円形時間動作は、
開始2905において開始され、時刻の対tA、tBを表
すタグまたは計算値の入力へ進む。次にステップ291
1は、それらの直線時間差Δ=tA−tBを求める。次
に、判断ステップ2915は、ステップ2911からの
時間差の符号ビットをテストする。もし符号ビットが正
であれば、判断ステップ2917は、ステップ2911
からの時間差の最上位ビット(MSB)をテストする。
【0218】もしそのMSBがゼロ(0)であれば、そ
の時間差が0から+TMAXまでの間隔の低い方の半分内
にあることを意味し、そのときは、0≦Δ<tMAXの場
合1の条件が存在するので、ΔtθはΔに等しいとされ
る。次に、ステップ2925は、Δtθが正であること
を表すフラグをセットする。もしステップ2917にお
いて、MSBが1であれば、時間差が0から+TMAX
での間隔の高い方の半分内にあることを意味し、そのと
きは、tMAX≦Δ<TMAXの場合4の条件が存在するの
で、ステップ2931においてΔtθはΔ−TMAXに等
しいとされる。次に、ステップ2935は、円形時間差
Δtθが負であることを表すフラグをセットする。この
有利で非凡な演算には注目すべきであり、正の直線時間
差は、時には他のようにでなく、負の円形時間差に変換
され、かつそのように解釈される。
【0219】ここで判断ステップ2915の他の側へ目
を向け、直線時間差Δ=tA−tBの符号ビットが負であ
ると仮定する。そのとき、判断ステップ2941は、ス
テップ2911からの時間差の最上位ビット(MSB)
をテストする。
【0220】もしそのMSBが1であれば、時間差が0
から−TMAXまでの間隔の大きさの低い方の半分内にあ
ることを意味し、そのときは、0>Δ>−tMAXの場合
3の条件が存在するので、ステップ2945においてΔ
θはΔに等しいとされる。次に動作はステップ293
5へ進み、このステップは、円形時間差Δtθが負であ
ることを表すフラグをセットする。もしそのMSBがゼ
ロ(0)であれば、時間差が0から−TMAXまでの間隔
の大きさの高い方の半分内にあることを意味し、そのと
きは、−tMAX≧Δ>−TMAXの場合2の条件が存在する
ので、ステップ2951において、ΔtθはΔ+TMAX
に等しいとされる。次に、動作はステップ2925に進
み、このステップは、Δtθが正であることを表すフラ
グをセットする。この有利で非凡な演算には注目すべき
であり、負の直線時間差は、時には他のようにでなく、
正の円形時間差に変換され、かつそのように解釈され
る。
【0221】ステップ2925および2935のいずれ
の後にも、動作はリターン2927へ進み、この有利な
円形時間差実施例の動作は完了する。上述のプロセスの
4つの成分は、結果により順序付けられている。プロシ
ージャ的に複雑性が少ないのは、Δの値により順序付け
る考え方である。このアプローチは、図30に示されて
いる。
【0222】
【数7】 もし(Δ≧0)である時は、 {もし(Δ<(1/2)TMAX)ならばΔtθ=Δ;そうでなけれ ば Δtθ=Δ−TMAX;} そうでない時は、 {もし(Δ≧(−1/2)TMAX)ならばΔtθ=Δ;そうでなけれ ば Δtθ=Δ+TMAX;} ただし、 Δtθ=circT(tA,tB,TMAX) である。
【0223】このようにして、図30においては、高い
方の半間隔は左端に現れ、直線または軸の右端の領域は
直線時間差Δの値を表す。それら2つの端部領域におい
ては、加算3011または減算3021の演算は、直線
時間差Δを表すビットに対して行われ、それらのビット
はレジスタ3031内に一時的に記憶される。さらに、
図30においては、符号およびMSBの記号が、直線の
それぞれの領域に対して入力される。次の節「符号ビッ
トの考察」をわかりやすくするために、ここでは>を用
いてもよかったのだが、≧を用いた。
【0224】上述においては、tMAXの値が(1/2)*
MAXの値により置き換えられた。ここでは、双方が上
述の領域内にあるためにこれが許される。そのわけは、
定義によりtMAX≦(1/2)*TMAXであるからであ
る。従って、不等式は正しく成立する。また、TMAX
の比較も削除されている。円形性により、全ての値は、
−TMAX、+TMAXの範囲内にあるので、比較の必要はな
い。
【0225】(符号ビットの考察)上述の「最終ステー
トメントのセクション2」における、単一ステートメン
トで表現された解決法を考察するにあたっては、 ・ 「もし(Δ≧0)である時は」は、Δの符号のテス
トであることに注意すべきである。
【0226】現在DSPコンピュータにおいて広く採用
されている(図29参照)、2の補数の演算における符
号は、最左端のビットとしてエンコードされる。それ
は、ゼロおよび正の値に対しては「0」であり、負の値
に対しては「1」である。
【0227】符号のテスト内には、もう1つのテストが
ある。すなわち、 ・ 「もし(Δ<(1/2)TMAX)ならば」は、最上
位仮数ビットのテストである。
【0228】Δが正であると考えてみよう。3ビットの
仮数演算において、000、001、010、および0
11(0、1、2、および3)は全てフルレンジの半分
より小さいが、100、101、110、および111
(4、5、6、および7)はフルレンジの半分より大き
い。従って、決定的な因子(図29)は、最上位ビット
(MSB)の値である。もしそれが0であれば、値はT
MAXの半分より小さい。そうでない場合は、それはTMAX
の半分より大きい。
【0229】次に、Δが負であると考えよう。この側の
ステートメント内には、テスト、 ・ もし(Δ≧(−1/2)TMAX)ならばがある。こ
の場合も3ビットの仮数となるが、今回は負の数:11
1、110、101、100(−1、−2、−3、−
4)である、最上位ビット(MSB)が「1」に等しい
ものと、一方、011、010、001、000(−
5、−6、−7、−8)である、最上位ビット「0」を
有するもっと大きい負数と、である。再び、図29、図
30、および図32における決定的因子は、MSBすな
わち最上位ビットの値である。
【0230】(ハードウェアの、またはハードウェア様
の解決法)図31において、半導体チップ実施例は、単
一チップ上において、不揮発性メモリ3112のセクシ
ョン、および、SRAM(スタティックランダムアクセ
スメモリ)のセクション3113および3115、と組
合わされた、コアマイクロプロセッサ、マイクロコント
ローラ、またはディジタル信号プロセッサ3110を有
する。不揮発性メモリ3112は、当業者が選択した音
声コーダ、パケット化、VoIP制御、IPスタック、
およびGUIの諸ブロックのような、図1、図5、およ
び図6、および図9から図29まで、のソフトウェア
を、ロードされ、すなわち内部に記憶するように製造さ
れている。さらに、図31において、単一チップ集積回
路DSP3110は、命令デコーダ3117と、少なく
とも1つのALU(演算/論理ユニット)3131と、
乗算器ユニット3121と、を有する。バス3141
は、デコーダ3117と、ALU3131と、乗算器3
121と、メモリ3112、3113、3115とを、
DMAおよびバスインタフェースユニット3151と相
互接続する。
【0231】図32において、比較Δ=circ
T(tA,tB)は、時間間隔の真の値を生じる。実際
に、図13のソーティングおよびパージングプロセス
は、主として、2つのタイムスタンプtAおよびtBのい
ずれが大きく、いずれが小さいかの決定を意味する、c
ircTの符号に関係していた。
【0232】circTの符号は、Δの符号および次の
MSBビットから決定される。 00は(tA>tB)を意味する 01は(tA<tB)を意味する 10は(tA>tB)を意味する 11は(tA<tB)を意味する
【0233】しかし、驚くべきことに、比較器タイプ、
または符号のみの比較の結果は、従来の演算が用いられ
る時は、第2最上位ビットにより決定され、他の演算が
用いられる時は、複雑でない論理により決定されうる。
【0234】図32は、判断ステップまたは判断ハード
ウェア素子3211を示す。もしレジスタ3031にお
いて、Δの第2最上位ビット(最上位ビットの値)が0
であれば、Δtθは正であり、これは、算術的にtA
Bより大きく、従ってtAがより最近のイベントをあら
わすことを意味する。そうでない場合は、tAはtBより
早いイベントである。
【0235】これらの方法は、もし((Δ&0x800
0)=0)...ならばソフトウェア実施例およびハー
ドウェア実施例の双方において有利に用いられる。この
ステートメントにおいて、16ビットのΔの第2最左ビ
ットは、それに印をつけて区別することにより孤立せし
められ、「0」と比較される。このようにして、もし
(Δ&0x8000)が「真」であればtA≧tBであ
り、そうでなければtA<tBである。
【0236】さらに図32において、加算器/減算器回
路3231の入力には、時刻tAおよびtBの値が供給さ
れる。レジスタ3031からの符号ビットおよびMSB
ビットは、論理回路3235へ供給され、この回路は、
場合1および場合4が起こった時に、加算器/減算器回
路3231の加算/減算制御入力を駆動し、それらの場
合のそれぞれに応じてその回路内において加算または減
算を適切に行わせるように、通常の技術により設計され
る。加算(場合2)、または減算(場合4)、または無
為(場合1および場合3)の結果は、バス3241を経
て加算器/減算器回路3231からレジスタ3031ま
たはメモリへ供給される。このようにして、円形時間差
CIRCTは、さまざまなアプリケーションのために、
ソフトウェアまたは高速ハードウェア内において実現さ
れる。図33において、いずれのパケットを最初に処理
すべきかを決定するために、諸パケットをデッドライン
までの時間(DI)によりソートする時には、次の量の
比較を行うと有利である。
【0237】
【数8】Δt=circT(tDDL,M,tDDL,X,TMAX
【0238】可能な結果を解釈すると、もしΔt>0
(すなわち正)であれば、すでにキュー上にあるアイテ
ムは長いデッドラインを有し、ソートされているそのア
イテムは、前に挿入されるべきである。もしΔt≦0で
あれば、ソーティングプロセスは、キュー上の次のアイ
テムへステップすべきである。上述のプロセス3300
は、キュー1431を、有利かつ効率的に「更新」す
る。図33を、図16および図17と比較されたい。
【0239】プロセス3300の動作は、開始3305
において開始され、更新ループに入る前に、ステップ3
311においてキュー記録ポインタを初期化する。次
に、ステップ3321は、キュー内へソートされるべき
記録と、すでにキュー内にある記録に関連する時刻と、
の間の円形時間差Δt=circT(tDDL,M
DDL,X,TMAX)を計算する。次に、判断ステップ33
31は、その円形時間差が正であるかどうかを決定す
る。もし正でなければ、動作はステップ3341におい
て次のキュー記録へステップし、さらにステップ332
1へループバックする。最後に、ソーティングループ
が、円形時間差が正であると決定すると、動作はステッ
プ3351へ進み、新しい記録を現在のキュー記録の先
頭へ挿入し、それによりその新しい記録をキュー内へソ
ーティングする。その後、リターン3361に到達す
る。
【0240】図34は、音声/オーディオおよび画像の
双方のリアルタイム情報のための、図1、図5、図6、
および図9から図29までの、改良されたパケットプレ
イアウト(playout)制御ソフトウェアを有す
る、パケット利用メディアコンピュータシステムを示
す。パケット利用メディア制御ブロック3411は、音
声コーデックおよび/またはオーディオコーデック34
21、音声/オーディオイングレス/エグレスソフトウ
ェア制御ブロック3431、パケット化ブロック344
1、パケット解除ブロック3443、TCP/UDP/
IPスタック3451、画像圧縮器/圧縮解除器347
1、および画像イングレス/エグレス制御ブロック34
73と相互接続されている。
【0241】マイクロホンおよびA/D回路は、サンプ
リングされたオーディオ情報を、音声/オーディオコー
デック3421へ供給する。音声/オーディオコーデッ
ク3421は、フレームを、音声/オーディオイングレ
ス/エグレスソフトウェア制御ブロック3431を経
て、パケット化ブロック3441へ供給し、このブロッ
ク3441は、モデムおよび/またはリンク/物理層ブ
ロック3461を経てネットワークまたは無線通信経路
に接続する少なくとも1つのソフトウェアオブジェクト
に結合している。ブロック3461は、通信目的のため
のリンク層および/または物理層を有する任意の種類の
モデム、または任意の装置である。
【0242】さまざまな画像源が、画像データを、制御
インタフェースCTRL I/Fを経て、ビデオ圧縮器
および/または画像圧縮器3471へ供給する。この画
像源は、テレビジョンチューナ、VCRビデオテープレ
コーダおよびプレーヤ、ビデオカメラ、画像を有するC
D−ROMドライブ、ディジタルスチルカメラ、CAT
(コンピュータ支援トモグラフィー)スキャナのような
医療用画像処理コンピュータ、PET(陽電子放出トモ
グラフィー)スキャナ、MRI(磁気共鳴イメージン
グ)スキャナ、または他の画像処理コンピュータ(図示
せず)を含む。
【0243】アーキテクチャ的にエレガントに、また上
述の諸ブロックと同様に、画像圧縮器3471は、フレ
ームを、画像イングレス/エグレスソフトウェア制御ブ
ロック3473内の画像イングレス機能を経て、パケッ
ト化ブロック3441へ供給し、このブロック3441
は、モデム3461を経てネットワークに接続するソフ
トウェアオブジェクトBに結合している。医療用モニ
タ、または産業用プロセス制御装置(図示せず)などか
らのリアルタイムデータは、伝送経路内へ適切に同様に
結合される。
【0244】受信方向においては、ソフトウェアオブジ
ェクトBが、ネットワーク内の1つまたはそれ以上の通
信経路からパケットを受取り、それらを、音声/オーデ
ィオイングレス/エグレスソフトウェア制御ブロック3
431内のエグレス機能に結合したパケット解除ブロッ
ク3443へ供給する。ソフトウェア3431は、パケ
ット解除されたフレームをオーディオコーデック342
1へ供給してフレームをデコードし、D/A変換器およ
びスピーカのようなオーディオ出力トランスジューサを
経て出力する。ソフトウェア3431におけるパケット
プレイアウト制御および損失パケット補償は、ここでの
他の場所で説明されるように行われる。
【0245】アーキテクチャ的にエレガントに、また画
像経路におけると同様に、ソフトウェアオブジェクトは
また、ネットワーク内の1つまたはそれ以上の通信経路
から画像パケットを受取り、それらを、パケット解除ブ
ロック3443へ供給し、このブロックにはイングレス
/エグレス制御ソフトウェア3473に結合していて、
このソフトウェア3473は、ブロック3471におけ
る画像圧縮解除のための画像データプレイアウト制御お
よび損失パケット再構成を行い、ブロック3471は、
画像フレームの圧縮解除を行う。圧縮解除された画像フ
レームは、テレビジョンモニタすなわち陰極線管モニ
タ、または液晶ディスプレイ、またはディジタルマイク
ロミラーディスプレイ、またはディジタル光処理ディス
プレイ、のようなディスプレイシステム、画像処理装
置、ストレージエリアネットワーク(SAN)、または
他の画像利用システムへ出力される。
【0246】パケット利用メディア制御ブロック341
1は、ディスプレイに関連するGUIすなわちグラフィ
ックユーザインタフェース3481に結合している。G
UI3481は、遠隔制御源3483から、無線または
有線キーボード3485から、および/または着用可能
通信および制御装置から、の赤外線またはブルーツース
(Bluetooth)無線リンクにより、適切に制御
される。
【0247】医療用モニタまたは産業用プロセス制御装
置などからのリアルタイムデータは、ネットワークから
ソフトウェアオブジェクトBを経て、医療および/また
は産業情報処理およびディスプレイへ結合するパケット
の受信経路内へ、同様に適切に結合せしめられる。
【0248】ゲートウェイ、無線基地局、および他のア
プリケーションにおいて、リコーダ3491は、パケッ
ト利用メディア制御装置3411により適切に使用可能
にされる。ビデオ/画像コーデックブロック3471に
より圧縮解除された画像情報と、オーディオコーデック
3421によりデコードされたオーディオ情報と、の双
方は、リコーダ3491へ結合せしめられる。リコーダ
3491は、次にその情報を再コーディングまたはコー
ド変換し、システム3400により受信された形式とは
異なる形式により圧縮されコーディングされた出力を発
生する。図1、図3、および図4から図6までに示され
ているようなシステム、および図34のシステム340
0を、さまざまな電気通信およびネットワーク化の目的
のために、適切にカスケードし、統合することが考慮さ
れる。多数のチャネルが同時に処理される場合は、ソフ
トウェアおよびハードウェアが、効果的、効率的、かつ
経済的に用いられるように、システムは適切に反復さ
れ、または多重化される。ここでブロックが図示されて
いる場合、それらのブロックは、ハードウェア、ファー
ムウェア、またはソフトウェアの任意の組合せにより適
切に実現される。
【0249】図35は、光学的にアクセスしうる記憶デ
ィスク3511を示し、このディスクは、情報のビット
を表す物理変動を有する。1つの実施例においては、情
報ビットは、パケットソフトウェアスタックDSPに結
合した音声エンコーダ541およびイングレス/エグレ
ス制御装置581のためのDSP命令、およびMCU命
令のような、プロセッサ命令を表す。パケットソフトウ
ェアスタック内の命令は、センダコンピュータ203か
らのリアルタイム情報を、パケットネットワーク200
内の少なくとも1つの経路により、レシーバコンピュー
タ205へ送る。もう1つの記憶ディスク3511の実
施例においては、情報ビットは、図1、図5、図6、図
9から図29、および図33に設定されたいずれかの動
作を表す。
【0250】図36において、記憶装置3611は、図
35に関連して説明した命令のいずれか、または全てを
保持する、回転自在の磁気的に読取り可能なハードディ
スクである記憶ディスク3621により与えられる。ハ
ードディスク3621は、ハードディスクドライブ制御
回路アセンブリ3631により制御され、かつ読取ら
れ、アセンブリ3631は、読書きヘッド(図示せず)
によりディスク3621において読取りおよび書込みを
するための、モータ制御およびアクチュエータ制御のた
めに相互接続された、読取りチャネル3633と、マイ
クロコントローラまたはDSP3637と、メモリ36
35と、を有する。記憶装置3611は、IDE、PC
I、または他の適切なカップリング3641により、コ
ンピュータのプリント回路板またはアドインカード36
51に接続されている。カード3651は、コネクタ3
661から、またはこのコネクタへ、パケットを供給す
るように相互接続された、マイクロプロセッサ3653
と、メモリ3655と、DSP3657と、モデム36
59と、を有する。
【0251】図37において、ある実施例は、通常の動
作中または保守中に自分で話す、ある装置およびおしゃ
べり玩具における、音声コーデックを増補または交換し
さえするために、コード化された音声を事前記憶しまた
再生するためのメモリおよび制御プログラムを追加す
る。MCU3731は、VoIP制御装置3731と、
TCP/UDP/IPパックネットワークプロトコルス
タック3733と、を有し、イングレス/エグレス制御
ブロック3724と、シーケンスキューブロック372
6とは、音声エンコーダ/デコーダ3723を、ここで
の別の場所で説明するソフトウェアを用いてネットワー
クに結合させる。バス3725および3727は、ホス
トコンピュータ3711を、前述のソフトウェアを実行
するDSP3721およびMCU3731に結合させ、
またさらに、それらの全てを、モデムまたはリンク/物
理層3741と、マイクロホンおよびスピーカに対する
アナログフロントエンドAFEと、タッチパッドKBD
およびディスプレイに対する周辺装置カップリングと、
に結合させる。このようにして、有利なパケット利用メ
ディアが、コンピュータ、IP電話機、おしゃべり玩
具、および家庭用機器において実現され、それらの家庭
用機器には、冷蔵庫、電子レンジ、パン焼き器、ミキサ
ー、コーヒーメーカ、洗濯機、ドライヤー、掃除機、サ
ーモスタットアセンブリ、光スイッチ、ランプ、ファ
ン、カーテンおよびブラインドのモータ制御装置、監視
設備、トラヒックモニタリング、時計、ラジオ、ネット
ワークカメラ、テレビジョン、ディジタル電話応答装
置、空調機、暖炉、および集中空調装置が含まれる。こ
れらの装置、および他の装置は、無線で、または、ケー
ブル、電話線、電力線、その他を経て、パケットネット
ワークに適切に接続され、遠隔位置におけるモニタリン
グ、制御、ユーザ指令、および保守のために用いられ
る。
【0252】図38における実施例は、図9のエグレス
チャネルバッファのリザーブ内の1つまたはそれ以上の
ギャップまたは穴の管理を有利にアドレス指定する。図
9においては、簡単にするために、リザーブ(斜線部
分)は、たとえ図9のエグレスチャネルバッファD、
E、およびFにおけるようにサンプルがバッファ境界を
ラップアラウンドしている時でも、円形アドレス指定の
観点からサンプルの連続シーケンスとして示されてい
る。
【0253】対照的に、図38においては、エグレスチ
ャネルバッファ3801内のリザーブ内に、例示的に2
つの穴が存在している。それぞれの入来パケットは、シ
ーケンス1、2、3、5、6、7の数のようなタイムス
タンプを有する。数4は、このシーケンスにはなく、穴
を表す。数4により表されるタイムスタンプを有するパ
ケットは、遅れて、しかもデコードには間に合って到着
する可能性がある。リザーブのサイズが、デコードのた
めのその優先順位を表すために用いられている場合は、
実施例は、望ましくは、穴を有するリザーブを、インテ
リジェントな方法で処理する。1つのタイプの実施例に
おいては、リザーブのサイズは、たとえ小さい穴があっ
ても、始めから終りまでの距離としてなお計算される。
例えば、ソフトウェアは、リザーブ内の最小のDIフレ
ームから開始し、所定の幅の(例えば、2フレームより
大きい)ギャップに遭遇したときは、直ちにカウントま
たは計算を停止する。所定幅より小さいか、またはそれ
に等しいギャップの場合は、カウントは継続される。こ
のようにして、チャネルがバッファ内においてバックア
ップする程度の合理的な推定が得られる。
【0254】図15のチャネル記録は、下記の追加のエ
ントリにより適切に改善される。 1)エグレスバッファデッドラインの終り 2)穴ポインタの値 3)少なくとも1つの穴が、そのチャネルのためのリザ
ーブ3801内に存在する時にスイッチ(フラグ)がタ
ーンオンされる場合の、スイッチオンまたはオフ 4)穴の幅 5)(もし計算可能であるならば)失われたパケットの
シーケンス番号
【0255】もし複数の穴が存在するならば、異なる実
施例がそれらを適切に処理する。1つのアプローチにお
いては、最も差し迫ったデッドラインを有する穴のみ
が、チャネル記録1413内に作表される。第2の選択
肢においては、最小のデッドライン間隔DIを有する2
つの穴がチャネル記録1413内に作表される。もっと
複雑な実施例においては、ソフトウェアが全ての穴を作
表する。
【0256】図38は、新しいパケットの到着に応答し
て、開始3805において開始されるプロセスにおいて
穴を充填する動作を示す。次に、ステップ3811は、
上述のようにモニタリングプロセスにより穴スイッチが
ターンオンされているかどうかを検出する。もしターン
オンされている(YES)ならば、次にステップ382
1が、穴ポインタ値に関するパケットのシーケンス番号
をチェックする。次に、判断ステップ3831は、パケ
ットのシーケンス番号が穴ポインタ値に等しいかどうか
を決定する。もし等しければ、ステップ3841が、も
し必要ならば適切にデコードしたそのパケットからの新
しいデータを、その穴を構成する記憶領域内へ入れるこ
とにより、穴を充填する。次に、ステップ3851は、
穴スイッチをクリアオフし、その後リターン3861に
達する。もし初めにステップ3811において穴スイッ
チがオフであるか、またはステップ3831においてパ
ケットのシーケンス番号が穴ポインタ値に一致しなけれ
ば、動作はステップ3811および3831のそれぞれ
から、リターン3861へブランチすることに注意すべ
きである。
【0257】このようにして、以上に示されたさまざま
な実施例およびここで教示された他の事項は、パケット
通信のプロセス、装置、およびシステムに関する利点を
提供する。ここでブロックが図示されている場合、それ
らのブロックは、ハードウェア、ファームウェア、また
はソフトウェアの任意の組合せにより適切に実現され
る。上述の実施例は、単に例示的なものであり、本発明
の内容は、添付の特許請求の範囲およびその等価物によ
り定められる。
【0258】以上の説明に関して更に以下の項を開示す
る。 (1)プロセッサ回路と、第1および第2の受信パケッ
トのためのそれぞれのデッドライン間隔を発生し、かつ
前記それぞれのデッドライン間隔に従って、前記第1お
よび第2の受信パケットの前記プロセッサ回路における
処理を順序付ける、記憶された命令を有するエグレスパ
ケット制御装置と、前記プロセッサ回路および前記エグ
レスパケット制御装置を含むプリント配線アセンブリ
と、を含む、電子システム。
【0259】(2)複数の電話ユニットに接続しうる状
態にある複数のコネクタを有する電話インタフェース回
路と、ディジタルネットワークインタフェースと、前記
電話インタフェース回路を前記ディジタルネットワーク
インタフェースに結合する集積回路アセンブリであっ
て、該集積回路アセンブリが、前記プリント配線アセン
ブリを含み、構内交換機としてパケット送受信により音
声を供給する、前記集積回路アセンブリと、をさらに含
む、第1項に記載の電子システム。
【0260】(3)セルラ電話無線送受信インタフェー
ス回路と、パケットネットワークインタフェースと、前
記セルラ電話無線送受信インタフェース回路を前記パケ
ットネットワークインタフェースに結合する集積回路ア
センブリであって、該集積回路アセンブリが、前記プリ
ント配線アセンブリを含み、無線基地局としてパケット
送受信により音声を供給する、前記集積回路アセンブリ
と、をさらに含む、第1項に記載の電子システム。
【0261】(4)前記プロセッサ回路と、前記エグレ
スパケット制御装置の前記記憶された命令と、を含む単
一チップ集積回路をさらに含む、第1項に記載の電子シ
ステム。 (5)前記記憶された命令が、前記それぞれのデッドラ
イン間隔の順序に従うキュー上における前記パケットに
関する情報の一時記憶を定める、第1項に記載の電子シ
ステム。 (6)前記記憶された命令が、時間が経過するのに伴っ
ての前記デッドライン間隔の周期的減少を定める、第5
項に記載の電子システム。
【0262】(7)前記記憶された命令がさらに、第3
受信パケットのためのさらなるデッドライン間隔の計算
と、前記第3受信パケットに関する情報を、すでに前記
キュー上にある前記それぞれのデッドライン間隔に対す
る前記さらなるデッドライン間隔の順序に従い、前記キ
ューに挿入するための前記キューのソーティングと、を
定める、第5項に記載の電子システム。 (8)前記記憶された命令がさらに、パケットのデッド
ライン間隔により表されるデッドラインまでの時間が最
短であるパケットのデコーディングを定める、第5項に
記載の電子システム。
【0263】(9)前記記憶された命令がさらに、デッ
ドライン間隔を含む1次キーおよびフレームサイズを含
む2次キーの形式の前記パケットに関する情報の発生
と、前記1次キーの順序での、キュー上における前記パ
ケットに関する情報の一時記憶であって、同じ1次キー
を有するパケットの場合は、前記2次キーの順序での前
記パケットに関する前記情報の前記一時記憶と、を定め
る、第1項に記載の電子システム。
【0264】(10)前記エグレスパケット制御装置
が、到着パケットのための前記デッドライン間隔DI
を、前記到着パケットの到着時刻Aと、デッドライン時
刻Dと、の間の差として定める、第1項に記載の電子シ
ステム。
【0265】(11)前記エグレスパケット制御装置
が、シーケンス番号Sjおよびフレーム幅Fを有する到
着パケットjのための前記デッドライン間隔DIjを、
シーケンス番号Siを有するもっと早いパケットiのデ
ッドラインDiから、実質的にフレーム幅Fおよびシー
ケンス番号SjとSiとの差の関数として定める、第1
項に記載の電子システム。
【0266】(12)到着無音パケットjが、フレーム
幅Fを有する無音フレームSの数を表し、前記エグレス
パケット制御装置が、前記到着無音パケットjのための
デッドライン間隔DIjを、もっと早いパケットiのた
めの前に決定されたデッドライン間隔DIiから、実質
的に該デッドライン間隔DIiを、無音フレームSの前
記数と前記フレーム幅Fとを乗じた積に、加算した和と
して定める、第1項に記載の電子システム。
【0267】(13)前記エグレスパケット制御装置
が、バッファを定め、該バッファ内のそれぞれの情報リ
ザーブのサイズを計算し、前記それぞれのリザーブの前
記サイズに少なくとも部分的に依存する優先順位により
前記パケットの処理を順序付ける、記憶された命令を有
する、第1項に記載の電子システム。
【0268】(14)前記エグレスパケット制御装置
が、前記第2受信パケットのための前記デッドライン間
隔が前記第1受信パケットのための前記デッドライン間
隔より所定量だけ小さい時に、前記第2受信パケットを
プリエンプティブに処理することにより、前記第1受信
パケットの処理をプリエンプトする、記憶された命令を
有する、第1項に記載の電子システム。
【0269】(15)前記エグレスパケット制御装置
が、少なくとも1つのイングレスパケットのイングレス
パケット処理をプリエンプティブに処理することによ
り、ある値を超えるデッドライン間隔を有するエグレス
パケットのエグレスパケット処理をプリエンプトする、
イングレスパケット処理のための、記憶された命令を有
する、第1項に記載の電子システム。
【0270】(16)前記電子システムが、一致しない
フレーム境界に基づいて動作するデコーダを有し、ま
た、もし前記第2パケットが前記第1デッドラインより
も早い第2デッドラインを有するならば、前記エグレス
パケット制御装置が、前記第2および第1のパケットの
双方がそれらそれぞれのデッドラインに先立ってデコー
ドされうるかどうかを決定するためのテストを行い、も
しデコードされうるならば、前記第2パケットのデコー
ドをプリエンプティブに実行するための、記憶された命
令を有する、第1項に記載の電子システム。
【0271】(17)前記エグレスパケット制御装置
が、イベントAおよびBの両時刻間の円形時間差を記述
するデータを発生するプロセスのための、記憶された命
令を有し、前記プロセスが、前記イベントAの時刻を表
す値から、前記イベントBの時刻を表す値を電子的に減
算して、最上位ビット(MSB)を得るステップと、前
記MSB自体を、イベントAおよびBのいずれが他より
前であるかを示すフラグとして備えるステップと、を含
む、第1項に記載の電子システム。
【0272】(18)前記記憶された命令がさらに、前
記イベントAの時刻を表す値から、前記イベントBの時
刻を表す値を電子的に減算して、前記最上位ビット(M
SB)および符号ビットSを有する電子表示(Δ)を得
て、記憶素子へ供給し、前記MSBおよび前記符号ビッ
トSに応答して、前記電子表示(Δ)および所定値(T
MAX)を電子的に処理して前記円形時間差を発生す
る、ためのものである、第17項に記載の電子システ
ム。
【0273】(19)前記エグレスパケット制御装置
が、前記受信パケットのそれぞれのために、それぞれの
デッドライン間隔を、それぞれのデッドラインDと、そ
れぞれのパケット到着時刻Aと、の間の円形時間差とし
て計算するための、記憶された命令を有する、第1項に
記載の電子システム。
【0274】(20)アンテナと、音声トランスジュー
サと、該音声トランスジューサを前記アンテナに結合す
る少なくとも1つの集積回路アセンブリと、を含む無線
電話機において、前記少なくとも1つの集積回路アセン
ブリが、パケット利用送信を行い、また、前記集積回路
アセンブリが、エグレス情報を処理し、最低の第1エグ
レスデッドライン間隔DIを決定し、さらに前記最低の
第1エグレスデッドライン間隔DIの値が所定量Kを超
えた時に、エグレスプロセスをプリエンプトするイング
レスプロセスを実行する、イングレス/エグレスパケッ
ト制御を含む組込み電子命令を有する、前記無線電話
機。
【0275】(21)アンテナと、音声トランスジュー
サと、該音声トランスジューサを前記アンテナに結合す
る少なくとも1つの集積回路アセンブリと、を含む無線
電話機において、前記少なくとも1つの集積回路アセン
ブリが、イベントAおよびBの両時刻間の円形時間差を
記述するデータを、前記イベントAの時刻を表す値か
ら、前記イベントBの時刻を表す値を電子的に減算し
て、最上位ビット(MSB)を得ることにより発生する
ようにされており、また前記MSB自体をイベントAお
よびBのいずれが他より前であるかを示すフラグとして
備えている、前記無線電話機。
【0276】(22)前記集積回路アセンブリが、イベ
ントAおよびBの両時刻間の円形時間差を、前記イベン
トAの時刻を表す値から、前記イベントBの時刻を表す
値を電子的に減算して、最上位ビット(MSB)および
符号ビットSを有する電子表示(Δ)を得て記憶素子へ
送ることにより、発生するようにされ、前記MSBおよ
び前記符号ビットSに応答して、前記電子表示(Δ)お
よび所定値(TMAX)を電子的に処理して前記円形時
間差を発生するようにされている、第21項に記載の無
線電話機。
【0277】(23)2つのイベントの時刻を表す値の
ための記憶装置と、該記憶装置に結合した加算器/減算
器であって、差の値(Δ)を発生し、該差の値を前記記
憶装置内へ供給し、それにより前記差の値(Δ)の最上
位ビット(MSB)を得る動作をする、前記加算器/減
算器と、イベントAおよびBのいずれが他より前である
かを示す前記MSBを供給されるビットを有するフラグ
レジスタと、を含む、単一チップ集積回路。
【0278】(24)前記MSBと、前記電子的差
(Δ)の符号ビットSと、所定値(TMAX)と、に応
答する論理回路であって、該論理回路が、前記加算器/
減算器を駆動して前記2つのイベントの前記円形時間差
を発生させる、前記論理回路をさらに有する、第23項
に記載の単一チップ集積回路。
【0279】(25)リアルタイム情報の第1および第
2の受信パケットの処理方法において、前記受信パケッ
トのそれぞれのために、それぞれのデッドライン間隔を
計算するステップと、前記それぞれのデッドライン間隔
に従って、前記第1および第2の受信パケットの処理を
順序付けるステップと、を含む、前記処理方法。
【0280】(26)イベントAおよびBの両時刻間の
円形時間差を記述するデータの発生プロセスにおいて、
該プロセスが、前記イベントAの時刻を表す値から、前
記イベントBの時刻を表す値を電子的に減算して、最上
位ビット(MSB)を得るステップと、前記MSB自体
を、イベントAおよびBのいずれが他より前であるかを
示すフラグとして備えるステップと、を含む、前記円形
時間差の発生プロセス。
【0281】(27)前記イベントAの時刻を表す値か
ら、前記イベントBの時刻を表す値を減算して、前記最
上位ビット(MSB)および符号ビットSを有する電子
表示(Δ)を得て、記憶素子へ電子的に供給するステッ
プと、前記MSBおよび前記符号ビットSに応答して、
前記電子表示(Δ)および所定値(TMAX)を電子的
に処理して前記円形時間差を発生するステップと、をさ
らに含む、第26項に記載の円形時間差の発生プロセ
ス。
【0282】(28)プロセッサ回路と、第1および第
2の受信パケットのためのそれぞれのデッドライン間隔
を発生し、かつ前記それぞれのデッドライン間隔に従っ
て、前記第1および第2の受信パケットの前記プロセッ
サ回路における処理を順序付ける、記憶された命令を有
するエグレスパケット制御装置と、を含む、単一チップ
集積回路。
【0283】(29)リアルタイム情報の第1および第
2の受信パケットの1つの処理方法は、前記受信パケッ
トのそれぞれのためにそれぞれのデッドライン間隔を計
算するステップと、前記それぞれのデッドライン間隔に
従って、前記第1および第2の受信パケットの処理を順
序付けるステップと、を含む。単一チップ集積回路が、
プロセッサ回路および組込み電子命令を有するエグレス
パケット制御装置を形成し、該エグレスパケット制御装
置は、前記プロセッサ回路においてエグレススケジュー
リングリスト構造および諸動作を設定し、それらの動作
は、パケットデッドライン間隔DIを抽出し、パケット
をデッドライン間隔DIに従ってエグレススケジューリ
ングリスト内に配置し、それらのパケットをデッドライ
ン間隔に依存する優先順位に従ってデコードするデコー
ダを備える。組込まれた電子命令は、前記プロセッサ回
路においてエグレススケジューリングリスト構造および
諸動作を設定し、それらの動作は、一致しないフレーム
境界に基づくチャネルデコーダと、第1パケットが第1
デッドラインを有して現在デコード中であり、一方第2
パケットがちょうど到着しつつあって前記第1デッドラ
インより早い第2デッドラインを有する時を検出するパ
ケットエンジンと、を設定する。そのパケットエンジン
は、もし前記第2パケットがプリエンプティブにデコー
ドされうるものであるならば、前記第2および第1のパ
ケットの双方がそれらそれぞれのデッドラインに先立っ
てデコードされうるかどうかの決定を行い、もしデコー
ドされうるならば、前記プロセッサ回路のチャネルデコ
ーダ構造をプリエンプトして前記第2パケットをデコー
ドする。パケット利用音声、パケット利用メディア、お
よびパケット利用リアルタイム送信のための、他のプロ
セス、集積回路、チップセット、無線電話機、PBX、
ラインカード、ルータ、およびネットワークも開示され
ている。
【図面の簡単な説明】
【図1】本発明のプロセス、集積回路、ラインカード、
システム、およびパケット通信ネットワークのブロック
図である。
【図2】さまざまな本発明のコンピュータ、無線電話
機、PBX、自動車システム、およびネットワークの部
分絵画、部分ブロック図であり、図2は、ネットワーク
内に実現された本発明のルータの拡大図を含む。
【図3】公衆電話交換網(PSTN)およびパケットデ
ータネットワークと通信するための、本発明のパケット
ネットワークにより使用可能にされる、PBXサービス
電話機、ファックス/スキャナ、および無線電話機の部
分ブロック、部分絵画図である。
【図4】ネットワークアクセスを有し、エンハンストパ
ケット通信のために改善された、本発明の無線電話機の
部分絵画、部分ブロック図である。
【図5】エンハンストパケット通信のための、ソフトウ
ェアに関する本発明のプロセスと、1つまたはそれ以上
の本発明の集積回路と、のブロック図である。
【図6】エンハンストパケット通信のための、本発明の
プロセスと、1つまたはそれ以上の本発明の集積回路
と、の部分ブロック、部分プロセス図である。
【図7】ここでの、本発明のプロセス、集積回路、およ
びシステムに用いられる、パケットのタイプの例を示
す。
【図8】本発明の到着、キューイング、および処理動作
を示し、水平軸は時間を表し、垂直軸はマルチチャネル
パケット通信システムのさまざまなチャネルを示す。
【図9】ネットワークから到着した通信パケットを処理
する、本発明のエグレス処理システムの、大部分ブロッ
ク、部分チャネル対時間図である。
【図10】異なるフレーム長で動作するコーデックを有
するさまざまな通信チャネルにおけるパケットの到着図
であり、水平軸は時間を表し、垂直軸はマルチチャネル
パケット通信システムのさまざまなチャネルを示す。
【図11】改善されたパケット通信のための、バッファ
およびデコーダの本発明の実施例のブロック図である。
【図12】有用性対パラメータXのグラフであり、この
グラフは、さまざまな本発明の実施例の動作および利点
を示す。
【図13】パケットデッドラインに基づく本発明のプロ
セスステップのフローチャートである。
【図14】さまざまなタイプのパケットにおける情報処
理のための、本発明のプロセスステップのフローチャー
トである。
【図15】本発明のプロセス、集積回路、およびシステ
ムにおいて用いられる、本発明の、また関連のデータ構
造、記録、および本発明の更新プロセスを示す。
【図16】本発明のプロセス、集積回路、およびシステ
ムにおいて用いられる、本発明の、また関連のデータ構
造、記録、および本発明の更新プロセスを示す。
【図17】本発明のプロセス、集積回路、およびシステ
ムにおいて用いられる、本発明の、また関連のデータ構
造、記録、および本発明の更新プロセスを示す。
【図18】1次および2次キーを有するキューのため
の、本発明のデータ構造のブロック図である。
【図19】割込み構造を強調した本発明のシステムのブ
ロック図である。
【図20】割込みまたはプリエンプションの方策による
本発明の実施例のチャートであり、異なる行には異なる
実施例のタイプが示され、異なったタイミングを与えら
れるパケットの処理は、パケットの到着時刻による列内
に集められている。
【図21】2つのカテゴリの本発明のプロセス、すなわ
ち、同一デッドラインプロセスと、スタガデッドライン
プロセスと、の比較タイミング図であり、スタガデッド
ラインプロセスの例は、図21の下部において垂直方向
および水平方向に広がっている。
【図22】本発明のスタガデッドラインプロセスのフロ
ーチャートである。
【図23】もう1つの本発明のスタガデッドラインプロ
セスのフローチャートである。
【図24】さらにもう1つの本発明のスタガデッドライ
ンプロセスのフローチャートである。
【図25】図24のプロセスにおける、本発明のブレー
クプロセスのフローチャートである。
【図26】図20の実施例#5の、左上のセル「まずイ
ングレスを行う」のフローチャートである。
【図27】図14のプロセスに対する、代わりのプロセ
スのブロック図である。
【図28】ここでの他の本発明のプロセスにおけるデッ
ドライン間隔の計算に用いられる、線形時間差を円形時
間差へ変換する本発明のプロセス動作のさまざまな場合
の比較タイミング図である。
【図29】図28のタイミング図と比較するための、本
発明のプロセスにおける動作のフローチャートであり、
このプロセスは、線形時間差を円形時間差へ変換する。
【図30】レジスタの部分ブロック図および図28のさ
まざまな場合の部分グラフ図であり、線形時間差Δの変
数が用いられ、加算および減算の(またはこれらのいず
れでもない)さまざまな演算が用いられている。
【図31】ここで説明されているように改善された集積
回路チップの部分ブロック、部分絵画図である。
【図32】本発明のハードウェア回路およびプロセスに
より実現される、図28ないし図30の動作に対応する
動作の部分ブロック、部分フローチャート図である。
【図33】新しい情報をキュー内へソートし、図29の
円形時間差プロセスを用いる、本発明のプロセス実施例
のフローチャートである。
【図34】画像、ビデオ、音声、およびオーディオの改
善されたパケット通信のための、本発明のシステムのブ
ロック図である。
【図35】ここに説明されている、本発明のシーケンス
キュープロセス、および他の本発明のプロセスを実現す
る、物理的変動を改善された製造の、本発明の記憶装置
の1つの実施例の絵画図である。
【図36】ここに説明されている、ディスクドライブ、
制御システム、および物理的変動により改善されたシス
テムコンピュータアドインカード、および1つまたはそ
れ以上の本発明のプロセスを実現するソフトウェアを有
する製造の、本発明の記憶装置のもう1つの実施例の絵
画図である。
【図37】ここに説明されている、本発明のプロセスお
よび本発明の集積回路により改善された、本発明のイン
タネット機器システムのブロック図である。
【図38】バッファリザーブのデータ内のギャップまた
は穴を、そのようなギャップまたは穴がここに説明され
ている本発明の集積回路およびシステムの動作において
発生した時に、処理する本発明のプロセスのフローチャ
ートである。
【符号の説明】
511 集積回路 555 音声デコーダ 581 イングレス/エグレス制御ユニット 1125 パケット 1431 エグレススケジューリングリスト DI デッドライン間隔

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ回路と、 第1および第2の受信パケットのためのそれぞれのデッ
    ドライン間隔を発生し、かつ前記それぞれのデッドライ
    ン間隔に従って、前記第1および第2の受信パケットの
    前記プロセッサ回路における処理を順序付ける、記憶さ
    れた命令を有するエグレスパケット制御装置と、 前記プロセッサ回路および前記エグレスパケット制御装
    置を含むプリント配線アセンブリと、を含む、電子シス
    テム。
  2. 【請求項2】 リアルタイム情報の第1および第2の受
    信パケットの処理方法において、 前記受信パケットのそれぞれのために、それぞれのデッ
    ドライン間隔を計算するステップと、 前記それぞれのデッドライン間隔に従って、前記第1お
    よび第2の受信パケットの処理を順序付けるステップ
    と、を含む、前記処理方法。
JP2001083007A 2000-03-22 2001-03-22 受信パケットを処理する電子システムおよび方法 Abandoned JP2001313717A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US191375 1980-09-29
US19137500P 2000-03-22 2000-03-22

Publications (1)

Publication Number Publication Date
JP2001313717A true JP2001313717A (ja) 2001-11-09

Family

ID=22705232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001083007A Abandoned JP2001313717A (ja) 2000-03-22 2001-03-22 受信パケットを処理する電子システムおよび方法

Country Status (4)

Country Link
US (6) US6975629B2 (ja)
EP (1) EP1137226B1 (ja)
JP (1) JP2001313717A (ja)
DE (1) DE60136407D1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008541506A (ja) * 2005-05-02 2008-11-20 モトローラ・インコーポレイテッド データを送信する方法および装置
US7934021B2 (en) 2002-08-29 2011-04-26 Broadcom Corporation System and method for network interfacing
US8135016B2 (en) 2002-03-08 2012-03-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US8750320B2 (en) 1997-01-23 2014-06-10 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8798091B2 (en) 1998-11-19 2014-08-05 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost

Families Citing this family (229)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751370B2 (en) 2001-07-13 2010-07-06 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
SE518941C2 (sv) * 2000-05-31 2002-12-10 Ericsson Telefon Ab L M Anordning och förfarande relaterande till kommunikation av tal
US7117152B1 (en) * 2000-06-23 2006-10-03 Cisco Technology, Inc. System and method for speech recognition assisted voice communications
JP3348080B1 (ja) * 2000-07-07 2002-11-20 松下電器産業株式会社 データ送信装置とデータ受信装置及びデータ送受信方法
JP2002051031A (ja) * 2000-08-04 2002-02-15 Nec Corp 同期データ伝送装置
US7301933B1 (en) * 2000-12-22 2007-11-27 Cisco Technology, Inc. Delivery of a service program to a digital signal processor within a multiservice processing system
US7787447B1 (en) * 2000-12-28 2010-08-31 Nortel Networks Limited Voice optimization in a network having voice over the internet protocol communication devices
JP2002268697A (ja) * 2001-03-13 2002-09-20 Nec Corp パケット誤り耐性付き音声復号装置、音声符号化復号装置、及びその方法
WO2002073865A2 (en) * 2001-03-09 2002-09-19 Vitesse Semiconductor Corporation Time based packet scheduling and sorting system
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7788399B2 (en) * 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
SE523417C2 (sv) * 2001-04-03 2004-04-20 Operax Ab En metod och apparat för att överföra datapaket i kommunikationsnätverk
US8218555B2 (en) * 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
GB2375626A (en) * 2001-05-18 2002-11-20 Reuters Ltd Financial market trading system
US20030079005A1 (en) * 2001-05-29 2003-04-24 61C Networks, Inc. System and method for efficient wide area network routing
US7126911B2 (en) * 2001-08-06 2006-10-24 Integrated Device Technology, Inc. Timer rollover handling mechanism for traffic policing
US6961539B2 (en) * 2001-08-09 2005-11-01 Hughes Electronics Corporation Low latency handling of transmission control protocol messages in a broadband satellite communications system
US20030037154A1 (en) * 2001-08-16 2003-02-20 Poggio Andrew A. Protocol processor
DE10141092A1 (de) * 2001-08-22 2003-03-06 Siemens Ag Verfahren zur Übertragung von Datenpaketen in einem Funk-Kommunikationssystem
US7904931B2 (en) * 2001-09-12 2011-03-08 Cox Communications, Inc. Efficient software bitstream rate generator for video server
US7889742B2 (en) * 2001-09-29 2011-02-15 Qualcomm, Incorporated Method and system for improving data throughput
KR100797461B1 (ko) * 2001-09-29 2008-01-24 엘지전자 주식회사 통신 시스템에서 패킷 데이터 전송 방법
US8089940B2 (en) 2001-10-05 2012-01-03 Qualcomm Incorporated Method and system for efficient and reliable data packet transmission
US7126945B2 (en) * 2001-11-07 2006-10-24 Symbol Technologies, Inc. Power saving function for wireless LANS: methods, system and program products
US6889191B2 (en) * 2001-12-03 2005-05-03 Scientific-Atlanta, Inc. Systems and methods for TV navigation with compressed voice-activated commands
US7272113B2 (en) * 2001-12-05 2007-09-18 Nokia Corporation Apparatus, and associated method, for communicating frame-formatted data at a selected QoS level in a radio communication system
US7106757B2 (en) * 2001-12-19 2006-09-12 Intel Corporation System and method for streaming multimedia over packet networks
US7209482B1 (en) * 2001-12-21 2007-04-24 Juniper Networks, Inc. Reorder engine with error recovery
US7248586B1 (en) * 2001-12-27 2007-07-24 Cisco Technology, Inc. Packet forwarding throughput with partial packet ordering
US7324501B1 (en) * 2001-12-28 2008-01-29 Cisco Technology, Inc. Method and system for multicasting over a UTOPIA bus
US7349398B1 (en) * 2001-12-31 2008-03-25 Redback Networks, Inc. Method and apparatus for out-of-order processing of packets
US7359388B2 (en) * 2002-03-20 2008-04-15 Network Equipment Technologies, Inc. Method and apparatus for frame packing in large networks
US7110783B2 (en) 2002-04-17 2006-09-19 Microsoft Corporation Power efficient channel scheduling in a wireless network
US7274690B1 (en) 2002-05-09 2007-09-25 Silicon Image, Inc. Age selection switching scheme for data traffic in a crossbar switch
US7519066B1 (en) * 2002-05-09 2009-04-14 Silicon Image, Inc. Method for switching data in a crossbar switch
EP1361714A1 (en) * 2002-05-10 2003-11-12 MAYAH Communications GMBH Method and/or system for transferring/receiving audio and/or video signals fulfilling the requirement to bridge synchronous and asynchronous networks and minimizing delay time over such networks and relating apparatuses
US6920219B2 (en) * 2002-05-31 2005-07-19 Motorola, Inc. Method and apparatus for providing echo cancellation
US7525917B2 (en) * 2002-06-04 2009-04-28 Acatel-Lucent Usa Inc. Flow control in a distributed scalable, shared memory switching fabric system
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7149512B2 (en) * 2002-06-25 2006-12-12 Intel Corporation Apparatus and method to automatically adjust volume or control operation of an appliance
US7616571B1 (en) 2002-07-03 2009-11-10 Netlogic Microsystems, Inc. Method and apparatus for calculating packet departure times
US7289442B1 (en) 2002-07-03 2007-10-30 Netlogic Microsystems, Inc Method and apparatus for terminating selected traffic flows
US7257084B1 (en) * 2002-07-03 2007-08-14 Netlogic Microsystems, Inc. Rollover bits for packet departure time calculator
US7349399B1 (en) * 2002-09-20 2008-03-25 Redback Networks, Inc. Method and apparatus for out-of-order processing of packets using linked lists
WO2004034619A2 (en) * 2002-10-09 2004-04-22 Acorn Packet Solutions, Llc System and method for rate agile adaptive clocking in a packet-based network
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
DE60218758T2 (de) 2002-11-12 2007-11-15 Zetera Corp., Irvine Kommunikationsprotokolle, -systeme und -verfahren
US8005918B2 (en) * 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
US7461167B1 (en) 2002-11-22 2008-12-02 Silicon Image, Inc. Method for multicast service in a crossbar switch
US7505422B1 (en) 2002-11-22 2009-03-17 Silicon Image, Inc. Preference programmable first-one detector and quadrature based random grant generator
US20050152305A1 (en) * 2002-11-25 2005-07-14 Fujitsu Limited Apparatus, method, and medium for self-organizing multi-hop wireless access networks
US7634230B2 (en) * 2002-11-25 2009-12-15 Fujitsu Limited Methods and apparatus for secure, portable, wireless and multi-hop data networking
US20040125816A1 (en) * 2002-12-13 2004-07-01 Haifeng Xu Method and apparatus for providing a buffer architecture to improve presentation quality of images
US7792121B2 (en) * 2003-01-03 2010-09-07 Microsoft Corporation Frame protocol and scheduling system
US7181701B2 (en) * 2003-01-03 2007-02-20 Microsoft Corporation Glanceable information system and method
US7454494B1 (en) * 2003-01-07 2008-11-18 Exfo Service Assurance Inc. Apparatus and method for actively analyzing a data packet delivery path
JP3867671B2 (ja) * 2003-01-21 2007-01-10 ソニー株式会社 データ送信装置及びデータ送信方法
JP2004254022A (ja) * 2003-02-19 2004-09-09 Mitsubishi Electric Corp Ip網通信装置
US7609725B2 (en) * 2003-02-28 2009-10-27 Lsi Corporation Large transmissions on packetized data bus
US6912481B2 (en) * 2003-03-14 2005-06-28 Ge Medical Systems, Inc. Medical equipment predictive maintenance method and apparatus
JP2005340867A (ja) * 2003-03-18 2005-12-08 Fuji Xerox Co Ltd ファクシミリ装置
US7660239B2 (en) * 2003-04-25 2010-02-09 Alcatel-Lucent Usa Inc. Network data re-routing
JP2004357283A (ja) * 2003-05-02 2004-12-16 Alps Electric Co Ltd リアルタイムデータの補正方法及びブルートゥースモジュール
US7352764B1 (en) 2003-05-08 2008-04-01 Silicon Image, Inc. Content addressable merged queue architecture for switching data
US7443836B2 (en) * 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US7406090B2 (en) * 2003-06-30 2008-07-29 Intel Corporation Managing a buffer for media processing
CA2479439A1 (en) * 2003-08-29 2005-02-28 Arris International, Inc. Method and system for processing voice traffic from a multi-channel link into a voip network over a broadband network
KR100542441B1 (ko) * 2003-09-02 2006-01-11 한국전자통신연구원 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체
US7924845B2 (en) * 2003-09-30 2011-04-12 Mentor Graphics Corporation Message-based low latency circuit emulation signal transfer
KR20050045764A (ko) * 2003-11-12 2005-05-17 삼성전자주식회사 무선 단말기에서의 음성 저장/재생 장치 및 방법
US7184270B2 (en) * 2003-11-25 2007-02-27 Hewlett-Packard Development Company, L.P. Toolless printed circuit carrier assembly
KR100546780B1 (ko) * 2003-12-26 2006-01-25 한국전자통신연구원 다수의 DSP를 사용하는 VoP(Voice OverPacket)시스템 및 그 시스템에서의 음성 처리 방법
US7508814B1 (en) 2003-12-30 2009-03-24 At&T Intellectual Property, Ii, L.P. Electronic loop provisioning methods and systems
US7535891B1 (en) 2003-12-30 2009-05-19 At&T Intellectual Property Ii, L.P. Methods and systems for converting signals
US20050174947A1 (en) * 2004-01-12 2005-08-11 Hershy Beck Method and process for video over IP network management
JP2005348226A (ja) * 2004-06-04 2005-12-15 Alps Electric Co Ltd 無線通信方法及び装置
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
US7496099B2 (en) * 2004-07-30 2009-02-24 Fisher-Rosemount Systems, Inc. Communication controller for coordinating transmission of scheduled and unscheduled messages
KR100678891B1 (ko) * 2004-07-30 2007-02-05 삼성전자주식회사 Av데이터 수신시 버퍼량을 컨텐츠 속성에 따라탄력적으로 조절하는 방법 및 장치
US20060039353A1 (en) * 2004-08-23 2006-02-23 Samuel Louis G Extended voice over internet protocol
JP4394541B2 (ja) * 2004-08-23 2010-01-06 日本電気株式会社 通信装置、データ通信方法およびプログラム
US7593755B2 (en) 2004-09-15 2009-09-22 Microsoft Corporation Display of wireless data
US8903760B2 (en) 2004-11-12 2014-12-02 International Business Machines Corporation Method and system for information workflows
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US7761609B1 (en) * 2005-01-20 2010-07-20 Oracle America, Inc. Socket level packet scheduling for connectionless protocols
US20060176966A1 (en) * 2005-02-07 2006-08-10 Stewart Kenneth A Variable cyclic prefix in mixed-mode wireless communication systems
US7870311B2 (en) * 2005-02-24 2011-01-11 Wind River Systems, Inc. Preemptive packet flow controller
US7590892B2 (en) * 2005-05-16 2009-09-15 Texas Instruments Incorporated Method and system of profiling real-time streaming channels
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US8572296B2 (en) * 2005-06-30 2013-10-29 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
US20070002750A1 (en) * 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Generic Real Time Scheduler for Wireless Packet Data Systems
US7801126B2 (en) * 2005-07-15 2010-09-21 Alcatel-Lucent Usa Inc. Method and system for encoding packet interdependency in a packet data transmission system
US7848928B2 (en) * 2005-08-10 2010-12-07 Nuance Communications, Inc. Overriding default speech processing behavior using a default focus receiver
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
US8300636B2 (en) * 2005-09-16 2012-10-30 Acme Products, Inc. Method and system of routing media packets in a network device
US8578046B2 (en) * 2005-10-20 2013-11-05 Qualcomm Incorporated System and method for adaptive media bundling for voice over internet protocol applications
US7849369B2 (en) 2005-10-25 2010-12-07 Waratek Pty Ltd. Failure resistant multiple computer system and method
US20070121604A1 (en) * 2005-10-26 2007-05-31 Texas Instruments Incorporated Lightweight Voice Over Internet Protocol Phone
KR100793345B1 (ko) * 2005-12-01 2008-01-11 삼성전자주식회사 음성/데이터 통합 시스템의 패킷 처리 방법 및 그 장치
KR100770906B1 (ko) * 2006-02-10 2007-10-26 삼성전자주식회사 비디오 패킷의 출력 비트레이트 조절 방법 및 장치
US7724754B2 (en) * 2006-02-24 2010-05-25 Texas Instruments Incorporated Device, system and/or method for managing packet congestion in a packet switching network
US7904056B2 (en) * 2006-03-01 2011-03-08 Ipc Systems, Inc. System, method and apparatus for recording and reproducing trading communications
US7769026B2 (en) * 2006-03-23 2010-08-03 Intel Corporation Efficient sort scheme for a hierarchical scheduler
JP2007274078A (ja) * 2006-03-30 2007-10-18 Nikko:Kk 遠隔制御システム
JP2007288342A (ja) * 2006-04-13 2007-11-01 Nec Corp メディアストリーム中継装置および方法
KR100965698B1 (ko) * 2006-05-09 2010-06-24 삼성전자주식회사 통신 시스템에서 자원 할당 방법 및 시스템
US7986697B2 (en) * 2006-06-13 2011-07-26 Freescale Semiconductor, Inc. Method for processing information fragments and a device having information fragment processing capabilities
US8050259B2 (en) * 2006-06-23 2011-11-01 Alcatel Lucent Method and apparatus of precedence identification for real time services
US20080000246A1 (en) * 2006-06-28 2008-01-03 Computime, Ltd. Conveying Temperature Information in a Controlled Variable Speed Heating, Ventilation, and Air Conditioning (HVAC) System
US11450331B2 (en) * 2006-07-08 2022-09-20 Staton Techiya, Llc Personal audio assistant device and method
US8400998B2 (en) 2006-08-23 2013-03-19 Motorola Mobility Llc Downlink control channel signaling in wireless communication systems
WO2008040077A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Multiple communication networks for multiple computers
CN101548268B (zh) 2006-10-05 2014-05-21 瓦拉泰克有限公司 更新存储器位置的内容的方法和系统
US7962697B2 (en) 2006-10-05 2011-06-14 Waratek Pty Limited Contention detection
WO2008040065A1 (en) 2006-10-05 2008-04-10 Waratek Pty Limited Contention detection and resolution
US20080133884A1 (en) * 2006-10-05 2008-06-05 Holt John M Multiple network connections for multiple computers
WO2008040073A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Contention resolution with counter rollover
US20080133691A1 (en) * 2006-10-05 2008-06-05 Holt John M Contention resolution with echo cancellation
US20080250221A1 (en) * 2006-10-09 2008-10-09 Holt John M Contention detection with data consolidation
EP2084864A1 (en) * 2006-10-24 2009-08-05 Medianet Innovations A/S Method and system for firewall friendly real-time communication
US20100073202A1 (en) * 2008-09-25 2010-03-25 Mazed Mohammad A Portable internet appliance
US8302179B2 (en) * 2006-12-13 2012-10-30 Avaya Inc. Embedded firewall at a telecommunications endpoint
WO2008082538A1 (en) * 2006-12-19 2008-07-10 J.A. Woollam Co., Inc Application of digital light processor in scanning spectrometer and imaging ellipsometer and the like systems
US20080175152A1 (en) * 2006-12-28 2008-07-24 Nokia Corporation Service differentiating and overload indication for downlink
US8249647B2 (en) * 2007-01-22 2012-08-21 Broadcom Corporation Mobile communication device having multiple independent optimized physical layers
US20080267168A1 (en) * 2007-04-27 2008-10-30 Zhijun Cai Slow Adaptation of Modulation and Coding for Packet Transmission
US8064390B2 (en) 2007-04-27 2011-11-22 Research In Motion Limited Uplink scheduling and resource allocation with fast indication
US7990867B1 (en) * 2007-05-03 2011-08-02 Xilinx, Inc. Pipeline for processing network packets
EP2163056A4 (en) * 2007-06-15 2011-12-14 Research In Motion Ltd SYSTEM AND METHOD FOR DELIVERING LARGE PACKAGES DURING A SEMIPERSISTENT MEETING
CA2690646C (en) 2007-06-15 2014-04-22 Research In Motion Limited System and method for semi-persistent and dynamic scheduling and discontinuous reception control
CA2690430A1 (en) * 2007-06-15 2008-12-18 Research In Motion Limited System and method for link adaptation overhead reduction
KR101403340B1 (ko) * 2007-08-02 2014-06-09 삼성전자주식회사 변환 부호화 방법 및 장치
WO2009021314A1 (en) * 2007-08-14 2009-02-19 Research In Motion Limited System and method for handling of large ip packets during voip session
US8144679B2 (en) * 2007-08-20 2012-03-27 Research In Motion Limited Inactivity timer in a discontinuous reception configured system
ES2378267T3 (es) 2007-09-14 2012-04-10 Research In Motion Limited Sistema y método para el tiempo de inicio de control de recepción discontinua
US8688129B2 (en) * 2007-09-17 2014-04-01 Qualcomm Incorporated Grade of service (GoS) differentiation in a wireless communication network
US8503465B2 (en) * 2007-09-17 2013-08-06 Qualcomm Incorporated Priority scheduling and admission control in a communication network
CN101836398B (zh) * 2007-10-23 2013-06-19 飞思卡尔半导体公司 调度分组流信道的处理的方法、集成电路和通信单元
US8065166B2 (en) 2007-10-30 2011-11-22 Onemednet Corporation Methods, systems, and devices for managing medical images and records
US9760677B2 (en) 2009-04-29 2017-09-12 Onemednet Corporation Methods, systems, and devices for managing medical images and records
US9171344B2 (en) 2007-10-30 2015-10-27 Onemednet Corporation Methods, systems, and devices for managing medical images and records
JP5055153B2 (ja) * 2008-02-01 2012-10-24 株式会社日立製作所 解析システムおよび解析サーバ
US20100312815A1 (en) * 2008-03-26 2010-12-09 Masaki Uekubo Date communication processing device and method
US8612620B2 (en) * 2008-04-11 2013-12-17 Mobitv, Inc. Client capability adjustment
TWI395976B (zh) * 2008-06-13 2013-05-11 Teco Image Sys Co Ltd 掃描模組之光源投射裝置及其光源排列方法
US8196145B2 (en) * 2008-06-26 2012-06-05 International Business Machines Corporation Determining real time stateful business application processing in an otherwise stateless service-oriented architecture
US9047125B2 (en) * 2008-06-26 2015-06-02 International Business Machines Corporation Deterministic real time business application processing in a service-oriented architecture
US8930523B2 (en) * 2008-06-26 2015-01-06 International Business Machines Corporation Stateful business application processing in an otherwise stateless service-oriented architecture
US8391469B2 (en) * 2008-07-11 2013-03-05 Texas Instruments Incorporated Methods and apparatus to decode dual-tone signals
US8351449B1 (en) * 2008-08-07 2013-01-08 Bee Networx Inc. Scheduling data communication for mobile communication devices with multiple wireless network interfaces associated with differing costs
US8483461B2 (en) * 2008-09-26 2013-07-09 Koninklijke Philips Electronics N.V. Diagnostic imaging system and method
US8838819B2 (en) * 2009-04-17 2014-09-16 Empirix Inc. Method for embedding meta-commands in normal network packets
JP5588001B2 (ja) * 2009-08-21 2014-09-10 ザ チャイニーズ ユニバーシティー オブ ホンコン メディアデータの転送時間をスケジューリングするための装置及び方法
EP2337257B1 (en) * 2009-12-18 2012-09-05 Canon Kabushiki Kaisha Method and apparatus of sending encoded multimedia digital data taking into account sending deadlines
DE102010005682B4 (de) * 2010-01-26 2017-10-05 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Fahrzeug
US20110234200A1 (en) * 2010-03-24 2011-09-29 Kishan Shenoi Adaptive slip double buffer
US9691430B2 (en) * 2010-04-01 2017-06-27 Microsoft Technology Licensing, Llc Opportunistic frame caching
US20110257964A1 (en) * 2010-04-16 2011-10-20 Rathonyi Bela Minimizing Speech Delay in Communication Devices
US20110276747A1 (en) * 2010-05-07 2011-11-10 Qualcomm Incorporated Software management with hardware traversal of fragmented llr memory
US20110320515A1 (en) * 2010-06-25 2011-12-29 Zahiruddin Mohammed Medical Imaging System
TW201206195A (en) * 2010-07-26 2012-02-01 Gemtek Technology Co Ltd Digital monitoring device
TWI414166B (zh) * 2010-08-20 2013-11-01 Cybertan Technology Inc An asynchronous scanning method and device for a network device
TW201215145A (en) * 2010-09-23 2012-04-01 Hon Hai Prec Ind Co Ltd Surveillance system
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
US8892184B2 (en) 2010-10-18 2014-11-18 Siemens Medical Solutions Usa, Inc. Systems and methods for reducing interference in a dual modality imaging system
US9424210B1 (en) * 2010-10-22 2016-08-23 Altera Corporation SDRAM memory organization and efficient access
US8744396B2 (en) * 2011-05-09 2014-06-03 Bae Systems Information And Electronic Systems Integration Inc. Compact modular upgrade for GMR software defined tactical radio
US8909764B2 (en) * 2011-07-28 2014-12-09 Xyratex Technology Limited Data communication method and apparatus
US20130177158A1 (en) * 2011-11-17 2013-07-11 Digital Audio Labs Method for sending multiple pcm audio channels over an industry-standard stereo link
EP2629470B1 (en) * 2012-02-17 2014-10-01 Mitsubishi Electric R&D Centre Europe B.V. Apparatus and method for optimizing power consumption by traffic shaping in a transmission network
US8948009B1 (en) 2012-05-15 2015-02-03 Google Inc. Deadline aware network protocol
US9059811B2 (en) * 2012-05-16 2015-06-16 Microsemi Semiconductor Ulc Method of adjusting a local clock in asynchronous packet networks
US9286118B2 (en) 2012-06-15 2016-03-15 Freescale Semiconductor, Inc. System and method for improved job processing to reduce contention for shared resources
US9104478B2 (en) * 2012-06-15 2015-08-11 Freescale Semiconductor, Inc. System and method for improved job processing of a number of jobs belonging to communication streams within a data processor
US8989577B2 (en) * 2012-06-21 2015-03-24 Qualcomm Incorporated Methods and systems for implementing time-division duplexing in the physical layer
US9071358B2 (en) * 2012-06-21 2015-06-30 Qualcomm Incrorporated Repeater fiber-coax units
US9392537B2 (en) * 2012-07-04 2016-07-12 Softbank Corp. Terminal and connection method for same
US9363017B2 (en) 2012-07-06 2016-06-07 Qualcomm Incorporated Methods and systems of specifying coaxial resource allocation across a MAC/PHY interface
US20140023047A1 (en) * 2012-07-17 2014-01-23 Intel Mobile Communications GmbH Communication device and method for controlling packet generation
US10373615B2 (en) 2012-10-30 2019-08-06 Google Technology Holdings LLC Voice control user interface during low power mode
US9584642B2 (en) 2013-03-12 2017-02-28 Google Technology Holdings LLC Apparatus with adaptive acoustic echo control for speakerphone mode
US10381002B2 (en) 2012-10-30 2019-08-13 Google Technology Holdings LLC Voice control user interface during low-power mode
US10304465B2 (en) 2012-10-30 2019-05-28 Google Technology Holdings LLC Voice control user interface for low power mode
JP5895153B2 (ja) * 2013-02-19 2016-03-30 パナソニックIpマネジメント株式会社 インタフェース装置およびバスシステム
US9632977B2 (en) 2013-03-13 2017-04-25 Nxp Usa, Inc. System and method for ordering packet transfers in a data processor
US9338819B2 (en) * 2013-05-29 2016-05-10 Medtronic Minimed, Inc. Variable data usage personal medical system and method
US9450890B2 (en) * 2013-07-13 2016-09-20 Netronome Systems, Inc. Pipelined egress packet modifier
US9880926B1 (en) * 2013-08-20 2018-01-30 Seagate Technology Llc Log structured reserved zone for a data storage device
US8966074B1 (en) * 2013-09-13 2015-02-24 Network Kinetix, LLC System and method for real-time analysis of network traffic
US8768712B1 (en) 2013-12-04 2014-07-01 Google Inc. Initiating actions based on partial hotwords
WO2015151444A1 (ja) * 2014-03-31 2015-10-08 Necソリューションイノベータ株式会社 データ構造、情報処理装置、情報処理方法、及びプログラム記録媒体
US9477631B2 (en) * 2014-06-26 2016-10-25 Intel Corporation Optimized credit return mechanism for packet sends
US10320692B2 (en) * 2014-09-11 2019-06-11 Fujitsu Limited Ethernet loopback detection and service traffic blocking
US9705633B2 (en) * 2014-10-20 2017-07-11 Nuance Communications, Inc. System and method for packet scheduling
US9531556B2 (en) * 2015-03-25 2016-12-27 International Business Machines Corporation Supporting low latency applications at the edge of wireless communication networks
US10715441B2 (en) 2015-09-04 2020-07-14 Arista Networks, Inc. System and method of a high buffered high bandwidth network element
GB2545507B (en) 2015-12-18 2019-07-17 Imagination Tech Ltd Controlling scheduling of a GPU
US10721178B2 (en) 2016-01-22 2020-07-21 Medtronic, Inc. Systems, apparatus and methods facilitating data buffering and removal
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US10439947B2 (en) * 2016-11-17 2019-10-08 Cisco Technology, Inc. Method and apparatus for providing deadline-based segmentation for video traffic
US10356002B2 (en) * 2017-01-24 2019-07-16 Nokia Solutions And Networks Oy Processing real-time multipoint-to-point traffic
US10560220B2 (en) 2017-05-23 2020-02-11 Qualcomm Incorporated Systems and methods for mitigating decoding errors due to puncturing of symbols
CN108363615B (zh) * 2017-09-18 2019-05-14 清华大学 用于可重构处理系统的任务分配方法和系统
US20190102223A1 (en) * 2017-09-29 2019-04-04 Niall Power System, Apparatus And Method For Real-Time Activated Scheduling In A Queue Management Device
US10802932B2 (en) 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
US20190286515A1 (en) * 2018-03-14 2019-09-19 Softiron Limited Dynamic and Preemptive Erasure Encoding in Software Defined Storage (SDS) Systems
US10715437B2 (en) * 2018-07-27 2020-07-14 Intel Corporation Deadline driven packet prioritization for IP networks
WO2020078539A1 (en) 2018-10-16 2020-04-23 Huawei Technologies Co., Ltd. Time based priority queue
US10732900B2 (en) 2018-10-24 2020-08-04 Western Digital Technologies, Inc. Bounded latency and command non service methods and apparatus
US11108675B2 (en) 2018-10-31 2021-08-31 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing effects of simulated frame preemption and deterministic fragmentation of preemptable frames in a frame-preemption-capable network
US10728134B2 (en) * 2018-11-14 2020-07-28 Keysight Technologies, Inc. Methods, systems, and computer readable media for measuring delivery latency in a frame-preemption-capable network
TWI703840B (zh) * 2019-01-16 2020-09-01 瑞昱半導體股份有限公司 設置在交換器內的電路以及管理交換器中記憶體的方法
CN109903767B (zh) * 2019-04-02 2021-10-22 广州视源电子科技股份有限公司 一种语音处理方法、装置、设备及系统
KR102035740B1 (ko) * 2019-06-03 2019-10-23 오픈스택 주식회사 타이머 인터럽트 서비스 루틴을 이용한 패킷 송신 장치
GB201912169D0 (en) * 2019-08-23 2019-10-09 Nordic Semiconductor Asa Radio apparatus for communicating digital audio streams
US11709225B2 (en) * 2020-06-19 2023-07-25 Nxp B.V. Compression of data employing variable mantissa size
WO2022005322A1 (en) * 2020-06-29 2022-01-06 Marvell Rus Llc Method and apparatus for direct memory access of network device
TWI812887B (zh) 2020-10-07 2023-08-21 瑞昱半導體股份有限公司 偵測電路和喚醒方法
CN112566099A (zh) * 2020-12-01 2021-03-26 上海熊猫机械(集团)有限公司 一种路由器设备和信号连接方法
US11775467B2 (en) * 2021-01-14 2023-10-03 Nxp Usa, Inc. System and method for ordering transactions in system-on-chips
CN113783780B (zh) * 2021-09-29 2023-04-25 中孚信息股份有限公司 一种ieee802.11丢包统计及流量预测方法、系统及终端
TWI811148B (zh) * 2022-11-07 2023-08-01 許精一 基於環景影音的減少延遲的一對多通訊方法與計算機程式產品組
CN115842919B (zh) * 2023-02-21 2023-05-09 四川九强通信科技有限公司 一种基于硬件加速的视频低延迟传输方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4340776A (en) * 1980-10-29 1982-07-20 Siemens Corporation Modular telecommunication system
US4667287A (en) * 1982-10-28 1987-05-19 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4800524A (en) 1985-12-20 1989-01-24 Analog Devices, Inc. Modulo address generator
US4908748A (en) 1987-07-28 1990-03-13 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
US5281756A (en) * 1990-11-01 1994-01-25 Yamaha Corporation Electronic musical instrument capable of assigning desired tones to a performance operator
US5341374A (en) * 1991-03-01 1994-08-23 Trilan Systems Corporation Communication network integrating voice data and video with distributed call processing
JP3391448B2 (ja) * 1991-06-07 2003-03-31 富士通株式会社 除算器
US5379297A (en) * 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
JP2518519B2 (ja) * 1993-06-21 1996-07-24 日本電気株式会社 符号化処理タイミング可変の音声処理方式
US5574934A (en) 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US5526353A (en) * 1994-12-20 1996-06-11 Henley; Arthur System and method for communication of audio data over a packet-based network
US5790538A (en) 1996-01-26 1998-08-04 Telogy Networks, Inc. System and method for voice Playout in an asynchronous packet network
US5995839A (en) * 1996-08-20 1999-11-30 Southwestern Bell Technology Resources, Inc. Private radiotelephone system with enhanced telephone system interface
US5881296A (en) 1996-10-02 1999-03-09 Intel Corporation Method for improved interrupt processing in a computer system
US5953411A (en) 1996-12-18 1999-09-14 Intel Corporation Method and apparatus for maintaining audio sample correlation
US6148001A (en) * 1997-06-12 2000-11-14 Nokia Telecommunications, Oy Multipoint-to-point system which multiplexes complete packets comprised of ATM cells on to a single virtual channel connection
US6108316A (en) * 1997-07-25 2000-08-22 At & T Corp Adaptive scheduling priorities based on battery power level in wireless access protocols
JP3319367B2 (ja) * 1997-10-14 2002-08-26 ケイディーディーアイ株式会社 網接続装置
US6014690A (en) * 1997-10-24 2000-01-11 Digital Equipment Corporation Employing multiple channels for deadlock avoidance in a cache coherency protocol
CA2254706A1 (en) * 1997-12-02 1999-06-02 Northern Telecom Limited Speech reception via a packet transmission facility
US6456696B1 (en) * 1997-12-31 2002-09-24 Qwest Communications International, Inc. Method and apparatus for temporarily deactivating a call indicator
US6278716B1 (en) * 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
US6771655B1 (en) * 1998-05-29 2004-08-03 Alcatel Canada Inc. Method and apparatus for managing data transportation
US6377579B1 (en) * 1998-06-11 2002-04-23 Synchrodyne Networks, Inc. Interconnecting a synchronous switching network that utilizes a common time reference with an asynchronous switching network
US6272131B1 (en) * 1998-06-11 2001-08-07 Synchrodyne Networks, Inc. Integrated data packet network using a common time reference
US6611519B1 (en) * 1998-08-19 2003-08-26 Swxtch The Rules, Llc Layer one switching in a packet, cell, or frame-based network
JP2000134218A (ja) * 1998-10-28 2000-05-12 Fujitsu Ltd パケット多重処理方式
US6373842B1 (en) * 1998-11-19 2002-04-16 Nortel Networks Limited Unidirectional streaming services in wireless systems
US6738346B1 (en) * 1999-03-16 2004-05-18 Northrop Grumman Corporation Hierarchical downlink scheduler for a processed satellite payload
US6882711B1 (en) * 1999-09-20 2005-04-19 Broadcom Corporation Packet based network exchange with rate synchronization
US7423983B1 (en) * 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6678267B1 (en) * 1999-08-10 2004-01-13 Texas Instruments Incorporated Wireless telephone with excitation reconstruction of lost packet
US6633564B1 (en) * 1999-09-22 2003-10-14 Nortel Networks Limited Method and apparatus for inserting packets into a data stream
US6477273B1 (en) * 1999-10-21 2002-11-05 3M Innovative Properties Company Centroid integration
US6956818B1 (en) * 2000-02-23 2005-10-18 Sun Microsystems, Inc. Method and apparatus for dynamic class-based packet scheduling
US6700956B2 (en) * 2000-03-02 2004-03-02 Actiontec Electronics, Inc. Apparatus for selectively connecting a telephone to a telephone network or the internet and methods of use
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
CN1682474B (zh) * 2002-08-02 2011-02-02 Nms通讯公司 用于网络信号整合和带宽缩减的方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8750320B2 (en) 1997-01-23 2014-06-10 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8767756B2 (en) 1997-01-23 2014-07-01 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8774199B2 (en) 1997-01-23 2014-07-08 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8798091B2 (en) 1998-11-19 2014-08-05 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8135016B2 (en) 2002-03-08 2012-03-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US8345689B2 (en) 2002-03-08 2013-01-01 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US8451863B2 (en) 2002-03-08 2013-05-28 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US7934021B2 (en) 2002-08-29 2011-04-26 Broadcom Corporation System and method for network interfacing
JP2008541506A (ja) * 2005-05-02 2008-11-20 モトローラ・インコーポレイテッド データを送信する方法および装置

Also Published As

Publication number Publication date
EP1137226B1 (en) 2008-11-05
US20130294441A1 (en) 2013-11-07
US20060007871A1 (en) 2006-01-12
US9584432B2 (en) 2017-02-28
DE60136407D1 (de) 2008-12-18
EP1137226A2 (en) 2001-09-26
US20110261719A1 (en) 2011-10-27
US8503323B2 (en) 2013-08-06
US6975629B2 (en) 2005-12-13
US9130876B2 (en) 2015-09-08
US20150341281A1 (en) 2015-11-26
US20100118819A1 (en) 2010-05-13
EP1137226A3 (en) 2005-11-23
US8009688B2 (en) 2011-08-30
US20020031086A1 (en) 2002-03-14

Similar Documents

Publication Publication Date Title
JP2001313717A (ja) 受信パケットを処理する電子システムおよび方法
US7165130B2 (en) Method and system for an adaptive multimode media queue
JP5174182B2 (ja) 再生遅延推定
US7089390B2 (en) Apparatus and method to reduce memory footprints in processor architectures
US10659380B2 (en) Media buffering
US7054805B2 (en) Method and system for allocating memory during encoding of a datastream
KR101590972B1 (ko) 통신 네트워크에서의 전송 스케줄링 방법, 해당 통신 노드 및 컴퓨터 프로그램 생성물
US20010012300A1 (en) Method and a device for timing the processing of data packets
US20100325302A1 (en) Generic on-chip homing and resident, real-time bit exact tests
GB2521883A (en) Media controller
CN107534589A (zh) 去抖动缓冲器更新
JP2004535115A (ja) Ip電話技術のための動的待ち時間管理
US7099280B1 (en) Method and system for logging voice quality issues for communication connections
US7370126B2 (en) System and method for implementing a demand paging jitter buffer algorithm
EP2070294B1 (en) Supporting a decoding of frames
WO2013142705A1 (en) Voice communication method and apparatus and method and apparatus for operating jitter buffer
US6928495B2 (en) Method and system for an adaptive multimode media queue
US7542465B2 (en) Optimization of decoder instance memory consumed by the jitter control module
JP2005006050A (ja) パケット処理装置
EP1372300A1 (en) Adapting packet length to network load for VoIP communications
Sjöberg et al. Analysing the Audio Latency Contributions in a Networked Embedded Linux System
Lertsutthiwong Improving QoS of voIP on wireless network: Reduce jitter
Luong Evaluation modeling in performance and resource allocation for residential broadband gateways

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080310

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090907