JP5618128B2 - 符号化装置、符号化方法、およびプログラム - Google Patents

符号化装置、符号化方法、およびプログラム Download PDF

Info

Publication number
JP5618128B2
JP5618128B2 JP2010035825A JP2010035825A JP5618128B2 JP 5618128 B2 JP5618128 B2 JP 5618128B2 JP 2010035825 A JP2010035825 A JP 2010035825A JP 2010035825 A JP2010035825 A JP 2010035825A JP 5618128 B2 JP5618128 B2 JP 5618128B2
Authority
JP
Japan
Prior art keywords
block
value
offset
quantization scale
calculated
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
JP2010035825A
Other languages
English (en)
Other versions
JP2011172137A (ja
JP2011172137A5 (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 JP2010035825A priority Critical patent/JP5618128B2/ja
Priority to CN2011100394423A priority patent/CN102164280A/zh
Priority to US13/028,521 priority patent/US20110206115A1/en
Publication of JP2011172137A publication Critical patent/JP2011172137A/ja
Publication of JP2011172137A5 publication Critical patent/JP2011172137A5/ja
Application granted granted Critical
Publication of JP5618128B2 publication Critical patent/JP5618128B2/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
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、符号化装置、符号化方法、およびプログラムに関し、特に、視覚的に劣化が目立ちやすいブロックの画質を改善することができるようにする符号化装置、符号化方法、およびプログラムに関する。
近年のマルチメディアの発展に伴い、様々な動画像圧縮符号化方式が提案されている。動画像圧縮符号化方式の代表的なものに、MPEG(Moving Picture Expert Group)-1,2,4やH.264(ITU-T Q6/16 VCEG)といったものがある。これらの圧縮符号化の処理は、原画像をブロックと呼ばれる所定の領域に分割し、このブロックを単位にして、動き補償予測及びDCT変換処理などの符号化処理を施すものである。なお、動き補償予測を行う場合には、既に符号化済みの画像データを局所復号化して得られた画像を参照画像とすることから、復号化処理が必要となる。
MPEG方式に準拠して画像の圧縮符号化を行う場合、その符号量は画像自体の特性である空間周波数特性、シーン、及び量子化スケール値に応じて大きく異なる場合が多い。このような符号化特性を有する符号化装置を実現する上で、良好な画質に復号化するために重要な技術が符号量制御である。
符号量制御のアルゴリズムの一つとして、TM5(Test Model 5)が一般的に使用されている。TM5アルゴリズムは、画像の複雑度を表す特徴量として空間アクティビティを用いている。TM5アルゴリズムによれば、GOP(Group of picture)のうちIピクチャに対して多くの符号量を割り当て、ピクチャ内においては視覚的に劣化の目立ちやすい平坦部(空間アクティビティが低い部分)に符号量が多く配分される。これにより、予め定めたビットレート内で、画質の劣化を抑えた符号量制御と量子化制御を行うことが可能になる。
また、TM5と同様に画像の特徴に応じて量子化制御を行う手法は、他にも提案されている(例えば、特許文献1,2参照)。
特開平11−196417号公報 特開2009−200871号公報
従来の量子化制御では、視覚的に劣化の目立ちやすいブロックを抽出する手段として、空間アクティビティが用いられている。空間アクティビティそのものは、波形の振幅と回数をかけあわせた特徴量となっているため、必ずしも、視覚的に劣化が目立ちやすいブロックと一致していないことがあった。即ち、従来の空間アクティビティを用いた量子化制御では、高域成分(エッジ)があるブロックを抽出できないことがあった。
本発明は、このような状況に鑑みてなされたものであり、視覚的に劣化が目立ちやすいブロックの画質を改善することができるようにするものである。
本発明の第1の側面の符号化装置は、入力画像データを複数のブロックに分割し、分割されたブロック単位で変換符号化して、変換係数データを出力する変換符号化手段と、前記ブロック内の局所的な領域のダイナミックレンジの最大値を前記ブロックの代表値として、前記入力画像データの画面全体を構成する全ての前記ブロックの代表値の最大値、最小値、および平均値を算出する全画面特徴抽出手段と、目標符号量と実際の発生符号量の差分に基づいて、前記ブロックの量子化スケールの参照値を計算する量子化スケール計算手段と、前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロックのダイナミックレンジの最大値を計算し、計算した前記特徴量に応じた前記量子化スケールのオフセットを算出する特徴量抽出手段と、前記特徴量抽出手段により算出された前記量子化スケールのオフセットに基づいて、前記量子化スケール計算手段により計算された前記量子化スケールの参照値を調整する量子化スケール調整手段と、前記量子化スケール調整手段により調整された前記量子化スケールの参照値に従い、前記変換符号化手段から出力された前記変換係数データを前記ブロック単位で量子化する量子化手段とを備え、前記特徴量抽出手段は、前記全画面特徴抽出手段により算出された前記ブロックの代表値の前記最小値から前記最大値までの範囲を複数の範囲に分割し、前記ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて前記量子化スケールのオフセットを算出する
本発明の第1の側面の符号化方法は、入力画像データを符号化する符号化装置が、前記入力画像データを複数のブロックに分割し、分割されたブロック単位で変換符号化して、変換係数データを出力し、前記ブロック内の局所的な領域のダイナミックレンジの最大値を前記ブロックの代表値として、前記入力画像データの画面全体を構成する全ての前記ブロックの代表値の最大値、最小値、および平均値を算出し、目標符号量と実際の発生符号量の差分に基づいて、前記ブロックの量子化スケールの参照値を計算し、前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロックのダイナミックレンジの最大値を計算し、計算した前記特徴量に応じた前記量子化スケールのオフセットを算出し、算出された前記量子化スケールのオフセットに基づいて、計算された前記量子化スケールの参照値を調整し、調整された前記量子化スケールの参照値に従い、前記変換符号化手段から出力された前記変換係数データを前記ブロック単位で量子化するステップを含み、前記量子化スケールのオフセットの算出では、算出された前記ブロックの代表値の前記最小値から前記最大値までの範囲を複数の範囲に分割し、前記ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて前記量子化スケールのオフセットが算出される
本発明の第1の側面のプログラムは、コンピュータに、入力画像データを複数のブロックに分割し、分割されたブロック単位で変換符号化して、変換係数データを出力し、前記ブロック内の局所的な領域のダイナミックレンジの最大値を前記ブロックの代表値として、前記入力画像データの画面全体を構成する全ての前記ブロックの代表値の最大値、最小値、および平均値を算出し、目標符号量と実際の発生符号量の差分に基づいて、前記ブロックの量子化スケールの参照値を計算し、前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロックのダイナミックレンジの最大値を計算し、計算した前記特徴量に応じた前記量子化スケールのオフセットを算出し、算出された前記量子化スケールのオフセットに基づいて、計算された前記量子化スケールの参照値を調整し、調整された前記量子化スケールの参照値に従い、前記変換符号化手段から出力された前記変換係数データを前記ブロック単位で量子化するステップを含み、前記量子化スケールのオフセットの算出では、算出された前記ブロックの代表値の前記最小値から前記最大値までの範囲を複数の範囲に分割し、前記ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて前記量子化スケールのオフセットが算出される処理を実行させるためのものである。
本発明の第1の側面においては、入力画像データが複数のブロックに分割され、分割されたブロック単位で変換符号化されて、変換係数データが出力され、ブロック内の局所的な領域のダイナミックレンジの最大値をブロックの代表値として、入力画像データの画面全体を構成する全てのブロックの代表値の最大値、最小値、および平均値が算出され、目標符号量と実際の発生符号量の差分に基づいて、ブロックの量子化スケールの参照値が計算され、ブロックの視覚的劣化の目立ちやすさを表す特徴量として、ブロックのダイナミックレンジの最大値が計算され、計算された特徴量に応じた量子化スケールのオフセットが算出され、算出された量子化スケールのオフセットに基づいて、計算された量子化スケールの参照値が調整され、調整された量子化スケールの参照値に従い、出力された変換係数データがブロック単位で量子化される。量子化スケールのオフセットの算出では、算出されたブロックの代表値の最小値から最大値までの範囲を複数の範囲に分割し、ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて量子化スケールのオフセットが算出される。
なお、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
符号化装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本発明の第1および第2の側面によれば、視覚的に劣化が目立ちやすいブロックの画質を改善することができる。
本発明を適用した符号化装置の一実施の形態の構成例を示すブロック図である。 全画面特徴抽出部の詳細な構成例を示すブロック図である。 1画面の画像をマクロブロックMB単位に分割した例を示す図である。 1つのマクロブロックMBを示す図である。 サブブロックSB内で設定される局所領域LBの例を示す図である。 サブブロックSB内で設定される局所領域LBの例を示す図である。 マクロブロックMBのダイナミックレンジMDRの計算を説明する図である。 特徴抽出部の詳細構成例を示すブロック図である。 振り幅算出部の処理を説明する図である。 量子化パラメータ決定処理を説明するフローチャートである。 オフセット算出処理を説明するフローチャートである。 本発明の効果を説明する図である。 局所的なダイナミックレンジDRのその他の例を示す図である。 本発明の効果を説明する図である。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
[符号化装置の構成例]
図1は、本発明を適用した符号化装置の一実施の形態の構成例を示している。
符号化装置1の入力端子11には、入力画像データとして、符号化対象の画像のデータが入力される。入力画像データは、例えば、インターレースまたはプログレッシブなどの一般的なビデオ画像フォーマットの信号である。
並べ替え部12は、入力画像データを一時記憶し、必要に応じて読み出すことで、符号化ピクチャタイプに応じたフレーム(フィールド)順に並べ替えて、並び替えたフレーム(フィールド)の画像データをマクロブロックMB単位で減算器13に出力する。マクロブロックMBのサイズは、符号化方式により決定され、例えば、MPEGでは16×16画素又は8×8画素等である。本実施の形態では、マクロブロックMBのサイズは16×16画素であるとする。
減算器13は、符号化ピクチャタイプがフレーム内符号化(イントラ符号化)方式である場合、並べ替え部12からの画像データをそのまま直交変換部14に出力する。一方、符号化ピクチャタイプがフレーム間符号化(インター符号化)方式である場合、減算器13は、並べ替え部12からの画像データから、動き予測動き補償部23から供給される予測画像データを減算して得られる差分画像データを直交変換部14に出力する。
直交変換部14は、減算器13からのマクロブロックMB単位の出力データ(画像データ又は差分画像データ)を直交変換し、その結果得られる変換係数データを量子化部15に出力する。
量子化部15は、量子化スケール調整部27から供給される量子化パラメータに従って、直交変換部14から供給される変換係数データを量子化する。
可変長符号化部16は、量子化部15から供給される、量子化された変換係数データを可変長符号化する。そして、可変長符号化部16は、可変長符号化で得られた符号データに、動き予測動き補償部23から供給される、動き補償のための動きベクトルデータ等を多重化し、バッファ17に供給する。バッファ17は、可変長符号化部16からの多重化符号化データを一時蓄積し、順次読み出して出力端子18に出力する。
逆量子化部19は、量子化部15からの出力データ(量子化された変換係数データ)を逆量子化する。逆直交変換部20は、逆量子化部19から供給される変換係数データを逆直交変換し、加算器21に供給する。加算器21は、符号化ピクチャタイプがイントラ符号化である場合、逆直交変換部20からの出力データをそのまま出力する。一方、符号化ピクチャタイプがインター符号化である場合、加算器21は、動き予測動き補償部23から供給される、先の復号化で得られた予測データと、逆直交変換部20からの出力データ(差分画像データ)とを加算する。予測データの加算により、差分画像データから画像データが復元される。即ち、加算器21の出力データが、ローカルで復号化された画像データ(ローカル復号化画像データ)に相当する。
フレームメモリ22は、加算器21から供給されるローカル復号化画像データを複数フレーム分記憶する。動き予測動き補償部23は、フレームメモリ22に記憶されているローカル復号化画像データの画像を参照画像として、並べ替え部12からの現在の画像と比較して動きを予測し、動き補償された予測画像データを算出する。そして、動き予測動き補償部23は、算出した予測画像データを減算器13に供給するとともに、予測画像データの動きベクトルデータを可変長符号化部16に出力する。
また、動き予測動き補償部23は、算出した予測画像データを、必要に応じて加算器21にも供給する。即ち、スイッチ23aは、符号化ピクチャタイプに応じて動き予測動き補償部23によって制御され、符号化ピクチャタイプがインター符号化である場合に、算出した予測画像データが加算器21に供給される。
全画面特徴抽出部24は、画面全体の平坦度を示す特徴量(全画面特徴量)として、画面全体に対し所定の方法で計算された画素値のダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveを算出する。全画面特徴抽出部24は、算出した全画面特徴量を一時的に蓄積し、並べ替え部12が並び替えて出力するフレームに対応する全画面特徴量を、特徴抽出部26に順次供給する。全画面特徴抽出部24が計算する全画面特徴量の詳細な計算方法については、図2乃至図7を参照して後述する。
量子化スケール計算部25は、バッファ17の蓄積データ量等を参照して、フレーム発生符号量を取得する。そして、量子化スケール計算部25は、取得したフレーム発生符号量に従い、目標符号量を決定する。より具体的には、量子化スケール計算部25は、割り当て対象ピクチャを含めGOP内でまだ符号化されていないピクチャに対するビット量を基に、GOP内の各ピクチャに対する割り当てビット量を配分する。量子化スケール計算部25は、ビット量の配分を、GOP内の符号化ピクチャ順に繰り返し、ピクチャごとにピクチャ目標符号量を設定する。
また、量子化スケール計算部25は、可変長符号化部16からバッファ17に入力されるデータを参照して、マクロブロックMB単位の発生符号量(ブロック発生符号量)を取得する。そして、量子化スケール計算部25は、各ピクチャに対する目標符号量と実際の発生符号量とを一致させるため、最初に、各ピクチャに対する目標符号量と実際の発生符号量の差分を演算する。そして、量子化スケール計算部25は、得られた目標符号量と実際の発生符号量の差分から各ピクチャのマクロブロックMBごとに量子化スケールの参照値(以下、Qスケールの参照値という。)を算出する。ここで、現在のピクチャのj番目のマクロブロックMBにおけるQスケールの参照値をQjで表す。算出されたQスケールの参照値Qjは、特徴抽出部26および量子化スケール調整部27に供給される。
特徴抽出部26には、量子化パラメータとしてのQスケールの参照値Qjが、量子化スケール計算部25から供給される。また、特徴抽出部26には、画面全体における画素値のダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveが、全画面特徴抽出部24から供給される。さらに、特徴抽出部26には、並べ替え部12から、全画面特徴抽出部24から供給される全画面特徴量に対応する画像(画面)のマクロブロックMB単位のデータ(マクロブロックデータ)も供給される。
特徴抽出部26は、量子化スケール計算部25から供給されるQスケールの参照値Qjに対するオフセットOFFSETを算出し、量子化スケール調整部27に供給する。より具体的には、特徴抽出部26は、画面全体の平坦度を考慮し、かつ、マクロブロックMB単位の画像の特徴にも対応するオフセットOFFSETを算出し、量子化スケール調整部27に供給する。特徴抽出部26の処理の詳細については、図8等を参照して後述する。
量子化スケール調整部27は、量子化スケール計算部25からの量子化スケールの参照値Qjを、特徴抽出部26から供給されるオフセットOFFSETに基づいて調整する。量子化スケール調整部27は、調整後の量子化スケールの参照値Qj’を量子化パラメータとして量子化部15に供給する。
特徴抽出部26からは、画面全体、および、マクロブロックMB内の画像が平坦であるほど、量子化スケールの参照値Qjを下げるようなオフセットOFFSETが供給される。そして、調整後の量子化スケールの参照値Qj’(量子化パラメータ)が小さいほど、より多くの符号量が割り当てられる。
以上のように構成される符号化装置1では、画面全体、および、マクロブロックMB内の画像の平坦の度合い(画像の複雑度)に応じて、量子化パラメータが調整されて、符号化される。
[全画面特徴抽出部24の構成例]
次に、全画面特徴抽出部24の詳細について説明する。
図2は、全画面特徴抽出部24の詳細な構成例を示すブロック図である。
全画面特徴抽出部24は、ブロック平坦検出部41、最大・最小・平均値算出部42、およびバッファ43により構成されている。
ブロック平坦検出部41は、1画面の画像を、マクロブロックMB単位、即ち、16×16画素単位に分割する。そして、ブロック平坦検出部41は、分割したマクロブロックMBのそれぞれについて、そのマクロブロックMBを代表するダイナミックレンジMDRを算出し、最大・最小・平均値算出部42に供給する。ダイナミックレンジとは所定の領域内の画素の画素値の最大値と最小値の差(最大値-最小値)である。
最大・最小・平均値算出部42は、ブロック平坦検出部41から供給される各マクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveを計算し、バッファ43に供給する。
バッファ43は、最大・最小・平均値算出部42からの1画面を構成する各マクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveを、複数フレーム分記憶する。そして、バッファ43は、並べ替え部12が出力するマクロブロックMBのデータに対応するフレームの、マクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveを、特徴抽出部26に供給する。
[全画面特徴抽出部24の処理]
図3乃至図7を参照して、全画面特徴抽出部24の処理についてさらに詳しく説明する。
図3は、ブロック平坦検出部41が、1画面の画像を、マクロブロックMB単位に分割した例を示している。なお、図3において、全画面特徴抽出部24に供給される入力画像データの解像度は1080/60pである。
入力画像データの解像度が1080/60pである場合、ブロック平坦検出部41は、1画面の画像を、8704(=128×68)個のマクロブロックMB乃至MB8704に分割する。
図4は、マクロブロックMB乃至MB8704のうちの1つのマクロブロックMBを示している。なお、マクロブロックMB乃至MB8704のいずれのマクロブロックMBも同様の処理が行われるため、1画面内のマクロブロックMBを区別する添え字は省略する。
ブロック平坦検出部41は、マクロブロックMBを、さらに、4つのサブブロックSB乃至SBに分割する。
そして、ブロック平坦検出部41は、サブブロックSBよりも小さい所定の領域LB(以下、局所領域LBという。)をサブブロックSB内で複数設定し、サブブロックSB内で設定された複数の局所領域LBそれぞれのダイナミックレンジLDRを検出する。
図5は、サブブロックSB内で、3×3画素を局所領域LBとした例を示している。
3×3画素を局所領域LBとした場合、垂直方向および水平方向に1画素ずつ順次ずらすことにより、サブブロックSB内で、全部で36個の局所領域LB乃至LB36を設定することができる。
ブロック平坦検出部41は、図6に示すように、36個の局所領域LB乃至LB36それぞれについて、ダイナミックレンジLDR乃至LDR36を検出する。そして、ブロック平坦検出部41は、ダイナミックレンジLDR乃至LDR36のなかの最大値を、そのサブブロックSBのダイナミックレンジの代表値BDRとする。即ち、ブロック平坦検出部41は、サブブロックSBのダイナミックレンジの代表値BDRを、BDR=max(LDR,LDR,・・・,LDR36)により計算する。
4つのサブブロックSB乃至SBについて上述の処理を行うことにより、サブブロックSB乃至SBの代表値BDR乃至BDRが得られる。
さらに、ブロック平坦検出部41は、図7に示すように、4つのサブブロックSB乃至SBそれぞれの代表値BDR乃至BDRの最大値を検出し、マクロブロックMBのダイナミックレンジMDRとする。
ブロック平坦検出部41は、以上のようにして計算した8704個のマクロブロックMB乃至MB8704それぞれのダイナミックレンジMDR乃至MDR8704を、最大・最小・平均値算出部42に供給する。
最大・最小・平均値算出部42は、8704個のマクロブロックMB乃至MB8704それぞれのダイナミックレンジMDR乃至MDR8704から、その最大値、最小値、および平均値を計算し、それぞれ、最大値ldrMax、最小値ldrMin、および平均値ldrAveとする。
なお、全画面特徴抽出部24の処理は、1画面全ての画素値が得られるまで最終的な結果は確定しない。従って、全画面特徴抽出部24の処理を行うために、1画面分の遅れが生じる。そのため、全画面特徴抽出部24は、現フレームの最大値ldrMax、最小値ldrMin、および平均値ldrAveに代えて、1フレーム前の画像の最大値ldrMax、最小値ldrMin、および平均値ldrAveで代用してもよい。これにより、全画面特徴量算出のための遅れをなくすことができる。
[特徴抽出部26の詳細構成例]
図8は、特徴抽出部26の詳細構成例を示すブロック図である。
特徴抽出部26は、平坦検出部51、エッジ検出部52、色検出部53、オフセット計算部54、および振り幅算出部55により構成されている。
全画面特徴抽出部24から供給される、全画面特徴量としての、符号化対象のフレームを構成する各マクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveは、振り幅算出部55に入力される。
全画面特徴抽出部24からの全画面特徴量と同一フレームの各マクロブロックMBのマクロブロックデータは、並べ替え部12から、平坦検出部51、エッジ検出部52、および色検出部53に入力される。
平坦検出部51は、マクロブロックMBの平坦度を表す特徴量を算出する。具体的には、平坦検出部51は、上述した全画面特徴抽出部24がマクロブロックMBのそれぞれについて算出したダイナミックレンジMDRと同一のものを、入力されるマクロブロックデータについて算出する。以下では、平坦検出部51で計算される所定のマクロブロックMBのダイナミックレンジMDRを、全画面特徴抽出部24が算出するものと区別して、ダイナミックレンジMdrと記載する。平坦検出部51は、算出したマクロブロックMBのダイナミックレンジMdrをオフセット計算部54に供給する。
エッジ検出部52は、マクロブロックMBのエッジの有無を検出し、その検出結果をオフセット計算部54に供給する。
具体的には、エッジ検出部52は、マクロブロックMBを、全画面特徴抽出部24と同様に4つのサブブロックSB乃至SBに分割する。そして、エッジ検出部52は、マクロブロックMB内の各サブブロックSBについて、図5を参照して説明したように局所領域LB乃至LB36を設定し、ダイナミックレンジLDR乃至LDR36を検出する。また、エッジ検出部52は、マクロブロックMB内の各サブブロックSBについて、全画面特徴抽出部24と同様、ダイナミックレンジBDR=max(LDR,LDR,・・・,LDR36)を検出する。
なお、以下では、エッジ検出部52が検出するサブブロックSB内のダイナミックレンジLDR乃至LDR36およびBDRを、全画面特徴抽出部24のものと区別して、ダイナミックレンジLdr乃至Ldr36およびBdrと記載する。
エッジ検出部52は、マクロブロックMBを構成する各サブブロックSBについて、Ldr>ka×Bdr(kaは1以下の係数、i=1乃至36)を満たす局所領域の数enをカウントする。そして、エッジ検出部52は、カウントした数enが予め決定された閾値th_en(例えば、6など)を超えているかを判定する。数enが所定の閾値th_enを超えている場合、エッジ検出部52は、そのサブブロックSBにはエッジがあると判定する。
エッジ検出部52は、マクロブロックMBを構成する4つのサブブロックSBのうち、1つでもエッジありと判定された場合、そのマクロブロックMBにはエッジがあると判定する。エッジ検出部52は、マクロブロックMBのエッジの有無を表す判定結果を、オフセット計算部54に供給する。
色検出部53は、マクロブロックMBの、視覚的に目立つ色の有無を検出し、その検出結果をオフセット計算部54に供給する。視覚的に目立つ色として、どのような色を検出するかは予め決定される。例えば、赤や肌色が視覚的に目立つ色として採用され、その色の画素の画素数がカウントされる。色検出部53は、カウントした所定の色の画素数が、予め決定した閾値th_c以上であれば、そのマクロブロックMBには、視覚的に目立つ色があると判定する。色検出部53は、マクロブロックMBの視覚的に目立つ色の有無を表す判定結果を、オフセット計算部54に供給する。
オフセット計算部54には、平坦検出部51から、マクロブロックMBのダイナミックレンジMdrが供給される。また、オフセット計算部54には、ダイナミックレンジMdrの平坦度に対応するオフセットTfを決定するための、n個のオフセット閾値TH_ldr(n)が、振り幅算出部55から供給される。n個のオフセット閾値TH_ldr(n)は、最大値ldrMaxと最小値ldrMinの範囲を(n+1)個に分割するための閾値である。
オフセット計算部54は、平坦検出部51から供給される、マクロブロックMBのダイナミックレンジMdrが、n個のオフセット閾値TH_ldr(n)によって分割された(n+1)個の範囲のどこに属するかに応じてオフセットTfを決定する。そして、オフセット計算部54は、決定したオフセットTfを、画像の平坦度に対応するオフセット量として、オフセットOFFSETに加算または減算する。オフセットTfの決定方法の詳細については、図9を参照して説明する振り幅算出部55の処理とともに後述する。
また、オフセット計算部54は、エッジ検出部52から、エッジありの判定結果が供給された場合には、予め決定した一定のオフセットTcを、画像のエッジに対応するオフセット量として、オフセットOFFSETから減算する。一方、エッジなしの判定結果が供給された場合には、オフセットOFFSETに対する演算は行われない。
さらに、オフセット計算部54は、色検出部53から、色検出ありの判定結果が供給された場合には、予め決定した一定の値Tmを、画像の色検出に対応するオフセット量として、オフセットOFFSETから減算する。一方、色検出なしの判定結果が供給された場合には、オフセットOFFSETに対する演算は行われない。
即ち、オフセット計算部54は、マクロブロックMBのダイナミックレンジMdr、エッジの有無、および色検出の有無に応じて、オフセットOFFSET=(Tf−Tc-Tm)を演算し、その演算結果を、量子化スケール調整部27に供給する。ただし、エッジなし、色検出なしの場合には、オフセットTcとオフセットTmの項が省略される。
振り幅算出部55には、符号化対象のフレームを構成する各マクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveが供給される。
最初に、振り幅算出部55では、最大値ldrMax、最小値ldrMin、および平均値ldrAveを用いて、平坦度の特徴量に対応するオフセットTfを決定するためのマイナス側の振り幅DSと閾値間隔SP、およびプラス側の振り幅DSと閾値間隔SPが決定される。
具体的には、振り幅算出部55は、マイナス側の振り幅DSと閾値間隔SPを、次式(1)により計算する。
DS=ldrAve/Ks ただし、α≦DS≦β
SP=(ldrAve-ldrMin)/(DS+0.5) ・・・・(1)
また、振り幅算出部55は、プラス側の振り幅DSと閾値間隔SPを、次式(2)により計算する。
DS=ldrAve/Ks ただし、0≦DS≦γ
SP=(ldrMax-ldrAve)/(DS+η+0.5) ・・・・(2)
式(1)および式(2)において、Ksは、振り幅の所定の係数である。また、α,β,γ,ηは、所定の定数である。ただし、量子化パラメータが大きくなりすぎると、量子化誤差による画質の劣化が目立つため、プラス側の振り幅DSは、マイナス側の振り幅DSと比較して小さい値に設定されるように、定数γは定数βよりも小さい値とされる。
例えば、α=3,β=12,γ=3,η=3とする。この場合、式(1)によれば、ldrAve/Ksの計算結果が、DS<3である場合には「3」が、3≦DS≦12である場合にはその計算結果が、12>DSである場合には「12」が、マイナス側の振り幅DSとされる。
また、式(2)によれば、ldrAve/Ksの計算結果が、0≦DS≦3である場合にはその計算結果が、3DSである場合には「3」が、プラス側の振り幅DSとされる。
次に、振り幅算出部55では、ダイナミックレンジMDRの最小値ldrMin、並びに、振り幅DS、閾値間隔SP、振り幅DS、および閾値間隔SPを用いて、n個のオフセット閾値TH_ldr(n)が算出される。
即ち、振り幅算出部55は、式(3)および式(4)により、n個のオフセット閾値TH_ldr(n)を算出する。ここで、オフセット閾値TH_ldrの個数nは、マイナス側の振り幅DSとプラス側の振り幅DSの和(n=DS+DS)に等しい。
TH_ldr(n)=ldrMin+n×SP
但し、n=1乃至DS ・・・・(3)
TH_ldr(n)=ldrMin+DS×SP+(n−DS)×SP
但し、n=(DS+1)乃至(DS+DS) ・・・・(4)
図9は、式(1)によりマイナス側の振り幅DSが「6」であり、式(2)によりプラス側の振り幅DSが「3」とされた場合に、振り幅算出部55により決定されるn個のオフセット閾値TH_ldr(n)の例を示している。
式(3)により、ダイナミックレンジMDRの最小値ldrMinから、閾値間隔SPごとに、マイナス側の振り幅DS=「6」個のオフセット閾値TH_ldr(1)乃至TH_ldr(6)が設定される。
また、式(4)により、オフセット閾値TH_ldr(6)から、閾値間隔SPごとに、プラス側の振り幅DS=「3」個のオフセット閾値TH_ldr(7)乃至TH_ldr(9)が設定される。
以上のようにして算出されるn個のオフセット閾値TH_ldr(n)が、振り幅算出部55からオフセット計算部54に供給される。
オフセット計算部54は、n個のオフセット閾値TH_ldr(n)に基づいて、ダイナミックレンジMDRの最大値ldrMaxと最小値ldrMinの範囲を、(n+1)個の範囲に分割する。
例えば、あるフレームのダイナミックレンジMdrの度数分布は、図9に示されるような平均値ldrAve付近を凸とする分布となっている。そして、平坦検出部51から供給される各マクロブロックMBのダイナミックレンジMdrは、最大値ldrMaxと最小値ldrMinの範囲に必ず含まれる。
オフセット計算部54は、平坦検出部51から供給される、マクロブロックMBの平坦度を表す特徴量としてのダイナミックレンジMdrが(n+1)個の範囲のどこに属するかに応じてオフセットTfを決定する。
例えば、平坦検出部51からのダイナミックレンジMdrが、平均値ldrAveを含む範囲であるオフセット閾値TH_ldr(6)以上TH_ldr(7)未満である場合、オフセット計算部54は、オフセットTfを「0」とする(Tf=0)。
また例えば、ダイナミックレンジMdrがオフセット閾値TH_ldr(5)以上TH_ldr(6)未満である場合、オフセット計算部54は、オフセットTfを「−1」とする(Tf=-1)。また、ダイナミックレンジMdrがオフセット閾値TH_ldr(7)以上TH_ldr(8)である場合、オフセット計算部54は、オフセットTfを「+1」とする(Tf=+1)。
また例えば、ダイナミックレンジMdrがオフセット閾値TH_ldr(1)未満である場合には、オフセットTfが「−6」に、ダイナミックレンジMdrがオフセット閾値TH_ldr(9)以上である場合には、オフセットTfが「+3」に設定される。その他についても同様である。
なお、本実施の形態では、上述したように、ダイナミックレンジMDRの最小値ldrMinを基準に、(n+1)個の範囲に分割するようにしたが、最大値ldrMaxや平均値ldrAveを基準に分割するようにしてもよい。
[量子化パラメータ決定処理]
図10のフローチャートを参照して、符号化装置1による量子化パラメータ決定処理について説明する。
1画面分の入力画像データが符号化装置1に入力されると、ステップS1において、全画面特徴抽出部24は、全画面特徴量を計算し、特徴抽出部26に供給する。即ち、全画面特徴抽出部24は、1画面を構成するマクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveを計算し、特徴抽出部26に供給する。
ステップS2において、量子化スケール計算部25は、全画面特徴抽出部24からの全画面特徴量に対応するフレームの所定のマクロブロックMBを、注目マクロブロックに設定する。ここで設定される注目マクロブロックは、全画面特徴抽出部24からの全画面特徴量に対応するフレームを構成するマクロブロックMBのうちの、並べ替え部12が出力するマクロブロックMBに対応するブロックである。
ステップS3において、量子化スケール計算部25は、現在のGOPにおいて利用可能な符号量Rgopを、次式(5)により演算する。
Rgop=(ni+np+nb)×(bit_rate/picture_rate)・・・・(5)
ここで、ni,np、及びnbは、それぞれ、I、P、及びBピクチャの現GOPにおける残りのピクチャ数を表す。また、bit_rateは、目標ビットレートを、picture_rateは、ピクチャレートを表す。
ステップS4において、量子化スケール計算部25は、I、P、及びBピクチャ毎に符号化結果からピクチャの複雑度(Complexity) Xi、Xp、及びXbを、以下の式(6)により求める。
Xi=Ri×Qi
Xp=Rp×Qp
Xb=Rb×Qb ・・・(6)
ここで、Ri、Rp、及びRbは、それぞれ、I、P、及びBピクチャを符号化した結果得られる符号量を表す。また、Qi、Qp、及びQbは、それぞれ、I、P、及びBピクチャ内の全マクロブロックにおけるQスケールの平均値である。
ステップS5において、量子化スケール計算部25は、式(5)及び式(6)の演算結果を用いて、I、P、及びBピクチャのそれぞれについての目標符号量Ti、Tp、及びTbを、以下の式(7)で求める。
Ti=max{(Rgop/(1+((Np×Xp)/(Xi×Kp))+((Nb×Xb)/(Xi×Kb)))),(bit_rate/(8×picture))}
Tp=max{(Rgop/(Np+(Nb×Kp×Xb)/(Kb×Xp))),(bit_rate/(8×picture))}
Tb=max{(Rgop/(Nb+(Np×Kb×Xp)/(Kp×Xb))),(bit_rate/(8×picture))}
・・・(7)
ここで、Np及びNbは、現GOP内のP及びBピクチャそれぞれの残りの枚数を表す。また、Kp及びKbは定数であり、例えば、Kp=1.0,Kb=1.4である。
ステップS6において、I、P、及びBピクチャ毎に3つの仮想バッファが使用され、式(7)で求められた目標符号量と発生符号量との差分が管理される。即ち、仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて実際の符号発生量が目標符号量に近づくように、注目マクロブロックについてQスケールの参照値Qjが量子化スケール計算部25により設定される。
例えば、現在のピクチャタイプがPピクチャの場合、Pピクチャ内の注目マクロブロックの番号をjとして、目標符号量と発生符号量との差分dp,jは、次の式(8)より求めることができる。
dp,j = dp,0 + Bp,j-1 ((Tp×(j-1))/MB_cnt) ・・・(8)
ここで、dp,0は、仮想バッファの初期フルネスを示す。Bp,j-1は、j-1番目のマクロブロックMBまでの総符号量を示す。MB_cntは、ピクチャ内のマクロブロック数を示す。
次に、ステップS7において、量子化スケール計算部25は、dp,j(以後、djと記載する)を用いて、式(9)により、注目マクロブロックにおけるQスケールの参照値Qjを求める。
Qj = ( dj ×31)/r ・・・(9)
ここで、r=2×bit_rate/picture_rateである。
ステップS8において、特徴抽出部26は、注目マクロブロックのオフセットOFFSETを算出するオフセット算出処理を実行する。オフセット算出処理により得られた注目マクロブロックのオフセットOFFSETは、特徴抽出部26から量子化スケール調整部27に供給される。
ステップS9において、量子化スケール調整部27は、注目マクロブロックの量子化スケールの参照値Qjに対し、オフセットOFFSETを演算して、注目マクロブロックの量子化パラメータを調整する。即ち、量子化スケール調整部27は、Qj’=Qj+OFFSETを演算して、調整後の量子化スケールの参照値Qj’を算出し、量子化部15に供給する。
ステップS10において、量子化スケール計算部25は、全画面特徴抽出部24からの全画面特徴量に対応するフレームの全てのマクロブロックMBを、注目マクロブロックに設定したかを判定する。
ステップS10で、フレームの全てのマクロブロックMBが、まだ注目マクロブロックに設定されていないと判定された場合、量子化スケール計算部25は、処理をステップS2に戻す。これにより、全画面特徴抽出部24からの全画面特徴量に対応するフレームの、まだ注目マクロブロックに設定されていないマクロブロックMBが注目マクロブロックとされ、それ以降の処理が繰り返される。
一方、ステップS10で、フレームの全てのマクロブロックMBが注目マクロブロックに設定されたと判定された場合、処理は終了する。
図11は、特徴抽出部26が、図10のステップS8で実行する、注目マクロブロックのオフセット算出処理のフローチャートである。
ステップS21において、振り幅算出部55は、オフセットTfを決定するためのn個のオフセット閾値TH_ldr(n)を算出する。即ち、振り幅算出部55は、式(1)および式(2)により、マイナス側の振り幅DSと閾値間隔SP、およびプラス側の振り幅DSと閾値間隔SPを決定する。そして、振り幅算出部55は、式(3)および式(4)により、n個のオフセット閾値TH_ldr(n)を算出する。
ステップS22において、平坦検出部51は、特徴抽出部26で設定されるオフセットOFFSETにゼロを代入し、初期化する。
ステップS23において、平坦検出部51は、注目マクロブロックのダイナミックレンジMdrを算出し、オフセット計算部54に供給する。
具体的には、平坦検出部51は、注目マクロブロックを4つのサブブロックSB乃至SBに分割し、サブブロックSBそれぞれについて、局所領域LB乃至LB36を設定し、ダイナミックレンジLdr乃至Ldr36を検出する。そして、平坦検出部51は、サブブロックSBのダイナミックレンジの代表値Bdrを、Bdr=max(Ldr,Ldr,・・・,Ldr36)により計算する。そして、4つのサブブロックSB乃至SBのダイナミックレンジの代表値Bdr乃至Bdrの最大値を検出し、注目マクロブロックのダイナミックレンジMdrとする。
ステップS24において、エッジ検出部52は、注目マクロブロックのエッジの有無を検出し、検出結果をオフセット計算部54に供給する。
具体的には、エッジ検出部52は、注目マクロブロックを4つのサブブロックSB乃至SBに分割する。そして、エッジ検出部52は、4つのサブブロックSBそれぞれについて、局所領域LB乃至LB36を設定し、ダイナミックレンジLdr乃至Ldr36を検出する。サブブロックSBについて、Ldr>ka×Bdrを満たす局所領域の数enがカウントされ、カウントされた数enが予め決定された閾値th_enを超えている場合、そのサブブロックSBにはエッジがあると判定される。そして、マクロブロックMBを構成する4つのサブブロックSBのうち、1つでもエッジありと判定された場合、注目マクロブロックにはエッジがあると判定される。
ステップS25において、色検出部53は、注目マクロブロックの、視覚的に目立つ色の有無を検出し、検出結果をオフセット計算部54に供給する。具体的には、視覚的に目立つ色として予め決定された所定の色の画素数が注目マクロブロック内でカウントされ、カウントされた画素数が閾値th_c以上であれば、その注目マクロブロックには、視覚的に目立つ色があると判定される。
ステップS23乃至S25のそれぞれは、並行して実行することが可能である。
ステップS26において、オフセット計算部54は、注目マクロブロックのダイナミックレンジMdr、エッジの有無、および、色検出の有無に応じて、オフセットOFFSETを求め、量子化スケール調整部27に供給する。
具体的には、オフセット計算部54は、マクロブロックMBのダイナミックレンジMdrがn個のオフセット閾値TH_ldr(n)により分割された(n+1)個の範囲のどこに属するかに応じてオフセットTfを決定する。また、オフセット計算部54は、マクロブロックMBのエッジ検出および色検出の有無に応じてオフセットTcおよびTmをオフセットOFFSETから減算するかを決定する。そして、オフセット計算部54は、オフセットTfに、オフセットTcおよびTmを、必要に応じて減算した結果を、オフセットOFFSETとする。
ステップS26で、演算結果のオフセットOFFSETが量子化スケール調整部27に供給されると、図10のステップS8が終了し、処理は図10のステップS9に進む。
以上説明した量子化パラメータ決定処理によれば、Iピクチャに対して多くの符号量を割り当てられるとともに、ピクチャ内においては視覚的に劣化の目立ちやすい平坦部に符号量が多く配分される。これにより、予め定めたビットレート内で、画質の劣化を抑えた符号量制御と量子化制御を行うことが可能になる。
また、量子化パラメータ決定処理によれば、背景技術に記載の特許文献2で特徴量として用いていた分散の代わりに、局所領域LBのダイナミックレンジDRの最大値(ダイナミックレンジMdr)を用いて、マクロブロックMB内の高域成分が抽出される。これにより、量子化パラメータを調整する特徴量を、人間の実際の視覚にあった特徴量とすることができる。
[本発明の効果]
図12を参照して、量子化パラメータの調整に用いる特徴量として、分散を用いた場合と、局所領域LBのダイナミックレンジDRの最大値を用いた場合との違いについて説明する。
図12のグラフ61A乃至61Cは、マクロブロックMB内の水平方向の1ラインの入力波形(画素値)を示している。グラフ61Aは、画素値がなだらかに変化している波形の例であり、グラフ61Bは、水平方向のある位置で、画素値が一方向に変化している例であり、グラフ61Cは、水平方向の一部で画素値が上下に振れている例である。
図12のグラフ62A乃至62Cは、グラフ61A乃至61Cの波形に対し、従来の分散を特徴量として用いた場合に計算される評価量を示している。
分散という特徴量は(エッジの大きさ)×(エッジの回数)を表す特徴量であるため、図中黒の塗りつぶし部分の面積が評価量となってしまう。そのため、分散という特徴量では、図12に示されるように、グラフ61Cの波形に対する評価量が、急峻なエッジが含まれているのにも関わらず小さな値となってしまう。従って、量子化パラメータの調整に用いる特徴量として分散を用いた場合には、必ずしも視覚的に目立つエッジの大きさを表さず、視覚的な評価量と逆転してしまうケースがある。
これに対して、図12のグラフ63A乃至63Cは、グラフ61A乃至61Cの波形に対し、符号化装置1が採用する、局所領域LBのダイナミックレンジDRの最大値を、特徴量として用いた場合に計算される評価量を示している。
局所領域LBのダイナミックレンジDRの最大値を用いることにより、分散という特徴量が表す意味の(エッジの大きさ)×(エッジの回数)のうちの、(エッジの回数)の部分を敢えてなくし、(エッジの大きさ)のみを表す特徴量とすることができる。
その結果、図12に示されるように、グラフ61Bと61Cのいずれの波形に対しても、計算される評価量が大となる。即ち、視覚的に目立つエッジに対して、評価量を大きくすることができ、人間の実際の視覚にあった特徴量とすることができる。
[局所的なダイナミックレンジDRのその他の例]
上述した実施の形態では、マクロブロックMBを分割したサブブロックSB内で設定する局所領域LBを、3×3画素としたが、局所領域LBはこれに限定されるものではない。例えば、最も小さなものとして、局所領域LBを2画素に設定することができる。即ち、隣接画素差分の最大値をサブブロックSB内で検出することにより、ダイナミックレンジLDR(Ldr)を検出することも可能である。
図13は、局所領域LBが隣接する2画素である場合の、図5に対応する図である。
サブブロックSBに対し、水平方向に隣接する隣接画素を局所領域LBに設定することで、局所領域LB乃至LB56が得られる。また、サブブロックSBに対し、垂直方向に隣接する隣接画素を局所領域LBに設定することで、局所領域LB’乃至LB56’が得られる。
そして、局所領域LB乃至LB56と局所領域LB’乃至LB56’で構成される隣接画素の差分値の最大値が、サブブロックSBのダイナミックレンジの代表値BDRまたはBdrとされる。
図14は、量子化パラメータの調整に用いる特徴量として、隣接画素差分の最大値を採用した場合の、図12と同様の評価量の違いを説明する図である。
図14において、図12のグラフ63A乃至63Cに代えて、隣接画素差分の最大値に対応する評価量であるグラフ64A乃至64Cが示されている以外は図12と同様である。
図14のグラフ64Bおよび64Cを参照して分かるように、隣接画素差分の最大値を採用した場合でも、グラフ61Bと61Cのいずれの波形に対しても、計算される評価量が大となる。即ち、視覚的に目立つエッジに対して、評価量を大きくすることができ、人間の実際の視覚にあった特徴量とすることができる。
以上のように、符号化装置1の量子化パラメータ決定処理によれば、従来の分散を特徴量として用いた場合と同じ発生符号量でも、視覚的劣化の目立ちやすいマクロブロックMBに対する画質を改善することができる。
さらに、符号化装置1の量子化パラメータ決定処理によれば、一画面を構成する全てのマクロブロックMBのダイナミックレンジMDRの最大値ldrMax、最小値ldrMin、および平均値ldrAveが算出される。そして、最大値ldrMax、最小値ldrMin、および平均値ldrAveを用いて、マクロブロックMBの平坦度の特徴量に対応するオフセットTfを決定するためのn個のオフセット閾値TH_ldr(n)が算出される。これにより、画面内の各マクロブロックMBの平坦度の、画面全体における相対的な度合いに応じて、適応的に量子化パラメータを変化させることができる。
これにより、画像依存性の問題を軽減することができる。即ち、従来、一画面で全体的に高域成分が多く分布している画像の場合には、画面全体での量子化パラメータの平均値が上昇してしまう。そのため、分散等の特徴量を用いて視覚的に劣化の目立ちやすい平坦部を抽出しても十分な画質改善効果をあげることが出来ないという問題があった。符号化装置1の量子化パラメータ決定処理によれば、このような問題を軽減することができる。
なお、符号化装置1において、全画面特徴抽出部24は省略することができる。この場合、特徴抽出部26の振り幅算出部55も省略され、平坦検出部51では、固定の閾値TH_ldr(n)に基づいてオフセットTfが決定される。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、及びドライブ110が接続されている。
入力部106は、キーボード、マウス、マイクロホンなどよりなる。出力部107は、ディスプレイ、スピーカなどよりなる。記憶部108は、ハードディスクや不揮発性のメモリなどよりなる。通信部109は、ネットワークインタフェースなどよりなる。ドライブ110は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体111を駆動する。
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体111に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記録媒体111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 符号化装置, 14 直交変換部, 15 量子化部, 24 全画面特徴抽出部, 25 量子化スケール計算部, 26 特徴抽出部, 27 量子化スケール調整部, 41 ブロック平坦検出部, 42 最大・最小・平均値算出部, 51 平坦検出部, 52 エッジ検出部, 54 オフセット計算部

Claims (9)

  1. 入力画像データを複数のブロックに分割し、分割されたブロック単位で変換符号化して、変換係数データを出力する変換符号化手段と、
    前記ブロック内の局所的な領域のダイナミックレンジの最大値を前記ブロックの代表値として、前記入力画像データの画面全体を構成する全ての前記ブロックの代表値の最大値、最小値、および平均値を算出する全画面特徴抽出手段と、
    目標符号量と実際の発生符号量の差分に基づいて、前記ブロックの量子化スケールの参照値を計算する量子化スケール計算手段と、
    前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロックのダイナミックレンジの最大値を計算し、計算した前記特徴量に応じた前記量子化スケールのオフセットを算出する特徴量抽出手段と、
    前記特徴量抽出手段により算出された前記量子化スケールのオフセットに基づいて、前記量子化スケール計算手段により計算された前記量子化スケールの参照値を調整する量子化スケール調整手段と、
    前記量子化スケール調整手段により調整された前記量子化スケールの参照値に従い、前記変換符号化手段から出力された前記変換係数データを前記ブロック単位で量子化する量子化手段と
    を備え、
    前記特徴量抽出手段は、前記全画面特徴抽出手段により算出された前記ブロックの代表値の前記最小値から前記最大値までの範囲を複数の範囲に分割し、前記ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて前記量子化スケールのオフセットを算出する
    符号化装置
  2. 前記特徴量抽出手段は、前記ブロックのダイナミックレンジの最大値を、前記ブロック内の局所的な領域のダイナミックレンジの最大値により算出する
    請求項1に記載の符号化装置。
  3. 前記ブロック内の局所的な領域は、水平方向または垂直方向に隣接する2画素である
    請求項2に記載の符号化装置。
  4. 前記特徴量抽出手段は、前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロック内のエッジの有無を検出し、前記ブロック内のエッジの有無に応じた前記量子化スケールのオフセットも算出する
    請求項1乃至3のいずれかに記載の符号化装置。
  5. 前記特徴量抽出手段は、前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロック内の所定の色の有無を検出し、前記ブロック内の所定の色の有無に応じた前記量子化スケールのオフセットも算出する
    請求項1乃至4のいずれかに記載の符号化装置。
  6. 前記特徴量抽出手段は、全ての前記ブロックの代表値の前記平均値を含む前記範囲を前記量子化スケールのオフセットの基準として、全ての前記ブロックの代表値の前記最小値に近くなる前記範囲ほど前記オフセットをマイナスし、全ての前記ブロックの代表値の前記最大値に近くなる前記範囲ほど前記オフセットをプラスする
    請求項1乃至5のいずれかに記載の符号化装置。
  7. 前記特徴量抽出手段は、プラス側の振り幅を、マイナス側の振り幅と比較して小さい値に設定する
    請求項6に記載の符号化装置。
  8. 入力画像データを符号化する符号化装置が、
    前記入力画像データを複数のブロックに分割し、分割されたブロック単位で変換符号化して、変換係数データを出力し、
    前記ブロック内の局所的な領域のダイナミックレンジの最大値を前記ブロックの代表値として、前記入力画像データの画面全体を構成する全ての前記ブロックの代表値の最大値、最小値、および平均値を算出し、
    目標符号量と実際の発生符号量の差分に基づいて、前記ブロックの量子化スケールの参照値を計算し、
    前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロックのダイナミックレンジの最大値を計算し、計算した前記特徴量に応じた前記量子化スケールのオフセットを算出し、
    算出された前記量子化スケールのオフセットに基づいて、計算された前記量子化スケールの参照値を調整し、
    調整された前記量子化スケールの参照値に従い、前記変換係数データを前記ブロック単位で量子化する
    ステップを含み、
    前記量子化スケールのオフセットの算出では、算出された前記ブロックの代表値の前記最小値から前記最大値までの範囲を複数の範囲に分割し、前記ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて前記量子化スケールのオフセットが算出される
    符号化方法
  9. コンピュータに、
    入力画像データを複数のブロックに分割し、分割されたブロック単位で変換符号化して、変換係数データを出力し、
    前記ブロック内の局所的な領域のダイナミックレンジの最大値を前記ブロックの代表値として、前記入力画像データの画面全体を構成する全ての前記ブロックの代表値の最大値、最小値、および平均値を算出し、
    目標符号量と実際の発生符号量の差分に基づいて、前記ブロックの量子化スケールの参照値を計算し、
    前記ブロックの視覚的劣化の目立ちやすさを表す特徴量として、前記ブロックのダイナミックレンジの最大値を計算し、計算した前記特徴量に応じた前記量子化スケールのオフセットを算出し、
    算出された前記量子化スケールのオフセットに基づいて、計算された前記量子化スケールの参照値を調整し、
    調整された前記量子化スケールの参照値に従い、前記変換係数データを前記ブロック単位で量子化する
    ステップを含み、
    前記量子化スケールのオフセットの算出では、算出された前記ブロックの代表値の前記最小値から前記最大値までの範囲を複数の範囲に分割し、前記ブロックのダイナミックレンジの最大値が、分割された複数の範囲のどこに属するかに応じて前記量子化スケールのオフセットが算出される
    処理を実行させるためのプログラム。
JP2010035825A 2010-02-22 2010-02-22 符号化装置、符号化方法、およびプログラム Expired - Fee Related JP5618128B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010035825A JP5618128B2 (ja) 2010-02-22 2010-02-22 符号化装置、符号化方法、およびプログラム
CN2011100394423A CN102164280A (zh) 2010-02-22 2011-02-15 编码设备、编码方法和编码程序
US13/028,521 US20110206115A1 (en) 2010-02-22 2011-02-16 Encoding apparatus, encoding method and encoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010035825A JP5618128B2 (ja) 2010-02-22 2010-02-22 符号化装置、符号化方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2011172137A JP2011172137A (ja) 2011-09-01
JP2011172137A5 JP2011172137A5 (ja) 2013-03-07
JP5618128B2 true JP5618128B2 (ja) 2014-11-05

Family

ID=44465207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010035825A Expired - Fee Related JP5618128B2 (ja) 2010-02-22 2010-02-22 符号化装置、符号化方法、およびプログラム

Country Status (3)

Country Link
US (1) US20110206115A1 (ja)
JP (1) JP5618128B2 (ja)
CN (1) CN102164280A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150063461A1 (en) * 2013-08-27 2015-03-05 Magnum Semiconductor, Inc. Methods and apparatuses for adjusting macroblock quantization parameters to improve visual quality for lossy video encoding
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
KR20160132858A (ko) * 2014-03-14 2016-11-21 삼성전자주식회사 샘플값 보상을 위한 영상 부호화 방법과 그 장치, 및 샘플값 보상을 위한 영상 복호화 방법과 그 장치
US9800875B2 (en) 2015-04-10 2017-10-24 Red.Com, Llc Video camera with rate control video compression
JPWO2018047480A1 (ja) * 2016-09-12 2019-06-24 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
KR102620350B1 (ko) 2017-07-05 2024-01-02 레드.컴, 엘엘씨 전자 디바이스에서의 비디오 이미지 데이터 처리
WO2020054713A1 (en) * 2018-09-11 2020-03-19 Sharp Kabushiki Kaisha Systems and methods for coding transform coefficient level values

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62100077A (ja) * 1985-10-28 1987-05-09 Nippon Telegr & Teleph Corp <Ntt> 符号化方法および装置
JP2789585B2 (ja) * 1987-10-27 1998-08-20 ソニー株式会社 高能率符号化装置
JP2545302B2 (ja) * 1989-12-25 1996-10-16 三菱電機株式会社 高能率符号化装置
JP2861373B2 (ja) * 1990-11-16 1999-02-24 ソニー株式会社 符号化データの受信装置及び方法
JPH04255190A (ja) * 1991-02-07 1992-09-10 Hitachi Ltd 画像データ圧縮装置
JPH07184195A (ja) * 1993-12-22 1995-07-21 Sharp Corp 画像符号化装置
GB2335815B (en) * 1998-03-25 2002-02-27 Sony Uk Ltd Data compression
JP4256574B2 (ja) * 2000-08-04 2009-04-22 富士通株式会社 画像信号符号化方法および画像信号符号化装置
CN1253830C (zh) * 2001-02-21 2006-04-26 索尼公司 信号处理装置
KR101029396B1 (ko) * 2003-03-24 2011-04-14 소니 주식회사 데이터 부호화 장치, 데이터 부호화 방법, 데이터 복호화 장치, 및 데이터 복호화 방법
JP3772846B2 (ja) * 2003-03-24 2006-05-10 ソニー株式会社 データ符号化装置およびデータ符号化方法、並びにデータ出力装置およびデータ出力方法
US7627198B2 (en) * 2003-05-29 2009-12-01 Sony Corporation Information signal processing device and processing method, codebook generating device and generating method, and program for executing the methods
US8363717B2 (en) * 2005-05-17 2013-01-29 Canon Kabushiki Kaisha Image processing apparatus
JP4802885B2 (ja) * 2006-06-19 2011-10-26 ソニー株式会社 動きベクトル検出装置および方法、プログラム並びに記録媒体
JP4569840B2 (ja) * 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
JP2009110211A (ja) * 2007-10-29 2009-05-21 Sony Corp 情報符号化装置および方法、情報検索装置および方法、情報検索システムおよび方法、並びにプログラム
JP4942208B2 (ja) * 2008-02-22 2012-05-30 キヤノン株式会社 符号化装置
JP5078837B2 (ja) * 2007-10-29 2012-11-21 キヤノン株式会社 符号化装置、符号化装置の制御方法及びコンピュータプログラム
JPWO2009157581A1 (ja) * 2008-06-27 2011-12-15 ソニー株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
CN102164280A (zh) 2011-08-24
US20110206115A1 (en) 2011-08-25
JP2011172137A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
JP5618128B2 (ja) 符号化装置、符号化方法、およびプログラム
JP4529919B2 (ja) 適応量子化装置及び適応量子化プログラム
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
US9077968B2 (en) Image processing apparatus and method, and program
EP0892555A2 (en) Adaptive video coding method
EP2323407A1 (en) Video image encoding method, video image decoding method, video image encoding apparatus, video image decoding apparatus, program and integrated circuit
JP4702059B2 (ja) 動画像を符号化する方法及び装置
US9014268B2 (en) Video encoder and its decoder
KR101282193B1 (ko) 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
EP1978745B1 (en) Statistical adaptive video rate control
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
US8290064B2 (en) Intra-forecast mode selecting method, moving picture coding method, and device and program using the same
JP2009135902A (ja) 符号化装置、符号化装置の制御方法及びコンピュータプログラム
JP2011239365A (ja) 動画像符号化装置及びその制御方法、コンピュータプログラム
JP4736619B2 (ja) 画像処理装置および画像処理方法
JP4179917B2 (ja) 動画像符号化装置及び方法
KR20110099554A (ko) 영상의 복잡도를 이용한 h.264/avc 부호화기의 양자화 파라미터 결정 방법 및 이를 구현하는 h.264/avc 부호화기
US9185420B2 (en) Moving image coding apparatus and moving image coding method
KR20130032807A (ko) 동영상 부호화 장치 및 방법
JP4942208B2 (ja) 符号化装置
JP5295089B2 (ja) 画像符号化装置
JP4586340B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP6200220B2 (ja) 画像処理装置、符号化装置、復号装置、及びプログラム
JP3211778B2 (ja) 改良された適応性のあるビデオ符号化方法
US20120230425A1 (en) Encoding apparatus and method of conversion block for increasing video compression efficiency

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140903

LAPS Cancellation because of no payment of annual fees