JP6265724B2 - 画像符号化装置、画像符号化方法及びプログラム - Google Patents

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

Info

Publication number
JP6265724B2
JP6265724B2 JP2013255671A JP2013255671A JP6265724B2 JP 6265724 B2 JP6265724 B2 JP 6265724B2 JP 2013255671 A JP2013255671 A JP 2013255671A JP 2013255671 A JP2013255671 A JP 2013255671A JP 6265724 B2 JP6265724 B2 JP 6265724B2
Authority
JP
Japan
Prior art keywords
block
value
evaluation value
class
quantization parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013255671A
Other languages
English (en)
Other versions
JP2015115735A (ja
JP2015115735A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013255671A priority Critical patent/JP6265724B2/ja
Priority to US14/565,177 priority patent/US9998738B2/en
Publication of JP2015115735A publication Critical patent/JP2015115735A/ja
Publication of JP2015115735A5 publication Critical patent/JP2015115735A5/ja
Application granted granted Critical
Publication of JP6265724B2 publication Critical patent/JP6265724B2/ja
Active 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Landscapes

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

Description

本発明は画像符号化装置、画像符号化方法及びプログラムに関し、特にフレーム内の適応的な符号量制御に関する。
動画像の圧縮記録に用いられる符号化方式として、H.264/MPEG−4 AVC(以下、H.264)が知られている。(非特許文献1)H.264を用いて画像をブロック単位で符号化する場合、量子化値はブロック毎に可変である。そして、量子化値をブロック毎に制御することにより、各ブロックに割り当てる符号量を制御し、各ブロックの画質を制御することができる。
従来、上記の符号化方式を用いて画像を符号化する場合、符号量の増加を抑制しつつ画質の劣化を抑制するために、次のような符号量の制御が行われていた。即ち、1フレームの画像を各ブロック毎に人間の視覚特性に基づいてクラス分けをし、人間の視覚特性において画質の劣化が目立ち易いクラスに属するブロックの量子化値として基準の量子化値より小さい値を割り当てることにより、画質の劣化を抑制していた。ここで、基準の量子化値としては、例えばフレームQPやスライスQP等がある。
一方、画質の劣化が目立ち難いクラスに属するブロックの量子化値として基準の量子化値より大きい値を割り当てることにより、当該クラスに属するブロックの符号量の増加を抑制していた。しかしながら上述した従来の方法では、1フレームに含まれる画質の劣化が目立ち易いクラスに属するブロックの数が増加すると、基準の量子化値より小さい値の量子化値を割り当てるブロックが増加するため、1フレーム当たりの符号量が増加してしまう。このため、各クラスに属するブロックの数を考慮して、当該各ブロックに割り当てる量子化値を制御する必要があった。
例えば特許文献1の技術では、人の視覚特性に合わせて1フレームを16×16画素のブロックに分割し、当該16×16画素の符号化ブロックをクラス分けし(クラスA)、クラスA毎に基準となる量子化値を設けている。さらに、8×8画素のブロックの分散値により8×8画素のブロック(サブブロック)をクラスBに分類し、クラスA及びクラスBのブロック数のヒストグラムを生成している。そしてヒストグラム及び基準となる量子化値に基づいてフレームあたりの発生ビット量を予測し、予測されたビット量によりクラス毎の基準となる量子化値を調整している。
特開平9−200760
ITU−T H.264 (03/2010) Advanced video coding for generic audiovisual services
しかしながら特許文献1に示した技術では、フレームあたりの発生ビット量を予測するために、当該フレームにおける全てのクラスのブロック数を考慮して、各クラスに割り当てる量子化値を決定する必要がある。このため、全てのクラスのブロック数を考慮して量子化値を決定するために必要なメモリビット数が大きくなる。このため、フレームあたりの発生ビット量を予測する演算コストも大きくなる。
上記課題を解決するため、本発明の画像符号化装置は、下記の構成を有する。即ち、画像に含まれるブロックの輝度値に基づく評価値を取得する第1の取得手段と、前記第1の取得手段によって取得された前記評価値が所定の条件を満たすブロックの数を示す計数情報を取得する第2の取得手段と、前記第2の取得手段によって取得された前記計数情報に基づいて、量子化パラメータを設定する設定手段とを有し、前記評価値は、前記ブロックの輝度値の複雑度に基づく評価値を含み、前記所定の条件は、前記複雑度に基づく評価値が第1の所定値より大きいことを含み、前記設定手段は、前記計数情報に基づいて、前記所定の条件を満たすブロックの数が所定の値より多い場合に、前記所定の条件を満たすブロック以外の対象ブロックを量子化するために用いられる量子化パラメータを、前記所定の条件を満たすブロックの数が前記所定の値より少ない場合の前記対象ブロックの量子化パラメータよりも小さくなるように設定する。
人間の視覚特性に基づいて、各ブロックへ適切な符号量を割り当てることにより、符号量の増加を抑制しつつ画質の劣化を抑制することができる。さらに、画質の劣化が目立ち易いクラスのブロック数に応じて各ブロックに割り当てる量子化値を制御することにより、量子化値制御に必要なメモリビット数及び演算コストを、フレーム内の全クラスのブロック数を計数する場合と比較して低減することができる。
実施形態1における画像符号化装置の構成を示すブロック図 実施形態1におけるフレーム符号化のフローチャート 実施形態1におけるクラス情報生成のフローチャート 実施形態1におけるクラスの判別を示す図 実施形態1における量子化パラメータの設定方法を示す図 実施形態2におけるクラスの判別を示す図 実施形態2におけるクラスと評価値の関係を示す図 本発明の画像符号化装置に適用可能なコンピュータのハードウェア構成例を示すブロック図
以下、添付の図面を参照して、本願発明をその好適な実施例に基づいて詳細に説明する。尚、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
以下、本発明の実施形態1について、図面を用いて説明する。図1は本実施形態の画像符号化装置100の構成を示すブロック図である。
図1において、101はブロック評価値算出部であり、入力画像を分割するブロック毎を評価する評価値(以下、ブロック評価値)を算出する。即ち、ブロック評価値算出部101には、画像符号化装置100からブロック単位に画像が入力され、ブロック評価値算出部101はブロック毎のブロック評価値を算出する。尚、ブロック評価値については後述する。102はクラス決定部であり、ブロック評価値算出部101によって算出されたブロック評価値に基づいて、ブロックが属するクラスを決定する。以下、ブロックが属するクラスを示す情報をクラス情報と呼称する。103は計数部であり、クラス決定部102から入力されたクラス情報に基づいて、各クラスに属するブロック数を計数する。以下、各クラスに属するブロック数を示す情報を計数情報と呼称する。
104は量子化パラメータ制御部であり、符号化対象のブロック(以下、符号化対象ブロック)の量子化パラメータを制御する。量子化パラメータ制御部104は、計数部103から計数情報を取得し、クラス毎に割り当てられる量子化パラメータであるクラス量子化パラメータを決定する。さらに、量子化パラメータ制御部104は、符号化対象ブロックのクラス量子化パラメータと、クラス決定部102で決定された当該符号化対象ブロックのクラス情報とに基づいて、当該符号化対象ブロックの量子化パラメータを生成する。以下、ブロックの量子化パラメータをブロック量子化パラメータと呼称する。105は符号化部であり、量子化パラメータ制御部104から入力されたブロック量子化パラメータに基づいて前記符号化対象ブロックを符号化する。
次に、本実施形態の画像符号化装置100の動作を、図2のフローチャートを用いて詳細に説明する。本実施形態における画像符号化装置100は、動画像をフレーム単位で入力し、さらに当該フレームを分割したブロック単位でラスタ順に当該動画像を処理する。
まずステップS201において、計数部103は計数情報を0に初期化する。次に、ステップS202において、ブロック評価値算出部101は、入力されたブロックのブロック評価値を算出する。ここで、ブロック評価値は、処理対象のブロック(以下、処理対象ブロック)を符号化した場合の、当該処理対象ブロックの画質指標に関するものとする。そして、画質指標とは、画像を符号化する場合に生じる量子化誤差が、人間の視覚に影響を与える度合い(視覚特性)に関する値である。本実施形態における計数部103は、処理対象ブロックに属する各画素の輝度の平均値及び輝度の複雑度をブロック評価値として算出する。
次に、ブロック評価値算出部101が、ブロック評価値として用いられる輝度の複雑度を算出する方法について具体的に説明する。まず、ブロック評価値算出部101は、処理対象ブロックを複数の4×4画素単位のサブブロックに分割し、当該サブブロックに属する、各画素の輝度値と輝度の平均値との差分の大きさ(絶対値)の合計値を、当該サブブロックの複雑度として算出する。そして、ブロック評価値算出部101は、処理対象ブロック内の全てのサブブロックの複雑度を算出した後、算出された各サブブロックの複雑度のうちの最小値を、ブロック評価値として用いられる輝度の複雑度とする。
尚、本実施形態では複雑度の算出に4×4画素のサブブロックの最小値を用いたが、本発明においてサブブロックのブロックサイズはこれに限定されず、8×8画素のサブブロックを用いてもよいし、16×16画素の処理対象ブロックをそのまま用いてもよい。さらに、本実施形態では複雑度の算出にサブブロックの最小値を用いたが、本発明では最小値ではなく平均値や最大値等を用いてもよい。
続いて、図2のステップS203以降の処理について説明する。ステップS203において、クラス決定部102はステップS202において算出されたブロック評価値に基づいて、処理対象ブロックに対応するクラス情報を生成する。尚、本実施形態では、処理対象ブロックの輝度の平均値を評価値C1、輝度の複雑度を評価値C2として、当該評価値C1及び評価値C2の2個のブロック評価値に基づいて、クラス情報を生成する。さらに、評価値C1及び評価値C2夫々に対し、閾値配列T1及び閾値配列T2を定義する。本実施形態において2個のブロック評価値を用いたが、本発明はこれに限定されず、k個のブロック評価値を用いる場合、k個の評価値C1,C2,…,Ck毎にそれぞれ閾値配列Tkが保持される。
図4に、輝度の平均値及び輝度の複雑度をブロック評価値とした場合の処理対象ブロックの判別の一例を示す。横軸は輝度の複雑度(評価値C2)、縦軸は輝度の平均値(評価値C1)であり、計72個のクラスに分割されている。閾値配列T1及び閾値配列T2は、それぞれのクラスを定義する閾値の組で構成される。図4の例では閾値配列T1={T1[1],T1[2],T1[3],T1[4],T1[5],T1[6],T1[7],T1[8],T1[9]}である。また、閾値配列T2={T2[1],T2[2],T2[3],T2[4],T2[5],T2[6],T2[7],T2[8]}である。尚、評価値Ciにおける閾値配列Tiの各要素を、閾値Ti[j]のように表している。
また、ステップS203で生成されるクラス情報は、クラス情報Pとして、処理対象ブロックが各ブロック評価値に基づいてどのクラスに属するかを、クラスを定義する閾値の組で表す。例えば、処理対象ブロックの評価値C1がT1[5]より大きくT1[6]より小さい場合、且つ、処理対象ブロックの評価値C2がT2[4]より大きくT2[5]より小さい場合、所定対象ブロックのクラスは図4において斜線で示したクラスRとなる。そして、図4において斜線で示したクラスRはクラス情報P={T1[6],T2[5]}のように表される。
ここで、クラス決定部102がクラス情報を生成する方法に関して、図3のフローチャートを用いて詳細に説明する。まず、クラス決定部102は、ステップS301において変数iを1に初期化し、ステップS302において変数jを1に初期化する。次に、ステップS303においてクラス決定部102は、評価値Ciが閾値Ti[j]で定義されるクラス内に属しているか否かを判定する。ステップS303において、評価値Ciが閾値Tk[i]に属しているならば(ステップS303でYES)ステップS306の処理に進み、そうでないならばステップS304の処理に進む。次に、ステップS304においてクラス決定部102は、変数jに1を加算(j=j+1)して、ステップS305の処理へ進む。
次にステップS305においてクラス決定部102は、評価値Ciを全ての閾値(閾値配列Tiに属するh個全ての閾値Ti[1]〜Ti[h])と比較したか否かを判定する。即ち、クラス決定部102は変数jがhより大きいかどうかを判定する。ステップS305において全ての閾値と比較したと判定した場合は(ステップS305でYES)ステップS306の処理に進み、そうでない場合は(ステップS305でYES)ステップS303の処理に進む。ステップS306においてクラス決定部102は、評価値Ciにおけるクラス情報Pi(クラス情報Pのi番目の要素)に、当該評価値Ciについて属していると判定された閾値を代入し、ステップS307に進む。ステップS307において、クラス決定部102は変数iに1を加算し、ステップS308に進む。
ステップS308においてクラス決定部102は、k個の評価値全てにおいて閾値との比較がなされたかどうかを判定する。即ち、クラス決定部102は変数iがkより大きいかどうかを判定する。ステップS308にて全ての比較が終わっていると判定された場合(ステップS308でYES)クラス決定部102はクラス情報の生成処理を終了し、終わっていないと判定された場合(ステップS308でNO)クラス決定部102はステップS302に進む。
上述した図3に示す処理フローを実施することにより、クラス決定部102は、各評価値について属していると判定された閾値の組が代入された、クラス情報P={P1,P2,…,Pk}を生成することができる。評価値が2個の場合、このようにして生成したクラス情報P={P1,P2}は、処理対象ブロックが図4の格子状に示したクラスのどの部分に属するかを示している。そして、本実施形態では、このクラス情報Pに、処理対象ブロックの特性及び当該特性に適した量子化パラメータ(以下、クラス量子化パラメータ)を対応付ける。
上述したように、本実施形態においてクラス決定部102は、処理対象ブロックの画質劣化の度合いを判定するためにクラス情報Pの生成を行う。そして、本実施形態において、処理対象ブロックの画質劣化の度合いを判定するためのブロック評価値として、輝度の複雑度と輝度の平均値とを用いる。輝度の複雑度及び輝度の平均値は空間周波数と関連し、輝度の複雑度及び輝度の平均値が高い画像は空間周波数が高く、輝度の複雑度及び輝度の平均値が低い画像は空間周波数が低い。ここで、例えば、人間の目は、高い空間周波数の画像よりも低い空間周波数の画像の方が、画質の劣化に対して敏感であるという視覚特性を有する。このため、輝度の複雑度が低いブロックは空間周波数も低く、人間の視覚特性において量子化誤差による画質劣化が目立ち易い。一方、輝度の複雑度が高いブロックは空間周波数が高く、画質劣化が目立ちにくい。輝度の平均値も同様に、輝度の平均値が小さい(暗い)ブロックの方が人間の視覚に対して画質劣化が目立ち易く、輝度の平均値が大きい(明るい)ブロックは画質劣化が目立ちにくいといった特性を持つ。
これらのブロック評価値(輝度の複雑度と輝度の平均値)に基づいて、例えば、図4の左下のクラスは画質劣化の目立ち易いクラスであると判定できる。このため、本実施形態の量子化パラメータ制御部104は図4の左下のクラスのクラス量子化パラメータを小さくすることにより、画質劣化を抑えることができる。さらに、図4の右上の画質劣化の目立ち難いクラスのクラス量子化パラメータを大きくして全体の符号量の上昇を抑えることで、ブロック評価値に基づく量子化パラメータ制御をしない場合と同等のビットレートを保ったまま、画質を向上させることが可能となる。
図2のフローチャートに戻り、ステップS204以降の処理に関して説明する。ステップS204において計数部103は、ステップS203で生成されたクラス情報に基づいて、処理対象ブロックが画質劣化の目立ち難いクラス(所定のクラス)に属しているか否かを判定する。ステップS204において処理対象ブロックが画質劣化の目立ち難いクラス(所定のクラス)に属している場合(ステップS204のNO)、計数部103は計数情報に1を足して計数情報を更新する(ステップS205)。一方、ステップS204において処理対象ブロックが画質劣化の目立ち易いクラスに属している(所定のクラスに属していない)場合(ステップS204のYES)、計数部103はステップS206の処理に進む。
本実施形態では、図4において、輝度の平均値が閾値T1[6](第1の所定値)以上、且つ、輝度の複雑度が閾値T2[6](第2の所定値)以上のクラスを、画質劣化の目立ち難いクラスとする。また、画質劣化の目立ち難いクラスのクラス量子化パラメータは、フレームの基準となる量子化パラメータ(以下、基準量子化パラメータ)から+4となる値が割り当てられているものとする。また、それ以外のクラスのクラス量子化パラメータも全て、基準量子化パラメータからの差分値に基づいて値が割り当てられているものとする。尚、上述したように本実施形態では、画質劣化の目立ち難いクラスのクラス量子化パラメータを基準量子化パラメータから+4としているが、本発明はこれに限定されるものではなく、正の値(基準量子化パラメータよりも大きい値)であれば良い。また、クラス毎に+2、+4、+6等、個別の値をとっても良い。
次に、ステップS206において量子化パラメータ制御部104は、ブロック量子化パラメータを決定する。量子化パラメータ制御部104は、処理対象ブロックのクラス情報から、対応するクラス量子化パラメータを読み出し、処理対象ブロックの量子化パラメータ(ブロック量子化パラメータ)として設定する。尚、クラス量子化パラメータは、後述するステップS209の処理で更新される。次に、ステップS207において符号化部105は、ステップS206で決定されたブロック量子化パラメータに基づいて処理対象ブロックを符号化し、符号化ストリームを生成する。
次に、ステップS208において画像符号化装置100は、フレーム内の全てのブロックが符号化されたか否かを判定する。ステップS208において全てのブロックが符号化されていないと判定された場合(ステップS208のNO)、画像符号化装置100はステップS202の処理に戻り後続のブロックを処理する。一方、ステップS208において全てのブロックが符号化されたと判定された場合(ステップS208のYES)、画像符号化装置100はステップS209の処理に進む。ステップS209において量子化パラメータ制御部104は、クラス量子化パラメータを更新する。ステップS209において更新されたクラス量子化パラメータは、ステップS205において計数部103で生成された1フレーム分の計数情報に基づいて制御され、次に処理するフレームに適用される。
画像に対する人間の視覚特性は、撮影条件及び撮影対象などに応じて大きく異なるため、図4のようなクラス分けに対するブロックの分布は、符号化対象の画像に依存する。また、フレーム全体のビットレートを一定に保つためには、画質劣化の目立ち難いクラス(図4の右上のクラス)に属するブロックの数と、画質劣化の目立ち易いクラス(図4の左下のクラス)に属するブロックの数のバランスがとれていることが望ましい。例えば、画質劣化の目立ち難いクラスに属するブロック数が少なく画質劣化の目立ち易いクラスに属するブロック数が極端に多い場合、画質劣化の目立ち易いクラスに小さすぎるクラス量子化パラメータを適用するとフレーム全体のビットレートが増大してしまう。
このため、本発明を用いて、画質劣化の目立ち難いクラスに属するブロック数を計数情報として計数部103で計数し、当該計数情報に応じて適応的にクラス量子化パラメータを制御することにより、ビットレートの増大を抑制することが可能である。具体的には、画質劣化の目立ち難いクラスのブロック数が少ない程、画質劣化の目立ち易いクラスのクラス量子化パラメータを(画質劣化の目立ち難いクラスのクラス量子化パラメータよりは小さい範囲で)大きい値に設定する。このように、画質劣化の目立ち易いクラスのクラス量子化パラメータを制御することでフレーム全体のバランスを取っているため、画質劣化の目立ち難いクラスのクラス量子化パラメータは変更する必要がなくそのままで良い。
クラス量子化パラメータの調整方法の一例を図5に示す。画質劣化の目立ち難いクラスに属するブロック数がフレーム全体の1%未満の場合、画質劣化の目立ち難いクラスのクラス量子化パラメータは+4であり、画質劣化の目立ち易いクラスのクラス量子化パラメータは±0とする。また、画質劣化の目立ち難いクラスに属するブロック数がフレーム全体の1%以上5%未満の場合は、画質劣化の目立ち難いクラスのクラス量子化パラメータは変わらず+4であり、画質劣化の目立ち易いクラスのクラス量子化パラメータは0〜−2とする。それ以降も同一で、画質劣化の目立ち難いクラスに属するブロック数が増える程、画質劣化の目立ち易いクラスのクラス量子化パラメータが小さくなるように設定する。尚、画質劣化の目立ち易いクラスのクラス量子化パラメータが0〜−2のように数値幅を持っているのは、画質劣化の目立ち易いクラス内でも目立ち易さに差があるため、より目立ち易いクラスに小さいクラス量子化パラメータを割り当てるためである。
以上説明したように、本実施形態における画像符号化装置100は、計数情報に基づいて適応的にクラス量子化パラメータを制御することにより、次のような効果を得ることができる。即ち、画質の劣化が目立ち難い及び目立ち易いブロックへ夫々適切な符号量を割り当てることが可能な量子化パラメータの制御において、必要なメモリビット数及び演算コストを、フレーム内の全クラスのブロック数を計数する場合と比べて低減することができる。本実施形態では、計数情報として画質劣化の目立ち難いクラスに属するブロック数のみを計数するだけでよいため、フレーム内の全クラスのブロック数を計測する従来技術から特別なメモリを追加する必要がない。また、本実施形態では、ブロック数に基づいて特別な演算を必要とせずにクラス量子化パラメータを決定することができる。
さらに、本実施形態では、従来のようにフレームあたりの発生ビット数を予測する必要がない。また、従来はマクロブロックをクラス分類すると同時に、当該マクロブロックを分割したサブブロックもクラス分類する必要があったが、本実施形態では符号化ブロックのみをクラス分類すればよく、クラス分類にかかる演算コストも削減可能である。
<実施形態2>
本発明の実施形態2における画像符号化装置100について説明する。本実施形態における画像符号化装置100の構成は、図1に示した本発明の実施形態1における画像符号化装置100の構成と同一である。また、本実施形態における画像符号化装置100の動作に関しても、図2及び図3のフローチャートで表される実施形態1における画像符号化装置100の動作と同一であるため説明を省略する。
本実施形態において、評価値C1に対応する閾値配列T1及び評価値C2に対応する閾値配列T2に関しても、上述した実施形態1と同様である。しかし、本実施形態は、図6で示されるように、ブロックの判別結果としてのクラスの数が72個(図4)でなく13個{R1,R2,…,R13}になっている点が実施形態1とは異なる。即ち、本実施形態においては、実施形態1におけるクラス(図4において閾値配列T1、T2で区切られる各クラス)を複数個まとめ、単に閾値との比較を行うだけでブロックの判別を決定しているため、実施形態1と比較して多くの場合で処理が単純である。
具体的には、実施形態1においては72個のクラス判定には、最大で72回の閾値との比較処理が必要になるが、図7で示すように、R1,R2,…,R13の順に領域を判定することで、最大で13回の比較処理で13個のクラス判定が可能となる。尚、本実施形態では13個のクラスに分割する例を紹介したが、本発明はこれに限定されるものではなく、クラス数をさらに増やしてさらに緻密に画質を制御することも可能である。
<実施形態3>
上記実施形態1及び実施形態2において、其々図1に示した各処理部はハードウェアでもって構成しているものとして説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムで実行してもよい。
図8は、上記実施形態1及び実施形態2に係る画像符号化装置の各処理部が行う処理を実行するコンピュータのハードウェアの構成例を示すブロック図である。
CPU801は、RAM802やROM803に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記実施形態1及び実施形態2に係る画像符号化装置が行うものとして上述した各処理を実行する。即ち、CPU801は、図1に示した各処理部として機能することになる。
RAM802は、外部記憶装置806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)807を介して、外部から取得したデータ等を一時的に記憶するためのエリアを有する。さらに、RAM802は、CPU801が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM802は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
ROM803は、本コンピュータの設定データや、ブートプログラム等を格納する。
操作部804は、キーボードやマウス等により構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU801に対して入力することができる。
出力部805は、CPU801による処理結果を表示する。また、出力部805は、例えば液晶ディスプレイで構成される。
外部記憶装置806は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置806には、OS(オペレーティングシステム)や、図1に示した各処理部の機能をCPU801に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置806には、処理対象としての各画像が保存されていてもよい。
外部記憶装置806に保存されているコンピュータプログラムやデータは、CPU801による制御に従って適宜、RAM802にロードされ、CPU801による処理対象となる。
I/F807には、LANやインターネット等のネットワーク、投影装置や表示装置等の他の機部を接続することができ、本コンピュータはこのI/F807を介して様々な情報を取得したり、送出したりすることができる。
バス808は、上述の各部を繋ぐ。
上述の構成における作動は、前述のフローチャートで説明した作動をCPU801が中心となってその制御を行う。
<その他の実施形態>
上述した各実施形態における画像符号化装置100は、動画像をフレーム単位で入力し、さらに当該フレームを分割したブロック単位でラスタ順に当該動画像の処理を行ったが、本発明はこれに限定されるものではない。即ち、例えばフレームを分割したスライス単位で動画像を入力しても構わない。
また、本発明は符号化方式に限定されるものではなく、H.264以外の符号化方式(例えば、HEVC(High Efficiency Video Coding符号化方式))を用いてももちろん構わない。また、上述した各本実施形態における処理対象ブロックのサイズは16×16画素とするが、本発明はこれに限定されるものではなく、例えば8×8画素や32×32画素でもよく、32×16画素のように非対称でもよい。
また、上述した各実施形態において、ブロック評価値算出部101によって算出されるブロック評価値として、ブロックの輝度の平均値及び輝度の複雑度を用いていたが、本発明はこれに限定されない。即ち、本発明においてブロック評価値算出部101は、ブロック評価値として、人間の視覚に影響を与える度合いを判定できる指標を取得できればよい。例えばブロック評価値算出部101は、ブロック評価値として、輝度の分散、色差の平均値、色差の複雑度、色差の分散等を算出してもよいし、動きベクトル及び予測誤差等の符号化結果を表す指標を用いてもよい。また、色相に関する情報(以下、色相情報)に基づいてブロック評価値を算出してもよいし、物体検出や肌色検出等の検出結果等を用いてブロック評価値を算出してもよい。例えば、色相情報や物体検出等により、「木(Tree)」の一部(又は全部)であると検出されたブロックは、人間の視角特性において画質劣化が目立ち易いという特徴があるため、ブロック評価値を画質劣化が目立ち易いことを示す値に設定する。このようにして、色相情報や物体検出等の検出結果を用いてブロック評価値を算出することができる。また、他のブロックのブロック評価値を用いて、処理対象ブロックのブロック評価値を算出するようにしてもよい。さらに、上述した、人間の視覚に影響を与える度合いを判定できる指標のうち、少なくとも一つを用いてブロック評価値を算出(取得)する方法であればよく、複数の指標に基づいてブロック評価値を算出する方法であっても構わない。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (17)

  1. 画像に含まれるブロックの輝度値に基づく評価値を取得する第1の取得手段と、
    前記第1の取得手段によって取得された前記評価値が所定の条件を満たすブロックの数を示す計数情報を取得する第2の取得手段と、
    前記第2の取得手段によって取得された前記計数情報に基づいて、量子化パラメータを設定する設定手段と
    を有し、
    前記評価値は、前記ブロックの輝度値の複雑度に基づく評価値を含み、
    前記所定の条件は、前記複雑度に基づく評価値が第1の所定値より大きいことを含み、
    前記設定手段は、前記計数情報に基づいて、前記所定の条件を満たすブロックの数が所定の値より多い場合に、前記所定の条件を満たすブロック以外の対象ブロックを量子化するために用いられる量子化パラメータを、前記所定の条件を満たすブロックの数が前記所定の値より少ない場合における前記対象ブロックの量子化パラメータよりも小さくなるように設定する
    ことを特徴とする画像符号化装置。
  2. 前記評価値は、視覚特性に基づく評価値である
    ことを特徴とする、請求項1に記載の画像符号化装置。
  3. 前記ブロックの輝度の複雑度は、前記ブロックを分割したサブブロックに属する画素の輝度値と当該サブブロックの輝度の平均値との差分の大きさの合計値である、当該サブブロックの複雑度に基づいて決定された値である
    ことを特徴とする請求項1又は請求項2に記載の画像符号化装置。
  4. 前記ブロックの輝度の複雑度は、前記ブロックに含まれるサブブロックの複雑度のうち最小値である
    ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の画像符号化装置。
  5. 前記評価値は、前記ブロックの輝度の平均値に基づく評価値を含む
    ことを特徴とする請求項1乃至請求項の何れか一項に記載の画像符号化装置。
  6. 前記所定の条件は、前記ブロックの輝度の平均値に基づく評価値が第の所定値より大きいことを含む
    ことを特徴とする請求5に記載の画像符号化装置。
  7. 前記設定手段は、前記計数情報に基づいて、前記所定の条件を満たすブロックの量子化パラメータを、前記対象ブロックの量子化パラメータよりも大きくなるように設定する
    ことを特徴とする請求項1乃至請求項6のいずれか1項に記載の画像符号化装置。
  8. 前記設定手段は、前記所定の条件を満たすブロックの量子化パラメータを予め設定された値とする
    ことを特徴とする請求項1乃至請求項の何れか一項に記載の画像符号化装置。
  9. 記評価値は、前記ブロックの色相に関する情報又は物体検出に関する情報の少なくとも何れかに関する情報である
    ことを特徴とする請求項1乃至請求項の何れか一項に記載の画像符号化装置。
  10. 記評価値は、前記ブロックを分割したサブブロックに基づいて算出された値である
    ことを特徴とする、請求項1乃至請求項の何れか一項に記載の画像符号化装置。
  11. 記評価値は、前記ブロックに属するサブブロックの複雑度のうち、最も小さい値に基づく評価値である
    ことを特徴とする請求項1に記載の画像符号化装置。
  12. 前記計数情報を計数する計数手段
    を有することを特徴とする請求項1乃至請求項1の何れか一項に記載の画像符号化装置。
  13. 前記設定手段によって設定された量子化パラメータを用いて前記ブロックを符号化する符号化手段
    を有することを特徴とする請求項1乃至請求項1の何れか一項に記載の画像符号化装置。
  14. 前記所定の条件は、前記評価値が、画質劣化が目立ちにくいことに対応する評価値であることである
    ことを特徴とする請求項1乃至請求項1の何れか一項に記載の画像符号化装置。
  15. 前記ブロックは、前記評価値に基づいて複数のクラスに分類され、
    前記所定の条件を満たすかは、前記複数のクラスの内の所定のクラスに分類されているかで判断される
    ことを特徴とする請求項1乃至請求項14の何れか一項に記載の画像符号化装置。
  16. 画像に含まれるブロックの輝度値に基づく評価値を取得する第1の取得工程と、
    前記第1の取得工程によって取得された前記評価値が所定の条件を満たすブロックの数を示す計数情報を取得する第2の取得工程と、
    前記第2の取得工程によって取得された前記計数情報に基づいて、量子化パラメータを設定する設定工程と
    を有し、
    前記評価値は、前記ブロックの輝度値の複雑度に基づく評価値を含み、
    前記所定の条件は、前記複雑度に基づく評価値が第1の所定値より大きいことを含み、
    前記設定工程において、前記計数情報に基づいて、前記所定の条件を満たすブロックの数が所定の値より多い場合に、前記所定の条件を満たすブロック以外の対象ブロックを量子化するために用いられる量子化パラメータを、前記所定の条件を満たすブロックの数が前記所定の値より少ない場合の前記対象ブロックの量子化パラメータよりも小さくなるように設定する
    ことを特徴とする画像符号化方法。
  17. コンピュータを、請求項1乃至請求項15の何れか一項に記載の画像符号化装置の第1の取得手段、第2の取得手段、及び設定手段として機能させるためのプログラム。
JP2013255671A 2013-12-11 2013-12-11 画像符号化装置、画像符号化方法及びプログラム Active JP6265724B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013255671A JP6265724B2 (ja) 2013-12-11 2013-12-11 画像符号化装置、画像符号化方法及びプログラム
US14/565,177 US9998738B2 (en) 2013-12-11 2014-12-09 Image encoding apparatus, image encoding method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013255671A JP6265724B2 (ja) 2013-12-11 2013-12-11 画像符号化装置、画像符号化方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2015115735A JP2015115735A (ja) 2015-06-22
JP2015115735A5 JP2015115735A5 (ja) 2016-12-22
JP6265724B2 true JP6265724B2 (ja) 2018-01-24

Family

ID=53272448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013255671A Active JP6265724B2 (ja) 2013-12-11 2013-12-11 画像符号化装置、画像符号化方法及びプログラム

Country Status (2)

Country Link
US (1) US9998738B2 (ja)
JP (1) JP6265724B2 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268891A (ja) * 1991-02-22 1992-09-24 Matsushita Electric Ind Co Ltd 動き補償予測フレーム間符号化装置
KR100498332B1 (ko) * 2002-10-24 2005-07-01 엘지전자 주식회사 비디오 트랜스코더의 적응적 비트율 제어장치 및 방법
JP4427713B2 (ja) * 2003-09-03 2010-03-10 ソニー株式会社 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム
JP5212373B2 (ja) * 2007-09-12 2013-06-19 ソニー株式会社 画像処理装置及び画像処理方法
JP4942208B2 (ja) * 2008-02-22 2012-05-30 キヤノン株式会社 符号化装置
WO2009157827A1 (en) * 2008-06-25 2009-12-30 Telefonaktiebolaget L M Ericsson (Publ) Row evaluation rate control
US9479786B2 (en) * 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
WO2012042650A1 (ja) * 2010-09-30 2012-04-05 富士通株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、画像復号プログラム、及び画像符号化プログラム
US8804820B2 (en) * 2011-04-21 2014-08-12 Dialogic Corporation Rate control with look-ahead for video transcoding
JP5988577B2 (ja) * 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム

Also Published As

Publication number Publication date
US20150163492A1 (en) 2015-06-11
US9998738B2 (en) 2018-06-12
JP2015115735A (ja) 2015-06-22

Similar Documents

Publication Publication Date Title
EP3389276B1 (en) Hash-based encoder decisions for video coding
US9571828B2 (en) Image encoding apparatus, image encoding method and program
KR102444244B1 (ko) 비디오 코딩에서의 크로마 양자화
JP5124562B2 (ja) テクスチャレベルに基づく量子化調整
US10123021B2 (en) Image encoding apparatus for determining quantization parameter, image encoding method, and program
KR20080042827A (ko) 콘텐트 적응형 레이트 제어를 제공하기 위한 비디오 엔코딩시스템 및 방법
JP2017532858A5 (ja)
US12022096B2 (en) Human visual system adaptive video coding
US11012698B2 (en) Image encoding apparatus and method for controlling the same
JP6373033B2 (ja) 符号化装置及び符号化方法
CN106664404A (zh) 视频编码中的块分割方式处理方法和相关装置
JP2004023288A (ja) 動画像符号化のための前処理方式
US20210160516A1 (en) Data rate control method, computer system, and device
KR20220013373A (ko) 비디오 압축을 위한 전처리
JP6265724B2 (ja) 画像符号化装置、画像符号化方法及びプログラム
US20230108722A1 (en) Allocating bit rate between video streams using machine learning
TW201801529A (zh) 視訊編解碼器之複雜度控制
US10848772B2 (en) Histogram-based edge/text detection
US11272185B2 (en) Hierarchical measurement of spatial activity for text/edge detection
Saeedi et al. Content adaptive pre-filtering for video compression
CN117857815A (zh) 使用自回归模型的混合帧间编码
US20170064322A1 (en) Video Coding Apparatus
WO2009016159A1 (en) Scene cut detection for video stream compression

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171101

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

R151 Written notification of patent or utility model registration

Ref document number: 6265724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151