JP6125432B2 - メディアプログラムのハイブリッドトランスコーディングのための方法および機器 - Google Patents

メディアプログラムのハイブリッドトランスコーディングのための方法および機器 Download PDF

Info

Publication number
JP6125432B2
JP6125432B2 JP2013544787A JP2013544787A JP6125432B2 JP 6125432 B2 JP6125432 B2 JP 6125432B2 JP 2013544787 A JP2013544787 A JP 2013544787A JP 2013544787 A JP2013544787 A JP 2013544787A JP 6125432 B2 JP6125432 B2 JP 6125432B2
Authority
JP
Japan
Prior art keywords
media program
time interval
version
constraint
compression encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013544787A
Other languages
English (en)
Other versions
JP2014505400A (ja
Inventor
リャオ、ユペン
カン、カン
ワン、ジビン
Original Assignee
フル・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フル・エルエルシー filed Critical フル・エルエルシー
Publication of JP2014505400A publication Critical patent/JP2014505400A/ja
Application granted granted Critical
Publication of JP6125432B2 publication Critical patent/JP6125432B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

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

Description

本発明は、メディアプログラム(media program)をトランスコードするためのシステムおよび方法に関し、とりわけ、メディアプログラムのハイブリッドトランスコーディングのためのシステムおよび方法に関する。
メディアプログラムの普及および再生は、この10年の間に本質的な変化を経てきた。以前は、アナログ放送(従来型の放送、衛星放送、もしくはケーブル放送)または映画館へのフィルムの配給のいずれかによって、メディアプログラム(これは、音声、映像、またはこれら双方を含む場合がある)は普及されていた。
これらの従来の普及手段および再生手段は、デジタル技術の登場の後も使用され続けている。しかしながら、デジタル技術は、メディアプログラムの普及および再生に大きな影響を与えてきた。特に、デジタル技術は、DSL、光ファイバー(fiber optics)、ケーブル、または衛星通信によって構築されたバンド幅の大きな通信リンクを使用したインターネットを介して、大量のメディアプログラムの普及および再生を可能にしてきた。インターネットを介するこのようなメディアプログラムの普及は、シンプルダウンロード、プログレッシブダウンロード、またはストリーミングを含む場合がある。
メディアプログラムは、一般に、鑑賞または記録を行う加入者への伝送の前に、トランスコードされる。トランスコーディングは、メディアプログラムをあるデジタル形式から別の形式へ、一般には、生のデジタルフォーマット(音声に関するパルス符号変調(PCM)および映像に関する色空間(YUV)などの)から圧縮デジタルフォーマット(MPEG(動画専門家集団(motion pictures expert group))またはH.264/MPEG−4 AVCフォーマットなどの)へ変換する処理である。トランスコーディングは、関連メディアプログラムをサイズが縮小されたものへ大幅に圧縮することができる。実際、インターネットを介するメディアプログラムの伝送は、このような圧縮がなければ、大部分は実行不可能だったであろう。しかしながら、このようなトランスコーダは、多くの場合に、利用可能なバンド幅(特に、トランスコードされたメディアプログラムのビットレートが時間的に可変である場合)および通信チャネルの使用を最大化するような仕方でメディアプログラムのトランスコーディングを可能にしているわけではない。本発明は、このような必要性を満たすものである。
上述された要求に対処するために、本発明は、ソースメディアプログラムをエンコードするための方法および機器について開示する。一実施形態では、本方法は、メディアプログラムの、一定の映像品質にトランスコードされたバージョンを生成するために、ソースメディアプログラムをトランスコードすることと、トランスコードされたメディアプログラムの一定映像品質バージョンの部分が制約を満たしそこなっているか否かを判定することと、トランスコードされたメディアプログラムの部分が制約を満たしそこなっている場合に、1組のトランスコードパラメータのうちの少なくとも1つのトランスコードパラメータを調節することと、トランスコードされたメディアプログラムの部分の一定ビットレートバージョンを生成するために、調節された少なくとも1つのトランスコードパラメータに応じて、ソースメディアプログラムの部分をトランスコードすることと、トランスコードされたメディアプログラムの部分の一定ビットレートバージョンによって、トランスコードされたメディアプログラムの一定映像品質部分を置換することとの各ステップを備える。別の実施形態では、本機器は、メディアプログラムの、一定の映像品質にトランスコードされたバージョンを生成するために、ソースメディアプログラムをトランスコードするための第1のトランスコーダと、トランスコードされたメディアプログラムの一定映像品質バージョンの部分が制約を満たしそこなっているか否かを判定する制約決定モジュールと、トランスコードされたメディアプログラムの部分が制約を満たしそこなっている場合に、1組のトランスコードパラメータのうちの少なくとも1つのトランスコードパラメータを調節するための調節モジュールと、トランスコードされたメディアプログラムの部分の一定ビットレートバージョンを生成するために、調節された少なくとも1つのトランスコードパラメータに応じて、ソースメディアプログラムの部分をトランスコードするための第2のトランスコーダと、トランスコードされたメディアプログラムの部分の一定ビットレートバージョンによって、トランスコードされたメディアプログラムの一定映像品質部分を置換するためのスプライサとを備える。
次に、図面を参照するが、図面において、同一の参照符号は、全体にわたって、対応する部品を示している。
図1は、例示的なメディアプログラムシステムを示している図である。 図2は、本発明の原理を実施するために使用することができる例示的な処理システムを示している図である。 図3は、コンテンツ配布サブシステム(content delivery subsystem)の第1の実施形態を示している図である。 図4は、ライブストリーミングプロトコルに従う、メディアプログラムの伝送を示している図である。 図5は、一般的なエンコード処理を示している図である。 図6は、トランスコードされた様々なメディアプログラムの映像品質とビットレートとの関係を示している図である。 図7は、目標の映像品質にエンコードした後の多数の様々なメディアプログラムのSSIMを示している図である。 図8は、適応的なトランスコード処理、または、2パストランスコード処理を示している図である。 第1のパスのトランスコードが施されたメディアプログラム(first pass transcoded media program)を備えることができる、I、P、およびBフレームの系列の一実施形態を示している図である。
以下の説明では、本明細書の一部を形成しており、また、例示として本発明の複数の実施形態が示されている添付図面を参照する。本発明の範囲から逸脱しなければ、他の実施形態が利用されてもよく、また、構造的変更が行われてもよいことが理解される。
図1は、例示的なメディアプログラムシステム100を示している図である。図示されている実施形態では、システム100は、インターネットなどの通信ネットワーク104と通信可能に接続された1つ以上のメディアプログラムソース120A、120Bを備えることができ、これらメディアプログラムソース120A、120Bは、それぞれ、1つ以上のソース映像サーバ122A、122Bを有し、これらソース映像サーバ122A、122Bは、1つ以上のソースメディアプログラムデータベース124A、124Bと通信可能に接続されている。メディアプログラムシステム100は、メディアプログラムプロバイダ110をさらに備え、メディアプログラムプロバイダ110は、通信ネットワーク104と通信可能に接続され、また、1つ以上のプロバイダ映像サーバ112および1つ以上のプロバイダデータベース114を有する。一実施形態では、メディアプログラムプロバイダ110は、ビデオ・オン・デマンドおよび/またはストリーミング用のメディアプログラムプロバイダである。しかしながら、メディアプログラムプロバイダ110は、この代わりに、シンプルダウンロードまたはプログレッシブダウンロードによって、メディアプログラムを伝送してもよい。
メディアプログラムシステム100は、コンピュータなどの第1のユーザ装置102A、または、携帯電話などの第2のユーザ装置102B(以後、これらに代えてユーザ装置102と呼ぶ)にメディアプログラムを伝送する。この伝送は、メディアプログラムプロバイダ110から直接行われる場合もあるし、または、メディアプログラムプロバイダ110は、ポータルとして機能する場合もあり、この場合は、メディアプログラム自体ではなく、メディアプログラムソース120Aおよび120Bから入手可能なメディアプログラムへのインターフェースを提供する(メディアプログラムは、代わりに、メディアプログラムソース120によって提供される)。
第1の場合、メディアプログラムプロバイダ110は、メディアプログラムソース120(www.fox.comまたはwww.nbc.comなどの)からメディアプログラムを認可し、このようなプログラムに関するメタデータがさらに、一般的には、メディアプログラムソース120からメディアプログラムプロバイダ110に同様に提供される。このようなメタデータは、使用のために、メディアプログラムプロバイダのデータベース114によって検索され得る。補助的なメタデータが必要とされる場合、補助的なメタデータは、以下でさらに説明するように、メディアプログラムプロバイダ110およびメディアプログラムソース120から独立しているメタデータソース130から得ることができる。
第2の場合、メディアプログラムは、メディアプログラムソース120のサーバから直接、ユーザ装置102にストリームされる。メディアプログラムが、メディアプログラムソース120から直接ストリームされる場合、メディアプログラムソース120によって提供されるメタデータが不十分であることがしばしばある。このような場合、補助的なメタデータは、独立のメタデータソース130(www.tv.comもしくはwww.imdb.comなどの)または他のサード・パーティ・ソースから得ることができる。この状況において、メディアプログラムプロバイダ110の役割は、利用可能なメディアプログラムのリスト、および、このようなプログラムを検索して見つけ出し、これを観るためのインターフェースをユーザ132に提供するポータルとしての役割である。
メディアプログラムおよびメタデータは、インターネットなどの通信ネットワーク104または補助的な(および/もしくは専用の)通信リンク134)を介して、得られてもよい。このような情報は、ウェブクローリング(webcrawling)(例えば、組織的な自動化された方法でワールド・ワイド・ウェブをブラウズするプログラムまたは自動化スクリプトを使用する)によって得られてもよい。
ユーザ装置102を用いて、遠くのユーザ132は、メディアプログラム(ビデオ・オン・デマンドおよび/またはストリーミングの映像サービスを含む)を得るために、および、関心対象のメディアプログラムを見つけることを目的としてプロバイダメディアプログラムデータベース114を検索するために、通信ネットワーク104を利用してメディアプログラムプロバイダ110と通信することができる。
また、メディアプログラムシステム100は、1つ以上の広告プロバイダ140を備えてもよく、広告プロバイダ140は、メディアプログラムプロバイダ110またはメディアプログラムソース120によって提供されるメディアプログラムと共に再生される広告を供給する。図示されている実施形態では、広告プロバイダ140は、通信可能に接続された関連の広告プロバイダデータベース144と通信可能に接続された広告プロバイダサーバ142を含む。
広告は、インターネット104、専用のリンク146を介して、または、広告を有するメモリストレージデバイスの物理的交換によって、広告プロバイダ140からメディアプログラムプロバイダ110に供給されてもよい。このような広告は、メディアプログラムプロバイダ110に提供され、メディアプログラムプロバイダ110によって記憶され、適切な時点で、メディアプログラムと共にユーザ装置102にストリームされるか、または、ダウンロードされてもよい。
一実施形態では、広告は、メディアプログラムプロバイダ110からストリームまたはダウンロードされる映像と一体化される。別の実施形態では、広告は、メディアプログラムと一体化されないが、この代わりに、メディアプログラムとは別にユーザ装置102に伝送され、各広告がいつ表示されるべきかを示すインデックスを用いて、適切な時点で再生される。例えば、広告は、インデックスを付けられて、ユーザ装置102に(メディアプログラムプロバイダ110または広告プロバイダ140から)ストリームされるか、または、ダウンロードされることが可能であり、このような広告は、メディアプログラムの対応するインデックスによって示された時点で、ユーザ132に対して再生することができる。
図2は、本発明の原理を実施するために使用することができる例示的な処理システム202を示しており、この処理システム202は、ユーザ装置102と、サーバ112、122、および142と、データベース114、124、および144とを含む。コンピュータ202は、汎用ハードウェアプロセッサ204Aおよび/または専用ハードウェアプロセッサ204B(以後、これらの代わりに、一括してプロセッサ204と呼ぶ)、ならびに、ランダム・アクセス・メモリ(RAM)などのメモリ206を備える。コンピュータ202は、キーボード214、マウス装置216、およびプリンタ228などの入力/出力(I/O)装置を含む他の装置と接続されてもよい。
一実施形態では、コンピュータ202は、オペレーティングシステム208の制御下で、コンピュータプログラム210によって規定された命令を実行する汎用プロセッサ204Aによって動作する。コンピュータプログラム210および/またはオペレーティングシステム208は、メモリ206に記憶されてもよく、また、入力およびコマンドを受け取り、このような入力およびコマンド、ならびに、コンピュータプログラム210およびオペレーティングシステム208によって規定された命令に基づいて、出力および結果を提供するために、ユーザ132および/または他の装置とインターフェースで接続されてもよい。
出力/結果は、ディスプレイ222に表示されてもよいし、または、表示またはさらなる処理もしくはアクションのために別の装置に提供されてもよい。一般に、ディスプレイ222は、ユーザ132に対して画像を集合的に表示するために状態を変化させる複数の画素(ピクセル)を備える。例えば、ディスプレイ222は、別々にアドレス指定可能な複数のピクセルを有する液晶ディスプレイ(LCD)を備えてもよく、これらの別々にアドレス指定可能な複数のピクセルは、それぞれ、入力およびコマンドに応じた、コンピュータプログラム210および/またはオペレーティングシステム208の命令の適用によってプロセッサ204により生成されたデータまたは情報に応答してディスプレイ上の画像の一部を形成するために不透明状態または半透明状態に変化する液晶を有する。同様に、プラズマディスプレイは、それぞれが異なる色蛍光体を有する3つの別個のサブピクセルセルを有するピクセルを含む。これらの色は、ピクセルに表示される色を生成するために混ざり合う。セルを流れる電流のパルスは、入力およびコマンドに応じた、コンピュータプログラムおよび/またはオペレーティングシステム208の命令の適用によってプロセッサにより生成されるデータに応じて、変化し、ピクセルによって与えられる光の強度を変化させる。また、同様に、陰極線管(CRT)ディスプレイは、複数のピクセルを含み、これら複数のピクセルは、それぞれ、一般にはドットまたはアパーチャグリルの線によって表示されるサブピクセルを有するピクセルのそれぞれを有する。ドットまたは線のそれぞれは、電子銃からの電子が衝突すると発光する蛍光体被覆を含む。コンピュータプログラムおよび/またはオペレーティングシステム208の命令の適用によってプロセッサにより生成されたデータに応答して、および、入力およびコマンドに応答して、電子銃によって発射される電子は、ドットまたは線に向けられ、この結果、当該のドットまたは線の蛍光体被覆を発光させることによって関連するピクセルの状態を変化させる。
画像は、グラフィカル・ユーザ・インターフェース(GUI)モジュール218Aを介して、提供されてもよい。GUIモジュール218Aは、別個のモジュールとして描かれているが、GUI機能を実行する命令は、オペレーティングシステム208、コンピュータプログラム210に内蔵されてもよいし、もしくは、分散されてもよく、または、専用のメモリおよびプロセッサによって実現されてもよい。
コンピュータプログラム110の命令に応じてコンピュータ202によって実行される演算の一部または全部は、専用プロセッサ204Bにおいて実行されてもよい。この実施形態では、コンピュータプログラム210の命令の一部または全部は、専用プロセッサ204B内のリード・オンリー・メモリ(ROM)、プログラム可能なリード・オンリー・メモリ(PROM)、もしくはフラッシュメモリに、または、メモリ206に記憶されたファームウェア命令によって実行されてもよい。また、専用プロセッサ204Bは、本発明を実施する演算の一部または全部を実行するように、回路設計によってハード的に実現されてもよい。さらに、専用プロセッサ204Bは、複数の機能のサブセットを実行するための専用の回路、および、コンピュータプログラム命令に応答することなどのより一般的な機能を実行するための他の回路を含むハイブリッドプロセッサであってもよい。一実施形態では、専用プロセッサは、特定用途向け集積回路(ASIC)である。
また、コンピュータ202は、COBOL、C++、FORTRAN、または他の言語などのプログラミング言語で書かれたアプリケーションプログラム210がプロセッサ204によって読み取り可能なコードに翻訳されることを可能にするコンパイラ212を実装してもよい。完了の後、アプリケーションまたはコンピュータプログラム210は、コンパイラ212を用いて生成された関係および論理を用いて、I/O装置から受け取られたデータ、および、コンピュータ202のメモリ206に記憶されたデータにアクセスし、処理を行う。
また、コンピュータ202は、随意に、モデム、衛星リンク、イーサネット(登録商標)カード、または他のコンピュータからの入力を受け付け、他のコンピュータに出力を提供するための他の装置などの外部通信装置を備える。
一実施形態では、オペレーティングシステム208、コンピュータプログラム210、およびコンパイラ212を実現する命令は、有形物として、コンピュータ読み取り可能な媒体(例えば、データ記憶装置220)において具現化される。このようなコンピュータ読み取り可能な媒体は、ZIPドライブ、フロッピー(登録商標)ディスクドライブ224、ハードドライブ、CD−ROMドライブ、テープドライブ、DVDなどの、1つ以上の固定のまたは取り外し可能なデータ記憶装置を含む場合がある。さらに、オペレーティングシステム208およびコンピュータプログラム210は、コンピュータ202によってアクセス、読み取り、および実行されたときに、コンピュータ202に、本発明の実施および/もしくは使用に必要な複数のステップを実行させるか、または、複数の命令から構成されたプログラムをメモリにロードさせ、これにより、本明細書に記載されている複数の方法ステップを実行する特別にプログラムされたコンピュータとしてコンピュータを動作させる専用のデータ構造を形成する複数のコンピュータプログラム命令から構成される。また、コンピュータプログラム210および/または動作命令は、有形物として、メモリ206および/またはデータ通信装置230において具現化され、この結果、本発明に係るコンピュータプログラムの製品または製造品が作られてもよい。このように、本明細書で使用されているような「製造品」、「プログラム記憶装置」、および「コンピュータプログラム製品」という用語は、コンピュータ読み取り可能な任意の装置または媒体からアクセス可能なコンピュータプログラムを含むことが意図されている。
言うまでもなく、当業者ならば分かるように、上記構成部品の任意の組み合わせ、または、任意の数の様々な構成部品、周辺機器、および他の装置が、コンピュータ202と共に使用されてもよい。
本明細書では「ユーザコンピュータ」またはユーザ装置という用語に言及されているが、ユーザコンピュータまたはコンピュータは、携帯電話、ポータブルMP3プレイヤー、ビデオゲーム機、ノートブックコンピュータ、ポケットコンピュータ、パーソナル・データ・アシスタント(personal data assistant)(PDA)、または適切な処理、通信、および入力/出力の機能を有する任意の他の装置などのポータブル装置を含む場合があることが理解される。
図3は、選択および表示のために、ユーザ132にメディアプログラムを提供し、配布するために使用することができるコンテンツ配布サブシステム(CDS)300およびトップレベルの動作の第1の実施形態を示している図である。図示されている実施形態では、コンテンツ配布サブシステム300は、ユーザ装置102と、メディアプログラムプロバイダ110と、広告プロバイダ140とを含む。
図示されている実施形態では、メディアプログラムプロバイダ110は、コンテンツ管理サービス310と、広告サービス316と、フィードサービス306と、コンテンツセレクタ308とを備える。CMS310は、利用可能なメディアプログラムに関するメタデータ、および、ユーザデータを含むデータをデータベース322に記憶している。
ユーザ132が、ユーザ装置102を用いてメディアプログラムを選択すると、選択されたメディアプログラムのメディアプログラム識別子(PID)を要求するメッセージが、ユーザ装置102からメディアプログラムプロバイダ110に伝送される。
フィードサービス306は、要求を受信し、コンテンツ管理サービス310を介してセキュアストレージ(secure storage)312またはデータベース322から得た情報を用いて、フィードサービス306は、選択されたメディアプログラムに関するPIDを特定し、このPIDをユーザ装置102に伝送する。ユーザ装置は、このPIDおよびユーザIDをメディアプログラムプロバイダ110のコンテンツセレクタ308に伝送する。コンテンツセレクタ308は、情報をコンテンツ管理サービス310に転送し、コンテンツ管理サービス310は、セキュアストレージ312に記憶された情報を用いて、ユーザおよび選択されたメディアプログラムに適した広告を選択するために、広告サービス318を使用する。このことは、その出願が参照により本明細書に組み込まれる、2010年5月26日付で提出されたWing Chit Makによる「高速かつスケーラブルな指向的広告サービス(METHOD AND APPARATUS FOR RAPID AND SCALEABLE DIRECTED ADVERTISING SERVICE)」という名称の同時係属中の米国特許出願第12/787,679号明細書に記載されているような仕方で、達成されてもよい。コンテンツ管理サービス310は、この情報をコンテンツセレクタ308に転送し、コンテンツセレクタ308は、ユーザ装置102が、メディアサーバ114から選択されたメディアプログラムを、および、広告プロバイダ140から広告を得ることを可能にする情報を伝送する。図示されている実施形態では、この情報は、メディアサーバ114から所望のメディアプログラムを得ることのできるアドレス(例えば、URL)を含む。ユーザ装置102は、メディアプログラム要求を指定されたアドレスのメディアサーバ114に伝送する。メディアサーバ114は、セキュアストレージからメディアプログラムを検索し、メディアプログラムをユーザ装置102に伝送する。また、ユーザ装置102は、広告プロバイダ120から広告を要求し、同様にこれを受け取ることができる。
広告プロバイダ140およびメディアサーバ114は、メディアプログラムプロバイダ110とは別個のアーキテクチャエンティティ(architectural entity)として示されているが、広告プロバイダ140は、メディアプログラムプロバイダ110に統合されてもよい(すなわち、メディアプログラムプロバイダはさらに、広告を提供してもよい)。CDS300は、www.hulu.com、www.imdb.com、www.aol.comまたはwww.msn.comを含む場合がある複数の配信ネットワークをまたいでメディアプログラムおよび広告を提供する手段を提供する。
メディアプログラムおよび広告コンテンツに関係するメタデータ、ならびに、ストリーミング情報は、メディアプログラムおよび広告がCDS300内のどこで見つけることができるのかを記述したデータと同様に、コンテンツ配布システム300のデータベース312および322に記憶されている。
ユーザ装置102は、インターフェースモジュール302およびメディアプログラムプレイヤー304を含んでもよい。インターフェースモジュール302は、ユーザ132に情報およびメディアプログラムを表示し、かつコマンドを含むユーザ入力を受け付けるために使用される、ユーザ装置102によって実行される命令を含む。例示的なユーザ装置102は、デスクトップコンピュータ、ラップトップコンピュータ、またはポータブル装置(IPOD、IPHONE、IPAD、携帯電話、もしくはPALM装置などの)である。
図3に描かれているデータおよびメッセージの転送に関して、IDに関する要求、フィードサービス306からのPIDの受信、コンテンツセレクタ308へのPIDおよびユーザIDの伝送、コンテンツセレクタ308からのURLおよびメタデータの受信、ならびにメディアプログラムおよび広告の要求は、一般に、比較的小さな情報またはメッセージの転送を伴う。しかしながら、メディアプログラムまたは広告の転送は、情報がリアルタイムまたはほぼリアルタイムでユーザに表示されるべきである場合、一般に、バンド幅のそれなりに大きなリンクを必要とするかなり大きな情報の転送を伴う。したがって、メディアプログラムおよび/または広告は、ユーザ装置102への伝送の前に、トランスコード処理によって圧縮される。
図4は、ライブストリーミングプロトコルに従う、メディアプログラムの伝送を示している図である。基本的には、このプロトコルは、ユーザ装置102がメディアプログラムを要求したときに、ユーザ装置102にメディアプログラムの小さなセグメントまたは「チャンク」に関する「プレイリスト」が提供される点を除いて、図3に示されているプロトコルと同様である。ユーザ装置102は、メディアプログラムの各チャンクを順番に伝送することを要求するためにプレイリストを使用し、また、各チャンクは、受信されると、処理されて、ユーザ132に表示されるメディアプログラムへ組み立てられる。
図4に示されているように、ユーザ装置102は、メディアプログラムのPIDに関する要求をフィードサービス306に伝送する。この要求は、一般に、ユーザIDまたはこれのプロキシ、および、メディアプログラムに関する何らかの識別情報を備える。フィードサービス306は、この要求を受信し、セキュアストレージ312およびコンテンツのメタデータ/ストリーミング情報のデータベースから得られた情報を用いて、CMS310から、要求されたメディアプログラムのPIDを得る。次に、PIDは、ユーザ装置102に伝送される。次に、ユーザ装置は、PIDと共にメディアプログラム要求をコンテンツセレクタ308に伝送する。
この実施形態では、メディアプログラムは、ユーザ装置102からの要求に基づいてユーザ装置102に伝送することができる複数のセグメントまたはチャンクに分割される。どのセグメントを要求すべきか、および、どのような順番でこれらを要求すべきかについては、メディアプログラムプロバイダ110からユーザ装置102に伝送されるセグメントプレイリストによって決定される。
ライブストリーミングプロトコルは、メディアプログラムセグメントへのアドレスまたはURIを有するセグメントプレイリストをメディアプログラムプレイヤー304に伝送することを含む。メディアプログラムプレイヤー304は、セグメントプレイリストにあるアドレスまたはURIを用いて任意のセグメント(および、したがって、任意のフレーム)を検索するために必要な情報を有するため、インターフェース400を実現しているユーザインターフェースモジュール302は、ナビゲーション要求に応じたメディアプログラムフレームを有するセグメントを決定し、このようなセグメントを要求し(これらが既に受信され、バッファリングされていない場合に)、先に示されたようなセグメントをもとにフレームを表示することによって、メディアプログラムナビゲーションコマンドに応答する。
図3に示されている実施形態と同様に、図4に示されているID、PIDに関する要求、メディアプログラム要求、セグメントプレイリスト、メディアプログラムセグメント要求、および広告セグメント要求は、大きなバンド幅を必要としない。しかしながら、メディアプログラムまたは広告セグメントの転送は、一般に、情報がリアルタイムまたはほぼリアルタイムでユーザに表示されるべきである場合、伝送の前に大幅に圧縮されなければならないかなり大きな情報の転送を含む。したがって、メディアプログラムおよび/または広告は、ユーザ装置102への伝送の前に、トランスコード処理によって圧縮される。図4に示されている伝送プロトコルは、主に、携帯ユーザ装置102および無線リンクに対して使用されるため、メディアプログラムおよび広告セグメントは、一般に、図3に示されている実施形態の場合よりもさらに圧縮される。
メディアプログラムは、npとして表現することができる、これの解像度によって特徴付けることができ、この場合、nは、再生される画像の垂直解像度(線)を表し、pは、順次走査(すなわち、非飛び越し走査方式の)画像を示している。顧客のインターネットサービスは、バンド幅に関して大きく異なるため、それぞれが異なる解像度(一般に480p、360p、288p、または240p)を有する、メディアプログラムの様々なバージョンが生成され得る。より低い解像度のバージョン(例えば、240p)は、通信リンクのバンド幅がより低い場合に伝送され、より高い解像度のバージョン(例えば、480p)は、通信バンド幅がこれを許す場合に伝送される。この機能は、一般に、推定バンド幅に基づいて適切なバージョンを選択するメディアプログラムプレイヤー304によって実現される。
メディアプログラムは、一般に、それぞれが異なる解像度を有する多数のバージョンにトランスコードされるが、コンテンツに関係なくすべてのメディアプログラムをトランスコードするために、同一のビットレートが一般に使用される。例えば、「ファミリーガイ(FAMILY GUY)」というメディアプログラムシリーズおよび「プリズンブレイク(PRISON BREAK)」というメディアプログラムシリーズの、360pにトランスコードされるバージョンは、双方とも、同一のビットレートを使用してトランスコードされ得る。しかしながら、これらのメディアプログラムは、異なる特徴(あるものは、より多くの動きおよびアクションを有する)を有するため、メディアプログラムは、同じ画質を達成しながらも、これらの異なる特徴を考慮して異なるビットレートでエンコードされるべきである。例えば、ファミリーガイのあるエピソードは、550Kbpsまたは350Kbpsのいずれでトランスコードされていようと、ほとんど同じに見えるが、プリズンブレイクが、わずか350Kbpsでトランスコードされている場合、プリズンブレイクのアクション動画クリップには、コーディングアーチファクト(coding artifact)が、極めて鮮明に見える可能性がある。
図5は、一般的なエンコード処理を示している図である。映像プログラムなどのソースメディアプログラム500は、トランスコーダ502に提供される。好ましい実施形態では、トランスコーダは、H.264の映像圧縮規格に準拠したトランスコーダであり、コンピュータプログラムを用いて、または、専用のプロセッサもしくは装置を用いて、汎用コンピュータに実装することができる。トランスコーダ502は、メディアプログラムの圧縮されたバージョン504を生成するために、ソース映像プログラムをエンコードする。トランスコーダ502は、トランスコードされたメディアプログラムのビットレートおよび品質を制御するために使用することができるパラメータ入力を受け取る。
図6は、トランスコードされた様々なメディアプログラムに関して映像品質とビットレートとの関係を示している図である。映像品質は、2つの画像間の類似性の基準である構造的類似性(structural similarity)(SSIM)指標によって測定される。SSIMは、画像のウィンドウに関して計算される(一般に、輝度情報に対してのみ適用される)。この場合、共通のサイズN×Nを有する2つのウィンドウxおよびyの間の類似性の基準は、次のように定義される。
Figure 0006125432
この場合、
μ=xの平均、
μ=yの平均、
σ =xの分散、
σ =yの分散、
σxy=xおよびyの共分散、
=(kL)、c=(kL) 弱い分母(weak denominator)によって割り算を安定させる2つの変数、
L=ピクセル値のダイナミックレンジ(一般に、ビット数、画素)、
=0.01、および
=0.03
である。
図6に示されている図では、バンケット(BANQUET)というメディアプログラムは、多くの動きおよび複雑な画像テクスチャを有し、一方、ナイト(NIGHT)というメディアプログラムについては、暗いシーケンスを有し、細部がほとんどない。ファミリーガイは、アニメーションであり、したがって、テクスチャが、ほとんどないか、または、まったくなく、また、動きが少ない(アニメーションでは、一般に背景は一定である)。
0.95という最低限のSSIMが、求められる場合、この結果は、ナイト(30fpsの)およびファミリーガイ(55fpsの)というメディアプログラムに関しては、約200Kbpsのビットレートによって達成することができることに留意すべきである。0.95という最低限のSSIMを達成する(30fpsにおいて)ために、バンケットというメディアプログラムは、ナイトまたはファミリーガイにとって必要なものと比べて大幅に大きな600Kbpsを必要とする。テストメディアプログラムに関しては、0.95のSSIMを維持するために、24fpsから30fpsにフレームレートを増加させることは、300Kbpsから約400Kbpsへのビットレートの増加を必要とすることにも留意すべきである。
上述されているように、トランスコーダ502の性能は、パラメータおよび制御の入力によって制御することができる。1つのこのような制御入力は、メディアプログラムを特定の目標映像品質にエンコードするモードに入るようにトランスコーダ502に指示するが、結果として得られるトランスコードされるメディアプログラムのファイルサイズの制限または低減を行おうと試みるわけではない。このモードにおいて、結果として得られる映像の品質は、固定レート要素(constant rate factor)、すなわち、CRFによって制御することができる。
図7は、目標の映像品質にエンコードした後の多数の異なるメディアプログラムのSSIMを示している図である。トランスコーダ502は、メディアプログラムを一定の品質にエンコードしようと試みるため、同じCRFに従ってエンコードされたエンコード後のメディアプログラムは、図5において説明された一定でない品質のエンコードと比べて変動の少ない、映像品質(SSIM)値を有することに留意すべきである。
例えば、図5は、一定の映像品質のエンコードが選択されていない場合、400Kbpsのビットレートでの、バンケットというメディアプログラムのエンコードは、約0.925のSSIMをもたらし、同じビットレートでのファミリーガイのエンコードは、約0.975という大幅に良好な値をもたらし、差異が約0.05となることを示している。一方、図7は、一定の映像品質のエンコードが選択された場合、結果として得られる映像品質(SSIM)は、特定のCRF値に関してメディアプログラム間で変動が少ないことを示している。例えば、27.0の目標CRFに関して、バンケットのSSIMが約0.985である一方で、ファミリーガイのSSIMは0.95であり、差異が約0.03であることに留意すべきである。
図6および図7は、メディアプログラムが様々なCRF値でコードされる場合に、ビット節約の可能性があることを示している。例えば、0.98という最低限のSSIMが求められる場合、ファミリーガイのようにテクスチャがほとんどないか、または、まったくなく、動きが限られており、また、画像の複雑度が小さなメディアプログラムは、約19のCRFに従ってエンコードされてもよいが、バンケットのように動きが多く、テクスチャまたは画像の複雑度が厳しいメディアプログラムは、29以上のCRFに従ってエンコードされなければならない。しかしながら、これにより、ビットレートが1Mbps以上となる場合があり、このようにビットレートが大きなメディアプログラムはインターネットを介して伝送することが困難である。通信リンクの利用可能なバンド幅をより有効に使用するために、適応的なコーディング方法を以下で説明する。
図8は、適応的なトランスコード処理、または、2パストランスコード処理を示している図である。映像プログラムなどのソースメディアプログラム500が、トランスコーダ502に提供される。トランスコーダ502は、メディアプログラムの、シングルパストランスコードが施されたバージョン504を生成するために、1組の入力パラメータおよび入力パラメータ値801に応じて、ソース映像プログラム500をトランスコードする。
一実施形態では、入力パラメータおよび値801は、メディアプログラムの、シングルパストランスコードが施されたバージョン504が、実質的に一定の映像品質を有するように、目標の映像品質を選択するために選ばれ、また、トランスコードされるメディアプログラム504のサイズ、または、リアルタイム表示のためにこれを伝送するために必要とされるビットレートに関係なく、トランスコードされる。このようにトランスコードされたソースメディアプログラム500は、メディアプログラムの実質的に一定の映像品質バージョンと呼ばれてもよい。
メディアプログラムの一定品質バージョンの生成は、例えば、ソースメディアプログラム500をトランスコーダ502に提供し、「固定レート要素」またはCRFと呼ばれるレート制御モードを選択する入力パラメータ制御を起動することによって、達成することができる。さらに、他の入力パラメータ801(例えば、テクスチャの複雑度T(n)、動きの複雑度M(n)、サイズ(ピクセル、例えば、640px×360px)、およびフレームレートに関する入力値が、与えられてもよい。
あるいは、入力パラメータ値801は、メディアプログラムの、第1のトランスコードが施されたバージョンが他の所望の特性を有するように、設定されてもよい。例えば、入力パラメータは、トランスコードされたメディアプログラムの第1のバージョンが、時間的に一定のビットレート(例えば、400Mbps)を有するように、設定されてもよい。
トランスコーダ502は、(1)メディアプログラムの、シングルパストランスコードが施されたバージョン504、および、(2)メディアプログラムの、シングルパストランスコードが施されたバージョン504に関する情報を生成する。この情報は、出力パラメータおよびパラメータ値802(以後、この代わりに、メディアプログラム情報と呼ぶ)を含む場合がある。出力パラメータ802は、入力パラメータ801と類似していてもよい(例えば、テクスチャの複雑度は、トランスコードされたもの502の出力パラメータと同様に、入力パラメータであってもよい)し、または、出力パラメータ802は、トランスコーダ502に供給される入力パラメータ801と異なっていてもよい。このように、メディアプログラム情報802は、テクスチャの複雑度T(n)、動きの複雑度M(n)、フレームレート、サイズ、およびビットレート(Kbps)などの、エンコードされたメディアプログラムのメトリクスを含んでもよく、また、これらのメトリクスは、平均値、最大値として、または、時間の関数として表現されてもよい。
メディアプログラムの、シングルパストランスコードが施されたバージョン504は、制約決定モジュール804に提供され、制約決定モジュール804は、トランスコードされたメディアプログラムの第1のバージョン504の少なくとも時間的部分が、制約決定モジュール804にも提供された1つ以上の制約803を満たしそこなっているか否かを判定する。このことは、メディアプログラムの、シングルパストランスコードが施されたバージョン504のメトリクスと、提供された制約803とを比較することによって達成される。以下で述べるように、これらのメトリクスは、トランスポンダ502から得られる出力パラメータおよびパラメータ値802から得られてもよいし、または、制約決定モジュール804によって別に導出されてもよい。
メディアプログラムの、シングルパストランスコードが施されたバージョン504が一定映像品質バージョンである実施形態では、単一のメトリックまたはパラメータ、すなわち、メディアプログラムの一定映像品質バージョン504のビットレートが使用されてもよく、メトリックに課される制約は、最大ビットレートであってもよい。ビットレートの測定および制約は、トランスコードされたメディアプログラムの一定品質バージョンの最大またはピークのビットレートの観点から指定されてもよい。なお、この最大またはピークのビットレートは、メディアプログラムの全体またはトランスコードされたメディアプログラムの時間的な部分もしくは区間のみに関して測定される。
例えば、制約803は、瞬間ビットレートが任意のY秒またはYフレームを上回ってXMbpsを超えないことを要求してもよい。この場合、制約決定モジュール804は、一定の品質にトランスコードされたメディアプログラムの瞬間ビットレートを測定し、測定された瞬間ビットレートと制約803とを比較する。
一実施形態では、制約決定モジュール804は、制約が満たされている否かを判定するために、トランスコーダ502によって提供された出力パラメータ値802を使用する(図8の点線によって示されているように)。例えば、トランスコーダ502は、トランスコードされたメディアプログラムの第1のバージョンのサイズを提供してもよく、制約決定モジュールは、トランスコードされたメディアプログラムの第1のバージョン504の第1のバージョンが伝送に関する要件を満たしているか否かを判定するために、この提供されたサイズと最大値とを比較してもよい。
別の実施形態では、制約決定モジュール804は、制約決定モジュール804によって制約と比較される測定されたメトリックを得るために、メディアプログラムの、シングルパストランスコードが施されたバージョンを解析する解析サブモジュールを含む。例えば、制約決定器モジュール804は、メディアプログラムの、シングルパストランスコードが施されたバージョンの瞬間ビットレートを測定してもよく、また、この測定された瞬間ビットレートと、メディアプログラムの時間的部分に関する最大ビットレート(「Y秒を上回るXMbps」)を記述した制約とを比較してもよい。例えば、制約803が、瞬間ビットレートが10秒を上回って40Mbpsを超えないことである場合、制約決定モジュール803は、該制約が満たされているか否かを判定するために、この制約と、トランスコードされたメディアプログラムの第1のバージョン504の測定された瞬間ビットレートとを比較する。
他の測定されたメトリクスおよび関連する制約803が使用されてもよい。このようなメトリクスは、トランスコードされたメディアプログラムの第1のバージョン504の全体に関するピークおよび/または平均のビットレート、トランスコードされたメディアプログラムの第1のバージョン504の瞬間ビットレートの分散、トランスコードされたメディアプログラムの第1のバージョン504のサイズ、またはトランスコーダ502への任意の入力パラメータ801を反映したメトリクス(例えば、平均のもしくは瞬間のテクスチャの複雑度(T(u,t))または動きの複雑度(M(u,t)))を含むことができる。
メディアプログラムの、シングルパストランスコードが施されたバージョン504の全体が、すべての指定された制約803を満たしている場合、メディアプログラムの、シングルパストランスコードが施されたバージョン504は、図8に示されているように、トランスコードされたメディアプログラム504として提供されてもよい。
しかしながら、メディアプログラムのシングルパストランスコードが施されたバージョン504の全体が、指定された制約のすべてを満たしていない場合、失敗された制約および値806、ならびに、メディアプログラムの、シングルパストランスコードが施されたバージョンの、制約に失敗した時間的部分を記述している時間区間は、さらなる処理のために転送される。
しかしながら、メディアプログラムの、シングルパストランスコードが施されたバージョン504の少なくとも一部が、入力制約803のすべてを満たしていない場合、調節された入力パラメータ値810を使用する、第2のパスのトランスコーディングが、メディアプログラムの、シングルパストランスコードが施されたバージョン504の、制約を満たしていない部分に対して実行される。
図8に示されているように、これは、失敗された制約および値806を調節モジュール808に提供することによって、実行することができる。また、出力パラメータおよびパラメータ値802ならびに入力パラメータおよびパラメータ値801が、調節モジュール808に提供されてもよい。調節モジュール808は、調節されたパラメータ810に達するために、この情報を使用し、この調節されたパラメータ810を、トランスコーダ811は、メディアプログラムの、シングルパストランスコードが施されたバージョンの、制約に失敗した部分と交換するための、第2のパスのトランスコードが施されたバージョンを生成するために使用する。
このタスクを実行するために、トランスコーダ811は、調節されたパラメータ810と、ソースメディアプログラム500と、メディアプログラムの、第2のパスのトランスコードが施されたバージョン812が求められている時間区間とを受け取り、メディアプログラムの、第2のパスのトランスコードが施されたバージョン812を生成するために、ソースメディアプログラムの選択された区間または部分をトランスコードする。
上述した実施形態では、入力パラメータ801は、メディアプログラムの、一定の映像品質にトランスコードされたバージョンを生成するようトランスコーダ502に指示し、制約決定モジュール804は、瞬間ビットレートを測定するために、メディアプログラムの一定映像品質バージョンを解析し、この測定された値と、瞬間ビットレートがY秒を上回ってXMbpsを超えるべきではないという制約とを比較した。ここで、この例示的な実施形態に戻ると、制約決定モジュール804から調節モジュール808に提供された失敗された制約および値806は、例えば、
Figure 0006125432
表1
を含む場合がある。
調節モジュール808は、この情報を受け取り、制約が違反されている時間区間に関してメディアプログラムの、第2のパスのトランスコードが施されたバージョン812を生成するようトランスコーダ811に命令するために、調節された入力パラメータ値810を生成し、これにより、メディアプログラムの、第2のパスのバージョンは、メディアプログラムの、第1のパスのバージョンに継ぎ合わされたとき、結果として得られた組み合わせは、制約803のすべてを満たすようになる。この場合、失敗された制約803が、トランスコードされたメディアプログラムの時間区間に関する瞬間最大ビットレートであることから、調節モジュール808は、最大ビットレートが超えられた時間区間に関して制約803を満たすビットレートを有する、ソースメディアプログラムの一定ビットレートバージョン812を生成するようトランスコーダ811に命令する。このタスクを実行するために、トランスコーダ811には、調節された入力パラメータおよび値810ならびにソースメディアプログラム500が提供される。制約が40Mbpsの瞬間最大ビットレートである例では、調節されたパラメータおよび値810は、40Mbpsの瞬間最大ビットレートを上回らない、メディアプログラムの、一定のビットレートにトランスコードされたバージョン812を生成するようトランスコーダ811に命令する。
この処理は、第2のトランスコーダ811を用いて実行されてもよいが、前述の演算は、メディアプログラムの、シングルパストランスコードが施されたバージョン504を生成するために使用されたのと同じトランスコーダ512を用いて実行されてもよい。
次に、メディアプログラムの、第2のパスのトランスコードが施されたバージョン812は、スプライサ814に供給され、スプライサ814は、スプライシング演算(splicing operation)によって、メディアプログラムの、シングルパストランスコードが施されたバージョン504の、制約が満たされなかった部分または区間を、メディアプログラムの、第2のパスのトランスコードが施されたバージョン812によって置換する。例えば、1:30:22〜1:31:41の時間区間にわたって最大ビットレートが超えられた上記の場合において、トランスコーダ811は、1:30:22〜1:31:41の時間区間に関してメディアプログラムの、一定のビットレートにトランスコードされたバージョン812を生成し、これによってメディアプログラムの、シングルパストランスコードが施されたバージョン504の、制約を満たさなかった部分を置換する。結果として、所望の高い映像品質を提供し、かつ最大ビットレート制約を超えないメディアプログラムの2パストランスコードが施されたバージョン816が得られる。
一実施形態では、メディアプログラムの、第1のパスのトランスコードが施されたバージョン504は、Iフレーム、Pフレーム、およびBフレームを含む複数のフレームを備える。Iフレームは、シングルフレームの圧縮されたバージョンであるイントラコード化フレームである。PフレームおよびBフレームとは異なり、Iフレームは、前のフレームまたは後のフレームのデータに依存しない。Pフレームは、Iフレームよりも高い圧縮を実現する。なぜなら、Pフレームは、前のIフレームまたはPフレーム(参照フレーム)の情報を使用し、これにより、Pフレームを生成する(このとき、前のIフレームまたはPフレームが最初に再構成されなければならない)からである。Bフレームは、Bフレームが、前の参照フレームの画像だけでなく、後の参照フレームの画像を使用する点を除いて、Pフレームと同様である。結果として、Bフレームは、通常、Pフレームよりも高い圧縮を実現する。Bフレームは、決して参照フレームにはならない。一般に、おおよそ15番目のフレームごとに、Iフレームが生成される。PフレームおよびBフレームは、ΙΒΒΡΒΒΡΒΒΡΒΒ(I)のように、画像群(Group Of Pictures)(GOP)を形成するようにIフレームの後に続いてもよい。
図9は、第1のパスのトランスコードが施されたメディアプログラム504を備えることができる、I、P、およびBフレームの系列の一実施形態を示している図である。一実施形態では、メディアプログラムの、第2のパスのトランスコードが施されたバージョン812によって、メディアプログラムの、シングルパストランスコードが施されたバージョンの部分が、より容易に置換されることを可能にするために、メディアプログラムの、第2のパスのトランスコードが施されたバージョンは、制約が満たされなかった区間にわたる最小整数の画像群を備える。例えば、図9に示されている例では、メディアプログラムの、第1のパスのトランスコードが施されたバージョン504の、制約が満たされなかった区間が、示されている。メディアプログラムの、第1のパスのトランスコードが施されたバージョン504のフレームは、GOP902A〜902Dを含む。制約803が満たされなかった区間は、画像群902内で開始および/または終了するため、メディアプログラムの、第2のパスのトランスコードが施されたバージョン812は、依然として区間の全体にわたる最小整数の画像群を含むように生成される。
多くのアクションまたは複雑な背景を有するシーンでは、より低い映像品質は、目立たないことが多いため、結果として得られた、トランスコードされたメディアプログラムの2パスバージョンは、シングルパスバージョンのものと区別できず、バンド幅が限られたリンクを介する伝送にはより一層適している。しかしながら、映像品質が不十分な場合、処理が、点線によって示されているようにトランスコーダ811から制約決定モジュール804にかけて、さらなるパス、および、異なる調節されたパラメータおよび値810によって、繰り返されてもよい。例えば、トランスコーダ811に提供されたテクスチャの複雑度(T(n))および/または動きの複雑度(M(n))が、映像品質を改善するために、または、瞬間最大ビットレートを低減するために、変更されてもよい。あるいは、調節されたパラメータおよび値が、さらなるパスにおいて、第2のパスに関して命令されたものよりも大きなまたは小さなビットレートを有する、メディアプログラムの一定ビットレートバージョンを生成するようトランスコーダ811に命令するために、変更されてもよい。
結び
以下は、本発明の好ましい実施形態の記載に関する結びである。本発明の好ましい実施形態に関するこれまでの記載は、例示および説明の目的のために提示されてきた。これは、網羅的であること、または、本発明を開示されたまさにその形態に限定することを意図したものではない。上記の教示に基づいて、多くの修正例および変形例が可能である。本発明の範囲は、この詳細な記載によって限定されるわけではなく、正しくは、これに添付された特許請求の範囲によって限定されることが意図されている。上記の仕様、例、およびデータは、本発明の構成の製造および使用に関して完全な説明を与えている。本発明の多くの実施形態は、本発明の精神および範囲から逸脱することなく、実施することができることから、本発明は、以下に添付された特許請求の範囲に存する。
以下に、本出願時の特許請求の範囲に記載された発明を付記する。
[付記1] ソースメディアプログラムをエンコードする方法であって、
(a)前記メディアプログラムの、一定の映像品質にトランスコードされたバージョンを生成するために、前記ソースメディアプログラムをトランスコードすることと、
(b)前記トランスコードされたメディアプログラムの一定映像品質バージョンの部分が、制約を満たしそこなっているか否かを判定することと、
(c)前記トランスコードされたメディアプログラムの前記部分が、前記制約を満たしそこなっている場合に、1組のトランスコードパラメータのうちの少なくとも1つのトランスコードパラメータを調節することと、
(d)前記トランスコードされたメディアプログラムの前記部分の一定ビットレートバージョンを生成するために、前記調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分をトランスコードすることと、
(e)前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンによって、前記トランスコードされたメディアプログラムの前記一定映像品質部分を置換することと、
の各ステップを備える方法。
[付記2] 前記1組のパラメータは、テクスチャの複雑度、映像の複雑度、動きの複雑度、および画像レートを含み、
前記方法は、瞬間ビットレートを備える群から選択される、トランスコードされた映像の情報を提供するために、前記トランスコードされたメディアプログラムの一定映像品質バージョンを解析することのステップをさらに備える、
付記1に記載の方法。
[付記3] (g)前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが、前記制約を満たしそこなっているか否かを判定することと、
(h)前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが、前記制約を満たしそこなっている場合に、前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たすまで、前記1組のパラメータのうちの前記少なくとも1つのパラメータをさらに調節し、前記ステップ(g)を繰り返し、その後、前記ステップ(e)を実行することと、
の各ステップをさらに備える、付記1に記載の方法。
[付記4] (g)前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが、前記制約を満たしそこなっているか否かを判定することと、
(h)前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが、前記制約を満たしそこなっている場合に、前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たすまで、前記1組のパラメータのうちの別のパラメータを調節し、前記ステップ(g)を繰り返し、その後、前記ステップ(e)を実行することと、
の各ステップをさらに備える、付記1に記載の方法。
[付記5] 前記1組のパラメータのうちの前記別のパラメータを調節することの前記ステップは、トランスコードされた映像のテクスチャの複雑度を低減するために、前記トランスコードされた映像のテクスチャの複雑度のパラメータを調節することのステップを備える、付記4に記載の方法。
[付記6] 前記制約は、前記メディアプログラムの前記部分の間の瞬間最大ビットレートである、付記1に記載の方法。
[付記7] 前記メディアプログラムの前記部分は、前記メディアプログラムの前記部分にわたる最小整数の画像群を備える、付記1に記載の方法。
[付記8] ソースメディアプログラムをエンコードするための機器であって、
前記メディアプログラムの、一定の映像品質にトランスコードされたバージョンを生成するために、前記ソースメディアプログラムをトランスコードするための手段と、
前記トランスコードされたメディアプログラムの前記一定映像品質バージョンの部分が、制約を満たしそこなっているか否かを判定するための手段と、
前記トランスコードされたメディアプログラムの前記部分が、前記制約を満たしそこなっている場合に、1組のトランスコードパラメータのうちの少なくとも1つのトランスコードパラメータを調節するための手段と、
前記トランスコードされたメディアプログラムの前記部分の一定ビットレートバージョンを生成するために、前記調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分をトランスコードするための手段と、
前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンによって、前記トランスコードされたメディアプログラムの前記一定映像品質部分を置換するための手段と、
の各ステップを備える機器。
[付記9] 前記1組のパラメータは、テクスチャの複雑度、映像の複雑度、動きの複雑度、および画像レートを含み、
前記機器は、瞬間ビットレートを備える群から選択される、トランスコードされた映像の情報を提供するために、前記トランスコードされたメディアプログラムの前記一定映像品質バージョンを解析するための手段をさらに備える、
付記8に記載の機器。
[付記10] 前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが、前記制約を満たしそこなっているか否かを判定するための手段と、
前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たすまで、前記1組のパラメータのうちの前記少なくとも1つのパラメータをさらに調節し、前記さらに調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分を繰り返しトランスコードするための手段と、
をさらに備える、付記8に記載の機器。
[付記11] 前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが、前記制約を満たしそこなっているか否かを判定するための手段と、
前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たすまで、前記1組のパラメータのうちの別のパラメータを調節し、前記さらに調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分を繰り返しトランスコードするための手段と、
の各ステップをさらに備える、付記8に記載の機器。
[付記12] 前記1組のパラメータのうちの前記別のパラメータを調節するための前記手段が、トランスコードされた映像のテクスチャの複雑度を低減するために、前記トランスコードされた映像のテクスチャの複雑度のパラメータを調節するための手段を備える、付記11に記載の機器。
[付記13] 前記制約は、前記メディアプログラムの前記部分の間の瞬間最大ビットレートである、付記8に記載の機器。
[付記14] 前記メディアプログラムの前記部分は、前記メディアプログラムの前記部分にわたる最小整数の画像群を備える、付記8に記載の機器。
[付記15] ソースメディアプログラムをエンコードするための機器であって、
前記メディアプログラムの、一定の映像品質にトランスコードされたバージョンを生成するために、前記ソースメディアプログラムをトランスコードするための第1のトランスコーダと、
前記トランスコードされたメディアプログラムの一定映像品質バージョンの部分が、制約を満たしそこなっているか否かを判定する制約決定モジュールと、
前記トランスコードされたメディアプログラムの前記部分が、前記制約を満たしそこなっている場合に、1組のトランスコードパラメータのうちの少なくとも1つのトランスコードパラメータを調節するための調節モジュールと、
前記トランスコードされたメディアプログラムの前記部分の一定ビットレートバージョンを生成するために、前記調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分をトランスコードするための第2のトランスコーダと、
前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンによって、前記トランスコードされたメディアプログラムの前記一定映像品質部分を置換するためのスプライサと、
の各ステップを備える機器。
[付記16] 前記1組のパラメータは、テクスチャの複雑度、映像の複雑度、動きの複雑度、および画像レートを含み、
前記制約決定モジュールは、瞬間ビットレートを備える群から選択される、トランスコードされた映像の情報を提供するために、前記トランスコードされたメディアプログラムの前記一定映像品質バージョンを解析するための解析モジュールをさらに備える、
付記15に記載の機器。
[付記17] 前記制約決定モジュールは、前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たしそこなっているか否かをさらに判定し、前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たすまで、前記調節モジュールは、前記1組のパラメータのうちの前記少なくとも1つのパラメータをさらに調節し、前記第2のトランスコーダは、前記さらに調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分を繰り返しトランスコードする、
付記15に記載の機器。
[付記18] 前記制約決定モジュールは、前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たしそこなっているか否かをさらに判定し、前記トランスコードされたメディアプログラムの前記部分の前記一定ビットレートバージョンが前記制約を満たすまで、前記調節モジュールは、前記1組のパラメータのうちの別のパラメータを調節し、前記トランスコーダは、前記さらに調節された少なくとも1つのトランスコードパラメータに応じて、前記ソースメディアプログラムの前記部分をトランスコードする、
付記15に記載の機器。
[付記19] 前記調節モジュールは、トランスコードされた映像のテクスチャの複雑度を低減するために、前記トランスコードされた映像のテクスチャの複雑度のパラメータを調節する、付記18に記載の機器。
[付記20] 前記制約は、前記メディアプログラムの前記部分の間の瞬間最大ビットレートである、付記15に記載の機器。
[付記21] 前記メディアプログラムの前記部分は、前記メディアプログラムの前記部分にわたる最小整数の画像群を備える、付記15に記載の機器。

Claims (21)

  1. ソースメディアプログラムをエンコードする方法であって、
    (a)前記メディアプログラムの、一定の映像品質にエンコードされたバージョンを生成するために、前記メディアプログラムのすべてのフレームの第1の圧縮エンコードを実行することと、
    (b)前記メディアプログラムのすべてのフレームの第1の圧縮エンコードを実行した後、複数のフレームを含む第1の時間区間を使用して、前記メディアプログラムの一定の映像品質にエンコードされたバージョンのフレームのすべてを解析することと、
    (c)前記メディアプログラムのフレームのすべてを解析するとき、少なくとも前記複数のフレームを含む前記第1の時間区間に対するビットレートに関連する制約を満たしそこなっている前記メディアプログラムの一定の映像品質にエンコードされたバージョンの一部分に対する第2の時間区間を判定することと、
    (d)前記一定の映像品質にエンコードされたバージョンの前記第2の時間区間が、前記制約を満たしそこなっているとき、前記第2の時間区間中の前記メディアプログラムのフレームをエンコードする一定のビットレートによって、前記制約が前記第2の時間区間に対して満たされるように、1組の圧縮エンコードパラメータのうちの少なくとも1つの圧縮エンコードパラメータを調節することと、
    (e)前記エンコードされたメディアプログラムの部分の一定ビットレートバージョンを生成するために、前記調節された少なくとも1つの圧縮エンコードパラメータに応じて、前記メディアプログラムの前記第2の時間区間の第2の圧縮エンコードを実行することと、
    (f)前記メディアプログラムの前記一定ビットレートバージョンの前記第2の時間区間によって、前記エンコードされたメディアプログラムの一定映像品質バージョンの一部分を置換することと、
    の各ステップを備える方法。
  2. 前記制約は、瞬間ビットレートを備える、請求項1に記載の方法。
  3. (g)前記第2の時間区間が前記制約を満たしそこなっているときを判定することと、
    (h)前記第2の時間区間が前記制約を満たしそこなっているとき、前記第2の時間区間が前記制約を満たすまで、前記圧縮エンコードパラメータをさらに調節し、前記ステップ(g)を繰り返し、その後、前記ステップ(e)を実行することと、
    の各ステップをさらに備える、請求項1に記載の方法。
  4. (g)前記第2の時間区間が前記制約を満たしそこなっているときを判定することと、
    (h)前記第2の時間区間が前記制約を満たしそこなっているとき、前記第2の時間区間が前記制約を満たすまで、前記1組の圧縮エンコードパラメータのうちの別の圧縮エンコードパラメータを調節し、前記ステップ(g)を繰り返し、その後、前記ステップ(e)を実行することと、
    の各ステップをさらに備える、請求項1に記載の方法。
  5. 前記1組の圧縮エンコードパラメータのうちの前記別の圧縮エンコードパラメータを調節することの前記ステップは、映像のテクスチャ複雑度を低減するために、映像のテクスチャ複雑度パラメータを調節することのステップを備える、請求項4に記載の方法。
  6. 前記制約は、前記第2の時間区間の間の瞬間最大ビットレートである、請求項1に記載の方法。
  7. 前記第2の時間区間は、前記第2の時間区間にわたる画像群を備える、請求項1に記載の方法。
  8. ソースメディアプログラムをエンコードするための機器であって、
    前記メディアプログラムの、一定の映像品質にエンコードされたバージョンを生成するために、前記メディアプログラムの第1の圧縮エンコードを実行するための手段と、
    前記メディアプログラムのすべてのフレームの第1の圧縮エンコードを実行した後、複数のフレームの区間を使用して、前記メディアプログラムの前記一定の映像品質にエンコードされたバージョンのフレームのすべてを解析するための手段と、
    前記メディアプログラムのフレームのすべてを解析するとき、少なくとも前記複数のフレームを含む第1の時間区間に対するビットレートに関連する制約を満たしそこなっている前記メディアプログラムの一定の映像品質にエンコードされたバージョンの一部分に対する第2の時間区間を判定するための手段と、
    前記一定の映像品質にエンコードされたバージョンの前記第2の時間区間が、前記制約を満たしそこなっているとき、前記第2の時間区間中の前記メディアプログラムのフレームをエンコードする一定のビットレートによって、前記制約が前記第2の時間区間に対して満たされるように、1組の圧縮エンコードパラメータのうちの少なくとも1つの圧縮エンコードパラメータを調節するための手段と、
    前記エンコードされたメディアプログラムの部分の一定ビットレートバージョンを生成するために、前記調節された少なくとも1つの圧縮エンコードパラメータに応じて、前記メディアプログラムの前記第2の時間区間の第2の圧縮エンコードを実行するための手段と、
    前記メディアプログラムの前記一定ビットレートバージョンの前記第2の時間区間によって、前記エンコードされたメディアプログラムの一定映像品質バージョンの一部分を置換するための手段と、
    の各ステップを備える機器。
  9. 前記制約は、瞬間ビットレートを備える、請求項8に記載の機器。
  10. 前記第2の時間区間が前記制約を満たしそこなっているときを判定するための手段と、
    前記第2の時間区間が前記制約を満たすまで、前記圧縮エンコードパラメータをさらに調節し、前記さらに調節された圧縮エンコードパラメータに応じて、前記第2の時間区間を繰り返し圧縮エンコードするための手段と、
    をさらに備える、請求項8に記載の機器。
  11. 前記第2の時間区間が前記制約を満たしそこなっているときを判定するための手段と、
    前記第2の時間区間が前記制約を満たすまで、前記1組の圧縮エンコードパラメータのうちの別の圧縮エンコードパラメータを調節し、前記さらに調節された少なくとも1つの圧縮エンコードパラメータに応じて、前記第2の時間区間を繰り返し圧縮エンコードするための手段と、
    の各ステップをさらに備える、請求項8に記載の機器。
  12. 前記1組のパラメータのうちの前記別のパラメータを調節するための前記手段が、映像のテクスチャ複雑度を低減するために、映像のテクスチャ複雑度パラメータを調節するための手段を備える、請求項11に記載の機器。
  13. 前記制約は、前記第2の時間区間の間の瞬間最大ビットレートである、請求項8に記載の機器。
  14. 前記第2の時間区間は、前記第2の時間区間にわたる画像群を備える、請求項8に記載の機器。
  15. ソースメディアプログラムをエンコードするための機器であって、
    前記メディアプログラムの、一定の映像品質にエンコードされたバージョンを生成するために、前記メディアプログラムの第1の圧縮エンコードを実行するための第1のエンコーダと、
    前記メディアプログラムのすべてのフレームの第1の圧縮エンコードを実行した後、複数のフレームの区間を使用して、前記メディアプログラムの一定の映像品質にエンコードされたバージョンのフレームのすべてを解析し、前記メディアプログラムのフレームのすべてを解析するとき、少なくとも前記複数のフレームを含む第1の時間区間に対するビットレートに関連する制約を満たしそこなっている前記メディアプログラムの一定の映像品質にエンコードされたバージョンの一部分に対する第2の時間区間を判定するための制約決定モジュールと、
    前記一定の映像品質にエンコードされたバージョンの前記第2の時間区間が、前記制約を満たしそこなっているとき、前記第2の時間区間中の前記メディアプログラムのフレームをエンコードする一定のビットレートによって、前記制約が前記第2の時間区間に対して満たされるように、1組の圧縮エンコードパラメータのうちの少なくとも1つの圧縮エンコードパラメータを調節するための調節モジュールと、
    前記エンコードされたメディアプログラムの部分の一定ビットレートバージョンを生成するために、前記調節された少なくとも1つの圧縮エンコードパラメータに応じて、前記メディアプログラムの前記第2の時間区間の第2の圧縮エンコードを実行するための第2のエンコーダと、
    前記メディアプログラムの前記一定ビットレートバージョンの前記第2の時間区間によって、前記エンコードされたメディアプログラムの一定映像品質バージョンにおける一部分を置換するためのスプライサと、
    の各ステップを備える機器。
  16. 前記制約は、瞬間ビットレートを備える、請求項15に記載の機器。
  17. 前記制約決定モジュールは、前記第2の時間区間が前記制約を満たしそこなっているときをさらに判定し、前記第2の時間区間が前記制約を満たすまで、前記調節モジュールは、前記圧縮エンコードパラメータをさらに調節し、前記第2のエンコーダは、前記さらに調節された圧縮エンコードパラメータに応じて、前記第2の時間区間を繰り返しエンコードする、
    請求項15に記載の機器。
  18. 前記制約決定モジュールは、前記第2の時間区間が前記制約を満たしそこなっているときをさらに判定し、前記第2の時間区間が前記制約を満たすまで、前記調節モジュールは、前記1組の圧縮エンコードパラメータのうちの別の圧縮エンコードパラメータを調節し、前記第2のエンコーダは、前記さらに調節された少なくとも1つの圧縮エンコードパラメータに応じて、前記第2の時間区間をエンコードする、
    請求項15に記載の機器。
  19. 前記調節モジュールは、映像のテクスチャ複雑度を低減するために、映像のテクスチャ複雑度パラメータを調節する、請求項18に記載の機器。
  20. 前記制約は、前記第2の時間区間の間の瞬間最大ビットレートである、請求項15に記載の機器。
  21. 前記第2の時間区間は、前記第2の時間区間にわたる画像群を備える、請求項15に記載の機器。
JP2013544787A 2010-12-15 2011-12-15 メディアプログラムのハイブリッドトランスコーディングのための方法および機器 Active JP6125432B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/969,016 US9832540B2 (en) 2010-12-15 2010-12-15 Method and apparatus for hybrid transcoding of a media program
US12/969,016 2010-12-15
PCT/US2011/065221 WO2012083052A1 (en) 2010-12-15 2011-12-15 Method and apparatus for hybrid transcoding of a media program

Publications (2)

Publication Number Publication Date
JP2014505400A JP2014505400A (ja) 2014-02-27
JP6125432B2 true JP6125432B2 (ja) 2017-05-10

Family

ID=46234404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013544787A Active JP6125432B2 (ja) 2010-12-15 2011-12-15 メディアプログラムのハイブリッドトランスコーディングのための方法および機器

Country Status (4)

Country Link
US (2) US9832540B2 (ja)
EP (1) EP2652953B1 (ja)
JP (1) JP6125432B2 (ja)
WO (1) WO2012083052A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10334327B2 (en) 2010-12-15 2019-06-25 Hulu, LLC Hybrid transcoding of a media program

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493499B (zh) * 2011-03-16 2018-04-06 韩国电子通信研究院 提供使用表示的流媒体内容的装置及方法
WO2013082750A1 (zh) * 2011-12-06 2013-06-13 华为技术有限公司 实时转码方法及设备
US9357213B2 (en) * 2012-12-12 2016-05-31 Imagine Communications Corp. High-density quality-adaptive multi-rate transcoder systems and methods
US9924164B2 (en) * 2013-01-03 2018-03-20 Disney Enterprises, Inc. Efficient re-transcoding of key-frame-aligned unencrypted assets
US11553211B2 (en) * 2013-01-03 2023-01-10 Disney Enterprises, Inc. Heuristic detection of potential digital media artifacts and defects in digital media assets
US9247313B1 (en) * 2014-01-06 2016-01-26 Google Inc. Dynamic video ad format based on user bitrate and bandwidth
US9774867B2 (en) 2014-02-12 2017-09-26 Facebook, Inc. Systems and methods for enhanced video encoding
US20160073106A1 (en) * 2014-09-08 2016-03-10 Apple Inc. Techniques for adaptive video streaming
US11019349B2 (en) * 2017-01-20 2021-05-25 Snap Inc. Content-based client side video transcoding
CN108833918B (zh) * 2018-06-20 2021-09-17 腾讯科技(深圳)有限公司 视频编码方法、解码方法、装置、计算机设备及存储介质
CN109286825B (zh) * 2018-12-14 2021-04-30 北京百度网讯科技有限公司 用于处理视频的方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675384A (en) 1995-10-03 1997-10-07 Nec Usa, Inc. VBR MPEG video encoding for ATM networks with dynamic bandwidth renegotiation
EP0940042B1 (en) 1997-07-29 2005-07-27 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
JP3425130B2 (ja) 1999-09-13 2003-07-07 松下電器産業株式会社 符号化装置及び符号化方法
KR100634660B1 (ko) 1999-09-13 2006-10-16 마츠시타 덴끼 산교 가부시키가이샤 부호화장치 및 부호화방법
US6577764B2 (en) * 2001-08-01 2003-06-10 Teranex, Inc. Method for measuring and analyzing digital video quality
US6925120B2 (en) 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
CA2537293C (en) * 2003-08-29 2014-04-01 Rgb Networks, Inc. Advanced, adaptive video multiplexer system
WO2006031737A2 (en) * 2004-09-14 2006-03-23 Gary Demos High quality wide-range multi-layer compression coding system
KR100664932B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
US20060188025A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Error concealment
JP4543971B2 (ja) 2005-03-07 2010-09-15 ソニー株式会社 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体
US8116577B2 (en) 2005-03-07 2012-02-14 Sony Corporation Encoding method, encoding device, encoding process program, and recording medium on which encoding process program is recorded
WO2006099226A1 (en) * 2005-03-10 2006-09-21 Qualcomm Incorporated Quasi-constant-quality rate control with look-ahead
TWI301953B (en) 2005-03-14 2008-10-11 Qisda Corp Methods and apparatuses for video encoding
US20060259588A1 (en) 2005-04-20 2006-11-16 Lerman David R Browser enabled video manipulation
US8175167B2 (en) 2005-07-01 2012-05-08 Sonic Solutions Llc Method, apparatus and system for use in multimedia signal encoding
US20080165849A1 (en) * 2005-07-22 2008-07-10 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
JP4788250B2 (ja) * 2005-09-08 2011-10-05 ソニー株式会社 動画像信号の符号化装置、動画像信号の符号化方法およびコンピュータ読み取り可能な記録媒体
US9113147B2 (en) * 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
GB0622823D0 (en) 2006-11-15 2006-12-27 British Broadcasting Corp Accessing content
JP5351040B2 (ja) 2006-12-12 2013-11-27 ヴァントリックス コーポレーション 映像符号化規格に対応した映像レート制御の改善
US20090052540A1 (en) 2007-08-23 2009-02-26 Imagine Communication Ltd. Quality based video encoding
US8290036B2 (en) 2008-06-11 2012-10-16 Optibase Technologies Ltd. Method, apparatus and system for concurrent processing of multiple video streams
US20100166060A1 (en) 2008-12-31 2010-07-01 Texas Instruments Incorporated Video transcoder rate control
US9832540B2 (en) 2010-12-15 2017-11-28 Hulu, LLC Method and apparatus for hybrid transcoding of a media program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10334327B2 (en) 2010-12-15 2019-06-25 Hulu, LLC Hybrid transcoding of a media program

Also Published As

Publication number Publication date
EP2652953A1 (en) 2013-10-23
EP2652953A4 (en) 2016-06-22
WO2012083052A1 (en) 2012-06-21
US20120155553A1 (en) 2012-06-21
EP2652953B1 (en) 2019-10-09
US10334327B2 (en) 2019-06-25
US9832540B2 (en) 2017-11-28
JP2014505400A (ja) 2014-02-27
US20180035177A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
JP6125432B2 (ja) メディアプログラムのハイブリッドトランスコーディングのための方法および機器
US9077860B2 (en) System and method for providing video content associated with a source image to a television in a communication network
US11277620B1 (en) Adaptive transcoding of profile ladder for videos
US11218663B2 (en) Video chunk combination optimization
CN112425178B (zh) 两遍组块并行转码处理
KR102416160B1 (ko) 영상 저장 서비스 제공 방법, 컴퓨터 프로그램 및 컴퓨팅 장치
US20200184709A1 (en) Dynamic rendering of low frequency objects in a virtual reality system
US11006161B1 (en) Assistance metadata for production of dynamic Over-The-Top (OTT) adjustable bit rate (ABR) representations using On-The-Fly (OTF) transcoding
US11182943B2 (en) Color accent generation for images in an interface
US11140060B2 (en) Dynamic variation of media segment durations for optimization of network round trip times
US20240212118A1 (en) Quality measurement between mismatched videos
Suman et al. DNNStream: Deep-learning based content adaptive real-time streaming
Won et al. Intelligent Media Format Conversion for Universal Multimedia Service over Heterogeneous Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170203

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170405

R150 Certificate of patent or registration of utility model

Ref document number: 6125432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250