JP2015536594A - 積極的なビデオフレームドロップ - Google Patents

積極的なビデオフレームドロップ Download PDF

Info

Publication number
JP2015536594A
JP2015536594A JP2015536815A JP2015536815A JP2015536594A JP 2015536594 A JP2015536594 A JP 2015536594A JP 2015536815 A JP2015536815 A JP 2015536815A JP 2015536815 A JP2015536815 A JP 2015536815A JP 2015536594 A JP2015536594 A JP 2015536594A
Authority
JP
Japan
Prior art keywords
video frame
time stamp
computer
video
capture
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.)
Pending
Application number
JP2015536815A
Other languages
English (en)
Inventor
リウ,ユーシン
ヴァイスバード,ハイム
ヤン,イーシン
スウ,シャオウェイ
リウ,シュ
Original Assignee
タンゴメ,インコーポレイテッド
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 タンゴメ,インコーポレイテッド filed Critical タンゴメ,インコーポレイテッド
Publication of JP2015536594A publication Critical patent/JP2015536594A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

ビデオフレームを積極的にドロップする方法およびシステムが開示される。方法は、コンピュータによって、第1の装置にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録することと、コンピュータによって、ビデオフレームキャプチャ時間スタンプをキャプチャされるビデオフレームと関連付けることと、コンピュータによって、ビデオフレームキャプチャ時間スタンプをビデオフレームのビデオフレーム目標時間スタンプと比較することと、比較に基づいて、ビデオフレームキャプチャ時間スタンプとビデオフレーム目標時間スタンプとの間の時間差が所定の時間値の範囲外である場合、コンピュータによって、ビデオフレームをドロップすることと、を含む。

Description

[関連出願の相互参照]
本出願は、その全体が参照により本明細書に組み込まれる、2012年10月11日出願の米国出願第13/649,863号に関連し、同出願に対する優先権を主張する。
ビデオフレーム速度は、1秒につき処理されるビデオフレームの数として定義される。一般的に、ビデオフレーム速度は、様々な/変化するCPUの使用およびチャネル帯域幅に適合することが望ましい。したがって、一般的に、ビデオフレームは、決められたビデオフレーム速度でキャプチャされることが望ましい。しかしながら、数多くの異なる既存のプラットフォーム、および、ばらつきのある装置のために、装置が正確かつ動的にビデオフレームのキャプチャ速度を制御することは、常に可能だとは限らない。
大まかに言えば、本文書は、ハードウェアおよびネットワークの変動のための積極的なビデオフレームのドロップについて説明する。より詳細には、本文書は、ビデオフレームを積極的にドロップする方法およびシステムを提供する。本方法は、コンピュータによって、第1の装置にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録することと、コンピュータによって、ビデオフレームキャプチャ時間スタンプを、キャプチャされるビデオフレームと関連付けることと、コンピュータによって、ビデオフレームキャプチャ時間スタンプをビデオフレームのビデオフレーム目標時間スタンプと比較することと、比較に基づいて、ビデオフレームキャプチャ時間スタンプとビデオフレーム目標時間スタンプとの間の時間差が所定の時間値の範囲外である場合、コンピュータによって、ビデオフレームをドロップすることと、を含む。
実施形態に係る、送信器から受信器までのビデオ通話伝達経路全体にわたるフレームドロップの例を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための装置を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための方法の流れ図である。 実施形態に係る、ビデオフレームを積極的にドロップするための方法の流れ図である。
実施形態に係る、ビデオフレームを積極的にドロップするためのビデオフレームパケットスケジュール制御機構を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための方法の流れ図である。
実施形態に係る、ビデオフレームを積極的にドロップするための装置を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための方法を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための実施形態が行われ得る例示的な装置を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための実施形態が行われ得る例示的な装置を示す図である。
実施形態に係る、ビデオフレームを積極的にドロップするための実施形態が行われ得る例示的な装置(たとえば、モバイル装置)のブロック図である。
本記載において言及される図面は、特に記載される場合を除き、原寸に比例して描かれているわけではないものとして理解されるべきである。
様々な実施形態が詳細に説明され、それらの例は添付する図面において例示される。これらの実施形態と共に主題が説明されるが、主題をこれらの実施形態に限定するものではないことが理解される。むしろ、本明細書に記載される主題は、その趣旨およびその範囲内に含まれ得る、その代替物、その変更物、および等価物を網羅するものと考えられる。さらに、以下の記載においては、主題についての完全な理解をもたらすために数多くの特定の詳細が説明される。しかしながら、いくつかの実施形態では、これらの特定の詳細なしでも実施され得る。また、主題の態様を不必要に不明瞭にしないために、既知の構造および部品は詳細に記載されていないこともある。
以下に記載されるように、実施形態では、様々な装置(たとえば、モバイル、デスクトップ)において、3つの異なる手法、(1)ビデオフレームがキャプチャされた後の適応的なビデオフレームドロップと、(2)ビデオフレームパケットスケジュール制御を促進するための、符号化前の適応的なビデオフレームドロップと、(3)ビデオフレームレンダリング前の動的ビデオフレームドロップと、を用いて、ビデオ通話伝達経路の異なる段階の間、ビデオフレームを積極的にドロップする。各手法は以下により詳細に記載される。
図1は、送信器から受信器までのビデオ通話伝達経路全体にわたって行われる、3つの可能なビデオフレームドロップの流れを示す図である。簡単に言えば、図1は、送信装置100にキャプチャされるビデオフレームから、受信装置165でレンダリングされるビデオフレームまでに行われる過程を示す。図示されているように、送信装置100でビデオフレームが通過する過程は以下のものである: ビデオキャプチャ105、ビデオ符号化110、ビデオパケット化115、およびビデオパケットスケジュール120。図示されているように、受信装置165で、ビデオフレームが通過する過程は以下のものである: ビデオパケットスケジュール135、ビデオデパケット化140、ビデオ復号化145、およびビデオレンダリング150。
様々な実施形態において、ビデオキャプチャ105の過程の後に過程125でビデオフレームがドロップされる。様々な実施形態において、ビデオフレーム符号化10が開始する前に過程130でビデオフレームがドロップされる。さらに、過程130では、(ビデオフレームパケットスケジュール120の過程から伝達される)ビデオフレームスケジュール状態160が、ビデオフレーム符号化110が始まる前のビデオフレームドロップの処理において考慮されることが示される。様々な実施形態において、ビデオレンダリング150の前に過程155でビデオフレームがドロップされる。時間スタンプ161〜169もまた図1に示されている。この図に示されているように、時間スタンプは、1つの過程から次の過程に移行する際に生成される。たとえば、ビデオフレームはビデオキャプチャ105にキャプチャされる。ビデオ符号化110の過程に移る際、時間スタンプ162が生成され、ビデオフレームの符号化が行われる時間をマークする。
したがって、実施形態では、様々な伝達問題(たとえば、ネットワークの混雑、不十分な帯域幅など)のために、ネットワークがビデオフレームをドロップするのを待つ代わりに、ビデオフレームの積極的なドロップを提供し、それにより安定したペースで装置間のビデオフレームの伝達が促進される。
[表記法と命名法]
本技術の実施形態が詳細に説明され、それらの例は添付する図面において例示される。様々な実施形態と共に主題が説明されるが、主題をこれらの実施形態に限定するものではないことが理解される。むしろ、本明細書に記載される主題は、添付の特許請求の範囲によって定まる様々な実施形態の趣旨および範囲内に含まれ得る、その代替物、その変更物、および等価物を網羅するものと考えられる。
さらに、実施形態の以下の記載においては、本技術についての完全な理解をもたらすために数多くの特定の詳細が説明される。しかしながら、本技術は、これらの特定の詳細なしでも実施され得る。また、主題の態様を不必要に不明瞭にしないために、既知の構造、部品および回路は詳細に記載されていないこともある。
後続の実施形態の記載のいくつかの部分は、コンピュータメモリ内でのデータビットに対する動作の手順、論理ブロック、処理、および他の記号表現により説明される。これらの記載および表現は、これらの作業の本質を最も有効に他の当業者に伝えるために、データ処理技術における当業者によって用いられるものである。本出願において、手順、論理ブロック、過程などは、所望の結果につながる一貫した一連の処理または命令の連続であると考えられる。過程は、物理的な量の物理的な操作を要求するものである。通常、必然的ではないが、これらの量は、コンピュータシステム中で、記憶されること、転送されること、組み合わせられること、比較されること、およびさもなければ、操作されることが可能な電気または磁気信号の形態をとる。
しかしながら、これらおよび類似の用語は全て、適切な物理的な量と関連付けられるべきであり、それらの量に適用される便利な標識に過ぎないことが留意されるべきである。以下の説明から明らかなものとして特に別記されない限り、本説明全体にわたって、「記録すること“recording”」、「関連付けること“associating”」、「比較すること“comparing”」、「ドロップすること“dropping”」、「送信すること“sending”」、「更新すること“updating”」、「推定すること“estimating”」、「アクセスすること“accessing”」、「受信すること“receiving”」、「増加させること“increasing”」、「予測すること“predicting”」、「保持すること“keeping”」、「送信すること“sending”」、「スケジュールすること“scheduling”」、「維持すること“maintaining”」などの用語は、コンピュータシステムまたは類似の電子計算装置の動作および処理に言及するものであることは明らかであり、これらコンピュータシステムまたは類似の電子計算装置は、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量として表わされるデータを、コンピュータシステムのメモリやレジスタや他のそのような情報記憶・送信・表示の装置内における物理的な量として同じように表わされる他のデータに操作・変換するものである。
(1)ビデオフレームがキャプチャされた後の適応的なビデオフレームドロップ
ビデオフレーム速度は、1秒につき処理されるビデオフレームの数として定義される。一般的に、ビデオフレーム速度は、様々な/変化するCPUの使用およびチャネル帯域幅に適合することが望ましい。したがって、一般的に、ビデオフレームは、決められたビデオフレーム速度でキャプチャされることが望ましい。しかしながら、数多くの異なる既存のプラットフォーム、および、ばらつきのある装置のために、装置が正確かつ動的にビデオフレームのキャプチャ速度を制御することは、常に可能だとは限らない。これは、1つには、いくつかの装置および/またはプラットフォームは、正確なビデオフレーム速度を提供する明示的なAPIを提供するものではないためであり、いくつかの装置および/またはプラットフォームは、カメラフレームのキャプチャ中に中断やちらつきを発生させることなくカメラフレームの速度設定を動的に変化させることはできない。
したがって、ある時点での目標ビデオフレーム速度がその時点でのカメラキャプチャビデオフレーム速度より低い状況において、実施形態では、変化する目標ビデオフレーム速度を達成しつつ、キャプチャされるビデオフレームが等しくペース配分されるようなビデオフレームドロップの方法を提供する。いくつかの状況において、カメラキャプチャビデオフレーム速度は、異なるCPU使用条件および/または異なる照明条件によって変動することがある。さらに、別の状況においては、目標ビデオフレーム速度は、端末間の使用感が良好なものとなるようにするために変動することがある。たとえば、変動するネットワーク状態や、各装置および/またはその相手装置のCPU使用条件に適応することにより変動する。
1つのビデオフレームの「目標時間インスタンス」は、目標ビデオフレーム速度を最良に達成するようにビデオフレームを処理しなければならないときの時間インスタンスとして定義される。一方、「キャプチャ時間インスタンス」は、ビデオフレームがキャプチャされている時の時間インスタンスとして定義される。一実施形態においては、目標時間インスタンスは新たにキャプチャされる全てのビデオフレームごとに更新される。ビデオの、キャプチャされたビデオフレームについてのキャプチャ時間インスタンスに関連付けられている履歴データを用いて、次にキャプチャされるビデオフレームについてキャプチャ時間インスタンスが推定される。ビデオフレームについての目標時間インスタンスが、現在のキャプチャ時間インスタンスに近い(閾値を満たすおよび/または超過する)場合には、新たにキャプチャされるビデオフレームが保持される。そうでない場合には、新たにキャプチャされるビデオフレームはドロップされる(スキップされる)。
実施形態では、適応的で積極的なビデオフレームのドロップを促進することにより、安定したペースでのビデオフレームの伝達が可能となる。キャプチャされるビデオフレームが多すぎる(ビデオフレームのキャプチャが速すぎる)と、キャプチャの段階でビデオフレームのドロップが必要になる。たとえば、ネットワークの混雑が起こり、Iフレームが失われる。これらのIフレームを失うことは、IDRの再度の翻訳を引き起こし、より多くの混雑が引き起こされる。どのビデオフレームが喪失されるのかが確かではないので、ビデオフレームのきまぐれなドロップは危険である。実施形態では、ビデオフレームを積極的にドロップする。
図2は、ビデオフレームを積極的にドロップするための装置202を示す図である。本明細書に説明されるように、装置202は、少なくともコンピュータと接続された以下の部品、ビデオフレームキャプチャ時間スタンプ記録器215と、ビデオフレームキャプチャ時間スタンプ関連付け器220と、ビデオフレームキャプチャ時間スタンプ比較器235と、ビデオフレームドロップ器250を含むビデオフレーム操作器245、を含む。様々な実施形態において、ここに説明されるように、装置202は、コンピュータと接続された以下の部品、ビデオフレーム送信器255と、ビデオフレーム目標時間スタンプ更新器265と、ビデオフレームキャプチャ時間スタンプ推定器270と、のうちのいずれかを任意に含む。
ビデオフレームキャプチャ時間スタンプ記録器215は、第1の装置200にキャプチャされるビデオフレーム205のためのビデオフレームキャプチャ時間スタンプ210を記録する。様々な実施形態において、第1の装置200は、別の装置(第2の装置260)にビデオを伝達することが可能な装置である。ビデオフレームキャプチャ時間スタンプ関連付け器220は、ビデオフレームキャプチャ時間スタンプ210を、キャプチャされるビデオフレーム205に関連付ける。ビデオフレームキャプチャ時間スタンプ比較器235は、ビデオフレームキャプチャ時間スタンプ210を、ビデオフレーム205のためのビデオフレームキャプチャ目標時間スタンプ240と比較する。ビデオフレームキャプチャ目標時間スタンプ240は、ビデオフレーム210のキャプチャが望ましい時間を示す。
ビデオフレーム操作器245は、ビデオフレームキャプチャ時間スタンプ210とビデオフレームキャプチャ目標時間スタンプ240との間の時間差に応じて、ビデオフレーム210を操作する。ビデオフレーム操作器245は、ビデオフレームドロップ器250を含む。ビデオフレームキャプチャ時間スタンプ210とビデオフレームキャプチャ目標時間スタンプ240との間の時間差が所定の時間値の範囲外にある場合、ビデオフレームドロップ器250は、ビデオフレーム205をドロップする。
ビデオフレームキャプチャ時間スタンプ210とビデオフレームキャプチャ目標時間スタンプ240との間の時間差が所定の時間値の範囲内にある場合、ビデオフレーム送信器255は、ビデオフレームキャプチャ時間スタンプ210およびビデオフレーム205を、第1の装置200から第2の装置260に送信する。
ビデオフレーム目標時間スタンプ更新器265は、後続してキャプチャされるビデオフレームに関連付けられる後続のビデオフレーム目標時間スタンプを更新する。したがって、ビデオフレーム205の後にキャプチャされるあらゆるビデオフレームは、後続してキャプチャされるビデオフレームであると考えられる。あらゆる後続してキャプチャされるビデオフレームは、ビデオフレームキャプチャ時間スタンプを受信し、ビデオフレーム目標時間スタンプに関連付けられる。新しいビデオフレームがキャプチャされる度に、このビデオフレームキャプチャ目標時間スタンプは、新しいビデオフレームのキャプチャが望ましい新たな目標時間を反映するように変更される。
ビデオフレームキャプチャ時間スタンプ推定器270は、後続してキャプチャされるビデオフレームのために、上記の後続のビデオフレームキャプチャ時間スタンプを推定し、その推定は、ビデオフレームキャプチャ履歴データに基づくものである。ビデオフレームキャプチャ履歴データは、以下のもの: 以前のすべてのビデオフレームキャプチャ目標時間スタンプ、および、以前のすべてのビデオフレームキャプチャ時間スタンプ、のうちの少なくともいずれかを含み得る。
図3Aおよび3Bは、実施形態に係る、ビデオフレームを積極的にドロップするための方法の流れ図である。一実施形態における過程305では、本明細書に記載されているように、第1の装置にキャプチャされるビデオフレームのキャプチャ時間スタンプが記録される。一実施形態における過程310では、本明細書に記載されているように、ビデオフレームキャプチャ時間スタンプは、キャプチャされるビデオフレームと関連付けられる。一実施形態における過程315において、本明細書に記載されているように、ビデオフレームキャプチャ時間スタンプは、ビデオフレームのビデオフレームキャプチャ目標時間スタンプと比較される。一実施形態における過程320では、本明細書に記載されているように、過程315での比較に基づいて、ビデオフレームキャプチャ時間スタンプとビデオフレームキャプチャ目標時間スタンプとの間の時間差が所定の時間値の範囲外である場合、ビデオフレームはドロップされる。
ここで図3Bを参照すると、一実施形態における過程325では、本明細書に記載されているように、過程315での比較に基づいて、ビデオフレームキャプチャ時間スタンプとビデオフレームキャプチャ目標時間スタンプとの間の時間差が所定の時間値の範囲内にある場合、ビデオフレームキャプチャ時間スタンプおよびビデオフレームが第1の装置から第2の装置に送信される。
一実施形態における過程330では、本明細書に記載されているように、後続してキャプチャされるビデオフレームに関連付けられた後続のビデオフレーム目標時間スタンプが更新される。一実施形態における過程330では、本明細書に記載されているように、後続してキャプチャされるビデオフレームの後続のビデオフレームキャプチャ時間スタンプが推定され、その推定は、ビデオフレームキャプチャ履歴データに基づくものである。
(2)パケットスケジュール制御を促進するための、ビデオフレーム符号化の前の適応的なビデオフレームドロップ
ビデオ符号化は、デジタルビデオファイルを、1つの形式から別の形式に変換する過程である。コンピュータ、タブレット、携帯電話、およびセットトップボックス上で閲覧されるビデオはすべて、元の「ソース」ビデオをこれらの装置上で視聴可能なように変換するための符号化過程を経なければならない。異なる装置およびブラウザが異なるビデオ形式を支持するため、符号化が必要である。本過程は、時に「コード変換」あるいは「ビデオ変換」と呼ばれる。
デジタルビデオの異なる形式は、コンテナ(たとえば、.MOV、.FLV、.MP4、.OGG、.WMV、WebM)、コーデック(たとえば、H264、VP6、ProRes)、およびビット速度(たとえば、メガビットまたはキロビット/秒で)のような特定の変数を有し得る。異なる装置およびブラウザは、これらの変数に関する異なる仕様を有する。
ネットワークのサービス品質(QoS)層は、瞬間チャネル帯域幅、往復時間、ジッタ、パケット喪失などの観点で変化するネットワーク状態を監視する。そして、ネットワークQoS層は、リアルタイムで監視される情報をビデオ符号化器にフィードバックする。
パケット送信を全体わたって最大化するために、チャネル状態がこれを許容する場合はいつも、リーキーバケット機構が導入され、ネットワークに押し込まれるパケットをスケジュールする。しかしながら、リアルタイムでの伝達では、ビデオパケットは、ディレイの制約なくしてバッファされ得ない。ネットワークの混雑が起きている際には、端末間のディレイの制約を満たすためにパケットのドロップを招くことや、制御パケットまたは音声パケットなどのより高い優先順位のパケットに対して、限られたチャネル帯域幅を譲ることも避けられない。
ドロップされるビデオパケットが参照用に用いられるビデオフレームの一部である場合、ビデオ符号化の性質上、ビデオの流れを再開するために、ビデオパケットのドロップは、同期させるビデオフレームの符号化が必要となることがある。
フレームは、既知の時間間隔の間にキャプチャされる完全な画像であり、フィールドは、部分画像を構成する奇数行または偶数行の走査線のセットである。ビデオが、飛び越し走査形式で送信される際、各フレームは、偶数行のフィールドが後続の奇数行のフィールドとして送信される。
他のフレームを予測する参照用に用いられるフレームは、参照フレームと呼ばれる。ビデオ圧縮において用いられる少なくとも3つの型の画像(あるいは参照フレーム)、Iフレーム、PフレームおよびBフレームが存在する。この分類では、他のフレームからの予測なしで符号化されるフレームはIフレームと呼ばれ、単一参照フレーム(あるいは各領域の予測のための単一フレーム)からの予測を用いるフレームはPフレームと呼ばれ、2つの参照フレームの平均(加重平均でもあり得る)として形成される予測信号を用いるフレームはBフレームと呼ばれる。
Iフレームは、「イントラ符号化された画像」であり、従来の静止画像ファイルのように、実際上完全に特定される1つの画像である。PフレームおよびBフレームは、画像情報の一部のみを保持するため、Iフレームより記憶するのに必要な領域が少なくてすむので画像圧縮率が向上する。
Pフレーム(「予測される画像」)は前フレームからの画像における変化のみを保持する。たとえば、自動車が静止した背景を横切って移動する場面においては、自動車の動きのみが符号化の必要がある。符号化器は、Pフレーム中の変化しない背景画素を記憶する必要はないため、領域を節約する。Pフレームはまた、デルタフレームとしても知られている。
Bフレーム(「両予測的な画像」)は、その内容を特定するために、現在のフレームと、先行および後続のフレームの両方との間の差を用いることによって、さらにより多くの領域を節約する。
同期させるビデオフレームは、参照用として認められたビデオフレームを用いるPフレームか、あるいは、I/IDRフレームのいずれかである。この同期させるビデオフレームは、符号化される以前のビデオフレームの符号化から独立しており、以前のビデオパケットのドロップに伴うエラーの伝播を止めることができる。その同期させるビデオフレーム、特にIDRフレームは、通常大きなビデオフレームサイズとなる。この大きなビデオフレームサイズは、そのような大きなビデオフレームサイズを、そのまま完全な形で送らなければならないという問題を創出するだけでなく、より多くの帯域幅を消費し、既に悪くなっている可能性のあるネットワーク状態に負担を追加することとなる。そのような大きなビデオフレームのいずれかのビデオパケットがドロップされる場合には、同期させる別のビデオフレームが挿入されなければならない。
実施形態では、符号化が行われる前にビデオフレームをドロップさせ、そのビデオフレームのドロップはビデオパケットスケジュールにより促進される。それにより、同期させる大きなビデオフレームサイズのビデオフレームの挿入が回避される。より具体的には、実施形態では、符号化が行われる前に適応的なフレームドロップを組み込むビデオパケットスケジュール制御機構が提供される。ビデオパケットは、コンピュータネットワークによって伝搬されるビデオデータのフォーマットの単位である。メディア層中のビデオ符号化器がコンピュータネットワーク層からのビデオパケットスケジュールの詳細な状態を認識している場合、ビデオ符号化器は、符号化の前にビデオフレームを積極的にドロップし、それにより、無益な符号化後の後続パケットのドロップが回避される。符号化の前の1つのビデオフレームのドロップは、他のビデオフレームの符号化から独立しているため、それにより、同期させる大きなサイズのビデオフレームの挿入を有効に回避できる。
パケットスケジュールの詳細に関するフィードバック情報は通信されてもよく、送信バッファは符号化の前に実行されてもよい。送信バッファは、実際のビデオフレームバッファリングの代わりに、ビデオフレームドロップの決定を促進するために用いられる。送信バッファサイズは、平均符号化ビット速度を抑制するために、時間窓によって操作される目標ビット速度によって決定され得るものである。送信バッファの送信バッファ占有量は、符号化されるビデオフレームビットによって増加され、リアルタイム送信ビット速度によって低減される。
ビデオパケットスケジュールを促進するために、送信バッファ占有量は、コンピュータネットワーク層中のパケットスケジュールバッファ状態によってさらに制約される。たとえば、ビデオパケットスケジュールバッファが、ネットワークの混雑のために少なくとも1つのパケットをドロップしなければならない寸前であることを示す場合、十分なバッファ領域が次の新しいビデオフレームの符号化のために残されないように、送信バッファはその占有量を増加させ、これにより、適切なビデオフレームドロップが実現する。
実施形態のさらなる利点として、符号化前の、ドロップ予定のビデオフレームをドロップすることにより、CPU時間が節約されることがある。次のビデオフレームをドロップするべきかどうかをより正確に予測するために、履歴データが、符号化前にビデオフレームサイズをより精密に予測するのに用いられる。たとえば、IフレームあるいはPビデオフレーム型などの異なるビデオフレーム型に基づいてビデオフレームサイズが予測される場合、直近の数のIビデオフレームサイズおよび/またはPビデオフレームサイズの平均が用いられてもよい。
したがって、実施形態では、オーバーシュートの回避が可能となっている。たとえば、符号化器が100kフレーム/秒を生成することが望ましい場合、符号化器はその代わりに200kフレーム/秒を生成し、符号化器のオーバーシュートを発生させる。この200kフレーム/秒がルータに送信された場合、これはあまりにも大きくてネットワークの混雑を創出するため、ルータはそれを送信しないと考えられる。一実施形態においては、ビデオフレームは符号化内でドロップされる。たとえば、符号化器はビデオフレームを符号化し、次に符号化器オーバーシュートを発生させてもよい。符号化器はこのビデオフレームをドロップし、次のビデオフレームを生成し得る。基本的に、符号化器はその以前の状態に戻って、次のビデオフレームを符号化しようとする。(この例は、符号化器内でのドロップと考えられる。)または、ネットワークが、ビデオフレームを符号化器に全く送信しないように伝達経路に命じてもよい。
図4は、実施形態に係る、ビデオフレームを積極的にドロップするためのビデオフレームパケットスケジュール制御機構400を示す図である。ビデオフレームパケットスケジュール制御機構400は、以下に記載されるように、コンピュータと連結した以下の部品、ビデオフレームパケットスケジュールバッファアクセサ415と、ビデオフレームパケットスケジュールバッファ状態受信器420と、および送信バッファ占有量調整器425と、を含む。様々な実施形態において、本明細書に記載されているように、コンピュータに連結したビデオフレームパケットスケジュール制御機構400は、ビデオフレームサイズ予測器435と、ビデオフレームサイズ範囲値決定器440と、を任意に含む次のビデオフレームドロップ器430を任意に含む。
ビデオフレームパケットスケジュールバッファ状態アクセサ415は、コンピュータネットワーク層450内のビデオフレームパケットスケジュールバッファ405にアクセスする。ビデオフレームパケットスケジュールバッファ状態受信器420は、ビデオフレームパケットスケジュールバッファ405のビデオフレームパケットスケジュールバッファ状態を受信する。ビデオフレームパケットスケジュールバッファ状態は、ネットワークの混雑のために、ビデオフレームパケットスケジュールルバッファ405がビデオフレームパケットをドロップする寸前であることを示し、ビデオフレームパケットは、少なくとも1つのビデオフレームを含む。ネットワークがひどく混雑する状況では、ネットワーク上の現在のトラフィックおよび/または予測されるトラフィックは、ネットワークが負担できる以上であると予測され、ビデオフレームがドロップされるというメッセージを引き起こす。
送信バッファ占有量調整器425は、上記の少なくとも1つのビデオフレームのうちの1つのビデオフレームの符号化が行われる前に次のビデオフレームがドロップされるよう、上記の少なくとも1つのビデオフレームの次のビデオフレームを符号化するには送信バッファ445内に十分なバッファ領域が残っていないようにするために、送信バッファ445の送信バッファ占有量を増加させる。
次のビデオフレームドロップ器430は、次のビデオフレームのために送信バッファ内に十分な余裕が存在しない場合、符号化の前に次のビデオフレームをドロップする。本明細書で言及されるように、次のビデオフレームドロップ器430は、ビデオフレームサイズ予測器435およびフレームサイズ範囲値決定器440を任意に含む。ビデオフレームサイズ予測器435は、ビデオフレーム履歴データを用いて、次のビデオフレームのサイズを予測し、それにより、該次のビデオフレーム455の予測されるサイズを得る。ビデオフレームサイズ範囲値決定器440は、次のビデオフレーム455の予測されたサイズが、所定の範囲外にあるかどうかを決定する。
図5は、ビデオフレームを積極的にドロップする方法の流れ図を示す図である。一実施形態における過程505では、本明細書に記載されているように、コンピュータネットワーク層中のビデオフレームパケットスケジュールバッファがアクセスされる。一実施形態における過程510では、本明細書に記載されているように、ビデオフレームパケットスケジュールバッファのビデオフレームパケットスケジュールバッファ状態が受信され、ビデオフレームパケットスケジュールバッファ状態は、ネットワークの混雑のために、ビデオフレームパケットスケジュールルバッファがビデオフレームパケットをドロップする寸前であることを示し、ビデオフレームパケットは少なくとも1つのビデオフレームを含む。
一実施形態における過程515では、本明細書に記載されているように、少なくとも1つのビデオフレームの符号化が行われる前に次のビデオフレームがドロップされるよう、少なくとも1つのビデオフレームの次のビデオフレームを符号化するには送信バッファ内に十分なバッファ領域が残っていないようにするために、送信バッファの送信バッファ占有量が増加させられる。
一実施形態における過程520では、本明細書に記載されているように、次のビデオフレームのために送信バッファ内に十分な余裕が存在しない場合、次のビデオフレームは、符号化の前にドロップされる。一実施形態においては、過程520でのドロップは、次のビデオフレームの予測サイズを得るために、ビデオフレーム履歴データを用いて次のビデオフレームのサイズを予測することと、次のビデオフレームの予測サイズが所定のサイズ値の範囲外にある場合、符号化が行われる前に次のビデオフレームがドロップされることと、を含む。
一実施形態における過程525では、本明細書に記載されているように、次のビデオフレームのために送信バッファに十分な余裕が存在する場合、次のビデオフレームは符号化のために送信される。一実施形態においては、過程525での送信は、予測される次のビデオフレームサイズを得るために、ビデオフレーム履歴データを用いて次のビデオフレームのサイズを予測することと、次のビデオフレームサイズが所定の範囲内のサイズ値である場合、符号化のために次のビデオフレームを送信することと、を含む。
(3) ビデオフレームレンダリング前の動的ビデオフレームドロップ
ビデオフレームがキャプチャされたのとほぼ同一のペースでビデオフレームをレンダリングすることが一般的に望ましい。この場合、ユーザが感じる主観的見栄えが可能な限り最良のものとなる。しかしながら、ビデオ前処理および/または後処理、ビデオ符号化および/またはビデオ復号化、パケットスケジュール、ネットワーク遅延などを含む端末間の遅延や、装置レンダリング能力といった点では、連続するビデオフレーム間において大きく変動する。適切なビデオフレームレンダリング制御なしでは、ビデオフレームレンダリングの際に、ビデオフレームジャーキネスおよび/または許容しがたい長い遅延が観察されることがあり、それにより、不満足なビデオを得ることとなる。
実施形態では、許容しがたい端末間の遅延を回避するために、適応的なビデオフレームレンダリングスケジュールパラダイムを用いて、ビデオレンダリング中のジャーキネスを平滑にし、ビデオフレームを適応的にドロップする。適応的なビデオフレームレンダリングスケジュールパラダイムは、あらゆるビデオフレームにマークされるビデオフレームキャプチャ時間スタンプ、およびビデオフレーム符号化器とビデオフレームレンダリング器との間のビデオフレームバッファを用いる。(時間スタンプはあらゆるビデオフレームに添付される。この概念[適応的なビデオフレームドロップ/ビデオキャプチャの後のペース配分]、および以下に記載される概念[ビデオフレームレンダリング前の動的ビデオフレームドロップ]の両方は、あらゆるビデオフレームに付けられた時間スタンプに基づく。ビデオフレームが再生される際、そのビデオフレームに関連付けられる時間スタンプは、ビデオおよび音声が整合して良好な視聴が得られるようにするために、音声フレームと関連付けられる時間スタンプと整合されなければならない。)
適応的なビデオフレームレンダリングスケジュールパラダイムにおいて、あらゆるビデオフレームは、キャプチャ時に時間スタンプと関連付けられる(ビデオフレームキャプチャ時間スタンプ)。ビデオフレームがレンダリングされるまで、このビデオキャプチャ時間スタンプは、ビデオフレーム処理伝達経路全体にわたって記憶される。
ビデオフレームキャプチャ時間スタンプは、以下の規則に従って目標ビデオフレームレンダリング時間スケジュールをスケジュールするために用いられる: (1)ビデオフレームがそのスケジュールよりも遅れる場合、ビデオフレームはすぐにレンダリングされる、(2)ビデオフレームがそのスケジュールより早い場合、ビデオフレームは、調整されたディレイでホールドされるべきであることと、および(3)ビデオフレームがそのスケジュールに遅れすぎる場合、それらはドロップされるべきであるが、ドロップは送信バッファのアンダーフローを伴わないこと(すなわち、バッファされるフレームがあるときに限り、ビデオフレームがドロップされる)。
上記の目標ビデオフレームレンダリング時間スケジュールは、以下の2つの時間間隔:(1)考慮対象の現在のビデオフレームに関連付けられる時間スタンプと、最初にキャプチャされるビデオフレームの時間スタンプ(すなわち、開始ビデオフレームのキャプチャ時間インスタンス)との間の時間間隔、(2)レンダリングの考慮対象である現在のビデオフレームの時間インスタンスと、開始ビデオフレームのレンダリング時間インスタンスとの間の時間間隔、の間の時間差を比較することによって決定される。
開始ビデオフレームのレンダリング時間インスタンスは、時間の経過とともに自動的に調整され、直近の目標ビデオフレームレンダリング時間スケジュールによって更新される。この調整および更新は、以下の規則: ビデオフレームがレンダリングされている場合はいつも、その最終ビデオフレームレンダリングスケジュールは、その元のビデオフレームキャプチャスケジュールと一致すると考える、に従ってなされる。
レンダリングの前の動的フレームドロップに関する実施形態では、モバイル装置でのみ連動する。
もし、10フレーム/秒が第2の装置(たとえば、受信器)に送信されるが、ビデオフレームレンダリング器は、5フレーム/秒の負荷のみを処理し得る場合には、レンダリング器が10フレーム/秒を発生させることを強要されると、長い待ち時間が発生し、音声およびビデオは同期しないことになる。
図6は、実施形態に係る、積極的なビデオフレームドロップのための装置605を示す図である。以下に記載されるように、装置605は、コンピュータと連結した以下の部品、ビデオフレームキャプチャ時間スタンプ記録器620と、ビデオフレームキャプチャ時間スタンプ関連付け器625と、時間差比較器640と、目標ビデオフレームレンダリング時間インスタンススケジュール器655と、を含む。
ビデオフレームキャプチャ時間スタンプ記録器620は、第1の装置600に最初にキャプチャされるビデオフレーム610のためのビデオフレームキャプチャ時間スタンプ615を記録する。換言すると、第1の装置600にキャプチャされる第1のビデオフレームは、ビデオフレームキャプチャ時間スタンプ615が記録されるためのものである。
ビデオフレームキャプチャ時間スタンプ関連付け器625は、ビデオフレームキャプチャ時間スタンプ615を、最初にキャプチャされるビデオフレーム610に関連付ける。
時間差比較器540は、第1の時間間隔と第2の時間間隔との間の時間差を比較する。第1の時間間隔645は、レンダリングの考慮対象である現在のビデオフレームに関連付けられた時間スタンプと、最初にキャプチャされるビデオフレームの時間スタンプの間の第1の時間差である。第2の時間間隔650は、レンダリングの考慮対象である現在のビデオフレームの時間インスタンスと、最初にキャプチャされるビデオフレームの開始ビデオフレームレンダリング時間インスタンスとの間の第2の時間差である。
目標ビデオフレームレンダリング時間インスタンススケジュール器655は、レンダリングの考慮対象である現在のビデオフレームの目標ビデオフレームレンダリング時間インスタンスを、ビデオフレームレンダリング規則660のセットに従ってスケジュールする。ビデオフレームレンダリング規則660のセットは、第1の時間間隔に応じた第2の間隔が維持される目標ビデオフレームレンダリング時間スケジュールを維持するという規則665を含む。
ビデオフレームレンダリング規則660のセットは、少なくとも1つのビデオフレームがそのスケジュールに遅れる場合、その少なくとも1つのビデオフレームがすぐにレンダリングされるという規則670と、少なくとも1つのビデオフレームがそのスケジュールより早い場合、その少なくとも1つのビデオフレームが、調整されたディレイでホールドされるという規則675と、少なくとも1つのビデオフレームがそのスケジュールに遅れすぎる場合、その少なくとも1つのビデオフレームがドロップされ、その少なくとも一つのビデオフレームのドロップは、送信バッファのアンダーフローを伴わないという規則680と、を含む。
図7は、実施形態にしたがって、ビデオフレームを積極的にドロップするための方法の流れ図である。一実施形態における過程705では、本明細書に記載されているように、第1の装置で最初にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプが記録される。一実施形態における過程710では、本明細書に記載されているように、ビデオフレームキャプチャ時間スタンプは、最初にキャプチャされるビデオフレームに関連付けられる。一実施形態における過程715では、本明細書に記載されているように、第1の時間間隔と第2の時間間隔との間の時間差が比較される。第1の時間間隔は、レンダリングの考慮対象である現在のビデオフレームに関連付けられたた時間スタンプと、最初にキャプチャされるビデオフレームの時間スタンプの間の第1の時間差である。第2の時間間隔は、レンダリングの考慮対象である現在のビデオフレームの時間インスタンスと、最初にキャプチャされるビデオフレームの開始ビデオフレームレンダリング時間インスタンスの間の第2の時間差である。
一実施形態における過程720では、本明細書に記載されているように、レンダリングの考慮対象である現在のビデオフレームの目標ビデオフレームレンダリング時間インスタンスは、第1の時間間隔に応じた第2の間隔が維持される目標ビデオフレームレンダリング時間スケジュールを維持することを含む、ビデオフレームレンダリング規則のセットに従ってスケジュールされる。
様々な実施形態において、方法300、500および700は、コンピュータ読取可能かつコンピュータ実行可能な命令の制御の下で、プロセッサおよび電気部品によって実行される。コンピュータ読取可能かつコンピュータ実行可能な命令は、たとえば、コンピュータ使用可能な揮発性および不揮発性メモリのようなデータ記憶媒体内に存在する。しかしながら、コンピュータ読取可能かつコンピュータ実行可能な命令は、任意の型のコンピュータ読取可能記憶媒体に存在し得る。いくつかの一実施形態においては、方法300、500および700は、装置800および/または装置900によって、より具体的には、図2〜10に記載されるように、装置202、ビデオフレームパケットスケジュール制御機構410、および/または装置605によって実行される。
図8および9は、ビデオ会議に参加する装置800および900を描写する。一般的に、ビデオ会議は、2つ以上の位置が多方向ビデオおよび音声送信を介して同時に対話することを可能にする。
注目すべきことに、装置202、ビデオフレームパケットスケジュール制御機構410、および/または装置605は、モバイル装置内で連結され、機能する。一実施形態においては、モバイル装置は、図10内の装置800に記載される部品を含む。装置800と900との間のビデオ会議の間の装置800の機能性は、図8および9を参照して以下に記載される。
装置800および900は、ビデオ会議に参加することができる任意の通信装置(たとえば、ラップトップ、デスクトップ、スマートフォン、タブレット、テレビなど)である。様々な実施形態において、装置900は、スマートフォン、携帯情報端末(PDA)などのような携帯型のモバイル装置である。
さらに、明瞭さと簡潔さのため、説明は装置800の部品および機能性に注目する。しかしながら、装置900は、装置800と類似の方法で動作する。一実施形態においては、装置900は、装置800と同一であり、装置800と同一の部品を含む。
一実施形態においては、本明細書に記載されているように、装置800は、次の、様々な実施形態における、装置202と、ビデオパケットスケジュール制御機構410と、装置605と、のうちのいずれにも様々に連結される。装置800および/または装置202、ビデオパケットスケジュール制御機構410、および/または装置605は、様々な実施形態において、以下の部品、実施形態に係る装置800のブロック図である図10に例示されるような、ディスプレイ1010と、送信器1040と、ビデオカメラ1050と、マイクロホン1052と、スピーカー1054と、命令記憶装置1025と、全地球測位システム1060と、にさらに連結される。
ディスプレイ810は、装置900にキャプチャされるビデオを表示するように構成される。別の実施形態においては、ディスプレイ810は、装置800にキャプチャされるビデオをさらに表示するように構成される。
送信器840はデータ(たとえば、制御コード)を送信するためのものである。
ビデオカメラ850は、装置800でビデオをキャプチャする。マイクロホン852は、装置800で音声をキャプチャする。スピーカー854は、装置800で音響信号を発生させる。
全地球測位システム860は、装置800の位置を決定する。
ここで図8Aおよび8Bを参照すると、実施形態に係る装置800および900は、互いとのビデオ会議に参加している。様々な実施形態において、2つを超える装置が互いとのビデオ会議に参加する。
ビデオ会議中に、ビデオカメラ950は、装置900にビデオをキャプチャする。たとえば、ビデオカメラ950は、装置900のユーザ905のビデオをキャプチャする。
ビデオカメラ850は、装置800にビデオをキャプチャする。たとえば、ビデオカメラ850は、ユーザ805のビデオをキャプチャする。ビデオカメラ850および950は、カメラ850および950のそれぞれの視野範囲内にある任意の対象をキャプチャし得ると理解されるべきである。(図9を参照する以下の説明を参照されたい。)
マイクロホン852は、キャプチャされるビデオ信号に対応する音声信号を装置800にキャプチャする。同様に、装置900のマイクロホンは、キャプチャされるビデオ信号に対応する音声信号を装置900にキャプチャする。
一実施形態においては、装置900にキャプチャされるビデオは、装置800のディスプレイ810に送信され、そこで表示される。たとえば、ユーザ905のビデオは、ディスプレイ810の第1の視野812上に表示される。さらに、ユーザ905のビデオは、ディスプレイ910の第2の視野914上に表示される。
装置800にキャプチャされるビデオは、装置900のディスプレイ910に送信され、そこで表示される。たとえば、ユーザ805のビデオはディスプレイ910の第1の視野912上に表示される。さらに、ユーザ805のビデオは、ディスプレイ810の第2の視野814上に表示される。
一実施形態においては、装置800および900にキャプチャされる音声信号は、キャプチャされるビデオに組みこまれる。別の実施形態においては、音声信号は送信されるビデオとは別に送信される。
描写されるように、第1の視野812は、ディスプレイ810上に表示される一次視野であり、第2の視野814は、ディスプレイ810上に表示されるより小さい二次視野である。様々な実施形態において、第1の視野812および第2の視野814の両方のサイズは調整可能である。たとえば、第2の視野814は一次視野まで拡大することができ、第1の視野112は二次視野(第2の視野)まで縮小することができる。さらに、第1の視野812および第2の視野814の視野のうちのいずれか1つは、閉じられてもよく、またはそれが見えないように完全に縮小することができる。
ここで図9を参照すると、装置900のユーザ905は、(彼自身または彼女自身の画像905をキャプチャする代わりに)橋梁960の画像をキャプチャしているところであり、それはビデオカメラ950の視野範囲内にある。橋梁の画像は、装置900の第2の視野914に、および装置800の第1の視野812に描写される。
本技術の原理、態様、および実施形態、ならびにその特定の実施例を列挙する本明細書の記述はすべて、その構造的および機能的等価物の両方を包含することを意図している。さらに、そのような等価物は、現在既知の等価物、および将来開発される等価物の両方、すなわち、構造に関わらず同一の機能を実行する開発された任意の構成要素を含むことを意図している。したがって、本技術の範囲は、本明細書に示され、記載される実施形態に限定されるものではない。むしろ、本技術の範囲および精神は、添付の特許請求の範囲によって具体化される。
当業者は、本明細書で言及される方法過程が、プロセッサと、少なくともキーボード、マウス、スキャナ、カメラを備える入力装置と、少なくともモニタ、プリンタを備える出力装置と、を含むが、これに限定されない、ハードウェアによって行われ得ることを理解するであろう。必要に応じて、方法過程は、適切な装置によって行われるべきである。たとえば、決定アルゴリズムを実装することによって、プロセッサ内の意思決定ユニットによって、決定過程が行われ得る。当業者は、この意思決定ユニットが、たとえばコンピュータのプロセッサ内で上述の決定アルゴリズムを行う際、物理的にまたは有効に存在し得ると理解するであろう。上記の分析は、本明細書に記載される他の過程に適用されるべきである。
本明細書に記載される構成要素、部分および過程の全ては、好適に含まれる。これらの構成要素、部分および過程のうちのどれも、当業者にとって明白であるように、他の構成要素、部分および過程によって代替され得る、または完全に除去され得ることが理解されるべきである。
[概念]
本文章は、少なくとも下記の概念を開示する。
概念1. コンピュータによって実行されて、該コンピュータに、ビデオフレームを積極的にドロップするための方法を実行させるコンピュータ実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
前記コンピュータによって、第1の装置でキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録することと、
前記コンピュータによって、前記ビデオフレームキャプチャ時間スタンプをキャプチャされる前記ビデオフレームに関連付けることと、
前記コンピュータによって、前記ビデオフレームキャプチャ時間スタンプを、前記ビデオフレームのビデオフレームキャプチャ目標時間スタンプと比較することと、
前記比較に基づいて、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレームキャプチャ目標時間スタンプとの間の時間差が所定の時間値の範囲外である場合、前記コンピュータによって、前記ビデオフレームをドロップすることと、を含む、非一時的コンピュータ可読記憶媒体。
概念2. 前記方法が、
前記比較に基づいて、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレームキャプチャ目標時間スタンプとの間の前記時間差が、前記所定の時間値の範囲内にある場合、前記コンピュータによって、前記ビデオフレームキャプチャ時間スタンプおよび前記ビデオフレームを、前記第1の装置から第2の装置に送信することをさらに含む、概念1に記載の非一時的コンピュータ可読記憶媒体。
概念3. 前記方法が、
前記コンピュータによって、後続してキャプチャされるビデオフレームと関連付けられる後続のビデオフレーム目標時間スタンプを更新することをさらに含む、概念1に記載の非一時的コンピュータ可読記憶媒体。
概念4. 前記方法が、
前記コンピュータによって、後続してキャプチャされるビデオフレームの後続のビデオフレームキャプチャ時間スタンプを推定することであって、前記推定することが、ビデオフレームキャプチャ履歴データに基づき推定することをさらに含む、概念1に記載の非一時的コンピュータ可読記憶媒体。
概念5. 第1の装置にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録するように構成された、コンピュータと連結したビデオフレームキャプチャ時間スタンプ記録器と、
前記ビデオフレームキャプチャ時間スタンプを、キャプチャされる前記ビデオフレームと関連付けるように構成された、前記コンピュータと連結したビデオフレームキャプチャ時間スタンプ関連付け器と、
前記ビデオフレームキャプチャ時間スタンプを、前記ビデオフレームのビデオフレーム目標時間スタンプと比較するように構成された、前記コンピュータと連結したビデオフレームキャプチャ時間スタンプ比較器と、
前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレーム目標時間スタンプとの間の時間差に応じて前記ビデオフレームを操作するように構成された、前記コンピュータと連結したビデオフレーム操作器であって、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレーム目標時間スタンプとの間の前記時間差が所定の時間値の範囲外である場合、前記ビデオフレームをドロップするように構成されたビデオフレームドロップ器を含むビデオフレーム操作器と、を含む、ビデオフレームを積極的にドロップするための装置。
概念6. 前記ビデオフレーム情報送信器が、
前記比較に基づいて、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレーム目標時間スタンプとの間の時間差が、前記所定の値の範囲内にある場合、前記ビデオフレームキャプチャ時間スタンプおよび前記ビデオフレームを、前記第1の装置から第2の装置に送信するように構成されたビデオフレーム送信器、をさらに含む、概念5に記載の装置。
概念7. 後続してキャプチャされるビデオフレームと関連付けられる後続のビデオフレーム目標時間スタンプを更新するように構成された、前記コンピュータと連結したビデオフレーム目標時間スタンプ更新器、をさらに含む、概念5に記載の装置。
概念8. 後続してキャプチャされるビデオフレームの後続のビデオフレームキャプチャ時間スタンプを推定するように構成された、前記コンピュータと連結したビデオフレームキャプチャ時間スタンプ推定器であって、前記推定することがビデオフレームキャプチャ履歴データに基づくものであるビデオフレームキャプチャ時間スタンプ推定器、をさらに含む、概念5に記載の装置。
概念9. コンピュータによって実行されて、該コンピュータに、ビデオフレームを積極的にドロップするための方法を実行させるコンピュータ実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
前記コンピュータによって、コンピュータネットワーク層内のビデオフレームパケットスケジュールバッファにアクセスすることと、
前記コンピュータによって、前記ビデオフレームパケットスケジュールバッファのビデオフレームパケットスケジュールバッファ状態を受信することであって、前記ビデオフレームパケットスケジュールバッファ状態が、前記ビデオフレームパケットスケジュールバッファが、ネットワークの混雑のためにビデオフレームパケットをドロップする寸前であることを示すものであり、前記ビデオフレームパケットが、少なくとも1つのビデオフレームを含むものである、受信することと、
前記少なくとも1つのビデオフレームのビデオフレームを符号化が行われる前に前記次のビデオフレームがドロップされるよう、前記少なくとも1つのビデオフレームの次のビデオフレームを符号化するには十分なバッファ領域が前記送信バッファ内に残っていないようにするために、前記コンピュータによって、送信バッファの送信バッファ占有量を増加させることと、を含む、非一時的コンピュータ可読記憶媒体。
概念10. 前記方法が、
前記コンピュータによって、前記次のビデオフレームのために十分な余裕が前記送信バッファ内に存在しない場合、符号化の前に、前記次のビデオフレームをドロップすることをさらに含む、概念9に記載の非一時的コンピュータ可読記憶媒体。
概念11. 前記コンピュータによって、符号化の前に、前記次のビデオフレームを前記ドロップすることが、
前記次のビデオフレームの予測サイズを得るために、ビデオフレーム履歴データを用いて前記次のビデオフレームのサイズを予測することと、
前記次のビデオフレームの前記予測サイズが所定のサイズ値の範囲外にある場合、前記符号化が行われる前に、前記次のビデオフレームをドロップすることと、を含む、概念10に記載の非一時的コンピュータ可読記憶媒体。
概念12. 前記方法が、
前記コンピュータによって、前記次のビデオフレームのために十分な余裕が前記送信バッファ内に存在する場合、前記符号化のために前記次のビデオフレームを送信することをさらに含む、概念9に記載の非一時的コンピュータ可読記憶媒体。
概念13. 前記コンピュータによって、前記符号化のために前記次のビデオフレームを前記送信することが、
予測される次のビデオフレームのサイズを得るために、ビデオフレーム履歴データを用いて前記次のビデオフレームのサイズを予測することと、
前記次のビデオフレームの予測サイズが所定のサイズ値の範囲内にある場合、前記符号化のために前記次のビデオフレームを送信することと、を含む、概念12に記載の非一時的コンピュータ可読記憶媒体。
概念14. コンピュータネットワーク層内のビデオフレームパケットスケジュールバッファにアクセスするように構成された、コンピュータと連結したビデオフレームパケットスケジュールバッファアクセサと、
前記ビデオフレームパケットスケジュールバッファのビデオフレームパケットスケジュールバッファ状態を受信するように構成された、前記コンピュータと連結したビデオフレームパケットスケジュールバッファ状態受信器であって、前記ビデオフレームパケットスケジュールバッファ状態が、前記ビデオフレームパケットスケジュールバッファがネットワークの混雑のためにビデオフレームパケットをドロップする寸前であることを示すものであり、前記ビデオフレームパケットが少なくとも1つのビデオフレームを含むものである、ビデオフレームパケットスケジュールバッファ状態受信器と、
前記少なくとも1つのビデオフレームのビデオフレームを符号化が行われる前に前記次のビデオフレームがドロップされるよう、前記少なくとも1つのビデオフレームの次のビデオフレームを符号化するには十分なバッファ領域が前記送信バッファ内に残っていないようにするために、送信バッファの送信バッファ占有量を増加させるように構成された、前記コンピュータと連結した送信バッファ占有量調整器と、を含む、ビデオフレームを積極的にドロップするためのビデオフレームパケットスケジュール制御機構。
概念15. 前記次のビデオフレームのために十分な余裕が前記送信バッファ内に存在しない場合、符号化の前に、前記次のビデオフレームをドロップするように構成された、前記コンピュータと連結した次のビデオフレームドロップ器、をさらに含む、概念14に記載のビデオフレームパケットスケジュール制御機構。
概念16. 前記次のビデオフレームドロップ器が、
前記次のビデオフレームの予測サイズを得るために、ビデオフレーム履歴データを用いて前記次のビデオフレームのサイズを予測するように構成された、ビデオフレームサイズ予測器と、
前記予測サイズが所定のサイズ値の範囲外にあるかどうかを決定するように構成された、ビデオフレームサイズ値の範囲決定器と、を含む、概念15に記載のビデオフレームパケットスケジュール制御機構。
概念17. コンピュータによって実行されて、該コンピュータに、ビデオフレームを積極的にドロップするための方法を実行させるコンピュータ実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
第1の装置にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録することと、
前記ビデオフレームキャプチャ時間スタンプを、最初にキャプチャされる前記ビデオフレームに関連付けることと、
レンダリングの考慮対象である現在のビデオフレームと関連付けられる時間スタンプと最初にキャプチャされる前記ビデオフレームの時間スタンプとの間の第1の時間差である第1の時間間隔と、レンダリングの考慮対象である前記現在のビデオフレームの時間インスタンスと最初にキャプチャされる前記ビデオフレームの開始ビデオフレームレンダリング時間インスタンスとの間の第2の時間差である第2の時間間隔との間の時間差を比較することと、
レンダリングの考慮対象である前記現在のビデオフレームの目標ビデオフレームレンダリング時間インスタンスを、ビデオフレームレンダリング規則のセットに従ってスケジュールすることであって、ビデオフレームレンダリング規則の前記セットが、前記第1の時間間隔に応じた第2の間隔が維持される目標ビデオフレームレンダリング時間スケジュールを維持することを含むものである、スケジュールすることと、を含む、非一時的コンピュータ可読記憶媒体。
概念18. 第1の装置に最初にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録するように構成された、コンピュータと連結したビデオフレームキャプチャ時間スタンプ記録器と、
前記ビデオフレームキャプチャ時間スタンプを最初にキャプチャされる前記ビデオフレームに関連付けるように構成された、コンピュータと連結したビデオフレームキャプチャ時間スタンプ関連付け器と、
レンダリングの考慮対象である現在のビデオフレームと関連付けられるキャプチャ時間スタンプと最初にキャプチャされる前記ビデオフレームのキャプチャ時間スタンプとの間の第1の時間差である第1の時間間隔と、レンダリングの考慮対象である前記現在のビデオフレームの時間インスタンスと最初にキャプチャされる前記ビデオフレームの開始ビデオフレームレンダリング時間インスタンスとの間の第2の時間差である第2の時間間隔との間の時間差を比較するように構成された、コンピュータと連結した時間差比較器と、
レンダリングの考慮対象である前記現在のビデオフレームの目標ビデオフレームレンダリング時間インスタンスを、ビデオフレームレンダリング規則のセットに従ってスケジュールするように構成された、コンピュータと連結した目標ビデオフレームレンダリング時間インスタンススケジュール器であって、前記ビデオフレームレンダリング規則が、前記第1の時間間隔に応じた第2の間隔が維持される目標ビデオフレームレンダリング時間スケジュールを維持することを含むものである、スケジュールすることと、を含む、ビデオフレームを積極的にドロップするための装置。
概念19. 前記ビデオフレームレンダリング規則が、
少なくとも1つのビデオフレームは、該少なくとも1つのビデオフレームがそのスケジュールに遅れる場合、すぐにレンダリングされることを含む、概念18に記載の装置。
概念20. 前記ビデオフレームレンダリング規則が、
少なくとも1つのビデオフレームは、そのスケジュールより早い場合、調整されたディレイでホールドされることを含む、概念18に記載の装置。
概念21. 前記ビデオフレームレンダリング規則が、
少なくとも1つのビデオフレームは、そのスケジュールに遅れすぎる場合、送信バッファのアンダーフローを伴うことなくドロップされることを含む、概念18に記載の装置。

Claims (21)

  1. コンピュータによって実行されて、該コンピュータに、ビデオフレームを積極的にドロップするための方法を実行させるコンピュータ実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
    前記コンピュータによって、第1の装置でキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録することと、
    前記コンピュータによって、前記ビデオフレームキャプチャ時間スタンプをキャプチャされる前記ビデオフレームに関連付けることと、
    前記コンピュータによって、前記ビデオフレームキャプチャ時間スタンプを、前記ビデオフレームのビデオフレームキャプチャ目標時間スタンプと比較することと、
    前記比較に基づいて、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレームキャプチャ目標時間スタンプとの間の時間差が所定の時間値の範囲外である場合、前記コンピュータによって、前記ビデオフレームをドロップすることと、を含む、非一時的コンピュータ可読記憶媒体。
  2. 前記方法が、
    前記比較に基づいて、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレームキャプチャ目標時間スタンプとの間の前記時間差が、前記所定の時間値の範囲内にある場合、前記コンピュータによって、前記ビデオフレームキャプチャ時間スタンプおよび前記ビデオフレームを、前記第1の装置から第2の装置に送信することをさらに含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
  3. 前記方法が、
    前記コンピュータによって、後続してキャプチャされるビデオフレームと関連付けられる後続のビデオフレーム目標時間スタンプを更新することをさらに含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
  4. 前記方法が、
    前記コンピュータによって、後続してキャプチャされるビデオフレームの後続のビデオフレームキャプチャ時間スタンプを推定することであって、前記推定することが、ビデオフレームキャプチャ履歴データに基づき推定することをさらに含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
  5. 第1の装置にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録するように構成された、コンピュータと連結したビデオフレームキャプチャ時間スタンプ記録器と、
    前記ビデオフレームキャプチャ時間スタンプを、キャプチャされる前記ビデオフレームと関連付けるように構成された、前記コンピュータと連結したビデオフレームキャプチャ時間スタンプ関連付け器と、
    前記ビデオフレームキャプチャ時間スタンプを、前記ビデオフレームのビデオフレーム目標時間スタンプと比較するように構成された、前記コンピュータと連結したビデオフレームキャプチャ時間スタンプ比較器と、
    前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレーム目標時間スタンプとの間の時間差に応じて前記ビデオフレームを操作するように構成された、前記コンピュータと連結したビデオフレーム操作器であって、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレーム目標時間スタンプとの間の前記時間差が所定の時間値の範囲外である場合、前記ビデオフレームをドロップするように構成されたビデオフレームドロップ器を含むビデオフレーム操作器と、を含む、ビデオフレームを積極的にドロップするための装置。
  6. 前記ビデオフレーム情報送信器が、
    前記比較に基づいて、前記ビデオフレームキャプチャ時間スタンプと前記ビデオフレーム目標時間スタンプとの間の時間差が、前記所定の値の範囲内にある場合、前記ビデオフレームキャプチャ時間スタンプおよび前記ビデオフレームを、前記第1の装置から第2の装置に送信するように構成されたビデオフレーム送信器、をさらに含む、請求項5に記載の装置。
  7. 後続してキャプチャされるビデオフレームと関連付けられる後続のビデオフレーム目標時間スタンプを更新するように構成された、前記コンピュータと連結したビデオフレーム目標時間スタンプ更新器、をさらに含む、請求項5に記載の装置。
  8. 後続してキャプチャされるビデオフレームの後続のビデオフレームキャプチャ時間スタンプを推定するように構成された、前記コンピュータと連結したビデオフレームキャプチャ時間スタンプ推定器であって、前記推定することがビデオフレームキャプチャ履歴データに基づくものであるビデオフレームキャプチャ時間スタンプ推定器、をさらに含む、請求項5に記載の装置。
  9. コンピュータによって実行されて、該コンピュータに、ビデオフレームを積極的にドロップするための方法を実行させるコンピュータ実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
    前記コンピュータによって、コンピュータネットワーク層内のビデオフレームパケットスケジュールバッファにアクセスすることと、
    前記コンピュータによって、前記ビデオフレームパケットスケジュールバッファのビデオフレームパケットスケジュールバッファ状態を受信することであって、前記ビデオフレームパケットスケジュールバッファ状態が、前記ビデオフレームパケットスケジュールバッファが、ネットワークの混雑のためにビデオフレームパケットをドロップする寸前であることを示すものであり、前記ビデオフレームパケットが、少なくとも1つのビデオフレームを含むものである、受信することと、
    前記少なくとも1つのビデオフレームのビデオフレームを符号化が行われる前に前記次のビデオフレームがドロップされるよう、前記少なくとも1つのビデオフレームの次のビデオフレームを符号化するには十分なバッファ領域が前記送信バッファ内に残っていないようにするために、前記コンピュータによって、送信バッファの送信バッファ占有量を増加させることと、を含む、非一時的コンピュータ可読記憶媒体。
  10. 前記方法が、
    前記コンピュータによって、前記次のビデオフレームのために十分な余裕が前記送信バッファ内に存在しない場合、符号化の前に、前記次のビデオフレームをドロップすることをさらに含む、請求項9に記載の非一時的コンピュータ可読記憶媒体。
  11. 前記コンピュータによって、符号化の前に、前記次のビデオフレームを前記ドロップすることが、
    前記次のビデオフレームの予測サイズを得るために、ビデオフレーム履歴データを用いて前記次のビデオフレームのサイズを予測することと、
    前記次のビデオフレームの前記予測サイズが所定のサイズ値の範囲外にある場合、前記符号化が行われる前に、前記次のビデオフレームをドロップすることと、を含む、請求項10に記載の非一時的コンピュータ可読記憶媒体。
  12. 前記方法が、
    前記コンピュータによって、前記次のビデオフレームのために十分な余裕が前記送信バッファ内に存在する場合、前記符号化のために前記次のビデオフレームを送信することをさらに含む、請求項9に記載の非一時的コンピュータ可読記憶媒体。
  13. 前記コンピュータによって、前記符号化のために前記次のビデオフレームを前記送信することが、
    予測される次のビデオフレームのサイズを得るために、ビデオフレーム履歴データを用いて前記次のビデオフレームのサイズを予測することと、
    前記次のビデオフレームの予測サイズが所定のサイズ値の範囲内にある場合、前記符号化のために前記次のビデオフレームを送信することと、を含む、請求項12に記載の非一時的コンピュータ可読記憶媒体。
  14. コンピュータネットワーク層内のビデオフレームパケットスケジュールバッファにアクセスするように構成された、コンピュータと連結したビデオフレームパケットスケジュールバッファアクセサと、
    前記ビデオフレームパケットスケジュールバッファのビデオフレームパケットスケジュールバッファ状態を受信するように構成された、前記コンピュータと連結したビデオフレームパケットスケジュールバッファ状態受信器であって、前記ビデオフレームパケットスケジュールバッファ状態が、前記ビデオフレームパケットスケジュールバッファがネットワークの混雑のためにビデオフレームパケットをドロップする寸前であることを示すものであり、前記ビデオフレームパケットが少なくとも1つのビデオフレームを含むものである、ビデオフレームパケットスケジュールバッファ状態受信器と、
    前記少なくとも1つのビデオフレームのビデオフレームを符号化が行われる前に前記次のビデオフレームがドロップされるよう、前記少なくとも1つのビデオフレームの次のビデオフレームを符号化するには十分なバッファ領域が前記送信バッファ内に残っていないようにするために、送信バッファの送信バッファ占有量を増加させるように構成された、前記コンピュータと連結した送信バッファ占有量調整器と、を含む、ビデオフレームを積極的にドロップするためのビデオフレームパケットスケジュール制御機構。
  15. 前記次のビデオフレームのために十分な余裕が前記送信バッファ内に存在しない場合、符号化の前に、前記次のビデオフレームをドロップするように構成された、前記コンピュータと連結した次のビデオフレームドロップ器、をさらに含む、請求項14に記載のビデオフレームパケットスケジュール制御機構。
  16. 前記次のビデオフレームドロップ器が、
    前記次のビデオフレームの予測サイズを得るために、ビデオフレーム履歴データを用いて前記次のビデオフレームのサイズを予測するように構成された、ビデオフレームサイズ予測器と、
    前記予測サイズが所定のサイズ値の範囲外にあるかどうかを決定するように構成された、ビデオフレームサイズ値の範囲決定器と、を含む、請求項15に記載のビデオフレームパケットスケジュール制御機構。
  17. コンピュータによって実行されて、該コンピュータに、ビデオフレームを積極的にドロップするための方法を実行させるコンピュータ実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
    第1の装置にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録することと、
    前記ビデオフレームキャプチャ時間スタンプを、最初にキャプチャされる前記ビデオフレームに関連付けることと、
    レンダリングの考慮対象である現在のビデオフレームと関連付けられる時間スタンプと最初にキャプチャされる前記ビデオフレームの時間スタンプとの間の第1の時間差である第1の時間間隔と、レンダリングの考慮対象である前記現在のビデオフレームの時間インスタンスと最初にキャプチャされる前記ビデオフレームの開始ビデオフレームレンダリング時間インスタンスとの間の第2の時間差である第2の時間間隔との間の時間差を比較することと、
    レンダリングの考慮対象である前記現在のビデオフレームの目標ビデオフレームレンダリング時間インスタンスを、ビデオフレームレンダリング規則のセットに従ってスケジュールすることであって、ビデオフレームレンダリング規則の前記セットが、前記第1の時間間隔に応じた第2の間隔が維持される目標ビデオフレームレンダリング時間スケジュールを維持することを含むものである、スケジュールすることと、を含む、非一時的コンピュータ可読記憶媒体。
  18. 第1の装置に最初にキャプチャされるビデオフレームのビデオフレームキャプチャ時間スタンプを記録するように構成された、コンピュータと連結したビデオフレームキャプチャ時間スタンプ記録器と、
    前記ビデオフレームキャプチャ時間スタンプを最初にキャプチャされる前記ビデオフレームに関連付けるように構成された、コンピュータと連結したビデオフレームキャプチャ時間スタンプ関連付け器と、
    レンダリングの考慮対象である現在のビデオフレームと関連付けられるキャプチャ時間スタンプと最初にキャプチャされる前記ビデオフレームのキャプチャ時間スタンプとの間の第1の時間差である第1の時間間隔と、レンダリングの考慮対象である前記現在のビデオフレームの時間インスタンスと最初にキャプチャされる前記ビデオフレームの開始ビデオフレームレンダリング時間インスタンスとの間の第2の時間差である第2の時間間隔との間の時間差を比較するように構成された、コンピュータと連結した時間差比較器と、
    レンダリングの考慮対象である前記現在のビデオフレームの目標ビデオフレームレンダリング時間インスタンスを、ビデオフレームレンダリング規則のセットに従ってスケジュールするように構成された、コンピュータと連結した目標ビデオフレームレンダリング時間インスタンススケジュール器であって、前記ビデオフレームレンダリング規則が、前記第1の時間間隔に応じた第2の間隔が維持される目標ビデオフレームレンダリング時間スケジュールを維持することを含むものである、スケジュールすることと、を含む、ビデオフレームを積極的にドロップするための装置。
  19. 前記ビデオフレームレンダリング規則が、
    少なくとも1つのビデオフレームは、該少なくとも1つのビデオフレームがそのスケジュールに遅れる場合、すぐにレンダリングされることを含む、請求項18に記載の装置。
  20. 前記ビデオフレームレンダリング規則が、
    少なくとも1つのビデオフレームは、そのスケジュールより早い場合、調整されたディレイでホールドされることを含む、請求項18に記載の装置。
  21. 前記ビデオフレームレンダリング規則が、
    少なくとも1つのビデオフレームは、そのスケジュールに遅れすぎる場合、送信バッファのアンダーフローを伴うことなくドロップされることを含む、請求項18に記載の装置。
JP2015536815A 2012-10-11 2013-10-03 積極的なビデオフレームドロップ Pending JP2015536594A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/649,863 2012-10-11
US13/649,863 US20140104493A1 (en) 2012-10-11 2012-10-11 Proactive video frame dropping for hardware and network variance
PCT/US2013/063326 WO2014058713A1 (en) 2012-10-11 2013-10-03 Proactive video frame dropping

Publications (1)

Publication Number Publication Date
JP2015536594A true JP2015536594A (ja) 2015-12-21

Family

ID=50475031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015536815A Pending JP2015536594A (ja) 2012-10-11 2013-10-03 積極的なビデオフレームドロップ

Country Status (4)

Country Link
US (1) US20140104493A1 (ja)
JP (1) JP2015536594A (ja)
CN (1) CN104620595A (ja)
WO (1) WO2014058713A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432556B2 (en) * 2015-01-05 2016-08-30 Qualcomm Incorporated Devices and methods for facilitating frame dropping in remote display applications
US10582258B2 (en) * 2015-12-26 2020-03-03 Intel Corporation Method and system of rendering late or early audio-video frames
CN106357896B (zh) * 2016-08-31 2017-10-24 广东欧珀移动通信有限公司 一种掉帧信息的输出方法、装置及移动终端
CN106658176A (zh) * 2016-11-07 2017-05-10 广州视源电子科技股份有限公司 远程视频显示方法及系统
US10904591B2 (en) * 2016-12-28 2021-01-26 Google Llc Scheme for zero-copy adaptive bitrate video streaming
CN109327662B (zh) * 2017-07-31 2021-02-05 阿里巴巴(中国)有限公司 视频拼接方法及装置
CN107566890B (zh) * 2017-09-15 2020-05-22 深圳国微技术有限公司 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质
US20190102223A1 (en) * 2017-09-29 2019-04-04 Niall Power System, Apparatus And Method For Real-Time Activated Scheduling In A Queue Management Device
CN109788224B (zh) * 2019-03-26 2020-12-04 歌尔科技有限公司 视频录制方法、装置、网络摄像器及存储介质
CN110177308A (zh) * 2019-04-15 2019-08-27 广州虎牙信息科技有限公司 移动终端及其录屏中的音视频丢帧方法、计算机存储介质
CN110572695A (zh) * 2019-08-07 2019-12-13 苏州科达科技股份有限公司 媒体数据的编码、解码方法及电子设备
CN110740380A (zh) * 2019-10-16 2020-01-31 腾讯科技(深圳)有限公司 视频处理方法和装置、存储介质及电子装置
CN111385637B (zh) * 2020-03-18 2022-05-20 Oppo广东移动通信有限公司 媒体数据编码方法、装置及电子设备
CN112087627B (zh) * 2020-08-04 2024-09-17 西安万像电子科技有限公司 图像的编码控制方法、装置、设备及存储介质
WO2022142481A1 (zh) * 2020-12-31 2022-07-07 杭州星犀科技有限公司 音视频数据的处理方法、直播装置、电子设备和存储介质
CN113254120B (zh) * 2021-04-02 2022-11-01 荣耀终端有限公司 数据处理方法和相关装置
CN115250357B (zh) * 2021-04-26 2024-04-12 海信集团控股股份有限公司 终端设备、视频处理方法和电子设备
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN113347488B (zh) * 2021-08-04 2021-11-19 腾讯科技(深圳)有限公司 视频渲染方法、装置、设备及存储介质
CN113840110B (zh) * 2021-11-23 2022-06-28 北京亮亮视野科技有限公司 面向工作流程的视频处理方法、装置、电子设备及存储介质
CN115190325B (zh) * 2022-07-01 2023-09-05 广州市百果园信息技术有限公司 丢帧控制方法、装置、设备、存储介质及程序产品
CN116761036B (zh) * 2023-08-21 2023-11-14 北京中关村科金技术有限公司 视频编码方法及装置、电子设备、计算机可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262776B1 (en) * 1996-12-13 2001-07-17 Microsoft Corporation System and method for maintaining synchronization between audio and video
US6993081B1 (en) * 1999-11-23 2006-01-31 International Business Machines Corporation Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
US7043651B2 (en) * 2001-09-18 2006-05-09 Nortel Networks Limited Technique for synchronizing clocks in a network
US7787539B2 (en) * 2002-07-17 2010-08-31 Broadcom Corporation Decoding and presentation time stamps for MPEG-4 advanced video coding
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
JP2005322995A (ja) * 2004-05-06 2005-11-17 Nippon Telegr & Teleph Corp <Ntt> リアルタイム映像転送におけるバッファ制御方法、送信端末、受信端末、映像配信システム、およびプログラム
US7434154B2 (en) * 2005-01-07 2008-10-07 Dell Products L.P. Systems and methods for synchronizing media rendering
US8379735B2 (en) * 2006-05-15 2013-02-19 Microsoft Corporation Automatic video glitch detection and audio-video synchronization assessment
WO2008070987A1 (en) * 2006-12-12 2008-06-19 Vantrix Corporation An improved video rate control for video coding standards
US8181217B2 (en) * 2007-12-27 2012-05-15 Microsoft Corporation Monitoring presentation timestamps
US20100039558A1 (en) * 2008-08-12 2010-02-18 Richard Detore Real time high definition caption correction
EP2351372B1 (en) * 2008-10-28 2020-08-05 Cisco Technology, Inc. Stream synchronization for live video encoding
US7830908B2 (en) * 2008-11-03 2010-11-09 Cisco Technologies, Inc. Systems and methods of reducing delay in decoding
EP2293554A1 (en) * 2009-07-27 2011-03-09 Trident Microsystems (Far East) Ltd. Frame-rate conversion
US20110064129A1 (en) * 2009-09-16 2011-03-17 Broadcom Corporation Video capture and generation at variable frame rates
CN102065214A (zh) * 2009-11-12 2011-05-18 鸿富锦精密工业(深圳)有限公司 影像处理系统及方法

Also Published As

Publication number Publication date
CN104620595A (zh) 2015-05-13
US20140104493A1 (en) 2014-04-17
WO2014058713A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
JP2015536594A (ja) 積極的なビデオフレームドロップ
US11503307B2 (en) System and method for automatic encoder adjustment based on transport data
US11190570B2 (en) Video encoding using starve mode
US10498786B2 (en) Method and apparatus for adaptively providing multiple bit rate streaming media in server
US10862940B1 (en) Low latency live video on a communication session
US20200014963A1 (en) Latency improvement via frame latency feedback
US20110010625A1 (en) Method for Manually Optimizing Jitter, Delay and Synch Levels in Audio-Video Transmission
US20200296470A1 (en) Video playback method, terminal apparatus, and storage medium
AU2021200428B2 (en) System and method for automatic encoder adjustment based on transport data
US20110067072A1 (en) Method and apparatus for performing MPEG video streaming over bandwidth constrained networks
JP2017069849A (ja) 映像制御装置、映像配信システムおよび映像制御方法
JP2016506206A (ja) エラー制御のための再送およびフレーム同期
US11936698B2 (en) Systems and methods for adaptive video conferencing
US9363574B1 (en) Video throttling based on individual client delay
US11290680B1 (en) High-fidelity freeze-frame for precision video communication applications
US10244205B1 (en) Bandwidth estimation of a network connection
CN110611789A (zh) 视频流传输控制方法、装置、电子设备及存储介质
CN115037701B (zh) 视频处理方法、装置、服务器及介质
Adeleke et al. Video Traffic Prioritization in WLANs Using Single Queue Priority Scheduler
JP6604256B2 (ja) 情報処理端末、情報処理方法、及びプログラム
WO2021144139A1 (en) Method, apparatus and computer program product providing for signaling of viewport orientation timing in panoramic video delivery
EP2888657A1 (en) Controlling cpu usage to balance fast and slow devices
CN118590722A (zh) 基于多连接的流媒体传输方法、装置及电子设备