JP6703150B2 - ビデオコンテンツの符号化及び配信のための分散アーキテクチャ - Google Patents

ビデオコンテンツの符号化及び配信のための分散アーキテクチャ Download PDF

Info

Publication number
JP6703150B2
JP6703150B2 JP2019010054A JP2019010054A JP6703150B2 JP 6703150 B2 JP6703150 B2 JP 6703150B2 JP 2019010054 A JP2019010054 A JP 2019010054A JP 2019010054 A JP2019010054 A JP 2019010054A JP 6703150 B2 JP6703150 B2 JP 6703150B2
Authority
JP
Japan
Prior art keywords
video
stream
user device
video stream
transcoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019010054A
Other languages
English (en)
Other versions
JP2019075825A (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 JP2019075825A publication Critical patent/JP2019075825A/ja
Application granted granted Critical
Publication of JP6703150B2 publication Critical patent/JP6703150B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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/176Methods 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 block, e.g. a macroblock
    • 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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は一般に、ビデオコンテンツの圧縮及び分散に関し、特にビデオコンテンツを符
号化するための分割アーキテクチャ及び上記分割アーキテクチャで使用するための速度制
御機構に関する。
ビデオストリーミングサービスに対する需要は至る所に存在し、また増大している。従
って、ビデオコンテンツを圧縮して、有線及び/又は無線ネットワークを介して上記ビデ
オコンテンツを配信できる方法に対する需要は増大し続けている。
例えば、無線ネットワークにおけるユーザデバイス(例えば移動体デバイス)へのスト
リーミングビデオサービスの配信に対する需要は大きい。しかしながら、(無線ネットワ
ークの)基地局と移動体デバイスとの間の無線インタフェースは、無線妨害に弱く、RF
伝播品質は、環境内での物体の移動、移動体デバイスの移動、無線トラフィックローディ
ング及び輻輳等によって動的に変化するため、基地局と移動体デバイスとの間のチャネル
状態が変動する。更に、無線ネットワーク内のデータはRFスペクトルを介して伝送され
、これは制限されておりかつコストが高い。チャネル状態が悪く、移動体デバイスのスク
リーンサイズがHDTV未満である場合には、ビットの大半が移動体デバイスにおいて低
下するか又は切り捨てられる可能性が高いため、フリーサイズのビットストリームにおい
て最高解像度かつ高ビットレートで伝送を行う理由はない。RFチャネルの帯域幅制限特
性及びチャネル状態の変動性に適合した様式で、ストリーミングビデオを移動体デバイス
に配信するための機構が必要とされている。
別の例として、メディアプロバイダ及びコンテンツ配信ネットワークが、エンドユーザ
へのビデオコンテンツ配信時に被る負荷の軽減が必要とされている。コンテンツ配信ネッ
トワーク(content delivery network:CDN)は、ビデオコ
ンテンツタイトルをキャッシュして、このコンテンツタイトルを要求に応じてユーザに配
信するサーバを維持できる。しかしながら、ユーザデバイスは一般に、ビデオ処理性能に
関して幅広い異なる構成を有し、例えばピクチャ解像度及びビデオフォーマットに関して
異なる要件を有する。更に、所定のユーザデバイスのための標的ビットレートは、チャネ
ル状態の変化に従って動的に変化し得る。従ってCDNは、所定のコンテンツタイトルの
多数のコピー、即ちユーザデバイス構成と標的ビットレートとの可能な組み合わせそれぞ
れに対して1つのコピーを保持しなければならない(又は上記コピーにアクセスできなけ
ればならない)。その結果、CDNオペレータにとってメモリストレージのコストが問題
となる。更に、ユーザデバイスが所定のコンテンツタイトルを要求し、要求された構成及
びビットレートに適切なコピーがサーバのキャッシュに存在しない場合、中央レポジトリ
から(例えばNetflix又はAmazon等のメディアプロバイダから)上記コピー
をダウンロードしなければならない。コンテンツタイトルとユーザデバイス構成とビット
レートとの組み合わせは極めて多数存在するため、キャッシュミスは頻繁に発生し、従っ
て中央レポジトリ、例えばサーバファームからのダウンロードが頻繁に必要となる。よっ
て、CDNオペレータ及び/又はメディアプロバイダにとってダウンロードトラフィック
のコストが問題となる。以上から、コストパフォーマンスの良い方法でビデオコンテンツ
をユーザに配信できる機構が必要とされている。
ビデオコンテンツは、圧縮ビットストリームの形態で各ユーザに配信される。ビデオエ
ンコーダを使用して、ビデオコンテンツを定義するソースビデオストリームを圧縮する。
ソースビデオシーケンスの動的複雑性を原因として、ビデオエンコーダは典型的には速度
制御を応用する必要がある。換言すると、ビデオエンコーダは、圧縮プロセスを動的に制
御することにより、圧縮ビットストリームの出力ビットレートを制御する必要がある。更
に、ストリーミングビデオサービスに関しては、エンコーダと遠隔デコーダとの間の動的
なネットワーク状態に従って変化する標的ビットレートをサポートするために、速度制御
は適応性のあるものである必要がある。従って、計算効率が高い方法で速度制御を実施で
きるビデオエンコーダ及び/又はトランスコーダが必要とされている。
本明細書において開示するシステム、方法及びアーキテクチャは、幅広い文脈及び用途
において使用できる。
本明細書で開示する実施形態の1つでは、データを符号化して無線ネットワークでユー
ザデバイス(例えば移動体デバイス)にデータを送るために、ネットワークエッジトラン
スコーダを使用してよい。ネットワークエッジトランスコーダは、基地局に又は基地局付
近に配置してよく(例えば基地局に連結してよく)、高品質及び/又は高精細度の第1の
符号化ビデオストリームを、現在供給を受けている移動体デバイスのための第2の符号化
ビデオストリームに(例えばピクチャサイズ、ビデオフォーマット及びビットレート等の
1つ又は複数の因子に関して)信号変換するよう構成してよい。更に、ネットワークエッ
ジトランスコーダは、伝送チャネルの状態の変化、受信したビデオの品質の変化及び/又
は移動体デバイスの構成の変化に応答して、第2の符号化ビデオストリームのビットレー
トを動的に制御するよう構成してよい。このようなカスタマイズ性能及び動的制御性能は
、無線ネットワークに関して経済的に極めて有利である。このようなネットワークエッジ
トランスコーダを使用してユーザビットストリームを「ネットワークの辺縁(the e
dge of the network)」においてカスタマイズするネットワークアー
キテクチャによって、クラウド内のサーバファームに負荷がかかるのを回避する。移動体
デバイスは、基地局に情報(分析)を定期的に送り返すことができ、これにより、ネット
ワークエッジトランスコーダは上記情報に従ってビットストリームをリアルタイムに最適
化し、制限されたRFスペクトルの最適な使用を達成できる。
いくつかの実施形態では、2種類の分析:無線分析及びビデオ分析を基地局に返送して
よい。無線分析及びビデオ分析は、例えばエッジトランスコーダ及び/又は基地局による
効果的な速度制御のために使用できる。無線分析は、移動体デバイスにおける基準信号の
信号強度、電力及び品質を含んでよい。無線分析を使用して、所定のチャネル状態におけ
るユーザデバイスへの確実な伝送のために最適なビットレートを決定できる。(基地局は
、このような測定を容易にするために、移動体デバイスへの伝送に基準信号を埋め込んで
よい。)ビデオ分析は、バッファ占有量状態又はビットストリーム復号化プロセスから検
出された誤差の速度を含んでよい。ビデオ分析を使用して、チャネル状態によって課され
る制約内で最大の配信をユーザに対して行うために必要な、最適な(多くの場合最小の)
ビットレートを決定できる。これらの分析に関わる設計上の制約は、移動体デバイスが上
記分析を生成するために実行する処理の最小化、及び基地局(basestation:
BS)と移動体デバイスとの間の信号伝達帯域幅を節約するための上記分析のデータサイ
ズの最小化を含んでよい。
無線帯域幅の節約に加えて、(全てのビデオコンテンツを保持している)サーバファー
ムからネットワークの辺縁に送信する必要があるデータ量を低減することも望ましい。信
号変換機能をネットワーク辺縁に移動させ、サーバファームのビデオエンコーダをコンテ
ンツタイトルの符号化バージョンの生成に使用することにより、ユーザデバイスにデータ
を配信するために使用される通信媒体が有線方式であるか無線方式であるかに関わらず、
インターネットを介したデータトラフィック量及びクラウドサーバのストレージ要件が低
減される。
上述のように、ネットワークエッジトランスコーダは、符号化ビデオストリームを符号
化し、このストリームを、所定のユーザデバイスの特定の構成のためにカスタマイズする
。符号化ビデオストリームは、ビデオエンコーダによってソースビデオストリームから生
成される。ビデオエンコーダはまた、符号化ビデオストリームをユーザデバイスのために
信号変換する動作においてネットワークエッジトランスコーダにかかる負荷を緩和する、
副次的情報も生成できる。この副次的情報は、符号化ビデオストリームと共にネットワー
クエッジトランスコーダに伝送できる(又は利用可能とすることができる)。
本明細書で開示する実施形態の1つでは、ビデオエンコーダは、デジタル回路構成及び
伝送回路構成を含んでよい。
デジタル回路構成は、入力されるビデオストリームの各ブロックに対して、以下を含む
操作を実施するよう構成できる:(a)多数のコード化モードにそれぞれ対応する多数の
予測残差を受信する操作;(b)予測残差を変換して、各コード化モードに対する変換ブ
ロックをそれぞれ得る操作;(c)各コード化モードMkに関して、量子化ステップ幅q
の1つ又は複数の値それぞれを用いて、コード化モードMkに対する上記変換ブロックを
量子化して、変換ブロックの1つ又は複数の量子化バージョンを得、上記変換ブロックの
1つ又は複数の量子化バージョンを含むデータの集合を処理して、コード化モードMk
関する速度推定関数Rk(q)の特徴を決定する一次速度モデル化データを得る操作。
伝送回路構成は、通信媒体に副次的情報ストリームを伝送するよう構成でき、この副次
的情報ストリームは、各コード化モード及び各ブロックに関する一次モデル化データを含
む。
本明細書で開示する実施形態の別の1つでは、ビデオ信号変換システムは、デコーダ、
スケーリング部及び出力エンコーダを含んでよい。
デコーダは、第1の符号化ビデオストリームを受信及び復号化することで、復号化ビデ
オストリームを得るよう構成できる。
スケーリング部は、復号化ビデオストリームを標的ピクチャ解像度にスケーリングして
、スケーリング済みビデオストリームを得るよう構成できる。
出力エンコーダは、第1の符号化ビデオストリームに関連する副次的情報ストリームを
受信し、この副次的情報ストリームを用いてスケーリング済みビデオストリームを符号化
して、第2の符号化ビデオストリームを得るよう構成できる。
第1の符号化ビデオストリームは、ソースビデオストリームを符号化したバージョンで
あると解釈してよい。副次的情報ストリームは、ソースビデオストリームの特性を決定す
るメタデータを含んでよい。例えば副次的情報ストリームは、ソースビデオストリーム内
のブロックの速度及び/又は歪み特性を決定する情報を含んでよい。別の例として、副次
的情報ストリームは、ソースビデオストリーム内のブロックに関する運動ベクトルを含ん
でよい。副次的情報ストリームを出力エンコーダが使用することで、最適な(又は最適に
近い)コード化決定、例えば所定のブロックに対して使用するコード化モード、又は所定
のブロックに対して使用する量子化ステップ幅の値、又は所定のブロックに対して最適な
インタ予測を得られる可能性が高い1つ若しくは複数の運動ベクトルの決定を、計算効率
が高い方法で行うことができる。
いくつかの実施形態では、副次的情報ストリームはN個のコード化モードそれぞれに対
応するN個の速度情報ストリームを含み、ここでNは1以上であり、N個の速度情報スト
リームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック予測を
推測する、第1の符号化ビデオストリームのブロック毎の対応する速度推定関数Rk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
本明細書で開示する実施形態の更に別の1つでは、システムはキャッシュ、多数のビデ
オトランスコーダデバイス、コントローラを含んでよい。
キャッシュは、第1のビデオコンテンツ項目を含むビデオコンテンツ項目の集合を記憶
し、ここで各ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副
次的情報ストリームを含み、各ビデオコンテンツ項目の副次的情報ストリームは、1つ又
は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、
上記1つ又は複数の速度情報ストリームの各速度情報ストリームRISkは、各コード化
モードに基づいてブロック予測を推測する、第1の符号化ビデオストリームのブロック毎
の対応する速度推定関数Rk(q)の特徴を決定し、ここでqは量子化ステップ幅である
コントローラは、第1のビデオコンテンツ項目に対する複数のユーザデバイスそれぞれ
からの複数のコンテンツ要求それぞれに応答して、各ユーザデバイスへの配信を行うため
に、複数のビデオトランスコーダデバイスのうち使用可能な1つを割り当てるよう構成し
てよく、ここでユーザデバイスはそれぞれ、異なる構成のビデオ処理能力(video
processing capability:VPC)を有する。
割り当てられた各ビデオトランスコーダデバイスは:(a)キャッシュから、第1のコ
ンテンツ項目の符号化ビデオストリーム及び副次的情報ストリームを受信し;(b)副次
的情報ストリームを用い、各ユーザデバイスのVPC構成に応じて符号化ビデオストリー
ムを信号変換し、各標的符号化ビデオストリームを得て;(c)各標的符号化ビデオスト
リームを、通信媒体を介して各ユーザデバイスに伝送するよう構成してよい。
以上の及びその他の特徴及び利点は、本明細書で提示するアプローチに関する以下の詳
細な説明を参照することにより、当業者には明らかとなるであろう。
以下の詳細な説明を添付の図面との関連で考察すると、本発明のより良好な理解が得ら
れる。
図1は、ビデオコンテンツをユーザデバイスに配信するためのシステム100の一実施形態を示す。 図2は、ビデオコンテンツをユーザデバイスに配信するためのシステム200の一実施形態を示す。 図3は、ビデオコンテンツをユーザデバイスに配信するためのシステム300のある実施形態を示す。 図4は、ネットワークエッジトランスコーダデバイスの一実施形態を示す。 図5はビデオコンテンツをユーザデバイスに配信するための、メザニンエンコーダ510及びネットワークエッジトランスコーダ520を伴うアーキテクチャ500の一実施形態を示す。 図6は、アーキテクチャ500の別の実施形態を示し、ここではメザニンエンコーダ510は副次的情報ストリーム及びメザニンビットストリームを生成する。ネットワークエッジトランスコーダ520は符号化プロセスにおいて上記副次的情報ストリームを使用する。 図7は、ビデオエンコーダ700の一実施形態を示す。 図7Bは、速度推定関数を生成するプロセスの一例を示す。 図7Cは、速度推定関数を決定する際に使用されるパラメータを計算するための方法750を示す。 図7Dは、歪み推定関数を生成するプロセスの一例を示す。 図8は、一次歪みモデル化データ及び一次速度モデル化データを生成するビデオエンコーダ700のある実施形態を示す。 図9は、速度モデル化データ915を生成するビデオエンコーダ900のある実施形態を示す。 図10は、ビデオトランスコーダシステム1000の一実施形態を示す。 図11は、ピクチャレベルにおいて速度対λ関数を計算するための方法1100の一実施形態を示す。 図12は、一連の実施形態による、統合型エンコーダ又はネットワークエッジトランスコーダの後半部分を示す。 図13は、ビデオエンコーダの前半部分の一実施形態を示す。 図14は、量子化ステップ幅の関数としての、費用関数J=λR+Dの一例を示す。 図15は、速度の関数としての歪みの一例を示す。 図16は、実際のピクチャサイズに基づくバッファモデル更新プロセスの実施形態を示す。 図17は、実際のピクチャサイズ及び暫定ピクチャサイズに基づくバッファモデル更新プロセスの実施形態を示す。
本発明は様々な修正及び代替形態を許容するものであるが、その具体的な実施形態を例
として図面に示し、また本明細書で詳細に説明する。しかしながら、上記具体的実施形態
の図及び詳細な説明は、本明細書に開示する特定の形態に本発明を限定することを意図し
たものではなく、反対に、添付の請求項によって定義されるような本発明の精神及び範囲
内にある全ての修正例、均等物及び代替例を包含することを意図したものであることを理
解されたい。
参照による援用
以下の参考文献は、その全体を参照することにより、本明細書においてその全体が完全
に論述されているかのように、本明細書に援用されるものとする:
米国仮特許出願第61/658761号(2012年6月12日出願、発明の名称「R
ate Control for Video Compression」);
米国特許第7415594号(2008年8月19日公表、発明の名称「Proces
sing System With Interspersed Stall Prop
agating Processors and Communication Ele
ments」);
米国特許第8151305号(2012年4月3日公表、発明の名称「Mobile
Television Broadcast System」);
Gary J.Sullivan及びThomas Wiegand「Rate−di
stortion optimization for video compress
ion」IEEE Signal Processing Magazine、1998
年11月、74〜90ページ;
Xiang Liら「Laplace distribution−based La
grangian rate distortion optimization fo
r Hybrid Video Coding」IEEE Trans.Circuit
s and Systems for Video Technology、vol.1
9、no.2、193〜205ページ。
技術参考資料
J.Choi及びD.Park「A stable feedback contro
l of the buffer state using the controll
ed Lagrange multiplier method」IEEE Trans
.Image Processing、vol.3、no.5、546−558ページ、
1994年9月;
K.−P.Lim、G.Sullivan、T.Wiegand「Text desc
ription of joint model reference encodin
g methods and decoding concealment metho
ds」Joint Video Team of ISO/IEC MPEG and
ITU−T VCEG Document、JVT−X101、ジュネーブ、2007年
6月;
Loren Merritt及びRahul Vanam「Improved rat
e control and Motion Estimation for H.26
4 Encoder」Image Processing、2007年、ICIP200
7、Vol.5、V−309〜V−312ページ;
Thomas Wiegand、Michael Lightstone、Debar
gha Mukherjee、T.George Campbell、Sanjit K
.Mitra「Rate−Distortion Optimized Mode Se
lection for Very Low Bit Rate Video Codi
ng and the Emerging H.263 Standard」Circu
its and Systems for Video Technology、IEE
E Transactions on(Volume:6、Issue:2)、1996
年4月、182〜190ページ;
Liang−jin Lin、Antonio Ortega「Bit−Rate C
ontrol Using Piecewise Approximated Rate
−Distortion Characteristics」Circuits and
Systems for Video Technology、IEEE Trans
actions on(Volume:8、Issue:4)、1996年8月、446
〜459ページ;
L−J Lin、A Ortega、C−C J Kuo「A gradient−b
ased rate control algorithm with applica
tions to MPEG video」Image Processing、199
5年、Proceedings.、International Conference
on(Volume:3)、ワシントンDC、1995年10月23〜26日、392
〜395ページ。
用語法
以下は、本出願で使用する用語の解説である。
メモリ媒体:いずれの様々な種類のメモリデバイス又はストレージデバイス。用語「メ
モリ媒体」は、インストール媒体(例えばCD−ROM、フロッピー(登録商標)ディス
ク104若しくはテープデバイス);コンピュータシステムメモリ若しくはDRAM、D
DR、RAM、SRAM、EDO RAM、ラムバスRAM等のランダムアクセスメモリ
;フラッシュ、磁気メディア(例えばハードドライブ)若しくは光学ストレージ等の不揮
発性メモリ;レジスタ、又はその他の同様のタイプのメモリ要素等を含むことを意図して
いる。メモリ媒体はその他のタイプのメモリ又はその組み合わせも同様に含んでよい。更
に、メモリ媒体は、プログラムを実行する第1のコンピュータ内に配置してよく、又はイ
ンターネット等のネットワークを介して第1のコンピュータに接続された第2の異なるコ
ンピュータ内に配置してよい。後者の場合、第2のコンピュータは第1のコンピュータに
、実行のためのプログラム命令を提供してよい。用語「メモリ媒体」は、異なる位置、例
えばネットワークを介して接続された異なるコンピュータ内にあってよい2つ以上のメモ
リ媒体を含んでよい。
プログラマブルハードウェア要素:これは、プログラマブル相互接続を介して接続され
た複数のプログラマブル機能ブロックを備える、様々なハードウェアデバイスを含む。例
としては、FPGA(フィールド、プログラマブルゲートアレイ)、PLD(プログラマ
ブルロジックデバイス)、FPOA(フィールドプログラマブルオブジェクトアレイ)及
びCPLD(複合PLD)が挙げられる。プログラマブル機能ブロックは、細粒度(例え
ば組み合わせ論理又はルックアップテーブル)から粗粒度(演算処理装置又はプロセッサ
コア)に及ぶ範囲のものであってよい。プログラマブルハードウェア要素は「再構成可能
論理」と呼んでもよい。
ソフトウェアプログラム:用語「ソフトウェアプログラム」は、その通常の意味全体を
含むことを意図したものであり、いずれのタイプのプログラム命令、コード、スクリプト
及び/若しくはデータ又はこれらの組み合わせを含み、これらはメモリ媒体に記憶でき、
プロセッサによって実行できる。例示的なソフトウェアプログラムは:C、C++、PA
SCAL、FORTRAN、COBOL、JAVA(登録商標)、アセンブリ言語等のテ
キストベースプログラミング言語で書かれたプログラム;グラフィカルプログラム(グラ
フィカルプログラミング言語で書かれたプログラム);アセンブリ言語プログラム;機械
言語にコンパイルされたプログラム;及びその他のタイプの実行可能なプログラムを含む
。ソフトウェアプログラムは、何らかの方法で連携した2つ以上のソフトウェアプログラ
ムを含んでよい。本明細書に記載の様々な実施形態は、コンピュータ又はソフトウェアプ
ログラムによって実装できることに留意されたい。ソフトウェアプログラムは、プログラ
ム命令としてメモリ媒体に記憶させることができる。
ハードウェア構成プログラム:プログラマブルハードウェア要素をプログラム又は構成
するために使用できるプログラム(例えばネットリスト又はビットファイル)。
プログラム:用語「プログラム」は、その通常の意味全体を含むことを意図したもので
ある。用語「プログラム」は:1)メモリに記憶させることができ、プロセッサが実行可
能なソフトウェアプログラム;又は2)プログラマブルハードウェア要素を構成するため
に使用可能なハードウェア構成プログラムを含む。
コンピュータシステム:パーソナルコンピュータシステム(PC)、メインフレームコ
ンピュータシステム、ワークステーション、ネットワーク家電、インターネット家電、パ
ーソナルデジタルアシスタント(PDA)、テレビジョンシステム、グリッドコンピュー
ティングシステム若しくはその他のデバイス又はデバイスの組み合わせを含む、様々なタ
イプの計算又は処理システムのいずれか。一般に、用語「コンピュータシステム」は、メ
モリ媒体からの命令を実行する少なくとも1つのプロセッサを有するいずれのデバイス(
又は複数のデバイスの組み合わせ)を包含するものとして広く定義できる。
自動的に(automatically):その動作又は操作を直接指定又は実施する
ユーザ入力を必要とせずに、コンピュータシステムが実施する動作又は操作(例えばコン
ピュータシステムが実行するソフトウェア)について用いる。従って用語「自動的に」は
、ユーザが手動で実施又は指定する操作(ここでユーザが操作を直接実施するために入力
を提供する)と対照的なものである。自動処理は、ユーザが提供する入力によって開始さ
れる場合があるが、これに続く「自動的に」実施される動作は、ユーザが指定するもので
はなく、即ち「手動で」実施される(ユーザが各動作の実施を指定する)ものではない。
例えばユーザが、各フィールドを選択し、(例えば情報をタイピングすることによって、
チェックボックスを選択することによって、無線選択によって等で)情報を指定する入力
を提供することによって、電子フォームを埋める場合、仮にコンピュータシステムがユー
ザの動作に応答して上記フォームを更新しなければならないとしても、これは上記フォー
ムを手動で埋めたことになる。このようなフォームはコンピュータシステムによって自動
で埋めることができ、この場合コンピュータシステム(例えばコンピュータシステム上で
実行されるソフトウェア)は、フォームのフィールドを分析して、フィールドへの回答を
指定するいずれのユーザ入力を必要とせずにフォームを埋める。上述のように、ユーザは
フォームを自動で埋める動作を発動する場合はあるが、実際にフォームを埋める動作には
関わらない(例えばユーザはフィールドへの回答を手動で指定せず、回答は自動的に完了
する)。本明細書は、ユーザが行う動作に応答して自動的に実施される操作の様々な例を
提供する。
ブロック:ピクチャのコード化単位。例えばAVC/H.264ではブロックはマクロ
ブロックとして理解できる。別の例としてHEVC/H.265では、ブロックはコード
化ツリー単位(Coding Tree Unit:CTU)として理解できる。
速度:ピクチャの最終的なビットストリームにおけるブロック又はピクチャと関連する
、ビット数。
歪み:これは、(DCT、量子化、逆量子化、逆DCT後の)再構成画像ブロックとソ
ース画像ブロックとの間の二乗誤差の和(sum of square error:S
SE)として理解できる。SSE以外の歪み測定法も同様に使用できる。
残差ブロック:予測ブロックとソース画像ブロックとの間の差のブロック。
以下の説明では、多数の具体的な詳細を記述することにより、本明細書で提示する方法
及び機構の完全な理解を提供する。しかしながら、これら様々な実施形態は上記具体的詳
細を用いずに実現可能であることを当業者は認識されたい。いくつかの例では、本明細書
に記載のアプローチを不明瞭にするのを回避するため、公知の構造、構成部品、信号及び
技術については詳細に示さなかった。説明を簡潔かつ明瞭なものとするために、図面に示
した要素は必ずしも正確な縮尺ではないことを理解されたい。例えばこれら要素のうちの
いくつかの寸法は、他の要素に対して拡大されている場合がある。
システム100
ある一連の実施形態では、システム100は図1に示すように構成できる。システム1
00は、幅広い文脈及び用途において使用できる。ある1つの応用例では、システム10
0を、コンテンツ配信ネットワーク(content delivery networ
k:CDN)の一部として使用できる。システム100は、メモリ110、1つ又は複数
のビデオトランスコーダデバイスVTD1、VTD2、…VTDNdの集合120、及びコン
トローラ130を含む。Ndは、上記1つ又は複数のビデオトランスコーダデバイスの個
数を表す。(システム100は、上述の、及び図2〜17に関連して以下に述べる特徴、
要素及び実施形態のいずれのサブセットも含んでよい。)上記1つ又は複数のビデオトラ
ンスコーダデバイスは、以下で様々に説明されるように構成できる。
いくつかの実施形態では、メモリ、1つ又は複数のビデオトランスコーダデバイス、コ
ントローラは、地理的に分散させてよい。例えば一実施形態では、メモリをある地理的位
置に配置してよく、その一方で1つ又は複数のビデオトランスコーダデバイスは別の地理
的位置にある。この実施形態では、コントローラは1つ若しくは複数のビデオトランスコ
ーダデバイスと同一の位置に配置でき、あるいはメモリと同一の位置に配置でき、別の代
替例としては上記2つの位置の間を分割でき、更に別の代替例としては第3の地理的位置
に配置できる。
いくつかの実施形態では、メモリ、1つ又は複数のビデオトランスコーダデバイス、コ
ントローラは地理的に同じ位置に配置される。例えばこれらの要素を、同一のボックス若
しくはシャーシ若しくは電子部品ラック内に構成でき、又は同一のサーバファームの一部
として構成でき、又は同一の電子部品基板の一部として構成でき、又は同一の集積回路の
一部として構成できる。
いくつかの実施形態では、1つ若しくは複数のビデオトランスコーダデバイス及び/又
はコントローラは、無線ネットワークの基地局に、又はその付近に配置してよい(例えば
連結してよい、又は一部として組み込んでよい)。各ビデオトランスコーダデバイスは、
基地局の付近(例えばセル)の複数のユーザデバイスそれぞれに対してカスタマイズされ
たユーザビットストリームを生成できる。基地局は上記カスタマイズされたユーザビット
ストリームを、例えば従来の広範な多重化技術のいずれを用いて伝送信号へと多重化し、
この伝送信号を空中へと伝送する。各ユーザデバイスは上記伝送信号を受信し、受信した
伝送信号から、複数のカスタマイズされたユーザビットストリームのうち適切なものを再
生できる。
いくつかの実施形態では、CDNオペレータは、ある地理的領域又はサービス範囲をカ
バーするよう分散された、システム100の複数のコピーを利用してよい。
メモリ110は、ビデオコンテンツ項目の集合を記憶してよい。各ビデオコンテンツ項
目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含んでよい
。いくつかの実施形態では、メモリ110は、ハードディスクドライブ若しくはフラッシ
ュメモリ等の永続若しくは不揮発性メモリストレージ、又はSRAM、DRAM等の一時
的メモリストレージを含んでよい。いくつかの実施形態では、メモリ110はビデオコン
テンツのためのキャッシュとして機能できる。
この節では、複数のユーザデバイスが同一のビデオコンテンツ項目を要求した場合のシ
ステム100の応答に着目する。しかしながら、より広い文脈では、ユーザデバイスは複
数のコンテンツ項目から任意の1つ又はランダムな1つを要求し得る。複数のコンテンツ
項目のうち人気のあるものは、人気がより低いコンテンツ項目よりも単位時間あたりに多
く要求され得る。従って、複数のユーザデバイスが同一のコンテンツ項目を要求すること
は考えられる。
コントローラ130は、複数のユーザデバイスUD1、UD2、…UDNdのそれぞれから
の、所定のビデオコンテンツ項目に対する複数のコンテンツ要求それぞれに応答して、1
つ又は複数のビデオトランスコーダデバイスのうち利用可能な1つを各ユーザデバイスへ
の配信を行うために割り当てるよう構成してよい。ユーザデバイスはそれぞれ異なる構成
のビデオ処理能力(VPC)を有してよい。割り当てられた各ビデオトランスコーダデバ
イスは:(1)例えばメモリから、上記所定のコンテンツ項目の符号化ビデオストリーム
及び副次的情報ストリームを受信し;(2)副次的情報ストリームを用い、各ユーザデバ
イスのVPC構成に応じて符号化ビデオストリームを信号変換し、各標的符号化ビデオス
トリームを得て;(3)各標的符号化ビデオストリームを、(無線伝送媒体、又は無線ネ
ットワーク、又は有線ネットワーク、又は無線及び有線ネットワークの併用、又はインタ
ーネット等の)通信媒体140を介して各ユーザデバイスに伝送するよう構成してよい。
システム100は、構成が異なる複数のユーザデバイスに対して、ビデオコンテンツ項目
の単一のキャッシュされたコピーから配信を行うことができることに特に留意されたい。
1つ又は複数のビデオトランスコーダデバイスは、各ユーザデバイスに対する標的符号化
ビデオストリームのカスタマイズを行う。従って、ユーザデバイスをサポートするために
、標的ピクチャ解像度、標的ビットレート及び標的ビデオフォーマットを様々に組み合わ
せた、ビデオコンテンツ項目の複数のコピーをキャッシュする必要はない。これにより、
極めて多数のビデオコンテンツ項目をキャッシュ110に記憶できるようになり、またキ
ャッシュミスが発生する蓋然性を有意に低下させることができる。(キャッシュミスは、
ユーザデバイスがメモリ110内に存在しないビデオコンテンツ項目を要求した場合に発
生すると言われている。)
所定の要求されたコンテンツ項目に関してキャッシュミスが発生した場合、システム1
00は、中央コンテンツレポジトリ(又はメディアソース)から上記コンテンツ項目をダ
ウンロードしなければならない場合がある。中央コンテンツレポジトリとシステム100
との間のチャネルは、CDNオペレータ以外のエンティティが所有している場合がある。
(例えば上記チャネルはインターネットであり得る。)従って、上記チャネルを介したコ
ンテンツのダウンロードに関連するコストが発生し得る。キャッシュミスの蓋然性の低減
は、中央レポジトリからのダウンロードトラフィックの減少を暗に意味しており、従って
コストの低下を暗に意味している。
いくつかの実施形態では、所定のコンテンツ項目の符号化ビデオストリームは、所定の
ソースビデオストリームを符号化したバージョンであると解釈してよい。副次的情報スト
リームは、上記所定のソースビデオストリームの特性を決定するメタデータを含んでよい
。例えばこのメタデータは、符号化ビデオストリームのブロック毎に1つ又は複数の候補
運動ベクトルを含んでよい。別の例として、メタデータは、符号化ビデオストリームのブ
ロック毎に速度モデル化データを含んでよい。更に別の実施例としては、メタデータは、
所定のコンテンツ項目の符号化ビデオストリームのブロック毎に歪みモデル化データを含
んでよい。
いくつかの実施形態では、通信媒体140は、無線伝送媒体又は無線ネットワークの無
線インタフェースであってよい。一実施形態では、1つ又は複数のビデオトランスコーダ
デバイスのうち少なくとも1つは、無線通信ネットワークの基地局(又はアクセスポイン
ト)に連結されるか、又はその一部として組み込まれる。ユーザデバイスのうちの1つ若
しくは複数(又は全て)は、基地局との無線通信用に構成できる。ユーザデバイスは、基
地局からの無線伝送を介して、それぞれの標的符号化ビデオストリームを受信できる。ユ
ーザデバイスのうちのいくつか又は全ては移動体デバイスであってよい。
コントローラ130は、1つ又は複数のビデオトランスコーダデバイスのうち所定の1
つを、複数のユーザデバイスのうち異なるいくつかに対して異なる時点に割り当てるよう
構成してよい。例えば、ビデオトランスコーダデバイスが第1のユーザデバイスへの配信
を終了したとき、このビデオトランスコーダデバイスが、第2のユーザデバイスへの配信
を行うために利用可能となるようにしてよい。従って、ビデオトランスコーダデバイスを
1つしか含まないシステム100の実施形態においてさえ、構成が異なる複数のユーザデ
バイスに対して、ビデオコンテンツ項目の単一のキャッシュされたコピーから配信を行う
ことの便益が実現される。
いくつかの実施形態では、システム100はソースエンコーダも含んでよい。ソースエ
ンコーダは、ソースビデオストリームを符号化して各コンテンツ項目を生成するよう構成
してよい。1つ又は複数のビデオトランスコーダデバイスはそれぞれ、ソースエンコーダ
よりも電力効率が高いか、及び/又はソースエンコーダよりも空間効率が高いものであっ
てよい。いくつかの実施形態では、コンテンツ項目は、ユーザデバイスへの配信前にはメ
モリ110に必ずしも記憶されていない。例えばコンテンツ項目は、ライブイベントとの
関連で配信されることがある。従ってビデオコンテンツ項目を、ソースエンコーダから、
複数のビデオトランスコーダのうち割り当てられた1つへと送り、そして即座に信号変換
してユーザデバイスに伝送してよい。
いくつかの実施形態では、各ビデオコンテンツ項目の副次的情報ストリームは、1つ又
は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含んで
よい。(上記1つ又は複数のコード化モードは、1つ若しくは複数のインタモード及び/
又は1つ若しくは複数のイントラモードを含んでよい。)上記1つ又は複数の速度情報ス
トリームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック予測
を推測する、対応する符号化ビデオストリームのブロック毎の対応する速度推定関数Rk
(q)の特徴を決定する。変数qは量子化ステップ幅である。
いくつかの実施形態では、各ビデオコンテンツ項目の副次的情報ストリームは、1つ又
は複数のコード化モードそれぞれに対応する1つ又は複数の歪み情報ストリームを含んで
よい。上記1つ又は複数の歪み情報ストリームの各歪み情報ストリームDISkは、各コ
ード化モードに基づいてブロック予測を推測する、ビデオコンテンツ項目の符号化ビデオ
ストリームのブロック毎の対応する歪み関数Dk(q)の特徴を決定する。
いくつかの実施形態では、複数のビデオトランスコーダデバイスのうちの所定の1つ(
又はそれぞれ)は:符号化ビデオストリームを復号化することで、復号化ビデオストリー
ムを得て;この復号化ビデオストリームを各ユーザデバイスの標的ピクチャ解像度にスケ
ーリングして、スケーリング済みビデオストリームを得て;副次的情報ストリームを用い
、各ユーザデバイスのVPC構成に応じてスケーリング済みビデオストリームを符号化し
て、各標的符号化ビデオストリームを得ることにより、符号化ビデオストリームを信号変
換する動作を実施するよう構成してよい。
いくつかの実施形態では、上記所定のビデオトランスコーダデバイスは:スケーラ値λ
でパラメータ化したラグランジュ型速度−歪み関数を最小化することによって、スケーリ
ング済みビデオストリームの上記符号化を実施するよう;並びに副次的情報ストリームを
用いて、スケーラ値λ及び各標的符号化ビデオストリームの出力ビットレートを動的に調
整することで、各ユーザデバイスにおいて各標的符号化ビデオストリームを受信するコー
ド化ピクチャバッファのオーバフロー及びアンダフローを防止するよう、構成してよい。
いくつかの実施形態では、上記所定のビデオトランスコーダデバイスは:コード化ピク
チャバッファの推定占有量と、各標的符号化ビデオストリームが標的ビットレートに維持
されていると仮定した場合のコード化ピクチャバッファの理論上の占有量との間の誤差を
計算するよう;及びスケーラ値λの上記動的調整を実施して、上記誤差の大きさを低下さ
せるよう、構成してよい。
いくつかの実施形態では、コントローラ130は:上記所定のビデオトランスコーダデ
バイスから配信を受けているユーザデバイスから、メッセージ又は報告(例えば分析)を
受信する(ここで各報告は、ユーザデバイスからの分析情報を含む)よう;並びに各報告
に応答して、上記所定のビデオトランスコーダデバイスがスケーリング済みビデオストリ
ームを符号化するために使用する標的ビットレート及び/又は標的ピクチャ解像度を更新
するよう、構成してよい。
いくつかの実施形態では、上記分析情報は、所定のビデオトランスコーダデバイスとユ
ーザデバイスとの間のリンクの品質に関する情報を含んでよい。例えばリンク品質情報は
、以下のうちの1つ又は複数を含んでよい:ビット及び/又はパケット誤差率、スループ
ット、受信信号強度並びに通信レイテンシ。コントローラ130は、リンク品質に関する
情報がリンク品質の低下又は上昇を示した場合それぞれにおいて、所定のビデオトランス
コーダデバイスが使用する標的ビットレート及び/又は標的ピクチャ解像度を低下又は上
昇させるよう構成してよい。
いくつかの実施形態では、分析情報は、ビデオトランスコーダデバイスが伝送する標的
符号化ビデオストリームから(ユーザデバイスが)再生したビデオの品質に関する情報を
含む。(ビデオ品質情報の例は、フレーム落ち表示を含み得る。)コントローラは、ビデ
オ品質に関する情報がビデオ品質の低下又は上昇を示した場合それぞれにおいて、所定の
ビデオトランスコーダデバイスが使用する標的ビットレート及び/又は標的ピクチャ解像
度を低下又は上昇させるよう構成してよい。一実施形態では、ビデオ品質に関する報告は
リンク品質に関する報告と並行して行うことができる。
いくつかの実施形態では、コントローラは:上記所定のビデオトランスコーダデバイス
から配信を受けているユーザデバイスから報告を受信する(ここで各報告は、ユーザデバ
イスのVPC構成に対する対応する更新を含む)よう;並びに各報告に応答して、第1の
ビデオトランスコーダデバイスがスケーリング済みビデオストリームを符号化するために
使用する標的ビットレート及び/又は標的ピクチャ解像度を更新するよう、構成してよい
。(例えばVPC構成の更新は、ユーザデバイスが許容可能な現在の標的ピクチャ解像度
を含んでよい。)
いくつかの実施形態では、各ユーザデバイスのVPC構成は:ユーザデバイスが要求す
るビデオコード化フォーマット;及びユーザデバイスが要求する標的ピクチャ解像度のう
ちの1つ又は複数の識別を含んでよい。
いくつかの実施形態では、各ユーザデバイスのVPC構成はM次元構成空間に亘るもの
であってよく、ここでMは少なくとも2である。M次元構成空間は、ビデオフォーマット
の選択に対応する少なくとも第1の次元、及びユーザデバイスが受信することになる標的
符号化ビデオストリームに関するピクチャ解像度の選択に対応する第2の次元を有してよ
い。
いくつかの実施形態では、コントローラ130はまた:複数のユーザデバイスのうち第
1のものへの配信を行うよう割り当てられた1つ又は複数のビデオトランスコーダデバイ
スのうちの所定の1つによって生成された標的符号化ビデオストリームを(例えばメモリ
110に)記憶し;第2のユーザデバイスが第1のユーザデバイスと同一又は同様のVP
C構成を有することを検出すると、これに反応して、第2のユーザデバイスへの上記記憶
した標的符号化ビデオストリームの伝送を指示するよう、構成してよい。第1のユーザデ
バイスが所定のビデオコンテンツ項目を要求する場合、第2の同一構成の(又は同様の構
成の)ユーザデバイスが上記所定のビデオコンテンツ項目を近い将来に要求する蓋然性は
高くなり得る。従って、ビデオトランスコーダデバイスが生成する標的符号化ビデオスト
リームのキャッシュ化により、システム効率を向上させることができる。
ある一連の実施形態では、ビデオコンテンツをユーザデバイスに配信するための方法2
00は、図2に示した操作を伴うものであってよい。(方法200は、図1、3〜17に
関連して既に述べた又は以下に述べる特徴、要素及び実施形態のいずれのサブセットも含
んでよい。)
210において、ビデオコンテンツ項目の集合をメモリに記憶してよい。各ビデオコン
テンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含
んでよい。
220において、複数の遠隔ユーザデバイスそれぞれからの、複数のビデオコンテンツ
項目のうちの所定の1つに対する複数のコンテンツ要求それぞれに応答して、各ユーザデ
バイスへの配信を行うために、1つ又は複数のビデオトランスコーダデバイスのうち使用
可能な1つを割り当てる、ユーザデバイスはそれぞれ、異なる構成のビデオ処理能力(V
PC)を有してよい。
230において、割り当てられた各ビデオトランスコーダデバイスを利用して:(a)
例えばメモリから、上記所定のビデオコンテンツ項目の符号化ビデオストリーム及び副次
的情報ストリームを受信し;(b)副次的情報ストリームを用い、各ユーザデバイスのV
PC構成に応じて符号化ビデオストリームを信号変換し、各標的符号化ビデオストリーム
を得て;(c)各標的符号化ビデオストリームを、(無線伝送媒体、無線ネットワーク若
しくは有線ネットワーク、又は上述の様々な通信媒体等の)通信媒体を介して各ユーザデ
バイスに伝送してよい。
いくつかの実施形態では、上記所定のビデオコンテンツ項目の符号化ビデオストリーム
は、所定のソースビデオストリームを符号化したバージョンであると解釈してよい。副次
的情報ストリームは、上記所定のソースビデオストリームの特性を決定するメタデータを
含んでよい。一実施形態では、このメタデータは、符号化ビデオストリームのブロック毎
に1つ又は複数の候補運動ベクトルを含んでよい。別の実施形態では、メタデータは、上
記所定のビデオコンテンツ項目の符号化ビデオストリームのブロック毎に速度モデル化デ
ータを含んでよい。更に別の実施形態では、メタデータは、所定のビデオコンテンツ項目
の符号化ビデオストリームのブロック毎に歪みモデル化データを含んでよい。当然のこと
ながら、上述のタイプのメタデータをいずれの組み合わせで併用する実施形態も考えられ
る。
いくつかの実施形態では、各ビデオコンテンツ項目の副次的情報ストリームは、1つ又
は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含んで
よい。上記1つ又は複数の速度情報ストリームの各速度情報ストリームRISkは、各コ
ード化モードに基づいてブロック予測を推測する、上記対応する符号化ビデオストリーム
のブロック毎の対応する速度推定関数Rk(q)の特徴を決定してよく、ここでqは量子
化ステップ幅である。
いくつかの実施形態では、各ビデオコンテンツ項目の副次的情報ストリームは、1つ又
は複数のコード化モードそれぞれに対応する1つ又は複数の歪み情報ストリームを含んで
よい。上記1つ又は複数の歪み情報ストリームの各歪み情報ストリームDISkは、各コ
ード化モードに基づいてブロック予測を推測する、上記所定のビデオコンテンツ項目の符
号化ビデオストリームのブロック毎の対応する歪み関数Dk(q)の特徴を決定してよく
、ここでqは量子化ステップ幅である。
いくつかの実施形態では、方法200は、ソースビデオストリームを符号化して、各コ
ンテンツ項目を生成するよう構成してよい。ソースビデオストリームを符号化する動作は
、ソースエンコーダによって(例えば後に説明するメザニンエンコーダ510、ビデオエ
ンコーダ700又はビデオエンコーダ900によって)実施できる。各ビデオトランスコ
ーダデバイスは、ソースエンコーダよりも電力効率が高いか、又はソースエンコーダより
も空間効率が高いものであってよい。
いくつかの実施形態では、方法200は:(a)1つ又は複数のビデオトランスコーダ
デバイスのうちの所定の1つから配信を受けているユーザデバイスから、報告を受信する
こと(ここで各報告は、ユーザデバイスからの分析情報を含む);並びに(b)各報告に
応答して、上記所定のビデオトランスコーダデバイスが符号化ビデオストリームの上記信
号変換を行うために使用する標的ビットレート及び/又は標的ピクチャ解像度を更新する
ことも含んでよい。
いくつかの実施形態では、上記分析情報は、所定のビデオトランスコーダデバイスとユ
ーザデバイスとの間のリンクの品質に関する情報を含む。
いくつかの実施形態では、方法200は、リンク品質に関する情報がリンク品質の低下
又は上昇を示した場合それぞれにおいて、所定のビデオトランスコーダデバイスが使用す
る標的ビットレート及び/又は標的ピクチャ解像度を低下又は上昇させることも含んでよ
い。
いくつかの実施形態では、分析情報は、ビデオトランスコーダデバイスが伝送する各標
的符号化ビデオストリームから(ユーザデバイスが)再生したビデオの品質に関する情報
を含む。
いくつかの実施形態では、方法200は、ビデオ品質に関する情報がビデオ品質の低下
又は上昇を示した場合それぞれにおいて、所定のビデオトランスコーダデバイスが使用す
る標的ビットレート及び/又は標的ピクチャ解像度を低下又は上昇させることも含んでよ
い。
いくつかの実施形態では、方法200は:上記所定のビデオトランスコーダデバイスか
ら配信を受けているユーザデバイスから報告を受信すること(ここで各報告は、ユーザデ
バイスのVPC構成に対する対応する更新(例えばユーザデバイスが許容可能な現在の標
的ピクチャ解像度を示す更新)を含む);並びに各報告に応答して、上記所定のビデオト
ランスコーダデバイスがスケーリング済みビデオストリームを符号化するために使用する
標的ピクチャ解像度を更新することも含んでよい。
いくつかの実施形態では、各ユーザデバイスのVPC構成は:ユーザデバイスが要求す
るビデオコード化フォーマットの識別を含んでよい。このような実施形態では、符号化ビ
デオストリームを信号変換する動作は、各標的符号化ビデオストリームが要求されたビデ
オコード化フォーマットに適合するように実行できる。
いくつかの実施形態では、各ユーザデバイスのVPC構成は:ユーザデバイスが要求す
る標的ピクチャ解像度の識別を含んでよい。このような実施形態では、符号化ビデオスト
リームを信号変換する動作は、各標的符号化ビデオストリームが、要求された標的ピクチ
ャ解像度を有するように実行できる。
いくつかの実施形態では、各ユーザデバイスのVPC構成は:ユーザデバイスが要求す
る標的ビットレートの識別を含んでよい。このような実施形態では、符号化ビデオストリ
ームを信号変換する動作は、各標的符号化ビデオストリームが、標的ビットレートに略等
しい平均出力ビットレートを有するように実行できる。
いくつかの実施形態では、方法200は:(a)複数のユーザデバイスのうち第1のも
のへの配信を行うよう割り当てられた1つ又は複数のビデオトランスコーダデバイスのう
ちの所定の1つによって生成された標的符号化ビデオストリームを(例えばメモリに)記
憶すること;及び(b)第2のユーザデバイスが第1のユーザデバイスと同一又は同様の
VPC構成を有することを検出すると、これに反応して、第2のユーザデバイスへの上記
記憶した標的符号化ビデオストリームの伝送を指示することも含んでよい。
分割エンコーダアーキテクチャを用いたコンテンツ配信ネットワーク
ある一連の実施形態では、コンテンツ配信ネットワーク300は図3に示すように構成
できる。コンテンツ配信ネットワーク300は、メモリ310、複数のビデオトランスコ
ーダデバイスVTD1、VTD2、…VTDNd(まとめて符号320で表す)、及びコント
ローラ330を含む。(コンテンツ配信ネットワークは、図1〜2、図4〜17に関連し
て既に述べた又は以下に述べる特徴、要素及び実施形態のいずれのサブセットも含んでよ
い。)
メモリ310は、複数のビデオコンテンツ項目を記憶してよい。各ビデオコンテンツ項
目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含んでよい
。メモリ310は、通信媒体915(例えばCDNオペレータが制御するプライベートネ
ットワーク、インターネット又は無線ネットワーク)を介してビデオトランスコーダデバ
イスに連結してよい。
複数の遠隔ユーザデバイスUD1、UD2、…UDNdのそれぞれに関して、コントローラ
330は、遠隔ユーザデバイスから、複数のコンテンツ項目のうち選択されたものそれぞ
れに対する要求を受信して、複数のビデオトランスコーダデバイスのうち使用できる1つ
への、各上記選択されたコンテンツ項目の転送を指示するよう構成してよい。異なるユー
ザデバイスは、複数のコンテンツ項目のうち異なるもの又はランダムなものを選択してよ
い。
各ビデオトランスコーダデバイスVTDk(k=1、2、…、Nd)は:複数のコンテン
ツ項目それぞれの符号化ビデオストリーム及び副次的情報ストリームを受信し;副次的情
報ストリームを用いて符号化ビデオストリームを各標的ピクチャ解像度において信号変換
し、各標的符号化ビデオストリームを得て;各標的符号化ビデオストリームを、通信媒体
340(例えば無線伝送媒体、又は無線ネットワーク、又は有線ネットワーク)を介して
各遠隔ユーザデバイスに伝送するよう構成してよい。
いくつかの実施形態では、各ビデオコンテンツ項目の副次的情報ストリームは、N個の
コード化モードに対応するN個の速度情報ストリームを含んでよく、ここでNは1以上で
ある。N個の速度情報ストリームの各速度情報ストリームRISkは、各コード化モード
に基づいてブロック予測を推測する、ビデオコンテンツ項目の符号化ビデオストリームの
ブロック毎の対応する速度推定関数Rk(q)の特徴を決定する。変数qは量子化ステッ
プ幅である。
いくつかの実施形態では、コンテンツ配信ネットワーク300は、ソースビデオストリ
ームを符号化して各コンテンツ項目を生成するよう構成されたソースエンコーダ325も
含んでよい。以下に説明するように、ソースエンコーダ325はメザニンエンコーダ51
0又はビデオエンコーダ500又はビデオエンコーダ900に関連して構成してよい。各
ビデオトランスコーダデバイスは、ソースエンコーダよりも電力消費が少なく、ソースエ
ンコーダよりも占有空間が小さくなるよう構成してよい。これらの制約は、副次的情報ス
トリームをビデオトランスコーダデバイスへの入力として符号化ビデオストリームと共に
供給することで、副次的情報を計算処理するための回路構成及び/又はプログラム指示を
ビデオトランスコーダデバイスから省略できるようにすることによって、ある程度達成で
きる。
いくつかの実施形態では、各ビデオトランスコーダデバイスは:符号化ビデオストリー
ムを復号化することで、各復号化ビデオストリームを得て;副次的情報ストリームを用い
て上記各復号化ビデオストリームを各標的ピクチャ解像度において符号化して、各標的符
号化ビデオストリームを得ることにより、信号変換動作を実施するよう構成してよい。
いくつかの実施形態では、各ビデオトランスコーダデバイスは:スケーラ値λでパラメ
ータ化した速度−歪み関数を用いたラグランジュ型最適化に基づいて各復号化ビデオスト
リームを符号化し;各選択されたコンテンツ項目の副次的情報ストリームに基づいて、ス
ケーラ値λを動的に調整することで、各遠隔ユーザデバイスにおいてデコーダのコード化
ピクチャバッファのオーバフロー及びアンダフローを防止するよう、構成してよい。
いくつかの実施形態では、各ビデオコンテンツ項目の符号化ビデオストリームは、各ソ
ースビデオストリームを符号化したバージョンであると解釈してよい。各ビデオコンテン
ツ項目の副次的情報ストリームは、各ソースビデオストリームの特性を決定するメタデー
タを含んでよい。
いくつかの実施形態では、コントローラは、例えば上述の要求の一部として又は別個の
伝送としてユーザデバイスから提供される識別情報に基づくユーザ認証を提供する、(認
証サーバ等の)処理ノードと通信するよう構成してよい。コントローラは、所定のユーザ
(又はユーザデバイス)が正当なユーザ(又はユーザデバイス)として認証されたことを
示す妥当性信号を処理ノードから受信してよい。更にコントローラは、例えば処理ノード
から、要求元のユーザデバイスへの要求されたビデオコンテンツの伝送の開始をコントロ
ーラが許可されていることを示す送信許可信号を受信してよい。
いくつかの実施形態では、コントローラは、各ビデオトランスコーダデバイスに、各標
的符号化ビデオストリームに挿入するための対応する補助情報を提供するよう構成してよ
い。この対応する補助情報は、以下のうちの1つ又は複数を含んでよい:事業体のブラン
ド設定情報;広告情報;デジタル著作権管理(digital rights mana
gement:DRM)情報;ウォーターマーク機能を提供するデジタル情報;及びコン
テンツプロバイダ、コンテンツ配信サービスプロバイダ、顧客又はユーザが要求する1つ
又は複数のカスタマイズ用特徴。
いくつかの実施形態では、デジタルウォーターマーク情報は、ビデオコンテンツを要求
したユーザ又はユーザデバイスに対して個別化されていてよい。従ってビデオコンテンツ
が不正使用された場合、ユーザの個人情報をデジタルウォーターマーク情報から識別でき
る。
いくつかの実施形態では、各ビデオトランスコーダデバイスは、対応する補助情報を受
信して、この対応する補助情報を各標的符号化ビデオストリームに挿入するよう構成して
よい。補助情報は以下のうちの1つ又は複数を含んでよい:事業体のブランド設定情報;
広告情報;デジタル著作権管理(DRM)情報;及びコンテンツプロバイダ、コンテンツ
配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複数のカスタマイズ用特徴
以下の段落番号付きの段落において、追加の実施形態を開示する。
1.以下を備えるシステム(例えばコンテンツ配信ネットワーク):複数のビデオコン
テンツ項目を記憶したメモリ(ここで各ビデオコンテンツ項目は、対応する符号化ビデオ
ストリーム及び対応する副次的情報ストリームを含む);複数のビデオトランスコーダデ
バイス;並びにコントローラ(ここでコントローラは、複数の遠隔ユーザデバイスそれぞ
れに関して、遠隔ユーザデバイスからの各コンテンツ項目に対する要求を受信し、複数の
ビデオトランスコーダデバイスのうち使用可能な1つに各コンテンツ項目を転送するよう
指示する)。各ビデオトランスコーダデバイスは:各コンテンツ項目の符号化ビデオスト
リーム及び副次的情報ストリームを受信し;副次的情報ストリームを用いて符号化ビデオ
ストリームを各標的ピクチャ解像度において信号変換し、各標的符号化ビデオストリーム
を得て;各標的符号化ビデオストリームを、通信媒体を介して各ユーザデバイスに伝送す
るよう構成される。
2.コントローラが:複数のビデオトランスコーダデバイスのうち第1のものに割り当
てられた、複数のユーザデバイスのうち第1のものから、リンク報告を受信(ここで各リ
ンク報告は、第1のビデオトランスコーダデバイスと第1のユーザデバイスとの間のチャ
ネルの各状態を表す)し;各リンク報告に応答して、第1のビデオトランスコーダデバイ
スが使用する標的ビットレートを更新し、符号化ビデオストリームを信号変換するよう構
成された、段落1のシステム。
3.各ビデオコンテンツ項目の符号化ビデオストリームが、各ソースビデオストリーム
の符号化バージョンであり、各ビデオコンテンツ項目の副次的情報ストリームが、各ソー
スビデオストリームの特性を決定するメタデータを含む、段落1のシステム。
4.メタデータが、対応する符号化ビデオストリームのブロック毎に1つ又は複数の候
補運動ベクトルを含む、段落3のシステム。
5.メタデータが、対応する符号化ビデオストリームのブロック毎に速度モデル化デー
タを含む、段落3のシステム。
6.メタデータが、対応する符号化ビデオストリームのブロック毎に歪みモデル化デー
タを含む、段落3のシステム。
7.各ビデオコンテンツ項目の副次的情報ストリームが、N個のコード化モードそれぞ
れに対応するN個の速度情報ストリームを含み、ここでNは1以上であり、N個の速度情
報ストリームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック
予測を推測する、ビデオコンテンツ項目の符号化ビデオストリームのブロック毎の対応す
る速度推定関数Rk(q)の特徴を決定し、ここでqは量子化ステップ幅である、段落1
のシステム。
8.各ビデオコンテンツ項目の副次的情報ストリームが、1つ又は複数のコード化モー
ドそれぞれに対応する1つ又は複数の歪み情報ストリームを含み、上記1つ又は複数の歪
み情報ストリームの各歪み情報ストリームDISkは、各コード化モードに基づいてブロ
ック予測を推測する、ビデオコンテンツ項目の符号化ビデオストリームのブロック毎の対
応する歪み関数Dk(q)の特徴を決定し、ここでqは量子化ステップ幅である、段落1
のシステム。
9.ソースビデオストリームを符号化して各コンテンツ項目を生成するよう構成された
ソースエンコーダを更に備え、ここで各ビデオトランスコーダデバイスは、ソースエンコ
ーダよりも電力消費が少なく、ソースエンコーダよりも占有空間が小さい、段落1のシス
テム。
10.各ビデオトランスコーダデバイスが:符号化ビデオストリームを復号化すること
で、各復号化ビデオストリームを得て;副次的情報ストリームを用いて上記各復号化ビデ
オストリームを各標的ピクチャ解像度において符号化して、各標的符号化ビデオストリー
ムを得ることにより、信号変換動作を実施するよう構成された、段落1のシステム。
11.コントローラが、各ビデオトランスコーダデバイスに、各標的符号化ビデオスト
リームに挿入するための対応する補助情報を提供するよう構成され、ここで上記対応する
補助情報は:事業体のブランド設定情報;広告情報;デジタル著作権管理(DRM)情報
;ウォーターマーク機能を提供するデジタル情報;及びコンテンツプロバイダ、コンテン
ツ配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複数のカスタマイズ用特
徴を含む、段落1のシステム。
12.各ビデオトランスコーダデバイスが、対応する補助情報を受信して、この対応す
る補助情報を各標的符号化ビデオストリームに挿入するよう構成され、ここで上記対応す
る補助情報は:事業体のブランド設定情報;広告情報;デジタル著作権管理(DRM)情
報;ウォーターマーク機能を提供するデジタル情報;及びコンテンツプロバイダ、コンテ
ンツ配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複数のカスタマイズ用
特徴を含む、段落1のシステム。
ネットワークエッジトランスコーダ
図4は、ネットワークエッジトランスコーダを用いて顧客にコンテンツを配信するため
の方法の一実施形態を示す。410において、コンテンツプロバイダは、コンテンツタイ
トル毎に単一のメザニン符号化を実施してよい。メザニン符号化により、コンテンツタイ
トル毎に符号化メザニンストリームファイル及び副次的情報ストリームが生成される。
各コンテンツタイトルに関する単一の符号化メザニンストリームファイル及び副次的情
報ストリームを、コンテンツ配信ネットワーク(CDN)の配信元サーバにアップロード
してよい。ネットワークエッジトランスコーダ415は、副次的情報ストリームを用いて
、各顧客の要求に応じて、メザニンストリームを任意の解像度及びビットレートに変換し
てよい。httmサーバ(図示せず)は、各コンテンツタイトルの1つのコピーをキャッ
シュしてよい。httpサーバは例えばインターネットを介して、httpセグメント要
求(即ち特定のコンテンツ項目のあるセグメントに対する要求)を顧客から受信してよい
。要求されたセグメントがサーバのキャッシュに存在しない場合、httpサーバは配信
元サーバ(図示せず)に上記セグメントを要求してよい。配信元サーバは要求されたセグ
メントをhttpサーバに転送する。そしてhttpサーバはこの要求されたセグメント
(即ち複数の符号化メザニンストリームのうちの1つの一部)をエッジトランスコーダに
供給してよい。エッジトランスコーダは、要求されたセグメントを復号化して復号化スト
リームを得、この復号化ストリームをスケーリングしてスケーリング済みストリームを得
、そしてこのスケーリング済みストリームを符号化して出力ストリームを得てよい。出力
ストリームは例えばインターネット又は無線ネットワークを介して顧客に転送される。ネ
ットワークエッジトランスコーダは要求されたセグメントを、各顧客の要求に応じて任意
の解像度及びビットレートに変換する。図4に示した具体的な数値(符号化メザニンスト
リームについて1080p24、20Mb/s;顧客へのストリームについて720p2
4、3Mb/s等)は、単なる例示を目的として提供したものであり、本発明の原理の範
囲を制限する意味はない。図4に示した様々なストリーム及び図面中のいずれの場所に示
した様々なストリームについて、多様なビットレート及びピクチャ解像度が考えられる。
メザニンエンコーダ410は、ソースビデオストリームを符号化してメザニンビットス
トリームを生成してよい。メザニンエンコーダ410はまた、メザニン符号化プロセス中
に情報(例えば速度メトリクス及び/又は歪みメトリクス)も生成してよい。この情報は
、別個の副次的情報ストリームにおいて、又はメザニンビットストリーム中のユーザデー
タとして、搬送してよい。例えば速度及び歪みメトリクスは:エンコーダ430における
速度調整、適応量子化、HRDコンプライアンスのために、即ちエンコーダ430から顧
客に伝送される出力ビットストリームの速度を調整するために使用してよい。つまり、メ
ザニンエンコーダとエンコーダ430とを併用することで、ツーパス方式エンコーダを効
果的に形成する。このアーキテクチャにより、速度及び歪みメトリクス(例えば高品質メ
トリクス)を計算するために、メザニンエンコーダの限りない計算バジェットが活用され
る。またこのアーキテクチャにより、効果的な速度制御を実施するためにネットワークエ
ッジエンコーダ430が必要とする計算量が最小化される。
ビデオコンテンツを配信するためのシステム500
ある一連の実施形態では、ビデオコンテンツを配信するためのシステム500は、図5
に示すように、メザニンエンコーダ510、ネットワークエッジトランスコーダ520、
(無線ネットワーク、又は有線ネットワーク、又は無線及び有線ネットワークの併用等の
)通信媒体525、ユーザデバイス530を含んでよい。システム500はコンテンツ配
信ネットワークの一部として、又は広範なその他の用途のいずれにおいて利用できる。
メザニンエンコーダ510は、入力ビデオストリーム505(即ち複数のピクチャのシ
ーケンス)を受信して、メザニンビットストリームを生成する。メザニンビットストリー
ムは、符号化ビデオストリームであってよい。(メザニンビットストリームは、2つのデ
バイス510、520間の中間の位置を有するためにこのように呼ばれる。メザニンエン
コーダは、メザニンビットストリームを生成するためにこのように呼ばれる。)メザニン
ビットストリームは、例えばインターネット又は無線ネットワーク等の通信媒体を介して
、ネットワークエッジトランスコーダ520に伝送してよい。いくつかの実施形態では、
メザニンビットストリームを記憶用のメモリ媒体に伝送してよく、その後このメザニンビ
ットストリームを、ネットワークエッジトランスコーダによってメモリ媒体から引き出す
ことができる。
メザニンエンコーダは、上述のシステム100又は方法200又はシステム300のソ
ースエンコーダとして機能し得る。
ネットワークエッジトランスコーダ520は、メザニンビットストリームを受信して、
ユーザデバイス530が許容可能な又はユーザデバイス530が要求するビデオ処理能力
(VPC)の構成に従って、このメザニンビットストリームを信号変換してよい。ユーザ
デバイスのVPC構成は、要求されるピクチャ解像度及び/又は要求されるビデオフォー
マット及び/又は要求されるビットレートを含んでよい。こうしてネットワークエッジト
ランスコーダは、ユーザデバイスのためにカスタマイズされたユーザビットストリームを
生成する。ユーザビットストリームは通信媒体525を介してユーザデバイス530に伝
送される。
ネットワークエッジトランスコーダ520は、システム100又は方法200又はシス
テム300のビデオトランスコーダデバイスとして機能し得る。
ネットワークエッジトランスコーダ520は、(無線ネットワーク又は有線ネットワー
ク又はインターネット等の)ネットワークの辺縁又はその付近に位置するためにこのよう
に呼ばれる。例えばネットワークエッジトランスコーダは、無線ネットワークの無線アク
セスポイント(例えば基地局)又はその付近に位置してよい。別の例として、ネットワー
クエッジトランスコーダは、コンテンツ配信ネットワークの境界ノード又はその付近に位
置してよい。(コンテンツ配信ネットワークの境界ノードは、コンテンツ配信ネットワー
クからユーザデバイスにデータをエクスポートする、コンテンツ配信ネットワークの処理
ノード又はデバイスである。)更に別の例として、ネットワークエッジトランスコーダは
、ユーザデバイスとインタフェース接続されたモデムへのケーブル又は光ファイバ接続の
ヘッドエンド又はその付近に位置してよい。
いくつかの実施形態では、通信媒体525は無線ネットワーク又は無線ネットワークの
無線インタフェースであってよい。一実施形態では、ネットワークエッジトランスコーダ
520は、無線ネットワークの基地局にユーザビットストリームを供給してよく、基地局
はこのユーザビットストリームを、無線インタフェースを介してユーザデバイスに伝送し
てよい。ユーザデバイスは、伝送されたユーザビットストリームを受信するため及び信号
を基地局に伝送するためのトランシーバを含んでよい。ユーザデバイスは、ユーザが得る
視聴品質に関するメッセージを伝送してよい。例えばこのメッセージは、ユーザデバイス
が受信する基準信号の受信信号強度、電力及び品質等(これらは基地局とユーザデバイス
との間のチャネルの品質を表す)の無線分析を含んでよい。基地局は、このような測定を
容易にするために、基地局が行う伝送に基準信号を埋め込んでよい。無線分析を用いて、
所定のチャネル状態におけるユーザデバイスへの確実な伝送のための最適なビットレート
を決定してよい。上記メッセージは、ビデオ分析(例えばユーザデバイスがユーザビット
ストリームから再生するビデオの品質に関するメッセージ)も含んでよい。ビデオ分析を
使用して、チャネル状態によって課される制約内で最大の配信をユーザに対して行うため
に必要な、最適な(場合によっては最小の)ビットレートを決定してよい。(ネットワー
クエッジトランスコーダ520は無線分析及びビデオ分析を使用して、ユーザビットスト
リームの生成における速度制御を実施してよい。)
いくつかの実施形態では、通信媒体525は有線ネットワークを含んでよい。
いくつかの実施形態では、通信媒体525はインターネットを含んでよい。
いくつかの実施形態では、メザニンエンコーダはまた、図6に示すように、副次的情報
ストリームをネットワークエッジトランスコーダ520に伝送する。副次的情報ストリー
ムは、入力ビデオストリーム505の特性を決定するメタデータ、例えばメザニンビット
ストリームを信号変換するタスクにおけるネットワークエッジトランスコーダの負荷を緩
和する情報を含んでよい。例えばネットワークエッジトランスコーダ520は副次的情報
ストリームを使用して、ユーザビットストリームの生成において速度調整を適用してよい
。別の例として、副次的情報ストリームにより、ネットワークエッジトランスコーダは、
副次的情報ストリームが提供されない場合よりも効率的に、最適なコード化決定(例えば
量子化ステップ幅、コード化モード、運動ベクトル選択)に辿り着くことができる。
副次的情報ストリームは、入力ビットストリームの各ブロックについて、又は少なくと
もPピクチャ及びBピクチャ等の選択されたピクチャの各ブロックについて、速度推定関
数R(q)及び歪み推定関数D(q)の特徴を決定する情報を含んでよい。いずれの所定
の値の量子化ステップ幅qに関する速度推定関数R(q)は、上記所定の値と同一の量子
化ステップ幅による、ブロックに関する変換された予測残差の量子化と、それに続く量子
化結果の符号化とによって得られる、ビット数の推定を表す。いずれの所定の値の量子化
ステップ幅qに関する歪み推定関数D(q)は、上記所定の値と同一の量子化ステップ幅
による、ブロックに関する変換された予測残差の量子化と、それに続く量子化結果の符号
化とによって得られる、(ブロックの原初画像サンプルに対する)画像歪みの推定を表す
副次的情報ストリームは、各ブロック及びN個のコード化モードそれぞれに関する速度
推定関数及び歪み推定関数を含んでよく、ここでNは1以上である。Nの値はピクチャ毎
に変動し得る。例えば、Iピクチャはイントラモードのみを含み、その一方でP又はBピ
クチャは1つ又は複数のインタモード及び1つ又は複数のイントラモードを含んでよい。
ビデオエンコーダ700
ある一連の実施形態では、ビデオエンコーダ700(ここでは「メザニンエンコーダ」
とも呼ばれる)は、図7に示すように構成してよい。ビデオエンコーダは、入力ビデオス
トリーム705に作用して副次的情報ストリーム730を生成するよう構成してよい。ビ
デオエンコーダはまた、符号化ビデオストリーム725も生成してよい。ビデオエンコー
ダ700は、デジタル回路構成710及び伝送回路構成720を含んでよい。(ビデオエ
ンコーダ700は、図1〜6、図8〜17に関連して既に述べた又は以下に述べる特徴、
要素及び実施形態のいずれのサブセットも含んでよい。)
デジタル回路構成710は、記憶されたプログラム命令の制御下で動作する1つ若しく
は複数のプロセッサによって、ASIC等の1つ若しくは複数の専用デジタル回路によっ
て、FPGA等の1つ若しくは複数のプログラマブルハードウェア要素によって、又は以
上のいずれの組み合わせによって実現してよい。一実施形態では、デジタル回路構成は、
記憶されたプログラム命令の制御下で動作する並列アレイを含んでよい。
いくつかの実施形態では、副次的情報ストリーム730は、入力データストリームのブ
ロック毎に速度モデル化データを含んでよい。
いくつかの実施形態では、副次的情報ストリーム730は、入力データストリームのブ
ロック毎に歪みモデル化データを含んでよい。
いくつかの実施形態では、副次的情報ストリーム730は、入力データストリームの各
ブロックに関する候補運動ベクトルを含んでよい。
いくつかの実施形態では、副次的情報ストリーム730は、1つ又は複数のコード化モ
ードそれぞれに対応する1つ又は複数の速度情報ストリームを含んでよい。各速度情報ス
トリームRISkは、入力ビデオストリームのブロック毎の対応する速度推定関数Rk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
いくつかの実施形態では、副次的情報ストリーム730は、1つ又は複数のコード化モ
ードそれぞれに対応する1つ又は複数の歪み情報ストリームを含んでよい。各速度情報ス
トリームDISkは、入力ビデオストリームのブロック毎の対応する速度推定関数Dk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
1つのコード化モードに関して、入力ビデオストリームのブロックに典型的な速度特徴
TRCを図7Bに示す。この実施形態では、速度推定関数Rk(q)は、複数の基準点P
1、P2、P3によってその特徴を決定できる。各基準点は、量子化ステップ幅の対応す
る値qvに関する速度Rk(qv)の値である。
いくつかの実施形態では、速度推定関数Rk(q)を決定するプロセスは、複数の基準
点を計算し、続いて連続関数モデルを上記基準点にフィットさせることを含む。
図7Cは、入力ビデオストリームの各ブロックに関する及び各コード化モードに関する
速度特徴に属する複数の基準点を計算するための例示的なプロセスフローを示す。各ブロ
ックに関する通常の変換コード化及びモード決定処理の一部として、(760において示
すように)残差ブロック755に関してDCTを計算し、その結果、量子化されていない
係数が得られる。770において単位元量子化器(即ちqstep=1)を適用し、得ら
れた係数を処理して、ブロックが生成できる最大速度777を計算する。これにより、速
度(qstep)カーブ上に点(ratemax,qstepmin)を提供する。なお
、qstepmin=1である。
単位量子化係数を検査して、最大係数を決定する。これにより、全ての量子化係数がゼ
ロになるqstepの値772が分かる。上記最大係数の値はqstepmaxと呼ばれ
る。これにより、速度(qstep)カーブ上に点(ratemax,qstepmax
)を提供する。なお、ratemin=0である。
最後に780において、メザニンビットストリームの実際の符号化(これは無損失では
なく、また極端に圧縮されもしない)のために選択されるようなqstepの中央値を用
いて、非量子化係数を再び量子化する。(上記中央値はqstemmidとする。)得ら
れた係数を用いて、速度(qstep)カーブ上に点(ratemid,qstepmi
d)を決定する。785、787を参照のこと。
1つのコード化モードに関して、入力ビデオストリームのブロックに典型的な歪み特徴
TDCを図7Dに示す。この実施形態では、歪み推定関数Dk(q)は、複数の基準点Q
1、Q2、Q3によってその特徴を決定できる。各基準点は、量子化ステップ幅の対応す
る値qvに関する歪みDk(qv)の値である。
いくつかの実施形態では、歪み推定関数Dk(q)を決定するプロセスは、複数の基準
点を計算し、続いて連続関数モデルを上記基準点にフィットさせることを含む。
デジタル回路構成710は、入力ビデオストリームの各ブロックに対する以下の動作を
実施するよう構成してよい。
(A)デジタル回路構成は、複数のコード化モードそれぞれに対応する複数の予測残差
を受信してよい。各予測残差は、対応するコード化モードに関する入力ブロックと予測と
の間の差異である。各予測は、入力ブロックと同一の次元のアレイであってよい。
(B)デジタル回路構成は、予測残差を変換して各コード化モードに関する変換ブロッ
クを得ることができる:
TBk←Transform(PRk
ここでk=1、2、…、Nである。いくつかの実施形態では、上記変換は離散コサイン
変換である(DCT)。しかしながら他の変換も同様に使用してよい。
(C)各コード化モードMkに関して、デジタル回路構成は、1つ又は複数の量子化ス
テップ幅qの値それぞれを用いて、コード化モードMkに関する変換ブロックを量子化し
、上記変換ブロックの1つ又は複数の量子化バージョンを得てよい。デジタル回路構成は
、変換ブロックの1つ又は複数の量子化バージョンを含むデータの集合を処理して、コー
ド化モードMkに関する速度推定関数Rk(q)の特徴を決定する一次速度モデル化データ
(primary rate modeling data:PMRD)を得てよい。各
量子化バージョンの処理により、量子化ステップ幅の対応する値qvに関する速度Rk(q
v)の推定(又は測定値)が得られる。量子化ステップ幅の1つ又は複数の値に対応する
1つ又は複数の順序対{(qv,Rk(qv))}は、速度推定関数Rk(q)の特徴表示と
して解釈してよい。
上述のように、ビデオエンコーダ700は、伝送回路構成720も含んでよい。伝送回
路構成は、副次的情報ストリーム730を通信媒体(例えばインターネット又は無線ネッ
トワーク)上へと伝送するよう構成してよい。副次的情報ストリームは、各コード化モー
ドに関する及び各ブロックに関する一次速度モデル化データ(PRMD)を含んでよい。
いくつかの実施形態では、複数のコード化モードはイントラブロックコード化モード及
びインタブロックコード化モードを含んでよい。他の実施形態では、複数のコード化モー
ドは様々な予測サブブロックパーティションを含んでよい。
いくつかの実施形態では、上記ステップ(C)で使用される量子化ステップ幅qの1つ
又は複数の値は、1に等しい量子化ステップ幅を表す最小値qminを含む。これらの実施
形態では、データの集合を処理する上述の動作は、1に等しい量子化ステップ幅に対応す
る量子化バージョンにおける最大絶対値の係数に基づいて、(速度値ゼロに対応する、例
えば全ての量子化係数がゼロである)量子化ステップ幅の最大値qmaxを決定することを
含んでよい。(各量子化バージョンは量子化変換係数のアレイであることを思い出された
い。)一次速度モデル化データを生成するために使用されるデータの集合は、最大値qma
xを含んでよい。
あるいは、qmaxを、変換ブロックの最小量子化バージョンからではなく、変換ブロッ
クからより直接的に計算してよい。(いくつかのビデオ符号化規格では、1に等しい量子
化ステップ幅による変換ブロックの量子化は、恒等写像を構成し、即ち変換ブロックの各
係数に変化を発生させない。従ってqmaxの計算は、非量子化変換ブロックのみに左右さ
れるものであり得る。)よって、デジタル回路構成によってブロック毎に実施される操作
は:各コード化モードMkに関して、コード化モードに関する変換ブロックに基づいて、
即ち最大絶対値を有する変換ブロックの係数に基づいて、(速度値ゼロに対応する)量子
化ステップ幅の最大値qmaxを計算することも含んでよい。この代替実施形態では、一次
速度モデル化データを生成するために使用されるデータの集合は、最大値qmaxも含む。
いくつかの実施形態では、量子化ステップ幅の1つ又は複数の値は、1に等しい量子化
ステップ幅を表す最小値qminを含んでよい。更に、データの集合を処理する動作は、最
小値qminに対応する量子化バージョンに基づいて、量子化ステップ幅の最小値qminと関
連する最大速度値Rmaxを計算することを含んでよい。あるいは、最大速度値Rmaxを、変
換ブロックの最小量子化バージョンからではなく、変換ブロックからより直接的に計算し
てよい。この代替実施形態では、デジタル回路構成によってブロック毎に実施される操作
は、コード化モードに関する変換ブロックに基づいて、量子化ステップ幅の最小値qmin
に関連する最大速度値Rmaxを計算することも含んでよい。これらの実施形態では、一時
モデル化データを生成するために使用されるデータの集合は、最大速度値Rmaxを含む。
いくつかの実施形態では、量子化ステップ幅の1つ又は複数の値は、標準定義最小値(
例えば値1)と最大値との正確な中央値qmidを含んでよい。例えばqmidは、1に等しい
量子化ステップ幅を表すqminと最大値qmaxとの中点であってよい。あるいは値qmid
、速度−歪み最適化(rate−distortion optimization:R
DO)等の、メザニンエンコーダが使用するいずれの最適化アプローチに基づいて選択し
てよい。更に、データの集合を処理する動作は、中央値qmidに対応する量子化バージョ
ンに基づいて、量子化ステップ幅の中央値qmidに関連する中央速度値Rmidを計算するこ
とを含んでよい。これらの実施形態では、一時モデル化データを生成するために使用され
るデータの集合は、中央速度値Rmidを含む。
いくつかの実施形態では、量子化ステップ幅qのいずれの値に関連する速度値Rの計算
は、量子化係数のコードサイズをエミュレートするための単純近似からなってよい。例え
ば、量子化バージョン中の全ての非ゼロ係数coeffに対する項の合計1+2*log
2[abs(coeff)]である。
いくつかの実施形態では、量子化ステップ幅qのいずれの値に関連する速度値Rの計算
は、量子化バージョンの完全なエントロピー符号化の結果であるか、又は量子化バージョ
ンのエントロピー符号化の正確な若しくは近似的なエミュレーションによるものであって
よい。
計算の複雑性は、調査される量子化ステップ幅の状態の数と共に上昇することを理解さ
れたい。しかしながら、得られる速度推定関数の精度も上記数と共に上昇し得る。
いくつかの実施形態では、データの集合の処理は、1つ又は複数の順序対を用いて連続
関数モデルに関するフィッティングパラメータを計算することも含んでよい。フィッティ
ングパラメータもまた、速度推定関数Rk(q)の特徴表示として解釈してよい。関数モ
デルは、以下のうちのいずれかのような、文献に記載されているものであってよい:
k(q)=α+βlog(1/q) [Lin、1998年];
k(q)=α+β/q’ [Lin、1998年];
k(q)=変換残差のラプラス分散に基づく表現式 [Li、2009年]
これらの例示的な連続関数モデルでは、α及びβはフィッティングパラメータである。
フィッティングパラメータの計算は、連続関数モデルと、変換ブロックに対応する量子化
ステップ幅の計算された全ての状態との間の誤差を最小化するために、フィッティングパ
ラメータに値、例えば:
(Rmax,qmin=1)、
(Rmid,qmid)、
(Rmin=0,qmax
を割り当てるための数値法を使用することからなってよい。
図8に示すように、いくつかの実施形態では、デジタル回路構成によってブロック毎に
実施される操作は:各コード化モードMkに関して、コード化モードに関する変換ブロッ
クの1つ又は複数の量子化バージョンにそれぞれ基づいて、1つ又は複数の再構成残差を
生成すること;及び上記再構成残差に基づいて、コード化モードに関する歪み関数Dk
q)の特徴を決定する一次歪みモデル化データ(primary distortion
modeling data:PDMD)を生成することを含んでもよい。(各再構成
残差は、入力ブロックと、変換ブロックの各量子化バージョンに由来する各再構成ブロッ
クとの間の差であってよい。)これらの実施形態では、副次的情報ストリーム730は、
各コード化モード及び各ブロックに関する一次歪みモデル化データも含んでよい。
いくつかの実施形態では、量子化ステップ幅のいずれの値qに関連する歪み値Dの計算
は、変換ブロックの各量子化バージョンに由来する各再構成残差の二乗誤差の合計(SS
E)を含んでよい。
いくつかの実施形態では、データの集合の処理は、1つ又は複数の順序対を用いて連続
関数モデルに関するフィッティングパラメータを計算することも含んでよい。フィッティ
ングパラメータもまた、歪み推定関数Dk(q)の特徴表示として解釈してよい。関数モ
デルは、文献に記載されている以下のものであってよい:
k(q)=αq2 [Sullivan、1998年]
この例示的な連続関数モデルでは、αはフィッティングパラメータである。フィッティ
ングパラメータの計算は、連続関数モデルと、変換ブロックに対応する量子化ステップ幅
の計算された全ての状態との間の誤差を最小化するために、フィッティングパラメータに
値、例えば(D,q)を割り当てるための数値法を使用することからなってよい。
いくつかの実施形態では、デジタル回路構成710によってブロック毎に実施される操
作は;(1)複数のコード化モードのうちの最適化コード化モード及び量子化ステップ幅
qの最適化値に対応する、変換ブロックの量子化バージョンを選択すること(ここで、量
子化ステップ幅の最適化値及び最適化コード化モードは、速度−歪み最適化(RDO)等
の、メザニンエンコーダが使用するいずれの最適化アプローチに基づいて選択されている
);並びに(2)最適化コード化モード及び量子化ステップ幅qの最適化値に対応する上
記量子化バージョンを符号化して、符号化ビデオストリームに寄与する出力ビットを生成
することも含んでよい。伝送回路構成は、符号化ビデオストリームを通信媒体へと伝送す
るよう構成してよい。
いくつかの実施形態では、デジタル回路構成710は、変換回路構成及び符号化回路構
成を含んでよい。変換回路構成は、上記受信、上記変換、各コード化モードMkに関する
上記量子化、上記処理及び上記選択を実施するよう構成してよい。符号化回路構成は、最
適化コード化モード及び量子化ステップ幅qの最適化値に対応する量子化バージョンの上
記符号化を実施するよう構成してよい。一実施形態では、変換回路構成及び符号化回路構
成はパイプライン構成であり、符号化回路構成が変換回路構成よりも、ピクチャシーケン
ス中の順序が前のピクチャに作用する。
いくつかの実施形態では、入力ビデオストリームのブロック毎に実施される操作は:(
1)量子化ステップ幅qの最適化値を用いて、複数のコード化モードのうちの最適化コー
ド化モードに対応する変換ブロックを量子化すること(ここで、量子化ステップ幅の最適
化値及び最適化コード化モードは、速度−歪み最適化(RDO)等の、メザニンエンコー
ダが使用するいずれの最適化アプローチに基づいて選択されている);並びに(2)最適
化コード化モード及び量子化ステップ幅qの最適化値に対応する量子化変換ブロックを符
号化して、符号化ビデオストリームに寄与する出力ビットを生成することを含んでよい。
(1)の量子化ステップは、量子化ステップ幅の1つ又は複数の値を用いた変換ブロック
の上記量子化、即ち上述のステップ(C)の一部として実施される量子化とは別個のもの
であってよい。伝送回路構成は、符号化ビデオストリームを通信媒体へと伝送するよう構
成される。
ある一連の実施形態では、ビデオエンコーダ900は図9に示すように構成してよい。
ビデオエンコーダは、デジタル回路構成910及び伝送回路構成920を含んでよい。(
更にビデオエンコーダ900は、図1〜8、図10〜17に関連して既に述べた又は以下
に述べる特徴、要素及び実施形態のいずれのサブセットを含んでよい。)
デジタル回路構成910は、入力ビデオストリームの複数のブロックのそれぞれに関し
て、以下の操作:(A)1つ又は複数のコード化モードそれぞれに対応する複数の予測残
差を変換して、上記1つ又は複数のコード化モードそれぞれに関する1つ又は複数の変換
ブロックを得ること;並びに(B)各コード化モードMkに関して、各予測残差及び/又
はコード化モードMkに関する各変換ブロックを処理して、コード化モードMkに関する速
度モデル化データ(RMD)を得ることを実施するよう構成してよい。デジタル回路構成
910は、デジタル回路構成710に関連して既に様々に説明したようなハードウェアに
おいて実現できる。
伝送回路構成920は、副次的情報ストリーム930を通信媒体へと伝送するよう構成
してよく、この副次的情報ストリームは、各コード化モード及び各ブロックに関する速度
モデル化データを含む。
いくつかの実施形態では、速度モデル化データは、1つ又は複数のコード化モードのう
ち少なくとも1つに関する速度推定関数Rk(q)の特徴を決定するデータを含んでよく
、ここでqは量子化ステップ幅を表す。
いくつかの実施形態では、デジタル回路構成によってブロック毎に実施される操作は:
各コード化モードMkに関して、コード化モードに関する変換ブロックの1つ又は複数の
量子化バージョンにそれぞれ基づいて、1つ又は複数の再構成残差を生成すること;及び
上記1つ又は複数の再構成残差に基づいて、コード化モードに関する歪みモデル化データ
を生成することを含んでもよく、ここで副次的情報ストリームは、各コード化モード及び
各ブロックに関する上記歪みモデル化データも含んでよい。
いくつかの実施形態では、歪みモデル化データは、上記1つ又は複数のコード化モード
のうち少なくとも1つに関する歪み推定関数Dk(q)の特徴を決定するデータを含み、
ここでqは量子化ステップ幅を表す。
いくつかの実施形態では、デジタル回路構成は更に、入力ビデオストリームの符号化バ
ージョンを表す符号化ビデオストリームを生成するよう構成してよく、ここで伝送回路構
成は、上記符号化ビデオストリームを通信媒体へと伝送するよう構成される。
いくつかの実施形態では、符号化ビデオストリームを生成する動作は、1つ又は複数の
変換ブロックのうち少なくとも1つに作用することを含む。
ある一連の実施形態では、ビデオエンコーダは、以下の様なデジタル回路構成及び伝送
回路構成を含んでよい。デジタル回路構成は、入力ビデオストリームを符号化して符号化
ビデオストリームを得るよう構成してよく、ここで上記符号化は、入力ビデオストリーム
の特性を決定する副次的情報ストリームの生成を含む。伝送回路構成は、符号化ビデオス
トリーム及び副次的情報ストリームを伝送するよう構成してよい。
いくつかの実施形態では、副次的情報ストリームは、入力ビデオストリームの速度及び
/又は歪み特性を決定するデータを含む。
いくつかの実施形態では、副次的情報ストリームは候補運動ベクトルのストリームを含
む。
ビデオ信号変換システム
ある一連の実施形態では、ビデオ信号変換システム1000は図10に示すように構成
してよい。(更にビデオ信号変換システム1000は、図1〜9、図11〜17に関連し
て既に述べた又は以下に述べる特徴、要素及び実施形態のいずれのサブセットを含んでよ
い。)
ビデオ信号変換システムは第1の符号化ビデオストリーム1005を受信し、現在配信
を受けているユーザデバイス1045のために(例えばピクチャサイズ、ビデオフォーマ
ット及びビットレート等の1つ又は複数の因子に関して)カスタマイズされた第2の符号
化ビデオストリーム1035を生成してよい。第1の符号化ビデオストリーム1005の
単一の記憶されたコピーは、異なるユーザデバイスのために異なる方法で信号変換してよ
い。例えば第1の符号化ビデオストリーム1005は、無線ネットワークを介して接続さ
れた移動体デバイスのために、低ビットレート及び小ピクチャサイズに信号変換してよく
、また有線ネットワークを介して接続されたホームシアターのために、高ビットレート及
び大ピクチャサイズに信号変換してよい。更にビデオ信号変換システム1000は、ビデ
オ信号変換システムとユーザデバイスとの間のチャネルの状態に応じて、例えばユーザデ
バイスから受信したフィードバックに基づいて、第2の符号化ビデオストリームの出力ビ
ットレートを動的に調整してよい。第2の符号化ビデオストリームは、通信媒体1040
(例えば無線ネットワーク、又は有線ネットワーク、又は無線ネットワークと有線ネット
ワークとの併用)を介してユーザデバイスに伝送される。ビデオ信号変換システム100
0は、例えばネットワークエッジトランスコーダに関連して上述したように、ネットワー
クの辺縁又はその付近に配置してよい。
ビデオ信号変換システム1000は、幅広い文脈及び用途において使用できる。例えば
ビデオ信号変換システム1000を、無線ネットワークの無線アクセスポイント(例えば
基地局)に連結してよい。従って通信媒体1040は、アクセスポイントとユーザデバイ
スとの間の無線インタフェースであってよい。この文脈において、第2の符号化ビデオス
トリーム1035をカスタマイズして動的なビットレート制御を適用する性能は、無線イ
ンタフェースが利用できる帯域幅が限定されているため、及びチャネルが極めて動的な特
性を有するため、特に有用である。
一応用例では、ビデオ信号変換システム1000をコンテンツ配信ネットワーク(CD
N)のオペレータが使用してよく、ビデオ信号変換システム1000はCDNの辺縁又は
その付近に配置してよい。従ってビデオ信号変換システム1000が供給する出力は、C
DNオペレータの制御範囲外にある通信媒体1040を介してユーザデバイスに伝送でき
る。ビデオ信号変換システム1000は、システム520のネットワークエッジトランス
コーダとして使用してよい(図5、6を参照)。
ビデオ信号変換システム1000は、デコーダ1010、スケーリング部1020及び
出力エンコーダ1030を含んでよい。デコーダ1010は、第1の符号化ビデオストリ
ーム1005を受信及び復号化することで、復号化ビデオストリーム1015を得るよう
構成してよい。
スケーリング部1020は、復号化ビデオストリームを標的ピクチャ解像度にスケーリ
ングして、スケーリング済みビデオストリーム1025を得るよう構成してよい。標的ピ
クチャ解像度は、第1の符号化ビデオストリーム1005が潜在的に有するピクチャ解像
度より低くてよく、又はこれと同一であってよく、又はこれより高くてもよい。
出力エンコーダ1030は、第1の符号化ビデオストリームに関連する(例えば既に様
々に説明したような)副次的情報ストリーム1028を受信し、この副次的情報ストリー
ム1028を用いてスケーリング済みビデオストリームを符号化して、第2の符号化ビデ
オストリーム1035を得るよう構成してよい。
第1の符号化ビデオストリーム1005は、ソースビデオストリームの符号化されたバ
ージョンとして解釈してよい。(いくつかの実施形態では、第1の符号化ビデオストリー
ムは、メザニンエンコーダ510、ビデオエンコーダ700又はビデオエンコーダ900
が生成したストリームである。)副次的情報ストリーム1028は、ソースビデオストリ
ームの特性を決定するメタデータを含んでよい。例えば副次的情報ストリームは、ソース
ビデオストリームのブロックの速度及び/又は歪み特性を決定する情報を含んでよい。別
の例として、副次的情報ストリームは、ソースビデオストリームのブロックに関する運動
ベクトルを含んでよい。副次的情報を出力エンコーダ1030が使用することで、最適な
(又は最適に近い)コード化決定、例えば所定のブロックに対して使用するコード化モー
ド、又は所定のブロックに対して使用する量子化ステップ幅の値、又は所定のブロックに
対して最適なインタ予測を得られる可能性が高い1つ若しくは複数のベクトルの決定等を
、計算効率が高い方法で行うことができる。
いくつかの実施形態では、副次的情報ストリームはN個のコード化モードそれぞれに対
応するN個の速度情報ストリームを含み、ここでNは1以上である。N個の速度情報スト
リームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック予測を
推測する、第1の符号化ビデオストリームのブロック毎の対応する速度推定関数Rk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
いくつかの実施形態では、Nの値はピクチャ毎に変動し得る。例えば、第1の符号化ビ
デオストリームの(Pピクチャ又はBピクチャ等の)所定のコード化されたピクチャに関
してはNは2に等しくてよく、この場合速度情報ストリームRIS1はイントラコード化
モードに対応してよく、速度情報ストリームRIS2はインタコード化モードに対応して
よい。あるいは、Nの値は固定されているものと解釈してよく、しかしながらいくつかの
ピクチャに関しては、N個の速度情報ストリームのうち1つ又は複数は休止状態であって
よい。例えばN=2の場合、イントラピクチャはインタコード化モードのための速度情報
ストリームを必要とせず、その一方でPピクチャ又はBピクチャは、イントラ速度情報ス
トリーム及びインタ速度情報ストリームの両方を使用し得る。
いくつかの実施形態では、各速度情報ストリームRISkは、連続関数モデルに関連す
る2つ以上のフィッティングパラメータの対応するセットにより、各ブロックに関して速
度推定関数Rk(q)の特徴を決定する。連続関数モデルはいずれの様々な形態を有して
よい。一実装形態では、連続関数モデルは以下の形態:
k(q)=α+βlog(1/q) [Lin、1998年]
を有し、ここでα及びβはフィッティングパラメータである。
いくつかの実施形態では、副次的情報ストリームはまた、N個の歪み情報ストリームを
含み、N個の歪み情報ストリームの各歪み情報ストリームDISkは、各コード化モード
に基づいてブロック予測を推測する、第1の符号化ビデオストリームのブロック毎の対応
する歪み推定関数Dk(q)の特徴を決定する。各歪み情報ストリームDISkは、連続関
数モデルに関連する1つ又は複数のフィッティングパラメータの対応するセットにより、
各ブロックに関して歪み推定関数Dk(q)の特徴を決定してよい。連続関数モデルはい
ずれの幅広い形態を有してよい。例えば一実装形態では、連続関数モデルは以下の形態:
k(q)=αq2 [Sullivan、1998年]
を有し、ここでαはフィッティングパラメータである。
いくつかの実施形態では、副次的情報ストリームは、出力エンコーダ1030の速度制
御プロセスへの入力として使用される。典型的な速度制御アルゴリズムは、あるピクチャ
に関する集計速度関数RA(q)及びそのピクチャに関する集計歪み関数DA(q)に基づ
くものであってよい。副次的情報ストリームは、スケーリング済みビデオストリームの所
定の標的ピクチャ解像度に関するRA(q)及びDA(q)を計算するために必要な情報を
含有してよい。速度制御アルゴリズムは、標的ビットレートを達成するために、並びに第
2の符号化ビデオストリームを受信する遠隔デコーダにおけるコード化ピクチャバッファ
のオーバフロー及びアンダフローを回避するために、スケーラ値λを調整することを含ん
でよい。
いくつかの実施形態では、第1の符号化ビデオストリームの所定のコード化されたピク
チャに関して、N=2であり、この場合歪み情報ストリームDIS1はイントラコード化
モードに対応してよく、歪み情報ストリームDIS2はインタコード化モードに対応して
よい。
いくつかの実施形態では、出力エンコーダ1030は、副次的情報ストリームを処理し
て、スケーリング済みビデオストリームの各フレームに関する集計速度推定関数RA(q
)を得るよう構成してよく、ここでqは量子化ステップ幅を表す。集計速度推定関数RA
(q)は、ブロックコード化モード及び/又は量子化器の選択に使用できる。
いくつかの実施形態では、出力エンコーダ1030は、副次的情報ストリームを処理し
て、スケーリング済みビデオストリームの各フレームに関する集計歪み推定関数DA(q
)を得るよう構成してよい。集計歪み推定関数DA(q)は、ブロックコード化モード及
び/又は量子化器の選択に使用できる。
いくつかの実施形態では、出力エンコーダ1030は、副次的情報ストリームを更に処
理して、スケーリング済みビデオストリームの各フレームに関する集計速度推定関数RA
(q)及び集計歪み推定関数DA(q)を得るよう構成してよい。
いくつかの実施形態では、出力エンコーダは:(a)N個の速度情報ストリームに基づ
いて、あるピクチャに関する集計速度関数RA(q)を計算するよう;(b)N個の歪み
情報ストリームに基づいて、上記ピクチャに関する集計歪み関数DA(q)を計算するよ
う;(c)集計速度関数RA(q)及び集計歪み関数DA(q)に基づいて、上記ピクチャ
に関する集計スケール関数λ(q)を計算するよう(ここでスケーリング済みビデオスト
リームの上記符号化は、スケーラ値λでパラメータ化した速度−歪み費用関数に基づくラ
グランジュ型最適化を用いてピクチャを符号化することを含む);並びに(d)集計速度
関数RA(q)、集計歪み関数DA(q)及び集計スケール関数λ(q)を用いてスケーラ
値λを制御するよう、構成してよい。
集計速度関数RA(q)及び集計スケール関数λ(q)を計算するためのいくつかの実
施形態で使用されるプロセスを図11に示す。プロセス1100は、ピクチャ内の全ての
ブロックの寄与を検数し、その結果、上記ピクチャに関する集計速度関数RA(q)11
45、即ち上記ピクチャに関する量子化ステップ幅の関数として速度の特徴を決定するデ
ータが得られる。複数のブロックに亘る検数は、ループ構成1110によって提案される
。量子化ステップ幅qの各値に関して、ピクチャのプロセスは:(1)1120に示すよ
うに、インタ速度推定関数Rk(q)を用いて関数モデルを評価することにより、量子化
ステップ幅qに対応するインタ速度のブロック関連値を計算し;(2)1125に示すよ
うに、インタ速度推定関数Rk(q)を用いて関数モデルを評価することにより、qst
ep値に対応するイントラ速度のブロック関連値を計算し;(3)1130に示すように
、より低い速度値を有するブロックコード化モード(インタ又はイントラ)を選択し;(
4)1135に示すように、ブロックに関する上記より低い速度値をピクチャ関連速度関
数RA(q)に累算し;(5)1140に示すように、ピクチャ関連値RA(q)に補正係
数(ratefitと呼ぶ)を適用して、推定の精度を改善してよい。ループ構成111
5は、量子化ステップ幅全体に亘る反復を示している。図11では、量子化ステップ幅に
対するループは複数のブロックに亘るループの内側にあるものとして示されているが、代
替実施形態では、この入れ子構造は逆になっていてよく、即ち複数のブロックに亘るルー
プが内側ループであってよい。また2つのループのいずれか又は両方に亘る反復は並行し
たものであってよいことを理解されたい。
いくつかの実施形態では、例えば以下の式:
A(q)←ratefit*RA(q)
に基づいて、補正1140を適用してよい。ここでratefitは、予測サイズと、ビ
デオシーケンス内の順序が前のピクチャから得られた実際のサイズとを比較することによ
って計算される値である。
量子化ステップ幅qの範囲全体に亘ってピクチャ関連関数RA(q)を計算した後、ル
ープ1150で示すように、量子化ステップ幅q全体に亘ってピクチャ関連ラムダ関数λ
(q)を計算する。ピクチャ関連ラムダ関数λ(q)は、例えば速度制御アルゴリズムで
使用してよい。
1155において、数値的手法を用いて、ピクチャ関連速度導関数dRA(q)/dq
の値を量子化ステップ幅qの範囲全体に亘って計算する。表記dRA(q)/dqは、量
子化ステップ幅に対する速度の導関数を表す。
1160において、以下の式:
λ(q)=−(dDA(q)/dq)/(dRA(q)/dq)
に従って、qstepの現在の値に関してピクチャ関連ラムダ関数λ(q)の値を計算し
てよい。ここでdDA(q)/dqはピクチャ関連歪み導関数である。
いくつかの実施形態では、導関数dDA(q)/dq又はこの関数の特徴を決定する1
つ若しくは複数のパラメータは、プロセス1100の入力として供給してよい。例えば:
dDA(q)/dq=定数
であり、定数の値は例えば、一連の例示的なビデオクリップのオフライン分析によって経
験的に決定できる。
他の実施形態では、集計歪み関数DA(q)及びその導関数は、プロセス1100と同
様の方法で、いずれのブロックに関する歪み推定関数Dk(q)からの寄与を加算するこ
とによって計算できる。
いくつかの実施形態では、集計速度関数RA(q)、集計歪み関数DA(q)及び集計ス
ケール関数λ(q)は、閉じた形式の等式としてではなく、一連の別個の量子化ステップ
幅の値に対する値のリストとして計算及び記憶してよい。この場合であっても、各関数は
連続写像であると考えてよく、中間値が内挿によって計算される。更に各関数は、基礎と
なるブロック毎の速度及び歪み推定関数が単調関数であるため、一対一(即ち可逆)写像
であると理解される。
集計速度関数RA(q)を計算するためのプロセス1100では、出力解像度における
各ブロックに関する速度の寄与は、スケーラ部1020の動作によって出力解像度が入力
解像度と異なる場合、写像された速度推定関数R’k(q)から得られるものであってよ
い。出力解像度における所定のブロックに関する写像された速度推定関数R’k(q)は
、第1の符号化ビデオストリーム1005の対応するスケーリング済み位置における、1
つ又は複数のブロックの速度推定関数Rk(q)に等しい。
副次的情報ストリームが歪みモデル化情報を含む場合、これもまた、写像された速度推
定関数と同一の方法で、写像された歪み推定関数として累算される。
信号変換システム1000のいくつかの実施形態では、副次的情報ストリームは、第1
の符号化ビデオストリームの各ブロックに関する1つ又は複数の候補運動ベクトルを含ん
でよく、ここで出力エンコーダは、上記1つ又は複数の候補運動ベクトルに基づいて、運
動ベクトル空間内の1つ又は複数の領域に限定された各ブロックに関する高解像度運動ベ
クトル精密化を実施するよう構成される。標的ピクチャ解像度が、第1の符号化ビデオス
トリームが潜在的に有するピクチャ解像度と同一でない場合、候補運動ベクトルをスケー
リングしてよい。
いくつかの実施形態では、デコーダ1010は、第1の符号化ビデオストリーム100
5からの各ブロックに関する運動ベクトルを、第1の符号化ビデオストリームの上記復号
化の一部として再生するよう構成してよい。これらの実施形態では、出力エンコーダは、
ブロックに関する運動ベクトルに基づいて、運動ベクトル空間内の1つ又は複数の領域に
限定された各ブロックに関する運動ベクトル精密化を実施するよう構成してよい。標的ピ
クチャ解像度が、第1の符号化ビデオストリームが潜在的に有するピクチャ解像度と同一
でない場合、候補運動ベクトルをスケーリングしてよい。
出力エンコーダ1030は、符号化選択空間全体に亘る速度歪み関数Jを最小化するこ
とによって、スケーリング済みビデオストリームのブロックを符号化するよう構成してよ
く、ここで速度歪み関数Jは、関係式J=R(c)+λD(c)に従って、スケーラ値λ
によってパラメータ化され、ここでベクトルcは符号化選択の所定のリアライゼーション
を表し、速度関数R(c)は、リアライゼーションcの下でブロックを符号化することで
生成されるビット数の推定(又は測定値)であり、歪み関数D(c)は、リアライゼーシ
ョンcの下でブロックを符号化することで生成されるブロック歪みの推定(又は測定値)
である。符号化選択は、量子化ステップ幅qの選択を含んでよい。Nが1より大きい場合
、符号化選択はN個のコード化モードからのコード化モードの選択も含んでよい。
いくつかの実施形態では、副次的情報ストリームは、(例えばPピクチャ又はBピクチ
ャに関して)ブロック毎に1つ又は複数の候補運動ベクトルを含む。これらの実施形態で
は、符号化選択は、1つ又は複数の候補運動ベクトルを含む一連のベクトルからの1つの
運動ベクトルの選択も含んでよい。上記一連のベクトルは、第1の符号化ビデオストリー
ムの上記復号化の一部として第1の符号化ビデオストリームから再生される復号化運動ベ
クトルも含んでよい。
いくつかの実施形態では、出力エンコーダ1030は:(a)N個の速度情報ストリー
ムに基づいて、あるピクチャに関する集計速度関数RA(q)を計算するよう;並びに(
b)集計速度関数RA(q)及び集計歪み関数DA(q)に基づいて、上記ピクチャに関す
る集計スケール関数λ(q)を計算するよう、構成してよい。これらの実施形態では、ス
ケーリング済みビデオストリームを符号化する動作は、スケーラ値λでパラメータ化した
速度−歪み関数に基づくラグランジュ型最適化を用いてピクチャを符号化することを含ん
でよい。更に出力エンコーダは、集計速度関数RA(q)、集計歪み関数DA(q)及び/
又は集計スケール関数λ(q)を用いてスケーラ値λを制御することにより、第2の符号
化ビデオストリームを受信する遠隔デコーダのコード化ピクチャバッファのオーバフロー
又はアンダフローを回避するよう構成してよい。
いくつかの実施形態では、出力エンコーダ1030は:(1)スケーラ値λでパラメー
タ化した速度−歪み関数を用いたラグランジュ型最適化に基づいて、スケーリング済みビ
デオストリームを符号化するよう;及び(2)副次的情報ストリームに基づいてスケーラ
値λを動的に調整することにより、第2の符号化ビデオストリームを受信する遠隔デコー
ダのコード化ピクチャバッファのオーバフロー又はアンダフローを防止するよう、構成し
てよい。
いくつかの実施形態では、スケーラ値λを調整するためのアルゴリズムは、[Lin
1995]、[Weigand 1996]、[Lin 1998]又は[Choi 1
994]を含む文献から得られる、数多くの速度歪み最適化ベースの速度制御アプローチ
のいずれであってよい。これらの文献は全て、集計速度関数RA(q)及び集計歪み関数
A(q)に基づく、又は集計速度関数RA(q)及び集計歪み関数DA(q)から計算で
きるDA(RA)等のその他の関数に基づく制御方法について記載している。これらの文献
は全て、スケーラ値λを動的に調整することによって速度制御を達成する制御方法につい
て記載している。
いくつかの実施形態では、文献に記載された速度制御アルゴリズムにより、ピクチャ内
の全てのブロックに均一な値の量子化ステップ幅qを適用することになる。[Choi
1994]に記載されているもの等のその他の実施形態では、副次的情報ストリーム内に
見られるブロックレベルでの速度推定関数Rk(q)及び歪み推定関数Dk(q)を用いて
、適応量子化を達成してよく、その結果、出力ピクチャの全ブロックに関する一連の最適
な量子化ステップ幅qによって、標的ビットレートの制約内で最小の歪みが得られる。
いくつかの実施形態では、ビデオ信号変換システム1000はまた、通信媒体1040
を介して第2の符号化ビデオストリームを(例えばユーザデバイスと関連する)遠隔ビデ
オデコーダに伝送するよう構成された、伝送回路構成を含んでよい。例えばこの伝送回路
構成は、空間を通して信号を伝送するよう構成された無線トランスミッタ(又はトランシ
ーバ)を含んでよい。無線トランスミッタは、無線通信ネットワークの基地局の一部であ
ってよい。別の実施形態では、伝送回路構成は、インターネット等のIPネットワークに
データを伝送するためのネットワークインタフェースであってよい。
いくつかの実施形態では、出力エンコーダ1030は、補助情報を受信して、この補助
情報をスケーリング済みビデオストリームに挿入するよう構成してよい。この補助情報は
以下の1つ又は複数を含んでよい:事業体のブランド設定情報;広告情報;デジタル著作
権管理(DRM)情報;ウォーターマーク機能を提供するデジタル情報;及びコンテンツ
プロバイダ、コンテンツ配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複
数のカスタマイズ用特徴。
いくつかの実施形態では、デコーダ1010、スケーリング部1020及び出力エンコ
ーダ1030のうち少なくとも1つは、並列プロセッサのアレイ上で実行されるよう構成
されたソフトウェアを用いて実装される。例えば上記並列プロセッサのアレイは、並列プ
ロセッサの2次元アレイであってよい。
いくつかの実施形態では、デコーダ、スケーリング部、出力エンコーダは、並列プロセ
ッサのアレイ内のプロセッサの別個のサブセット上に実装される。
ビデオ圧縮のための速度制御
本特許は特に、ビデオ圧縮エンコーダのためのビットレート制御方法を開示する。本ビ
ットレート制御方法は、例えばハイブリッドエンコーダを含むいずれのビデオ圧縮方法に
適用できる。(ハイブリッドエンコーダは運動補償を使用し、ピクチャ毎にビット割り当
てが大きく変動するという特性を有する。)本ビットレート制御方法は、極めて多数の相
互依存性の符号化選択に関する最適な解決法が望まれているH.264符号化規格に応用
できるものとして説明される。しかしながら必要に応じてその他の規格を用いることもで
きる。
更に、本ビットレート制御方法は、いずれのハードウェア及び/又はソフトウェア実装
に適用可能であることに留意されたい。いくつかの実施形態では、本ビットレート制御方
法は、HyperXプロセッサ(Coherent Logix(商標)の製品)、フィ
ールドプログラマブルゲートアレイ(FPGA)又は特定用途向け集積回路(appli
cation specific integrated circuit:ASIC)
(これは一般に、データ従属性に関して、命令的プログラミングモデルに基づく直列化さ
れたソフトウェア実装形態よりも大きな制約を有する)のための実装等、極めて並列な実
装に適合できる。他の実施形態では、本ビットレート制御方法は直列化されたソフトウェ
ア実装に適合できる。
いくつかの実施形態では、本速度制御方法は、非圧縮ビデオサンプルを入力として用い
て圧縮ビデオ出力ビットストリームを生成する従来のエンコーダに適用される。他の実施
形態では、本速度制御方法は、既に符号化したビデオ基本ストリームを、例えばより低い
ビットレートの新規のビットストリームに変換する、ネットワークエッジトランスコーダ
に適用される。更に他の実施形態では、本速度制御方法は、ビデオコンテンツに関する分
析データの中間ストリームを生成するための分析及び運動推定を実施する第1の部分と、
上記中間ストリームを入力として用いて適合性ビデオ基本ストリーム出力を生成する第2
の部分とに符号化プロセス全体が分割されている分割構成に適用できる。
ビデオ圧縮エンコーダにおける速度制御の一般的な目標は、多数の符号化アルゴリズム
選択(これら全ては、出力ビットストリームのビットレート及びピクチャ品質に影響する
)に関する決定を行うことである。品質及びビットレートに最も影響する符号化パラメー
タは、量子化パラメータ(quantization parameter:QP)であ
るが、運動ベクトル選択、運動モード選択、イントラモード選択及びマクロブロックモー
ド決定等、その他の無数の選択が重要である。
いくつかの実施形態では、本ビットレート制御方法は、全ての符号化決定を補助するた
めの包括的アプローチを利用してよく、その結果所定の標的ビットレートに関する歪みが
最小となる。本ビットレート制御機構は、ビデオ入力及び分析から始まって運動推定、イ
ントラモード分析、変換コード化及びエントロピー符号化を経由するエンコーダの主要な
パイプラインステージ全てに分散されて組み込まれた多数の構成部品を含んでよい。
速度制御システムの構成部品及び特徴
一実施形態では、ビットレート制御システムは、バッファモデル、速度−歪み最適化、
マクロブロックモデル、イントラ複雑性分析、運動分析、ピクチャタイプ選択及び速度制
御機構を伴うものであってよい。
バッファモデル:エンコーダは、エンコーダが生成したビットストリームが、圧縮ピク
チャバッファのプレイバック時にアンダフロー又はオーバフローしないことを保証するた
めに、デコーダの圧縮されたピクチャバッファのモデルを保持してよい。バッファモデル
は、H.264では仮想参照デコーダ(Hypothetical Reference
Decoder:HRD)と呼ばれ、MPEG−2では仮想バッファ検証器(Virt
ual Buffer Verifier:VBV)と呼ばれる。H.264はまた、理
想化されたエンコーダ及び伝送チャネルを含み、これは仮想ストリームスケジューラ(H
ypothetical Stream Scheduler:HSS)と呼ばれる。い
くつかの実施形態では、速度制御システムはHRD/HSS併用モデルを実装してよい。
速度−歪み最適化原理:速度−歪み最適化(RDO)は、全ての符号化決定を標的ビッ
トレートに適合させるための統一型機構を提供してよい。これは、リソースの最適な割り
当てという問題を解決するためのより一般的なラグランジュ型最適化技術の、特定の応用
例である。以下により詳細に説明するラグランジュ乗数λは、速度制御システムが制御す
る変数であってよい。符号化パラメータ並びにQP及びコード化モード等の選択の全て、
従ってエンコーダの出力のビットレートは、λの値に依存してよい。
マクロブロックモデル:マクロブロックモデルは、例えば原初ソース画像サンプル値又
はこれに対応する変形係数の代替として、速度制御目的のマクロブロックの簡略化した記
述として利用できる。各コード化マクロブロックに関して少数のフィッティングパラメー
タを用いて、速度制御システムは、ビットストリームとなるビット数、上記マクロブロッ
クに関する歪み、所定の値のγに対して使用するべきQPの値を推定又は予測してよい。
フィッティングパラメータは、例えば入力サンプル分析、運動推定の結果及び変換係数を
含むデータソースの数から決定してよい。
イントラ複雑性分析:エンコーダへの入力を分析して、ビデオフレーム内のビデオサン
プルの複雑性を表す性能指数を得てよい。(この分析をイントラ予測モード分析と混同し
ないよう留意されたい。)イントラ複雑性分析の結果を、マクロブロックモデルへの入力
として提供してよい。
運動分析:基準フレームからの運動補償を用いて現在のピクチャにおけるマクロブロッ
クのサンプルをいかに良好に予測できるかの尺度を、移動推定プロセスの一部として計算
してよい。この尺度は、あり得るマクロブロックモードの選択(インタ対イントラ)のた
めの基礎を提供でき、マクロブロックへの別の入力となり得る。あり得るマクロブロック
モードは、予測が良好でないマクロブロックに関してはイントラ、予測が良好なマクロブ
ロックに関してはインタを設定してよい。
ピクチャタイプ選択:ピクチャタイプの選択は、2つの機構を含んでよい。ピクチャの
グループ(group of pictures:GOP)スケジュールは、ユーザ指定
ケーデンスに従って予備ピクチャタイプを決定できる。イントラピクチャ間の時間はキー
フレーム間隔と呼ばれ、1(これは全てのフレームがイントラタイプであることを暗に示
す)から数百フレームの値を有してよい。連続するBピクチャの使用数(典型的には0〜
3の範囲)をユーザが指定する場合、Pピクチャ間の時間を決定してよい。
GOPスケジュールが予備ピクチャタイプを決定した後、シーン変更検出アルゴリズム
は、予定されたB又はPピクチャをイントラピクチャとしてコード化してよい。急速運動
検出アルゴリズムにより、予定されたBピクチャをPピクチャとしてコード化してよい。
予定されたピクチャタイプを無視すると、後続のピクチャに関するGOPスケジュールに
影響し得る。
シーン変更及び急速運動検出アルゴリズムは、運動分析メトリクスに基づくものであっ
てよい。運動分析メトリクスは、運動推定プロセスの一部として計算してよい。
先読み処理:イントラ複雑性分析、運動分析及びピクチャタイプ選択は、実際のコード
化関数に先んじて多くのピクチャに対して実施できる。有用な先読み量は、デコーダのコ
ード化ピクチャバッファに記憶できる圧縮ピクチャ数に適合しており、上記圧縮ピクチャ
数は場合によっては最大20フレーム、又はこれより多い。スライディング先読みウィン
ドウ内の全フレームに関する情報の組み合わせを、速度制御機構の一部として使用してよ
い。
速度制御機構:速度制御機構は、離散時間フィードバック制御システムであってよい。
速度制御機構は、λの値をできる限り一定に維持しようとするものであってよい。現在の
ピクチャの複雑性及び先読みウィンドウ内の他のピクチャの複雑性に基づくデコーダバッ
ファ占有量の投射により、速度制御機構はラムダの値を増大又は減少させることができる
。このように離散時間システム分析技術は、フィードバック制御システムの設計において
安定性を保証するために使用してよい。
図12、13:速度制御システムのブロック図
図12は、一実施形態によるH.264エンコーダの後半、又はネットワークエッジト
ランスコーダの後半を示す。上記後半は、変換ステージ1210、エントロピーコード化
ステージ1215及びビットストリーム形成ステージ1220を含んでよい。統合型速度
制御構成要素は、イントラ複雑性及び運動分析情報のフレームバッファA、スケーラ値λ
のための入力、ピクチャサイズ出力、並びに(変換ステージ内での)qstep選択に関
するマクロブロックモデルの実装を含んでよい。ピクチャサイズ出力は、変換段階からの
暫定ピクチャサイズ(provisional picture size:PPS)及
び実際のピクチャサイズ(actual picture size:APS)を含んで
よい。所定のピクチャに関する実際のピクチャサイズの伝送は、上述の実施形態における
処理のパイプライン型の性質により、上記ピクチャに関する暫定ピクチャサイズの伝送に
対して遅れてよい。
図12は、様々なフレームバッファの相対的な位置及び使用を示す。フレームバッファ
は:
現在のピクチャのルマ(輝度)及びクロマ(彩度)サンプルに関するバッファA;運動ベ
クトル及び予測サンプルに関するバッファB;イントラ複雑性及びマクロブロック毎の運
動分析に関するバッファCの;運動推定精密化のための再構成サンプルに関するバッファ
D;コード化マクロブロック情報に関するバッファE;並びにスライスデータに関するバ
ッファFを含んでよい。
上述のようにこの実施形態では、変換ステージ1210は入力として、バッファA(現
在のピクチャのルマ及びクロマサンプル)、バッファB(運動ベクトル及び予測サンプル
)、バッファC(イントラ複雑性及びマクロブロック毎の運動分析)からのデータ並びに
スケーラ値λを受信し、バッファD(再構成サンプル)及びバッファE(コード化マクロ
ブロック情報)への出力並びに暫定ピクチャサイズに関連する情報を提供する。この実施
形態では、エントロピーコード化ステージ1215は、バッファE(コード化マクロブロ
ック情報)からの入力データを受信し、スライスデータ(バッファFへ)及び実際のピク
チャサイズを出力する。ビットストリーム形成ステージ1220は、バッファFからスラ
イスデータを受信し、対応する出力ビットストリームの一部を生成する。
図13は、H.264エンコーダの前半の一実施形態を示す。速度制御構成要素は、イ
ントラ複雑性分析1310、バッファモデル1315、ピクチャタイプ選択1320及び
速度制御機構1325を含んでよい。粗い運動推定ステージ1330内には、移動分析プ
ロセスが存在してよい。イントラ複雑性情報及び運動分析情報は、バッファCを介して変
換ステージに供給してよく、ピクチャサイズ情報は下流のステージからのフィードバック
として受信してよい。ピクチャサイズ情報は、変換ステージからの暫定ピクチャサイズP
PS及び実際のピクチャサイズ(APS)を含んでよい。
既に説明したバッファA、B、C、Dに加えて、図13のサブシステムは、バッファG
、H、I、J、Kを利用してよい。バッファGは、現在のピクチャのルマ及びクロマサン
プルに関するものである。バッファHは、間引かれた現在のピクチャ及び基準ピクチャ(
ルマ)に関するものである。バッファJは、イントラ複雑性分析結果に関するものである
。バッファKは運動分析結果に関するものである。バッファIは粗い運動ベクトルに関す
るものである。
図13に示すように、イントラ複雑性分析プロセス1310は、バッファG(現在のピ
クチャのルマ及びクロマサンプル)から入力データを受信して、バッファJ(イントラ複
雑性分析結果)に出力を提供してよい。現在のピクチャの間引きプロセス1328は、バ
ッファH(間引かれた現在のピクチャ及び基準ピクチャ)に出力を提供してよい。バッフ
ァモデル1315は図示したように、暫定ピクチャサイズPPS及び実際のピクチャサイ
ズAPSを受信して、速度制御機構に出力を提供してよい。粗い運動推定プロセス133
0は、バッファH(間引かれた現在のピクチャ及び基準ピクチャ)から入力を受信して、
バッファK(運動分析結果)及びバッファI(粗い運動ベクトル)に出力を提供してよい
。ピクチャタイプ選択プロセス1320は、バッファJ(イントラ複雑性分析結果)及び
バッファK(運動分析結果)から入力を受信して、運動推定精密化プロセス1335に出
力を提供してよい。速度制御機構は1325は、バッファモデルから、バッファJ(イン
トラ複雑性分析結果)から、及びバッファK(運動分析結果)から入力を受信して、ラグ
ランジュ型乗数λの値を図12の変換ステージ1210及び運動推定精密化プロセスに供
給してよい。最後に、運動推定精密化プロセス1335は、バッファA(現在のピクチャ
のルマ及びクロマサンプル)から、バッファI(粗い運動ベクトル)から、ピクチャタイ
プ選択プロセス(ピクチャタイプ)から、速度制御機構(λの値)から、及びバッファD
(運動推定精密化のための再構成サンプル)から入力を受信してよく、またバッファB(
運動ベクトル及び予測サンプル)及びバッファC(イントラ複雑性及びマクロブロック毎
の運動分析)に出力を提供してよい。
図12、13に示す要素の特定の構成は、本明細書に開示する本発明の原理の一例とし
ての意味しかなく、実装形態をいずれの特定の形態、機能又は外見に限定することを意図
したものではないことに留意されたい。
システム構成要素の詳細
ある一連の実施形態による速度制御システムの構成要素又は特徴に関する更なる詳細を
以下に提供する。
速度−歪み最適化原理
可能な符号化選択のN次元空間におけるいずれの所定の点に関して、以下の値を計算で
きる:
R=速度=符号化選択から得られるビットストリーム中のビット数
D=歪み=上記選択による非可逆符号化アルゴリズムによって生じる歪み
歪みは多数の距離基準のいずれかに基づくものであってよい。一般に使用されるピーク
信号対ノイズ比(peak signal−to−noise ratio:PSNR)
は、エンコーダへの入力サンプルのブロックと、局部デコーダによって提供される再構成
サンプルのブロックとの間の平均二乗誤差(mean squared−error:M
SE)に基づく。MSEを歪みの尺度として用いることにより、アルゴリズムを最適化し
てPSNRを改善できる。
平均絶対値差分(Mean Absolute Difference:MAD)は、
絶対値差分の合計(Sum of Absolute Differences:SAD
)と密接に関連しており、これもまた、歪みの実際の値が得られるいずれの距離基準と同
等に使用してよい。
上述のように、速度−歪み最適化理論は費用関数Jを以下のように定義する:
J=D+λR
ラグランジュ型最適化は、λの所定の値に関してJを最小化する技術であり、ここでλ
は上述のようにラグランジュ乗数である。
Jを最小化する選択を選び取る別の手段を通して特定の符号化選択を選択するために、
量子化パラメータQPの選択は、エンコーダで行われるこのような選択の1つである。Q
Pに対応する連続変数はqstepである。いくつかの実施形態では、qstepは以下
の式:
qstep=A*2^(QP/6)
によってQPと関連し、ここでAは固定された定数であり、「^」は冪乗を表す。
qstepは連続変数であり;R(qstep)は単調減少し、その導関数は連続関数
であり;D(qstep)は単調増加し、その導関数は連続関数であると仮定する。qs
tepの上述の2つの関数はいずれも上に凸であることがわかる。従って図14に示すよ
うに、費用関数Jの最小値は、qstepmin又はqstepmaxにおいてではなく、qs
tepの何らかの中間値において達成される。図14は費用Jをqstepの関数として
示し、最適費用Jminはqstep=qstepbestにおいて達成されることを示す。
最小費用Jを前提とした速度の関数として歪みを表すこともできる。関数D(R)の形
状は図15に示すように上に凸であることがわかる。D(R)のグラフ上の各点は、qs
tepの異なる値に対応する。Jの最小化は、Jの導関数がゼロであることを意味し、従
って
dD/dR=−λ
である。従ってλは、図15に示すようにカーブD(R)の負の傾きであり、λとqst
epの間には写像が存在する。
R(qstep)及びD(qstep)に関する表現が可能である場合、これらを用い
て、以下の式:
λ(qstep)=−(dD/dqstep)/(dR/dqstep)
に従ってqstepからλを計算できる。
逆関数qstep(λ)は閉じた式ではない場合が多い。従って、順関数λ(qste
p)の特徴を決定すれば、qstepの所定の値における逆関数qstep(λ)の値を
数値的に近似することは容易である。
本明細書に記載の速度制御システムは、これらの所見に基づくものであってよい。いく
つかの実施形態では、λは速度制御システムによって制御される値であり、qstepは
上述の逆関数による従属変数である。
概念的には、速度制御がλに基づくものであれば、速度と歪との間の一定のバランスが
、エンコーダによる、全ピクチャに亘るピクチャ毎の全ての決定に対して適用されるため
、合理的である。画像の複雑性が可変である場合、このアプローチにより、必要に応じて
、複雑な領域に対するより多くのビットの割り当てが可能となる。
以下の節では、特にQP選択に関する方法について説明する。
Qstep選択のためのマクロブロックモデルの適用
qstepの値は、離散コサイン変換(discrete cosine trans
form:DCT)計算から得られる係数を量子化するために必要となり得る。写像関数
qstep(λ)は存在するが、これはマクロブロックの全てのコード化ブロック及びコ
ード化モード(例えばインタ対イントラ)に固有のものである。
いくつかの実施形態では、上記変換計算後に利用可能な情報を用いて、(例えば計算的
/経済的に実行可能な)現実的なqstep(λ)の計算を実装してよい。上記利用可能
な情報は、マクロブロックに関するイントラ複雑性分析の結果、マクロブロックに関する
運動分析の結果及び変換係数のリストを含んでよい。変換係数は最も有用な情報を提供し
得る。量子化された係数は固定コード化式によってエントロピーコード化されるため、こ
れらの値からR(qstep)を推定できる。非ゼロ係数に関するビットにおける費用は

1+2*log(|coeff|)
に略等しいか又はこれと同一であってよい。
同様に、D(qstep)、即ちqstepの関数としての歪みの合理的な推定を計算
して良い。
一実施形態では、経験的アプローチによって、上記利用可能なデータに基づいてqst
epを計算するための実際的な(例えば計算的/経済的に実行可能な)関数を見出してよ
い。
従って一実施形態では、関数を用いてqstepを計算してよい。いくつかの実施形態
では、qstepはDCT計算の後まで計算しなくてよく、これにより係数の値を(qs
tepを計算するために)関数において使用できる。
いくつかの実施形態では、qstep(λ)、即ちラムダの関数としてのqstepを
、各マクロブロックに関して別個に計算してよい。例えば一実施形態では、適応量子化と
呼ばれる特徴を支援するエンコーダを実装してよく、ここでQPはピクチャ全体に亘って
一定でない。理想的には、使用するビット数を少なくするために、及びヒトの視覚系は複
雑な領域における歪みに対しては耐性が比較的高いことを理由として、ピクチャの複雑な
領域において比較的高いQPを使用する。眼が歪みに関して比較的高い感受性を有し、か
つ画像の詳細の欠落によってビットレートが低くなっている、ピクチャの平坦な領域には
、比較的低いQPを使用する。qstep(λ)の計算は、ラムダがピクチャ全体に亘っ
て一定に維持される場合でさえ、このような挙動を示し得る。
本明細書に記載するアプローチとは対照的に、適応量子化のための従来技術は、QPを
独立変数として使用する複雑なアプローチを含む(ここでQPは、変換係数に元々含まれ
る詳細な情報を用いることなくアプリオリに決定されている)ことに留意されたい。
運動分析、ピクチャタイプ選択及び先読み
いくつかの実施形態では、速度制御システムの複数の構成要素は、運動推定に関連して
よい。
運動分析は、現在のピクチャからのマクロブロックを基準ピクチャからいかに良好に予
測できるかの尺度である。運動推定プロセス(又はモジュール)は、この予測のための最
良の運動ベクトルを決定し、この運動ベクトル及び予測を用いて、マクロブロックをコー
ド化する。運動推定プロセスはまた、現在のマクロブロックをいかに良好に予測できるか
の尺度を計算し、この性能指数又はメトリックは、インタコード化マクロブロックの複雑
性の潜在的な推測変数となり得る。
複数の運動推定関数の組織化に対して、特にこれらの関数の統合を行うことができる。
運動推定は一般に、粗い解像度の部分及び完全な解像度の部分を含む。
一実施形態では、シーン変更検出及び急速運動検出を含むピクチャタイプ選択は、粗い
運動推定ステージから出力される運動分析情報に基づいていてよい。しかしながら更なる
実施形態では、運動推定プロセスの一部を、現在のピクチャよりずっと先の入力ピクチャ
に対して実施することにより、速度制御及びピクチャタイプ選択を目的とした先読み機能
を実行してよい。
粗い運動推定からの速度制御の利益
いくつかの実施形態では、粗い解像度の運動推定を、現在の画像及び基準画像の間引き
されたコピーに対して実施してよい。粗い解像度の運動推定プロセス(又はモジュール)
は、極めて大きな検索範囲に亘る完全検索アルゴリズムを効果的に支援でき、これにより
、粗い運動ベクトル及び潜在的な推測変数の性能指数又はメトリックが得られる。粗い運
動推定プロセスの2つの側面、即ち:再構成サンプルではなく、基準ピクチャに関するソ
ースサンプルを使用し得ること;完全な解像度の運動推定を開始する前に全フレームに亘
ってプロセスの機能(例えば処理)を完了し得ることが、特に重要となり得る。
これら2つの事実は、粗い運動推定プロセスを用いて先読み機能を実現できることを意
味する。従って予測の性能指数を用いて、速度制御機構の必要に応じて、将来のピクチャ
のサイズを予測できる。いくつかの実施形態では、これをピクチャタイプ選択のためにも
使用してよい。良好でない予測の数が多い場合、これは一般に、現在のピクチャが基準ピ
クチャとは異なるシーンであること、及びイントラ(モード)とするべきものであること
を意味する。良好でない予測の数が中程度である場合、これは高速運動を含むシーンを表
すことがあり、この場合BピクチャをPピクチャに置き換えるべきである。
従っていくつかの実施形態では、既に説明した図13に示すように、速度制御構成要素
を粗い運動推定ステージに統合してよい。一実施形態では、粗い運動推定は再構成画像サ
ンプルに依存するものではなくてよく、従ってパイプライン型とすることができ、将来の
ピクチャに対して作用できる。更なる実施形態では、ピクチャタイプ選択は、粗い運動推
定において計算した予測性能指数に基づくものであってよい。更にいくつかの実施形態で
は、ピクチャサイズ予測は、粗い運動推定において計算した予測性能指数に基づくもので
あってよい。更なる実施形態では、完全な解像度の運動推定から得られる予測性能指数を
、qstep選択のためのマクロブロックモデルの一部として使用してよい。
バッファモデル
上述のように、いくつかの実施形態では、速度制御システムはデコーダのコード化ピク
チャバッファのモデル(即ちバッファモデル)を含んでよく、これにより、符号化ビット
ストリームがプレイバック時にバッファに対してオーバフロー又はアンダフローしないこ
とを保証する。このバッファモデルを速度制御機構が使用して、現在のピクチャ及び将来
のピクチャを符号化した後の更なる占有量を予測してよい。
従って例えば各出力ピクチャに関して、上記モデルは、デコーダのコード化ピクチャバ
ッファへの、コード化ピクチャの最初のビットの初期到達時間及び最後のビットの最終到
達時間を予測してよい。伝送の速度は最大ビットレートとして特定でき、これは固定ビッ
トレート(constant bit rate:CBR)符号化に関する標的ビットレ
ートと同一であってよく、また可変ビットレート(variable bit rate
:VBR)符号化に関してはこれより大きくてよい。
図16A、16Bはそれぞれ、理想的な場合及び実際のピクチャサイズが即座には利用
可能でない場合における、バッファモデル更新プロセスを示す。
いくつかの実施形態では、バッファモデルの動作は、全てのコード化ピクチャのサイズ
を用いた内部状態の更新を必要とする場合があり、その後速度制御機構を次のピクチャに
適用できる。この特徴は図16Aに示されており、ここではビデオシーケンス内の各ピク
チャに関して、1605において、順序が前のピクチャの実際のサイズを受信し、161
0においてバッファモデル状態が更新される。しかしながら、正確なピクチャサイズはエ
ンコーダのエントロピーコード化ステージ(例えばCABAC)において計算でき、順序
が前のピクチャのサイズは、エンコーダのパイプライン型の実装形態により、即座には利
用できないことに留意されたい。
データ従属性タイミングの問題を解決するために、コード化ピクチャサイズの暫定値を
、全マクロブロックに関する量子化係数の値に基づいて、運動ベクトルの予測ビット費用
及びコード化モード情報と共に使用してよい。調整因子を適用することによって、エント
ロピーコード化ステージ及びこの調整因子の追加の低減効果を説明できる。修正されたプ
ロセスの一実施形態を図16Bに示し、ここではビデオシーケンス内の各ピクチャに関し
て、1620において、順序が前のピクチャの暫定サイズを受信し、1625においてこ
れに従ってバッファモデル状態が更新され、その後1630において、(1つ又は複数)
の順序が前のピクチャの実際のサイズを受信できる。これに応答して、1635において
バッファモデル状態の(1つ又は複数の)補正を実施してよい。
バッファモデルは、暫定ピクチャサイズ値に基づく速度制御機構に必要な占有量情報を
計算する。正確なピクチャサイズ値を後の時点で利用できる場合、バッファモデルは、暫
定ピクチャサイズと実際のピクチャサイズとの間の差に対して更に調整される。
いくつかの実施形態では、バッファモデルに関する精度要件は極めて高いものであり得
る。例えば、全ての単一の出力ビットを最終的に説明し、かつ無限に長い符号化時間に亘
ってエラーが蓄積されないようにする必要があり得る。後に得られる正確な情報を用いて
、例えばピクチャサイズの初期推定を補正する上述の方法は、上記要件を満たすのに十分
であり得る。
別の実施形態では、バッファ状態は、ビットストリーム中の全ての出力ビットの合計に
よって可変である状態を含んでよい。ライブイベント用等の長時間の符号化セッションを
支援でき、従って上記合計は、関連のあるデータタイプ(例えば32ビット整数)におい
て記憶できる最大値を超える場合がある。従ってバッファモデルは、実行中に上記合計値
を精度の損失なしに再初期化して、この値をある範囲内、例えば32ビット整数の範囲内
に維持するための機構を含んでよい。
従っていくつかの実施形態では、デコーダバッファモデルは、各ピクチャに関して、コ
ード化ピクチャファイルの初期推定を用いて更新でき、後に正確なコード化ピクチャサイ
ズが利用可能となった場合に更に更新できる。更に、更なる実施形態では、実行中に出力
ビット合計値を精度の損失なしに再初期化して、この値をある範囲内、例えば32ビット
整数の範囲内に維持するための機構を設けてよい。
速度制御機構
いくつかの実施形態では、出力ビットストリーム中のピクチャ毎のビット数は、そのピ
クチャに関するコード化決定の大半が行われる前に選択されるラムダの値の結果であり得
る。上記ラムダ値は、画像内で、ピクチャ間で及びシーン毎に変動する画像複雑性による
、ビデオシーケンスの動的な性質を原因として、符号化中に調整してよい。
一実施形態では、上記調整プロセスへの入力は以下を含んでよい:
1.調整前のラムダの値、ラムダ値の履歴;
2.バッファモデルが提供する現在のデコーダバッファ占有量;
3.先読みウィンドウ内における現在のピクチャ及び将来のピクチャに関するピクチャ
レベルイントラ複雑性及び運動分析情報;
4.ピクチャタイプ選択;並びに
5.ピクチャタイプに応じた、ピクチャのコード化サイズに関する履歴情報。
二次離散時間フィードバック制御システムにおいてこれらの入力を使用して、オーバフ
ロー又はアンダフローを生成しないバッファ占有量の予測と共に調整されたラムダ値が得
られる。制御計算の一部は、これらの入力に基づいて将来のピクチャサイズを予測するこ
とを含む。実際のQP値は、このピクチャレベル速度制御機構によって上述の適応量子化
手順において計算できないことに留意されたい。
本フィードバック制御システムの主たる目標は、バッファコンプライアンスの維持に必
要なラムダの最小の調整を行い、所定の標的ビットレートに関して最も(又は最適な)一
貫した知覚品質を得ることであってよい。従っていくつかの実施形態では、様々な実装及
び計算を用いて、上述のように入力データに応じてラムダを調整してよい。
より一般的には、いくつかの実施形態では、入力ビデオストリームを受信してよい。ラ
グランジュ乗数ラムダを入力ビデオストリームの複数のピクチャそれぞれに関して計算し
てよい。出力ビデオストリームに関するビットレートは、入力ビデオストリーム及び複数
のピクチャそれぞれに関するラムダに基づいて動的に制御してよい。一実施形態では、ラ
ムダに関する1つの値を、各ピクチャにおける符号化決定全てに使用してよく、その後ピ
クチャ間の速度制御のための必要に応じて、これを調整してよい。
ネットワークエッジトランスコーダ
ネットワークエッジトランスコーダの概念は、計算フットプリントが低減されたエンコ
ーダのバージョンである。その目標は、高品質の圧縮ビデオ出力を、最小の電力消費及び
自立型エンコーダよりも高いチャネル密度で、リアルタイムで生成することである。ネッ
トワークエッジトランスコーダは一般にこれを、標的出力と同一の解像度及びフレームレ
ートを既に有するもののビットレートが標的出力より高い圧縮ビデオ基本ストリームを入
力として使用することにより達成する。いくつかの実施形態では、これにより、ネットワ
ークエッジトランスコーダは粗い運動推定ステージを省略できる。
図17は、粗い運動推定におけるイントラ複雑性分析及び運動分析が、入力ビットスト
リームの過去の符号化によって行われた決定及びその結果をデータとして利用する入力ビ
ットストリーム分析に置き換えられた、例示的なネットワークエッジトランスコーダ(部
分、例えば前半)を示す。なおこのネットワークエッジトランスコーダの後半は、図12
に示すような従来の圧縮ビデオエンコーダと同様であってよく、従って簡潔にするために
ここで再び提示しない。
図17に示すように、入力ビットストリーム復号化プロセス(又はモジュール)171
0は、入力として入力ビットストリームを受信してよく、バッファA(現在のピクチャの
ルマ及びクロマサンプル)に出力を提供してよい。またこれも図示したように、入力ビッ
トストリーム分析プロセス(又はモジュール)1715もまた入力として入力ビットスト
リームを受信して、バッファI(粗い運動ベクトル)、バッファJ(イントラ複雑性分析
結果)及びバッファK(運動分析結果)に出力を提供してよい。ピクチャタイプ選択プロ
セス(又はモジュール)は、バッファJ(イントラ複雑性分析結果)及びバッファK(運
動分析結果)から入力を受信してよく、運動推定精密化プロセス(又はモジュール)に出
力(ピクチャタイプ)を提供してよい。速度制御機構もまた、バッファJ(イントラ複雑
性分析結果)及びバッファK(運動分析結果)から、並びにバッファモデルから入力を受
信してよく、図示したように、運動推定精密化プロセス(又はモジュール)及び(例えば
図19の)変換ステージに出力(ラムダ)を提供してよい。最後に、運動推定精密化プロ
セスは、バッファA(現在のピクチャのルマ及びクロマサンプル)から、バッファI(粗
い運動ベクトル)から、バッファD(運動推定精密化のための再構成サンプル)から、ピ
クチャタイプ選択プロセス(ピクチャタイプ)から、及び速度制御機構(ラムダ)から入
力を受信してよく、バッファB(運動ベクトル及び予測サンプル)及びバッファC(イン
トラ複雑性及びマクロブロック毎の運動分析)に出力を提供してよい。
なお、いくつかの実施形態では、ネットワークエッジトランスコーダは、自立型エンコ
ーダと同一(又は同様)の変換コード化及び速度制御システムを実装してよいが、速度制
御に必要な運動分析及びイントラ複雑性分析を得るために、入力ビットストリームに含ま
れる量子化係数からの情報を使用してよい。これにより、分析のために粗い運動推定ステ
ージを使用する自立型エンコーダから得られるものと比べて、使用されるQPの値に関す
る速度及び歪みのより正確な評価を得ることができる。いくつかの実施形態では、上記情
報を、追加のイントラ複雑性分析、及びラムダの現在の値に応じて各再コード化マクロブ
ロックを再量子化するための係数のリストと共に用いてよい。最後のリアルタイム符号化
ステップの計算フットプリントが自立型エンコーダよりも小さくなり得るにもかかわらず
、上記効果及び出力品質はツーパス方式のエンコーダと同一(又は同様)となり得る。
従っていくつかの実施形態では、本明細書に開示する技術による速度制御構成要素は、
図17に示すように、上記ネットワークエッジトランスコーダの概念に組み込んでよい。
より具体的には、いくつかの実施形態では、ネットワークエッジトランスコーダ構成上
において、速度制御により、入力ビットストリームに含まれる量子化係数及び他のコード
化モード情報から、高品質な運動分析及びイントラ複雑性分析メトリクスが得られる。
分割エンコーダ構成
更なる実施形態では、本明細書に記載の速度制御アルゴリズム又は技術を分割エンコー
ダ構成に適用してもよい。分割エンコーダ構成では、符号化及び速度制御のための処理及
び分析の殆どを、エンコーダの第1の部分において実施してよい。そして、運動分析、粗
い運動ベクトル及び/又はイントラ複雑性分析を含むがこれらに限定されない、上記第1
の部分からの結果を、コンテンツに関する分析データの中間ストリームに記憶してよい。
データの中間ストリームは、適合性圧縮ビデオ基本ストリーム及び追加の分析データを含
んでよいか、又はビデオコンテンツの符号化を完了するために必要な全ての情報を含有す
る非標準データフォーマットであってよい。続いてエンコーダの第2の部分は、上記中間
ストリームを入力として使用して、符号化プロセスを完了してよい。
ネットワークエッジトランスコーダと同様、分割エンコーダ構成の主たる目標は、符号
化プロセスの第2の部分に関して可能な計算、物理的サイズ及び電力フットプリントを最
小とすることであってよい。従ってこの第2の部分は、ネットワークエッジデバイスとし
ての使用に最適化でき、全圧縮ビデオエンコーダよりも高いチャネル密度で配置できる。
エンコーダの第2の部分はまた、ストリーム特異的ビットレート又はブランド設定等のス
トリーム特異的処理も含んでよく、これにより、独立した出力ストリームを1つ又は複数
の特定の受信器に対して個別化できる。
一実施形態では、上記エンコーダのパーティション分割により、符号化プロセスの第1
の部分を1回実施してその結果を記憶できる。その後、符号化プロセスの第2の部分を、
多数の受信器のための必要に応じて多数回実施してよく、これらは全て異なる符号化パラ
メータ又はストリーム個別化を用いる。ある独立した出力ストリーム又は受信器に特異的
ないずれの処理は、符号化プロセスの第2の部分に限定されていてよい。
従っていくつかの実施形態では、エンコーダの分割構成は、エンコーダの第2の部分に
関して計算、物理的サイズ及び/又は電力フットプリントを最小とすることを目的として
使用してよく、これによりネットワークエッジデバイスとしての使用に最適化される。様
々な実施形態では、第1の部分と第2の部分との間におけるエンコーダのパーティション
分割は、いずれの様々な方法で行ってよい。換言すると、関連する構成要素、プロセス又
はモジュールは、2つのパーティションの間にいずれの所望の方法で分散させることがで
きる。更に、一実施形態では、符号化プロセスの第1の部分の結果は、第2の部分が後続
の操作において符号化プロセスを完了するために必要とする全ての情報を含有する、中間
ストリームフォーマットに記憶してよい。更に、いくつかの実施形態では、エンコーダは
2つの部分にパーティション分割してよく、ここで独立した出力ビットストリーム又は受
信器に特異的ないずれの処理は第2の部分において実施される。
本明細書に記載の技術及びシステムは、必要に応じて、携帯電話、コードレス電話、テ
レビ、映画上映、コンピュータ、ケーブルモデム、ケーブルセットトップボックス及びそ
の他を含む、いずれの様々な種類の製品又は用途において利用してよい。本明細書で開示
した技術は更に、必要に応じてソフトウェア及び/又はハードウェアによって実装してよ
い。
以上の実施形態についてはかなり詳細に説明してきたが、以上の開示を完全に理解すれ
ば、当業者には多数の変形例及び修正例が明らかとなるであろう。上述の実施形態は実装
の非限定的な例にすぎないことも強調しておく。以下の請求項は、このような変形例及び
修正例の全てを包含するものとして理解されることを意図したものである。

Claims (20)

  1. ビデオコンテンツ項目の集合を記憶したメモリであって、各前記ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含む、前記メモリ;
    1つ又は複数のビデオトランスコーダデバイス;並びに
    コントローラ
    を備える、システムであって、
    前記コントローラは、複数のユーザデバイスのそれぞれからの、前記ビデオコンテンツ項目のうちの所定の1つに対する複数のコンテンツ要求それぞれに応答して、利用可能な1つ又は複数のビデオトランスコーダデバイスを、各前記ユーザデバイスへの配信を行うために割り当てるよう構成され、
    前記ユーザデバイスは、それぞれ異なる構成のビデオ処理能力(VPC)を有し、
    前記割り当てられた各ビデオトランスコーダデバイスは:
    前記所定のコンテンツ項目の前記符号化ビデオストリーム及び前記副次的情報ストリームを受信し;
    前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記符号化ビデオストリームを信号変換し、各前記標的符号化ビデオストリームを得て;
    前記信号変換を実施する際、前記1つ又は複数のビデオトランスコーダデバイスのうち第1のビデオトランスコーダデバイスは:
    復号化ビデオストリームを得るために前記符号化ビデオストリームを復号化し、
    スケーリング済みビデオストリームを得るために、前記復号化ビデオストリームを各前記ユーザデバイスの標的ピクチャ解像度にスケーリングし、
    各前記標的符号化ビデオストリームを得るために、前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記スケーリング済みビデオストリームを符号化するよう構成され、
    各前記標的符号化ビデオストリームを、通信媒体を介して各前記ユーザデバイスに伝送し、各前記ビデオコンテンツ項目の前記副次的情報ストリームは、1つ又は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、前記1つ又は複数の速度情報ストリームの各前記速度情報ストリームRISkは、各前記コード化モードに基づいてブロック予測を推測する、前記対応する符号化ビデオストリームのブロック毎の、対応する速度推定関数Rk(q)の特徴を決定し、qは量子化ステップ幅である、システム。
  2. 前記コントローラは:
    前記第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信し、各前記報告は、前記ユーザデバイスの前記VPC構成に対する対応する更新を含み;
    各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記スケーリング済みビデオストリームを符号化するために使用する前記標的ピクチャ解像度を更新するよう構成される、請求項1記載のシステム。
  3. 各前記ユーザデバイスの前記VPC構成は:
    前記ユーザデバイスが要求するビデオコード化フォーマット:及び
    前記ユーザデバイスが要求する標的ピクチャ解像度
    のうち1つ又は複数の識別を含む、請求項1に記載のシステム。
  4. 各前記ユーザデバイスの前記VPC構成は、M次元構成空間に亘るものであり、
    Mは少なくとも2であり、
    前記M次元構成空間は、ビデオフォーマットの選択に対応する少なくとも第1の次元、及びピクチャ解像度の選択に対応する第2の次元を有する、請求項1に記載のシステム。
  5. 前記コントローラは:
    前記複数のユーザデバイスのうち第1のユーザデバイスへの配信を行うよう割り当てられた前記1つ又は複数のビデオトランスコーダデバイスのうちの所定の1つによって生成された前記標的符号化ビデオストリームを記憶し;
    第2のユーザデバイスが前記第1のユーザデバイスと同一又は同様の前記VPC構成を有することを検出すると、これに反応して、前記第2のユーザデバイスへの前記記憶した標的符号化ビデオストリームの伝送を指示する
    よう、構成される、請求項1に記載のシステム。
  6. 前記コントローラは:
    前記第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信し、各前記報告は、前記ユーザデバイスからの分析情報を含み;
    各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記符号化ビデオストリームの前記信号変換を実施するために使用する1つ又は複数の標的ビットレート及びは標的ピクチャ解像度を更新する、
    よう構成される、請求項1に記載のシステム。
  7. 前記分析情報は、前記第1のビデオトランスコーダデバイスが伝送する前記標的符号化ビデオストリームそれぞれから再生したビデオの品質に関する情報を含む、請求項6に記載のシステム。
  8. ビデオコンテンツをユーザデバイスに配信するための方法であって、前記方法は、
    ビデオコンテンツ項目の集合をメモリに記憶し、各前記ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含み、
    複数の遠隔ユーザデバイスのそれぞれからの、前記ビデオコンテンツ項目のうちの所定の1つに対する複数のコンテンツ要求のそれぞれに応答して、利用可能な1つまたは複数のビデオトランスコーダデバイスを各前記ユーザデバイスへの配信を行うために割り当て、前記ユーザデバイスはそれぞれ異なる構成のビデオ処理能力(VPC)を有し、
    前記割り当てられた各ビデオトランスコーダデバイスを利用して:
    前記所定のコンテンツ項目の前記符号化ビデオストリーム及び前記副次的情報ストリームを受信し;
    前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記符号化ビデオストリームを信号変換し、各前記標的符号化ビデオストリームを得て;
    各前記標的符号化ビデオストリームを、通信媒体を介して各前記ユーザデバイスに伝送し、
    各前記ビデオコンテンツ項目の前記副次的情報ストリームは、1つ又は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、
    前記1つ又は複数の速度情報ストリームの各前記速度情報ストリームRISkは、各前記コード化モードに基づいてブロック予測を推測する、前記ビデオコンテンツ項目の前記対応する符号化ビデオストリームのブロック毎の、対応する速度推定関数Rk(q)の特徴を決定し、qは量子化ステップ幅であり、
    前記1つ又は複数のビデオトランスコーダデバイスのうち第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信し、各前記報告は、前記ユーザデバイスからの分析情報を含み;
    各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記符号化ビデオストリームの前記信号変換を実施するために使用する1つ又は複数の標的ビットレート及び標的ピクチャ解像度を更新する、
    ことを含む方法。
  9. 前記分析情報は、前記第1のビデオトランスコーダデバイスが伝送する前記標的符号化ビデオストリームそれぞれから再生したビデオの品質に関する情報を含む、請求項8に記載の方法。
  10. ビデオの品質に関する前記情報が前記ビデオの品質の変化を示した場合において、前記第1のビデオトランスコーダデバイスが使用する1つ又は複数の前記標的ビットレート及び前記標的ピクチャ解像度の変化を更に含む、請求項9に記載の方法。
  11. 前記ユーザデバイスからの前記分析情報は、前記それぞれのユーザデバイスの前記VPC構成に対する更新を更に含む、請求項8に記載の方法。
  12. 各前記ユーザデバイスの前記VPC構成は、前記ユーザデバイスが要求するビデオコード化フォーマットの識別を含み、
    各前記標的符号化ビデオストリームが、前記要求されたビデオコード化フォーマットに適合するように、前記符号化ビデオストリームの前記信号変換を実施する、請求項8に記載の方法。
  13. 各前記ユーザデバイスの前記VPC構成は、前記それぞれのユーザデバイスが要求する標的ピクチャ解像度の識別を含み、
    各前記標的符号化ビデオストリームが、前記要求された標的ピクチャ解像度を有するように、前記符号化ビデオストリームの前記信号変換を実施する、請求項8に記載の方法。
  14. 各前記ユーザデバイスの前記VPC構成は、前記それぞれのユーザデバイスが要求する標的ビットレートの識別を含み、
    各前記標的符号化ビデオストリームが、前記要求された標的ビットレートに略等しい平均出力ビットレートを有するように、前記符号化ビデオストリームの前記信号変換を実施する、請求項8に記載の方法。
  15. 前記複数のユーザデバイスのうち第1のユーザデバイスへの配信を行うよう割り当てられた前記1つ又は複数のビデオトランスコーダデバイスのうちの所定の1つによって生成された前記標的符号化ビデオストリームを記憶すること;及び
    第2のユーザデバイスが前記第1のユーザデバイスと同一又は同様の前記VPC構成を有することを検出すると、これに反応して、前記第2のユーザデバイスへの前記記憶した標的符号化ビデオストリームの伝送を指示すること
    を更に含む、請求項8に記載の方法。
  16. プログラム命令を含むコンピュータ可読メモリ媒体であって、前記プログラム命令は、ビデオトランスコーダシステムに:
    ビデオコンテンツ項目の集合をメモリ媒体に記憶することであって、各前記ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含む、前記記憶することと、
    複数の遠隔ユーザデバイスのそれぞれからの、前記ビデオコンテンツ項目のうちの所定の1つに対する複数の受信したコンテンツ要求それぞれに応答して、前記ビデオトランスコーダシステムの1つ又は複数のビデオトランスコーダデバイスのうち利用可能な1つを、各前記ユーザデバイスへの配信を行うために割り当てることであって、前記ユーザデバイスは、ビデオ処理能力(VPC)のそれぞれ異なる構成を有する、前記割り当てることと;
    を行わせるように、プロセッサによって実行可能であり、
    前記プログラム命令は、前記割り当てられた各ビデオトランスコーダデバイスに、
    前記所定のコンテンツ項目の前記符号化ビデオストリーム及び前記副次的情報ストリームを受信すること;
    前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記符号化ビデオストリームを信号変換することであって、前記信号変換を実施する際、前記1つ又は複数のビデオトランスコーダデバイスのうち第1のビデオトランスコーダデバイスは:
    復号化ビデオストリームを得るために前記符号化ビデオストリームを復号化し、
    スケーリング済みビデオストリームを得るために、前記復号化ビデオストリームを各前記ユーザデバイスの標的ピクチャ解像度にスケーリングし、
    各前記標的符号化ビデオストリームを得るために、前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記スケーリング済みビデオストリームを符号化する、よう構成されている、前記信号変換すること;
    各前記標的符号化ビデオストリームを、通信媒体を介して各前記ユーザデバイスに伝送することであって、各前記ビデオコンテンツ項目の前記副次的情報ストリームは、1つ又は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、前記1つ又は複数の速度情報ストリームの各前記速度情報ストリームRISkは、各前記コード化モードに基づいてブロック予測を推測する、前記対応する符号化ビデオストリームのブロック毎の、対応する速度推定関数Rk(q)の特徴を決定し、qは量子化ステップ幅である、前記伝送すること;
    を行わせるように、プロセッサによって更に実行可能である、
    コンピュータ可読メモリ媒体。
  17. 前記プログラム命令は、前記ビデオトランスコーダシステムに:
    前記第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信することであって、各前記報告は、前記ユーザデバイスの前記VPC構成に対する対応する更新を含む、前記受信することと;
    各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記スケーリング済みビデオストリームを符号化するために使用する前記標的ピクチャ解像度を更新すること、
    を行わせるように、プロセッサによって更に実行可能である、請求項16に記載のコンピュータ可読メモリ媒体。
  18. 各前記ユーザデバイスの前記VPC構成は:
    前記ユーザデバイスが要求するビデオコード化フォーマット:及び
    前記ユーザデバイスが要求する標的ピクチャ解像度
    のうち1つ又は複数の識別を含む、
    請求項16に記載のコンピュータ可読メモリ媒体。
  19. 各前記ユーザデバイスの前記VPC構成は、M次元構成空間に亘るものであり、
    Mは少なくとも2であり、
    前記M次元構成空間は、ビデオフォーマットの選択に対応する少なくとも第1の次元、及びピクチャ解像度の選択に対応する第2の次元を有する、
    請求項16に記載のコンピュータ可読メモリ媒体。
  20. 前記プログラム命令は、前記ビデオトランスコーダシステムに:
    前記メモリ媒体の前記複数のユーザデバイスのうち第1のユーザデバイスへの配信を行うよう割り当てられた前記1つ又は複数のビデオトランスコーダデバイスのうちの所定の1つによって生成された前記標的符号化ビデオストリームを記憶すること;
    第2のユーザデバイスが前記第1のユーザデバイスと同一又は同様の前記VPC構成を有することを検出すると、これに反応して、前記第2のユーザデバイスへの前記記憶した標的符号化ビデオストリームの伝送を指示すること、
    を行わせるように、プロセッサによって更に実行可能である、請求項16に記載のコンピュータ可読メモリ媒体。
JP2019010054A 2012-06-12 2019-01-24 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ Active JP6703150B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261658761P 2012-06-12 2012-06-12
US61/658,761 2012-06-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017220753A Division JP6473213B2 (ja) 2012-06-12 2017-11-16 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ

Publications (2)

Publication Number Publication Date
JP2019075825A JP2019075825A (ja) 2019-05-16
JP6703150B2 true JP6703150B2 (ja) 2020-06-03

Family

ID=48699957

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015517368A Active JP6247286B2 (ja) 2012-06-12 2013-06-11 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
JP2017220753A Active JP6473213B2 (ja) 2012-06-12 2017-11-16 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
JP2019010054A Active JP6703150B2 (ja) 2012-06-12 2019-01-24 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015517368A Active JP6247286B2 (ja) 2012-06-12 2013-06-11 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
JP2017220753A Active JP6473213B2 (ja) 2012-06-12 2017-11-16 ビデオコンテンツの符号化及び配信のための分散アーキテクチャ

Country Status (5)

Country Link
US (1) US11483580B2 (ja)
EP (2) EP2859729B1 (ja)
JP (3) JP6247286B2 (ja)
CN (2) CN104641651B (ja)
WO (1) WO2013188457A2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US8775648B1 (en) 2013-12-30 2014-07-08 Limelight Networks, Inc. Control systems and methods for cloud resource management
US8806558B1 (en) 2013-09-20 2014-08-12 Limelight Networks, Inc. Unique watermarking of content objects according to end user identity
US9137285B2 (en) 2013-10-21 2015-09-15 Broadcom Corporation Adaptive audio video (AV) stream processing
US20150118959A1 (en) * 2013-10-28 2015-04-30 Nicolas Jean Petit Platform framework for wireless media device simulation and design
WO2016009285A1 (en) 2014-07-16 2016-01-21 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US20160037176A1 (en) * 2014-07-30 2016-02-04 Arris Enterprises, Inc. Automatic and adaptive selection of profiles for adaptive bit rate streaming
US10506027B2 (en) 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US9479720B1 (en) * 2014-09-16 2016-10-25 Amazon Technologies, Inc. Method and/or apparatus for frame accurate hot failover
US9814987B1 (en) * 2014-12-22 2017-11-14 Amazon Technologies, Inc. Spectator feedback and adaptation
US9827500B1 (en) 2014-12-22 2017-11-28 Amazon Technologies, Inc. Associated content item instances
US10595028B2 (en) * 2015-02-20 2020-03-17 Harmonic, Inc. Encoding/transcoding based on subjective video quality preferences
EP3281413B1 (en) 2015-04-09 2021-01-20 Dejero Labs Inc. Systems, devices and methods for distributing data with multi-tiered encoding
US9838725B2 (en) 2015-04-27 2017-12-05 Century Link Intellectual Property LLC Intelligent video streaming system
US9723470B1 (en) 2015-04-30 2017-08-01 Tensera Networks Ltd. Selective enabling of data services to roaming wireless terminals
WO2016209125A1 (en) * 2015-06-23 2016-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for transcoding
EP3351003B1 (en) 2015-09-15 2021-07-14 InterDigital Madison Patent Holdings, SAS Method and apparatus for providing power saving media content
KR101780782B1 (ko) * 2016-07-08 2017-09-21 엔트릭스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
CN107819543A (zh) * 2016-09-12 2018-03-20 北京百度网讯科技有限公司 数据传输方法及装置
EP3322189B1 (en) * 2016-11-10 2019-12-25 Alcatel Lucent Method and system for controlling video transcoding
EP3322187B1 (en) * 2016-11-10 2020-01-29 Alcatel Lucent Method and transcoder for video transcoding
CA3194408A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Player input motion compensation by anticipating motion vectors
GB2576286B (en) * 2017-04-21 2022-09-07 Zenimax Media Inc Systems and methods for deferred post-processes in video encoding
US10462203B2 (en) * 2017-06-13 2019-10-29 Wowza Media Systems, LLC Hardware encoder
EP3659040A4 (en) * 2017-07-28 2020-12-02 Dolby Laboratories Licensing Corporation PROCESS AND SYSTEM FOR PROVIDING MULTIMEDIA CONTENT TO A CUSTOMER
US10531134B2 (en) 2017-11-10 2020-01-07 Akamai Technologies, Inc. Determining a time budget for transcoding of video
US10397518B1 (en) 2018-01-16 2019-08-27 Amazon Technologies, Inc. Combining encoded video streams
CN110198474B (zh) 2018-02-27 2022-03-15 中兴通讯股份有限公司 一种码流处理方法及装置
US10834475B1 (en) * 2018-03-15 2020-11-10 Amazon Technologies, Inc. Managing encoding parameters
US11234034B2 (en) * 2018-11-02 2022-01-25 Netflix, Inc. Techniques for encoding a media title via multiple encoders
CN111225277A (zh) * 2018-11-27 2020-06-02 北京达佳互联信息技术有限公司 转码方法、转码装置和计算机可读存储介质
CN109581382A (zh) * 2018-12-11 2019-04-05 南京信息工程大学 一种基于C#与Fortran混编技术的球形云及降水粒子群散射仿真方法
US11259035B2 (en) * 2019-03-15 2022-02-22 Ati Technologies Ulc Macroblock coding type prediction
US11132122B2 (en) 2019-04-11 2021-09-28 Ricoh Company, Ltd. Handwriting input apparatus, handwriting input method, and non-transitory recording medium
EP4000271A1 (en) * 2019-07-17 2022-05-25 Koninklijke KPN N.V. Facilitating video streaming and processing by edge computing
CN118075517A (zh) 2019-12-11 2024-05-24 谷歌有限责任公司 用于选择流送媒体内容项的格式的方法、系统和介质
CN113473147B (zh) * 2021-05-17 2022-08-09 浙江大华技术股份有限公司 一种视频码流的后处理方法、装置和计算机可读存储介质
US11743478B2 (en) * 2021-06-15 2023-08-29 International Business Machines Corporation Video stream transcoding with reduced latency and memory transfer
CN113691813B (zh) * 2021-10-25 2022-02-22 苏州浪潮智能科技有限公司 一种转码卡使用方法、系统、存储介质及设备

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2333657B (en) 1998-01-22 2002-08-21 Snell & Wilcox Ltd Video signal compression
US6490320B1 (en) * 2000-02-02 2002-12-03 Mitsubishi Electric Research Laboratories Inc. Adaptable bitstream video delivery system
US6542546B1 (en) * 2000-02-02 2003-04-01 Mitsubishi Electric Research Laboratories, Inc. Adaptable compressed bitstream transcoder
EP1177691B1 (en) * 2000-03-13 2011-01-26 Sony Corporation Method and apparatus for generating compact transcoding hints metadata
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
GB2387287B (en) * 2002-04-05 2006-03-15 Snell & Wilcox Limited Video compression transcoding
US7415594B2 (en) 2002-06-26 2008-08-19 Coherent Logix, Incorporated Processing system with interspersed stall propagating processors and communication elements
KR100950525B1 (ko) 2002-12-02 2010-03-30 삼성전자주식회사 트랜스코딩 장치 및 방법, 이에 사용되는 타겟비트할당 및픽처 복잡도 예측 장치 및 방법
US7860161B2 (en) * 2003-12-15 2010-12-28 Microsoft Corporation Enhancement layer transcoding of fine-granular scalable video bitstreams
US8832434B2 (en) * 2004-02-13 2014-09-09 Hewlett-Packard Development Company, L.P. Methods for generating data for describing scalable media
JP4108640B2 (ja) * 2004-04-27 2008-06-25 三菱電機株式会社 映像伝送システム
US8031774B2 (en) 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8761248B2 (en) 2006-11-28 2014-06-24 Motorola Mobility Llc Method and system for intelligent video adaptation
US20080181298A1 (en) 2007-01-26 2008-07-31 Apple Computer, Inc. Hybrid scalable coding
JP2008306273A (ja) * 2007-06-05 2008-12-18 Nec Corp 動画像提供システム、方法、装置、プログラム
JP5312456B2 (ja) 2007-07-05 2013-10-09 コーヒレント・ロジックス・インコーポレーテッド 移動体テレビジョン放送システム
CN101098483A (zh) 2007-07-19 2008-01-02 上海交通大学 以图像组结构为并行处理单元的视频集群转码系统
US8866971B2 (en) * 2007-12-17 2014-10-21 Ati Technologies Ulc Method, apparatus and machine-readable medium for apportioning video processing between a video source device and a video sink device
CN101198035A (zh) 2008-01-10 2008-06-11 杭州华三通信技术有限公司 视频监控方法、视频转移分发方法、装置及视频监控系统
US8798137B2 (en) * 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
JP2009260818A (ja) 2008-04-18 2009-11-05 Nec Corp サーバ装置とコンテンツ配信方法とプログラム
KR101350723B1 (ko) * 2008-06-16 2014-01-16 돌비 레버러토리즈 라이쎈싱 코오포레이션 비디오 코딩을 위한 슬라이스 종속성에 기초한 레이트 제어 모델 적응 방법
US20100017516A1 (en) * 2008-07-16 2010-01-21 General Instrument Corporation Demand-driven optimization and balancing of transcoding resources
WO2010033565A1 (en) * 2008-09-16 2010-03-25 Dolby Laboratories Licensing Corporation Adaptive video encoder control
FR2933837A1 (fr) 2008-12-10 2010-01-15 Thomson Licensing Procede de codage, procede et dispositif de transcodage et flux de donnees image codees.
US8654849B2 (en) * 2008-12-22 2014-02-18 Arris Enterprises, Inc. Integrated transcoding
JPWO2010114092A1 (ja) * 2009-04-03 2012-10-11 日本電気株式会社 配信システムと方法と変換装置及びプログラム
US10341721B2 (en) * 2009-09-26 2019-07-02 Mimik Technology Inc. Method and system for processing multi-media content
US8751677B2 (en) * 2009-10-08 2014-06-10 Futurewei Technologies, Inc. System and method to support different ingest and delivery schemes for a content delivery network
US20110145859A1 (en) * 2009-12-15 2011-06-16 At&T Intellectual Property I, L.P. System and method for detachable media devices and content
US20120047535A1 (en) * 2009-12-31 2012-02-23 Broadcom Corporation Streaming transcoder with adaptive upstream & downstream transcode coordination
JP5389747B2 (ja) * 2010-06-17 2014-01-15 株式会社日立製作所 コンテンツ変換システム、およびコンテンツ変換方法
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
JP2012099890A (ja) * 2010-10-29 2012-05-24 Sony Corp 画像処理装置、画像処理方法、および画像処理システム
US8887207B2 (en) * 2012-01-12 2014-11-11 The Directv Group, Inc. Method and system for remotely transcoding content

Also Published As

Publication number Publication date
US20130343450A1 (en) 2013-12-26
CN104641651A (zh) 2015-05-20
CN111405315B (zh) 2022-04-12
JP2015523805A (ja) 2015-08-13
JP2019075825A (ja) 2019-05-16
EP2859729A2 (en) 2015-04-15
JP6473213B2 (ja) 2019-02-20
US11483580B2 (en) 2022-10-25
JP2018057022A (ja) 2018-04-05
EP3767961A1 (en) 2021-01-20
EP3767961B1 (en) 2023-03-29
WO2013188457A2 (en) 2013-12-19
CN104641651B (zh) 2019-11-19
EP2859729B1 (en) 2020-09-16
WO2013188457A3 (en) 2014-04-17
JP6247286B2 (ja) 2017-12-13
CN111405315A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
JP6703150B2 (ja) ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
US7391809B2 (en) Scalable video transcoding
US7391807B2 (en) Video transcoding of scalable multi-layer videos to single layer video
KR101643790B1 (ko) 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩
US6925120B2 (en) Transcoder for scalable multi-layer constant quality video bitstreams
US8311095B2 (en) Method and apparatus for transcoding between hybrid video codec bitstreams
US9025664B2 (en) Moving image encoding apparatus, moving image encoding method, and moving image encoding computer program
EP1549074A1 (en) A bit-rate control method and device combined with rate-distortion optimization
KR20090024134A (ko) 비디오 인코더용 스케일러블 레이트 제어 시스템
KR20010080644A (ko) 기저층 양자화 데이터를 이용하여 향상층 데이터를 엔코딩및 디코딩하는 시스템 및 방법
CA2943647C (en) Method and apparatus for encoding rate control in advanced coding schemes
KR20070090240A (ko) 미세 입자 스케일러빌리티를 위한 디지털 비디오의 실시간트랜스코딩을 위한 시스템 및 방법
WO2013000575A1 (en) Methods and devices for scalable video coding
Lim et al. A perceptual rate control algorithm based on luminance adaptation for HEVC encoders
Grois et al. Optimization methods for H. 264/AVC video coding
Wu et al. Rate control in video coding
KR101099261B1 (ko) 인코더와 인코딩 방법 및 이를 수록한 저장매체
Chang et al. RD optimized quantization of H. 264 SP-frames for bitstream switching under storage constraints
KR100932727B1 (ko) 비디오 스트림 전환 장치 및 방법
Seo et al. Adaptive rate control algorithm based on logarithmic R–Q model for MPEG-1 to MPEG-4 transcoding
Al-khrayshah et al. A real-time SNR scalable transcoder for MPEG-2 video streams
Ortega et al. Mechanisms for adapting compressed multimedia to varying bandwidth conditions
Basavaraju et al. Rate quality factor optimization for vp8 video codec for mobile communication applications
Vizzotto et al. Neighbor-based Fast Rate Control Scheme for Basic Unit Layer for H. 264/AVC Standard
JP2001128175A (ja) 画像情報変換装置及び方法、並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200507

R150 Certificate of patent or registration of utility model

Ref document number: 6703150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250