JP2022518234A - 最適なマルチコーデックabrラダー設計 - Google Patents

最適なマルチコーデックabrラダー設計 Download PDF

Info

Publication number
JP2022518234A
JP2022518234A JP2021541591A JP2021541591A JP2022518234A JP 2022518234 A JP2022518234 A JP 2022518234A JP 2021541591 A JP2021541591 A JP 2021541591A JP 2021541591 A JP2021541591 A JP 2021541591A JP 2022518234 A JP2022518234 A JP 2022518234A
Authority
JP
Japan
Prior art keywords
codec
quality
encoding
ladder
codecs
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
JP2021541591A
Other languages
English (en)
Other versions
JP7549581B2 (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.)
Brightcove Inc
Original Assignee
Brightcove 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 Brightcove Inc filed Critical Brightcove Inc
Publication of JP2022518234A publication Critical patent/JP2022518234A/ja
Application granted granted Critical
Publication of JP7549581B2 publication Critical patent/JP7549581B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

ビデオをストリーミングするためにクライアントが利用できるようになったストリームのそれぞれについて品質及びビットレートを定義するマルチコーデックエンコーディングプロファイル(又はエンコーディングラダー)の作成のための技法を開示する。特に、エンコーディングラダーを決定するときに、最適化技法によりコーデックのそれぞれの品質レート関数を考慮することができる。更なる考慮事項として、ネットワーク帯域幅分布及び/又はクライアントタイプの分布を含み得る。

Description

アダプティブビットレート(ABR:Adaptive Bit Rate)ストリーミングは、ストリーミングクライアントに供給されるビデオストリームのビットレートが、利用可能なネットワーク帯域幅の変化に対応するように再生時に調整され得る、ビデオコンテンツをストリーミングする方法である。この機能を可能にするために、ABRストリーミングシステムが、ソースコンテンツを異なるビットレートの複数のストリームにエンコードし得る。このようにして、ストリーミングクライアントは、ビデオをストリーミングしながら異なるストリームの間の切り替えを行うことができ、利用可能なネットワーク帯域幅に合わせた複合ストリームを効果的に受信することができる。
ソースコンテンツがエンコードされたストリームの構成は、ABRストリーミングシステムによって決定され得る。従来のABRストリーミングシステムでは、この決定は、コーデックごとに独立に行われるのが一般的であった。換言すれば、コーデックごとに、ネットワークへの適応に必要なビットレートの範囲をカバーする、全く新しい一式のストリームが生成される。その結果、エンコード及び配信のコストがかなり高くなる。しかしながら、現在では、多くのストリーミングクライアントが異なるコーデックのストリームの間で切り替えを行うことができるため、ABR配信に十分なストリームの最適なマルチコーデック構成を見つけることにより、このような非効率性を最小化できる。
本明細書で説明される技法は、ビデオをストリーミングするためにクライアントが利用できるようになったストリームのそれぞれについて品質及びビットレートを定義するマルチコーデックエンコーディングプロファイル(又はエンコーディングラダー)の作成を提供する。特に、エンコーディングラダーを決定するときに、コーデックのそれぞれの品質レート関数を最適化技法が考慮することができる。更なる考慮事項として、ネットワーク帯域幅分布及び/又はクライアントタイプの分布を含むことができる。
本明細書による、マルチコーデックエンコーディングラダーを作成するための例示的な方法は、コンピュータシステムによって、ビデオを含むソースコンテンツを取得するステップと、ソースコンテンツのためのエンコーディングラダーを生成することであって、エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含む、ステップとを含む。エンコーディングラダーは、
Figure 2022518234000002
及び
Figure 2022518234000003
の個々のビットレート並びに
Figure 2022518234000004
及び
Figure 2022518234000005
の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
Figure 2022518234000006
のビットレート及び
Figure 2022518234000007
の品質値を有する、第2のコーデックの第3のビデオストリームとを含み、
Figure 2022518234000008
且つ
Figure 2022518234000009
である。
本明細書による、マルチコーデックエンコーディングラダーを作成するための例示的なコンピュータシステムは、メモリと、メモリに通信可能に結合された1つ又は複数の処理ユニットとを備える。1つ又は複数の処理ユニットは、ビデオを含むソースコンテンツを取得し、ソースコンテンツのためのエンコーディングラダーを生成し、エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含み、エンコーディングラダーが、
Figure 2022518234000010
及び
Figure 2022518234000011
の個々のビットレート並びに
Figure 2022518234000012
及び
Figure 2022518234000013
の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
Figure 2022518234000014
のビットレート及び
Figure 2022518234000015
の品質値を有する、第2のコーデックの第3のビデオストリームとを含み、
Figure 2022518234000016
且つ
Figure 2022518234000017
である、ように構成される。
本明細書による例示的な非一時的コンピュータ可読媒体は、マルチコーデックエンコーディングラダーを作成するための命令を内部に格納している。命令は、1つ又は複数の処理ユニットによって実行されると、1つ又は複数の処理ユニットに、ビデオを含むソースコンテンツを取得させ、ソースコンテンツのためのエンコーディングラダーを生成させ、エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含み、エンコーディングラダーが、
Figure 2022518234000018
及び
Figure 2022518234000019
の個々のビットレート並びに
Figure 2022518234000020
及び
Figure 2022518234000021
の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
Figure 2022518234000022
のビットレート及び
Figure 2022518234000023
の品質値を有する、第2のコーデックの第3のビデオストリームとを含み、
Figure 2022518234000024
且つ
Figure 2022518234000025
である。
一実施形態によるABRストリーミングシステムである。 利用可能なネットワーク帯域幅及びクライアントのストリーミングレートをプロットしたグラフである。 一実施形態による、ビデオソースと、2種類のエンコーダと、付随するレートセレクタを伴う3種類のデコーダとを備えるABRストリーミングシステムの概念図である。 一実施形態による、異なるデコーダ(例えば、図3のデコーダ)が様々なビットレートで実現できるビデオの品質を示すグラフである。 例示的な実施形態で使用されるABRストリーミングシステムの概念図である。 一実施形態による、最適化されたマルチコーデックエンコーディングラダーを決定するための方法の主なステップを示すフロー図である。 コーデック、例示的なソースコンテンツのための取得された品質レート関数の形状を示すグラフである。 本明細書で説明される実験結果を得るために使用した2つのネットワークモデルのネットワークパラメータのグラフである。 本明細書で説明される実験結果を得るために使用したシングルコーデックABRストリーミングシステムの概念図である。 本明細書で説明される実験結果を得るために使用したデュアルコーデックABRストリーミングシステムの概念図である。 エンコーディングラダーのポイントと、H.264ベースラインクライアント及びH.264ベースライン/メイン切り替え可能クライアントによってなされる切り替え決定を示すグラフである。 本明細書で説明される実験結果を得るために使用した、3つのクライアントタイプのデュアルコーデックABRストリーミングシステムの概念図である。 本明細書で説明される実験結果を得るために使用した、4つのクライアントタイプのマルチコーデックABRストリーミングシステムの概念図である。 一実施形態による、本明細書で説明される方法を使用してマルチコーデックABRラダー生成を組み込んだマルチコーデックABRストリーミングシステムのブロック図である。 レート及び品質の観点から単調増加する一式のポイント(エンコーディングラダーにおけるストリーム)を決定するための方法のフローチャートである。 一実施形態による、マルチコーデックエンコーディングラダーを作成する方法を示すフロー図である。 コンピュータシステムの一実施形態のブロック図である。
各図面における類似の参照符号は、特定の例示的な実装形態による類似の要素を示す。加えて、ある要素の複数の例は、要素の第1の数字に続けて、文字又はハイフン及び第2の数字を用いて示されることがある。例えば、要素110の複数の例は、110-1、110-2、110-3などと示されることもあれば、110a、110b、110cなどと示されることもある。このような要素を第1の数字のみで参照する場合、その要素の任意の例であると理解されたい(例えば、前の例における要素110は、要素110-1、110-2、及び110-3、又は要素110a、110b、及び110cを指す)。
詳細な説明
次に、本明細書の一部をなす添付の図面を参照しながら、いくつかの例示的な実施形態について説明する。本開示の1つ又は複数の態様が実施され得る特定の実施形態が以下に記載されているが、本開示の範囲又は添付の特許請求の範囲の趣旨から逸脱することなく、他の実施形態が使用されてもよく、様々な変更がなされてもよい。
図1は、一実施形態によるABRストリーミングシステム100である。ABRストリーミングシステム100は、ビデオソース110と、エンコーダ120と、オリジンサーバ130と、コンテンツ配信ネットワーク(CDN)+ネットワークアクセス140と、ストリーミングクライアント150とを備える。当業者には理解されるように、異なる実施形態は、図示の構成要素のそれぞれの数が異なり得る。例えば、CDN+ネットワークアクセスは、多くの(例えば、数十、数百、数千、又はそれ以上)ストリーミングクライアント150にサービスを提供し得る。
ビデオソース110に格納されているソースコンテンツ(例えば、1つ又は複数のメディアファイル)を1つ又は複数のストリーミングクライアント150に配信できるようにするために、エンコーダ120は、ソースコンテンツを異なるビットレートを有する複数のストリームにエンコードし得る。(例えばコールアウト160に示すように、エンコーダはソースコンテンツをエンコードして、M個のビットレート及び別個の記述を提供し得る。)各エンコードされたストリームは、ランダムアクセスポイント(例えば、エンコードされたビデオにおけるイントラフレーム(I)フレーム又は即時復号リフレッシュ(IDR)フレーム)を組み込むことができ、ストリーム間で切り替えを行うことが可能である。このようなストリームは、続いてオリジンサーバ130に置かれ、ストリーミングクライアント150へのスケーリング配信のためにCDN+ネットワークアクセス140(CDNだけではなく、インターネットなどの1つ又は複数のデータ通信ネットワークも含み得る)に更にプッシュされる。
再生時、各ストリーミングクライアント150は、エンコードされたコンテンツが到着するレートを監視し得る。(例えばコールアウト170に示すように、ストリーミングクライアントは、帯域を推定し、次いで、次のセグメントを取得する前に、帯域幅を考慮して次のセグメントのための適切なレートを選択し得る。)このようなレートが連続再生に不十分になった場合、クライアントはより低いビットレートのストリームに切り替える。これにより、バッファリングを防ぐことができる。一方、そのようなレートが現在のストリームのビットレートよりも大きい場合、クライアントはより高いビットレートのストリームに切り替えて、より良い品質をエンドユーザに提供することができる。このような切り替えメカニズムは、その後広く採用されるようになり、ハイパーテキストトランスファープロトコル(HTTP)ライブストリーミング(HLS)、MPEGダイナミックアダプティブストリーミングオーバーHTTP(DASH:Dynamic Adaptive Streaming over HTTP)など、すべての最新のストリーミングプロトコルに組み込まれている。
したがって、その結果、ストリーミングクライアント150へのビデオのストリーミングビットレートが、利用可能なネットワーク帯域幅の経時的変化に適応する。例えば図2のグラフに示すように、ストリーミングビットレート210は、利用可能なネットワーク帯域幅220が増加すると増加し、利用可能なネットワーク帯域幅220が減少すると同様に減少し得る。ストリーミングビットレート210のこれらの変化は、ストリーミングクライアント150が第1のビットレートを有するストリームから第2のビットレートを有するストリームに切り替えたことに起因する。よって、所与のソースコンテンツに対してエンコーダ120が作成する(異なるビットレートの)ストリームが多いほど、ストリーミングビットレート210の変化がより細かく調整され得る。
ビットレート、解像度、コーデックの制約など、ABRストリーミングに使用されるビデオストリームの特性の構成は、通常、エンコーディングプロファイル又はラダーと呼ばれる。高効率映像符号化(HEVC)及びH.264/MPEG-4 AVC(又は単に「H.264」)コーデックの例示的なエンコーディングラダーは、以下の表1に記載されており、表1はアップル(Apple)(登録商標)HLSデプロイメントガイドラインズ(HLS deployment guidelines)に記載されている。
Figure 2022518234000026
近年、コンテンツのレート歪み特性及び/又はストリームの配信に使用されるネットワークの特性を考慮してカスタムエンコーディングラダーを作成するダイナミックラダージェネレータを使用することにより、ABRストリーミングシステム100のパフォーマンスが改善され得ることも判明した。このような手法は、「パータイトル(per-title)」、「コンテンツ認識エンコーディング」、及び「コンテキスト認識エンコーディング」技法として知られてきた。ABRストリーミングのためのラダージェネレータに関する更なる情報は、「オプティマイゼーション・オブ・エンコーディング・プロファイル・フォー・メディア・ストリーミング(Optimization of Encoding Profiles for Media Streaming)」と題する米国特許出願第15/829,723号明細書(本明細書では「’723出願」と呼ぶ)に記載されており、同出願はあらゆる目的のためにその全体が参照により本明細書に組み込まれる。
つい最近まで、ABRストリーミングのためのエンコーディングラダーには1つのコーデックしかなかった。(ほとんどの場合、コーデックは、ユビキタスであり、且つ過去10年にわたって既存のほとんどのデバイスでサポートされたH.264である。)しかしながら、VP9、HEVC、及びAV1など、より多くのコーデックが導入されることにより、ABRストリーミングシステム100は、一般に、コンテンツが異なるコーデックをサポートする様々なデバイスに確実にストリーミングされ得るのを助けるために、すべての追加的にサポートされるコーデックに対してソースコンテンツ全体を再エンコードして、新しいコーデックを使用してエンコードされたすべてのストリームで新しいABRラダーを作成しなければならない。現在のバージョンのストリーミングガイドライン(例えば、HLSガイドライン及びDASH-IF実装ガイドライン)は、H.264に1つのラダー(一定のビットレート及び解像度を有する一式のストリーム)を定義し、HEVCに別のラダーを定義する。
先述のように、ABRストリーミングのための複数のコーデックのデプロイメントは、現在、各コーデックが個別のABRエンコーディングラダーと、対応する個別の一式のストリームとを有するという仮定に基づいて行われている。したがって、ABRストリーミングシステム100は、HEVCのためのエンコーディングラダーとは別に、H.264のためのエンコーディングラダーを生成する。
しかしながら、問題なことに、このようなシングルコーデックエンコーディングラダーを使用することは、少なくとも以下の3つの理由から、根源的に最適ではない。
第1に、ラダーを別々に生成することにより、各コーデックに関連するABRエンコーディングラダーに割り当てられるレンディションの数の間における適切なバランスを見出すための手段がないことがある。したがって、エンコーダ120は、一群の視聴者にわたるこのようなコーデックの使用状況が異なり得るという事実を考慮することなく、各コーデックに必要と思われる数のレンディションを生成し得る。例えば、HEVCエンコードされたビデオをサポートするストリーミングクライアント150の数は、H.264をサポートするストリーミングクライアント150の数よりもはるかに少ない場合がある。また、生成され得るレンディションの数に一定の総予算が設けられているABRストリーミングシステム100では、H.264に多く割り当てることは、エンドユーザに配信される総品質により大きな全体的な影響を与える場合がある。
第2に、コンテンツの特性に基づいて、HEVC対H.264のコーディングゲインが著しく異なり得る。このことはひいては、各コーデックに使用されるべきレンディション数のバランスに影響を与え得る。例えば、ある極端なシナリオでは、HEVC対応のストリーミングクライアント150はすべてH.264もデコードできるため、HEVCがいかなるゲインももたらさない場合、最適なABRラダー設計は、HEVCにレンディションを割り当てない場合がある。そのため、H.264への切り替えはシステムの到達範囲を減らさない。
第3に、多くの新しいストリーミングクライアント150が、H.264とHEVCとの両方のコーデックを有するストリーム間の切り替えを行うことができる。この切り替え能力を所与として、このようなクライアントは、H.264又はHEVCのストリームを選択したクライアントよりも、より多くのストリームを利用できるため、より良いパフォーマンスを実現し得るはずである可能性が高い。(ここでも、図2に関して述べたように、より多くのストリームが利用可能である場合、ストリーミングビットレート210は、より微調整されたステップを使用して、利用可能なネットワーク帯域幅220の変化に合わせることができる。このより高い粒度により、ABRストリーミングシステム100をより効率的にすることができる)。
本明細書で説明される実施形態は、複数のコーデックラダーのためのABRプロファイル/ラダー生成のための最適化された解を提供する。つまり、提供される技法は、ソフトウェア、若しくはハードウェア、又はこれらの組み合わせとして実装された最適なマルチコーデックABRストリーミングラダージェネレータ、及びそのようなラダージェネレータを組み込んだABRストリーミングシステムについて説明する。本明細書における技法によって提供される利点の中には、ABRストリーミングシステムの品質向上及び/又は運用コストの削減がある。
図3は、一実施形態による、ビデオソース110と、2種類のエンコーダ(エンコーダ1及びエンコーダ2)と、付随するレートセレクタを伴うデコーダ(デコーダ1、デコーダ2、及びデコーダ3)を備える3種類のクライアントとを備えるABRストリーミングシステムの概念図である。図3に示すエンコーダは、(これも1つ又は複数のコンピュータを備え得る)ビデオソース110からソースコンテンツを取り込む1つ又は複数のコンピュータによって実行され得る図1のエンコーダ120の一種に対応し得ることに留意されたい。更に、クライアント310のそれぞれは、エンドユーザデバイス(コンピュータ、携帯電話、テレビなど)によって実行され得る、図1の異なる種類のストリーミングクライアント150にそれぞれ対応し得る。(本明細書では、後述するABRストリーミングシステムの数学的記述を言及するとき、「クライアント」及び「デコーダ」という用語がしばしば同義で使用されることに留意されたい。)本実施形態において、且つ一実施形態の数学的記述を確立する目的で、デコーダ1及び2は、エンコーダ1及び2が生成したストリームをそれぞれデコードすることしかできない。デコーダ3はエンコーダ1又はエンコーダ2のいずれかが生成したストリームを選択してデコードし得る。
本明細書で使用される場合、「シングルコーデッククライアント」という用語は、(例えば、エンコーダ1又はエンコーダ2のいずれかからの)単一のコーデックでエンコードされたビデオストリームをデコードすることができるクライアント(デコーダ1又は2を備えるクライアントなど)を指す。同様に、「ダブルコーデッククライアント」という用語は、異なる2つのコーデック(例えば、エンコーダ1又はエンコーダ2のいずれかによりエンコードされたビデオストリーム)でエンコードされたビデオストリーム間の切り替えを行うことができるクライアント(デコーダ3を備えるクライアントなど)を指す。同様に、「切り替えクライアント」という用語は、(2つ以上のエンコーダからの)2つ以上のコーデックでストリームをエンコードしたビデオを復号することができるデコーダを指すために使用され得る。
図3のABRストリーミングシステムの数学的記述を提供するために、変数Rが、ビットレートを表すために使用され、Qがビデオコーデックによって実現可能な品質値を表すために使用される。ここで、品質値Qは、値Q=0はあり得る最悪の品質を表し、Q=1は理想的な再構築を表すように正規化される。このような制約を満たす品質指標の周知の例は、構造的類似性指数尺度(SSIM)指標であるが、原理的には、ピーク信号対雑音比(PSNR)、マルチスケールSSIM(MS-SSIM)、又はビデオマルチメソッドアセスメントフュージョン(VMAF)など、特定の正規化を適用した任意の他の指標であってもよい。
所与のソースコンテンツについて、エンコーダ1及び2は、次のような(品質,レート)特性を有する一式のエンコードされたストリームをそれぞれ生成する。
Figure 2022518234000027
及び
Figure 2022518234000028
どちらの場合も下付き添え字1及び2はコーデックの種類を示し、n及びnはそれぞれエンコーダ1及びエンコーダ2によりそれぞれ生成されたストリームの数を示している。
ここで、コーデックのパフォーマンスは、特定の品質レート関数Q(R)及びQ(R)によりモデリングされる。(異なるストリームに対応する)上記の(品質,レート)ポイントは、次のこれらの関数から得られたサンプルと理解され得る。
Figure 2022518234000029
及び
Figure 2022518234000030
集合L及びLはそれぞれ、タイプ1及び2のコーデックに対するエンコーディングラダーである。両方の集合の和集合L=L∪Lは「デュアルコーデックラダー」である。
表記の都合上、このようなラダーは、常に、両方のコーデックに対して同じであるゼロ点である、
(R,Q)=(0,0) (5)
により拡張され得る。
実際には、異なるビットレートにおいて同様に変更され得るビデオパラメータの1つは、解像度である。本明細書で説明される実施形態では、解像度は最適になされてもよく、各コーデックの品質レートモデルによって取り込まれると仮定され得る。換言すれば、一式の許容される解像度
Figure 2022518234000031
及び特定の解像度
Figure 2022518234000032
ごとに取得される品質レートモデルQ(S,R)を所与として、最終的な品質レートモデルQ(R)は、
Figure 2022518234000033
であるように定義され得る。
HLS又はDASHなどの最新のストリーミングプロトコルは、基礎とするトランスポートプロトコルとして伝送制御プロトコル(TCP)を用いることに基づいている。それから、TCPは再送を実施して、パケットロスを排除し、物理ネットワークの種類ごとに固有の多くの自然統計をマスクする。しかしながら、TCPレベルでは、各時点で利用可能な伝送速度又は帯域幅の変動が依然として観測され得る。
したがって、数学的モデリングの目的で、ネットワークは、特定の所与の確率密度関数p(R)による連続確率変数Rと見なされ得る。
実際には、このような帯域幅密度関数p(R)は、デバイス又はデバイスのそれぞれのアクセスネットワークが異なれば異なり得る。例えば、4G/ロングタームエボリューション(LTE)ネットワークを介して接続されたモバイルクライアントを考えると、LTEを介するTCPトラフィックの既知のスループット測定値が使用され得る。より一般的には、このような分布は、各特定のストリーミングデプロイメントを考慮して実験的に測定することができ、そして当然のことながら、デバイス、CDN、配信領域などが異なれば異なり得る。
クライアントのモデルは次のように定義され得る。すべての時点において、特定の利用可能なネットワーク帯域幅Rを所与として、図3のデコーダ1及び2(シングルコーデッククライアント)はそれぞれラダーL及びLから、
Figure 2022518234000034
及び
Figure 2022518234000035
にしたがってビットレートを選択する。
換言すれば、デコーダ1及び2は、利用可能なネットワーク帯域幅R以下の最大ラダーレートRを選ぶ。
したがって、各デコーダがそれぞれ実現する品質は、
Figure 2022518234000036
及び
Figure 2022518234000037
となる。
実際には、ストリーミングクライアントにおけるレート選択アルゴリズムはより複雑であり得るが、それにもかかわらず、上述の選択モデルは、ストリーミングシステムの平均的なパフォーマンスを検討するのに適し得る。
(図3の)デコーダ3に関連して、デコーダ3は、各帯域幅の値Rについて、次の最高の品質を実現するビットレート及びコーデックの両方を選ぶことができる。
Figure 2022518234000038
これは、次のレート選択規則を用いることにより実現され得る。
Figure 2022518234000039
H.264及びHEVCのコーデックについて、これらの概念を図4A及び図4Bに示す。
図4A及び図4Bは、異なるクライアント/デコーダが様々なビットレートで実現できるビデオの品質を示すグラフである。図4Aでは、HEVC品質レート関数310(QHEVC(R))とH.264品質レート関数320(QH.264(R))がプロットされており、0から3500kbpsまでに及ぶビットレートにわたって、所与のソースコンテンツに対して実現可能な品質(SSIM)を示している。HEVC品質レート関数310のプロットがH.264品質レート関数320のプロットを上回っており、所与のソースコンテンツではHEVCがより効率的であることを示唆していることが分かる。
ビットレートが上がるにつれて、HEVCデコーダ330による選択された品質及びH.264デコーダ340による選択された品質のそれぞれが、それぞれのデコーダが低いビットレート/品質を有するストリームから高いビットレート/品質を有するストリームに切り替わるところを示す品質が向上するステップを示す。例えば、H.264のエンコーディングラダーは、71、268、595、1108、及び2149kbpsの5つのビットレートポイントをそれぞれ含み、その結果、H.264デコーダ340による選択された品質によって階段状の関数が示される。HEVCのエンコーディングラダーは、93、459、及び1275kbpsの3つのビットレートポイントをそれぞれ含み、その結果、HEVCデコーダ330による選択された品質によって階段状の関数が示される。(HEVCデコーダは利用可能な3つのHEVCレートの中からしか選択できない。)
図4Bは、デュアルコーデックデコーダ350による選択された品質を図4Aのグラフに重ねて示している。これから分かるように、デュアルコーデックデコーダ350による選択された品質は、各レートにおいて利用可能な最高の品質を選ぶH.264及びHEVCのデコーダの両方のステップと部分的に一致する。両方のコーデックを交互に用い、合計7つのステップとなる。これにより、デュアルコーデックデコーダ/クライアントは、変化するネットワークの帯域幅に一層正確に適応することができ、よって、デコーダがH.264又はHEVCのストリームとのみ連携するよりも、より良好なネットワーク利用率を実現することができる。ただし、重要なことに、デュアルコーデックデコーダはまた、品質が向上しないために切り替える意味がないポイントを省略することもできる。例えば、(459kbpsのHEVCよりも低い品質を有する)595kbpsのH.264のポイントを使う代わりに、デュアルコーデックデコーダは459kbpsのHEVCに留まる。
これに基づいて、デュアルコーデックデコーダ/クライアントがより良好なパフォーマンスを実現した場合の条件が定式化され得る。ここで、第1及び第2のコーデックをそれぞれ用いてエンコードされたストリームのラダーL(1)及びL(2)を所与として、
Figure 2022518234000040
且つ
Figure 2022518234000041
であるような2つの添え字i及びjを考える。この条件が満たされると、第2のコーデックラダーからのポイントjが選択可能となり、デュアルコーデックデコーダ/クライアントで実現され得るステップの総数及び適応の精度が向上する。図4Bに示すような特別な場合では、このようなポイントはi=1且つj=1となり得、ラダーの最初の一対のポイントであっても上記の条件が満たされることを示し、つまり、
Figure 2022518234000042
且つ
Figure 2022518234000043
であり、
Figure 2022518234000044
及び
Figure 2022518234000045
は第1のコーデックを使用してエンコードされた最初の2つのストリームのビットレートであり、
Figure 2022518234000046
及び
Figure 2022518234000047
はそれらの個々の品質値であり、
Figure 2022518234000048
及び
Figure 2022518234000049
はそれぞれ第2のコーデックを使用してエンコードされた最初のストリームのビットレート及び品質値である。
デュアルコーデックABRストリーミングシステムによって実現可能な平均品質は、以下のように決定され得る。上述のレート選択規則を所与として、且つネットワーク帯域幅が確率密度関数p(R)による連続確率変数Rとしてモデリングされると仮定することによって、ストリーミングシステムにおいて3種類のデコーダが実現可能な平均品質の表現は次のように記述することができる。
Figure 2022518234000050
Figure 2022518234000051
及び
Figure 2022518234000052
ここで、
Figure 2022518234000053
は、第1のコーデックしかデコードできないクライアントによって実現可能である平均品質である。同様に、
Figure 2022518234000054
は、第2のコーデックしかデコードできないクライアントによって実現可能である平均品質である。
Figure 2022518234000055
は、両方のコーデックをデコードでき、LとLとのストリーム間で切り替えを行うことができるクライアントによって実現可能である平均品質である。
最後に、π={π,π,π}、π+π+π=1が、クライアントの全体における各種のクライアントの存在を記述する分布であると仮定することにより、ストリーミングシステムが実現可能な全体の平均品質は次のように表され得る。
Figure 2022518234000056
式(16)の最終平均品質の表現に至る上記の定義の全体的な流れを図5に示す。
式(1)~(16)を考慮し、且つ平均品質値
Figure 2022518234000057
は、ネットワークの帯域幅密度p(R)、クライアント分布π、ポイントの数n、及びラダーで使用されるレートのセットの関数として理解できると分かることから、エンコーディングラダー最適化問題は以下のように設定され得る。
・ラダーポイントの総数n、
・すべてのレートポイントの限度:Rmin、Rmax
・最初のレートポイントの最大限度:
Figure 2022518234000058

・コーデック及びコンテンツの両方に対する品質レート関数Q(R)、Q(R)、
・ネットワーク帯域幅密度p(R)、及び
・クライアントの分布π
を所与のものとして、
Figure 2022518234000059
であるような数
Figure 2022518234000060

並びに
・ラダーレート
Figure 2022518234000061
及び
Figure 2022518234000062

を見つける。ただし、ストリーミングシステムによって与えられる品質全体
Figure 2022518234000063
が最大である、つまり、
Figure 2022518234000064
であるように見つける。
容易に気付くように、式(17)で記述された問題は、非線形制約最適化問題であり、
Figure 2022518234000065
が(混合したクライアントのための品質決定における最大値演算子の使用に起因して)微分可能ではないという事実と、整数
Figure 2022518234000066
の選択が離散領域に含まれ、残りは潜在的に連続であるという事実とによって、一定の複雑さが加えられている。
(17)で導入されたすべての制約は、実用的な設定で使用され得る。例えば、最大レート限度Rmaxは、物理的に実現可能な割り当てを超えたビットレートの割り当てを防ぐことができる。最小レート限度Rminは、通常、サービスとしてのストリーミングがまだ実現可能な最小品質レベルに関連している。ラダーにおける最初のレートの最大限度
Figure 2022518234000067
は、通常、クライアントの起動時間及び/又はバッファリング確率などを制限するために使用される。実際には、いくつかの更なる制約が導入されることもある。
式(17)で定式化された問題は、ストリーミングシステムでn個の全ストリームと共に作動する。しかしながら、ストリームの数を無限に近づけることができる場合、結果として各デコーダの出力における品質限度は次のようになる。
Figure 2022518234000068
Figure 2022518234000069
及び
Figure 2022518234000070
システム全体の全品質限度は、
Figure 2022518234000071
となる。
理想的な品質値とnポイントシステムで実現可能な最良の平均品質との間の相対的な距離(「品質ギャップ」と呼ばれる)は、次のように定義され得る。
Figure 2022518234000072
品質ギャップ指標は、有限数のレートポイントを有するシステムが、無限の場合に対してどのくらい良好な挙動を示すのか、また、いくつのラダーポイントが実用的に十分であるかを理解するのに役立ち得る。例えば、十分なポイントの数nを見つけるために、システムは次を確認し得る。
Figure 2022518234000073
Figure 2022518234000074
は、(1)を所与のnに対して解くことで得られるレートポイントであり、ξmaxは、システムの最大許容品質ギャップ(つまり、部分最適性)である。例えば、実用的な状況では、ξmaxは1又は2%に設定され得る。
平均品質に加えて、各クライアントが消費する平均帯域幅は次のように表され得る。
Figure 2022518234000075
Figure 2022518234000076
及び
Figure 2022518234000077
システム全体で消費される平均帯域幅は、その結果、次のようになる。
Figure 2022518234000078
無限の場合、これらの式はすべて、ネットワークの平均帯域幅に収束する。
Figure 2022518234000079
換言すれば、ラダーポイント(ストリーム)の数を増やすことには、平均品質とストリーミングシステムが消費する平均帯域幅との両方を増加させる効果がある。どちらの量にも自然な限度がある。
原理上、上記のすべての定義を所与として、且つ実際には帯域幅が通常ストリーミングシステムの運用コストにおける因子であることを考慮すると、最適ラダー設計の問題はまた、平均帯域幅の最小化の問題として定式化され得る。
Figure 2022518234000080
minは、システムによって実現される品質に対する一定の限度である。
しかしながら、これらの問題には関連性があり、いくつかの場合、全く同じ解が得られることに留意されたい。よって、所与のn及び他のすべての制約について、問題(17)の解と一致するように品質限度、すなわち、このようなシステムで実現可能な最高の品質である。
Figure 2022518234000081
が選択される場合、問題(29)の解は、問題(17)と全く同じラダー
Figure 2022518234000082
をもたらす。更に、問題(17)と問題(29)との両方がどちらも同じクラスに属し、各コーデックに割り当てられるストリームの数の選択は離散最適化の領域に属し、残りの部分は、一般に、制約付き連続領域最適化問題として理解され得る。
より一般的には、k個のコーデック及びm個のクライアントを有するABRストリーミングシステムが考えられ、この場合、ネットワーク帯域幅の分布pとクライアントの種類πが既知であり、最適化基準として特定のフィギュアオブメリット関数(figure of merit function)を定義する。
Figure 2022518234000083
これは、システム全体のパフォーマンスを把握する。特別な場合には、先に説明したように、このようなフィギュアオブメリット関数は、ABRシステムの平均品質又は平均帯域幅と一致することもあれば、品質及び帯域幅の両方の表現を成分として用いる、より複雑な関数であることもある。
次いで、且つ特定の更なる条件下で、最適化問題は、
Figure 2022518234000084
であるような数
Figure 2022518234000085

及びストリーミングシステムが提供するパフォーマンス全体が最大になるような、ラダーレート
Figure 2022518234000086
を見つけることの1つになる。
Figure 2022518234000087
ポイントの全数nはまた、例えば、次のような特定の制約を受けることがある。
Figure 2022518234000088
Figure 2022518234000089
は、システムにどれだけのラダーポイントが十分であるかを決定するために使用される追加のパフォーマンス基準であり、各コーデックのラダーポイントのレート値
Figure 2022518234000090
は、問題(31)の解となる。
図6は、式(31)及び式(32)によって定義された問題が解かれる一実施形態による、最適化されたマルチコーデックエンコーディングラダーを決定するための方法の主なステップを示すフロー図である。以下に、実用的なマルチコーデックシステムの具体例、及び提案される方法を適用することによって見出されたそれぞれの解を示す。図6のブロックに示された関数の一部又は全部は、(上述のように、コンピュータサーバによって実行され得る)エンコーダ120によって実行されてもよい。
図6の方法は、ブロック605において開始することができ、これは、所与のk個のコーデック及びコンテンツに対する品質レート関数のモデルを定義するプロセスを含む。これは、’723出願で述べられているように、例えば、各コーデックで1つ又は複数のプローブエンコーディングを行い、次いで、各プローブの後に得られた(品質,レート)ポイントを通るモデル曲線をフィッティングすることで行うことができる。
ブロック610、640、及び650の機能の組み合わせは、エンコーディングラダーのポイント(又はストリームの総数)の十分な値nを見つけるループを記述している。ブロックの615、635、及び655の機能の組み合わせは、各コーデックに割り当てられたストリームの数n,...,nを見つけるループを記述している。このような数の組み合わせは、n+・・・+n=nを満たさなければならず、この時点でのnは前のループで与えられる。
ブロック620の機能は、範囲又はレートの条件などのいくつかの追加条件に従うフィギュアオブメリット関数
Figure 2022518234000091
が最大値に到達するように、各コーデックに対するエンコーディングラダーレート
Figure 2022518234000092
を見つけるプロセスを記述している。この機能は、上記の問題(31)のうち、数n及びn,...,nが固定されている部分を効果的に解く。このような最適化問題は、原理的には、連続領域の非線形制約最適化問題であり得、そのためにいくつかの有効な数値的技法が利用可能である。例えば、
Figure 2022518234000093
が、
Figure 2022518234000094
に関して連続且つ微分可能である場合、逐次動的計画法を適用することによって解くことができる。
ブロック620において使用されるフィギュアオブメリット関数
Figure 2022518234000095
は、ブロック605で得られた品質レート関数Q(R),...,Q(R)のモデル、並びにネットワーク帯域幅分布p、クライアント選択ロジックのモデル、及びすべての種類のクライアントの分布πに内部的に依拠し得る。特別な場合には、このようなフィギュアオブメリット関数は、平均品質又は平均帯域幅使用量関数と等価であり得、これらは先に示したように導出され得る。
ブロック620及び625の機能は、所与のポイントの総数nについて、最良の解
Figure 2022518234000096
の選択プロセスを記述している。この時点で選択された解は、(2)で定義された完全な問題の解となる。
最後に、ブロック640に示すように、図6に記載の方法は、所与のストリームの総数nがラダーを生成するのに十分であるか否かを確認することであって、十分であれば、次いで、ブロック645に示すように、ストリーミングシステムにおいて格納又は使用するためのそのようなラダーのパラメータを出力する、ことを含む。
より一般的に言えば、図6に示すマルチコーデックエンコーディングラダーを決定する方法の機能は、以下のように記述され得る。
1)マルチコーデックABRラダーで使用されるストリームの総数nを選択する。
2)各コーデックに割り当てられるストリームの数n,...,nを選択し、
a)そのような数がn+・・・+n=nを満たし、
b)このような数の一部が、実際には0に設定され得、所与のコンテンツ、コーデック、クライアント、ネットワーク、及び他の制約において、一部のコーデックを使用しても何の利点ももたらさないことを示唆する。
3)各コーデックのレート
Figure 2022518234000097
を選択し、このような選択はすべて以下の影響を受ける。
a)品質レート関数Q(R),...,Q(R)によって取得された、コーデック及びコンテンツの特性、
b)ネットワーク帯域幅分布p(R)によって取得されたネットワークの特性、
c)クライアントのデコード及び切り替えの能力と、クライアントの分布π、並びに
d)ビットレートの範囲に関する制約など、オペレータが定義する更なる制約。
以下の説明では、本明細書で(例えば、図6に示すように)提供されるマルチコーデックABRエンコーディングラダー決定の技法を用いた実験結果のいくつかの例を提供しており、その中で利点が明らかになる。これらの実験では、RAWの720p50のビデオクリップの選択的連結により作成した3つのビデオシーケンスを使用した(YUVビデオシーケンス(YUV video sequences)、https://media.xiph.org/video/derf/で入手可能)。これらのシーケンスは、このようなシーケンスがエンコーダに提示する難易度に基づいて、本明細書では「容易」、「普通」、及び「複雑」と呼ばれる。エンコーダは、それぞれH.264及びエンコーダを実装するオープンソースのx264及びx265のプロジェクトを使用した。ストリーミングに適した典型的なコーデックの制約(GOP、HRD、参照フレーム、及びBフレーム)を両方の場合に適用した。品質の測定にはSSIM指標を用いた。H.264エンコーダを作動させる場合、ベースラインプロファイル及びメインプロファイルにおける作動は、これらのパフォーマンスがかなり異なるため、別々に検討している。
すべてのコーデックのパフォーマンスをモデリングするために、次の品質レートモデル関数を使用した。
Figure 2022518234000098
表2では、コーデック及びコンテンツについて得られたモデルパラメータα、βの値を示している。図7は、取得された品質レート関数の形状を示したグラフを示している。
Figure 2022518234000099
図7から明らかなように、H.264と比較してHEVCコーデックが実現できるゲインは、コンテンツに大きく依存する。そのため、「容易」であるコンテンツではほとんどゲインがなく、「普通」及び「複雑」であるコンテンツではゲインが顕著になる。H.264のベースラインプロファイルとメインプロファイルとの間の差も、コンテンツに依存しているが、その程度はやや低い。よって、「容易」であるコンテンツの場合、図7に示す、対応するプロット間には依然として差がある。
ネットワーク帯域幅モデルを得るために、LTEネットワークのスループット測定値を使用し、次の解析モデルに当てはめた。
p(R)=αf(R,σ)+(1-α)f(R,σ) (34)
Figure 2022518234000100
は、レイリー分布の確率密度関数であり、α、σ、及びσは、モデルパラメータである。
本明細書においてネットワーク1及びネットワーク2と呼ばれる2つのモデルは、LTEネットワークのスループットをセル内の2つの可能なユーザ数でスケーリングすることにより得られる。結果として得られたモデルパラメータ及びネットワークモデルのプロットを表3及び図8にそれぞれ示す。
Figure 2022518234000101
上記の品質レート及びネットワークモデルを所与として、ストリーミングシステムの実際に関連するいくつかの構成に対して最適なエンコーディングラダーが決定され得る。すべての例示的な状況において、以下の制約を用いた。
・最小ビットレートの限度:rmin=50[kbps]、
・最大ビットレートの限度:rmax=10000[kbps]、及び
・最初のストリームの最大ビットレートの限度:
Figure 2022518234000102
最適化基準として、平均品質全体
Figure 2022518234000103
を検討した。結果は、トップレンディションにおいて実現された品質レベルQ、平均品質
Figure 2022518234000104

及びクライアントのすべての種類及び全体で実現可能な品質ギャップξについて報告される。
最初に、ストリーミングシステムが1つのコーデックしか使用していない平凡な例を検討した。このような場合、1つのコーデックと、1つのラダー、例えばLと、このラダーからストリームをデコードし得る1種類のクライアントしかない。これは、次の最適化問題をもたらす。
Figure 2022518234000105
この場合に、
Figure 2022518234000106
の導出を記述するABRストリーミングシステムが図9に示されている。
本システムはシングルコーデックABRストリーミングシステムであり、これは、以下に詳述するマルチコーデックABRストリーミングシステムとの比較のために提供されている。
H.264ベースライン、H.264のメイン、及びHEVCコーデックをそれぞれ考慮することにより構築された最適なラダーの例を表4~表6に示す。
Figure 2022518234000107
Figure 2022518234000108
Figure 2022518234000109
表4~表6からいくつかのことが分かる。
第1に、異なるネットワークに対して設計された最適なエンコーディングラダーは異なって見える。ネットワークモデル1に対して設計されたエンコーディングラダーは、帯域幅分布のピークに対応する1Mbps付近にビットレートが集中している。ネットワークモデル2に対して設計されたエンコーディングラダーは、ピーク帯域幅分布に対応する2Mbps付近にビットレートが集中している。
第2に、異なるコンテンツに対して設計された最適なラダーは異なって見える。複雑であるコンテンツは、一般に、普通及び容易であるコンテンツに比べて、より高いビットレートが割り当てられたストリームを受信する。また、複雑であるコンテンツでは、小さな品質ギャップに到達するために、より多くのラダーポイントが必要となる。例えば、ネットワーク1且つH.264メインコーデックでは、複雑であるコンテンツは、2%未満のギャップに到達するために8つのストリームを必要とする。それに比べて、普通であるコンテンツでは4つのストリームしか必要ではなく、容易であるコンテンツでは2つのストリームで十分である。
第3に、異なるコーデックに対して設計された最適なラダーも異なって見える。より効率的なコーデックを用いると、必要なエンコーディングラダーストリームの数は少ない。例えば、ネットワーク1、複雑であるコンテンツ、且つ2%の品質ギャップの限度の場合、エンコーディングラダーは、H.264ベースラインでは9つのストリームを有し、H.264メインでは8つのストリームを有し、HEVCは7つのストリームを有する。
次に、図10に示すように、H.264ベースライン及びH.264メインを有する2コーデックABRストリーミングシステムを考える。ここで、クライアントは2つの種類であり、すなわち、H.264ベースラインストリームしかデコードできないクライアント(レートセレクタ+デコーダ1)と、H.264ベースライン及びH.264メインのコーデックを用いてエンコードされたストリームの間でデコードして切り替えることができるクライアント(レートセレクタ+デコーダ1)とである。この場合に、
Figure 2022518234000110
の導出はまた、図10に示されている。
本システムは、図5に関して以前に説明した問題の変形形態であるが、ただし、第2の種類のコーデック(H.264メイン)しかデコードできないデコーダが存在しない。このようなデコーダは、実際にすべてのH.264メインプロファイルデコーダがH.264ベースラインストリームもデコードできる必要があるため、除去されている。
このようなシステムに対して構築された最適なエンコーディングラダーの例を表7及び表8に示す。これらのエンコーディングラダーの設計においては、H.264ベースラインしかデコードできないデバイスがクライアントの総数の10%を占め、H.264ベースライン及びH.264メインの両方をデコードできるデバイスが90%を占めると仮定している。
Figure 2022518234000111
Figure 2022518234000112
表7及び表8で提示されている結果は、H.264ベースラインエンコーディングは、常にエンコーディングラダーの最低レート(及び解像度)で行われなければならず、またH.264メインプロファイルエンコーディングは、常にストリームの最高レート(及び解像度)で行わなければならないという一般的な考えを覆すものである。更に、表7及び表8によれば、最適なラダーはH.264メインストリームを全く含まない場合がある。これは、例えば、「容易」であるコンテンツの場合、及びレンディションの数が6未満の場合に起こる。また、このことは、「普通」及び「複雑」であるコンテンツでも起こるが、許容されるストリームの数が少ない場合でも起こる。
加えて、表7及び表8によれば、シングルコーデックラダーとデュアルコーデックラダーとの間で切り替わるポイント(n=4、普通であるコンテンツの場合など)では、シングルH.264ベースラインストリームは利用可能な最低ビットレートに割り当てられない。その代わり、中間レートに置かれ、H.264ベースラインクライアントに提供され得る総平均品質を最大化する。n≧5とし、2つのストリームをH.264ベースラインに割り当てた場合、ここでも、そのレートは最低ビットレートに配置されない。その代わり、どちらの種類のクライアントも有意義に使えるように、H.264メインに割り当てられたレートの間にある中間ポイントに配置される。
図11は、エンコーディングラダーのポイントと、H.264ベースライン及びH.264ベースライン/メイン切り替え可能クライアントが行う切り替え決定を示すグラフである。この場合のラダーポイントは、「普通」であるコンテンツ、ネットワーク1(表7)のために設計された8つのストリームによるエンコーディングラダーに対応する。このラダーは、H.264ベースラインがエンコードした179及び874kbpsのストリームと、H.264メインがエンコードした60、217、465、821、1362、及び2464kbpsのストリームとを含む。
更に図11から分かるように、H.264ベースラインしか使えないクライアントは、このようなコーデックでエンコードされた179及び874kbpsのストリームの両方を使用する。同時に、H.264ベースライン及びH.264メインの両方をデコードできるクライアントは、H.264メインを用いてエンコードされて6つのレートと、H.264ベースラインによってエンコードされた179kbpsの1つのレートとを選択する。この7つのレートの構成により、このクライアントはストリーミング時に最高の品質を実現することができる。
ここでも、H.264ベースラインストリームの部分のみを選択し、そのようなストリームのすべてをラダーの最初に配置しないことは新しいことであり、自明ではなく、H.264ベースライン及びH.264メインのプロファイルにレートを割り当てる既存のプラクティスが最適ではないことを示している。
次に、図12に示すように、3種類のクライアントを有する2コーデックABRストリーミングシステムを考える。図示のように、3種類のクライアントは、(i)H.264ストリームしかデコードできないクライアント(レートセレクタ+デコーダ1)(例えば、PC上のウェブレイヤ)、(ii)H.264ストリーム又はHEVCストリームのいずれかをデコードできるが、それらを切り替えることができないクライアント(レートセレクタ+デコーダ2)(例えば、アンドロイド(商標)デバイス上のDASHプレーヤ、スマートテレビ)、及び(iii)H.264及びHEVCのストリームをデコードして切り替えることができるクライアント(レートセレクタ+デコーダ3)(例えば、最近のアップル社のデバイスに搭載されているネイティブHLSプレーヤ)である。
この場合の最適化問題は、デコーダ2の実現可能な品質がここでは次のようになることを除いて、式(17)で定義された問題と同じである。
Figure 2022518234000113
この最大値演算によれば、第2のコーデック(HEVC)を使用して実現できる品質が第1のコーデック(H.264)の1つよりも低い場合は、H.264でエンコードされたストリームをそのようなデバイスに送信する。
この場合に、
Figure 2022518234000114
の導出を説明するシステム図が図12に示されている。
このようなシステムに対して構築された最適なラダーの例を表9~表14に示す。コンパクトにするために、ネットワークモデル1の結果のみを掲載している。しかしながら、各種のクライアントのいくつかの異なる分布が考えられる。表9~表11では、切り替え可能なクライアントがHEVC対応クライアントの数の半分を占める場合を考え、表12~表14では、切り替え可能なクライアントが存在しない場合を考える。
Figure 2022518234000115
Figure 2022518234000116
Figure 2022518234000117
これらの表に基づいて、いくつかのことが分かる。
第1に、表は、特定の種類のコンテンツでは、HEVCを使用しても品質が向上しない場合があり、そのようなコンテンツでは、H.264でエンコードされたコンテンツのみを含むラダーを生成するのが適切であることを示している。
第2に、HEVCストリームを含めることは、HEVC対応デバイスの割合が大きい場合にのみ意味があり得る。表9は、全デバイスの約70%がHEVCをデコードできるという仮定で始まり、これは、12以上のストリームが許可されているときに、そのうちのいくつかはHEVC専用であり得る境界線のようである。この場合、HEVC対応クライアントの半数が切り替え可能でもある状況を考慮していることに留意されたい。(表12~表14に例示するように)切り替えできない場合、システム全体のパフォーマンスを実質的に向上させるためには、HEVC対応デバイスのデプロイメントを更に高める必要があり得る。
第3に、HEVCを含める場合、ラダーにおけるストリームの総数が十分に多いことが必要であり得る。70%のデバイスでHEVCが利用可能である場合、普通であるコンテンツには少なくとも10ストリーム、複雑であるコンテンツには少なくとも12ストリームが必要であることが分かる。デプロイされているHEVCクライアントの割合が高ければ、そのようなレンディションの数は少なくなり得る。例えば、HEVCが90%のデバイスで利用可能である場合、これを含み始めるのに必要なラダーポイントの数が約6レンディションに減ることが分かる。しかしながら、現在、H.264のみのエンコードでは、通常、約5ストリームを使用すれば十分であることを考えると、HEVCのデプロイメントには、デコード可能なデバイスの数が多くても、余分なレンディションというコストがかかることが明らかになった。
次に、以下の表では、H.264/HEVC切り替え可能クライアントが存在しない場合を考える。
Figure 2022518234000118
Figure 2022518234000119
Figure 2022518234000120
表12~表14の結果に基づいて、クライアントのH264/HEVC切り替え能力を使用しないことは、システムパフォーマンスに悪影響を及ぼすことが分かる。第1に、HEVCをサポートするためのストリームの数を一層増やす必要がある。例えば、複雑であるコンテンツの場合、HEVCの70%デプロイメントでは12ストリームではもはや足りず、90%デプロイメントには少なくとも7ストリームが必要になる。更に、同じ数のストリームでの品質全体及び品質ギャップも若干低い。
上記の差は、切り替えを行うクライアントを実際に使用することが有用であり得る理由を説明しており、またクライアントプール全体におけるそのようなクライアントの数の%、コンテンツの特性、ネットワークなどの因子を考慮して、そのようなクライアントのラダーを生成することが更に有用である理由を説明している。
検討する最後の例示的なABRストリーミングシステムを図13に示す。この例では、H.264ベースラインプロファイル及びH.264メインプロファイルは別々のコーデックとして扱われ、HEVCはシステムがサポートしなければならないもう1つのコーデックと見なされる。更に、例示的なABRストリーミングシステムは、次の4種類のクライアントを含む、すなわち、(i)H.264ベースラインストリームしかデコードできないクライアント(レートセレクタ+デコーダ1)(例えば、従来のポータブルデバイス)、(ii)H.264ベースラインストリームとH.264メインストリームとをデコードして切り替えることしかできないクライアント(レートセレクタ+デコーダ2)(例えば、PC上のウェブプレーヤ)、(iii)H.264及びHEVCのストリームのすべてをデコードでき、H.264ベースラインとH.264メインとを切り替えることができるが、H.264とHEVCとを切り替えることはできないクライアント(レートセレクタ+デコーダ3)(例えば、アンドロイドデバイス上のDASHプレーヤ、スマートテレビ)、及び(iv)すべてのストリームをデコードして切り替えることができるクライアント(レートセレクタ+デコーダ4)(例えば、最近のアップル社のデバイス上に搭載されているネイティブHLSプレーヤ)を含む。
この場合の最適化問題は、式(17)において上で定義された問題を一般化したもので、各クライアントにおける最終出力と全体の流れを図13で説明している。更に、先に述べた最適化問題を解くための方法がこの場合に適用される。
図13に示すシステムに対して構築された最適なラダーの例を表15及び表16に示す。提示をコンパクトにするために、ネットワークモデル1の結果のみを掲載している。
Figure 2022518234000121
Figure 2022518234000122
表15及び表16から次のことが分かる。
第1に、H.264/HEVCシステムに関する先の結果と同様に、HEVC対応デバイスの割合が高くなければならず、しかも一部のコンテンツではHEVCが依然として使用されない。表14では、HEVC対応デバイスの全割合は60%であり、HEVCに割り当てられたストリームはなかった。表15では、HEVC対応デバイスの全割合は70%であり、HEVCストリームを普通及び複雑であるコンテンツのラダーに含めるには十分であった。
加えて、HEVCが含まれている場合、それは明らかにH.264メインレンディションを置き換え、H.264ベースラインレンディションを残すという代償を払っている。したがって、限られた数のレンディションで、HEVC対応クライアントをサポートするために生成され得る最良のラダーは、H.264ベースライン及びH.264メインのプロファイルレンディション、又はH.264ベースライン及びHEVCレンディションのいずれかを含む可能性があると思われる。しかし、3つのコーデックがすべて使用される場合は、この限りではない。
これらの2つのコーデックの混合の間の最適化は、コンテンツに依存しているように見え、また、含むことができるレンディションの総数nにも影響される。
ここでもこの最適化技法の威力が実証され、H.264ベースラインプロファイルを別個のコーデックとして扱うことが、マルチコーデックのユースケースにおける最終的なプロファイルの構造及び形状に対して大きな影響を与えることを示している。
当然のことながら、提案された方法はまた、VP9、AV1、VVCなどの異なるコーデックにも適用され得る。
図14は、一実施形態による、本明細書で説明される方法を用いてマルチコーデックABRラダー生成を組み込んだマルチコーデックABRストリーミングシステム1400のブロック図である。分かるように、図14に示す構成要素は、図1のABRストリーミングシステム100に対応し得る。図14は、マルチコーデックエンコーディングラダーの決定及びストリーミングに使用される構成要素に関する更なる詳細を含む。更に、図1と同様に、実施形態は、任意の数の個々の構成要素を有していてもよく、これらの構成要素は、様々な地理的位置に分散されてもよく、及び/又は任意の数のコンピュータ(例えば、コンピュータサーバ)によって実行されてもよい。
マルチコーデックABRストリーミングシステム1400におけるビデオはビデオソース1405から到来する。所望の機能に応じて、このソースは、何らかの中間フォーマットでエンコードされたビデオを格納するオリジンサーバを含むこともできるし、例えばRTMPプロトコルで配信される、ライブストリームとすることもできる。
次いで、このビデオは、いくつかの追加的な情報と共に、マルチコーデックABRプロファイルジェネレータ1410によって受信され、マルチコーデックABRプロファイルジェネレータ1410は、マニフェスト1415として提示されたエンコーディングラダー全体の記述を生成し、具体的なエンコーディング命令がエンコーダ1420(エンコーダ1~N)に配信され、エンコーダ1420は、各ストリームをエンコードする役割を与えられる。マニフェスト1415及びエンコード命令は、例えば、生成するストリームのコーデックタイプ、目標ビットレート、解像度、フレームレート、及び他のパラメータを含み得る。エンコードされたストリームは、その後、コンテンツオリジンサーバ1425に置かれ、クライアント1435に配信するためにCDN+アクセスネットワーク1430にプッシュされる。
マルチコーデックABRプロファイルジェネレータ1410によって生成されたマニフェスト1415は、マニフェストフィルタリング/ジェネレーションロジック1440によって更に処理されてもよく、マニフェストフィルタリング/ジェネレーションロジック1440は、ストリーミングシステムにおけるクライアントの各種類の能力に基づいて、このようなクライアントに関連するレンディションのみを残してもよい。例えば、H.264ベースラインのコンテンツしかデコードできないクライアントのために、H.264ベースラインエンコードされたレンディションだけを残すことができる。或いは、例えばH.264/HEVC切り替え可能コーデックを考えると、使用されているコーデックに関わらず、次の各レートRi+1≧Rについて、前のレートよりも良い品質Qi+1≧Qを提供することが保証されるように、レンディションの順序付けられた部分を残すことができる。当然のことながら、これにより、いくつかのレートポイントが省略されることがあるが、その他の点では、このような切り替え可能なコーデックが使用するための可能な限り最高のラダーを作り出すことができる。このようなフィルタリングロジックは、この場合では595kbpsのH.264ストリームが省略されるべきであることを示す図4Bを考慮して理解され得る。フィルタリングされると、最終的なエンコーディングラダーは、マニフェストオリジン+CDN1450上にDASH又はHLSのマニフェスト1445として格納され得る。
再生中に、各種類のクライアント1435がコンテンツへのリンクにアクセスを試みた場合、デバイス検出ロジック1455がその要求を解析して、コンテンツを求めているクライアント1435の種類を特定できる。このような検出は、受信するサーバ、又はウェブページに埋め込まれたJavascript(登録商標)ロジックのいずれかによって行われ得る。このような検出は、ウェブブラウザの種類及びバージョン、OSの種類及びバージョン、デバイスのベンダ及びモデル、チップセットのベンダ及びモデルなど、クライアントシステムの一般に利用可能ないくつかのパラメータに基づき得る。
クライアント1435の種類が特定されると、クライアントがサポートし得る一式のストリームを含む、適切にフィルタリングされたマニフェストに向けられ得る。マニフェストが受信されると、各クライアント1435はABRストリーミングシステムにおいて通常期待されるように動作し得る。
従来のABRストリーミングシステムにはない、このマルチコーデックABRストリーミングシステム1400のいくつかの特徴は、以下を含む。
・複数のコーデックでエンコードされたストリームを含む出力マニフェスト1415を生成するマルチコーデックABRプロファイルジェネレータ1410、
・マルチコーデックABRプロファイルジェネレータ1410の出力をフィルタリングし、システム内のクライアント1435のそれぞれの能力に合わせてラダーをカスタマイズする(具体的には、フィルタリングプロセスは、シングルコーデックを使用してエンコードされたストリームのみを残してもよいし、複数のコーデックでエンコードされたストリームの組み合わせを残してもよく、それらのビットレートソートされたシーケンスも、品質レベルが単調増加するシーケンスを生成する)マニフェストフィルタリング/ジェネレーションロジック1440、
・クライアント1435の種類を特定し、検出されたクライアント1435の種類に対して1445がフィルタリング/生成されたマニフェストを選択するデバイス検出1455、及び
・その後に、フィルタリングされたマニフェストに記述されているコンテンツを受信して再生するクライアント1435。
いくつかの実施形態によれば、マニフェストフィルタリング/ジェネレーションロジック1440は、ABRプロファイルジェネレータ1410によって生成された品質アノテーション、又はDASH規格で定義された「quality_rank」識別子に依拠し得る。「quality_rank」識別子が使用される場合は、識別子は、すべてのコーデックへの適応セットにわたって適切に割り当てられていなければならない。DASHマニフェストの場合に適応セット間の切り替えを可能にする追加のアノテーションは、切り替え可能なクライアントの場合にも含めなければならない。
マニフェストフィルタリングアルゴリズムの具体的な例として、レート及び品質の点で単調増加する一式のポイントを残すことが図15に示されている。2つのコーデックに対するラダーポイントを所与として、ブロック1510において、これを単純にマージしてレートに応じてソートすることにより開始する。次いで、選択ループ1520~1560が続き、各ステップにおいて、品質の点でインクリメントも提供する1530レートソートされたリストのポイントのみが、その後に格納される1540。ステップ1570において、最終的なフィルタリングされたラダーが得られ、出力に送られる。
図15の例では、例えば、コーデック1はH.264とすることができ、コーデック2はHEVCとすることができる。同様のアルゴリズムはまた、複数のコーデックを考えることにより再帰的に適用され得る。この場合、例えば、H.264ベースラインプロファイル及びH.264メインプロファイルからのレートをマージするためにまず適用され、その後、すべてのH.264ラダーポイントをHEVCラダーポイントにマージするために適用され得る。このようにして、すべての3つのコーデック(H.264ベースライン、H.264メイン、及びHEVC)を切り替えることができるコーデックのためのラダーが生成され得る。
状況に応じて、ABRプロファイルの生成及びプロファイルのフィルタリングのための提案された実施形態は、ソフトウェア及び/又はハードウェア(例えば、図17に示され、後述するようなコンピュータの1つ又は複数のハードウェア又はソフトウェアコンポーネント)で実装され得る、又はコンピュータ命令コードとしてコンピュータ媒体にコンパイルされて格納され得る。次いで、このようなコードは、トランスコードされるメディアを含むローカルコンピュータ上で実行され得る、又は遠隔(例えば、クラウドインスタンス)で実行され得る。また、複数のこのようなクラウドインスタンスで同時に実行され得、異なるメディア又は同じメディアの異なるチャンクを処理することもできる。このような動作の実行は、ウェブAPIを作成して使用することによりオーケストレーションされ得る。
図16は、上記の最適化技法のうちの1つ又は複数を使用し得る一実施形態による、マルチコーデックエンコーディングラダーを作成する方法1600を示すフロー図である。図16に示すブロックで提供される機能は、一例として提供されていることを理解されたい。代替的な実施形態は、示す機能を追加、省略、結合、分離、及び他の変更を行い得る。図16に示すブロックのうちの1つ又は複数の機能は、例えば、ABRプロファイルジェネレータ1410、エンコーダ120、又は本明細書で説明されるマルチコーデックABRストリーミングシステムの他の構成要素によって実行されてもよい。そのため、これらの機能は、後述する図17に示すコンピュータシステムなどのコンピュータシステムのソフトウェア及び/又はハードウェアの手段を用いて実装され得る。
ブロック1610において、方法1600は、コンピュータシステムによって、ビデオを含むソースコンテンツを取得することによって開始し得る。ソースコンテンツは、デジタルマスター、メザニンファイル、入力ストリーム(例えば、ライブストリーム)、分離されたビデオ素片ストリームを含む様々なフォーマットのいずれかで提供され得る。上述のように、ソースコンテンツは、オリジンサーバを含み得るビデオソース110から取得され得る。
ブロック1620において、機能は、ソースコンテンツのためのエンコーディングラダーを生成することであって、エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含む、ことを含む。更に、エンコーディングラダーは、
Figure 2022518234000123
及び
Figure 2022518234000124
の個々のビットレート並びに
Figure 2022518234000125
及び
Figure 2022518234000126
の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
Figure 2022518234000127
のビットレート及び
Figure 2022518234000128
の品質値を有する、第2のコーデックの第3のビデオストリームとを含み、
Figure 2022518234000129
且つ
Figure 2022518234000130
である。例えば、図4B及び図11のグラフに示すように、本明細書で提供される技法は、異なるコーデックのストリームをストリームの品質及びレートが単調増加し得るようにインターリーブする、エンコーディングラダーの作成を可能にする。つまり、(2つ以上のコーデックを有する)エンコーディングラダーにおける各ステップは、ビットレート及び品質の両方の増加を表し得る。所望の機能に応じて、
Figure 2022518234000131
Figure 2022518234000132

若しくは
Figure 2022518234000133

又はこれらの任意の組み合わせは、それぞれがSSIM値、PSNR値、MS-SSIM値、又はVNAF値を含み得る。
先に述べた例及び実施形態で示したように、エンコーディングラダーを作成するプロセスは、様々な因子のいずれかを考慮するように最適化され得る。いくつかの実施形態では、例えば、方法1600は、複数のコーデックの各コーデックについて、ソースコンテンツのビットレートと品質値との間の関係を示す、ソースコンテンツの個々のコーデックの品質レート関数を取得することであって、ソースコンテンツのためのエンコーディングラダーを生成することが、個々のコーデックの品質レート関数に基づき、
Figure 2022518234000134
及び
Figure 2022518234000135
が、第1のコーデックの品質レート関数によって決定され、
Figure 2022518234000136
が第2のコーデックの品質レート関数によって決定される、ことを更に含み得る。更に、いくつかの実施形態はまた、ソースコンテンツのためのこれらの品質レート関数を決定することを含み得る。つまり、いくつかの実施形態では、複数のコーデックの各コーデックに対する品質レート関数が、複数のコーデックの各コーデックに対するソースコンテンツの1つ又は複数のプロービングコーティングから決定される。
代替的な実施形態は、追加的又は代替的な検討事項及び/又は最適化アルゴリズムを含み得る。例えば、いくつかの実施形態では、エンコーディングラダーは、ネットワーク帯域幅分布と、エンコーディングラダーを用いてソースコンテンツがエンコードされると、ソースコンテンツをストリーミングすることができるクライアントの分布であって、クライアントの分布が、第1のコーデックと第2のコーデックとの間で切り替えを行うことができるクライアントを含む、クライアントの分布とに更に基づく。追加的又は代替的に、エンコーディングラダーを生成することは反復プロセスを用いて複数のビデオストリームを決定することを含むことができ、反復プロセスにおいて、初期の数が選択され、(1)選択された数に対するフィギュアオブメリット関数を決定するステップと、(2)次の繰り返しのために、選択された数の値を増やすステップとが、フィギュアオブメリット関数が最大値に到達するまで、繰り返される。いくつかの実施形態では、フィギュアオブメリット関数は、複数のコーデックの各コーデックに対する品質レート関数、ネットワーク帯域幅分布、若しくはクライアントの分布、又はこれらの任意の組み合わせに基づく。ネットワーク帯域幅分布は、デバイスの種類、CDN、若しくは配信領域、又はこれらの任意の組み合わせを考慮して収集された帯域幅統計値に基づいて決定された確率密度関数を含み得る。
最後に、方法1600のいくつかの実施形態は、エンコーディングラダーに基づいてコンテンツをエンコードすることを更に含み得る。つまり、いくつかの実施形態は、エンコーディングラダーの各ストリームについて、それぞれのストリームのコーデック及びビットレートを用いてソースコンテンツをエンコードすることにより、個々のエンコードするコンテンツを作成するステップと、個々のエンコードされたコンテンツを格納するステップとを更に含み得る。上記の実施形態で述べたように、エンコードされたコンテンツのエンコード及び格納は、1つ又は複数のエンコーダとコンテンツオリジンサーバとによってそれぞれ実行され得る(コンテンツオリジンサーバは、その後、エンコードされたコンテンツをCDN+アクセスネットワークに送信し得る)。
図17は、コンピュータシステム1700の一実施形態のブロック図であり、これは、全体又は部分的に、図6、図15、及び図16に示す方法を含む、本明細書で説明される方法の機能のうちの1つ又は複数を実行するために使用され得る。コンピュータシステム1700は、ABRプロファイルジェネレータ及び/又はエンコーダを含むABRストリーミングシステム(例えば、図1のABRストリーミングシステム100及び/又は図14のマルチコーデックABRストリーミングシステム1400)の構成要素のうちの1つ又は複数を実施するものであってもよい。図17は、様々な構成要素を一般的に説明するためのものに過ぎず、これらの構成要素のいずれか又はすべてが適切に利用され得ることに留意されたい。したがって、図17は、個々のシステム要素が、どのように相対的に分離されたやり方で又は相対的により統合されたやり方で実施され得るかを広く示している。加えて、図17に示す構成要素は、単一のデバイスにローカライズされてもよいし、及び/地理的に異なる場所に配置され得る様々なネットワークデバイス中に分散されてもよいことに留意されたい。上述のように、ABRストリーミングシステムの構成要素は、クラウドで実行されてもよい。よって、コンピュータシステム1700は、ABRストリーミングシステムの様々な構成要素を実装するように構成された多数のコンピュータシステム(例えば、コンピュータサーバ)のうちの1つであってもよい。
コンピュータシステム1700は、バス1705を介して電気的に結合され得る(又は別様に適宜通信し得る)、ハードウェア要素を備えるとして示されている。ハードウェア要素は、処理ユニット1710を含んでもよく、これは、限定するものではないが、1つ若しくは複数の汎用プロセッサ、1つ若しくは複数の専用プロセッサ(デジタル信号処理チップ、及び/又はグラフィックアクセラレーションプロセッサなど)、及び/又は他の処理構造を含み得、本明細書で説明される方法のうちの1つ又は複数を実行するように構成され得る。コンピュータシステム1700はまた、限定するものではないが、マウス、キーボード、カメラ、及び/又はマイクロホンなどを含み得る、1つ又は複数の入力デバイス1715と、限定するものではないが、ディスプレイデバイス、及び/又はプリンタなどを含み得る、1つ又は複数の出力デバイス1720とを備え得る。
コンピュータシステム1700は、1つ又は複数の非一時的ストレージデバイス1725を更に備えてもよく(及び/又はそれと通信してもよく)、これは、限定するものではないが、ローカル及び/若しくはネットワークアクセス可能ストレージを含むことができる、並びに/又は限定するものではないが、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ソリッドステートストレージデバイス、例えばランダムアクセスメモリ(RAM)及び/又は読み取り専用メモリ(ROM)を含み得、これは、プログラム可能、及び/又はフラッシュ更新可能などであり得る。そのようなストレージデバイスは、限定するものではないが、様々なファイルシステム、及び/又はデータベース構造などを含む、任意の適切なデータストアを実装するように構成され得る。そのようなデータストアは、本明細書で説明されるように、1つ又は複数のデバイスに送信されるメッセージ及び/又は他の情報を記憶及び管理するために使用される、データベース及び/又は他のデータ構造を含み得る。
コンピュータシステム1700はまた、無線通信インターフェースによって管理及び制御される、無線通信技術、並びに有線技術(イーサネット(登録商標)、同軸通信、及びユニバーサルシリアルバス(USB)など)を含み得る、通信サブシステム1730を備え得る。そのため、通信サブシステム1730は、モデム、ネットワークカード(無線又は有線)、赤外線通信デバイス、無線通信デバイス、及び/又はチップセットなどを含み得、これは、コンピュータシステム1700が、1つ又は複数の通信ネットワーク上で、本明細書に説明される他のコンピュータシステム及び/又は任意の他の電子デバイスを含む(その上で実行される動作及び/又はアプリケーションを含む)、それぞれのネットワーク上の任意のデバイスと通信することを可能にし得る。よって、通信サブシステム1730は、本明細書の実施形態で説明されるように、データを受信及び送信するために使用され得る。
多くの実施形態では、コンピュータシステム1700は作業メモリ1735を更に備え、これは、上で説明したようにRAM又はROMデバイスを含み得る。作業メモリ1735内に配置されると示されているソフトウェア要素は、オペレーティングシステム1740、デバイスドライバ、実行可能ライブラリ、及び/又は他のコード、例えば、1つ若しくは複数のアプリケーション1745を含み得、これは、様々な実施形態によって提供されるコンピュータプログラムを備えてもよく、並びに/又は本明細書で説明されるように、他の実施形態によって提供される方法を実装する、及び/若しくはシステムを構成するように設計されてもよい。単に、一例として、上で議論される方法に関して説明される1つ又は複数のプロシージャは、コンピュータ(及び/又はコンピュータ内の処理ユニット)によって実行可能なコード及び/又は命令として実装され得る。一態様では、次いで、そのようなコード及び/又は命令は、説明される方法に従って、1つ又は複数の動作を実行するように汎用コンピュータ(又は他のデバイス)を構成及び/又は適合するために使用され得る。
一式のこれらの命令及び/又はコードは、上で説明されるストレージデバイス1725及び/又は作業メモリ1735などの非一時的コンピュータ可読記憶媒体上に格納され得る。いくつかの場合では、記憶媒体は、コンピュータシステム1700などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、内部に記憶される命令/コードを用いて、汎用コンピュータをプログラム、構成、及び/又は適合するために使用され得るように、コンピュータシステムと別個(例えば、光ディスクなどのリムーバブルメディア)であり得る、及び/又はインストールパッケージで提供され得る。これらの命令は、コンピュータシステム1700によって実行可能な実行可能コードの形態をとり得る、並びに/又はコンピュータシステム1700上へのコンパイル及び/若しくはインストールに応じて、(例えば、様々な概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)実行可能コードの形態をとるソース及び/又はインストール可能コードの形態をとり得る。
実質的変形形態が具体的要件に従って行われ得ることが、当業者には明らかになるはずである。例えば、カスタマイズされたハードウェアもまた使用され得る、及び/又は特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、又はこれら両方に実装され得る。更に、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が採用され得る。
添付の図面を参照すると、メモリを備え得る構成要素は非一時的機械可読媒体を含み得る。本明細書で使用される場合、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械を特定のやり方で動作させるデータを提供することに関わる、任意の記憶媒体を指す。本明細書において上で提供される実施形態では、様々な機械可読媒体は、実行のために、命令/コードを処理ユニット及び/又は他のデバイスに提供することに関わり得る。追加的又は代替的に、機械可読媒体は、そのような命令/コードを格納及び/又は搬送するために使用され得る。多くの実装形態では、コンピュータ可読媒体は物理的及び/又は有形記憶媒体である。そのような媒体は、限定するものではないが、不揮発性媒体、揮発性媒体、及び伝送媒体を含む多くの形態をとり得る。一般的形態のコンピュータ可読媒体は、例えば、磁気及び/若しくは光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、プログラマブルROM(PROM)、イレーサブルPROM(EPROM)、フラッシュ-EPROM、任意の他のメモリチップ若しくはカートリッジ、本明細書で後述されるような搬送波、又はそこからコンピュータが命令及び/若しくはコードを読み取り得る任意の他の媒体を含む。
本明細書で議論される方法、システム、及びデバイスは例である。様々な実施形態は、必要に応じて、様々なプロシージャ又は構成要素を省略、代用、又は追加し得る。例えば、ある実施形態に関して説明される特徴が、様々な他の実施形態において組み合わされてもよい。実施形態の異なる態様及び要素が同様に組み合わされてもよい。本明細書で提供される図面の様々な構成要素は、ハードウェア及び/又はソフトウェアに具現化され得る。また、技術が進化するため、要素の多くは、本開示の範囲をそれらの具体的例に限定しない例である。
本明細書全体を通して、「1つの例」、「一例」、「特定の例」、又は「例示的実装形態」への言及は、特徴及び/又は例に関連して説明される特定の特徴、構造、又は特性が、特許請求の範囲に記載の主題の少なくとも1つの特徴及び/又は例に含まれてもよいことを意味する。したがって、語句「1つの例では」、「一例では」、「特定の例では」、若しくは「特定の実装形態では」など、又は本明細書全体を通して様々な場所における他の同様の語句の表出は、必ずしもすべて、同じ特徴、例、及び/又は限定を指すわけではない。更に、特定の特徴、構造、又は特性は、1つ又は複数の例及び/又は特徴において組み合わされてもよい。
本明細書に含まれる詳細な説明の一部は、具体的装置又は専用コンピューティングデバイス若しくはプラットフォームのメモリ内に格納されるバイナリデジタル信号上の動作のアルゴリズム又は象徴的表現の観点から提示される。本特定の明細書の文脈では、具体的装置などの用語は、プログラムされると、プログラムソフトウェアからの命令に従って特定の動作を実施するための汎用コンピュータを含む。アルゴリズム記述又は象徴的表現は、その研究の内容を他の当業者に伝達するために信号処理又は関連技術における当業者によって使用される技法の例である。アルゴリズムは、ここでは、概して、動作又は所望の結果につながる同様の信号処理のセルフコンシステントシーケンスと見なされる。本文脈では、動作又は処理は、物理的量の物理的操作を伴う。典型的には、必ずしもではないが、そのような量は、格納される、転送される、組み合わせられる、比較される、又は別様に操作されることが可能な電気又は磁気信号の形態をとり得る。これは、折に触れて、主に、一般的使用の理由から、ビット、データ、値、要素、記号、文字、項、数字、又は数値などとしてそのような信号を指すために好都合であると証明されている。しかしながら、これら又は同様の用語のすべてが、適切な物理的量と関連するわけではなく、単に、便宜的標識であることを理解されたい。別段の具体的な指定のない限り、本明細書の議論から明白であるように、本明細書全体を通して、「処理」、「算出」、「計算」、又は「決定」などの用語を利用する議論は、専用コンピュータ、専用コンピューティングデバイス、又は同様の専用電子コンピューティングデバイスなどの具体的装置のアクション又は処理を指すことを理解されたい。本明細書の文脈では、したがって、専用コンピュータ又は同様の専用電子コンピューティングデバイスは、典型的には、メモリ、レジスタ、又は他の情報ストレージデバイス、伝送デバイス、又は専用コンピュータ又は同様の専用電子コンピューティングデバイスのディスプレイデバイス内の物理的電子又は磁気量として表される信号を操作又は変換することができる。
本明細書で使用される場合、「及び」、「又は」、及び「及び/又は」という用語は、少なくとも部分的に、そのような用語が使用される文脈にもまた依存することが予期される、様々な意味を含み得る。典型的には、「又は」は、A、B、又はCなどのリストに関連して使用される場合、包含的意味で使用されるとA、B、及びC、そして排他的意味で使用されるとA、B、又はCを意味するように意図される。加えて、本明細書で使用される場合、「1つ又は複数の」という用語は、単数形における任意の特徴、構造、又は特性を説明するために使用され得る、或いは複数の特徴、構造、若しくは特性又は特徴、構造、若しくは特性の何らかの他の組み合わせを説明するために使用され得る。ただし、これは単に例示的例であって、特許請求の範囲に記載の主題はこの例に限定されないことに留意されたい。
例示的特徴であると現在考えられるものを図示及び説明したが、特許請求の範囲に記載の主題から逸脱することなく、様々な他の修正を行うことができ、均等物を代わりに用いることができることが当業者には理解されよう。加えて、本明細書で説明される中心概念から逸脱することなく、特定の状況を特許請求の範囲に記載の主題の教示に適合するように多くの修正を行うことができる。したがって、特許請求の範囲に記載の主題は、開示される特定の例に限定されず、そのような特許請求の範囲に記載の主題はまた、添付の特許請求の範囲及びその均等物の範囲内に含まれるすべての態様を含み得ることが意図される。

Claims (20)

  1. マルチコーデックエンコーディングラダーを作成するための方法であって、
    コンピュータシステムによって、ビデオを含むソースコンテンツを取得するステップと、
    前記ソースコンテンツのためのエンコーディングラダーを生成するステップであって、
    前記エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、前記ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含み、
    前記エンコーディングラダーが、
    Figure 2022518234000137
    及び
    Figure 2022518234000138
    の個々のビットレート並びに
    Figure 2022518234000139
    及び
    Figure 2022518234000140
    の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
    Figure 2022518234000141
    のビットレート及び
    Figure 2022518234000142
    の品質値を有する、第2のコーデックの第3のビデオストリームと
    を含み、
    Figure 2022518234000143
    且つ
    Figure 2022518234000144
    である、前記生成するステップとを含む、方法。
  2. 前記複数のコーデックの各コーデックについて、前記ソースコンテンツのビットレートと品質値との間の関係を示す、前記ソースコンテンツのための前記個々のコーデックの品質レート関数を取得することを更に含み、
    前記ソースコンテンツのための前記エンコーディングラダーを生成することが、前記個々のコーデックの前記品質レート関数に基づき、
    Figure 2022518234000145
    及び
    Figure 2022518234000146
    が前記第1のコーデックの前記品質レート関数を用いて決定され、
    Figure 2022518234000147
    が前記第2のコーデックの前記品質レート関数を用いて決定される、請求項1に記載の方法。
  3. 前記複数のコーデックの各コーデックの前記品質レート関数が、前記複数のコーデックの各コーデックにおける前記ソースコンテンツの1つ又は複数のプローブエンコーディングから決定される、請求項2に記載の方法。
  4. 前記エンコーディングラダーが、
    ネットワーク帯域幅分布と、
    前記エンコーディングラダーを用いて前記ソースコンテンツがエンコードされると、前記ソースコンテンツをストリーミングすることができるクライアントの分布であって、クライアントの前記分布が、前記第1のコーデックと前記第2のコーデックとの間で切り替えを行うことができるクライアントを含む、前記クライアントの分布と
    に更に基づく、請求項2に記載の方法。
  5. 前記エンコーディングラダーを生成することが、反復プロセスを用いて前記複数のビデオストリームを決定することを含み、前記反復プロセスにおいて、初期の数が選択され、
    (1)前記選択された数に対するフィギュアオブメリット関数を決定するステップと、
    (2)次の反復のために、前記選択された数の値を増やすステップと
    が、前記フィギュアオブメリット関数が最大値に到達するまで、繰り返される、請求項4に記載の方法。
  6. 前記フィギュアオブメリット関数が、
    前記複数のコーデックの各コーデックの前記品質レート関数、
    前記ネットワーク帯域幅分布、若しくは
    クライアントタイプの前記分布、又は
    これらの任意の組み合わせ
    に基づく、請求項5に記載の方法。
  7. 前記ネットワーク帯域幅分布が、
    デバイスタイプ、
    コンテンツ配信ネットワーク(CDN)、若しくは
    配信領域、又は
    これらの任意の組み合わせ
    に関する収集された帯域幅統計値に基づいて決定された確率密度関数を含む、請求項4に記載の方法。
  8. 前記複数のビデオストリームの各ビデオストリームの前記ビットレート及び対応する品質値が、前記エンコーディングラダー内で単調増加する、請求項1に記載の方法。
  9. Figure 2022518234000148

    Figure 2022518234000149

    若しくは
    Figure 2022518234000150

    又はこれらの任意の組み合わせが、
    構造的類似性指数指標(SSIM)値、
    ピーク信号対雑音比(PSNR)値、
    マルチスケールSSIM(MS-SSIM)値、又は
    ビデオマルチメソッドアセスメントフュージョン(VMAF)値
    をそれぞれ含む、請求項1に記載の方法。
  10. 前記エンコーディングラダーの各ストリームについて、
    前記それぞれのストリームの前記コーデック及び前記ビットレートを用いて前記ソースコンテンツをエンコードすることにより、それぞれのエンコードされたコンテンツを作成するステップと、
    それぞれのエンコードされたコンテンツを格納するステップと
    を更に含む、請求項1に記載の方法。
  11. マルチコーデックエンコーディングラダーを作成するためのコンピュータシステムであって、
    メモリと、
    前記メモリに通信可能に結合された1つ又は複数の処理ユニットとを備え、前記1つ又は複数の処理ユニットが、
    ビデオを含むソースコンテンツを取得し、
    前記ソースコンテンツのためのエンコーディングラダーを生成し、
    前記エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、前記ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含み、
    前記エンコーディングラダーが、
    Figure 2022518234000151
    及び
    Figure 2022518234000152
    の個々のビットレート並びに
    Figure 2022518234000153
    及び
    Figure 2022518234000154
    の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
    Figure 2022518234000155
    のビットレート及び
    Figure 2022518234000156
    の品質値を有する、第2のコーデックの第3のビデオストリームと
    を含み、
    Figure 2022518234000157
    且つ
    Figure 2022518234000158
    であるように構成される、コンピュータシステム。
  12. 前記1つ又は複数の処理ユニットが、
    前記複数のコーデックの各コーデックについて、前記ソースコンテンツのビットレートと品質値との間の関係を示す、前記ソースコンテンツのための前記個々のコーデックの品質レート関数を取得し、
    前記個々のコーデックの前記品質レート関数に基づいて、前記ソースコンテンツのための前記エンコーディングラダーを生成し、
    前記第1のコーデックの前記品質レート関数を用いて
    Figure 2022518234000159
    及び
    Figure 2022518234000160
    を決定し、
    前記第2のコーデックの前記品質レート関数を用いて
    Figure 2022518234000161
    を決定する、
    ように更に構成される、請求項11に記載のコンピュータシステム。
  13. 前記1つ又は複数の処理ユニットが、前記複数のコーデックの各コーデックにおける前記ソースコンテンツの1つ又は複数のプローブエンコーディングから、前記複数のコーデックの各コーデックの前記品質レート関数を決定するように更に構成される、請求項12に記載のコンピュータシステム。
  14. 前記1つ又は複数の処理ユニットが、
    ネットワーク帯域幅分布と、
    前記エンコーディングラダーを用いて前記ソースコンテンツがエンコードされると、前記ソースコンテンツをストリーミングすることができるクライアントの分布であって、クライアントの前記分布が、前記第1のコーデックと前記第2のコーデックとの間で切り替えを行うことができるクライアントを含む、前記クライアントの分布と
    に更に基づいて、ソースのための前記エンコーディングラダーを生成するように更に構成される、請求項12に記載のコンピュータシステム。
  15. 前記エンコーディングラダーを生成するために、前記1つ又は複数の処理ユニットが、反復プロセスを用いて前記複数のビデオストリームを決定するように構成され、前記反復プロセスにおいて、初期の数が選択され、
    (1)前記選択された数に対するフィギュアオブメリット関数を決定するステップと、
    (2)次の反復のために、前記選択された数の値を増やすステップと
    が、前記フィギュアオブメリット関数が最大値に到達するまで、繰り返される、請求項14に記載のコンピュータシステム。
  16. 前記フィギュアオブメリット関数が、
    前記複数のコーデックの各コーデックの前記品質レート関数、
    前記ネットワーク帯域幅分布、若しくは
    クライアントタイプの前記分布、又は
    これらの任意の組み合わせ
    に基づくように前記1つ又は複数の処理ユニットが更に構成される、請求項15に記載のコンピュータシステム。
  17. 前記1つ又は複数の処理ユニットが、
    デバイスタイプ、
    コンテンツ配信ネットワーク(CDN)、若しくは
    配信領域、又は
    これらの任意の組み合わせ
    に関する収集された帯域幅統計値に基づいて前記ネットワーク帯域幅分布を決定するように更に構成される、請求項14に記載のコンピュータシステム。
  18. 前記1つ又は複数の処理ユニットが、前記複数のビデオストリームの各ビデオストリームのビットレート及び対応する品質値が前記エンコーディングラダー内で単調増加するように、ソースのための前記エンコーディングラダーを生成するように構成される、請求項11に記載のコンピュータシステム。
  19. 前記1つ又は複数の処理ユニットが、
    構造的類似性指標(SSIM)値、
    ピーク信号対雑音比(PSNR値)、
    マルチスケールSSIM(MS-SSIM)値、又は
    ビデオマルチメソッドアセスメントフュージョン(VMAF)値
    に基づいて、
    Figure 2022518234000162

    Figure 2022518234000163

    若しくは
    Figure 2022518234000164

    又はこれらの任意の組み合わせを決定するように構成される、請求項11に記載のコンピュータシステム。
  20. マルチコーデックエンコーディングラダーを作成するための命令を内部に格納した非一時的コンピュータ可読媒体であって、前記命令が、1つ又は複数の処理ユニットによって実行されると、前記1つ又は複数の処理ユニットに、
    ビデオを含むソースコンテンツを取得させ、
    前記ソースコンテンツのためのエンコーディングラダーを生成させ、
    前記エンコーディングラダーによって定義される複数のビデオストリームの各ビデオストリームが、前記ソースコンテンツをエンコードするための個々のビットレート及び複数のコーデックの個々のコーデックを含み、
    前記エンコーディングラダーが、
    Figure 2022518234000165
    及び
    Figure 2022518234000166
    の個々のビットレート並びに
    Figure 2022518234000167
    及び
    Figure 2022518234000168
    の個々の品質値を有する、第1のコーデックの第1のビデオストリーム及び第2のビデオストリームと、
    Figure 2022518234000169
    のビットレート及び
    Figure 2022518234000170
    の品質値を有する、第2のコーデックの第3のビデオストリームと
    を含み、
    Figure 2022518234000171
    且つ
    Figure 2022518234000172
    である、非一時的コンピュータ可読媒体。
JP2021541591A 2019-01-17 2020-01-17 最適なマルチコーデックabrラダー設計 Active JP7549581B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962793577P 2019-01-17 2019-01-17
US62/793,577 2019-01-17
PCT/US2020/014169 WO2020150654A1 (en) 2019-01-17 2020-01-17 Optimal multi-codec abr ladder design

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024148152A Division JP2024159943A (ja) 2019-01-17 2024-08-30 最適なマルチコーデックabrラダー設計

Publications (2)

Publication Number Publication Date
JP2022518234A true JP2022518234A (ja) 2022-03-14
JP7549581B2 JP7549581B2 (ja) 2024-09-11

Family

ID=71609289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021541591A Active JP7549581B2 (ja) 2019-01-17 2020-01-17 最適なマルチコーデックabrラダー設計

Country Status (6)

Country Link
US (2) US11153582B2 (ja)
JP (1) JP7549581B2 (ja)
AU (1) AU2020208640A1 (ja)
CA (1) CA3125632A1 (ja)
GB (1) GB2599206B (ja)
WO (1) WO2020150654A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11272192B2 (en) * 2019-03-04 2022-03-08 Comcast Cable Communications, Llc Scene classification and learning for video compression
FR3106029A1 (fr) * 2020-01-02 2021-07-09 Orange Procédé de gestion d’un téléchargement progressif et adaptatif d’un contenu numérique par un terminal lecteur de flux multimédia connecté à un réseau de communication, dispositif de gestion, terminal lecteur de flux multimédia et programme d’ordinateur correspondants.
US11425184B2 (en) * 2020-04-21 2022-08-23 Google Llc Initial bitrate for real time communication
US11277620B1 (en) * 2020-10-30 2022-03-15 Hulu, LLC Adaptive transcoding of profile ladder for videos
US11665374B1 (en) * 2021-08-02 2023-05-30 Amazon Technologies, Inc. Dynamic compute allocation in multiple-bitrate live video
US11616993B1 (en) * 2021-10-22 2023-03-28 Hulu, LLC Dyanamic parameter adjustment for adaptive bitrate algorithm

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130268961A1 (en) * 2012-04-06 2013-10-10 Wilfred Jaime Miles Variability in available levels of quality of encoded content
JP2018513604A (ja) * 2015-03-30 2018-05-24 ネットフリックス・インコーポレイテッドNetflix, Inc. 符号化中にビットレートおよび解像度を最適化する技術
WO2018102756A2 (en) * 2016-12-01 2018-06-07 Brightcove, Inc. Optimization of encoding profiles for media streaming
WO2018156997A1 (en) * 2017-02-23 2018-08-30 Netflix, Inc. Iterative techniques for encoding video content

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506844A (en) * 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US6002802A (en) * 1995-10-27 1999-12-14 Kabushiki Kaisha Toshiba Video encoding and decoding apparatus
EP1249131B1 (en) * 1999-12-22 2004-03-17 General Instrument Corporation Video compression for multicast environments using spatial scalability and simulcast coding
US6810083B2 (en) * 2001-11-16 2004-10-26 Koninklijke Philips Electronics N.V. Method and system for estimating objective quality of compressed video data
US7092448B2 (en) * 2002-05-24 2006-08-15 Koninklijke Philips Electronics N.V. Method and system for estimating no-reference objective quality of video data
US7352809B2 (en) * 2003-02-21 2008-04-01 Polycom, Inc. System and method for optimal transmission of a multitude of video pictures to one or more destinations
NO320115B1 (no) * 2004-02-13 2005-10-24 Tandberg Telecom As Anordning og fremgangsmate for a generere CP-bilder.
TWI364220B (en) * 2008-08-15 2012-05-11 Acer Inc A video processing method and a video system
US8238444B2 (en) * 2009-12-15 2012-08-07 National Taiwan University Perceptual-based video coding method
US8537900B2 (en) * 2010-10-04 2013-09-17 Vidyo, Inc. Automatic temporal layer bit allocation
US9246842B2 (en) * 2012-04-27 2016-01-26 Intel Corporation QoE-aware radio access network architecture for http-based video streaming
KR101757994B1 (ko) * 2012-07-10 2017-07-13 브이아이디 스케일, 인크. 품질 주도형 스트리밍
US9510006B2 (en) * 2013-05-03 2016-11-29 Empire Technology Development Llc Scalable video coding prioritization
KR20160048199A (ko) 2013-08-29 2016-05-03 브이아이디 스케일, 인크. 사용자 적응 영상 통화
US9591316B2 (en) * 2014-03-27 2017-03-07 Intel IP Corporation Scalable video encoding rate adaptation based on perceived quality
US9894130B2 (en) * 2014-09-23 2018-02-13 Intel Corporation Video quality enhancement
KR101832418B1 (ko) * 2015-12-31 2018-02-26 네이버 주식회사 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템
WO2017123071A1 (en) * 2016-01-14 2017-07-20 Samsung Electronics Co., Ltd. A mobile device and a method for texture memory optimization thereof
EP3495994A1 (en) * 2017-12-05 2019-06-12 Tata Consultancy Services Limited Face video based heart rate monitoring using pulse signal modelling and tracking
US11064203B2 (en) * 2018-03-12 2021-07-13 Nvidia Corporation SSIM-based rate distortion optimization for improved video perceptual quality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130268961A1 (en) * 2012-04-06 2013-10-10 Wilfred Jaime Miles Variability in available levels of quality of encoded content
JP2018513604A (ja) * 2015-03-30 2018-05-24 ネットフリックス・インコーポレイテッドNetflix, Inc. 符号化中にビットレートおよび解像度を最適化する技術
WO2018102756A2 (en) * 2016-12-01 2018-06-07 Brightcove, Inc. Optimization of encoding profiles for media streaming
WO2018156997A1 (en) * 2017-02-23 2018-08-30 Netflix, Inc. Iterative techniques for encoding video content

Also Published As

Publication number Publication date
GB2599206A (en) 2022-03-30
CA3125632A1 (en) 2020-07-23
US20220070479A1 (en) 2022-03-03
US20200236372A1 (en) 2020-07-23
JP7549581B2 (ja) 2024-09-11
GB2599206B (en) 2023-05-10
US11706427B2 (en) 2023-07-18
WO2020150654A1 (en) 2020-07-23
US11153582B2 (en) 2021-10-19
GB202110773D0 (en) 2021-09-08
AU2020208640A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
JP2022518234A (ja) 最適なマルチコーデックabrラダー設計
US10779007B2 (en) Transform coding of video data
TWI511544B (zh) 用於可調適視訊串流之技術
US9357248B2 (en) Method and apparatus for adaptive bit rate content delivery
TW525387B (en) Frame-level rate control for plug-in video codecs
Reznik et al. Optimal design of encoding profiles for ABR streaming
US10616590B1 (en) Optimizing streaming video encoding profiles
JP6881819B2 (ja) ビデオトランスコーディング方法、コンピューター機器、及び記憶媒体
CN101375604A (zh) 用于编码装置内的速率控制的方法及系统
US20210329274A1 (en) Adaptive video quality
CN103493481A (zh) 基于场景的适应性比特率控制
US20150172680A1 (en) Producing an Output Need Parameter for an Encoder
CN104159109A (zh) 基于vbr视频编码的码率控制方法及系统
CN107005700B (zh) 用于组成中间视频表示的方法
US11477461B2 (en) Optimized multipass encoding
WO2016134343A1 (en) Encoding/transcoding based on subjective video quality preferences
KR101583896B1 (ko) 비디오 부호화 방법 및 장치
JP2024159943A (ja) 最適なマルチコーデックabrラダー設計
EP3058658B1 (en) Cloud encoding system
US10958945B2 (en) Elementary module of a system for distributing an audiovisual content
CN110022479A (zh) 一种基于Nvidia Maxwell2显卡的H265硬件编码方法及直播平台
JP7310212B2 (ja) データ中継装置、データ中継方法及びプログラム
CN113949871A (zh) 一种视频编码方法及装置
CN117714729A (zh) 直播视频编码方法、装置、计算机设备及存储介质
US9854260B2 (en) Key frame aligned transcoding using key frame list file

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240628

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240830

R150 Certificate of patent or registration of utility model

Ref document number: 7549581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150