JP2019075825A - ビデオコンテンツの符号化及び配信のための分散アーキテクチャ - Google Patents
ビデオコンテンツの符号化及び配信のための分散アーキテクチャ Download PDFInfo
- Publication number
- JP2019075825A JP2019075825A JP2019010054A JP2019010054A JP2019075825A JP 2019075825 A JP2019075825 A JP 2019075825A JP 2019010054 A JP2019010054 A JP 2019010054A JP 2019010054 A JP2019010054 A JP 2019010054A JP 2019075825 A JP2019075825 A JP 2019075825A
- Authority
- JP
- Japan
- Prior art keywords
- video
- stream
- video stream
- user device
- 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.)
- Granted
Links
- 230000006870 function Effects 0.000 claims abstract description 159
- 238000000034 method Methods 0.000 claims description 117
- 238000013139 quantization Methods 0.000 claims description 98
- 238000004458 analytical method Methods 0.000 claims description 90
- 230000005540 biological transmission Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 3
- 230000033001 locomotion Effects 0.000 description 113
- 239000000872 buffer Substances 0.000 description 88
- 230000008569 process Effects 0.000 description 61
- 239000013598 vector Substances 0.000 description 43
- 238000005457 optimization Methods 0.000 description 28
- 230000007246 mechanism Effects 0.000 description 27
- 238000009826 distribution Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 11
- 238000007906 compression Methods 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000272470 Circus Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 229910052729 chemical element Inorganic materials 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/19—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25808—Management of client data
- H04N21/25825—Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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)
Abstract
Description
号化するための分割アーキテクチャ及び上記分割アーキテクチャで使用するための速度制
御機構に関する。
って、ビデオコンテンツを圧縮して、有線及び/又は無線ネットワークを介して上記ビデ
オコンテンツを配信できる方法に対する需要は増大し続けている。
リーミングビデオサービスの配信に対する需要は大きい。しかしながら、(無線ネットワ
ークの)基地局と移動体デバイスとの間の無線インタフェースは、無線妨害に弱く、RF
伝播品質は、環境内での物体の移動、移動体デバイスの移動、無線トラフィックローディ
ング及び輻輳等によって動的に変化するため、基地局と移動体デバイスとの間のチャネル
状態が変動する。更に、無線ネットワーク内のデータはRFスペクトルを介して伝送され
、これは制限されておりかつコストが高い。チャネル状態が悪く、移動体デバイスのスク
リーンサイズがHDTV未満である場合には、ビットの大半が移動体デバイスにおいて低
下するか又は切り捨てられる可能性が高いため、フリーサイズのビットストリームにおい
て最高解像度かつ高ビットレートで伝送を行う理由はない。RFチャネルの帯域幅制限特
性及びチャネル状態の変動性に適合した様式で、ストリーミングビデオを移動体デバイス
に配信するための機構が必要とされている。
へのビデオコンテンツ配信時に被る負荷の軽減が必要とされている。コンテンツ配信ネッ
トワーク(content delivery network:CDN)は、ビデオコ
ンテンツタイトルをキャッシュして、このコンテンツタイトルを要求に応じてユーザに配
信するサーバを維持できる。しかしながら、ユーザデバイスは一般に、ビデオ処理性能に
関して幅広い異なる構成を有し、例えばピクチャ解像度及びビデオフォーマットに関して
異なる要件を有する。更に、所定のユーザデバイスのための標的ビットレートは、チャネ
ル状態の変化に従って動的に変化し得る。従ってCDNは、所定のコンテンツタイトルの
多数のコピー、即ちユーザデバイス構成と標的ビットレートとの可能な組み合わせそれぞ
れに対して1つのコピーを保持しなければならない(又は上記コピーにアクセスできなけ
ればならない)。その結果、CDNオペレータにとってメモリストレージのコストが問題
となる。更に、ユーザデバイスが所定のコンテンツタイトルを要求し、要求された構成及
びビットレートに適切なコピーがサーバのキャッシュに存在しない場合、中央レポジトリ
から(例えばNetflix又はAmazon等のメディアプロバイダから)上記コピー
をダウンロードしなければならない。コンテンツタイトルとユーザデバイス構成とビット
レートとの組み合わせは極めて多数存在するため、キャッシュミスは頻繁に発生し、従っ
て中央レポジトリ、例えばサーバファームからのダウンロードが頻繁に必要となる。よっ
て、CDNオペレータ及び/又はメディアプロバイダにとってダウンロードトラフィック
のコストが問題となる。以上から、コストパフォーマンスの良い方法でビデオコンテンツ
をユーザに配信できる機構が必要とされている。
ンコーダを使用して、ビデオコンテンツを定義するソースビデオストリームを圧縮する。
ソースビデオシーケンスの動的複雑性を原因として、ビデオエンコーダは典型的には速度
制御を応用する必要がある。換言すると、ビデオエンコーダは、圧縮プロセスを動的に制
御することにより、圧縮ビットストリームの出力ビットレートを制御する必要がある。更
に、ストリーミングビデオサービスに関しては、エンコーダと遠隔デコーダとの間の動的
なネットワーク状態に従って変化する標的ビットレートをサポートするために、速度制御
は適応性のあるものである必要がある。従って、計算効率が高い方法で速度制御を実施で
きるビデオエンコーダ及び/又はトランスコーダが必要とされている。
において使用できる。
ザデバイス(例えば移動体デバイス)にデータを送るために、ネットワークエッジトラン
スコーダを使用してよい。ネットワークエッジトランスコーダは、基地局に又は基地局付
近に配置してよく(例えば基地局に連結してよく)、高品質及び/又は高精細度の第1の
符号化ビデオストリームを、現在供給を受けている移動体デバイスのための第2の符号化
ビデオストリームに(例えばピクチャサイズ、ビデオフォーマット及びビットレート等の
1つ又は複数の因子に関して)信号変換するよう構成してよい。更に、ネットワークエッ
ジトランスコーダは、伝送チャネルの状態の変化、受信したビデオの品質の変化及び/又
は移動体デバイスの構成の変化に応答して、第2の符号化ビデオストリームのビットレー
トを動的に制御するよう構成してよい。このようなカスタマイズ性能及び動的制御性能は
、無線ネットワークに関して経済的に極めて有利である。このようなネットワークエッジ
トランスコーダを使用してユーザビットストリームを「ネットワークの辺縁(the e
dge of the network)」においてカスタマイズするネットワークアー
キテクチャによって、クラウド内のサーバファームに負荷がかかるのを回避する。移動体
デバイスは、基地局に情報(分析)を定期的に送り返すことができ、これにより、ネット
ワークエッジトランスコーダは上記情報に従ってビットストリームをリアルタイムに最適
化し、制限されたRFスペクトルの最適な使用を達成できる。
よい。無線分析及びビデオ分析は、例えばエッジトランスコーダ及び/又は基地局による
効果的な速度制御のために使用できる。無線分析は、移動体デバイスにおける基準信号の
信号強度、電力及び品質を含んでよい。無線分析を使用して、所定のチャネル状態におけ
るユーザデバイスへの確実な伝送のために最適なビットレートを決定できる。(基地局は
、このような測定を容易にするために、移動体デバイスへの伝送に基準信号を埋め込んで
よい。)ビデオ分析は、バッファ占有量状態又はビットストリーム復号化プロセスから検
出された誤差の速度を含んでよい。ビデオ分析を使用して、チャネル状態によって課され
る制約内で最大の配信をユーザに対して行うために必要な、最適な(多くの場合最小の)
ビットレートを決定できる。これらの分析に関わる設計上の制約は、移動体デバイスが上
記分析を生成するために実行する処理の最小化、及び基地局(basestation:
BS)と移動体デバイスとの間の信号伝達帯域幅を節約するための上記分析のデータサイ
ズの最小化を含んでよい。
ムからネットワークの辺縁に送信する必要があるデータ量を低減することも望ましい。信
号変換機能をネットワーク辺縁に移動させ、サーバファームのビデオエンコーダをコンテ
ンツタイトルの符号化バージョンの生成に使用することにより、ユーザデバイスにデータ
を配信するために使用される通信媒体が有線方式であるか無線方式であるかに関わらず、
インターネットを介したデータトラフィック量及びクラウドサーバのストレージ要件が低
減される。
化し、このストリームを、所定のユーザデバイスの特定の構成のためにカスタマイズする
。符号化ビデオストリームは、ビデオエンコーダによってソースビデオストリームから生
成される。ビデオエンコーダはまた、符号化ビデオストリームをユーザデバイスのために
信号変換する動作においてネットワークエッジトランスコーダにかかる負荷を緩和する、
副次的情報も生成できる。この副次的情報は、符号化ビデオストリームと共にネットワー
クエッジトランスコーダに伝送できる(又は利用可能とすることができる)。
伝送回路構成を含んでよい。
操作を実施するよう構成できる:(a)多数のコード化モードにそれぞれ対応する多数の
予測残差を受信する操作;(b)予測残差を変換して、各コード化モードに対する変換ブ
ロックをそれぞれ得る操作;(c)各コード化モードMkに関して、量子化ステップ幅q
の1つ又は複数の値それぞれを用いて、コード化モードMkに対する上記変換ブロックを
量子化して、変換ブロックの1つ又は複数の量子化バージョンを得、上記変換ブロックの
1つ又は複数の量子化バージョンを含むデータの集合を処理して、コード化モードMkに
関する速度推定関数Rk(q)の特徴を決定する一次速度モデル化データを得る操作。
的情報ストリームは、各コード化モード及び各ブロックに関する一次モデル化データを含
む。
スケーリング部及び出力エンコーダを含んでよい。
オストリームを得るよう構成できる。
、スケーリング済みビデオストリームを得るよう構成できる。
受信し、この副次的情報ストリームを用いてスケーリング済みビデオストリームを符号化
して、第2の符号化ビデオストリームを得るよう構成できる。
あると解釈してよい。副次的情報ストリームは、ソースビデオストリームの特性を決定す
るメタデータを含んでよい。例えば副次的情報ストリームは、ソースビデオストリーム内
のブロックの速度及び/又は歪み特性を決定する情報を含んでよい。別の例として、副次
的情報ストリームは、ソースビデオストリーム内のブロックに関する運動ベクトルを含ん
でよい。副次的情報ストリームを出力エンコーダが使用することで、最適な(又は最適に
近い)コード化決定、例えば所定のブロックに対して使用するコード化モード、又は所定
のブロックに対して使用する量子化ステップ幅の値、又は所定のブロックに対して最適な
インタ予測を得られる可能性が高い1つ若しくは複数の運動ベクトルの決定を、計算効率
が高い方法で行うことができる。
応するN個の速度情報ストリームを含み、ここでNは1以上であり、N個の速度情報スト
リームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック予測を
推測する、第1の符号化ビデオストリームのブロック毎の対応する速度推定関数Rk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
オトランスコーダデバイス、コントローラを含んでよい。
し、ここで各ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副
次的情報ストリームを含み、各ビデオコンテンツ項目の副次的情報ストリームは、1つ又
は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、
上記1つ又は複数の速度情報ストリームの各速度情報ストリームRISkは、各コード化
モードに基づいてブロック予測を推測する、第1の符号化ビデオストリームのブロック毎
の対応する速度推定関数Rk(q)の特徴を決定し、ここでqは量子化ステップ幅である
。
からの複数のコンテンツ要求それぞれに応答して、各ユーザデバイスへの配信を行うため
に、複数のビデオトランスコーダデバイスのうち使用可能な1つを割り当てるよう構成し
てよく、ここでユーザデバイスはそれぞれ、異なる構成のビデオ処理能力(video
processing capability:VPC)を有する。
ンテンツ項目の符号化ビデオストリーム及び副次的情報ストリームを受信し;(b)副次
的情報ストリームを用い、各ユーザデバイスのVPC構成に応じて符号化ビデオストリー
ムを信号変換し、各標的符号化ビデオストリームを得て;(c)各標的符号化ビデオスト
リームを、通信媒体を介して各ユーザデバイスに伝送するよう構成してよい。
細な説明を参照することにより、当業者には明らかとなるであろう。
れる。
として図面に示し、また本明細書で詳細に説明する。しかしながら、上記具体的実施形態
の図及び詳細な説明は、本明細書に開示する特定の形態に本発明を限定することを意図し
たものではなく、反対に、添付の請求項によって定義されるような本発明の精神及び範囲
内にある全ての修正例、均等物及び代替例を包含することを意図したものであることを理
解されたい。
以下の参考文献は、その全体を参照することにより、本明細書においてその全体が完全
に論述されているかのように、本明細書に援用されるものとする:
米国仮特許出願第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)プログラマブルハードウェア要素を構成するため
に使用可能なハードウェア構成プログラムを含む。
ンピュータシステム、ワークステーション、ネットワーク家電、インターネット家電、パ
ーソナルデジタルアシスタント(PDA)、テレビジョンシステム、グリッドコンピュー
ティングシステム若しくはその他のデバイス又はデバイスの組み合わせを含む、様々なタ
イプの計算又は処理システムのいずれか。一般に、用語「コンピュータシステム」は、メ
モリ媒体からの命令を実行する少なくとも1つのプロセッサを有するいずれのデバイス(
又は複数のデバイスの組み合わせ)を包含するものとして広く定義できる。
ユーザ入力を必要とせずに、コンピュータシステムが実施する動作又は操作(例えばコン
ピュータシステムが実行するソフトウェア)について用いる。従って用語「自動的に」は
、ユーザが手動で実施又は指定する操作(ここでユーザが操作を直接実施するために入力
を提供する)と対照的なものである。自動処理は、ユーザが提供する入力によって開始さ
れる場合があるが、これに続く「自動的に」実施される動作は、ユーザが指定するもので
はなく、即ち「手動で」実施される(ユーザが各動作の実施を指定する)ものではない。
例えばユーザが、各フィールドを選択し、(例えば情報をタイピングすることによって、
チェックボックスを選択することによって、無線選択によって等で)情報を指定する入力
を提供することによって、電子フォームを埋める場合、仮にコンピュータシステムがユー
ザの動作に応答して上記フォームを更新しなければならないとしても、これは上記フォー
ムを手動で埋めたことになる。このようなフォームはコンピュータシステムによって自動
で埋めることができ、この場合コンピュータシステム(例えばコンピュータシステム上で
実行されるソフトウェア)は、フォームのフィールドを分析して、フィールドへの回答を
指定するいずれのユーザ入力を必要とせずにフォームを埋める。上述のように、ユーザは
フォームを自動で埋める動作を発動する場合はあるが、実際にフォームを埋める動作には
関わらない(例えばユーザはフィールドへの回答を手動で指定せず、回答は自動的に完了
する)。本明細書は、ユーザが行う動作に応答して自動的に実施される操作の様々な例を
提供する。
ブロックとして理解できる。別の例としてHEVC/H.265では、ブロックはコード
化ツリー単位(Coding Tree Unit:CTU)として理解できる。
、ビット数。
ース画像ブロックとの間の二乗誤差の和(sum of square error:S
SE)として理解できる。SSE以外の歪み測定法も同様に使用できる。
及び機構の完全な理解を提供する。しかしながら、これら様々な実施形態は上記具体的詳
細を用いずに実現可能であることを当業者は認識されたい。いくつかの例では、本明細書
に記載のアプローチを不明瞭にするのを回避するため、公知の構造、構成部品、信号及び
技術については詳細に示さなかった。説明を簡潔かつ明瞭なものとするために、図面に示
した要素は必ずしも正確な縮尺ではないことを理解されたい。例えばこれら要素のうちの
いくつかの寸法は、他の要素に対して拡大されている場合がある。
ある一連の実施形態では、システム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つ若しくは複数のビデオトランスコ
ーダデバイスと同一の位置に配置でき、あるいはメモリと同一の位置に配置でき、別の代
替例としては上記2つの位置の間を分割でき、更に別の代替例としては第3の地理的位置
に配置できる。
ントローラは地理的に同じ位置に配置される。例えばこれらの要素を、同一のボックス若
しくはシャーシ若しくは電子部品ラック内に構成でき、又は同一のサーバファームの一部
として構成でき、又は同一の電子部品基板の一部として構成でき、又は同一の集積回路の
一部として構成できる。
はコントローラは、無線ネットワークの基地局に、又はその付近に配置してよい(例えば
連結してよい、又は一部として組み込んでよい)。各ビデオトランスコーダデバイスは、
基地局の付近(例えばセル)の複数のユーザデバイスそれぞれに対してカスタマイズされ
たユーザビットストリームを生成できる。基地局は上記カスタマイズされたユーザビット
ストリームを、例えば従来の広範な多重化技術のいずれを用いて伝送信号へと多重化し、
この伝送信号を空中へと伝送する。各ユーザデバイスは上記伝送信号を受信し、受信した
伝送信号から、複数のカスタマイズされたユーザビットストリームのうち適切なものを再
生できる。
バーするよう分散された、システム100の複数のコピーを利用してよい。
目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含んでよい
。いくつかの実施形態では、メモリ110は、ハードディスクドライブ若しくはフラッシ
ュメモリ等の永続若しくは不揮発性メモリストレージ、又はSRAM、DRAM等の一時
的メモリストレージを含んでよい。いくつかの実施形態では、メモリ110はビデオコン
テンツのためのキャッシュとして機能できる。
ステム100の応答に着目する。しかしながら、より広い文脈では、ユーザデバイスは複
数のコンテンツ項目から任意の1つ又はランダムな1つを要求し得る。複数のコンテンツ
項目のうち人気のあるものは、人気がより低いコンテンツ項目よりも単位時間あたりに多
く要求され得る。従って、複数のユーザデバイスが同一のコンテンツ項目を要求すること
は考えられる。
の、所定のビデオコンテンツ項目に対する複数のコンテンツ要求それぞれに応答して、1
つ又は複数のビデオトランスコーダデバイスのうち利用可能な1つを各ユーザデバイスへ
の配信を行うために割り当てるよう構成してよい。ユーザデバイスはそれぞれ異なる構成
のビデオ処理能力(VPC)を有してよい。割り当てられた各ビデオトランスコーダデバ
イスは:(1)例えばメモリから、上記所定のコンテンツ項目の符号化ビデオストリーム
及び副次的情報ストリームを受信し;(2)副次的情報ストリームを用い、各ユーザデバ
イスのVPC構成に応じて符号化ビデオストリームを信号変換し、各標的符号化ビデオス
トリームを得て;(3)各標的符号化ビデオストリームを、(無線伝送媒体、又は無線ネ
ットワーク、又は有線ネットワーク、又は無線及び有線ネットワークの併用、又はインタ
ーネット等の)通信媒体140を介して各ユーザデバイスに伝送するよう構成してよい。
システム100は、構成が異なる複数のユーザデバイスに対して、ビデオコンテンツ項目
の単一のキャッシュされたコピーから配信を行うことができることに特に留意されたい。
1つ又は複数のビデオトランスコーダデバイスは、各ユーザデバイスに対する標的符号化
ビデオストリームのカスタマイズを行う。従って、ユーザデバイスをサポートするために
、標的ピクチャ解像度、標的ビットレート及び標的ビデオフォーマットを様々に組み合わ
せた、ビデオコンテンツ項目の複数のコピーをキャッシュする必要はない。これにより、
極めて多数のビデオコンテンツ項目をキャッシュ110に記憶できるようになり、またキ
ャッシュミスが発生する蓋然性を有意に低下させることができる。(キャッシュミスは、
ユーザデバイスがメモリ110内に存在しないビデオコンテンツ項目を要求した場合に発
生すると言われている。)
00は、中央コンテンツレポジトリ(又はメディアソース)から上記コンテンツ項目をダ
ウンロードしなければならない場合がある。中央コンテンツレポジトリとシステム100
との間のチャネルは、CDNオペレータ以外のエンティティが所有している場合がある。
(例えば上記チャネルはインターネットであり得る。)従って、上記チャネルを介したコ
ンテンツのダウンロードに関連するコストが発生し得る。キャッシュミスの蓋然性の低減
は、中央レポジトリからのダウンロードトラフィックの減少を暗に意味しており、従って
コストの低下を暗に意味している。
ソースビデオストリームを符号化したバージョンであると解釈してよい。副次的情報スト
リームは、上記所定のソースビデオストリームの特性を決定するメタデータを含んでよい
。例えばこのメタデータは、符号化ビデオストリームのブロック毎に1つ又は複数の候補
運動ベクトルを含んでよい。別の例として、メタデータは、符号化ビデオストリームのブ
ロック毎に速度モデル化データを含んでよい。更に別の実施例としては、メタデータは、
所定のコンテンツ項目の符号化ビデオストリームのブロック毎に歪みモデル化データを含
んでよい。
線インタフェースであってよい。一実施形態では、1つ又は複数のビデオトランスコーダ
デバイスのうち少なくとも1つは、無線通信ネットワークの基地局(又はアクセスポイン
ト)に連結されるか、又はその一部として組み込まれる。ユーザデバイスのうちの1つ若
しくは複数(又は全て)は、基地局との無線通信用に構成できる。ユーザデバイスは、基
地局からの無線伝送を介して、それぞれの標的符号化ビデオストリームを受信できる。ユ
ーザデバイスのうちのいくつか又は全ては移動体デバイスであってよい。
つを、複数のユーザデバイスのうち異なるいくつかに対して異なる時点に割り当てるよう
構成してよい。例えば、ビデオトランスコーダデバイスが第1のユーザデバイスへの配信
を終了したとき、このビデオトランスコーダデバイスが、第2のユーザデバイスへの配信
を行うために利用可能となるようにしてよい。従って、ビデオトランスコーダデバイスを
1つしか含まないシステム100の実施形態においてさえ、構成が異なる複数のユーザデ
バイスに対して、ビデオコンテンツ項目の単一のキャッシュされたコピーから配信を行う
ことの便益が実現される。
ンコーダは、ソースビデオストリームを符号化して各コンテンツ項目を生成するよう構成
してよい。1つ又は複数のビデオトランスコーダデバイスはそれぞれ、ソースエンコーダ
よりも電力効率が高いか、及び/又はソースエンコーダよりも空間効率が高いものであっ
てよい。いくつかの実施形態では、コンテンツ項目は、ユーザデバイスへの配信前にはメ
モリ110に必ずしも記憶されていない。例えばコンテンツ項目は、ライブイベントとの
関連で配信されることがある。従ってビデオコンテンツ項目を、ソースエンコーダから、
複数のビデオトランスコーダのうち割り当てられた1つへと送り、そして即座に信号変換
してユーザデバイスに伝送してよい。
は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含んで
よい。(上記1つ又は複数のコード化モードは、1つ若しくは複数のインタモード及び/
又は1つ若しくは複数のイントラモードを含んでよい。)上記1つ又は複数の速度情報ス
トリームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック予測
を推測する、対応する符号化ビデオストリームのブロック毎の対応する速度推定関数Rk
(q)の特徴を決定する。変数qは量子化ステップ幅である。
は複数のコード化モードそれぞれに対応する1つ又は複数の歪み情報ストリームを含んで
よい。上記1つ又は複数の歪み情報ストリームの各歪み情報ストリームDISkは、各コ
ード化モードに基づいてブロック予測を推測する、ビデオコンテンツ項目の符号化ビデオ
ストリームのブロック毎の対応する歪み関数Dk(q)の特徴を決定する。
又はそれぞれ)は:符号化ビデオストリームを復号化することで、復号化ビデオストリー
ムを得て;この復号化ビデオストリームを各ユーザデバイスの標的ピクチャ解像度にスケ
ーリングして、スケーリング済みビデオストリームを得て;副次的情報ストリームを用い
、各ユーザデバイスのVPC構成に応じてスケーリング済みビデオストリームを符号化し
て、各標的符号化ビデオストリームを得ることにより、符号化ビデオストリームを信号変
換する動作を実施するよう構成してよい。
でパラメータ化したラグランジュ型速度−歪み関数を最小化することによって、スケーリ
ング済みビデオストリームの上記符号化を実施するよう;並びに副次的情報ストリームを
用いて、スケーラ値λ及び各標的符号化ビデオストリームの出力ビットレートを動的に調
整することで、各ユーザデバイスにおいて各標的符号化ビデオストリームを受信するコー
ド化ピクチャバッファのオーバフロー及びアンダフローを防止するよう、構成してよい。
チャバッファの推定占有量と、各標的符号化ビデオストリームが標的ビットレートに維持
されていると仮定した場合のコード化ピクチャバッファの理論上の占有量との間の誤差を
計算するよう;及びスケーラ値λの上記動的調整を実施して、上記誤差の大きさを低下さ
せるよう、構成してよい。
バイスから配信を受けているユーザデバイスから、メッセージ又は報告(例えば分析)を
受信する(ここで各報告は、ユーザデバイスからの分析情報を含む)よう;並びに各報告
に応答して、上記所定のビデオトランスコーダデバイスがスケーリング済みビデオストリ
ームを符号化するために使用する標的ビットレート及び/又は標的ピクチャ解像度を更新
するよう、構成してよい。
ーザデバイスとの間のリンクの品質に関する情報を含んでよい。例えばリンク品質情報は
、以下のうちの1つ又は複数を含んでよい:ビット及び/又はパケット誤差率、スループ
ット、受信信号強度並びに通信レイテンシ。コントローラ130は、リンク品質に関する
情報がリンク品質の低下又は上昇を示した場合それぞれにおいて、所定のビデオトランス
コーダデバイスが使用する標的ビットレート及び/又は標的ピクチャ解像度を低下又は上
昇させるよう構成してよい。
符号化ビデオストリームから(ユーザデバイスが)再生したビデオの品質に関する情報を
含む。(ビデオ品質情報の例は、フレーム落ち表示を含み得る。)コントローラは、ビデ
オ品質に関する情報がビデオ品質の低下又は上昇を示した場合それぞれにおいて、所定の
ビデオトランスコーダデバイスが使用する標的ビットレート及び/又は標的ピクチャ解像
度を低下又は上昇させるよう構成してよい。一実施形態では、ビデオ品質に関する報告は
リンク品質に関する報告と並行して行うことができる。
から配信を受けているユーザデバイスから報告を受信する(ここで各報告は、ユーザデバ
イスのVPC構成に対する対応する更新を含む)よう;並びに各報告に応答して、第1の
ビデオトランスコーダデバイスがスケーリング済みビデオストリームを符号化するために
使用する標的ビットレート及び/又は標的ピクチャ解像度を更新するよう、構成してよい
。(例えばVPC構成の更新は、ユーザデバイスが許容可能な現在の標的ピクチャ解像度
を含んでよい。)
るビデオコード化フォーマット;及びユーザデバイスが要求する標的ピクチャ解像度のう
ちの1つ又は複数の識別を含んでよい。
であってよく、ここでMは少なくとも2である。M次元構成空間は、ビデオフォーマット
の選択に対応する少なくとも第1の次元、及びユーザデバイスが受信することになる標的
符号化ビデオストリームに関するピクチャ解像度の選択に対応する第2の次元を有してよ
い。
1のものへの配信を行うよう割り当てられた1つ又は複数のビデオトランスコーダデバイ
スのうちの所定の1つによって生成された標的符号化ビデオストリームを(例えばメモリ
110に)記憶し;第2のユーザデバイスが第1のユーザデバイスと同一又は同様のVP
C構成を有することを検出すると、これに反応して、第2のユーザデバイスへの上記記憶
した標的符号化ビデオストリームの伝送を指示するよう、構成してよい。第1のユーザデ
バイスが所定のビデオコンテンツ項目を要求する場合、第2の同一構成の(又は同様の構
成の)ユーザデバイスが上記所定のビデオコンテンツ項目を近い将来に要求する蓋然性は
高くなり得る。従って、ビデオトランスコーダデバイスが生成する標的符号化ビデオスト
リームのキャッシュ化により、システム効率を向上させることができる。
00は、図2に示した操作を伴うものであってよい。(方法200は、図1、3〜17に
関連して既に述べた又は以下に述べる特徴、要素及び実施形態のいずれのサブセットも含
んでよい。)
テンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含
んでよい。
項目のうちの所定の1つに対する複数のコンテンツ要求それぞれに応答して、各ユーザデ
バイスへの配信を行うために、1つ又は複数のビデオトランスコーダデバイスのうち使用
可能な1つを割り当てる、ユーザデバイスはそれぞれ、異なる構成のビデオ処理能力(V
PC)を有してよい。
例えばメモリから、上記所定のビデオコンテンツ項目の符号化ビデオストリーム及び副次
的情報ストリームを受信し;(b)副次的情報ストリームを用い、各ユーザデバイスのV
PC構成に応じて符号化ビデオストリームを信号変換し、各標的符号化ビデオストリーム
を得て;(c)各標的符号化ビデオストリームを、(無線伝送媒体、無線ネットワーク若
しくは有線ネットワーク、又は上述の様々な通信媒体等の)通信媒体を介して各ユーザデ
バイスに伝送してよい。
は、所定のソースビデオストリームを符号化したバージョンであると解釈してよい。副次
的情報ストリームは、上記所定のソースビデオストリームの特性を決定するメタデータを
含んでよい。一実施形態では、このメタデータは、符号化ビデオストリームのブロック毎
に1つ又は複数の候補運動ベクトルを含んでよい。別の実施形態では、メタデータは、上
記所定のビデオコンテンツ項目の符号化ビデオストリームのブロック毎に速度モデル化デ
ータを含んでよい。更に別の実施形態では、メタデータは、所定のビデオコンテンツ項目
の符号化ビデオストリームのブロック毎に歪みモデル化データを含んでよい。当然のこと
ながら、上述のタイプのメタデータをいずれの組み合わせで併用する実施形態も考えられ
る。
は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含んで
よい。上記1つ又は複数の速度情報ストリームの各速度情報ストリームRISkは、各コ
ード化モードに基づいてブロック予測を推測する、上記対応する符号化ビデオストリーム
のブロック毎の対応する速度推定関数Rk(q)の特徴を決定してよく、ここでqは量子
化ステップ幅である。
は複数のコード化モードそれぞれに対応する1つ又は複数の歪み情報ストリームを含んで
よい。上記1つ又は複数の歪み情報ストリームの各歪み情報ストリームDISkは、各コ
ード化モードに基づいてブロック予測を推測する、上記所定のビデオコンテンツ項目の符
号化ビデオストリームのブロック毎の対応する歪み関数Dk(q)の特徴を決定してよく
、ここでqは量子化ステップ幅である。
ンテンツ項目を生成するよう構成してよい。ソースビデオストリームを符号化する動作は
、ソースエンコーダによって(例えば後に説明するメザニンエンコーダ510、ビデオエ
ンコーダ700又はビデオエンコーダ900によって)実施できる。各ビデオトランスコ
ーダデバイスは、ソースエンコーダよりも電力効率が高いか、又はソースエンコーダより
も空間効率が高いものであってよい。
デバイスのうちの所定の1つから配信を受けているユーザデバイスから、報告を受信する
こと(ここで各報告は、ユーザデバイスからの分析情報を含む);並びに(b)各報告に
応答して、上記所定のビデオトランスコーダデバイスが符号化ビデオストリームの上記信
号変換を行うために使用する標的ビットレート及び/又は標的ピクチャ解像度を更新する
ことも含んでよい。
ーザデバイスとの間のリンクの品質に関する情報を含む。
又は上昇を示した場合それぞれにおいて、所定のビデオトランスコーダデバイスが使用す
る標的ビットレート及び/又は標的ピクチャ解像度を低下又は上昇させることも含んでよ
い。
的符号化ビデオストリームから(ユーザデバイスが)再生したビデオの品質に関する情報
を含む。
又は上昇を示した場合それぞれにおいて、所定のビデオトランスコーダデバイスが使用す
る標的ビットレート及び/又は標的ピクチャ解像度を低下又は上昇させることも含んでよ
い。
ら配信を受けているユーザデバイスから報告を受信すること(ここで各報告は、ユーザデ
バイスのVPC構成に対する対応する更新(例えばユーザデバイスが許容可能な現在の標
的ピクチャ解像度を示す更新)を含む);並びに各報告に応答して、上記所定のビデオト
ランスコーダデバイスがスケーリング済みビデオストリームを符号化するために使用する
標的ピクチャ解像度を更新することも含んでよい。
るビデオコード化フォーマットの識別を含んでよい。このような実施形態では、符号化ビ
デオストリームを信号変換する動作は、各標的符号化ビデオストリームが要求されたビデ
オコード化フォーマットに適合するように実行できる。
る標的ピクチャ解像度の識別を含んでよい。このような実施形態では、符号化ビデオスト
リームを信号変換する動作は、各標的符号化ビデオストリームが、要求された標的ピクチ
ャ解像度を有するように実行できる。
る標的ビットレートの識別を含んでよい。このような実施形態では、符号化ビデオストリ
ームを信号変換する動作は、各標的符号化ビデオストリームが、標的ビットレートに略等
しい平均出力ビットレートを有するように実行できる。
のへの配信を行うよう割り当てられた1つ又は複数のビデオトランスコーダデバイスのう
ちの所定の1つによって生成された標的符号化ビデオストリームを(例えばメモリに)記
憶すること;及び(b)第2のユーザデバイスが第1のユーザデバイスと同一又は同様の
VPC構成を有することを検出すると、これに反応して、第2のユーザデバイスへの上記
記憶した標的符号化ビデオストリームの伝送を指示することも含んでよい。
ある一連の実施形態では、コンテンツ配信ネットワーク300は図3に示すように構成
できる。コンテンツ配信ネットワーク300は、メモリ310、複数のビデオトランスコ
ーダデバイスVTD1、VTD2、…VTDNd(まとめて符号320で表す)、及びコント
ローラ330を含む。(コンテンツ配信ネットワークは、図1〜2、図4〜17に関連し
て既に述べた又は以下に述べる特徴、要素及び実施形態のいずれのサブセットも含んでよ
い。)
目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含んでよい
。メモリ310は、通信媒体915(例えばCDNオペレータが制御するプライベートネ
ットワーク、インターネット又は無線ネットワーク)を介してビデオトランスコーダデバ
イスに連結してよい。
330は、遠隔ユーザデバイスから、複数のコンテンツ項目のうち選択されたものそれぞ
れに対する要求を受信して、複数のビデオトランスコーダデバイスのうち使用できる1つ
への、各上記選択されたコンテンツ項目の転送を指示するよう構成してよい。異なるユー
ザデバイスは、複数のコンテンツ項目のうち異なるもの又はランダムなものを選択してよ
い。
ツ項目それぞれの符号化ビデオストリーム及び副次的情報ストリームを受信し;副次的情
報ストリームを用いて符号化ビデオストリームを各標的ピクチャ解像度において信号変換
し、各標的符号化ビデオストリームを得て;各標的符号化ビデオストリームを、通信媒体
340(例えば無線伝送媒体、又は無線ネットワーク、又は有線ネットワーク)を介して
各遠隔ユーザデバイスに伝送するよう構成してよい。
コード化モードに対応するN個の速度情報ストリームを含んでよく、ここでNは1以上で
ある。N個の速度情報ストリームの各速度情報ストリームRISkは、各コード化モード
に基づいてブロック予測を推測する、ビデオコンテンツ項目の符号化ビデオストリームの
ブロック毎の対応する速度推定関数Rk(q)の特徴を決定する。変数qは量子化ステッ
プ幅である。
ームを符号化して各コンテンツ項目を生成するよう構成されたソースエンコーダ325も
含んでよい。以下に説明するように、ソースエンコーダ325はメザニンエンコーダ51
0又はビデオエンコーダ500又はビデオエンコーダ900に関連して構成してよい。各
ビデオトランスコーダデバイスは、ソースエンコーダよりも電力消費が少なく、ソースエ
ンコーダよりも占有空間が小さくなるよう構成してよい。これらの制約は、副次的情報ス
トリームをビデオトランスコーダデバイスへの入力として符号化ビデオストリームと共に
供給することで、副次的情報を計算処理するための回路構成及び/又はプログラム指示を
ビデオトランスコーダデバイスから省略できるようにすることによって、ある程度達成で
きる。
ムを復号化することで、各復号化ビデオストリームを得て;副次的情報ストリームを用い
て上記各復号化ビデオストリームを各標的ピクチャ解像度において符号化して、各標的符
号化ビデオストリームを得ることにより、信号変換動作を実施するよう構成してよい。
ータ化した速度−歪み関数を用いたラグランジュ型最適化に基づいて各復号化ビデオスト
リームを符号化し;各選択されたコンテンツ項目の副次的情報ストリームに基づいて、ス
ケーラ値λを動的に調整することで、各遠隔ユーザデバイスにおいてデコーダのコード化
ピクチャバッファのオーバフロー及びアンダフローを防止するよう、構成してよい。
ースビデオストリームを符号化したバージョンであると解釈してよい。各ビデオコンテン
ツ項目の副次的情報ストリームは、各ソースビデオストリームの特性を決定するメタデー
タを含んでよい。
伝送としてユーザデバイスから提供される識別情報に基づくユーザ認証を提供する、(認
証サーバ等の)処理ノードと通信するよう構成してよい。コントローラは、所定のユーザ
(又はユーザデバイス)が正当なユーザ(又はユーザデバイス)として認証されたことを
示す妥当性信号を処理ノードから受信してよい。更にコントローラは、例えば処理ノード
から、要求元のユーザデバイスへの要求されたビデオコンテンツの伝送の開始をコントロ
ーラが許可されていることを示す送信許可信号を受信してよい。
的符号化ビデオストリームに挿入するための対応する補助情報を提供するよう構成してよ
い。この対応する補助情報は、以下のうちの1つ又は複数を含んでよい:事業体のブラン
ド設定情報;広告情報;デジタル著作権管理(digital rights mana
gement:DRM)情報;ウォーターマーク機能を提供するデジタル情報;及びコン
テンツプロバイダ、コンテンツ配信サービスプロバイダ、顧客又はユーザが要求する1つ
又は複数のカスタマイズ用特徴。
したユーザ又はユーザデバイスに対して個別化されていてよい。従ってビデオコンテンツ
が不正使用された場合、ユーザの個人情報をデジタルウォーターマーク情報から識別でき
る。
信して、この対応する補助情報を各標的符号化ビデオストリームに挿入するよう構成して
よい。補助情報は以下のうちの1つ又は複数を含んでよい:事業体のブランド設定情報;
広告情報;デジタル著作権管理(DRM)情報;及びコンテンツプロバイダ、コンテンツ
配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複数のカスタマイズ用特徴
。
テンツ項目を記憶したメモリ(ここで各ビデオコンテンツ項目は、対応する符号化ビデオ
ストリーム及び対応する副次的情報ストリームを含む);複数のビデオトランスコーダデ
バイス;並びにコントローラ(ここでコントローラは、複数の遠隔ユーザデバイスそれぞ
れに関して、遠隔ユーザデバイスからの各コンテンツ項目に対する要求を受信し、複数の
ビデオトランスコーダデバイスのうち使用可能な1つに各コンテンツ項目を転送するよう
指示する)。各ビデオトランスコーダデバイスは:各コンテンツ項目の符号化ビデオスト
リーム及び副次的情報ストリームを受信し;副次的情報ストリームを用いて符号化ビデオ
ストリームを各標的ピクチャ解像度において信号変換し、各標的符号化ビデオストリーム
を得て;各標的符号化ビデオストリームを、通信媒体を介して各ユーザデバイスに伝送す
るよう構成される。
てられた、複数のユーザデバイスのうち第1のものから、リンク報告を受信(ここで各リ
ンク報告は、第1のビデオトランスコーダデバイスと第1のユーザデバイスとの間のチャ
ネルの各状態を表す)し;各リンク報告に応答して、第1のビデオトランスコーダデバイ
スが使用する標的ビットレートを更新し、符号化ビデオストリームを信号変換するよう構
成された、段落1のシステム。
の符号化バージョンであり、各ビデオコンテンツ項目の副次的情報ストリームが、各ソー
スビデオストリームの特性を決定するメタデータを含む、段落1のシステム。
補運動ベクトルを含む、段落3のシステム。
タを含む、段落3のシステム。
タを含む、段落3のシステム。
れに対応するN個の速度情報ストリームを含み、ここでNは1以上であり、N個の速度情
報ストリームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック
予測を推測する、ビデオコンテンツ項目の符号化ビデオストリームのブロック毎の対応す
る速度推定関数Rk(q)の特徴を決定し、ここでqは量子化ステップ幅である、段落1
のシステム。
ドそれぞれに対応する1つ又は複数の歪み情報ストリームを含み、上記1つ又は複数の歪
み情報ストリームの各歪み情報ストリームDISkは、各コード化モードに基づいてブロ
ック予測を推測する、ビデオコンテンツ項目の符号化ビデオストリームのブロック毎の対
応する歪み関数Dk(q)の特徴を決定し、ここでqは量子化ステップ幅である、段落1
のシステム。
ソースエンコーダを更に備え、ここで各ビデオトランスコーダデバイスは、ソースエンコ
ーダよりも電力消費が少なく、ソースエンコーダよりも占有空間が小さい、段落1のシス
テム。
で、各復号化ビデオストリームを得て;副次的情報ストリームを用いて上記各復号化ビデ
オストリームを各標的ピクチャ解像度において符号化して、各標的符号化ビデオストリー
ムを得ることにより、信号変換動作を実施するよう構成された、段落1のシステム。
リームに挿入するための対応する補助情報を提供するよう構成され、ここで上記対応する
補助情報は:事業体のブランド設定情報;広告情報;デジタル著作権管理(DRM)情報
;ウォーターマーク機能を提供するデジタル情報;及びコンテンツプロバイダ、コンテン
ツ配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複数のカスタマイズ用特
徴を含む、段落1のシステム。
る補助情報を各標的符号化ビデオストリームに挿入するよう構成され、ここで上記対応す
る補助情報は:事業体のブランド設定情報;広告情報;デジタル著作権管理(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はまた、メザニン符号化プロセス中
に情報(例えば速度メトリクス及び/又は歪みメトリクス)も生成してよい。この情報は
、別個の副次的情報ストリームにおいて、又はメザニンビットストリーム中のユーザデー
タとして、搬送してよい。例えば速度及び歪みメトリクスは:エンコーダ430における
速度調整、適応量子化、HRDコンプライアンスのために、即ちエンコーダ430から顧
客に伝送される出力ビットストリームの速度を調整するために使用してよい。つまり、メ
ザニンエンコーダとエンコーダ430とを併用することで、ツーパス方式エンコーダを効
果的に形成する。このアーキテクチャにより、速度及び歪みメトリクス(例えば高品質メ
トリクス)を計算するために、メザニンエンコーダの限りない計算バジェットが活用され
る。またこのアーキテクチャにより、効果的な速度制御を実施するためにネットワークエ
ッジエンコーダ430が必要とする計算量が最小化される。
ある一連の実施形態では、ビデオコンテンツを配信するためのシステム500は、図5
に示すように、メザニンエンコーダ510、ネットワークエッジトランスコーダ520、
(無線ネットワーク、又は有線ネットワーク、又は無線及び有線ネットワークの併用等の
)通信媒体525、ユーザデバイス530を含んでよい。システム500はコンテンツ配
信ネットワークの一部として、又は広範なその他の用途のいずれにおいて利用できる。
ーケンス)を受信して、メザニンビットストリームを生成する。メザニンビットストリー
ムは、符号化ビデオストリームであってよい。(メザニンビットストリームは、2つのデ
バイス510、520間の中間の位置を有するためにこのように呼ばれる。メザニンエン
コーダは、メザニンビットストリームを生成するためにこのように呼ばれる。)メザニン
ビットストリームは、例えばインターネット又は無線ネットワーク等の通信媒体を介して
、ネットワークエッジトランスコーダ520に伝送してよい。いくつかの実施形態では、
メザニンビットストリームを記憶用のメモリ媒体に伝送してよく、その後このメザニンビ
ットストリームを、ネットワークエッジトランスコーダによってメモリ媒体から引き出す
ことができる。
ースエンコーダとして機能し得る。
ユーザデバイス530が許容可能な又はユーザデバイス530が要求するビデオ処理能力
(VPC)の構成に従って、このメザニンビットストリームを信号変換してよい。ユーザ
デバイスのVPC構成は、要求されるピクチャ解像度及び/又は要求されるビデオフォー
マット及び/又は要求されるビットレートを含んでよい。こうしてネットワークエッジト
ランスコーダは、ユーザデバイスのためにカスタマイズされたユーザビットストリームを
生成する。ユーザビットストリームは通信媒体525を介してユーザデバイス530に伝
送される。
テム300のビデオトランスコーダデバイスとして機能し得る。
ク又はインターネット等の)ネットワークの辺縁又はその付近に位置するためにこのよう
に呼ばれる。例えばネットワークエッジトランスコーダは、無線ネットワークの無線アク
セスポイント(例えば基地局)又はその付近に位置してよい。別の例として、ネットワー
クエッジトランスコーダは、コンテンツ配信ネットワークの境界ノード又はその付近に位
置してよい。(コンテンツ配信ネットワークの境界ノードは、コンテンツ配信ネットワー
クからユーザデバイスにデータをエクスポートする、コンテンツ配信ネットワークの処理
ノード又はデバイスである。)更に別の例として、ネットワークエッジトランスコーダは
、ユーザデバイスとインタフェース接続されたモデムへのケーブル又は光ファイバ接続の
ヘッドエンド又はその付近に位置してよい。
無線インタフェースであってよい。一実施形態では、ネットワークエッジトランスコーダ
520は、無線ネットワークの基地局にユーザビットストリームを供給してよく、基地局
はこのユーザビットストリームを、無線インタフェースを介してユーザデバイスに伝送し
てよい。ユーザデバイスは、伝送されたユーザビットストリームを受信するため及び信号
を基地局に伝送するためのトランシーバを含んでよい。ユーザデバイスは、ユーザが得る
視聴品質に関するメッセージを伝送してよい。例えばこのメッセージは、ユーザデバイス
が受信する基準信号の受信信号強度、電力及び品質等(これらは基地局とユーザデバイス
との間のチャネルの品質を表す)の無線分析を含んでよい。基地局は、このような測定を
容易にするために、基地局が行う伝送に基準信号を埋め込んでよい。無線分析を用いて、
所定のチャネル状態におけるユーザデバイスへの確実な伝送のための最適なビットレート
を決定してよい。上記メッセージは、ビデオ分析(例えばユーザデバイスがユーザビット
ストリームから再生するビデオの品質に関するメッセージ)も含んでよい。ビデオ分析を
使用して、チャネル状態によって課される制約内で最大の配信をユーザに対して行うため
に必要な、最適な(場合によっては最小の)ビットレートを決定してよい。(ネットワー
クエッジトランスコーダ520は無線分析及びビデオ分析を使用して、ユーザビットスト
リームの生成における速度制御を実施してよい。)
ストリームをネットワークエッジトランスコーダ520に伝送する。副次的情報ストリー
ムは、入力ビデオストリーム505の特性を決定するメタデータ、例えばメザニンビット
ストリームを信号変換するタスクにおけるネットワークエッジトランスコーダの負荷を緩
和する情報を含んでよい。例えばネットワークエッジトランスコーダ520は副次的情報
ストリームを使用して、ユーザビットストリームの生成において速度調整を適用してよい
。別の例として、副次的情報ストリームにより、ネットワークエッジトランスコーダは、
副次的情報ストリームが提供されない場合よりも効率的に、最適なコード化決定(例えば
量子化ステップ幅、コード化モード、運動ベクトル選択)に辿り着くことができる。
もPピクチャ及びBピクチャ等の選択されたピクチャの各ブロックについて、速度推定関
数R(q)及び歪み推定関数D(q)の特徴を決定する情報を含んでよい。いずれの所定
の値の量子化ステップ幅qに関する速度推定関数R(q)は、上記所定の値と同一の量子
化ステップ幅による、ブロックに関する変換された予測残差の量子化と、それに続く量子
化結果の符号化とによって得られる、ビット数の推定を表す。いずれの所定の値の量子化
ステップ幅qに関する歪み推定関数D(q)は、上記所定の値と同一の量子化ステップ幅
による、ブロックに関する変換された予測残差の量子化と、それに続く量子化結果の符号
化とによって得られる、(ブロックの原初画像サンプルに対する)画像歪みの推定を表す
。
推定関数及び歪み推定関数を含んでよく、ここでNは1以上である。Nの値はピクチャ毎
に変動し得る。例えば、Iピクチャはイントラモードのみを含み、その一方でP又はBピ
クチャは1つ又は複数のインタモード及び1つ又は複数のイントラモードを含んでよい。
ある一連の実施形態では、ビデオエンコーダ700(ここでは「メザニンエンコーダ」
とも呼ばれる)は、図7に示すように構成してよい。ビデオエンコーダは、入力ビデオス
トリーム705に作用して副次的情報ストリーム730を生成するよう構成してよい。ビ
デオエンコーダはまた、符号化ビデオストリーム725も生成してよい。ビデオエンコー
ダ700は、デジタル回路構成710及び伝送回路構成720を含んでよい。(ビデオエ
ンコーダ700は、図1〜6、図8〜17に関連して既に述べた又は以下に述べる特徴、
要素及び実施形態のいずれのサブセットも含んでよい。)
は複数のプロセッサによって、ASIC等の1つ若しくは複数の専用デジタル回路によっ
て、FPGA等の1つ若しくは複数のプログラマブルハードウェア要素によって、又は以
上のいずれの組み合わせによって実現してよい。一実施形態では、デジタル回路構成は、
記憶されたプログラム命令の制御下で動作する並列アレイを含んでよい。
ロック毎に速度モデル化データを含んでよい。
ロック毎に歪みモデル化データを含んでよい。
ブロックに関する候補運動ベクトルを含んでよい。
ードそれぞれに対応する1つ又は複数の速度情報ストリームを含んでよい。各速度情報ス
トリームRISkは、入力ビデオストリームのブロック毎の対応する速度推定関数Rk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
ードそれぞれに対応する1つ又は複数の歪み情報ストリームを含んでよい。各速度情報ス
トリームDISkは、入力ビデオストリームのブロック毎の対応する速度推定関数Dk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
TRCを図7Bに示す。この実施形態では、速度推定関数Rk(q)は、複数の基準点P
1、P2、P3によってその特徴を決定できる。各基準点は、量子化ステップ幅の対応す
る値qvに関する速度Rk(qv)の値である。
点を計算し、続いて連続関数モデルを上記基準点にフィットさせることを含む。
速度特徴に属する複数の基準点を計算するための例示的なプロセスフローを示す。各ブロ
ックに関する通常の変換コード化及びモード決定処理の一部として、(760において示
すように)残差ブロック755に関してDCTを計算し、その結果、量子化されていない
係数が得られる。770において単位元量子化器(即ちqstep=1)を適用し、得ら
れた係数を処理して、ブロックが生成できる最大速度777を計算する。これにより、速
度(qstep)カーブ上に点(ratemax,qstepmin)を提供する。なお
、qstepmin=1である。
ロになるqstepの値772が分かる。上記最大係数の値はqstepmaxと呼ばれ
る。これにより、速度(qstep)カーブ上に点(ratemax,qstepmax
)を提供する。なお、ratemin=0である。
なく、また極端に圧縮されもしない)のために選択されるようなqstepの中央値を用
いて、非量子化係数を再び量子化する。(上記中央値はqstemmidとする。)得ら
れた係数を用いて、速度(qstep)カーブ上に点(ratemid,qstepmi
d)を決定する。785、787を参照のこと。
TDCを図7Dに示す。この実施形態では、歪み推定関数Dk(q)は、複数の基準点Q
1、Q2、Q3によってその特徴を決定できる。各基準点は、量子化ステップ幅の対応す
る値qvに関する歪みDk(qv)の値である。
点を計算し、続いて連続関数モデルを上記基準点にフィットさせることを含む。
実施するよう構成してよい。
を受信してよい。各予測残差は、対応するコード化モードに関する入力ブロックと予測と
の間の差異である。各予測は、入力ブロックと同一の次元のアレイであってよい。
クを得ることができる:
TBk←Transform(PRk)
ここでk=1、2、…、Nである。いくつかの実施形態では、上記変換は離散コサイン
変換である(DCT)。しかしながら他の変換も同様に使用してよい。
テップ幅qの値それぞれを用いて、コード化モードMkに関する変換ブロックを量子化し
、上記変換ブロックの1つ又は複数の量子化バージョンを得てよい。デジタル回路構成は
、変換ブロックの1つ又は複数の量子化バージョンを含むデータの集合を処理して、コー
ド化モードMkに関する速度推定関数Rk(q)の特徴を決定する一次速度モデル化データ
(primary rate modeling data:PMRD)を得てよい。各
量子化バージョンの処理により、量子化ステップ幅の対応する値qvに関する速度Rk(q
v)の推定(又は測定値)が得られる。量子化ステップ幅の1つ又は複数の値に対応する
1つ又は複数の順序対{(qv,Rk(qv))}は、速度推定関数Rk(q)の特徴表示と
して解釈してよい。
路構成は、副次的情報ストリーム730を通信媒体(例えばインターネット又は無線ネッ
トワーク)上へと伝送するよう構成してよい。副次的情報ストリームは、各コード化モー
ドに関する及び各ブロックに関する一次速度モデル化データ(PRMD)を含んでよい。
びインタブロックコード化モードを含んでよい。他の実施形態では、複数のコード化モー
ドは様々な予測サブブロックパーティションを含んでよい。
又は複数の値は、1に等しい量子化ステップ幅を表す最小値qminを含む。これらの実施
形態では、データの集合を処理する上述の動作は、1に等しい量子化ステップ幅に対応す
る量子化バージョンにおける最大絶対値の係数に基づいて、(速度値ゼロに対応する、例
えば全ての量子化係数がゼロである)量子化ステップ幅の最大値qmaxを決定することを
含んでよい。(各量子化バージョンは量子化変換係数のアレイであることを思い出された
い。)一次速度モデル化データを生成するために使用されるデータの集合は、最大値qma
xを含んでよい。
クからより直接的に計算してよい。(いくつかのビデオ符号化規格では、1に等しい量子
化ステップ幅による変換ブロックの量子化は、恒等写像を構成し、即ち変換ブロックの各
係数に変化を発生させない。従ってqmaxの計算は、非量子化変換ブロックのみに左右さ
れるものであり得る。)よって、デジタル回路構成によってブロック毎に実施される操作
は:各コード化モードMkに関して、コード化モードに関する変換ブロックに基づいて、
即ち最大絶対値を有する変換ブロックの係数に基づいて、(速度値ゼロに対応する)量子
化ステップ幅の最大値qmaxを計算することも含んでよい。この代替実施形態では、一次
速度モデル化データを生成するために使用されるデータの集合は、最大値qmaxも含む。
ステップ幅を表す最小値qminを含んでよい。更に、データの集合を処理する動作は、最
小値qminに対応する量子化バージョンに基づいて、量子化ステップ幅の最小値qminと関
連する最大速度値Rmaxを計算することを含んでよい。あるいは、最大速度値Rmaxを、変
換ブロックの最小量子化バージョンからではなく、変換ブロックからより直接的に計算し
てよい。この代替実施形態では、デジタル回路構成によってブロック毎に実施される操作
は、コード化モードに関する変換ブロックに基づいて、量子化ステップ幅の最小値qmin
に関連する最大速度値Rmaxを計算することも含んでよい。これらの実施形態では、一時
モデル化データを生成するために使用されるデータの集合は、最大速度値Rmaxを含む。
例えば値1)と最大値との正確な中央値qmidを含んでよい。例えばqmidは、1に等しい
量子化ステップ幅を表すqminと最大値qmaxとの中点であってよい。あるいは値qmidは
、速度−歪み最適化(rate−distortion optimization:R
DO)等の、メザニンエンコーダが使用するいずれの最適化アプローチに基づいて選択し
てよい。更に、データの集合を処理する動作は、中央値qmidに対応する量子化バージョ
ンに基づいて、量子化ステップ幅の中央値qmidに関連する中央速度値Rmidを計算するこ
とを含んでよい。これらの実施形態では、一時モデル化データを生成するために使用され
るデータの集合は、中央速度値Rmidを含む。
は、量子化係数のコードサイズをエミュレートするための単純近似からなってよい。例え
ば、量子化バージョン中の全ての非ゼロ係数coeffに対する項の合計1+2*log
2[abs(coeff)]である。
は、量子化バージョンの完全なエントロピー符号化の結果であるか、又は量子化バージョ
ンのエントロピー符号化の正確な若しくは近似的なエミュレーションによるものであって
よい。
れたい。しかしながら、得られる速度推定関数の精度も上記数と共に上昇し得る。
関数モデルに関するフィッティングパラメータを計算することも含んでよい。フィッティ
ングパラメータもまた、速度推定関数Rk(q)の特徴表示として解釈してよい。関数モ
デルは、以下のうちのいずれかのような、文献に記載されているものであってよい:
Rk(q)=α+βlog(1/q) [Lin、1998年];
Rk(q)=α+β/q’ [Lin、1998年];
Rk(q)=変換残差のラプラス分散に基づく表現式 [Li、2009年]
これらの例示的な連続関数モデルでは、α及びβはフィッティングパラメータである。
フィッティングパラメータの計算は、連続関数モデルと、変換ブロックに対応する量子化
ステップ幅の計算された全ての状態との間の誤差を最小化するために、フィッティングパ
ラメータに値、例えば:
(Rmax,qmin=1)、
(Rmid,qmid)、
(Rmin=0,qmax)
を割り当てるための数値法を使用することからなってよい。
実施される操作は:各コード化モードMkに関して、コード化モードに関する変換ブロッ
クの1つ又は複数の量子化バージョンにそれぞれ基づいて、1つ又は複数の再構成残差を
生成すること;及び上記再構成残差に基づいて、コード化モードに関する歪み関数Dk(
q)の特徴を決定する一次歪みモデル化データ(primary distortion
modeling data:PDMD)を生成することを含んでもよい。(各再構成
残差は、入力ブロックと、変換ブロックの各量子化バージョンに由来する各再構成ブロッ
クとの間の差であってよい。)これらの実施形態では、副次的情報ストリーム730は、
各コード化モード及び各ブロックに関する一次歪みモデル化データも含んでよい。
は、変換ブロックの各量子化バージョンに由来する各再構成残差の二乗誤差の合計(SS
E)を含んでよい。
関数モデルに関するフィッティングパラメータを計算することも含んでよい。フィッティ
ングパラメータもまた、歪み推定関数Dk(q)の特徴表示として解釈してよい。関数モ
デルは、文献に記載されている以下のものであってよい:
Dk(q)=αq2 [Sullivan、1998年]
この例示的な連続関数モデルでは、αはフィッティングパラメータである。フィッティ
ングパラメータの計算は、連続関数モデルと、変換ブロックに対応する量子化ステップ幅
の計算された全ての状態との間の誤差を最小化するために、フィッティングパラメータに
値、例えば(D,q)を割り当てるための数値法を使用することからなってよい。
作は;(1)複数のコード化モードのうちの最適化コード化モード及び量子化ステップ幅
qの最適化値に対応する、変換ブロックの量子化バージョンを選択すること(ここで、量
子化ステップ幅の最適化値及び最適化コード化モードは、速度−歪み最適化(RDO)等
の、メザニンエンコーダが使用するいずれの最適化アプローチに基づいて選択されている
);並びに(2)最適化コード化モード及び量子化ステップ幅qの最適化値に対応する上
記量子化バージョンを符号化して、符号化ビデオストリームに寄与する出力ビットを生成
することも含んでよい。伝送回路構成は、符号化ビデオストリームを通信媒体へと伝送す
るよう構成してよい。
成を含んでよい。変換回路構成は、上記受信、上記変換、各コード化モードMkに関する
上記量子化、上記処理及び上記選択を実施するよう構成してよい。符号化回路構成は、最
適化コード化モード及び量子化ステップ幅qの最適化値に対応する量子化バージョンの上
記符号化を実施するよう構成してよい。一実施形態では、変換回路構成及び符号化回路構
成はパイプライン構成であり、符号化回路構成が変換回路構成よりも、ピクチャシーケン
ス中の順序が前のピクチャに作用する。
1)量子化ステップ幅qの最適化値を用いて、複数のコード化モードのうちの最適化コー
ド化モードに対応する変換ブロックを量子化すること(ここで、量子化ステップ幅の最適
化値及び最適化コード化モードは、速度−歪み最適化(RDO)等の、メザニンエンコー
ダが使用するいずれの最適化アプローチに基づいて選択されている);並びに(2)最適
化コード化モード及び量子化ステップ幅qの最適化値に対応する量子化変換ブロックを符
号化して、符号化ビデオストリームに寄与する出力ビットを生成することを含んでよい。
(1)の量子化ステップは、量子化ステップ幅の1つ又は複数の値を用いた変換ブロック
の上記量子化、即ち上述のステップ(C)の一部として実施される量子化とは別個のもの
であってよい。伝送回路構成は、符号化ビデオストリームを通信媒体へと伝送するよう構
成される。
ビデオエンコーダは、デジタル回路構成910及び伝送回路構成920を含んでよい。(
更にビデオエンコーダ900は、図1〜8、図10〜17に関連して既に述べた又は以下
に述べる特徴、要素及び実施形態のいずれのサブセットを含んでよい。)
て、以下の操作:(A)1つ又は複数のコード化モードそれぞれに対応する複数の予測残
差を変換して、上記1つ又は複数のコード化モードそれぞれに関する1つ又は複数の変換
ブロックを得ること;並びに(B)各コード化モードMkに関して、各予測残差及び/又
はコード化モードMkに関する各変換ブロックを処理して、コード化モードMkに関する速
度モデル化データ(RMD)を得ることを実施するよう構成してよい。デジタル回路構成
910は、デジタル回路構成710に関連して既に様々に説明したようなハードウェアに
おいて実現できる。
してよく、この副次的情報ストリームは、各コード化モード及び各ブロックに関する速度
モデル化データを含む。
ち少なくとも1つに関する速度推定関数Rk(q)の特徴を決定するデータを含んでよく
、ここでqは量子化ステップ幅を表す。
各コード化モードMkに関して、コード化モードに関する変換ブロックの1つ又は複数の
量子化バージョンにそれぞれ基づいて、1つ又は複数の再構成残差を生成すること;及び
上記1つ又は複数の再構成残差に基づいて、コード化モードに関する歪みモデル化データ
を生成することを含んでもよく、ここで副次的情報ストリームは、各コード化モード及び
各ブロックに関する上記歪みモデル化データも含んでよい。
のうち少なくとも1つに関する歪み推定関数Dk(q)の特徴を決定するデータを含み、
ここでqは量子化ステップ幅を表す。
ージョンを表す符号化ビデオストリームを生成するよう構成してよく、ここで伝送回路構
成は、上記符号化ビデオストリームを通信媒体へと伝送するよう構成される。
変換ブロックのうち少なくとも1つに作用することを含む。
回路構成を含んでよい。デジタル回路構成は、入力ビデオストリームを符号化して符号化
ビデオストリームを得るよう構成してよく、ここで上記符号化は、入力ビデオストリーム
の特性を決定する副次的情報ストリームの生成を含む。伝送回路構成は、符号化ビデオス
トリーム及び副次的情報ストリームを伝送するよう構成してよい。
/又は歪み特性を決定するデータを含む。
む。
ある一連の実施形態では、ビデオ信号変換システム1000は図10に示すように構成
してよい。(更にビデオ信号変換システム1000は、図1〜9、図11〜17に関連し
て既に述べた又は以下に述べる特徴、要素及び実施形態のいずれのサブセットを含んでよ
い。)
を受けているユーザデバイス1045のために(例えばピクチャサイズ、ビデオフォーマ
ット及びビットレート等の1つ又は複数の因子に関して)カスタマイズされた第2の符号
化ビデオストリーム1035を生成してよい。第1の符号化ビデオストリーム1005の
単一の記憶されたコピーは、異なるユーザデバイスのために異なる方法で信号変換してよ
い。例えば第1の符号化ビデオストリーム1005は、無線ネットワークを介して接続さ
れた移動体デバイスのために、低ビットレート及び小ピクチャサイズに信号変換してよく
、また有線ネットワークを介して接続されたホームシアターのために、高ビットレート及
び大ピクチャサイズに信号変換してよい。更にビデオ信号変換システム1000は、ビデ
オ信号変換システムとユーザデバイスとの間のチャネルの状態に応じて、例えばユーザデ
バイスから受信したフィードバックに基づいて、第2の符号化ビデオストリームの出力ビ
ットレートを動的に調整してよい。第2の符号化ビデオストリームは、通信媒体1040
(例えば無線ネットワーク、又は有線ネットワーク、又は無線ネットワークと有線ネット
ワークとの併用)を介してユーザデバイスに伝送される。ビデオ信号変換システム100
0は、例えばネットワークエッジトランスコーダに関連して上述したように、ネットワー
クの辺縁又はその付近に配置してよい。
ビデオ信号変換システム1000を、無線ネットワークの無線アクセスポイント(例えば
基地局)に連結してよい。従って通信媒体1040は、アクセスポイントとユーザデバイ
スとの間の無線インタフェースであってよい。この文脈において、第2の符号化ビデオス
トリーム1035をカスタマイズして動的なビットレート制御を適用する性能は、無線イ
ンタフェースが利用できる帯域幅が限定されているため、及びチャネルが極めて動的な特
性を有するため、特に有用である。
N)のオペレータが使用してよく、ビデオ信号変換システム1000はCDNの辺縁又は
その付近に配置してよい。従ってビデオ信号変換システム1000が供給する出力は、C
DNオペレータの制御範囲外にある通信媒体1040を介してユーザデバイスに伝送でき
る。ビデオ信号変換システム1000は、システム520のネットワークエッジトランス
コーダとして使用してよい(図5、6を参照)。
出力エンコーダ1030を含んでよい。デコーダ1010は、第1の符号化ビデオストリ
ーム1005を受信及び復号化することで、復号化ビデオストリーム1015を得るよう
構成してよい。
ングして、スケーリング済みビデオストリーム1025を得るよう構成してよい。標的ピ
クチャ解像度は、第1の符号化ビデオストリーム1005が潜在的に有するピクチャ解像
度より低くてよく、又はこれと同一であってよく、又はこれより高くてもよい。
々に説明したような)副次的情報ストリーム1028を受信し、この副次的情報ストリー
ム1028を用いてスケーリング済みビデオストリームを符号化して、第2の符号化ビデ
オストリーム1035を得るよう構成してよい。
ージョンとして解釈してよい。(いくつかの実施形態では、第1の符号化ビデオストリー
ムは、メザニンエンコーダ510、ビデオエンコーダ700又はビデオエンコーダ900
が生成したストリームである。)副次的情報ストリーム1028は、ソースビデオストリ
ームの特性を決定するメタデータを含んでよい。例えば副次的情報ストリームは、ソース
ビデオストリームのブロックの速度及び/又は歪み特性を決定する情報を含んでよい。別
の例として、副次的情報ストリームは、ソースビデオストリームのブロックに関する運動
ベクトルを含んでよい。副次的情報を出力エンコーダ1030が使用することで、最適な
(又は最適に近い)コード化決定、例えば所定のブロックに対して使用するコード化モー
ド、又は所定のブロックに対して使用する量子化ステップ幅の値、又は所定のブロックに
対して最適なインタ予測を得られる可能性が高い1つ若しくは複数のベクトルの決定等を
、計算効率が高い方法で行うことができる。
応するN個の速度情報ストリームを含み、ここでNは1以上である。N個の速度情報スト
リームの各速度情報ストリームRISkは、各コード化モードに基づいてブロック予測を
推測する、第1の符号化ビデオストリームのブロック毎の対応する速度推定関数Rk(q
)の特徴を決定し、ここでqは量子化ステップ幅である。
デオストリームの(Pピクチャ又はBピクチャ等の)所定のコード化されたピクチャに関
してはNは2に等しくてよく、この場合速度情報ストリームRIS1はイントラコード化
モードに対応してよく、速度情報ストリームRIS2はインタコード化モードに対応して
よい。あるいは、Nの値は固定されているものと解釈してよく、しかしながらいくつかの
ピクチャに関しては、N個の速度情報ストリームのうち1つ又は複数は休止状態であって
よい。例えばN=2の場合、イントラピクチャはインタコード化モードのための速度情報
ストリームを必要とせず、その一方でPピクチャ又はBピクチャは、イントラ速度情報ス
トリーム及びインタ速度情報ストリームの両方を使用し得る。
る2つ以上のフィッティングパラメータの対応するセットにより、各ブロックに関して速
度推定関数Rk(q)の特徴を決定する。連続関数モデルはいずれの様々な形態を有して
よい。一実装形態では、連続関数モデルは以下の形態:
Rk(q)=α+βlog(1/q) [Lin、1998年]
を有し、ここでα及びβはフィッティングパラメータである。
含み、N個の歪み情報ストリームの各歪み情報ストリームDISkは、各コード化モード
に基づいてブロック予測を推測する、第1の符号化ビデオストリームのブロック毎の対応
する歪み推定関数Dk(q)の特徴を決定する。各歪み情報ストリームDISkは、連続関
数モデルに関連する1つ又は複数のフィッティングパラメータの対応するセットにより、
各ブロックに関して歪み推定関数Dk(q)の特徴を決定してよい。連続関数モデルはい
ずれの幅広い形態を有してよい。例えば一実装形態では、連続関数モデルは以下の形態:
Dk(q)=αq2 [Sullivan、1998年]
を有し、ここでαはフィッティングパラメータである。
御プロセスへの入力として使用される。典型的な速度制御アルゴリズムは、あるピクチャ
に関する集計速度関数RA(q)及びそのピクチャに関する集計歪み関数DA(q)に基づ
くものであってよい。副次的情報ストリームは、スケーリング済みビデオストリームの所
定の標的ピクチャ解像度に関するRA(q)及びDA(q)を計算するために必要な情報を
含有してよい。速度制御アルゴリズムは、標的ビットレートを達成するために、並びに第
2の符号化ビデオストリームを受信する遠隔デコーダにおけるコード化ピクチャバッファ
のオーバフロー及びアンダフローを回避するために、スケーラ値λを調整することを含ん
でよい。
チャに関して、N=2であり、この場合歪み情報ストリームDIS1はイントラコード化
モードに対応してよく、歪み情報ストリームDIS2はインタコード化モードに対応して
よい。
て、スケーリング済みビデオストリームの各フレームに関する集計速度推定関数RA(q
)を得るよう構成してよく、ここでqは量子化ステップ幅を表す。集計速度推定関数RA
(q)は、ブロックコード化モード及び/又は量子化器の選択に使用できる。
て、スケーリング済みビデオストリームの各フレームに関する集計歪み推定関数DA(q
)を得るよう構成してよい。集計歪み推定関数DA(q)は、ブロックコード化モード及
び/又は量子化器の選択に使用できる。
理して、スケーリング済みビデオストリームの各フレームに関する集計速度推定関数RA
(q)及び集計歪み推定関数DA(q)を得るよう構成してよい。
いて、あるピクチャに関する集計速度関数RA(q)を計算するよう;(b)N個の歪み
情報ストリームに基づいて、上記ピクチャに関する集計歪み関数DA(q)を計算するよ
う;(c)集計速度関数RA(q)及び集計歪み関数DA(q)に基づいて、上記ピクチャ
に関する集計スケール関数λ(q)を計算するよう(ここでスケーリング済みビデオスト
リームの上記符号化は、スケーラ値λでパラメータ化した速度−歪み費用関数に基づくラ
グランジュ型最適化を用いてピクチャを符号化することを含む);並びに(d)集計速度
関数RA(q)、集計歪み関数DA(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つのループのいずれか又は両方に亘る反復は並行し
たものであってよいことを理解されたい。
RA(q)←ratefit*RA(q)
に基づいて、補正1140を適用してよい。ここでratefitは、予測サイズと、ビ
デオシーケンス内の順序が前のピクチャから得られた実際のサイズとを比較することによ
って計算される値である。
ープ1150で示すように、量子化ステップ幅q全体に亘ってピクチャ関連ラムダ関数λ
(q)を計算する。ピクチャ関連ラムダ関数λ(q)は、例えば速度制御アルゴリズムで
使用してよい。
の値を量子化ステップ幅qの範囲全体に亘って計算する。表記dRA(q)/dqは、量
子化ステップ幅に対する速度の導関数を表す。
λ(q)=−(dDA(q)/dq)/(dRA(q)/dq)
に従って、qstepの現在の値に関してピクチャ関連ラムダ関数λ(q)の値を計算し
てよい。ここでdDA(q)/dqはピクチャ関連歪み導関数である。
つ若しくは複数のパラメータは、プロセス1100の入力として供給してよい。例えば:
dDA(q)/dq=定数
であり、定数の値は例えば、一連の例示的なビデオクリップのオフライン分析によって経
験的に決定できる。
様の方法で、いずれのブロックに関する歪み推定関数Dk(q)からの寄与を加算するこ
とによって計算できる。
ケール関数λ(q)は、閉じた形式の等式としてではなく、一連の別個の量子化ステップ
幅の値に対する値のリストとして計算及び記憶してよい。この場合であっても、各関数は
連続写像であると考えてよく、中間値が内挿によって計算される。更に各関数は、基礎と
なるブロック毎の速度及び歪み推定関数が単調関数であるため、一対一(即ち可逆)写像
であると理解される。
各ブロックに関する速度の寄与は、スケーラ部1020の動作によって出力解像度が入力
解像度と異なる場合、写像された速度推定関数R’k(q)から得られるものであってよ
い。出力解像度における所定のブロックに関する写像された速度推定関数R’k(q)は
、第1の符号化ビデオストリーム1005の対応するスケーリング済み位置における、1
つ又は複数のブロックの速度推定関数Rk(q)に等しい。
定関数と同一の方法で、写像された歪み推定関数として累算される。
の符号化ビデオストリームの各ブロックに関する1つ又は複数の候補運動ベクトルを含ん
でよく、ここで出力エンコーダは、上記1つ又は複数の候補運動ベクトルに基づいて、運
動ベクトル空間内の1つ又は複数の領域に限定された各ブロックに関する高解像度運動ベ
クトル精密化を実施するよう構成される。標的ピクチャ解像度が、第1の符号化ビデオス
トリームが潜在的に有するピクチャ解像度と同一でない場合、候補運動ベクトルをスケー
リングしてよい。
5からの各ブロックに関する運動ベクトルを、第1の符号化ビデオストリームの上記復号
化の一部として再生するよう構成してよい。これらの実施形態では、出力エンコーダは、
ブロックに関する運動ベクトルに基づいて、運動ベクトル空間内の1つ又は複数の領域に
限定された各ブロックに関する運動ベクトル精密化を実施するよう構成してよい。標的ピ
クチャ解像度が、第1の符号化ビデオストリームが潜在的に有するピクチャ解像度と同一
でない場合、候補運動ベクトルをスケーリングしてよい。
とによって、スケーリング済みビデオストリームのブロックを符号化するよう構成してよ
く、ここで速度歪み関数Jは、関係式J=R(c)+λD(c)に従って、スケーラ値λ
によってパラメータ化され、ここでベクトルcは符号化選択の所定のリアライゼーション
を表し、速度関数R(c)は、リアライゼーションcの下でブロックを符号化することで
生成されるビット数の推定(又は測定値)であり、歪み関数D(c)は、リアライゼーシ
ョンcの下でブロックを符号化することで生成されるブロック歪みの推定(又は測定値)
である。符号化選択は、量子化ステップ幅qの選択を含んでよい。Nが1より大きい場合
、符号化選択はN個のコード化モードからのコード化モードの選択も含んでよい。
ャに関して)ブロック毎に1つ又は複数の候補運動ベクトルを含む。これらの実施形態で
は、符号化選択は、1つ又は複数の候補運動ベクトルを含む一連のベクトルからの1つの
運動ベクトルの選択も含んでよい。上記一連のベクトルは、第1の符号化ビデオストリー
ムの上記復号化の一部として第1の符号化ビデオストリームから再生される復号化運動ベ
クトルも含んでよい。
ムに基づいて、あるピクチャに関する集計速度関数RA(q)を計算するよう;並びに(
b)集計速度関数RA(q)及び集計歪み関数DA(q)に基づいて、上記ピクチャに関す
る集計スケール関数λ(q)を計算するよう、構成してよい。これらの実施形態では、ス
ケーリング済みビデオストリームを符号化する動作は、スケーラ値λでパラメータ化した
速度−歪み関数に基づくラグランジュ型最適化を用いてピクチャを符号化することを含ん
でよい。更に出力エンコーダは、集計速度関数RA(q)、集計歪み関数DA(q)及び/
又は集計スケール関数λ(q)を用いてスケーラ値λを制御することにより、第2の符号
化ビデオストリームを受信する遠隔デコーダのコード化ピクチャバッファのオーバフロー
又はアンダフローを回避するよう構成してよい。
タ化した速度−歪み関数を用いたラグランジュ型最適化に基づいて、スケーリング済みビ
デオストリームを符号化するよう;及び(2)副次的情報ストリームに基づいてスケーラ
値λを動的に調整することにより、第2の符号化ビデオストリームを受信する遠隔デコー
ダのコード化ピクチャバッファのオーバフロー又はアンダフローを防止するよう、構成し
てよい。
1995]、[Weigand 1996]、[Lin 1998]又は[Choi 1
994]を含む文献から得られる、数多くの速度歪み最適化ベースの速度制御アプローチ
のいずれであってよい。これらの文献は全て、集計速度関数RA(q)及び集計歪み関数
DA(q)に基づく、又は集計速度関数RA(q)及び集計歪み関数DA(q)から計算で
きるDA(RA)等のその他の関数に基づく制御方法について記載している。これらの文献
は全て、スケーラ値λを動的に調整することによって速度制御を達成する制御方法につい
て記載している。
の全てのブロックに均一な値の量子化ステップ幅qを適用することになる。[Choi
1994]に記載されているもの等のその他の実施形態では、副次的情報ストリーム内に
見られるブロックレベルでの速度推定関数Rk(q)及び歪み推定関数Dk(q)を用いて
、適応量子化を達成してよく、その結果、出力ピクチャの全ブロックに関する一連の最適
な量子化ステップ幅qによって、標的ビットレートの制約内で最小の歪みが得られる。
を介して第2の符号化ビデオストリームを(例えばユーザデバイスと関連する)遠隔ビデ
オデコーダに伝送するよう構成された、伝送回路構成を含んでよい。例えばこの伝送回路
構成は、空間を通して信号を伝送するよう構成された無線トランスミッタ(又はトランシ
ーバ)を含んでよい。無線トランスミッタは、無線通信ネットワークの基地局の一部であ
ってよい。別の実施形態では、伝送回路構成は、インターネット等のIPネットワークに
データを伝送するためのネットワークインタフェースであってよい。
情報をスケーリング済みビデオストリームに挿入するよう構成してよい。この補助情報は
以下の1つ又は複数を含んでよい:事業体のブランド設定情報;広告情報;デジタル著作
権管理(DRM)情報;ウォーターマーク機能を提供するデジタル情報;及びコンテンツ
プロバイダ、コンテンツ配信サービスプロバイダ、顧客又はユーザが要求する1つ又は複
数のカスタマイズ用特徴。
ーダ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併用モデルを実装してよい。
トレートに適合させるための統一型機構を提供してよい。これは、リソースの最適な割り
当てという問題を解決するためのより一般的なラグランジュ型最適化技術の、特定の応用
例である。以下により詳細に説明するラグランジュ乗数λは、速度制御システムが制御す
る変数であってよい。符号化パラメータ並びにQP及びコード化モード等の選択の全て、
従ってエンコーダの出力のビットレートは、λの値に依存してよい。
はこれに対応する変形係数の代替として、速度制御目的のマクロブロックの簡略化した記
述として利用できる。各コード化マクロブロックに関して少数のフィッティングパラメー
タを用いて、速度制御システムは、ビットストリームとなるビット数、上記マクロブロッ
クに関する歪み、所定の値のγに対して使用するべきQPの値を推定又は予測してよい。
フィッティングパラメータは、例えば入力サンプル分析、運動推定の結果及び変換係数を
含むデータソースの数から決定してよい。
プルの複雑性を表す性能指数を得てよい。(この分析をイントラ予測モード分析と混同し
ないよう留意されたい。)イントラ複雑性分析の結果を、マクロブロックモデルへの入力
として提供してよい。
クのサンプルをいかに良好に予測できるかの尺度を、移動推定プロセスの一部として計算
してよい。この尺度は、あり得るマクロブロックモードの選択(インタ対イントラ)のた
めの基礎を提供でき、マクロブロックへの別の入力となり得る。あり得るマクロブロック
モードは、予測が良好でないマクロブロックに関してはイントラ、予測が良好なマクロブ
ロックに関してはインタを設定してよい。
グループ(group of pictures:GOP)スケジュールは、ユーザ指定
ケーデンスに従って予備ピクチャタイプを決定できる。イントラピクチャ間の時間はキー
フレーム間隔と呼ばれ、1(これは全てのフレームがイントラタイプであることを暗に示
す)から数百フレームの値を有してよい。連続するBピクチャの使用数(典型的には0〜
3の範囲)をユーザが指定する場合、Pピクチャ間の時間を決定してよい。
は、予定されたB又はPピクチャをイントラピクチャとしてコード化してよい。急速運動
検出アルゴリズムにより、予定されたBピクチャをPピクチャとしてコード化してよい。
予定されたピクチャタイプを無視すると、後続のピクチャに関するGOPスケジュールに
影響し得る。
てよい。運動分析メトリクスは、運動推定プロセスの一部として計算してよい。
化関数に先んじて多くのピクチャに対して実施できる。有用な先読み量は、デコーダのコ
ード化ピクチャバッファに記憶できる圧縮ピクチャ数に適合しており、上記圧縮ピクチャ
数は場合によっては最大20フレーム、又はこれより多い。スライディング先読みウィン
ドウ内の全フレームに関する情報の組み合わせを、速度制御機構の一部として使用してよ
い。
速度制御機構は、λの値をできる限り一定に維持しようとするものであってよい。現在の
ピクチャの複雑性及び先読みウィンドウ内の他のピクチャの複雑性に基づくデコーダバッ
ファ占有量の投射により、速度制御機構はラムダの値を増大又は減少させることができる
。このように離散時間システム分析技術は、フィードバック制御システムの設計において
安定性を保証するために使用してよい。
図12は、一実施形態によるH.264エンコーダの後半、又はネットワークエッジト
ランスコーダの後半を示す。上記後半は、変換ステージ1210、エントロピーコード化
ステージ1215及びビットストリーム形成ステージ1220を含んでよい。統合型速度
制御構成要素は、イントラ複雑性及び運動分析情報のフレームバッファA、スケーラ値λ
のための入力、ピクチャサイズ出力、並びに(変換ステージ内での)qstep選択に関
するマクロブロックモデルの実装を含んでよい。ピクチャサイズ出力は、変換段階からの
暫定ピクチャサイズ(provisional picture size:PPS)及
び実際のピクチャサイズ(actual picture size:APS)を含んで
よい。所定のピクチャに関する実際のピクチャサイズの伝送は、上述の実施形態における
処理のパイプライン型の性質により、上記ピクチャに関する暫定ピクチャサイズの伝送に
対して遅れてよい。
は:
現在のピクチャのルマ(輝度)及びクロマ(彩度)サンプルに関するバッファA;運動ベ
クトル及び予測サンプルに関するバッファB;イントラ複雑性及びマクロブロック毎の運
動分析に関するバッファCの;運動推定精密化のための再構成サンプルに関するバッファ
D;コード化マクロブロック情報に関するバッファE;並びにスライスデータに関するバ
ッファFを含んでよい。
在のピクチャのルマ及びクロマサンプル)、バッファB(運動ベクトル及び予測サンプル
)、バッファC(イントラ複雑性及びマクロブロック毎の運動分析)からのデータ並びに
スケーラ値λを受信し、バッファD(再構成サンプル)及びバッファE(コード化マクロ
ブロック情報)への出力並びに暫定ピクチャサイズに関連する情報を提供する。この実施
形態では、エントロピーコード化ステージ1215は、バッファE(コード化マクロブロ
ック情報)からの入力データを受信し、スライスデータ(バッファFへ)及び実際のピク
チャサイズを出力する。ビットストリーム形成ステージ1220は、バッファFからスラ
イスデータを受信し、対応する出力ビットストリームの一部を生成する。
ントラ複雑性分析1310、バッファモデル1315、ピクチャタイプ選択1320及び
速度制御機構1325を含んでよい。粗い運動推定ステージ1330内には、移動分析プ
ロセスが存在してよい。イントラ複雑性情報及び運動分析情報は、バッファCを介して変
換ステージに供給してよく、ピクチャサイズ情報は下流のステージからのフィードバック
として受信してよい。ピクチャサイズ情報は、変換ステージからの暫定ピクチャサイズP
PS及び実際のピクチャサイズ(APS)を含んでよい。
、H、I、J、Kを利用してよい。バッファGは、現在のピクチャのルマ及びクロマサン
プルに関するものである。バッファHは、間引かれた現在のピクチャ及び基準ピクチャ(
ルマ)に関するものである。バッファJは、イントラ複雑性分析結果に関するものである
。バッファKは運動分析結果に関するものである。バッファIは粗い運動ベクトルに関す
るものである。
クチャのルマ及びクロマサンプル)から入力データを受信して、バッファ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(イントラ複雑性及びマクロブロック毎
の運動分析)に出力を提供してよい。
ての意味しかなく、実装形態をいずれの特定の形態、機能又は外見に限定することを意図
したものではないことに留意されたい。
ある一連の実施形態による速度制御システムの構成要素又は特徴に関する更なる詳細を
以下に提供する。
可能な符号化選択のN次元空間におけるいずれの所定の点に関して、以下の値を計算で
きる:
R=速度=符号化選択から得られるビットストリーム中のビット数
D=歪み=上記選択による非可逆符号化アルゴリズムによって生じる歪み
信号対ノイズ比(peak signal−to−noise ratio:PSNR)
は、エンコーダへの入力サンプルのブロックと、局部デコーダによって提供される再構成
サンプルのブロックとの間の平均二乗誤差(mean squared−error:M
SE)に基づく。MSEを歪みの尺度として用いることにより、アルゴリズムを最適化し
てPSNRを改善できる。
絶対値差分の合計(Sum of Absolute Differences:SAD
)と密接に関連しており、これもまた、歪みの実際の値が得られるいずれの距離基準と同
等に使用してよい。
J=D+λR
は上述のようにラグランジュ乗数である。
量子化パラメータQPの選択は、エンコーダで行われるこのような選択の1つである。Q
Pに対応する連続変数はqstepである。いくつかの実施形態では、qstepは以下
の式:
qstep=A*2^(QP/6)
によってQPと関連し、ここでAは固定された定数であり、「^」は冪乗を表す。
であり;D(qstep)は単調増加し、その導関数は連続関数であると仮定する。qs
tepの上述の2つの関数はいずれも上に凸であることがわかる。従って図14に示すよ
うに、費用関数Jの最小値は、qstepmin又はqstepmaxにおいてではなく、qs
tepの何らかの中間値において達成される。図14は費用Jをqstepの関数として
示し、最適費用Jminはqstep=qstepbestにおいて達成されることを示す。
状は図15に示すように上に凸であることがわかる。D(R)のグラフ上の各点は、qs
tepの異なる値に対応する。Jの最小化は、Jの導関数がゼロであることを意味し、従
って
dD/dR=−λ
である。従ってλは、図15に示すようにカーブD(R)の負の傾きであり、λとqst
epの間には写像が存在する。
て、以下の式:
λ(qstep)=−(dD/dqstep)/(dR/dqstep)
に従ってqstepからλを計算できる。
p)の特徴を決定すれば、qstepの所定の値における逆関数qstep(λ)の値を
数値的に近似することは容易である。
つかの実施形態では、λは速度制御システムによって制御される値であり、qstepは
上述の逆関数による従属変数である。
、エンコーダによる、全ピクチャに亘るピクチャ毎の全ての決定に対して適用されるため
、合理的である。画像の複雑性が可変である場合、このアプローチにより、必要に応じて
、複雑な領域に対するより多くのビットの割り当てが可能となる。
qstepの値は、離散コサイン変換(discrete cosine trans
form:DCT)計算から得られる係数を量子化するために必要となり得る。写像関数
qstep(λ)は存在するが、これはマクロブロックの全てのコード化ブロック及びコ
ード化モード(例えばインタ対イントラ)に固有のものである。
/経済的に実行可能な)現実的なqstep(λ)の計算を実装してよい。上記利用可能
な情報は、マクロブロックに関するイントラ複雑性分析の結果、マクロブロックに関する
運動分析の結果及び変換係数のリストを含んでよい。変換係数は最も有用な情報を提供し
得る。量子化された係数は固定コード化式によってエントロピーコード化されるため、こ
れらの値からR(qstep)を推定できる。非ゼロ係数に関するビットにおける費用は
:
1+2*log(|coeff|)
に略等しいか又はこれと同一であってよい。
して良い。
epを計算するための実際的な(例えば計算的/経済的に実行可能な)関数を見出してよ
い。
では、qstepはDCT計算の後まで計算しなくてよく、これにより係数の値を(qs
tepを計算するために)関数において使用できる。
、各マクロブロックに関して別個に計算してよい。例えば一実施形態では、適応量子化と
呼ばれる特徴を支援するエンコーダを実装してよく、ここでQPはピクチャ全体に亘って
一定でない。理想的には、使用するビット数を少なくするために、及びヒトの視覚系は複
雑な領域における歪みに対しては耐性が比較的高いことを理由として、ピクチャの複雑な
領域において比較的高いQPを使用する。眼が歪みに関して比較的高い感受性を有し、か
つ画像の詳細の欠落によってビットレートが低くなっている、ピクチャの平坦な領域には
、比較的低いQPを使用する。qstep(λ)の計算は、ラムダがピクチャ全体に亘っ
て一定に維持される場合でさえ、このような挙動を示し得る。
独立変数として使用する複雑なアプローチを含む(ここでQPは、変換係数に元々含まれ
る詳細な情報を用いることなくアプリオリに決定されている)ことに留意されたい。
いくつかの実施形態では、速度制御システムの複数の構成要素は、運動推定に関連して
よい。
測できるかの尺度である。運動推定プロセス(又はモジュール)は、この予測のための最
良の運動ベクトルを決定し、この運動ベクトル及び予測を用いて、マクロブロックをコー
ド化する。運動推定プロセスはまた、現在のマクロブロックをいかに良好に予測できるか
の尺度を計算し、この性能指数又はメトリックは、インタコード化マクロブロックの複雑
性の潜在的な推測変数となり得る。
運動推定は一般に、粗い解像度の部分及び完全な解像度の部分を含む。
運動推定ステージから出力される運動分析情報に基づいていてよい。しかしながら更なる
実施形態では、運動推定プロセスの一部を、現在のピクチャよりずっと先の入力ピクチャ
に対して実施することにより、速度制御及びピクチャタイプ選択を目的とした先読み機能
を実行してよい。
いくつかの実施形態では、粗い解像度の運動推定を、現在の画像及び基準画像の間引き
されたコピーに対して実施してよい。粗い解像度の運動推定プロセス(又はモジュール)
は、極めて大きな検索範囲に亘る完全検索アルゴリズムを効果的に支援でき、これにより
、粗い運動ベクトル及び潜在的な推測変数の性能指数又はメトリックが得られる。粗い運
動推定プロセスの2つの側面、即ち:再構成サンプルではなく、基準ピクチャに関するソ
ースサンプルを使用し得ること;完全な解像度の運動推定を開始する前に全フレームに亘
ってプロセスの機能(例えば処理)を完了し得ることが、特に重要となり得る。
味する。従って予測の性能指数を用いて、速度制御機構の必要に応じて、将来のピクチャ
のサイズを予測できる。いくつかの実施形態では、これをピクチャタイプ選択のためにも
使用してよい。良好でない予測の数が多い場合、これは一般に、現在のピクチャが基準ピ
クチャとは異なるシーンであること、及びイントラ(モード)とするべきものであること
を意味する。良好でない予測の数が中程度である場合、これは高速運動を含むシーンを表
すことがあり、この場合BピクチャをPピクチャに置き換えるべきである。
を粗い運動推定ステージに統合してよい。一実施形態では、粗い運動推定は再構成画像サ
ンプルに依存するものではなくてよく、従ってパイプライン型とすることができ、将来の
ピクチャに対して作用できる。更なる実施形態では、ピクチャタイプ選択は、粗い運動推
定において計算した予測性能指数に基づくものであってよい。更にいくつかの実施形態で
は、ピクチャサイズ予測は、粗い運動推定において計算した予測性能指数に基づくもので
あってよい。更なる実施形態では、完全な解像度の運動推定から得られる予測性能指数を
、qstep選択のためのマクロブロックモデルの一部として使用してよい。
上述のように、いくつかの実施形態では、速度制御システムはデコーダのコード化ピク
チャバッファのモデル(即ちバッファモデル)を含んでよく、これにより、符号化ビット
ストリームがプレイバック時にバッファに対してオーバフロー又はアンダフローしないこ
とを保証する。このバッファモデルを速度制御機構が使用して、現在のピクチャ及び将来
のピクチャを符号化した後の更なる占有量を予測してよい。
ッファへの、コード化ピクチャの最初のビットの初期到達時間及び最後のビットの最終到
達時間を予測してよい。伝送の速度は最大ビットレートとして特定でき、これは固定ビッ
トレート(constant bit rate:CBR)符号化に関する標的ビットレ
ートと同一であってよく、また可変ビットレート(variable bit rate
:VBR)符号化に関してはこれより大きくてよい。
可能でない場合における、バッファモデル更新プロセスを示す。
を用いた内部状態の更新を必要とする場合があり、その後速度制御機構を次のピクチャに
適用できる。この特徴は図16Aに示されており、ここではビデオシーケンス内の各ピク
チャに関して、1605において、順序が前のピクチャの実際のサイズを受信し、161
0においてバッファモデル状態が更新される。しかしながら、正確なピクチャサイズはエ
ンコーダのエントロピーコード化ステージ(例えばCABAC)において計算でき、順序
が前のピクチャのサイズは、エンコーダのパイプライン型の実装形態により、即座には利
用できないことに留意されたい。
、全マクロブロックに関する量子化係数の値に基づいて、運動ベクトルの予測ビット費用
及びコード化モード情報と共に使用してよい。調整因子を適用することによって、エント
ロピーコード化ステージ及びこの調整因子の追加の低減効果を説明できる。修正されたプ
ロセスの一実施形態を図16Bに示し、ここではビデオシーケンス内の各ピクチャに関し
て、1620において、順序が前のピクチャの暫定サイズを受信し、1625においてこ
れに従ってバッファモデル状態が更新され、その後1630において、(1つ又は複数)
の順序が前のピクチャの実際のサイズを受信できる。これに応答して、1635において
バッファモデル状態の(1つ又は複数の)補正を実施してよい。
計算する。正確なピクチャサイズ値を後の時点で利用できる場合、バッファモデルは、暫
定ピクチャサイズと実際のピクチャサイズとの間の差に対して更に調整される。
る。例えば、全ての単一の出力ビットを最終的に説明し、かつ無限に長い符号化時間に亘
ってエラーが蓄積されないようにする必要があり得る。後に得られる正確な情報を用いて
、例えばピクチャサイズの初期推定を補正する上述の方法は、上記要件を満たすのに十分
であり得る。
よって可変である状態を含んでよい。ライブイベント用等の長時間の符号化セッションを
支援でき、従って上記合計は、関連のあるデータタイプ(例えば32ビット整数)におい
て記憶できる最大値を超える場合がある。従ってバッファモデルは、実行中に上記合計値
を精度の損失なしに再初期化して、この値をある範囲内、例えば32ビット整数の範囲内
に維持するための機構を含んでよい。
ード化ピクチャファイルの初期推定を用いて更新でき、後に正確なコード化ピクチャサイ
ズが利用可能となった場合に更に更新できる。更に、更なる実施形態では、実行中に出力
ビット合計値を精度の損失なしに再初期化して、この値をある範囲内、例えば32ビット
整数の範囲内に維持するための機構を設けてよい。
いくつかの実施形態では、出力ビットストリーム中のピクチャ毎のビット数は、そのピ
クチャに関するコード化決定の大半が行われる前に選択されるラムダの値の結果であり得
る。上記ラムダ値は、画像内で、ピクチャ間で及びシーン毎に変動する画像複雑性による
、ビデオシーケンスの動的な性質を原因として、符号化中に調整してよい。
1.調整前のラムダの値、ラムダ値の履歴;
2.バッファモデルが提供する現在のデコーダバッファ占有量;
3.先読みウィンドウ内における現在のピクチャ及び将来のピクチャに関するピクチャ
レベルイントラ複雑性及び運動分析情報;
4.ピクチャタイプ選択;並びに
5.ピクチャタイプに応じた、ピクチャのコード化サイズに関する履歴情報。
ロー又はアンダフローを生成しないバッファ占有量の予測と共に調整されたラムダ値が得
られる。制御計算の一部は、これらの入力に基づいて将来のピクチャサイズを予測するこ
とを含む。実際のQP値は、このピクチャレベル速度制御機構によって上述の適応量子化
手順において計算できないことに留意されたい。
要なラムダの最小の調整を行い、所定の標的ビットレートに関して最も(又は最適な)一
貫した知覚品質を得ることであってよい。従っていくつかの実施形態では、様々な実装及
び計算を用いて、上述のように入力データに応じてラムダを調整してよい。
グランジュ乗数ラムダを入力ビデオストリームの複数のピクチャそれぞれに関して計算し
てよい。出力ビデオストリームに関するビットレートは、入力ビデオストリーム及び複数
のピクチャそれぞれに関するラムダに基づいて動的に制御してよい。一実施形態では、ラ
ムダに関する1つの値を、各ピクチャにおける符号化決定全てに使用してよく、その後ピ
クチャ間の速度制御のための必要に応じて、これを調整してよい。
ネットワークエッジトランスコーダの概念は、計算フットプリントが低減されたエンコ
ーダのバージョンである。その目標は、高品質の圧縮ビデオ出力を、最小の電力消費及び
自立型エンコーダよりも高いチャネル密度で、リアルタイムで生成することである。ネッ
トワークエッジトランスコーダは一般にこれを、標的出力と同一の解像度及びフレームレ
ートを既に有するもののビットレートが標的出力より高い圧縮ビデオ基本ストリームを入
力として使用することにより達成する。いくつかの実施形態では、これにより、ネットワ
ークエッジトランスコーダは粗い運動推定ステージを省略できる。
リームの過去の符号化によって行われた決定及びその結果をデータとして利用する入力ビ
ットストリーム分析に置き換えられた、例示的なネットワークエッジトランスコーダ(部
分、例えば前半)を示す。なおこのネットワークエッジトランスコーダの後半は、図12
に示すような従来の圧縮ビデオエンコーダと同様であってよく、従って簡潔にするために
ここで再び提示しない。
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回実施してその結果を記憶できる。その後、符号化プロセスの第2の部分を、
多数の受信器のための必要に応じて多数回実施してよく、これらは全て異なる符号化パラ
メータ又はストリーム個別化を用いる。ある独立した出力ストリーム又は受信器に特異的
ないずれの処理は、符号化プロセスの第2の部分に限定されていてよい。
関して計算、物理的サイズ及び/又は電力フットプリントを最小とすることを目的として
使用してよく、これによりネットワークエッジデバイスとしての使用に最適化される。様
々な実施形態では、第1の部分と第2の部分との間におけるエンコーダのパーティション
分割は、いずれの様々な方法で行ってよい。換言すると、関連する構成要素、プロセス又
はモジュールは、2つのパーティションの間にいずれの所望の方法で分散させることがで
きる。更に、一実施形態では、符号化プロセスの第1の部分の結果は、第2の部分が後続
の操作において符号化プロセスを完了するために必要とする全ての情報を含有する、中間
ストリームフォーマットに記憶してよい。更に、いくつかの実施形態では、エンコーダは
2つの部分にパーティション分割してよく、ここで独立した出力ビットストリーム又は受
信器に特異的ないずれの処理は第2の部分において実施される。
レビ、映画上映、コンピュータ、ケーブルモデム、ケーブルセットトップボックス及びそ
の他を含む、いずれの様々な種類の製品又は用途において利用してよい。本明細書で開示
した技術は更に、必要に応じてソフトウェア及び/又はハードウェアによって実装してよ
い。
ば、当業者には多数の変形例及び修正例が明らかとなるであろう。上述の実施形態は実装
の非限定的な例にすぎないことも強調しておく。以下の請求項は、このような変形例及び
修正例の全てを包含するものとして理解されることを意図したものである。
Claims (20)
- ビデオコンテンツ項目の集合を記憶したメモリであって、各前記ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含む、前記メモリ;
1つ又は複数のビデオトランスコーダデバイス;並びに
コントローラ
を備える、システムであって、
前記コントローラは、複数のユーザデバイスのそれぞれからの、前記ビデオコンテンツ項目のうちの所定の1つに対する複数のコンテンツ要求それぞれに応答して、利用可能な1つ又は複数のビデオトランスコーダデバイスを、各前記ユーザデバイスへの配信を行うために割り当てるよう構成され、
前記ユーザデバイスは、それぞれ異なる構成のビデオ処理能力(VPC)を有し、
前記割り当てられた各ビデオトランスコーダデバイスは:
前記所定のコンテンツ項目の前記符号化ビデオストリーム及び前記副次的情報ストリームを受信し;
前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記符号化ビデオストリームを信号変換し、各前記標的符号化ビデオストリームを得て;
前記信号変換を実施する際、前記1つ又は複数のビデオトランスコーダデバイスのうち第1のビデオトランスコーダデバイスは:
復号化ビデオストリームを得るために前記符号化ビデオストリームを復号化し、
スケーリング済みビデオストリームを得るために、前記復号化ビデオストリームを各前記ユーザデバイスの標的ピクチャ解像度にスケーリングし、
各前記標的符号化ビデオストリームを得るために、前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記スケーリング済みビデオストリームを符号化するよう構成され、
各前記標的符号化ビデオストリームを、通信媒体を介して各前記ユーザデバイスに伝送し、各前記ビデオコンテンツ項目の前記副次的情報ストリームは、1つ又は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、前記1つ又は複数の速度情報ストリームの各前記速度情報ストリームRISkは、各前記コード化モードに基づいてブロック予測を推測する、前記対応する符号化ビデオストリームのブロック毎の、対応する速度推定関数Rk(q)の特徴を決定し、qは量子化ステップ幅である、システム。 - 前記コントローラは:
前記第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信し、各前記報告は、前記ユーザデバイスの前記VPC構成に対する対応する更新を含み;
各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記スケーリング済みビデオストリームを符号化するために使用する前記標的ピクチャ解像度を更新するよう構成される、請求項1記載のシステム。 - 各前記ユーザデバイスの前記VPC構成は:
前記ユーザデバイスが要求するビデオコード化フォーマット:及び
前記ユーザデバイスが要求する標的ピクチャ解像度
のうち1つ又は複数の識別を含む、請求項1に記載のシステム。 - 各前記ユーザデバイスの前記VPC構成は、M次元構成空間に亘るものであり、
Mは少なくとも2であり、
前記M次元構成空間は、ビデオフォーマットの選択に対応する少なくとも第1の次元、及びピクチャ解像度の選択に対応する第2の次元を有する、請求項1に記載のシステム。 - 前記コントローラは:
前記複数のユーザデバイスのうち第1のユーザデバイスへの配信を行うよう割り当てられた前記1つ又は複数のビデオトランスコーダデバイスのうちの所定の1つによって生成された前記標的符号化ビデオストリームを記憶し;
第2のユーザデバイスが前記第1のユーザデバイスと同一又は同様の前記VPC構成を有することを検出すると、これに反応して、前記第2のユーザデバイスへの前記記憶した標的符号化ビデオストリームの伝送を指示する
よう、構成される、請求項1に記載のシステム。 - 前記コントローラは:
前記第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信し、各前記報告は、前記ユーザデバイスからの分析情報を含み;
各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記符号化ビデオストリームの前記信号変換を実施するために使用する1つ又は複数の標的ビットレート及びは標的ピクチャ解像度を更新する、
よう構成される、請求項1に記載のシステム。 - 前記分析情報は、前記第1のビデオトランスコーダデバイスが伝送する前記標的符号化ビデオストリームそれぞれから再生したビデオの品質に関する情報を含む、請求項6に記載のシステム。
- ビデオコンテンツをユーザデバイスに配信するための方法であって、前記方法は、
ビデオコンテンツ項目の集合をメモリに記憶し、各前記ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含み、
複数の遠隔ユーザデバイスのそれぞれからの、前記ビデオコンテンツ項目のうちの所定の1つに対する複数のコンテンツ要求のそれぞれに応答して、利用可能な1つまたは複数のビデオトランスコーダデバイスを各前記ユーザデバイスへの配信を行うために割り当て、前記ユーザデバイスはそれぞれ異なる構成のビデオ処理能力(VPC)を有し、
前記割り当てられた各ビデオトランスコーダデバイスを利用して:
前記所定のコンテンツ項目の前記符号化ビデオストリーム及び前記副次的情報ストリームを受信し;
前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記符号化ビデオストリームを信号変換し、各前記標的符号化ビデオストリームを得て;
各前記標的符号化ビデオストリームを、通信媒体を介して各前記ユーザデバイスに伝送し、
各前記ビデオコンテンツ項目の前記副次的情報ストリームは、1つ又は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、
前記1つ又は複数の速度情報ストリームの各前記速度情報ストリームRISkは、各前記コード化モードに基づいてブロック予測を推測する、前記ビデオコンテンツ項目の前記対応する符号化ビデオストリームのブロック毎の、対応する速度推定関数Rk(q)の特徴を決定し、qは量子化ステップ幅であり、
前記1つ又は複数のビデオトランスコーダデバイスのうち第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信し、各前記報告は、前記ユーザデバイスからの分析情報を含み;
各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記符号化ビデオストリームの前記信号変換を実施するために使用する1つ又は複数の標的ビットレート及び標的ピクチャ解像度を更新する、
ことを含む方法。 - 前記分析情報は、前記第1のビデオトランスコーダデバイスが伝送する前記標的符号化ビデオストリームそれぞれから再生したビデオの品質に関する情報を含む、請求項8に記載の方法。
- ビデオの品質に関する前記情報が前記ビデオの品質の変化を示した場合において、前記第1のビデオトランスコーダデバイスが使用する1つ又は複数の前記標的ビットレート及び前記標的ピクチャ解像度の変化を更に含む、請求項9に記載の方法。
- 前記ユーザデバイスからの前記分析情報は、前記それぞれのユーザデバイスの前記VPC構成に対する更新を更に含む、請求項8に記載の方法。
- 各前記ユーザデバイスの前記VPC構成は、前記ユーザデバイスが要求するビデオコード化フォーマットの識別を含み、
各前記標的符号化ビデオストリームが、前記要求されたビデオコード化フォーマットに適合するように、前記符号化ビデオストリームの前記信号変換を実施する、請求項8に記載の方法。 - 各前記ユーザデバイスの前記VPC構成は、前記それぞれのユーザデバイスが要求する標的ピクチャ解像度の識別を含み、
各前記標的符号化ビデオストリームが、前記要求された標的ピクチャ解像度を有するように、前記符号化ビデオストリームの前記信号変換を実施する、請求項8に記載の方法。 - 各前記ユーザデバイスの前記VPC構成は、前記それぞれのユーザデバイスが要求する標的ビットレートの識別を含み、
各前記標的符号化ビデオストリームが、前記要求された標的ビットレートに略等しい平均出力ビットレートを有するように、前記符号化ビデオストリームの前記信号変換を実施する、請求項8に記載の方法。 - 前記複数のユーザデバイスのうち第1のユーザデバイスへの配信を行うよう割り当てられた前記1つ又は複数のビデオトランスコーダデバイスのうちの所定の1つによって生成された前記標的符号化ビデオストリームを記憶すること;及び
第2のユーザデバイスが前記第1のユーザデバイスと同一又は同様の前記VPC構成を有することを検出すると、これに反応して、前記第2のユーザデバイスへの前記記憶した標的符号化ビデオストリームの伝送を指示すること
を更に含む、請求項8に記載の方法。 - プログラム命令を含むコンピュータ可読メモリ媒体であって、前記プログラム命令は、ビデオトランスコーダシステムに:
ビデオコンテンツ項目の集合をメモリ媒体に記憶することであって、各前記ビデオコンテンツ項目は、対応する符号化ビデオストリーム及び対応する副次的情報ストリームを含む、前記記憶することと、
複数の遠隔ユーザデバイスのそれぞれからの、前記ビデオコンテンツ項目のうちの所定の1つに対する複数の受信したコンテンツ要求それぞれに応答して、前記ビデオトランスコーダシステムの1つ又は複数のビデオトランスコーダデバイスのうち利用可能な1つを、各前記ユーザデバイスへの配信を行うために割り当てることであって、前記ユーザデバイスは、ビデオ処理能力(VPC)のそれぞれ異なる構成を有する、前記割り当てることと;
を行わせるように、プロセッサによって実行可能であり、
前記プログラム命令は、前記割り当てられた各ビデオトランスコーダデバイスに、
前記所定のコンテンツ項目の前記符号化ビデオストリーム及び前記副次的情報ストリームを受信すること;
前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記符号化ビデオストリームを信号変換することであって、前記信号変換を実施する際、前記1つ又は複数のビデオトランスコーダデバイスのうち第1のビデオトランスコーダデバイスは:
復号化ビデオストリームを得るために前記符号化ビデオストリームを復号化し、
スケーリング済みビデオストリームを得るために、前記復号化ビデオストリームを各前記ユーザデバイスの標的ピクチャ解像度にスケーリングし、
各前記標的符号化ビデオストリームを得るために、前記副次的情報ストリームを用い、各前記ユーザデバイスの前記VPC構成に応じて前記スケーリング済みビデオストリームを符号化する、よう構成されている、前記信号変換すること;
各前記標的符号化ビデオストリームを、通信媒体を介して各前記ユーザデバイスに伝送することであって、各前記ビデオコンテンツ項目の前記副次的情報ストリームは、1つ又は複数のコード化モードそれぞれに対応する1つ又は複数の速度情報ストリームを含み、前記1つ又は複数の速度情報ストリームの各前記速度情報ストリームRISkは、各前記コード化モードに基づいてブロック予測を推測する、前記対応する符号化ビデオストリームのブロック毎の、対応する速度推定関数Rk(q)の特徴を決定し、qは量子化ステップ幅である、前記伝送すること;
を行わせるように、プロセッサによって更に実行可能である、
コンピュータ可読メモリ媒体。 - 前記プログラム命令は、前記ビデオトランスコーダシステムに:
前記第1のビデオトランスコーダデバイスから配信を受けている前記ユーザデバイスから報告を受信することであって、各前記報告は、前記ユーザデバイスの前記VPC構成に対する対応する更新を含む、前記受信することと;
各前記報告に応答して、前記第1のビデオトランスコーダデバイスが前記スケーリング済みビデオストリームを符号化するために使用する前記標的ピクチャ解像度を更新すること、
を行わせるように、プロセッサによって更に実行可能である、請求項16に記載のコンピュータ可読メモリ媒体。 - 各前記ユーザデバイスの前記VPC構成は:
前記ユーザデバイスが要求するビデオコード化フォーマット:及び
前記ユーザデバイスが要求する標的ピクチャ解像度
のうち1つ又は複数の識別を含む、
請求項16に記載のコンピュータ可読メモリ媒体。 - 各前記ユーザデバイスの前記VPC構成は、M次元構成空間に亘るものであり、
Mは少なくとも2であり、
前記M次元構成空間は、ビデオフォーマットの選択に対応する少なくとも第1の次元、及びピクチャ解像度の選択に対応する第2の次元を有する、
請求項16に記載のコンピュータ可読メモリ媒体。 - 前記プログラム命令は、前記ビデオトランスコーダシステムに:
前記メモリ媒体の前記複数のユーザデバイスのうち第1のユーザデバイスへの配信を行うよう割り当てられた前記1つ又は複数のビデオトランスコーダデバイスのうちの所定の1つによって生成された前記標的符号化ビデオストリームを記憶すること;
第2のユーザデバイスが前記第1のユーザデバイスと同一又は同様の前記VPC構成を有することを検出すると、これに反応して、前記第2のユーザデバイスへの前記記憶した標的符号化ビデオストリームの伝送を指示すること、
を行わせるように、プロセッサによって更に実行可能である、請求項16に記載のコンピュータ可読メモリ媒体。
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 true JP2019075825A (ja) | 2019-05-16 |
JP6703150B2 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) | EP3767961B1 (ja) |
JP (3) | JP6247286B2 (ja) |
CN (2) | CN104641651B (ja) |
WO (1) | WO2013188457A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3722995A1 (en) | 2019-04-11 | 2020-10-14 | Ricoh Company, Ltd. | Handwriting input apparatus, handwriting input method, and program |
Families Citing this family (45)
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 |
KR102260177B1 (ko) | 2014-07-16 | 2021-06-04 | 텐세라 네트워크스 리미티드 | 선택된 시각에서 개런티 프리페칭을 사용하는 무선 네트워크를 통한 효과적인 콘텐트 전달 |
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
US9979796B1 (en) | 2014-07-16 | 2018-05-22 | Tensera Networks Ltd. | Efficient pre-fetching notifications |
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 |
US9827500B1 (en) | 2014-12-22 | 2017-11-28 | Amazon Technologies, Inc. | Associated content item instances |
US9814987B1 (en) * | 2014-12-22 | 2017-11-14 | Amazon Technologies, Inc. | Spectator feedback and adaptation |
WO2016134345A1 (en) * | 2015-02-20 | 2016-08-25 | Harmonic, Inc. | Transcoding on-the-fly (totf) |
AU2016245350B2 (en) | 2015-04-09 | 2019-10-24 | 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 |
KR102585842B1 (ko) | 2015-09-15 | 2023-10-11 | 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 | 절전 미디어 콘텐츠를 제공하기 위한 방법 및 장치 |
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 |
US11019349B2 (en) * | 2017-01-20 | 2021-05-25 | Snap Inc. | Content-based client side video transcoding |
CA3059743A1 (en) | 2017-04-21 | 2018-10-25 | Zenimax Media Inc. | Systems and methods for deferred post-processes in video encoding |
GB2590034B (en) | 2017-04-21 | 2021-12-22 | Zenimax Media Inc | Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors |
US10462203B2 (en) * | 2017-06-13 | 2019-10-29 | Wowza Media Systems, LLC | Hardware encoder |
WO2019023488A1 (en) * | 2017-07-28 | 2019-01-31 | Dolby Laboratories Licensing Corporation | METHOD 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 |
EP3788768B8 (en) * | 2018-04-30 | 2022-11-16 | Dolby International AB | Methods and systems for streaming media data over a content delivery network |
CN111083489B (zh) * | 2018-10-22 | 2024-05-14 | 北京字节跳动网络技术有限公司 | 多次迭代运动矢量细化 |
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 |
EP4000271A1 (en) * | 2019-07-17 | 2022-05-25 | Koninklijke KPN N.V. | Facilitating video streaming and processing by edge computing |
EP4026345A1 (en) | 2019-09-03 | 2022-07-13 | Koninklijke KPN N.V. | Combining video streams in composite video stream with metadata |
US20240121406A1 (en) * | 2019-10-18 | 2024-04-11 | Immersive Robotics Pty Ltd | Content Compression for Network Transmission |
EP4074058A1 (en) * | 2019-12-11 | 2022-10-19 | Google LLC | Methods, systems, and media for selecting formats for streaming media content items |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2333657B (en) * | 1998-01-22 | 2002-08-21 | Snell & Wilcox Ltd | Video signal compression |
US6542546B1 (en) * | 2000-02-02 | 2003-04-01 | Mitsubishi Electric Research Laboratories, Inc. | Adaptable compressed bitstream transcoder |
US6490320B1 (en) * | 2000-02-02 | 2002-12-03 | Mitsubishi Electric Research Laboratories Inc. | Adaptable bitstream video delivery system |
KR100776529B1 (ko) * | 2000-03-13 | 2007-11-16 | 소니 가부시끼 가이샤 | 간결한 트랜스코딩 힌트 메타데이터를 생성하는 방법 및 장치 |
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 |
US8879635B2 (en) * | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Methods and device for data alignment with time domain boundary |
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 | 動画像提供システム、方法、装置、プログラム |
CN101904149B (zh) | 2007-07-05 | 2015-09-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 | サーバ装置とコンテンツ配信方法とプログラム |
JP5400876B2 (ja) * | 2008-06-16 | 2014-01-29 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化 |
US20100017516A1 (en) * | 2008-07-16 | 2010-01-21 | General Instrument Corporation | Demand-driven optimization and balancing of transcoding resources |
CN102165772B (zh) * | 2008-09-16 | 2013-07-24 | 杜比实验室特许公司 | 自适应视频编码器控制 |
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 |
US20120017249A1 (en) * | 2009-04-03 | 2012-01-19 | Kazunori Ozawa | Delivery system, delivery method, conversion apparatus, and program |
CA2824754A1 (en) * | 2009-09-26 | 2011-03-31 | Disternet Technology Inc. | System and method for micro-cloud computing |
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 |
-
2013
- 2013-06-11 JP JP2015517368A patent/JP6247286B2/ja active Active
- 2013-06-11 CN CN201380038883.9A patent/CN104641651B/zh active Active
- 2013-06-11 CN CN201911002072.9A patent/CN111405315B/zh active Active
- 2013-06-11 US US13/915,499 patent/US11483580B2/en active Active
- 2013-06-11 EP EP20195696.8A patent/EP3767961B1/en active Active
- 2013-06-11 EP EP13732021.4A patent/EP2859729B1/en active Active
- 2013-06-11 WO PCT/US2013/045256 patent/WO2013188457A2/en active Application Filing
-
2017
- 2017-11-16 JP JP2017220753A patent/JP6473213B2/ja active Active
-
2019
- 2019-01-24 JP JP2019010054A patent/JP6703150B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3722995A1 (en) | 2019-04-11 | 2020-10-14 | Ricoh Company, Ltd. | Handwriting input apparatus, handwriting input method, and program |
Also Published As
Publication number | Publication date |
---|---|
US11483580B2 (en) | 2022-10-25 |
US20130343450A1 (en) | 2013-12-26 |
CN111405315A (zh) | 2020-07-10 |
JP6247286B2 (ja) | 2017-12-13 |
JP2018057022A (ja) | 2018-04-05 |
JP2015523805A (ja) | 2015-08-13 |
EP2859729B1 (en) | 2020-09-16 |
CN104641651A (zh) | 2015-05-20 |
JP6703150B2 (ja) | 2020-06-03 |
CN104641651B (zh) | 2019-11-19 |
EP3767961A1 (en) | 2021-01-20 |
JP6473213B2 (ja) | 2019-02-20 |
EP2859729A2 (en) | 2015-04-15 |
EP3767961B1 (en) | 2023-03-29 |
WO2013188457A3 (en) | 2014-04-17 |
CN111405315B (zh) | 2022-04-12 |
WO2013188457A2 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6703150B2 (ja) | ビデオコンテンツの符号化及び配信のための分散アーキテクチャ | |
Chen et al. | Recent advances in rate control for video coding | |
CN101911702B (zh) | 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置 | |
US7391809B2 (en) | Scalable video transcoding | |
JP5180294B2 (ja) | ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御 | |
KR101644208B1 (ko) | 이전에 계산된 모션 정보를 이용하는 비디오 인코딩 | |
KR20090024134A (ko) | 비디오 인코더용 스케일러블 레이트 제어 시스템 | |
WO2003028380A1 (en) | Method for generating a scalable encoded video bitstream with constant quality | |
KR20010080644A (ko) | 기저층 양자화 데이터를 이용하여 향상층 데이터를 엔코딩및 디코딩하는 시스템 및 방법 | |
CA2491522A1 (en) | Efficient compression and transport of video over a network | |
US20090074075A1 (en) | Efficient real-time rate control for video compression processes | |
Lei et al. | Rate adaptation transcoding for precoded video streams | |
Lim et al. | A perceptual rate control algorithm based on luminance adaptation for HEVC encoders | |
Kim et al. | An optimal framework of video adaptation and its application to rate adaptation transcoding | |
Grois et al. | Optimization methods for H. 264/AVC video coding | |
Wu et al. | Rate control in video coding | |
KR101099261B1 (ko) | 인코더와 인코딩 방법 및 이를 수록한 저장매체 | |
Xu et al. | Rate control for consistent visual quality of H. 264/AVC encoding | |
Kuo et al. | Distributed video coding with limited feedback requests | |
KR101470404B1 (ko) | N 스크린 서비스를 위한 트랜스코딩 방법 및 장치 | |
Seo et al. | Adaptive rate control algorithm based on logarithmic R–Q model for MPEG-1 to MPEG-4 transcoding | |
Smith | Receiver-Driven Video Adaptation | |
Al-khrayshah et al. | A real-time SNR scalable transcoder for MPEG-2 video streams | |
Brouwers et al. | A real-time SNR scalable transcoder for MPEG-2 video streams | |
Bhuyan et al. | Motion adaptive video coding scheme for time‐varying network |
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 |