【課題】ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる動画像符号化装置を実現する。
【解決手段】動画像符号化装置1000において、第1直交変換部1は、入力動画像に対して、直交変換を行う。複雑度取得部2は、第1直交変換部1による直交変換により取得された周波数成分データに基づいて、入力動画像の複雑度を取得する。ノイズ判定部3は、第1直交変換部による直交変換により取得された周波数成分データに基づいて、入力動画像に含まれるノイズについての判定を行う。符号量調整部4は、複雑度取得部により取得された複雑度と、ノイズ判定部によるノイズ判定結果とに基づいて、符号量調整信号を生成する。符号化部6は、入力動画像に対して、符号量調整部により生成された符号量調整信号に基づいて決定された量子化パラメータ値に基づいて、量子化処理を行う。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術では、ノイズの多い映像(S/N比が悪い映像)に対して動画像圧縮処理を行うと、発生符号量が多くなり、適切にビットレート制御(符号量制御)を行うことが困難となる場合がある。一般的に、映像に含まれるノイズは、時間方向および空間方向についての相関が低いため、ノイズの多い映像に対して動画像圧縮処理を行う場合、圧縮率を上げることが困難である。その結果、特許文献1の技術のように、プリエンコード処理を行っても、ノイズの多い映像(S/N比が悪い映像)に対して、効率良く(発生符号量を抑制した)動画像圧縮処理を行うことは困難である。
【0007】
そこで、本願発明は、上記問題点に鑑み、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる動画像符号化装置、プログラム、および、集積回路を実現することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、第1の発明は、第1直交変換部と、複雑度取得部と、ノイズ判定部と、符号量調整部と、符号化部と、を備える動画像符号化装置である。
【0009】
第1直交変換部は、複数のフレーム画像から構成される入力動画像に対して、直交変換を行う。
【0010】
複雑度取得部は、第1直交変換部による直交変換により取得された周波数成分データに基づいて、入力動画像の複雑度を取得する。
【0011】
ノイズ判定部は、第1直交変換部による直交変換により取得された周波数成分データに基づいて、入力動画像に含まれるノイズについての判定を行う。
【0012】
符号量調整部は、複雑度取得部により取得された複雑度と、ノイズ判定部によるノイズ判定結果とに基づいて、符号量調整信号を生成する。
【0013】
符号化部は、入力動画像に対して、量子化処理を含む符号化処理を実行する符号化部であって、符号量調整部により生成された符号量調整信号に基づいて決定された量子化パラメータ値に基づいて、量子化処理を行う。
【0014】
この動画像符号化装置では、複雑度取得部により取得された入力動画像の複雑度と、ノイズ判定部によるノイズ判定結果とに基づいて、生成された符号量調整信号ADJにより、量子化パラメータ値が決定される。これにより、この動画像符号化装置では、符号化処理を実行する前に、入力動画像の状況(状態)を知ることができるため、例えば、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、量子化パラメータ値QPを、比較的大きな値に設定することができる。その結果、この動画像符号化装置では、例えば、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、発生符号量を適切に抑制することができる。
【0015】
したがって、この動画像符号化装置では、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる。
【0016】
第2の発明は、第1の発明であって、複雑度取得部は、第1直交変換部による直交変換により取得される周波数領域において、低域周波数成分データを含む低域領域と、中域周波数成分データを含む中域領域と、高域周波数成分データを含む高域領域と、を設定し、処理対象である現フレーム画像において、低域領域に含まれる低域周波数成分データを加算することで、低域成分積算値を取得する。
【0017】
また、複雑度取得部は、現フレーム画像において、中域領域に含まれる中域周波数成分データを加算することで、中域成分積算値を取得し、現フレーム画像において、高域領域に含まれる高域周波数成分データを加算することで、高域成分積算値を取得する。
【0018】
そして、複雑度取得部は、取得した、低域成分積算値、中域成分積算値、および、高域成分積算値に基づいて、現フレーム画像の複雑度を取得する。
【0019】
この動画像符号化装置では、低域成分積算値、中域成分積算値、および、高域成分積算値に基づいて、適切に、現フレーム画像の複雑度を取得することができる。例えば、全周波数成分に対する、中域成分積算値の占める割合、あるいは、高域成分積算値および中域成分積算値の示す割合により、現フレーム画像が複雑な画像であるか否かを適切に判定することができ、その結果、複雑度を適切に取得することができる。
【0020】
なお、「高域領域」とは、周波数領域において、例えば、空間周波数が最大である空間周波数成分を示すデータ(ブロック)、および、当該データ(ブロック)と隣接する位置のデータ(ブロック)(周波数領域において、隣接するデータ(ブロック))の少なくとも1つを含む領域をいう。
【0021】
また、「中域領域」とは、周波数領域において、例えば、空間周波数が中間値である空間周波数成分を示すデータ(ブロック)、および、当該データ(ブロック)と隣接する位置のデータ(ブロック)(周波数領域において、隣接するデータ(ブロック))の少なくとも1つを含む領域をいう。
【0022】
また、低域領域とは、周波数領域において、例えば、DC成分(直流成分)を示すデータ(ブロック)、および、当該データ(ブロック)と隣接する位置のデータ(ブロック)(周波数領域において、隣接するデータ(ブロック))の少なくとも1つを含む領域をいう。
【0023】
第3の発明は、第1または第2の発明であって、ノイズ判定部は、第1直交変換部による直交変換が実行される単位である直交変換ブロックごとに、直交変換により取得される低域周波数成分データを含むノイズ判定用低域領域と、直交変換により取得される高域周波数成分データを含むノイズ判定用高域領域と、を設定し、直交変換ブロックごとに、ノイズ判定用低域領域に含まれる低域周波数成分データを加算することで、ノイズ判定用低域成分積算値を取得する。
【0024】
また、ノイズ判定部は、直交変換ブロックごとに、高域領域に含まれる高域周波数成分データを加算することで、ノイズ判定用高域成分積算値を取得し、取得した、ノイズ判定用低域成分積算値、および、ノイズ判定用高域成分積算値に基づいて、直交変換ブロックに対応する、直交変換前の画像ブロックにノイズが多く含まれるか否かを判定するブロック単位ノイズ判定処理を行う。
【0025】
そして、ノイズ判定部は、処理対象である現フレーム画像に含まれる直交変換ブロックに対して、ブロック単位ノイズ判定処理を行ったときに、ノイズが多く含まれると判定された直交変換ブロックの数が所定の値TH1より多い場合、現フレーム画像は、ノイズを多く含むフレーム画像であると判定する全画面判定処理を行う。
【0026】
この動画像符号化装置では、直交変換ブロック(例えば、DCTブロック)ごとに取得した、ノイズ判定用低域成分積算値と、ノイズ判定用高域成分積算値とに基づいて、当該直交変換ブロック(例えば、DCTブロック)に対応する画像ブロック(画像領域)のノイズの状況を把握することができ、ノイズが多いと判定された直交変換ブロック数(画像ブロック数)が所定の数よりも多いときに、現フレーム画像がノイズを多く含むフレーム画像であると判定する。つまり、この動画像符号化装置では、周波数変換したデータに基づいて、現フレーム画像のノイズの状況を把握するため、例えば、空間フィルタ等の空間処理によりがノイズを多く含む画像であるか否かについて判断する場合に比べて、遙かに精度良く、現フレーム画像がノイズを多く含む画像であるか否かについて、判定することができる。
【0027】
第4の発明は、第3の発明であって、ノイズ判定部は、ブロック単位ノイズ判定処理において、ノイズ判定用高域成分積算値が所定の値よりも大きい場合にのみ、直交変換ブロックに対応する、直交変換前の画像ブロックにノイズが多く含まれると判定する。
【0028】
これにより、この動画像符号化装置では、より精度良く、現フレーム画像がノイズを多く含むフレーム画像であるか否かについて、判定することができる。ノイズ判定用低域成分積算値と、ノイズ判定用高域成分積算値との比率により、現フレーム画像のノイズ状態を判断すると、例えば、その周波数成分のほとんどがDC成分であり、わずかに高域成分を含むような画像に対して、誤判定することがある。この動画像符号化装置では、ノイズ判定用高域成分積算値を考慮しているため、このような場合であっても、誤判定することなく、現フレーム画像がノイズの多い画像であるか否かを適切に判定することができる。
【0029】
第5の発明は、第3または第4の発明であって、ノイズ判定部は、全画面判定処理において、現フレーム画像がノイズを多く含むフレーム画像ではないと判定された場合、現フレーム画像をN分割(N:2以上の自然数)した分割画像領域ごとに、ブロック単位ノイズ判定処理を行い、ノイズが多く含まれると判定された直交変換ブロックの数が所定の値TH2より多い場合、当該分割画像領域は、ノイズを多く含む分割画像領域であると判定する分割判定処理を実行する。
【0030】
また、ノイズ判定部は、N個(N:2以上の自然数)の分割画像領域に対して、分割判定処理を実行したときに、ノイズを多く含む分割画像領域であると判定された分割画像領域の数が所定の数TH3より多い場合、現フレーム画像は、ノイズを多く含むフレーム画像であると判定する。
【0031】
この動画像符号化装置では、全画面判定処理において、現フレーム画像がノイズを多く含むフレーム画像ではないと判定された場合に、さらに、分割判定処理を行うので、現フレーム画像が、ノイズを多く含むフレーム画像である否かの判定精度をさらに向上させることができる。
【0032】
第6の発明は、第1または第2の発明であって、ノイズ判定部は、第1直交変換部による直交変換により取得される周波数領域において、直交変換により取得される低域周波数成分データを含むノイズ判定用低域領域と、直交変換により取得される高域周波数成分データを含むノイズ判定用高域領域と、を設定する。
【0033】
また、ノイズ判定部は、処理対象である現フレーム画像において、ノイズ判定用低域領域に含まれる低域周波数成分データを加算することで、ノイズ判定用低域成分積算値を取得し、現フレーム画像において、高域領域に含まれる高域周波数成分データを加算することで、ノイズ判定用高域成分積算値を取得する。
【0034】
そして、ノイズ判定部は、取得した、ノイズ判定用低域成分積算値、および、ノイズ判定用高域成分積算値に基づいて、現フレーム画像にノイズが多く含まれるか否かを判定する全画面判定処理を行う。
【0035】
この動画像符号化装置では、フレーム画像単位で(全画面単位で)取得した、ノイズ判定用低域成分積算値と、ノイズ判定用高域成分積算値とに基づいて、現フレーム画像のノイズの状況を把握することができる。つまり、この動画像符号化装置では、周波数変換したデータに基づいて、現フレーム画像のノイズの状況を把握するため、例えば、空間フィルタ等の空間処理によりがノイズを多く含む画像であるか否かについて判断する場合に比べて、遙かに精度良く、現フレーム画像がノイズを多く含む画像であるか否かについて、判定することができる。
【0036】
第7の発明は、第6の発明であって、ノイズ判定部は、全画面判定処理において、ノイズ判定用高域成分積算値が所定の値よりも大きい場合にのみ、現フレーム画像にノイズが多く含まれると判定する。
【0037】
これにより、この動画像符号化装置では、より精度良く、現フレーム画像がノイズを多く含むフレーム画像であるか否かについて、判定することができる。ノイズ判定用低域成分積算値と、ノイズ判定用高域成分積算値との比率により、現フレーム画像のノイズ状態を判断すると、例えば、その周波数成分のほとんどがDC成分であり、わずかに高域成分を含むような画像に対して、誤判定することがある。この動画像符号化装置では、ノイズ判定用高域成分積算値を考慮しているため、このような場合であっても、誤判定することなく、現フレーム画像がノイズの多い画像であるか否かを適切に判定することができる。
【0038】
第8の発明は、第6または第7の発明であって、ノイズ判定部は、全画面判定処理において、現フレーム画像がノイズを多く含むフレーム画像ではないと判定された場合、現フレーム画像をN分割(N:2以上の自然数)した分割画像領域の各分割画像領域において、ノイズ判定用低域領域に含まれる低域周波数成分データを加算することで、ノイズ判定用低域成分積算値を取得するとともに、高域領域に含まれる高域周波数成分データを加算することで、ノイズ判定用高域成分積算値を取得する。
【0039】
そして、ノイズ判定部は、取得した、ノイズ判定用低域成分積算値、および、ノイズ判定用高域成分積算値に基づいて、分割画像領域ごとに、ノイズが多く含まれるか否かを判定し、ノイズを多く含む分割画像領域であると判定された分割画像領域の数が所定の数TH4より多い場合、現フレーム画像は、ノイズを多く含むフレーム画像であると判定する。
【0040】
この動画像符号化装置では、全画面判定処理において、現フレーム画像がノイズを多く含むフレーム画像ではないと判定された場合に、さらに、分割判定処理(分割画像領域単位の判定処理)を行うので、現フレーム画像が、ノイズを多く含むフレーム画像である否かの判定精度をさらに向上させることができる。
【0041】
第9の発明は、第1または第2の発明であって、ノイズ判定部は、第1直交変換部による直交変換が実行される単位である直交変換ブロックごとに、直交変換により取得される低域周波数成分データを含むノイズ判定用低域領域と、直交変換により取得される水平低域周波数成分データを含むノイズ判定用水平低域領域と、直交変換により取得される垂直低域周波数成分データを含むノイズ判定用垂直低域領域と、直交変換により取得される高域周波数成分データを含むノイズ判定用高域領域と、を設定する。
【0042】
また、ノイズ判定部は、直交変換ブロックごとに、ノイズ判定用低域領域に含まれる低域周波数成分データを加算することで、ノイズ判定用低域成分積算値を取得し、直交変換ブロックごとに、ノイズ判定用水平低域領域に含まれる水平低域周波数成分データを加算することで、ノイズ判定用水平低域成分積算値を取得する。
【0043】
また、ノイズ判定部は、直交変換ブロックごとに、ノイズ判定用垂直低域領域に含まれる垂直低域周波数成分データを加算することで、ノイズ判定用垂直低域成分積算値を取得し、直交変換ブロックごとに、高域領域に含まれる高域周波数成分データを加算することで、ノイズ判定用高域成分積算値を取得する。
【0044】
そして、ノイズ判定部は、取得した、ノイズ判定用低域成分積算値、ノイズ判定用水平低域成分積算値、ノイズ判定用垂直低域成分積算値、および、ノイズ判定用高域成分積算値に基づいて、直交変換ブロックに対応する、直交変換前の画像ブロックにノイズが多く含まれるか否かを判定するブロック単位ノイズ判定処理を行い、処理対象である現フレーム画像に含まれる直交変換ブロックに対して、ブロック単位ノイズ判定処理を行ったときに、ノイズが多く含まれると判定された直交変換ブロックの数が所定の値TH5より多い場合、現フレーム画像は、ノイズを多く含むフレーム画像であると判定する全画面判定処理を行う。
【0045】
この動画像符号化装置では、直交変換ブロック(例えば、DCTブロック)ごとに取得した、ノイズ判定用低域成分積算値と、ノイズ判定用水平低域成分積算値と、ノイズ判定用垂直低域成分積算値と、ノイズ判定用高域成分積算値とに基づいて、当該直交変換ブロック(例えば、DCTブロック)に対応する画像ブロック(画像領域)のノイズの状況を把握することができ、ノイズが多いと判定された直交変換ブロック数(画像ブロック数)が所定の数よりも多いときに、現フレーム画像がノイズを多く含むフレーム画像であると判定する。つまり、この動画像符号化装置では、周波数変換したデータに基づいて、現フレーム画像のノイズの状況を把握するため、例えば、空間フィルタ等の空間処理によりがノイズを多く含む画像であるか否かについて判断する場合に比べて、遙かに精度良く、現フレーム画像がノイズを多く含む画像であるか否かについて、判定することができる。
【0046】
さらに、この動画像符号化装置では、ノイズ判定用水平低域成分積算値と、ノイズ判定用垂直低域成分積算値と、を用いて判定処理を行うため、例えば、水平方向のエッジ成分が多い画像や、垂直方向のエッジ成分が多い画像に対して、誤判定されにくく、さらに、精度の良いノイズ判定処理を実行することができる。
【0047】
第10の発明は、第9の発明であって、ノイズ判定部は、全画面判定処理において、現フレーム画像がノイズを多く含むフレーム画像ではないと判定された場合、現フレーム画像をN分割(N:2以上の自然数)した分割画像領域ごとに、ブロック単位ノイズ判定処理を行い、ノイズが多く含まれると判定された直交変換ブロックの数が所定の値TH6より多い場合、当該分割画像領域は、ノイズを多く含む分割画像領域であると判定する分割判定処理を実行する。
【0048】
そして、ノイズ判定部は、N個(N:2以上の自然数)の分割画像領域に対して、分割判定処理を実行したときに、ノイズを多く含む分割画像領域であると判定された分割画像領域の数が所定の数TH7より多い場合、現フレーム画像は、ノイズを多く含むフレーム画像であると判定する。
【0049】
この動画像符号化装置では、全画面判定処理において、現フレーム画像がノイズを多く含むフレーム画像ではないと判定された場合に、さらに、分割判定処理(分割画像領域単位の判定処理)を行うので、現フレーム画像が、ノイズを多く含むフレーム画像である否かの判定精度をさらに向上させることができる。
【0050】
第11の発明は、第3から第10いずれかの発明であって、ノイズ判定部は、ブロック単位ノイズ判定処理において、直交変換ブロックごとに、周囲に隣接する周波数成分データよりも突出してレベルの大きい周波数成分データの数を、孤立周波数成分データ数として検出し、検出した孤立周波数成分データ数が所定の値TH8よりも大きい場合、直交変換ブロックに対応する、直交変換前の画像ブロックにノイズが多く含まれると判定する。
【0051】
これにより、この動画像符号化装置では、孤立周波数成分データを適切に検出することができるので、孤立周波数成分データとして、周波数領域に出現するノイズ成分を適切に把握することができる。その結果、この動画像符号化装置では、現フレーム画像が、ノイズを多く含むフレーム画像である否かの判定精度をさらに向上させることができる。
【0052】
第12の発明は、第1から第11のいずれかの発明であって、符号化部は、量子化パラメータ値QPの取り得る最小値をQP_minとし、量子化パラメータ値QPの取り得る最大値をQP_maxとし、閾値QP_th1、QP_th2(QP_min<QP_th1<QP_th2<QP_max)とし、量子化パラメータ小領域QP_Sと、量子化パラメータ中領域QP_Mと、量子化パラメータ大領域QP_Lと、を、
量子化パラメータ小領域QP_S:QP_min≦QP<QP_th1
量子化パラメータ中領域QP_M:QP_th1≦QP<QP_th2
量子化パラメータ大領域QP_L:QP_th2≦QP<QP_max
として設定する。
【0053】
そして、符号量調整部は、
(1)複雑度取得部により取得された現フレーム画像の複雑度により、現フレーム画像が複雑なフレーム画像であり、かつ、
ノイズ判定部によるノイズ判定結果により、現フレーム画像がノイズを多いフレーム画像であると判定された場合、
量子化処理により用いられる量子化パラメータ値が、量子化パラメータ大領域QP_Lに含まれる値に設定されるように、符号化部に指示する符号量調整信号を生成し、
(2)複雑度取得部により取得された現フレーム画像の複雑度により、現フレーム画像が複雑なフレーム画像であり、かつ、
ノイズ判定部によるノイズ判定結果により、現フレーム画像がノイズを多いフレーム画像ではないと判定された場合、
量子化処理により用いられる量子化パラメータ値が、量子化パラメータ中領域QP_Mに含まれる値に設定されるように、符号化部に指示する符号量調整信号を生成し、
(3)複雑度取得部により取得された現フレーム画像の複雑度により、現フレーム画像が複雑なフレーム画像ではなく、かつ、
ノイズ判定部によるノイズ判定結果により、現フレーム画像がノイズを多いフレーム画像であると判定された場合、
量子化処理により用いられる量子化パラメータ値が、量子化パラメータ中領域QP_Mに含まれる値に設定されるように、符号化部に指示する符号量調整信号を生成し、
(4)複雑度取得部により取得された現フレーム画像の複雑度により、現フレーム画像が複雑なフレーム画像ではなく、かつ、
ノイズ判定部によるノイズ判定結果により、現フレーム画像がノイズを多いフレーム画像ではないと判定された場合、
量子化処理により用いられる量子化パラメータ値が、量子化パラメータ小領域QP_Sに含まれる値に設定されるように、符号化部に指示する符号量調整信号を生成する。
【0054】
これにより、この動画像符号化装置では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、量子化パラメータ値QPは、比較的大きな値に(複雑度が高い場合、量子化パラメータ大領域QP_Lに含まれる値に、複雑度が低い場合、量子化パラメータ中領域QP_Mに含まれる値に)設定される。その結果、この動画像符号化装置では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、発生符号量を適切に抑制することができる。
【0055】
したがって、この動画像符号化装置では、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる。
【0056】
第13の発明は、第1直交変換ステップと、複雑度取得ステップと、ノイズ判定ステップと、符号量調整ステップと、符号化ステップと、を備える動画像符号化方法をコンピュータに実行させるためのプログラムである。
【0057】
第1直交変換ステップは、複数のフレーム画像から構成される入力動画像に対して、直交変換を行う。
【0058】
複雑度取得ステップは、第1直交変換ステップによる直交変換により取得された周波数成分データに基づいて、入力動画像の複雑度を取得する。
【0059】
ノイズ判定ステップは、第1直交変換ステップによる直交変換により取得された周波数成分データに基づいて、入力動画像に含まれるノイズについての判定を行う。
【0060】
符号量調整ステップは、複雑度取得ステップにより取得された複雑度と、ノイズ判定ステップによるノイズ判定結果とに基づいて、符号量調整信号を生成する。
【0061】
符号化ステップは、入力動画像に対して、量子化処理を含む符号化処理を実行する符号化ステップであって、符号量調整ステップにより生成された符号量調整信号に基づいて決定された量子化パラメータ値に基づいて、量子化処理を行う。
【0062】
これにより、第1の発明と同様の効果を奏する動画像符号化方法をコンピュータに実行させるためのプログラムを実現することができる。
【0063】
第14の発明は、第1直交変換部と、複雑度取得部と、ノイズ判定部と、符号量調整部と、符号化部と、を備える集積回路である。
【0064】
第1直交変換部は、複数のフレーム画像から構成される入力動画像に対して、直交変換を行う。
【0065】
複雑度取得部は、第1直交変換部による直交変換により取得された周波数成分データに基づいて、入力動画像の複雑度を取得する。
【0066】
ノイズ判定部は、第1直交変換部による直交変換により取得された周波数成分データに基づいて、入力動画像に含まれるノイズについての判定を行う。
【0067】
符号量調整部は、複雑度取得部により取得された複雑度と、ノイズ判定部によるノイズ判定結果とに基づいて、符号量調整信号を生成する。
【0068】
符号化部は、入力動画像に対して、量子化処理を含む符号化処理を実行する符号化部であって、符号量調整部により生成された符号量調整信号に基づいて決定された量子化パラメータ値に基づいて、量子化処理を行う。
【0069】
これにより、第1の発明と同様の効果を奏する集積回路を実現することができる。
【発明の効果】
【0070】
本発明によれば、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる動画像符号化装置、プログラム、および、集積回路を実現することができる。
【発明を実施するための形態】
【0072】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0073】
<1.1:動画像符号化装置の構成>
図1は、第1実施形態に係る動画像符号化装置1000の概略構成図である。
【0074】
図2は、第1実施形態に係る動画像符号化装置1000の符号化部6の概略構成図(一例)である。
【0075】
動画像符号化装置1000は、
図1に示すように、入力動画像信号Din(入力動画像Din)に対して直交変換を行う第1直交変換部1と、第1直交変換部1による直交変換により取得された周波数成分に基づいて、入力動画像Dinの複雑度(例えば、ピクチャ単位の複雑度)を取得する複雑度取得部2と、第1直交変換部1による直交変換により取得された周波数成分に基づいて、入力動画像Dinに含まれるノイズについての判定を行うノイズ判定部3と、を備える。
【0076】
また、動画像符号化装置1000は、複雑度取得部2により取得された入力動画像Dinの複雑度と、ノイズ判定部3によるノイズ判定結果とに基づいて、符号量調整信号ADJを生成する符号量調整部4と、入力動画像信号Dinに対して色空間変換を行い、動画像信号Din1を取得する色空間変換部5と、を備える。
【0077】
また、動画像符号化装置1000は、符号量調整信号ADJに基づいて、動画像Din1に対して、符号化処理を実行する符号化部6と、を備える。
【0078】
なお、説明便宜のため、入力動画像信号Dinは、ベイヤー配列色フィルタを有する撮像素子を含む撮像装置で撮像された動画像信号であり、R色成分信号、G1色成分信号(ベイヤー配列色フィルタにおいて、R色フィルタと同じ行に配置されているG色フィルタにより取得されたG色成分信号)、G2色成分信号(ベイヤー配列色フィルタにおいて、B色フィルタと同じ行に配置されているG色フィルタにより取得されたG色成分信号)、および、B色成分信号からなる動画像信号であるものとして、以下、説明する。
【0079】
第1直交変換部1は、入力動画像信号Din(入力動画像Din)を入力する。第1直交変換部1は、入力された入力動画像Dinに対して直交変換を行う。第1直交変換部1は、例えば、入力動画像Din(1フレーム画像)に対して、マクロブロック単位(例えば、4画素×4画素、あるいは、8画素×8画素からなるマクロブロック単位)で、離散コサイン変換(DCT)や整数変換等の直交変換を行う。そして、第1直交変換部1は、直交変換により取得したデータ(周波数成分データ)を、複雑度取得部2およびノイズ判定部3に出力する。
【0080】
なお、第1直交変換部1は、入力動画像信号Dinの一部の信号(例えば、G2色成分信)のみを処理対象として、上記処理を行うものであってもよい。
【0081】
複雑度取得部2は、第1直交変換部1から出力される周波数成分データを入力する。複雑度取得部2は、入力された周波数成分データに基づいて、入力動画像Dinの複雑度を取得する(詳細については、後述)。そして、複雑度取得部2は、取得した入力動画像Dinの複雑度を示す信号を符号量調整部4に出力する。
【0082】
ノイズ判定部3は、第1直交変換部1から出力される周波数成分データを入力する。ノイズ判定部3は、入力された周波数成分データに基づいて、入力動画像Dinに含まれるノイズの状況を判定する(詳細については、後述)。そして、ノイズ判定部3は、入力動画像Dinに含まれるノイズの状況の判定結果を示す信号を符号量調整部4に出力する。
【0083】
符号量調整部4は、複雑度取得部2から出力される入力動画像Dinの複雑度を示す信号と、ノイズ判定部3から出力されるノイズ判定結果を示す信号とを入力する。符号量調整部4は、複雑度取得部2により取得された複雑度と、ノイズ判定部3によるノイズ判定結果に基づいて、符号量調整信号ADJを生成する。そして、符号量調整部4は、生成した符号量調整信号ADJを符号化部6に出力する。
【0084】
色空間変換部5は、入力動画像信号Dinを入力し、入力動画像信号Dinに対して、色空間変換(例えば、RGB色空間をYCbCr色空間に変換する色空間変換)を行う。色空間変換部5は、色空間変換後の動画像信号を動画像信号Din1(動画像Din1)として、符号化部6に出力する。なお、入力動画像信号Dinが、符号化部6での処理可能な色成分信号からなる動画像信号である場合、色空間変換部5を省略してもよい。
【0085】
符号化部6は、色空間変換部5から出力される動画像信号Din1と、符号量調整部4から出力される符号量調整信号ADJとを入力する。符号化部6は、動画像Din1に対して、符号量調整信号ADJに基づいて、符号化処理を実行する。そして、符号化部6は、符号化処理後のデータ(符号化データ)Doutを出力する。
【0086】
符号化部6は、
図2に示すように、符号化処理部61と、量子化パラメータ決定部62とを備える。
【0087】
符号化処理部61は、
図2に示すように、予測処理部611と、直交変換部612と、量子化部613と、逆量子化部614と、逆直交変換部615と、予測画像生成部616と、記憶部617と、可変長符号化部618とを備える。符号化処理部61は、例えば、H.264規格やMPEG2規格に準拠するエンコーダである。
【0088】
予測処理部611は、動画像信号Din1と、予測画像生成部616から出力される予測画像信号とを入力する。予測処理部611は、動画像信号Din1と、予測画像生成部616から出力される予測画像信号Dmc(予測画像Dmc)とから、予測誤差信号(予測誤差画像)diffを取得する。そして、予測処理部611は、取得した予測誤差信号(予測誤差画像)diffを直交変換部612に出力する。
【0089】
直交変換部612は、予測処理部611から出力される予測誤差信号(予測誤差画像)diffを入力する。直交変換部612は、入力された予測誤差画像に対して直交変換を行う。直交変換部612は、例えば、入力された予測誤差画像diffに対して、マクロブロック単位(例えば、4画素×4画素、あるいは、8画素×8画素からなるマクロブロック単位)で、離散コサイン変換(DCT)や整数変換等の直交変換を行う。そして、直交変換部612は、直交変換により取得したデータ(周波数成分データ)を、量子化部613に出力する。
【0090】
量子化部613は、直交変換部612から出力される周波数成分データと、量子化パラメータ決定部62から出力される量子化パラメータ値QPとを入力する。量子化部613は、量子化パラメータ決定部62から出力された量子化パラメータ値QPに基づいて、直交変換部612から出力される周波数成分データを量子化する。そして、量子化部613は、量子化後のデータ(量子化データ)を逆量子化部614および可変長符号化部618に出力する。
【0091】
逆量子化部614は、量子化部613から出力される量子化データを入力する。逆量子化部614は、量子化部613から出力される量子化データを逆量子化し、周波数成分データを取得する。そして、逆量子化部614は、取得した周波数成分データを逆直交変換部615に出力する。
【0092】
逆直交変換部615は、逆量子化部614から出力される周波数成分データを入力する。逆直交変換部615は、入力された周波数成分データを逆直交変換し、予測誤差画像diff’を取得する。そして、逆直交変換部615は、取得した予測誤差画像diff’を予測画像生成部616に出力する。
【0093】
予測画像生成部616は、色空間変換部5から出力される動画像Din1と、逆直交変換部615から出力される予測誤差画像diff’とを入力する。予測画像生成部616は、記憶部617に記憶されている参照画像と、動画像Din1とを用いて、動き推定処理、動き補償処理を行い、予測画像信号Dmc(予測画像Dmc)を取得する。予測画像生成部616は、取得した予測画像Dmcを予測処理部611に出力する。また、予測画像生成部616は、予測画像Dmcと、予測誤差画像diff’とを加算して、動画像Din1’(=Dmc+diff’)を生成する。そして、生成した動画像Din1’(現フレーム画像に対応する画像Din1’)を、記憶部617に記憶する。記憶部617に記憶された動画像Din1’(現フレーム画像に対応する画像Din1’)は、次フレーム以降の処理において、参照画像として用いられる。
【0094】
記憶部617は、予測画像生成部616が生成する動画像データを記憶する。そして、記憶部617に記憶されたデータは、予測画像生成部616により、適宜、読み出される。
【0095】
可変長符号化部618は、量子化部613から出力される量子化データを入力する。可変長符号化部618は、入力された量子化データに対して、可変長符号化処理を行い、可変長符号化処理後のデータを、出力データDout(符号化データDout)として、出力する。
【0096】
量子化パラメータ決定部62は、可変長符号化部618から出力される出力データDoutと、符号量調整部4から出力される符号量調整信号ADJと、を入力する。また、量子化パラメータ決定部62は、目標符号量と、符号化処理部61から出力される各種データInfo(量子化パラメータ値を決定するためのデータ)が入力される。量子化パラメータ決定部62は、目標符号量、出力データDout、符号量調整信号ADJ、および、符号化処理部61から出力される各種データInfoに基づいて、量子化パラメータ値QPを決定する。そして、量子化パラメータ決定部62は、決定した量子化パラメータ値QPを示す信号を、量子化部613に出力する。
【0097】
<1.2:動画像符号化装置の動作>
以上のように構成された動画像符号化装置1000の動作について、以下、説明する。
【0098】
入力動画像信号Din(入力動画像Din)は、
図1に示すように、第1直交変換部1と、色空間変換部5とに、入力される。
【0099】
第1直交変換部1では、入力動画像Dinに対して、例えば、4画素×4画素、あるいは、8画素×8画素からなるマクロブロック単位で、離散コサイン変換(DCT)や整数変換等の直交変換が実行され、周波数成分データ(例えば、DCT係数データ)が取得される。そして、取得された周波数成分データは、複雑度取得部2およびノイズ判定部3に出力される。
【0100】
なお、第1直交変換部1では、入力動画像信号Din(入力動画像Din)の一部の色成分信号(例えば、G2色成分信号)のみを用いて、上記処理を行うようにしてもよい。この場合、入力動画像信号Din(入力動画像Din)の全ての色成分信号(R色成分信号、G1色成分信号、G2色成分信号、および、B色成分信号)に対して処理を実行する場合に比べて、演算量を少なくすることができる。
【0101】
複雑度取得部2では、第1直交変換部1から出力される周波数成分データに基づいて、複雑度cmplxが取得される。
【0102】
(1.2.1:複雑度Cmplxの取得処理)
ここで、複雑度取得部2による複雑度cmplxの取得処理について、説明する。
【0103】
なお、説明便宜のために、第1直交変換部で実行される直交変換がDCTであり、処理対象ブロック(DCTの対象となるブロック(DCTブロック))は、8画素×8画素であるものとする。
【0104】
図3に、8画素×8画素からなる処理対象ブロック(DCTブロック)を示す。
図3に示すように、処理対象ブロック(DCTブロック)を構成する各周波数成分データ(DCT係数データ)を、DC、AC(x,y)(x,y:整数 0≦x≦7,0≦y≦7 ただし、x=0かつy=0の場合を除く。)と表す。つまり、直流成分を示すDCT係数データをDCとし、交流成分を示すDCT係数データをAC(x,y)とする。また、1フレーム画像に含まれるDCTブロック数をN(N:自然数)とする。また、第i番目(i:自然数、1≦i≦N)のDCTブロックの直流成分を示すDCT係数データをDC(i)と表記し、第i番目のDCTブロックの交流成分を示すDCT係数データAC(x,y)をAC(x,y,i)と表記する。
【0105】
複雑度取得部2は、i番目のDCTブロックにおいて、交流成分を示すDCT係数データAC(x,y,i)を、直流成分DC(i)で正規化する。つまり、
AC(x,y,i)=AC(x,y,i)/DC(i)
により、正規化した交流成分を示すDCT係数データAC(x,y,i)を取得する。この処理を、複雑度取得部2は、1フレーム画像に含まれる全てのDCTブロック(N個のDCTブロック)について実行する。
【0106】
そして、複雑度取得部2は、DCTブロックにおける同一周波数成分データ(同一DCT係数データ)を、それぞれ、1フレーム画像に含まれるDCTブロック数分(N個分)だけ加算する。すなわち、下記数式に相当する処理により、各周波数成分データ(DCT係数データ)の積算値Sum_AC(x,y)を算出する。
【0108】
これにより、DCTブロックが8画素×8画素のブロックである場合、63個の各周波数成分データ(DCT係数データ)の積算値Sum_ACが取得される。
【0109】
また、複雑度取得部2は、低域交流成分を示す領域AR_L(低域領域AR_L)に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値Sum_Lを取得する。なお、低域領域AR_Lは、例えば、
図3に示す斜線のハッチングを付した周波数成分データからなる領域である。つまり、
図3の場合、低域領域AR_Lは、AC(1,0)〜AC(6,0)、AC(0,1)〜AC(4,1)、AC(0,2)〜AC(3,2)、AC(0,3)〜AC(2,3)、AC(0,4)〜AC(1,4)、および、AC(0,5)の合計21個(=63/3)の周波数成分データからなる領域である。
【0110】
すなわち、複雑度取得部2は、低域領域AR_Lに含まれる周波数成分データの積算値Sum_AC(x,y)の合計値(低域成分積算値)Sum_Lを、下記数式に相当する処理により取得する。
【0112】
なお、上式において、「x,y∈AR_L」とは、上記で説明した低域領域に含まれる周波数成分データの(x,y)のデータを示しており、上式は、低域領域AR_Lに含まれる周波数成分データの積算値Sum_AC(x,y)の合計値を算出する数式を示している。
【0113】
また、複雑度取得部2は、中域交流成分を示す領域AR_M(中域領域AR_M)に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値Sum_Mを取得する。なお、中域領域AR_Mは、例えば、
図3にグレーで示した周波数成分データからなる領域である。つまり、
図3の場合、中域領域AR_Mは、AC(7,0)、AC(5,1)〜AC(7,1)、AC(4,2)〜AC(6,2)、AC(3,3)〜AC(5,3)、AC(2,4)〜AC(4,4)、AC(1,5)〜AC(3,5)、AC(0,6)〜AC(2,6)、および、AC(0,7)〜AC(1,7)の合計21個(=63/3)の周波数成分データからなる領域である。
【0114】
すなわち、複雑度取得部2は、中域領域AR_Mに含まれる周波数成分データの積算値Sum_AC(x,y)の合計値(中域成分積算値)Sum_Mを、下記数式に相当する処理により取得する。
【0116】
なお、上式において、「x,y∈AR_M」とは、上記で説明した中域領域に含まれる周波数成分データの(x,y)のデータを示しており、上式は、中域領域AR_Mに含まれる周波数成分データの積算値Sum_AC(x,y)の合計値を算出する数式を示している。
【0117】
また、複雑度取得部2は、高域交流成分を示す領域AR_H(高域領域AR_H)に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値Sum_Hを取得する。なお、高域領域AR_Hは、例えば、
図3に無色(白色)で示した周波数成分データからなる領域である。つまり、
図3の場合、高域領域AR_Hは、AC(7,2)、AC(6,3)〜AC(7,3)、AC(5,4)〜AC(7,4)、AC(4,5)〜AC(7,5)、AC(3,6)〜AC(7,6)、および、AC(2,7)〜AC(7,7)の合計21個(=63/3)の周波数成分データからなる領域である。
【0118】
すなわち、複雑度取得部2は、高域領域AR_Hに含まれる周波数成分データの積算値Sum_AC(x,y)の合計値(高域成分積算値)Sum_Hを、下記数式に相当する処理により取得する。
【0120】
なお、上式において、「x,y∈AR_H」とは、上記で説明した高域領域に含まれる周波数成分データの(x,y)のデータを示しており、上式は、高域領域AR_Hに含まれる周波数成分データの積算値Sum_AC(x,y)の合計値を算出する数式を示している。
【0121】
複雑度取得部2は、上記により取得した、低域成分積算値Sum_Lと、中域成分積算値Sum_Mと、高域成分積算値Sum_Hと、に基づいて、例えば、以下の(1)〜(3)のいずれかの処理により、複雑度cmplxを取得する。なお、複雑度cmplxは、現フレーム画像(処理対象のフレーム画像)が複雑であると判断された場合、「1」に設定され、現フレーム画像(処理対象のフレーム画像)が複雑ではないと判断された場合、「0」に設定されるものとする。
(1)複雑度取得部2は、
Sum_M/(Sum_L+Sum_M+Sum_H)>Th1
Th1:閾値
である場合、現フレーム画像(処理対象のフレーム画像)が複雑であると判断し、複雑度cmplxを、
cmplx=1
に設定する。
【0122】
一方、上記以外の場合、複雑度取得部2は、現フレーム画像(処理対象のフレーム画像)は複雑ではないと判断し、複雑度cmplxを、
cmplx=0
に設定する。
(2)複雑度取得部2は、
(Sum_M+Sum_H)/(Sum_L+Sum_M+Sum_H)>Th2
Th2:閾値
である場合、現フレーム画像(処理対象のフレーム画像)が複雑であると判断し、複雑度cmplxを、
cmplx=1
に設定する。
【0123】
一方、上記以外の場合、複雑度取得部2は、現フレーム画像(処理対象のフレーム画像)は複雑ではないと判断し、複雑度cmplxを、
cmplx=0
に設定する。
(3)複雑度取得部2は、
Sum_M/(Sum_L+Sum_M)>Th3
Th3:閾値
である場合、現フレーム画像(処理対象のフレーム画像)が複雑であると判断し、複雑度cmplxを、
cmplx=1
に設定する。
【0124】
一方、上記以外の場合、複雑度取得部2は、現フレーム画像(処理対象のフレーム画像)は複雑ではないと判断し、複雑度cmplxを、
cmplx=0
に設定する。
【0125】
複雑度取得部2は、上記(1)〜(3)のいずれかの処理を実行することにより、現フレーム画像(処理対象のフレーム画像)が複雑であるか否かを判断する。つまり、1フレーム画像中の周波数成分分布(低域成分、中域成分、および、高域成分の分布)において、中域成分、および/または、高域成分が所定の割合よりも多い場合、複雑度取得部2は、当該フレーム画像が複雑な画像であると判断する。なお、複雑度取得部2における、フレーム画像が複雑な画像であると判断する処理は、上記に限定されることはなく、他の処理(他の判定方法)を採用してもよい。
【0126】
≪分割判定処理(複雑度)≫
さらに、複雑度取得部2は、上記処理(以下、「全体判定処理」という。)により、複雑度cmplxが「0」に設定された場合、つまり、現フレーム画像が複雑ではないと判定された場合、以下の分割画像領域を用いた判定処理(以下、「分割判定処理」という。)を行うようにしてもよい。この分割判定処理について、
図4を用いて説明する。
【0127】
図4は、現フレーム画像F1(処理対象フレーム画像F1)において、9つの分割画像領域R1〜R9を模式的に示した図である。なお、
図4では、説明便宜のため、現フレーム画像F1が正方形の画像であるものとして、図示しているが、現フレーム画像F1の縦横比(アスペクト比)が他の比率であってもよい。
【0128】
分割判定処理において、複雑度取得部2は、
図4に示した分割画像領域ごとに、各周波数成分データ(DCT係数データ)の積算値Sum_AC(x,y)を算出する。なお、9つの分割画像領域R1〜R9は、それぞれ、M個のDCTブロックからなるものとする。
【0129】
複雑度取得部2は、分割画像領域R1〜R9のそれぞれに対して、下記数式に相当する処理により、各周波数成分データ(DCT係数データ)の積算値Sum_AC(x,y)を算出する。
【0131】
そして、全体判定処理と同様に、複雑度取得部2は、(数式2)〜(数式4)に相当する処理により、低域成分積算値Sum_L、中域成分積算値Sum_M、および、高域成分積算値Sum_Hを算出する。
【0132】
そして、複雑度取得部2は、上記により取得した、低域成分積算値Sum_Lと、中域成分積算値Sum_Mと、高域成分積算値Sum_Hと、に基づいて、例えば、以下の(1)〜(3)のいずれかの処理により、分割領域複雑度cmplx_dを取得する。なお、分割領域複雑度cmplx_dは、処理対象の分割画像領域が複雑な画像領域であると判断された場合、「1」に設定され、処理対象の分割画像領域が複雑な画像領域ではないと判断された場合、「0」に設定されるものとする。
(1)複雑度取得部2は、
Sum_M/(Sum_L+Sum_M+Sum_H)>Th1
Th1:閾値
である場合、処理対象の分割画像領域が複雑な画像領域であると判断し、分割領域複雑度cmplx_dを、
cmplx_d=1
に設定する。
【0133】
一方、上記以外の場合、複雑度取得部2は、処理対象の分割画像領域は複雑な画像領域ではないと判断し、分割領域複雑度cmplx_dを、
cmplx_d=0
に設定する。
(2)複雑度取得部2は、
(Sum_M+Sum_H)/(Sum_L+Sum_M+Sum_H)>Th2
Th2:閾値
である場合、処理対象の分割画像領域が複雑な画像領域であると判断し、分割領域複雑度cmplx_dを、
cmplx_d=1
に設定する。
【0134】
一方、上記以外の場合、複雑度取得部2は、処理対象の分割画像領域は複雑な画像領域ではないと判断し、分割領域複雑度cmplx_dを、
cmplx_d=0
に設定する。
(3)複雑度取得部2は、
Sum_M/(Sum_L+Sum_M)>Th3
Th3:閾値
である場合、処理対象の分割画像領域が複雑な画像領域であると判断し、分割領域複雑度cmplx_dを、
cmplx_d=1
に設定する。
【0135】
一方、上記以外の場合、複雑度取得部2は、処理対象の分割画像領域は複雑な画像領域ではないと判断し、分割領域複雑度cmplx_dを、
cmplx_d=0
に設定する。
【0136】
複雑度取得部2は、上記(1)〜(3)のいずれかの処理を実行することにより、処理対象の分割画像領域が複雑な画像領域であるか否かを判断する。つまり、分割画像領域中の周波数成分分布(低域成分、中域成分、および、高域成分の分布)において、中域成分、および/または、高域成分が所定の割合よりも多い場合、複雑度取得部2は、当該分割画像領域が複雑な画像であると判断する。
【0137】
複雑度取得部2は、上記処理を、分割画像領域R1〜R9のそれぞれに対して、実行し、分割領域複雑度cmplx_dが「1」である分割画像領域の数をカウントし、カウント結果をカウント値num_cmplxに代入する。
【0138】
num_cmplx>Th_num1
Th_num1:閾値
である場合、すなわち、分割画像領域が複雑な画像領域であると判定された分割画像領域数が所定の数Th_num1より多い場合、当該フレーム画像F1(現フレーム画像F1)が複雑であると判断し、複雑度取得部2は、
cmplx=1
に設定する。
【0139】
以上の処理により、複雑度取得部2は、複雑度cmplxを取得する。そして、複雑度取得部2により取得された複雑度cmplxを示す信号は、符号量調整部4に出力される。
【0140】
(1.2.2:ノイズ判定処理)
次に、ノイズ判定部3によるノイズ判定処理について、説明する。
【0141】
ノイズ判定部3では、第1直交変換部1から出力される周波数成分データに基づいて、ノイズ判定処理が実行される。
【0142】
図5は、8画素×8画素からなる処理対象ブロック(DCTブロック)を示した図である。
図5において、斜線で示した周波数成分データ(DCT係数データ)は、低域領域AR_L1に含まれるデータであり、右下の白色で示した周波数成分データ(DCT係数データ)は、高域領域AR_H1に含まれるデータである。
【0143】
ノイズ判定部3は、i番目のDCTブロックにおいて、交流成分を示すDCT係数データAC(x,y,i)を、直流成分DC(i)で正規化する。つまり、
AC(x,y,i)=AC(x,y,i)/DC(i)
により、正規化した交流成分を示すDCT係数データAC(x,y,i)を取得する。
【0144】
そして、ノイズ判定部3は、i番目のDCTブロックにおいて、低域領域AR_L1に含まれる周波数成分データ(同一DCT係数データ)を加算し、低域成分合計値L1(i)を取得する。
【0145】
すなわち、ノイズ判定部3は、i番目のDCTブロックにおいて、低域領域AR_L1に含まれる周波数成分データの積算値である低域成分合計値L1(i)を、下記数式に相当する処理により取得する。
【0147】
なお、上式において、「x,y∈AR_L1」とは、低域領域AR_L1に含まれる周波数成分データの(x,y)のデータを示しており、上式は、低域領域AR_L1に含まれる周波数成分データの積算値である低域成分合計値L1(i)を算出する数式を示している。
【0148】
また、ノイズ判定部3は、i番目のDCTブロックにおいて、高域領域AR_H1に含まれる周波数成分データ(同一DCT係数データ)を加算し、高域成分合計値H1(i)を取得する。
【0149】
すなわち、ノイズ判定部3は、i番目のDCTブロックにおいて、高域領域AR_H1に含まれる周波数成分データの積算値である高域成分合計値H1(i)を、下記数式に相当する処理により取得する。
【0151】
なお、上式において、「x,y∈AR_H1」とは、高域領域AR_H1に含まれる周波数成分データの(x,y)のデータを示しており、上式は、高域領域AR_H1に含まれる周波数成分データの積算値である高域成分合計値H1(i)を算出する数式を示している。
【0152】
ノイズ判定部3は、i番目のDCTブロックにおいて、上記により算出した低域成分合計値L1(i)と、高域成分合計値H1(i)とに基づいて、i番目のDCTブロックについてのノイズ判定結果を示すフラグf_noisy(i)の値を設定する。なお、ノイズ判定結果フラグf_noisy(i)は、「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0153】
具体的には、
H1(i)/L1(i)>Th4
Th4:閾値
であり、かつ、
H1(i)>Th5
Th5:閾値
である場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「1」に設定する。
【0154】
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「0」に設定する。
【0155】
ノイズ判定部3は、上記処理を、現フレーム画像F1(処理対象フレーム画像F1)に含まれる全てのDCTブロック(i=1〜N)について、実行する。そして、ノイズ判定部3は、f_noisy(i)=1であるDCTブロック数をカウントし、カウント結果をカウント値num_noisyに代入する。
【0156】
num_noisy>Th_num2
Th_num2:閾値
である場合、すなわち、「ノイズあり」(ノイズが多い)と判定されたDCTブロック数が所定の数Th_num2より多い場合、当該フレーム画像F1(現フレーム画像F1)は、「ノイズあり」(ノイズが多い)と判断し、ノイズ判定結果値noisyを、
noisy=1
に設定する。
【0157】
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果値noisyを、
noisy=0
に設定する。
【0158】
なお、ノイズ判定結果値noisyは、処理対象フレーム画像(あるいは、処理対象の画像領域)が「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、処理対象フレーム画像(あるいは、処理対象の画像領域)が「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0159】
≪分割判定処理(ノイズ判定処理)≫
さらに、ノイズ判定部3は、上記処理(以下、「ノイズ判定の全体判定処理」という。)により、ノイズ判定結果値noisyが「0」に設定された場合、つまり、現フレーム画像が「ノイズなし」(ノイズが少ない)と判定された場合、以下の分割画像領域を用いた判定処理(以下、「ノイズ判定の分割判定処理」という。)を行うようにしてもよい。このノイズ判定の分割判定処理について、
図4を用いて説明する。
【0160】
図4は、現フレーム画像F1(処理対象フレーム画像F1)において、9つの分割画像領域R1〜R9を模式的に示した図である。なお、
図4では、説明便宜のため、現フレーム画像F1が正方形の画像であるものとして、図示しているが、現フレーム画像F1の縦横比(アスペクト比)が他の比率であってもよい。
【0161】
ノイズ判定の分割判定処理において、ノイズ判定部3は、
図4に示した各分割画像領域を処理対象領域として、ノイズ判定処理を行い、ノイズ判定結果値noisyを取得する。なお、9つの分割画像領域R1〜R9は、それぞれ、M個のDCTブロックからなるものとする。
【0162】
ノイズ判定部3は、分割画像領域R1〜R9のそれぞれを処理対象領域とし、ノイズ判定の全体判定処理と同様に、i番目のDCTブロックにおける、高域成分合計値H1(i)および低域成分合計値L1(i)を取得する。
【0163】
ノイズ判定部3は、i番目のDCTブロックにおいて、低域成分合計値L1(i)と、高域成分合計値H1(i)とに基づいて、i番目のDCTブロックについてのノイズ判定結果を示すフラグf_noisy(i)の値を設定する。
【0164】
具体的には、
H1(i)/L1(i)>Th4
Th4:閾値
であり、かつ、
H1(i)>Th5
Th5:閾値
である場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「1」に設定する。
【0165】
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「0」に設定する。
【0166】
ノイズ判定部3は、上記処理を、分割画像領域R1〜R9の各分割画像領域に含まれる全てのDCTブロック(i=1〜M)について、実行する。そして、ノイズ判定部3は、f_noisy(i)=1であるDCTブロック数をカウントし、カウント結果をカウント値num_noisy1に代入する。
【0167】
num_noisy1>Th_num3
Th_num3:閾値
である場合、すなわち、「ノイズあり」(ノイズが多い)と判定されたDCTブロック数が所定の数Th_num3より多い場合、当該分割画像領域は、「ノイズあり」(ノイズが多い)と判断し、分割画像領域のノイズ判定結果値noisy_dを、
noisy_d=1
に設定する。
【0168】
一方、上記以外の場合、ノイズ判定部3は、分割画像領域のノイズ判定結果値noisy_dを、
noisy_d=0
に設定する。
【0169】
なお、分割画像領域のノイズ判定結果値noisy_dは、処理対象の分割画像領域が「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、処理対象の分割画像領域が「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0170】
ノイズ判定部3は、上記処理を、分割画像領域R1〜R9のそれぞれに対して、実行し、分割画像領域のノイズ判定結果値noisy_dが「1」である分割画像領域の数をカウントし、カウント結果をカウント値num_noisy_dに代入する。
【0171】
num_noisy_d>Th_num4
Th_num4:閾値
である場合、すなわち、分割画像領域が「ノイズあり」(ノイズが多い)と判定された分割画像領域数が所定の数Th_num4より多い場合、当該フレーム画像F1(現フレーム画像F1)が「ノイズあり」(ノイズが多い)と判断し、ノイズ判定部3は、現フレーム画像F1のノイズ判定結果値noisyを、
noisy=1
に設定する。なお、分割画像領域の数がn1(
図4の場合、n1=9)の場合、
Th_num4=Th_num2/n1
としてもよい。
【0172】
以上の処理により、ノイズ判定部3は、現フレーム画像F1のノイズ判定結果値noisyを取得する。そして、ノイズ判定部3により取得された現フレーム画像F1のノイズ判定結果値noisyを示す信号は、符号量調整部4に出力される。
【0173】
符号量調整部4では、複雑度取得部2により取得された複雑度cmplxと、ノイズ判定部3により取得されたノイズ判定結果(ノイズ判定結果値noisy)に基づいて、符号量調整信号ADJが生成される。
【0174】
符号量調整部4により実行される具体的な処理について、
図6〜
図8を用いて、説明する。
【0175】
図6は、ノイズ判定結果と、複雑度と、QP値との関係を示す図である。
【0176】
図7は、量子化パラメータ値QPのとり得る範囲および量子化パラメータ値QPを調整するための分割範囲について説明するための図である。
【0177】
図8は、ノイズ判定結果と、複雑度と、QP値との関係を示す図である。
【0178】
なお、以下では、符号化部6の量子化処理において用いられる量子化パラメータ値QPは、
図7に示すように、
QP_min≦QP≦QP_max
QP_min:QP値の最小値
QP_max:QP値の最大値
で規定される範囲の値をとるものとする。また、
図7に示すように、量子化パラメータ値QPを調整するための分割範囲QP_S、QP_M、および、QP_Lが設定されているものとする。分割範囲QP_S、QP_M、および、QP_Lは、値QP_th1およびQP_th2により、以下のように設定される。
【0179】
設定範囲QP_S:QP_min≦QP<QP_th1
設定範囲QP_M:QP_th1≦QP<QP_th2
設定範囲QP_L:QP_th2≦QP<QP_max
QP_min<QP_th1<QP_th2<QP_max
また、量子化パラメータ値QPは、正の値をとるものとする。そして、例えば、量子化パラメータ値QPと量子化ステップ値の対数とが比例する。
【0180】
符号量調整部4は、
図6に示すように、量子化パラメータ値QPが調整されるように、符号量調整信号ADJを生成する。すなわち、
(1)ノイズ判定結果値noisy=1であり、かつ、複雑度cmplx=1である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が大きな値(例えば、
図7の分割範囲QP_Lに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
(2)ノイズ判定結果値noisy=0であり、かつ、複雑度cmplx=1である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が中程度の値(例えば、
図7の分割範囲QP_Mに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
(3)ノイズ判定結果値noisy=1であり、かつ、複雑度cmplx=0である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が中程度の値(例えば、
図7の分割範囲QP_Mに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
(4)ノイズ判定結果値noisy=0であり、かつ、複雑度cmplx=0である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が小さな値(例えば、
図7の分割範囲QP_Lに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
【0181】
上記処理により生成された符号量調整信号ADJは、符号量調整部4から符号化部6の量子化パラメータ決定部62に出力される。
【0182】
また、符号量調整部4は、
図8に示すように、量子化パラメータ値QPが調整されるように、符号量調整信号ADJを生成するようにしてもよい。この場合、符号量調整部4は、ノイズ判定部3により取得されたノイズ判定結果値noisyを保持する。具体的には、符号量調整部4は、過去kフレーム画像分(k:自然数)のノイズ判定結果値noisyを保持する。そして、符号量調整部4は、現フレームからnフレーム前(n:0または自然数)のフレーム画像についてのノイズ判定結果値noisyを、noisy_past(n)として保持する。符号量調整部4は、例えば、以下の(1)または(2)の処理により、期間を考慮したノイズ判定結果値noisy_termの値を設定する。すなわち、
(1)現フレームと過去(k1−1)個(k1:2以上の自然数)のフレームの合計k1個のフレーム画像のノイズ判定結果値noisy_past(0)〜noisy_past(k1−1)のうち、k2個以上のノイズ判定結果値が「1」である場合、符号量調整部4は、ノイズ判定結果値noisy_termを、
noisy_term=1
と設定する。
【0183】
一方、上記以外の場合、符号量調整部4は、ノイズ判定結果値noisy_termを、
noisy_term=0
と設定する。
【0184】
例えば、上記において、k1=10、k2=5に設定することで、現フレームを含む過去10フレームのうち、5フレーム以上で、「ノイズあり」(ノイズが多い)と判定された場合、符号量調整部4は、ノイズの多いフレーム画像(映像)が続いていると判断し、ノイズ判定結果値noisy_termを「1」に設定する。
(2)現フレームと過去(k3−1)個(k3:2以上の自然数)のフレームの合計k3個のフレーム画像のノイズ判定結果値noisy_past(0)〜noisy_past(k3−1)が全て「1」である場合、符号量調整部4は、ノイズ判定結果値noisy_termを、
noisy_term=1
と設定する。
【0185】
一方、上記以外の場合、符号量調整部4は、ノイズ判定結果値noisy_termを、
noisy_term=0
と設定する。
【0186】
例えば、上記において、k3=3に設定することで、現フレームを含む連続する過去3フレームのすべてのフレーム画像において、「ノイズあり」(ノイズが多い)と判定された場合、符号量調整部4は、ノイズの多いフレーム画像(映像)が続いていると判断し、ノイズ判定結果値noisy_termを「1」に設定する。
【0187】
そして、符号量調整部4は、上記で説明したノイズ判定結果値noisy_termを用いて、
図8に示すように、量子化パラメータ値QPが調整されるように、符号量調整信号ADJを生成する。すなわち、
(1)ノイズ判定結果値noisy_term=1であり、かつ、複雑度cmplx=1である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が大きな値(例えば、
図7の分割範囲QP_Lに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
(2)ノイズ判定結果値noisy_term=0であり、かつ、複雑度cmplx=1である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が中程度の値(例えば、
図7の分割範囲QP_Mに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
(3)ノイズ判定結果値noisy_term=1であり、かつ、複雑度cmplx=0である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が中程度の値(例えば、
図7の分割範囲QP_Mに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
(4)ノイズ判定結果値noisy_term=0であり、かつ、複雑度cmplx=0である場合、符号量調整部4は、符号化部6での量子化処理における量子化パラメータ値が小さな値(例えば、
図7の分割範囲QP_Lに含まれるQP値)に設定されるように指示する符号量調整信号ADJを生成する。
【0188】
上記処理により生成された符号量調整信号ADJは、符号量調整部4から符号化部6の量子化パラメータ決定部62に出力される。
【0189】
色空間変換部5では、入力動画像信号Dinは、色空間変換が実行され、符号化部6が符号化処理を実行することができる形式の信号に変換される。入力動画像信号DinがRGB色空間の信号であり、符号化部6がYCbCr色空間の信号に対して符号化処理を実行するものである場合、色空間変換部5では、入力動画像信号Dinは、RGB色空間の信号から、YCbCr色空間の信号に変換される。そして、変換された信号(例えば、YCbCr色空間の信号)は、動画像信号Din1として、符号化部6に出力される。
【0190】
なお、入力動画像信号Dinが、ベイヤー配列色フィルタを有する撮像素子により取得された信号であり、R色成分信号、G1色成分信号、G2色成分信号、および、B色成分信号からなる動画像信号である場合、色空間変換部5において、当該動画像信号に対して、画素補間処理、ガンマ補正処理、ホワイトバランス処理等のカメラ信号処理が実行されるものであってもよい。そして、この場合、色空間変換部5において、当該カメラ信号処理が実行されて取得されたRGB色空間の信号に対して、色空間変換を実行するようにしてもよい。
【0191】
上記処理により、色空間変換部5で変換された動画像信号Din1は、符号化部6の予測処理部611および予測画像生成部616に出力される。
【0192】
予測処理部611では、動画像信号Din1(動画像Din1)と、予測画像生成部616から出力される予測画像信号Dmc(予測画像Dmc)とから、予測誤差信号(予測誤差画像)diffが取得される。そして、取得された予測誤差信号(予測誤差画像)diffは、直交変換部612に出力される。
【0193】
直交変換部612では、入力された予測誤差画像に対して直交変換が実行される。直交変換部612では、例えば、入力された予測誤差画像diffに対して、マクロブロック単位(例えば、4画素×4画素、あるいは、8画素×8画素からなるマクロブロック単位)で、離散コサイン変換(DCT)や整数変換等の直交変換が実行される。そして、直交変換により取得したデータ(周波数成分データ)は、量子化部613に出力される。
【0194】
量子化部613では、量子化パラメータ決定部62から出力された量子化パラメータ値QPに基づいて、直交変換部612から出力される周波数成分データが量子化される。そして、量子化後のデータ(量子化データ)は、逆量子化部614および可変長符号化部618に出力される。
【0195】
逆量子化部614では、量子化部613から出力される量子化データが逆量子化され、周波数成分データが取得される。そして、取得された周波数成分データは、逆直交変換部615に出力される。
【0196】
逆直交変換部615では、入力された周波数成分データが逆直交変換され、予測誤差画像diff’が取得される。そして、取得された予測誤差画像diff’は、予測画像生成部616に出力される。
【0197】
予測画像生成部616では、記憶部617に記憶されている参照画像と、動画像Din1とを用いて、動き推定処理、動き補償処理が実行され、予測画像信号Dmc(予測画像Dmc)が取得される。取得された予測画像Dmcは、予測処理部611に出力される。また、予測画像生成部616では、予測画像Dmcと、予測誤差画像diff’とが加算され、動画像Din1’(=Dmc+diff’)が生成される。そして、生成された動画像Din1’(現フレーム画像に対応する画像Din1’)は、記憶部617に記憶される。記憶部617に記憶された動画像Din1’(現フレーム画像に対応する画像Din1’)は、次フレーム以降の処理において、参照画像として用いられる。
【0198】
記憶部617では、予測画像生成部616により生成される動画像データが記憶される。そして、記憶部617に記憶されたデータは、予測画像生成部616により、適宜、読み出される。
【0199】
可変長符号化部618では、入力された量子化データに対して、可変長符号化処理が実行される。そして、可変長符号化処理後のデータは、出力データDout(符号化データDout)として、出力される。
【0200】
量子化パラメータ決定部62では、目標符号量、出力データDout、符号量調整信号ADJ、および、符号化処理部61から出力される各種データInfoに基づいて、量子化パラメータ値QPが決定される。量子化パラメータ決定部62では、例えば、特願2013-253430号に開示されている技術と同様に、目標符号量、出力データDout、各種データInfo(例えば、SATD、処理対象マクロブロックが、イントラマクロブロックか、インターマクロブロックのいずれであるかを示すフラグIntra/Inter_flag等)に基づいて、量子化パラメータ値QP_tmpを決定する。
【0201】
さらに、量子化パラメータ決定部62では、符号量調整部4から出力される符号量調整信号ADJにより、量子化パラメータ値QP_tmpを調整し、量子化パラメータ値QPを取得する。具体的には、
(1)量子化パラメータ値QP_tmpが、符号量調整信号ADJにより指示されているQP値の範囲に属する値である場合、量子化パラメータ決定部62は、
QP=QP_tmp
として、量子化パラメータ値QPを取得する。
(2)一方、量子化パラメータ値QP_tmpが、符号量調整信号ADJにより指示されているQP値の範囲に属する値ではない場合、量子化パラメータ決定部62は、符号量調整信号ADJにより指示されているQP値の範囲に含まれる値をQP1(例えば、符号量調整信号ADJにより指示されているQP値の範囲の中央値)とすると、
QP=QP1
として、量子化パラメータ値QPを取得する。
【0202】
例えば、符号量調整信号ADJにより指示されているQP値の範囲が、
図7に示す分割範囲QP_Sであり、量子化パラメータ値QP_tmpが、分割範囲QP_S内の値ではない場合、量子化パラメータ決定部62は、量子化パラメータ値QPを、分割範囲QP_S内の値(例えば、分割範囲QP_Sの中央値)に設定する。
【0203】
つまり、量子化パラメータ決定部62は、符号量調整信号ADJにより、量子化パラメータ値QP_tmpを、必要に応じて調整し、量子化パラメータ値QPを取得する。
【0204】
このようにして取得された量子化パラメータ値QPは、量子化部613に出力される。
【0205】
以上のように、動画像符号化装置1000では、複雑度取得部2により取得された入力動画像Dinの複雑度cmplxと、ノイズ判定部3によるノイズ判定結果(ノイズ判定結果値noisy、または、noisy_term)とに基づいて、生成された符号量調整信号ADJにより、量子化パラメータ値QP_tmpが必要に応じて調整され、量子化パラメータ値QPが決定される。これにより、動画像符号化装置1000では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、量子化パラメータ値QPは、比較的大きな値に(複雑度cmplx=1の場合、分割領域QP_Lに含まれる値に、複雑度cmplx=0の場合、分割領域QP_Mに含まれる値に)設定される。その結果、動画像符号化装置1000では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、発生符号量を適切に抑制することができる。
【0206】
したがって、この動画像符号化装置1000では、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる。
【0207】
≪第1変形例≫
次に、第1実施形態の第1変形例について、説明する。
【0208】
なお、本変形例において、第1実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0209】
本変形例の動画像符号化装置は、第1実施形態の動画像符号化装置1000と同様の構成を有している。本変形例の動画像符号化装置では、ノイズ判定部3でのノイズ判定処理のみが、第1実施形態の動画像符号化装置1000と相違する。したがって、以下では、本変形例の動画像符号化装置のノイズ判定部3において実行されるノイズ判定処理について、説明する。
【0210】
ノイズ判定部3では、第1直交変換部1から出力される周波数成分データに基づいて、ノイズ判定処理が実行される。
【0211】
ノイズ判定部3は、i番目のDCTブロックにおいて、交流成分を示すDCT係数データAC(x,y,i)を、直流成分DC(i)で正規化する。つまり、
AC(x,y,i)=AC(x,y,i)/DC(i)
により、正規化した交流成分を示すDCT係数データAC(x,y,i)を取得する。この処理を、ノイズ判定部3は、1フレーム画像に含まれる全てのDCTブロック(N個のDCTブロック)について実行する。
【0212】
そして、ノイズ判定部3は、DCTブロックにおける同一周波数成分データ(同一DCT係数データ)を、それぞれ、1フレーム画像に含まれるDCTブロック数分(N個分)だけ加算する。すなわち、下記数式に相当する処理により、各周波数成分データ(DCT係数データ)の積算値Sum_AC(x,y)を算出する。
【0214】
これにより、DCTブロックが8画素×8画素のブロックである場合、63個の各周波数成分データ(DCT係数データ)の積算値Sum_ACが取得される。
【0215】
また、ノイズ判定部3は、低域交流成分を示す領域AR_L1(低域領域AR_L1)に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値L1を取得する。なお、低域領域AR_L1は、例えば、
図5に示す斜線のハッチングを付した周波数成分データからなる領域である。つまり、
図5の場合、低域領域AR_L1は、AC(1,0)〜AC(4,0)、AC(0,1)〜AC(3,1)、AC(0,2)〜AC(2,2)、AC(0,3)〜AC(1,3)、および、AC(0,4)の合計14個の周波数成分データからなる領域である。
【0216】
すなわち、ノイズ判定部3は、低域領域AR_L1に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値(低域成分積算値)L1を、下記数式に相当する処理により取得する。
【0218】
なお、上式において、「x,y∈AR_L1」とは、低域領域AR_L1に含まれる周波数成分データの(x,y)のデータを示しており、上式は、低域領域AR_L1に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値である低域成分積算値L1を算出する数式を示している。
【0219】
また、ノイズ判定部3は、高域交流成分を示す領域AR_H1(高域領域AR_H1)に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値H1を取得する。なお、高域領域AR_H1は、例えば、
図5に示す、右下の無地(白色)で示した周波数成分データからなる領域である。つまり、
図5の場合、高域領域AR_H1は、AC(7,3)、AC(6,4)〜AC(7,4)、AC(5,5)〜AC(7,5)、AC(4,6)〜AC(7,6)、および、AC(3,7)〜AC(7,7)の合計15個の周波数成分データからなる領域である。
【0220】
すなわち、ノイズ判定部3は、高域領域AR_H1に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値(高域成分積算値)H1を、下記数式に相当する処理により取得する。
【0222】
なお、上式において、「x,y∈AR_H1」とは、高域領域AR_H1に含まれる周波数成分データの(x,y)のデータを示しており、上式は、高域領域AR_H1に含まれる周波数成分データの積算値Sum_AC(x,y)の合計値である高域成分積算値H1を算出する数式を示している。
【0223】
ノイズ判定部3は、上記により算出した低域成分積算値L1と、高域成分積算値H1とに基づいて、現フレーム画像(処理対象フレーム画像)についてのノイズ判定結果値noisyを設定する。
【0224】
具体的には、
H1/L1>Th_A1
Th_A1:閾値
であり、かつ、
H1>Th_A2
Th_A2:閾値
である場合、ノイズ判定部3は、ノイズ判定結果値noisyを「1」に設定する。
【0225】
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果値noisyを「0」に設定する。
【0226】
なお、ノイズ判定結果値noisyは、処理対象フレーム画像(あるいは、処理対象の画像領域)が「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、処理対象フレーム画像(あるいは、処理対象の画像領域)が「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0227】
≪第1変形例の分割判定処理(ノイズ判定処理)≫
さらに、ノイズ判定部3は、上記処理(以下、「ノイズ判定の全体判定処理(第1変形例)」という。)により、ノイズ判定結果値noisyが「0」に設定された場合、つまり、現フレーム画像が「ノイズなし」(ノイズが少ない)と判定された場合、以下の分割画像領域を用いた判定処理(以下、「ノイズ判定の分割判定処理(第1変形例)」という。)を行うようにしてもよい。このノイズ判定の分割判定処理について、
図4を用いて説明する。
【0228】
図4は、現フレーム画像F1(処理対象フレーム画像F1)において、9つの分割画像領域R1〜R9を模式的に示した図である。なお、
図4では、説明便宜のため、現フレーム画像F1が正方形の画像であるものとして、図示しているが、現フレーム画像F1の縦横比(アスペクト比)が他の比率であってもよい。
【0229】
ノイズ判定の分割判定処理において、ノイズ判定部3は、
図4に示した各分割画像領域を処理対象領域として、ノイズ判定処理を行い、ノイズ判定結果値noisyを取得する。なお、9つの分割画像領域R1〜R9は、それぞれ、M個のDCTブロックからなるものとする。
【0230】
ノイズ判定部3は、分割画像領域R1〜R9のそれぞれを処理対象領域とし、ノイズ判定の全体判定処理(第1変形例)と同様に、各分割画像領域における、高域成分積算値H1および低域成分積算値L1を取得する。
【0231】
ノイズ判定部3は、分割画像領域ごとに、算出した低域成分積算値L1と、高域成分積算値H1とに基づいて、処理対象の分割画像領域についてのノイズ判定結果値noisy_dを設定する。
【0232】
具体的には、
H1/L1>Th_A3
Th_A3:閾値
であり、かつ、
H1>Th_A4
Th_A4:閾値
である場合、ノイズ判定部3は、処理対象の分割画像領域についてのノイズ判定結果値noisy_dを「1」に設定する。
【0233】
一方、上記以外の場合、ノイズ判定部3は、処理対象の分割画像領域についてのノイズ判定結果値noisy_dを「0」に設定する。
【0234】
ノイズ判定部3は、上記処理を、分割画像領域R1〜R9のそれぞれに対して、実行し、分割画像領域のノイズ判定結果値noisy_dが「1」である分割画像領域の数をカウントし、カウント結果をカウント値num_noisy_dに代入する。
【0235】
num_noisy_d>Th_numA1
Th_numA1:閾値
である場合、すなわち、分割画像領域が「ノイズあり」(ノイズが多い)と判定された分割画像領域数が所定の数Th_numA1より多い場合、当該フレーム画像F1(現フレーム画像F1)が「ノイズあり」(ノイズが多い)と判断し、ノイズ判定部3は、
noisy=1
に設定する。
【0236】
以上の処理により、ノイズ判定部3は、現フレーム画像F1のノイズ判定結果値noisyを取得する。そして、ノイズ判定部3により取得された現フレーム画像F1のノイズ判定結果値noisyを示す信号は、符号量調整部4に出力される。
【0237】
本変形例の動画像符号化装置において、上記以外の処理については、第1実施形態の動画像符号化装置1000と同様である。
【0238】
以上のように、本変形例の動画像符号化装置においても、第1実施形態の動画像符号化装置1000と同様に、複雑度取得部2により取得された入力動画像Dinの複雑度cmplxと、ノイズ判定部3によるノイズ判定結果(ノイズ判定結果値noisy、または、noisy_term)とに基づいて、生成された符号量調整信号ADJにより、量子化パラメータ値QP_tmpが必要に応じて調整され、量子化パラメータ値QPが決定される。これにより、本変形例の動画像符号化装置では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、量子化パラメータ値QPは、比較的大きな値に(複雑度cmplx=1の場合、分割領域QP_Lに含まれる値に、複雑度cmplx=0の場合、分割領域QP_Mに含まれる値に)設定される。その結果、本変形例の動画像符号化装置では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、発生符号量を適切に抑制することができる。
【0239】
したがって、本変形例の動画像符号化装置においても、第1実施形態の動画像符号化装置1000と同様に、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる。
【0240】
≪第2変形例≫
次に、第1実施形態の第2変形例について、説明する。
【0241】
なお、本変形例において、第1実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0242】
本変形例の動画像符号化装置は、第1実施形態の動画像符号化装置1000と同様の構成を有している。本変形例の動画像符号化装置では、ノイズ判定部3でのノイズ判定処理のみが、第1実施形態の動画像符号化装置1000と相違する。したがって、以下では、本変形例の動画像符号化装置のノイズ判定部3において実行されるノイズ判定処理について、説明する。
【0243】
ノイズ判定部3では、第1直交変換部1から出力される周波数成分データに基づいて、ノイズ判定処理が実行される。
【0244】
図9〜
図11は、8画素×8画素からなる処理対象ブロック(DCTブロック)を示した図である。
【0245】
図9において、斜線で示した周波数成分データ(DCT係数データ)は、低域領域AR_L1に含まれるデータであり、右下の白色で示した周波数成分データ(DCT係数データ)は、高域領域AR_H1に含まれるデータである。
【0246】
図10において、斜線で示した周波数成分データ(DCT係数データ)は、水平低域領域AR_Lhに含まれるデータであり、右下の白色で示した周波数成分データ(DCT係数データ)は、高域領域AR_H1に含まれるデータである。
【0247】
図11において、斜線で示した周波数成分データ(DCT係数データ)は、垂直低域領域AR_Lvに含まれるデータであり、右下の白色で示した周波数成分データ(DCT係数データ)は、高域領域AR_H1に含まれるデータである。
【0248】
ノイズ判定部3は、i番目のDCTブロックにおいて、交流成分を示すDCT係数データAC(x,y,i)を、直流成分DC(i)で正規化する。つまり、
AC(x,y,i)=AC(x,y,i)/DC(i)
により、正規化した交流成分を示すDCT係数データAC(x,y,i)を取得する。
【0249】
そして、ノイズ判定部3は、i番目のDCTブロックにおいて、低域領域AR_L1に含まれる周波数成分データ(同一DCT係数データ)を加算し、低域成分合計値L1(i)を取得する。
【0250】
すなわち、ノイズ判定部3は、i番目のDCTブロックにおいて、低域領域AR_L1に含まれる周波数成分データの積算値である低域成分合計値L1(i)を、下記数式に相当する処理により取得する。
【0252】
なお、上式において、「x,y∈AR_L1」とは、低域領域AR_L1に含まれる周波数成分データの(x,y)のデータを示しており、上式は、低域領域AR_L1に含まれる周波数成分データの積算値である低域成分合計値L1(i)を算出する数式を示している。
【0253】
また、ノイズ判定部3は、i番目のDCTブロックにおいて、水平低域領域AR_Lhに含まれる周波数成分データ(同一DCT係数データ)を加算し、水平低域成分合計値Lh(i)を取得する。
【0254】
すなわち、ノイズ判定部3は、i番目のDCTブロックにおいて、水平低域領域AR_Lhに含まれる周波数成分データの積算値である水平低域成分合計値Lh(i)を、下記数式に相当する処理により取得する。
【0256】
なお、上式において、「x,y∈AR_Lh」とは、水平低域領域AR_Lhに含まれる周波数成分データの(x,y)のデータを示しており、上式は、水平低域領域AR_Lhに含まれる周波数成分データの積算値である水平低域成分合計値Lh(i)を算出する数式を示している。
【0257】
また、ノイズ判定部3は、i番目のDCTブロックにおいて、垂直低域領域AR_Lvに含まれる周波数成分データ(同一DCT係数データ)を加算し、垂直低域成分合計値Lv(i)を取得する。
【0258】
すなわち、ノイズ判定部3は、i番目のDCTブロックにおいて、垂直低域領域AR_Lvに含まれる周波数成分データの積算値である垂直低域成分合計値Lv(i)を、下記数式に相当する処理により取得する。
【0260】
なお、上式において、「x,y∈AR_Lv」とは、垂直低域領域AR_Lvに含まれる周波数成分データの(x,y)のデータを示しており、上式は、垂直低域領域AR_Lvに含まれる周波数成分データの積算値である垂直低域成分合計値Lv(i)を算出する数式を示している。
【0261】
また、ノイズ判定部3は、i番目のDCTブロックにおいて、高域領域AR_H1に含まれる周波数成分データ(同一DCT係数データ)を加算し、高域成分合計値H1(i)を取得する。
【0262】
すなわち、ノイズ判定部3は、i番目のDCTブロックにおいて、高域領域AR_H1に含まれる周波数成分データの積算値である高域成分合計値H1(i)を、下記数式に相当する処理により取得する。
【0264】
なお、上式において、「x,y∈AR_H1」とは、高域領域AR_H1に含まれる周波数成分データの(x,y)のデータを示しており、上式は、高域領域AR_H1に含まれる周波数成分データの積算値である高域成分合計値H1(i)を算出する数式を示している。
【0265】
ノイズ判定部3は、i番目のDCTブロックにおいて、上記により算出した低域成分合計値L1(i)と、水平低域成分合計値Lh(i)と、垂直低域成分合計値Lv(i)と、高域成分合計値H1(i)とに基づいて、i番目のDCTブロックについてのノイズ判定結果を示すフラグf_noisy(i)の値を設定する。なお、ノイズ判定結果フラグf_noisy(i)は、「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0266】
具体的には、ノイズ判定部3は、以下の(条件1)〜(条件3)の全てを満たす場合、ノイズ判定結果フラグf_noisy(i)を「1」に設定する。
【0267】
(条件1:エッジ成分が多いか否かの判定条件)
H1(i)/L1(i)>Th10
Th10:閾値
(条件2:水平方向エッジ成分が多いか否かの判定条件)
H1(i)/Lh(i)>Th_h
Th_h:閾値
(条件3:垂直方向エッジ成分が多いか否かの判定条件)
H1(i)/Lv(i)>Th_v
Th_v:閾値
なお、上記(条件1)〜(条件3)のいずれかを満たす場合、ノイズ判定結果フラグf_noisy(i)を「1」に設定するようにしてもよい。また、上記(条件1)〜(条件3)のいずれか2つを満たす場合、ノイズ判定結果フラグf_noisy(i)を「1」に設定するようにしてもよい。
【0268】
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「0」に設定する。
【0269】
なお、ノイズ判定部3は、上記に加えて、孤立周波数成分検出処理により、処理対象ブロックがノイズを多く含むか否かを検出し、当該検出結果を考慮して、ノイズ判定結果フラグf_noisy(i)を設定するようにしてもよい。
【0270】
ここで、孤立周波数成分検出処理について、説明する。
【0271】
一般的に、自然画をDCT変換すると、DCT係数の分布は、連続的なものとなる傾向が強い。つまり、自然画を周波数変換すると、周波数領域において、近い位置に存在する周波数成分(DCT係数データ)は、近似する傾向にある。したがって、特定の周波数成分(DCT係数データ)が、周辺の周波数成分(DCT係数データ)に比べて突出して存在することは少ない。このように、特定の周波数成分(DCT係数データ)が、周辺の周波数成分(DCT係数データ)に比べて突出して存在している場合、当該特定の周波数成分(DCT係数データ)は、ノイズ成分よるものであると推定することができる。
【0272】
そこで、ノイズ判定部3は、孤立周波数成分検出処理により、DCTブロックにおいて、孤立して存在する周波数成分が多く含まれている場合、当該DCTブロックに対応する画像領域において、ノイズが多く含まれると判定する。
【0273】
具体的には、i番目のDCTブロックにおいて、DC(i)で正規化された交流成分のDCT係数データAC(x,y,i)の平均値Aveを取得する。
【0274】
そして、DCTブロックにおいて、周囲8つのDCT係数データで囲まれているDCT係数データのそれぞれに対して、ノイズ判定部3は、孤立周波数成分検出処理を行う。なお、周囲8つのDCT係数データで囲まれているDCT係数データは、DCTブロックが8×8である場合、AC(1,1)〜AC(6,1)、AC(1,2)〜AC(6,2)、AC(1,3)〜AC(6,3)、AC(1,4)〜AC(6,4)、AC(1,5)〜AC(6,5)、AC(1,6)〜AC(6,6)の36個のDCT係数データである。
【0275】
検出対象データを、DCT係数データAC(x,y)とすると、
AC(x,y)>Th_20
Th_20:閾値(例えば、Th_20=Aveとしてもよい。)
であり、かつ、
DCT係数データAC(x,y)に隣接する8つのDCT係数データAC(x−1,y−1)、AC(x,y−1)、AC(x+1,y−1)、AC(x−1,y)、AC(x+1,y)、AC(x−1,y+1)、AC(x,y+1)、AC(x+1,y+1)のうち、その値が平均値Aveよりも大きいデータが、D1個未満である場合、
ノイズ判定部3は、当該DCT係数データAC(x,y)が、孤立周波数成分であると判定する。
【0276】
また、DCTブロックにおいて、周囲5つのDCT係数データで囲まれているDCT係数データのそれぞれに対して、ノイズ判定部3は、孤立周波数成分検出処理を行う。なお、周囲5つのDCT係数データで囲まれているDCT係数データは、DCTブロックが8×8である場合、AC(1,0)〜AC(6,0)(上の一行)、AC(0,1)〜AC(0,6)(左の一列)、AC(1,7)〜AC(6,7)(下の一行)、AC(7,1)〜AC(7,6)の24個のDCT係数データである。
【0277】
検出対象データを、DCT係数データAC(x,y)とすると、
AC(x,y)>Th_21
Th_21:閾値
であり、かつ、
DCT係数データAC(x,y)に隣接する5つのDCT係数データのうち、その値が平均値Aveよりも大きいデータが、D2個未満である場合、
ノイズ判定部3は、当該DCT係数データAC(x,y)が、孤立周波数成分であると判定する。
【0278】
ノイズ判定部3は、上記処理により、孤立周波数成分であると判定されたDCT係数データの数が、D3個より多い場合、当該DCTブロックには、孤立周波数成分を多く含み、ノイズの多いブロック(画像領域)であると判定する。そして、この場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「1」に設定する。
【0279】
ノイズ判定部3は、上記処理を、現フレーム画像F1(処理対象フレーム画像F1)に含まれる全てのDCTブロック(i=1〜N)について、実行する。そして、ノイズ判定部3は、f_noisy(i)=1であるDCTブロック数をカウントし、カウント結果をカウント値num_noisy3に代入する。
【0280】
num_noisy3>Th_num22
Th_num22:閾値
である場合、すなわち、「ノイズあり」(ノイズが多い)と判定されたDCTブロック数が所定の数Th_num22より多い場合、当該フレーム画像F1(現フレーム画像F1)は、「ノイズあり」(ノイズが多い)と判断し、ノイズ判定結果値noisyを、
noisy=1
に設定する。
【0281】
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果値noisyを、
noisy=0
に設定する。
【0282】
なお、ノイズ判定結果値noisyは、処理対象フレーム画像(あるいは、処理対象の画像領域)が「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、処理対象フレーム画像(あるいは、処理対象の画像領域)が「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0283】
≪第2変形例の分割判定処理(ノイズ判定処理)≫
さらに、ノイズ判定部3は、上記処理(以下、「ノイズ判定の全体判定処理(第2変形例)」という。)により、ノイズ判定結果値noisyが「0」に設定された場合、つまり、現フレーム画像が「ノイズなし」(ノイズが少ない)と判定された場合、以下の分割画像領域を用いた判定処理(以下、「ノイズ判定の分割判定処理(第2変形例)」という。)を行うようにしてもよい。このノイズ判定の分割判定処理について、
図4を用いて説明する。
【0284】
図4は、現フレーム画像F1(処理対象フレーム画像F1)において、9つの分割画像領域R1〜R9を模式的に示した図である。なお、
図4では、説明便宜のため、現フレーム画像F1が正方形の画像であるものとして、図示しているが、現フレーム画像F1の縦横比(アスペクト比)が他の比率であってもよい。
【0285】
ノイズ判定の分割判定処理において、ノイズ判定部3は、
図4に示した各分割画像領域を処理対象領域として、ノイズ判定処理を行い、ノイズ判定結果値noisyを取得する。なお、9つの分割画像領域R1〜R9は、それぞれ、M個のDCTブロックからなるものとする。
【0286】
ノイズ判定部3は、分割画像領域R1〜R9のそれぞれを処理対象領域とし、ノイズ判定の全体判定処理(第2変形例)と同様に、i番目のDCTブロックにおける、高域成分合計値H1(i)、低域成分合計値L1(i)、水平低域成分合計値Lh(i)、および、垂直低域成分合計値Lv(i)を取得する。
【0287】
そして、ノイズ判定部3は、ノイズ判定の全体判定処理(第2変形例)と同様に、以下の(条件1)〜(条件3)の全てを満たす場合、ノイズ判定結果フラグf_noisy(i)を「1」に設定する。
【0288】
(条件1:エッジ成分が多いか否かの判定条件)
H1(i)/L1(i)>Th10
Th10:閾値
(条件2:水平方向エッジ成分が多いか否かの判定条件)
H1(i)/Lh(i)>Th_h
Th_h:閾値
(条件3:垂直方向エッジ成分が多いか否かの判定条件)
H1(i)/Lv(i)>Th_v
Th_v:閾値
一方、上記以外の場合、ノイズ判定部3は、ノイズ判定結果フラグf_noisy(i)を「0」に設定する。
【0289】
また、ノイズ判定部3は、ノイズ判定の全体判定処理(第2変形例)と同様に、i番目のDCTブロックにおいて、孤立周波数成分検出処理を実行し、処理対象ブロックがノイズを多く含むか否かを検出し、当該検出結果を考慮して、ノイズ判定結果フラグf_noisy(i)を設定するようにしてもよい。
【0290】
ノイズ判定部3は、上記処理を、分割画像領域R1〜R9の各分割画像領域に含まれる全てのDCTブロック(i=1〜M)について、実行する。そして、ノイズ判定部3は、f_noisy(i)=1であるDCTブロック数をカウントし、カウント結果をカウント値num_noisy1に代入する。
【0291】
num_noisy21>Th_num23
Th_num23:閾値
である場合、すなわち、「ノイズあり」(ノイズが多い)と判定されたDCTブロック数が所定の数Th_num23より多い場合、当該分割画像領域は、「ノイズあり」(ノイズが多い)と判断し、分割画像領域のノイズ判定結果値noisy_dを、
noisy_d=1
に設定する。
【0292】
一方、上記以外の場合、ノイズ判定部3は、分割画像領域のノイズ判定結果値noisy_dを、
noisy_d=0
に設定する。
【0293】
なお、分割画像領域のノイズ判定結果値noisy_dは、処理対象の分割画像領域が「ノイズあり」(ノイズが多い)と判定された場合、「1」に設定され、処理対象の分割画像領域が「ノイズなし」(ノイズが少ない)と判定された場合、「0」に設定される。
【0294】
ノイズ判定部3は、上記処理を、分割画像領域R1〜R9のそれぞれに対して、実行し、分割画像領域のノイズ判定結果値noisy_dが「1」である分割画像領域の数をカウントし、カウント結果をカウント値num_noisy_dに代入する。
【0295】
num_noisy_d>Th_num23
Th_num23:閾値
である場合、すなわち、分割画像領域が「ノイズあり」(ノイズが多い)と判定された分割画像領域数が所定の数Th_num23より多い場合、当該フレーム画像F1(現フレーム画像F1)が「ノイズあり」(ノイズが多い)と判断し、ノイズ判定部3は、現フレーム画像F1のノイズ判定結果値noisyを、
noisy=1
に設定する。なお、分割画像領域の数がn1(
図4の場合、n1=9)の場合、
Th_num23=Th_num22/n1
としてもよい。
【0296】
以上の処理により、ノイズ判定部3は、現フレーム画像F1のノイズ判定結果値noisyを取得する。そして、ノイズ判定部3により取得された現フレーム画像F1のノイズ判定結果値noisyを示す信号は、符号量調整部4に出力される。
【0297】
以上のように、本変形例の動画像符号化装置においても、第1実施形態の動画像符号化装置1000と同様に、複雑度取得部2により取得された入力動画像Dinの複雑度cmplxと、ノイズ判定部3によるノイズ判定結果(ノイズ判定結果値noisy、または、noisy_term)とに基づいて、生成された符号量調整信号ADJにより、量子化パラメータ値QP_tmpが必要に応じて調整され、量子化パラメータ値QPが決定される。これにより、本変形例の動画像符号化装置では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、量子化パラメータ値QPは、比較的大きな値に(複雑度cmplx=1の場合、分割領域QP_Lに含まれる値に、複雑度cmplx=0の場合、分割領域QP_Mに含まれる値に)設定される。その結果、本変形例の動画像符号化装置では、入力動画像がノイズの多い映像(S/N比が悪い映像)である場合、発生符号量を適切に抑制することができる。
【0298】
したがって、本変形例の動画像符号化装置においても、第1実施形態の動画像符号化装置1000と同様に、ノイズの多い映像(S/N比が悪い映像)に対しても、効率良く動画像圧縮処理を行い、適切にビットレート制御(符号量制御)を行うことができる。
【0299】
[他の実施形態]
上記実施形態(変形例を含む)において、「直交変換」は、DCT変換を例に説明したが、これに限定されることはなく、直交変換は、例えば、整数変換や、高速フーリエ変換(FFT)や、ウェーブレット変換等であってもよい。
【0300】
そして、採用する直交変換により、周波数領域において、周波数成分の出現する位置が異なるので、採用する直交変換におうじて、複雑度取得処理、および/または、ノイズ判定処理に用いる周波数変換データ(周波数成分データ)の処理対象領域(例えば、積算するための領域)等を変更すればよい。
【0301】
また、上記実施形態(変形例を含む)では、入力動画像のピクチャ構造がIPPPP...である場合を想定しているが、Bフレーム(Bピクチャ)を含むピクチャ構造であってもよい。この場合、符号化部の初段に、ピクチャ並べ替え部を設け、入力動画像のピクチャ(フレーム)を符号化順に並べ替えるようにすればよい。
【0302】
また、入力動画像が、R色成分信号、G1色成分信号、G2色成分信号、および、B色成分信号からなる動画像信号である場合、上記実施形態(変形例を含む)における、第1直交変換部1、複雑度取得部2、ノイズ判定部3、符号量調整部4の処理は、R色成分信号、G1色成分信号、G2色成分信号、および、B色成分信号のいずれか1つの成分信号に対して実行されるものであってもよいし、複数または全部の成分信号に対して実行されるものであってもよい。
【0303】
また、上記実施形態(変形例を含む)において、複雑度取得処理およびノイズ判定処理において、分割判定処理を実行する場合、1フレーム画像を9分割した分割画像領域を用いて処理する場合について説明したが、これに限定されることはなく、分割画像領域を規定するための分割数(1フレーム画像を分割する数)は、他の数であってもよい。
【0304】
また、上記実施形態(変形例を含む)において、符号量調整部4は、量子化パラメータ決定部62とは、別個に設けられている場合について説明したが、これに限定されることはなく、例えば、符号量調整部4を省略し、符号量調整部4の機能を、量子化パラメータ決定部62により実現するようにしてもよい。
【0305】
また、上記実施形態(変形例を含む)において、DCTブロックは、8×8(8画素×8画素の画像領域に相当)である場合について説明したが、これに限定されることはなく、DCTブロックのサイズは、他のサイズ(例えば、16×16、4×4)であってもよい。
【0306】
また、上記実施形態(変形例を含む)において、複雑度取得処理に用いる領域を、
図3に示す、低域領域AR_L、中域領域AR_M、高域領域AR_Hに設定した場合について説明したが、これに限定されることはなく、低域領域AR_L、中域領域AR_M、高域領域AR_Hの領域は、
図3に示す領域とは異なる領域として設定されるものであってもよい。
【0307】
また、上記実施形態(変形例を含む)において、ノイズ判定処理に用いる領域を、
図5に示す、低域領域AR_L1、高域領域AR_H1に設定した場合について説明したが、これに限定されることはなく、低域領域AR_L1、高域領域AR_H1の領域は、
図5に示す領域とは異なる領域として設定されるものであってもよい。例えば、現フレーム画像(処理対象画像)の輝度平均値により、低域領域AR_L1、および/または、高域領域AR_H1の領域の大きさが変化するようにしてもよい。
【0308】
また、上記実施形態(変形例を含む)において、ノイズ判定処理に用いる領域を、
図9〜
図11に示す、低域領域AR_L1、水平低域領域AR_Lh、垂直低域領域AR_Lv、高域領域AR_H1に設定した場合について説明したが、これに限定されることはなく、低域領域AR_L1、水平低域領域AR_Lh、垂直低域領域AR_Lv、高域領域AR_H1の領域は、
図9〜
図11に示す領域とは異なる領域として設定されるものであってもよい。例えば、現フレーム画像(処理対象画像)の輝度平均値により、低域領域AR_L1、水平低域領域AR_Lh、垂直低域領域AR_Lv、高域領域AR_H1の領域の大きさが変化するようにしてもよい。
【0309】
なお、上記実施形態(変形例を含む)において、低域成分積算値Sum_L、低域成分合計値L1(i)、低域成分積算値L1、水平低域成分合計値Lh(i)、垂直低域成分合計値Lv(i)の算出処理において、DC成分を除いて、積算処理を行う場合について説明したが、これに限定されることはなく、上記の値を算出する処理において、(DC成分で)正規化したDC成分を積算するようにしてもよい。
【0310】
また、上記実施形態(変形例を含む)において、分割画像領域を用いて処理を行う場合、
図4に示したように、現フレーム画像F1(処理対象フレーム画像F1)を、9つの分割画像領域R1〜R9とし、9つの分割画像領域R1〜R9は、それぞれ、M個のDCTブロックからなるものとして説明したが、これに限定されることはなく、各分割画像領域に含まれるDCTブロックの数は、異なるものであってもよい。また、分割画像領域の大きさ、形状等も異なるものであってもよい。
【0311】
また、上記実施形態および変形例の一部または全部を組み合わせるようにしてもよい。
【0312】
また、上記実施形態の動画像符号化装置の一部または全部は、集積回路(例えば、LSI、システムLSI等)として実現されるものであってもよい。
【0313】
上記実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0314】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る動画像符号化装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【0315】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【0316】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0317】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0318】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。