(57)【特許請求の範囲】
【請求項１】
復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをＨ．２６４／ＡＶＣ規格に準拠したＮＡＬ（Network Abstraction Layer）と、ＶＣＬ（Video Coding Layer）とを含む構造の符号化データに符号化する符号化装置において、
レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析手段と、
上記解析結果に基づいて上記画像データをＨ．２６４／ＡＶＣ規格に準拠した符号化データに符号化する符号化手段とを備え、
上記解析手段は、ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析する符号化装置。
【請求項２】
上記画像データの編集点を指定する入力手段と、
上記データサイズが大きいＮＡＬのアクセスユニットのinitial_cpb_removal_delayに基づいて上記編集点を含む再符号化区間を決定する決定手段とを備え、
上記符号化手段は、上記再符号化区間の画像データを再符号化する請求項１記載の符号化装置。
【請求項３】
上記決定手段は、ＶＣＬがアクセスユニットのinitial_cpb_removal_delayの制約条件を満たしているかを判別し、当該制約条件を満たしていない場合、ＶＣＬのアクセスユニットのinitial_cpb_removal_delayの値を書き換える請求項２記載の符号化装置。
【請求項４】
復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをＨ．２６４／ＡＶＣ規格に準拠したＮＡＬ（Network Abstraction Layer）と、ＶＣＬ（Video Coding Layer）とを含む構造の符号化データに符号化する符号化方法において、
レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、
上記解析結果に基づいて上記画像データをＨ．２６４／ＡＶＣ規格に準拠した符号化データに符号化する符号化工程とを有し、
上記解析工程では、ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析する符号化方法。
【請求項５】
復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをＨ．２６４／ＡＶＣ規格に準拠したＮＡＬ（Network Abstraction Layer）と、ＶＣＬ（Video Coding Layer）とを含む構造の符号化データに符号化する処理をコンピュータに実行させるためのプログラムであって、
レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、
上記解析結果に基づいて上記画像データをＨ．２６４／ＡＶＣ規格に準拠した符号化データに符号化する符号化工程とを有し、
上記解析工程では、ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想デコータを用いて画像データを符号化する符号化装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、符号化装置（エンコーダ）は、ビットストリームを符号化する際、デコーダのバッファをオーバーフロー及びアンダーフローさせないように仮想デコーダという概念を導入している（例えば、特許文献１参照。）。また、画像フォーマットが想定する転送速度での再生を保障するため、仮想デコーダのモデルには、バッファモデルの概念と、バッファモデルを満たすためのバッファコンフォーマンスの概念とを導入している。
【０００３】
バッファモデルは、図１０（Ａ）に示すように、想定する転送速度で画像データが入力してバッファに貯められ、特定のデコードタイミングで画像データが消費されていくモデルである。なお、画像フォーマットによっては、追加の条件が追加されることがある。
【０００４】
また、バッファコンフォーマンスは、画像データがその画像フォーマットで規定されたバッファモデルへの適合性である。例えば、図１０（Ｂ）に示すａ点のように、デコードタイミングで画像データが揃っていない場合（アンダーフロー）、図１０（Ｂ）に示すｂ点のように、用意されているバッファのサイズを越えて画像データが入力されてしまう場合（オーバーフロー）、又は、図１０（Ｃ）に示すｃ点のように、特定のタイミングでのバッファコンフォーマンスを満たせない場合（バッファ量の保障情報を満たせない場合）等は、バッファコンフォーマンス（規格適合性）違反となる。
【０００５】
【特許文献１】特開２００７−５９９９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述のような仮想デコードを用いて符号化する場合、符号化装置は全ての制約条件（バッファコンフォーマンス）について演算を行い、全ての制約条件を満たさなければならないため、符号化処理に時間が掛かっていた。また、全ての制約条件を満たすと最も厳しい制約条件に合わされるため、再エンコードする際のバッファ使用量が制限され、再エンコード区間の画質が劣化することがあった。
【０００７】
本発明は、このような従来の実情に鑑みて提案されたものであり、高画質な符号化データを高速に得ることができる符号化装置及び方法、並びにプログラムを提供する。
【課題を解決するための手段】
【０００８】
上述の課題を解決するために、本発明に係る符号化装置は、復復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをＨ．２６４／ＡＶＣ規格に準拠したＮＡＬ（Network Abstraction Layer）と、ＶＣＬ（Video Coding Layer）とを含む構造の符号化データに符号化する符号化装置において、レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析手段と、上記解析結果に基づいて上記画像データをＨ．２６４／ＡＶＣ規格に準拠した符号化データに符号化する符号化手段とを備え、上記解析手段は、ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することを特徴としている。
【０００９】
また、本発明に係る符号化方法は、復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをＨ．２６４／ＡＶＣ規格に準拠したＮＡＬ（Network Abstraction Layer）と、ＶＣＬ（Video Coding Layer）とを含む構造の符号化データに符号化する符号化方法において、レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、上記解析結果に基づいて上記画像データをＨ．２６４／ＡＶＣ規格に準拠した符号化データに符号化する符号化工程とを有し、上記解析工程では、ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することを特徴としている。
【００１０】
また、本発明に係るプログラムは、復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをＨ．２６４／ＡＶＣ規格に準拠したＮＡＬ（Network Abstraction Layer）と、ＶＣＬ（Video Coding Layer）とを含む構造の符号化データに符号化する処理をコンピュータに実行させるためのプログラムであって、レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、上記解析結果に基づいて上記画像データをＨ．２６４／ＡＶＣ規格に準拠した符号化データに符号化する符号化工程とを有し、上記解析工程では、ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することを特徴としている。
【発明の効果】
【００１１】
ＮＡＬ又はＶＣＬの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、ＮＡＬのアクセスユニット占有量を算出して仮想バッファの下限値及びアクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することで、Ｈ．２６４／ＡＶＣ規格に準拠した高画質な符号化データを高速に得ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本発明の具体例として示す符号化装置は、Ｈ．２６４／ＡＶＣ（ＩＳＯ  MPEG-4 Part 10 Advanced Video Coding）と呼ばれる動画像符号化方式に符号化するものである。
【００１３】
Ｈ．２６４／ＡＶＣでは、動画像符号化処理そのものを扱うＶＣＬ（Video Coding Layer：ビデオ符号化レイヤ）と、符号化された情報を伝送・蓄積する下位システムとの間にあるＮＡＬ（Network Abstraction Layer：ネットワーク抽象レイヤ）というレイヤ（層）が規定されており、ＶＣＬとＮＡＬが分離されたビットストリーム構造となっている。
【００１４】
また、Ｈ．２６４／ＡＶＣでは、符号化装置（エンコーダ）が復号装置（デコーダ）のバッファを破綻させないように、画像のビットストリームを生成するため、ＨＲＤ（Hypothetical Reference Decoder：仮想参照デコーダ）と呼ばれる仮想デコーダモデルを規定している。このＨＲＤは、デコーダに入力する前のビットストリームを保存するＣＰＢ（Coded Picture Buffer：符号化ピクチャバッファ）を規定している。ＶＣＬ及びＮＡＬのアクセスユニット（ＡＵ）のデータは、仮想ストリームスケジューラ（Hypothetical Stream Scheduler：ＨＳＳ）によって、規定の到着時刻にＣＰＢに入力される。各アクセスユニットのデータは、ＣＰＢからそのアクセスユニットのデータを読み出すＣＰＢリムーバルタイム（CPB removal time）の時刻に瞬時に取り除かれ、仮想デコーダによって瞬時に復号される。
【００１５】
このＨＲＤに関する情報は、ＳＰＳ(Sequence parameter set) により伝送される。また、このＨＲＤの動作に関する情報は、バッファリング期間ＳＥＩ及びピクチャタイミングＳＥＩにより伝送される。このＳＥＩ（Supplemental Enhancement Information）は、ビットストリームのデコード処理に直接関係のない補足的な付加情報である。
【００１６】
また、Ｈ．２６４／ＡＶＣでは、ＮＡＬ及びＶＣＬについて個別にＣＰＢのバッファコンフォーマンス（規格適合性）を満さなければならない。ＣＰＢのバッファコンフォーマンスのチェック項目としては、オーバーフローチェック、アンダーフローチェック、及びinitial_cpb_removal_delayチェックがある。なお、オーバーフローチェックは、可変ビットレート(variable bit rate：ＶＢＲ)の場合は不要である。
【００１７】
図１は、ＣＰＢの動作例を示す図である。この図１において、ｔａｉ（ｎ）はｎ番目のＡＵのＣＰＢへの流入開始時間であり、ｔａｆ（ｎ）はｎ番目のＡＵのＣＰＢへの流入完了時間である。また、ｔｒ，ｎ（ｎ）はｎ番目のＡＵのＣＰＢからの引き抜き時間（リムーバルタイム）である。
【００１８】
initial_cpb_removal_delayは、ビットストリームの最初のアクセスユニットのバッファからの引き出し遅延時刻である。つまり、initial_cpb_removal_delayは、間接的にその時点でのバッファに貯められているデータ量を示し、値が大きければ大きいほどその時点でのバッファに貯められたデータ量が多いということになる。
【００１９】
initial_cpb_removal_delayチェックでは、可変ビットレート(variable bit rate：ＶＢＲ)の場合、下記式を満たすかどうかを判別する。すなわち、initial_cpb_removal_delayがΔtg,90( n )を切り上げ整数化した値以下であるかどうかを判別する。
【００２０】
initial_cpb_removal_delay ≦ Ceil( Δtg,90( n ) )
ここで、Δtg,90( n ) = 90000 * ( tr,n( n ) - taf( n - 1 ) )である。
【００２１】
また、固定ビットレート（Constant Bit Rate：ＣＢＲ）の場合、下記式を満たすかどうかを判別する。すなわち、initial_cpb_removal_delayがΔtg,90( n )を切り下げ整数化した値以上かつΔtg,90( n )を切り上げ整数化した値以下であるかどうかを判別する。
【００２２】
Floor( Δtg,90( n ) ) <= initial_cpb_removal_delay <= Ceil( Δtg,90( n ) )
ＣＰＢに入力されるＮＡＬ及びＶＣＬは、ＡＵサイズが異なり、ＳＰＳ及びバッファリング期間ＳＥＩによって、それぞれ別のシンタックスビットレート及びinitial_cpb_removal_delayを指定することができる。そのため、両方についてビットレートコンフォーマンスの演算を行い、制限を満たす必要がある。
【００２３】
図２は、ＮＡＬ及びＶＣＬのアクセスユニットのＣＰＢ占有量を模式的に示す図である。ＮＡＬ及びＶＣＬが同じシンタックスビットレートの場合、ＮＡＬ及びＶＣＬともにＣＰＢに同量のデータが貯められる。しかし、ＮＡＬは付加情報の分ＶＣＬよりもＡＵサイズが大きく、また使用量はＮＡＬ>ＶＣＬとなるため、蓄積するＮＡＬのデータ量は付加情報の分だけＶＣＬから離れていく。
【００２４】
そこで、本実施の形態における符号化装置は、ＮＡＬ及びＶＣＬのビットレートが同じ場合、アクセスユニットのデータサイズが大きいＮＡＬの条件のみを満たすように符号化することにより、符号化速度を向上させる。
【００２５】
図３は、本発明を適用した編集装置１のハードウェア構成を示すブロック図である。ＣＰＵ（Central Processing Unit）１１は、ノースブリッジ１２に接続され、例えば、ＨＤＤ（Hard disk Drive）１６に記憶されているデータの読み出しなどの処理の制御や、ＣＰＵ２０が実行する編集処理を制御するためのコマンドや制御情報の生成を行う。
【００２６】
また、ＣＰＵ１１は、ＨＤＤ１６に記録されている編集対象である圧縮映像データ（以下、素材とも称する）を読み出して、編集点の近傍のみを部分的にデコードさせ、切り出し、接続等を行った後に再エンコードして編集させる場合、再エンコード時に仮想バッファ占有量の規格を満たして、再エンコード部分と再エンコードしない部分のバッファ占有量の連続性を維持しつつ、結合点前後のバッファ占有量に制限をできるだけ少なくして発生符号量を十分に割り当てることができるような再エンコード範囲の設定、及び再エンコード範囲の最初のバッファ占有量の下限値と最後のバッファ占有量の上限値を決定する。また、ＣＰＵ１１は、決定されたバッファ情報をＣＰＵ２０が実行する編集処理を制御するためのコマンドとともに出力する。再エンコード範囲の設定、及び再エンコード範囲の最初と最後のバッファ占有量の設定値の決定方法については後述するが、このようにバッファ情報を決定することにより、再エンコード範囲に発生符号量をより多く与えることが可能であるので、編集点近傍の画像品質の劣化を可能な限り防止することができる。
【００２７】
ノースブリッジ１２は、ＰＣＩバス（Peripheral Component Interconnect/Interface）１４に接続され、例えば、ＣＰＵ１１の制御に基づいて、サウスブリッジ１５を介して、ＨＤＤ１６に記憶されているデータの供給を受けて、ＰＣＩバス１４、ＰＣＩブリッジ１７を介して、メモリ１８に供給する。また、ノースブリッジ１２は、メモリ１３とも接続されており、ＣＰＵ１１の処理に必要なデータを授受する。
【００２８】
メモリ１３は、ＣＰＵ１１が実行する処理に必要なデータを保存する。サウスブリッジ１５は、ＨＤＤ１６のデータの書き込み及び読み出しを制御する。ＨＤＤ１６には、圧縮符号化された編集用の素材が記憶されている。
【００２９】
ＰＣＩブリッジ１７は、メモリ１８のデータの書き込み及び読み出しの制御や、デコーダ２２乃至２４、又はストリームスプライサ２５への圧縮符号化されたデータ（素材）の供給の制御を行い、ＰＣＩバス１４及びコントロールバス１９のデータの授受を制御する。メモリ１８は、ＰＣＩブリッジ１７の制御に基づいて、ＨＤＤ１６により読み出された、編集用素材である圧縮符号化されたデータや、ストリームスプライサ２５から供給される編集後の圧縮符号化されたデータを記憶する。
【００３０】
ＣＰＵ２０は、ノースブリッジ１２、ＰＣＩバス１４、ＰＣＩブリッジ１７、及びコントロールバス１９を介して、ＣＰＵ１１から供給されたコマンド及び制御情報にしたがって、ＰＣＩブリッジ１７、デコーダ２２乃至２４、ストリームスプライサ２５、エフェクト／スイッチ２６、及びエンコーダ２７が実行する処理を制御する。メモリ２１は、ＣＰＵ２０の処理に必要なデータを記憶する。
【００３１】
デコーダ２２乃至デコーダ２４は、ＣＰＵ２０の制御に基づいて、供給された圧縮符号化データをデコードし、非圧縮の映像信号を出力する。デコーダ２２及びデコーダ２３において実行されるデコードの範囲は、ＣＰＵ１１によってきめられる再エンコード範囲と同一でもよいし、再エンコード範囲を含むそれ以上の範囲であってもよい。ストリームスプライサ２５は、ＣＰＵ２０の制御に基づいて、供給された圧縮映像データを、所定のフレームで結合する。また、デコーダ２２乃至デコーダ２４は、編集装置１に含まれない独立した装置として設けられていても良い。例えば、デコーダ２４が、独立した装置として設けられている場合、デコーダ２４は、後述する処理により編集されて生成された圧縮編集映像データの供給を受け、復号し、出力することができるようになされる。
【００３２】
また、デコーダ２２乃至デコーダ２４は、必要に応じて、実際の編集作業の前段階として、ストリームの解析を行うために、素材のデコードを行い、バッファに蓄積される符号量の情報を、ＣＰＵ２０に通知するようにしてもよい。ＣＰＵ２０は、コントロールバス１９、ＰＣＩブリッジ１７、ＰＣＩバス１４、及びノースブリッジ１２を介して、ＣＰＵ１１に、デコード時にバッファに蓄積される符号量の情報を通知する。
【００３３】
エフェクト／スイッチ２６は、ＣＰＵ２０の制御に基づいて、デコーダ２２又はデコーダ２３から供給される、非圧縮の映像信号出力を切り替える、すなわち、供給された非圧縮の映像信号を所定のフレームで結合するとともに、必要に応じて、所定の範囲にエフェクトを施して、エンコーダ２７に供給する。エンコーダ２７は、ＣＰＵ２０の制御に基づいて、供給された非圧縮の映像信号のうち、再エンコード範囲として設定された部分の非圧縮の映像信号をエンコードして、圧縮符号化された圧縮映像データを、ストリームスプライサ２５に出力する。
【００３４】
このような編集装置１において、ＨＤＤ１６には、例えば、Ｈ．２６４／ＡＶＣ規格のフォーマットで圧縮され、ＶＢＲ又はＣＢＲで転送される素材が記憶されている。ＣＰＵ１１は、ＨＤＤ１６に保持されている圧縮符号化された映像素材のうち、図示しない操作入力部から供給されたユーザの操作入力を基に、編集に用いられる素材として選択された圧縮符号化された素材のデータの発生符号量に関する情報を取得し、この情報を基に、再エンコード範囲の最初と最後のバッファ占有量を決定し、再エンコード区間（ＲＲ区間）を決定する。このように時間の掛かる処理であるＲＲ区間を限定し、それ以外の区間を元素材のエンコード結果をそのまま用いて高速処理できる区間（以下、ＳＲ区間）とすることで、いわゆるスマートレンダリング（Smart Rendering）と呼ばれる編集高速技術を実現している。
【００３５】
スマートレンダリングにおいて、ＲＲ区間とＳＲ区間とは連続的な画で構成されていることがほとんどである。しかし、ＲＲ区間とＳＲ区間との境界部分において画質に違いがある場合、画のギャップが発生してしまう。それを避けるため、ＲＲ区間の画質を上げる必要がある。ほとんどのケースにおいて、ＲＲ区間の長さを延長すれば、画質の向上効果を得ることができる。そのため、ＲＲ区間長は、ＲＲ−ＳＲ区間の結合部分でギャップが発生しない条件で、最も短い区間長を選択することにより、高速処理を実現する。
【００３６】
例えば、Ｈ．２６４／ＡＶＣ編集では、ＲＲ区間にて、ギャップが発生しない画質を実現できているかを、以下の２つの情報から計算する。１つ目は、区間のシンタックスビットレートと平均ビットレートとの差である。アクセスユニットのシンタックスに記載されたビットレートに比べ、実際に計測された平均ビットレートが低いということは、その画に必要な情報量が少ない、簡単な画ということになる。つまり、そういった画は、ＲＲ区間が短くても、ギャップが発生しない画質が達成できるため、ＲＲ区間長が短い方向へ向かう判断材料となる。２つ目は、ＲＲ区間の開始initial_cpb_removal_delay、及びＲＲ区間の終端initial_cpb_removal_delayである。initial_cpb_removal_delayは、間接的に、その時点でのバッファに貯められているデータ量を示し、値が大きければ大きいほど、その時点でのバッファに貯められたデータ量が多いということになる。この情報によって規定される開始／終了時のバッファ状態から、ＲＲ区間で使用することができるデータ量に余裕があるかどうかを判断する。
【００３７】
具体的には、図４（Ａ）に示すように、ＲＲ区間終了時に使用可能なデータ量に余裕があれば、画を作るために使用するデータを多く取れるため、画質を向上することができる。一方、図４（Ｂ）に示すように、ＲＲ区間終了時に使用可能なデータ量が少ない場合、画質向上のためにＲＲ区間が長くなってしまう。つまり、ＲＲ区間開始時のinitial_cpb_removal_delayが大きければ大きいほど、ＲＲ区間終了時の initial_cpb_removal_delayが小さければ小さいほど、ＲＲ区間長が短い方向へ向かう判断材料となる。
【００３８】
ところで、initial_cpb_removal_delayは、上述したビットストリームコンフォーマンスによって、取りうる値に制限がある。特に、ＳＲ区間とＳＲ区間との境界ａ,ｂでは、図５に示すようにinitial_cpb_removal_delayによってＳＲ区間長が決定される。また、ＮＡＬ及びＶＣＬは、それぞれ別のinitial_cpb_removal_delayを持っており、ＲＲ区間長の決定では、ＮＡＬ/ＶＣＬそれぞれで算出されたＲＲ区間長のうち、厳しい側、すなわち区間長が長い方が選択されてしまう。
【００３９】
また、図６に示すように、ＮＡＬ及びＶＣＬが同じシンタックスビットレートの場合、ＮＡＬ及びＶＣＬともに同量のデータがバッファに貯められるが、使用量はＮＡＬ＞ＶＣＬとなるため、蓄積するＮＡＬのデータ量は付加情報の分だけＶＣＬから離れていく。その結果、ＶＣＬの条件で算出されたＲＲ区間長は、ＮＡＬの条件で算出されたものよりも長くなってしまう。
【００４０】
そこで、本実施の形態における編集装置は、ＶＣＬ側の条件を無視し、ＮＡＬ側の条件のみを使用する。これにより、選択されるＲＲ区間長は、従来のスマートレンダリング処理に比べて短くなり、編集を高速化することができる。
【００４１】
図７は、ＣＰＵ１１が再エンコード区間を決定する機能を説明するための機能ブロック図である。
【００４２】
発生符号量検出部５１は、ＨＤＤ１６に保存されている、編集対象の素材の発生符号量を検出し、検出結果をバッファ占有量解析部５２に供給する。発生符号量の検出方法は、例えば、ＨＤＤ１６に保存されている素材のデータを解析することにより、符号量（すなわち、ピクチャヘッダ間の符号量）を検出するようにしてもよいし、素材のデータをデコーダ２２乃至２４で一旦デコードさせて、バッファの蓄積量を検出するようにしてもよい。
【００４３】
バッファ占有量解析部５２は、発生符号量検出部５１から供給された、素材の発生符号量の情報を基に、再エンコードを行わない区間（ＳＲ区間）と再エンコード区間（ＲＲ区間）との接続点付近におけるバッファ占有量のモデル状態を解析する。具体的には、シンタックスビットレート、initial_cpb_removal_delay等を基にしてバッファ占有量を解析する。
【００４４】
また、バッファ占有量解析部５２は、ＮＡＬ及びＶＣＬのシンタックスビットレートを解析し、各レイヤのアクセスユニットのビットレートが同じかどうかを判別する。具体的には、ＮＡＬ及びＶＣＬのシンタックスビットレートの差が閾値以下の場合、ビットレートが同じであると判別する。ここで、各レイヤのアクセスユニットが同じ場合、後述するようにＮＡＬユニットのみバッファ占有量を解析する。
【００４５】
そして、バッファ占有量解析部５２は、解析したバッファ占有量をバッファ占有量決定部５３及び再エンコード区間決定部５４にそれぞれ供給する。
【００４６】
バッファ占有量決定部５３は、ＮＡＬ及びＶＣＬについて解析したバッファ占有量がビットストリームコンフォーマンスを満たしているか否かを判別し、判別結果に応じてバッファ占有量を決定する。また、バッファ占有量解析部５２は、ビットストリームコンフォーマンスを満たしていない場合、initial_cpb_removal_delayの値の付け替えを再エンコードせずに行う。これにより規格に準拠した素材に高速変換することができる。
【００４７】
再エンコード区間決定部５４は、シンタックスビットレート、平均ビットレート、initial_cpb_removal_delay等のバッファ占有量の解析結果に基づいてＲＲ区間長を決定する。具体的には、図８に示す表のように、ＲＲ区間開始initial_cpb_removal_delayとＲＲ区間終了initial_cpb_removal_delayとの差ｘと、平均ビットレートとからＲＲ区間長が決定される。なお、バッファ占有量決定部５３及び再エンコード区間決定部５４の処理は、いずれか一方のみが実行されるものとしてもよいし、この２つの処理を複合させることも可能である。
【００４８】
コマンドおよび制御情報生成部５５は、バッファ占有量決定部５３により決定された再エンコード区間における先頭と最後のバッファ占有量の値と、再エンコード区間決定部５４により決定された再エンコード区間とを取得し、これらの情報と、ユーザにより指定された編集点の情報と、編集開始コマンドを生成する。
【００４９】
次に、図９に示すフローチャートを参照して、本発明を適用した編集装置１が実行する編集処理について説明する。ＣＰＵ１１は、図示しない入力手段によってユーザから指定された素材の編集点付近の符号化データをＨＤＤ１６から読み出す。
【００５０】
ステップＳ１１において、バッファ占有量解析部５２は、編集対象の素材の編集点付近においてＮＡＬユニット及びＶＣＬユニットのシンタックスビットレートを解析し、その差が閾値以下、すなわち同じ値かどうかを判別する。
【００５１】
ステップＳ１１において、ＮＡＬユニット及びＶＣＬユニットのシンタックスビットレートが同じではない場合、従来のスマートレンダリング処理を行う（ステップＳ１２）。すなわち、ＮＡＬユニット及びＶＣＬユニットについてそれぞれバッファ占有量を解析し、両者がバッファコンフォーマンスを満たすようにＲＲ区間が決定される。
【００５２】
一方、ＮＡＬユニット及びＶＣＬユニットが同じ場合、バッファ占有量解析部５２は、ＮＡＬユニットのみのバッファ占有量を解析する。また、再エンコード区間決定部５４は、ＮＡＬユニットのみのバッファコンフォーマンスを満たすＲＲ区間を決定する（ステップＳ１３）。ＮＡＬユニットは、ＶＣＬユニットに比べてバッファ占有量が小さいため、initial_cpb_remoal_delayによって算出されたＲＲ区間長は、ＶＣＬユニットの条件で算出されたものよりも短くなる。このようにＲＲ区間を短くすることにより、再エンコードに掛かる時間を減少させ高速化することができる。また、ＲＲ区間の終了点におけるバッファ占有量を小さくすることができるため、ＲＲ区間の最後のフレームに配分可能な符号量の上限値を増加させることができる。これにより、ＲＲ区間におけるバッファ占有量の制御の自由度が増し、ＲＲ区間の画質を高画質化することができる。
【００５３】
ステップＳ１４において、コマンドおよび制御情報生成部５５は、ＮＡＬユニットの条件のみ、すなわち再エンコード区間決定部５４にて決定されたＲＲ区間長で再エンコードさせるようにコマンドおよび制御情報を生成する。
【００５４】
上述の通りＶＣＬのバッファ占有量は、ＮＡＬ側に比べて必ず多くなることから、ＮＡＬ側でアンダーフローとならなければ、ＶＣＬ側でもアンダーフローとなることは無いが、initial_cpb_removal_delayについては、ＲＲ区間とＳＲ区間との結合部でバッファコンフォーマンスが満たされないケースが発生する。
【００５５】
そこで、ステップＳ１５において、バッファ占有量決定部５３は、ＮＡＬユニットの条件のみで再エンコードされた場合、ＶＣＬユニットのビットストリームコンフォーマンスが満たされているか否かを判別する。ＶＣＬのビットストリームコンフォーマンスが満たされている場合編集処理を終了し、満たされていない場合ステップＳ１６に進む。
【００５６】
ステップＳ１６において、バッファ占有量決定部５３は、バッファコンフォーマンスを満たさない可能性があるＶＣＬのinital_cpb_removal_delayを再エンコードせずに付け替え、編集処理を終了する。initial_cpb_removal_delayの値は、バッファリング期間ＳＥＩに記載されており、その値を直接変更する。これにより、再エンコードを行うのに比べて、非常に高速に規格準拠の素材とすることができる。Ｈ．２６４／ＡＶＣの編集では、再エンコード時間が支配的なため、ＲＲ区間長の短縮によるエンコードの高速化のメリットの方が、この変換処理によるデメリットに比べて十分大きいため、全体として高速化を実現することができる。
【００５７】
以上説明したように、ＮＡＬとＶＣＬのシンタックスビットレートが同じ場合、ＮＡＬ側のみを解析することで、ＶＣＬ側の計算量の削減とＶＣＬによるバッファ占有量を抑え、高速化と高画質化を実現することができる。
【００５８】
また、ＮＡＬ側のみ解析により、ＶＣＬにinitial_cpb_removal_delayに規格違反の値が設定されていた場合、再エンコードせずに是正して設定することにより、規格に準拠した素材に高速に変換することができる。
【００５９】
さらに、このような高速化と高画質化によって、要求品質を実現するための性能要求を下げるとともに使用可能なユーザ層を広げることができる。
【００６０】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００６１】
【図１】ＣＰＢの動作例を示す図である。
【図２】ＮＡＬ及びＶＣＬのアクセスユニットのＣＰＢ占有量を模式的に示す図である。
【図３】本発明を適用した編集装置のハードウェア構成を示すブロック図である。
【図４】ＲＲ区間と使用可能データ量とを説明するための図である。
【図５】ＲＲ区間長の設定を模式的に示す図である。
【図６】ＮＡＬ及びＶＣＬが同じビットレートの場合のバッファ占有量を模式的に示す図である。
【図７】再エンコード区間を決定する機能を説明するための機能ブロック図である。
【図８】ＲＲ区間長の決定を説明するための図である。
【図９】編集処理の動作を示すフローチャートである。
【図１０】従来のバッファの動作例を示す図である
【符号の説明】
【００６２】
１１  ＣＰＵ、１２  ノースブリッジ、１３  メモリ、１４  バス、１５  サウスブリッジ、１６  ハードディスクドライブ、１７  ＰＣＩブリッジ、１８  メモリ、１９  コントロールバス、２０  ＣＰＵ、２１  メモリ、２２〜２４  デコーダ、２５  ストリームスプライサ、２６  スイッチ、２７  エンコーダ、５１  発生符号量検出部、５２  バッファ占有量解析部、５３  バッファ占有量決定部、５４  再エンコード区間決定部、５５  コマンドおよび制御情報生成部
【図１】
0004577357.tif 000002
【図２】
0004577357.tif 000003
【図３】
0004577357.tif 000004
【図４】
0004577357.tif 000005
【図５】
0004577357.tif 000006
【図６】
0004577357.tif 000007
【図７】
0004577357.tif 000008
【図８】
0004577357.tif 000009
【図９】
0004577357.tif 000010
【図１０】
0004577357.tif 000011