JP6072079B2 - インテリジェントアグリゲーション(intelligentaggregation)を用いる低レイテンシWIFIディスプレイ - Google Patents

インテリジェントアグリゲーション(intelligentaggregation)を用いる低レイテンシWIFIディスプレイ Download PDF

Info

Publication number
JP6072079B2
JP6072079B2 JP2014554750A JP2014554750A JP6072079B2 JP 6072079 B2 JP6072079 B2 JP 6072079B2 JP 2014554750 A JP2014554750 A JP 2014554750A JP 2014554750 A JP2014554750 A JP 2014554750A JP 6072079 B2 JP6072079 B2 JP 6072079B2
Authority
JP
Japan
Prior art keywords
rtp
block
ack
timestamp
rtp timestamp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014554750A
Other languages
English (en)
Other versions
JP2015508254A (ja
JP2015508254A5 (ja
Inventor
ジョーンズ・ザ・フォース、ビンセント・ノウレス
キム、ド・ソク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2015508254A publication Critical patent/JP2015508254A/ja
Publication of JP2015508254A5 publication Critical patent/JP2015508254A5/ja
Application granted granted Critical
Publication of JP6072079B2 publication Critical patent/JP6072079B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43637Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/615Signal processing at physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

優先権の主張
本願は、2012年1月31日に出願された米国特許仮出願第61/592,894号の利益を主張し、その開示内容全体が参照により本明細書に組み込まれる。
本明細書に開示されるシステムおよび方法は、一般的に、802.11MAC実装への最適化に関し、特に過度の待ち時間(レイテンシ:latency)を生むことなくMACアグリゲーションを利用することに関する。
[0003]複数の無線ネットワークにまたがるストリーミングビデオコンテンツのようなメディアの送信は、IEEE802.11プロトコルを含む多数の異なるプロトコルを採用し得る。802.11プロトコルは、メディアを情報の「パケット」に分け、次に、それらは、受信デバイスに個々に送信される。パケット送信の間、受信機は、パケットの受取りを送信機に対して周期的に確認応答(acknowledge)し、そのネットワークアドレスのような、ネットワークパラメータを、ネットワーク上の他のデバイスに適応させるために調整する。効率を高めるために、送信機は、複数のパケットを複数のセットにグループ化し得、それにより、受信機は、各特定のパケットの受信を個別に確認応答する必要がなくなる。パケットをこれらのセットまたはブロックにグループ化することは、アグリゲーションとして知られる。受信機によって提供される単一グループ確認応答は、ブロックACK(Block−ACK)と称される。Block−ACKによるアグリゲーションおよび確認応答は、それらがデバイスのメディアアクセス制御(MAC)レイヤによって処理されるとき、802.11実装についてのスループットおよび効率を高める。Block−ACKはまた、隠れノードからの衝突の可能性および圧縮を低減させる。
[0004]残念ながら、これらの利益にもかかわらず、アグリゲーションはまた、追加のエンド・ツー・エンド・レイテンシを生じさせ得る。エンド・ツー・エンド・レイテンシは、例えば、ゲームアプリケーションおよび双方向ディスプレイアプリケーションのような、通信が2つ以上の方向に急速に発生する「ミラーリング」アプリケーションにとって好ましくない場合がある。従って、望ましくない過度のレイテンシペナルティなしの、無線データ確認応答アグリゲーション(acknowledgement aggregation)を採用するニーズがある。
図1は、開示された様々な実施例を実施する様々な無線送信および受信コンピュータシステムの一般的概念ベースの図である。 図2は、実施例のうちのいくつかに準じる複数のブロックに編成された一連のビデオフレームセグメントを示す。 図3は、開示された様々な実施例を実施する通信システムの階層を示す。 図4は、MACレイヤをトランスポートストリームにアライン(align)させるための開示された実施例うちのいくつかにおいて実行され得るステップのうちのいくつかを示す論理流れ図である。
詳細な説明
[0009]種々の本実施例は、デバイスのMACレイヤにおいて生じる確認応答信号のアグリゲーションと関連するレイテンシペナルティを低減することによって、デバイスのMACレイヤ内の802.11プロトコルスループットを改善する。特に、いくつかの実施例は、アグリゲートされたMACサービスデータユニット(MSDU)のブロックの確認応答(Block−ACKイベント)が、ビデオフレームの最初と最後のMSDUにそろう(align)ように、MACレイヤとトランスポートストリームとをアライン(align)させる。周知のとおり、MSDUは、プロトコルスタック内のメディアアクセス制御(MAC)サブレイヤの上にある論理リンク制御(LLC)サブレイヤから受信されるサービスデータユニットである。確認応答とビデオフレームMSDUとのアラインメント(alignment)は、特定の望ましくないレイテンシを回避する。例えば、MACとトランスポートストリームとがアラインされていない時、受信デバイスは、Block−ACKイベントまでMAC解放を遅らせるか、またはMACレイヤのオペレーションを用いて、ビデオを非同期的に復号し得る。アライメントは、代りに、MACレイヤおよびデコーダがそれらのオペレーションを個々にタイミング合せしたり、遅延させたりする必要をなくす。これによってシステム全体の効率を改善し得る。

システムの概要
システムハードウェアの概要
[0010]図1は、MACアドレス802.11システムについての一般的な概要を提供する。図示されたように、複数のデバイス101a−cは、802.11標準を用いて相互に通信を行う。各デバイス101a−cは、パケットを、送信102、103を経由して、別のデバイスに送る。送信は、例えば、ストリーミングビデオコンテンツを備え得る。これらの送信の間に、各デバイス101a−cは、複数のMACプロトコルデータユニット(MPDU)を送り得る。MPDUは、階層化OSIモデルに基づく通信システムにおいて、デバイス101a−cのようなMACエンティティーの間で交換されるメッセージである。MPDUがMSDUより大きいシステムにおいて、MPDUは、パケットアグリゲーションの結果として、複数のMSDUを含み得る。次にMPDUがMSDUより小さいシステムにおいて、1つのMSDUは、パケットセグメンテーションの結果として複数のMPDUを生成し得る。ストリーミングビデオコンテンツのような情報は、複数のMPDUを介して送信され得る。
[0011]各デバイス101a−cは、MPDU毎にL2 ACKを要求することなく複数のMPDUを送るためにBlock−ACKを用い得る。すなわち、Block−ACKは、MPDUをアグリゲートするために用いられ得る。これは、より大量のデータが確認応答を待たずに送信されることができるので、送信効率を向上させる。残念なことに、上で論じられたように、この方法はまた、受信デバイスが、送信誤りによって生じた順序がバラバラのMSDUを内部でバッファリングすることを義務付けされるので、追加のレイテンシが生じ得る。
[0012]さらに、受信デバイスは、Block−ACKイベントまでMAC解放を遅らせ得る。Block−ACKイベントは、送信機が送信オペレーションをすべてやり尽くす(または終了させる)まで遅延させられるので、これが望ましくない通信遅延をもたらし得る。受信機におけるこういった追加の遅延は、デコーダパイプラインを失速させる可能性さえある。
[0013]いくつかの実施例は、ビデオフレーム全体が配信された後にのみデコーダに復号を開始させることによって、この問題を緩和する。これらの実施例はまた、Block−ACKシーケンスが連続したフレームにまたがるのを防ごうとする。

ブロックシーケンス
[0014]図2は、複数のブロックに編成されたビデオフレームセグメント203a−dのシーケンス200を示す。Block−ACKシーケンス201aが連続したフレーム203a−dをまたがるのを防ぐために、いくつかの実施例は、図2に示すように、Block−ACKウィンドウ201a−bをビデオフレームの境界にアラインさせる(align)。すなわち、Block−ACKシーケンス201aは、ビデオフレーム送信の第1のセグメント203aおよび最後のセグメント203cにアラインする(align)。これらの実施例において、送信機は、任意の単一ビデオフレームが1つまたは複数のBlock−ACKシーケンスから成り得るが、1つのBlock−ACKシーケンスは、送信機が、ビデオフレームに対応する最後のセグメント203cを含む最後のMSDUに遭遇するたびに、無条件に終了することを確実にする。いくつかの実施例において、MACデータSAPは、MSDU202が、Block−ACKウィンドウを終了すべきかどうか、またはMSDU202がビデオフレームまたはスライス内の最後のMSDUであるかどうかを示す(flag)ようにさらに拡張され得る。

階層
[0015]図3は、開示された様々な実施例を実装する通信システム階層を示す。通信システムは、例えば、Wi−Hi(登録商標)ディスプレイについてのL2低レイテンシアグリゲーション制御(L2 law latency aggregation control)を実施するディスプレイシステムの一部であり得る。階層は、ビデオコンテンツストリームのような情報の送信の前に、様々な機能を実行する一連の機能ブロック300を備える。ビデオ301のようなメディアは、コンテンツ内のコンテンツのフレームレート、またはその他のタイミングファクタに基づきクロック308の期間(period)を決定する。ビデオ301は、続いて、リアルタイムプロトコル(RTP)304のストリームに入る前に、コーデック302とパケタイザー303を通過し得る。メディアクロック308は、RTPにおける配置(placement)を容易にするために用いられ得る。メディアは次に、UDP/IPレイヤ305を通過し得る。いくつかの実施例において、MACレイヤ306に入る前に、システムは、次に、309においてフレームがアラインされている(aligned)かどうかを決定し、図2において、上で論じられたように、Block−ACKシーケンス制御310を実施する。メディアは、Block−ACKアライメントを実施に必要なように変更され、MACレイヤ306に進む。メディアは続いて、物理レイヤ307において、受信デバイスに送信され得る。

アルゴリズム
[0016]図4は、MACレイヤをトランスポートストリームにアラインさせる(align)ためのいくつかの開示された実施例において実行され得るいくつかのステップを示す論理流れ図である。式において言及される変数は一般的に下記の通り定義される。
[0017]T[n]=n番目のRTPパケット内のタイムスタンプ、
[0018]TR=基準タイムスタンプ、
[0019]C=RTPストリーム[KHz]において用いられるビデオクロック、
[0020]R=ビデオフレームレート[フレーム/s]および
[0021]Flag= 新しいBlock−ACKシーケンスを開始するためのブーリアンフラグ
[0022]図4は、単に、このプロセスの実施の1つの例を提供しているにすぎない。従って、ここで用いられる変数の特定の選択は記載された機能性を実現するために必ずしも必要ではない。例えば、ここに記載されたようなFlagは、説明目的のためだけであり、当業者は、ブーリアン値と制御フロークエリは置き換え可能であり得、ブーリアン変数が、整数1または0等、または、フラグ変数が、特定の状態を示すようにハードウェアまたはソフトウェアにおいて実装される必要な変更を加えた他の方法で代用されることは理解するだろう。図4に提供された特定の記述は、説明の目的のためであり、アルゴリズム自体は、当技術分野の当業者に容易に知られるようなその他の変数および制御フロー構造を代用することによって実行される。
[0023]プロセスは、変数が初期化され得るステップ402において開始する。この実施例において、カウンターnは0に設定され、TRは、RTPタイムスタンプの値のような初期の基準値に設定され、およびFlagは、新しいブロックシーケンスがステップ405で始まるように真に設定され得る。ステップ403において、システムは、RTPパケットが受信されるまで待ち得る。RTPパケットが受信されると、システムは、ステップ404において、カウンターnをインクリメントする。システムは次に、ステップ405において、Flagが真であるかどうかを決定し得る。Flagは、初めにステップ402において、真に設定されたので、システムは、新しいBlock−ACKシーケンスが開始されるステップ406に移行する。新しいシーケンスが次の反復を開始するのを防ぐために、システムは、ステップ407において、Flagを偽に設定する。
[0024]新しいBlock−ACKシーケンスを開始するかどうかを決定した後、システムは次に、ステップ408において、基準タイムスタンプと最近受信したRTPパケットのタイムスタンプとの間の差異Dを決定する。ステップ409において、システムは次に、Block−ACKシーケンスが終了されるべきかどうかを決定する。この実施例において、システムは、差異Dが0より大きいか、およびDがビデオクロック周波数をビデオフレームレートで割った値の倍数であるかを決定する。これらの条件の両方が満たされると、システムは次に、ステップ410に移行し、Block−ACKシーケンスを終了する。システムはまた、次に、新しい反復の新しいBlock−ACKシーケンスを開始するために、ステップ411において、フラグを真に設定し得る。システムはまた、ステップ412において、基準タイムスタンプTRを現在のパケットのタイムスタンプに設定し得る。
[0025]ステップ413において、システムは次に、ストリームが完了したかどうかを決定し得る。ストリームが完了していない場合、システムは、ステップ403に戻り得、次のRTPパケットの受信を待つ。この方法において、システムは、MACレイヤとトランスポートストリームとがアラインするようにBlock−ACKシーケンスが開始および終了されるのを確実にし得る。

[0026]例
[0027]上述したアルゴリズムのアプリケーションの例は、次の通りである。90KHzのクロックを備えるビデオペイロードフォーマットの場合、C=90KHzである。ビデオフレームレートが30フレーム/秒である場合、R=30である。その結果、C/R=3,000となる。この例において、RTPタイムスタンプは、ビデオフレーム毎にちょうど3,000ずつ増加することになる。MACデータSAPは、RTPパケット内のタイムスタンプを調べ、Block−ACKシーケンスオペレーションをビデオフレームの境界にアラインさせる。いくつかの実施例において、システムは、どの圧縮コーデックスキームが使われるかに関係なくこれを行い得る。
[0028]このアライメントメカニズムは、受信機MACが、次のビデオフレームの複数のパーツを受信しながら、ビデオフレームのいずれの部分の配信も遅延させないことを確実にする。従って、ビデオの復号、後処理、およびレンダリングの動作は、次のビデオフレームの無線送信を継続することによって遅延されない。さらに、特に、スライシングが用いられる時に、アルゴリズムは、実質的なオーバヘッドを課さない。例えば、10Mbpsに圧縮された720p30のフルビデオフレームは、〜42Kバイト毎にBAアライメントを必要する。従って、8Kバイトのアグリゲーションでは、BAウィンドウを終了させるためのオーバヘッドは比較的小さい。
[0029]パイプラインユニット(pipelined unit)としてスライシング(slicing)を実装するシステムは、これらのフレームスライスの境界において、Block−ACKアライメントを実装する必要があり得る。しかし、MAC効率を考慮すると、パイプラインユニットに対しより低い限界が要求される。すなわち、スライシングが用いられるときに、アグリゲーションそれ自体が問題になり得る。例えば、16スキャンライン毎のスライシングは、926バイトまでのオーダのMSDUをもたらす可能性がある。

利点
[0030]符号器にビデオフレーム(またはスライド)内の最後のMSDUの送信成功を示す信号をフィードバックすることは、予期しない無線の送信誤り率によって引き起こされる遅延を制限し得る。この場合、送信機アプリケーションは、フレームをスキップすることによって、または他の符号器パラメータをスケーリングすることによって適応することができる。
[0031]上記の実施例によってBlock−ACKアライメントをビデオフレームに適用する時に、ビデオフレーム毎の最後のMSDUについてのTX−完了タイムスタンプが、送信デバイスによって計算され得る。このタイムスタンプは、拡張MAC SAPにより符号器に返され得る。その他の統計値と併せて、タイムスタンプは、TX レイテンシの蓄積を検出するための基礎(basis)を与え、およびマルチメディア送信機アプリケーション内の適切な適応ポリシーをトリガすることを提供し得る。

用語に関する所見
[0032]別段の指示がない限り、ここで用いられる用語は、それらの慣習および通常の意味を示唆することが理解されるであろう。ここに開示された実施例に関連して記載された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュールまたはその2つの組合せにおいて直接具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブル・ディスク、CD−ROM、または当技術分野において周知の記憶媒体の任意のその他の形式に属し得る。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取りおよびプロセッサに情報を書き込むことができるようなプロセッサに結合され得る。代替方法として、記憶媒体はプロセッサに統合されても良い。プロセッサと記憶媒体は、ASICに属し得る。ASICは、ユーザ端末に属し得る。代替方法として、プロセッサと記憶媒体は、ユーザ端末内にディスクリートコンポーネントとして存在する。
[0033]上述された全ての処理は、1つまたは複数の汎用目的または特殊目的コンピュータまたはプロセッサによって実行されるソフトウェアコードモジュールにおいて具体化され、およびそれらを介して完全に自動化され得る。コードモジュールは、任意のタイプのコンピュータ可読媒体、その他のコンピュータ記憶デバイス、または記憶デバイスの集合に記憶され得る。いくつかのまたは全ての方法は、特定用途のコンピュータハードウェアにおいて代替方法として具体化され得る。
[0034]ここに記載された全ての方法および課題は、コンピュータシステムによって実行および完全に自動化され得る。コンピュータシステムは、いくつかの場合において、記載された機能を実行するために、ネットワークを介して、通信および相互に動作する複数の個別のコンピュータまたはコンピューティングデバイス(例えば、物理サーバ、ワークステーション、ストレージアレイ等)を含んでも良い。こういったコンピューティングデバイスのそれぞれは、メモリまたはその他の非一時的コンピュータ可読記憶媒体に記憶されるプログラム命令またはモジュールを実行するプロセッサ(または複数のプロセッサ、回路、または例えばモジュール等の回路の集合)を典型的に含む。開示された機能のいくつかまたは全ては、代替的に、コンピュータシステムのアプリケーション特定回路(例えば、ASICまたはFPGA)に実装され得るが、ここに開示された様々な機能は、例えばプログラム命令において具体化され得る。コンピュータシステムが複数のコンピューティングデバイスを含む場合、これらのデバイスは、必須ではないが、同じ場所に配置され得る。開示された方法および課題の結果は、個体メモリチップおよび/または磁気ディスク(disk)のような物理記憶デバイスを異なる状態に変換することによって的に記憶され得る。
[0035]1つの実施例において、上述された一連の過程、システム、および方法は、コンピューティングデバイス上で動作しているソフトウェア内で部分的にまたは全体的に具体化され得る。コンピューティングデバイスのコンポーネントおよびモジュールに提供された機能は、1つまたは複数のコンポーネントおよび/またはモジュールを備えても良い。例えば、コンピューティングデバイスは、サーバのアレイに実装され得るような複数の中央処理装置(CPU)および大容量記憶デバイスを備えても良い。
[0036]一般的に、ここで用いられるような単語「モジュール」は、ハードウェアまたはファ−ムウェアにおいて具体化される論理を指すか、または、例えば、Java(登録商標)、CまたはC++等のプログラミング言語で書かれた入口および出口点を場合によっては持つ、ソフトウェア命令の集合を指す。ソフトウェアモジュールは、実行可能なプログラムにコンパイルおよびリンクされ、ダイナミックリンクライブラリにインストールされ、または例えば、BASIC、Perl、Lua、またはPythonのように解されるプログラミング言語で書かれ得る。ソフトウェアモジュールは、その他のモジュール、またはそれら自身から呼び出し可能であり、および/または、検出されたイベントまたは割り込みに応答して呼び出され得ることが理解されるであろう。ソフトウェア命令は、EPROMのようなファ−ムウェアに埋め込まれ得る。ハードウェアモジュールは、ゲートおよびフリップフロップのような接続された論理ユニットから成り得、および/またはプログラマブル・ゲイト・アレイまたはプロセッサのようなプログラム可能なユニットから成り得ることがさらに理解されるであろう。ここに記載されたモジュールは、ソフトウェアモジュールとして好適に実装されるが、ハードウェアまたはファ−ムウェアにおいて表されても良い。一般的に、ここに記載されたモジュールは、その他のモジュールと組み合わされ得るか、またはそれらの物理編成または記憶装置に係らずサブモジュールに分割され得る論理モジュールを指す。
[0037]上述された全ての方法および一連の過程は、1つまたは複数の汎用コンピュータまたはプロセッサによって実行されるソフトウェアコードモジュールにおいて具体化されおよびそれを介して完全に自動化され得る。コードモジュールは、任意のタイプの可読媒体、またはその他のコンピュータ記憶デバイスに記憶され得る。いくつかのまたは全ての方法は、代替方法として、特定用途のコンピュータハードウェアで具体化され得る。
[0038]発明は、いくつかの実施例の観点から論じられるが、発明は、それに限定されないことが理解されるべきである。実施例は、ここで例として説明され、および用いられ得および、さらに本発明の範囲内にあるはずの多数の変更、バリエーションおよびその他の実施例が存在し得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ストリームトランスポートおよびMACレイヤーデータアライメントシステムであって、
フラグに基づいてBlock−ACKシーケンスを開始し、
ビデオクロック周波数とビデオフレームレートとの間の関係を決定することと、前記ビデオクロック周波数は、リアルタイムプロトコル(RTP)ストリームと関連し、
第1のRTPタイムスタンプと第2のRTPタイムスタンプの間の差異を決定し、少なくとも前記第1のRTPタイムスタンプは、前記RTPストリーム内のパケットから導出され、
前記差異がゼロより大きく、かつ前記差異が前記関係の整数倍である場合、Block−ACKシーケンスを停止する、
ように構成される処理モジュール、
を備えるシステム。
[C2] 前記関係は、前記フレームレートで除算された前記ビデオクロック周波数を備える、C1に記載のシステム。
[C3] 前記処理モジュールは、カウンターをインクリメントするようにさらに構成される、C1に記載のシステム。
[C4] 前記第2のRTPタイムスタンプは、基準RTPタイムスタンプである、C1に記載のシステム。
[C5] 前記処理モジュールは、前記Block−ACKシーケンスが停止した場合、前記フラグをリセットするようにさらに構成される、C1に記載のシステム。
[C6] ストリームトランスポートとMACレイヤとをアラインさせるために、1つまたは複数のコンピュータシステムを用いて実行される方法であって、
フラグに基づいてBlock−ACKシーケンスを開始することと、
ビデオクロック周波数とビデオフレームレートとの間の関係を決定することと、前記ビデオクロック周波数は、RTPストリームと関連し、
第1のRTPタイムスタンプと第2のRTPタイムスタンプの間の差異を決定することと、少なくとも前記第1のRTPタイムスタンプは、前記RTPストリーム内のパケットから導出され、
前記差異がゼロより大きく、かつ前記差異が前記関係の整数倍である場合、Block−ACKシーケンスを停止すること、
を備える、前記方法。
[C7] 前記関係は、前記フレームレートで除算された前記ビデオクロック周波数を備える、C6に記載のシステム。
[C8] 前記処理モジュールは、カウンターをインクリメントするようにさらに構成される、C6に記載のシステム。
[C9] 前記第2のRTPタイムスタンプは、基準RTPタイムスタンプである、C6に記載のシステム。
[C10] 前記処理モジュールは、前記Block−ACKシーケンスが停止した場合、前記フラグをリセットするようにさらに構成される、C6に記載のシステム。
[C11] 実行されると、プロセッサに、
フラグに基づいてBlock−ACKシーケンスを開始することと、
ビデオクロック周波数とビデオフレームレートとの間の関係を決定することと、前記ビデオクロック周波数は、RTPストリームと関連し、
第1のRTPタイムスタンプと第2のRTPタイムスタンプとの間の差異を決定することと、少なくとも前記第1のRTPタイムスタンプは、前記RTPストリーム内のパケットから導出され、
前記差異がゼロより大きく、かつ前記差異が前記関係の整数倍である場合、Block−ACKシーケンスを停止すること、
からなる方法を実行させる命令を備える非一時的コンピュータ可読媒体。
[C12] 前記関係は、前記フレームレートで除算された前記ビデオクロック周波数を備える、C11に記載のシステム。
[C13] 前記処理モジュールは、カウンターをインクリメントするようにさらに構成される、C11に記載のシステム。
[C14] 前記第2のRTPタイムスタンプは、基準RTPタイムスタンプである、C11に記載のシステム。
[C15] 前記処理モジュールは、前記Block−ACKシーケンスが停止した場合、前記フラグをリセットするようにさらに構成される、C11に記載のシステム。
[C16] ストリームトランスポートおよびMACレイヤーデータアライメントシステムであって、
フラグに基づいてBlock−ACKシーケンスを開始する手段と、
ビデオクロック周波数とビデオフレームレートとの間の関係を決定する手段と、前記ビデオクロック周波数は、リアルタイムプロトコル(RTP)ストリームと関連し、
第1のRTPタイムスタンプと第2のRTPタイムスタンプとの間の差異を決定する手段と、少なくとも前記第1のRTPタイムスタンプは、前記RTPストリーム内のパケットから導出され、
前記差異がゼロより大きく、かつ前記差異が前記関係の整数倍である場合、Block−ACKシーケンスを停止する手段と、
を備えるシステム。
[C17] 前記関係は、前記フレームレートで除算された前記ビデオクロック周波数を備える、C16に記載のシステム。
[C18] 前記処理モジュールは、カウンターをインクリメントするようにさらに構成される、C16に記載のシステム。
[C19] 前記第2のRTPタイムスタンプは、基準RTPタイムスタンプである、C16に記載のシステム。
[C20] 前記処理モジュールは、前記Block−ACKシーケンスが停止した場合、前記フラグをリセットするようにさらに構成される、C16に記載のシステム。

Claims (9)

  1. ストリームトランスポートとMACレイヤとをアラインさせるために、1つまたは複数のコンピュータシステムを用いて実行される方法であって、
    フラグに基づいてBlock−ACKシーケンスを開始することと、ここで、前記Block−ACKは受信機によって提供される単一グループ確認応答である、
    ビデオクロック周波数とビデオフレームレートとの間の関係を決定することと、前記ビデオクロック周波数は、RTPストリームと関連し、前記関係値は、前記フレームレートで除算された前記ビデオクロック周波数を備え、
    第1のRTPタイムスタンプと第2のRTPタイムスタンプの間の差異を決定することと、少なくとも前記第1のRTPタイムスタンプは、前記RTPストリーム内のパケットから導出され、前記第2のRTPタイムスタンプは、前記Block−ACKシーケンスの開始前の前記RTPストリームのRTPタイムスタンプに対応し、前記第1のRTPタイムスタンプは1ビデオフレーム毎に前記関係値だけ増加され、
    前記差異がゼロより大きく、かつ前記差異が前記関係の整数倍である場合、Block−ACKシーケンスを停止すること、
    を備える、方法。
  2. ウンターをインクリメントすることをさらに備える、請求項1に記載の方法。
  3. 前記第2のRTPタイムスタンプは、基準RTPタイムスタンプである、請求項1に記載の方法。
  4. 記Block−ACKシーケンスが停止した場合、前記フラグをリセットすることをさらに備える、請求項1に記載の方法。
  5. 請求項1−のうちのいずれか1つにしたがった方法を実行するための命令を備える、コンピュータプログラム。
  6. ストリームトランスポートおよびMACレイヤーデータアライメントシステムであって、
    フラグに基づいてBlock−ACKシーケンスを開始する手段と、ここで、前記Block−ACKは受信機によって提供される単一グループ確認応答である、
    ビデオクロック周波数とビデオフレームレートとの間の関係を決定する手段と、前記ビデオクロック周波数は、RTPストリームと関連し、前記関係値は、前記フレームレートで除算された前記ビデオクロック周波数を備え、
    第1のRTPタイムスタンプと第2のRTPタイムスタンプとの間の差異を決定する手段と、少なくとも前記第1のRTPタイムスタンプは、前記RTPストリーム内のパケットから導出され、前記第2のRTPタイムスタンプは、前記Block−ACKシーケンスの開始前の前記RTPストリームのRTPタイムスタンプに対応し、前記第1のRTPタイムスタンプは1ビデオフレーム毎に前記関係値だけ増加され、
    前記差異がゼロより大きく、かつ前記差異が前記関係の整数倍である場合、Block−ACKシーケンスを停止する手段と、
    を備えるシステム。
  7. ウンターをインクリメントする手段をさらに備える、請求項に記載のシステム。
  8. 前記第2のRTPタイムスタンプは、基準RTPタイムスタンプである、請求項に記載のシステム。
  9. 前記Block−ACKシーケンスが停止した場合、前記フラグをリセットする手段をさらに備える、請求項に記載のシステム。
JP2014554750A 2012-01-31 2013-01-18 インテリジェントアグリゲーション(intelligentaggregation)を用いる低レイテンシWIFIディスプレイ Expired - Fee Related JP6072079B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261592894P 2012-01-31 2012-01-31
US61/592,894 2012-01-31
US13/467,265 2012-05-09
US13/467,265 US8917608B2 (en) 2012-01-31 2012-05-09 Low latency WiFi display using intelligent aggregation
PCT/US2013/022253 WO2013116016A1 (en) 2012-01-31 2013-01-18 Low latency wifi display using intelligent aggregation

Publications (3)

Publication Number Publication Date
JP2015508254A JP2015508254A (ja) 2015-03-16
JP2015508254A5 JP2015508254A5 (ja) 2016-02-18
JP6072079B2 true JP6072079B2 (ja) 2017-02-01

Family

ID=48871524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554750A Expired - Fee Related JP6072079B2 (ja) 2012-01-31 2013-01-18 インテリジェントアグリゲーション(intelligentaggregation)を用いる低レイテンシWIFIディスプレイ

Country Status (6)

Country Link
US (1) US8917608B2 (ja)
EP (1) EP2810420B1 (ja)
JP (1) JP6072079B2 (ja)
KR (1) KR20140117674A (ja)
CN (1) CN104081746B (ja)
WO (1) WO2013116016A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994153B (zh) * 2015-06-30 2018-09-14 Tcl移动通信科技(宁波)有限公司 一种wifi display的图像传输方法及系统
CN107786292B (zh) * 2016-08-25 2019-07-19 大连楼兰科技股份有限公司 一种协议栈网络时间的测量方法及装置
KR102581438B1 (ko) 2017-01-12 2023-09-21 삼성전자주식회사 무선 디스플레이 서브시스템 및 시스템-온-칩
EP3643074A4 (en) * 2017-08-25 2020-04-29 SZ DJI Technology Co., Ltd. SYSTEMS AND METHODS FOR SYNCHRONIZING FRAME SYNCHRONIZATION BETWEEN A PHYSICAL LAYER FRAME AND A VIDEO FRAME

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7784076B2 (en) * 2004-10-30 2010-08-24 Sharp Laboratories Of America, Inc. Sender-side bandwidth estimation for video transmission with receiver packet buffer
JP2008079150A (ja) * 2006-09-22 2008-04-03 Canon Inc 通信機器及びデータ転送方法
US20080192774A1 (en) 2007-02-13 2008-08-14 Samsung Electronics Co., Ltd. Method and system for aggregating multiple small packets in wireless communication
JP2009081571A (ja) * 2007-09-25 2009-04-16 Oki Electric Ind Co Ltd データフレーム伝送装置及びデータフレーム伝送方法
US20100162070A1 (en) 2008-12-19 2010-06-24 Qualcomm Incorporated Method and apparatus for optimizing a retry limit for multimedia systems that are prone to errors
US10236950B2 (en) 2009-02-27 2019-03-19 Qualcomm Incorporated Video transmission over SDMA
US20110090880A1 (en) 2009-04-09 2011-04-21 Qualcomm Incorporated Wireless communication utilizing mixed protocols
US8355389B2 (en) 2010-03-12 2013-01-15 Nokia Corporation Simultaneous transmissions during a transmission opportunity
CN101834854B (zh) * 2010-04-06 2013-04-10 北京交通大学 一种手机视频传输系统
US8700796B2 (en) * 2010-09-22 2014-04-15 Qualcomm Incorporated MAC data service enhancements
US20120309321A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Synchronized calibration for wireless communication devices

Also Published As

Publication number Publication date
WO2013116016A1 (en) 2013-08-08
CN104081746B (zh) 2017-09-15
CN104081746A (zh) 2014-10-01
JP2015508254A (ja) 2015-03-16
US20130198793A1 (en) 2013-08-01
EP2810420A1 (en) 2014-12-10
KR20140117674A (ko) 2014-10-07
EP2810420B1 (en) 2017-03-08
US8917608B2 (en) 2014-12-23

Similar Documents

Publication Publication Date Title
US8274886B2 (en) Inferring TCP initial congestion window
KR102249741B1 (ko) 데이터 전송을 위한 방법 및 장치
JP5944540B2 (ja) Macデータサービス・エンハンスメント
CN113874848A (zh) 用于促进网络接口控制器(nic)中对加速器的操作管理的系统和方法
US20150271232A1 (en) Transport accelerator implementing request manager and connection manager functionality
JP6072079B2 (ja) インテリジェントアグリゲーション(intelligentaggregation)を用いる低レイテンシWIFIディスプレイ
US11956704B2 (en) Synchronization of bluetooth low energy isochronous transmissions
US11075968B1 (en) Synchronization of Bluetooth low energy transmissions across connected isochronous groups
US11758434B2 (en) Dynamic buffer allocation for bluetooth low energy isochronous transmissions
Seytnazarov et al. Enhanced mathematical modeling of aggregation-enabled WLANs with compressed blockACK
US20200136944A1 (en) Data Transmission Performance Detection
Wu et al. Potential performance bottleneck in Linux TCP
US10200154B2 (en) System and method for early packet header verification
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
WO2017045229A1 (zh) 一种基站流量数据的处理方法及基站
US10135742B2 (en) Data transmission apparatus and method
JP2012508532A (ja) 欠落したメディアアクセスコントロールフレームのためにアプリケーションにより構成されるコンテンツベースの再送信スキーム
Wen et al. On RTO timer implementation in TCP
CN117097679A (zh) 一种网络中断的聚合方法、装置及网络通信设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161031

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R150 Certificate of patent or registration of utility model

Ref document number: 6072079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees