JP4577357B2 - 符号化装置及び方法、並びにプログラム - Google Patents

符号化装置及び方法、並びにプログラム Download PDF

Info

Publication number
JP4577357B2
JP4577357B2 JP2007337264A JP2007337264A JP4577357B2 JP 4577357 B2 JP4577357 B2 JP 4577357B2 JP 2007337264 A JP2007337264 A JP 2007337264A JP 2007337264 A JP2007337264 A JP 2007337264A JP 4577357 B2 JP4577357 B2 JP 4577357B2
Authority
JP
Japan
Prior art keywords
encoding
layer
nal
buffer
virtual buffer
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.)
Expired - Fee Related
Application number
JP2007337264A
Other languages
English (en)
Other versions
JP2009159464A (ja
Inventor
浩靖 下山
寛 長谷川
華代 堀内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007337264A priority Critical patent/JP4577357B2/ja
Priority to US12/329,712 priority patent/US20090168900A1/en
Publication of JP2009159464A publication Critical patent/JP2009159464A/ja
Application granted granted Critical
Publication of JP4577357B2 publication Critical patent/JP4577357B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • 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
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing 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 by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/238Interfacing 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/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、仮想デコータを用いて画像データを符号化する符号化装置及び方法、並びにプログラムに関する。
従来、符号化装置(エンコーダ)は、ビットストリームを符号化する際、デコーダのバッファをオーバーフロー及びアンダーフローさせないように仮想デコーダという概念を導入している(例えば、特許文献1参照。)。また、画像フォーマットが想定する転送速度での再生を保障するため、仮想デコーダのモデルには、バッファモデルの概念と、バッファモデルを満たすためのバッファコンフォーマンスの概念とを導入している。
バッファモデルは、図10(A)に示すように、想定する転送速度で画像データが入力してバッファに貯められ、特定のデコードタイミングで画像データが消費されていくモデルである。なお、画像フォーマットによっては、追加の条件が追加されることがある。
また、バッファコンフォーマンスは、画像データがその画像フォーマットで規定されたバッファモデルへの適合性である。例えば、図10(B)に示すa点のように、デコードタイミングで画像データが揃っていない場合(アンダーフロー)、図10(B)に示すb点のように、用意されているバッファのサイズを越えて画像データが入力されてしまう場合(オーバーフロー)、又は、図10(C)に示すc点のように、特定のタイミングでのバッファコンフォーマンスを満たせない場合(バッファ量の保障情報を満たせない場合)等は、バッファコンフォーマンス(規格適合性)違反となる。
特開2007−59996号公報
ところで、上述のような仮想デコードを用いて符号化する場合、符号化装置は全ての制約条件(バッファコンフォーマンス)について演算を行い、全ての制約条件を満たさなければならないため、符号化処理に時間が掛かっていた。また、全ての制約条件を満たすと最も厳しい制約条件に合わされるため、再エンコードする際のバッファ使用量が制限され、再エンコード区間の画質が劣化することがあった。
本発明は、このような従来の実情に鑑みて提案されたものであり、高画質な符号化データを高速に得ることができる符号化装置及び方法、並びにプログラムを提供する。
上述の課題を解決するために、本発明に係る符号化装置は、復復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをH.264/AVC規格に準拠したNAL(Network Abstraction Layer)と、VCL(Video Coding Layer)とを含む構造の符号化データに符号化する符号化装置において、レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析手段と、上記解析結果に基づいて上記画像データをH.264/AVC規格に準拠した符号化データに符号化する符号化手段とを備え、上記解析手段は、NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することを特徴としている。
また、本発明に係る符号化方法は、復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをH.264/AVC規格に準拠したNAL(Network Abstraction Layer)と、VCL(Video Coding Layer)とを含む構造の符号化データに符号化する符号化方法において、レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、上記解析結果に基づいて上記画像データをH.264/AVC規格に準拠した符号化データに符号化する符号化工程とを有し、上記解析工程では、NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することを特徴としている。
また、本発明に係るプログラムは、復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをH.264/AVC規格に準拠したNAL(Network Abstraction Layer)と、VCL(Video Coding Layer)とを含む構造の符号化データに符号化する処理をコンピュータに実行させるためのプログラムであって、レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、上記解析結果に基づいて上記画像データをH.264/AVC規格に準拠した符号化データに符号化する符号化工程とを有し、上記解析工程では、NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することを特徴としている。
NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して仮想バッファの下限値及びアクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析することで、H.264/AVC規格に準拠した高画質な符号化データを高速に得ることができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本発明の具体例として示す符号化装置は、H.264/AVC(ISO MPEG-4 Part 10 Advanced Video Coding)と呼ばれる動画像符号化方式に符号化するものである。
H.264/AVCでは、動画像符号化処理そのものを扱うVCL(Video Coding Layer:ビデオ符号化レイヤ)と、符号化された情報を伝送・蓄積する下位システムとの間にあるNAL(Network Abstraction Layer:ネットワーク抽象レイヤ)というレイヤ(層)が規定されており、VCLとNALが分離されたビットストリーム構造となっている。
また、H.264/AVCでは、符号化装置(エンコーダ)が復号装置(デコーダ)のバッファを破綻させないように、画像のビットストリームを生成するため、HRD(Hypothetical Reference Decoder:仮想参照デコーダ)と呼ばれる仮想デコーダモデルを規定している。このHRDは、デコーダに入力する前のビットストリームを保存するCPB(Coded Picture Buffer:符号化ピクチャバッファ)を規定している。VCL及びNALのアクセスユニット(AU)のデータは、仮想ストリームスケジューラ(Hypothetical Stream Scheduler:HSS)によって、規定の到着時刻にCPBに入力される。各アクセスユニットのデータは、CPBからそのアクセスユニットのデータを読み出すCPBリムーバルタイム(CPB removal time)の時刻に瞬時に取り除かれ、仮想デコーダによって瞬時に復号される。
このHRDに関する情報は、SPS(Sequence parameter set) により伝送される。また、このHRDの動作に関する情報は、バッファリング期間SEI及びピクチャタイミングSEIにより伝送される。このSEI(Supplemental Enhancement Information)は、ビットストリームのデコード処理に直接関係のない補足的な付加情報である。
また、H.264/AVCでは、NAL及びVCLについて個別にCPBのバッファコンフォーマンス(規格適合性)を満さなければならない。CPBのバッファコンフォーマンスのチェック項目としては、オーバーフローチェック、アンダーフローチェック、及びinitial_cpb_removal_delayチェックがある。なお、オーバーフローチェックは、可変ビットレート(variable bit rate:VBR)の場合は不要である。
図1は、CPBの動作例を示す図である。この図1において、tai(n)はn番目のAUのCPBへの流入開始時間であり、taf(n)はn番目のAUのCPBへの流入完了時間である。また、tr,n(n)はn番目のAUのCPBからの引き抜き時間(リムーバルタイム)である。
initial_cpb_removal_delayは、ビットストリームの最初のアクセスユニットのバッファからの引き出し遅延時刻である。つまり、initial_cpb_removal_delayは、間接的にその時点でのバッファに貯められているデータ量を示し、値が大きければ大きいほどその時点でのバッファに貯められたデータ量が多いということになる。
initial_cpb_removal_delayチェックでは、可変ビットレート(variable bit rate:VBR)の場合、下記式を満たすかどうかを判別する。すなわち、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:CBR)の場合、下記式を満たすかどうかを判別する。すなわち、initial_cpb_removal_delayがΔtg,90( n )を切り下げ整数化した値以上かつΔtg,90( n )を切り上げ整数化した値以下であるかどうかを判別する。
Floor( Δtg,90( n ) ) <= initial_cpb_removal_delay <= Ceil( Δtg,90( n ) )
CPBに入力されるNAL及びVCLは、AUサイズが異なり、SPS及びバッファリング期間SEIによって、それぞれ別のシンタックスビットレート及びinitial_cpb_removal_delayを指定することができる。そのため、両方についてビットレートコンフォーマンスの演算を行い、制限を満たす必要がある。
図2は、NAL及びVCLのアクセスユニットのCPB占有量を模式的に示す図である。NAL及びVCLが同じシンタックスビットレートの場合、NAL及びVCLともにCPBに同量のデータが貯められる。しかし、NALは付加情報の分VCLよりもAUサイズが大きく、また使用量はNAL>VCLとなるため、蓄積するNALのデータ量は付加情報の分だけVCLから離れていく。
そこで、本実施の形態における符号化装置は、NAL及びVCLのビットレートが同じ場合、アクセスユニットのデータサイズが大きいNALの条件のみを満たすように符号化することにより、符号化速度を向上させる。
図3は、本発明を適用した編集装置1のハードウェア構成を示すブロック図である。CPU(Central Processing Unit)11は、ノースブリッジ12に接続され、例えば、HDD(Hard disk Drive)16に記憶されているデータの読み出しなどの処理の制御や、CPU20が実行する編集処理を制御するためのコマンドや制御情報の生成を行う。
また、CPU11は、HDD16に記録されている編集対象である圧縮映像データ(以下、素材とも称する)を読み出して、編集点の近傍のみを部分的にデコードさせ、切り出し、接続等を行った後に再エンコードして編集させる場合、再エンコード時に仮想バッファ占有量の規格を満たして、再エンコード部分と再エンコードしない部分のバッファ占有量の連続性を維持しつつ、結合点前後のバッファ占有量に制限をできるだけ少なくして発生符号量を十分に割り当てることができるような再エンコード範囲の設定、及び再エンコード範囲の最初のバッファ占有量の下限値と最後のバッファ占有量の上限値を決定する。また、CPU11は、決定されたバッファ情報をCPU20が実行する編集処理を制御するためのコマンドとともに出力する。再エンコード範囲の設定、及び再エンコード範囲の最初と最後のバッファ占有量の設定値の決定方法については後述するが、このようにバッファ情報を決定することにより、再エンコード範囲に発生符号量をより多く与えることが可能であるので、編集点近傍の画像品質の劣化を可能な限り防止することができる。
ノースブリッジ12は、PCIバス(Peripheral Component Interconnect/Interface)14に接続され、例えば、CPU11の制御に基づいて、サウスブリッジ15を介して、HDD16に記憶されているデータの供給を受けて、PCIバス14、PCIブリッジ17を介して、メモリ18に供給する。また、ノースブリッジ12は、メモリ13とも接続されており、CPU11の処理に必要なデータを授受する。
メモリ13は、CPU11が実行する処理に必要なデータを保存する。サウスブリッジ15は、HDD16のデータの書き込み及び読み出しを制御する。HDD16には、圧縮符号化された編集用の素材が記憶されている。
PCIブリッジ17は、メモリ18のデータの書き込み及び読み出しの制御や、デコーダ22乃至24、又はストリームスプライサ25への圧縮符号化されたデータ(素材)の供給の制御を行い、PCIバス14及びコントロールバス19のデータの授受を制御する。メモリ18は、PCIブリッジ17の制御に基づいて、HDD16により読み出された、編集用素材である圧縮符号化されたデータや、ストリームスプライサ25から供給される編集後の圧縮符号化されたデータを記憶する。
CPU20は、ノースブリッジ12、PCIバス14、PCIブリッジ17、及びコントロールバス19を介して、CPU11から供給されたコマンド及び制御情報にしたがって、PCIブリッジ17、デコーダ22乃至24、ストリームスプライサ25、エフェクト/スイッチ26、及びエンコーダ27が実行する処理を制御する。メモリ21は、CPU20の処理に必要なデータを記憶する。
デコーダ22乃至デコーダ24は、CPU20の制御に基づいて、供給された圧縮符号化データをデコードし、非圧縮の映像信号を出力する。デコーダ22及びデコーダ23において実行されるデコードの範囲は、CPU11によってきめられる再エンコード範囲と同一でもよいし、再エンコード範囲を含むそれ以上の範囲であってもよい。ストリームスプライサ25は、CPU20の制御に基づいて、供給された圧縮映像データを、所定のフレームで結合する。また、デコーダ22乃至デコーダ24は、編集装置1に含まれない独立した装置として設けられていても良い。例えば、デコーダ24が、独立した装置として設けられている場合、デコーダ24は、後述する処理により編集されて生成された圧縮編集映像データの供給を受け、復号し、出力することができるようになされる。
また、デコーダ22乃至デコーダ24は、必要に応じて、実際の編集作業の前段階として、ストリームの解析を行うために、素材のデコードを行い、バッファに蓄積される符号量の情報を、CPU20に通知するようにしてもよい。CPU20は、コントロールバス19、PCIブリッジ17、PCIバス14、及びノースブリッジ12を介して、CPU11に、デコード時にバッファに蓄積される符号量の情報を通知する。
エフェクト/スイッチ26は、CPU20の制御に基づいて、デコーダ22又はデコーダ23から供給される、非圧縮の映像信号出力を切り替える、すなわち、供給された非圧縮の映像信号を所定のフレームで結合するとともに、必要に応じて、所定の範囲にエフェクトを施して、エンコーダ27に供給する。エンコーダ27は、CPU20の制御に基づいて、供給された非圧縮の映像信号のうち、再エンコード範囲として設定された部分の非圧縮の映像信号をエンコードして、圧縮符号化された圧縮映像データを、ストリームスプライサ25に出力する。
このような編集装置1において、HDD16には、例えば、H.264/AVC規格のフォーマットで圧縮され、VBR又はCBRで転送される素材が記憶されている。CPU11は、HDD16に保持されている圧縮符号化された映像素材のうち、図示しない操作入力部から供給されたユーザの操作入力を基に、編集に用いられる素材として選択された圧縮符号化された素材のデータの発生符号量に関する情報を取得し、この情報を基に、再エンコード範囲の最初と最後のバッファ占有量を決定し、再エンコード区間(RR区間)を決定する。このように時間の掛かる処理であるRR区間を限定し、それ以外の区間を元素材のエンコード結果をそのまま用いて高速処理できる区間(以下、SR区間)とすることで、いわゆるスマートレンダリング(Smart Rendering)と呼ばれる編集高速技術を実現している。
スマートレンダリングにおいて、RR区間とSR区間とは連続的な画で構成されていることがほとんどである。しかし、RR区間とSR区間との境界部分において画質に違いがある場合、画のギャップが発生してしまう。それを避けるため、RR区間の画質を上げる必要がある。ほとんどのケースにおいて、RR区間の長さを延長すれば、画質の向上効果を得ることができる。そのため、RR区間長は、RR−SR区間の結合部分でギャップが発生しない条件で、最も短い区間長を選択することにより、高速処理を実現する。
例えば、H.264/AVC編集では、RR区間にて、ギャップが発生しない画質を実現できているかを、以下の2つの情報から計算する。1つ目は、区間のシンタックスビットレートと平均ビットレートとの差である。アクセスユニットのシンタックスに記載されたビットレートに比べ、実際に計測された平均ビットレートが低いということは、その画に必要な情報量が少ない、簡単な画ということになる。つまり、そういった画は、RR区間が短くても、ギャップが発生しない画質が達成できるため、RR区間長が短い方向へ向かう判断材料となる。2つ目は、RR区間の開始initial_cpb_removal_delay、及びRR区間の終端initial_cpb_removal_delayである。initial_cpb_removal_delayは、間接的に、その時点でのバッファに貯められているデータ量を示し、値が大きければ大きいほど、その時点でのバッファに貯められたデータ量が多いということになる。この情報によって規定される開始/終了時のバッファ状態から、RR区間で使用することができるデータ量に余裕があるかどうかを判断する。
具体的には、図4(A)に示すように、RR区間終了時に使用可能なデータ量に余裕があれば、画を作るために使用するデータを多く取れるため、画質を向上することができる。一方、図4(B)に示すように、RR区間終了時に使用可能なデータ量が少ない場合、画質向上のためにRR区間が長くなってしまう。つまり、RR区間開始時のinitial_cpb_removal_delayが大きければ大きいほど、RR区間終了時の initial_cpb_removal_delayが小さければ小さいほど、RR区間長が短い方向へ向かう判断材料となる。
ところで、initial_cpb_removal_delayは、上述したビットストリームコンフォーマンスによって、取りうる値に制限がある。特に、SR区間とSR区間との境界a,bでは、図5に示すようにinitial_cpb_removal_delayによってSR区間長が決定される。また、NAL及びVCLは、それぞれ別のinitial_cpb_removal_delayを持っており、RR区間長の決定では、NAL/VCLそれぞれで算出されたRR区間長のうち、厳しい側、すなわち区間長が長い方が選択されてしまう。
また、図6に示すように、NAL及びVCLが同じシンタックスビットレートの場合、NAL及びVCLともに同量のデータがバッファに貯められるが、使用量はNAL>VCLとなるため、蓄積するNALのデータ量は付加情報の分だけVCLから離れていく。その結果、VCLの条件で算出されたRR区間長は、NALの条件で算出されたものよりも長くなってしまう。
そこで、本実施の形態における編集装置は、VCL側の条件を無視し、NAL側の条件のみを使用する。これにより、選択されるRR区間長は、従来のスマートレンダリング処理に比べて短くなり、編集を高速化することができる。
図7は、CPU11が再エンコード区間を決定する機能を説明するための機能ブロック図である。
発生符号量検出部51は、HDD16に保存されている、編集対象の素材の発生符号量を検出し、検出結果をバッファ占有量解析部52に供給する。発生符号量の検出方法は、例えば、HDD16に保存されている素材のデータを解析することにより、符号量(すなわち、ピクチャヘッダ間の符号量)を検出するようにしてもよいし、素材のデータをデコーダ22乃至24で一旦デコードさせて、バッファの蓄積量を検出するようにしてもよい。
バッファ占有量解析部52は、発生符号量検出部51から供給された、素材の発生符号量の情報を基に、再エンコードを行わない区間(SR区間)と再エンコード区間(RR区間)との接続点付近におけるバッファ占有量のモデル状態を解析する。具体的には、シンタックスビットレート、initial_cpb_removal_delay等を基にしてバッファ占有量を解析する。
また、バッファ占有量解析部52は、NAL及びVCLのシンタックスビットレートを解析し、各レイヤのアクセスユニットのビットレートが同じかどうかを判別する。具体的には、NAL及びVCLのシンタックスビットレートの差が閾値以下の場合、ビットレートが同じであると判別する。ここで、各レイヤのアクセスユニットが同じ場合、後述するようにNALユニットのみバッファ占有量を解析する。
そして、バッファ占有量解析部52は、解析したバッファ占有量をバッファ占有量決定部53及び再エンコード区間決定部54にそれぞれ供給する。
バッファ占有量決定部53は、NAL及びVCLについて解析したバッファ占有量がビットストリームコンフォーマンスを満たしているか否かを判別し、判別結果に応じてバッファ占有量を決定する。また、バッファ占有量解析部52は、ビットストリームコンフォーマンスを満たしていない場合、initial_cpb_removal_delayの値の付け替えを再エンコードせずに行う。これにより規格に準拠した素材に高速変換することができる。
再エンコード区間決定部54は、シンタックスビットレート、平均ビットレート、initial_cpb_removal_delay等のバッファ占有量の解析結果に基づいてRR区間長を決定する。具体的には、図8に示す表のように、RR区間開始initial_cpb_removal_delayとRR区間終了initial_cpb_removal_delayとの差xと、平均ビットレートとからRR区間長が決定される。なお、バッファ占有量決定部53及び再エンコード区間決定部54の処理は、いずれか一方のみが実行されるものとしてもよいし、この2つの処理を複合させることも可能である。
コマンドおよび制御情報生成部55は、バッファ占有量決定部53により決定された再エンコード区間における先頭と最後のバッファ占有量の値と、再エンコード区間決定部54により決定された再エンコード区間とを取得し、これらの情報と、ユーザにより指定された編集点の情報と、編集開始コマンドを生成する。
次に、図9に示すフローチャートを参照して、本発明を適用した編集装置1が実行する編集処理について説明する。CPU11は、図示しない入力手段によってユーザから指定された素材の編集点付近の符号化データをHDD16から読み出す。
ステップS11において、バッファ占有量解析部52は、編集対象の素材の編集点付近においてNALユニット及びVCLユニットのシンタックスビットレートを解析し、その差が閾値以下、すなわち同じ値かどうかを判別する。
ステップS11において、NALユニット及びVCLユニットのシンタックスビットレートが同じではない場合、従来のスマートレンダリング処理を行う(ステップS12)。すなわち、NALユニット及びVCLユニットについてそれぞれバッファ占有量を解析し、両者がバッファコンフォーマンスを満たすようにRR区間が決定される。
一方、NALユニット及びVCLユニットが同じ場合、バッファ占有量解析部52は、NALユニットのみのバッファ占有量を解析する。また、再エンコード区間決定部54は、NALユニットのみのバッファコンフォーマンスを満たすRR区間を決定する(ステップS13)。NALユニットは、VCLユニットに比べてバッファ占有量が小さいため、initial_cpb_remoal_delayによって算出されたRR区間長は、VCLユニットの条件で算出されたものよりも短くなる。このようにRR区間を短くすることにより、再エンコードに掛かる時間を減少させ高速化することができる。また、RR区間の終了点におけるバッファ占有量を小さくすることができるため、RR区間の最後のフレームに配分可能な符号量の上限値を増加させることができる。これにより、RR区間におけるバッファ占有量の制御の自由度が増し、RR区間の画質を高画質化することができる。
ステップS14において、コマンドおよび制御情報生成部55は、NALユニットの条件のみ、すなわち再エンコード区間決定部54にて決定されたRR区間長で再エンコードさせるようにコマンドおよび制御情報を生成する。
上述の通りVCLのバッファ占有量は、NAL側に比べて必ず多くなることから、NAL側でアンダーフローとならなければ、VCL側でもアンダーフローとなることは無いが、initial_cpb_removal_delayについては、RR区間とSR区間との結合部でバッファコンフォーマンスが満たされないケースが発生する。
そこで、ステップS15において、バッファ占有量決定部53は、NALユニットの条件のみで再エンコードされた場合、VCLユニットのビットストリームコンフォーマンスが満たされているか否かを判別する。VCLのビットストリームコンフォーマンスが満たされている場合編集処理を終了し、満たされていない場合ステップS16に進む。
ステップS16において、バッファ占有量決定部53は、バッファコンフォーマンスを満たさない可能性があるVCLのinital_cpb_removal_delayを再エンコードせずに付け替え、編集処理を終了する。initial_cpb_removal_delayの値は、バッファリング期間SEIに記載されており、その値を直接変更する。これにより、再エンコードを行うのに比べて、非常に高速に規格準拠の素材とすることができる。H.264/AVCの編集では、再エンコード時間が支配的なため、RR区間長の短縮によるエンコードの高速化のメリットの方が、この変換処理によるデメリットに比べて十分大きいため、全体として高速化を実現することができる。
以上説明したように、NALとVCLのシンタックスビットレートが同じ場合、NAL側のみを解析することで、VCL側の計算量の削減とVCLによるバッファ占有量を抑え、高速化と高画質化を実現することができる。
また、NAL側のみ解析により、VCLにinitial_cpb_removal_delayに規格違反の値が設定されていた場合、再エンコードせずに是正して設定することにより、規格に準拠した素材に高速に変換することができる。
さらに、このような高速化と高画質化によって、要求品質を実現するための性能要求を下げるとともに使用可能なユーザ層を広げることができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
CPBの動作例を示す図である。 NAL及びVCLのアクセスユニットのCPB占有量を模式的に示す図である。 本発明を適用した編集装置のハードウェア構成を示すブロック図である。 RR区間と使用可能データ量とを説明するための図である。 RR区間長の設定を模式的に示す図である。 NAL及びVCLが同じビットレートの場合のバッファ占有量を模式的に示す図である。 再エンコード区間を決定する機能を説明するための機能ブロック図である。 RR区間長の決定を説明するための図である。 編集処理の動作を示すフローチャートである。 従来のバッファの動作例を示す図である
符号の説明
11 CPU、12 ノースブリッジ、13 メモリ、14 バス、15 サウスブリッジ、16 ハードディスクドライブ、17 PCIブリッジ、18 メモリ、19 コントロールバス、20 CPU、21 メモリ、22〜24 デコーダ、25 ストリームスプライサ、26 スイッチ、27 エンコーダ、51 発生符号量検出部、52 バッファ占有量解析部、53 バッファ占有量決定部、54 再エンコード区間決定部、55 コマンドおよび制御情報生成部

Claims (5)

  1. 復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをH.264/AVC規格に準拠したNAL(Network Abstraction Layer)と、VCL(Video Coding Layer)とを含む構造の符号化データに符号化する符号化装置において、
    レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析手段と、
    上記解析結果に基づいて上記画像データをH.264/AVC規格に準拠した符号化データに符号化する符号化手段とを備え、
    上記解析手段は、NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析する符号化装置。
  2. 上記画像データの編集点を指定する入力手段と、
    上記データサイズが大きいNALのアクセスユニットのinitial_cpb_removal_delayに基づいて上記編集点を含む再符号化区間を決定する決定手段とを備え、
    上記符号化手段は、上記再符号化区間の画像データを再符号化する請求項記載の符号化装置。
  3. 上記決定手段は、VCLがアクセスユニットのinitial_cpb_removal_delayの制約条件を満たしているかを判別し、当該制約条件を満たしていない場合、VCLのアクセスユニットのinitial_cpb_removal_delayの値を書き換える請求項記載の符号化装置。
  4. 復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをH.264/AVC規格に準拠したNAL(Network Abstraction Layer)と、VCL(Video Coding Layer)とを含む構造の符号化データに符号化する符号化方法において、
    レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、
    上記解析結果に基づいて上記画像データをH.264/AVC規格に準拠した符号化データに符号化する符号化工程とを有し、
    上記解析工程では、NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析する符号化方法。
  5. 復号装置のバッファ状態を仮想的にモデル化した仮想バッファを用い、画像データをH.264/AVC規格に準拠したNAL(Network Abstraction Layer)と、VCL(Video Coding Layer)とを含む構造の符号化データに符号化する処理をコンピュータに実行させるためのプログラムであって、
    レイヤ毎に上記仮想バッファのアクセスユニット占有量を算出し、上記仮想バッファの制約条件を満たすか否かを解析する解析工程と、
    上記解析結果に基づいて上記画像データをH.264/AVC規格に準拠した符号化データに符号化する符号化工程とを有し、
    上記解析工程では、NAL又はVCLの一方のレイヤの仮想バッファの制約条件が満たされれば他方のレイヤの仮想バッファの制約条件が満たされる場合であって、一方のレイヤと他方のレイヤのアクセスユニットのビットレート差が閾値以下の場合、NALのアクセスユニット占有量を算出して上記仮想バッファの下限値及び上記アクセスユニットのinitial_cpb_removal_delayの制約条件を満たすか否かを解析するプログラム。
JP2007337264A 2007-12-27 2007-12-27 符号化装置及び方法、並びにプログラム Expired - Fee Related JP4577357B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007337264A JP4577357B2 (ja) 2007-12-27 2007-12-27 符号化装置及び方法、並びにプログラム
US12/329,712 US20090168900A1 (en) 2007-12-27 2008-12-08 Encoding apparatus, encoding method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007337264A JP4577357B2 (ja) 2007-12-27 2007-12-27 符号化装置及び方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2009159464A JP2009159464A (ja) 2009-07-16
JP4577357B2 true JP4577357B2 (ja) 2010-11-10

Family

ID=40798414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007337264A Expired - Fee Related JP4577357B2 (ja) 2007-12-27 2007-12-27 符号化装置及び方法、並びにプログラム

Country Status (2)

Country Link
US (1) US20090168900A1 (ja)
JP (1) JP4577357B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102860010A (zh) * 2010-05-06 2013-01-02 日本电信电话株式会社 视频编码控制方法及装置
JP5295429B2 (ja) * 2010-05-07 2013-09-18 日本電信電話株式会社 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム
EP2571268B1 (en) * 2010-05-12 2019-11-27 Nippon Telegraph And Telephone Corporation Video coding control method, video coding device and video coding program
US9888244B2 (en) * 2011-10-05 2018-02-06 Texas Instruments Incorporated Methods and systems for encoding of multimedia pictures
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
ES2782227T3 (es) 2012-04-23 2020-09-11 Sun Patent Trust Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen
US9654802B2 (en) * 2012-09-24 2017-05-16 Qualcomm Incorporated Sequence level flag for sub-picture level coded picture buffer parameters
US9661341B2 (en) 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532670B2 (en) * 2002-07-02 2009-05-12 Conexant Systems, Inc. Hypothetical reference decoder with low start-up delays for compressed image and video
JP2004193687A (ja) * 2002-12-06 2004-07-08 Sony Corp 非初期化バッファモデルを用いた方法
AU2004214313B2 (en) * 2003-02-18 2010-05-20 Nokia Technologies Oy Picture coding method
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
JP4492484B2 (ja) * 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム

Also Published As

Publication number Publication date
JP2009159464A (ja) 2009-07-16
US20090168900A1 (en) 2009-07-02

Similar Documents

Publication Publication Date Title
JP4577357B2 (ja) 符号化装置及び方法、並びにプログラム
JP4221676B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
CN1723709B (zh) 视频编码设备和视频编码控制设备及其方法
KR20070100668A (ko) 정보 처리 장치, 정보 처리 방법, 기록 매체 및 프로그램
US8798162B2 (en) Encoding method, decoding method, encoder, and decoder
US7539347B2 (en) Information processing apparatus and information processing method, recording medium, and program
JP5052220B2 (ja) 動画像符号化装置
US8295347B2 (en) Information processing apparatus and information processing method, recording medium, and program
CN1937777B (zh) 信息处理装置和方法
JP4788250B2 (ja) 動画像信号の符号化装置、動画像信号の符号化方法およびコンピュータ読み取り可能な記録媒体
KR100893806B1 (ko) 동화상 재부호화 장치, 동화상 편집 장치, 및 방법
JP4795223B2 (ja) 画像処理装置
CN101489127A (zh) 视频编码设备以及视频编码方法
CN102547278A (zh) 图像处理设备和方法
JP4788251B2 (ja) 動画像信号の符号化装置
JP4793150B2 (ja) ビデオ信号処理装置およびビデオ信号情報処理方法、並びにプログラム
JP4333522B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
CN100581251C (zh) 信息处理装置和信息处理方法
JPH10164592A (ja) 圧縮動画像の符号化方法
JP2002152735A (ja) 画像再符号化装置
JP2004229323A (ja) Mpeg画像データ記録装置
JP2004266846A (ja) Mpeg画像データ記録方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100204

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees