JP5410566B2 - マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール - Google Patents

マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール Download PDF

Info

Publication number
JP5410566B2
JP5410566B2 JP2012100459A JP2012100459A JP5410566B2 JP 5410566 B2 JP5410566 B2 JP 5410566B2 JP 2012100459 A JP2012100459 A JP 2012100459A JP 2012100459 A JP2012100459 A JP 2012100459A JP 5410566 B2 JP5410566 B2 JP 5410566B2
Authority
JP
Japan
Prior art keywords
picture
encoder
encoded
pass
fullness
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
JP2012100459A
Other languages
English (en)
Other versions
JP2012182816A (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 JP2012182816A publication Critical patent/JP2012182816A/ja
Application granted granted Critical
Publication of JP5410566B2 publication Critical patent/JP5410566B2/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Description

発明の背景
規格H.264が以下に特別に参照されるけれども、記載された思想や原理は特定のビデオコーディング規格に依存するものではなく、規格MPEG−2、規格ISO MPEG−4part10、規格AVC、又は、最近の規格SMPTE VC−1にとって等しく有効である。
映像圧縮部門においては、特にテレビジョン放送やビデオ会議のようなリアルタイム用途において、ビデオエンコードの効率を永続的に改善する絶え間ない要求が存在する。最近の規格ITU−T H.264は、この効率改善要求に合致するように設計されているが、それに応じてアルゴリズムの複雑さが増す犠牲を伴う。例えば、H.264は同じ画質を得るためにMPEG−2ビデオストリームのビットレートの約半分を必要とするが、一方、H.264エンコーダの実装の複雑さはMPEG−2エンコーダに比べて桁違いに大きくなる。
典型的な例では、一連のピクチュアからなる非圧縮ビデオストリームがビデオエンコーダによって受信され、そして、ビデオエンコーダはビデオシーケンス内の各ピクチュアのエンコードされたバージョンを生成し、それによって、非圧縮ビデオストリームのエンコードされたバージョンを生成する。そして、エンコードされたビデオストリームは固定ビットレート(CBR)チャンネル上でビデオデコーダに送信され、そして、ビデオデコーダは、エンコードされたビデオストリームをデコードし、それによって、元の非圧縮ビデオストリームから理論上見た目に区別の付かない非圧縮ビデオストリームを生成する。
エンコーダがビデオシーケンスのピクチュアの圧縮されたバージョンを生成するために用いるビットが増えれば増えるほど、そのピクチュアの圧縮されたバージョンをCBRチャンネル上で送信するにはより時間がかかってしまう。デコーダにおいて、エンコードされたピクチュアが受信されたときには、それらのピクチュアはデコーダのバッファにロードされてデコードのために待機する。エンコードされたピクチュアの各ビットは、到着した順に順次デコーダのバッファにロードされるが、ピクチュアのデコード時点において、全てのビットがバッファから同時に取り除かれる。
上記の単純化されたモデルにおいて、特定の期間に亘って、デコーダのバッファは、変動する数のピクチュアに対応して一定数のビットを受け取る。同じ期間に亘って、デコーダは、変動する数のビットに対応してデコーダのバッファから一定数のピクチュアを取り除く。その期間内においてエンコーダが比較的に大規模なピクチュアを数多く送信している場合には、その期間内において受信されるピクチュアの数は比較的に小さいものとなる。デコーダのバッファが新たなピクチュアを受け取るよりも早いレートでピクチュアを取り除くことがあるので、このことはデコーダのバッファを空にするか、又は、アンダーフローにしてしまう。反対に、その期間内においてエンコーダのバッファが比較的に小規模のピクチュアを数多く受信している場合には、その期間内において受信されるピクチュアの数は比較的に大きいものとなる。デコーダのバッファがピクチュアを取り除くよりも早いレートで新たなピクチュアを受け取ることがあるので、このことはデコーダのバッファをオーバーフローにしてしまう。アンダーフローもオーバーフローもデコーダによって生成された非圧縮ビデオストリームを崩壊させることがあり、したがって、アンダーフローもオーバーフローも生じることがないようにすべきである。よって、ビデオエンコーダがエンコードされたビデオストリームを生成している間に、ビデオエンコーダが下流のデコーダのバッファのフルネスを注視していることが重要である。しかし、デコーダはエンコーダと通信することができず、したがって、デコーダのバッファの実際のフルネスはエンコードにとって利用できない。このために、H.264のような圧縮ビデオ規格は、仮想参照デコーダ(HRD)を規定し、ビデオエンコーダは、一般的に仮想バッファと呼ばれる、HRDの符号化されたピクチュアバッファの数学的モデルを保持している。仮想バッファが決してアンダーフロー/オーバーフローしないとしたら、デコーダのバッファは反対に決してオーバーフロー/アンダーフローをするものではない。そして、エンコーダはエンコードされたビデオストリームを調整して、ビデオストリームのピクチュアのエンコードされたバージョンのサイズを合わせてセーフレベルで仮想バッファのフルネスを維持することによって、下流のデコーダバッファのアンダーフロー又はオーバーフローを回避することができる。
より新しく、計算上より複雑な、映像符号化規格の計算要件に合致するために、並行処理を用いるマルチプロセッサ設計が実装されている。例えば、ある一つのプロセッサがIピクチュアとPピクチュアをエンコードするために指定され、そして、残りのプロセッサがBピクチュアをエンコードするために指定されっている。I又はPピクチュアをエンコードするためよりもBピクチュアをエンコードするにはより多くの計算サイクルが必要であり、一般的に所定のビデオストリームにはIピクチュアとPピクチュアに比べて相当多くのBピクチュアが存在するので、より多くのプロセッサがBピクチュアのエンコードに使用される。話を単純にするために、この例において、他はH.264規格が適用されるけれども、基準のピクチュアとしてBピクチュアが用いられないものと仮定する。以下のgroup of picture(GOP)構造記述において、下付の数字はデコード(エンコード)順を表している。すなわち、
0231564897111210141513・・・
表1は、上記GOPの各ピクチュアがマルチプロセッサエンコーダにおいてどのように配分されるのかを単純化された形で表示している。表1において、各タイムスロットuは、3つのピクチュアのためのリアルタイムでの表示期間を表しており、入力がNTSCビデオであった場合、各タイムスロットは3003/30000秒間の期間を有する。
Figure 0005410566
表1に示すように、プロセッサ1は、IピクチュアとPピクチュアを含む全ての基準ピクチュアをエンコードするために用いられる。プロセッサ2、3、4、5は、Bピクチュアをエンコードするために用いられる。このように、表示された例にとっては、処理パイプラインがはじめに充填された後で、少なくとも2つタイムスロットのパイプライン遅延が存在する。各Bピクチュアが2つのタイムスロットに割り当てられるが、I又はPピクチュアはそれぞれ1つのタイムスロットに割り当てられることに特に言及する。全て必要な基準ピクチュアのエンコードが完了するとすぐに、参照するBピクチュアのエンコードが並列的に始まる。例えば、ピクチュアP4のエンコードが終了するとすぐに、ピクチュアB5とB6のエンコードがそれぞれプロセッサ4と5において並列的に始まる。プロセッサ1は、その他のプロセッサに活動に関わらず、I又はPピクチュアのエンコードを継続する。表1の最下行は、エンコードされた各ピクチュアがエンコード順に利用可能なので、それらを示している。表1は簡略化された例である。実際は、非圧縮ピクチュアの受信やピクチュアのエンコードや再構成されたピクチュアの送信や再構成されたピクチュアの受信や必要な遅延などの、もっと多くの活動が考えられる。しかし、それらの詳細は本例にとって不可欠のものではないので、それらは省略される。
ビデオエンコーダの重要なタスクは、エンコードされたビデオストリームの所望の画質とビデオストリームが送信されているチャンネルのビットレート制限とデコーダのバッファのフルネスのセーフレベルを維持することとの間の適切なバランスを見いだすことである。エンコーダのレートコントロールアルゴリズムは、仮想バッファのフルネスと個々のピクチュアの相対的な複雑さを用いて、ビデオストリームの各ピクチュアに対する適切なビット割り当てを算出する。シーケンシャルエンコーディングにおいては、レートコントロールアルゴリズムが、後続のピクチュアのエンコードが始まる前において各ピクチュアのエンコードの完了時点で仮想バッファのフルネスをチェックする。パイプラインパラレルエンコーダの場合、仮想バッファのフルネスは、複数ピクチュアの同時及び非シーケンシャルエンコーディングによって引き起こされたパイプライン遅延のためにレートコントロールアルゴリズムにとって必ずしも直ぐに利用されるものではない。パイプラインパラレルエンコーダの全てのプロセッサが互いに独立して作動するので、「後続のピクチュア」の概念は「ある一定の遅延の後に続くピクチュア」に置き換えねばならず、その遅延の間に、いくつかの別のピクチュアがエンコードされて、仮想バッファのフルネスを変更する。例えば、レートコントロールアルゴリズムは、シーケンシャルなエンコード順に従って、ピクチュアB6のエンコードの完了後ピクチュアP7のエンコードの前に仮想バッファのフルネスをチェックする。ピクチュアB6とP7のエンコードが同時に始まりピクチュアP7のエンコードがピクチュアB6のエンコードの終了前に完了するので、このことは上記のパラレルエンコーダにとって不可能である。したがって、レートコントロールアルゴリズムは、現時点の値を単純にチェックするよりも、未来のある時点で仮想バッファのフルネスを予測する必要がある。レートコントロールアルゴリズムの条件を複雑にするパラレルエンコーダについての関連する問題は、充填ビットの潜在的な必要性である。エンコーダは、仮想バッファが空になるか又はそうなる危険性があるときに、エンコードされたビデオストリームに充填ビットを挿入する必要がある。シーケンシャルエンコーダのレートコントロールアルゴリズムは、ピクチュアのエンコードが完了すると直ぐに、どれくらいの数のビットを充填するのかが正確に分かる。しかし、パラレルエンコーダのレートコントロールアルゴリズムは、前記のパイプライン遅延による仮想バッファの真のフルネスの正確な測定が利用不可能であるために、別の方法で必要な数の充填ビットを算出する必要がある。パラレルレートコントロールアルゴリズムの別の要件は、いくつかのピクチュアに対するいくつかのビットレートターゲットを同時に決定する能力である。表1に示すように、例えば、タイムスロット4の始めにおいて、パラレルレートコントロールアルゴリズムはピクチュアP7とB5とB6のビットレートターゲットを決定する必要がある。
シングルパスエンコーディングに比べデュアルパスエンコーディングの方がより高度の符号化効率を提供することは画像圧縮部門において広く知られている。しかし、効率の改善は、デュアルパスアーチテクチュアと共に二つのパイプラインエンコーダを用いることによる比較的に大きなコストに勝るものではないので、デュアルパスエンコーディングは必ずしも実際の解決にはつながらない。
図1に関連して、シーケンシャルデュアルパスエンコーダ1は、非エンコードビデオストリームを入力として受信し、エンコードされたシングルプログラムトランスポートストリーム(SPTS)を(用途に応じて、変動ビットレート(VBR)又は固定ビットレート(CBR)の何れかで送信することが可能な)出力として送信するが、第1パスエンコーダ2と第2パスエンコーダ3と保管及び遅延ユニット4を具備する。第1パスエンコーダ2は第2パスエンコーダ3と比較して割合単純である。例えば、第1パスエンコーダ2への入力は、ダウンサンプリングされ、そして、第2パスエンコーダ3の入力に比較される。第1パスエンコーダ2と保管及び遅延ユニット4は、非エンコードビデオストリームを入力として受信する。保管及び遅延ユニット4は、ビデオストリームをバッファに保管する、一方、簡単な第1パスエンコーダ2はビデオストリームの各ピクチュアの複雑さの情報を算出する。そして、ビデオストリームの各ピクチュアと対応する複雑系統計は、第2パスエンコーダ3に送られる。第2パスエンコーダ3は、第1パスエンコーダ2によって生成されたその複雑さの情報を用いて、入力ビデオストリームのエンコードされたバージョンを生成する。入力において、より複雑なエンコーダの代わりに簡単な第1パスエンコーダ2を用いることによって、実装コストが抑えられて複雑なシングルパスエンコーダのそれに近づく。しかし、第1と第2のパスエンコーダの実装の相違のために、第1パスエンコーダ2によって生成されたその複雑さの情報は、比較的に複雑な第2パスエンコーダ3にとって正に望ましい情報ではない。
この欠陥にもかかわらず、第1パスエンコーディングにおけるピクチュアの複雑さ推定と第2パスエンコーディングにおけるピクチュアの複雑さ推定の間には相関関係が存在する。多くの場合、第1パスエンコーダ2にとって比較的に複雑/単純であるピクチュア又はGOPは、また、第2パスエンコーダ3にとっても比較的に複雑/単純である。複雑系統計は、エラーに耐えられる状態で、一層各ピクチュアとマクロブロック(MB)の間の重要な関係を示している。したがって、複雑なシングルパスコーディングと比較して、デュアルパスエンコーダは、若干高価な実装コストのみを有するも画像符号化効率において優れている。
発明の要約
本発明の第1の側面に関連して、ビデオシーケンスを構成する一連のピクチュア群のうちのピクチュアのエンコードされたバージョンを生成するときに使用すべき好適な数のビットに対応するターゲットサイズを決定することによってマルチプロセッサビデオエンコーダを作動する方法であって、(イ)第1の時点で符号化されたピクチュアのバッファの第1のフルネスの程度を算出する工程と、(ロ)前記第1のフルネスの程度に作用して、第2の時点で前記符号化されたピクチュアのバッファの想定された第2のフルネスの程度に戻す工程と、(ハ)前記第2のフルネスの程度に作用して、前記ピクチュアの当初のターゲットサイズに戻す工程とからなり、前記第1の時点が、前記符号化されたピクチュアのバッファの正確なフルネスの程度が算出できるもっとも近接する時点に対応していると共に、前記第2の時点が前記第1の時点の後に生じる方法が提供される。
本発明の第2の側面に関連して、ビデオシーケンスのピクチュアをエンコードするマルチプロセッサビデオエンコーダを生成する方法であって、(イ)前記ピクチュアを受信する工程と、(ロ)第1の時点で符号化されたピクチュアのバッファの第1のフルネスの程度を算出する工程と、(ハ)前記第1のフルネスの程度に作用して、第2の時点で前記符号化されたピクチュアのバッファの第2のフルネスの程度に戻す工程と、(ニ)ある時間の間、その時間の前記ピクチュアを保管する工程と、(ホ)前記ピクチュアの複雑さの第1の程度を測定する工程と、(へ)前記ピクチュアの複雑さの第1の程度と前記第2のフルネスの程度に作用して、前記ピクチュアの好適なターゲットサイズに戻す工程と、(ト)工程(ニ)に引き続き、前記ピクチュアと前記好適なターゲットサイズを前記マルチプロセッサビデオエンコーダに提供する工程とからなり、前記第1の時点が、前記符号化されたピクチュアのバッファの正確なフルネスの程度が算出できるもっとも近接する時点に対応していると共に、前記第2の時点が前記第1の時点の後に生じる方法が提供される。
本発明の第3の側面に関連して、一連のピクチュアのうち単独のピクチュアを構成する一連のマクロブロックのうちの所定のマクロブロックをエンコードする時に使用する量子化パラメータの値を決定する方法であって、(イ)第1の時点で符号化されたピクチュアのバッファの第1のフルネスを推定する工程と、(ロ)前記一連のマクロブロックのうち、前記所定のマクロブロックに先行するマクロブロックの複雑さの累積単位を決定する工程と、(ハ)前記第1のフルネスの程度と前記複雑さの累積単位とターゲットビット数に作用して、第2の時点で前記符号化されたピクチュアのバッファの第2のフルネスの程度に戻す工程と、(ニ)前記第2のフルネスの程度に作用して、前記量子化パラメータの値に戻す工程とからなり、前記ターゲットビット数が、前記単一のピクチュアのエンコードされたバージョンを発生するときに前記一連のマクロブロックを分割するビット数に対応していると共に、前記第2の時点が前記第1の時点の後に生じる方法が提供される。
本発明の第4の側面に関連して、ビデオシーケンスのうち単独のピクチュアを構成する一連のマクロブロックの各マクロブロックをエンコードする時に使用する量子化パラメータの値を算出する方法であって、(イ)第1の時点で符号化されたピクチュアのバッファの第1のフルネスの程度を推定する工程と、(ロ)前記単独のピクチュアのエンコードされたバージョンのターゲットサイズを決定する工程と、(ハ)前記一連のマクロブロックの各マクロブロックに対して、(ハ―1)前記一連のマクロブロックのうち、先行するマクロブロックの複雑さの累積された程度を決定することと、(ハ―2)前記第1のフルネスの程度と前記複雑さの累積された程度と前記ターゲットサイズに作用して、第2の時点で前記符号化されたピクチュアのバッファの第2のフルネスの程度に戻すことと、(ハ―3)前記第2のフルネスの程度に作用して、前記所定のマクロブロックをエンコードするときに使用する量子化パラメータの値に戻すことを行う工程とからなり、前記ターゲットサイズが、前記単一のピクチュアのエンコードされたバージョンを発生するときに前記一連のマクロブロックを分割すべきビット数に対応しており、所定のマクロブロックのエンコードされたバージョンのビットサイズが前記マクロブロックをエンコードするときに用いる量子化パラメータの値の関数であり、前記第2の時点が前記第1の時点の後に生じる方法が提供される。
本発明の第5の側面に関連して、マルチプロセッサエンコーダにより、並列に、複数のピクチュアをエンコードするのに先立ち、未来のある時点において、符号化されたピクチュアのバッファのフルネスの程度を推定することによって前記マルチプロセッサエンコーダを操作する方法であって、
第1のビデオエンコード手順を用いて複数のピクチュアのエンコードされたバージョンを表わすのに必要なビット数を予測する工程と、
前記将来の時点に先行する第1の時点で符号化されたピクチュアのフルネスの程度を算出する工程と、
以前にエンコードされた複数のピクチュアのエンコードされたバージョンを表わすのに必要な以前に予測されたビット数を以前にエンコードされた複数のピクチュアを表わすのに必要な実際のビット数を比較することによって、不整合項を生成する工程と、
第1の時点で符号化されたピクチュアの算出されたフルネスの程度と前記第1のピクチュアのエンコードされたバージョンを表わすのに必要な予測されたビット数と前記不整合項を組み合わせて前記将来の時点で符号化されたピクチュアの推定されたフルネスの程度に戻る工程を具備し、
前記将来の時点が前記第1のピクチュアのエンコードされたバージョンが符号化されたピクチュアにロードされる時点に対応すると共に、前記第1の時点が符号化されたピクチュアのフルネスの程度が正確に算出される最も近接する時点を現している方法が提供される。
本発明の第6の側面に関連して、符号化されたピクチュアのバッファのアンダーフローを防ぐようにマルチプロセッサビデオエンコーダを操作する方法であって、第1のビット数を用いてビデオシーケンスのピクチュアをエンコードする工程と、ある時間の間前記ピクチュアのエンコードされたバージョンを保管する工程と、符号化されたピクチュアのバッファのフルネスの程度を算出する工程と、符号化されたピクチュアのバッファにアンダーフローの危険があるか否かを判定する工程と、符号化されたピクチュアのバッファがアンダーフローする危険性が存在する場合には、符号化されたピクチュアのバッファがもはやアンダーフローする危険性のないようなレベルに前記符号化されたピクチュアのバッファのフルネスを増やすのに必要な充填ビットの数を算出する工程と、前記数の充填ビットを前記ピクチュアのエンコードされたバージョンに付加して、それによって、第2のビット数まで前記ピクチュアのエンコードされたバージョンのサイズを増やす工程と、前記ピクチュアのエンコードされたバージョンを送信する工程を具備する方法が提供される。
本発明の第7の側面に関連して、複数のデュアルパスマルチプロセッサシングルチャンネルエンコーダを有するマルチチャンネルビデオエンコーダであって、各シングルチャンネルエンコーダが共通のビデオクロックを共有し第1のパスエンコーダと第2のパスエンコーダを有するものを操作する方法であって、複数のデュアルパスマルチプロセッサシングルチャンネルエンコーダのそれぞれが、複数の一連のピクチュアと組み込まれたビデオクロックを含む、単独の非エンコードプログラムビデオストリームを受信し、前記単独の非エンコードプログラムビデオストリームのコピーを生成し、前記単独の非エンコードプログラムビデオストリームを保管し、前記コピーの組み込まれたビデオクロックを修正してそれを共通のビデオクロックに同期させ、前記コピーに対して第1のパスエンコードを実施して、該コピーの複雑系統計を行う工程と、複雑系統計を行うことによって、それぞれの前記単独の非エンコードプログラムビデオストリームのピクチュアの好適なサイズを判定する工程と、前記複数のデュアルパスマルチプロセッサシングルチャンネルエンコーダのそれぞれが、入力として前記好適なターゲットサイズを用いて、前記単独の非エンコードプログラムビデオストリームに対し第2のパスエンコードを実施して、エンコードされた単独のプログラムビデオストリームを生成し、複数のエンコードされた単独のプログラムビデオストリームを互いに積算してマルチプログラムトランスポートストリームとし、そのマルチプログラムトランスポートストリームを送信する工程を具備する方法が提供される。
デュアルパスエンコーダのブロック図である。 本発明の実施の形態であるシングルチャンネルエンコーダのブロック図である。 本発明の実施の形態であるデュアルパスエンコーダにおける第1のパスエンコーダと第2のパスエンコーダの間の関係を示すタイミング図である。 本発明の実施の形態であるマルチチャンネルエンコーダのブロック図である。 図3のマルチチャンネルエンコーダに使用される本発明の実施の形態であるシングルチャンネルエンコーダユニットのブロック図である。 二つの異なるやり方で、単独のピクチュアのマクロブロックへの分割を図示する単独のピクチュアの二つのバージョンの略図である。 累積された第1パス複雑度とマップされた累積第2パス複雑度との間の関係を示すグラフ群である。
好適な実施の形態の説明
詳細な説明
以下の本発明の実施の形態のそれぞれは、いずれか一つのビデオコード規格に特定されるものではない。しかし、この明細書に関して、エンコードするために、問題のビデオコード規格が個別のピクチュア又はフレームをマクロブロックに分割し、複数の一連のピクチュアを分割してピクチュア群(GOP)にするような従来の技術を利用しているものと仮定する。
図2に関連して、シングルチャンネルデュアルパスエンコーダ5は、入力として非エンコードビデオストリームINを受信し、そして、出力としてエンコードされたSPTS OUT(VBR又はCBR)を送信する。デュアルパスエンコーダ5は、マルチプロセッサアーキテクチュアを有し、低複雑性の第1パスエンコーダ8と高複雑性の第2パスエンコーダ12を具備する。第1パスエンコーダ8は、従来のシングルプロセッサエンコーダであり、第2パスエンコーダ12は、上記のようなパイプラインパラレルエンコーダであり、m個の処理ユニット16-x(x=1・・・m)を有する。ビデオストリームINの各ピクチュアjは、保管及び遅延ユニット20とデシメーションユニット24によって受信される。保管及び遅延ユニット20は、dピクチュアの深さと入力ストリームのピクチュア用の先読みウィンドウを具備するFIFO(first−in、first−out)型バッファとして作動する。
デシメーションユニット24は、決められた量だけビデオストリームINの各ピクチュアjの解像度を下げて、第1パスエンコーダ8の図示しない処理ユニットの計算上の複雑さを第2パス処理ユニット16-xのそれと比較して低くなるようにするために対応する低解像度バージョンjdを生成する。簡単な例として、デシメーションユニット24がビデオストリームINの解像度を水平方向と垂直方向の両方向において2分の一だけ下げるとすると、第1パスエンコーダ8の複雑さは第2パス処理ユニット16-xの複雑さの四分の一しか必要でなくなるので、したがって、単独のピクチュアをエンコードするのにデュアルパスエンコーダ5にとって必要なトータルな計算上の複雑さはシングルパスエンコーダよりも約25%大きい。
デシメートされたビデオストリームが第1パスエンコーダ8に入力され、そこで、第1パスエンコーダ8に実装された従来のエンコードプロセスの過程において、ピクチュアレベル及びマクロブロックレベルの複雑系統計が各デシメートされたピクチュアjdに対して計算される。複雑系統計が使用されて、各デシメートされたピクチュアjdに対して複雑度cjとマクロブロックからマクロブロックまでの累積された複雑度を生成する。これら複雑系統計と複雑度は、下記の先読みウィンドウに記憶される。第2パスエンコーダ12は、ビデオのピクチュアjを受信する。そして、このピクチュアjはエンコーディングのために処理ユニット16-xに割り当てられる。第2パスエンコーダのパラレル設計のために、表1に示された例と同様に各タイムスロットuの始めにおいて、複数のピクチュアが第2パスエンコーダにロードされうる。
デュアルパスエンコーダ5が図2に実線で囲まれているスタンドアローンシングルチャンネルエンコーダである場合、第2パスエンコーダ12もコントロールユニットとして作動することができる。それとは別に、別のマスタコントロールユニット28は、ピクチュアレベルレートコントロールアルゴリズムに対し、入力として、複雑度cjを用い、非デシメートピクチュアjのエンコードされたバージョンのサイズに対するターゲット値Tjを選択する。ピクチュアレベルレートコントロールアルゴリズムは、また、Tjを用いてタイムスロットuの終了時にデュアルパスエンコーダの仮想バッファのフルネスの推定値Buを算出する。ピクチュアレベルレートコントロールアルゴリズムは、第1パスエンコーダ8内に実装されうる。
従って、第1パスエンコーダ8とピクチュアレベルレートコントロールアルゴリズムは、各タイムスロットuの始めにおいて第2パスエンコーダ12に同時に複数のターゲット値を提供するほど十分に早いレートでデシメートされたピクチュアを処理することができなければならない。第2パスエンコーダ5は、Tjを用いて、ピクチュアjのエンコードされたバージョンを生成し、それがVBR又はCBRのSPTS OUTの一部としてデュアルパスエンコーダユニット5から出力される。
第2パスエンコーダ12は、移動平均ウィンドウ内においてエンコードされた各ピクチュアについての情報を一時的に記憶する。下記のように、レートコントロールアルゴリズムは、ピクチュアターゲットサイズを算出するときに先読みウィンドウと移動平均ウィンドウの双方に記憶されている情報を用いる。
シングルチャンネルエンコーダ5の出力がCBRビデオストリームである場合、エンコーダの仮想バッファのフルネスがマイナスにならないようにビットをエンコーダの仮想バッファに充填することが時には必要となる。パイプライン遅延の後まで仮想バッファのフルネスの真の値が利用できないので、正しい数の充填ビットが付加できるように、充填ビットインサーター30において圧縮された出力ストリームが少なくともp個のタイムスロットの間バッファされる。
次のビデオシーケンスは左(過去)から右(未来)に向かって表示順に示されている。下付数字は下記の表2に示すエンコード順を示している。
・・・B-5-4-6-2-1-312045378610119131412161715・・・
マイナスの下付数字は、以前にエンコードされたピクチュアであることを示す。
表2は、u=1から始まる一連のタイムスロットにおいて図2に示すマルチプロセッサエンコーダの作業を示している。表1の場合と同様に、表2も単純化されておりエンコード作業のみを示している。非圧縮ピクチュアを受信する作業、再構成されたピクチュアを送信する作業、再構成されたピクチュアを受信する作業、必要な遅延などの作業は、それらがレートコントロールアルゴリズムの例示にとって不可欠ではないので、割愛されている。
Figure 0005410566
図3は、デュアルパスエンコーダ5が表2の一部に示すビデオシーケンスをエンコードしている過程にあるときの第1パスエンコーダ8と第2パスエンコーダ12の間の時間関係を示している。カレントタイムスロット(u=1)の開始時点において、エンコーダのレートコントロールアルゴリズムは、先読みウィンドウに記憶された前もって得られた第1パスデータと移動平均ウィンドウに記憶された前もって得られた第2パスデータを利用して、ピクチュアI0,B-2,B-1のターゲットサイズを算出する。先読みウィンドウに記憶された第1のパスデータは、第2パスエンコーダによってカレントにエンコードされているピクチュアと第1のパスエンコーダ8によって以前にエンコーダされてはいるがまだ第2パスエンコーダ12に達していない後続のピクチュアに関連する。移動平均ウィンドウに記憶された第2パスデータは、最近第2パスエンコーダ12によってエンコードされたピクチュアに関連する。先読みウィンドウと移動平均ウィンドウのサイズが、そこに記憶されるピクチュアの数に関して、大きければ大きいほど、レートコントロールアルゴリズムが第2パスエンコーダによってエンコードされるピクチュアのターゲットサイズをより正確に算出することができる。
以下の記号と変数のリストは、シングルチャンネルエンコーダ用のピクチュアレベルレートコントロールアルゴリズムを記述するときの明確化のために提供される。
iは、シングルチャンネルエンコーダユニットのためのインデックスとして、そして、マルチチャンネルエンコーダのシングルチャンネルエンコーダユニット内の対応するビデオストリーム用のインデックスとして、使用される。上記の図2に図示された実施の形態において、iは指定されていない。
jは、ピクチュア番号用のインデックスとして使用される。ピクチュアは1から始まって次のピクチュア毎に1ずつ増えていくように番号付けされる。
uは、タイムスロット用のインデックスとして使用され、特には第2パスエンコーダに関連して使用される。タイムスロットは、1から始まって後続のタイムスロット毎に1ずつ増えていくように番号付けされている。
Uuは、タイムスロットuの間に第2パスエンコーダによってエンコードされたピクチュアの集合を示すために使用される。表2に示された例においては、U5={P12,B10,B11,B7,B8}である。
kは、集合Uuにおけるピクチュア用のインデックスとして使用される。集合Uuの所定のピクチュアkがビデオストリームに関して対応するインデックスjを有することに特に言及する。使用されるインデックスは、コンテクストに依存する。
|Bi|は、シングルチャンネルエンコーダの仮想バッファのビットサイズである。例えば、MPEG−2エンコーダにおいては、仮想バッファはVBVバッファであり、H.264エンコーダにおいては、仮想バッファは符号化ピクチュアバッファ(CPB)である。|Bi|が特定の規格によって許容された最大のサイズではないが、希望のビットレートに基づくビデオストリームiの実際の最大値であることに特に言及する。
i,uは、タイムスロットuにおける第2パスエンコーダの全てのピクチュアのエンコーディングの直前においてビデオストリームiのシングルチャンネルエンコーダの仮想バッファの推定フルネスである。
i,jは、第1パスエンコーダによってエンコードされたときの、ビデオストリームiからj番目のピクチュアのエンコードバージョンのビットサイズである。
i,jは、ビデオストリームiのピクチュアjのために第1パスエンコーダによって使用される量子化器である。
i,j=qi,ji,jは、第1パスエンコーダによって測定されたときのビデオストリームiのピクチュアjの複雑さを表す値である。Ci,jが第1パスエンコーダによって測定された後で、それは先読みウィンドウに記憶される。
Figure 0005410566
Figure 0005410566
Figure 0005410566
Figure 0005410566
Figure 0005410566
Figure 0005410566
Figure 0005410566
dは、保管及び遅延ユニットにおける先読みウィンドウの深さである。
pは、第2パスエンコーダのパイプラインの深さである。
uは、タイムスロットu−pからタイムスロットu―1までにエンコードされたピクチュアの数である。
Figure 0005410566
iは、出力ビデオストリームiにとってのピクチュア時間毎の総ターゲットビット数である。出力ビデオストリームiがCBRである場合には、Riは定数である。
σiは、シングルチャンネルエンコーダの仮想バッファのフルネスが調節されるスピードにとっての感度因子である。それは以下に説明される。
Figure 0005410566
i,jは、ビデオストリームiのピクチュアjの調節されたターゲットサイズである。
uは、タイムスロットu−pからタイムスロットu―1までにエンコードされたピクチュアの総ビットレートターゲットの集合である。
Figure 0005410566
Figure 0005410566
ΩIPBは、wi,jの算出に使用される重み付け因子である。
i,kは、先読みウィンドウ内の全てのピクチュアの重み付けされた第1パス複雑度の総和である。総和Si,kは、(第2パスエンコーダよって予めエンコードされたピクチュアに関連する)移動平均ウィンドウとは異なる第1パスエンコーダの先読みウィンドウに亘って実施されることに特に言及する。
Nは、移動平均ウィンドウ内のピクチュアの数である。NI・・・NP,NBは、同様の定義を有する。
ピクチュアレベルレートコントロールアルゴリズムは、各ピクチュアkからk+(d−1)の第1パスエンコーディングから先読みウィンドウに記憶されたデータと移動平均ウィンドウに記憶された、第2パスエンコーダによって前もってエンコードされていた他のピクチュアからの第2パスデータを用いて、タイムスロットuの始めに第2パスエンコーダに入る各ピクチュアkに対する当初のターゲットビット数を算出する。当初のターゲット数は、式1によって算出される。
Figure 0005410566
重み付けwi,kは、ビデオストリームiの移動平均ウィンドウ内のピクチュアに関する以前の第1パス複雑度と以前の第2パス複雑度の関数である。図2に示されたもののようなパイプライン実装において、エンコーディングのまだ終えていないピクチュアの第2パス複雑さは利用することができないことに特に言及する。
Figure 0005410566
それらは、全て一般式を有する。
Figure 0005410566
Figure 0005410566
Figure 0005410566
Figure 0005410566
Figure 0005410566
Iが移動平均ウィンドウ内のIタイプのピクチュアの数であるけれども、スタート
アップ時に、はじめのp+d個のピクチュアに対しては第2パス複雑度が利用できず、したがって、wikは第2パスピクチュアとデシメートされた第1パスピクチュアの複雑さの間が一定の比率となることに特に言及する。
Figure 0005410566
Figure 0005410566
であり、ここで、I_set‘=I_set―{K0}である。P_set及びB_setに関して適切な定義を有するPピクチュア及びBピクチュアに対しても同じ式が存在する。

Figure 0005410566
Figure 0005410566
ここで、dは、先読みウィンドウのサイズを表している。複雑比wi,ki,k/Si,kは、集合Uuの他のピクチュアの近似された第2パス複雑度に比較した、ピクチュアkの近似された第2パス複雑度の測定値を表す。
ピクチュアレベルレートコントロールアルゴリズムがビデオストリームiのピクチュアkのエンコードされたバージョンに対してTi,kの適切な値を選択するために、該アルゴリズムはエンコーダの仮想バッファの現状のフルネスを明らかにする必要がある。
Figure 0005410566
従って、従前のタイムスロットからの情報に基づいて、推測された仮想バッファのフルネスBi,uが、式1の実際の仮想バッファのフルネスに代って使用される。
Figure 0005410566
定義により、Vuとeuは、タイムスロット(u−p)からタイムスロット(u−1)までにおけるターゲットとピクチュアに関連する。式6は、大部分、各種の圧縮規格において定義された仮想バッファのフルネス計算に対応しているが、以前の計算よりもむしろ仮想バッファのフルネスの以前の推定を使用する。
Figure 0005410566
Figure 0005410566
所定のピクチュアの相対的な複雑性又は所定のタイムスロットにおけるバッファのフルネスにかかわらず、非マイナスのビット数が各ピクチュアに割り振られなければならない。所定のピクチュアkの相対的な複雑性が決してマイナスとはならないので、式1の考察から、以下のような関係がピクチュアkに対して真でなければならないということになる。
Figure 0005410566
演算において、不整合項mi,u-1は、比較的に小さく、式8に対して十分な効果を有するものではない。従って、式8を解析するために、不整合項mi,u-1は無視されうる。式8によって定義されたルールは、仮想バッファが満杯である時、Bi,u=|Bi|の時,に破られる最も大きな危険性があり、結果的に、
Figure 0005410566
となる。
当初のターゲットビット割り当てを非マイナスにするように単純に要求するよりはむしろ、本発明のより複雑な実施の形態は、最小のビット割り当て値εi,kを割り当てるが、それは、ピクチュアkのピクチュアタイプに関して、どのようなビデオコード規格が第2パスエンコーダによって実現されたとしても必要な最小のビット数に比例する。
従って、式9は、
Figure 0005410566
のように書き換えられる。
ピクチュア特性とは独立してピクチュアレベルレートコントロールアルゴリズムによってピクチュアからピクチュアに調整されうる式10の成分がσi,kのみであり、σi,kの適切なピクチュアタイプ依存値はσi,kについて式10を解決することによって見つけることが可能である。
Figure 0005410566
Figure 0005410566
従って、当初のターゲットビット割り当ては、最小ビット数と比較され、より大きな数がピクチュアkに対して最終ビット割り当てTi,kとして使用される。例として、H.264の場合、
Figure 0005410566
であるが、ここで、αi,kはビットレート及び規格依存の重み付けであり、Iタイプ,Pタイプ,Bタイプのピクチュアに対して参照テーブルによって表される。
Figure 0005410566
図2に関連して、上記のピクチュアレベルレートコントロールアルゴリズムを利用することによって、シングルチャンネルエンコーダ5のコントロールユニットは、十分な精度を有して第2パスエンコーダの仮想バッファのフルネスを予測することができ、第2パスエンコーダのパラレルアーキテクチュアに固有のパイプライン遅延にかかわらず、ピクチュアレベルレートコントロールアルゴリズムが各ピクチュアに対してビット数を割り当てることが可能である。
図2の実線で示されたエンコーダは、シングルチャンネルエンコーダであり、従って、インデックスiは指定されない。図4に図示され、そして、図2に点線で示された本発明の他の実施の形態において、n個のシングルチャンネルエンコーダ5−i(i=1...n)は、マルチチャンネルエンコーダ32内に配置される。マルチチャンネルエンコーダ32は、入力としてn個の非エンコードビデオストリームIN−i(i=1...n)を受信し、そして、n個のSPTSである出力OUT−i(i=1...n)を所望の可変ビットレートでそれぞれ送信する。必要であれば、異なるビデオコードグ規格がチャンネル毎に使用されうる。エンコーダ32は、マスタコントロールユニット28と、各ビデオストリームiの各ピクチュアjに関連して、第1パス複雑値ci,jが、デュアルパスエンコーダ5−iからマスタコントロールユニット28に送信される。ci,jが受信された時点で、マスタコントロールユニット28は、ターゲット値Ti,jを算出し、このターゲット値をデュアルパスエンコーダ5−iに送り返す。ターゲット値Ti,jを受信した後で、デュアルパスエンコーダ5−iはピクチュアjをエンコードしてそのエンコードされたバージョンを出力OUT−iの一部として送信する。そして、SPTSである出力OUT−iは、マルチチャンネルエンコーダ32から送信される。図3の図示された実施の形態のためのピクチュアレベルレートコントロールアルゴリズムは、i=1・・・nであること除いて、上記のピクチュアレベルレートコントロールアルゴリズムと同じである。
図3において点線で示された本発明の他の実施の形態において、n個のSPTSである出力OUT−iは、マルチプレクサユニット36によって一緒に統計的に多重送信されて総計固定ビットレート(CBR)を有するシングルのマルチプログラムトランスポートストリーム(MPTS)M_OUTを形成する可変ビットレートストリームである。出力M_OUTが、図示しない、下流のマルチチャンネルデコーダに送られ、そこで、M_OUTがバッファに保存され、デマルチプレックスされ、そして、デコードされる。n個の入力ビデオストリームが大規模なマルチチャンネルデコーダバッファに結局全て一緒に保存されるので、マルチチャンネルエンコーダはn個のシングルチャンネルエンコーダすべてにとって共有する仮想バッファモデルを使用し、そして、ピクチュアレベルレートコントロールアルゴリズムは、n個のビデオストリームに対して集団的にジョイントターゲットビット割り当て操作を実行しなければならない。上記の実施の形態におけるのと同様に、出力OUT−iは、異なるビデオコーディング規格を用いてエンコードされうる。図4に関連して、シングルチャンネルエンコーダの出力ストリームOUT−iが多重送信されてCBR MPTSになるようにしている場合において、第1パスエンコーダ8への入力は、デシメーションユニット24と第1パスエンコーダ8の間に配設された対応する時間ベースコレクタ(TBC)ユニット40によって、時間ベースに共通のビデオクロックに対して訂正される。レートコントロールアルゴリズムは、n個のビデオストリームが共通のクロックに対して同期されない限り、n個全てのビデオストリームに対してジョイントターゲットビットレート割り当てを正確に行うことはできない。しかし、第2パスエンコーダ12の入力に対してビデオストリームを同様に同期することは必要ではない。第2パスエンコーダ12に入力されている訂正されていないクロックが第1パスエンコーダ8に入力する訂正されたクロックとはるかにずれているとき、時には2つのピクチュアシーケンスの間に矛盾が生じることもある。このような矛盾は、第2パスエンコーダの入力に関し第1パスエンコーダの入力からピクチュアの脱落となるか、又は、その逆となる。第2パスエンコーダ28は、容易にこのような矛盾を処理する。前者の場合、同じピクチュアタイプの以前のピクチュアをエンコードするのに使用されるパラメータは、現状のピクチュアをエンコードするために使用される。後者の場合、第2パスエンコーダ28は単純に現状のピクチュアを無視する。
充填ビットを用いてシングルチャンネルエンコーダのCBR出力に埋め込む場合と同様に、マルチチャンネルエンコーダのMPTS出力に埋め込んでエンコーダの共有仮想バッファのフルネスがマイナスにならないようにすることも時には必要である。充填ビットの代わりに、ヌルトランスポートストリームパケットがシングルチャンネルエンコーディングのために上記と同様の方法で挿入されるが、その差は、n個のSPTSが一緒に多重送信された後で挿入が起こることである。マルチプレクサ36から出力された後で、出力M_OUTはマルチチャンネルヌルパケットインサータ46によって受信される。圧縮された出力ストリームが少なくともmax(p1,p2・・・pn)個のタイムスロットの間バッファに保存され、正確な数のヌルトランスポートストリームパケットが算出され加えられる。ここで、pi(i=1,2,・・・n)はストリームiに対する第2パスエンコーダのパイプラインの深さである。
図4に示す実施の形態において、シングルチャンネルエンコーダユニット5−iは、図5の点線で示された適応プレフィルタ42を具備することができる。第1パスエンコーダ24から得られたピクチュアレベル複雑系統計が使用されて、第2パスエンコーディングの前で現状のGOPに対するフィルタ42の強度を制御する。適応プレフィルタ42は、ローパスフィルタであり、その出力は所定のピクチュアのエンコードバージョンのサイズを減少するために選択される。第2パスエンコーダには、入力として、元の非圧縮ビデオソースか又は適応プレフィルタ42の出力が与えられる。ピクチュアレベルレートコントロールアルゴリズムは、複雑系統計に基づいてこの決定を行う。たとえば、出願中の米国特許出願第10/316,483号を参照してください。
複数の個別のシングルチャンネルエンコーダのVBR出力が組み合わされて多重送信CBRストリームを形成する、統計的なマルチプレクシングを伴うマルチチャンネルエンコーディングの場合のピクチュアレベルレートコントロールアルゴリズムは、上記のピクチュアレベルレートコントロールアルゴリズムよりも若干より複雑である。統計的なマルチプレクシングを伴うピクチュアレベルレートコントロールのために、中央のマスタレートコントロールが使用される。
各チャンネルは、異なるビデオ規格(MPEG−2,H.264,SMPTE VC−1など)を用いてエンコードされる。それぞれのシングルチャンネルエンコーダのアーキテクチュアは同じであるが、ピクチュアレベルターゲットビット割り当て式は式1とは若干異なる。
以下の記号と変数のリストは、統計的多重送信(マルチプレクシング)によるマルチチャンネルエンコーダ用のピクチュアレベルレートコントロールアルゴリズムを記述するときの明確化のために提供される。
nは、マルチチャンネルエンコーダが受信することのできるチャンネルの数である。
Rは、多重送信された出力ストリームM_OUTのためのピクチュア毎の一定のビットレートである。
|B|は、n個のシングルチャンネルエンコーダによって使用される共有仮想バッファのサイズである。
uは、タイムスロットuにおける共有仮想バッファの推定されるフルネスである。
Figure 0005410566
uは、上記mi,uと同様の不整合項である。
ピクチュアレベルレートコントロールアルゴリズムは、以下の式にしたがって、各タイムスロットuの間ビデオストリームiの各ピクチュアkに対し、当初のターゲットビット数を算出する。
Figure 0005410566
kは、トータルな複雑度がこの場合、n個のビデオチャンネルの全ての複雑度に依存しているので、式5と比べて異なって定義される。
Figure 0005410566
同じく、muは、mi,uとは異なる定義を有する。
Figure 0005410566
上記のように、n個のチャンネルは、異なるビデオコード規格を用いてエンコードされうる。この場合、ci,jは、規格に依存しているが、wi,jは、第1パス複雑系から第2パス複雑系へ変換するのみならず、異なるビデオコーディング規格間の複雑度を共通のベース規格に標準化する。特定のピクチュアkへのビットレート割り当ては、先読みウィンドウの深さdとチャンネル数nと各チャンネルの先読みウィンドウにおける全てのピクチュアのトータルな複雑度の組み合わせにより決定される。多重送信された出力M_OUTがCBRであるので、各SPTS OUT−iはVBR SPTSとしてエンコードされる。ピクチュアレベルレートコントロールアルゴリズムは、n個のSPTSのビットレートを組み合わせて所望のCBRを形成することを確実にする。
本発明の上記実施の形態の全てにおいて、シングルチャンネルエンコーダのデュアルパス特性がシングルチャンネルエンコーダの第2パスエンコーダにおけるMBレベルレートコントロールアルゴリズムを実現するのに使用される。ピクチュアレベルレートコントロールアルゴリズムによって提供されたターゲットビット割り当てTi,kは、ピクチュアkのMBに分割されねばならない。個々のMBの複雑度がMBからMBへ変化するので、例えばTi,kをピクチュアkのMBの数で割るような均一な割り当ては必ずしも最適な解決ではない。
第1パスエンコーダは、エンコーディング処理中マクロブロックの複雑度を測定する。第1パスエンコーダの分解能とビットレートが第2パスエンコーダのそれらとは異なるので、そして、第2パスエンコーダのモード決定が第1パスエンコーダにおいてなされるモード決定とは独立しているので、第2パスエンコーダによって測定されるであろうほどには、MBの複雑度の真の値は第1パスエンコーダのMB複雑度の計測に基づいて正確には算出され得ない。しかし、重要なことはMBレベルの複雑度の真の値ではなく、マクロブロックの相対的な複雑度である。すなわち、MBからMBへどのくらい複雑度が変動するかである。第1パスエンコーダがピクチュアの第1の領域をそのピクチュアの第2の領域に関連して単純化/複雑化されるものとして測定すると、第2パスエンコーダは、同様に、そのピクチュアの第1の領域をそのピクチュアの第2の領域に関連して単純化/複雑化されるものとして測定する。このマッピング関係は、以下に図5及び図6に関連して詳細に説明される。MBレベルレートコントロールアルゴリズムは、この関係を有利に用いている。
本発明の上記実施の形態の全てにおいてマクロブロックレベルレートコントロールアルゴリズムは同じである。MBレベルレートコントロールの目的は、a)第2パスエンコーダによって生成されたときのピクチュアjのエンコーダされたバージョンの実際のサイズがピクチュアレベルレートコントロールアルゴリズムによって割り当てられたターゲットサイズTi,jに近づくことを確実にすることと、b)利用可能なビットが相対的なMB複雑度に基づいて各MBに分配されることを確実にすることである。上記のように、MBレベルのビット割り当てを決定するときには、MBの複雑度の実際の値は特に重要なことではない。特定のMBの相対的な複雑度の方がはるかに意味のあることである。すなわち、MBからMBへ複雑度がどの程度変動するかである。ピクチュアに対するMBからMBへの第2パス複雑度の変動は、第2パスMBを対応する第1パスMBにマッピングして関連のある第1パス複雑度の変動を比較することによって予測されうる。
例示のために話を簡単にすると、デュアルパスエンコーダによって受信されたピクチュアが8×8アレイの64個のMBからなっているものと仮定する。第1パスエンコーダへの入力はデシメートされ、第1パスエンコーダに入るピクチュアの解像度を水平方向と垂直方向の両方向において2分の一に減らす。従って、第1パスエンコーダに入るピクチュアは、図6に示すような4×4アレイの16個のMBからなる。現実には、ピクチュアはその解像度に応じて何百又は何千すらのMBを有することも可能であるが、しかし、この簡単な例から導き出される結論や相関関係はいずれの解像度にも適用される。この単純化は欠くべからざるものにあらず。それは正に例示のためである。図6はピクチュアjの2つのバージョンを示している。1つのバージョンにおいて、ピクチュアjは、第1パスエンコーダによって、4×4アレイのマクロブロックに分解される。第2のバージョンにおいて、第2パスエンコーダによって、8×8アレイのマクロブロックに分解される。第1のバージョンにおいて、各MBは単独の大文字(A−P)によって示され、第2のバージョンにおいて、各MBは小文字符字(a−p)と接尾数字(1−4)によって示される。以下の記号と変数のリストは、図6に関連してMBレベルレートコントロールアルゴリズムを記述するときの明確化のために提供される。
N1は、第1パスエンコーダによって生成された所定のピクチュアのエンコードされたバージョンにおけるマクロブロックの数である。図6に図示された例においては、N1は16である。
kは、第1パスエンコーダによって生成されたピクチュアのエンコードされたバージョンにおけるマクロブロックの順序数のインデックスとして使用される。マクロブロックの順序数は、ゼロで始まり、すなわち、k=0・・・(N1−1)であり、図6に図示された例においては、k=0・・・15である。
vは、第1パスエンコーダによって生成されたピクチュアのエンコードされたバージョンにおけるマクロブロックの行数である。H.264のようなある種のコーディング規格において必要とされるものではないが、マクロブロックが均等なサイズであると仮定すると、vはマクロブロックの行数に対応する。図6に図示された例においては、v=4である。
iは、第1パスエンコーダによって生成されたピクチュアのエンコードされたバージョンにおけるマクロブロックの順序数の行インデックスである。水平方向の順序数はゼロで始まり、すなわち、i=0・・・(v−1)である。
hは、第1パスエンコーダによって生成されたピクチュアのエンコードされたバージョンにおけるマクロブロックの列数である。H.264のようなある種のコーディング規格において必要とされるものではないが、マクロブロックが均等なサイズであると仮定すると、hはマクロブロックの列数に対応する。図6に図示された例においては、h=4である。
jは、第1パスエンコーダによって生成されたピクチュアのエンコードされたバージョンにおけるマクロブロックの順序数の列インデックスである。垂直方向の順序数はゼロで始まり、すなわち、j=0・・・(h−1)である。
N2は、第2パスエンコーダによって生成されたピクチュアのエンコードされたバージョンにおけるマクロブロックの数である。図6に図示された例においては、N2は64である。
Figure 0005410566
Figure 0005410566
Figure 0005410566
hとmvは、それぞれ水平方向と垂直方向における整数の乗数であるが、それらは第1パスエンコーダと第2パスエンコーダの間の解像度の相違を表す。mhv=N2/N1である。図6に図示された例においては、第2パスエンコーダの解像度は水平方向と垂直方向の両方向において第1パスエンコーダの解像度の2倍であり、mh=2とmv=2である。
kは、第1パスエンコーダによって測定された時のマクロブロックkの複雑度である。それは、マクロブロックkの第1パス複雑度としても知られている。
γkは、マクロブロック0乃至kの累積された第1パス複雑値である。
kは、所定のピクチュアのマクロブロック数k未満のマクロブロックをエンコードした後で第1パスエンコーダによって生成されたビットの数である。
Figure 0005410566
Figure 0005410566
Figure 0005410566
Iは、IタイプのピクチュアのMBレベルコントロール感応度を調整する増幅因子である。
Pは、PタイプのピクチュアのMBレベルコントロール感応度を調整する増幅因子である。
Bは、BタイプのピクチュアのMBレベルコントロール感応度を調整する増幅因子である。
kは、第2パスエンコーダによるマクロブロックkのために使用される量子化器である。
maxは、量子化器の最大値である。それは規格に依存する。H.264の場合、qmaxは51である。
kは、マクロブロック数k未満のマクロブロックをエンコードした後で第2パスエンコーダの仮想バッファの累積されたフルネスである。
fは、第2パスエンコーダの仮想バッファの当初のフルネスである。
Figure 0005410566
しかし、図6に示されているように、第1パスエンコーダによって受信されたデシメートされたビデオストリームは、第2パスエンコーダによって受信されたオリジナルのビデオストリームとは異なってエンコードされ、所定のピクチュアのそれぞれのエンコードされたバージョンのマクロブロックは同じものではない。
Figure 0005410566
Figure 0005410566
Figure 0005410566
式17と18は、それぞれ第2パス行列順序を返す。そして、対応する第1パス行列順序は、
Figure 0005410566
Figure 0005410566
Figure 0005410566
再び図6に言及して、MBがn2の場合、
Figure 0005410566
Figure 0005410566
Figure 0005410566
第2パスMB複雑度変動は、それによって、対応する第1パスMBの累積された複雑度を使って、予測されうる。
Figure 0005410566
ここでxは、単純にインデックスである。例として、第1パスMBであるA,B,C,D(k=0,1,2,3)が、それぞれ、184と667と190と122の第1パス複雑値gkを有すると仮定する(これらの数値がサンプルイメージからとられた標準化された複雑値であり、そして、例としてのみ与えられたものであることに特に言及する)。
従って、これらのMBに対する累積された第1パス複雑度は、
Figure 0005410566
である。
Figure 0005410566
Figure 0005410566
Figure 0005410566
図7は、上記の例における、累積された第1パス複雑度とマップされた累積第2パス複雑度の間の関係を示している。
ピクチュアjの場合、Tjがピクチュアレベルレートコントロールアルゴリズムによって決定されたときのピクチュアjのエンコードされたバージョンのターゲットサイズである場合には、マクロブロックk=0・・・N2−1のための支配方程式は、ピクチュアタイプに応じて、以下のようになる。
Figure 0005410566
Figure 0005410566
Figure 0005410566
である。
量子化器Qkは、
Figure 0005410566
によって算出されるが、ここで、
Figure 0005410566
である。
定義により、パイプライン遅延のために、エンコーダバッファフルネスの真の値が直ちには利用できないので、Vfが式6によって与えられたエンコーダバッファフルネスの推定値であるBi,uのコピーである。MBレベルアルゴリズムは、(シングルプロセッサアーキテクチュアの)シーケンシャルエンコーダ設計にも(マルチプロセッサアーキテクチュアの)パラレルエンコーダ設計にも適用する。シーケンシャルレートコントロールの場合、パイプライン遅延はゼロとなりVfは全てのピクチュアのエンコード後に直ちに利用可能である。
本発明は、記載された特定の実施の形態に制限されるものではないことは明らかであり、そして、添付の特許請求の範囲に記載された発明の範囲及びその均等の範囲を逸脱することなく改作が行われることも明らかである。例えば、図2のデシメーションユニットと第1パスエンコーダが、MPEG2とH.264のような第2パスエンコーダによって実現されたものとは別の比較的に単純なビデオコード規格を実現するように設計された第1パスエンコーダに置換されうることは明らかである。このような場合、ピクチュアレベルレートコントロールアルゴリズムは、上記の異なる解像度の場合とは反対に、異なるコード規格により生じたピクチュア複雑度における差異を補償する必要があるでしょう。それとは別に、非圧縮ビデオストリームを受信するエンコーダよりもむしろ、上記と同じアーキテクチュアとアルゴリズムがトランスコーディング能力の点で採用されるが、シングルチャンネルトランスコーダは第1のエンコード規格によりエンコードされたビデオストリームを受信し、上記実施の形態の第1パスエンコーダがエンコードされた入力ビデオストリームをデコードして、レートコントロールアルゴリズムによって必要な複雑さの情報を発生する第1パスデコーダに置換され、そして、上記の方法でデコーダによって集められた複雑さの情報を利用することにより、第2パスエンコーダが第2のビデオコード規格によりデコードされたビデオストリームをエンコードする。

Claims (1)

  1. マルチプロセッサエンコーダにより、並列に、複数のピクチュアをエンコードするのに先立ち、未来のある時点において、符号化されたピクチュアのバッファのフルネスの程度を推定することによって前記マルチプロセッサエンコーダを操作する方法であって、
    第1のビデオエンコード手順を用いて複数のピクチュアのエンコードされたバージョンを表わすのに必要なビット数を予測する工程と、
    前記未来のある時点に先行する第1の時点で符号化されたピクチュアのバッファのフルネスの程度を算出する工程と、
    以前にエンコードされた複数のピクチュアのエンコードされたバージョンを表わすのに必要な以前に予測されたビット数を以前にエンコードされた複数のピクチュアを表わすのに必要な実際のビット数を比較することによって、不整合項を生成する工程と、
    前記第1の時点で符号化されたピクチュアのバッファの算出されたフルネスの程度と前記第1のピクチュアのエンコードされたバージョンを表わすのに必要な予測されたビット数と前記不整合項を組み合わせて前記未来のある時点で符号化されたピクチュアのバッファの推定されたフルネスの程度を算出する工程を具備し、
    前記将来の時点が前記第1のピクチュアのエンコードされたバージョンが符号化されたピクチュアにロードされる時点に対応すると共に、前記第1の時点が符号化されたピクチュアのバッファのフルネスの程度が正確に算出される最も近接する時点を現している方法。
JP2012100459A 2004-12-10 2012-04-25 マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール Active JP5410566B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63511604P 2004-12-10 2004-12-10
US60/635,116 2004-12-10
US11/269,428 2005-11-07
US11/269,428 US8054880B2 (en) 2004-12-10 2005-11-07 Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007545501A Division JP5236947B2 (ja) 2004-12-10 2005-11-21 マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013183107A Division JP2014014148A (ja) 2004-12-10 2013-09-04 量子化パラメータの値を決定する方法

Publications (2)

Publication Number Publication Date
JP2012182816A JP2012182816A (ja) 2012-09-20
JP5410566B2 true JP5410566B2 (ja) 2014-02-05

Family

ID=36583800

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2007545501A Active JP5236947B2 (ja) 2004-12-10 2005-11-21 マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール
JP2012100459A Active JP5410566B2 (ja) 2004-12-10 2012-04-25 マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール
JP2013183107A Pending JP2014014148A (ja) 2004-12-10 2013-09-04 量子化パラメータの値を決定する方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007545501A Active JP5236947B2 (ja) 2004-12-10 2005-11-21 マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013183107A Pending JP2014014148A (ja) 2004-12-10 2013-09-04 量子化パラメータの値を決定する方法

Country Status (6)

Country Link
US (2) US8054880B2 (ja)
EP (1) EP1820281B1 (ja)
JP (3) JP5236947B2 (ja)
KR (1) KR101228192B1 (ja)
CA (1) CA2590920C (ja)
WO (1) WO2006065477A2 (ja)

Families Citing this family (146)

* 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
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
JP4389883B2 (ja) * 2006-01-30 2009-12-24 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム、符号化方法のプログラムを記録した記録媒体
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US8155207B2 (en) 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US8873932B2 (en) 2007-12-11 2014-10-28 Cisco Technology, Inc. Inferential processing to ascertain plural levels of picture interdependencies
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8396118B2 (en) * 2007-03-19 2013-03-12 Sony Corporation System and method to control compressed video picture quality for a given average bit rate
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
KR100937590B1 (ko) * 2007-10-23 2010-01-20 한국전자통신연구원 다중 품질 서비스 영상 콘텐츠 제공 시스템 및 그것의업그레이드 방법
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
US8750390B2 (en) * 2008-01-10 2014-06-10 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US8345774B2 (en) * 2008-01-11 2013-01-01 Apple Inc. Hypothetical reference decoder
US8160132B2 (en) 2008-02-15 2012-04-17 Microsoft Corporation Reducing key picture popping effects in video
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
JP2009272706A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 動画像トランスコード装置およびその方法
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8711154B2 (en) * 2008-06-09 2014-04-29 Freescale Semiconductor, Inc. System and method for parallel video processing in multicore devices
WO2009152450A1 (en) 2008-06-12 2009-12-17 Cisco Technology, Inc. Picture interdependencies signals in context of mmco to assist stream manipulation
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
EP2139179A1 (en) * 2008-06-26 2009-12-30 THOMSON Licensing Method and apparatus for reporting state information
US9571856B2 (en) * 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8249168B2 (en) * 2008-11-06 2012-08-21 Advanced Micro Devices, Inc. Multi-instance video encoder
CN102210147B (zh) * 2008-11-12 2014-07-02 思科技术公司 处理具有[aar]单个视频信号的多个处理后的表示的视频[aar]节目以用于重建和输出
US9143788B2 (en) * 2008-11-13 2015-09-22 Thomson Licensing Multiple thread video encoding using HRD information sharing and bit allocation waiting
US8840476B2 (en) 2008-12-15 2014-09-23 Sony Computer Entertainment America Llc Dual-mode program execution
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
JP5681641B2 (ja) 2009-01-07 2015-03-11 ソニック アイピー, インコーポレイテッド オンラインコンテンツのためのメディアガイドの特異的、収集的および自動的な生成
US8737475B2 (en) * 2009-02-02 2014-05-27 Freescale Semiconductor, Inc. Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices
JP4742324B2 (ja) * 2009-02-17 2011-08-10 カシオ計算機株式会社 動画像を記録する記録装置、記録方法及びプログラム
WO2010096767A1 (en) * 2009-02-20 2010-08-26 Cisco Technology, Inc. Signalling of decodable sub-sequences
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
FR2945697B1 (fr) * 2009-05-18 2016-06-03 Actimagine Procede et dispositif de compression d'une sequence video
US9179161B2 (en) * 2009-05-20 2015-11-03 Nissim Nissimyan Video encoding
GB2517102B (en) * 2009-06-01 2015-03-25 Sony Comp Entertainment Us Qualified video delivery
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
KR101656881B1 (ko) * 2010-02-01 2016-09-12 삼성전자주식회사 데이터 처리 장치 및 방법
US20110222837A1 (en) * 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
BR112012028184A2 (pt) 2010-05-07 2016-08-02 Nippon Telegraph & Telephone método de controle de codificação de vídeo, aparelho de codificação de vídeo e programa de codificação de vídeo
CA2798354C (en) * 2010-05-12 2016-01-26 Nippon Telegraph And Telephone Corporation A video encoding bit rate control technique using a quantization statistic threshold to determine whether re-encoding of an encoding-order picture group is required
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
KR102000618B1 (ko) 2010-09-13 2019-10-21 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 부가기능의 관리
US20120069895A1 (en) * 2010-09-17 2012-03-22 David Frederique Blum High Quality Video Encoder
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
PL3309970T3 (pl) * 2011-06-24 2023-09-25 Sun Patent Trust Sposób dekodowania obrazu
US8832412B2 (en) * 2011-07-20 2014-09-09 Broadcom Corporation Scalable processing unit
US9392295B2 (en) 2011-07-20 2016-07-12 Broadcom Corporation Adaptable media processing architectures
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
CN108989847B (zh) 2011-08-30 2021-03-09 帝威视有限公司 用于编码和流处理视频的系统和方法
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
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
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
US20130077674A1 (en) * 2011-09-23 2013-03-28 Media Excel Korea Co. Ltd. Method and apparatus for encoding moving picture
US8923388B2 (en) * 2011-11-21 2014-12-30 Texas Instruments Incorporated Early stage slice cap decision in video coding
US8793393B2 (en) * 2011-11-23 2014-07-29 Bluespace Corporation Video processing device, video server, client device, and video client-server system with low latency thereof
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
JP5843631B2 (ja) * 2012-01-26 2016-01-13 日本電信電話株式会社 フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム
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
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
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
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
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
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9128858B1 (en) * 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
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
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
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
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
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
US20140328384A1 (en) * 2013-05-02 2014-11-06 Magnum Semiconductor, Inc. Methods and apparatuses including a statistical multiplexer with global rate control
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
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
WO2015095166A2 (en) * 2013-12-16 2015-06-25 Arris Enterprises, Inc. Producing an output need parameter for an encoder
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
CA2952823A1 (en) * 2014-06-25 2015-12-30 Arris Enterprises Llc A method for using a decoder or look-ahead encoder to control an adaptive pre-filter
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US10097828B2 (en) * 2014-12-11 2018-10-09 Intel Corporation Rate control for parallel video encoding
US9955168B2 (en) * 2015-02-11 2018-04-24 Arris Enterprises Llc Constraining number of bits generated relative to VBV buffer
US9936203B2 (en) 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
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
BR112019022007A2 (pt) 2017-04-21 2020-05-12 Zenimax Media Inc. Sistemas e métodos para vetores de movimento gerados em jogos
CA3059743A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
TWI755616B (zh) 2017-04-21 2022-02-21 美商時美媒體公司 用於編碼器導引自適應性品質演現的系統及方法
GB2590034B (en) 2017-04-21 2021-12-22 Zenimax Media Inc Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
KR102358294B1 (ko) 2017-04-21 2022-02-08 제니맥스 미디어 인크. 프리-인코딩된 로드 추정 기반 인코더 힌팅을 위한 시스템들 및 방법들
US10771789B2 (en) * 2017-05-19 2020-09-08 Google Llc Complexity adaptive rate control
US11368692B2 (en) * 2018-10-31 2022-06-21 Ati Technologies Ulc Content adaptive quantization strength and bitrate modeling
JP7238441B2 (ja) * 2019-02-04 2023-03-14 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US11039149B2 (en) * 2019-08-01 2021-06-15 Qualcomm Incorporated Dynamic video insertion based on feedback information
CN117676141A (zh) * 2022-09-08 2024-03-08 华为技术有限公司 图像编解码方法、装置、编码器、解码器和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2660138B1 (fr) 1990-03-26 1992-06-12 France Telecom Cnet Dispositif de codage/decodage de signaux d'image.
US5038209A (en) * 1990-09-27 1991-08-06 At&T Bell Laboratories Adaptive buffer/quantizer control for transform video coders
JP2946982B2 (ja) 1993-01-06 1999-09-13 松下電器産業株式会社 画面分割符号化装置
JPH07264580A (ja) * 1994-03-17 1995-10-13 Toshiba Corp 映像信号伝送方法並びに映像信号送信装置及び映像信号受信装置
JPH07284096A (ja) * 1994-04-06 1995-10-27 Nec Corp 多チャンネル画像伝送装置
US6055270A (en) * 1994-04-20 2000-04-25 Thomson Cosumer Electronics, Inc. Multiplexer system using constant bit rate encoders
KR0170937B1 (ko) * 1994-12-14 1999-03-20 배순훈 영상 데이타 부호화 장치
JP3137863B2 (ja) * 1995-02-08 2001-02-26 日本電信電話株式会社 動画像の符号化制御方法
JP3857342B2 (ja) * 1995-04-28 2006-12-13 ソニー株式会社 画像符号化方法及び画像符号化装置
EP0779744A3 (en) 1995-12-06 1997-08-20 Thomson Multimedia Sa Method and device for coding digital video signals
US6044396A (en) * 1995-12-14 2000-03-28 Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. Method and apparatus for utilizing the available bit rate in a constrained variable bit rate channel
US5764293A (en) * 1995-12-26 1998-06-09 C-Cube Microsystems, Inc. Method of encoding video using master and slave encoders wherein bit budgets for frames to be encoded are based on encoded frames
JPH10191331A (ja) * 1996-12-25 1998-07-21 Sony Corp 画像データの符号化方法及び装置
US6038256A (en) * 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
JPH10313463A (ja) * 1997-03-12 1998-11-24 Matsushita Electric Ind Co Ltd 映像信号符号化方法及び符号化装置
US20020154694A1 (en) * 1997-03-21 2002-10-24 Christopher H. Birch Bit stream splicer with variable-rate output
US6052384A (en) * 1997-03-21 2000-04-18 Scientific-Atlanta, Inc. Using a receiver model to multiplex variable-rate bit streams having timing constraints
JPH11196410A (ja) 1997-12-25 1999-07-21 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
US6259733B1 (en) * 1998-06-16 2001-07-10 General Instrument Corporation Pre-processing of bit rate allocation in a multi-channel video encoder
IL160386A (en) * 1999-04-06 2005-11-20 Broadcom Corp Video encoding and video/audio/data multiplexing device
US6674796B1 (en) * 2000-02-14 2004-01-06 Harmonic, Inc. Statistical multiplexed video encoding for diverse video formats
JP4203707B2 (ja) * 2001-01-31 2009-01-07 日本電気株式会社 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。
US7099389B1 (en) * 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window

Also Published As

Publication number Publication date
EP1820281A2 (en) 2007-08-22
US9374615B2 (en) 2016-06-21
JP2008523720A (ja) 2008-07-03
WO2006065477A3 (en) 2007-01-04
EP1820281B1 (en) 2017-09-13
JP5236947B2 (ja) 2013-07-17
JP2014014148A (ja) 2014-01-23
US8054880B2 (en) 2011-11-08
US20060126728A1 (en) 2006-06-15
CA2590920C (en) 2018-05-01
EP1820281A4 (en) 2009-06-03
US20120027082A1 (en) 2012-02-02
JP2012182816A (ja) 2012-09-20
WO2006065477A2 (en) 2006-06-22
KR101228192B1 (ko) 2013-01-30
CA2590920A1 (en) 2006-06-22
KR20070120937A (ko) 2007-12-26

Similar Documents

Publication Publication Date Title
JP5410566B2 (ja) マルチプロセッサアーキテクチュア並びにピクチュアベースの先読みウィンドウを具備したデジタルビデオエンコーダのためのパラレルレートコントロール
US5694170A (en) Video compression using multiple computing agents
KR100756596B1 (ko) 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법
US6091776A (en) Delay balanced video encoder system
US6229849B1 (en) Coding device and method
KR19990067783A (ko) 불변 혹은 가변 비트율을 위한 디지털 동영상 시퀀스 2-패스 부호화 방법
CN103621085A (zh) 降低视频编码和解码中的延迟
KR20000035651A (ko) 픽처타입의 선지식이 없는 엠피이지 트랜스코더의비율제어시스템
JP4358215B2 (ja) 動画像符号化装置及びその方法
AU2003296418A1 (en) Rate control with picture-based lookahead window
JP2008523720A5 (ja)
JPH09510070A (ja) 可変ビットレート圧縮システムのバッファ管理
JP2002232882A (ja) 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。
US6226326B1 (en) Coding device and coding method
WO1995029559A1 (en) A multiplexer system using constant bit rate encoders
US20060034369A1 (en) Method and system for parametric video quality equalization in selective re-encoding
US8780977B2 (en) Transcoder
JP3583432B2 (ja) 不足する資源を動的に割り当てるシステム
US20090185620A1 (en) Video encoding apparatus and method for the same
JP3703488B2 (ja) 非同期制御信号生成装置
JPH09512397A (ja) 複雑性判定装置
JPH11252572A (ja) 符号量配分装置
KR100337103B1 (ko) 데이터신호의복잡도결정장치
JPH114445A (ja) 画像符号化装置および方法
JP2001359097A (ja) 符号量割り当て装置および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130603

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130704

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130709

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130802

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131106

R150 Certificate of patent or registration of utility model

Ref document number: 5410566

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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