JP2016502798A - コンテンツの状況に応じた動的ビットレート符号化および配信 - Google Patents

コンテンツの状況に応じた動的ビットレート符号化および配信 Download PDF

Info

Publication number
JP2016502798A
JP2016502798A JP2015542684A JP2015542684A JP2016502798A JP 2016502798 A JP2016502798 A JP 2016502798A JP 2015542684 A JP2015542684 A JP 2015542684A JP 2015542684 A JP2015542684 A JP 2015542684A JP 2016502798 A JP2016502798 A JP 2016502798A
Authority
JP
Japan
Prior art keywords
content
segment
bit rate
control information
encoding
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.)
Granted
Application number
JP2015542684A
Other languages
English (en)
Other versions
JP6284132B2 (ja
Inventor
エス マンチェスター ジェームス
エス マンチェスター ジェームス
ジェイム マイルズ ウィルフレッド
ジェイム マイルズ ウィルフレッド
ゼレスコ マシュー
ゼレスコ マシュー
ウルフ イーサン
ウルフ イーサン
Original Assignee
タイム ワーナー ケーブル エンタープライズス エルエルシー
タイム ワーナー ケーブル エンタープライズス エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by タイム ワーナー ケーブル エンタープライズス エルエルシー, タイム ワーナー ケーブル エンタープライズス エルエルシー filed Critical タイム ワーナー ケーブル エンタープライズス エルエルシー
Publication of JP2016502798A publication Critical patent/JP2016502798A/ja
Application granted granted Critical
Publication of JP6284132B2 publication Critical patent/JP6284132B2/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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

エンコーダリソースは、1つまたは複数のデータフィードでコンテンツのセグメントを受信する。エンコーダリソースは、複数の異なるビットレートデータストリームを指定するエンコーダ制御情報を受信および/または生成し、このビットレートデータストリーム上で、コンテンツのセグメントが符号化される。エンコーダ制御情報が指定した通りに、符号化規則に従って、エンコーダリソースは、可変数の異なるビットレートデータストリームに、コンテンツのセグメントを適応的に符号化する。ネットワーク環境におけるクライアントは、可変数の異なるビットレートデータストリームの取得を開始して、コンテンツを再生する。【選択図】図1

Description

従来のアダプティブビットレート(ABR)技術は、デコーダデバイスにオーディオおよび/またはビデオストリームを送信するのに使用できる。単純な例として、ネットワーク環境は、サーバ、通信リンクおよびクライアントを含むことができる。クライアントは、デコーダを含むことができる。動作中、その名称が示す通り、デコーダは、サーバから受信された符号化されたデータストリームをデコード(復号)し、再生デバイスで各コンテンツの再生を開始する。
アダプティブビットレート技術によれば、デコーダにデータを転送するビットレートは、利用可能なネットワーク帯域幅または他のリソースの障害に応じて(例えば数秒毎に)適合する。一例として、データストリームを(クライアント側の)デコーダに転送する通信リンクは、輻輳(コンジェスション)という状態におかれることがある。このような例では、ネットワークを介してデータを伝達するための帯域幅は、著しく低下するであろう。
帯域幅の利用可能性の減少などの状態を検出することに応答して、サーバは、クライアントから、送信されたコンテンツを再生する加入者に各リンクで送信されるデータの品質レベルまたはビットレートをアダプティブに(適応的に)変化させるように通知され得る。言い換えると、クライアントは、ネットワークの輻輳を検出することに応答して、より低いビットレートまたは品質レベルで符号化されたデータを要求できる。
輻輳の間に低いビットレートまたは品質レベルでサーバから符号化されたデータを送信すると、デコーダに送信されるパケットを低下させるのとは対照的に、輻輳が検出されたときの再生品質のレベルが例え低くても、加入者は、中断なくコンテンツを再生し続けることができる。メディアプレーヤは、場合によっては低い品質レベルでコンテンツを再生しなければならないが、加入者は中断のないストリーミングコンテンツの再生を所望するのが通常であるので、アダプティブビットレート技術は有用である。
アダプティブビットレート型のアプリケーションのために異なるビットレートで符号化されたコンテンツを生成する従来のエンコーダアプリケーションによれば、各エンコーダは、通常、単一のフィードまたはデータチャンネルを受信するように構成される。このフィードは、スケジュールされたタイムスロットにおいて利用可能にされ得る線形プログラムを提供できる。従来の符号化によれば、エンコーダは、フィード上で受信された様々なタイプのコンテンツの全てを同一のビットレートで符号化する。
本明細書における実施形態は、従来技術とは逸するものである。例えば、本明細書における一実施形態は、異なるそれぞれのビットレートで生成された符号化されたデータストリームの数を変化させることを対象にする。本明細書に述べるように、異なるビットレートデータストリームの数は、1つまたは複数のパラメータによって変化できる。
より具体的には、一実施形態によれば、エンコーダリソースは、入力されたデータストリームからコンテンツのセグメントを受信する。コンテンツの各セグメントにより、ストリーミングコンテンツの各部分の再生が可能となる。処理リソースは、コンテンツのセグメントを符号化する複数の異なるビットレートデータストリームを指定するエンコーダ制御情報(例えば、ルールまたはガイドライン)を生成する。エンコーダリソースは、このエンコーダ制御情報を受信する。このエンコーダ制御情報によって指定されたように、エンコーダリソースは、例えば、ケーブルネットワーク環境において加入者に利用可能な変化する数の異なるビットレートデータストリームに、コンテンツのセグメントを適応的に符号化する。
本明細書に述べるように、複数のパラメータはいずれも、生成された異なるビットレートデータストリームの数を調整する基準として使用できる。一例として、エンコーダリソースによって受信されたコンテンツは、1つまたは複数の異なるタイプのプログラムを含むことができる。一実施形態では、受信されたプログラムのタイプ(例えば、ニュース番組、スポーツイベント、アクション映画等)に従って、エンコーダリソースは、異なる数の利用可能な品質レベルまたはビットレートデータストリームを生成する。別の実施形態では、エンコーダリソースは、データストリームの数をプログラムごとに変化させるのとは対照的に、生成されたデータストリームの数をプログラム内で調整する。
一実施形態では、エンコーダリソースが、データフィード上でニュース番組などの第1のプログラムを受信すると仮定する。このニュース番組は、1つのシーンから別のシーンへの変化がほとんどないので、比較的少ないデータビットを含むことができる。このような例では、低いビットレートデータストリームが、画像、音声等を再生するのに十分であるので、最高の品質レベルのデータストリームを生成する必要はない。特にニュース番組用に生成された、受信されたエンコーダ制御情報に基づいて、エンコーダリソースは、閾値レベルを下回るより低いビットレートデータストリームとしてこのニュース番組を符号化する。
エンコーダリソースは、フィード上でアクション映画などの第2のプログラムを受信できる。アクション映画は、多くの目まぐるしく変化するシーンを含むので、ニュース番組よりもかなり多くのデータビット(例えば、表示スクリーンのピクセル設定の規定)を必要とするであろう。この後者の例において、アクション映画には、低いビットレートデータストリームが、十分に高い品質レベルでアクションシーンによってキャプチャされた対応する画像や音声等を再生するには不十分であるので、最高レベルのビットレートデータストリームを生成する必要がある。特にアクション映画用に生成された、受信されたエンコーダ制御情報に基づいて、エンコーダリソースは、より高いビットレートデータストリームを含むようにアクション映画を符号化する。
本明細書に述べるように、受信されたコンテンツを符号化する1つまたは複数の異なるビットレートを示すエンコーダ制御情報は、任意の適切な方法で受信され得る。例えば、エンコード制御情報は、受信されたストリーミングコンテンツに含まれるメタデータ(例えば、帯域内信号)としてのエンコーダ制御情報で受信され得る。1つの可能な代替案として、エンコーダ制御情報は、受信されたストリーミングコンテンツに対して帯域外の信号において受信されてもよい。別の代替案として、エンコーダリソースが、受信されたコンテンツを分析して、エンコーダ制御情報を局所的に発生させてもよい。
別の実施形態によれば、エンコーダリソースは、コンテンツのオリジナルのセグメントを受信する。コンテンツのオリジナルのセグメントのそれぞれは、再生にあたり各オリジナルのセグメントの描出/描写(rendition)をどのように再現するかを指定するデータビット情報を含む。エンコーダリソースまたは他の適切なリソースは、コンテンツのオリジナルのセグメントを分析する。例えば、エンコーダリソースは、コンテンツの各個別のオリジナルのセグメントに関連する複雑さの程度(大きさ, magnitude)を分析する。個別のオリジナルのセグメントのそれぞれまたはセグメントのグループの複雑さの程度に少なくとも部分的に基づいて、エンコーダリソースは、コンテンツのオリジナルのセグメントが符号化される異なるビットレートデータストリームの数を動的に調整する。
符号化される分析されたコンテンツの複雑さは、任意の適切の方法で測定できる。一実施形態では、複雑さの程度は、同一フレーム内のピクセル設定の変動、複数のフレームにまたがる同一ピクセル間の設定変動、画像シーケンスにおける動きの量、画像シーケンス間のピクセル設定の変化等などのパラメータに基づいて変化する。シーケンスにおけるより複雑な画像は、個別の複雑さがより高く、品質レベルを維持するために多くのデータビットを要求するものと分類される。シーケンスにおいて複雑さの少ない画像は、複雑さが低いものと分類され、かつ、品質レベルを維持するために少ないデータビットを要求する。
一例として、ニュース番組タイプの大部分のセグメントは、平均して、前述のように比較的少ないデータビットを含む。エンコーダリソースは、低レベルの品質と中間レベルの品質の間で指定された範囲における複数の異なるビットレートデータストリームにこれらのセグメントを符号化するように構成できる。場合によっては、しかしながら、ニュース番組は、対応するアクション画像を描出するために実質的に多くの量のデータビット情報を含む、より高い複雑さのアクションシーンを含むことがある。例えば、話をしているアナウンサーの表示を含むことに代わって、ニュース番組は火炎爆発の表示に変化することがあり、これは、画像をキャプチャするためにデータの多くのデータビットを必要とする。このような例では、多くの量のデータビット情報および/または高い複雑さを説明するために、かつ、高い品質レベルで動作シーンの再生を提供するために、エンコーダリソースはデータストリームの量を調整し、このデータストリームへ、高品質レベルの再生を可能にする高ビットレートデータストリームを含むようにセグメントが符号化される。例えば、受信されたコンテンツが、再び変化のない背景を背にして会話する人などの複雑さの低い画像を再びキャプチャする場合など、セグメント毎のデータビット情報の大きさが再び減少される場合には、適切なレベルの画像品質が低いアダプティブビットレートで提供できるので、エンコーダリソースは、1つまたは複数の高い品質レベルのデータストリームを生成するのを中断するように構成され得る。
別の例として、アクション映画などのアクションタイプのコンテンツ(より複雑なコンテンツ)の大部分のセグメントは、平均して、より多くの数のデータビットを含むことができる。エンコーダリソースは、利用可能な低レベルの品質と高レベルの品質の間の範囲における複数の異なるビットレートデータストリームにこれらのセグメントを一般に符号化するように構成できる。場合によっては、しかしながら、アクションタイプのコンテンツは、対応するアクションの少ない画像を描出するために実質的に少ない量のデータビット情報を含む、複雑さの低いアクションシーンを含むことがある。このような例では、複雑さの低い画像(例えば、シーンが素早く変化しないことなどによる)を説明するために、かつ、適度に高い品質レベルでアクションの少ないシーンの再生を提供するように、エンコーダリソースは、より少ない高ビットレートデータストリームを含むようにデータストリームの量を調整する。なぜなら、高いビットレートデータストリームが複雑さの低い画像には必要でないためである。セグメント毎の複雑さの大きさが再び増加すると、エンコーダリソースは、利用可能な最低レベルの品質と最高レベルの品質の間の範囲でのアクションタイプのコンテンツの生成に戻る。
上記およびその他のより具体的な実施形態を下記でより詳細に開示する。
本明細書で述べるリソースはいずれも、本明細書で開示する方法の動作のうちのいくつかまたは全てを実行および/またはサポートするように、1つもしくは複数のコンピュータ化されたデバイス、サーバ、基地局、無線通信装置、通信管理システム、ワークステーション、ハンドヘルド型もしくはラップトップ型コンピュータ等を含むことができる。すなわち、1つまたは複数のコンピュータ化されたデバイスまたはプロセッサは、本発明の様々な実施形態を実行するために、本明細書で説明されるように動作するようにプログラムおよび/または構成できる。
本明細書におけるさらに別の実施形態は、上記で概説され、以下で詳細に開示されるステップおよび動作を実行するためのソフトウェアプログラムを含む。このような1つの実施形態は、ソフトウェア命令が後続の実行のために符号化される持続性のコンピュータ可読の記憶媒体(すなわち、あらゆるコンピュータ可読のハードウェア記憶媒体)を含むコンピュータプログラム製品を含む。この命令は、プロセッサを有するコンピュータ化されたデバイスにおいて実行される場合は、本明細書で開示する動作を実行するようにプロセッサをプログラムし、および/またはプロセッサにそれを実行させる。このような構成は、光媒体(例えば、CD‐ROM)、フロッピーディスク、ハードディスク、メモリスティック等などの持続性のコンピュータ可読の記憶媒体で、または、1つまたは複数のROM、RAM、PROM等におけるファームウェアまたはショートコードなどのその他の媒体で、または特定用途向け集積回路(ASIC)等などで構成または符号化される、ソフトウェア、コード、命令、および/または、その他のデータとして提供されるのが通常である。ソフトウェアまたはファームウェアまたはその他のこのような構成は、コンピュータ化されたデバイスにインストールされて、このコンピュータ化されたデバイスに本明細書で説明する技法を実行させることができる。
従って、本明細書における実施形態は、本明細書で検討される動作をサポートする方法、システム、コンピュータプログラム製品等を対象とする。
一実施形態は、サーバからの、1つまたは複数の異なる品質レベルに従ってコンテンツの配信を促進させるためにそこに記憶される命令を有する、コンピュータ可読の記憶媒体および/またはシステムを含む。命令は、個々のコンピュータデバイスのプロセッサによって実行される場合には、システムのプロセッサまたは複数のプロセッサに、入力されたデータストリームからコンテンツのセグメントを受信させ、コンテンツのこのセグメントを符号化する複数の異なるビットレートデータストリームを指定するエンコーダ制御情報を受信させ、かつ、このエンコーダ制御情報により指定された通りに、ケーブルネットワーク環境において加入者が利用可能な、異なる数(可変数)のビットレートデータストリームにコンテンツのセグメントを適応的に符号化させる。
さらに別の実施形態は、サーバからの1つまたは複数の異なる品質レベルに従ったコンテンツの配信を促進させるためにそこに記憶される命令を有する、コンピュータ可読の記憶媒体および/またはシステムを含む。命令は、それぞれのコンピュータデバイスのプロセッサによって実行される場合には、システムのプロセッサまたは複数のプロセッサに、コンテンツのオリジナルのセグメントを受信させ、コンテンツの各個別のオリジナルのセグメントに含まれる、再生にあたり個別のオリジナルのセグメントの描出をどのように再生成するかを指定するデータビット情報の大きさを分析させ、かつ、個別のオリジナルのセグメントの各々におけるデータビット情報の大きさに少なくとも部分的に基づいてコンテンツのオリジナルのセグメントが符号化される異なるビットレートデータストリームの数を動的に調整させる。
上記のステップの順序は、明確にする目的で設けられている。本明細書で述べる処理ステップはいずれも、任意の適切な順序で実行できることに留意されたい。
本開示の他の実施形態は、上記で概説され、下記で詳細に開示される方法の実施形態のステップおよび動作のいずれかを実施するように、ソフトウェアプログラムおよび/またはそれぞれのハードウェアを含む。
本明細書で述べるシステム、方法、装置、コンピュータ可読の記憶媒体上の命令等が、ソフトウェアプログラム、ファームウェアとして、ソフトウェア、ハードウェアおよび/またはファームウェアの混成物として、プロセッサ内、オペレーティングシステム内、ソフトエアアプリケーション内などのハードウェア単体として、厳密に具体化できることを理解すべきである。
本明細書に述べるように、本明細書における技法は、ネットワーク環境において、異なる品質レベルのアダプティブビットレートで符号化されたコンテンツを可変符号化しかつこれを配信する分野において使用するのに適している。しかしながら、本明細書における実施形態が、このような用途における使用に限定されるのではなく、本明細書で述べる技法がその他の用途にも同様に適していることに留意すべきである。
さらに、本明細書における様々な特徴、技法、構成等が、本開示の様々な箇所で述べられるが、適切な場合には、概念の各々が、互いに無関係に、または互いに関連して選択的に実行できることに留意されたい。従って、本明細書に記載される1つまたは複数の本発明は、多くの様々な方法で具体化され、かつ検討され得る。
また、本明細書における実施形態のこの予備的な記述は、本発明または請求される発明のあらゆる実施形態および/または漸進的な新規性の態様を特定するものではないことに留意すべきである。そうではなく、この簡潔な記載は、大まかな実施形態と、従来技術に対する新規性の対応する点とを提示するのみである。本発明の付加的な詳細および/または実行可能な観点(置換)のために、読者は、さらに以下で説明する本発明の詳細な説明の部分および対応する図面に導かれる。
本明細書における実施形態による、異なる品質レベルでのコンテンツの可変符号化および配信を促進するネットワーク環境を示す例示的な図である。 本明細書における実施形態による、コンテンツスケジュール情報を示す例示的な図である。 本明細書における実施形態による、複数の異なるビットレート、品質レベル等でのコンテンツの符号化を示す例示的な図である。 本明細書における実施形態による、複数の異なるビットレートでのコンテンツの符号化を示す例示的な図である。 本明細書における実施形態による、複数のネットワークアドレスを表示するコンテンツアクセス情報を示す例示手な図であり、当該ネットワークアドレスから、異なるビットレートで符号化されるコンテンツのセグメントが取得される。 本明細書における実施形態による、エンコーダリソースを制御するためのトランスポートストリームにおけるエンコーダ制御情報などのメタデータの包含を示す例示的な図である。 本明細書における実施形態による、複数のフィード上でコンテンツの複数のストリームを取得するように構成されたエンコーダリソースと、ビットレートの符号化の修正形態とを記す例示的な図である。 本明細書における実施形態による、コンテンツのセグメントを符号化するビットレートを変化させるためのコンテンツの分析を示す例示的な図である。 本明細書における実施形態による、可変数のビットレートで符号化されたデータストリームへの、コンテンツのセグメントの適応的な符号化を示す例示的な図である。 本明細書における実施形態による、可変数のデータストリームへの、コンテンツのセグメントの適応的な符号化を示す例示的な図である。 本明細書における実施形態による、可変数のデータストリームへの、コンテンツのセグメントの適応的な符号化を示す例示的な図である。 本明細書における実施形態による、異なるビットレートでコンテンツを配信するネットワーク環境を示す例示的な図である。 本明細書における実施形態による、異なる品質レベルで符号化されたコンテンツのセグメントの選択、インターリーブ、およびデリバリを示す例示的な図である。 本明細書における実施形態による、プロセッサおよび符号化されるハードウェア記憶媒体を含む例示的なハードウェアアーキテクチャを示す図である。 本明細書における実施形態による例示的な方法を示すフローチャートである。 本明細書における実施形態による例示的な方法を示すフローチャートである。
本発明の、前述およびその他の目的、特徴および利点が、添付の図面に示すように、本明細書における好ましい実施形態に関する下記のより詳細な説明から明らかとなろう。図面では、同様の参照番号は、異なる図面を通して同一の部分に言及する。図面は必ずしも等倍でなく、実施形態、原則、概念等を示すことが強調されている。
前述のように、一実施形態によれば、エンコーダリソースは、入力されたデータストリームからコンテンツのセグメントを受信する。エンコーダリソースは、また、コンテンツのセグメントを符号化する複数の異なるビットレートデータストリームを指定するエンコーダ制御情報を受信および/または生成する。エンコーダ制御情報によって指定された通りに、エンコーダリソースは、ネットワーク環境における加入者への配信のために(例えば、ブロードキャスト、ユニキャスト、マルチキャスト等を介する)、異なるビットレートまたは品質レベルでコンテンツのセグメントを適応的に符号化する。
より具体的には、図1は、本明細書における実施形態に従った、異なる品質レベルでコンテンツの符号化および配信を促進するネットワーク環境を示す例示的な図である。
図示するように、ネットワーク環境100は、エンコーダリソース140を含む。エンコーダリソース140は、データフィード(供給)105‐1上で、コンテンツA、コンテンツB、コンテンツC等などのストリーミングコンテンツを受け取る。コンテンツ110(コンテンツA、コンテンツB、コンテンツCなど)は、同じプログラムまたは異なるプログラムの一部を表すことができる。
データフィード105‐1(または入力されたデータストリーム)は、コンテンツを受信するための、ファイバ、同軸ケーブル、ツイステッドペア等などの適切なタイプの媒体または通信リンクであることができる。データフィード105‐1で受信されたコンテンツ110は、ビデオデータ、音声データ等などの適切なタイプの情報であることができ、および/またはこれを含むことができる。
データフィード105‐1上で受信されたコンテンツ110は、適切な形態で受信され得る。例えば、本明細書において後述するように、受信されたコンテンツはセグメントに分割され得る。セグメントの各々は、それぞれのストリーミングコンテンツの特定の部分の再生を可能にする。一例として、受信されたコンテンツは、ビデオデータであり得る。コンテンツの各セグメントは、ビデオのそれぞれの部分の再生を可能にする。
エンコーダリソース140は、適切な方法でコンテンツ110を受信できる。例えば、コンテンツ110のセグメントは、相互間でインターリーブされ得る。別の実施形態では、データフィード105‐1は、シリアル方式で最初から最後まで(論理的な再生順序で、またはその順序から外れて)コンテンツAのセグメントを伝送し、その後、シリアル方式で最初から最後まで(論理的な再生順序で、またはその順序から外れて)データフィード105‐1上でコンテンツBの伝送が続く。
この例示的な実施形態では、エンコーダリソース140は、コントローラリソース150などの適切なタイプのリソースから、エンコーダ制御情報128を受信すると想定される。コントローラリソース150は、ネットワーク環境100において適切な位置に配置できる。一実施形態では、コントローラリソース150は、エンコーダリソース140に対してネットワークを介して遠く離れて配置され得る。
非限定的な例として、エンコーダリソース140は、コンテンツ110が受信されるデータフィード105‐1に関して帯域外の信号でエンコーダ制御情報128を受信できる。すなわち、一実施形態では、エンコーダ制御情報128は、コンテンツ110が受信される物理的な通信リンク(例えば、データフィード105‐1)とは物理的に異なる通信リンクで受信され得る。
一実施形態では、コントローラリソース150は、コンテンツスケジュール情報125およびマップ180などの入力に基づき、エンコーダ制御情報128を生成する。その名称が示唆するように、コンテンツスケジュール情報125は、データフィード105上で受信されたコンテンツについての情報を含むことができる。例えば、コンテンツスケジュール情報125は、種々のコンテンツがいつ受信されるか、および/またはいつ視聴可能にされるかといったことや符号化されるコンテンツの分類等を示すことができる。
マップ180は、符号化されるそれぞれのタイプのコンテンツための、1つまたは複数の予め決められた品質レベル(すなわち、ビットレート)を示す。
1つの非限定的な例示的な実施形態では、コントローラリソース150は、対応するコンテンツ110を符号化する異なる品質レベルまたはビットレートを判定する基準として、マップ180を利用する。(実施形態のより詳細な説明については、図2の検討を参照されたい。)
エンコーダ制御情報128に従って、エンコーダリソース140はデータストリーム120を生成する。前述のように、エンコーダ制御情報128は、コンテンツ110のセグメントをエンコードする複数の異なるビットレートデータストリームを指定する。例えば、エンコーダ制御情報128は、(可変または一定の)ビットレートの第1のセットに従ってコンテンツAを符号化することを示すことができ、エンコーダ制御情報128は、(可変または一定の)ビットレートの第2のセットに従ってコンテンツBを符号化することを示すことができ、エンコーダ制御情報128は、(可変または一定の)ビットレートの第3のセットに従ってコンテンツCを符号化することを示すことができる、といった具合である。
エンコーダ制御情報によって指定された通りに、エンコーダリソース140は、コンテンツ110のセグメントを、可変数の異なるビットレートデータストリーム120に適応的に符号化する。
1つの非限定的な例示的な実施形態によれば、符号化に続いて、サーバリソース145が、種々のビットレートデータストリーム120を、ネットワーク190を介して加入者に選択的に配信する(例えば、ユニキャスト、ブロードキャスト、マルチキャスト等)。
非限定的な例として、ネットワーク190は、IPTV(インターネットプロトコルテレビジョン)プロトコルに従って1人または複数の加入者がデータストリーム120を要求および取得するケーブルネットワーク環境であり得る。
データストリーム120を生成することに加えて、エンコーダリソース140またはその他の適切なリソースは、コンテンツアクセス情報122を生成する。その名称が示唆するように、一実施形態では、コンテンツアクセス情報122は、種々のデータストリーム120(すなわち、1つまたは複数の異なるビットレートに従って符号化されたコンテンツのセグメント)の利用可能性、種々のデータストリーム120の属性、データストリーム120が取得される1つまたは複数のネットワークアドレスの位置等などの情報を示す。
図2は、本明細書における実施形態による、コンテンツスケジュール情報と、コンテンツを符号化する種々のビットレートとを示す例示的な図である。
この非限定的な例では、コンテンツスケジュール情報125は、データフィード105‐1上で受信される種々のタイプのコンテンツを示す。図示するように、コンテンツスケジュール情報125は、種々のタイプのコンテンツがデータフィード105‐1上でいつ受信されるかを示すタイミング情報を含むことができる。受信されたコンテンツの部分は、データが属するそれぞれのコンテンツストリームを示すユニークな識別子情報を含むことができる。
この例では、コンテンツスケジュール情報125によって指定されるように、コンテンツAは、おおよそ午後1時と午後2時の間の第1のタイムスロットでの受領を予定され、コンテンツBは、おおよそ午後2時と午後4時の間の第2のタイムスロットでの受領を予定され、コンテンツCは、おおよそ午後4時と午後5時の間の第3のタイムスロットでの受領を予定される、といった具合である。
この例示的な実施形態において、コンテンツAは、コンテンツの第1のプログラムを表し、コンテンツBは、コンテンツの第2のプログラムを表し、コンテンツCは、コンテンツの第3のプログラムを表すと仮定される。
種々のコンテンツ110(例えば、コンテンツA、コンテンツB、C等)は、無関係であり得る。例えば、図示するように、コンテンツAは、ニュース番組のビデオであることができ、コンテンツBはスポーツイベントのビデオであることができ、コンテンツCは、アクション映画のビデオであることができる。それゆえ、種々のデータストリーム120に符号化される種々のコンテンツは、対応するジャンルによって分類され得る。
前述のように、マップ180は、異なるタイプのコンテンツを符号化する異なるビットレートを示す。可能なビットレートの範囲は、最高レベルの品質から最低レベルの品質まで、ビットレートBR1(例えば、最高レベルの品質で符号化するビットレート)、ビットレートBR2、ビットレートBR3、ビットレートBR4、ビットレートBR5、ビットレートBR6、ビットレートBR7、ビットレートBR8、ビットレートBR9、およびビットレートBR10(例えば、最低レベルの品質で符号化するビットレート)を含むことができる。
この例では、マップ180は、ビットレートBR4とビットレートBR10の間の範囲において、ニュース番組タイプのコンテンツのセグメント(例えば、比較的少ないビットレートで通常は符号化できる話し手の顔の映像)を符号化することを示す。午後1時と午後2時の間のタイムスロットにおけるコンテンツAのためにエンコーダ制御情報128を生成する場合、コンテンツスケジュール情報125の分類情報が、コンテンツAがニュース番組タイプのコンテンツであることを示すので、コントローラリソース150は、ビットレートBR4からBR10に応じた異なるビットレートデータストリームの第1の数(例えば、計7個の異なるビットレートデータストリーム120)に従ってコンテンツAの符号化を指定するように、第1のエンコーダ制御情報128を生成する。このエンコーダ制御情報128に応じて符号化する間に、エンコーダリソース140は、第1のエンコーダ制御情報によって指定された通りに、コンテンツAのセグメントを7個の異なるビットレートデータストリーム(例えば、BR4、BR5、・・・BR10)に符号化する。
さらに、この例示的な実施形態では、マップ180は、ビットレートBR1とビットレートBR10の間の範囲においてスポーツイベントタイプのコンテンツ(例えば、多くのデータビットを必要とする高解像度で通常はキャプチャされるNFLフットボールの試合のビデオ)を符号化することを示す。午後2時と午後4時の間のタイムスロットにおけるコンテンツBのためにエンコーダ制御情報128を生成する場合、コンテンツスケジュール情報125における分類情報が、コンテンツBがスポーツタイプのコンテンツであることを示すので、コントローラリソース150は、ビットレートBR1からBR10に応じた異なるビットレートデータストリームの第2の数(例えば、計10個の異なるビットレートデータストリーム120)に従ってコンテンツBの符号化を指定するように、第2のエンコーダ制御情報128を生成する。このエンコーダ制御情報128に応じて符号化する間に、エンコーダリソース140は、第2のエンコーダ制御情報によって指定された通りに、コンテンツBのセグメントを10個の異なるビットレートデータストリーム(例えば、BR1、BR2、・・・BR10)に符号化する。
この例示的な実施形態においてさらに、マップ180は、ビットレートBR3とビットレートBR10の間の範囲においてドラマ映画タイプのコンテンツ(例えば、ドラマ映画のビデオ)を符号化することを示す。午後4時と午後5時の間のタイムスロットにおけるコンテンツCのためにエンコーダ制御情報128を生成する場合、コンテンツスケジュール情報125の分類情報が、コンテンツCがドラマ映画タイプのコンテンツであることを示すので、コントローラリソース150は、ビットレートBR3〜BR10に応じた異なるビットレートデータストリームの第3の数(例えば、計8個の異なるビットレートデータストリーム120)に従ってコンテンツCの符号化を指定するように、第3のエンコーダ制御情報128を生成する。このエンコーダ制御情報128に応じて符号化する間に、エンコーダリソース140は、第3のエンコーダ制御情報によって指定された通りに、コンテンツCのセグメントを8個の異なるビットレートデータストリームに符号化する。
それゆえ、第1のタイムスロットにおいてデータフィード105‐1上で受信されるコンテンツAのセグメントなどのコンテンツ110の第1の部分は、ビットレートの第1の数に従って符号化されることができ、第2のタイムスロットにおいてデータフィード105‐1上で受信されるコンテンツBのセグメントなどのコンテンツ110の第2の部分は、ビットレートの第2の数に従って符号化されることができ、第3のタイムスロットにおいてデータフィード105‐1上で受信されるコンテンツCのセグメントなどのコンテンツ110の第3の部分は、ビットレートの第3の数に従って符号化されることができる、といった具合である。
非限定的な例として上述したように、データフィード105‐1は、異なるタイムスロットにおいて利用可能にされるコンテンツ110の複数のプログラム(例えば、コンテンツA、コンテンツB等)を含む線形のチャンネルであり得る。コントローラリソース150またはその他の適切なリソースは、複数のプログラムのスケジューリングタイム(タイムスロットなど)および/または分類タイプ(例えば、ジャンルタイプ)に基づいて、エンコーダ制御情報128を生成する。
エンコーダ制御情報128は、対応するビットレート情報を、受信されるコンテンツと一致させるように、適切な情報を含むことができる。例えば、エンコーダ制御情報128は、午後1時と午後2時の間にデータフィード105‐1上で受信されるコンテンツが、上述のようにビットレートBR4からBR10に従って符号化されると指定でき、エンコーダ制御情報128は、午後2時と午後4時の間にデータフィード105‐1上で受信されるコンテンツが、上述のようにビットレートBR1からBR10に従って符号化されると指定できる、といった具合である。
異なるコンテンツは、データがデータフィード105−1上で受信される時間よりもむしろ、タイトルによって指定されることもできる。例えば、エンコーダ制御情報128は、ビットレートの第1のセット(例えば、7個の異なるビットレート)に従ってデータフィード105‐1上で受信される第1のタイトルのコンテンツを符号化することを示すことができ、エンコーダ制御情報128は、ビットレートの第2のセット(例えば、10個の異なるビットレート)に従ってデータフィード105‐1上で受信される第2のタイトルのコンテンツを符号化することを示すことができる、といった具合である。
エンコーダ制御情報により指定された通りに、エンコーダリソース140は、データフィード105‐1上で受信された、各スケジュールされたコンテンツのセグメントを符号化するビットレートの数を変化させる。
本明細書において後述するように、あるタイムスロットにおいて受信されたそれぞれのコンテンツを符号化するビットレートの数は、1つまたは複数の異なるタイプまたは代替的なタイプの入力に応じて変更できる。例えば、本願でさらに検討するように、エンコーダリソース140またはその他の適切なリソースは、ネットワーク環境において、異なるビットレートデータストリーム上でコンテンツのセグメントを伝送するための帯域幅要件を決定するために、コンテンツのセグメントを分析するように構成され得る。エンコーダリソース140は、このセグメントに関連する帯域幅要件に少なくとも部分的に基づいてコンテンツのセグメントが符号化される異なるビットレートデータストリームの数を動的に調整する。すなわち、受信されたコンテンツのある特定のセグメントは、コンテンツが素早く変化するシーンをキャプチャするかもしれない。このような例の場合、コンテンツのセグメントは、1つまたはそれ以上のより高い品質レベルまたはビットレートで新たに加えられる符号化されたデータとすることができる。
図3は、本願における実施形態による、複数の異なるビットレートでのコンテンツの符号化を示す例示的な図である。
図示するように、データフィード105‐1上で受信されるコンテンツAは、論理セグメント#1、セグメント#2・・・に分割され、データフィード105‐1上で受信されるコンテンツBは、論理セグメント#1、セグメント#2・・・に分割される、といった具合である。各セグメントは、同じ量または異なる量の再生時間を表す情報を含むように符号化され得る。
エンコーダリソース140によって生成される符号化されたデータのグループは、式Axyで表され、ここでは、x=符号化のビットレートであり、またy=符号化されたコンテンツのセグメントの番号である。
異なるビットレートでのコンテンツのセグメントの符号化は、異なる品質レベルでの再生を提供する。例えば、データA41、A42等のグループは、データA51、A52等のグループを含む次の低ビットレートよりも多くの符号化されたデータを含む。それゆえ、ビットレートBR4でのコンテンツの符号化されたセグメントは、ビットレートBR5よりも高い品質レベルの再生を可能にし、ビットレートBR5でのコンテンツの符号化されたセグメントは、ビットレートBR6よりも高い品質レベルの再生を可能にする、といった具合である。
午後1時と午後2時の間のタイムスロットにおけるコンテンツAのために生成されるエンコーダ制御情報128に従って、エンコーダリソース140は、(ビットレートBR4での)データA41のグループ、(ビットレートBR5での)データA51のグループ、(ビットレートBR6での)データA61のグループ等として、コンテンツAのセグメント#1を符号化する。エンコーダリソース140は、(ビットレートBR4での)データA42のグループ、(ビットレートBR5での)データA52のグループ、(ビットレートBR6での)データA62のグループ等として、コンテンツAのセグメント#2を符号化する、といった具合である。
午後2時と午後4時の間のタイムスロットにおけるコンテンツBのために生成されたエンコーダ制御情報128に従って、エンコーダリソース140は、より高い品質レベルでコンテンツBを符号化する。例えば、エンコーダリソース140は、(ビットレートBR1での)データB11のグループ、(ビットレートBR2での)デーB21のグループ、(ビットレートBR3での)データB31のグループ、(ビットレートBR4での)データB41のグループ、(ビットレートBR5での)デーB51のグループ、(ビットレートBR6での)データB61のグループ等として、コンテンツBのセグメント#1を符号化する。エンコーダリソース140は、(ビットレートBR1での)データB12のグループ、(ビットレートBR2での)デーB22のグループ、(ビットレートBR3での)データB32のグループ、(ビットレートBR4での)データB42のグループ、(ビットレートBR5での)デーB52のグループ、(ビットレートBR6での)データB62のグループ等として、コンテンツBのセグメント#2を符号化する。
コンテンツの、より高いビットレートで符号化されたセグメントは、クライアントのために途切れることなく(例えば、利用可能なシーケンスにおいて次のデータを待機する必要なく)コンテンツを受信および再生するために、より高い帯域幅のトランスポートストリームを必要とする。
図4は、本明細書における実施形態による複数の異なるビットレートでのコンテンツの符号化を示す例示的な図である。
図示するように、図4は、午後2時と午後4時の間のタイムスロットにおけるコンテンツBの符号化と、午後4時と午後5時の間のタイムスロットにおけるコンテンツCの符号化との間の移行を示す。
コンテンツBの符号化は、図3において検討された。図4を参照すると、午後4時と午後5時の間のタイムスロットにおけるコンテンツCのために生成されたエンコーダ制御情報128に従って、エンコーダリソース140は、より低い品質レベルでコンテンツCを符号化する。例えば、エンコーダリソース140は、(ビットレートBR3での)データC31のグループ、(ビットレートBR4での)データC41のグループ、(ビットレートBR5での)データC51のグループ、(ビットレートBR6での)データC61のグループ等として、コンテンツCのセグメント#1を符号化し、エンコーダリソース140は、(ビットレートBR3での)データC32のグループ、(ビットレートBR4での)データC42のグループ、(ビットレートBR5での)データC52のグループ、(ビットレートBR6での)データC62のグループ等として、コンテンツCのセグメント#2をエンコードする、といった具合である。
図5は、仕様情報と複数のネットワークアドレスとを含む、コンテンツアクセス情報を示す例示的な図であり、このネットワークアドレスから、異なる品質レベル(異なるビットレート)で符号化されたコンテンツが取得される。
図示するように、コンテンツアクセス情報122‐Aは、コンテンツAの符号化されたセグメント(例えば、符号化されたデータAxyのグループであり、上述のように、x=符号化のビットレート、y=符号化されたコンテンツのセグメントの番号である)の利用可能性を示す。コンテンツアクセス情報122‐Aによると、コンテンツAは、ビットレートBR1、BR2およびBR3では利用できない。というのも、コンテンツがこのような高いビットレートで符号化されていないからである。コンテンツアクセス情報122‐Aは、コンテンツAがビットレートBR4、BR5、BR6、・・・BR10で利用可能であり、かつこれらのビットレートで符号化されたことを示す。
さらに、取得に利用可能なデータのビットレートおよび符号化されたグループを特定することに加えて、コンテンツアクセス情報122‐Aは、符号化されたコンテンツの属性(例えば、再生属性、ストリーミング属性等)と、異なるビットレートで符号化されたコンテンツをそこから取得するための1つまたは複数のネットワークアドレスとを示す。それゆえ、コンテンツアクセス情報122は、それぞれのセグメントが符号化される可変数のビットレートデータストリームに従うコンテンツのセグメントの利用可能性を示す。
上記と同様の方法で、エンコーダリソース140またはその他の適切なリソースは、コンテンツアクセス情報122を生成する。この例示的な実施形態では、コンテンツアクセス情報122‐Bは、符号化されたコンテンツBの属性を示す。
本明細書に記すように、例えばコンテンツAの異なるセグメントが符号化されるビットレートの数は、変更できる。このような例では、それぞれのコンテンツアクセス情報122は、可変ビットレートでのコンテンツAの利用可能性を反映するように常に更新される。
図6は、本明細書における実施形態による、エンコーダリソースを制御するための伝送ストリームにおけるメタデータの取り込みを示す例示的な図である。
前述のように、エンコーダリソース140は、データフィード105-1についての帯域外のチャンネルにおいてエンコーダ制御情報128を受信できる。図6と別の実施形態において、エンコーダリソース140は、コンテンツの関連するストリームにおいてそれぞれのメタデータとしてエンコーダ制御情報128を受信できる。
例えば、コントローラリソース150は、前述のような方法で、エンコーダ制御情報128を生成するように構成できる。コンテンツデリバリリソース650は、データフィード105-1上で伝送されるコンテンツ610を受信する。コンテンツデリバリリソース650は、コンテンツストリームの各々において、メタデータとして、および/または、マーカ情報として、エンコーダ制御情報128をインターリーブする。例えば、コンテンツデリバリリソース650は、コンテンツAと関連したエンコーダ制御情報をメタデータAとして、データフィード105‐1上で伝送されるコンテンツデータストリームAへ挿入し、コンテンツデリバリリソース650は、コンテンツBと関連したエンコーダ制御情報をメタデータBとして、データフィード105‐1上で伝送されるコンテンツデータストリームBへ挿入する、といった具合である。エンコーダリソース140は、データフィード105‐1上で受信されたデータストリームをモニタし、メタデータに記憶されたエンコーダ制御情報128を取得する。
メタデータは、コンテンツを伝送するそれぞれのトランスポートストリームのあらゆる部分に含められることができる点に留意されたい。例えば、図示するように、コンテンツAを伝送するトランスポートストリームは、ビットレートBR4〜BR10に従いトランスポートストリームのそれぞれのペイロード(例えば、コンテンツA)を符号化することを示すメタデータAを含むことができ、コンテンツBを伝送するトランスポートストリームは、ビットレートBR1〜BR10に従いトランスポートストリームのそれぞれのペイロード(例えば、コンテンツB)を符号化することを示すメタデータBを含むことができる。
メタデータは、それぞれのトランスポートストリームの任意の場所で、分割され、および/または含まれ得る。1つの非限定的な例示的な実施形態において、メタデータの各受信された部分は、次に受け取られるコンテンツをどのように符号化するかを、エンコーダリソース140に示す。この方法で、コンテンツデリバリリソース650は、データフィード105‐1に関して帯域外のチャンネルでこのような情報を伝送する必要なく、データフィード105‐1上で伝送される種々のストリーミングコンテンツをどのように符号化するかを、エンコーダリソース140に通知できる。
エンコーダリソースは、データフィード105‐1上でコンテンツのセグメントを受信し、メタデータのためにデータフィード105‐1をモニタする。エンコーダリソース140は、1つまたは複数の異なる品質レベルで符号化されるべきコンテンツを含む入力されるトランスポートストリーム上のメタデータからエンコーダ制御情報を取得する。前述のように、エンコーダ制御方法は、コンテンツの符号化を異なるビットレートで連続的に変化させるように、それぞれのデータストリーム内で変化することができる。
図7は、本明細書における実施形態による、複数のフィード上のコンテンツの複数のストリームを受信するように構成されたエンコーダリソースと、エンコーダビットレートの変更とを示す例示的な図である。
図示するように、エンコーダリソース140は、符号化のために、コンテンツの任意の数の論理ストリームを受け取るように構成され得る。論理ストリームは、1つまたは複数のマルチストリームデータチャンネル、1つまたは複数のシングルストリームデータチャンネル等として受信され得る。
1つの非限定的な例示的な実施形態において、エンコーダリソースは、異なるビットレートデータストリームにおいてコンテンツの符号化されたセグメントを生成するように、複数の並列処理デバイスを含む。処理リソースは、経時的に発生される必要のある異なるビットレートデータストリームに応じて使用するために動的に分配され得る。
この例示的な実施形態において、エンコーダリソース140は、データフィード105‐1、データフィード105‐2、データフィード105‐3等を含む1つまたは複数のデータフィードの各々で受信されるコンテンツを符号化するビットレートを変化させる。エンコーダリソース140は、サーバリソース145による後続の分配のために、リポジトリ780‐1、780‐2、780‐3等において可変符号化されたコンテンツを記憶する。
一実施形態では、サーバリソース145‐1は、可変ビットレートで符号化されたデータストリームX1、X2、X3等を、ネットワーク190‐1を介して加入者に分配し、サーバリソース145‐2は、可変ビットレートで符号化されたデータストリームY1、Y2、Y3等をネットワーク190‐2を介して加入者へ分配し、サーバリソース145‐3は、可変ビットレートで符号化されたデータストリームZ1、Z2、Z3等を、ネットワーク190‐3を介して加入者へ分配する、といった具合である。
前述の方法において、エンコーダリソース140は、対応するエンコーダ制御方法128に従って異なるコンテンツを符号化するように構成され得る。
別の例示的な実施形態においては、(コンテンツスケジュール情報125の代替物として、またはこれと共に)任意の適切な制御パラメータ入力が、必要に応じて、種々の受信されたコンテンツのための符号化されたビットレートデータストリームの数を適応的に変化させるための基礎として使用され得る。
例えば、アナライザリソース760は、フィードバック情報などの入力制御情報770を受信するように構成され得る。
一実施形態では、入力制御情報770は、コンテンツの符号化されたセグメントがケーブルネットワーク環境の加入者に分配される1つまたは複数のネットワークにおける輻輳の度合を示す。閾値を上回る、ネットワーク190‐1における輻輳を検出することに応答して、アナライザリソース760(例えば実質的にリアルタイムでのエンコーダ制御情報の生成を介して)は、エンコーダリソース140の設定を調整できる。生成されたエンコーダ制御情報は、コントローラリソース150により生成された設定に優先することができる。例えば、ネットワーク190‐1を介して高い品質レベルのデータストリームXを伝送するのに利用可能な帯域幅が不十分であるという事実により、アナライザリソース760によって生成された制御入力に従って、エンコーダリソース140は、データストリームXを符号化する際に、高い品質レベルで利用可能なビットレートデータストリームの数を減少するように構成され得る。より高いビットレートでの符号化を取り除くと、エンコーダリソース、記憶スペース、伝送コンテンツのネットワーク帯域幅等を節約できる。
それゆえ、一実施形態によれば、アナライザリソース760は、符号化されたデータストリームXの少なくとも一部が伝送されるネットワーク190‐1の帯域幅を解放するべく、複数の異なるビットレートデータストリームの少なくとも1つのコンテンツXのセグメントの符号化を取り除くように、エンコーダ制御情報を生成できる。
本例においてコンテンツXのための符号化されたデータストリームの数を減らすと、エンコーダリソース140が解放されて、別のチャンネルのために生成されるビットレートデータストリームの数が増加する。例えば、データストリームXにおける高い品質レベルのデータストリームを取り除くことにより、エンコーダリソース140は、その代わりに、解放された符号化リソースを使用して、コンテンツZなどの別のチャンネルにおいて1つまたは複数のより高い品質レベルのデータストリームを生成できる。それゆえ、異なるビットレートで符号化すると、1つまたは複数の適切なタイプの入力制御情報に応じて負荷を分散できる。より具体的には、この方法で、エンコーダリソースは、例えばタイムスロット内などで必要に応じて、コンテンツの符号化されたセグメントを伝送するケーブルネットワーク環境で利用可能な帯域幅の量の少なくとも一部に基づいて、コンテンツのセグメントを符号化するビットレートを変化させることが可能である。
異なるビットレートデータストリームの生成を動的に調整するのに使用されるフィードバック情報(例えば、入力制御情報770)は、任意の適切なタイプの情報を含むことができる。例えば、入力制御情報770を介して、アナライザリソース760は、符号化されたデータストリームをそれぞれのリポジトリ780に記憶可能であることをモニタできる。それぞれのリポジトリにおけるリソースが利用できなくなるか、または容量に達する場合、アナライザリソース760は、1つまたは複数のビットレートデータストリームを減少させるように構成され得る。
特定の例においては、1つまたは複数のサーバリソース145は、符号化されたコンテンツをそれぞれの加入者に分配する障害となることがある。このような例では、1つまたは複数のビットレートデータストリーム(例えば、1つまたは複数の高い品質レベルのデータストリーム)を取り除いて、それぞれ要求されたコンテンツをクライアントに配信する負荷を減少させることが望ましい。
図8は、本明細書における実施形態による、符号化ビットレートを変化させるためのコンテンツの分析を示す例示的な図である。
一実施形態では、エンコーダリソース140は、コンテンツアナライザリソース840を含む。コンテンツアナライザリソース840は、エンコーダリソース140内に配置してもよく、または、ネットワークを介して遠隔に配置されたリソースに配置されてもよい。
前述のように、エンコーダリソース140は、データフィード105‐1上でコンテンツA、コンテンツB、コンテンツC等のオリジナルのセグメントを受信できる。コンテンツアナライザリソース840は、初めに、受信したセグメントを復号化する。その後、コンテンツアナライザリソース840は、コンテンツのそれぞれ個別のオリジナルのセグメントの複雑さを分析する。アクション映画のシーンなどの複雑なシーン(例えば、火炎爆発、風に揺れる細かい草の葉等)は、適度な品質レベルでこのようなイメージをキャプチャするのに、大規模のデータビットを必要とするのが通常である。各ニュース番組のイメージなどの複雑さの少ないシーン(例えば、静止した背景などを背に会話する人々)は、適度な品質レベルでそれぞれのイメージをキャプチャするのに、より少ないビットレートを必要とするのが通常である。
前述のように、データフィード105‐1で受信されたコンテンツの各セグメントにおけるデータビット情報(これはセグメントごとに異なり得る)は、再生テストで、それぞれのオリジナルのセグメントの描出をどのように再生成するかを示す。1つの非限定的な例示的な実施形態では、エンコーダリソース140は、コンテンツのオリジナルのセグメントが、個々のオリジナルのセグメントの各々の複雑さに少なくとも部分的に基づいて、符号化される異なるビットレートデータストリームの数を動的に調整する。
複雑さの高いイメージ(映像)の一例は、イメージにおける各画素が、イメージにおけるその他全ての画素と異なるカラー設定値に設定されるイメージである。このようなイメージの符号化は、損失なしには困難である。
最も複雑でないイメージの一例は、イメージにおける各画素が、イメージにおけるその他全ての画素と同じカラー設定値に設定されるイメージである。このようなイメージの符号化は単純である。
これらの2つのサンプルの両極端の間には、多くの異なる度合の複雑さがあることに留意されたい。
一般的な例を図9に表し、かつ説明する。
1つの非限定的な例示的な実施形態において、エンコーダリソース140は、データフィード105‐1上でコンテンツを受け取る。コンテンツアナライザリソース840は、データストリームにおけるコンテンツのセグメントの各々に関連した相対的な複雑さを分析する。後続の図面において下記に述べるように、1つまたは複数のセグメントの複雑さに少なくとも部分的に基づいて、エンコーダリソース140は、セグメントのために生成されるアダプティブビットレートデータストリームの数を変化させる。
図9は、本明細書における実施形態に従った、可変数のデータストリームへのコンテンツの適応的な符号化を示す例示的な図である。
前述のように、エンコーダリソース140は、符号化のためにコンテンツAを受信できる。この例において、コンテンツAのセグメントは、テスト中のそれぞれのセグメント(またはセグメントのグループ)の複雑さに応じて、可変数の異なるビットレートデータストリームに符号化される。
前述のように、一実施形態において、コンテンツアナライザリソース840は、各セグメントの複雑さを判定するためにコンテンツのセグメントを分析する。複雑さは、任意の適切な方法で測定され得る。例えば、コンテンツアナライザリソース840は、同じフレーム内のピクセル設定の変動、複数のフレームにまたがる同一のピクセルの設定の変動、一連のイメージ(映像)の動きの量、一連のイメージの間のピクセル設定の変化等などのパラメータに基づいて、セグメントの複雑さの程度を判定できる。
一実施形態では、コンテンツアナライザリソース840は、最初に、データフィード105‐1上でコンテンツの受信されたセグメントを復号化する。コンテンツアナライザリソース840は、セグメントを特定の複雑さであると類別および/または分類する。非限定的な例として、最も複雑なセグメントは、クラスAに割り振られ、その次に複雑なセグメントはクラスBに割り振られ、その次に複雑なセグメントはクラスCに割り振られ、次に複雑なセグメントはクラスDに割り振られ、次に複雑なセグメントはクラスEに割り振られ、次に複雑なセグメントはクラスFに振り分けられ、最も複雑さの低いクラスに至る。
以下で述べる一実施形態において、エンコーダリソース140は、符号化されるそれぞれのコンテンツの複雑さに応じて、異なるアダプティブビットレートでコンテンツのセグメントを符号化する。例えば、複雑さのクラスAに分類されるようなコンテンツの非常に複雑なセグメントは、BR1とBR10の間(すなわち、最高でビットレートBR1まで)のアダプティブビットレートの範囲において符号化でき、クラスBに分類されるようなコンテンツの複雑さがより少ないセグメントは、BR2とBR10との間(すなわち、最高でビットレートBR2まで)のアダプティブビットレートの範囲において符号化でき、複雑さのクラスCに分類されるようなコンテンツのセグメントは、BR3とBR10との間(すなわち、最高でビットレートBR3まで)のアダプティブビットレートの範囲において符号化でき、複雑さのクラスDに分類されるようなコンテンツのセグメントは、BR4とBR10との間(すなわち、最高でビットレートBR4まで)のアダプティブビットレートの範囲において符号化でき、複雑さのクラスEに分類されるようなコンテンツのセグメントは、BR5とBR10との間(すなわち、最高でビットレートBR5まで)のアダプティブビットレートの範囲において符号化できる、といった具合である。
わかり易くするために、セグメント#1、#2・・・の各々は時間間隔が1秒または数秒であると仮定する。この例示的な実施形態では、それぞれの分析に基づいて、コンテンツアナライザリソース840は、オリジナルのコンテンツのセグメント#1を複雑さのクラスCに割り振ると想定され、コンテンツアナライザ840は、セグメント#2を複雑さのクラスDに割り振ると想定され、コンテンツアナライザ840は、オリジナルのコンテンツのセグメント#7を複雑さのクラスCに割り振ると想定され、コンテンツアナライザ840は、オリジナルのコンテンツのセグメント#8を複雑さのクラスBに割り振ると想定される、といった具合である。
この例示的な実施形態においては、コンテンツAのセグメント#1の複雑さが、より高いビットレートBR1およびBR2での符号化を満たしていないので、エンコーダリソース140は、対応する指定されたビットレートBR3〜BR10(例えばデータA31、A41、A51、A61等のグループ等)でセグメント#1を符号化する。すなわち、これらのより高いビットレート(BR1およびBR2)でのセグメント#1の符号化は、データA31のグループよりも優れたビデオの描出を必ずしも提供しない。
同様の方法で、エンコーダリソース140は、適切な対応するビットレートBR4〜BR10(例えば、データA42、A52、A62等のグループ)でセグメント#2を符号化する。なぜなら、コンテンツAのセグメント#2の複雑さにより、より高いビットレートBR1、BR2およびBR3でコンテンツAのセグメント#2を符号化する必要がほとんどないか、または全くないからである。
エンコーダリソース140は、適切なビットレートBR3〜BR10(例えば、データA37、A47、A57、A67等のグループ)でセグメント#7(複雑さのクラスCに割り振られる)を符号化する。なぜなら、より高いビットレートBR1およびBR2でコンテンツAのセグメント#7を符号化する必要がほとんどないか、または全くないからである。
エンコーダリソース140は、適切なビットレートBR2〜BR10(例えば、データA28、A38、A48、A58、A68等のグループ)でセグメント#8(複雑さのクラスBに割り振られる)を符号化する。なぜなら、最高のビットレートBR1でコンテンツAのセグメント#8を符号化する必要がほとんどないか、または全くないからである。
それゆえ、本明細書における実施形態は、異なるビットレートデータストリームでコンテンツのセグメントを伝送するための帯域幅要件を決定するようにコンテンツのセグメントを分析すること、複数の異なるビットレートに従ってコンテンツのセグメントを符号化すること、および、コンテンツのセグメントが、セグメントに関連した帯域幅要件に少なくとも部分的に基づいて符号化される異なるビットレートデータストリームの数を動的に調整することを含む。すなわち、効率的な符号化のために、エンコーダリソース140は、符号化されるオリジナルのセグメントの帯域幅要件に応じて適切なビットレートまでセグメントを符号化する。より高いビットレートの符号化は、必要でない場合、または、それが再生の利点をほとんどもたらさないか、もしくは全くもたらさない場合には、取り除くことができる。
前述のように、任意の1つまたは複数の異なるタイプの適切なリソースは、可変数のビットレートデータストリームに従ってコンテンツのセグメントの利用可能性を特定する、対応するコンテンツアクセス情報を生成するように構成され得る。
図10は、本明細書における実施形態に従った可変数のデータストリームへのコンテンツの適応的な符号化を示す例示的な図である。
別の実施形態によれば、エンコーダリソース140は、コンテンツのセグメントが、複雑さの閾値を超えるものとして分類されない限りは、コンテンツAのセグメントの各々を閾値1020(例えば、BR4、BR5、BR6等)まで符号化することを示すエンコーダ制御情報128を受け取ることができる。
この例では、コンテンツAのセグメントの各々は、最大で閾値1020のビットレートBR4まで符号化される(例えば、cは、少なくともビットレートBR4、BR5、BR6で符号化される)、受信されたセグメントの複雑さがそのようにする必要性を示さない限りは、より高いビットレートBR3、BR2およびBR1で必ずしも符号化されない。
例えば、図示するように、セグメント#1およびセグメント#2は、クラスEおよびクラスDの複雑さであるとそれぞれ検出される。セグメント#1およびセグメント#2は、それゆえ、最高でビットレートBR4まで符号化される。
セグメント#7は、複雑さのクラスCに分類され、それゆえ、閾値1020を上回るさらなるビットレートBR3で符号化される。なぜなら、コンテンツの複雑さの変化が、閾値1020を上回るより高いビットレートBR3での符号化を保証するからである。
セグメント#8は、複雑さのクラスBに分類され、それゆえ、閾値1020を上回るさらなるビットレートBR3およびBR2で符号化される。なぜなら、コンテンツの複雑さの変化が、閾値1020を上回るより高いビットレートBR3での符号化を保証するからである。
さらに、本明細書における実施形態は、コンテンツのセグメントを潜在的に符号化する複数の異なるビットレートデータストリームの範囲を示すエンコーダ制御情報128を受信することを含むことができる点に留意されたい。この範囲は、閾値1020に加えて、またはこれの代わりに、受信され得る。このような実施形態では、エンコーダリソース140は、上述の方法でオリジナルのセグメントの各々に含まれるデータビット情報(例えば、伝送帯域幅要件)の大きさに応じてエンコーダ制御情報によって特定されたように、この範囲内で変化するように異なるビットレートデータストリームの数を動的に調整する。一例として、エンコーダリソース140は、ビットレートBR4の高さまでの閾値1020で、BR2〜BR10を含む範囲において符号化されたコンテンツ(すなわち、データのグループ)を生成するように限定されるように構成され得る。コンテンツAのセグメント#8などのそれぞれのセグメントが複雑さの閾値を上回ると検出される場合、エンコーダリソース140は、BR2が許容範囲BR2〜BR10における最大のビットレートであるので、最高でBR2まで、かつBR2を含んで、コンテンツのセグメントを符号化する。
図11は、本明細書における実施形態による可変数のデータストリームへのコンテンツのアダプティブな符号化を示す例示的な図である。
この例では、エンコーダ制御情報128が、前述のようにビットレートBR1からBR10に従ってコンテンツBを符号化することを示すと仮定される。閾値1120は、それゆえ、最高レベルの品質に設定される。
エンコーダ制御情報128によれば、エンコーダリソース140は閾値1120を最高レベルの品質(すなわち、ビットレートBR1または6.22mbps)に設定する。コンテンツアナライザリソース840は、セグメントが符号化される最高のビットレートを減少させるかどうかを判定するようにセグメントを分析する。例えば、前述の方法で、コンテンツアナライザリソース840は、セグメント#1が複雑さのクラスAに分類されると検出し、コンテンツアナライザリソース840は、セグメント#2が複雑さのクラスAに分類されると検出し、コンテンツアナライザリソース840は、セグメント#7が複雑さのクラスBに分類されると検出し、コンテンツアナライザリソース840は、セグメント#8が複雑さのクラスCに分類されると検出すると想定される、といった具合である。
図示するように、本明細書における実施形態は、それぞれのセグメントに関連する複雑さが、最高の1つまたは複数のビットレートでのセグメントの符号化を満たさない場合には、閾値1120を下回る、より少ないビットレートでコンテンツの1つまたは複数のセグメントを符号化することを含む。すなわち、この例示的な実施形態では、エンコーダリソース140は、ビットレートBR1、BR2、BR3、BR4、BR5、BR6等でセグメント#1を符号化し、エンコーダリソース140は、ビットレートBR1、BR2、BR3、BR4、BR5、BR6等でセグメント#2を符号化し、エンコーダリソース140は、ビットレートBR2、BR3、BR4、BR5、BR6等でセグメント#7を符号化し、エンコーダリソース140は、ビットレートBR3、BR4、BR5、BR6等でセグメント#7を符号化する、といった具合である。
従って、本明細書における実施形態は、コンテンツの第1のセグメントを受信すること、複数のビットレートデータストリームの第1のセットに第1のセグメントを符号化すること、第1のセグメントの後続のシーケンスに論理的に配置されるコンテンツの第2のセグメントを受信すること、および、コンテンツの第2のセグメントにおけるデータビット情報の大きさが、閾値よりも小さいと判定することに応答して、第1のセットよりも少ないビットレートデータストリームを含むデータストリームの第2のセットに第2のセグメントを符号化することを含む。
図12は、本明細書における実施形態による異なるビットレートまたは異なる品質レベルでの符号化されたものの新規の生成および分配を促進するネットワーク環境の例示的な図である。
図示するように、ネットワーク環境100は、コンテンツ110、リポジトリ180、サーバリソース145(例えば、1つまたは複数のサーバ)、ケーブルネットワークまたは共有のケーブルネットワークなどのネットワーク190、および個々のユーザ(例えば、加入者)108が操作する通信デバイス160を含む。
この例では、リポジトリ180のデータストリーム120は、コンテンツ110から派生している。コンテンツ110は、ビデオ情報、音声情報等などの、任意の適切なタイプの再生情報とすることができる。
一般に、サーバリソース145は、ネットワーク190を介して通信デバイス160へ、データストリーム120の種々の部分の配信を開始する。一実施形態では、通信デバイス160は、再生装置であり、または、サーバリソース145から受信されるデータの種々の品質レベルに従ってコンテンツ110の描出を再生するように構成されるメディアプレーヤを含む。
ネットワーク190は、サーバリソース145から、ネットワーク環境100に位置する1人または複数のユーザ108の各々へのデータの配信をサポートする、任意の適切なタイプのリソースまたはデータ通信デバイスを含むことができる。例えば、一実施形態では、ネットワーク190は、ルータ、コアネットワーク、エッジサーバ、記憶リソース、スイッチ等などのリソースを含み、1つまたは複数の適切なインターネットデータトランスポートプロトコル(例えば、IPプロトコル)に従って異なる品質レベルで符号化されたコンテンツの配信を促進する。
非限定的な例として、ネットワーク190は、コンテンツデリバリネットワークとすることができ、または、これを含むことができる。
一実施形態では、必要に応じて、ネットワーク190は、クライアントデバイス(例えば、通信デバイス160)に近接するそれぞれのエッジノードでデータをキャッシュするためにリソースを含む。初めに、データがサーバリソース145などの遠隔のソースから取得される場合には、キャッシュは空であることができる。ネットワーク190におけるエッジノードは、このエッジノードを介して対応する通信デバイス160に伝送される、特定のアダプティブビットレートセグメントをキャッシュするように構成され得る。後続要求で、およびネットワーク190の効率を上昇させるために、遠隔サーバ145からアダプティブビットレートを取得する代わりに、通信デバイス160は、エッジサーバから異なるビットレートでコンテンツの符号化されたセグメントを取得できる。前述のように、コンテンツが付近のエッジサーバにおいて利用可能でない場合、クライアントは、サーバリソース145からコンテンツのアダプティブビットレートセグメントを取得できる。
通信デバイス160は、ユーザにメディアを再生するように構成された個々のメディアプレーヤを含む、パーソナルコンピュータ、テレビ、Apple(商標)製品等などの任意のタイプの処理デバイスとすることができる。
さらに非限定的な例として、通信デバイスは、任意の1つまたは複数の適切なIPプロトコルを使用して、符号化されたコンテンツの異なるセグメントの取得を要求するように構成できる。データストリーム115を受信する1つのアプリケーションは、ビデオオンデマンドタイプまたはIPTVタイプのアプリケーションであり、このアプリケーションにおいて、個々のユーザは、パケット交換ネットワーク上で伝送されるデータパケットの伝送をサポートする1つまたは複数の通信リンクを介してコンテンツの取得を要求する。このような例では、コンテンツの符号化されたセグメントは、1つまたは複数のデータパケットでクライアントに伝送される。各クライアントは、HTTP(ハイパーテキストトランスファープロトコル)要求メッセージなどの適切なプロトコルに基づいて、符号化されたコンテンツの異なるアダプティブビットレートセグメントの取得を要求する。それゆえ、通信デバイス160-1は、サーバリソース145と通信セッションを確立でき、かつ、異なるビットレートで符号化されたコンテンツを取得できる。
このような例では、要求に応答して、それぞれの通信デバイスは、要求されたコンテンツを即座に再生するように、より低い品質レベルの利用可能なアダプティブビットレートコンテンツ110を初めに要求できる。十分なバッファリングの後、通信デバイスにおけるデコーダは、利用可能な場合には、より高い利用可能なビットレートでコンテンツのセグメントを要求できる。コンテンツの開始および初期の再生に続いて、デコーダは、利用可能なリソースに、任意の所定の時間での再生のために最高品質のコンテンツ(例えば、最高の利用可能なビットレート)を継続的に要求できる。従って、通信デバイス160における対応するデコーダは、コンテンツの異なるビットレートで符号化されたセグメントの選択を介してコンテンツを受信するビットレートを制御するように構成できる。
前述のように、サーバリソース145は、ケーブルネットワーク環境における1人または複数の加入者に対応するコンテンツアクセス情報を配信するように構成できる。コンテンツアクセス情報を介して、加入者は、エンコーダリソース140が生成した可変数のビットレートデータストリームからコンテンツの符号化されたセグメントを選択的に取得できる。
別の実施形態によれば、1人または複数のユーザ108は、共有のケーブルネットワークを介して利用可能なコンテンツを取得できる。一実施形態では、加入者(例えば、ユーザ108)はそれぞれ、ビデオの取得および視聴専用のケーブル帯域幅のIP(インターネットプロトコル)の部分を介して異なる品質レベルでコンテンツ110のセグメントを取得するように要求できる。
コンテンツのIPTVストリーミングの代案として、ケーブルネットワークにおけるケーブル帯域幅の一部は、加入者が符号化されたコンテンツを取得するように自身のそれぞれの通信デバイス(例えば、セットトップボックス)を放送チャンネルに同調させる、いわゆる線形チャンネルプログラミング専用とすることができる。ネットワーク190は、ケーブルネットワークとすることができ、またはこれを含むことができ、このケーブルネットワークを介して、異なる品質レベルで符号化されたコンテンツ110が、いわゆるサービスグループにおける複数のユーザの各々に放送される。このような実施形態では、ユーザ108は、自身のそれぞれの通信デバイス160を、利用可能なチャンネルに同調させ、かつ、選択されたコンテンツを再生するように設定できる。
別の実施形態においては、ケーブルのIP帯域幅の部分に対する需要が十分に高くなる場合は、ケーブルプロバイダは、ビデオオンデマンドと、より高いアダプティブビットレートで符号化されるコンテンツとに利用可能なケーブル帯域幅の量の割り当てを動的に調整できる。
一般に、通信デバイス160は、ネットワーク190を介してサーバリソース145と通信する。前述のように、かつ、非限定的な例として、通信デバイス160のそれぞれは、携帯電話機、モバイル機器、パーソナルデジタルアシスタント、タッチパッドデバイス、ポータブルコンピュータ、有線電話機、ケーブルセットトップボックス、テレビ、表示スクリーン、無線電話機、無線携帯デバイス、テレビ等の、任意の適切なタイプの携帯型または非携帯型デバイスであるか、またはこれらを含むことができる。
ネットワーク190は、通信デバイス160間または通信システム100におけるその他のリソース間の通信をサポートする、任意の適切なタイプのネットワークであるか、またはこれを含むことができる。例えば、ネットワーク190は、電話ネットワーク、携帯電話ネットワーク、インターネット、ローカルエリアネットワーク、公衆交換電話ネットワーク、ケーブルネットワーク、ハイブリッドファイバ同軸ネットワーク等であるか、またはこれらを含むことができる。
前述のように、一実施形態によれば、ネットワーク190を介した通信は、1つまたは複数の異なるインターネットまたはウェブベースのネットワークルーティングプロトコルに従ってパケット交換されるデータパケット(またはデータパケットのグループ分け)を含むことができる。ネットワーク190を介した通信は、専用リンクを介して伝送されることもできる。異なる品質レベルで符号化されたコンテンツ110を伝達する利用可能な帯域幅は、時間と共に変化できる。
以下の本文の記載は、通信デバイス160‐1によってサポートされる機能を説明する。一般に、ユーザ108‐1は、異なる品質レベルで符号化されたコンテンツ110を取得するように、通信デバイス160‐1を操作する。
前述のように、クライアント(例えば、通信デバイス160)がコンテンツの異なるビットレートで符号化されたセグメントの取得を制御する一実施形態によれば、サーバリソース145(例えば、1つまたは複数のサーバ)は、クライアントからの入力に基づいてデータストリーム115‐1におけるデータストリーム(例えば、データストリーム120‐1、データストリーム120‐2、データストリーム120‐3等)の一部を分配する。
非限定的な例として、データストリーム115‐1は、いわゆるアダプティブビットレートデータストリームとすることができ、このストリームにおいて、通信デバイス160‐1に伝送されるデータの品質レベルは、ネットワーク190における利用可能な帯域幅、通信デバイスにおけるデコーダがアダプティブビットレートデータストリームを記憶および/または処理する能力などの1つまたは複数のパラメータに基づいて変化する。前述のように、コンテンツアクセス情報は、コンテンツのどのセグメントが利用可能であるか、また、どのビットレートでコンテンツのセグメントが利用可能であるかを示すことができる。
ネットワーク環境100における通信デバイス160‐2などのもう1つの通信デバイス160が、個々の再生装置を操作する異なるエンドユーザの各々のために、同様の機能をサポートできる点に留意されたい。言い換えると、通信デバイス160‐2でのユーザ108‐2は、取得のためのコンテンツを選択できる。このような例では、サーバリソース145は、通信デバイス160‐2によって選択されたアダプティブビットレートセグメントに従って、データストリーム115‐2においてネットワーク190を介して複数の品質レベルで符号化されたコンテンツ110を通信デバイス160‐2に伝達する。通信デバイス160‐2は、データストリーム115‐2を復号し、かつ、それぞれのメディアプレーヤでコンテンツ110を再生する。
図13は、本明細書における実施形態による、異なる品質レベルでのコンテンツの符号化されたセグメントの取得を示す例示的な図である。
この例示的な実施形態では、通信デバイス160‐1は、図9において符号化されたコンテンツAの取得を開始すると仮定する。コンテンツAのための最高レベルの品質の符号化されたセグメントの取得を阻止するネットワーク帯域幅の制限はないと仮定する。通信デバイス160‐1は、コンテンツの符号化されたセグメント(例えばデータのグループ)A31、A42、・・・A37、A28等の取得を開始する。輻輳が発生する場合、通信デバイス160‐1は、コンテンツのより低いビットレートで符号化されたセグメントの取得および再生を開始できる。このより低いビットレートで符号化されたセグメントの再生は、表示スクリーン上でのイメージの低い品質レベルでの再生という結果となる。
図14は、本明細書における実施形態に従った、本明細書で述べた動作のいずれかを実施するためのコンピュータシステムの例示的なブロック図である。
コンピュータシステム151は、エンコーダリソース140、サーバリソース、通信デバイス160のそれぞれ等など、本明細書で述べた任意のリソースに備わることができる。
図示するように、本例のコンピュータシステム151は、デジタル情報を記憶および抽出できる持続性のタイプの媒体(例えば、任意のタイプのハードウェア記憶媒体)などのコンピュータ可読の記憶媒体812、プロセッサ813、I/Oインタフェース814、および通信インタフェース817に結合する相互接続811を含むことができる。
I/Oインタフェース814は、リポジトリ180と、存在する場合は、再生装置130、キーボード1005、コンピュータマウス等などの他のデバイスとの結合を提供する。
コンピュータ可読の記憶媒体812は、メモリ、光学記憶装置、ハードドライブ、フロッピーディスク等などの任意のハードウェア記憶デバイスとすることができる。一実施形態では、コンピュータ可読の記憶媒体812は、命令および/またはデータを記憶する。
通信インタフェース817により、コンピュータシステム151およびプロセッサ813は、遠隔のリソースから情報を取得し、かつ別のコンピュータと通信するように、ネットワーク190などのリソースを介して通信可能になる。I/Oインタフェース814により、プロセッサ813はリポジトリ180から、記憶された情報を取得可能になる。
図示するように、コンピュータ可読の記憶媒体812は、プロセッサ813によって実行されるアプリケーション(例えば、ソフトウェア、ファームウェア等)で符号化される。アプリケーション140‐1(例えば、エンコーダアプリケーション)は、本明細書で述べる動作のいずれかを実施するための命令を含むように構成できる。
一実施形態の動作の間に、プロセッサ813は、コンピュータ可読の記憶媒体812に記憶されたアプリケーション140‐1において命令を開始し、起動し、実行し、解釈し、または実施するために、相互接続811の使用を介してコンピュータ可読の記憶媒体812にアクセスする。
アプリケーション140‐1の実行は、プロセッサ813におけるプロセス(処理)140‐2(例えば、エンコーダプロセス)などの処理機能を生成する。言い換えると、プロセッサ813に関連したプロセス140‐2は、コンピュータシステム151におけるプロセッサ813内での、またはそこでのアプリケーション140‐1の実施の1つまたは複数の態様を表す。
コンピュータシステム151が、別のプロセスと、および/または、アプリケーション140‐1を実行するようにハードウェアリソースの配置および使用を制御するオペレーティングシステムなどのソフトウェアおよびハードウェアの構成要素とを含むことができることを当業者は理解するであろう。
異なる実施形態によれば、コンピュータシステムは、任意の様々なタイプのデバイスであることができ、このデバイスには、セットトップボックス、テレビ、パーソナルコンピュータシステム、無線デバイス、基地局、電話機、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバ、記憶デバイス、カメラなどの家庭用電子機器、カムコーダ、セットトップボックス、携帯型デバイス、テレビゲーム機、携帯型テレビゲーム機、スイッチなどの周辺機器、モデム、ルータ、または一般に任意のタイプのコンピュータデバイスまたは電子機器が含まれるが、これに限定されない。コンピュータシステム151は、任意の場所に存在することができ、本明細書で述べた機能を実行するために、ネットワーク環境190における任意の適切なリソースに含まれることができる。
次に、異なるリソースによってサポートされる機能を、図15および図16のフローチャートを用いて説明する。以下のフローチャート中のステップは、任意の適切な順番で実行可能であることに留意されたい。
図15は、実施形態に従った、コンテンツの符号化されたセグメントの品質レベルを変化させる例示的な方法を示すフローチャート1500である。上述の概念といくつか重複があることに留意されたい。
処理ブロック1510において、エンコーダリソース140は、データフィード105‐1(例えば、入力されたデータストリーム)からコンテンツのセグメントを受信する。
処理ブロック1520において、エンコーダリソース140はコンテンツのセグメントを符号化する複数の異なるビットレートを指定するエンコーダ制御情報128を受信する。
処理ブロック1530において、エンコーダ制御情報128により指定された通りに、エンコーダリソース140は、ケーブルネットワーク環境などのネットワーク環境において加入者に利用可能な可変数の異なるビットレートデータストリーム(例えば、コンテンツの、異なるビットレートで符号化されたセグメント)に、コンテンツのセグメントを適応的に符号化する。
図16は、本明細書における実施形態による、符号化されたコンテンツの品質レベルを変化させる例示的な方法を示すフローチャート1600である。上述の概念といくつか重複があることに留意されたい。
処理ブロック1610において、エンコーダリソース140はデータフィード105‐1などの通信リンクでコンテンツのオリジナルのセグメントを受信する。
処理ブロック1620において、エンコーダリソース140は、コンテンツの各個別のオリジナルのセグメントの複雑さを分析する。個別のセグメントにおけるデータビット情報は、再生にあたり個別のオリジナルのセグメントの描出をどのように再生成するかを特定する。
処理ブロック1630において、エンコーダリソース140は、コンテンツのオリジナルのセグメントが、それぞれのオリジナルのセグメントの複雑さの程度に少なくとも部分的に基づいて符号化される異なるビットレートデータストリームの数を動的に調整する。
本明細書における技法が、ネットワーク環境において異なる品質レベルでコンテンツのセグメントを符号化する可変ビットレートによく適している点にも留意されたい。しかしながら、本明細書における実施形態が、このような用途での使用に限定されず、本明細書に記載した技法は、その他の用途にも同様に適していることに留意すべきである。
本明細書において述べられた記載に基づいて、数々の具体的な詳細が、請求される主題の完全な理解を提供するために説明されてきた。しかしながら、請求される主題が、これらの具体的な詳細なしで実行可能であることを当業者は理解するであろう。別の例では、当業者のうちの1人によって知られている方法、装置、システム等が、請求される主題を不明瞭にすることがないように、詳細に記載されていない。詳細な説明のいくつかの箇所は、コンピュータメモリなどのコンピュータシステムメモリ内に記憶されたデータビットまたはバイナリデジタル信号上の動作のアルゴリズムまたは象徴的表現の観点で表された。これらのアルゴリズムの記載もしくは表現は、データ処理分野における当業者が使用する技法の例であり、この技術分野における別の当業者にそれらの作業の内容を伝達するためのものである。本明細書に記載したアルゴリズムは、一般に、所望の結果を導く動作または同様の処理の自己矛盾のないシーケンスあるように構成される。この状況では、動作または処理には、物理的な量の物理的な操作が含まれる。一般に、必ずしもそうではないが、このような量は、記憶、転送、結合、比較またはその他の操作をすることのできる電気信号または磁気信号の形態とすることができる。主に共通仕様の理由から、ビット、データ、値、エレメント、シンボル、文字、専門用語、数、数字などの信号として言及することは、いくつかの場合に便利であった。しかしながら、これらおよび同様の用語全ては、適切な物理量と関連でき、かつ、単に好都合なラベルであると理解すべきである。そうではないと特に述べられていない限り、下記の説明から明らかなように、本明細書における記載を通して、「処理(processing)」、「コンピュータ(computing)」、「計算(calculating)」、「判定(determining)」等の用語の使用は、メモリ、レジスタまたはその他の情報記憶デバイス内の物理的な電子量または磁気量として表されるデータを操作または変換するコンピュータまたは同様の電子コンピュータデバイス、伝送デバイスまたはコンピュータプラットフォームの表示デバイスなど、コンピュータプラットフォームの動作またはプロセスに言及すると理解される。
本発明が、その好ましい実施形態を参照して特に図示され説明されたが、添付の特許請求の範囲によって明らかにされる本願の精神および範囲から逸脱することなく、形態および詳細の様々な修正をすることができることを当業者は理解するであろう。このような変形形態は、本願の範囲に含まれることが意図される。このように、本願の実施形態の前述の記載は限定的であることを意図していない。むしろ、発明の限定は、以下の特許請求の範囲において示される。

Claims (40)

  1. 入力されたデータストリームからコンテンツのセグメントを受信することと、
    前記コンテンツのセグメントを符号化するための複数の異なるビットレートデータストリームを特定するエンコーダ制御情報を受信することと、
    前記エンコーダ制御情報によって特定された通りに、加入者に利用可能な可変数の異なるビットレートデータストリームに前記コンテンツのセグメントを適応的に符号化すること
    を含む、方法。
  2. 前記コンテンツのセグメントを適応的に符号化することが、
    第1の品質レベルまで対応するビットレートに、前記コンテンツのセグメントの第1の部分を符号化することと、
    前記第1の品質レベルよりも高い第2の品質レベルまで対応するビットレートに、前記コンテンツのセグメントの第2の部分を符号化すること請求項1に記載の方法。
  3. 前記エンコーダ制御情報によって特定された通りに、前記入力されたデータストリーム上で受信されるストリーミングコンテンツのスケジュールされたプログラムのセグメントを符号化するビットレートの数を変化させること
    をさらに含む、請求項1に記載の方法。
  4. 前記コンテンツのセグメントが前記入力されたデータストリーム上で受信される日時に少なくとも部分的に基づいて、前記コンテンツのセグメントを符号化するビットレートを変化させること
    をさらに含む、請求項1に記載の方法。
  5. 符号化されたコンテンツのセグメントを伝送するのに利用可能な帯域幅の量に少なくとも部分的に基づいて、前記コンテンツのセグメントを符号化するビットレートを変化させること
    をさらに含む、請求項1に記載の方法。
  6. データフィード上で前記入力されたデータストリームの前記コンテンツのセグメントを受け取ることを含み、当該入力されたデータストリームは、少なくともメタデータの部分を含む、前記コンテンツのセグメントを受信することと、
    前記入力されたデータストリームの前記メタデータから前記エンコーダ制御情報を取得することをさらに含む、請求項1に記載の方法。
  7. 前記コンテンツのセグメントが受信される前記入力されたデータストリームについての帯域外の信号から前記エンコーダ制御情報を受信すること
    をさらに含む、請求項1に記載の方法。
  8. 前記コンテンツのセグメントを受信することが、データフィード上で、コンテンツの第1のプログラムおよびコンテンツの第2のプログラムを受信することを含み、前記コンテンツの第1のプログラムが前記コンテンツの第2のプログラムとは無関係であり、
    前記エンコーダ制御情報が、異なるビットレートデータストリームの第1の数により前記コンテンツの第1のプログラムを符号化することを特性し、
    前記エンコーダ制御情報が、異なるビットレートデータストリームの第2の数により前記コンテンツの第2のプログラムを符号化することを特定し、前記第2の数は、前記第1の数とは異なるものである、
    請求項1に記載の方法。
  9. 前記データフィード上で前記コンテンツの第1のプログラムを受信し、これに続いて、前記データフィード上で前記コンテンツの第2のプログラムを受信することをさらに含み、
    前記コンテンツのセグメントを、前記可変数の異なるビットレートデータストリームに適応的に符号化することが、i)前記エンコーダ制御情報によって特定された通りに、データストリームの前記第1の数に従って前記コンテンツの第1のプログラムを符号化することと、ii)前記エンコーダ制御情報によって特定された通りに、データストリームの前記第2の数に従って前記コンテンツの第2のプログラムを符号化することを含む、
    請求項8に記載の方法。
  10. 前記データフィード上で前記コンテンツの第2のプログラムのセグメント間でインターリーブされた前記コンテンツの第1のプログラムのセグメントを受信することをさらに含み、
    前記コンテンツのセグメントを、前記可変数の異なるビットレートデータストリームに適応的に符号化することが、i)前記エンコーダ制御情報によって特定された通りに、データストリームの前記第1の数に従って前記コンテンツの第1のプログラムのセグメントを符号化することと、ii)前記エンコーダ制御情報によって特定された通りに、データストリームの前記第2の数に従って前記コンテンツの第2のプログラムのセグメントを符号化することを含む、
    請求項8に記載の方法。
  11. 第1のエンコーダ制御情報を受信することであって、当該第1のエンコーダ制御情報は、異なるビットレートデータストリームの第1の数において、受信されたコンテンツのセグメントの第1の部分を符号化するようにそれぞれのエンコーダを構成することを示す、前記第1のエンコーダ制御情報を受信することと、
    前記第1のエンコーダ制御情報に従って、前記第1のエンコーダ制御情報によって特定された通りに、異なるビットレートデータストリームの前記第1の数に、受信されたコンテンツのセグメントの前記第1の部分を符号化することと、
    第2のエンコーダ制御情報を受信することであって、当該第2のエンコーダ制御情報は、異なるビットレートデータストリームの第2の数において、受信されたコンテンツのセグメントの第2の部分を符号化するようにそれぞれのエンコーダを構成することを示す、前記第2のエンコーダ制御情報を受信することと、
    前記第2のエンコーダ制御情報に従って、前記第2のエンコーダ制御情報によって特定された通りに、異なるビットレートデータストリームの前記第2の数に、受信されたコンテンツのセグメントの前記第2の部分を符号化すること
    をさらに含む、請求項1に記載の方法。
  12. 可変数の異なるビットレートデータストリームに前記コンテンツのセグメントを符号化することが、
    前記エンコーダ制御情報によって特定された通りに、異なる品質レベルの第1の数に、前記入力されたデータストリームから取得された前記コンテンツの第1のセグメントを符号化することと、
    前記エンコーダ制御情報によって特定された通りに、異なる品質レベルの第2の数に、前記入力されたデータストリームから取得された前記コンテンツの第2のセグメントを符号化することを含み、異なる品質レベルの前記第2の数は、異なる品質レベルの前記第1の数とは異なるものである、
    請求項1に記載の方法。
  13. 前記可変数のビットレートデータストリームに従って、前記コンテンツのセグメントの利用可能性を示すコンテンツアクセス情報を生成することと、
    前記コンテンツアクセス情報を少なくとも1人の加入者に分配することであって、当該少なくとも1人の加入者は、前記可変数のビットレートデータストリームから符号化されたコンテンツのセグメントを選択的に取得する、前記コンテンツアクセス情報を分配すること
    をさらに含む、請求項1に記載の方法。
  14. 異なるビットレートデータストリーム上で前記コンテンツのセグメントを伝送するための帯域幅要件を決定するために前記コンテンツのセグメントを分析することと、
    複数の異なるビットレートに従って前記コンテンツのセグメントを符号化することと、
    前記セグメントに関する前記帯域幅要件の少なくとも一部に基づいて、前記コンテンツのセグメントが符号化される異なるビットレートデータストリームの数を動的に調整すること
    をさらに含む、請求項1に記載の方法。
  15. 前記セグメントの少なくも1つを伝送するための前記帯域幅要件が閾値を上回ることの検知に応答して、少なくとも1つのセグメントを符号化する異なるビットレートデータストリームの数を増加させることをさらに含む、請求項1に記載の方法。
  16. 前記入力されたデータストリーム上で受信された前記コンテンツが、コンテンツの第1のプログラムおよびコンテンツの第2のプログラムを少なくとも含み、さらに、
    前記第1のプログラムおよび前記第2のプログラムに関連した分類タイプを示す分類情報を受信することと、
    前記分類タイプに基づいて、前記エンコーダ制御情報を生成すること
    を含む、請求項1に記載の方法。
  17. 前記入力されたデータストリーム上で受信されたコンテンツの第1のプログラムが分類される、第1の分類タイプを特定する第1の分類情報を受信することと、
    前記入力されたデータストリーム上で受信されたコンテンツの第2のプログラムが分類される、第2の分類タイプを特定する第2の分類情報を受信することと、
    前記第1の分類タイプに割り当てられた第1のセットのデータストリームビットレートに、前記第1の分類タイプをマッピングすることと、
    前記第2のクラスタイプに割り振られた第2のセットのデータストリームビットレートに、前記第2の分類タイプをマッピングすることと、
    第1のエンコーダ制御情報および第2のエンコーダ制御情報を含むエンコーダ制御情報を生成することであって、前記第1のエンコーダ制御情報は、前記第1のセットによって特定された通りに、それぞれのビットレートで前記コンテンツの第1のプログラムを符号化することを示し、前記第2のエンコーダ制御情報は、前記第2のセットによって特定された通りに、それぞれのビットレートで前記コンテンツの第2のプログラムを符号化することを示す、前記エンコーダ制御情報を生成すること
    をさらに含む、請求項1に記載の方法。
  18. 前記入力されたデータストリームが、コンテンツの複数のプログラムを含む線形チャンネルであり、
    前記線形チャンネル上の前記複数のプログラムのスケジューリングタイムおよび分類タイプに基づき、前記エンコーダ制御情報を生成すること
    をさらに含む、請求項1に記載の方法。
  19. 異なる品質レベルで符号化されたコンテンツのセグメントを伝送可能なネットワーク帯域幅の少なくとも一部に基づいて、前記コンテンツのセグメントが符号化される異なるビットレートデータストリームの数を動的に調整すること、
    をさらに含む、請求項18に記載の方法。
  20. 前記符号化されたデータストリームの少なくとも一部が伝送されるネットワークにおいて帯域幅を解放するために、前記複数の異なるビットレートデータストリームの少なくとも1つで前記コンテンツのセグメントを符号化することを取り除くための前記エンコーダ制御情報を生成すること
    をさらに含む、請求項1に記載の方法。
  21. コンテンツのオリジナルのセグメントを受信することと、
    コンテンツの各オリジナルのセグメントのそれぞれの複雑さの程度を決定することであって、前記セグメントは、再生の際に各オリジナルのセグメントの描出をどのように再生成するかを特定するものであり、
    前記各オリジナルのセグメントの各々の複雑さの程度に少なくとも部分に基づいて、前記コンテンツのオリジナルのセグメントが符号化される異なるビットレートデータストリームの数を動的に調整すること
    を含む方法。
  22. 前記コンテンツの第1のセグメントを受信することと、
    前記コンテンツの第1のセグメントの複雑さの程度が閾値を下回ることの検知に応答して、複数のビットレートデータストリームの第1のセットに前記第1のセグメントを符号化することと、
    前記コンテンツの第2のセグメントを受信することと、
    前記コンテンツの第2のセグメントの複雑さの程度が閾値よりも大きいことの検知に応答して、前記第1のセットに含まれるよりも多い数のビットレートデータストリームに、前記第2のセグメントを符号化すること
    をさらに含む、請求項21に記載の方法。
  23. 複数の異なるビットレートデータストリームの前記第2のセットが、前記第1のセットに含まれない、少なくとも1つの高い品質レベルのデータストリームを含む、
    請求項22に記載の方法。
  24. 前記コンテンツの第1のセグメントを受信することと、
    複数のビットレートデータストリームの第1のセットに、前記第1のセグメントを符号化することと、
    前記第1のセグメントに続くシーケンスに論理的に配置された、前記コンテンツの第2のセグメントを受信することと、
    前記コンテンツの第2のセグメントの複雑さの程度が、閾値よりも低いことの検知に応答して、前記第1のセットよりも少ないビットレートデータストリームを含むデータストリームの第2のセットに、前記第2のセグメントを符号化すること
    をさらに含む、請求項22に記載の方法。
  25. 複数の異なるビットレートデータストリームの前記第1のセットが、前記第2のセットに含まれるデータストリームよりも高い品質レベルの少なくとも1つのデータストリームを含む、請求項24に記載の方法。
  26. 前記可変数のビットレートデータストリームによる前記コンテンツのセグメントの利用可能性を示すコンテンツアクセス情報を生成する、請求項21に記載の方法。
  27. 前記コンテンツのセグメントを潜在的に符号化する複数のビットレートデータストリームの範囲を示すエンコーダ制御情報を受信することと、
    前記オリジナルのセグメントの複雑さの程度に応じて前記エンコーダ制御情報によって特定された前記範囲内で変化するように、異なるビットレートデータストリームの数を動的に調整すること
    をさらに含む、請求項21に記載の方法。
  28. コンテンツの特定のセグメントが、特定の閾値を下回る伝送帯域幅を要求することの検知に応答して、前記特定のセグメントが符号化される異なるビットレートデータストリームの数を減少させること
    をさらに含む、請求項21に記載の方法。
  29. 少なくとも1つのプロセッサデバイスと、
    前記少なくとも1つのプロセッサに結合されたハードウェア記憶リソースであって、当該ハードウェア記憶リソースは命令を記憶し、前記少なくとも1つのプロセッサデバイスによって実行されるときに、前記命令が前記少なくとも1つのプロセッサデバイスに、
    入力されたデータストリームからコンテンツのセグメントを受信することと、
    前記コンテンツのセグメントを符号化する複数の異なるビットレートデータストリームを特定するエンコーダ制御情報を受信することと、
    前記エンコーダ制御情報によって特定された通りに、加入者に利用可能な可変数の異なるビットレートデータストリームに、前記コンテンツのセグメントを適応的に符号化すること
    を実行させる、ハードウェア記憶リソースと
    を含む、コンピュータシステム。
  30. 前記コンテンツのセグメントを適応的に符号化することが、
    第1の品質レベルおよび対応するビットレートまで、前記コンテンツのセグメントの第1の部分を符号化することと、
    前記第1の品質レベルよりも高い第2の品質レベルおよび対応するビットレートまで、前記コンテンツのセグメントの第2の部分を符号化すること
    を含む、請求項29に記載のコンピュータシステム。
  31. 前記少なくとも1つのプロセッサデバイスがさらに、
    前記エンコーダ制御情報によって特定された通りに、前記入力されたデータストリームで受信されるストリーミングコンテンツのスケジュールされたプログラムのセグメントを符号化するビットレートの数を変化させる動作をサポートする、請求項29に記載のコンピュータデバイス。
  32. 前記少なくとも1つのプロセッサデバイスがさらに、
    前記コンテンツのセグメントが前記入力されたデータストリームで受信される時間帯に少なくとも部分的に基づいて、前記コンテンツのセグメントを符号化するビットレートを変化させる動作をサポートする、請求項29に記載のコンピュータシステム。
  33. 前記少なくとも1つのプロセッサデバイスがさらに、
    前記コンテンツの符号化されたセグメントを伝送する帯域幅の量に少なくとも部分的に基づいて、前記コンテンツのセグメントを符号化するビットレートを変化させる動作をサポートする、請求項29に記載のコンピュータシステム。
  34. 前記少なくとも1つのプロセッサデバイスがさらに、
    データフィード上で、メタデータの少なくとも一部を含む前記入力されたデータストリームのコンテンツのセグメントを受信し、
    前記入力されたデータストリームにおいて前記メタデータから前記エンコーダ制御情報を取得する
    動作をサポートする、請求項29に記載のコンピュータシステム。
  35. 前記少なくとも1つのプロセッサデバイスがさらに、
    前記コンテンツのセグメントが受信される前記入力されたデータストリームについての帯域外の信号から前記エンコーダ制御情報を受信する動作をサポートする、請求項29に記載のコンピュータシステム。
  36. 前記コンテンツのセグメントを受信することが、データフィード上で、コンテンツの第1のプログラムおよびコンテンツの第2のプログラムを受信することを含み、前記コンテンツの第1のプログラムは、前記コンテンツの第2のプログラムとは無関係であり、
    前記エンコーダ制御情報が、異なるビットレートデータストリームの第1の数に従って、前記コンテンツの第1のプログラムを符号化することを特定し、
    前記エンコーダ制御情報が、異なるビットレートデータストリームの第2の数に従って、前記コンテンツの第2のプログラムを符号化することを特定し、前記第2の数が前記第1の数とは異なる、
    請求項29に記載のコンピュータシステム。
  37. 前記少なくとも1つのプロセッサデバイスがさらに、
    前記データフィード上で前記コンテンツの第1のプログラムを受信し、これに続いて、前記データフィード上で、前記コンテンツの第2のプログラムを受信する動作をサポートすることを含み、
    前記コンテンツのセグメントを、前記可変数の異なるビットレートデータストリームに適応的に符号化することが、前記エンコーダ制御情報によって特定された通りに、データストリームの第1の数に従って前記コンテンツの第1のプログラムを符号化することと、前記エンコーダ制御情報によって特定された通りに、データストリームの前記第2の数に従って前記コンテンツの第2のプログラムを符号化することを含む、
    請求項36に記載のコンピュータシステム。
  38. 前記少なくとも1つのプロセッサデバイスがさらに、
    前記データフィード上で前記コンテンツの第2のプログラムのセグメント間でインターリーブされる前記コンテンツの第1のプログラムのセグメントを受信する動作をサポートし、
    前記コンテンツのセグメントを、前記可変数の異なるビットレートデータストリームに適応的に符号化することが、前記エンコーダ制御情報によって特定された通りに、データストリームの前記第1の数に従って、前記コンテンツの第1のプログラムのセグメントを符号化することと、前記エンコーダ制御情報によって特定された通りに、データストリームの前記第2の数に従って、前記コンテンツの第2のプログラムのセグメントを符号化することを含む、
    請求項36に記載のコンピュータシステム。
  39. 前記少なくとも1つのプロセッサデバイスがさらに、
    異なるビットレートデータストリームの第1の数において受信されたコンテンツのセグメントの第1の部分を符号化するようにそれぞれのエンコーダを構成することを示す、第1のエンコーダ制御情報を受信することと、
    前記第1のエンコーダ制御情報に従って、前記第1のエンコーダ制御情報が特定したように、前記受信されたコンテンツのセグメントの第1の部分を、異なるビットレートデータストリームの前記第1の数に符号化することと、
    異なるビットレートデータストリームの第2の数において受信されたコンテンツのセグメントの第2の部分を符号化するように前記それぞれのエンコーダを構成することを示す、第2のエンコーダ制御情報を受信することと、
    前記第2のエンコーダ制御情報に従って、前記第2のエンコーダ制御情報が特定したように、受信されたコンテンツのセグメントの第2の部分を、異なるビットレートデータストリームの前記第2の数に符号化すること
    を含む、請求項29に記載のコンピュータシステム。
  40. 前記コンテンツのセグメントを、可変数の異なるビットレートデータストリームに符号化することが、
    前記エンコーダ制御情報によって特定された通りに、前記入力されたデータストリームから取得された前記コンテンツの第1のセグメントを、異なる品質レベルの第1の数に符号化することと、
    前記エンコーダ制御情報によって特定された通りに、前記入力されたデータストリームから取得された前記コンテンツの第2のセグメントを、異なる品質レベルの第2の数に符号化すること
    を含み、異なる品質レベルの前記第2の数が、異なる品質レベルの前記第1の数とは異なる、
    請求項29に記載のコンピュータシステム。
JP2015542684A 2012-11-16 2013-11-05 コンテンツの状況に応じた動的ビットレート符号化および配信 Active JP6284132B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/678,593 US10708335B2 (en) 2012-11-16 2012-11-16 Situation-dependent dynamic bit rate encoding and distribution of content
US13/678,593 2012-11-16
PCT/US2013/068422 WO2014078122A1 (en) 2012-11-16 2013-11-05 Situation-dependent dynamic bit rate encoding and distribution of content

Publications (2)

Publication Number Publication Date
JP2016502798A true JP2016502798A (ja) 2016-01-28
JP6284132B2 JP6284132B2 (ja) 2018-02-28

Family

ID=50729241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015542684A Active JP6284132B2 (ja) 2012-11-16 2013-11-05 コンテンツの状況に応じた動的ビットレート符号化および配信

Country Status (5)

Country Link
US (3) US10708335B2 (ja)
EP (1) EP2920973B1 (ja)
JP (1) JP6284132B2 (ja)
CA (1) CA2883262C (ja)
WO (1) WO2014078122A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022008071A (ja) * 2020-06-25 2022-01-13 ディズニー エンタープライゼス インコーポレイテッド セグメント品質誘導型適応ストリームの作成

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154854B1 (en) * 2012-09-19 2015-10-06 Time Warner Cable Enterprises Llc Notification in a network environment
US9363133B2 (en) 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
CN105191329B (zh) 2013-03-06 2018-10-19 交互数字专利控股公司 用于视频流的功率感知自适应
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
US9338210B2 (en) * 2013-03-15 2016-05-10 Rhapsody International Inc. Distributing content items to users
US10326805B2 (en) * 2013-05-31 2019-06-18 Avago Technologies International Sales Pte. Limited Distributed adaptive bit rate proxy system
US9705948B2 (en) * 2013-05-31 2017-07-11 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for transmitting content using segment-based and non-segment-based streams
US10205624B2 (en) * 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9544352B2 (en) * 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate
US9525718B2 (en) 2013-06-30 2016-12-20 Avaya Inc. Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media
US11074394B2 (en) * 2013-07-10 2021-07-27 Comcast Cable Communications, Llc Adaptive content delivery
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
US9531808B2 (en) 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US10225212B2 (en) 2013-09-26 2019-03-05 Avaya Inc. Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10440080B2 (en) 2013-10-18 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
US10263952B2 (en) 2013-10-31 2019-04-16 Avaya Inc. Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media
US9769214B2 (en) 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10129243B2 (en) 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
US9542953B2 (en) * 2014-01-22 2017-01-10 Comcast Cable Communications, Llc Intelligent data delivery
US9749363B2 (en) 2014-04-17 2017-08-29 Avaya Inc. Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media
US10581927B2 (en) 2014-04-17 2020-03-03 Avaya Inc. Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media
US10735719B2 (en) * 2014-05-22 2020-08-04 Comcast Cable Communications, Llc Selecting content transmissions based on encoding parameters
US9912705B2 (en) 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
CA2956957C (en) 2014-08-07 2019-02-12 ONE Media, LLC Dynamic configuration of a flexible orthogonal frequency division multiplexing phy transport data frame
WO2016022287A1 (en) * 2014-08-07 2016-02-11 Coherent Logix, Incorporated Multi-partition radio frames
US9560404B2 (en) 2014-09-10 2017-01-31 Ericsson Ab Advertisement targeting scheme in a multicast ABR environment based on ad caching
US9635407B2 (en) * 2014-10-16 2017-04-25 Samsung Electronics Co., Ltd. Method and apparatus for bottleneck coordination to achieve QoE multiplexing gains
US10349116B2 (en) * 2014-12-29 2019-07-09 DISH Technologies L.L.C. Systems and methods for pre-caching media content in response to user-system interaction
JP6556473B2 (ja) * 2015-03-12 2019-08-07 株式会社東芝 送信装置、音声認識システム、送信方法、およびプログラム
US10567816B2 (en) 2015-04-30 2020-02-18 Comcast Cable Communications, Llc Delivering content
US10349104B2 (en) * 2015-08-19 2019-07-09 Ericsson Ab System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
US9826262B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe
US9826261B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US10103997B2 (en) 2016-06-01 2018-10-16 At&T Intellectual Property I, L.P. Dynamic quality of service for over-the-top content
US10687115B2 (en) * 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10244167B2 (en) * 2016-06-17 2019-03-26 Gopro, Inc. Apparatus and methods for image encoding using spatially weighted encoding quality parameters
US9888278B2 (en) * 2016-07-07 2018-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
JP6954289B2 (ja) * 2016-08-17 2021-10-27 日本電気株式会社 ビットレート指示装置、ビットレート指示方法、及び、ビットレート指示プログラム
US20190238940A1 (en) * 2016-09-08 2019-08-01 Interdigital Ce Patent Holdings Method and apparatus for multimedia content distribution
WO2018060490A1 (en) * 2016-09-30 2018-04-05 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery
CN109792545B (zh) 2016-09-30 2021-12-07 英国电讯有限公司 从服务器向客户端装置传送视频内容的方法
WO2019120532A1 (en) * 2017-12-21 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for adaptive bit rate control in a communication network
US10735231B2 (en) 2018-12-19 2020-08-04 International Business Machines Corporation Demodulating modulated signals with artificial neural networks
US10778938B2 (en) * 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
CN113132765A (zh) * 2020-01-16 2021-07-16 北京达佳互联信息技术有限公司 码率决策模型训练方法、装置、电子设备及存储介质
EP4201074A1 (en) * 2020-08-18 2023-06-28 Telefonaktiebolaget LM Ericsson (publ) Estimating video resolution delivered by an encrypted video stream
US11803648B2 (en) * 2020-12-09 2023-10-31 International Business Machines Corporation Key in lockbox encrypted data deduplication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003541A1 (fr) * 1998-07-13 2000-01-20 Sony Corporation Multiplexeur de donnees, systeme de diffusion de programme, systeme d'emission de programme, systeme de diffusion a peage, procede d'emission de programme, systeme de reception limitee et recepteur de donnees
WO2011059286A2 (en) * 2009-11-13 2011-05-19 Samsung Electronics Co.,Ltd. Method and apparatus for providing and receiving data
WO2011087449A1 (en) * 2010-01-18 2011-07-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for http media stream distribution
WO2012131424A1 (en) * 2011-02-25 2012-10-04 Telefonaktiebolaget L M Ericsson (Publ) Method for introducing network congestion predictions in policy decision

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096487B1 (en) * 1999-10-27 2006-08-22 Sedna Patent Services, Llc Apparatus and method for combining realtime and non-realtime encoded content
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8606966B2 (en) * 2006-08-28 2013-12-10 Allot Communications Ltd. Network adaptation of digital content
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
EP2219342A1 (en) * 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US20110083145A1 (en) * 2009-10-06 2011-04-07 Chris Cholas Methods and apparatus for combining local video content in a digital video stream
US20110129201A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Customized playback of broadcast media
JP2013521743A (ja) 2010-03-05 2013-06-10 トムソン ライセンシング 適応型ストリーミングシステムにおけるビットレート調整
MX2013008757A (es) 2011-01-28 2014-02-28 Eye Io Llc Control de velocidad de bits adaptativa basado en escenas.
US8683013B2 (en) 2011-04-18 2014-03-25 Cisco Technology, Inc. System and method for data streaming in a computer network
US8806529B2 (en) * 2012-04-06 2014-08-12 Time Warner Cable Enterprises Llc Variability in available levels of quality of encoded content
US8910220B2 (en) * 2012-07-12 2014-12-09 Time Warner Cable Enterprises Llc Multi-format distribution of content
WO2014011848A2 (en) * 2012-07-12 2014-01-16 Huawei Technologies Co., Ltd. Signaling and processing content with variable bitrates for adaptive streaming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003541A1 (fr) * 1998-07-13 2000-01-20 Sony Corporation Multiplexeur de donnees, systeme de diffusion de programme, systeme d'emission de programme, systeme de diffusion a peage, procede d'emission de programme, systeme de reception limitee et recepteur de donnees
WO2011059286A2 (en) * 2009-11-13 2011-05-19 Samsung Electronics Co.,Ltd. Method and apparatus for providing and receiving data
WO2011087449A1 (en) * 2010-01-18 2011-07-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for http media stream distribution
WO2012131424A1 (en) * 2011-02-25 2012-10-04 Telefonaktiebolaget L M Ericsson (Publ) Method for introducing network congestion predictions in policy decision

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022008071A (ja) * 2020-06-25 2022-01-13 ディズニー エンタープライゼス インコーポレイテッド セグメント品質誘導型適応ストリームの作成
JP7113116B2 (ja) 2020-06-25 2022-08-04 ディズニー エンタープライゼス インコーポレイテッド セグメント品質誘導型適応ストリームの作成
US11595716B2 (en) 2020-06-25 2023-02-28 Disney Enterprises, Inc. Segment quality-guided adaptive stream creation

Also Published As

Publication number Publication date
WO2014078122A1 (en) 2014-05-22
US11792250B2 (en) 2023-10-17
CA2883262A1 (en) 2014-05-22
CA2883262C (en) 2022-04-19
US10708335B2 (en) 2020-07-07
JP6284132B2 (ja) 2018-02-28
US20140143823A1 (en) 2014-05-22
EP2920973A1 (en) 2015-09-23
EP2920973B1 (en) 2021-04-28
US20240007517A1 (en) 2024-01-04
US20200287954A1 (en) 2020-09-10
EP2920973A4 (en) 2016-08-31

Similar Documents

Publication Publication Date Title
JP6284132B2 (ja) コンテンツの状況に応じた動的ビットレート符号化および配信
US10277530B2 (en) Allocating portions of a shared network resource based on client device groups
EP3172863B1 (en) Quality of experience based network resource management
US20140020037A1 (en) Multi-stream shared communication channels
EP3210385A1 (en) Dynamic programming across multiple streams
US10194210B2 (en) Dynamic content delivery network allocation system
CN108462899B (zh) 基于设备能力的流媒体码流自适应传输方法、播放设备及播放系统
US20150249848A1 (en) Intelligent Video Quality Adjustment
GB2492538A (en) A device specific, adaptive bit-rate method for streaming audio video content
US9866602B2 (en) Adaptive bit rates during broadcast transmission in distributed content delivery networks
US20160028594A1 (en) Generating and Utilizing Contextual Network Analytics
US20200351559A1 (en) Distribution device, distribution method, reception device, reception method, program, and content distribution system
EP3993365A1 (en) Session based adaptive playback profile decision for video streaming
US10708667B1 (en) Combining fragments with different encodings
JP5856795B2 (ja) コンテンツ配信システム
KR101405865B1 (ko) 셋탑박스 화면 가상화 방법 및 시스템
Zhang et al. Bitrate allocation among multiple video streams to maximize profit in content delivery networks
WO2016002747A1 (ja) コンテンツ送信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180123

R150 Certificate of patent or registration of utility model

Ref document number: 6284132

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