JP5770345B2 - ビデオデータをストリーミングするためのビデオ切替え - Google Patents

ビデオデータをストリーミングするためのビデオ切替え Download PDF

Info

Publication number
JP5770345B2
JP5770345B2 JP2014116873A JP2014116873A JP5770345B2 JP 5770345 B2 JP5770345 B2 JP 5770345B2 JP 2014116873 A JP2014116873 A JP 2014116873A JP 2014116873 A JP2014116873 A JP 2014116873A JP 5770345 B2 JP5770345 B2 JP 5770345B2
Authority
JP
Japan
Prior art keywords
representation
data
random access
access point
requesting
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.)
Active
Application number
JP2014116873A
Other languages
English (en)
Other versions
JP2014209751A5 (ja
JP2014209751A (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 JP2014209751A publication Critical patent/JP2014209751A/ja
Publication of JP2014209751A5 publication Critical patent/JP2014209751A5/ja
Application granted granted Critical
Publication of JP5770345B2 publication Critical patent/JP5770345B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions

Description

本開示は、符号化ビデオデータの記憶及びトランスポートに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信及び受信するために、MPEG−2、MPEG−4、ITU−T H.263又はITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技術など、ビデオ圧縮技術を実装する。
ビデオ圧縮技術は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び/又は時間的予測を実行する。ブロックベースのビデオ符号化の場合、ビデオフレーム又はスライスがマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラ符号化(I)フレーム又はスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インター符号化(P又はB)フレーム又はスライス中のマクロブロックは、同じフレーム又はスライス中の隣接マクロブロックに関する空間的予測、若しくは他の参照フレームに関する時間的予測を使用し得る。
ビデオデータが符号化された後、ビデオデータは送信又は記憶のためにパケット化され得る。ビデオデータは、AVCなど、国際標準化機構(ISO)ベースメディアファイルフォーマット及びそれの拡張など、様々な規格のいずれかに準拠するビデオファイルにアセンブルされ得る。
H.264/AVCに基づく新しいビデオ符号化規格を開発するための取り組みが行われている。1つのそのような規格は、H.264/AVCのスケーラブル拡張であるスケーラブルビデオ符号化(SVC)規格である。別の規格は、H.264/AVCのマルチビュー拡張になったマルチビュービデオ符号化(MVC)である。MVCのジョイントドラフトは、http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zipにおいて入手可能な、JVT−AB204、「Joint Draft 8.0 on Multiview Video Coding」、28th JVT meeting、Hannover、Germany、July 2008に記載されている。AVC規格のバージョンは、http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zipから入手可能な、JVT−AD007、「Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)」、30th JVT meeting、Geneva、CH、Feb. 2009に記載されている。本明細書では、SVC規格及びMVC規格とAVC仕様との統合を行う。
本出願は、その各々の全体が参照により本明細書に組み込まれる、2010年7月13日に出願された米国仮出願第61/363,884号、2010年7月21日に出願された米国仮出願第61/366,436号、2010年8月16日に出願された米国仮出願第61/374,222号、及び2011年1月14日に出願された米国仮出願第61/433,110号の利益を主張する。
概して、本開示は、ネットワークストリーミングプロトコルを使用してマルチメディアコンテンツの表現をストリーミングしながら表現間で切り替えるための技術について説明する。同じマルチメディアコンテンツは、様々な方法で符号化され、マルチメディアコンテンツの様々な表現を生じ得る。本開示の技術は、クライアント機器においてビデオ再生を中断することなしに表現間で切り替えるクライアント機器の能力を改善することによって、(例えば、HTTPストリーミングとも呼ばれるHTTPバージョン1.1などのネットワークストリーミングプロトコルに従って)マルチメディアコンテンツのデータのストリーミングを改善し得る。
本開示の技術によれば、サーバ機器は、復号遅延とピクチャ並べ替え遅延とを表す遅延値を信号伝達し得る(即ち、要求に応答して与え得る)。復号遅延は、表現の1つ以上の符号化されたビデオサンプルを復号するために必要とされる時間量を表し得る。ピクチャは、ピクチャが復号される順序と必ずしも同じ順序で表示されるとは限らないので、ピクチャ並べ替え遅延は、表示の目的でピクチャを並べ替えるために必要とされる時間量を表し得る。クライアント機器は、遅延値を使用して、クライアント機器がある表現から別の表現に切り替え得るポイントを決定し得る。即ち、クライアント機器は、クライアント機器が第1の表現のデータを要求するのを止め、代わりに第2の異なる表現のデータを要求し始めるポイントを決定し得る。信号伝達された遅延値を考慮して、クライアントは、表現間の切替えによって(復号及び並べ替えに続く)再生が中断されないようにこのポイントを決定し得る。
一例では、ビデオデータを送る方法が、ビデオシーケンスの第1の表現のためのデータとビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えることと、第1の表現のためのデータの送信中に、ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び切替え中に第1の表現のためのデータと第2の表現のためのデータとを復号するために2つ以上のデコーダを同時に実行することなしに、クライアント機器が第2の表現に切り替えることができることを示す情報をクライアント機器に与えることと、第1の表現からデータを検索するためクライアント機器からの第1の要求に応答して、第1の表現からの要求されたデータをクライアント機器に送ることと、第1の表現からの要求されたデータを送った後、第2の表現からデータを検索するためクライアント機器からの第2の要求に応答して、第2の表現からの要求されたデータをクライアント機器に送ることとを含む。
別の例では、ビデオデータを送るための装置が、ビデオシーケンスの第1の表現のためのデータとビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えることと、第1の表現のためのデータの送信中に、ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び切替え中に第1の表現のためのデータと第2の表現のためのデータとを復号するために2つ以上のデコーダを同時に実行することなしに、クライアント機器が第2の表現に切り替えることができることを示す情報をクライアント機器に与えることと、第1の表現からデータを検索するためクライアント機器からの第1の要求に応答して、第1の表現からの要求されたデータをクライアント機器に送ることと、第1の表現からの要求されたデータを送った後、第2の表現からデータを検索するためクライアント機器からの第2の要求に応答して、第2の表現からの要求されたデータをクライアント機器に送ることとを行うように構成されたプロセッサを含む。
別の例では、ビデオデータを送るための装置が、ビデオシーケンスの第1の表現のためのデータとビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えるための手段と、第1の表現のためのデータの送信中に、ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び切替え中に第1の表現のためのデータと第2の表現のためのデータとを復号するために2つ以上のデコーダを同時に実行することなしに、クライアント機器が第2の表現に切り替えることができることを示す情報をクライアント機器に与えるための手段と、第1の表現からデータを検索するためクライアント機器からの第1の要求に応答して、第1の表現からの要求されたデータをクライアント機器に送るための手段と、第1の表現からの要求されたデータを送った後、第2の表現からデータを検索するためクライアント機器からの第2の要求に応答して、第2の表現からの要求されたデータをクライアント機器に送るための手段とを含む。
別の例では、コンピュータプログラム製品が、実行されると、ビデオデータを送るための発信源機器のプロセッサに、ビデオシーケンスの第1の表現のためのデータとビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えることと、第1の表現のためのデータの送信中に、ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び切替え中に第1の表現のためのデータと第2の表現のためのデータとを復号するために2つ以上のデコーダを同時に実行することなしに、クライアント機器が第2の表現に切り替えることができることを示す情報をクライアント機器に与えることと、第1の表現からデータを検索するためクライアント機器からの第1の要求に応答して、第1の表現からの要求されたデータをクライアント機器に送ることと、第1の表現からの要求されたデータを送った後、第2の表現からデータを検索するためクライアント機器からの第2の要求に応答して、第2の表現からの要求されたデータをクライアント機器に送ることとを行わせる命令を備えるコンピュータ可読記憶媒体を含む。
別の例では、ビデオデータを受信する方法が、ビデオシーケンスの第1の表現とビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第1の表現からのデータを要求することと、第1の表現から第2の表現に切り替えることを決定したことに応答して、遅延値に基づいて第1の表現からのある量のデータをバッファすることと、第1の表現からのその量のデータをバッファした後に、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第2の表現からのデータを要求することとを含む。
別の例では、ビデオデータを受信するための装置が、ビデオシーケンスの第1の表現とビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第1の表現からのデータを要求することと、第1の表現から第2の表現に切り替えることを決定したことに応答して、遅延値に基づいて第1の表現からのある量のデータをバッファすることと、第1の表現からのそのデータ量をバッファした後に、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第2の表現からのデータを要求することとを行うように構成されたプロセッサを含む。
別の例では、ビデオデータを受信するための装置が、ビデオシーケンスの第1の表現とビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信するための手段と、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第1の表現からのデータを要求するための手段と、第1の表現から第2の表現に切り替えることを決定したことに応答して、遅延値に基づいて第1の表現からのあるデータ量をバッファするための手段と、第1の表現からのそのデータ量をバッファした後に、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第2の表現からのデータを要求するための手段とを含む。
別の例では、コンピュータプログラム製品が、実行されると、ビデオデータを受信するための発信源機器のプロセッサに、ビデオシーケンスの第1の表現とビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第1の表現からのデータを要求することと、第1の表現から第2の表現に切り替えることを決定したことに応答して、遅延値に基づいて第1の表現からのある量のデータをバッファすることと、第1の表現からのそのデータ量をバッファした後に、ストリーミングネットワークプロトコルに従ってビデオシーケンスの第2の表現からのデータを要求することとを行わせる命令を備えるコンピュータ可読記憶媒体を含む。
1つ以上の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、説明及び図面、並びに特許請求の範囲から明らかになるであろう。
オーディオ/ビデオ(A/V)発信源機器がオーディオ及びビデオデータをA/V宛先機器に転送する例示的なシステムを示すブロック図。 例示的なカプセル化ユニットの構成要素を示すブロック図。 符号化ビデオフレームのシーケンスを示す概念図。 切替え可能な表現を示す概念図。 時間的に整合している2つの表現の一例を示す概念図。 時間的に整合していない2つの表現の一例を示す概念図。 2つの切替え可能な表現間のシームレスな切替えを実行するための例示的な方法を示すフローチャート。 サーバ機器が、切替え可能な表現を記述する情報をクライアント機器に与えるための例示的な方法を示すフローチャート。 クライアント機器が、サーバ機器から第1の表現のデータを検索することから、サーバ機器から第2の表現のデータを検索することに切り替えるための例示的な方法を示すフローチャート。
概して、本開示は、ネットワークストリーミングコンテキストにおいてマルチメディアコンテンツの表現間の切替えをサポートするための技術について説明する。表現間で切り替えるとき、様々なファクタによって生じる自然遅延が存在し得る。以下でより詳細に説明するように、本開示の技術は、マルチメディアコンテンツのある表現からマルチメディアコンテンツの別の表現に切り替えるときに考慮すべき遅延を示す情報を信号伝達すること(例えば、クライアント機器からの要求に応答してサーバ機器がデータを与えること)を含む。このようにして、クライアント機器は、第2の表現からのデータを受信して第2の表現からのデータを復号し始める前にデータを復号することを可能にするために、第1の表現からの十分な量のデータをバッファし得る。従って、クライアント機器は、マルチメディアコンテンツの再生を中断することなしに表現間で切り替えることが可能であり得る。このようにして、本開示の技術は、クライアント機器上のコンテンツを閲覧するとき、ユーザの経験(user’s experience)を改善し得る。
信号伝達された遅延は、復号遅延とピクチャ並べ替え遅延の両方を表し得る。特に、信号伝達された遅延値は、ある表現から別の表現に切り替えるための最大復号遅延と最大並べ替え遅延の組合せを備え得る。例えば、各フレームの符号化モード、ビットレート、解像度、又は他のファクタに基づいて、ピクチャのシーケンスに関連する異なる復号遅延が存在し得る。信号伝達された遅延値は、いずれかの表現のいずれかのアクセスユニット、又は切替えに関与する2つの表現のいずれかのアクセスユニットの最大復号遅延を含み得る。
ピクチャ並べ替え遅延は、ピクチャを復号順序から表示順序に並べ替えることに関連する遅延に対応し得る。H.264/AVCの例では、ビットストリームは、様々なタイプの符号化ピクチャ、例えば、イントラ符号化ピクチャ(例えば、Iピクチャ)及びインター符号化ピクチャ(例えば、Pピクチャ及びBピクチャ)を含み得る。Iピクチャのためのデータは、概してIピクチャの他のデータのみに対して符号化され、従って、イントラピクチャ符号化される。Pピクチャ及びBピクチャのためのデータは、前に符号化された1つ以上の他のピクチャに対して符号化され得る。Pピクチャは、例えば、表示順序でPピクチャに先行する1つ以上のピクチャに対して符号化され得る。別の例として、Bピクチャは、表示順序でBピクチャに先行する1つ以上のピクチャと、表示順序でBピクチャの後にくる1つ以上のピクチャとに対して符号化され得る。参照のために使用されるピクチャは、符号化され、それらのピクチャを参照するピクチャよりも早くビットストリーム中に配置され得る。
一例として、BピクチャはIピクチャとPピクチャの両方に対して符号化され得、PピクチャはIピクチャに対して符号化され得る。3つのピクチャのうち、Pピクチャは最も早い表示時間を有し得、Iピクチャは最も遅い表示時間を有し得、BピクチャはPピクチャの表示時間とIピクチャの表示時間との間の表示時間を有し得る。これらのピクチャの予測構造により、ビデオエンコーダは、3つのピクチャのうちIピクチャをビットストリーム中の最も早くに配置し得、3つのピクチャのうちBピクチャをビットストリーム中の最も遅くに配置し得、Pピクチャをビットストリーム中のIピクチャとBピクチャとの間に配置し得る。従って、デコーダは、ビットストリームを順番に復号し、即ち、Iピクチャ、次いでPピクチャ、次いでBピクチャを復号し得る。但し、デコーダは、PピクチャがBピクチャの前に表示され、BピクチャがIピクチャの前に表示されるように、ピクチャを表示順序に並べ替え得る。
上記で説明したように、信号伝達された遅延値は、復号遅延とピクチャ並べ替え遅延との組合せを含み得る。ピクチャ並べ替え遅延は、いずれかの表現中のいずれかのピクチャのためのプレゼンテーション時間と復号時間との間の最大差に対応し得る。幾つかの例では、ピクチャ並べ替え遅延は、切替えに関与する2つの表現中のいずれかのピクチャのためのプレゼンテーション時間と復号時間との間の最大差に対応し得る。プレゼンテーション時間は、ピクチャが表示される相対時間に対応し、復号時間は、ピクチャが復号される相対時間に対応する。上記のように、プレゼンテーション時間と復号時間とは必ずしも等しくないので、復号に続き、復号されたピクチャがプレゼンテーション時間順序に並べ替えられ得る。
サーバ機器は、シームレスな切替えのために遅延値をクライアント機器に信号伝達し得る。遅延値は、同じマルチメディアコンテンツの、いずれかの表現中のいずれかのピクチャの最大復号遅延と、いずれかの表現中のいずれかのピクチャのプレゼンテーション時間と復号時間との間の最大差との和を備え得る。クライアント機器は、2つの表現の間のシームレスな切替えを実行するために、この信号伝達された遅延値を使用し得る。例えば、クライアント機器は、シームレスな切替えが実施され得るように、異なる表現に切り替える前に、バッファしておくべき現在の表現中のデータ量を決定し得る。即ち、利用可能な帯域幅が新しい表現のために十分であると仮定すると、クライアント機器はスムーズな再生とシームレスな復号を有し得る。
シームレスな切替えを実施するために、クライアント機器は、表現間の切替え中のシームレスな復号、並びに復号されたピクチャのシームレスな表示の両方を行う必要があり得る。シームレスな復号は、新しい表現からのピクチャを復号するために第2のデコーダが必要とされないことを保証し得る(とはいえ、クライアント機器はそれにもかかわらず2つ以上のデコーダを含み得る)。シームレスな表示は、ピクチャが表現間の切替え中に連続再生の準備ができていることに対応し得る。
本開示の技術はまた、表現のセットから切替えグループを形成することと、表現のセットが同じ切替えグループに属することを信号伝達することとを含む。表現は、宛先機器のデコーダ及び/又は他の要素を初期化するためのデータを含む初期化セグメントを含み得る。初期化セグメントは、例えば、ISOベースメディアファイルのムービーボックス、H.264/AVCビットストリームの、シーケンスパラメータセットとピクチャパラメータセットとを含んでいるサンプル、及び場合によってはシーケンスレベル補足エンハンスメント情報(SEI:supplemental enhancement information)メッセージを記述し得る。場合によっては、2つ以上の表現に対して宛先機器を初期化するために同じ初期化セグメントが使用され得る。切替えグループは、それぞれ同じ初期化セグメントを使用して初期化され得る表現のセットを含み得る。このようにして、クライアント機器は、切替えグループの第1の表現のための初期化セグメントを検索し、次いで第2の表現に固有の初期化セグメントを検索しないで切替えグループの第2の表現に切り替え得る。即ち、クライアント機器は、第2の表現を復号するために第1の表現のための初期化セグメントを使用し得る。セグメントが全てランダムアクセスポイントピクチャから開始するとき、切替えグループは、時間的に整合されているセグメントを有する表現、従ってある表現から別の表現への切替えを含み得る。この場合、そのようなグループ間の切替えが起こった場合、異なる表現の時間的に重複するセグメントが要求される必要がある。
概して、Iピクチャはランダムアクセスポイント(RAP)と呼ばれることがある。即ち、デコーダは、Iピクチャにおいて開始するビデオデータを復号し始め、Iピクチャの後にくるビットストリーム中のピクチャの全てでないとしても幾つかを復号することが可能であり得る。しかしながら、Iピクチャよりも早い表示順序を有するが、Iピクチャよりも遅い復号順序を有するBピクチャなど、正しく復号可能でない幾つかのピクチャが存在し得る。これらのBピクチャは、ビットストリーム中のより早いIピクチャに従属し得る。ビットストリーム中の全ての後続のピクチャがビットストリーム中のより早いピクチャを検索することなしに適切に復号され得るIピクチャは、瞬時復号リフレッシュ(IDR:instantaneous decoding refresh)ランダムアクセスポイントと呼ばれることがある。ビットストリーム中の少なくとも1つの後続のピクチャがビットストリーム中のより早いピクチャを検索しないで適切に復号されないことがあるIピクチャは、オープン復号リフレッシュ(ODR)ランダムアクセスポイントと呼ばれることがある。
言い換えれば、IDRピクチャは、イントラ符号化スライスのみを含んでいることがあり、IDRピクチャを除く全ての参照ピクチャが「参照のために使用されない」とマークされるようにすることがある。符号化ビデオシーケンスは、復号順序で、IDRアクセスユニット(それを含む)から、次のIDRアクセスユニット(それを含まない)又はビットストリームの最後の、どちらかより早く現れるほうまでの、連続するアクセスユニットのシーケンスと定義され得る。IDRピクチャを含むピクチャグループ(GOP)中の各ピクチャは、前のピクチャが復号されたかどうかにかかわらず適切に復号され得る。そのようなGOPはクローズドGOPと呼ばれることがある。即ち、GOPの全てのピクチャが復号のために利用可能であると仮定すると、クローズドGOPは、全てのピクチャが適切に復号され得るGOPである。H.264/AVCの例では、クローズドGOPは、IDRアクセスユニット、即ち、IDRピクチャを含むアクセスユニットから開始し得る。さらに、符号化ビデオシーケンスの(最初のIDRピクチャを含む)各ピクチャが復号に応じられると仮定すると、符号化ビデオシーケンス中の各ピクチャは適切に復号され得る。
オープンGOPは、オープンGOPの全てのピクチャが復号に応じられるときでも、表示順序でGOPのIピクチャに先行するピクチャが正しく復号可能でないピクチャグループと定義され得る。エンコーダは、回復点補足エンハンスメント情報(SEI)メッセージなど、GOPがオープンGOPであることを示す情報をビットストリーム中に含み得る。オープンGOPのIピクチャはODRピクチャと呼ばれることがある。復号順序でオープンGOPの後にくるピクチャは正しく復号可能であり得るが、オープンGOP中の幾つかのピクチャは復号順序で前のIピクチャを参照することがあり、従って、前のIピクチャが復号に応じられなければ適切に復号可能でないことがある。
概して、デコーダは、IDRピクチャ又はODRピクチャから開始するビットストリームを復号し始め、従ってIDRピクチャとODRピクチャの両方をビットストリーム内のランダムアクセスポイントとして扱い得る。しかしながら、ODRピクチャにおいて開始してビットストリームがアクセスされる場合、適切に復号可能でない、ビットストリーム中のODRピクチャの後にくる幾つかのピクチャがあるので、デコーダは、これらのピクチャを復号しようと試みることに不要な労力を使うことがある。本開示の技術によれば、サーバは、ランダムアクセスポイントピクチャがIDRピクチャであるか又はODRピクチャであるかを信号伝達し得る。サーバはまた、クライアント機器がIDR及び/又はODRピクチャのみにアクセスするために1つ以上のHTTP部分GET要求をサブミットし得るように、ランダムアクセスポイントのためのバイト範囲を信号伝達し得る。このようにして、クライアントは、早送り又は巻戻しなど、マルチメディアコンテンツのトリックモード表示を可能にするために、IDRピクチャ及び/又はODRピクチャを検索し得る。
本開示の技術は、ISOベースメディアファイルフォーマット、スケーラブルビデオ符号化(SVC)ファイルフォーマット、Advanced Video Coding(AVC)ファイルフォーマット、Third Generation Partnership Project(3GPP)ファイルフォーマット、及び/又はマルチビュービデオ符号化(MVC)ファイルフォーマットのいずれか、若しくは他の同様のビデオファイルフォーマットに準拠するビデオファイルに適用され得る。
ISOベースメディアファイルフォーマットは、メディアの交換、管理、編集、及びプレゼンテーションを可能にする、フレキシブルな、拡張可能なフォーマットのプレゼンテーションのための、時限メディア情報を含んでいるように設計される。ISOベースメディアファイルフォーマット(ISO/IEC14496−12:2004)は、時間ベースメディアファイルのための一般的な構造を定義するMPEG−4 Part12において規定されている。それは、H.264/MPEG−4AVCビデオ圧縮のサポートを定義したAVCファイルフォーマット(ISO/IEC14496−15)、3GPPファイルフォーマット、SVCファイルフォーマット、及びMVCファイルフォーマットなどのファミリー中の他のファイルフォーマットに対する基準として使用される。3GPPファイルフォーマット及びMVCファイルフォーマットはAVCファイルフォーマットの拡張である。ISOベースメディアファイルフォーマットは、オーディオビジュアルプレゼンテーションなどのメディアデータの時限シーケンスのためのタイミング、構造、及びメディア情報を含んでいる。ファイル構造はオブジェクト指向であり得る。ファイルは、非常に単純に基本オブジェクトに分解され得、オブジェクトの構造はそれらのタイプから暗示される。
ISOベースメディアファイルフォーマット(及びそれの拡張)に準拠するファイルは、「ボックス」と呼ばれる一連のオブジェクトとして形成され得る。ISOベースメディアファイルフォーマットのデータは、他のいかなるデータもファイル内に含まれる必要がなく、ファイル内のボックスの外部にデータがある必要がないように、ボックス中に含まれていることがある。これは、特定のファイルフォーマットによって必要とされる略式署名(initial signature)を含む。「ボックス」は、一意のタイプ識別子と長さとによって定義されるオブジェクト指向基礎的要素(object-oriented building block)であり得る。一般に、プレゼンテーションは1つのファイル中に含まれ、メディアプレゼンテーションは独立型(self-contained)である。ムービーコンテナ(ムービーボックス)はメディアのメタデータを含んでいることがあり、ビデオ及びオーディオフレームは、メディアデータコンテナ中に含まれていることがあり、他のファイル中にあり得る。
表現(動きシーケンス)は、幾つかのファイル中に含まれていることがある。タイミング及びフレーミング(位置及びサイズ)情報は概してISOベースメディアファイル中にあり、補助ファイルは本質的に任意のフォーマットを使用し得る。この表現は、表現を含んでいるシステムに対して「ローカル」であり得るか、若しくはネットワーク又は他のストリーム配信機構を介して与えられ得る。
ファイルは、論理構造と時間構造と物理構造とを有し得、これらの構造は結合される必要はない。ファイルの論理構造は、時間並列トラックのセットを含んでいる(ビデオデータとオーディオデータの両方を潜在的に含む)ムービー又はビデオクリップであり得る。ファイルの時間構造は、トラックが時間的なサンプルのシーケンスを含んでおり、それらのシーケンスは、随意のエディットリストによってムービー全体のタイムラインにマッピングされるものであり得る。ファイルの物理構造は、メディアデータサンプル自体から、論理、時間、及び構造的分解のために必要とされるデータを分離し得る。この構造的情報は、ムービーボックス中に集められ、場合によってはムービーフラグメントボックスによって時間的に拡張され得る。ムービーボックスは、サンプルの論理関係及びタイミング関係をドキュメント化し得、また、サンプルが配置される場所へのポインタを含んでいることがある。それらのポインタは、例えば、URLによって参照される同じファイル又は別のファイルへのものであり得る。
各メディアストリームは、そのメディアタイプ(オーディオ、ビデオなど)に専用のトラック中に含まれていることがあり、さらにサンプルエントリによってパラメータ表示され得る。サンプルエントリは、厳密なメディアタイプ(ストリームを復号するために必要とされるデコーダのタイプ)の「名前」と、必要とされるそのデコーダのパラメータ表示を含んでいることがある。名前はまた、4文字コード、例えば、「moov」、又は「trak」の形態をとり得る。MPEG−4メディアについてだけでなく、このファイルフォーマットファミリーを使用する他の編成によって使用されるメディアタイプについても、定義済みのサンプルエントリフォーマットがある。
メタデータのサポートは、概して2つの形態をとる。第1に、時限メタデータが、適切なトラックに記憶され得、必要に応じて、それが表しているメディアデータと同期され得る。第2に、ムービー又は個々のトラックにアタッチされた非時限メタデータの全般的サポートがあり得る。メタデータの構造的サポートは、全般的であり、メディアデータ、即ち、符号化ビデオピクチャの記憶と同様の方法で、ファイル中の他の場所又は別のファイル中でのメタデータリソースの記憶を可能にする。さらに、これらのリソースは名前付きであり得、保護され得る。
「プログレッシブダウンロード」という用語は、一般に、HTTPプロトコル、例えばHTTPのバージョン1.1を使用した、サーバからクライアントへのデジタルメディアファイルの転送を説明するために使用される。プログレッシブダウンロードの一例はHTTPストリーミングである。コンピュータから開始されるとき、コンピュータは、ダウンロードが完了する前にメディアの再生を開始し得る。メディアのストリーミングとプログレッシブダウンロードとの間の1つの相違は、デジタルメディアにアクセスしているエンドユーザデバイスによってデジタルメディアデータが受信され、記憶される方法にある。プログレッシブダウンロード再生が可能であるメディアプレーヤは、そのままファイルのヘッダ中に配置されたメタデータと、ウェブサーバからダウンロードされたときのデジタルメディアファイルのローカルバッファとに依拠する。指定された量のバッファデータがローカル再生機器に利用可能になった時点で、機器はメディアを再生し始め得る。この指定された量のバッファデータは、エンコーダ設定においてコンテンツの製作者によってファイルに埋め込まれ得、クライアントコンピュータのメディアプレーヤによって課せられる追加のバッファ設定によって補強され得る。
HTTPストリーミングでは、符号化オーディオ及びビデオサンプルを含む、表現のための全てのデータをムービー(MOOV)ボックス中で与えるのではなく、ムービーボックスとは別にサンプルを含み得るムービーフラグメント(MOOFボックス)がサポートされる。各ムービーフラグメントは、ある時間期間にわたるサンプルを含み得る。概して、クライアントは、ムービーフラグメントを使用して所望の時間を迅速にシークし得る。(例えば)HTTPストリーミングにおいて、クライアントがムービーフラグメントを検索すために単一の部分GET要求を発行し得るように、ムービーフラグメントはファイルの連続バイトを含み得る。部分GET要求は、ファイルの識別子(例えば、ユニフォームリソースロケータ(URL)又はユニフォームリソースネーム(URN))、並びにファイル内の検索されるべきバイト範囲を指定する。幾つかの例では、ムービーボックス自体は符号化オーディオ又はビデオサンプルを含んでいないように、符号化オーディオ及びビデオサンプルはムービーフラグメント中に完全に含まれ得る。
AVC及び3GPPはISOベースメディアファイルフォーマットの拡張であり、SVC及びMVCはAVCファイルフォーマットの拡張である。従って、本開示の技術は、ISOベースメディアファイルフォーマット、AVCファイルフォーマット、及びそれらの拡張、例えば、SVC及びMVC、及び/又は3GPPファイルフォーマットに準拠するビデオファイルに対して適用され得る。本技術は、これらのフォーマットのこれら及び他の拡張にさらに適用され得、切替え可能な表現を記述する情報と、2つ以上の表現間のシームレスな切替えを可能にする遅延値とを与えるように他のファイルフォーマットを拡張するためにさらに適用され得る。
Motion Pictures Experts Group(MPEG)は、ISOベースメディアファイルフォーマットの拡張としてAVCファイルフォーマットを開発した。AVCファイルフォーマットでは、シーケンスパラメータセット及びピクチャパラメータセットを含むパラメータセットは、ビデオトラック中にあるビデオエレメンタリストリームに関連付けられ得る。SPS又はPPSネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットであるサンプルを含んでいるパラメータセットエレメンタリストリームを含む、パラメータセットトラックと呼ばれる別のトラック中にパラメータセットを有することも可能である。しかしながら、SEIメッセージを使用するピクチャより前の復号時間をもつサンプル中にこのSEIメッセージが提示される限り、SEIメッセージNALユニットの位置はAVCファイルフォーマットでは制限されない。
AVCファイルフォーマットは、それぞれ、SVC及びMVC拡張によって、SVC及びMVCの記憶をサポートするように拡張される。SVC及びMVCでは、1つのビデオトラック又は複数のビデオトラック中に複数のレイヤ/ビューが含まれ得る。レイヤ/ビューが様々な編成で提示されるとき、動作点を構築するために、SVC及びMVC仕様において定義されたツールがある。
別の例として3GPPに関して、3GPPファイルをダウンロード及びプログレッシブダウンロードするためにHTTP/TCP/IPトランスポートがサポートされる。さらに、ビデオストリーミングのためにHTTPを使用することは幾つかの利点を与え得、HTTPに基づくビデオストリーミングサービスが普及しつつある。HTTPストリーミングは、ネットワーク上でビデオデータをトランスポートするための新しい技術を開発するために新たな労力が必要とされないように、既存のインターネット構成要素及びプロトコルが使用され得ることを含む幾つかの利点を与え得る。他のトランスポートプロトコル、例えばRTPペイロードフォーマットは、メディアフォーマット及び信号伝達コンテキストを認識するために、中間ネットワーク機器、例えば中間ボックスを必要とする。また、HTTPストリーミングはクライアント主導型であり得、それにより、制御問題を回避し得る。
例えば、最適性能を取得するための特徴を活用するために、サーバは、まだ肯定応答されていないパケットのサイズとコンテンツとを追跡し得る。サーバはまた、RD最適切替え/間引き(thinning)決定を行うために、ファイル構造を分析し、クライアントバッファの状態を再構成し得る。さらに、ネゴシエートされたプロファイルに準拠した状態を保つために、ビットストリーム変動に関する制約が満たされ得る。HTTPは、HTTP1.1が実装されたウェブサーバにおいて、新しいハードウェア又はソフトウェア実装を必ずしも必要とはしない。HTTPストリーミングはまた、TCPフレンドリネスとファイアウォール横断とを実現する。
本開示の技術は、例えば、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)による、HTTPストリーミングなどのネットワークストリーミングプロトコルに適用可能であり得る。HTTPストリーミングでは、頻繁に使用される動作にはGET及び部分GETがある。GET動作は、所定のユニフォームリソースロケータ(URL)又はユニフォームリソースネーム(URN)に関連するファイル全体を検索する。部分GET動作は、入力パラメータとしてバイト範囲を受信し、受信したバイト範囲に対応するファイルの連続する幾つかのバイトを検索する。従って、部分GET動作は1つ以上の個々のムービーフラグメントを得ることができるので、HTTPストリーミングのためのムービーフラグメントが与えられ得る。ムービーフラグメントには、異なるトラックの幾つかのトラックフラグメントがあり得ることに留意されたい。HTTPストリーミングでは、メディア表現は、クライアントがアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。
HTTPストリーミングを使用して3GPPデータをストリーミングする例では、マルチメディアコンテンツのビデオ及び/又はオーディオデータのための複数の表現があり得る。そのような表現のマニフェストは、メディアプレゼンテーション記述(MPD:Media Presentation Description)データ構造中で定義され得る。メディアプレゼンテーションは、HTTPストリーミングクライアント機器がアクセス可能であるデータの構造化された集合に対応し得る。HTTPストリーミングクライアント機器は、クライアント機器のユーザにストリーミングサービスを提示するために、メディアデータ情報を要求し、ダウンロードし得る。MPDの更新を含み得るMPDデータ構造中にメディアプレゼンテーションが記述され得る。
メディアプレゼンテーションは、1つ以上の期間のシーケンスを含み得る。期間は、MPD中のPeriod要素によって定義され得る。各期間は、MPD中に属性startを有し得る。MPDは、期間ごとのstart属性とavailableStartTime属性とを含み得る。ライブサービスでは、期間のstart属性とMPD属性availableStartTimeとの和は、UTCフォーマットでの期間の利用可能性時間、特に、対応する期間中の各表現の第1のメディアセグメントを指定し得る。オンデマンドサービスでは、第1の期間のstart属性は0であり得る。他の期間では、start属性は、対応する期間の開始時間と第1の期間の開始時間との間の時間オフセットを指定し得る。各期間は、次の期間の開始まで、又は最後の期間の場合、メディアプレゼンテーションの終了まで継続し得る。期間開始時間は正確であり得る。それらは、全ての前の期間のメディアを再生することから得られる実際のタイミングを反映し得る。
各期間は、同じメディアコンテンツのための1つ以上の表現を含み得る。表現は、オーディオ又はビデオデータの幾つかの代替符号化バージョンの1つであり得る。表現は、符号化タイプによって、例えば、ビデオデータの場合、ビットレート、解像度、及び/又はコーデックによって、並びにオーディオデータの場合、ビットレート、言語、及び/又はコーデックによって異なり得る。表現という用語は、マルチメディアコンテンツの特定の期間に対応する、特定の方法で符号化された、符号化オーディオ又はビデオデータのセクションを指すために使用され得る。
特定の期間の表現は、MPD中のgroup属性によって示されるグループに割り当てられ得る。同じグループ中の表現は、概して互いの代替と見なされ得る。例えば、特定の期間にわたるマルチメディアコンテンツのビデオデータを表示するために、表現のいずれかが復号のために選択され得るように、対応する期間にわたるビデオデータの各表現が同じグループに割り当てられ得る。幾つかの例では、1つの期間内のメディアコンテンツは、存在する場合、グループ0からの1つの表現、又は各非ゼログループからの多くても1つの表現の組合せのいずれかによって表され得る。期間の各表現のタイミングデータは、期間の開始時間に対して表され得る。
表現は1つ以上のセグメントを含み得る。各表現は初期化セグメントを含み得るか、又は表現の各セグメントは自己初期化していることがある。存在するとき、初期化セグメントは、表現にアクセスするための初期化情報を含み得る。概して、初期化セグメントはメディアデータを含んでいない。セグメントは、ユニフォームリソースロケータ(URL)、ユニフォームリソースネーム(URN)、又はユニフォームリソース識別子(URI)などの識別子によって一意に参照され得る。MPDはセグメントごとの識別子を与え得る。幾つかの例では、MPDはまた、URL、URN、又はURIによってアクセス可能なファイル内のセグメントのためのデータに対応し得るバイト範囲をrange属性の形態で与え得る。
各メディア構成要素が、オーディオ、ビデオ、又は(例えば、クローズドキャプションのための)時限テキストなど、1つの個々のメディアタイプの符号化バージョンに対応し得る場合、各表現はまた、1つ以上のメディア構成要素を含み得る。メディア構成要素は、1つの表現内の連続するメディアセグメントの境界を越えて時間連続であり得る。
MPDはまた、例えば、group属性を与えることによって部分表現をサポートし得る。部分表現は、マルチメディアファイルのビデオ又はオーディオトラックに対応し得る。MPDは、2つの部分表現が互いに切替え可能であるとき、2つの部分表現が同じgroup属性を有することを示し得る。
サーバ機器も、2つの表現が互いに効率的に切替え可能かどうかを信号伝達し得る。表現のいずれかを復号するとき、他の表現の初期化セグメントが使用され得る場合、2つの表現は効率的に切替え可能であると見なされ得る。即ち、クライアント機器は、現在の表現のための初期化セグメントを受信し、次いで、新しい表現のための初期化セグメントを要求することなしに新しい表現に切り替え得る。
サーバ機器は、表現が部分表現であるか否かを示すフラグをMPDデータ構造中で設定し得る。例えば、MPDデータ構造は表現ごとの切替え識別子を含み得る。サーバ機器は、2つ以上の効率的に切替え可能な表現の切替え識別子を同じ値に設定し得る。このようにして、クライアント機器は、同じ切替え識別子を有する表現の各々に基づいて、互いに効率的に切替え可能である表現のセットを決定し得る。サーバは、表現のセグメントが時間的に整合しているかどうかをMPD中でさらに示し得る。
各表現がMPDの帯域幅属性の値以上で配信されるとすれば、MPDはまた、スムーズなプレイアウトを保証するために必要とされる、初めにバッファされるメディアの最小量を示す、minBufferTime属性を含み得る。このようにして、ある量の利用可能な帯域幅を仮定すると、クライアント機器は、再生を開始する前にどのくらいのメディアをバッファすべきかを決定し得る。クライアントは、利用可能な帯域幅の量に基づいて、例えば、初めに、又はネットワーク状態が変化するとき、帯域幅属性に基づいて表現をさらに選択し得る。これらの属性は、様々なネットワーク状態の下でコンテンツの連続復号及びプレゼンテーションを可能にするためのソリューションにおける単純なバッファモデルを与え得る。
各期間において、表現は互いに切替え可能であり得る。MPDは、bitstreamSwitchingFlag属性を与え得る。このフラグが真であるとき、それは、同じメディアタイプを含んでいる任意の2つの異なる表現からの、期間内の任意の2つの時間連続メディアセグメントのビットストリームレベルでのスプライシングの結果がメディアセグメントフォーマットに準拠することを示す。このフラグが真であるとき、全てのビットストリームは、時間的に整合しており、同じプロファイル及びレベルインジケータを有し、(H.264/AVC符号化の例では)多くのシーケンスパラメータが同じであると仮定され得る。
ストリーミング及び再生中に、クライアント機器は表現間で切り替え得る。例えば、クライアント機器は、利用可能な帯域幅が増加又は減少するようにネットワーク状態が変化したと決定し得る。クライアント機器は、より高品質の表現のデータを復号し、レンダリングすることが可能であると仮定すると、帯域幅が増加したとき、クライアント機器はより高品質の表現に切り替え得る。一方、帯域幅が減少したとき、クライアント機器はより少ない帯域幅を消費する、より低品質の表現に切り替え得る。概して、進行中のメディアプレゼンテーション中に更新された情報に基づいて、クライアント機器が表現を切り替え得る。新しい表現への切替えは、前の表現が停止された時点(例えば、時間位置)から表現内の特定の位置を検索し始めること、又は検索しようとすることと同様のプロシージャを含み得る。
新しい表現への切替えが適切であると決定した後、クライアント機器は、ランダムアクセスポイントにおいて開始する新しい表現をストリーミングし始め得る。即ち、クライアント機器は、現在のプレゼンテーション時間よりも後であるが、それに近い所望のプレゼンテーション時間において、新しい表現中のランダムアクセスポイントをシークし得る。ランダムアクセスポイントまでの前の表現からのデータを提示し、次いで、ランダムアクセスポイント以降の新しい表現からのデータを提示することによって、クライアント機器はシームレスな切替えを達成し得る。本開示の技術によれば、クライアント機器は、信号伝達された遅延時間を使用して、新しい表現のデータをストリーミングし始める、新しい表現のランダムアクセスポイントを決定し得る。サーバ機器は、メディアコンテンツのためのMPDデータ構造中で遅延時間を信号伝達し得る。幾つかの例では、発信源機器は、異なる表現にまたがってランダムアクセスポイントを整合させ得、それにより、表現中のランダムアクセスポイントの位置を特定する際に利点を与え得る。
場合によっては、2つの切替え可能な表現が時間整合されていないことがある。例えば、2つの表現中のランダムアクセスポイントが、異なる時間位置において生じ得る。そのような場合、サーバは、2つの表現が整合されていないことを示すために、フラグを設定するか又は他の情報を与え得る。そのような場合、ある表現から他の表現への切替えは困難であり得る。例えば、現在の表現中のフラグメントの終了と、切替え先の(switched-to)表現の新しいフラグメント中のランダムアクセスポイントにおいて開始するフレームとは、表示時間が重複し得る。本開示はまた、2つの整合されていない表現間でシームレスに切り替えるための技術を与える。特に、クライアント機器及び/又はサーバ機器は、ランダムアクセスポイントにおいて新しい表現に切り替える前にクライアント機器に現在の表現からデータを検索し続けさせるために追加の遅延を導入し得る。この遅延は、現在の表現のGOP構造並びにGOP中のピクチャの位置に依存し得る。
本開示の技術によれば、サーバ機器は、1つの表現中の非ランダムアクセスポイントピクチャの時間位置と、別の表現中のランダムアクセスポイントピクチャの時間位置との間の差を表す重なり遅延値を信号伝達し得る。サーバ機器は、重なり遅延値を表現のためのMPD中で信号伝達し得る。幾つかの例では、サーバ機器は、全期間にわたって、又はさらには全サービスにわたって、各表現の最大重なり遅延値を信号伝達し得る。幾つかの例では、サーバ機器は、重なり遅延と、整合されているフラグメントについて上記で説明した遅延値との和として最大遅延値を信号伝達し得る。従って、サーバ機器は、2つ以上の切替え可能な表現のための最大復号遅延と、最大ピクチャ並べ替え遅延と、最大重なり遅延との和を含み得る単一の遅延値を信号伝達し得る。
サーバ機器は、表現のための最小遅延値をさらに信号伝達し得る。表現がそれの帯域幅属性の値以上で配信されると仮定すると、最小遅延をカバーするために十分なデータがバッファされる場合、クライアント機器は表現のスムーズなプレイアウトが保証され得る。サーバ機器は、シームレスな切替えの場合をカバーするために最小バッファ時間値の計算を変更するように構成され得る。各表現がそれの帯域幅属性の値以上で配信される場合、最小バッファ時間値(minBufferTime)は、スムーズなプレイアウトとシームレスな切替えとを保証するために必要とされる、初めにバッファされるメディアの最小量を与え得る。このようにして、最小バッファ時間値は、様々なネットワーク状態の下でコンテンツの連続復号及びプレゼンテーションを可能にするためのソリューションにおける単純なバッファモデルに対応し得る。
概して、クライアント機器のユーザは、再生中にメディアプレゼンテーションを休止又は停止し得る。ユーザがプレゼンテーションを休止又は停止すると、ユーザが再生を再開するまで、クライアント機器はメディアセグメント又はそれの一部分を要求するのを止め得る。再開するために、クライアント機器は、最後の要求されたフラグメントの直後のフラグメントで開始するメディアセグメントを要求し得る。任意の特定の表現のためのMPDは、表現のためのTrickMode要素を与え得、その場合、表現は、トリックモードとともに使用することを明示的に可能にされていると仮定され得る。トリックモードは、概して、早送りモード及び巻戻しモード、又は「通常の」再生に対して再生が変更された他のそのようなモードを含む。MPDは、alternatePlayoutRate属性を与え得、その場合、クライアント機器は、通常のプレイアウトレートと同じデコーダプロファイル及びレベルで、alternatePlayoutRateに対応する速度で表現を再生し得る。クライアント機器はまた、トリックモード挙動をサポートするために複数の表現を使用し得る。
図1は、オーディオ/ビデオ(A/V)発信源機器20がオーディオ及びビデオデータをA/V宛先機器40にトランスポートする例示的なシステム10を示すブロック図である。図1のシステム10は、ビデオ通信会議システム、サーバ/クライアントシステム、放送事業者/受信機システム、又はA/V発信源機器20などの発信源機器からA/V宛先機器40などの宛先機器にビデオデータが送られる任意の他のシステムに対応し得る。幾つかの例では、A/V発信源機器20及びA/V宛先機器40は双方向情報交換を実行し得る。即ち、A/V発信源機器20及びA/V宛先機器40は、オーディオ及びビデオデータの符号化と復号(及び、送信と受信)の両方が可能であり得る。幾つかの例では、オーディオエンコーダ26は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
A/V発信源機器20は、図1の例では、オーディオ発信源22とビデオ発信源24とを備える。オーディオ発信源22は、例えば、オーディオエンコーダ26によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオ発信源22は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータ生成器、又はオーディオデータの任意の他のソースを備え得る。ビデオ発信源24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、又はビデオデータの任意の他のソースを備え得る。
概して、発信源機器20は符号化ビデオコンテンツのサーバとして働き得る。ビデオエンコーダ28は、同じビデオコンテンツを異なる方法で、例えば、異なる符号化規格、及び/又は異なるビットレート、フレームレート、又はバージョン(例えば、2次元又は3次元)での符号化を使用して符号化し得る。従って、同じビデオコンテンツは、多種多様な表現において利用可能であり得る。発信源機器20は、ビデオコンテンツの異なる表現の利用可能性を広告し得る。宛先機器40は、例えば、表現の特性及び宛先機器40の復号及びレンダリング能力、並びに現在のネットワーク状態、例えば、利用可能な帯域幅に基づいて、表現のうちの1つを選択することが可能であり得る。
発信源機器20は、例えば、HTTPバージョン1.1に従って、概してサーバとして働き得る。従って、発信源機器20は、ストリーミングネットワークプロトコルとDASH規格などのネットワークベースのストリーミング規格とに従って、表現のためのデータを宛先機器40に与え得る。場合によっては、以下でより詳細に説明するように、表現は切替え可能であり得る。即ち、宛先機器40は、1つの表現のデータを検索し始め、次いで、途中で異なる表現に切り替え得る。本開示の技術によれば、宛先機器40は、2つの表現を並列に復号する必要なしに、及び再生におけるギャップに遭遇することなしに、2つの表現間でシームレスに切り替え得る。
オーディオ発信源22及びビデオ発信源24は、未加工オーディオ及びビデオデータをキャプチャし得る。未加工オーディオ及びビデオデータは、アナログ又はデジタルデータを備え得る。アナログデータは、オーディオエンコーダ26及び/又はビデオエンコーダ28によって符号化される前にデジタル化され得る。オーディオ発信源22は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオ発信源24は、通話参加者のビデオデータを取得し得る。他の例では、オーディオ発信源22は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオ発信源24は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技術は、ライブ、ストリーミング、リアルタイムオーディオ及びビデオデータ、又はアーカイブされた、あらかじめ記録されたオーディオ及びビデオデータに適用され得る。
ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれている、ビデオ発信源24によって取得されたビデオデータと同時にオーディオ発信源22によって録音されたオーディオデータを含んでいるオーディオフレームである。例えば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオ発信源22はオーディオデータを取得し、同時に、即ちオーディオ発信源22がオーディオデータを取得している間、ビデオ発信源24は通話参加者のビデオデータを取得する。従って、オーディオフレームは、1つ以上の特定のビデオフレームに時間的に対応し得る。従って、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時に取得される状況、及びオーディオフレームとビデオフレームとが、それぞれ、同時に取得されたオーディオデータとビデオデータとを備える状況に対応する。
幾つかの例では、オーディオエンコーダ26は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し得、同様に、ビデオエンコーダ28は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと同じタイムスタンプを備えるビデオフレームとを備え得る。A/V発信源機器20は、オーディオエンコーダ26及び/又はビデオエンコーダ28がそこからタイムスタンプを生成し得るか、若しくはオーディオ発信源22及びビデオ発信源24がオーディオ及びビデオデータをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。
幾つかの例では、オーディオ発信源22は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ26に送り得、ビデオ発信源24は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ28に送り得る。幾つかの例では、オーディオエンコーダ26は、必ずしもオーディオデータが記録された絶対時刻を示すことなしに、符号化オーディオデータの相対的時間順序を示すために、符号化オーディオデータ中のシーケンス識別子を符号化し得、同様に、ビデオエンコーダ28も、符号化ビデオデータの相対的時間順序を示すためにシーケンス識別子を使用し得る。同様に、幾つかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、又は場合によってはタイムスタンプと相関し得る。
本開示の技術は、概して、符号化マルチメディア(例えば、オーディオ及びビデオ)データの記憶及び転送と、転送されたマルチメディアデータの受信並びに後続の解釈及び復号とを対象とする。図1の例に示すように、ビデオ発信源24はシーンの複数のビューをビデオエンコーダ28に与え得る。
各個のデータストリームは(オーディオかビデオかにかかわらず)エレメンタリストリームと呼ばれる。エレメンタリストリームは、デジタル的に符号化された(場合によっては圧縮された)プログラムの単一の構成要素である。例えば、プログラムの符号化ビデオ又はオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES:packetized elementary stream)に変換され得る。同じプログラム内では、1つのエレメンタリストリームに属するPESパケットを他のものから区別するためにストリームIDが使用される。エレメンタリストリームの基本データ単位はパケット化エレメンタリストリーム(PES)パケットである。従って、MVCビデオデータの各ビューはそれぞれのエレメンタリストリームに対応する。同様に、オーディオデータは1つ以上のそれぞれのエレメンタリストリームに対応する。
図1の例では、カプセル化ユニット30は、ビデオエンコーダ28からビデオデータを備えるエレメンタリストリームを受信し、オーディオエンコーダ26からオーディオデータを備えるエレメンタリストリームを受信する。幾つかの例では、ビデオエンコーダ28及びオーディオエンコーダ26はそれぞれ、符号化データからPESパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ28及びオーディオエンコーダ26はそれぞれ、符号化データからPESパケットを形成するためのパケッタイザとインターフェースし得る。さらに他の例では、カプセル化ユニット30は、符号化オーディオデータと符号化ビデオデータとからPESパケットを形成するためのパケッタイザを含み得る。
本開示で使用する表現は、オーディオデータとビデオデータの組合せ、例えば、A/V発信源機器20によって配信されたオーディオエレメンタリストリームとビデオエレメンタリストリームとを含み得る。例えば、ビデオデータが、異なるフレームレート、異なるビットレート、又は異なる解像度で符号化されると、マルチメディアコンテンツは1つ以上の表現を有し得る。同様に、マルチメディアコンテンツのためのオーディオデータは、様々な言語、例えば、英語、フランス語、中国語に対応し得る。表現は、オーディオエレメンタリストリーム及び(例えば、3次元ビデオデータをサポートするために)1つ以上のビデオエレメンタリストリームの選択に対応し得る。
カプセル化ユニット30は、オーディオエンコーダ26とビデオエンコーダ28とからプログラムのエレメンタリストリームのPESパケットを受信し、PESパケットから対応するネットワークアブストラクションレイヤ(NAL)ユニットを形成する。H.264/AVC(Advanced Video Coding)の例では、符号化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、又はストリーミングなどのアプリケーションに対処する「ネットワークフレンドリーな」ビデオ表現を与えるNALユニットに編成される。NALユニットは、Video Coding Layer(VCL)NALユニットと非VCL NALユニットとにカテゴリー分類され得る。VCLユニットは、コア圧縮エンジンによって生成されたデータに対応し得、ブロック、マクロブロック、及び/又はスライスレベルのデータを含み得る。他のNALユニットは非VCL NALユニットであり得る。幾つかの例では、通常は1次符号化ピクチャとして提示される、1つの時間インスタンス中の符号化ピクチャは、1つ以上のNALユニットを含み得るアクセスユニット中に含まれ得る。
非VCL NALユニットは、特に、パラメータセットNALユニットとSEI NALユニットとを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS:sequence parameter set)中の)シーケンスレベルヘッダ情報と(ピクチャパラメータセット(PPS:picture parameter set)中の)まれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット(例えば、PPS及びSPS)がある場合、まれに変化する情報をシーケンスごと又はピクチャごとに繰り返す必要はなく、従って符号化効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし得、誤り耐性のための冗長送信の必要を回避する。帯域外送信の例では、SEI NALユニットなど、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。
補足エンハンスメント情報(SEI)は、VCL NALユニットからの符号化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、及び他の目的に関係するプロセスを支援し得る情報を含んでいることがある。SEIメッセージは、非VCL NALユニット中に含まれていることがある。SEIメッセージは、一部の標準規格の規範的部分であり、従って、常に標準準拠デコーダ実装のために必須であるとは限らない。SEIメッセージは、シーケンスレベルのSEIメッセージ又はピクチャレベルのSEIメッセージであり得る。幾つかのシーケンスレベル情報は、SVCの例ではスケーラビリティ情報SEIメッセージ、MVCではビュースケーラビリティ情報SEIメッセージなど、SEIメッセージ中に含まれていることがある。これらの例示的なSEIメッセージは、例えば、動作ポイントの抽出及びそれらの動作ポイントの特性に関する情報を伝達し得る。
本開示の技術によれば、カプセル化ユニット30は、2つ以上の表現が互いに効率的に切替え可能であることを信号伝達し得る。カプセル化ユニット30は、例えば、表現の符号化サンプルを復号及び/又はレンダリングするために、2つ以上の表現の初期化セグメントが互換的に使用され得るかどうかを決定し得る。カプセル化ユニット30は、表現が互いに効率的に切替え可能であるかどうかを示すために使用されるデータを生成し得る。従って、宛先機器40は、例えば、ストリーミング中にある表現から別の表現に切り替えるためにデータを要求し得る。
カプセル化ユニット30はまた、2つの効率的に切替え可能な表現間で切り替えるときの最大遅延を表す遅延値を計算し得る。即ち、遅延値は、概して、(一定の帯域幅利用可能性を仮定すると)2つの表現間で切り替えるときに予想され得る遅延量を表し得る。従って、カプセル化ユニット30は、表現が時間的に整合しているとき、最大復号遅延と最大ピクチャ並べ替え遅延との和として遅延値を計算し得る。表現が時間的に整合していないとき、例えば、表現内の異なる時間位置においてランダムアクセスポイントが生じるとき、カプセル化ユニット30はさらに重なり遅延を計算し得、計算された遅延値中に重なり遅延を含め得る。発信源機器20は、例えば、宛先機器40からの遅延値の要求に応答して遅延値を宛先機器40に与え得る。
宛先機器40は、2つの表現間のシームレスな切替えを実行するために、遅延値に基づいて表現の十分な量のデータを検索してバッファするように構成され得る。従って、宛先機器40は、表示ギャップを被ることなしに、宛先機器40が、異なる表現のデータを要求し始め、新しい表現のデータを復号し始めることが可能である十分な量のデータをバッファし得る。即ち、新しい表現からデータを検索しながら、宛先機器40は、前の表現からのデータを復号し、レンダリングし得る。さらに、宛先機器40は、2つの表現の同時復号が必要でないように構成され得る。即ち、新しい表現のランダムアクセスポイントにアクセスした後、宛先機器40は、ビデオ再生において同じ時間位置に対応する2つ以上の表現からのデータを復号する必要はない。ビデオデコーダ48が、同じ時間位置に対して複数のサンプルを復号する必要がないという点で、これはバッテリー性能を改善し得る。
そのペイロード中にビデオデータを含むNALユニットは、様々な精度レベル(granularity levels)のビデオデータを備え得る。例えば、NALユニットは、ビデオデータのブロック、マクロブロック、複数のマクロブロック、ビデオデータのスライス、又はビデオデータのフレーム全体を備え得る。カプセル化ユニット30は、ビデオエンコーダ28から符号化ビデオデータをエレメンタリストリームのPESパケットの形態で受信し得る。カプセル化ユニット30は、各エレメンタリストリームを対応するプログラムに関連付け得る。
カプセル化ユニット30はまた、複数のNALユニットからアクセスユニットをアセンブルし得る。概して、アクセスユニットは、ビデオデータのフレームを表すための1つ以上のNALユニット、並びにそのフレームに対応するオーディオデータが利用可能なとき、そのようなオーディオデータを備え得る。アクセスユニットは、概して、1つの出力時間インスタンスにわたる全てのNALユニット、例えば1つの時間インスタンスにわたる全てのオーディオ及びビデオデータを含む。例えば、各ビューが毎秒20フレーム(fps)のフレームレートを有する場合、各時間インスタンスは0.05秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット(同じ時間インスタンス)の全てのビューの固有のフレームは同時にレンダリングされ得る。H.264/AVCに対応する例では、アクセスユニットは、1次符号化ピクチャとして提示され得る、1つの時間インスタンス中の符号化ピクチャを備え得る。従って、アクセスユニットは、共通の時間インスタンスの全てのオーディオ及びビデオフレーム、例えば、時間Xに対応する全てのビューを備え得る。本開示はまた、特定のビューの符号化ピクチャを「ビュー構成要素」と呼ぶ。即ち、ビュー構成要素は、特定の時間における特定のビューの符号化ピクチャ(又はフレーム)を備え得る。従って、アクセスユニットは、共通の時間インスタンスの全てのビュー構成要素を備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力又は表示順序と同じである必要はない。
多くのビデオ符号化規格の場合と同様に、H.264/AVCは、誤りのないビットストリームのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれかは特定のプロファイル又はレベルに準拠する。H.264/AVCはエンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオ符号化規格のコンテキストにおいて、「プロファイル」は、アルゴリズム、機能、又はそれらに適用するツール及び制約のサブセットに対応する。例えば、H.264規格によって定義される「プロファイル」は、H.264規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、例えば、ピクチャの解像度、ビットレート、及びマクロブロック(MB)処理レートに関係するデコーダメモリ及び計算など、デコーダリソース消費の制限に対応する。プロファイルはprofile_idc(プロファイルインジケータ)値を用いて信号伝達され得、レベルはlevel_idc(レベルインジケータ)値を用いて信号伝達され得る。
H.264規格は、例えば、与えられたプロファイルのシンタックスによって課される限界内で、復号されたピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダ及びデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。H.264規格は、多くのアプリケーションにおいて、特定のプロファイル内でシンタックスの全ての仮定的使用を処理することが可能なデコーダを実装することが実際的でもなく、経済的でもないことをさらに認識している。従って、H.264規格は、ビットストリーム中のシンタックス要素の値に課せられた制約の指定されたセットとして「レベル」を定義している。これらの制約は、値に関する単純な限界であり得る。代替的に、これらの制約は、値の演算の組合せ(例えば、ピクチャの幅×ピクチャ高さ×毎秒復号されるピクチャの数)に関する制約の形態をとり得る。H.264規格は、個別の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定している。
プロファイルに準拠するデコーダは、通常、プロファイル中で定義された全ての機能をサポートする。例えば、符号化機能として、Bピクチャ符号化は、H.264/AVCのベースラインプロファイルではサポートされないが、H.264/AVCの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能である必要がある。プロファイル及びレベルの定義は、説明可能性のために役立ち得る。例えば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より詳細には、H.264/AVCでは、レベルは、例えば、処理する必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファ(DPB)サイズと、符号化ピクチャバッファ(CPB)サイズと、垂直動きベクトル範囲と、2つの連続するMBごとの動きベクトルの最大数と、Bブロックが8×8画素未満のサブマクロブロックパーティションを有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを決定し得る。
パラメータセットは、概して、シーケンスパラメータセット(SPS)中のシーケンスレイヤヘッダ情報とピクチャパラメータセット(PPS)中のまれに変化するピクチャレイヤヘッダ情報とを含んでいる。パラメータセットがある場合、このまれに変化する情報をシーケンスごと又はピクチャごとに繰り返す必要はなく、従って符号化効率が改善され得る。さらに、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、誤り耐性を達成するための冗長送信の必要を回避し得る。帯域外送信では、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信される。
SVC及びMVCの例は、スケーラブルビデオ又はマルチビュービデオのためのシーケンスパラメータセット(SPS)拡張を与える。SPS拡張情報は、他のNALユニットとは異なるNALユニットタイプを有し得る、サブSPS NALユニット中に含まれていることがある。サポートされる動作点についてのプロファイル及びレベル情報は、SPS拡張情報を含むNALユニット中に含まれ得る。
メディア表現は、異なる代替表現(例えば、異なる品質をもつビデオサービス)の記述を含んでいることがあるメディアプレゼンテーション記述(MPD)を含み得、記述は、例えば、コーデック情報、プロファイル値、及びレベル値を含み得る。様々なプレゼンテーションのムービーフラグメントにアクセスする方法を決定するために、宛先機器40はメディア表現のMPDを検索し得る。ムービーフラグメントは、ビデオファイルのムービーフラグメントボックス(moofボックス)中に配置され得る。
ITU−TH.261、H.262、H.263、MPEG−1、MPEG−2及びH.264/MPEG−4 part10などのビデオ圧縮規格は、時間冗長性を低減するために動き補償時間予測を利用する。エンコーダは、動きベクトルに従って現在の符号化ピクチャを予測するために、幾つかの前の(本明細書ではフレームとも呼ぶ)符号化ピクチャからの動き補償予測を使用する。典型的なビデオ符号化には3つの主要なピクチャタイプがある。それらは、イントラ符号化ピクチャ(「Iピクチャ」又は「Iフレーム」)と、予測ピクチャ(「Pピクチャ」又は「Pフレーム」)と、双方向予測ピクチャ(「Bピクチャ」又は「Bフレーム」)とである。Pピクチャは、時間順序で現在のピクチャの前の参照ピクチャのみを使用する。Bピクチャでは、Bピクチャの各ブロックは、1つ又は2つの参照ピクチャから予測され得る。これらの参照ピクチャは、時間順序で現在のピクチャの前又は後に位置し得る。
H.264符号化規格によれば、一例として、Bピクチャは、前に符号化された参照ピクチャの2つのリスト、即ち、リスト0とリスト1とを使用する。これらの2つのリストは、それぞれ、過去及び/又は将来の符号化ピクチャを時間順序で含むことができる。Bピクチャ中のブロックは、幾つかの方法、即ちリスト0参照ピクチャからの動き補償予測、リスト1参照ピクチャからの動き補償予測、又はリスト0参照ピクチャとリスト1参照ピクチャの両方の組合せからの動き補償予測のうちの1つで予測され得る。リスト0参照ピクチャとリスト1参照ピクチャの両方の組合せを得るために、2つの動き補償基準エリアが、それぞれリスト0参照ピクチャ及びリスト1参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用され得る。
ITU−T H.264規格は、ルーマ成分については16×16、8×8、又は4×4、及びクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8及び4×4、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「N×(x)N」と「N×(by)N」は、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、16×(x)16画素又は16×(by)16画素を指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16画素を有し(y=16)、水平方向に16画素を有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にN画素を有し、水平方向にN画素を有し、Nは、非負整数値を表す。ブロック中の画素は行と列に構成され得る。ブロックは、水平寸法と垂直寸法とにおいて異なる数の画素を有し得る。即ち、ブロックはN×M画素を含み得、Nは必ずしもMに等しいとは限らない。
16×16よりも小さいブロックサイズは16×16マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、画素領域中の画素データのブロックを備え得、又は、例えば、符号化ビデオブロックと予測ビデオブロックとの画素差分を表す残差ビデオブロックデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。一般に、マクロブロック、及びサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロック及び/又はサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、又はフレームの他の部分が復号可能なユニットとして定義され得る。「符号化ユニット」又は「符号化ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ(GOP)など、ビデオフレームの単独で復号可能な任意のユニット、又は適用可能な符号化技術に従って定義される別の単独で復号可能なユニットを指すことがある。
マクロブロックという用語は、16×16画素を備える2次元画素アレイに従ってピクチャ及び/又はビデオデータを符号化するためのデータ構造を指す。各画素はクロミナンス成分と輝度成分とを備える。従って、マクロブロックは、各々が8×8画素の2次元アレイを備える4つの輝度ブロックと、各々が16×16画素の2次元アレイを備える2つのクロミナンスブロックと、符号化ブロックパターン(CBP)、符号化モード(例えば、イントラ(I)又はインター(P又はB)符号化モード)、イントラ符号化ブロックのパーティションのパーティションサイズ(例えば、16×16、16×8、8×16、8×8、8×4、4×8、又は4×4)、又はインター符号化マクロブロックのための1つ以上の動きベクトルなど、シンタックス情報を備えるヘッダとを定義し得る。
ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、及びカプセル化解除ユニット38は、それぞれ、適用可能なとき、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適な処理回路のいずれか、又はそれらの任意の組合せとして実装され得る。ビデオエンコーダ28及びビデオデコーダ48の各々は1つ以上のエンコーダ又はデコーダ中に含められ得、そのいずれかは複合ビデオエンコーダ/デコーダ(CODEC)の一部として統合され得る。同様に、オーディオエンコーダ26及びオーディオデコーダ46の各々は1つ以上のエンコーダ又はデコーダ中に含められ得、そのいずれかは複合CODECの一部として統合され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、及び/又はカプセル化解除ユニット38を含む装置は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。
カプセル化ユニット30が、受信したデータに基づいてNALユニット及び/又はアクセスユニットをビデオファイルに組み立てた後、カプセル化ユニット30はビデオファイルを出力のために出力インターフェース32に受け渡す。幾つかの例では、カプセル化ユニット30は、ビデオファイルをローカルに記憶するか、又はビデオファイルを直接宛先機器40に送るのではなく、出力インターフェース32を介してビデオファイルをリモートサーバに送り得る。出力インターフェース32は、例えば、送信機、トランシーバ、例えば、オプティカルドライブ、磁気メディアドライブ(例えば、フロッピー(登録商標)ドライブ)など、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス(USB)ポート、ネットワークインターフェース、又は他の出力インターフェースを備え得る。出力インターフェース32は、ビデオファイルを、例えば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、又は他のコンピュータ可読媒体など、コンピュータ可読媒体34に出力する。
最終的に、入力インターフェース36はコンピュータ可読媒体34からデータを検索する。入力インターフェース36は、例えば、オプティカルドライブ、磁気媒体ドライブ、USBポート、受信機、トランシーバ、又は他のコンピュータ可読媒体インターフェースを備え得る。入力インターフェース36は、NALユニット又はアクセスユニットをカプセル化解除ユニット38に与え得る。カプセル化解除ユニット38は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを検索すためにPESストリームをパケット化解除し、例えば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオ又はビデオストリームの一部であるかどうかに応じて、符号化データをオーディオデコーダ46又はビデオデコーダ48に送り得る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号されたオーディオデータをオーディオ出力42に送り、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号されたビデオデータをビデオ出力44に送る。
図2は、例示的なカプセル化ユニット30の構成要素を示すブロック図である。図2の例では、カプセル化ユニット30は、ビデオ入力インターフェース80と、オーディオ入力インターフェース82と、ビデオファイル作成ユニット60と、ビデオファイル出力インターフェース84とを含む。ビデオファイル作成ユニット60は、この例では、NALユニットコンストラクタ62と、切替え情報ユニット64と、初期化セグメントユニット66とを含む。
ビデオ入力インターフェース80及びオーディオ入力インターフェース82は、それぞれ符号化ビデオデータ及び符号化オーディオデータを受信する。ビデオ入力インターフェース80及びオーディオ入力インターフェース82は、データが符号化されると、符号化ビデオデータ及び符号化オーディオデータを受信するか、又は符号化ビデオデータ及び符号化オーディオデータをコンピュータ可読媒体から検索し得る。符号化ビデオデータ及び符号化オーディオデータを受信すると、ビデオ入力インターフェース80及びオーディオ入力インターフェース82は、ビデオファイルに集約するために符号化ビデオデータ及び符号化オーディオデータをビデオファイル作成ユニット60に受け渡す。
ビデオファイル作成ユニット60は、制御ユニットによる機能及び手順を実行するように構成されたハードウェア、ソフトウェア、及び/又はファームウェアを含む制御ユニットに対応し得る。制御ユニットは、概して、カプセル化ユニット30に起因する機能をさらに実行し得る。ビデオファイル作成ユニット60がソフトウェア及び/又はファームウェアで実施される例では、カプセル化ユニット30は、ビデオファイル作成ユニット60のための命令を備えるコンピュータ可読媒体と、命令を実行するためのハードウェアベースの処理ユニットとを含み得る。ビデオファイル作成ユニット60のサブユニット(この例では、NALユニットコンストラクタ62、切替え情報ユニット64、及び初期化セグメントユニット66)の各々は、個々のハードウェアユニット及び/又はソフトウェアモジュールとして実装され得、機能的に統合されるか、又は追加のサブユニットにさらに分離され得る。
ビデオファイル作成ユニット60は、例えば、(単一の集積回路の複数のコアに対応し得る)1つ以上のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、又は任意のそれらの組合せなど、任意の好適な処理ユニット又は処理回路に対応し得る。ビデオファイル作成ユニット60は、NALユニットコンストラクタ62、切替え情報ユニット64、及び初期化セグメントユニット66のいずれか又は全てのための命令を記憶する非一時的コンピュータ可読媒体、並びに命令を実行するためのプロセッサをさらに含み得る。
概して、ビデオファイル作成ユニット60は、受信したオーディオ及びビデオデータを含むビデオファイルを作成し得る。NALユニットコンストラクタ62は、符号化ビデオ及びオーディオサンプルを含むNALユニットを形成し得る。ビデオファイル作成ユニット60は、符号化ビデオ及びオーディオサンプルを含む表現を組み立てるようにさらに構成され得る。幾つかの例では、ビデオファイル作成ユニット60は、幾つかの例では、互いに切替え可能であり得る複数の表現を作成し得る。
切替え情報ユニット64は、2つ以上の表現の間で切り替えるための情報を生成するように構成され得る。例えば、切替え情報ユニット64は、最大復号遅延と、最大ピクチャ並べ替え遅延と、(表現が時間的に整合していないとき)最大重なり遅延との和に基づいて遅延値を計算するように構成され得る。クライアント機器は、遅延値を使用して、ある表現から別の表現にシームレスに切り替えるためにバッファしておくべき表現のデータ量を決定し得る。従って、クライアント機器は、バッファされたピクチャを復号し、ピクチャを並べ替えることに関連する遅延を考慮するために、及びクライアント機器が、新しい表現のデータを検索し、復号し、レンダリングする時間中に、新しい表現のランダムアクセスポイントよりも前のプレゼンテーション時間を有するピクチャが復号され、レンダリングされ得ることを保証するために、十分な量のデータをバッファしておくことがある。
初期化セグメントユニット66は、特定の表現にアクセスするための初期化情報を生成し得る。概して、初期化セグメント中の初期化情報はメディアデータを含んでいない。初期化セグメントユニット66は、表現の各々のための初期化セグメントを生成し得る。しかしながら、場合によっては、複数の表現を初期化するために同じ初期化セグメントが使用され得る。これが当てはまるとき、初期化セグメントユニット66は、表現が効率的に切替え可能であることを示す情報を生成し得る。即ち、第1の表現と第2の表現とが効率的に切替え可能である場合、クライアント機器は第1の表現の初期化セグメントを検索し、第1の表現のデータを検索して復号し、次いで、第2の表現の初期化セグメントを検索しないで、第1の表現の初期化セグメントに基づいて第2の表現のデータを検索し復号することを開始し得る。
幾つかの例では、ビデオファイル作成ユニット60は、メディアプレゼンテーションを記述するメディアプレゼンテーション記述(MPD)データ構造を生成し得る。本開示の技術によれば、ビデオファイル作成ユニット60は、2つ以上の表現が互いに効率的に切替え可能であるかどうかを示す、変更されたMPDデータ構造と、2つの表現間でシームレスに切り替えるための遅延値とを生成し得る。以下の表1に、本開示の技術による例示的なMPDデータ構造を与える。表1は、ビデオファイル作成ユニット60が期間レベルで情報を信号伝達する例である。他の例では、情報は他のレベルで信号伝達され得る。
「要素名又は属性名」列は、シンタックスオブジェクトの名前を表す。「タイプ」列は、シンタックスオブジェクトが要素であるか属性であるかを表す。「基数」列は、シンタックスオブジェクトの基数、即ち、表1に対応するデータ構造のインスタンスにおけるシンタックスオブジェクトのインスタンスの数を表す。「随意性(optionality)」列は、シンタックスオブジェクトが随意であるかどうかを表し、この例では、「M」が必須を示し、「O」は随意を示し、「OD」はデフォルト値で随意を示し、「CM」は条件付きで必須を示す。「説明」列は、対応するシンタックスオブジェクトのセマンティクスを表す。
この例では、ビデオファイル作成ユニット60は、表現が切替え可能であるかどうかを示すために、単一のフラグ(seamlessSwitchingFlag)を設定し得る。フラグが真に設定された場合、初期遅延が、MPD中で信号伝達されたminBufferTimeに等しいかそれよりも大きいとすれば、クライアント機器は表現がシームレスに切替え可能であると仮定し得る。この例のseamlessSwitchingFlagが真に設定されると、クライアント機器は、さらに、シームレスな切替えを実行するために表現のプレイアウトギャップ及び並列復号が必要とされないと仮定し得る。クライアントは、例えば、図8に関して以下で説明する本開示の技術に従って、シームレスな切替えを実行し得る。
Figure 0005770345
Figure 0005770345
図3は、符号化ビデオフレーム100〜132のシーケンスを示す概念図である。フレームは、階層予測構造内の位置を示すために異なる陰影をつけられている。例えば、フレーム100、116、及び132は、フレーム100、116、132が階層予測構造の最上位にあることを表すために黒の陰影をつけられている。フレーム100、116、132は、例えば、単一の方向にある他のフレーム(例えば、Pフレーム)から予測されるイントラ符号化フレーム又はインター符号化フレームを備え得る。イントラ符号化の場合、フレーム100、116、132は同じフレーム内のデータからのみ予測される。インター符号化の場合、フレーム116は、例えば、フレーム116からフレーム100への破線矢印で示すように、フレーム100のデータに対して符号化され得る。フレーム116、132は、それぞれ、ピクチャグループ(GOP)134、136のキーフレームを形成する。
フレーム108、124は、それらが、符号化階層においてフレーム100、116、及び132の次であることを示すために暗い陰影をつけられている。フレーム108、124は、双方向、インターモード予測符号化フレームを備え得る。例えば、フレーム108はフレーム100及び116のデータから予測され得、フレーム124はフレーム116及び132から予測され得る。フレーム104、112、120、及び128は、それらが、符号化階層においてフレーム108及び124の次であることを示すために、明るい陰影をつけられている。フレーム104、112、120、及び128はまた、双方向、インターモード予測符号化フレームを備え得る。例えば、フレーム104はフレーム100及び108から予測され得、フレーム112はフレーム108及び116から予測され得、フレーム120はフレーム116及び124から予測され得、フレーム128はフレーム124及び132から予測され得る。
最後に、フレーム102、106、110、114、118、122、126、及び130は、これらのフレームが符号化階層において最下位であることを示すために白い陰影をつけられている。フレーム102、106、110、114、118、122、126、及び130はまた、双方向、インターモード予測符号化フレームであり得る。フレーム102はフレーム100及び104から予測され得、フレーム106はフレーム104及び108から予測され得、フレーム110はフレーム108及び112から予測され得、フレーム114はフレーム112及び116から予測され得、フレーム118はフレーム116及び120から予測され得、フレーム122はフレーム120及び124から予測され得、フレーム126はフレーム124及び128から予測され得、フレーム130はフレーム128及び132から予測され得る。
フレーム100〜132は表示順序で示されている。即ち、復号に続き、フレーム100はフレーム102の前に表示され、フレーム102はフレーム104の前に表示され、以下同様である。しかしながら、符号化階層により、フレーム100〜132は異なる順序で復号され得る。さらに、符号化された後、フレーム100〜132は、フレーム100〜132のための符号化データを含むビットストリームに復号順序で構成され得る。例えば、フレーム116は、GOP134のフレームのうち最後に表示され得る。しかしながら、符号化階層により、フレーム116はGOP134のうち最初に復号され得る。即ち、フレーム108を適切に復号するために、例えば、フレーム116は、フレーム108のための参照フレームとして働くために最初に復号される必要があり得る。同様に、フレーム108は、フレーム104、106、110、及び112のための参照フレームとして働き得、従って、フレーム104、106、110、及び112の前に復号される必要があり得る。
フレームが表示される時間は、プレゼンテーション時間と呼ばれることがあり、フレームが復号される時間は復号時間と呼ばれることがある。復号時間及びプレゼンテーション時間は、概して、同じシーケンスの他のフレームに対する時間的順序の指示を与える。フレームの復号時間とフレームのプレゼンテーション時間との間の差は、フレームのためのピクチャ並べ替え遅延と呼ばれることがある。上記で説明したように、発信源機器(例えば、発信源機器20)は、表現のための信号伝達されるべき遅延値を計算するために、切替え可能な表現のセットの最大ピクチャ並べ替え遅延を計算し得る。
このようにして、宛先機器40などの宛先機器は、信号伝達された遅延値を使用して、2つの切替え可能な表現間のシームレスな切替えを行うために十分な量のデータをバッファし得る。例えば、フレーム100〜132が第1の表現のフレームであると仮定する。宛先機器40は、ネットワーク状態が変化し、第2の表現が新しいネットワーク状態により好適であると決定し得る。宛先機器40は、さらに、フレーム132と同じプレゼンテーション時間を有する第2の表現中のランダムアクセスポイントが存在すると決定し得る。宛先機器40は、次いで、第1の表現からフレーム100〜116の各々を検索し、次いで、フレーム118〜132のプレゼンテーション時間に等しいプレゼンテーション時間をもつフレームを第2の表現から検索し得る。ランダムアクセスポイントがオープン復号リフレッシュランダムアクセスポイントである場合、フレーム118〜130に対応する第2の表現のフレームが適切に復号され得るように、宛先機器40はまた、フレーム116と同じプレゼンテーション時間を有する第2の表現のフレームを検索し得る。
図4は、切替え可能な表現154、160を示す概念図である。図4に、未加工ビデオシーケンス150と、それぞれ、表現154、160のフラグメント158、164との間の対応を示す。この例では、表現154は初期化セグメント156とフラグメント158A〜158Nとを含み、表現160は初期化セグメント162とフラグメント164A〜164Nとを含む。
初期化セグメント156、162は、同様の又は同じデータを含み得る。従って、幾つかの例では、クライアント機器は、初期化セグメント156を検索し、表現160の初期化セグメント162を検索しないで、表現154の初期化セグメント156に基づいて表現160のうちの1つ以上のフラグメント164のデータを復号し得る。従って、宛先機器は、初期化セグメント156、162の両方を検索しないで、表現154のフラグメント158と表現160のフラグメント164との間で切り替え得る。
一例として、3GPP HTTPストリーミングでは、初期化セグメントは、対応する表現にアクセスするための初期化情報を含んでいるが、初期化セグメントはメディアデータを含んでいない。H.264/AVCで符号化されたビデオをストリーミングするとき、ビデオの最初のIDRピクチャより前に、シーケンスパラメータセット、ピクチャパラメータセット、及び/又は幾つかのシーケンスレベルの補足エンハンスメント情報(SEI)メッセージなど、幾つかのパラメータが存在し得る。それらのパラメータは表現全体に適用可能であり得、従って、本開示の技術によれば、初期化セグメントが使用されているとき、最初のIDRを含んでいるメディアセグメント中にパラメータを含めるのではなく、パラメータは初期化セグメント中に含まれ得る。従って、初期化セグメント156、162は、それぞれ表現154、160のためのシーケンスパラメータセット、ピクチャパラメータセット、及び/又はシーケンスレベルのSEIメッセージを含み得る。
図4の例は、異なるサイズを有するものとしてフラグメント158とフラグメント164とを示している。これは、フラグメント158によって占有されるメモリの量が必ずしもフラグメント164と同じとは限らないことを示すためである。即ち、フラグメント158Aは、例えば、メモリ消費(及び同様にネットワークを介してトランスポートするときの帯域幅使用)に関して、フラグメント164Aと同じサイズではない。但し、破線は、フラグメント158Aとフラグメント164Aとが同じビデオセグメント152Aに対応することを示している。フラグメント158Aと164Aとは異なるサイズであるが、それらはビデオシーケンス150の同じ時間領域に対応する。言い換えれば、フラグメント158Aのサンプルのための開始プレゼンテーション時間及び終了プレゼンテーション時間は、フラグメント164のサンプルのための開始及び終了プレゼンテーション時間に対応する。
このようにして、ランダムアクセスポイントが表現154及び160中の同じポイントにおいて生じたと仮定すると、フラグメント158及び164は時間的に整合していると言われることがある。即ち、フラグメント158のうちの1つ中にランダムアクセスポイントがあるとき、フラグメント164のうちの対応する1つもランダムアクセスポイントを有し、ランダムアクセスポイントは復号順序値を共有する。表現の時間的整合は、2つの表現間で切り替えるプロセスを簡略化し得る。
図5Aは、時間的に整合している2つの表現180、190の一例を示す概念図である。表現180は、ランダムアクセスポイント(RAP)182A、182Bとサンプル184A〜184Dとを含む。ランダムアクセスポイントは、デコーダが、表現中の、ランダムアクセスポイントに先行するデータを受信することなしにランダムアクセスポイントを復号することができるという追加のプロパティをもつサンプルである。従って、ランダムアクセスポイントは、概して、イントラモード符号化であるピクチャであり得る。
例えば、サンプルは、サーバ機器からクライアント機器に送られるビットストリームに構成されるので、表現180のランダムアクセスポイント182及びサンプル184は復号時間順序で示されている。ランダムアクセスポイント182及びサンプル184のプレゼンテーション時間が必ずしも復号時間に一致するとは限らないことを理解されたい。
図5Aの表現190は、ランダムアクセスポイント192A、192Bとサンプル194A〜194Dとを含む。同じく、この例では、ランダムアクセスポイント192及びサンプル194が復号時間順序で示されている。わかるように、ランダムアクセスポイント182は、対応するランダムアクセスポイント192を有する。即ち、ランダムアクセスポイント182Aはランダムアクセスポイント192Aと同じ復号時間を有し、ランダムアクセスポイント182Bはランダムアクセスポイント192Bと同じ復号時間を有する。
表現180から表現190に切り替えるために、クライアント機器は、サーバ機器から受信された遅延値に基づいて、表現180の(ランダムアクセスポイントを含み得る)一定数のサンプルをバッファし得る。次いで、クライアント機器は、例えば、表現180中のランダムアクセスポイントの位置、復号時間、及び/又はプレゼンテーション時間を示す、サーバ機器から信号伝達されたデータを分析することによって、表現180の次のランダムアクセスポイントがいつ生じるかを決定し得る。例えば、表現180の次のランダムアクセスポイントがランダムアクセスポイント182Bであると仮定する。次いで、クライアント機器は、表現180の決定されたランダムアクセスポイントと同じ復号時間を有する、表現190のランダムアクセスポイントにおいて開始する表現190のデータを要求し得る。この例では、クライアント機器は、ランダムアクセスポイント182Bと同じ復号時間を有するランダムアクセスポイント192Bで開始する表現190のデータを要求し始めることになる。
このようにして、クライアント機器は、表現180のデータを継続的に復号し、表現180のバッファされたデータを復号し、並べ替えている間に、表現190のデータを検索し始め得る。表現180のバッファされたデータの全てを復号した後、クライアント機器は、表現190の検索されたデータの復号と並べ替えを直ちに開始し得る。このようにして、クライアント機器は、2つの表現間のシームレスな切替えを実行し得る。即ち、クライアント機器は一度に1つの表現のみを復号し得(従って、切替えを実施するために2つ以上のデコーダを必要としない)、また、他の場合は切替えを実行するために十分なデータがバッファされていないことによって生じ得る、再生におけるギャップを回避し得る。
上記の例では、表現180及び190は時間的に整合しており、クライアント機器が、単に、表現180のバッファされたデータの後にくるランダムアクセスポイントを決定し、次いで、表現180の決定されたランダムアクセスポイントと同じ復号時間を有する、ランダムアクセスポイントにおける表現190のデータを要求することを可能にする。他の例では、2つの表現は時間的に整合していないが、表現間で切り替えるために、依然として本開示の技術が使用され得る。
図5Bは、時間的に整合していない2つの表現200、210の一例を示す概念図である。表現200はランダムアクセスポイント202A、202Bとサンプル204A〜204Dとを含み、表現210はランダムアクセスポイント212A、212Bとサンプル214A〜214Dとを含む。同じく、図5Bの例では、ランダムアクセスポイント及びサンプルは復号時間順序で示されている。
図5Bの例では、表現200と表現210とは時間的に整合していない。詳細には、この例では、ランダムアクセスポイント202Bは、表現210中の対応するランダムアクセスポイント(即ち、同じ復号時間をもつランダムアクセスポイント)を有しない。同様に、ランダムアクセスポイント212Bは、表現200中の対応するランダムアクセスポイントを有しない。概して、2つの表現は同数のランダムアクセスポイントを有する必要はなく、ランダムアクセスポイントは時間的に整合している必要はない。とはいえ、時間的に整合していない2つの表現間の切替えを実行するために、本開示の技術は依然として適用され得る。
表現200と表現210との間で切り替えるために、例えば、クライアント機器は、サーバ機器から受信された遅延値に基づいて、表現200の(ランダムアクセスポイントを含み得る)一定数のサンプルをバッファし得る。サーバ機器は、最大復号遅延と、最大ピクチャ並べ替え遅延と、(表現200と表現210とが時間的に整合していないので)重なり遅延との和として遅延値を計算し得る。従って、遅延値に基づいてデータをバッファすることによって、クライアント機器は、復号遅延と、ピクチャ並べ替え遅延と、時間的に整合していない表現に関連する遅延とを考慮し得る、表現200と表現210との間のシームレスな切替えを保証するために十分なデータ量をバッファし得る。
表現200のバッファされたデータは、表現210のランダムアクセスポイント212Bと重複するフラグメントを含み得る。例えば、フラグメントは、ランダムアクセスポイント202B並びにサンプル204C及び204D(及び、潜在的に、図5Bに示されていない、表現200の後続のサンプル)を含み得る。フラグメント中のサンプルの最も早いプレゼンテーション時間が、ランダムアクセスポイント212Bのプレゼンテーション時間よりも前であり得るが、フラグメント中のサンプルの最も遅いプレゼンテーション時間はランダムアクセスポイント212Bのプレゼンテーション時間よりも後であり得るという点で、フラグメントはランダムアクセスポイント212Bと「重なり」得る。そのようなフラグメントは、ランダムアクセスポイントと重なると言われる。本開示ではまた、そのようなフラグメントをランダムアクセスポイントに「またがる」と呼ぶことがある。フラグメントは、表現200の最後のバッファされたフラグメントに対応し得る。即ち、クライアント機器は、表現210のランダムアクセスポイントと重なるフラグメントを含めて、そのフラグメントまでの表現200からのデータを要求し得る。
クライアント機器はまた、ランダムアクセスポイント212Bを含む、表現210のフラグメントの位置を特定し得る。クライアント機器は、ランダムアクセスポイント212Bを含むフラグメントにおいて開始する表現210からのデータを要求し得る。クライアント機器は、表現200から検索された、ランダムアクセスポイント212Bと重なるフラグメント中のピクチャグループまでのデータを復号し得る。このピクチャのループに達すると、クライアント機器は、表現210のデータを復号し始め得る。クライアント機器は、ランダムアクセスポイント212Bのプレゼンテーション時間よりも早いプレゼンテーション時間を有するピクチャが表現200中にあるかどうかを決定し、ランダムアクセスポイント212Bを復号する前に、任意のそのようなピクチャを復号し得る。このようにして、クライアント機器は、表現200と表現210との間でシームレスに切り替え得る。即ち、クライアント機器はビデオ再生におけるギャップを回避し、また、並列復号、即ち、表現を復号するために2つ以上のデコーダを同時に操作することを回避し得る。
この例では、最終的に復号されない一定量のデータが検索され得るが、少量の余分のデータのこの取出しは、表現の並列復号を実行する必要がないという利点を下回り、また、シームレスな再生を可能にする。従って、余分のデータを検索するコストは無視できると考えられ得る。
図6は、2つの切替え可能な表現間のシームレスな切替えを実行するための例示的な方法を示すフローチャートである。図1の発信源機器20と宛先機器40とに関して説明するが、図6の技術が任意のサーバ及びクライアント機器によって実行され得ることを理解されたい。さらに、方法中のステップは、必ずしも図6に示す正確な順序で行われる必要はなく、本開示の技術を逸脱することなしに、追加のステップが追加され得、又は幾つかのステップが除去され得る。
初めに、発信源機器20は、切替え可能な2つ以上の表現を記述するデータを宛先機器40に与える(250)。このデータは、例えば、スムーズな再生のための最小限のネットワーク帯域幅要件、表現の符号化ビデオデータを復号及び/又はレンダリングするデコーダデバイスのプロファイル及び/又はレベル要件、ランダムアクセスポイントの位置(例えば、フラグメント及び/又はバイト範囲)、ランダムアクセスポイントの復号時間、ランダムアクセスポイントのプレゼンテーション時間、表現のフラグメントの復号及び/又はプレゼンテーション時間、フラグメントのバイト範囲、ランダムアクセスポイントを含むユニフォームリソースロケータ、又は符号化ビデオデータを復号及び/又はレンダリングするための他のそのようなデータを記述し得る。
データは、2つ以上の表現(又はそれの何らかのサブセット)が効率的な切替えグループを形成するかどうかと、2つ以上の表現のいずれかが時間的に整合しているかどうかとをさらに示し得る。さらに、データは、切替え可能な表現間で切り替えるための遅延値を含み得る。遅延値は、切替え可能な表現のための最大復号遅延と最大ピクチャ並べ替え遅延との和に対応し得る。さらに、時間的に整合していない表現の場合、遅延値は重なり遅延を考慮し得る。
宛先機器40は、2つ以上の表現を記述するデータを受信する(252)。次いで、宛先機器40は、初めに表現のうちの1つを選択するために、現在のネットワーク状態、例えば、利用可能な帯域幅を決定する(254)。さらに、宛先機器40は、表現間で選択するために、それ自体の復号及び/又はレンダリング能力を決定し得る。即ち、宛先機器40が復号及びレンダリングすることが可能である表現の中から、宛先機器40は、現在のネットワーク状態に基づいて、表現のうちの1つを選択し得る。例えば、宛先機器40は、現在の利用可能なネットワーク帯域幅に最も近いがそれを超えない帯域幅要件を有する第1の表現を選択し得る。
次いで、宛先機器40は、第1の表現からのデータを要求する(256)。例えば、宛先機器40は、第1の表現のフラグメントと、潜在的にフラグメントのバイト範囲とを指定するHTTP GET要求又は部分GET要求を生成し得る。要求に応答して、発信源機器20は、宛先機器40によって要求された第1の表現の符号化サンプルを宛先機器40に送る(258)。宛先機器40は、受信されたサンプルを復号し、表示する(260)。ネットワーク状態の変化がないと仮定すると、宛先機器40は第1の表現のサンプルを要求し、次いで、それらが受信された後、サンプルを復号し、表示し続け得る。
図6の例では、宛先機器40は、ネットワーク状態の変化を決定する(262)。例えば、宛先機器40は、利用可能なネットワーク帯域幅が増加又は減少したと決定し得る。帯域幅増加を決定したことに応答して、宛先機器40は、より高い帯域幅要件と対応するより高い品質とを有する第2の表現を選択し得る。一方、帯域幅減少を決定したことに応答して、宛先機器40は、品質は低下するが、より低い帯域幅要件を有する第2の表現を選択し得る。
ネットワーク状態が変化したと決定した後、宛先機器40は、発信源機器20から受信した遅延値に基づいて、第1の表現のあるデータ量をバッファする(264)。例えば、宛先機器40は、第1の表現から第2の表現へのシームレスな切替えを可能にするために、第1の表現から検索するサンプルの数又はフラグメントの数を遅延値に基づいて決定し得る。データをバッファすることは、第1の表現からのデータについての1つ以上の要求を生成することと、要求を発信源機器20に送ることとを含み得る。第1の表現からのこのデータをバッファした後、宛先機器40は、選択された第2の表現からのデータを要求し始める(266)。
要求に応答して、発信源機器20は、第2の表現の符号化サンプルを宛先機器40に送る(268)。この時間中に、宛先機器40は、第1の表現のバッファされたデータを復号し続け得る。第2の表現からの要求されたデータを受信した後、及び第2の表現のランダムアクセスポイントの前のプレゼンテーション時間を有する第1の表現のサンプルを復号した後、宛先機器40は、第2の表現の受信されたサンプルを復号し、表示し始める(270)。幾つかの例では、宛先機器40は、第2の表現のための初期化セグメントを要求することなしに、第2の表現からのデータを要求し得る。従って、宛先機器40は、第2の表現のサンプルを復号し、表示するために、第1の表現から検索された初期化セグメントを使用し得る。
図7は、発信源機器20などのサーバ機器が、切替え可能な表現を記述する情報を宛先機器40などのクライアント機器に与えるための例示的な方法を示すフローチャートである。図1の発信源機器20と宛先機器40とに関して説明するが、図7の技術が任意のサーバ及びクライアント機器によって実行され得ることを理解されたい。さらに、方法中のステップは、必ずしも図7に示す正確な順序で行われる必要はなく、本開示の技術を逸脱することなしに、追加のステップが追加され得、又は幾つかのステップが除去され得る。
初めに、発信源機器20は、2つ以上の切替え可能な表現の符号化ビデオサンプルを受信する(280)。幾つかの例では、発信源機器20は、未加工ビデオデータを受信し、2つ以上の切替え可能な表現を符号化し得る。他の例では、発信源機器20は、切替え可能な表現を生成する1つ以上のエンコーダを含む中間デバイスから符号化表現を受信し得る。表現は、幾つかの例では時間的に整合していることがあり、又は他の例では時間的に整合していないことがある。
発信源機器20は、切替え可能な表現の受信したサンプルの最大復号遅延を決定する(282)。例えば、発信源機器20は、各表現のサンプルを分析して、各表現のための最大復号遅延を決定し得る。次いで、これらの決定された最大値に基づいて、発信源機器20は表現の全ての最大復号遅延を計算し得る。例えば、発信源機器20が、3つの表現のためのサンプルを受信したと仮定する。発信源機器20は、第1の表現のための第1の最大復号遅延と、第2の表現のための第2の最大復号遅延と、第3の表現のための第3の最大復号遅延とを決定し得る。次いで、発信源機器20は、切替え可能な表現の最大復号遅延として、第1、第2、及び第3の最大復号遅延の最大値を計算し得る。サンプルは、最大復号遅延が、切替え可能な表現のいずれかの任意のアクセスユニットを復号することに関連する最大遅延に対応するように、表現のアクセスユニットを備え得る。
発信源機器20はまた、サンプルの最大並べ替え遅延を決定する(284)。この場合も、発信源機器20は、切替え可能な表現のためのサンプルを分析して表現ごとの最大並べ替え遅延を計算し、次いで、これらのうち最大値を計算して切替え可能な表現に関連する最大並べ替え遅延を決定し得る。概して、ピクチャ並べ替え遅延は、表現のフレームのためのプレゼンテーション時間と復号時間との間の差である。従って、最大ピクチャ並べ替え遅延は、切替え可能な表現のいずれかの任意のフレームのプレゼンテーション時間と復号時間との間の最大差に対応し得る。
次いで、発信源機器20は、例えば、最大復号遅延と最大ピクチャ並べ替え遅延との和として、切替え可能な表現間のシームレスな切替えに関連する遅延値を計算する(286)。発信源機器20は、さらに、表現が時間的に整合しているかどうかを決定する(288)。例えば、発信源機器20は、表現のうちの1つ中の任意のランダムアクセスポイントについて、他の表現の各々が、表現のうちの1つのランダムアクセスポイントと同じ復号時間を有するランダムアクセスポイントを有するときのみ、表現が時間的に整合していると決定し得る。発信源機器20は、表現が時間的に整合しているかどうかに関する指示を復号デバイスから受信し得るか、又は、発信源機器20が表現を符号化したとき、表現が時間的に整合しているように生成されたかどうかを追跡し得る。
表現が時間的に整合している場合(288の「YES」分岐)、発信源機器20は、計算された遅延値と符号化ビデオサンプルとを単に記憶する(294)。一方、表現が時間的に整合していない場合(288の「NO」分岐)、発信源機器20は、286において計算された遅延値を中間遅延値として扱う。次いで、発信源機器20は、切替え可能な表現のための最大重なり遅延を計算する(290)。ピクチャの重なり遅延は、現在の表現のGOP構造並びにGOP中のピクチャの位置に基づき得る。発信源機器20は、切替え可能な表現のための最大重なり遅延を計算し、次いで、ステップ286において計算された遅延値に最大重なり遅延を加算する(292)。次いで、発信源機器20は、この計算された遅延値を切替え可能な表現のビデオサンプルとともに記憶する(294)。発信源機器20は、例えば、そのような信号伝達情報についての要求に応答して発信源機器20が宛先機器40に与え得る信号伝達情報を生成し得る。
図8は、宛先機器40などのクライアント機器が、発信源機器20などのサーバ機器から第1の表現のデータを検索することから、サーバ機器から第2の表現のデータを検索することに切り替えるための例示的な方法を示すフローチャートである。図1の発信源機器20と宛先機器40とに関して説明するが、図8の技術が任意のサーバ及びクライアント機器によって実行され得ることを理解されたい。さらに、方法中のステップは、必ずしも図8に示す正確な順序で行われる必要はなく、本開示の技術を逸脱することなしに、追加のステップが追加され得、又は幾つかのステップが除去され得る。さらに、図8の例では、2つの表現が時間的に整合していないことを仮定している。
初めに、宛先機器40は、2つ以上の切替え可能な表現のための遅延値を、例えば発信源機器20から受信する(300)。宛先機器40は、ランダムアクセスポイントの位置、表現が時間的に整合しているかどうか、表現を正常に復号/レンダリングするための、クライアント機器の復号及び/又はレンダリング要件を記述するプロファイル及び/又はレベルインジケータ、表現の帯域幅制限、又は他のそのような情報など、切替え可能な表現を記述する追加情報を受信し得る。
宛先機器40は、第1の表現のデータを受信し、復号し、表示する(302)。例えば、宛先機器40は、利用可能な帯域幅などの現在のネットワーク状態と、宛先機器40の復号及びレンダリング能力とに基づいて第1の表現を選択し得る。次いで、宛先機器40は、第1の表現からのデータについての1つ以上の要求をサブミットし、受信した遅延値に基づいて十分なデータ量をバッファした後、第1の表現のデータを復号し、表示し始める。
ある時点において、宛先機器40は、ネットワーク状態の変化があった、例えば、利用可能な帯域幅が増加又は減少したと決定する(304)。従って、新しいネットワーク状態に基づいて、宛先機器40は、第1の表現に切替え可能である第2の表現を選択する(306)。上記のように、この例では、第1の表現と第2の表現とが時間的に整合していないと仮定される。
宛先機器40は、この例では「フラグメントM」と標示された、第2の表現中の次のランダムアクセスポイント(RAP)を含むフラグメントを決定する(308)。即ち、宛先機器40は、第1の表現のためのバッファされたデータのプレゼンテーション時間よりも後のプレゼンテーション時間を有する、第2の表現のランダムアクセスポイントを決定し得る。次いで、宛先機器40は、ランダムアクセスポイントを含むフラグメントMを決定し得る。
次いで、宛先機器40は、この例では「フラグメントN」と標示された、第2の表現のランダムアクセスポイントにまたがる、第1の表現中のフラグメントの位置を特定する(310)。即ち、宛先機器40は、最も早いプレゼンテーション時間が、第2の表現のランダムアクセスポイントのプレゼンテーション時間よりも前であり、最も遅いプレゼンテーション時間が、第2の表現のランダムアクセスポイントのプレゼンテーション時間よりも後であるフラグメントNを識別し得る。
次いで、宛先機器40は、フラグメントNを含めて、フラグメントNまでの第1の表現からのデータを要求する(312)。フラグメントNを要求した後、宛先機器40は、フラグメントMで開始する第2の表現からのデータを要求し始める(314)。宛先機器40は、フラグメントMのランダムアクセスポイントのプレゼンテーション時間にまたがるピクチャグループまでの第1の表現の全てのサンプルを復号する(316)。
宛先機器40は、上述のピクチャグループ内のピクチャを含み得る、フラグメントM中のランダムアクセスポイントのプレゼンテーション時間よりも前のプレゼンテーション時間を有する全てのピクチャが復号され、表示されたことを保証し得る。この後、宛先機器40は、ランダムアクセスポイントにおいて開始する第2の表現のピクチャを復号し始める(318)。宛先機器40は、さらに、第2の表現の復号されたピクチャを表示し得、それは、いくらかの量のピクチャ並べ替えを必要とし得る。
さらに、宛先機器40は、第2の表現に固有の初期化セグメントを要求することなしに、第2の表現のフラグメントを要求し、復号し得る。例えば、受信された情報が、第1の表現と第2の表現とが効率的に切替え可能であることを示すとき、宛先機器40は、第1の表現のための受信された初期化セグメントに基づいて第2の表現のサンプルを復号し、レンダリングし得る。従って、図8の方法は、第1の表現のデータを受信し、復号し、表示するより前に(例えば、ステップ302より前に)、第1の表現の初期化セグメントを要求し、受信することをさらに含み得る。
1つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、若しくはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、若しくは(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び/又はデータ構造を検索するために1つ以上のコンピュータ若しくは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。「1つ以上のプロセッサ」という句は、各々が共通のチップ(例えば、単一の集積回路)内に含まれ得る、マルチコアプロセッサの1つ以上のコアを含み得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、フラッシュメモリ、若しくは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)及びブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つ以上のデジタル信号プロセッサ(DSP)などの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、若しくは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供され得、若しくは複合コーデックに組み込まれ得る。また、本技術は、1つ以上の回路又は論理要素中に十分に実装され得る。
本開示の技術は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様なデバイス又は装置において実施され得る。本開示では、開示する技術を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明したように1つ以上のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオデータを送る方法であって、ビデオシーケンスの第1の表現のためのデータと前記ビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えることと、前記第1の表現のための前記データの送信中に、前記ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び前記切替え中に前記第1の表現のための前記データと前記第2の表現のための前記データとを復号するために2つ以上のデコーダを同時に実行することなしに、前記クライアント機器が前記第2の表現に切り替えることができることを示す情報を前記クライアント機器に与えることと、前記第1の表現からデータを検索するため前記クライアント機器からの第1の要求に応答して、前記第1の表現からの前記要求されたデータを前記クライアント機器に送ることと、前記第1の表現からの前記要求されたデータを送った後、前記第2の表現からデータを検索するため前記クライアント機器からの第2の要求に応答して、前記第2の表現からの前記要求されたデータを前記クライアント機器に送ることとを備える、方法。
[2] 1つの符号化ビデオサンプルの復号遅延が、前記符号化ビデオサンプルを復号するための遅延を含み、第1及び第2の表現の複数の符号化ビデオサンプルのための最大復号遅延を決定することと、1つの符号化ビデオピクチャのためのピクチャ並べ替え遅延が、前記符号化ビデオピクチャのための復号時間と前記符号化ビデオピクチャのためのプレゼンテーション時間との間の差を含み、前記第1及び第2の表現の前記複数の符号化ビデオサンプルのための最大ピクチャ並べ替え遅延を決定することと、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との和を含む遅延値を計算することと、を更に備え、前記クライアント機器が前記第2の表現に切り替えることができることを示す前記情報を与えることが、前記第1の表現から前記第2の表現に切り替えるために前記遅延値を前記クライアント機器に送ることを含む、[1]に記載の方法。
[3] 前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されているかどうかを決定することをさらに備え、前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されていないとき、前記遅延値を計算することが、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との前記和に時間整合遅延値を加算することをさらに備え、前記時間整合遅延値が、前記第1の表現の最後の要求されたフラグメントの最後の符号化ビデオサンプルと前記第2の表現の最初のフラグメントの最初の符号化ビデオサンプルとの間の時間差を備える、[2]に記載の方法。
[4] 前記表現の符号化ビデオサンプルのためのランダムアクセスポイントピクチャの最大サイズ値を決定することと、前記最大サイズ値を前記クライアント機器に送ることとをさらに備える、[1]に記載の方法。
[5] 前記第1の表現のための初期化セグメントを受信することと、前記第2の表現が前記第1の表現の前記初期化セグメントに基づいて復号され得ると決定することと、前記第1の表現と前記第2の表現とにグループ識別子値を割り当てることと、前記グループ識別子値を前記クライアント機器に送ることとをさらに備え、前記第1の表現からの前記要求されたデータを送ることが、前記初期化セグメントを前記クライアント機器に送ることを備え、前記第2の表現の前記要求されたデータを前記クライアント機器に送ることが、前記第2の表現の初期化セグメントを前記クライアント機器に送ることなしに、前記第2の表現の前記要求されたデータを前記クライアント機器に送ることを備える、[1]に記載の方法。
[6] ビデオデータを転送するための装置であって、ビデオシーケンスの第1の表現のためのデータと前記ビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えることと、前記第1の表現のための前記データの送信中に、前記ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び前記切替え中に前記第1の表現のための前記データと前記第2の表現のための前記データとを復号するために2つ以上のデコーダを同時に実行することなしに、前記クライアント機器が前記第2の表現に切り替えることができることを示す情報を前記クライアント機器に与えることと、前記第1の表現からデータを検索するため前記クライアント機器からの第1の要求に応答して、前記第1の表現からの前記要求されたデータを前記クライアント機器に送ることと、前記第1の表現からの前記要求されたデータを送った後、前記第2の表現からデータを検索するため前記クライアント機器からの第2の要求に応答して、前記第2の表現からの前記要求されたデータを前記クライアント機器に送ることとを行うように構成されたプロセッサを備える、装置。
[7] 前記プロセッサが、1つの符号化ビデオサンプルの復号遅延が、前記符号化ビデオサンプルを復号するための遅延を含み、前記第1及び第2の表現の複数の符号化ビデオサンプルのための最大復号遅延を決定することと、1つの符号化ビデオピクチャのためのピクチャ並べ替え遅延が、前記符号化ビデオピクチャのための復号時間と前記符号化ビデオピクチャのためのプレゼンテーション時間との間の差を含み、前記第1及び第2の表現の前記符号化ビデオサンプルのための最大ピクチャ並べ替え遅延を決定することと、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との和を含む遅延値を計算することと、前記第1の表現から前記第2の表現に切り替えるために前記遅延値を前記クライアント機器に送ることとを行うように構成された、[6]に記載の装置。
[8] 前記プロセッサは、前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されているかどうかを決定するように構成され、前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されていないとき、前記遅延値を計算することが、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との前記和に時間整合遅延値を加算することをさらに備え、前記時間整合遅延値が、前記第1の表現の最後の要求されたフラグメントの最後の符号化ビデオサンプルと前記第2の表現の最初のフラグメントの最初の符号化ビデオサンプルとの間の時間差を含む、[7]に記載の装置。
[9] 前記プロセッサが、前記表現の符号化ビデオサンプルのためのランダムアクセスポイントピクチャの最大サイズ値を決定することと、前記最大サイズ値を前記クライアント機器に送ることとを行うように構成された、[6]に記載の装置。
[10] 前記プロセッサが、前記第1の表現のための初期化セグメントを受信することと、前記第2の表現が前記第1の表現の前記初期化セグメントに基づいて復号され得ると決定することと、前記第1の表現と前記第2の表現とにグループ識別子値を割り当てることと、前記グループ識別子値を前記クライアント機器に送ることと、前記第1の表現からの前記要求されたデータとともに前記初期化セグメントを前記クライアント機器に送ることと、前記第2の表現の初期化セグメントを前記クライアント機器に送ることなしに、前記第2の表現の前記要求されたデータを前記クライアント機器に送ることとを行うように構成された、[6]に記載の装置。
[11] 前記装置が、集積回路と、マイクロプロセッサと、前記プロセッサを含むワイヤレス通信機器とのうちの少なくとも1つを備える、[6]に記載の装置。
[12] ビデオデータを与えるための装置であって、ビデオシーケンスの第1の表現のためのデータと前記ビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えるための手段と、前記第1の表現のための前記データの送信中に、前記ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び前記切替え中に前記第1の表現のための前記データと前記第2の表現のための前記データとを復号するために2つ以上のデコーダを同時に実行することなしに、前記クライアント機器が前記第2の表現に切り替えることができることを示す情報を前記クライアント機器に与えるための手段と、前記第1の表現からデータを検索するため前記クライアント機器からの第1の要求に応答して、前記第1の表現からの前記要求されたデータを前記クライアント機器に送るための手段と、前記第1の表現からの前記要求されたデータを送った後、前記第2の表現からデータを検索するため前記クライアント機器からの第2の要求に応答して、前記第2の表現からの前記要求されたデータを前記クライアント機器に送るための手段とを備える、装置。
[13] 1つの符号化ビデオサンプルの復号遅延が、前記符号化ビデオサンプルを復号するための遅延を含み、前記第1及び第2の表現の符号化ビデオサンプルのための最大復号遅延を決定するための手段と、1つの符号化ビデオピクチャのためのピクチャ並べ替え遅延が、前記符号化ビデオピクチャのための復号時間と前記符号化ビデオピクチャのためのプレゼンテーション時間との間の差を含み、前記第1及び第2の表現の前記符号化ビデオサンプルのための最大ピクチャ並べ替え遅延を決定するための手段と、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との和を備える遅延値を計算するための手段と、前記第1の表現から前記第2の表現に切り替えるために前記遅延値を前記クライアント機器に送るための手段とをさらに備える、[12]に記載の装置。
[14] 前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されているかどうかを決定するための手段をさらに備え、前記遅延値を計算するための前記手段が、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との前記和に時間整合遅延値を加算するための手段をさらに備え、前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されていないとき、前記時間整合遅延値が、前記第1の表現の最後の要求されたフラグメントの最後の符号化ビデオサンプルと前記第2の表現の最初のフラグメントの最初の符号化ビデオサンプルとの間の時間差を備える、[13]に記載の装置。
[15] 前記表現の符号化ビデオサンプルのためのランダムアクセスポイントピクチャの最大サイズ値を決定するための手段と、前記最大サイズ値を前記クライアント機器に送るための手段とをさらに備える、[12]に記載の装置。
[16] 前記第1の表現のための初期化セグメントを受信するための手段と、前記第2の表現が前記第1の表現の前記初期化セグメントに基づいて復号され得ると決定するための手段と、前記第1の表現と前記第2の表現とにグループ識別子値を割り当てるための手段と、前記グループ識別子値を前記クライアント機器に送るための手段とをさらに備え、前記第1の表現からの前記要求されたデータを送るための前記手段が、前記初期化セグメントを前記クライアント機器に送るための手段を備え、前記第2の表現からの前記要求されたデータを送るための前記手段が、前記第2の表現の初期化セグメントをクライアント機器に送ることなしに、前記第2の表現のデータを前記クライアント機器に送るための手段を備える、[12]に記載の装置。
[17] 実行されると、ビデオシーケンスの第1の表現のためのデータと前記ビデオシーケンスの第2の表現のためのデータとにアクセスするための情報をクライアント機器に与えることと、前記第1の表現のための前記データの送信中に、前記ビデオシーケンスを表示するときにプレゼンテーションギャップを経験することなしに、及び前記切替え中に前記第1の表現のための前記データと前記第2の表現のための前記データとを復号するために2つ以上のデコーダを同時に実行することなしに、前記クライアント機器が前記第2の表現に切り替えることができることを示す情報を前記クライアント機器に与えることと、前記第1の表現からデータを検索するため前記クライアント機器からの第1の要求に応答して、前記第1の表現からの前記要求されたデータを前記クライアント機器に送ることと、前記第1の表現からの前記要求されたデータを送った後、前記第2の表現からデータを検索するため前記クライアント機器からの第2の要求に応答して、前記第2の表現からの前記要求されたデータを前記クライアント機器に送ることとを、ビデオデータを与えるためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[18] 1つの符号化ビデオサンプルの復号遅延が、前記符号化ビデオサンプルを復号するための遅延を含み、前記第1及び第2の表現の複数の符号化ビデオサンプルのための最大復号遅延を決定することと、1つの符号化ビデオピクチャのためのピクチャ並べ替え遅延が、前記符号化ビデオピクチャのための復号時間と前記符号化ビデオピクチャのためのプレゼンテーション時間との間の差を含み、前記第1及び第2の表現の前記符号化ビデオサンプルのための最大ピクチャ並べ替え遅延を決定することと、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との和を備える遅延値を計算することと、前記第1の表現から前記第2の表現に切り替えるために前記遅延値を前記クライアント機器に送ることとを前記プロセッサに行わせる命令をさらに備える、[17]に記載のコンピュータプログラム製品。
[19] 前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されているかどうかを決定することを前記プロセッサに行わせる命令をさらに含み、前記遅延値を計算することを前記プロセッサに行わせる前記命令が、前記第1及び第2の表現の前記符号化ビデオサンプルが時間整合されていないとき、前記最大復号遅延と前記最大ピクチャ並べ替え遅延との前記和に時間整合遅延値を加算することを前記プロセッサに行わせる命令を含み、前記時間整合遅延値が、前記第1の表現の最後の要求されたフラグメントの最後の符号化ビデオサンプルと前記第2の表現の最初のフラグメントの最初の符号化ビデオサンプルとの間の時間差を含む、[18]に記載のコンピュータプログラム製品。
[20] 前記表現の符号化ビデオサンプルのためのランダムアクセスポイントピクチャの最大サイズ値を決定することと、前記最大サイズ値を前記クライアント機器に送ることとを前記プロセッサに行わせる命令をさらに備える、[17]に記載のコンピュータプログラム製品。
[21] 前記第1の表現のための初期化セグメントを受信することと、前記第2の表現が前記第1の表現の前記初期化セグメントに基づいて復号され得ると決定することと、前記第1の表現と前記第2の表現とにグループ識別子値を割り当てることと、前記グループ識別子値を前記クライアント機器に送ることと を前記プロセッサに行わせる命令をさらに備え、前記第1の表現からの前記データを送ることを前記プロセッサに行わせる前記命令が、前記初期化セグメントを前記クライアント機器に送ることを前記プロセッサに行わせる命令を含み、前記第2の表現からの前記データを送ることを前記プロセッサに行わせる前記命令が、前記第2の表現の初期化セグメントをクライアント機器に送ることなしに、前記第2の表現からのデータを前記クライアント機器に送ることを前記プロセッサに行わせる命令を含む、[17]に記載のコンピュータプログラム製品。
[22] ビデオデータを受信する方法であって、ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファすることと、前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することとを含む、方法。
[23] 前記第1の表現の前記データを要求するより前に前記第1の表現の初期化セグメントを要求することをさらに備え、前記第2の表現からの前記データを要求することが、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求することを備える、[22]に記載の方法。
[24] ネットワーク状態の変化を検出することと、前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2のネットワーク表現に切り替えることを決定することとをさらに備える、[22]に記載の方法。
[25] 前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することとをさらに備える、[22]に記載の方法。
[26] 前記第1の表現と前記第2の表現とが時間的に整合されているとき、前記ランダムアクセスポイントを選択することが、前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値の後にくる最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定することと、前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択することとを備え、前記第2の表現からの前記データを要求することが、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求することを備える、[25]に記載の方法。
[27] 前記第1の表現と前記第2の表現とが時間的に整合されていないとき、前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択することを備え、前記データ量をバッファすることが、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求及び記憶することを備え、前記第2の表現からのデータを要求することが、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求することを備える、[25]に記載の方法。
[28] 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現の前記データを復号することと、前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号することとをさらに備え、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、[27]に記載の方法。
[29] ビデオデータを受信するための装置であって、ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのある量のデータをバッファすることと、前記第1の表現からの前記量のデータをバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することとを行うように構成されたプロセッサを備える、装置。
[30] 前記プロセッサが、前記第1の表現の前記データを要求するより前に前記第1の表現の初期化セグメントを要求するように構成され、前記プロセッサが、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求するように構成された、[29]に記載の装置。
[31] 前記プロセッサが、ネットワーク状態の変化を検出することと、前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2のネットワーク表現に切り替えることを決定することとを行うように構成された、[29]に記載の装置。
[32] 前記プロセッサが、前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することとを行うように構成された、[29]に記載の装置。
[33] 前記第1の表現と前記第2の表現とが時間的に整合しているとき、前記ランダムアクセスポイントを選択するために、前記プロセッサが、前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値の後にくる最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定することと、前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択することとを行うように構成され、前記第2の表現からの前記データを要求するために、前記プロセッサが、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求するように構成された、[32]に記載の装置。
[34] 前記プロセッサは、前記第1の表現と前記第2の表現とが時間的に整合されていないとき、前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択するように構成され、前記データ量をバッファするために、前記プロセッサが、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求し、記憶するように構成され、前記第2の表現からのデータを要求するために、前記プロセッサが、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求するように構成された、[32]に記載の装置。
[35] 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現の前記データを復号することと、前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号することとを行うように構成され、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、ビデオデコーダをさらに備える、[34]に記載の装置。
[36] 前記装置が、集積回路と、マイクロプロセッサと、前記プロセッサを含むワイヤレス通信機器とのうちの少なくとも1つを備える、[29]に記載の装置。
[37] ビデオデータを受信するための装置であって、ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信するための手段と、ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求するための手段と、前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファするための手段と、前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求するための手段とを備える、装置。
[38] 前記第1の表現の前記データを要求するより前に前記第1の表現の初期化セグメントを要求するための手段をさらに備え、前記第2の表現からの前記データを要求するための前記手段が、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求するための手段を備える、[37]に記載の装置。
[39] ネットワーク状態の変化を検出するための手段と、前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2のネットワーク表現に切り替えることを決定するための手段とをさらに備える、[37]に記載の装置。
[40] 前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信するための手段と、前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択するための手段とをさらに備える、[37]に記載の装置。
[41] 前記第1の表現と前記第2の表現とが時間的に整合されているとき、前記ランダムアクセスポイントを選択するための前記手段が、前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値の後にくる最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定するための手段と、前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択するための手段とを備え、前記第2の表現からの前記データを要求するための前記手段が、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求するための手段を備える、[40]に記載の装置。
[42] 前記第1の表現と前記第2の表現とが時間的に整合されていないとき、前記ランダムアクセスポイントを選択するための前記手段が、前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択するための手段を備え、前記量のデータをバッファするための前記手段が、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求し、記憶するための手段を備え、前記第2の表現からのデータを要求するための前記手段が、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求するための手段を備える、[40]に記載の装置。
[43] 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現のデータを復号するための手段と、前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号するための手段とをさらに備え、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、[42]に記載の装置。
[44] 実行されると、ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのある量のデータをバッファすることと、前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することとを、ビデオデータを受信するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[45] 前記第1の表現の前記データを要求するより前に、前記第1の表現の初期化セグメントを要求することを前記プロセッサに行わせる命令をさらに備え、前記第2の表現からの前記データを要求するための前記手段が、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求するための手段を備える、[44]に記載のコンピュータプログラム製品。
[46] ネットワーク状態の変化を検出することと、前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2のネットワーク表現に切り替えることを決定することとを前記プロセッサに行わせる命令をさらに備える、[44]に記載のコンピュータプログラム製品。
[47] 前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することとを前記プロセッサに行わせる命令をさらに備える、[44]に記載のコンピュータプログラム製品。
[48] 前記第1の表現と前記第2の表現とが時間的に整合されているとき、前記ランダムアクセスポイントを選択することを前記プロセッサに行わせる命令が、前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値に続く最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定することと、前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択することとを備え、前記第2の表現からの前記データを要求することが、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求することを備える、[47]に記載のコンピュータプログラム製品。
[49] 前記第1の表現と前記第2の表現とが時間的に整合されていないとき、前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択することを前記プロセッサに行わせる命令をさらに備え、前記量のデータをバッファすることを前記プロセッサに行わせる前記命令が、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求し、記憶することを前記プロセッサに行わせる前記命令を備え、前記第2の表現からのデータを要求することを前記プロセッサに行わせる前記命令が、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求することを前記プロセッサに行わせる命令を備える、[47]に記載のコンピュータプログラム製品。
[50] 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現のデータを復号することと、前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号することとを前記プロセッサに行わせる命令をさらに備え、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、[49]に記載のコンピュータプログラム製品。

Claims (25)

  1. ビデオデータを受信する方法であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することと、
    前記第1の表現の前記データを要求するより前に前記第1の表現の初期化セグメントを要求することと、を備え、
    前記第2の表現からの前記データを要求することが、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求することを備える、方法。
  2. ネットワーク状態の変化を検出することと、
    前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2の表現に切り替えることを決定することと
    をさらに備える、請求項1に記載の方法。
  3. 前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することとをさらに備える、請求項1に記載の方法。
  4. ビデオデータを受信する方法であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することと、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することを備え、
    前記第1の表現と前記第2の表現とが時間的に整合されているとき、前記ランダムアクセスポイントを選択することが、
    前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値の後にくる最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定することと、
    前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択することとを備え、
    前記第2の表現からの前記データを要求することが、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求することを備える、方法。
  5. ビデオデータを受信する方法であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することと、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することを備え、
    前記第1の表現と前記第2の表現とが時間的に整合されていないとき、前記方法は、
    前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択することを備え、
    前記データ量をバッファすることが、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求及び記憶することを備え、
    前記第2の表現からのデータを要求することが、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求することを備える、方法。
  6. 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現の前記データを復号することと、
    前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号することとをさらに備え、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、請求項5に記載の方法。
  7. ビデオデータを受信するための装置であって、ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのある量のデータをバッファすることと、前記第1の表現からの前記量のデータをバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することとを行うように構成されたプロセッサを備え、
    前記プロセッサが、前記第1の表現の前記データを要求するより前に前記第1の表現の初期化セグメントを要求するように構成され、前記プロセッサが、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求するように構成された、装置。
  8. 前記プロセッサが、ネットワーク状態の変化を検出することと、前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2の表現に切り替えることを決定することとを行うように構成された、請求項7に記載の装置。
  9. 前記プロセッサが、前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することとを行うように構成された、請求項7に記載の装置。
  10. ビデオデータを受信する装置であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することと、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することを行うように構成されたプロセッサを備え、
    前記第1の表現と前記第2の表現とが時間的に整合しているとき、前記ランダムアクセスポイントを選択するために、前記プロセッサが、前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値の後にくる最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定することと、前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択することとを行うように構成され、前記第2の表現からの前記データを要求するために、前記プロセッサが、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求するように構成された、装置。
  11. ビデオデータを受信する装置であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求することと、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することを行うように構成されたプロセッサを備え、
    前記プロセッサは、前記第1の表現と前記第2の表現とが時間的に整合されていないとき、前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択するように構成され、前記データ量をバッファするために、前記プロセッサが、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求し、記憶するように構成され、前記第2の表現からのデータを要求するために、前記プロセッサが、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求するように構成された、装置。
  12. 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現の前記データを復号することと、前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号することとを行うように構成され、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、ビデオデコーダをさらに備える、請求項11に記載の装置。
  13. 前記装置が、
    集積回路と、
    マイクロプロセッサと、
    前記プロセッサを含むワイヤレス通信機器と
    のうちの少なくとも1つを備える、請求項7に記載の装置。
  14. ビデオデータを受信するための装置であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信するための手段と、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求するための手段と、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファするための手段と、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求するための手段と、
    前記第1の表現の前記データを要求するより前に前記第1の表現の初期化セグメントを要求するための手段とを備え、
    前記第2の表現からの前記データを要求するための前記手段が、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求するための手段を備える、装置。
  15. ネットワーク状態の変化を検出するための手段と、
    前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2の表現に切り替えることを決定するための手段とをさらに備える、請求項14に記載の装置。
  16. 前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信するための手段と、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択するための手段とをさらに備える、請求項14に記載の装置。
  17. ビデオデータを受信する装置であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信するための手段と、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求するための手段と、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファするための手段と、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求するための手段と、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信するための手段と、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択するための手段とを備え、
    前記第1の表現と前記第2の表現とが時間的に整合されているとき、前記ランダムアクセスポイントを選択するための前記手段が、
    前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値の後にくる最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定するための手段と、
    前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択するための手段とを備え、
    前記第2の表現からの前記データを要求するための前記手段が、前記第2のランダムアクセスポイントを備える、前記第2の表現のフラグメントを要求するための手段を備える、装置。
  18. ビデオデータを受信する装置であって、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信するための手段と、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求するための手段と、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのあるデータ量をバッファするための手段と、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求するための手段と、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信するための手段と、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択するための手段とを備え、
    前記第1の表現と前記第2の表現とが時間的に整合されていないとき、
    前記ランダムアクセスポイントを選択するための前記手段が、前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択するための手段を備え、
    前記量のデータをバッファするための前記手段が、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求し、記憶するための手段を備え、前記第2の表現からのデータを要求するための前記手段が、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求するための手段を備える、装置。
  19. 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現のデータを復号するための手段と、
    前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号するための手段とをさらに備え、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、請求項18に記載の装置。
  20. 実行されると、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのある量のデータをバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求すること、前記第2の表現からの前記データを要求することが、前記第2の表現の初期化セグメントを要求することなしに前記第2の表現からの前記データを要求することを備える、
    前記第1の表現の前記データを要求するより前に、前記第1の表現の初期化セグメントを要求することと、
    を、ビデオデータを受信するためのデバイスのプロセッサに行わせる命令を記憶するコンピュータ可読記憶媒体。
  21. ネットワーク状態の変化を検出することと、
    前記ネットワーク状態の前記変化に基づいて、前記第1の表現から前記第2の表現に切り替えることを決定することとを前記プロセッサに行わせる命令をさらに備える、請求項20に記載のコンピュータ可読記憶媒体。
  22. 前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することとを前記プロセッサに行わせる命令をさらに備える、請求項20に記載のコンピュータ可読記憶媒体。
  23. 実行されると、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのある量のデータをバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求すること、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することと、
    を、ビデオデータを受信するためのデバイスのプロセッサに行わせる命令を記憶し、
    前記第1の表現と前記第2の表現とが時間的に整合されているとき、前記ランダムアクセスポイントを選択することを前記プロセッサに行わせる命令が、
    前記第1の表現の前記バッファされたデータのサンプルのプレゼンテーション時間値に続く最も早いプレゼンテーション時間値を有する前記第1の表現の第1のランダムアクセスポイントの位置を特定することと、
    前記第1のランダムアクセスポイントと同じ前記プレゼンテーション時間値を有する前記第2の表現の第2のランダムアクセスポイントを選択することとを備え、
    前記第2の表現からの前記データを要求することが、前記第2のランダムアクセスポイントを備える前記第2の表現のフラグメントを要求することを備える、コンピュータ可読記憶媒体。
  24. 実行されると、
    ビデオシーケンスの第1の表現と前記ビデオシーケンスの第2の表現との間で切り替えるための遅延を示す遅延値を受信することと、
    ストリーミングネットワークプロトコルに従ってビデオシーケンスの前記第1の表現からのデータを要求することと、
    前記第1の表現から前記第2の表現に切り替えることを決定したことに応答して、前記遅延値に基づいて前記第1の表現からのある量のデータをバッファすることと、
    前記第1の表現からの前記データ量をバッファした後に、前記ストリーミングネットワークプロトコルに従って前記ビデオシーケンスの第2の表現からのデータを要求すること、
    前記第1の表現と前記第2の表現とが時間的に整合されているかどうかを示す情報を受信することと、
    前記情報に基づいて前記第2の表現のランダムアクセスポイントを選択することと、
    を、ビデオデータを受信するためのデバイスのプロセッサに行わせる命令を記憶し、
    前記第1の表現と前記第2の表現とが時間的に整合されていないとき、
    前記第1の表現の前記バッファされたデータの少なくとも1つのサンプルのプレゼンテーション時間値よりも後のプレゼンテーション時間値を有する前記第2の表現のランダムアクセスポイントを選択することを前記プロセッサに行わせる命令をさらに備え、
    前記量のデータをバッファすることを前記プロセッサに行わせる前記命令が、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のフラグメントまでの前記第1の表現のデータを要求し、記憶することを前記プロセッサに行わせる前記命令を備え、
    前記第2の表現からのデータを要求することを前記プロセッサに行わせる前記命令が、前記選択されたランダムアクセスポイントを備える前記第2の表現の第2のフラグメントにおいて開始する前記第2の表現のデータを要求することを前記プロセッサに行わせる命令を備える、コンピュータ可読記憶媒体。
  25. 前記第1のフラグメントのピクチャグループに達するまでの前記第1の表現のデータを復号することと、
    前記第1のフラグメントの前記ピクチャグループに達した後に、前記選択されたランダムアクセスポイントにおいて開始する前記第2の表現の前記データを復号することとを前記プロセッサに行わせる命令をさらに備え、前記ピクチャグループが、前記選択されたランダムアクセスポイントのプレゼンテーション時間値よりも前の開始プレゼンテーション時間値と、前記選択されたランダムアクセスポイントの前記プレゼンテーション時間値よりも後の終了プレゼンテーション時間値とを有する第1のピクチャを備える、請求項24に記載のコンピュータ可読記憶媒体。
JP2014116873A 2010-07-13 2014-06-05 ビデオデータをストリーミングするためのビデオ切替え Active JP5770345B2 (ja)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US36388410P 2010-07-13 2010-07-13
US61/363,884 2010-07-13
US36643610P 2010-07-21 2010-07-21
US61/366,436 2010-07-21
US37422210P 2010-08-16 2010-08-16
US61/374,222 2010-08-16
US201161433110P 2011-01-14 2011-01-14
US61/433,110 2011-01-14
US13/031,067 2011-02-18
US13/031,067 US8918533B2 (en) 2010-07-13 2011-02-18 Video switching for streaming video data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013519794A Division JP5559430B2 (ja) 2010-07-13 2011-07-13 ビデオデータをストリーミングするためのビデオ切替え

Publications (3)

Publication Number Publication Date
JP2014209751A JP2014209751A (ja) 2014-11-06
JP2014209751A5 JP2014209751A5 (ja) 2015-03-26
JP5770345B2 true JP5770345B2 (ja) 2015-08-26

Family

ID=45467768

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013519794A Active JP5559430B2 (ja) 2010-07-13 2011-07-13 ビデオデータをストリーミングするためのビデオ切替え
JP2014116873A Active JP5770345B2 (ja) 2010-07-13 2014-06-05 ビデオデータをストリーミングするためのビデオ切替え

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013519794A Active JP5559430B2 (ja) 2010-07-13 2011-07-13 ビデオデータをストリーミングするためのビデオ切替え

Country Status (8)

Country Link
US (1) US8918533B2 (ja)
EP (1) EP2594073B1 (ja)
JP (2) JP5559430B2 (ja)
CN (1) CN102986218B (ja)
AR (1) AR082175A1 (ja)
IN (1) IN2013CN00295A (ja)
TW (1) TW201223256A (ja)
WO (1) WO2012009454A1 (ja)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) * 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) * 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US6909383B2 (en) 2002-10-05 2005-06-21 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
KR101161193B1 (ko) 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
EP1985021A4 (en) 2006-02-13 2013-05-29 Digital Fountain Inc CONTINUOUS TRANSMISSION AND BUFFER DELIVERY USING CONTINUOUS MONITORING OVERVIEW AND PERIODS OF PROTECTION
US9270414B2 (en) * 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11303684B2 (en) 2006-09-14 2022-04-12 Opentv, Inc. Methods and systems for data transmission
US8335873B2 (en) * 2006-09-14 2012-12-18 Opentv, Inc. Method and systems for data transmission
WO2009036378A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) * 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
WO2011068668A1 (en) 2009-12-04 2011-06-09 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120034550A (ko) * 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
KR101737325B1 (ko) * 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
EP2614653A4 (en) * 2010-09-10 2015-04-15 Nokia Corp METHOD AND APPARATUS FOR ADAPTIVE CONTINUOUS DIFFUSION
EP2621168A4 (en) * 2010-09-20 2014-07-09 Humax Co Ltd METHOD OF PROCESSING TO BE IMPLEMENTED IN THE PRESENCE OF AN EXPRESSION SWITCH DURING CONTINUOUS HTTP TRANSMISSION
KR101206698B1 (ko) * 2010-10-06 2012-11-30 한국항공대학교산학협력단 스트리밍 콘텐츠 제공 장치 및 방법
US9369512B2 (en) * 2010-10-06 2016-06-14 Electronics And Telecommunications Research Institute Apparatus and method for providing streaming content
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
JP2012151849A (ja) 2011-01-19 2012-08-09 Nhn Business Platform Corp P2p基盤のストリーミングサービスのデータストリームをパケット化するシステムおよび方法
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
CN105721880B (zh) 2011-06-30 2019-04-05 微软技术许可有限责任公司 用于降低视频编码和解码中的延迟的方法和系统
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9473752B2 (en) 2011-11-30 2016-10-18 Qualcomm Incorporated Activation of parameter sets for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US8977704B2 (en) * 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9401968B2 (en) 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
WO2013115562A1 (ko) * 2012-01-30 2013-08-08 삼성전자 주식회사 시점변환을 위한 예측구조에 기초한 다시점 비디오 부호화 방법 및 그 장치, 시점변환을 위한 예측구조에 기초한 다시점 비디오 복호화 방법 및 그 장치
GB2499200B (en) * 2012-02-07 2014-12-17 Canon Kk Method and device for transitioning between an image of a first video sequence and an image for a second video sequence
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
WO2013152326A1 (en) * 2012-04-05 2013-10-10 Huawei Technologies Co., Ltd. System and method for secure asynchronous event notification for adaptive streaming based on iso base media file format
US20130279882A1 (en) 2012-04-23 2013-10-24 Apple Inc. Coding of Video and Audio with Initialization Fragments
KR20160063405A (ko) * 2012-04-24 2016-06-03 브이아이디 스케일, 인크. Mpeg/3gpp-dash에서의 원활한 스트림 스위칭을 위한 방법 및 장치
US9161004B2 (en) * 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
TWI453441B (zh) * 2012-06-29 2014-09-21 Zeroplus Technology Co Ltd Signal decoding method
US9143812B2 (en) * 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
JP6175749B2 (ja) * 2012-09-19 2017-08-09 沖電気工業株式会社 コンテンツ送信装置、プログラム及びコンテンツ送信方法
JP6094126B2 (ja) * 2012-10-01 2017-03-15 富士通株式会社 動画像復号装置
CN103181143B (zh) * 2012-10-22 2015-07-08 华为终端有限公司 一种播放流媒体文件的方法和装置
CN104737514B (zh) * 2012-10-23 2018-08-17 瑞典爱立信有限公司 用于分布媒体内容服务的方法和设备
US9930082B2 (en) 2012-11-20 2018-03-27 Nvidia Corporation Method and system for network driven automatic adaptive rendering impedance
US10257523B2 (en) * 2012-12-14 2019-04-09 Avago Technologies International Sales Pte. Limited Adaptive decoding system
US10616086B2 (en) 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
JP5811106B2 (ja) * 2013-01-11 2015-11-11 セイコーエプソン株式会社 映像処理装置、表示装置および映像処理方法
JPWO2014112416A1 (ja) * 2013-01-15 2017-01-19 シャープ株式会社 映像供給装置、映像取得装置、およびプログラム
CN103970633B (zh) * 2013-01-28 2016-03-30 孕龙科技股份有限公司 显示检测过程的方法
US9900629B2 (en) * 2013-03-13 2018-02-20 Apple Inc. Codec techniques for fast switching with intermediate sequence
US20160057509A1 (en) * 2013-04-19 2016-02-25 Sony Corporation Information processing device, content requesting method, and computer program
BR112015025871A8 (pt) * 2013-04-19 2019-12-31 Sony Corp dispositivo servidor, método, e, mídia legível por computador não-transitória
US9338209B1 (en) * 2013-04-23 2016-05-10 Cisco Technology, Inc. Use of metadata for aiding adaptive streaming clients
US9628528B2 (en) 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
US9819604B2 (en) 2013-07-31 2017-11-14 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
US10834161B2 (en) * 2013-09-17 2020-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Dash representations adaptations in network
US9756102B2 (en) 2013-10-07 2017-09-05 Qualcomm Incorporated Request cancellation method for media streaming
US9270721B2 (en) 2013-10-08 2016-02-23 Qualcomm Incorporated Switching between adaptation sets during media streaming
WO2015054342A1 (en) 2013-10-09 2015-04-16 Mindset Systems Method of and system for automatic compilation of crowdsourced digital media productions
JP6538324B2 (ja) * 2013-10-18 2019-07-03 パナソニック株式会社 画像符号化方法および画像符号化装置
WO2015056449A1 (ja) 2013-10-18 2015-04-23 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
GB2520334B (en) * 2013-11-18 2015-11-25 Helen Bradley Lennon A video broadcast system and a method of disseminating video content
JP6652320B2 (ja) * 2013-12-16 2020-02-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
US20150172347A1 (en) * 2013-12-18 2015-06-18 Johannes P. Schmidt Presentation of content based on playlists
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
CN105191303B (zh) * 2014-02-21 2018-08-21 华为技术有限公司 处理视频的方法、终端和服务器
US10645404B2 (en) * 2014-03-24 2020-05-05 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
EP2924595A1 (en) * 2014-03-28 2015-09-30 Acast AB Method for associating media files with additional content
KR101560727B1 (ko) * 2014-04-07 2015-10-15 네이버 주식회사 멀티트랙 비디오 컨텐츠의 제공을 위한 멀티트랙 비디오 컨텐츠 서비스 방법 및 시스템
FR3020542A1 (fr) * 2014-04-23 2015-10-30 Orange Procede de gestion de la selection de la representation des segments d'un contenu multimedia transmis sur un reseau de communication.
US20150334162A1 (en) * 2014-05-13 2015-11-19 Citrix Systems, Inc. Navigation of Virtual Desktop Content on Devices
EP3163570A4 (en) * 2014-06-30 2018-02-14 Sony Corporation Information processor and information-processing method
US10567457B1 (en) * 2014-09-29 2020-02-18 Amazon Technologies, Inc. Dynamic rotation of streaming protocols
US20160094986A1 (en) * 2014-09-29 2016-03-31 Sprint Communications Company L.P. Content delivery metadata exchange in wireless communication systems
FR3029381A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de composition d’une representation video intermediaire
KR102012682B1 (ko) 2015-01-06 2019-08-22 디브이엑스, 엘엘씨 디바이스들간에 콘텐트를 인코딩 및 공유하기 위한 시스템들 및 방법들
GB2534136A (en) 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10270823B2 (en) * 2015-02-10 2019-04-23 Qualcomm Incorporated Low latency video streaming
US10142385B2 (en) * 2015-03-10 2018-11-27 Qualcomm Incorporated Multi-service initialization for adaptive media streaming
FR3034943B1 (fr) * 2015-04-07 2017-04-14 Streamroot Inc Procede de lecture en continu sur un equipement client d'un contenu diffuse au sein d'un reseau pair a pair
US9973562B2 (en) 2015-04-17 2018-05-15 Microsoft Technology Licensing, Llc Split processing of encoded video in streaming segments
US9894126B1 (en) * 2015-05-28 2018-02-13 Infocus Corporation Systems and methods of smoothly transitioning between compressed video streams
US10200694B2 (en) * 2015-09-17 2019-02-05 Mediatek Inc. Method and apparatus for response of feedback information during video call
EP3179688A1 (en) * 2015-12-11 2017-06-14 Koninklijke KPN N.V. Updating part of a manifest file on the basis of patches
US10075563B2 (en) * 2016-02-05 2018-09-11 Gridraster, Inc. Network and video/audio system and method for gaming and virtual reality
CN105898625B (zh) * 2016-04-29 2020-03-17 腾讯科技(深圳)有限公司 一种播放处理方法及终端设备
JP7011586B2 (ja) 2016-06-30 2022-01-26 ソニーセミコンダクタソリューションズ株式会社 受信装置
US10277636B2 (en) 2016-09-08 2019-04-30 Macnica Americas, Inc. FPGA offload module and processes for seamless frame-level switching of media streams in real-time
EP4084480A1 (en) * 2016-09-09 2022-11-02 Vid Scale, Inc. Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
US10547660B2 (en) * 2016-09-12 2020-01-28 Bose Corporation Advertising media processing capabilities
FI20166017A (fi) * 2016-12-22 2018-06-23 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
WO2018121990A1 (en) * 2016-12-29 2018-07-05 British Telecommunications Public Limited Company Transmission parameter control for segment delivery
US11316568B2 (en) 2017-01-09 2022-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Controllable beam management accuracy
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
WO2019011430A1 (en) * 2017-07-12 2019-01-17 Telefonaktiebolaget Lm Ericsson (Publ) FAST TUNING FOR LOW-LOW CONTINUOUS DIFFUSION
CN107566844B (zh) * 2017-09-05 2019-05-14 成都德芯数字科技股份有限公司 一种隐藏字幕处理方法和装置
DE112018005254T5 (de) * 2017-09-18 2020-06-18 Intel IP Corporation Vorrichtung, system und verfahren zur videocodierung
CN112219406B (zh) 2018-03-22 2023-05-05 Vid拓展公司 用于全向视频的等待时间报告方法和系统
US11917127B2 (en) 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
WO2020185578A1 (en) * 2019-03-08 2020-09-17 Vid Scale, Inc. Methods and apparatus for adaptive streaming of point clouds
GB2582155B (en) * 2019-03-12 2023-12-27 Canon Kk Method, device, and computer program for signaling available portions of encapsulated media content
JP2022094671A (ja) * 2020-12-15 2022-06-27 キヤノン株式会社 撮像システム、配信装置、撮像装置、制御方法、及び、プログラム
CN112233667B (zh) * 2020-12-17 2021-03-23 成都索贝数码科技股份有限公司 基于深度学习的同期声识别方法

Family Cites Families (300)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901319A (en) 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
US5371532A (en) 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5590405A (en) 1993-10-29 1996-12-31 Lucent Technologies Inc. Communication technique employing variable information transmission
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5757415A (en) 1994-05-26 1998-05-26 Sony Corporation On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US5946357A (en) 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US6226259B1 (en) 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
EP0933768A4 (en) 1997-05-19 2000-10-04 Sanyo Electric Co DIGITAL MODULATION AND DEMODULATION
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
US6128649A (en) 1997-06-02 2000-10-03 Nortel Networks Limited Dynamic selection of media streams for display
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
JP3472115B2 (ja) 1997-11-25 2003-12-02 Kddi株式会社 マルチチャンネルを用いるビデオデータ伝送方法及びその装置
US6459811B1 (en) 1998-04-02 2002-10-01 Sarnoff Corporation Bursty data transmission of compressed video data
US6185265B1 (en) 1998-04-07 2001-02-06 Worldspace Management Corp. System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload
US6067646A (en) 1998-04-17 2000-05-23 Ameritech Corporation Method and system for adaptive interleaving
US6018359A (en) 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
US6937618B1 (en) 1998-05-20 2005-08-30 Sony Corporation Separating device and method and signal receiving device and method
US6415326B1 (en) * 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US6408128B1 (en) 1998-11-12 2002-06-18 Max Abecassis Replaying with supplementary information a segment of a video
JP2000151426A (ja) 1998-11-17 2000-05-30 Toshiba Corp インターリーブ・デインターリーブ回路
US6166544A (en) 1998-11-25 2000-12-26 General Electric Company MR imaging system with interactive image contrast control
US6876623B1 (en) 1998-12-02 2005-04-05 Agere Systems Inc. Tuning scheme for code division multiplex broadcasting system
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
KR100784652B1 (ko) 1999-05-06 2007-12-12 소니 가부시끼 가이샤 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
JP2000353969A (ja) 1999-06-11 2000-12-19 Sony Corp デジタル音声放送の受信機
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
JP4284774B2 (ja) 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
US6798791B1 (en) 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
WO2001057667A1 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
US7304990B2 (en) 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
US7073191B2 (en) 2000-04-08 2006-07-04 Sun Microsystems, Inc Streaming a single media track to multiple clients
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
GB2366159B (en) 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US6834342B2 (en) 2000-08-16 2004-12-21 Eecad, Inc. Method and system for secure communication over unstable public connections
JP2002073625A (ja) 2000-08-24 2002-03-12 Nippon Hoso Kyokai <Nhk> 放送番組に同期した情報提供の方法、サーバ及び媒体
US7340664B2 (en) 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US7151754B1 (en) 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US6486803B1 (en) 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
US7490344B2 (en) 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
US6411223B1 (en) 2000-10-18 2002-06-25 Digital Fountain, Inc. Generating high weight encoding symbols using a basis
US6732325B1 (en) 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US20020133247A1 (en) 2000-11-11 2002-09-19 Smith Robert D. System and method for seamlessly switching between media streams
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
ATE464740T1 (de) 2000-12-15 2010-04-15 British Telecomm Übertagung von ton- und/oder bildmaterial
US7143433B1 (en) 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20020085013A1 (en) 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US20080059532A1 (en) 2001-01-18 2008-03-06 Kazmi Syed N Method and system for managing digital content, including streaming media
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US7035468B2 (en) 2001-04-20 2006-04-25 Front Porch Digital Inc. Methods and apparatus for archiving, indexing and accessing audio and video data
US20020191116A1 (en) 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
US7076478B2 (en) 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
EP1479245A1 (en) 2002-01-23 2004-11-24 Nokia Corporation Grouping of image frames in video coding
JP4472347B2 (ja) 2002-01-30 2010-06-02 エヌエックスピー ビー ヴィ 可変の帯域を有するネットワーク上でのマルチメディアデータのストリーミング
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
FR2837332A1 (fr) 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
WO2003090391A1 (en) 2002-04-15 2003-10-30 Nokia Corporation Rlp logical layer of a communication station
JP3629008B2 (ja) 2002-04-19 2005-03-16 松下電器産業株式会社 データ受信装置及びデータ配信システム
JP3689063B2 (ja) 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
US7177658B2 (en) 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US7200388B2 (en) 2002-05-31 2007-04-03 Nokia Corporation Fragmented delivery of multimedia
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
DK1529389T3 (en) 2002-08-13 2016-05-30 Nokia Technologies Oy Symbol Interleaving
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
JP3534742B1 (ja) * 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
US6909383B2 (en) 2002-10-05 2005-06-21 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
JP2004135013A (ja) 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 伝送装置及び伝送方法
FI116816B (fi) 2002-10-14 2006-02-28 Nokia Corp Median suoratoisto
US8320301B2 (en) 2002-10-25 2012-11-27 Qualcomm Incorporated MIMO WLAN system
US7289451B2 (en) 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
WO2004040831A1 (en) 2002-10-30 2004-05-13 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
WO2004047455A1 (en) 2002-11-18 2004-06-03 British Telecommunications Public Limited Company Transmission of video
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
JP2004192140A (ja) 2002-12-09 2004-07-08 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004193992A (ja) 2002-12-11 2004-07-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US8135073B2 (en) 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US7164882B2 (en) 2002-12-24 2007-01-16 Poltorak Alexander I Apparatus and method for facilitating a purchase using information provided on a media playing device
EP1455504B1 (en) 2003-03-07 2014-11-12 Samsung Electronics Co., Ltd. Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method
JP2004343701A (ja) 2003-04-21 2004-12-02 Matsushita Electric Ind Co Ltd データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム
US7113773B2 (en) 2003-05-16 2006-09-26 Qualcomm Incorporated Reliable reception of broadcast/multicast content
US8161116B2 (en) 2003-05-23 2012-04-17 Kirusa, Inc. Method and system for communicating a data file over a network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
MXPA05013237A (es) 2003-06-07 2006-03-09 Samsung Electronics Co Ltd Aparato y metodo para la organizacion e interpretacion de datos multimedia en un medio de grabacion.
KR101003413B1 (ko) 2003-06-12 2010-12-23 엘지전자 주식회사 이동통신 단말기의 전송데이터 압축/해제 방법
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
RU2265960C2 (ru) 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US8149939B2 (en) 2003-07-07 2012-04-03 Samsung Electronics Co., Ltd. System of robust DTV signal transmissions that legacy DTV receivers will disregard
KR100532450B1 (ko) 2003-07-16 2005-11-30 삼성전자주식회사 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들
CN1871804B (zh) 2003-08-21 2010-09-01 高通股份有限公司 广播/多播内容的外部编码方法及其相关装置
US8694869B2 (en) 2003-08-21 2014-04-08 QUALCIMM Incorporated Methods for forward error correction coding above a radio link control layer and related apparatus
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
WO2005029237A2 (en) 2003-09-15 2005-03-31 Digital Networks North America, Inc. Method and system for adaptive transcoding and transrating in a video network
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US8132215B2 (en) 2003-10-27 2012-03-06 Panasonic Corporation Apparatus for receiving broadcast signal
EP1528702B1 (en) 2003-11-03 2008-01-23 Broadcom Corporation FEC (forward error correction) decoding with dynamic parameters
US7428669B2 (en) 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
KR20070007810A (ko) 2004-03-30 2007-01-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드수행을 지원하는 시스템 및 방법
FR2869744A1 (fr) 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
KR101161193B1 (ko) 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
JP2006074335A (ja) 2004-09-01 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 伝送方法、伝送システム及び伝送装置
JP2006115104A (ja) 2004-10-13 2006-04-27 Daiichikosho Co Ltd 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置
US7529984B2 (en) 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
JP5053097B2 (ja) 2004-11-22 2012-10-17 トムソン リサーチ ファンディング コーポレイション Dslシステムにおけるチャンネル切り替えの方法及び装置
US8015474B2 (en) 2004-12-02 2011-09-06 Thomson Licensing Adaptive forward error correction
KR20060065482A (ko) 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
JP2006174045A (ja) 2004-12-15 2006-06-29 Ntt Communications Kk 画像配信装置、プログラム及び方法
JP4391409B2 (ja) 2004-12-24 2009-12-24 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
EP1847087A1 (en) 2005-02-08 2007-10-24 Telefonaktiebolaget LM Ericsson (publ) On-demand multi-channel streaming session over packet-switched networks
US7822139B2 (en) 2005-03-02 2010-10-26 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence
WO2006096104A1 (en) 2005-03-07 2006-09-14 Telefonaktiebolaget Lm Ericsson (Publ) Multimedia channel switching
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
US7450064B2 (en) 2005-03-22 2008-11-11 Qualcomm, Incorporated Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system
JP4487028B2 (ja) 2005-03-31 2010-06-23 ブラザー工業株式会社 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム
US7715842B2 (en) 2005-04-09 2010-05-11 Lg Electronics Inc. Supporting handover of mobile terminal
EP1869891A4 (en) 2005-04-13 2014-06-11 CODING, STORAGE AND SIGNALING OF SCALABILITY INFORMATION
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
JP2007013675A (ja) 2005-06-30 2007-01-18 Sanyo Electric Co Ltd ストリーミング配信システム及びサーバ
US20070006274A1 (en) 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20070022215A1 (en) 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US20070067480A1 (en) 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US20070078876A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
US7720062B2 (en) 2005-10-05 2010-05-18 Lg Electronics Inc. Method of processing traffic information and digital broadcasting system
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
CN101416526B (zh) 2006-01-05 2013-06-19 艾利森电话股份有限公司 媒体容器文件管理方法和服务器
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US8767818B2 (en) 2006-01-11 2014-07-01 Nokia Corporation Backward-compatible aggregation of pictures in scalable video coding
WO2007086654A1 (en) 2006-01-25 2007-08-02 Lg Electronics Inc. Digital broadcasting system and method of processing data
US8990153B2 (en) 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
CN101379712B (zh) 2006-02-08 2011-12-14 汤姆森特许公司 瑞普特代码的解码
EP1985021A4 (en) 2006-02-13 2013-05-29 Digital Fountain Inc CONTINUOUS TRANSMISSION AND BUFFER DELIVERY USING CONTINUOUS MONITORING OVERVIEW AND PERIODS OF PROTECTION
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
US20090100496A1 (en) 2006-04-24 2009-04-16 Andreas Bechtolsheim Media server system
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
CN102148857A (zh) 2006-07-20 2011-08-10 桑迪士克股份有限公司 内容分布系统
US7711797B1 (en) 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
WO2008023328A2 (en) 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
US8428013B2 (en) 2006-10-30 2013-04-23 Lg Electronics Inc. Method of performing random access in a wireless communcation system
JP2008118221A (ja) 2006-10-31 2008-05-22 Toshiba Corp 復号装置及び復号方法
WO2008054100A1 (en) 2006-11-01 2008-05-08 Electronics And Telecommunications Research Institute Method and apparatus for decoding metadata used for playing stereoscopic contents
CA2668670C (en) 2006-11-14 2013-04-30 Qualcomm Incorporated Systems and methods for channel switching
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
ES2709208T3 (es) 2007-01-05 2019-04-15 Sonic Ip Inc Sistema de distribución de vídeo que incluye reproducción progresiva
EP2122874A1 (en) 2007-01-09 2009-11-25 Nokia Corporation Method for supporting file versioning in mbms file repair
MX2009000619A (es) 2007-01-11 2009-04-16 Panasonic Corp Metodo para la reproduccion de truco de datos multimedia en flujo y encriptados.
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
WO2008085013A1 (en) 2007-01-12 2008-07-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, qos control algorithm and apparatus for ipv6 label switching using the format
US8126062B2 (en) 2007-01-16 2012-02-28 Cisco Technology, Inc. Per multi-block partition breakpoint determining for hybrid variable length coding
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
US8275002B2 (en) 2007-05-14 2012-09-25 Samsung Electronics Co., Ltd. Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service
JP5317222B2 (ja) 2007-05-16 2013-10-16 トムソン ライセンシング 信号を符号化および復号する方法および装置
US8274551B2 (en) 2007-06-11 2012-09-25 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image data
RU2010102823A (ru) 2007-06-26 2011-08-10 Нокиа Корпорейшн (Fi) Система и способ индикации точек переключения временных уровней
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
JP2009027598A (ja) 2007-07-23 2009-02-05 Hitachi Ltd 映像配信サーバおよび映像配信方法
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
WO2009048277A2 (en) 2007-10-09 2009-04-16 Samsung Electronics Co., Ltd. Apparatus and method for generating and parsing mac pdu in a mobile communication system
US8635360B2 (en) 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
US20090125636A1 (en) 2007-11-13 2009-05-14 Qiong Li Payload allocation methods for scalable multimedia servers
EP2215595B1 (en) 2007-11-23 2012-02-22 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
JP5385598B2 (ja) 2007-12-17 2014-01-08 キヤノン株式会社 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
EP2086237B1 (en) 2008-02-04 2012-06-27 Alcatel Lucent Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US20090257508A1 (en) 2008-04-10 2009-10-15 Gaurav Aggarwal Method and system for enabling video trick modes
EP2263341B1 (en) 2008-04-14 2018-09-19 Amazon Technologies, Inc. Method and apparatus for performing random access procedures
US20100049865A1 (en) 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
WO2009130561A1 (en) 2008-04-21 2009-10-29 Nokia Corporation Method and device for video coding and decoding
US7979570B2 (en) 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US20100153578A1 (en) 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US8638796B2 (en) 2008-08-22 2014-01-28 Cisco Technology, Inc. Re-ordering segments of a large number of segmented service flows
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
AU2010206977B2 (en) 2009-01-26 2016-02-25 Interdigital Vc Holdings, Inc. Frame packing for video coding
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US20120151302A1 (en) 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
KR101598317B1 (ko) 2009-09-02 2016-02-26 애플 인크. 무선 시스템들의 mac 패킷 데이터 유닛 구성
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9438861B2 (en) 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
CN107911332B (zh) 2009-11-04 2021-01-08 阿莫泰克有限公司 媒体内容流播的方法、系统和计算机可读介质
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
US8510375B2 (en) 2009-12-11 2013-08-13 Nokia Corporation Apparatus and methods for time mapping media segments in streaming media files
JP5996439B2 (ja) 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
CA2786257C (en) 2010-02-19 2018-03-06 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for adaptation in http streaming
EP3079269B1 (en) 2010-03-11 2020-10-28 Electronics and Telecommunications Research Institute Method and apparatus for transceiving data in a mimo system
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Also Published As

Publication number Publication date
AR082175A1 (es) 2012-11-14
CN102986218B (zh) 2016-06-08
EP2594073B1 (en) 2020-04-22
JP5559430B2 (ja) 2014-07-23
WO2012009454A1 (en) 2012-01-19
IN2013CN00295A (ja) 2015-10-02
CN102986218A (zh) 2013-03-20
US8918533B2 (en) 2014-12-23
EP2594073A1 (en) 2013-05-22
JP2014209751A (ja) 2014-11-06
TW201223256A (en) 2012-06-01
JP2013535884A (ja) 2013-09-12
US20120016965A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
JP5770345B2 (ja) ビデオデータをストリーミングするためのビデオ切替え
JP6345827B2 (ja) ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
US9992555B2 (en) Signaling random access points for streaming video data
JP6392115B2 (ja) ビデオ構成要素を多重化するためのデータを信号伝達すること
JP5607251B2 (ja) ネットワークストリーミングされるビデオデータについての属性をシグナリングすること
RU2541155C2 (ru) Размещение фрагментов субтрека для потоковой передачи видеоданных
JP5628422B2 (ja) トリックモードビデオ表現のためのビデオサンプルを信号伝達すること
KR101436267B1 (ko) 비디오 구성요소들을 멀티플렉싱하기 위한 데이터의 시그널링

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150205

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150416

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: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150624

R150 Certificate of patent or registration of utility model

Ref document number: 5770345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250