(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6134650
(24)【登録日】2017年4月28日
(45)【発行日】2017年5月24日
(54)【発明の名称】シーンに基づく適用性のあるビットレート制御
(51)【国際特許分類】
H04N 19/115 20140101AFI20170515BHJP
H04N 19/136 20140101ALI20170515BHJP
H04N 19/179 20140101ALI20170515BHJP
【FI】
H04N19/115
H04N19/136
H04N19/179
【請求項の数】11
【全頁数】14
(21)【出願番号】特願2013-551331(P2013-551331)
(86)(22)【出願日】2012年1月26日
(65)【公表番号】特表2014-511137(P2014-511137A)
(43)【公表日】2014年5月8日
(86)【国際出願番号】US2012022710
(87)【国際公開番号】WO2012103326
(87)【国際公開日】20120802
【審査請求日】2015年1月22日
(31)【優先権主張番号】61/437,193
(32)【優先日】2011年1月28日
(33)【優先権主張国】US
(31)【優先権主張番号】61/437,223
(32)【優先日】2011年1月28日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】513191723
【氏名又は名称】アイ アイオー,リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】EYE IO,LLC
(74)【代理人】
【識別番号】100074332
【弁理士】
【氏名又は名称】藤本 昇
(74)【代理人】
【識別番号】100114432
【弁理士】
【氏名又は名称】中谷 寛昭
(72)【発明者】
【氏名】ゲレーロ,ロドルフォ ヴァルガス
【審査官】
岩井 健二
(56)【参考文献】
【文献】
特表2010−517469(JP,A)
【文献】
特開2009−049474(JP,A)
【文献】
特表2008−533841(JP,A)
【文献】
特表2006−509444(JP,A)
【文献】
特開2006−340066(JP,A)
【文献】
特開2002−142218(JP,A)
【文献】
特開2001−245303(JP,A)
【文献】
特開平10−108200(JP,A)
【文献】
特開平07−288810(JP,A)
【文献】
国際公開第2009/149100(WO,A1)
【文献】
米国特許第6909745(US,B1)
【文献】
米国特許出願公開第2010/0189183(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
シーンタイプを用いてビデオストリームをエンコーディングする方法であって、
入力ビデオストリームを受信することと、
前記入力ビデオストリームにおけるシーン移行が生じる位置を示すシーン境界情報と、各シーンのための目標ビットレートとを受信することと、
前記シーン境界情報に基づいて前記入力ビデオストリームを複数のセクションに分割し、各セクションは、時間的に隣接する複数の画像フレームを備えることと、
各セクション内の画像フレームの最適な光学解像度を検知することであって、前記光学解像度に基づいて、該セクションの画像フレーム寸法の少なくとも1つが決定されることと、
前記入力ビデオストリームを複数のファイルに分割することであって、各ファイルが前記複数のセクションの1またはそれ以上を含み、各ファイルでは、該セクションが決定された画像フレーム寸法と共に保管されることと、
前記目標ビットレートに従って、前記複数のセクションのそれぞれをエンコーディングすることとを備えた、ビデオストリームをエンコーディングする方法。
【請求項2】
各シーンのための最大のコンテナ寸法を受信することをさらに備えた、請求項1に記載のビデオストリームをエンコーディングする方法。
【請求項3】
前記エンコーディングするステップが、前記目標ビットレートと前記最大のコンテナ寸法とに従って、前記複数のセクションのそれぞれをエンコーディングすることを備えた、請求項2に記載のビデオストリームをエンコーディングする方法。
【請求項4】
前記入力ビデオストリームをデータベース及び単一のビデオファイルに分割し、各ファイルがセクションを有しないか、または、1またはそれ以上のセクションを含むことをさらに備えた、請求項1〜3のいずれかに記載のビデオストリームをエンコーディングする方法。
【請求項5】
HTTP接続を介して前記複数のファイルを送信することをさらに備えた、請求項1〜4のいずれかに記載のビデオストリームをエンコーディングする方法。
【請求項6】
前記セクション内の画像フレームの光学解像度に基づいて、少なくとも1つのシーンタイプが決定される、請求項1〜5のいずれかに記載のビデオストリームをエンコーディングする方法。
【請求項7】
前記セクション内の画像フレームの光学解像度に基づいて、前記セクションの目標ビットレートの少なくとも1つが決定される、請求項1〜6のいずれかに記載のビデオストリームをエンコーディングする方法。
【請求項8】
前記エンコーディングするステップが、H.264/MPEG−4AVC標準に基づいて、前記目標ビットレートに従って、前記複数のシーンのそれぞれをエンコーディングすることをさらに備えた、請求項1〜7のいずれかに記載のビデオストリームをエンコーディングする方法。
【請求項9】
与えられたシーンタイプが、
高速動きシーンタイプ、
静止シーンタイプ
トーキングヘッド、
文字、
短いシーン、
低い関心のシーンタイプ、
火のシーンタイプ、
水のシーンタイプ、
煙のシーンタイプ、
クレジットのシーンタイプ、
ボケのシーンタイプ、
焦点はずれのシーンタイプ、
画像フレーム寸法よりも低い光学解像度を有する画像のシーンタイプ、
雑多なもの、または、
デフォルト
の1またはそれ以上を含む、請求項1〜8のいずれかに記載のビデオストリームをエンコーディングする方法。
【請求項10】
シーンタイプを用いてビデオストリームをエンコーディングするビデオエンコーディング装置であって、
前記入力ビデオストリームにおけるシーン移行が生じる位置を示すシーン境界情報と、各シーンのための目標ビットレートと、各シーンのための光学解像度とを含む入力ビデオストリームを受信するための入力手段と、
ビデオ処理手段であって、
前記シーン境界情報に基づいて前記入力ビデオストリームを複数のセクションに分割し、各セクションは、時間的に隣接する複数の画像フレームを備え、
各セクション内の画像フレームの最適な光学解像度を検知し、前記光学解像度に基づいて、該セクションの画像フレーム寸法の少なくとも1つが決定され、
前記入力ビデオストリームを複数のファイルに分割し、各ファイルが前記複数のセクションの1またはそれ以上を含み、各ファイルでは、該セクションが決定された画像フレーム寸法と共に保管される、ビデオ処理手段と、
エンコーディングされるそれぞれのセクションに関連する前記目標ビットレートに従って、さらにはエンコーディングされるそれぞれのセクションに関連する前記光学解像度に従って、前記複数のセクションのそれぞれをエンコーディングするビデオエンコーディング手段とを備えた、ビデオストリームをエンコーディングするビデオエンコーディング装置。
【請求項11】
前記ビデオストリームは、各セクションの位置、開始フレーム、タイムスタンプ、及び、光学解像度を含有するファイルを伴ったファイルとしてエンコーディングされる、請求項10に記載のビデオエンコーディング装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2011年1月28日に出願された米国仮特許出願第61/437,193、及び、2011年1月28日に出願された米国仮特許出願第61/437,223に対する優先権を主張し、その内容は、本明細書に明示的に取り込まれる。
【0002】
技術分野
本発明は、ビデオ及び画像圧縮技術に関し、特に、シーンに基づく適用性のあるビットレート制御を用いるビデオ及び画像圧縮技術に関する。
【背景技術】
【0003】
ビデオストリーミングが、日常的な使用者の間で普及し使用され続けているが、克服されることが必要な固有の制限がある。例えば、ユーザは、そのようなビデオストリーミングを得るために限られたバンド幅(帯域幅)のみを有するインターネットを介してビデオを見たい場合が多い。例えば、ユーザは、携帯電話接続や家庭内無線接続を介してビデオストリームを得たい場合がある。いくつかの場面では、ユーザは、コンテンツのスプール(すなわち、最終視聴のためのローカルストレージへのダウンロードコンテンツ)によって、十分なバンド幅の不足を補っている。この方法は、種々欠点が多い。まず、ユーザは、実際の「ランタイム」を経験することが不可能である−すなわち、ユーザは、プログラム(番組)を見ようと決めたとき、それを視聴することが不可能である。代わりに、ユーザは、プログラムを視聴する前にコンテンツがスプールされるための著しい遅延を経験しなければならない。もう1つの欠点は、保管の可能性にある−プロバイダまたはユーザは、短期間の間に高価なストレージリソースの利用が不要になったとしても、スプールされたコンテンツが保管されることを保障するために、ストレージリソースに責任を持たなければならない。
【0004】
ビデオストリーム(一般的に、画像部分と音声部分とを含んでいる)は、特に高解像度(例えば、HDビデオ)において相当なバンド幅を要し得る。音声は、一般的に、かなり少ないバンド幅を要するが、依然として考慮が必要な場合がある。ビデオをストリーミングする1つの取り組みは、迅速なビデオ送達を可能としながらビデオストリームを大きく圧縮して、ランタイムで、または、実質的に即座に(すなわち、実質的なスプール遅延を経験することなく)ユーザがコンテンツを視聴することを許容することである。一般的に、損失のある圧縮(すなわち、完全に可逆的ではない圧縮)は、損失のない圧縮よりも、より多くの圧縮を与えるが、大きく損失のある圧縮は、望ましくないユーザ経験を与える。
【0005】
デジタルビデオ信号を送信するために要求されるバンド幅を低減するために、(ビデオデータ圧縮の目的で)デジタルビデオ信号のデータ比率が実質的に低減され得るところの効率的なデジタルビデオエンコードを使用することが、よく知られている。相互運用性を保障するために、ビデオエンコーディング標準は、多くの専門家用及び消費者用のアプリケーションにおいてデジタルビデオの採用を促進することに重要な役割を努めてきた。最も有力な標準は、国際電気通信連合(ITU−T)、または、ISO/IOC(国際標準化機構/国際電気標準会議)のMPEG(動画専門家集団)15委員会、のいずれかによって、伝統的に発展される。勧告として知られるITU−T標準は、一般的に、リアルタイム通信(ビデオ会議)を目的とする一方、大抵のMPEG標準は、ストレージ(例えば、デジタル多目的ディスク(DVD))及び放送(例えば、デジタルビデオ放送(OVB)標準)のために最適化される。
【0006】
現在、標準化されたビデオエンコーデングアルゴリズムは、ハイブリッドビデオエンコーディングに基づく。ハイブリッドビデオエンコーディング方法は、一般的には、望ましい圧縮ゲインを達成するために、数種の異なる損失のない、及び、損失のある圧縮方式を組み合わせる。ハイブリッドビデオエンコーディングは、また、ISO/IEC標準(MPEG−1、MPEG−2及びMPEG−4といったMPEG−x)と同様に、ITV−T標準(H.261,H.263といったH.26x標準)の基礎でもある。最も新しい進化したビデオエンコーディング標準は、今のところ、H.264/MPEG−4アドバンスドビデオコーディング(AVC)として示される標準であり、これは、合同ビデオチーム(JVT)、ITV−TとISO/IEC MPEG集団との合同チームによる標準化努力の結果である。
【0007】
H.264標準は、MPEG−2といった確立された標準から知られているブロック別動き補償ハイブリッド変換コーディングと同じ原理を採用する。従って、H.264規則は、通常、画像−、断片−、及びマクロ−ブロックヘッダといったヘッダ、及び、動きベクトル、ブロック変換、係数、量子化スケール等といったデータの階層として組織される。しかし、H.264標準は、ビデオデータを表すビデオコーディングレイヤ(VCL)と、データをフォーマットし、ヘッダ情報を提供するネットワークアダプテーションレイヤ(NAL)とを分離している。
【0008】
さらに、H.264は、エンコーディングパラメータの大量に増加された選択を可能とする。例えば、それは、16×16マクロブロックの精巧な仕切り及び巧妙な取り扱いを可能とし、それによって、例えば、動き補償処理が、4×4と同じくらい小さなサイズのマクロブロックの区分で実行され得る。また、サンプルブロックの動き補償予測のための選択処理は、隣接した画像のみの代わりに、保管された先にデコーディングされた多くの画像を含んでもよい。単一のフレーム内のイントラコーディングを伴った場合でさえ、同じフレームから、先にデコーディングされたサンプルを使用して、ブロックの予測を形成することが可能である。また、動き補償に続く結果として得られる予測エラーは、伝統的な8×8サイズの代わりに、4×4ブロックサイズに基づいて変換され、量子化され得る。加えて、ブロックアーティファクトを低減するループデブロッキングフィルタが、使用されてもよい。また、ループデブロッキングフィルタは、今では必須である。
【0009】
H.264標準は、H.264/MPEG−2ビデオエンコーディング規則の上位集合とみなされてもよく、該規則は、可能なコーディングの決定及びパラメータの数量を拡張するものの、ビデオデータの同じグローバル構造を使用している。多様なコーディングの決定を有する結果、ビットレートと画像品質との間の良好なトレードオフが達成され得ることになる。しかし、H.264標準は、ブロック化コーディングの一般的なアーティファクトを顕著に低減する一方、他のアーティファクトを強めることが、一般に認識されている。H.264が、種々のコーディングパラメータのために可能な値の増加を可能にするという事実により、エンコーディング処理を改良する可能性を増加させる結果となるが、また、ビデオエンコーディングパラメータの選択に対する感受性を増加させることにもなる。
【0010】
他の標準と同様、H.264は、ビデオエンコーディングパラメータの選択のための規範操作を特定しないが、リフェレンス実装を通して、多数の基準を記述しており、その基準は、コーディング効率とビデオ品質と実装の実用性との間の適切なトレードオフを達成することなどのために、ビデオエンコーディングパラメータを選択するために使用され得る。しかし、記述された基準は、コンテンツ及びアプリケーションの全種類に適切なコーディングパラメータを、いつも最適に、または適切に選択する結果になるとは限らない。例えば、その基準は、ビデオ信号の特性に最適な、または望ましいビデオエンコーディングパラメータを選択する結果とならなかったり、あるいは、その基準が、流通しているアプリケーションに適切ではないエンコーディングされた信号の特性を得ることに基づいていたりするおそれがある。
【0011】
固定ビットレート(「CBR」)エンコーディング、または、可変ビットレート(「VBR」)エンコーディングのいずれかを用いてビデオデータをエンコーディングすることが知られている。両方の場合において、単位時間当たりのビット数が規制される、すなわち、ビットレートは、ある閾値を超えることができない。しばしば、ビットレートは、1秒当たりのビットとして表される。CBRエンコーディングは、しばしば、固定ビットレートまでの特別に埋め込むこと(例えば、ビットストリームにゼロを詰め込むこと)を伴ったVBRの一形態である。
【0012】
インターネットのようなTCP/IPネットワークは、「ビットストリーム」のパイプではなく、送達がいつでも変化するベストエフォート型ネットワークである。CBRまたはVBRの取り組みを用いてビデオをエンコーディング及び送信することは、ベストエフォート型ネットワークにおいて理想的ではない。インターネット上でビデオを送達するために設計されたプロトコールがいくつかある。良い例は、HTTP適用性のビットレートビデオストリーミングであり、そこでは、ビデオストリームがファイルに断片化され、HTTP接続上をファイルとして送達される。
【0013】
従って、ビデオエンコーディングのための改良されたシステムがあれば、それは有利である。
【0014】
上述した関連技術及びそれに関連した限定の例は、例示であり、限定的ではないことが意図される。関連技術の他の限定は、明細書の閲覧及び図面の検討によって明らかになる。
【発明の概要】
【0015】
ビデオストリームをエンコーディングするためのエンコーダが、ここに記載される。エンコーダは、入力ビデオストリーム、シーンの切り換えが生じるところの入力ビデオストリームにおける位置を示すシーン境界情報、及び、各シーンのための目標ビットレートを受信する。エンコーダは、入力ビデオストリームをシーンの境界情報に基づいて複数のセクションに分割する。各セクションは、
時間的に隣接する複数の画像フレームを含んでいる。エンコーダは、目標ビットレートに従って、複数のシーンのそれぞれをエンコーディングし、シーンに基づいた適応性のあるビットレート制御を提供する。
【0016】
この概要は、以下の詳細な説明においてさらに示されるところの単純化された形態における概念の選択を導入するために提供される。この概要は、クレームされた主題の重要な特徴または本質的な特徴を識別することを意図するものであり、クレームされた主題の範囲を限定するために用いられることを意図するものではない。
【図面の簡単な説明】
【0017】
本発明の1またはそれ以上の実施形態が、実施例によって示されるが、添付の図面によって限定されるものではなく、同様に付された符号は、同じ要素を示す。
【
図2】
図2は、入力ビデオストリームをエンコーディングする方法の一例の工程を示す。
【
図3】
図3は、ここに記載される一定の技術を実装するエンコーダを実装する。
【発明を実施するための形態】
【0018】
詳細な説明
本発明の種々の側面が、ここに説明される。以下の説明は、これらの例の理解及び説明を可能とすることを通して特定の詳細が提供される。しかし、当業者は、本発明がこれら多くの説明なしで実行され得ることを理解する。加えて、関連のある説明を不必要に不明瞭にすることを避けるために、いくつかのよく知られた構造または機能は、示されない、または、説明されない。図は、機能的に分離した構成要素として描かれるが、そのような描写は、単に説明の目的のために過ぎない。この図の構成成分に描かれた構成要素が任意に組み合わされ、または、分離した構成要素に分割され得る。
【0019】
以下に示される説明に使用される用語は、本発明の特定の例の詳細な説明と結合して使用されているが、最も広く合理的な態様において解釈されることが意図される。特定の用語は、以下で強調されるかもしれないが、いかなる限定された態様において解釈されることが意図されたいかなる用語も、この詳細な説明欄において、明らかに及び特に、そのように定義されたものである。
【0020】
本明細書において「実施形態」、「一実施形態」等への言及は、記載される特別な特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。この明細書中のそのような語句の出現は、必ずしも全て同じ実施形態について言及するものではない。
【0021】
図1は、本発明の一実施形態に係るエンコーダ100の一例を示す。エンコーダ100は、入力ビデオストリーム110を受信し、入力ビデオストリーム110の実体を少なくともほぼ復元するためのデコーダでデコーディングされ得るところのエンコーディングされたビデオストリーム120を出力する。エンコーダ100は、入力モジュール102と、ビデオ処理モジュール104と、ビデオエンコーディングモジュール106とを備えている。エンコーダ100は、ハードウェア、ソフトウェア、または、いかなる適切な組み合わせにおいて実装され得る。エンコーダ100は、ビデオ送信モジュール、パラメータ入力モジュール、パラメータを保管するためのメモリ等といった他の構成要素を含んでいてもよい。エンコーダ100は、ここにおいて特に記載されない他のビデオ処理機能を行ってもよい。
【0022】
入力モジュール102は、入力ビデオストリーム110を受信する。入力ビデオストリーム110は、いかなる適切な形態をとってもよく、メモリといった適切な源に由来としても、または、生放送に由来してもよい。入力モジュール102は、さらに、シーン境界情報を受信し、各シーンのためのビットレートを目標にする。シーン境界情報は、シーン送信が生じるところの入力ビデオストリームにおける位置を示す。
【0023】
ビデオ処理モジュール104は、入力ビデオストリーム110を解析し、そのビデオストリーム110を、シーン境界情報に基づいて、複数のシーンのそれぞれのための複数のセクションに分割する。各部分は、
時間的に連続する複数の画像フレームを備える。一実施形態において、ビデオ処理モジュールは、入力ビデオストリームを複数のファイルに分ける。各ファイルは、1またはそれ以上のセクションを含有する。他の実施形態において、各ビデオファイルの位置、解像度及びタイムスタンプ、または、開始フレームの数は、ファイルまたはデータベースへと記録される。ビデオエンコーディングモジュールは、関連した目標ビットレートまたはビットレート制約を伴ったビデオ品質を用いて、各セクションをエンコーディングする。一実施形態において、エンコーダは、さらに、HTTP接続といったネットワーク接続を介してファイルを送信するためのビデオ送信モジュールを備えている。
【0024】
いくつかの実施形態
では、ビデオ画像フレームの光学解像度が検知され、
該光学解像度が、真のまたは最適なシーンビデオ寸法、及び、シーン分割を決定することに利用される。光学解像度は、1またはそれ以上のビデオ画像フレームが連続的に詳細を解像し得るところの解像度を示す。
キャプチャ光学系や記録媒体、及び元のフォーマットによる制限のため、ビデオ画像フレーム
の最適な解像度は、ビデオ画像フレームの技術的解像度に比べてかなり低いことがある。ビデオ処理モジュールは、各セクション内の画像フレームの最適な解像度を検知し得る。シーンタイプは、セクション内の画像フレームの最適な解像度に基づいて決定され得る。
さらに、セクション
の目標ビットレートは、
該セクションの画像フレームの光学解像度に基づいて決定され得る。光学解像度の低い特定のセクションでは、ビットレートが
高くてもセクションの忠実度を保持する
役に立たないため、目標ビットレートは比較的低くてもよい。また、
電子式アップスケー
ラの場合には、これらのアップスケー
ラが低解像度の画像をより高解像度のビデオフレームに適合させるように変換するが、このとき望ましくないアーティファクトを
生じさせることがある。これは、古いスケーリング技術においては特に正しい。元の解像度を
取り戻すことによって、最新のビデオプロセッサがより効率的に画像をアップスケールすることを可能とし、元の画像の部分ではないところの望ましくないアーティファクトをエンコーディングすることを避ける
ことになる。
【0025】
ビデオエンコーディングは、H.264/MPEG−4AVC標準といったいかなるエンコーディング標準を使用して、各セクションをエンコーディングし得る。
【0026】
各セクションは、異なるシーンに基づいて、異なるビットレート(すなわち、500Kbps、1Mbps、2Mbps)を伝える知覚品質の異なるレベルにおいて、エンコーディングされ得る。一実施形態において、光学
品質またはビデオ品質レベルが一定の低ビットレート、すなわち、500Kbps
に合わせられると、エンコーディング処理は、より高いビットレートは必要とされず、高ビットレート、すなわち、1Mbpsまたは2Mbpsでそのシーンをエンコーディングする必要を回避し得る。
表1参照。それらのシーンを単一のファイル
に保管する場合には、その単一のファイルは、高ビットレートでエンコーディングされることが必要とされるシーンを保管
するだけである。しかし、いくつかの場合には
、(いくつかの古
いアダプティブビットレートシステムにおける
レガシーのために)
全てのシーンを高ビットレート
のファイル(すなわち、1Mbps)に保管することが必要
となることがある。この特定の場合
には、保管されるセクションまたはセグメントは、高ビットレート
のものではなく、低ビットレー
ト、すなわち500Kbps
のものであり得る。従って、
保管スペースが節約される。(しかし、シーンを
保管しないことほど
大きく節約されるわけではない)。表2参照。単一のビデオファイルにお
いて複数の解像度をサポートしないシステムのために、といった場合には、
該セクショ
ンが決定されたフレーム
寸法と共に
各ファイル
に保管されることになる。各解像度でのファイルの数を最小にするために、いくつかのシステムは、SDTV、HD720、HD1080pといったフレーム
寸法の数を限定し得る。表3参照。
【0030】
各セクションは、異なるシーンに基づいて、知覚品質の異なるレベル、及び、異なるビットレートでエンコーディングされ得る。一実施形態において、エンコーダは、入力ビデオストリーム、及び、データベーや他のシーンの一覧を読み取り、それから、シーンの情報に基づいて、ビデオストリームをセクションに分ける。ビデオにおけるシーンの一覧のための一例のデータ構造が、表4に示される。いくつかの実施形態において、データ構造は、コンピュータが読み取り可能なメモリ、または、データベースに保管され、エンコーダによってアクセス可能であり得る。
【0032】
シーンの異なるタイプは、「高速動き」、「静止」、「トーキングヘッド」、「文字」、「ほとんど黒色の画像」、「5フレーム以下の短いシーン」、「黒色のスクリーン」、「低い関心」、「火」、「水」、「煙」、「クレジット」、「
ボケ」、「焦点はずれ」、「画像収容サイズよりも低い解像度を有する画像」等といったシーンの一覧のために利用され得る。いくつかの実施形態において、いくつかのシーンシークエンスは、「雑多」、「未知」、または、「デフォルト」の、そのようなシーンに割り当てられたシーンタイプであり得る。
【0033】
図2は、入力ビデオストリームをエンコーディングするための方法200のステップを示す。方法200は、入力ビデオストリームを、該入力ビデオストリームの実体を少なくともほぼ復元するためのデコーダでデコーディングされ得るところのエンコーディングされたビデオビットストリームへとエンコーディングする。ステップ210では、その方法は、エンコーディングされる入力ビデオストリームを受信する。ステップ220では、その方法は、入力ビデオストリームにおける位置を示すシーン境界情報を受信し、ここでは、シーン移行が生じ、各シーンのためのビットレートを目標とする。ステップ230では、入力ビデオストリームが、シーン境界情報に基づいて、複数のセクションへと分割され、各セクションは、
時間的に隣接する複数の画像フレームを備えている。それから、ステップ240では、その方法は、各セクション内の画像フレームの光学解像度を検知する。ステップ250では、その方法は、入力ビデオストリームを複数のファイルに分け、各ファイルは、1またはそれ以上のセクションを含有している。ステップ260では、複数のセクションのそれぞれが、目標ビットレートに従ってエンコーディングされる。それから、ステップ270では、その方法は、HTTP接続を介して複数のファイルを送信する。
【0034】
入力ビデオストリームは、一般的に、多様な画像フレームを含んでいる。各画像フレームは、一般的に、入力ビデオストリームにおける明確な「時間位置(タイムポジション)」に基づいて識別され得る。実施形態においては、入力ビデオストリームは、部分、または、別々のセグメントにおいてエンコーダに利用可能にされるところのストリームであり得る。そのような場合には、エンコーダは、エンコーディングされたビデオビットストリームを(例えば、HDTVといった最終消費者の装置へと)、全入力ビデオストリームを受信する前に循環ベースでのストリームとして出力する。
【0035】
実施形態において、入力ビデオストリーム、及び、エンコーディングされたビデオビットストリームは、ストリームのシークエンスとして保管される。ここでは、エンコーディングは、定刻前に実行され、それから、エンコーディングされたビデオストリームは、遅れた時間に、消費者の装置へとストリーミングされる。ここでは、エンコーディングは、消費者の装置へとストリームされている前に、全ビデオストリームにおいて完全に実行される。ビデオストリームの前、後、または、「インライン」エンコーディング、またはそれらの組み合わせの他の例が、当業者よって熟慮され得るように、ここに導入される技術との結合において熟慮され得ることが、理解される。
【0036】
図3は、エンコーダといった、上述のいかなる技術も実装されるために使用される処理システムのブロック図である。なお、特定の実施形態では、
図3に示された構成要素の少なくともいくつかは、2以上の物理的な分離の間で分配されているが、コンピューティングプラットフォームまたはボックスに接続され得る。その処理は、従来のサーバクラスコンピュータ、PC、携帯通信装置(例えば、スマートフォン)、または、他に公知または従来の処理/通信装置を表す。
【0037】
図3に示される処理システム301は、1またはそれ以上のプロセッサ310、すなわち、中央演算ユニット(CPU)と、メモリ320と、イーサネットアダプタ及び/または無線通信サブシステム(例えば、セルラー、WiFi、ブルートゥース等)といった少なくとも1つの通信装置340と、1またはそれ以上のI/O装置370、380とを含み、全ては互いにインターコネクト390を介して接続されている。
【0038】
プロセッサ310は、コンピュータシステム301の操作を制御し、1またはそれ以上の一般目的または特定目的のマイクロプロセッサ、マイクロコントローラ、特定目的集積回路(ASIC)、プラグラマブルロジックデバイス(PLD)、または、そのような装置の組み合わせを含み得る。インターコネクト390は、1またはそれ以上のバス、ダイレクト接続、及び/または、他の形式の物理的な接続を含むことができ、従来技術において良く知られたような、種々のブリッジ、コントローラ、及び/または、アダプタを含んでもよい。インターコネクト390は、さらに、「システムバス」を含んでもよく、それは、1またはそれ以上のアダプタを介して1またはそれ以上の拡張バスに接続され得、そのようなものとして、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、ハイパートランスポートまたはインダストリ・スタンダード・アーキテクチャ(ISA)バス、スモール・コンピュータ・システム・インターフェース(SCSI)バス、ユニバーサル・シリアル・バス(USB)、または、インスティテュート・オブ・エレクトリカル・アンド・エレクトロニック・エンジニアズ(IEEE)標準1394バス(ときには、「ファイアワイア」と言及される)が挙げられる。
【0039】
メモリ320は、リード・オンリー・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、フラッシュメモリ、ディスクドライブ等といった1またはそれ以上のタイプの1またはそれ以上のメモリ装置であっても、それを有していてもよい。ネットワークアダプタ340は、処理システム301が通信接続を介した自動的な処理システムを伴ったデータを通信することを可能とするのに適した装置であり、例えば、従来の電話モデム、ワイヤレスモデム、デジタル加入者線(DSL)モデム、ケーブルモデム、トランシーバ、衛星トランシーバまたはイーサネットアダプタ等であってもよい。I/O装置370、380は、例えば、マウス、トラックボール、ジョイスティックまたはタッチパッド等のポインティング装置;キーボード;会話認識インターフェースを有するマイクロフォン;音声スピーカ;またはディスプレイ装置;等といった1またはそれ以上の装置を含み得る。しかし、なお、そのようなI/O装置は、もっぱらサーバとして作動するシステムにおいては不要であってもよく、また、少なくともいくつかの実施形態ではサーバを伴う場合のように、ダイレクト・ユーザー・インターフェースを備えていなくてもよい。説明された組の構成要素における他の変形が、本発明と矛盾しない態様において実装され得る。
【0040】
上述された動作を実行するためにプロセッサ310をプログラムするためのソフトウェア及び/またはファームウェア330は、メモリ320に保管されている。一定の実施形態において、そのようなソフトウェアやファームウェアは、初めに、コンピュータシステム301を介して(例えば、ネットワークアダプタ340によって)自動的なシステムからダウンロードすることによって、コンピュータシステム301に供給される。
【0041】
上記で導入された技術は、例えば、ソフトウェア及び/またはファームウェアでプログラムされたプログラムで制御可能な回路(例えば、1またはそれ以上のマイクロプロセッサ)で、または、特定目的のハードワイヤード回路全体において、または、それらの形態の組み合わせで、実装され得る。特定目的のハードワイヤード回路は、例えば、1またはそれ以上の特定目的集積回路(ASIC)、プラグラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)等の形態であってもよい。
【0042】
ここに導入される技術の実装における使用のためのソフトウェアまたはファームウェアは、機械読み取り可能なストレージ媒体に保管され、一般目的または特定目的のプログラムで制御可能なマイクロプロセッサの1またはそれ以上によって実行され得る。「機械読み取り可能なストレージ媒体」は、ここで使用される用語として、機械(機械は、例えば、コンピュータ、ネットワーク装置、セルラーフォン、パーソナル・デジタル・アシスタント(PDA)、作製ツール、1またはそれ以上のプロセッサを有するいかなる装置等)によってアクセス可能な形態の情報を保管可能ないかなるメカニズムも含む。例えば、機械読み取り可能なストレージ媒体は、記録可能/記録不可能な媒体(例えば、リード・オンリー・メモリ(ROM);ランダム・アクセス・メモリ(RAM);磁気ディスクストレージ媒体;光学ストレージ媒体;フラッシュメモリ装置;等)等を含む。
【0043】
用語「ロジック」は、ここで使用されるように、例えば、特定のソフトウェア及び/またはファームウェア、特定目的のハードワイヤード回路、または、それらの組み合わせでプログラムされたプログラムで制御可能な回路を含む。
【0044】
要求された主題の種々の実施形態の前述の記載は、説明及び記載のために提供された。要求された主題を、開示された正確な形態に徹底的であるかまたは限定することを意図するものではない。多くの改変及び変形は、当該分野の専門家にとって明らかである。実施形態は、本発明の原理及びそれの実際的な応用を最も良く記載するために選択され、記載されたものであり、それにより、関連技術における熟練した他者が、要求された主題、種々の実施形態を、熟慮された特定の使用に適した種々の改変を理解することを可能とする。
【0045】
ここに提供された本発明の技術は、上述のシステムを必要とせずに他のシステムに適用され得る。上述した種々の実施形態の構成要素及び作用は、さらなる実施形態と組み合わされ得る。
【0046】
上記記載は、本発明の一定の実施形態を記載し、熟慮されたベストモードを記載するが、上記が明細書においてどのように詳細にされても、本発明は、多くの方法で実行され得る。そのシステムの詳細は、ここに開示された本発明によって依然として包含されつつ、それの実装の詳細において相当に変形し得る。上述したように、本発明の一定の特徴または局面の記載するときに使用される特定の用語は、該用語が関連した本発明のいかなる特性、特徴または局面に該用語が限定されるためにここに再定義されていることを含むものと解されるべきではない。一般に、以下の請求項で使用される用語は、上記詳細な説明欄がそのような用語を明白に定義しない限り、本発明を、明細書に開示された特定の実施形態に限定するものと解釈されるべきではない。従って、本発明の実質的な範囲は、開示された実施形態を包含するだけではなく、請求項に基づいて実行または実装する全ての均等物を包含する。