JP2009171339A - 動画像符号化装置、方法及びプログラム - Google Patents
動画像符号化装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2009171339A JP2009171339A JP2008008361A JP2008008361A JP2009171339A JP 2009171339 A JP2009171339 A JP 2009171339A JP 2008008361 A JP2008008361 A JP 2008008361A JP 2008008361 A JP2008008361 A JP 2008008361A JP 2009171339 A JP2009171339 A JP 2009171339A
- Authority
- JP
- Japan
- Prior art keywords
- bit rate
- data
- input
- transmission bit
- encoded
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 88
- 239000000872 buffer Substances 0.000 claims description 29
- 238000004088 simulation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 239000000470 constituent Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000012464 large buffer Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
- H04N21/23655—Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2383—Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4341—Demultiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】可変ビットレートで事前に符号化された符号化データのビットレートの変動分を有効に利用した動画像符号化装置を提供する。
【解決手段】可変ビットレートで事前に符号化された可変ビットレート符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、入力符号化データの時間区間ごとの入力ビットレートを算出する手段と、第1の伝送ビットレートから前記入力ビットレートを減じて時間区間ごとの第2の伝送ビットレートを算出する手段と、第2の伝送ビットレートに従って動画像データを符号化する符号化手段とを具備する。
【選択図】 図1
【解決手段】可変ビットレートで事前に符号化された可変ビットレート符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、入力符号化データの時間区間ごとの入力ビットレートを算出する手段と、第1の伝送ビットレートから前記入力ビットレートを減じて時間区間ごとの第2の伝送ビットレートを算出する手段と、第2の伝送ビットレートに従って動画像データを符号化する符号化手段とを具備する。
【選択図】 図1
Description
本発明は、事前に可変ビットレートで符号化されたデータのビットレートの変動を事前に調査することで、多重化予定の動画像データの伝送レートを効率良く設定し、高品質な可変ビットレート制御を実現できる動画像符号化装置、動画像符号化方法及び動画像符号化プログラムに関する。
所定の多重化伝送ビットレートに対して、複数チャンネルの動画像データを同時に符号化し、そのチャンネル間でビットレートのやりとりを最適化して多重化する統計多重制御装置が開発されている(特開2001−359094、特開2002−58022)。
一方で、多重化されるデータは動画像データだけではなく、オーディオデータもある。特に近年ではオーディオをロスレス可変長圧縮するDolby True HDやDTS HDといったコーデックが次世代DVD規格であるHD DVDに採用されており、動画像データと共に多重化されてHD DVDディスクに記録されている。
特開2001−359094
特開2002−58022
従来の統計多重制御はリアルタイム処理が基本となっており、チャンネル間で符号量調整は可能であったが、時間軸方向では最適化されていない問題があった。また、ロスレス可変長符号化されるオーディオデータを合わせて多重化する場合は、オーディオデータの符号量調整が不可能であり、従来の統計多重制御のように動画像データとロスレスオーディオデータとを適切に多重化することが困難であった。即ち、ロスレスオーディオデータではビットレートが可変になっている。この場合、変動の高い領域がオーディオに使う領域とされ、残りの領域がビデオに割り当てられていた。そのため、ビットレートの変動部分、特にビットレートの低い部分が有効利用できない。
本発明は、上記欠点を鑑みて、ロスレスオーディオを符号化して符号化データのビットレートがどのように変動するかを解析し、その情報に基づいて動画像データの伝送ビットレートを動的に設定して動画像符号化する動画像符号化装置、方法及びプログラムを提供することを目的とする。
本発明の一実施態様は可変ビットレートで事前に符号化された可変ビットレート符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、前記入力符号化データの前記時間区間ごとの入力ビットレートを算出する手段と、第1の伝送ビットレートから前記入力ビットレートを減じて前記時間区間ごとの第2の伝送ビットレートを算出する手段と、前記第2の伝送ビットレートに従って動画像データを符号化する符号化手段と、を具備する動画像符号化装置を提供する。
本発明によれば、所定の多重化伝送ビットレートを最大限に利用して、効率的な可変ビットレート制御することで、高品質な動画像符号化を実現することが可能となる。
以下、図面を参照して本発明の実施形態を説明する。
(第1の実施形態)
図1に示すように動画像符号化装置は、ビデオ符号器101、ロスレスオーディオ符号器102、ロッシーオーディオ符号器103、サブピクチャ符号化装置104及び伝送ビットレート計算器105により構成される。ビデオ符号器101はビデオソース107に接続され、入力された動画像の元データを与えられた伝送ビットレートに基づいて可変ビットレート制御しながら入力動画像を符号化し、ビデオデータを出力する。ロスレスオーディオ符号器102はオーディオソース(英語)108に接続され、入力されたオーディオ(英語)の元データをロスレス可変ビットレート符号化し、英語データを出力する。ロッシーオーディオ符号器103はオーディオソース(スペイン語)109及びオーディオソース(フランス語)110に接続され、入力されたオーディオ(スペイン語、フランス語)の元データをロッシー固定ビットレート符号化し、スペイン語データ及びフランス語データを出力する。サブピクチャ符号化装置104はサブピクチャソース111に接続され、入力されたサブピクチャ(字幕データ)の元データを符号化し、サブピクチャデータを出力する。
図1に示すように動画像符号化装置は、ビデオ符号器101、ロスレスオーディオ符号器102、ロッシーオーディオ符号器103、サブピクチャ符号化装置104及び伝送ビットレート計算器105により構成される。ビデオ符号器101はビデオソース107に接続され、入力された動画像の元データを与えられた伝送ビットレートに基づいて可変ビットレート制御しながら入力動画像を符号化し、ビデオデータを出力する。ロスレスオーディオ符号器102はオーディオソース(英語)108に接続され、入力されたオーディオ(英語)の元データをロスレス可変ビットレート符号化し、英語データを出力する。ロッシーオーディオ符号器103はオーディオソース(スペイン語)109及びオーディオソース(フランス語)110に接続され、入力されたオーディオ(スペイン語、フランス語)の元データをロッシー固定ビットレート符号化し、スペイン語データ及びフランス語データを出力する。サブピクチャ符号化装置104はサブピクチャソース111に接続され、入力されたサブピクチャ(字幕データ)の元データを符号化し、サブピクチャデータを出力する。
伝送ビットレート計算器105は事前に符号化されたデータ(ここでは、ロスレス英語オーディオデータ、ロッシースペイン語、フランス語オーディオデータ、サブピクチャデータ)のビットレートを計測してビデオ符号器101に目標とする伝送ビットレートを設定する。データ多重化器106は動画像データ、オーディオデータ、サブピクチャデータを多重化し、多重化データ(ビデオ+オーディオ+サブピクチャ)を出力する。この多重化の方式はMPEG2 PS(Program Stream)又はMPEG2 TS(Transport Stream)であってもよい。
なお、本実施形態における事前に符号化されたデータは、前述のとおり1つのロスレスオーディオデータ、2つのロッシーオーディオデータ、1つのサブピクチャデータを含むが、これらデータの組み合わせや数によって本発明は限定されるものではない。
なお、本実施形態における事前に符号化されたデータは、前述のとおり1つのロスレスオーディオデータ、2つのロッシーオーディオデータ、1つのサブピクチャデータを含むが、これらデータの組み合わせや数によって本発明は限定されるものではない。
次に、図2を参照して本発明の実施形態に係わる可変ビットレートによる動画像符号化装置の動作を説明する。
まず、ロスレスオーディオ符号器102は、入力データ(英語)を受け取り、圧縮符号化する(ステップ201)。ロスレスオーディオ符号化方法は様々あり、例えばDolby True HDやDTS HD、リニアPCMなどがあげられる。本実施形態では可変ビットレート符号化されたデータが存在する際に動画像データの伝送ビットレートを最適化するものであるため、ここではロスレス可変ビットレート符号化されるDolby True HDあるはいDTS HDが用いられるものとする。
まず、ロスレスオーディオ符号器102は、入力データ(英語)を受け取り、圧縮符号化する(ステップ201)。ロスレスオーディオ符号化方法は様々あり、例えばDolby True HDやDTS HD、リニアPCMなどがあげられる。本実施形態では可変ビットレート符号化されたデータが存在する際に動画像データの伝送ビットレートを最適化するものであるため、ここではロスレス可変ビットレート符号化されるDolby True HDあるはいDTS HDが用いられるものとする。
動画像データを符号化する前に他のデータがあるか否かを確認する(ステップ202)。本実施形態では、残りのデータに2つのオーディオ、1つのサブピクチャがあるため、継続して符号化処理を行う(ステップ201)。即ち、ロッシーオーディオ符号器103は、入力データ(スペイン語及びフランス語)を受け取り、それを圧縮符号化する。ロッシーオーディオ符号化方法は様々あり、例えばAC−3,MP3などがあげられるが、ここでは固定ビットレート符号化する方式を採用したとして、特にコーデックは限定しない。サブピクチャ符号器104は、入力データ(字幕データ)を受け取り、それを圧縮符号化する(ステップ201)。ビデオデータ以外の符号化がすべて終了したら、次の処理(ステップ203)へ移行する。
伝送ビットレート計算器105は、まず符号化されたデータ(1つのロスレスオーディオ、2つのロッシーオーディオ、1つのサブピクチャ)を合わせたビットレートを算出する。オーディオデータのビットレートはAU(アクセスユニット)単位の発生符号量を時間軸方向にプロットすれば、図3の(A)に示されるような最小時間間隔でのビットレート変動が簡単に得られる。一方、サブピクチャは表示タイミング(又は復号化タイミング)が時間軸で不連続であるため、単純にAU単位の発生符号量をプロットすると、図3の(B)に示すような不連続なビットレート変動が得られる。これらを単純に合わせて、ビットレートを算出すると図3の(C)のようなばらつきの大きいビットレートが算出される。
細かい粒度のビットレートの算出という意味では上記のような算出で問題ないが、最終的にこのビットレートから算出される伝送ビットレートに基づいてビデオ符号器101が可変ビットレート制御するということを考慮すると、ビットレートの変動間隔の粒度が細かすぎる。例えば、ビデオ符号器101の符号化方法がH.264であった場合、伝送ビットレートの変動に応じてCPB(Coding Picture Buffer)が制御する単位はSPS(Sequence Parameter Set)が付加されているピクチャ単位となる。通常、SPSはIピクチャに付加され、ランダムアクセスなどで有効なように0.5sec間隔で存在する場合が多い。このような状況下では、ビットレートを算出する時間間隔は0.5sec間隔以上にすることが望ましい。あるいは、符号化予定のGOP長間隔以上に設定しても良いし、伝送ビットレートで多重化されたデータを分離するために必要とされるシステムターゲットデコーダのバッファのサイズを伝送ビットレートで割った値以上に設定しても良い。
所定の時間間隔(複数のAU)にまたがってビットレートを算出した場合、図4に示すように平滑化されたビットレートが算出される。なお、AUの符号量はオーディオデータ及びサブピクチャをパース(簡易デコードで、スタートコードを検出するなど)しながら算出しても良いし、例えばロスレスオーディオ符号器102、ロッシーオーディオ符号器103やサブピクチャ符号器104が各AUの符号量を符号化している最中にログとして出力し、それを伝送ビットレート計算器105が受け取ってもよい。
また、例えばオーディオデータのうちスペイン語とフランス語は固定ビットレート符号化する予定であることが事前に分かっていれば、ロッシーオーディオ符号器103によってオーディオデータを実際に符号化し終わるのを待たなくてもよい。その目標とする固定ビットレートの値と符号化済みのロスレスオーディオ圧縮データとサブピクチャ圧縮データからビットレートを算出すればよい。その際の処理フローは図2とは少し異なり、図6のように変更される。なお、ロスレスオーディオ圧縮(可変ビットレート)データを圧縮しないと、ビットレートを算出するのは困難であるため、即ちロスレスであるためビットレートコントロールできないため、事前に符号化を必要とする。
上述のように可変ビットレートで事前に符号化された可変ビットレート符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、入力符号化データの時間区間ごとの入力ビットレートを算出した後、即ち、事前に符号化されたデータのビットレートの算出が終わったあとは、伝送ビットレートの算出が行われる(ステップ203)。具体的には、図5に示すように目標とする(システムとしての)伝送ビットレートからビットレートの変動を減じてビデオの伝送ビットレートを算出する。即ち、第1の伝送ビットレートから前記入力ビットレートを減じて前記時間区間ごとの第2の伝送ビットレートを算出する。
ビデオ符号器101は、ビデオソース107から入力データ(動画像)を受け取り、伝送ビットレート計算器105で算出した伝送ビットレートに従って、可変ビットレート制御しながら入力データを圧縮符号化する(ステップ204)。可変ビットレート制御の方式は様々あげられるが、本実施形態では、算出された伝送ビットレートや目標ビットレート(即ち、平均ビットレート)の値に応じた制御方法を以下に説明する。
1.伝送ビットレートの最大値≦目標ビットレート
設定された伝送ビットレートは所定の時間間隔で変動しているが、全区間を通して伝送ビットレートの最大値よりも、可変ビットレート制御する際の目標ビットレートの方が伝送ビットレートの最大値より大きい場合は、伝送ビットレート=目標ビットレートとして符号量割り当てを行い、可変ビットレート制御する。これは、伝送ビットレートよりも大きい値で符号量割り当てを行えば、仮想デコーダのバッファがアンダーフローする可能性があり、規格違反の圧縮となるためである。なお、この際の符号量割り当て制御としては、2パス可変ビットレート制御する必要性はないため、1パス可変ビットレート制御となる。
設定された伝送ビットレートは所定の時間間隔で変動しているが、全区間を通して伝送ビットレートの最大値よりも、可変ビットレート制御する際の目標ビットレートの方が伝送ビットレートの最大値より大きい場合は、伝送ビットレート=目標ビットレートとして符号量割り当てを行い、可変ビットレート制御する。これは、伝送ビットレートよりも大きい値で符号量割り当てを行えば、仮想デコーダのバッファがアンダーフローする可能性があり、規格違反の圧縮となるためである。なお、この際の符号量割り当て制御としては、2パス可変ビットレート制御する必要性はないため、1パス可変ビットレート制御となる。
2.伝送ビットレートによる符号量割り当て≦目標ビットレートによる割り当て符号量(ビットレート×入力動画像データの時間=割り当て符号量)
設定された伝送ビットレートの上下変動が激しい場合、この条件に当てはまる可能性がある。この条件を満たす場合は上記方法1の場合と同様の処理を行う。即ち、全区間を通して伝送ビットレートの最大値よりも、可変ビットレート制御する際の目標ビットレートの方が伝送ビットレートの最大値より大きい場合は、伝送ビットレート=目標ビットレートとして符号量割り当てを行い、可変ビットレート制御する。
設定された伝送ビットレートの上下変動が激しい場合、この条件に当てはまる可能性がある。この条件を満たす場合は上記方法1の場合と同様の処理を行う。即ち、全区間を通して伝送ビットレートの最大値よりも、可変ビットレート制御する際の目標ビットレートの方が伝送ビットレートの最大値より大きい場合は、伝送ビットレート=目標ビットレートとして符号量割り当てを行い、可変ビットレート制御する。
3.上記方法1及び2以外の方法
方法1及び2に当てはまらない場合、伝送ビットレートと目標ビットレートが一致しない状況で、可変ビットレート制御することが可能となる。単純な方法としては、目標ビットレートで入力動画像データ全体に均一に符号量を割り当てた後、伝送ビットレートで仮想デコーダバッファの破綻がないか確認するものがあげられる。即ち、伝送ビットレートの最小値が目標ビットレートを上回れば破綻は発生しないが、下回れば破綻が発生する可能性がある。これを1パス処理で実現する場合は、符号化途中で、仮想デコーダバッファのアンダーフローが起こりそうになったところで、即ち、占有量が所定の閾値以下になったところで、割り当て符号量を削減する方向にビットレート制御を行う。ここで削減した符号量は仮想デコーダバッファに余裕があるところで使うようにメモリ(図示せず)に蓄えておく。
方法1及び2に当てはまらない場合、伝送ビットレートと目標ビットレートが一致しない状況で、可変ビットレート制御することが可能となる。単純な方法としては、目標ビットレートで入力動画像データ全体に均一に符号量を割り当てた後、伝送ビットレートで仮想デコーダバッファの破綻がないか確認するものがあげられる。即ち、伝送ビットレートの最小値が目標ビットレートを上回れば破綻は発生しないが、下回れば破綻が発生する可能性がある。これを1パス処理で実現する場合は、符号化途中で、仮想デコーダバッファのアンダーフローが起こりそうになったところで、即ち、占有量が所定の閾値以下になったところで、割り当て符号量を削減する方向にビットレート制御を行う。ここで削減した符号量は仮想デコーダバッファに余裕があるところで使うようにメモリ(図示せず)に蓄えておく。
仮想デコーダバッファのアンダーフローの危険性が去った後、蓄えた符号量を消費する。蓄えた符号量はこれから符号化する予定の画像に均一に振り分けても良いし、符号化が難しいシーンに意図的に割り当ててもよい。いずれにせよ、蓄えた符号量は仮想デコーダバッファのアンダーフローの危険性のないところで使用すればよい。なお、符号化が難しいシーンでも、伝送ビットレートが高い場合、すなわち、ロスレスオーディオデータの符号量が少ない場合が存在する。これは動画像データの符号化複雑度とオーディオデータの符号化複雑度とが時間的に相関が低い可能性が十分あるためである。
上記処理は、1パスで実現しているが2パス処理で実現することも可能であり、2パスであれば事前に仮想デコーダバッファがアンダーフローしそうなシーンにおける割り当て符号量を削減して、他のすべてのシーンに割り当てることができ、1パスのようにフィードバック処理、即ち、現時点以降の画像のみを対象とする処理よりも高度な制御が可能である。ただし、2パス処理するならば、上記のように符号量を入力動画像データ全体に均一に割り当てるのではなく、1パス目の処理で符号化複雑度を解析して、その複雑度に応じて符号量を割り当てる。即ち、所定の伝送ビットレートで可変ビットレート制御する際に各画像に符号量が割り当てられる。その符号量割り当てと、伝送ビットレートに基づいて仮想デコーダバッファの遷移シミュレーションを行い、アンダーフローの危険性がある部分の符号量を他のシーンに分配すれば、より高度な可変ビットレート制御が可能となる。このような効率的な可変ビットレート制御を行うには、事前にビットレート調整が不可能なロスレスオーディオ圧縮データを解析することが必要となっている。このような制御に基づいて、入力された動画像データを可変ビットレート制御しながら圧縮する。
データ多重化器106は、1つの動画像圧縮データ、1つのロスレスオーディオ圧縮データ、2つのロッシーオーディオ圧縮データ、1つのサブピクチャ圧縮データを受け取り、多重化する(ステップ205)。多重化の方式は様々あげられるが、例えばMPEG2システムで規定されているProgram Stream又はTransport Streamがあげられる。いずれにせよ伝送ビットレート計算器105で目標とした(システムとしての)伝送ビットレート以上の伝送ビットレートで多重化を行う。多重化されたデータを出力して、第1の実施形態の処理フローが終了する。
(第2の実施形態)
図7に示される第2の実施形態の動画像符号化装置は、ビデオ符号器401、ロスレスオーディオ符号器402、ロッシーオーディオ符号器403、サブピクチャ符号器404及びピークビットレート算出装置405により構成される。ビデオ符号器401はビデオソース407から入力された動画像の元データを与えられた伝送ビットレートに基づいて可変ビットレート制御しながら符号化する。ロスレスオーディオ符号器402はオーディオソース408から入力されたオーディオ(英語)の元データをロスレス可変ビットレート符号化する。ロッシーオーディオ符号器403はオーディオソース409及び410から入力されたオーディオ(スペイン語、フランス語)の元データをロッシー固定ビットレート符号化する。サブピクチャ符号器404はサブピクチャソース411から入力されたサブピクチャ(字幕データ)の元データを符号化する。
図7に示される第2の実施形態の動画像符号化装置は、ビデオ符号器401、ロスレスオーディオ符号器402、ロッシーオーディオ符号器403、サブピクチャ符号器404及びピークビットレート算出装置405により構成される。ビデオ符号器401はビデオソース407から入力された動画像の元データを与えられた伝送ビットレートに基づいて可変ビットレート制御しながら符号化する。ロスレスオーディオ符号器402はオーディオソース408から入力されたオーディオ(英語)の元データをロスレス可変ビットレート符号化する。ロッシーオーディオ符号器403はオーディオソース409及び410から入力されたオーディオ(スペイン語、フランス語)の元データをロッシー固定ビットレート符号化する。サブピクチャ符号器404はサブピクチャソース411から入力されたサブピクチャ(字幕データ)の元データを符号化する。
データ多重化器406は事前に符号化されたデータ(ここでは、ロスレス英語オーディオデータ、ロッシースペイン語、フランス語オーディオデータ、サブピクチャデータ)又はビデオ符号器401で符号化した動画像データを含めたデータを多重化する。伝送ビットレート計算器405は入力された多重化データにさらに多重化することが可能なビットレートを算出し、ビデオ符号器401に目標とする伝送ビットレートとして設定する。なお、本実施形態における事前に符号化されたデータは、前述のとおり1つのロスレスオーディオデータ、2つのロッシーオーディオデータ、1つのサブピクチャデータとなっているがこれら組み合わせや数によって本発明は限定されるものではない。
次に、図8を参照して本発明の実施形態に係わる可変ビットレートによるビデオ符号器の動作を説明する。
ビデオ符号器401、ロスレスオーディオ符号器402、ロッシーオーディオ符号器403、サブピクチャ符号器404はビデオソース407,オーディオソース408,オーディオソース409及び410及びサブピクチャソース411からオーディオ及びサブピクチャの入力データを受け取り、この入力データを符号化する(ステップ501、ステップ502)までは第一の実施形態のステップ201、ステップ202と同様である。
ビデオ符号器401、ロスレスオーディオ符号器402、ロッシーオーディオ符号器403、サブピクチャ符号器404はビデオソース407,オーディオソース408,オーディオソース409及び410及びサブピクチャソース411からオーディオ及びサブピクチャの入力データを受け取り、この入力データを符号化する(ステップ501、ステップ502)までは第一の実施形態のステップ201、ステップ202と同様である。
データ多重化器406は、ステップ502までに符号化が終了しているデータに関して、目標とする(システムとしての)伝送ビットレートに基づいて、仮のデータ多重化を行う(ステップ503)。データの多重化方法には様々な方法があるが、動画像データに対する分離用仮想バッファのサイズよりも、オーディオデータあるいはサブピクチャデータに対する分離用仮想バッファのサイズが小さい場合が多いため、バッファサイズで吸収可能なデコード遅延量の少ないオーディオデータあるいはサブピクチャデータをデコード遅延時間が最小となるように多重化することとする。即ち、可変ビットレートで事前に符号化されたデータをデコーダバッファに入力されてから復号化されるまでの遅延時間が最小となるように伝送ビットレートで符号化データと動画像データとを多重化する。その様子が図9に示されている。
図9では、横軸はシステムの時間を表すSCR(システムクロックリファレンス)であり、この軸の上側に伝送ビットレートが高い場合のデータ間隔が示され、該軸の下側に伝送ビットレートが低い場合のデータ間隔を示している。ビットレートが高ければ高いほど、同一のSCR間隔に存在するデータブロック数が多くなる。図9では、データのブロックサイズを2KB(2048Bytes)として、それぞれのデータブロックにオーディオデータ、サブピクチャデータが格納されていく。即ち、図9において、Aはオーディオデータであり、Sはサブピクチャデータであるが、これらを多重化するとき、A及びSが入るデータブロックが決められており、これらブロックに逐次入れられる。この場合、オーディオのビットレートが低ければ、オーディオデータの出力に合わせてオーディオ・ビデオデータが出力されるが、この出力に間に合うようにデータがデータブロックに入れられる。
ビデオはバッファが大きいので遅延を吸収できない、オーディオはバッファが小さいので遅延を吸収できない。従って、オーディオデータは入ってきたら直ぐ出す仕組みになっている。即ち、オーディオデータはできるだけデコードのタイミングに近いところに溜めておき、余った領域にビデオを入れる。そうすると、ビデオはバッファに余裕があるのでバッファに溜めておいて後から出す。ビットレートが高ければ、データブロックの空きが増える。従って、単位時間について空きのブロックが何個あるかで、ビットレートが計算でき、どれだけデータを送れるかが推定できる。
ブランクデータには、これから符号化される予定の動画像データが格納される。なお、本実施形態ではデータブロックサイズを2KBとして、オーディオ、サブピクチャのデコード遅延量が最小となるように多重化する方法を採用しているが、これによって本発明は限定されるものではない。例えば、ブロックサイズは2KBよりも大きくても良いし、オーディオ、サブピクチャをデコード遅延量が最大となるように多重化し、その空きデータ間隔から伝送ビットレート計算器406がビデオ符号器401に設定する伝送ビットレートを算出してもよい。また、シーケンスの途中で多重化する方法を変えてもよい。例えば、前半は遅延量最大、後半は遅延量最小にしてもよい。
動画像データがまだ多重化されていない仮多重化データは、伝送ビットレート計算器405に入力され、ブランクデータとSCRからビデオ符号器401に設定可能な伝送ビットレートを算出する(ステップ504)。ビットレート算出は、所定のSCR間隔内のブランクデータをカウントすることによって行うことができ、このときのSCR間隔は第1の実施形態で述べた間隔と同様に、ある程度の時間間隔を持つようにする。
ステップ505以降の符号化処理は第1の実施形態のステップ204移行の処理と同じであるので説明は省略する。
上記動画像符号化装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、ビデオ符号器、ロスレスオーディオ符号器、ロッシーオーディオ符号器、サブピクチャ符号器、伝送ビットレート算出装置及びデータ多重化器は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、動画像符号化装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
101…ビデオ符号器、102…ロスレスオーディオ符号器、103…ロッシーオーディオ符号器、104…サブピクチャ符号器、105…伝送ビットレート計算器、106…データ多重化器、107…ビデオソース、108…オーディオソース(英語)、109…オーディオソース(スペイン語)、110…オーディオソース(フランス語)、111…サブピクチャ、401…ビデオ符号器、402…ロスレスオーディオ符号器、403…ロッシーオーディオ符号器、404…サブピクチャ符号器、405…伝送ビットレート算出装置、406…データ多重化器多重化器、407…ビデオソース、408…オーディオソース(英語)、409…オーディオソース(スペイン語)、410…オーディオソース(フランス語)、411…サブピクチャ
Claims (13)
- 可変ビットレートで事前に符号化された可変ビットレート符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、前記入力符号化データの前記時間区間ごとの入力ビットレートを算出する手段と、
第1の伝送ビットレートから前記入力ビットレートを減じて前記時間区間ごとの第2の伝送ビットレートを算出する手段と、
前記第2の伝送ビットレートに従って動画像データを符号化する符号化手段と、
を具備することを特徴とする動画像符号化装置。 - 前記第1符号化データは、ロスレス符号化されたデータであることを特徴とする請求項1記載の動画像符号化装置。
- 前記第1符号化データは、サブピクチャであることを特徴とする請求項1記載の動画像符号化装置。
- 第3の伝送ビットレートで可変ビットレート制御する際に各画像に割り当てられる符号量と、前記第2の伝送ビットレートとに基づいて仮想デコーダバッファの入出力のシミュレーションを行う手段と、仮想デコーダバッファのアンダーフローが発生した場合は、アンダーフローした符号量を他の画像に分配する手段とを具備することを特徴とする請求項1〜3のいずれか1記載の動画像符号化装置。
- 前記第1の伝送ビットレートは、前記可変ビットレートで符号化された前記符号化データと、前記符号化手段で符号化された動画像データと、を多重化する際の伝送ビットレートであることを特徴する請求項1〜4のいずれか1記載の動画像符号化装置。
- 前記復号化時間間隔は、前記第1の伝送ビットレートで多重化されたデータを分離するために必要とされるシステムターゲットデコーダのバッファのサイズを、前記第1の伝送ビットレートで割った値以上であることを特徴とする請求項1〜5のいずれか1項記載の動画像符号化装置。
- 前記復号化時間間隔は、符号化予定のGOP長間隔以上であることを特徴とする請求項1〜5のいずれか1項記載の動画像符号化装置。
- 前記可変ビットレートで符号化された前記符号化データと前記符号化手段で符号化された動画像データとを多重化するMPEG2 PS(Program Stream)方式の多重化手段を更に含み、前記システムターゲットデコーダのバッファはP−STDバッファであることを特徴とする請求項6記載の動画像符号化装置。
- 前記可変ビットレートで符号化された前記符号化データと前記符号化手段で符号化された動画像データとを多重化するMPEG2 TS(Transport Stream)方式の多重化手段を更に含み、前記システムターゲットデコーダのバッファはT―STDバッファであることを特徴とする請求項6記載の動画像符号化装置。
- 可変ビットレートで事前に符号化された可変ビットレート符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、前記入力符号化データの前記時間区間毎の入力ビットレートを算出し、第1の伝送ビットレートから前記入力ビットレートを減じて前記時間区間ごとの第2の伝送ビットレートを算出するステップと、
第3の伝送ビットレートで可変ビットレート制御すると仮定したときの各画像に割り当てられる符号量と、前記第2の伝送ビットレートとに基づいて仮想デコーダバッファの入出力のシミュレーションを行い、仮想デコーダバッファのアンダーフローが発生した場合は、アンダーフローした符号量を他の画像に分配するステップと、
を有することを特徴とする動画像符号化方法。 - 可変ビットレートで事前に符号化された符号化データを含む符号化データをデコーダバッファに入力されてから復号化されるまでの遅延時間が最小となるように、第1の伝送ビットレートで前記符号化データを多重化するステップと、
前記多重化データに対して、さらに動画像データを加えて多重化することが可能である時間あたりの符号量に対応する第2の伝送ビットレートを算出するステップと、
第3の伝送ビットレートで可変ビットレート制御すると仮定して各画像に割り当てられる符号量と、前記第第2の伝送ビットレートとに基づいて仮想デコーダバッファの入出力のシミュレーションを行い、仮想デコーダバッファのアンダーフローが発生した場合は、アンダーフローした符号量を他の画像に分配するステップと、
を有することを特徴とする動画像符号化方法。 - 可変ビットレートで事前に符号化された符号化データを含む入力符号化データを復号化時間方向に分割して得られる複数の時間区間の各々の符号量から、前記入力符号化データの前記時間区間ごとの入力ビットレートを算出し、所定の第1の伝送ビットレートから前記入力ビットレートを減じて前記時間区間ごとの第2の伝送ビットレートを算出する機能と、
第3の伝送ビットレートで可変ビットレート制御するとしたら各画像に割り当てられる符号量と、第2の伝送ビットレートとに基づいて仮想デコーダバッファの入出力のシミュレーションを行う機能と、
仮想デコーダバッファのアンダーフローが発生した場合は、アンダーフローした符号量を他の画像に分配する機能と、
をコンピュータに実行させることを特徴とする動画像符号化プログラム。 - 可変ビットレートで事前に符号化された符号化データを含む符号化データをデコーダバッファに入力されてから復号化されるまでの遅延時間が最小となるように、前記符号化データを第1の伝送ビットレートで多重化する機能と、
前記多重化データに対して、さらに動画像データを加えて多重化することが可能である時間あたりの符号量を第2の伝送ビットレートとして算出する機能と、
第3の伝送ビットレートで可変ビットレート制御するときに各画像に割り当てられる符号量と、前記第第2の伝送ビットレートとに基づいて仮想デコーダバッファの入出力のシミュレーションを行い、仮想デコーダバッファのアンダーフローが発生した場合は、アンダーフローした符号量を他の画像に分配する機能と、をコンピュータに実行させることを特徴とする動画像符号化プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008008361A JP2009171339A (ja) | 2008-01-17 | 2008-01-17 | 動画像符号化装置、方法及びプログラム |
US12/233,627 US20090185620A1 (en) | 2008-01-17 | 2008-09-19 | Video encoding apparatus and method for the same |
CNA2009100050404A CN101489127A (zh) | 2008-01-17 | 2009-01-14 | 视频编码设备以及视频编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008008361A JP2009171339A (ja) | 2008-01-17 | 2008-01-17 | 動画像符号化装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009171339A true JP2009171339A (ja) | 2009-07-30 |
Family
ID=40876490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008008361A Withdrawn JP2009171339A (ja) | 2008-01-17 | 2008-01-17 | 動画像符号化装置、方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090185620A1 (ja) |
JP (1) | JP2009171339A (ja) |
CN (1) | CN101489127A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011155685A (ja) * | 2011-04-04 | 2011-08-11 | Ntt Electornics Corp | 符号化装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014264B1 (en) * | 2011-11-10 | 2015-04-21 | Google Inc. | Dynamic media transmission rate control using congestion window size |
US8989508B2 (en) * | 2012-09-28 | 2015-03-24 | Sharp Kabushiki Kaisha | Electronic device for signaling a sub-picture buffer parameter |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3771954B2 (ja) * | 1995-08-04 | 2006-05-10 | ソニー株式会社 | 画像表示制御装置および方法 |
US6094455A (en) * | 1996-09-25 | 2000-07-25 | Matsushita Electric Industrial Co., Ltd. | Image compression/encoding apparatus and system with quantization width control based on bit generation error |
JP2902386B2 (ja) * | 1997-10-17 | 1999-06-07 | ケイディディ株式会社 | 動画像の圧縮符号化装置 |
GB2337392B (en) * | 1997-12-08 | 2002-04-17 | Sony Corp | Coding device and method |
US6434196B1 (en) * | 1998-04-03 | 2002-08-13 | Sarnoff Corporation | Method and apparatus for encoding video information |
US7088725B1 (en) * | 1999-06-30 | 2006-08-08 | Sony Corporation | Method and apparatus for transcoding, and medium |
JP2001251616A (ja) * | 2000-03-02 | 2001-09-14 | Media Glue Corp | 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体 |
-
2008
- 2008-01-17 JP JP2008008361A patent/JP2009171339A/ja not_active Withdrawn
- 2008-09-19 US US12/233,627 patent/US20090185620A1/en not_active Abandoned
-
2009
- 2009-01-14 CN CNA2009100050404A patent/CN101489127A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011155685A (ja) * | 2011-04-04 | 2011-08-11 | Ntt Electornics Corp | 符号化装置 |
Also Published As
Publication number | Publication date |
---|---|
US20090185620A1 (en) | 2009-07-23 |
CN101489127A (zh) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4358215B2 (ja) | 動画像符号化装置及びその方法 | |
US8345774B2 (en) | Hypothetical reference decoder | |
US5677969A (en) | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system | |
US20110142125A1 (en) | Gop-independent dynamic bit-rate controller | |
US8798162B2 (en) | Encoding method, decoding method, encoder, and decoder | |
US20150172680A1 (en) | Producing an Output Need Parameter for an Encoder | |
JP2005294977A (ja) | スライドウィンドウ(slidingwindow)を用いた2パスビデオエンコーディング方法とシステム | |
JP2009296286A (ja) | ビットレート変換装置及び変換方法 | |
KR20070029072A (ko) | 동화상 신호의 부호화 장치, 동화상 신호의 부호화 방법 및컴퓨터 판독 가능한 기록 매체 | |
JP2009171339A (ja) | 動画像符号化装置、方法及びプログラム | |
CA2524809C (en) | Methods and apparatus for improving video quality in statistical multiplexing | |
JP6344386B2 (ja) | 時系列データ符号化装置、方法およびプログラム、並びに時系列データ再符号化装置、方法およびプログラム | |
JPWO2008053557A1 (ja) | 動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラムおよび動画像再符号化プログラムを格納した記録媒体 | |
JP2005210502A (ja) | 画像再圧縮装置および画像再圧縮方法 | |
US8619864B2 (en) | Transcoding/encoding with code amount adjustment and stuffing bits | |
JP4231045B2 (ja) | 動画像符号化方法及び装置 | |
US20130162770A1 (en) | 3d encoding apparatus | |
JP4879958B2 (ja) | 映像・音声ストリーム伝送制御方法、映像・音声ストリーム伝送制御装置、映像・音声ストリーム伝送制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4038774B2 (ja) | 符号化装置及び符号化方法 | |
JPH11234671A (ja) | 信号処理装置 | |
JP4878051B2 (ja) | 符号化ストリーム伝送方法,符号化ストリーム伝送装置,符号化ストリーム伝送制御プログラムおよびその記録媒体 | |
JP2016149770A (ja) | ストリーミングレイテンシの最小化システム及びそれを使用する方法 | |
JP2006314048A (ja) | 画像記録装置 | |
JP4878052B2 (ja) | 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体 | |
JP2005151095A (ja) | 統計多重装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110405 |