JP5490146B2 - 適応ビデオ・ストリーミングのための可変ビット・レートおよび動的解像度を用いた多ビット・レート・ビデオ・エンコーディング - Google Patents

適応ビデオ・ストリーミングのための可変ビット・レートおよび動的解像度を用いた多ビット・レート・ビデオ・エンコーディング Download PDF

Info

Publication number
JP5490146B2
JP5490146B2 JP2011548014A JP2011548014A JP5490146B2 JP 5490146 B2 JP5490146 B2 JP 5490146B2 JP 2011548014 A JP2011548014 A JP 2011548014A JP 2011548014 A JP2011548014 A JP 2011548014A JP 5490146 B2 JP5490146 B2 JP 5490146B2
Authority
JP
Japan
Prior art keywords
video
encoding
resolution
bit rate
quantization step
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
JP2011548014A
Other languages
English (en)
Other versions
JP2012516644A (ja
JP2012516644A5 (ja
Inventor
グ,チュアン
チャン,チュン−ウェイ
チェン,ウィリアム
スピアーズ,ステイシー
ホルコム,トーマス・ダブリュー
リン,チイ−ルン
メーロトラ,サンジーブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012516644A publication Critical patent/JP2012516644A/ja
Publication of JP2012516644A5 publication Critical patent/JP2012516644A5/ja
Application granted granted Critical
Publication of JP5490146B2 publication Critical patent/JP5490146B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing 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 for generating different versions
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

[0001] インターネットのようなネットワーク上におけるストリーミング・オーディオおよびビデオを再生することが増々普及するにつれて、再生中のネットワーク条件に一貫性がなくてもクライアントの体験を最大化するように、サーバーからクライアントに転送されるデータを最適化することが必要になっている。クライアントの体験を最適化するには、ビデオ再生のオーディオ部分およびビデオ部分をエンコードする品質レベルを選択して、ビデオ・コンテンツの品質を保存しつつ、ビデオを中断することなく転送し再現できるようにしなければならない。
[0002] 品質レベルは、一般に、入力ストリームにおいてエンコードされているオーディオまたはビデオ部分に対して指定されたビット・レートによって決められる。ビット・レートが高い程、一般に、元のオーディオまたはビデオについてエンコードされ保持されている情報量が多いことを示し、したがって、ビデオの再生中に、元の入力オーディオまたはビデオが一層精度良く再現され提示されることになる。逆に、ビット・レートが低い程、元の入力オーディオまたはビデオについてエンコードされ保持されている情報が少なく、したがって、ビデオ再生中に、元のオーディオまたはビデオが、精度を低くして再現され提示されることを示す。
[0003] 一般に、ビット・レートは、様々な要因に基づいてビデオおよびオーディオの各々をエンコードするために指定される。第1の要因は、サーバーとクライアントとの間におけるネットワーク状態である。大量のデータを転送することができるネットワーク接続は、このネットワーク接続を通じて後に転送される入力ビデオに対してより高いビット・レートを指定できることを示す。第2の要因は、所望の起動レイテンシーである。起動レイテンシーとは、大量のデータを受信し、処理し、バッファーしなければならないために、最初に起動するときにビデオ再生ツールに生ずる遅れのことである。第3の要因は、グリッチング(glitching)に対する耐性である。グリッチングとは、データが失われたためにビデオ再生を停止しなければならないときのことである。殆どの場合、起動レイテンシーまたはグリッチングは、いかなる量であっても許容できず、したがって、起動レイテンシーやグリッチングを最小限に抑えるまたは排除するように、指定されるビット・レートを最適化することが望ましい。
[0004] 現在入手可能な市販のストリーミング・メディア・システムは、コーディング・レート制御を行う際に多ビット・レート(MBR)コーディングを拠り所としている。MBRコーディングでは、ソース・ビデオ・コンテンツは異なるコーディング・レートで代用ビット・ストリームにエンコードされ、サーバーにおいて同じメディア・ファイルに格納されるのが通例である。これによって、変化するネットワーク状態にしたがって、異なるコーディング・レートに対応する様々なレベルの品質で、セグメント単位またはチャンク(chunk)単位で、通例セグメント間でビット・ストリーム切り替えを用いて、コンテンツを再生することが可能となる。
[0005] 現在入手可能な多ビット・レート・ビデオ・ストリーミング・システムは、各代用ビデオ・ストリームのエンコーディングに一定ビット・レート手法を用いている。しかしながら、典型的なビデオは、一般に、多様な視覚的複雑さを有する場面を含む。しかしながら、一定ビット・レート手法は、ビデオ・セグメントを異なる品質で効率的にエンコードすることができない。一定ビット・レート手法は、複雑でないビデオ・セグメントをエンコードするのに余りに多くのビットを不必要に使いすぎており、逆に非常に複雑な場面に割り当てられるビットは少なすぎる。その結果、一定ビット・レート手法で代用ストリームをエンコードすると、インターネット・ストリーミングには望ましくないそして一貫性のないビデオ品質となってしまう。
[0006] また、現在入手可能な多ビット・レート・ビデオ・ストリーミング・システムには、最終的な表示解像度を固定するために、更に別の要件がある。固定表示解像度を維持することによって、多数のビット・レートとしたビデオ・ストリームを全てデコードしてこの同じ最終的表示解像度に調整して(scale)、グリッチングがないビデオ提示を達成することができる。固定表示解像度によって、種々の代用ビデオ・ストリームは、毎秒数メガビットから毎秒数キロビットまでの広範囲のビット・レートを有することができる。問題は、適したビット解像度を各ビデオ・ストリーム・ビット・レートに一致させることである。現在入手可能な多ビット・レート・ビデオ・ストリーミング・システムは、既定のエンコーディング解像度を用いているが、この場合も、変化するビデオ場面の複雑さには適合しない場合もある。複雑でないビデオには、既定の解像度が小さすぎることがある。複雑なビデオには、既定の解像度が大きすぎることがある。
[0007] 以下の詳細な説明は、多ビット・レート・ビデオ・エンコーディング技法(方法、デバイス、およびシステムによって実現される)に関し、総合的に品質を高めたビデオが得られるように、利用可能なビットを各ビット・レートでより良く利用しようとするものである。
[0008] 本明細書において記載する一技法によれば、多ビット・レート・ビデオ・エンコーダーは、一貫性を高めたビデオ品質を提供する目的で、複数のビデオ・ストリームを、多ビット・レート・ビデオ・ストリーミングに合わせてエンコードする。最もビット・レートが高いビデオ・ストリームをエンコードするために、このストリームがエンコードされるビット・レートが、ある種の制約、即ち、ピーク・ビット・レート制約および平均ビット・レート制約に応じて変化することを許容する。最もビット・レートが低いビデオ・ストリームでは、多ビット・レート・ビデオ・エンコーダーは、一定チャンク(所与のサイズのピクチャー群)レート手法によって、このストリームをエンコードする。中間ビット・レートのビデオ・ストリームは、徐々に低下する可変ビット・レート(ピークおよび平均ビット・レート制約の減少に応じて)でエンコードされる。
[0009] 本明細書において記載する他の技法によれば、多ビット・レート・ビデオ・エンコーダーは、ストリームのビデオ解像度も動的に変化させる。ビット・レート毎に、ビデオ・エンコーダーは、視覚的品質の向上を達成するために、場面のビデオ・コンテンツ(1つ又は複数のピクチャー群を構成することもある)に基づいて解像度を動的に決定する。多ビット・レート・ビデオ・エンコーダーは、複雑さが少ないビデオ・コンテンツを有するピクチャー群程高いビデオ解像度を選択し、一方複雑さが多いピクチャー群程低い解像度が割り当てられる。この動的解像度手法によって、多ビット・レート・ビデオ・エンコーダーは、所与のビット・レートに対して総合的にビデオ品質の向上を達成することが可能となる。
[0010] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を決定するときに補助として用いられることを意図するのでもない。本発明の更に別の特徴や利点は、添付図面を参照しながら進められる、以下の実施形態の詳細な説明から明白となろう。
図1は、可変ビット・レートでビデオの区分ストリームを供給するビデオ・ストリーミング・システムのブロック図である。 図2は、図1のビデオ・ストリーミング・システムに合わせて、変化するビット・レートでストリームをエンコードするビデオ・エンコーダーの実施態様を一般化したブロック図である。 図3は、図1のシステムによるストリーミングに合わせて、図2のビデオ・エンコーダーを用いたビデオのエンコーディングに対して、可変ビット・レート手法および動的解像度手法を適用する多ビット・レート・ビデオ・エンコーディング・システムのプロセス・フロー・チャートである。 図4は、動的解像度選択に対する三点サンプリング手法において用いるためのストリーム例について、解像度、量子化ステップ・サイズ、およびコード化後のサイズの間の関係を示すグラフである。 図5は、多ビット・レート・ビデオ・エンコーディング・システムによる動的解像度決定のプロセス・フロー・チャートである。 図6は、種々の記載した実施形態を実現することができる、一般化した動作環境のブロック図である。
[0017] 以下の詳細な説明は、多数のビット・レートでビデオ・ストリームを生成してストリーミングするために、可変ビット・レートおよび動的解像度を用いる種々のビデオ・エンコーディング技法およびシステムに関する。これらの技法について、多ビット・レート・ストリーミングの用途への応用というコンテキストで説明するが、本技法は更に広く他のビデオ・エンコーディングの用途にも適用することができる。
[0018] 本明細書において記載する種々の技法およびツールは、独立して用いることができる。これらの技法およびツールの中には、組み合わせて用いることができるものもある。以下では、処理動作(act)のフローチャートを参照しながら種々の技法について説明する。フローチャートにおいて示される種々の処理動作は、それらよりも少ない動作に統合すること、またはそれらよりも多い動作に分離することもできる。簡素化のために、個々のフローチャートに示される動作の、別のところで説明される動作に対する関係は、示されないことが多い。フローチャートにおける動作は、順序を変更できることが多い。
1.多ビット・レート・ビデオ・ストリーミング
[0019] 図1は、インデックス化ビデオ・ストリーム・ファイルに収容されているマルチメディア・コンテンツの区分ストリーミングのためのシステム100を一般化したブロック図を示す。インデックス化ファイルは、一般に、マルチメディア・プログラムのビデオを多数のストリーミング・セグメントに分割し、種々のビット・レートのビデオ・セグメントを表す多数の圧縮ビット・ストリームを収容する。MBRビデオ・ストリームは、別個のコード化ストリームとして記載されているが、代替実施態様では、MBRビデオ・ストリームの一部または全部を、多数のコーディング・レイヤーを有する1つのコード化圧縮ビデオ・ストリームとしてエンコードすることもできる。システム100において、サーバー110(例えば、標準的なHTTPサーバーのようなサーバー・コンピューター・システム)がマルチメディア・コンテンツをクライアント120(例えば、ラップトップまたはデスクトップ・コンピューターのようなクライアント・コンピューター・システム、あるいはPDAまたは移動体電話機のような他のタイプのコンピューティング・デバイス)にネットワーク130(例えば、インターネット)を通じて供給する。システム100では、サーバー110はプログラムをインデックス化ファイルに格納する。クライアント120は、クライアント側レート制御ソフトウェアおよび/またはハードウェアを備えている。
[0020] 具体的な一実施態様例では、サーバー110は標準的なHTTPサーバーであり、ファイルを配給することができる以外には、特別のストリーミング能力が全くない。サーバー110は特殊ビット・レート選択能力をサポートしないので、クライアント120が全てのビット・レート選択動作(activities)を実行しなければならない。この実施態様では、クライアント120は全てのビット・レート選択動作を実行する。例えば、クライアント120は、サーバー110から入手したインデックス情報を用いて(例えば、単独で、またはクライアント・バッファー情報、ネットワーク帯域幅等というような他の情報と組み合わせて)、レート制御を実行することができる。しかしながら、他の実施態様では、レート制御機能の一部または全部をサーバーにおいて行うことができる。
[0021] 一般に、多ビット・レート・ストリーミング用のインデックス化ファイルは、標準的なHTTPサーバーが、多数のビット・レートでマルチメディア・コンテンツを配給するために用いることができる。ビット・レートの選択(レート制御)は、クライアント側(例えば、クライアント側のみ)で行われる。クライアントは、最初にプログラムのストリーミング・セグメントに利用可能な種々のビット・レートを記載したインデックス情報をサーバーから入手することによって、レート制御を実行することができる。インデックス情報に基づいて、そしてその他にも可能な情報(例えば、ネットワーク帯域幅、バッファー情報等)に基づいて、クライアントは所望のユーザ体験(例えば、利用可能なビット・レートおよび現在のネットワーク状態に基づいて、可能な限り最良のユーザ体験)を提供するためには、どのビット・レートでストリーミング・セグメントをサーバーからダウンロードすればよいか判断することができる。
[0022] 他のタイプのコンピューティング・デバイス(例えば、従前からのHTTPサーバー以外)が、インデックス化ファイルを用いて、ファイルを提供することもできる。例えば、コンピューティング・デバイス(例えば、パーソナル・コンピューター、サーバー・コンピューター、または特殊目的ストリーミング・メディア・サーバー)がインデックス化ファイル・レイアウトを用いて、種々のファイル配給プロトコル(例えば、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)、リアル・タイム・ストリーミング・プロトコル(RTSP)、MMS(Microsoft Media Services)等)を用いてマルチメディア・コンテンツを配給することができる。
[0023] ビット・レートの切り替えをサポートするために、ストリーミング・セグメント(自己完結ユニット)と呼ばれる時間チャンク(temporal chunk)に、プログラムを分割する。サーバーは、各ストリーミング・セグメントを1つ又は複数のビット・レートで格納する(例えば、各ストリーミング・セグメント−ビット・レートの組み合わせが、別のストリーミング・セグメント・エンコーディングとなる)。各ストリーミング・セグメントは、プログラムの特定のトラック(例えば、英語のオーディオ・トラックのような特定のオーディオ・トラック、または特定のビデオ・トラック)に利用可能な1つ又は複数のビット・レート・エンコーディングを有する。次いで、クライアントは、利用可能なビット・レートから(例えば、利用可能なストリーミング・セグメント・エンコーディングから)どのビット・レートにするか判断して、ストリーミング・セグメント毎にダウンロードする。例えば、クライアントは250Kb/秒(キロビット毎秒)でエンコードされたビデオ・トラック用第1ストリーミング・セグメント、500Kb/秒でエンコードされたビデオ・トラック用第2ストリーミング・セグメント(第2ストリーミング・セグメントに利用可能な1つ又は複数のストリーミング・セグメント・エンコーディングから)、および1Mb/秒(メガビット毎秒)でエンコードされたビデオ・トラック用第3ストリーミング・セグメント(第3ストリーミング・セグメントに利用可能な1つ又は複数のストリーミング・セグメント・エンコーディングから)を入手することができる。図示したストリーミング・システム100では、インデックス化ファイルに収容されている各ストリーミング・セグメントは、ビデオ・エンコーダーによって、可変ビット・レート(VBR)および可変解像度で、以下で説明するようにエンコードされる。
II.ビデオ・エンコーダーの全体像
[0024] 図2は、多ビット・レート・ビデオ・ストリーミングのためにビデオをエンコードする際に用いることができるビデオ・エンコーダー200の一例を示す。ビデオ・エンコーダー200は、ビデオ・コンテンツの「生の」(未圧縮)フレーム、およびこのビデオ・コンテンツについて予め計算されている動き情報を受信する入力210、220を有する。次いで、このビデオ・エンコーダーは、ビデオ・コンテンツの基準フレームのフレーム内ココーディングを実行し、動き情報を利用して、ビデオ・コンテンツの予測フレームのフレーム間コーディングを実行する。このエンコーディングは、Windows Media Videoフォーマット、SMPTE-421-Mフォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、またはMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、またはH.264)、または他のフォーマットというような、既知のビデオ・エンコーディング規格にしたがって実行することができる。しかしながら、フレーム間コーディングの場合、ビデオ・エンコーダーは、それ自体の動き推定をフレームについて実行する代わりに、予測フレームのフレーム間コーディングについて予め計算されている動き情報を用いることを選択することができる。ビデオ・エンコーダーは、ビデオ・コンテンツをエンコードして圧縮ビットストリームとし、これを出力230として供給する。また、ビデオ・エンコーダーは、入力ビデオ・コンテンツのフレーム間圧縮に用いた動き情報も、動き情報出力240として(多ビット・レート・ビデオ・ストリーミング用に更に低いビット・レートのビデオ・ストリームをエンコードするというようなことのために)出力することができる。
[0025] 図2は、可変ビット・レートおよび可変解像度エンコーディングを用いて、多ビット・レート・ビデオ・ストリーミング・システム100に多ビット・レート・ビデオ・ストリームを生成するビデオ・エンコーダー200の適した実施態様の一例を示す、一般化したブロック図である。ビデオ・エンコーダー200は、ビデオ・ピクチャー(フレーム)のシーケンスをその生ビデオ・コンテンツ入力210として受信し、圧縮ビット・ストリーム230を出力として生成する。
[0026] ビデオ・エンコーダー200は、ビデオ・ピクチャーを処理する。「ピクチャー」という用語は、一般に、ソース画像データ、コード化された画像データ、または再現された画像データを指す。プログレッシブ・ビデオ(progressive video)では、ピクチャーはプログレッシブ・ビデオ・フレームとなる。インターレース・ビデオでは、ピクチャーは、コンテキストに応じて、インターレース・ビデオ・フレーム、フレームの最上位フィールド、またはフレームの最下位フィールドを指す場合もある。
[0027] ビデオ・エンコーダー200は、入力ビデオのインター・コード化(inter-coded)予測ピクチャー、およびイントラ・コード化(intra-coded)ピクチャーを圧縮する。提示のために、図2は、エンコーダー200を通過するイントラ・コード化フレームの経路と、インター・コード化予測フレームの経路とを示す。ビデオ・エンコーダー200のコンポーネントの多くは、イントラ・コード化コンテンツおよびインター・コード化予測コンテンツの双方を圧縮するために用いられる。これらのコンポーネントによって行われる正確な動作は、圧縮される情報のタイプに応じて変化する可能性がある。
[0028] 一般に、ビデオ・エンコーダー200内では、インター・コード化予測フレーム(ピクチャーとしての)が、以前に再現されたコンテンツ(1つ又は複数の他のピクチャーとして。これらは通例基準ピクチャーまたはアンカーと呼ばれる)からの予測に関して表される。例えば、所与の時点におけるコンテンツは、プログレッシブP−フレームまたはB−フレーム、インターレースP−フィールドまたはB−フィールド、あるいはインターレースP−フレームまたはB−フレームとしてエンコードされる。ビデオ・エンコーダー200内部では、予測された情報と対応するイントラ・コード化フレームとの間の差が、予測残差(prediction residual)となる。
[0029] インター−パス上にある入力ビデオ110のコンテンツは、動き情報に基づいて、予測ピクチャーとしてエンコードされる。ある種の条件を満たす場合、ビデオ・エンコーダー100は、入力120からの、予め計算されている動き情報を用いる(選択スイッチ256によって図示されるように)。この動き情報は、マクロブロックに対する1組のまたは一連の動きベクトル、あるいは1つ又は複数の基準ピクチャーに関する他のインター−パス・ビデオ・ピクチャーのサンプル集合という形態をなすことができる。一般に、予め計算されている動き情報を用いる選択は、第1に、予め計算されている動き情報の利用可能性に基づき、第2に、動き情報の直前の計算からどのエンコーディング・パラメータが変化したか、そして変化したか否かに基づき、更にビデオ・コンテンツの現在のエンコーディングに用いられているパラメータに基づく。一例では、動き情報が、ビデオ・エンコーダーが現在エンコードしているビデオ・コンテンツとは異なるビデオ解像度を有するビデオ・コンテンツをエンコードするために計算されたのである場合、ビデオ・エンコーダーは、入力130からの、予め計算されている動き情報を用いないことを選択する。
[0030] しかしながら、ビデオ・エンコーダー100は、代わりに、動き推定部258を用いて、インター−パス・ビデオ・コンテンツ100に対して新たな動き推定を実行することを選択することができる(この場合も、選択スイッチ256によって図示されている)。動き推定部258は、以前にエンコードされたビデオ・コンテンツ・フレームの再現を表す、1つ又は複数の基準ピクチャーに対するビデオ・ピクチャーのマクロブロックまたは他のサンプル集合の動きを推定する。ピクチャー・ストア264は、この再現されたビデオ・コンテンツ266を、1つまたは複数の基準ピクチャーとしてバッファーする。多数の基準ピクチャーが用いられる場合、これらの多数の基準ピクチャーを異なる時間方向または同じ時間方向から得ることができる。動き推定部258は、動きベクトル情報のような動き情報260を出力する。
[0031] 動き補償部262は、動き補償した現ピクチャーを形成するときに、動きベクトルをある種の再現されたビデオ・コンテンツ266(基準ピクチャー(1つまたは複数)として格納されている)に適用する。動き補償ピクチャー268のブロックと元のインター−パス・ビデオ・ピクチャの対応するブロックとの間における差は(少しでもあるとすると)、そのブロックに対する予測残差270となる。後にインター−パス・ビデオ・フレーム(例えば、ビデオ・デコーダーにおいて)を再現する間に、再現される予測残差が動き補償残差ビデオ268に加算されて、元のインター−パス・ビデオ256に一層近い再現コンテンツが得られる。しかしながら、非可逆圧縮の場合、相変わらず一部の情報が元のインター−パス・ビデオから失われる。代わりに、動き推定部および動き補償部が他のタイプの動き推定/補償を適用する。
[0032] 周波数変換器280は、空間ドメイン・ビデオ情報を周波数ドメイン(即ち、空間、変換)データに変換する。ブロック基準のビデオ・コンテンツでは、周波数変換器280はDCT、DCTの異形、または他の前方ブロック変換(forward block transform)をサンプルまたは予測残差データのブロックに適用して、周波数変換係数のブロックを生成する。周波数変換器280は、8×8、8×4、4×8、4×4、または他のサイズの周波数変換を適用することができる。
[0033] 次に、量子化器282が変換係数のブロックを量子化する。量子化器282は、ピクチャー毎に、マクロブロック毎に、または他の単位毎に空間的に変化するステップ・サイズで、非均一スカラー量子化をスペクトル・データに適用する。加えて、場合によっては、量子化器がインター−レイヤー残差ビデオ・ピクチャーの色チャネルにわたって量子化を変化させることもある。また、量子化器282は、少なくとも一部の空間データ係数に対して他のタイプの量子化、例えば、均一または適応量子化を適用することもでき、あるいは周波数変換を用いないエンコーダー・システムにおいて空間ドメイン・データを直接量子化する。
[0034] 再現されたビデオ・コンテンツが、後続のインター−パス・ビデオ・ピクチャーの動き推定/補償に必要とされる場合、逆量子化器290が、量子化されたスペクトル・データ係数に対して逆量子化を実行する。逆周波数変換器292は、逆周波数変換を実行して、再現された予測残差(予測されたインター−パス残差ビデオ・コンテンツに対して)またはサンプル(イントラ−パス残差ビデオ・コンテンツに対して)のブロックを生成する。残差ビデオ・コンテンツ256が動き補償予測されていた場合、再現された予測残差を動き補償予測部268に加算して、再現残差ビデオを形成する。ピクチャー・ストア264は、後続の動き補償予測において用いるために、再現された残差ビデオをバッファーする。
[0035] エントロピー・コーダー(entropy coder)284は、量子化器282の出力およびある種の副次情報(例えば、量子化パラメータ値)を圧縮する。典型的なエントロピー・コーディング技法は、算術コーディング、差分コーディング、ハフマン・コーディング、ラン・レングス・コーディング、LZコーディング、辞書型コーディング、およびこれらの組み合わせを含む。エントロピー・コーダー284は、通例、異なる種類の情報毎に異なるコーディング技法を用い、特定のコーディング技法内にある多数のコード表から選択することができる。
[0036] ビデオ・エンコーダー240がイントラ−パス・ビデオ・コンテンツのイントラ−圧縮を実行するとき、このエンコーダーは、動き補償せずに、それをイントラ・コード化ピクチャーとしてイントラ圧縮する(intra-compress)。ビデオ256は、直接、周波数変換器280、量子化器282、およびエントロピー・コーダー284に供給され、エンコードされたビデオとして出力される。イントラ−コード化ビデオの再現バージョンは、後続のインター−パス・ビデオの動き補償に用いるために、バッファーすることができる。
[0037] コントローラー294は、動き推定部258、周波数変換器280、量子化器282、逆量子化器290、およびエントロピー・コーダー284のような、種々のモジュールから入力を受ける。コントローラー294は、エンコーディングの間中間結果を評価して、例えば、量子化ステップ・サイズを設定し、レート−歪み分析を実行する。コントローラー294は、他のモジュールと共に動作して、エンコーディングの間にコーディング・パラメータを設定および変更する。コントローラー294が異なるコーディング・パラメータの選択肢を評価するとき、コントローラー294は異なるパラメータ設定値を評価するためにある種の段階を繰り返し実行することができ、あるいはコントローラー294は異なるコーディング・パラメータを纏めて評価することもできる。評価すべきコーディング・パラメータ決定のツリー、および対応するコーディングのタイミングは、実施態様によって異なる。実施形態によっては、コントローラー294がエンコーディング・セッション・ウィザード・インターフェース(encoding session wizard interface)、他のエンコーダー・アプリケーション・インターフェース、または他のソースからも入力を受け取り、特定の規則を用いてエンコードするビデオを指定する場合もある。
III.MBRストリームの可変ビット・レート・エンコーディング
[0038] 多ビット・レート・ビデオ・ストリーミング・システム100(図1)では、多ビット・レート・ビデオ・エンコーディング・システムが、全般的なビット・レートが連続的に低下する1組の圧縮ビデオ・ストリームとして、入力ビデオを別個にエンコードする。本明細書では個々のMBRビデオ・ストリームを別個にエンコードするというように記載するが、MBRビデオ・ストリーミング・システムおよびエンコーディング・システムの代替実施態様では、MBRビデオ・ストリームの1つ又は複数を、多数の分離可能なコーディング・レイヤーを有する圧縮ビットストリームとしてエンコードすることができる。多ビット・レート・ビデオ・エンコーディング・システムは、MBRエンコーディング・エンジン(図示せず)を含む。このMBRエンコーディング・エンジンは、多ビット・レート・エンコーディング・プロセス(図3に示したような)にしたがって、変化するエンコーディング・パラメータを用いて入力ビデオをエンコードするようにビデオ・エンコーダー200(図2)を駆動し、本章およびその後の章において説明する可変ビット・レートおよび動的解像度手法を実現する。MBRエンコーディング・エンジンは、MBRビデオ・ストリーム・エンコーディングにパラメータを設定するために、ストリーム数、および以下で述べるその他のパラメータというような、ユーザ入力を受けるユーザ・インターフェースまたはコンソール(あるいは、代わりに、呼び出し元アプリケーションからこのような入力を受けるためのアプリケーション・プログラミング・インターフェース)を設けることができる。
[0039] 現在入手可能な他の多ビット・レート・ビデオ・ストリーミング・システム(多数のビデオ・ストリームに一定ビット・レート手法を用いる)とは対照的に、多ビット・レート・ビデオ・ストリーム・システム100のMBRエンコーディング・システムは、ビデオ・ストリーム毎に一定の品質または一貫した品質を提供することを目標とする。最上位のMBRビデオ・ストリーム(一般に、最も高い総体的ビット・レートを有する)に対して、ビデオ・エンコーダー200は、指定された平均ビット・レートを満足させながら、指定されたピーク・ビット・レートに該当するように、変化するビット・レートを制限して、ビデオ・ストリームをエンコードする。最下位のMBRストリーム(一般に、集合の内最も低いビット・レートを有する)に対して、ビデオ・エンコーダーは一定チャンク・レート手法を用いる。多ビット・レート・ビデオ・ストリーミング・システムのコンテキストでは、チャンクという用語は、ビデオ・ストリームが区分されるピクチャーの一群(GOP)を意味し、ビデオ・ストリーミング・システムがビデオ・ストリーム間で個々のセグメントの再生を切り替えることができる粒度のレベルを定める。一定チャンク・レート手法は、ビデオ・ストリーミング・システムがストリーミングの予測可能性を補償することを可能とするので、最も低いビット・レートまたは品質のビデオ・ストリームが流されるときに、クライアントはビデオの最低品質連続再生を維持するように、一定レートでチャンク量のピクチャーを受信する。
[0040] 最低および最大の総体的ビット・レート・ストリーム間において、ビデオ・エンコーダーは、一定のビデオ品質を維持することを目的とするピーク・ビット・レートおよび平均ビット・レートの制限範囲内で、コーディングの可変ビット・レートをこの場合も用いて、1つ又は複数の中間ビデオ・ストリームをエンコードする。中間ビデオ・ストリームのピークおよび平均ビット・レートの制限は、比例的、対数的、または他の減少様式で徐々に低下するように指定することができる。例えば、中間ストリームの平均ビット・レートは、最も高いビット・レートのビデオ・ストリームの平均ビット・レート制限の3/4、1/2、および1/4に比例的に低下することができる。このように、ビデオ・ストリーミング・システム100は、保証されている低一定チャンク・レートから最も高い品質の可変ビット・ビット・ストリームまで、瞬時に開始する素早いビデオ切り替えに備えることができる。ピークおよび平均ビット・レート、ならびに一定チャンク・レートは、ユーザによって設定することができるエンコーディング・パラメータである。これらのパラメータは、明示的にユーザによって設定することができ、あるいはユーザが入力した更に一般化されたパラメータに基づいて、MBRエンコーディング・システム・エンジンによって計算することができる。例えば、MBRエンコーディング・エンジンは、自動モードを有することができ、このモードでは、ユーザ(または呼び出し元アプリケーション)は、単に最低および最大目標ビット・レート、ならびにビデオ・ストリームまたはレイヤーの数を指定するだけでよい。この自動モードでは、エンジンは、次に、全ての中間ビット・レート制限(ピークおよび平均)を、均一な対数空間または他の分布空間において計算する。
[0041] これより図3を参照すると、MBRエンコーディング・システムは、二パス・エンコーディング手法を用いるプロセス300によって、1組のMBRビデオ・ストリームをエンコードする。このプロセスは、分析パスおよびエンコーディング・パスを含む。分析パスの目標は、エンコーディング構成および入力ビデオ・ソース素材自体に基づいて、ビデオ・コンテンツの場面複雑度を見いだすことである。一旦この情報が分析パスにおいて抽出されたなら、次に、続くエンコーディング・パスが1組のMBRビデオ・ストリームを発生する。
[0042] MBRエンコーディング・プロセス300は、初期化ステップ310から開始する。このステップでは、MBRエンコーディング・プロセスは、とりわけ、MBRビデオ・ストリームの数、これらのストリームのピークおよび平均ビット・レート制限、ならびに最低品質のMBRビデオ・ストリームの一定チャンク・レートを含むユーザ入力、そしてセグメント・パラメータからエンコーディングのパラメータを決定する。
[0043] MBRエンコーディング・プロセス300の分析パスは、動作311〜314を含む。分析パスでは、MBRエンコーディング・エンジンは入力ソース・ビデオをフレーム毎に分析する。この分析は多数の異なるタスクを含み、そのタスクには、場面変化の検出、場面変化境界間におけるビデオ・シーケンスをピクチャー・セグメントの集合体に区分すること、ビデオ・フレーム複雑度の測定が含まれる。場面変化の検出に基づいて、MBRエンコーディング・エンジンは、ビデオの間で場面変化が発生する境界に印を付ける。印を付けられたビデオ・シーケンスの境界(シーケンス・マークインおよびシーケンス・マークアウト位置)の間において、MBRエンコーディング・プロセス300は、更に、ユーザ指定の制限(場面内において指定された平均GOP長および最大許容GOP長)以内にあるビデオ・シーケンスを分割すべきピクチャー群の総数を決定し、各ピクチャー群の境界を設定する。一旦GOP境界が定められたなら、各GOPの中にあるフレームの総数を、MBRエンコーディング・エンジンによって計算する。また、MBRエンコーディング・エンジンは、各ピクチャー群のフレーム毎に3つのテクスチャー測定値を1組として計算する。これらの測定値は、次の章で説明する可変解像度エンコーディングにおいて用いられる。3つのテクスチャー測定値には、フレーム全域テクスチャー、フレーム水平テクスチャー、およびフレーム垂直テクスチャー測定値が含まれる。MBRエンジンは、動作314において示されるように、これらの分析パス結果(場面およびGOP境界、ならびにテクスチャー測定値)をログ・ファイルに書き込む。
[0044] エンコーディング・パス(動作315〜324)では、MBRエンジンは分析パスの結果を適用して、ビデオ・エンコーダー200(図2)を用いて、MBRビデオ・ストリームをエンコードする。MBRエンジンは、ビデオ・エンコーダー200に、全てのMBRストリームに対して(動作318)各セグメントをエンコードさせる(動作317)。MBRビデオ・ストリームのセグメント毎に、MBRエンコーディング・エンジンは、ユーザ指定のターゲットを平均ビット・レートにヒットさせる試みにおいて、ビデオ・エンコーダー200のエンコーディング・パラメータを制御する。ソース・ビデオ・コンテンツが複雑過ぎて目標としたビット・レートではエンコードできない場合、MBRエンコーディング・エンジンは、視覚品質向上を達成するために、量子化ステップ・サイズを増大させ始める。最上位即ち最良の品質のビデオ・ストリームは、ユーザ指定MBRエンコーディング・パラメータを満たす最大ピーク・ビット・レート制限を受けながらエンコードされる。最下位即ち最低の品質のビデオ・ストリームでは、MBRエンジンは、一定チャンク・レート制限を満たすようにビデオ・ストリームのエンコーディングを生成するようにビデオ・エンコーダーを制御する。これは、ストリームされるビデオを再生するためのクライアント側予測可能性を保証するのに役立つ。中間ビデオ・ストリームでは、MBRエンジンは、ビデオ・エンコーダーに、エンコーディング・パラメータを用いてソース・ビデオをエンコードさせて、それぞれの中間ストリームに対する最大ピークおよび平均ビット・レート制限以内に入る可変ビット・レートでビデオ・ストリームを生成する。
[0045] エンコーディング・パスの結果、次に、MBRエンジンはビデオ・エンコーダーを用いて生成された1組のMBRストリームに対する圧縮ビデオ・ビット・ストリーム、およびログ・ファイルを出力する。このMBRエンコーディング・プロセス300の可変ビット・レート手法によって、MBRエンジンは、GOP境界毎に最上位から最下位まで品質が一様に低下する1組のMBRストリームを生成する。この1組のMBRビデオ・ストリームによって、MBRシステム100(図1)は、利用可能な接続帯域幅にしたがって、ビデオ・シーケンスに所望な一定のまたは一貫性のある視覚品質で配信することができる。
IV.MBRストリームの可変解像度エンコーディング
[0046] また、MBRエンコーディング・エンジンは、MBRビデオ・ストリームの各々に対してエンコーディングの解像度を動的に変化させる技法も適用する。MBRビデオ・ストリームの最上位から最下位までにわたる各ビデオ・ストリームに対して、MBRエンコーディング・エンジンは、視覚品質の向上を得るために、各ビデオGOPをエンコードするための解像度を動的に決定する。ビデオ・ストリーム毎に、MBRエンコーディング・エンジンは、複雑さが低いGOP(またはセグメント)程高い解像度を割り当て、一方複雑なGOP(またはセグメント)程低いエンコーディングに解像度を割り当てる。
[0047] 前述の実施態様例では、MBRエンコーディング・エンジンはビデオの場面境界において各GOPのサイズを動的に変化させる決定を適用する。これによって、ビデオ解像度をビデオ場面の途中で変更する(resize)と発生する可能性がある、望ましくないあらゆる視覚効果が混入するのを回避する。例えば、「画面に登場する話し手」(talking head)を呼び物にする場面において、場面の途中でビデオ解像度を変化させると、場面における詳細なエッジや構造が解像度の変化と共に鋭くなったり滑らかになるときに、目に見えてわかるポッピング(popping)やパルシング(pulsing)を混入させる可能性がある。したがって、MBRエンコーディング・エンジンは、場面の1つまたは複数のGOPに対して、以下で説明するプロセスを実行する(例えば、先に説明した分析フェーズにおいて特定された場面変化境界の後に、最初のGOPに対して実行する)。
[0048] 動的解像度エンコーディングの実施態様の一例では、MBRエンコーディング・エンジンは、三点サンプリング手法を用いて動的解像度決定を行う。各サンプリング点は、ビデオ解像度および量子化ステップ・サイズの3つの異なる対を用いてGOPをエンコードした結果(実際にエンコードされたビット・レートおよびサイズに関する)を表す。これら3つのサンプリング点の結果を用いて、MBRエンジンは、解像度、量子化ステップ・サイズ、およびコード化後のサイズ(coded size)間の関係のモデルを作成する。この関係を図4に図式的に示す。このビデオ・シーケンスの動的抽出モデルから、MBRエンコーディング・エンジンは、次に、MBRビデオ・ストリームの各目標ビット・レートに対して解像度を決定することができる。代替実施態様では、MBRエンコーディング・エンジンは、このモデルを作成するために、もっと多くのサンプリング点を用いることができる。しかしながら、三サンプリング点手法は、エンコードの速度に限って言えば最も実用的であり続けつつ、このモデルを作成するのに十分であることが分かっている。
[0049] 図5は、各ビデオ・ストリームのGOPに対して動的解像度決定を行うために、MBRビデオ・エンコーディング・エンジンが実行するプロセス500を示す。プロセス500は、エンコーディング結果の3つのサンプル点を得ることから開始する(動作510)。MBRエンコーディング・エンジンは、解像度および量子化ステップ・サイズのパラメータの組み合わせを3つ用いてセグメントまたはGOPをエンコードするように、ビデオ・エンコーダー200を制御する。ビデオに望ましい表示解像度に基づいて、初期サンプル解像度を選択することができる。初期サンプル量子化ステップ・サイズを、ビデオ・エンコーダーによって用いられる特定のコデック規格に応じて選択することができる。例えば、SMPTE421−Mビデオ・コデックの場合、初期サンプル量子化ステップ・サイズは、4に選択するとよい。ビデオ・エンコーダーがH.264規格を用いる場合、しかるべき初期サンプル量子化ステップ・サイズは28にするとよい。しかしながら、他の初期サンプル量子化ステップ・サイズおよび解像度を代わりに選択することもできる。
[0050] 例示したモデルでは、MBRビデオ・エンコーディング・エンジンは、初期サンプル解像度および量子化ステップ・サイズの対(R,Q)に対して、そして初期サンプル解像度の1/4(即ち、(R/4,Q))で、更に初期サンプル量子化ステップ・サイズの2倍(即ち、(R,Q 2)でエンコーディングを実行する。あるいは、サンプル点には、半分の解像度、4倍の量子化ステップ・サイズ等というように、他のパラメータ対を用いることもできる。MBRビデオ・エンコーディング・エンジンは、3つの解像度および量子化ステップ・サイズ・パラメータ対を用いてビデオ・ストリームのGOPをエンコードした結果得られたエンコード・ビット・サイズ(S,S,およびS)を観察する。
[0051] 次の動作511において、MBRエンジンは2つの線型モデルを作成する。即ち、量子化ステップ・サイズとエンコード処理後サイズ(encoded size)との間の関係について1つのモデル(図4ではグラフQSと記されている)、および解像度とエンコード処理後サイズとの間の関係について1つのモデル(グラフRS)である。量子化ステップ・サイズとエンコード処理後サイズとの間の関係は、解像度を一定に保ちながら量子化ステップ・サイズを変化させたときの2つのサンプル点から得られたエンコード処理後サイズによって決定され、一方、解像度とエンコード処理後サイズの間の関係は、逆に、量子化ステップ・サイズを一定にしておいて解像度を変化させたときの2つのサンプル点から決定される。
[0052] 動作512において、MBRエンジンは、エンコード処理後サイズの量子化ステップ・サイズに対する関係を用いて、所望のビット・レートに対応するエンコード処理後サイズが得られる量子化ステップ・サイズを求める。これは、ビデオ・ストリームのGOPに対して目標ビット・レートを生ずるべき最大サンプリング解像度Rにおいてモデリングされた結果の量子化ステップ・サイズ(Qp’と記す)となる。
[0053] MBRエンジンは、次に、モデル化量子化ステップ・サイズを、経験的に決定した閾値(広いビデオ・コンテンツにわたってビデオ・テクスチャーを測定する実験から決定された)と比較する。モデル化された結果の量子化ステップ・サイズがこの閾値よりも小さい場合、MBRエンジンは、動作514において、最大サンプル解像度およびモデル化された結果の量子化ステップ・サイズ、即ち、(R,Q’)を用いることを決定する。
[0054] 更に具体的には、MBRエンジンは、入力ビデオ・コンテンツについて分析フェーズ(先に論じた)の間に行われたフレーム毎のテクスチャー測定に基づいて、しかるべき量子化ステップ閾値を決定する。MBRエンジンは、GOPにおける全てのフレームについてのフレーム・テクスチャー測定値の平均を取ることによって、GOPに対するテクスチャー測定値を計算する。これによって、GOP全域テクスチャー、GOP水平テクスチャー、およびGOP垂直テクスチャー測定値が得られる。これらの内、GOP全域テクスチャー測定値は、ビデオ解像度を変更すべきときを制御する量子化ステップ・サイズ閾値を決定する。広い範囲のビデオ・コンテンツ(スポーツ、テレビジョン、ムービー等を含む)にわたる実験結果から、12に等しいQの量子化ステップ・サイズ閾値(SMPTE 421M規格によるビデオ・エンコーディングに対して)が、典型的なGOP全域テクスチャー測定値を有するビデオに適していることが分かっている。言い換えると、モデル化された結果の量子化ステップ・サイズQ’が12よりも大きい場合、MBRエンコーダーは、もっと小さいQでエンコードするために、もっと低いビデオ解像度に変更しなければならない。しかしながら、実施態様の一例では、MBRエンコーダーは、更に、ビデオに対する総体的な全域テクスチャー測定値に応じた解像度変更 (resizing)のための量子化ステップ・サイズ閾値も変化させることができる。MBRエンコーダーは、全域テクスチャーと解像度変更のための量子化ステップ・サイズ閾値との間における線形関係を作成している。低い総体的全域テクスチャーを有するビデオ程、より低い量子化ステップ・サイズ閾値が推測される。これによって、MBRエンコーダーは、多数の滑らかな領域(これらの領域を更に低い解像度に変更すると、アーチファクトを発生しなくなることが多い)を有するビデオ・コンテンツのビデオ解像度を低下させる際に、一層積極的になることができる。一方、高い全域テクスチャーを有するビデオでは、MBRエンコーダーは、解像度変更のために更に高い量子化ステップ・サイズ閾値を推測する。このように閾値を高くする程、MBRエンコーダーは、多数の詳細を有するフレームのビデオ解像度を低下させる際に、これらのフレームの詳細な領域の平滑化を回避しようとして、一層慎重になる。代替実施態様では、他のビデオ・エンコーディング規格と共に用いるため、またはビデオ解像度を変更する際に所望の積極/慎重度を達成するためというようなことのために、量子化ステップ・サイズ閾値を他の量子化ステップ・サイズにおいて作成することができる。
[0055] 一方、動作515において、モデル化された結果が、ビデオ・テクスチャーによって定められた閾値よりも大きい場合、MBRエンジンは、エンコード処理後サイズと解像度との間の関係(グラフRS)を代わりに用いて、ビデオ・ストリームの目標ビット・レートに対応するエンコード処理後サイズが得られるモデル化結果解像度(R’)を求める。
[0056] MBRエンジンは、更に、GOP平均水平および垂直テクスチャー測定値を用いて、ビデオ解像度を各方向にどの位変更すべきか制御する。MBRエンジンは、GOP水平および垂直テクスチャー測定値の比率を計算する。一旦解像度を変更すると判断したなら(動作514)、MBRエンジンはグラフRSの関係にしたがって特定の解像度変更量(resize amount)を計算する。例えば、MBRエンジンは、初期解像度の半分だけ変更することを決定する場合もある。次いで、MBRエンジンは、GOP水平および垂直テクスチャー測定値の比率に基づいて、垂直および水平方向にどのように解像度変更量を分配すべきか決定する。具体的には、水平および垂直テクスチャー測定値間に大きな不一致または差(delta)がある場合(即ち、比が1でない場合)、MBRエンジンは、詳細が多い方向よりも詳細が少ない方向により多くの変更を適用するように、解像度変更を分配する。例えば、比が2である場合、MBRエンジンは、垂直方向の解像度変更を水平方向の2倍にする。一方、GOPに対する水平および垂直テクスチャー測定値間の差が小さい(比が1に近い)場合、MBRエンジンはこれらの方向間において等しく解像度を変更する。
[0057] 次に、動作516において、MBRエンジンは量子化ステップ・サイズとエンコード処理後サイズとの間の関係(グラフQS)、および解像度とエンコード処理後サイズとの関係(グラフRS)、更にはそれぞれのビデオ・ストリームの目標ビット・レートを用いて、特定の目標ビット・レートに対する解像度と量子化ステップ・サイズとの間の関係(図4の左上に示すグラフQR)を作成する。
[0058] 動作517において、MBRエンジンは次に動作516において作成した関係(グラフQR)を用いて、動作515において決定したモデル化結果解像度R’に対する量子化ステップ・サイズのモデル化した結果(Q’)を求める。次に、MBRエンジンは、このビデオ・ストリームのこのGOPを、モデル化結果量子化ステップ・サイズおよび解像度(R’, Q’)でエンコードすることを決定する。
[0059] この動的解像度手法を用いることによって、MBRエンコーディング・システムは、複雑さが少ないビデオ・セグメント(またはGOP)程大きなエンコーディング解像度を割り当てて、より多くの視覚的詳細を維持することができる。一方、複雑さが多いビデオ・セグメント(またはGOP)程、小さな解像度を割り当てて、視覚的アーチファクトを低減する。この手法は、多ビット・レート・ストリーミングにはより良い視覚的体験を与えることが分かっている。
V.代表的なコンピューティング環境
[0060] 図6は、記載した実施形態、技法、および技術を実現することができる、適したコンピューティング環境600の一般化した例を示す。コンピューティング環境600は、本技術の使用範囲や機能に関して何の限定をも示唆することは意図していない。何故なら、本技術は多様な汎用または特殊目的コンピューティング環境においても実現できるからである。例えば、開示した技術は、ハンド・ヘルド・デバイス、マルチプロセッサー・システム、マイクロプロセッサーに基づくまたはプログラマブルな消費者用電子機器、ネットワークPC、ミニコンピューター、メインフレーム・コンピューター等を含む、他のコンピューター・システム構成でも実現することができる。また、開示した技術は、分散型コンピューティング環境においても実施することができ、この場合、通信ネットワークによってリンクされたリモート処理デバイスによってタスクが実行される。分散型コンピューティング環境では、プログラム・モジュールをローカルおよびリモート双方のメモリー記憶デバイスに位置付けることができる。
[0061] 図6を参照すると、コンピューティング環境600は、少なくとも1つの中央演算装置610とメモリー620とを含む。先に論じたマルチ・コア動き情報事前計算のために、コンピューターは複数のCPUコアを有するマルチ・コアCPUを含む。図6では、この最も基本的な構成630が、破線の内部に含まれている。中央演算装置610は、コンピューター実行可能命令を実行し、実在のプロセッサーであってもまたは仮想プロセッサーであってもよい。マルチ処理システムでは、多数の演算装置がコンピューター実行可能命令を実行することによって、処理パワーを増大させ、したがって、多数のプロセッサーが同時に実行することができる。メモリー620は、揮発性メモリー(例えば、レジスター、キャッシュ、RAM)、不揮発性メモリー(例えば、ROM、EEPROM、フラッシュ・メモリー等)、またはこれら2つの何らかの組み合わせとすることができる。メモリー620は、例えば、本明細書において記載した技術を実現することができるソフトウェア680を格納する。コンピューティング環境は、更に別の機構を有することもある。例えば、コンピューティング環境600は、ストレージ640、1つ又は複数の入力デバイス650、1つ又は複数の出力デバイス660、および1つ又は複数の通信接続670を含む。バス、コントローラー、またはネットワークのような相互接続メカニズム(図示せず)が、コンピューティング環境600のコンピューターを相互接続する。通例、オペレーティング・システム・ソフトウェア(図示せず)が、コンピューティング環境600において実行する他のソフトウェアに合わせて動作環境を提供し、コンピューティング環境600のコンポーネントの動作(activities)を調整する。
[0062] ストレージ640は、リムーバブルまたは非リムーバブルであってもよく、磁気ディスク、磁気テープまたはカセット、CD−ROM、CD−RW、DVD、あるいは情報を格納するために用いることができ、コンピューティング環境600内でアクセスすることができるのであれば他のいずれの媒体でも含む。ストレージ640は、本明細書において記載した技術を実現することができるソフトウェア680の命令を格納する。
[0063] 入力デバイス(1つまたは複数)650は、キーボード、キーパッド、マウス、ペン、またはトラックボールのような接触入力デバイス、音声入力デバイス、走査デバイス、またはコンピューティング環境600に入力を供給するその他のデバイスとすることができる。オーディオについては、入力デバイス(1つまたは複数)650は、サウンド・カード、あるいはオーディオ入力をアナログまたはデジタル形態で受け入れる同様のデバイス、あるいはオーディオ・サンプルをコンピューティング環境600に供給するCD−ROMリーダーとすることができる。出力デバイス(1つまたは複数)660は、ディスプレイ、プリンター、スピーカー、CD−ライター、またはコンピューティング環境600からの出力を供給するその他のデバイスとすることができる。
[0064] 通信接続(1つまたは複数)670は、通信媒体(例えば、接続ネットワーク)を通じた他のコンピューティングエンティティとの通信を可能にする。通信媒体は、コンピューター実行可能命令、圧縮グラフィクス情報、または変調データ信号の中にある他のデータというような情報を伝える。
[0065] コンピューター読み取り可能媒体は、コンピューティング環境700内部においてアクセスすることができる利用可能なあらゆる媒体である。一例として、そして限定ではなく、コンピューティング環境600では、コンピューター読み取り可能媒体はメモリー620、ストレージ640、通信媒体、および以上の内のいずれかの組み合わせを含む。容易に理解できてしかるべきであるが、コンピューター読み取り可能記憶媒体という用語は、メモリー620およびストレージ640のようなデータ記憶媒体や、変調データ信号のような単純でない伝送媒体を含む。
[0066] 本明細書において記載した方法は、そのいずれも、1つ又は複数のコンピューター読み取り可能媒体(例えば、ストレージまたは他の有形媒体)を通じて実行することができ、このような方法を実行する(例えば、コンピューティング・デバイス、オーディオおよび/またはビデオ処理デバイス、あるいはコンピューターに実行させる)コンピューター実行可能命令を備えている(例えば、有するまたは格納する)。動作は、完全自動、半自動とすることができ、または手作業の介入を伴うことができる。
[0067] 以上、本革新の原理について詳細な説明および添付図面において説明し図示したが、このような原理から逸脱することなく、種々の実施形態の構成および詳細を変更できることは認められよう。尚、本明細書において記載したプログラム、プロセス、または方法は、特に指示されていない限り、いずれの特定のタイプのコンピューティング環境にも関係付けられていないこと、または限定されないことは言うまでもない。様々なタイプの汎用または特殊コンピューティング環境を、本明細補において記載した教示と共に用いることができ、あるいはこれらのコンピューティング環境が、本明細書において記載した教示にしたがって動作を実行することもできる。ソフトウェアとして示した実施形態のエレメントをハードウェアで実現することもでき、その逆も可能である。
[0068] 本発明の原理を適用することができる数多くの実施形態があり得ることに鑑み、以下の特許請求の範囲およびその均等物の範囲および主旨に該当すると考えられる実施形態全てを、我々の発明として特許請求する。

Claims (14)

  1. 多ビット・レート・ビデオ・ストリーミング用の区分圧縮ビデオ・ストリームの可変ビット・レート・エンコーディングに合わせて入力ビデオを処理する方法であって、
    多ビット・レート・ビデオ・ストリーミングに合わせてエンコードすべき生のビデオ・コンテンツの入力を受けるステップと、
    ビデオ品質が最上位ビデオ・ストリームから最下位ビデオ・ストリームまでの範囲に及ぶ複数の圧縮ビデオ・ストリームとして、ピクチャー群から成るセグメントを単位として、前記生のビデオ・コンテンツをエンコードするステップと
    を備えており、前記エンコードするステップが、
    前記最上位ビデオ・ストリームについては、ピーク・ビット・レートおよび平均ビット・レートの制限を受ける可変ビット・レートで前記生のビデオ・コンテンツをエンコード
    前記最下位ビット・ストリームについては、単位時間当たりの一定ピクチャー数である一定チャンク・レートで前記生のビデオ・コンテンツをエンコード
    1つ又は複数の中間ビデオ・ストリームについては、可変ビット・レートで前記生のビデオ・コンテンツをエンコードする、
    テップと、
    前記ピクチャー群に区分された前記ビデオ・ストリームから、エンコードされた1組のビデオ・ストリームを生成するステップと、
    を備え
    前記最上位ビデオ・ストリームおよび中間ビデオ・ストリームの前記ピーク・ビット・レートおよび平均ビット・レートの制限が、徐々に減少する
    方法。
  2. 請求項1記載の方法において、前記最上位ビデオ・ストリームをエンコードする前記ステップが、指定された平均ビット・レートを目標とし、ピーク・ビット・レート未満であり続けるように制限された可変ビット・レート手法によってエンコードするステップを含む、方法。
  3. 請求項記載の方法であって、更に、
    最高および最低ビット・レート、ならびに多ビット・レート・ビデオ・ストリーミングに合わせてエンコードすべき圧縮ビデオ・ストリームの数を指定する入力を受けるステップと、
    前記最上位ビデオ・ストリームおよび中間ビデオ・ストリームのピーク・ビット・レートおよび平均ビット・レートを、徐々に低下するように選択するステップと、
    を備えている、方法。
  4. 請求項1記載の方法であって、更に、
    前記エンコードされたビデオ・ストリームのセグメントを、ネットワークを通じてクライアント・ビデオ再生デバイスに選択的にストリーミングするステップを備えており、ネットワーク状態に基づいて、クライアント側レート制御判断にしたがって、前記エンコードされたビデオ・ストリームの中から前記ストリーミングされるセグメントを選択する、
    方法。
  5. 多ビット・レート・ビデオ・ストリーミング用の区分圧縮ビデオ・ストリームの動的解像度エンコーディングに合わせて入力ビデオを処理する方法であって、
    多ビット・レート・ビデオ・ストリーミングに合わせてエンコードすべき生のビデオ・コンテンツの入力を受けるステップと、
    ビデオ品質が最上位ビデオ・ストリームから最下位ビデオ・ストリームまでの範囲に及ぶ複数の圧縮ビデオ・ストリームとして、ピクチャー群から成るセグメントを単位として、前記生のビデオ・コンテンツをエンコードするステップと
    を備えており、前記エンコードするステップが、
    エンコードすべきビデオ・ストリームのピクチャー群について、変化する解像度および量子化ステップ・サイズに合わせて少なくとも3つのエンコーディング・サンプルを得るステップと
    解像度、量子化ステップ・サイズ、および前記ピクチャー群をエンコードして結果的に得られるサイズを関係付けるモデルを作成するステップと
    前記ピクチャー群についてテクスチャー測定を行うステップと、
    前記テクスチャー測定に基づいて、解像度を変更するための量子化閾値を決定するステップと
    前記モデルおよび解像度変更用量子化閾値に基づいて、前記ピクチャー群をエンコードするためのビデオ解像度および量子化ステップ・サイズを動的に決定するステップと
    前記動的に決定したビデオ解像度および量子化ステップ・サイズを用いて、前記ピクチャー群をエンコードするステップと、
    を備えている、方法。
  6. 請求項記載の方法であって、更に、
    前記生のビデオ・コンテンツにおける場面変化を検出するステップを備えており、
    ビデオ解像度を動的に決定するステップが、ピクチャー群間における場面変化境界において、動的ビデオ解像度変更を適用する、方法。
  7. 請求項記載の方法において、前記モデルを作成するステップが、
    前記ピクチャー群の前記少なくとも3つのエンコーディング・サンプルの内少なくとも2つに基づいて、所与のビデオ解像度について、量子化ステップ・サイズのエンコード処理後サイズ(encoded size)に対する関係の線型モデルを作成するステップを含み、前記エンコード処理後サイズが、前記所与のビデオ解像度および変化する量子化ステップ・サイズでサンプリングされる、方法。
  8. 請求項記載の方法において、前記ビデオ解像度を動的に決定する前記ステップが、
    前記所与のビデオ解像度について量子化ステップ・サイズをエンコード処理後サイズに関係付ける前記作成した線型モデルにしたがって、前記所与のビデオ解像度でエンコードするときに、前記ピクチャー群の所望のビット・レートに対応するエンコード処理後サイズが得られる量子化ステップ・サイズを決定するステップと、
    前記決定した量子化ステップ・サイズを、解像度を変更するための前記量子化閾値と比較するステップと、
    前記比較が解像度の変更を示さない場合、前記所与のビデオ解像度および決定した量子化ステップ・サイズを用いて、前記ピクチャー群をエンコードすることを決定するステップと、
    そうでない場合、前記ピクチャー群をエンコードするための前記ビデオ解像度を変更することを決定するステップと、
    を含む、方法。
  9. 請求項記載の方法において、前記モデルを作成するステップが、更に、前記ピクチャー群の前記少なくとも3つのエンコーディング・サンプルの内少なくとも2つに基づいて、所与の量子化ステップ・サイズについてビデオ解像度のエンコード処理後サイズに対する関係の線型モデルを作成するステップを備えており、前記エンコード処理後サイズが、前記所与の量子化ステップ・サイズおよび変化するビデオ解像度でサンプリングされる、方法。
  10. 請求項記載の方法において、前記ビデオ解像度を動的に決定するステップが、
    前記ピクチャー群をエンコードするための前記ビデオ解像度を変更すべき場合、前記所与の量子化ステップ・サイズについてビデオ解像度をエンコード処理後サイズに関係付ける前記作成した線型モデルにしたがって、前記ピクチャー群の所望のビット・レートに対応するエンコード処理後サイズが得られる変更ビデオ解像度を決定するステップを含む、方法。
  11. 請求項10記載の方法において、前記ピクチャー群をエンコードするための前記ビデオ解像度を変更すべき場合、前記量子化ステップ・サイズを動的に決定するステップが、
    前記少なくとも3つのエンコーディング・サンプルに基づいて、前記ピクチャー群について量子化ステップ・サイズを前記所望のビット・レートにおける解像度に関係付ける線型モデルを作成するステップと、
    量子化ステップ・サイズを解像度に関係付ける前記線型モデルにしたがって、前記変更したビデオ解像度に対する前記量子化ステップ・サイズを決定するステップと、
    を備えている、方法。
  12. 多ビット・レート・ビデオ・ストリーム用に圧縮ビデオ・ストリームをエンコードするビデオ処理システムであって、
    エンコードすべき生のビデオ・コンテンツを格納するメモリーと
    複数の圧縮ビデオ・ストリームとして、ピクチャー群から成るセグメント単位に、可変ビット・レートおよび動的解像度手法を用いて、前記生のビデオ・コンテンツをエンコードするコンピューター処理手段と
    を備えており、前記コンピューター処理手段による前記エンコードが、
    前記生のビデオ・コンテンツを分析し、前記ビデオ・コンテンツにおける場面変化境界を判定し、ピクチャー群から成るセグメント単位で、前記場面変化境界間で前記ビデオ・コンテンツを分割し、前記セグメントのビデオ複雑度の測定値を判定し、
    前記ビデオ・ストリームをコード化するビット・レートを徐々に低下させる目標平均ビット・レートおよびピーク・ビット・レート制限を各々有する1つ又は複数のより高いビデオ・ストリームに、各セグメントの前記生ビデオ・コンテンツを可変ビット・レートでエンコーディングするため、ならびに各セグメントの前記生のビデオ・コンテンツを、一定チャンク・レートにおける最下位ビデオ・ストリームにエンコードするためのエンコーディング・パラメータを動的に決定し、前記エンコーディング・パラメータが、少なくともビデオ解像度を含み、
    前記動的に決定したエンコーディング・パラメータを用いて、前記より高いビデオ・ストリームおよび最下位ビデオ・ストリームをエンコードすることを含む、ビデオ処理システム。
  13. 請求項12記載のビデオ処理システムにおいて、前記コンピューター処理手段が、ビデオ・ストリーム・セグメントに対して前記ビデオ解像度を動的に決定する場合、
    変化する解像度および量子化ステップ・サイズに対して、セグメントをエンコードする少なくとも3つのサンプルを得て、
    量子化ステップ・サイズ、ビデオ解像度、およびエンコード処理後サイズの間における関係のモデルを作成し、
    前記作成したモデル、および前記セグメントのビデオ複雑度の測定値に基づいて、前記セグメントに対するビデオ解像度を決定する、ビデオ処理システム。
  14. 請求項12記載のビデオ処理システムであって、更に、前記コンピューター処理手段が、指定された数のビデオ・ストリームに対して、指定された最高および最低ビット・レート間で所望の数値分布を有するように、前記上位のビデオ・ストリームに対して自動的に前記ピーク・ビット・レートおよび平均ビット・レートを選択することを含む、ビデオ処理システム。
JP2011548014A 2009-01-29 2010-01-12 適応ビデオ・ストリーミングのための可変ビット・レートおよび動的解像度を用いた多ビット・レート・ビデオ・エンコーディング Active JP5490146B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/362,420 2009-01-29
US12/362,420 US8396114B2 (en) 2009-01-29 2009-01-29 Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
PCT/US2010/020784 WO2010088030A2 (en) 2009-01-29 2010-01-12 Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming

Publications (3)

Publication Number Publication Date
JP2012516644A JP2012516644A (ja) 2012-07-19
JP2012516644A5 JP2012516644A5 (ja) 2013-02-21
JP5490146B2 true JP5490146B2 (ja) 2014-05-14

Family

ID=42354147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011548014A Active JP5490146B2 (ja) 2009-01-29 2010-01-12 適応ビデオ・ストリーミングのための可変ビット・レートおよび動的解像度を用いた多ビット・レート・ビデオ・エンコーディング

Country Status (14)

Country Link
US (1) US8396114B2 (ja)
EP (1) EP2382784B1 (ja)
JP (1) JP5490146B2 (ja)
KR (1) KR101643790B1 (ja)
CN (1) CN102301710B (ja)
AU (1) AU2010208597B2 (ja)
BR (1) BRPI1006824A2 (ja)
CA (1) CA2748373C (ja)
DK (1) DK2382784T3 (ja)
HK (1) HK1163405A1 (ja)
IL (1) IL213566A (ja)
MX (1) MX2011007372A (ja)
RU (1) RU2011131864A (ja)
WO (1) WO2010088030A2 (ja)

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
JP2005191933A (ja) * 2003-12-25 2005-07-14 Funai Electric Co Ltd 送信装置、送受信システム
WO2006127510A2 (en) * 2005-05-21 2006-11-30 Kula Media Group Media distribution over a network
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
FR2903556B1 (fr) * 2006-07-04 2008-10-03 Canon Kk Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes
US8233768B2 (en) 2007-11-16 2012-07-31 Divx, Llc Hierarchical and reduced index structures for multimedia files
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7860996B2 (en) 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
US8001260B2 (en) 2008-07-28 2011-08-16 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
KR101635876B1 (ko) 2009-01-07 2016-07-04 쏘닉 아이피, 아이엔씨. 온라인 콘텐츠를 위한 미디어 가이드의 단일, 공동 및 자동 생성
CA2759880C (en) * 2009-03-23 2013-09-24 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US8775658B2 (en) * 2009-03-27 2014-07-08 Wyse Technology L.L.C. Apparatus and method for transparent communication architecture in remote communication
US9083986B2 (en) * 2009-05-01 2015-07-14 Broadcom Corporation Method and system for adaptive rate video compression and transmission
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
US10003851B2 (en) * 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
JP5723888B2 (ja) 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
FR2954036B1 (fr) * 2009-12-11 2012-01-13 Thales Sa Procede et systeme pour la determination de parametres de codage sur des flux a resolution variable
US20120320966A1 (en) 2010-03-09 2012-12-20 Telegent Systems Inc. c/o M & C Corporate Services Limited Adaptive video decoding circuitry and techniques
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
EP2604031B1 (en) * 2010-08-10 2017-03-08 Google Technology Holdings LLC Method and apparatus for streaming media content using variable duration media segments
WO2012019621A1 (en) 2010-08-10 2012-02-16 Telefonaktiebolaget L M Ericsson (Publ) Session control for media stream transmission
WO2012047304A1 (en) * 2010-10-04 2012-04-12 Vidyo, Inc. Delay aware rate control in the context of hierarchical p picture coding
US9191284B2 (en) * 2010-10-28 2015-11-17 Avvasi Inc. Methods and apparatus for providing a media stream quality signal
US8689267B2 (en) * 2010-12-06 2014-04-01 Netflix, Inc. Variable bit video streams for adaptive streaming
US8997160B2 (en) 2010-12-06 2015-03-31 Netflix, Inc. Variable bit video streams for adaptive streaming
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
WO2012094171A1 (en) * 2011-01-05 2012-07-12 Divx, Llc. Adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9032450B2 (en) 2011-01-21 2015-05-12 Samsung Electronics Co., Ltd. Adaptive audio/video streams proxy
EP2668779A4 (en) * 2011-01-28 2015-07-22 Eye Io Llc ADAPTIVE CONTROL OF BITSTREAM ACCORDING TO SCENES
EP2668785A4 (en) 2011-01-28 2015-11-11 Eye Io Llc CODING VIDEO DATA STREAMS BASED ON A SCENE TYPE
BR112013020069A2 (pt) 2011-01-28 2016-10-25 Eye Io Llc codificador e métodos para conversão de cor baseada no modelo hvs
US8644383B2 (en) 2011-03-10 2014-02-04 Microsoft Corporation Mean absolute difference prediction for video encoding rate control
WO2012128743A1 (en) 2011-03-18 2012-09-27 Empire Technology Development Llc Scene-based variable compression
US9665646B1 (en) * 2011-04-13 2017-05-30 Flash Networks, Ltd Method and system for providing bit rate adaptaion to video files having metadata
JP6014972B2 (ja) * 2011-06-14 2016-10-26 株式会社ソシオネクスト 画像処理装置
GB2492538B (en) 2011-06-30 2014-06-04 Nds Ltd Distributing audio video content
EP2547062B1 (en) * 2011-07-14 2016-03-16 Nxp B.V. Media streaming with adaptation
US9319453B2 (en) * 2011-07-15 2016-04-19 Shmuel Ur User-controlled download duration time
US10045089B2 (en) * 2011-08-02 2018-08-07 Apple Inc. Selection of encoder and decoder for a video communications session
CN103081487B (zh) * 2011-08-10 2016-09-28 谷歌技术控股有限责任公司 用于使用可变持续时间媒体段流送媒体内容的方法和装置
US9137551B2 (en) 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
WO2013028565A1 (en) * 2011-08-19 2013-02-28 General Instrument Corporation Encoder-aided segmentation for adaptive streaming
WO2013033458A2 (en) 2011-08-30 2013-03-07 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US20130179588A1 (en) * 2011-09-21 2013-07-11 General Instrument Corporation Adaptive streaming to multicast and constrained-fidelity constant bit rate encoding
WO2013043919A1 (en) 2011-09-21 2013-03-28 General Instrument Corporation Constrained fidelity adaptive bitrate encoding systems and methods
US10412424B2 (en) * 2011-10-19 2019-09-10 Harmonic, Inc. Multi-channel variable bit-rate video compression
JP5988577B2 (ja) * 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
US8918908B2 (en) 2012-01-06 2014-12-23 Sonic Ip, Inc. Systems and methods for accessing digital content using electronic tickets and ticket tokens
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US9042441B2 (en) * 2012-04-25 2015-05-26 At&T Intellectual Property I, Lp Apparatus and method for media streaming
US9544587B2 (en) 2012-05-14 2017-01-10 Google Technology Holdings LLC Scalable video coding with enhanced base layer
US20130311859A1 (en) * 2012-05-18 2013-11-21 Barnesandnoble.Com Llc System and method for enabling execution of video files by readers of electronic publications
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US9571827B2 (en) * 2012-06-08 2017-02-14 Apple Inc. Techniques for adaptive video streaming
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
EP2680527A1 (en) * 2012-06-28 2014-01-01 Alcatel-Lucent Adaptive streaming aware node, encoder and client enabling smooth quality transition
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
RU2606064C2 (ru) * 2012-07-10 2017-01-10 Вид Скейл, Инк. Потоковая передача с управлением качеством
EP2875417B1 (en) 2012-07-18 2020-01-01 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US20140025710A1 (en) * 2012-07-23 2014-01-23 Espial Group Inc. Storage Optimizations for Multi-File Adaptive Bitrate Assets
US20140068097A1 (en) * 2012-08-31 2014-03-06 Samsung Electronics Co., Ltd. Device of controlling streaming of media, server, receiver and method of controlling thereof
CN104620235B (zh) 2012-09-07 2018-01-16 华为技术有限公司 用于自适应串流中的区段分界及识别的系统及方法
US9131251B2 (en) * 2012-09-20 2015-09-08 Google Technology Holdings LLC Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US8997254B2 (en) 2012-09-28 2015-03-31 Sonic Ip, Inc. Systems and methods for fast startup streaming of encrypted multimedia content
JP6077811B2 (ja) * 2012-10-04 2017-02-08 キヤノン株式会社 画像符号化装置、画像符号化方法およびプログラム
JPWO2014057896A1 (ja) * 2012-10-09 2016-09-05 シャープ株式会社 コンテンツ再生装置
US9699463B2 (en) * 2012-12-26 2017-07-04 Intel Corporation Constant quality video encoding
US9813325B2 (en) * 2012-12-27 2017-11-07 Comcast Cable Communications, Llc Information stream management
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US20150172340A1 (en) * 2013-01-11 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Technique for Operating Client and Server Devices in a Broadcast Communication Network
CN105052107B (zh) 2013-01-15 2019-04-12 华为技术有限公司 使用质量信息进行媒体内容自适应传输
CN105075273B (zh) 2013-02-27 2019-03-26 苹果公司 自适应流式传输技术
US9350990B2 (en) 2013-02-28 2016-05-24 Sonic Ip, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US10063921B2 (en) 2013-03-06 2018-08-28 Interdigital Patent Holdings, Inc. Power aware adaptation for video streaming
WO2014138331A2 (en) * 2013-03-06 2014-09-12 Interdigital Patent Holdings, Inc. Power aware adaptation for video streaming
CN105191329B (zh) * 2013-03-06 2018-10-19 交互数字专利控股公司 用于视频流的功率感知自适应
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US10110647B2 (en) * 2013-03-28 2018-10-23 Qualcomm Incorporated Method and apparatus for altering bandwidth consumption
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9544352B2 (en) * 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate
US9179159B2 (en) 2013-06-20 2015-11-03 Wowza Media Systems, LLC Distributed encoding of a video stream
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
EP3860130A1 (en) * 2013-08-16 2021-08-04 bitmovin GmbH Apparatus and method for constant quality optimization for adaptive streaming
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
JP6265724B2 (ja) * 2013-12-11 2018-01-24 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
EP2890075B1 (en) 2013-12-26 2016-12-14 Telefonica Digital España, S.L.U. A method and a system for smooth streaming of media content in a distributed content delivery network
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9699464B2 (en) * 2014-07-10 2017-07-04 Intel Corporation Adaptive bitrate streaming for wireless video
US20160073106A1 (en) * 2014-09-08 2016-03-10 Apple Inc. Techniques for adaptive video streaming
US9722903B2 (en) 2014-09-11 2017-08-01 At&T Intellectual Property I, L.P. Adaptive bit rate media streaming based on network conditions received via a network monitor
US10080019B2 (en) * 2014-09-19 2018-09-18 Intel Corporation Parallel encoding for wireless displays
US10135748B2 (en) * 2014-09-29 2018-11-20 Apple Inc. Switching between media streams
KR102263696B1 (ko) * 2015-03-20 2021-06-10 삼성전자주식회사 무선통신 시스템에서 데이터 송수신 방법 및 장치
US10271112B2 (en) * 2015-03-26 2019-04-23 Carnegie Mellon University System and method for dynamic adaptive video streaming using model predictive control
JP6482413B2 (ja) * 2015-07-01 2019-03-13 テレフオンアクチーボラゲット エルエム エリクソン(パブル) メディアストリーム伝送のためのセッション制御
CN104994379A (zh) * 2015-08-05 2015-10-21 中磊电子(苏州)有限公司 视频处理方法及视频处理装置
CN106688239B (zh) * 2015-08-25 2019-08-27 华为技术有限公司 视频下载方法、装置及系统
US9888052B2 (en) 2015-09-21 2018-02-06 Imagine Communications Corp. ABR allocation for statistical multiplexing
US10178143B2 (en) 2015-09-29 2019-01-08 International Business Machines Corporation Selecting bitrate to stream encoded media based on tagging of important media segments
FR3041850B1 (fr) * 2015-09-30 2018-05-25 Vogo Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop)
CN105306960B (zh) * 2015-10-18 2018-05-04 北京航空航天大学 一种用于传输高质量在线课程视频的动态自适应流系统
US10332534B2 (en) 2016-01-07 2019-06-25 Microsoft Technology Licensing, Llc Encoding an audio stream
US10356406B2 (en) * 2016-01-19 2019-07-16 Google Llc Real-time video encoder rate control using dynamic resolution switching
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
CN105847902A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 一种码流数据调度方法及服务器
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US20180063549A1 (en) * 2016-08-24 2018-03-01 Ati Technologies Ulc System and method for dynamically changing resolution based on content
CN106254873B (zh) * 2016-08-31 2020-04-03 广州市网星信息技术有限公司 一种视频编码方法及视频编码装置
US10264317B2 (en) * 2016-09-28 2019-04-16 T-Mobile Usa, Inc. Content access device geolocation verification
US20180176285A1 (en) * 2016-12-15 2018-06-21 The Directv Group, Inc. Enhanced transmission of media to client devices
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10601946B2 (en) * 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
US11153585B2 (en) 2017-02-23 2021-10-19 Netflix, Inc. Optimizing encoding operations when generating encoded versions of a media title
US11184621B2 (en) * 2017-02-23 2021-11-23 Netflix, Inc. Techniques for selecting resolutions for encoding different shot sequences
US11166034B2 (en) 2017-02-23 2021-11-02 Netflix, Inc. Comparing video encoders/decoders using shot-based encoding and a perceptual visual quality metric
US10742708B2 (en) 2017-02-23 2020-08-11 Netflix, Inc. Iterative techniques for generating multiple encoded versions of a media title
US10362080B2 (en) 2017-04-25 2019-07-23 At&T Intellectual Property I, L.P. Methods, systems, and devices for video streaming adaptation using control theoretic approach
CN109151470B (zh) 2017-06-28 2021-03-16 腾讯科技(深圳)有限公司 编码分辨率控制方法及终端
US10666992B2 (en) 2017-07-18 2020-05-26 Netflix, Inc. Encoding techniques for optimizing distortion and bitrate
US11006161B1 (en) * 2017-12-11 2021-05-11 Harmonic, Inc. Assistance metadata for production of dynamic Over-The-Top (OTT) adjustable bit rate (ABR) representations using On-The-Fly (OTF) transcoding
JP6612313B2 (ja) * 2017-12-20 2019-11-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) メディアストリーム伝送のためのセッション制御
CN108810064A (zh) * 2018-02-06 2018-11-13 吴敏 基于云服务器的远程控制平台
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
US11032345B2 (en) 2018-05-10 2021-06-08 Microsoft Technology Licensing, Llc Client side data stream processing
US10728180B2 (en) 2018-08-21 2020-07-28 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for adaptive bitrate streaming adaptation of variable bitrate encodings
US11388464B2 (en) * 2018-09-25 2022-07-12 Microsoft Technology Licensing, Llc Increasing video bit rates while maintaining video quality
US11729407B2 (en) 2018-10-29 2023-08-15 University Of Washington Saliency-based video compression systems and methods
US10735231B2 (en) 2018-12-19 2020-08-04 International Business Machines Corporation Demodulating modulated signals with artificial neural networks
US10778938B2 (en) * 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
WO2020167785A1 (en) 2019-02-11 2020-08-20 Bitmovin, Inc. Chunk-based prediction adaptation logic
CN109862019B (zh) * 2019-02-20 2021-10-22 联想(北京)有限公司 数据处理方法、装置以及系统
US10742992B1 (en) 2019-03-26 2020-08-11 Electronic Arts Inc. Video compression for video games
US10965945B2 (en) * 2019-03-29 2021-03-30 Bitmovin, Inc. Optimized multipass encoding
EP3742728B1 (en) * 2019-05-24 2022-09-21 Axis AB A method and bitrate controller for controlling output bitrate of a video encoder
CN110636389B (zh) * 2019-09-19 2021-11-09 深圳市梦网视讯有限公司 一种片源复杂度分析方法和系统
MX2022004068A (es) 2019-10-04 2022-07-13 Novi Digital Entertainment Private Ltd Sistemas y métodos para optimización dinámica de entrega de contenido en una red de comunicación inalámbrica.
US20210117480A1 (en) * 2019-10-18 2021-04-22 Nbcuniversal Media, Llc Artificial intelligence-assisted content source identification
CN111010576B (zh) * 2019-12-18 2021-04-27 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备
CN111327950B (zh) * 2020-03-05 2021-08-06 腾讯科技(深圳)有限公司 一种视频转码方法及装置
US11792408B2 (en) * 2020-03-30 2023-10-17 Alibaba Group Holding Limited Transcoder target bitrate prediction techniques
US11190826B1 (en) * 2020-06-25 2021-11-30 Disney Enterprises, Inc. Segment quality-guided adaptive stream creation
US20230266902A1 (en) * 2022-02-23 2023-08-24 Samsung Electronics Co., Ltd. Video stream encoding for computational storage device
WO2024029812A1 (ko) * 2022-08-01 2024-02-08 배태면 적응적 인코딩 파라메터 운용 방법 및 이를 지원하는 전자 장치

Family Cites Families (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2389277A1 (fr) 1977-04-29 1978-11-24 Ibm France Procede de quantification a allocation dynamique du taux de bits disponible, et dispositif de mise en oeuvre dudit procede
FR2412987A1 (fr) 1977-12-23 1979-07-20 Ibm France Procede de compression de donnees relatives au signal vocal et dispositif mettant en oeuvre ledit procede
DE3171990D1 (en) 1981-04-30 1985-10-03 Ibm Speech coding methods and apparatus for carrying out the method
JPH0556275A (ja) 1990-08-30 1993-03-05 Sharp Corp 画像符号化装置及び画像復号装置
US5436665A (en) 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
DE69322769T2 (de) 1992-03-03 1999-07-22 Toshiba Kawasaki Kk Koder für zeitveränderliche bilder
DE4211945C1 (ja) 1992-04-09 1993-05-19 Institut Fuer Rundfunktechnik Gmbh, 8000 Muenchen, De
JP3164647B2 (ja) * 1992-06-03 2001-05-08 株式会社東芝 動画像符号化方法及び装置
JP3508146B2 (ja) 1992-09-11 2004-03-22 ソニー株式会社 ディジタル信号符号化復号化装置、ディジタル信号符号化装置及びディジタル信号復号化装置
JP3185413B2 (ja) 1992-11-25 2001-07-09 ソニー株式会社 直交変換演算並びに逆直交変換演算方法及びその装置、ディジタル信号符号化及び/又は復号化装置
US5463424A (en) 1993-08-03 1995-10-31 Dolby Laboratories Licensing Corporation Multi-channel transmitter/receiver system providing matrix-decoding compatible signals
NL9301358A (nl) 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
US5537440A (en) 1994-01-07 1996-07-16 Motorola, Inc. Efficient transcoding device and method
US5515107A (en) 1994-03-30 1996-05-07 Sigma Designs, Incorporated Method of encoding a stream of motion picture data
US5541852A (en) 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5617142A (en) 1994-11-08 1997-04-01 General Instrument Corporation Of Delaware Method and apparatus for changing the compression level of a compressed digital signal
US5623424A (en) 1995-05-08 1997-04-22 Kabushiki Kaisha Toshiba Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US5835495A (en) 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
US5686964A (en) * 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5996022A (en) 1996-06-03 1999-11-30 Webtv Networks, Inc. Transcoding data in a proxy computer prior to transmitting the audio data to a client
SE515535C2 (sv) 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
JPH10229420A (ja) 1997-02-17 1998-08-25 Matsushita Electric Ind Co Ltd 通信システム
JP3736808B2 (ja) 1997-07-25 2006-01-18 ソニー株式会社 編集装置、編集方法、再符号化装置及び再符号化方法
US6192075B1 (en) 1997-08-21 2001-02-20 Stream Machine Company Single-pass variable bit-rate control for digital video coding
EP0909094A1 (en) 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
JPH11275592A (ja) 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6192154B1 (en) * 1998-01-26 2001-02-20 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
DE69815159T2 (de) * 1998-03-20 2004-04-08 Stmicroelectronics Asia Pacific Pte Ltd. Kodierung von bewegten bildern mit globaler konstanter bitrate
US6466623B1 (en) 1998-03-27 2002-10-15 Industrial Technology Research Institute Method and apparatus for motion estimation for high performance transcoding
JP4123567B2 (ja) 1998-04-30 2008-07-23 ソニー株式会社 画像信号処理装置及び方法
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
US6249288B1 (en) 1998-12-14 2001-06-19 Ati International Srl Multi thread display controller
US6434197B1 (en) 1999-01-07 2002-08-13 General Instrument Corporation Multi-functional transcoder for compressed bit streams
US6529552B1 (en) * 1999-02-16 2003-03-04 Packetvideo Corporation Method and a device for transmission of a variable bit-rate compressed video bitstream over constant and variable capacity networks
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6463414B1 (en) 1999-04-12 2002-10-08 Conexant Systems, Inc. Conference bridge processing of speech in a packet network environment
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6426977B1 (en) 1999-06-04 2002-07-30 Atlantic Aerospace Electronics Corporation System and method for applying and removing Gaussian covering functions
US7315815B1 (en) 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6300973B1 (en) 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US6574279B1 (en) 2000-02-02 2003-06-03 Mitsubishi Electric Research Laboratories, Inc. Video transcoding using syntactic and semantic clues
US6522693B1 (en) 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6404814B1 (en) 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US7206016B2 (en) 2000-05-01 2007-04-17 Polycom, Inc. Filtering artifacts from multi-threaded video
US6650705B1 (en) 2000-05-26 2003-11-18 Mitsubishi Electric Research Laboratories Inc. Method for encoding and transcoding multiple video objects with variable temporal resolution
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
KR100341063B1 (ko) 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
US20040125877A1 (en) 2000-07-17 2004-07-01 Shin-Fu Chang Method and system for indexing and content-based adaptive streaming of digital video content
US6963347B1 (en) 2000-08-04 2005-11-08 Ati International, Srl Vertex data processing with multiple threads of execution
GB2366464A (en) 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
US6934334B2 (en) 2000-10-02 2005-08-23 Kabushiki Kaisha Toshiba Method of transcoding encoded video data and apparatus which transcodes encoded video data
EP1329109A2 (en) * 2000-10-10 2003-07-23 Koninklijke Philips Electronics N.V. Video bitrate control method and device for digital video recording
US7039116B1 (en) 2000-11-07 2006-05-02 Cisco Technology, Inc. Methods and apparatus for embedding and format conversion of compressed video data
US6741648B2 (en) * 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
JP2002152752A (ja) 2000-11-13 2002-05-24 Sony Corp 画像情報変換装置及び方法
US7058127B2 (en) 2000-12-27 2006-06-06 International Business Machines Corporation Method and system for video transcoding
US20020136298A1 (en) 2001-01-18 2002-09-26 Chandrashekhara Anantharamu System and method for adaptive streaming of predictive coded video data
US7099116B1 (en) * 2001-01-24 2006-08-29 Magnecomp Corporation Disk drive suspension with second spring function
JP4203707B2 (ja) 2001-01-31 2009-01-07 日本電気株式会社 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。
US20040117427A1 (en) 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
FR2823049B1 (fr) * 2001-03-29 2003-06-06 Nextream Sa Procede et dispositif de controle de la qualite de donnees video
US20030028386A1 (en) 2001-04-02 2003-02-06 Zinser Richard L. Compressed domain universal transcoder
US6925501B2 (en) 2001-04-17 2005-08-02 General Instrument Corporation Multi-rate transcoder for digital streams
JP4038996B2 (ja) 2001-04-27 2008-01-30 松下電器産業株式会社 信号処理装置および信号処理方法
US6757648B2 (en) 2001-06-28 2004-06-29 Microsoft Corporation Techniques for quantization of spectral data in transcoding
JP4574090B2 (ja) 2001-09-21 2010-11-04 三菱電機株式会社 動画データ変換装置および動画データ変換プログラム
US6504494B1 (en) 2001-11-06 2003-01-07 Motorola, Inc. Software, method and apparatus for rate controlled image compression
US7027982B2 (en) 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7319720B2 (en) 2002-01-28 2008-01-15 Microsoft Corporation Stereoscopic video
JP2003259307A (ja) * 2002-03-06 2003-09-12 Ricoh Co Ltd 録音録画システム、録音録画方法、録音録画/再生システム、及び記録媒体
US7034897B2 (en) 2002-04-01 2006-04-25 Broadcom Corporation Method of operating a video decoding system
JP4193406B2 (ja) 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
US20030206597A1 (en) 2002-04-19 2003-11-06 Droplet Technology, Inc. System, method and computer program product for image and video transcoding
JP4275358B2 (ja) 2002-06-11 2009-06-10 株式会社日立製作所 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
KR100484148B1 (ko) 2002-07-27 2005-04-18 삼성전자주식회사 개선된 비트율 제어 방법과 그 장치
US6944224B2 (en) 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
AU2003267076A1 (en) * 2002-09-10 2004-04-30 Thomson Licensing S.A. Video on demand server system and method
US7292634B2 (en) 2002-09-24 2007-11-06 Matsushita Electric Industrial Co., Ltd. Image coding method and apparatus
US7336720B2 (en) 2002-09-27 2008-02-26 Vanguard Software Solutions, Inc. Real-time video coding/decoding
US20040136457A1 (en) 2002-10-23 2004-07-15 John Funnell Method and system for supercompression of compressed digital video
US6961377B2 (en) 2002-10-28 2005-11-01 Scopus Network Technologies Ltd. Transcoder system for compressed digital video bitstreams
US7318027B2 (en) 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
US7142601B2 (en) 2003-04-14 2006-11-28 Mitsubishi Electric Research Laboratories, Inc. Transcoding compressed videos to reducing resolution videos
JP4196726B2 (ja) 2003-05-14 2008-12-17 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
US7373004B2 (en) * 2003-05-23 2008-05-13 Silicon Integrated Systems Corp. Apparatus for constant quality rate control in video compression and target bit allocator thereof
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US7343291B2 (en) 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7627039B2 (en) 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US7295612B2 (en) 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
US7535959B2 (en) 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US7346106B1 (en) * 2003-12-30 2008-03-18 Apple Inc. Robust multi-pass variable bit rate encoding
US7460990B2 (en) 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7352808B2 (en) * 2004-01-29 2008-04-01 International Business Machines Corporation System and method for the dynamic resolution change for video encoding
US7869503B2 (en) 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
JP4095559B2 (ja) 2004-02-13 2008-06-04 株式会社東芝 H.264コーデックic、dvd再生装置、h.264コーデック方法
JP4072859B2 (ja) 2004-03-03 2008-04-09 Kddi株式会社 ビデオ情報再符号化装置
KR100586883B1 (ko) * 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
EP1730649A2 (en) 2004-03-05 2006-12-13 Vanu, Inc. Controlling jitter effects
EP1578131A1 (en) 2004-03-18 2005-09-21 STMicroelectronics S.r.l. Encoding/decoding methods and systems, computer program products therefor
US20050232497A1 (en) 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
CN100592793C (zh) 2004-05-12 2010-02-24 皇家飞利浦电子股份有限公司 用于广播的可缩放视频编码
US20060002479A1 (en) 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
US20060114995A1 (en) 2004-12-01 2006-06-01 Joshua Robey Method and system for high speed video encoding using parallel encoders
US7440626B2 (en) 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
US20060126744A1 (en) 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
US20060126726A1 (en) 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards
JP4501676B2 (ja) 2004-12-22 2010-07-14 日本電気株式会社 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム
EP1839446A1 (en) 2005-01-19 2007-10-03 THOMSON Licensing Method and apparatus for real time parallel encoding
US7694075B1 (en) 2005-03-09 2010-04-06 Globalfoundries Inc. System for enabling and disabling cache and a method thereof
US9197912B2 (en) 2005-03-10 2015-11-24 Qualcomm Incorporated Content classification for multimedia processing
US20060215754A1 (en) 2005-03-24 2006-09-28 Intel Corporation Method and apparatus for performing video decoding in a multi-thread environment
US7920633B2 (en) 2005-04-22 2011-04-05 Broadcom Corporation Method and system for parallel processing video data
US8902989B2 (en) 2005-04-27 2014-12-02 Broadcom Corporation Decoder system for decoding multi-standard encoded video
US20060245491A1 (en) 2005-04-28 2006-11-02 Mehrban Jam Method and circuit for transcoding transform data
US7974341B2 (en) 2005-05-03 2011-07-05 Qualcomm, Incorporated Rate control for multi-layer video design
JP2007036666A (ja) 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
US7979885B2 (en) * 2005-08-11 2011-07-12 Harmonic Inc. Real time bit rate switching for internet protocol television
US8447121B2 (en) 2005-09-14 2013-05-21 Microsoft Corporation Efficient integrated digital video transcoding
US8446954B2 (en) 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US7885341B2 (en) 2005-10-21 2011-02-08 Cisco Technology, Inc. Spatial filtering for improving compression efficiency of motion compensated interframe coding
KR100719900B1 (ko) * 2005-11-11 2007-05-18 한국기계연구원 농축 플라즈마 방식 배출입자 처리장치
US7843995B2 (en) 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US8130841B2 (en) 2005-12-29 2012-03-06 Harris Corporation Method and apparatus for compression of a video signal
US8792555B2 (en) * 2006-01-31 2014-07-29 Qualcomm Incorporated Methods and systems for resizing multimedia content
US7643422B1 (en) * 2006-03-24 2010-01-05 Hewlett-Packard Development Company, L.P. Dynamic trans-framing and trans-rating for interactive playback control
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7773672B2 (en) 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US8311102B2 (en) 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8265157B2 (en) 2007-02-07 2012-09-11 Lsi Corporation Motion vector refinement for MPEG-2 to H.264 video transcoding
US8571027B2 (en) 2007-04-18 2013-10-29 At&T Intellectual Property I, L.P. System and method for multi-rate video delivery using multicast stream
JP4650454B2 (ja) * 2007-06-04 2011-03-16 ソニー株式会社 符号化装置及び符号化方法
US20090003452A1 (en) 2007-06-29 2009-01-01 The Hong Kong University Of Science And Technology Wyner-ziv successive refinement video compression
US7756817B2 (en) 2007-07-05 2010-07-13 Yahoo! Inc. System and method for enabling parallel access to serially compressed files
US20090112982A1 (en) * 2007-10-24 2009-04-30 Wireless Services Corp. Automatic management of associations between users
US20090110060A1 (en) 2007-10-30 2009-04-30 Mauricio Cortes Method and apparatus for performing lower complexity multiple bit rate video encoding using metadata
US8121187B2 (en) 2007-12-05 2012-02-21 Alcatel Lucent Method and apparatus for performing multiple bit rate video encoding and video stream switching
US8417187B2 (en) 2008-01-07 2013-04-09 Apple Inc. Methods and apparatus for wireless device coexistence
US8165204B2 (en) 2008-02-29 2012-04-24 Michael Bronstein Resource allocation for frame-based controller
CN101534436B (zh) 2008-03-11 2011-02-02 深圳市融创天下科技发展有限公司 一种视频图像宏块级自适应码率分配方法
US20090244633A1 (en) 2008-03-31 2009-10-01 Konica Minolta Systems Laboratory, Inc. Systems and Methods for Color Data Compression
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US20100086048A1 (en) 2008-10-03 2010-04-08 Faisal Ishtiaq System and Method for Video Image Processing
US20100091888A1 (en) 2008-10-13 2010-04-15 General Instrument Corporation Multi-Rate Encoder with GOP Alignment
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
EP2425624A2 (en) 2009-05-01 2012-03-07 Thomson Licensing 3d video coding formats
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US9762898B2 (en) 2010-02-01 2017-09-12 Kelly Y Kishore Method and system for parallelizing video compression
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures

Also Published As

Publication number Publication date
KR20110106419A (ko) 2011-09-28
EP2382784A4 (en) 2014-01-22
US8396114B2 (en) 2013-03-12
WO2010088030A2 (en) 2010-08-05
EP2382784B1 (en) 2015-04-29
DK2382784T3 (en) 2015-07-06
RU2011131864A (ru) 2013-02-10
AU2010208597B2 (en) 2014-05-15
KR101643790B1 (ko) 2016-07-28
MX2011007372A (es) 2011-08-08
US20100189183A1 (en) 2010-07-29
CN102301710B (zh) 2013-03-13
IL213566A0 (en) 2011-07-31
BRPI1006824A2 (pt) 2016-04-12
AU2010208597A1 (en) 2011-07-14
HK1163405A1 (en) 2012-09-07
CA2748373A1 (en) 2010-08-05
WO2010088030A3 (en) 2010-10-21
EP2382784A2 (en) 2011-11-02
IL213566A (en) 2015-02-26
CA2748373C (en) 2016-07-05
CN102301710A (zh) 2011-12-28
JP2012516644A (ja) 2012-07-19

Similar Documents

Publication Publication Date Title
JP5490146B2 (ja) 適応ビデオ・ストリーミングのための可変ビット・レートおよび動的解像度を用いた多ビット・レート・ビデオ・エンコーディング
US8270473B2 (en) Motion based dynamic resolution multiple bit rate video encoding
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
JP5410549B2 (ja) 事前計算動き情報を用いたビデオ・エンコード
TWI511544B (zh) 用於可調適視訊串流之技術
Chen et al. Recent advances in rate control for video coding
JP5427785B2 (ja) ビデオ圧縮技法及びビデオ伝達技法
WO2016039956A1 (en) Techniques for adaptive video streaming
EP2410752B1 (en) Image coding apparatus, image coding control method and image coding program
KR20090046812A (ko) 비디오 압축 방법
RU2587412C2 (ru) Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования
KR20230053243A (ko) 분산형 병렬 인코딩 방법 및 장치
Overmeire et al. Constant quality video coding using video content analysis
JP2007300557A (ja) 画像符号化装置及び画像符号化方法
Amirpour et al. EVCA: Enhanced Video Complexity Analyzer
EP2373028A1 (en) Video coding estimation
KR20160096754A (ko) 계층적 비디오 코딩의 시간 확장성을 활용한 전력 관리 방법 및 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5490146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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