JPWO2009035149A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JPWO2009035149A1
JPWO2009035149A1 JP2009532268A JP2009532268A JPWO2009035149A1 JP WO2009035149 A1 JPWO2009035149 A1 JP WO2009035149A1 JP 2009532268 A JP2009532268 A JP 2009532268A JP 2009532268 A JP2009532268 A JP 2009532268A JP WO2009035149 A1 JPWO2009035149 A1 JP WO2009035149A1
Authority
JP
Japan
Prior art keywords
quantization
unit
value
quantization parameter
encoding
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.)
Granted
Application number
JP2009532268A
Other languages
English (en)
Other versions
JP5212373B2 (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 JP2009532268A priority Critical patent/JP5212373B2/ja
Publication of JPWO2009035149A1 publication Critical patent/JPWO2009035149A1/ja
Application granted granted Critical
Publication of JP5212373B2 publication Critical patent/JP5212373B2/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

符号化による画質低下を抑制する。本発明は、復号化の際に使用される可能性のある復号リスケーリングファクター(RFr)に対してスケール変動である変換行列(D)だけを乗算することにより、複数の除算ファクターであるリスケーリングファクター(RF)を算出し、DCT係数における要素を複数のリスケーリングファクター(RF)によって除算したときの剰余(r)に基づく評価値(Y)の総和(ΣY)を、検出単位毎に算出する。さらに本発明は、複数のリスケーリングファクター(RF)に対する評価値(Y)の総和(ΣY)との関係を比較し、評価値(Y)の総和(ΣY)が極小値をとるリスケーリングファクター(RF)に基づいて、入力画像データが前回符号化されたときに使用された量子化因子を検出するようにした。

Description

本発明は、例えば前回の符号化で使われた量子化行列や量子化パラメータ等を所定単位で検出する符号化装置に関する。
従来、テレビジョン放送局間で映像データの伝送を行う際、或いは複数のビデオテープレコーダ(VTR装置)を用いて映像データの複写を行う際には、MPEG(Moving picture experts group)方式で符号化した映像データを復号化し、再度、符号化することから、エンコーダとデコーダを直列にタンデム接続する必要がある。
そして、このようなタンデム接続時の符号化と復号化の繰り返しによる映像の品質劣化を低減する手法として所謂「バックサーチ」という手法が採用されている。
ここで、「バックサーチ」とは、以前の符号化で使用された量子化ステップ、或いは、その倍数関係にある量子化ステップを用いると、離散余弦変換(DCT;discrete cosine transfer)係数の剰余の総和が極小となるという性質を利用して、最小値に係る量子化ステップを最適な量子化ステップとして求める手法である。
この「バックサーチ」を用いた技術については、例えば特許文献1では、前回の符号化における量子化ステップをバックサーチ方式により再生し、前回と同じ量子化ステップおよびGOP(Group of pictures)位相で再び入力映像データを符号化し、エンコーダとデコーダをタンデム接続して映像データの符号化及び復号化を繰り返した場合の映像の品質の劣化を防止する映像データ圧縮装置が開示されている。
一方、今日では、MPEG方式に代えて、AVC(Advanced Video Coding)規格が、携帯電話のテレビ電話といった低速・低画質の用途からハイビジョンテレビ放送等の大容量・高画質の動画まで幅広い用途に用いられてきているが、動き補償、フレーム間予測、DCT、エントロピー符号化などを組み合わせたアルゴリズムを利用しており、MPEGに比べて同じクオリティならば、概ね半分程度のデータ量で済むよう改良されている。
そして、特にAVC規格におけるイントラ(Intra)画像(以下、「AVC Intra」と称する)では、量子化の為に目標とするビットレートに合わせて最適な量子化パラメータQPの値を決定するが、そのときの量子化パラメータQPの値は前回の符号化で使用した値であるとは限らない。仮に、前回の符号化と異なる量子化パラメータQPの値が使われると、再び量子化の際に丸めによる歪が生じてしまい、ダビングを繰り返す度に画質の低下を引き起こすことになる。
特開平10−174098号公報。
しかしながら、AVC Intraでは、前述したダビングによる問題に対する従来のMPEGに使われていた検出技術をそのまま適用すると、符号化方式の差異により、バックサーチの検出の精度が低下してしまい、ダビング時に画質の低下を引き起こしてしまうという問題があった。
かかる課題を解決するため本発明の画像処理装置においては、画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換部と、復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対してスケール変動を乗算することにより、複数の除算ファクターを算出する除算因子算出部と、変換係数における要素を複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出部と、複数の除算ファクターに対する評価値の総和との関係を比較し、評価値の総和が極小値をとる除算ファクターに基づいて、画像データが前回符号化されたときに使用された量子化因子を検出する量子化因子検出部とを設けるようにした。
これにより画像処理装置は、DCT処理によるスケール変動を除算ファクターによって相殺することができるため、複数のスケールで剰余がスケール変動してしまうことを防止して剰余に基づく各評価値を対等に比較することができ、バックサーチの検出精度を向上することができる。
また本発明の画像処理方法においては、画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換ステップと、復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対してスケール変動を乗算することにより、複数の除算ファクターを算出する除算因子算出ステップと、変換係数における要素を複数の除算ファクターによって除算したときの剰余に基づく評価値の総相を、検出単位毎に算出する総和算出ステップと、複数の除算ファクターに対する評価値の総和との関係を比較し、評価値の総和が極小値をとる除算ファクターに基づいて、画像データが前回符号化されたときに使用された量子化因子を検出する量子化因子検出ステップとを設けるようにした。
これにより画像処理装置は、DCT処理によるスケール変動を除算ファクターによって相殺することができるため、複数のスケールで剰余がスケール変動してしまうことを防止して剰余に基づく各評価値を対等に比較することができ、バックサーチの検出精度を向上することができる。
さらに本発明の画像処理装置においては、画像データに対し直交変換を実行して変換係数を生成する直交変換部と、変換係数を構成する係数要素の値ごとの発生回数を要素発生回数としてカウントする要素カウント部と、要素発生回数の分散状態に基づいて、画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する原画判定部とを設けるようにした。
これにより画像処理装置では、バックサーチ処理の前に画像データが原画であるか非原画であるかを検出することができ、原画に対するバックサーチ処理の誤適用を防止し得る。
整数精度DCT処理として8×8DCT処理を実行する際、水平方向及び垂直方向による8×8DCT演算処理が終了する前に、演算処理の対象となる画像データ又は変換行列の各要素を水平方向及び垂直方向に対応させてそれぞれ3bitずつ桁上げする桁上げ部と、
水平方向及び垂直方向による8×8DCT演算処理が終了した後に、DCT係数に基づく係数データを6bitずつ桁下げする桁下げ部とを設けるようにした。
これにより画像処理装置では、8×8DCT処理における演算丸め回数を低減することができ、演算精度を向上させることができる。
本発明によれば、DCT処理によるスケール変動を除算ファクターによって相殺することができるため、複数のスケールで剰余がスケール変動してしまうことを防止して剰余に基づく各評価値を対等に比較することができ、バックサーチの検出精度を向上することができ、かくして符号化による画質低下を抑制し得る画像処理装置及び画像処理方法を実現できる。
また本発明によれば、バックサーチ処理の前に画像データが原画であるか非原画であるかを検出することができ、原画に対するバックサーチ処理の誤適用を防止し得、かくして符号化による画質低下を抑制し得る画像処理装置を実現できる。
さらに本発明によれば、8×8DCT処理における演算丸め回数を低減することができ、演算精度を向上させることができ、かくして符号化による画質低下を抑制し得る画像処理装置を実現できる。
図1は、本発明の第1及び第2の実施の形態に係る画像処理装置の概念図。
図2は、AVC規格における変換と量子化の説明に供する略線図である。
図3は、一度も符号化されていない画像を入力画像としたときの、量子化パラメータQPと剰余の総和Σrとの関係を示す図。
図4は、符号化と復号が行われた入力画像について、量子化パラメータQPと剰余の総和Σrとの関係を示す図。
図5は、リスケーリングファクターRFによる規格化後の量子化パラメータQPと剰余の
総和Σrとの関係を示す図。
図6は、リスケーリングファクターRFによる規格化、所定領域の補正後の量子化パラメータQPと剰余の総和Σrとの関係を示す図。
図7は、本発明の第1の実施の形態に係る符号化装置の構成図。
図8は、(a)はQmatrix検出部の構成図、(b)はQP検出部の構成図。
図9は、マクロブロックとイントラ符号化単位との関係を示す略線図。
図10は、本発明の第1の実施の形態に係る符号化装置のQmatrix検出部によるスライス単位での量子化行列検出処理について説明するフローチャート。
図11は、本発明の第1の実施の形態に係る符号化装置のQP検出部によるマクロブロック単位での量子化パラメータ検出処理について説明するフローチャート。
図12は、本発明の第2の実施の形態に係る符号化装置による画面内予測モード検出処理について説明するフローチャート。
図13は、QPとDCT係数の剰余の関係を示す図。
図14は、本発明の第2の実施の形態に係る符号化装置の構成図。
図15は、本発明の第2の実施の形態に係る符号化装置のバックサーチによる原画判定処理について説明するフローチャート。
図16は、本発明の第3の実施の形態に係る符号化装置の構成図。
図17は、本発明の第3の実施の形態に係る符号化装置による符号化に係る一連の処理を更に詳細に説明するフローチャート。
図18は、符号量予測処理(基本)の詳細を説明するフローチャート。
図19は、符号量予測処理(アクティビティ対応)の詳細を説明するフローチャート。
図20は、符号量予測処理(量子化行列対応)の詳細を説明するフローチャート。
図21は、発生符号量が目標符号量より少ない、且つ量子化パラメータQPが最小値ではないときの符号量補正処理を説明するフローチャート。
図22は、原画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示す図。
図23は、前回QP=20で符号化した画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示す図。
図24は、量子化係数による原画判定処理について説明するフローチャート。
図25は、判定処理を説明するフローチャート。
図26は、入力画像切替処理について詳細に説明するフローチャート。
図27は、本発明の他の実施の形態に係る符号化装置の構成図。
図28は、本発明の他の実施の形態に係る符号化装置による符号化に係る一連の処理を更に詳細に説明するフローチャート。
図29は、本発明の第5の実施の形態に係る符号化装置の構成図。
図30は、本発明の第6の実施の形態に係るDCT部及び量子化部の詳細な構成図。
図31は、本発明の復号化装置の構成図。
符号の説明
2……第1の符号化部、3……バックサーチ部、4……第2の符号化部、5……予測モード検出部、6……Qmatrix検出部、7……QP検出部、20……プレエンコーダ、21……画面内予測モード判定部、22……整数精度DCT部、23……量子化部、24……エントロピー計算部、30……バックサーチ部、31……Qmatrix検出部、32……QP検出部、33……画面内予測モード検出部、40……符号量制御部、41……Qmatrix/QP決定部、45……画面内予測モード決定部、50……パラメータエンコーダ、51……画面内予測処理部、52……整数精度DCT部、53……量子化部、54……エントロピー符号化部、100……第1のプレエンコーダ、109……符号量制御部、200……第2のプレエンコーダ、300……パラメータエンコーダ
以下、図面を参照して、本発明を実施するための最良の形態(以下、単に実施の形態と称する)について詳細に説明する。なお説明は以下の順序で行う。
(1)本発明の概略
(2)第1の実施の形態(AVC規格によるバックサーチ)
(3)第2の実施の形態(バックサーチにおける原画/非原画の判定)
(4)第3の実施の形態(バックサーチ前におけるQPの予備検出)
(5)第4の実施の形態(量子化行列の設定)
(6)第5の実施の形態(8×8整数DCT時の演算丸めの抑制)
(1)本発明の概略
(1−1)前提
一般に、AVC(Advanced Video Coding)規格による符号化は非可逆変換であるため符号化と復号化を行うと元のベースバンド(Baseband)画像に対して歪が生じる。従って、例えばタンデム接続によるダビング等により符号化と復号化を繰り返す度に該歪により画質が低下していく。
この点に鑑みて、本発明の第1の実施の形態では、AVC規格の画面内符号化において、一度符号化、復号化を通した画像を再度符号化する際に、前回の符号化で使われた以下の3つのパラメータを再利用することで、画像の歪を符号器と復号器の演算誤差のみに抑えることを特徴の一つとしている。
(1)画面内予測モード
(2)量子化行列(Qmatrix)
(3)量子化パラメータ(QP)
これらのうち、第1の実施の形態における量子化行列検出処理では、特に(2)に着目し、量子化パラメータ検出処理では(3)に着目し、画面内予測モード検出処理では(1)に着目する。
すなわちAVC規格におけるイントラ(Intra)画像、即ちAVC Intraに対しダビングを行う際に、前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを検出して、同じQmatrixとQPとを利用することで量子化丸めを防ぎ、ダビング特性の向上を実現する。
ここで、図1には本発明の第1の実施の形態に係る符号化装置及び方法における概念図を示し説明する。
同図に示されるように、この画像処理装置1は第1の符号化部2、第2の符号化部3、バックサーチ部3を備え、更にバックサーチ部3は予測モード検出部5、量子化行列(Qmatrix)検出部6、量子化パラメータ(QP)検出部7を有している。
このような構成において、第1の符号化部2は、入力された画像情報に対して第1の符号化を行う。バックサーチ部3は、種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクター(RF;Rescaling factor)で第1の符号化の過程で得られる整数精度DCT係数を除算したときに得られる剰余rの大きさを評価することで、第1の符号化において使われた量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを検出する。そして、第2の符号化部2は、第1の符号化においてバックサーチ部3により検出された量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを用いて第2の符号化を行う。
即ち、より詳細には、バックサーチ部3では、Qmatrix検出部6は、第1の符号化の過程で得られる整数精度DCT係数に基づいて、第1の符号化において、上記整数精度DCT係数を種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクターRFで除算した剰余を用いて、スライス毎に量子化行列Qmatrixを検出する。
QP検出部7は、第1の符号化の過程で得られる整数精度DCT係数に基づいて、整数精度DCT係数を種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクターRFで除算した剰余を用いて、量子化パラメータQPをマクロブロック毎に検出する。
さらに、予測モード検出部5は、前回の符号化の際に使用された画面内予測モードを検出する。この検出された予測モードは第2の符号化部2において採用される。
先ず、本発明の第1の実施の形態に係る画像処理装置1に対する理解を深めるべく、本実施の形態が着目した特徴的な性質・原理について詳細に説明する。
図1に示すように、AVC規格では、Intra画像に対し、9つの画面内予測モードから選択された一の画面内予測モードを用いて入力画像から差分画像データを生成する。なお以下、Intra画像に対するAVC規格をAVC Intraと称する。次いでAVC Intraでは、差分画像データに対してDCT処理を実行し、得られたDCT係数を量子化行列Qmatrixと量子化パラメータQPの組み合わせにより量子化して量子化レベル(量子化係数)でなる量子化データを生成する。この量子化データは、さらに所定の符号化方式により符号化され、符号化ストリームとなる。この符号化ストリームは、符号化に使用された画面内予測モード、量子化行列Qmatrix及び量子化パラメータQPが設定されることになる。
AVC規格では、復号化の際、設定された画面内予測モード、量子化行列Qmatrix及び量子化パラメータQPを用いて量子化データを復号するが、符号化の際に丸められた剰余部分を復元することはできない。従って、AVC規格では、この量子化の剰余分だけ画質を低下させることになる。以下、この画質の低下を量子化歪と呼ぶ。
例えば業務用の放送装置などでは、映像データに対し、複数回に亘って符号化及び復号化を繰り返すような場合が想定される。このとき、毎回異なる画面内予測モード、量子化行列Qmatrix及び量子化パラメータQPを用いると、符号化の度に量子化歪が発生してしまい、符号化の度に映像データの画質を低下させてしまう。
AVC Intraでは、一度符号化、復号化を通した画像を再度符号化する際に、前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを使うと、前回の符号化で量子化歪が既に落とされているので、それ以上量子化歪が生じにくいという性質がある。
このため本発明では、前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP又は画面内予測モードを検出し、これらを用いて符号化を実行することにより、映像データの画質低下を抑制する。
このように前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP又は画面内予測モードを高い確率で検出することを、以下の説明においては「バックサーチ」と称する。
ここで上述した特許文献1に記載されているように、バックサーチは、MPEG(Moving picture experts group)−2において、DCT係数を各量子化スケールQによって除算すると共に、剰余rの最も小さい量子化スケールQを前回符号化したときに使用した量子化スケールQとして検出することができる。
しかしながらAVC規格では、MPEG−2とは以下の点において相違しており、MPEG−2の手法をそのまま適用すると、検出の精度が低下してしまう。
・整数精度演算の導入により符号化と復号化におけるDCT係数が等価に扱えない。
・復号時の演算誤差が大きく、検出精度に大きく影響する。
・剰余関数が量子化パラメータQPに関して周期をもつため、同じ値の最小値が複数存在する。
そこで、本発明は、AVCによる符号化を採用し、前回の符号化で使われた量子化行列Qmatrixや量子化パラメータQP等を所定単位で高い確率で検出し、それらを再利用することでダビング時の量子化による丸め誤差を低減し、ダビング特性を向上することを課題とする。
(1−2)バックサーチの原理
(1−2−1)量子化パラメータ及び量子化行列の検出
以下、該バックサーチの具体的方法につき言及する。
AVC Intraでは、復号化の際に、量子化レベルZに量子化行列Qmatrixと量子化パラメータQPの関数であるリスケーリングファクターRFが乗算されて整数精度DCT係数Wを6bit左シフトしたものが復号される。
(W<<6)=ZRF ・・・(1)
RFr={V Qmatrix2floor(QP/6)}>>4 ・・・(2)
V:AVCの規格で定められたMultiplication factor
このように、復号の過程で、量子化レベルZにRFを乗算して整数精度DCT係数Wを得ているので、次の符号化において整数制度DCT係数WはRFで割り切れる。つまり、次の符号化の際にシフトされた整数精度DCT係数(W<<6)を同じRFで割った場合に、その剰余rは0になると考えられる。このような性質に着目から、種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクターRFを用いてシフトされた整数精度DCT係数(W<<6)を割った剰余rの大きさを評価することで、前回の符号化で使われた量子化行列Qmatrixと量子化パラメータQPを検出することができる。
以上に加えて、第1の実施の形態に係る画像処理装置1では、検出精度を向上させる為に、MPEGでは考慮されなかった、AVC Intra特有の性質に起因する以下の(i)〜(vi)の点を考慮する。以下、各点につき詳述する。
(i)符号化と復号化におけるRFの変換
AVC Intraでは、DCT部を整数精度部と非整数精度部に分け、整数精度部を整数精度DCTと称し、非整数精度部と量子化を合わせて量子化と称している。AVC Intraでは、符号化と復号化で整数精度部と非整数精度部の切り分け位置が異なるため、符号化に用いる整数精度DCT(以下、単に「DCT」と表記する)と復号に用いる整数精度逆DCT(以下、単に「逆DCT」と表記する)は逆変換ではない。ゆえに、符号化で使われるDCT係数Wと復号で使われる逆DCT係数W(以下、「W’」と表記する)は等しくならない。
即ち、DCT係数Wと逆DCT係数W’は次式で示される。
Figure 2009035149
このDCT、逆DCTの式より、DCT係数Wと逆DCT係数W’の間には次式が成立する。
Figure 2009035149
このようにDCT係数W’の位置(i,j)により16、20、25を掛けたものがWとなるが、この変換行列を「D」とし、(6)式に定義する。即ち、バックサーチ処理における符号化で用いるRFは復号化で用いるRF(以下、「RFr」と表記する)に、DCT係数Wと逆DCT係数W’の変換行列Dを乗じたものとする。
Figure 2009035149
すなわちAVC Intraでは、図2に示すように、差分画像データに対して符号化及び復号化によりDCT処理を施した後に逆DCT処理を行うと、復号差分画像データの値が変換行列Dだけスケールアップされることになる。
またAVC Intraでは、量子化の際に、次式で表されるスケーリングERが発生する。なお(7)式を実際の数値として表すと、(8)式のように表すことができる。すなわちAVC Intraでは、DCT係数に対して符号化及び復号化により量子化処理及び逆量子化処理を行うと、逆DCT係数の要素の値が量子化誤差ERだけスケールアップされることになる。
ER=MF×V/215 ・・・(7)
Figure 2009035149
このためAVC Intraでは、復号化の際、復号差分画像データを「64」で除算することにより、復号差分画像データの値を差分画像データと同レベルにするようなされている。
すなわちAVC Intraでは、差分画像データに対してDCT処理を施した時点で、変換行列Dが乗算されてスケールアップされているものとみなすことができる。これに伴い、剰余rの値もスケールアップされることになるが、(8)式に示したように、その値(すなわち係数要素)は行列の位置によって異なっている。
従って仮にDCT係数を復号リスケーリングファクターRFによって除算すると、DCT係数の位置に応じて剰余rが大きくなったり、小さくなったりしてしまうことになり、剰余rを単純に比較できなくなってしまう。
従って画像処理装置1では、次式のように復号時のリスケーリングファクター(以下、これを復号リスケーリングファクターRFrと呼ぶ)に対して変換行列Dを乗算することにより、バックサーチ処理の際に除算する値として使用されるリスケーリングファクターRFを算出する。
Figure 2009035149
即ち、一度、符号化を介した入力画像(差分画像データ)のDCT係数Wは(5)式によるDCT係数Wと逆DCT係数W’の変換行列Dを考慮すると、{V Qmatrix D 2floor(QP/6)}で割り切れ、剰余rが0となると考えられる。
これにより画像処理装置1では、剰余rからDCT処理に伴うスケールアップの影響を排除することができ、剰余rを同一スケールで比較し得るようになされている。
このように画像処理装置1では、復号リスケーリングファクターRFrに対して変換行列Dの値を乗算してリスケーリングファクターRFを算出する。これにより画像処理装置1では、リスケーリングファクターRFによって差分画像データを除算することにより、DCT処理によって一律にスケールアップされる分をも同時に除算することができるため、スケールアップによる剰余rの変動を低減し、バックサーチの検出の精度を向上させ得るようになされている。
(ii)復号時の誤差
AVC Intraでは、周辺画素からの予測画像との差分となる差分画像データを符号化する。復号時に量子化レベルZに復号リスケーリングファクターRFrを乗じるが、復号時の演算丸めを防ぐため、復号リスケーリングファクターRFrは規格上予め6bit桁上げされている(復号の際に逆DCT係数W’を6bit左シフトしたものが得られるのはそのためである)。
従って、逆量子化、逆DCT処理は、6bit桁上げされた状態で演算され、予測画像を6bit桁上げしたものと足し合わせた後に、その相を6bit桁下げしてベースバンド画像を得る。この6bitの桁下げにより、下位6bitに入っていたデータが四捨五入される為、演算誤差Eが発生し、次回の符号化で生じたシフトされたDCT係数(W<<6)はリスケーリングファクターRFで割り切れないことがある。
そこで本発明は、剰余rが0になる量子化パラメータQPではなく、剰余rが最小値になる量子化パラメータQPを検出する。
ここでこの復号時の演算誤差Eは負の値であることもあるので、実際の剰余rの値と、剰余rをリスケーリングファクターRFから引いた値を比較し、小さい方を評価値Yとする。
例として、RF=3600、DCT係数W=7200の場合を考える。
演算誤差Eがない場合の剰余rは、次式のようになる
Figure 2009035149
実際には演算誤差Eは見積もれないが、E=−2として単純に剰余rを評価値Yとすると、次式のようになり、最小値として検出され難くなる。
Y=r=(W+E)%RF=3598 ・・・(11)
ここで、上記のように実際の剰余rの値と、剰余rをリスケーリングファクターRFから引いた値を比較し、小さい方を評価値Yとすると、次式が得られ、評価値Yは演算誤差Eの絶対値となる。
Y=min[r,(RF−r)]=min[3598,2]=2 ・・・(12)
従って本発明の画像処理装置1では、(12)式に従って評価値Yを算出すると共に、評価値Yが最小値となる量子化パラメータQPを検出するようにした。これにより画像処理装置1は、適切な評価値Yを用いて適切に量子化パラメータQPを検出することができる。
(iii)剰余曲線の性質と量子化パラメータQPの周期について
一度も符号化されていない画像を入力画像として、6bitシフトされたDCT係数(W<<6)を種々の量子化パラメータQPによるリスケーリングファクターRFで割って剰余rを算出し、横軸に量子化パラメータQP、縦軸に剰余の総和(Σr)をとると、図3に示されるような右上がりの曲線となる。
同様に、符号化と復号化が行われた入力画像について6bitシフトされたDCT係数(W<<6)を種々の量子化パラメータQPによるリスケーリングファクターRFで割って剰余rを算出し、横軸に量子化パラメータ、縦軸に剰余の総和(Σr)をとると、図4に示されるようになる。この場合、剰余rの総和(Σr)の極小値は生じるが、やはり右上がりの傾向があり、符号化と復号化を既に行っているか否かによらず量子化パラメータQPが小さいほど剰余rの総和(Σr)も小さくなることが分かる。
従って、種々の量子化パラメータQPによる剰余rの総和(Σr)の大小関係を単純に評価すると、前回の符号化で使われた量子化パラメータQPよりも小さい量子化パラメータQPが最小値として誤検出されることがある。この問題を解決するために、剰余rの値をさらにリスケーリングファクターRFで規格化したものを評価値Yとして用いる。
このときの評価値Yの総和(ΣY)と量子化パラメータQPとの関係を図5に示している。図5から、前回の符号化で使用された量子化パラメータQPについての評価値Yの総和(ΣY)が、6nずれた量子化パラメータQPについての評価値Yの総和(ΣY)よりも小さくなっていることがわかる。
また、図3、図4に示されるように、(|W|<<7)≦RFとなる量子化パラメータQPで評価値Yの値(剰余rの絶対値)がフラットになる領域が発生する傾向があり、この領域はリスケーリングファクターRFによる規格化を行うと単調減少して(図5参照)、誤検出の原因となる。
この際、同じリスケーリングファクターRFで割った場合でも統計的にはDCT係数Wが大きいほど剰余rも大きくなるため、剰余rをDCT係数の絶対値|W|でスケーリングした後、リスケーリングファクターRFで規格化する。これにより、大きな剰余を採り得るDCT係数Wが小さな剰余をもった場合は偶然ではないと考え、重み付けできる(通常、低周波成分ほど大きなDCT係数Wを持つため、低周波成分が重み付けされる)。
図6に、剰余rをDCT係数の絶対値|W|でスケーリングした後、リスケーリングファクターRFで規格化した評価値Yの総和(ΣY)と、量子化パラメータQPとの関係を示している。図から、前回の符号化で使用された量子化パラメータQPにおける評価値Yの総和(ΣY)と6nずれた量子化パラメータQPについての評価値Yの総和(ΣY)は図5と比較して殆ど変化していないことがわかる。
さらに画像処理装置1では、評価値Yの総和(ΣY)が傾斜を有する(|W|<<7)>RFとなる領域のみでリスケーリングファクターRFによる規格化を行い、それ以外の領域ではDCT係数|W|の値を評価値Yとして用いることもできる。
これにより、画像処理装置1では、図6に示したように、リスケーリングファクターRFによる規格化に起因して、(|W|<<7)≦RFとなる領域において評価値Yの総和(ΣY)が最小となり、誤った量子化パラメータQPが前回使用された量子化パラメータQPとして検出されてしまうことを確実に防止し得るようになされている。
(iv)量子化パラメータQPの周期について
AVC Intraでは、規格上、量子化パラメータQPが±6変化すると、リスケーリングファクターRFが±2倍になる性質を有している。従って、ある量子化パラメータQPにおいて剰余rの総和(Σr)が極小値をもった場合、QP±6n(n=1、2…)でも剰余rの総和(Σr)が極小値を持つことがある(図4参照)。
このため単純に上記の評価値Yを評価すると、6nずれた量子化パラメータQPが検出されることがある。従って画像処理装置1では、剰余rの総和(Σr)が最小となる量子化パラメータQPより6n大きな量子化パラメータQPに極小値がある場合はその量子化パラメータQPを採用する。
具体的に、画像処理装置1は、剰余rの総和(Σr)が小さい方から順に5個程度の量子化パラメータQPの値を配列に格納しておき、剰余rの総和(Σr)が最小となるQPと2番目に剰余rの総和(Σr)が小さいQPとを比較してその差が6nであれば、QPの大きな方を採用する。更に、画像処理装置1は、採用した量子化パラメータQPと3番目に剰余rの総和(Σr)が小さい量子化パラメータQPとを比較し、両者の差が6nであれば、また大きい方の量子化パラメータQPを採用し、採用された量子化パラメータQPの入れ替えを行う。
このように画像処理装置1は、剰余rの総和(Σr)の極小値を複数検出した場合には、剰余が最小でなくても6n大きな量子化パラメータQPを優先して採用する。これにより画像処理装置1は、6nずれた量子化パラメータQPが前回の符号化に使用された量子化パラメータQPとして誤検出されることを抑制し得るようになされている。
さらに画像処理装置1は、当該検出された複数の剰余rの総和(Σr)が6n周期でなるか否かを確認し偶発的に存在する極小値が前回の符号化に使用された量子化パラメータQPとして誤検出されることを抑制し得るようになされている。
(v)演算量の削減方法
本発明の画像処理装置1では、種々の量子化パラメータQPに関して前述したようにリスケーリングファクターRFを計算し、剰余rから算出される評価値Yを用いて前回の符号化で使われた量子化パラメータQPを検出する。従って、採り得る量子化パラメータQPの数が多い程、演算、評価も処理量が多くなる。この問題を避けるために、前回符号化に使われた量子化パラメータQPの大体の値が既知の場合は、その周辺の量子化パラメータQPのみで評価すれば十分とし、演算量を削減している。
なおこの量子化パラメータQPは、例えば第3の実施の形態における量子化係数による原画判定処理において算出することができる。また入力画像データのアクティビティなどから推測することもできる。
(vi)その他、以下の条件も考慮する。
画面内予測モードが前回の符号化の時と異なっていても、上記(iv)の6n入れ替えを行うと、検出率は維持できる。また、量子化パラメータQPの大体の値が既知である場合にも同様である。これは、予測モードを前回の符号化時と異なるモードに変えたときに生じる問題に着目したものであるが、予測モードが前回の符号化時と異なっていても、この実施の形態では対応可能とする。
量子化行列Qmatrixは予めいくつかのパターンが定義されているものとする(例えばID番号などで識別できるものとする)。
すなわち画像処理装置1では、量子化行列Qmatrixが変化することによりリスケーリングファクターRFも変化するため、量子化パラメータQPに加えて量子化行列Qmatrixをも検出する必要がある。
画像処理装置1では、マクロブロック単位で量子化行列Qmatrixと量子化パラメータQPの組み合わせを変えて、各量子化行列Qmatrixと量子化パラメータQPごとにリスケーリングファクターRFを計算する。尚、先に図4で前述したように、剰余rの最小値は、量子化パラメータQPに関して6nの周期を有しており、量子化パラメータQPが6nずれていても、量子化行列Qmatrixさえ検出できれば良い。このため画像処理装置1では、前回の符号化で使われた量子化パラメータQPの大体の値が分かっていれば、該QPの値を含んだ連続した6個の量子化パラメータQPで評価すれば十分であるものとする。
以上を考慮して、本発明の画像処理装置1では、上記特徴的な視点をふまえて、先ず前回使用した量子化行列Qmatrixを検出する量子化行列検出処理を実行した後、該量子化行列Qmatrixを用いて量子化パラメータQPを検出する量子化パラメータ検出処理を実行する。
(1−2−2)画面内予測モードの検出
AVCのイントラ(画面内符号化)フレームでは、ダビングにおいて前回の符号化で使用された画面内予測モードを再利用することは画質低下を防ぐために有効な手段である。そこで、画面内予測モード検出処理では、入力画像データのみを利用し、その剰余rを用いて算術的に前回の符号化で使われた画面内予測モードを検出することを特徴とする。
量子化行列検出処理及び量子化パラメータ検出処理において、前述したように、AVC Intraでは、復号の際に、量子化レベル2に量子化行列Qmatrixと量子化パラメータQPの関数であるリスケーリングファクターRFが乗算されてDCT係数Wを6bit左シフトしたものが復号される。画面内予測モードが変わった場合はDCT係数の分布が変わるので、剰余rが0である確率は低くなる。
すなわち、図9に示すように、上述した量子化行列検出処理及び量子化パラメータ検出処理はマクロブロックMBごと(16×16画素)単位で実行される。これに対して画面予測は、例えば4×4画素のサブマクロブロックによるイントラ符号化単位IAで実行される。すなわち、マクロブロックMBには4×4=16のイントラ符号化単位IAが含まれることになる。
画像処理装置1では、予め符号量が最小となる画面内予測モードを検出すると共に、当該検出された画面内予測モードにおいて上述した量子化行列検出処理及び量子化パラメータ検出処理を実行する。このとき、検出された画面内予測モードが前回符号化された画面内予測モードとは限らないものの、発生符号量が最小となる画面内予測モードを用いているため、16のイントラ符号化単位IAのうち、多数は前回符号化された画面内予測モードであることが想定される。
この場合、画像処理装置1は、上述したようにマクロブロックごとに剰余rの総和(Σr)を用いて極小値を検出する。このため画像処理装置1は、16のイントラ符号化単位IAにおいて、前回使用したものとは異なる画面内予測モードが混ざっていたとしても、多数の前回符号化された画面内予測モードに基づいて、量子化行列Qmatrix及び量子化パラメータQPを適切に検出することができる。
従って画像処理装置1は、量子化行列Qmatrix及び量子化パラメータQPを検出した後に、当該量子化行列Qmatrix及び量子化パラメータQPを用いて、イントラ符号化単位IAごとに画面内予測モードを変えて剰余rの総和(Σr)を用いて極小値を検出する。これにより画像処理装置1は、マクロブロックMBにおける全てのイントラ符号化単位IAについて、前回符号化された画面内予測モードを検出することが可能となる。
すなわち画面内予測モード検出処理では、量子化行列検出処理及び量子化パラメータ検出処理で前述した考え方等に基づき前回の符号化で使われた量子化行列と量子化パラメータが既知の場合、9個の画面内予測モードのそれぞれのDCT係数を6ビットシフトした(W<<6)をリスケーリングファクターRFで割っていくことにより、剰余rが最小となる画面内予測モードを検出する。
以上に加えて、画像処理装置1では、検出精度を向上させる為に、MPEGでは考慮されなかった、AVC Intra特有の性質に起因する以下の点を考慮する。即ち、この画面内予測モード検出処理おいては、量子化行列検出処理及び量子化パラメータ検出処理で前述した(i)、(ii)に加えて、以下の(vii)を考慮する。
(vii)DCT係数の分布
画面内予測モードが異なると、差分の値も変わり、結果としてDCT係数の分布が異なる。したがって、一般的にはサブマクロブロック内の剰余rの総和を0でないDCT係数の個数で除算し、1サンプルあたりの剰余で比較するのが公平であると考えられる。
しかしながら、実際には、前回の符号化で使われた予測モードが選ばれると、予測が高
い精度で当たるために、0でないDCT係数の個数が少なくなり、前回の予測と方向的にずれたモードであるほど、0でないDCT係数の個数も増加する傾向にある。
従って、画面内予測モード検出処理では、剰余rの総和に対し、0でないDCT係数の個数で除算せず、0でないDCT係数の個数を乗算した。これにより、前回の予測と方向的にずれたモードの剰余rの総和に数値的なペナルティを与えることができると考えられる。
剰余rの総和に0でないDCT係数の個数を乗算したものを評価値Yとし、各予測モード間で、この評価値Yを比較して、評価値Yが最小の予測モードを前回の符号化で使われた予測モードと考える。
本発明の画像処理装置1における予測モード検出部5では、上記特徴的な視点(vii)をふまえて、最適な予測モードを決定する。
(2)第1の実施の形態
(2−1)符号化装置の構成
以下、図7には本発明の第1の実施の形態に係る符号化装置10の構成を示し説明する。なお符号化装置10は、図1における画像処理装置1に対応するものである。またバックサーチ部30はバックサーチ部3に、パラメータエンコーダ50は第2の符号化部4に、予測モード検出部33は予測モード検出部5に、Qmatrix検出部31はQmatrix検出部6に、QP検出部32はQP検出部7にそれぞれ対応するものである。
図7に示されるように、符号化装置10は、1パス(pass)目のプレエンコーダ20とバックサーチ部30、2パス(pass)目のパラメータエンコーダ50、符号量制御部40、Qmatrix/QP決定部41、画面内予測モード決定部45を備えている。より詳細には、1パス目のプレエンコーダ20は、更に画面内予測モード判定部21、整数精度DCT部22、量子化部23、エントロピー計算部24からなる。バックサーチ部30は、更にQmatrix検出部31、QP検出部32、画面内予測モード検出部33からなる。そして、2パス目のパラメータエンコーダ50は、画面内予測処理部51、整数精度DCT部52、量子化部53、エントロピー符号化部54からなる。尚、ここでは、2パス符号化を採用することを想定しているが、それ以上のマルチパス(multi−pass)符号化であっても基本的な考え方は同じである。
ここで、Qmatrix検出部31の詳細な構成例を図8(a)に示している。またQP検出部32の詳細な構成例を図8(b)に示している。
図8(a)に示すように、Qmatrix検出部31は、剰余計算部31a、評価値判定部31b、Qmatrix判定部31cからなる。そして、図8(b)に示すように、QP検出部32は、剰余計算部32a、評価値判定部32b、QP判定部32cからなる。
このような構成において、入力画像は1パス目のプレエンコーダ20に入力される。
より詳細には、入力画像は画面内予測モード判定部21に入力される。この画面内予測モード判定部21は、9つの画面内予測モードから最適な画面内予測モードを決定すると共に、入力画像が周辺画素を用いた予測画像からの差分画像データを生成し、整数精度DCT部22に入力する。
整数精度DCT部22は、離散余弦変換による直行変換により差分画像データからDCT係数Wを生成し、量子化部23及びバックサーチ部3に供給する。
量子化部23ではDCT係数Wが入力されると、当該DCT係数を量子化し、量子化データを生成する。この量子化により量子化部23より出力された量子化レベルZは、エントロピー計算部24に送られる。
エントロピー計算部24は、入力された量子化レベルZをバイナライズ、算術符号化して符号化ストリームを生成し、符号量制御部40に供給する。符号量制御部40は、当該符号化ストリームの発生符号量に基づいてパラメータエンコーダ50に対する符号量制御を実行する場合の量子化行列Qmatrix及び量子化パラメータQPを見積り、これをQmatrix/QP決定部41に送出する。
一方、スライス単位で整数精度DCT部22よりバックサーチ部30に送られたDCT係数Wは、Qmatrix検出部31に入力される。Qmatrix検出部31は、剰余計算部31aによってDCT係数Wを種々の量子化行列QmatrixによるリスケーリングファクターRFによって除算し、評価値判定部31bに供給する。評価値判定部31bは、剰余rを剰余rを(iii)で前述した考え方に従って評価値Yに変換し、Qmatrix判定部31cに送出する。Qmatrix判定部31cは、種々の量子化行列Qmatrixについての評価値Yを比較し、評価値Yが最小である量子化行列Qmatrixを前回使われた量子化行列Qmatrixとして出力する。尚、Qmatrix検出部31による量子化行列検出処理手順の詳細については後述する。
このとき検出された量子化行列QmatrixはQP検出部32に送られる。剰余計算部32aは、DCT係数Wを種々の量子化パラメータQPによるリスケーリングファクターRFによって除算し、評価値判定部32bに供給する。評価値判定部32bは、評価値Qmatrix検出部31によって検出された量子化行列Qmatrixを用い、剰余rを(iii)で前述した考え方に従って評価値Yに変換し、QP判定部32cに送出する。QP判定部32cは、種々の量子化パラメータQPについての評価値Yを比較し、評価値Yが最小である量子化パラメータQPを前回使われた量子化パラメータQPとして出力する。尚、QP検出部32による量子化パラメータ検出処理手順の詳細については後述する。
この検出された前回の量子化パラメータQPと量子化行列Qmatrixは、Qmatrix/QP決定部41に送られる。Qmatrix/QP決定部41では、量子化行列Qmatrixと量子化パラメータQPに関して、1パス目のプレエンコーダ20で見積もられたものを採用するのか、バックサーチ部30で検出されたものを使うかを決定する。通常、入力画像データが一度も符号化されていない原画像である場合には、前回の符号化がないためバックサーチは失敗し、1パス目のプレエンコーダ20による符号化処理により見積もられたものを採用する。逆に入力画像が既に符号化されたことのある非原画である場合には、量子化歪が繰り返し乗ることを避ける為、バックサーチ部30によって検出されたものを採用する。
また、バックサーチ部30によって検出された前回の符号化に使用された量子化パラメータQPと量子化行列Qmatrixは、画面内予測モード検出部33にも送られる。画面内予測モード検出部33は、量子化パラメータQPと量子化行列Qmatrixを用いることにより、上述した画面内予測モード検出処理により前回の画面内予測モードを検出する。尚、この画面内予測モード検出部33による画面内予測モード検出処理手順の詳細については後述する。この前回の予測モードは画面内予測モード決定部45に送出される。画面内予測モード決定部45では、1パス符号化で差分絶対値和SADが最小となる第1予測モードを採用するか、画面内予測モード検出部33により検出された前回の予測モードを採用するかを決定する。
即ち、画面内予測モード検出部33は、量子化パラメータQPと量子化行列Qmatrixに基づいて、前回の予測モードを検出する。この前回の予測モードは画面内予測モード決定部45に送出される。画面内予測モード決定部45では、1パス符号化で差分絶対値和SADが最小となる第1予測モードを採用するか、画面内予測モード検出部33により検出された前回の予測モードを採用するかを決定する。
すなわち、入力画像データが一度も符号化されていない原画像である場合には、前回の符号化がないため画面内予測モードの検出(バックサーチ)は失敗し、画面内予測モード判定部21により見積もられたものを採用する。逆に入力画像が既に符号化されたことのある非原画である場合には、量子化歪が繰り返し乗ることを避ける為、画面内予測モード検出部33によって検出されたものを採用する。
2パス目のパラメータエンコーダ50では、前述したようにQmatrix/QP決定部41で決定された量子化行列Qmatrix、量子化パラメータQP、画面内予測モード決定部45で決定された画面内予測モードを使って、入力画像を符号化し、符号化ストリーム(Stream)として出力する。
より詳細には、画面内予測処理部51では、最適な画面内予測モードとして画面内予測モード決定部45で決定された画面内予測モードに選定し、周辺画素の予測画像を用いて入力画像から差分画像データを生成し、当該差分画像データを整数精度DCT部52に入力する。整数精度DCT部52では、離散コサイン変換による直行変換により差分画像データをDCT係数Wとして出力する。量子化部53ではDCT係数Wを入力として、Qmatrix/QP決定部41で決定された量子化行列Qmatrix、量子化パラメータQPを用いて量子化を行い、量子化レベルZをエントロピー符号化部54に送出する。エントロピー符号化部54では、入力された量子化レベルZをバイナライズ、算術符号化して符号化ストリームとして出力する。
(2−2)処理手順
(2−2−1)量子化行列検出処理
以下、量子化行列検出処理手順RT1を示す図10のフローチャートを参照して、本発明の第1の実施の形態に係る符号化装置10のQmatrix検出部25によるスライス単位でのQmatrix検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
なおこの図10において、符号化装置10は、各DCT係数の絶対値|W|が規格化閾値以下(すなわち|W|<<7がRF以下)である場合にのみ、剰余rをリスケーリングファクターRFによって規格化することにより評価値Yを算出し、DCT係数の絶対値|W|が規格化閾値より大きい場合には、剰余rを評価値Yとする。そして符号化装置10は、評価値Yが最小となるリスケーリングファクターRFに基づいて量子化行列Qmatrixを検出するようになされている。
Qmatrix検出部31は、整数精度DCT部21で求められたDCT係数Wの絶対値|W|を入力として、前回の符号化で使われた可能性のある量子化行列Qmatrixと量子化パラメータQPの中から初期値を決める(ステップS1)。続いてQmatrix検出部31は、マクロブロック単位で量子化行列Qmatrixと量子化パラメータQPの組み合わせを変えて、各量子化行列Qmatrixと量子化パラメータQPごとにリスケーリングファクターRFを計算する。このとき剰余計算部31aは、スライス内の各サンプルに対して|W|<<6を該リスケーリングファクターRFで割った剰余rを計算する(ステップS2)。尚、先に図4で前述したように、剰余rの最小値は、量子化パラメータQPに関して6nの周期を有しており、量子化パラメータQPが6nずれていても、この図10の処理では量子化行列Qmatrixさえ検出できればいいので、前回の符号化で使われた量子化パラメータQPの大体の値が分かっていれば、該QPの値を含んだ連続した6個の量子化パラメータQPで評価すれば十分であるものとする。
続いて、評価値判定部31bは、|W|<<7>RFであるか否かを判定し、該関係が成立する場合には、剰余rをリスケーリングファクターRFで規格化(スケーリング)したものを評価値Yとする(ステップS4)。一方評価値判定部31bは、該関係が成立しない場合には、|W|<<6を評価値Yとする(ステップS5)。このように、評価値判定部25bは、マクロブロック内の256(=16x16)サンプルに関して、シフトされたDCT係数(W<<6)をリスケーリングファクターRFで割った剰余rに上記(iii)の規格化と補正を施したものを評価値Yとし、該評価値Yの総和を量子化行列Qmatrixと量子化パラメータQP毎に計算する(ステップS6〜8)。
こうして、可能性のある全ての量子化行列Qmatrix、6つの量子化パラメータQPについて評価値Yが計算されると(ステップS7をYesに分岐)、Qmatrix判定部31cは、スライス単位で量子化行列Qmatrixと量子化パラメータQPごとの評価値Yの総和を比較し(ステップS9)、総和(ΣY)が最小となる量子化行列Qmatrixを検出し、前回使われた量子化行列Qmatrixであるものとし(ステップS10)、該量子化行列QmatrixのID番号を出力する。
なお符号化装置10は、例えばステップS2の前段において剰余rに対してDCT係数の絶対値|W|を乗算して重み付けした乗算値を算出し、当該乗算値をリスケーリングファクターRFによって規格化し、評価値Yとしても良い。この場合、符号化装置10は、各DCT係数の絶対値|W|が大きい領域であっても、当該領域の評価値Yを大きくして誤検出を防止し得るため、重み付けによって当該規格化した値を一律に評価値Yとすることができる。
また符号化装置10は、例えば剰余rをそのまま評価値Yとして極小値を検出し、複数の極小値が検出された場合には、量子化パラメータQPにおける極小値の周期が6nであることを確認した上で、大きい値でなる量子化パラメータQPを前回の符号化に使用された量子化パラメータQPとして検出することも可能である。
(2−2−2)量子化パラメータ検出処理
次に、量子化パラメータ検出処理手順RT2を示す図11のフローチャートを参照して、本発明の第1の実施の形態に係る符号化装置10のQP検出部32によるマクロブロック単位での量子化パラメータQP検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
なおこの図11において、符号化装置10は、各DCT係数の絶対値|W|が規格化閾値以下(すなわち|W|<<7がRF以下)である場合にのみ、剰余rをリスケーリングファクターRFによって規格化することにより評価値Yを算出し、DCT係数の絶対値|W|が規格化閾値より大きい場合には、剰余rを評価値Yとする。そして符号化装置10は、評価値Yが最小となるリスケーリングファクターRFに基づいて量子化パラメータQPを検出するようになされている。
QP検出部32は、整数精度DCT部22で求められたDCT係数Wの絶対値|W|を入力として、で検出された量子化行列Qmatrixを用いて、マクロブロック単位で種々の量子化パラメータQPごとにリスケーリングファクターRFを計算する。QP検出部32は、この時点で前回使われた量子化パラメータQPの大体の値が分かっている場合は、その周辺のQPのみを検出対象とすることで演算量を減らすことができる。QP検出部32は、前回の符号化で使われた可能性のある量子化パラメータQPの中から初期値を求めると(ステップS21)、マクロブロック内の全てのDCT係数の絶対値|W|が0であるか否かを判断する(ステップS22)。そしてQP検出部32は、全てのDCT係数の絶対値|W|が0である場合には量子化パラメータQPは検出不可能とする(ステップS23)。即ちQP検出部32は、マクロブロック内のすべてのDCT係数の絶対値|W|が0の場合はどの量子化パラメータQPで割っても剰余rは0となるので量子化パラメータQPは検出できない為、検出除外する。
一方、ステップS22にて、全てのDCT係数の絶対値|W|が0でない場合には、QP検出部32の剰余計算部32aは、マクロブロック内の256(=16x16)の各サンプルに対してシフトされたDCT係数(|W|<<6)を(9)式に従ってに求めたリスケーリングファクターRFで割った剰余rを計算する(ステップS24)。
続いて、評価値判定部32bは、(|W|<<7)>RFであるか否かを判定し(ステップS25)、(|W|<<7)>RFである場合には、剰余rをリスケーリングファクターRFで規格化したものを評価値Yとし(ステップS26)、(|W|<<7)>RFでない場合には(|W|<<6)を評価値Yとする(ステップS27)。即ち評価値判定部32bは、マクロブロック内の256(=16x16)サンプルに関して、シフトされたDCT係数(W<<6)をRFで割った剰余に(iii)で述べた規格化と補正を行ったものを評価値Yとし、その総和(ΣY)を量子化パラメータQPごとに計算する(ステップS28)。
次いで、評価値判定部32bは、可能性のある全ての量子化パラメータQPに関して評価値Yが計算されているか否かを判断し(ステップS29)、全ての量子化パラメータQPに関して評価値Yが計算されていない場合には、量子化パラメータQPを変更し(ステップS30)、ステップS26、S28、S29の処理を繰り返す。
こうして、可能性のある全ての量子化パラメータQPについて評価値Yが計算されると(ステップS29をYesに分岐)、QP判定部32cは、マクロブロック単位でQP毎の評価値Yの総和(ΣY)を比較し(ステップS31)、総和が最小となる量子化パラメータQPを前回使用された量子化パラメータQPとし(ステップS32)、当該量子化パラメータQPの値を出力することになる。
このとき、量子化パラメータQPが6未満となる領域は誤検出の可能性が高くなるので除外する。それは、例えば200Mbps以下の実用領域では6未満の量子化パラメータQPが使われることはほとんどなく、除外した方が検出率が高くなるからである。
以上説明したように、本発明の第1の実施の形態の符号化装置10は、Qmatrix検出部31により、符号化の過程で得られるDCT係数から前回の符号化で使われたQmatrixをスライスごとに剰余rを用いて高い確率で検出することができる。更に符号化装置10は、QP検出部32により、符号化の過程で得られるDCT係数から前回の符号化で使われたQPをマクロブロックごとに剰余rを用いて高い確率で検出することができる。そして、符号化装置10は、これら検出された量子化行列Qmatrixと量子化パラメータQPを再利用することでダビング時の丸め誤差を低減し、ダビング特性を向上することができる。また符号化装置10は、変換行列Dを導入することで、符号化と復号化におけるDCT係数を等価に扱うことが可能となる。さらに符号化装置10は、剰余rをDCT係数Wで重み付けし、リスケーリングファクターRFで規格化することで検出精度を高めることができる。
また符号化装置10は、AVCから導入された量子化パラメータのQPの6nの周期性を考慮し、剰余rが最小値をと量子化パラメータQPより、6n大きいQPに剰余rの極小値がある場合は、最小値でなくてもその量子化パラメータQPを前回の符号化で使われた量子化パラメータQPとする。そして符号化装置10は、前回の符号化で使われた量子化パラメータのQPのおおよその値が既知の場合、該値から±nだけ量子化パラメータQPを変化させて評価することで、演算量を減らすことができる。
(2−2−3)画面内予測モード検出処理
以下、画面内予測モード検出処理手順RT3を示す図12のフローチャートを参照して、本発明の第2の実施の形態に係る符号化装置10の画面内予測モード検出部33による予測モード検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
先ず画面内予測モード検出部33は、予測画像からの差分絶対値和(すなわち差分画像データの絶対値の総和)が最も小さい画面内予測モードを初期値とする(ステップS51)。続いて画面内予測モード検出部33は、予測画像からの差分画像データ分に対してDCT処理を行う(ステップS52)。画面内予測モード検出部33は4×4のサブマクロブロック内の各サンプルに対してDCT係数Wの絶対値|W|を6ビットシフトした(|W|<<6)をRFで割った剰余rを計算する(ステップS53)。
そして画面内予測モード検出部33は、剰余rの総和にDCT係数の偶数を掛けたものを評価値Yとする(ステップS56)。
続いて画面内予測モード検出部33は、画面ない可能性のある全ての画面内予測モードに関してYが計算されたか否かを判定し(ステップS57)、評価値Yが計算されていなければ次に差分絶対値和SADが小さい予測モードに切り替え(ステップS58)、ステップS52〜S57の処理を繰り返す。そして画面内予測モード検出部33は、可能性のある全ての画面内予測モードに関してYが計算されたものと判定すると(ステップS57をYesに分岐)、各画面内予測モード間で評価値Yを比較し(ステップS59)、評価値Yが最小である画面内予測モードを前回使われた予測モードとし(ステップS60)、処理を終了する。
以上説明したように、本発明の第1の実施の形態の符号化装置10は、前回の符号化で使われた画面内予測モードを入力画像から算術的に検出することにより、AVCイントラフレームのダビング時に繰り返し量子化歪が発生することを抑制することができる。これにより符号化装置10は、ダビング時のSN比と視覚特性の低下を改善することができる。
さらに符号化装置10は、画面内予測モード間で、サブマクロブロック内の予測画像からの差分絶対値和SADを比較する際に、該差分絶対値和SADの小さい物から順に比較するが、これは、前回の符号化で使われた確率の高い画面内予測モードから比較していくことと等価であり、例えば差分絶対値相SADの小さい画面内予測モードから順に所定数(例えば3つ)のモードのみを比較することで演算量を軽減することが可能となる。また符号化装置10は、変換行列Dの導入により、符号化と復号化におけるDCT係数を等価に扱うことが可能となる。
以上のほか、符号化装置10は、前回の符号化の画面内予測のアルゴリズムによらず検出できるので、一回目の符号化で視覚特性を考慮した画面内予測方法を用いてもダビング時には本アルゴリズムを利用可能である。
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
例えば、前述した第1及び第2の実施の形態に係る画像情報符号化処理装置及び方法は、コンピュータにより実行されるプログラム、及び該プログラムを格納した記録媒体としても実施可能であることは勿論であり、その場合も、前述した作用効果が奏される。
(2−3)動作及び効果
以上の構成において、符号化装置10は、画像データとしての入力画像データに基づく差分画像データ対し直交変換としてのDCT処理を実行して変換係数としてのDCT係数を生成する。このとき符号化装置10は、AVC規格上、逆直交変換である逆DCT処理との関係において、(5)式に示したように、当該DCT係数を構成する係数要素の値を、複数のスケールでなる変換行列D((8)式)だけスケール変動させるようになされている。
符号化装置10は、復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される複復号ファクターである復号リスケーリングファクターRFrに対してスケール変動である変換行列Dだけを乗算することにより、複数の除算ファクターであるリスケーリングファクターRFを算出する。さらに符号化装置10は、DCT係数における要素を複数のリスケーリングファクターRFによって除算したときの剰余rに基づく評価値Yの総和(ΣY)を、検出単位毎に算出する。
そして符号化装置10は、複数のリスケーリングファクターRFに対する評価値Yの総和(ΣY)との関係を比較し、評価値Yの総和(ΣY)が極小値をとるリスケーリングファクターRFに基づいて、差分画像データが前回符号化されたときに使用された量子化因子を検出するようにした。
これにより符号化装置10は、DCT係数をリスケーリングファクターRFで除算する際、DCT係数を変換行列Dによって除算してDCT処理によるスケールアップを相殺することができるため、剰余rの値が行列の位置による複数の値によってスケールアップされてしまうことを防止することができる。
この結果符号化装置10は、各剰余rを単純比較することができるため、当該剰余rに基づく評価値Yの総和(ΣY)の極小値を検出することにより、差分画像データが前回符号化されたときに使用された量子化因子を検出することが可能となる。
これにより符号化装置10は、前回符号化されたときに使用された量子化因子を用いて符号化を実行することができるため、ダビング時の量子化丸めによる差分画像データの画質劣化を抑制することができる。
符号化装置10は、量子化因子として量子化単位であるマクロブロックごとに設定される量子化パラメータQPを検出する。この場合、符号化装置10は、検出単位をマクロブロックに設定することになる。
符号化装置10は、量子化因子として、符号化単位であるスライスごとに設定され、DCT係数の係数要素ごとの値が定められている量子化行列Qmatrixを検出する。この場合、符号化装置10は、検出単位をスライスに設定することになる。
符号化装置10は、画面内符号化単位であるイントラ符号化単位IA(例えば4×4画素のサブマクロブロック)ごとに設定され、予め定められた複数の画面内符号化方式によって入力画像データを符号化し、複数の差分画像データを生成する。複数の差分画像データのうち、検出された量子化パラメータQP及び量子化行列Qmatrixを用いたときの評価値Yの総和(ΣY)に基づいて、入力画像データが前回符号化されたときに使用された一の画面内符号化方式を検出する。この場合、符号化装置10は、検出単位をスライスに設定することになる。
上述したように、量子化パラメータQPは、その値が「6」増加するごとに、リスケーリングファクターRFが2倍になるパラメータ周期を有している。このため評価値Yの総和(ΣY)では、前回符号化に使用された量子化パラメータQPよりも6nだけ小さい量子化パラメータQPにおいて、評価値Yの総和(ΣY)から極小値を有する可能性がある。
このとき評価値Yの総和(ΣY)では、量子化パラメータQPが小さい程評価値Yの総和(ΣY)も小さくなる傾向にある。符号化装置10は、剰余rをリスケーリングファクターRFによって除算した除算値を評価値Yとすることにより、前回符号化に使用された量子化パラメータQPについての値を最小値にすることができる。
また符号化装置10は、複数の極小値を検出した場合には、評価値Yが最小となるリスケーリングファクターRFに基づいて、差分画像データが前回符号化されたときに使用された量子化因子を検出する。
この結果符号化装置10は、前回符号化に使用された量子化パラメータQPを検出することができ、当該検出のための処理を簡易にすることができる。
また符号化装置10は、係数要素の絶対値であるDCT係数の絶対値|W|が規格化閾値未満である場合には、剰余rをリスケーリングファクターRFによって除算した除算値を評価値Yとし、DCT係数の絶対値|W|が規格化閾値以上である場合には、剰余rを評価値Yとする。
これにより符号化装置10は、リスケーリングファクターRFが非常に大きい領域におけるリスケーリングファクターRFによる規格化により、評価値Yの総相(ΣY)が不当に小さくなることを防止し得、前回符号化に使用された量子化パラメータQPの誤検出を防止できる。
さらに符号化装置10は、剰余rに対して係数要素を乗算して乗算値を算出し、当該乗算値をリスケーリングファクターRFによって除算した除算値を評価値Yとする。
これにより符号化装置10は、DCT係数によって評価値Yを重み付けできるため、リスケーリングファクターRFが非常に大きい領域におけるリスケーリングファクターRFによる規格化により、評価値Yの総和(ΣY)が不当に小さくなることを防止し得、前回符号化に使用された量子化パラメータQPの誤検出を防止できる。
さらに符号化装置10は、複数の極小値を検出した場合には、極小値を検出したときのリスケーリングファクターRFが、量子化パラメータQPに起因するパラメータ周期によって検出されたか否かを確認する。そして符号化装置10は、当該パラメータ周期であると判別すると、大きい値でなるリスケーリングファクターRFに基づいて、差分画像データが前回符号化されたときに使用された量子化因子を検出する。
これにより符号化装置10は、剰余rをそのまま評価値Yとして用いることができ、規格化や重み付けなどの処理が不要となるため、評価値Yを算出する演算処理を省略することができる。
また符号化装置10は、復号化の際に使用される可能性のある複数の復号リスケーリングファクターを検索範囲として特定する。これのより符号化装置10は、全ての復号リスケーリングファクター(すなわち全ての量子化パラメータQP及び量子化行列Qmatrix)について評価値Yの総和(ΣY)を算出しなくて済み、バックサーチ処理の負荷を軽減することができる。
さらに符号化装置10は、量子化パラメータQPと量子化行列Qmatrixとに基づいてリスケーリングファクターを算出する。符号化装置10は、量子化パラメータQPに起因するパラメータ周期の1周期分(すなわち「6」)に亘って複数のリスケーリングファクターに対する評価値Yの総和(ΣY)との関係を比較することにより、差分画像データが前回符号化されたときに使用された量子化行列Qmatrixを検出する。
これにより符号化装置10は、全ての量子化パラメータQPについて処理をする必要がなく、処理負荷を格段に軽減することができる。
また符号化装置10は、検出された量子化行列Qmatrixを用い、リスケーリングファクターRFにおける量子化パラメータQPの値を変動させることにより算出された評価値Yの総和(ΣY)に基づいて量子化パラメータQPを検出する。
これにより符号化装置10は、後は量子化パラメータQPのみを検出すれば良いため、処理対象となるリスケーリングファクターRFの数を減少させることができ、処理負荷を軽減することができる。
さらに符号化装置10は、複数の画面内予測モードによって生成された複数の差分画像データについて、検出された量子化行列Qmatrixと量子化パラメータQPを用いたリスケーリングファクターRFから算出された評価値Yの総和(ΣY)をそれぞれ算出する。そして符号化装置10は、複数の差分画像データのうち、評価値Yの総和(ΣY)から極小値が検出された差分画像データに対応する画面内予測モードを前回符号化された画面内予測モードとして検出する。
これにより符号化装置10は、処理対象となる画面内予測モードの数だけ処理を実行すれば良いため、少ない処理で画面内予測モードとして検出できる。
以上の構成によれば、符号化装置10は、DCT係数を復号リスケーリングファクターRFrに対して変換行列Dを乗算したリスケーリングファクターRFによって除算することにより算出された剰余に基づいて量子化パラメータQPを検出するようにした。
これにより符号化装置10は、DCT処理と逆DCT処理との関係においてスケール変動が生じるような場合であっても、剰余rの値がスケール変動されることを防止でき、剰余rの比較によって量子化パラメータQPを適切に検出してバックサーチの検出精度を向上することができる。
かくして本発明は、符号化による画質低下を抑制し得る画像処理装置及び画像処理方法を実現できる。
(2−4)他の実施の形態
なお上述した第1の実施の形態においては、AVC規格に準拠して処理が実行されるようにした場合について述べた。本発明はこれに限らず、いかなる規格に準拠して処理が実行されるようにしても良い。要は直交変換と逆直交変換との関係において係数要素の値を複数のスケールでスケール変動させるような全ての方式に対して本発明を適用することができる。また本発明は、直交変換に限らず、符号化と当該符号化に対応する復号化との関係において同様のスケール変動を生じさせる場合においても同様の効果を奏することができる。
また上述した第1の実施の形態においては、直交変換としてDCT処理を実行するようにした場合について述べた。本発明はこれに限らず、例えばウェーブレット変換など、他の直交変換を用いても良い。またDCT変換として、小数部分の演算をも行うDCT変換であっても良い。
さらに上述した第1の実施の形態においては、4×4DCT処理に本発明を適用するようにした場合について述べた。本発明はこれに限らず、例えば8×8DCT処理や16×16DCT処理に適用しても良い。この場合であっても、(5)式にそれぞれの処理に応じた変換行列A及びCをそれぞれ代入することにより、変動スケールを表す変換行列Dを算出することができる。
さらに上述した第1の実施の形態においては、量子化行列Qmatrixがスライス単位ごとに設定されるようにした場合について述べた。本発明はこれに限らず、例えばピクチャごとに設定されても良い。
さらに上述した第1の実施の形態においては、量子化行列Qmatrix、量子化パラメータQP及び画面内符号化モードの順で前回符号化されたものを検出するようにした場合について述べた。本発明はこれに限らず、その順序に特に制限はない。また本発明は、例えば量子化行列Qmatrix、量子化パラメータQP及び画面内符号化モード全ての組み合わせについて総当たりで処理をしてから比較するようにしても良い。
さらに上述した第1の実施の形態においては、直交変換部としての整数精度DCT部22と、除算因子算出部及び総和算出部としての剰余計算部32aと、量子化因子検出部としての評価値判定部32b及びQP判定部32cとによって画像処理装置としての符号化装置10を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の公正でなる直交変換部と、除算因子算出部と、総和算出部と、量子化因子検出部とによって本発明の画像処理装置を構成しても良い。
(3)第2の実施の形態
(3−1)本発明の原理
IntraフレームのみのAVC(AVC Intra)では、ダビング特性を向上させるために、符号化プロセスの中に上述した量子化行列検出処理及び量子化パラメータ検出処理を実行するためのダビング補償回路が導入されることがある。
一般的に、ダビング補償回路は、入力画像の情報から前回の符号化で採用された量子化パラメータ等の検出を行うものである。このプロセスに先立ち、先ず、原画(即ち、一度も符号化されていない入力画)か否かを判定し、原画であれば補償回路をオフにするか補償回路で検出したパラメータを使わないように後段の符号化部に伝え、通常の符号量制御を行わなければならない。MPEGやAVCにおいて、原画かどうかを判定するためのアルゴリズムは従来も提案されているが、1フレームあたりの統計量を利用するものが多く、判定用部分だけで比較的大きな回路を必要とする。従って、製品開発においてはLSIの消費電力、チップサイズなどの面で不利になる場合があった。
そこで、この第2の実施の形態では、バックサーチと呼ばれる補償回路の一部に原画判定部を導入し、入力画が原画であった場合の補償回路の誤適用を防止する。
即ち、過去に提案したダビング補償回路であるバックサーチの中に原画判定部を組み込み、バックサーチを行う過程で得られるパラメータをカウントすることで原画かどうかを判定できるため、バックサーチと組み合わせて使用することで、特別大きな回路を追加することなく原画か否かを判定することを可能とする。具体的には、次のようになる。
(1)入力画の情報からDCT係数の剰余を用いて原画か否かを判定する。
(2)バックサーチの回路の中で検出される量子化パラメータQPの値から原画か否かを判定する。
以下、この第2の実施の形態において着目した特徴について説明する。
前述したが、(1)式及び(2)式に示したように、AVC Intraでは復号の際に量子化レベルZに量子化行列Qmatrixと量子化パラメータQPの関数である復号リスケーリングファクタRFrが乗算されてDCT係数Wを6bit左シフトしたものが復号される。
従って、一度符号化、復号化された入力画から得られるDCT係数Wを6bit左シフトしたものは、前回使われた量子化行列Qmatrixと量子化パラメータQPにより構成された復号リスケーリングファクタRFで割り切れると考えることができる。尚、AVC Intraでは符号化と復号化でDCTの整数部/非整数部の切り分け位置が異なるため、符号化と復号化でDCT係数を等価に扱うことができない。等価に扱うためには変換が必要であるが、その変換行列Dとしては(7)式で前述したものを、ここでも採用することができる。
実際にはこの時点で前回使われた量子化パラメータQPは未知であるため、符号量制御部で求めたおおまかな量子化パラメータQPを中心に種々の量子化パラメータQPで構成されたリスケーリングファクターRFを用いてDCT係数の剰余rを求め、1マクロブロックあたりの合計をみると、少なくとも一度符号化、復号化された入力画(以下、”非原画”と表記)は、図13の「非原画」のような傾向を示す。同図より、非原画では、前回使われた量子化パラメータQPに対して、剰余rの総和(Σr)に極小値が現れていることがわかる。
理論上、DCT係数Wを6bit左シフトしたものを前回の符号化で使われた量子化パラメータQPで構成されたリスケーリングファクターRFで除算することにより理論上、剰余は0になる。しかしながら上述したように、実際のプロセスでは演算誤差の影響により、剰余は完全には0にならないことが多く、その場合は前回の符号化で使われた量子化パラメータQPは剰余の極小値をもつ。また、AVC Intraでは数式上、量子化パラメータQPが6小さくなると、RFが1/2倍になる特性がある。したがって、前回の符号化で使われた量子化パラメータQPより6n小さい量子化パラメータQPも剰余rの極小値をもつ。
一方、一度も符号化、復号化されていない入力画(以下、”原画”と表記)では図13の「原画」に示すとおり、上記のような極小値は発生しない傾向にある。
図13より、符号化、復号化を通っているかどうかにかかわらず、一般的に量子化パラメータQPが大きくなるほど剰余rも大きくなる傾向があるということがわかる。これは、統計的に除数(RF)が大きいほど、剰余も大きくなるという性質に起因している。
ここで、剰余rの最小値に注目すると、非原画では極小値が現れるので、これが剰余rの最小値となるのに対し、原画では単調増加となるため量子化パラメータQPの検索範囲の中で最小の量子化パラメータQPが剰余rの最小値をもつ傾向にある。従って本発明では、量子化パラメータQPの検索範囲を十分に大きくとり、その中で最小の量子化パラメータQPが剰余rの最小値をもった回数(マクロブロック数)をカウントする。
言い換えると本発明では、十分に大きく設定した量子化パラメータQPの検索範囲において、マクロブロックごとに剰余rの総和(Σr)(すなわち評価値Yの総和ΣY)を算出する。そして本発明では、剰余rの総和(Σr)の最小値をとる量子化パラメータQPが検索範囲の最小値である場合には、このマクロブロックが原画である可能性が存在すると判別し、当該マクロブロック数をカウントする。
そして、1フレームあたりの合計が閾値を超えた場合は当該フレームが原画であると判別し、ダビング補償回路を使わずに通常の符号量制御を使うように後段の符号化部に伝える。量子化パラメータQPの検索精度にも依存するが、この実施の形態に関連して行った検証では80[%]を閾値(すなわちカウントされたマクロブロック数がフレーム全体のマクロブロック数の80[%]より大きいときに原画と判別する)としたところ、検証用の25素材では200Mbpsの符号化において誤検出はなかった。
このように本発明では、マクロブロックごとの剰余rの総和(Σr)における極小値の有無を検出することにより、適切に入力画像データが原画であるか非原画であるかを判別し得るようになされている。
(3−2)符号化装置の構成
図14には、本発明の第2の実施の形態に係る符号化装置11の構成を示し説明する。その基本的な構成は、先に説明した第1の実施の形態と同様(図7)であるので、同一構成については同一符号を付し、重複した説明は省略する。また、前回の符号化で用いられた量子化行列Qmatrixと量子化パラメータQPの検出アルゴリズムに関しては第1の実施の形態で説明したとおりである。
この図14において、特徴的なのは、QP検出部34が、原画判定部34aとQPカウント部34bを更に備えている点である。原画判定部34aは、前述したような方法で原画/非原画の判定を行い、原画と判定された場合はsourceフラグを立てる。
Qmatrix/QP決定部41では、量子化行列Qmatrixと量子化パラメータQPに関して、sourceフラグの有無によりプレエンコーダ20(1pass)符号化部で見積もられたものを採用するか、バックサーチ部30で検出されたものを使うかを決定する。画面内予測に関しても同様に、画面内予測モード決定部45は、sourceフラグの有無により、プレエンコーダ20(1pass)で差分絶対値和SADが最小となる予測モードを採用するか、画面内予測モード検出部33により検出された予測モードを採用するかを決定する。
(3−3)バックサーチによる原画判定処理手順
以下、バックサーチによる原画判定処理手順RT4を示す図15のフローチャートを参照して、本発明の第2の実施の形態に係る符号化装置11のQP検出部34によるマクロブロック単位での量子化パラメータQP検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
なお符号化装置11は、量子化パラメータ検出処理RT2の代りにバックサーチによる原画判定処理手順RT4を実行し、前段に量子化行列検出処理RT1(図10)及び後段に予測画像モード検出処理RT3(図12)を実行するようになされている。
符号化装置11のQP検出部34は、ステップS80において、量子化パラメータ検出処理RT2のステップS21〜ステップS32までを実行すると、次のステップS81へ移る。
続いて、QP検出部34は、QPカウント部34bによる量子化パラメータQPのカウント処理を行う。即ちQPカウント部34bは、検出された量子化パラメータQPが検出対象の量子化パラメータQPの中で最小量子化パラメータQPであるか否かを判断する(ステップS81)。ここでQPカウント部34b最小の量子化パラメータQPであると判断した場合には、量子化パラメータQPの最小値のカウント値であるminQPCountをインクリメントしてステップS83に進む(ステップS82)。一方QPカウント部34bは、検出された量子化パラメータQPが最小でないと判断した場合には、ステップS83に進む。ステップS83においてQPカウント部34bは、量子化パラメータQPの総数のカウント値であるtotalQPCountをインクリメントする(ステップS83)。
次いで、QPカウント部34bは、フレーム内の全てのMBに関して検出が完了しているか否かを判断し(ステップS84)、検出が完了していないと判断した場合には、次のマクロブロックを特定し(ステップS85)、ステップS301以降の処理を実行する。一方QPカウント部34bは、検出が完了していると判断した場合には、原画判定部34aによる原画判定処理に移行する。
即ち原画判定部34aは、最小の量子化パラメータQPのカウント値であるminQPCountと量子化パラメータQPの総数のカウント値であるtotalQPCountの割合が所定の割合(この例では80%としている)より大きいか否かを判断する(ステップS86)。ここで原画判定部34aは、totalQPCountの割合が所定の割合以下であると判断した場合には入力画を非原画として取り扱う(Sourceフラグを0に設定)(ステップS87)。一方原画判定部34aは、totalQPCountの割合が所定の割合よりも大きいと判断した場合には入力画を原画として扱う(Sourceフラグを1に設定)(ステップS88)。こうして原画判定部34aは、処理を終了する。
以上説明した第2の実施の形態の符号化装置11は、入力画像データからの情報のみを利用して、その入力画が原画か否かを高い確率で検出することができる。更に符号化装置11は、検出結果を後段のパラメータエンコーダ50に伝えることで、入力画像データが原画であった場合にダビング補償回路の誤適用を防ぎ、原画像を符号化した場合の画質向上につながる。そして符号化装置11は、検出結果を後段のパラメータエンコーダ50に伝えることで、入力画像データが非原画であった場合にダビング補償回路を有効にでき、非原画を符号化した場合の画質向上につながる。
(3−4)動作及び効果
以上の構成によれば、符号化装置11は、DCT係数を量子化して量子化データを生成し、量子化データに基づくストリームとしての符号化ストリームの発生符号量が目標符号量に近づくよう、マクロブロックごとに量子化パラメータQPを設定する。符号化装置10は、入力画像データが原画であると判定された場合には、符号量制御部40によって設定された量子化パラメータQPに基づいて入力画像データを量子化させる一方、入力画像データが非原画であると判定された場合には、バックサーチ部30によって検出された量子化パラメータQPに基づいて入力画像データを量子化させる。
これにより符号化装置11は、入力画像データの原画/非原画に応じた適切な量子化パラメータQPを用いて量子化を実行することができ、符号化による画質の低下を抑制することができる。
また符号化装置11は、極小値が検出されたマクロブロックの割合に基づいて、入力画像データが原画であるか、非原画であるかを判定する。
これにより符号化装置11は、バックサーチ処理において検出された量子化パラメータQPの値に基づいて、簡易な処理で力画像データが原画であるか非原画であるかを確実に判定することができる。
符号化装置11は、復号化の際に使用される可能性のある複数の復号ファクターのうち、一部を検索範囲として特定する。符号化装置10は、極小値に対応する量子化パラメータの最小値が、検索範囲における量子化パラメータの最小値であった最小回数をカウントし、処理されたマクロブロックごとの画像データの処理回数をカウントする。そして符号化装置10は、最小回数の処理回数に対する割合に基づいて、入力画像データが原画であるか、非原画であるかを判定する。
これにより符号化装置11は、最小回数及び処理回数をカウントして比較するだけの簡易な処理で入力画像データが原画であるか非原画であるかを確実に判定することができる。
以上の構成によれば、符号化装置11は、原画/非原画に応じて量子化に使用するQPパラメータを変更することができ、符号化時の画質を向上させ得るようになされている。
(3−5)他の実施の形態
なお上述した第2の実施の形態においては、量子化パラメータの最小値が検索範囲における量子化パラメータの最小値であったときの割合に基づいて原画/非原画を判定するようにした場合について述べた。本発明はこれに限らず、例えば実際に極小値を検出し、当該極小値の割合に基づいて原画/非原画を判定するようにしても良い。また判定時の割合についても特に制限はなく、判定に適した任意の値に設定することができる。
さらに上述した第2の実施の形態においては、ピクチャごとに原画/非原画を判定するようにした場合について述べた。本発明はこれに限らず、例えばスライスやGOPごとでも良い。また全てのピクチャに対して原画/非原画を判定しなくても良く、例えばGOPの先頭ピクチャだけに対して原画/非原画を判定しても良い。
(4)第3の実施の形態
(4−1)本発明の概略
本発明の第3の実施の形態では、第1に、目標符号量を実現する量子化パラメータQPを予測し、該量子化パラメータQPを用いて本エンコードを行うことで、目標符号量に発生符号量を一致させ、視覚特性を考慮した符号量配分、つまり量子化パラメータの決定を可能とすること。
第2に、前回符号化時のピクチャ内の平均の量子化パラメータと量子化行列を判定し、前回符号化された画像と判定した場合、入力を入力画像データとしローカルデコード画像は使用しないようにすることでバックサーチの検出精度を向上すること。を特徴の一つとしている。以下、詳述する。
この第3の実施の形態に係る符号化装置12では、MPEG4 Part10:AVC(Moving Picture Experts Group phase4 Part10:Advanced Video Coding)等に代表される算術符号化を用いた画像符号化方式を採用し、符号量制御を行う際にピクチャ内で良好な符号量分布を実現するために、以下に示すような特徴的な処理を行う。
(4−1−1)MB目標符号量の算出
図16に示すように、符号化装置12は、第1の符号化部2としての画面内予測処理部204、DCT部205、量子化部206、逆量子化部207、IDCT部208及びバッファ209とを有している。また符号化装置12は、第2の符号化部4としてのパラメータエンコーダ300、及びバックサーチ部3としてのバックサーチ部210を有している。
符号化装置12は、第1のプレエンコーダ100及び第2のプレエンコーダ200によってプレエンコード(Pre Encode)を2回行い、目標符号量を実現する(すなわち目標符号量に最も近くなる)量子化パラメータQPを予測し、該量子化パラメータQPを用いて本エンコードを行う。特に、第1のプレエンコードでは、離散コサイン変換(DCT;Discrete Cosine Transform)、量子化後の量子化係数の絶対値である量子化係数絶対値levelのエントロピーを計算することによりマクロブロックごとのMB発生符号量を粗く見積もる。
このとき、符号化装置12は、第1のプレエンコーダ100によって第1のプレエンコードを行い、先ず量子化で使用する量子化パラメータQPの中で最小の量子化パラメータQPを用いて行い、その時の各値の発生回数をカウントし、最小の量子化パラメータQPにおける発生回数から各量子化パラメータQPにおける発生回数を求め、その値から各量子化パラメータQPでのエントロピーを計算する。
さらに符号化装置12は、第1のプレエンコーダ100によって求めたエントロピーから各量子化パラメータQPに対する予測発生符号量を求め、目標符号量を実現するためのピクチャ内の平均となる予測量子化パラメータQPdを求める。このとき符号化装置12は、エントロピー計算を量子化行列Qmatrixを使用した場合に適用するために、DCT block(すなわちDCT係数が表す行列)の位置毎に発生回数のカウントを行う。
さらに符号化装置12は、符号量制御部109によってエントロピー計算を適応量子化に対応させるため、アクティビティ(Activity)によりマクロブロック(MB;Macro Block)をグループ分けして、アクティビティにより決定されたグループ毎に発生回数のカウントを行う。
符号量制御部109は、量子化行列Qmatrixを絵柄に応じて適応的に切り替えるため、フラットな量子化行列Qmatrix(Qmatrixを使わないのと同じ)を使った時の、目標符号量を実現するための量子化パラメータQPを使用する。そして符号量制御部109は、該量子化パラメータQPにより量子化行列Qmatrixを切り替える。決定された量子化行列Qmatrixがフラットでないときは、その量子化行列Qmatrixを使った時の量子化パラメータQPを求め直す。
符号化装置12は、第2のプレエンコーダ200によって第2のプレエンコードを行い、第1のプレエンコードで求めた量子化パラメータQP(以下、これを予測量子化パラメータQPdと呼ぶ)と量子化行列Qmatrixを用いてエンコードを行い、MB発生符号量を得て、該MB発生符号量とMB目標発生量との誤差から、予測量子化パラメータQPdを修正し、基本量子化パラメータQMBを算出する。本エンコードでは、この第2のプレエンコードで求め基本量子化パラメータQMBを使用する。
(4−1−2)前回符号化時に使用された量子化パラメータQPの見積り
符号化装置12では、MPEG4 AVCなどに代表されるDCT等の直交座標変換を用いた画像符号化方式を採用しつつ、該DCT後の係数分布から離散的な分布状態を検出するために、以下に示すような特徴を有している。
符号化装置12は、Qmatrix/Base QP検出部108により、前回符号化時のピクチャ内の平均の量子化パラメータQP(以下、これを見積量子化パラメータQPeと呼ぶ)及び前回符号化時の量子化行列Qmatrix(以下、これを見積量子化行列QmatrixEと呼ぶ)を見積る。このとき符号化装置12は、入力を入力画像データとしローカルデコード画像は使用しないようにすることでバックサーチの検出精度を向上する。このとき符号化装置12は、符号量制御部109により、見積量子化パラメータQPeと見積量子化行列QmatrixEの見つからない状態を前回符号化されていない原画像とみなし、原画像であるか、前回符号化された画像であるかを判定する。
さらに符号化装置12は、原画像と見なした際、ピクチャ内の平均となる予測量子化パラメータQPdの予測値が大きすぎる場合に、入力値切り換え処理部203による入力画像の切換により、入力段のローパスフィルタを使用して主観画質を改善する。一方符号化装置12は、前回符号化された画像(非原画)と判定した場合、見積量子化行列QmatrixEと見積量子化パラメータQPeをバックサーチ部210に設定し、該バックサーチ処理のサーチ範囲を限定し回路規模を削減する。以上に加えて、Long GOPの符号化を行った信号を入力するとき、イントラ(Intra)ピクチャの判定に利用する。
すなわち、符号化装置12は、符号量予測処理を実行し、まず第1のプレエンコーダ100による第1のプレエンコード処理の際、最小の量子化パラメータQPを用いて量子化を行い、エントロピー計算部107により他の量子化パラメータQPによる予測発生符号量を予測する。そして符号化装置12は、入力画像が原画であった場合に使用される予測量子化パラメータQPd及び予測量子化行列QmatrixDを予測する。
このとき第1のプレエンコーダ100は、量子化係数による原画判定処理を実行し、最小の量子化パラメータQPを用いて量子化を行ったときの量子化係数を用いて、入力画像が原画又は非原画のいずれであるかを判別する。さらに第1のプレエンコーダ100は、当該入力画像が非原画であった場合には、前回の符号化で使用された量子化パラメータQPの近傍の量子化パラメータQP(すなわち見積量子化パラメータQPe)を見積り、バックサーチ処理の際の検索範囲を決定する。さらに第1のプレエンコーダ100は、前回符号化されたときに使用された量子化行列Qmatrix(すなわち見積量子化行列QmatrixE)を見積もる。
第2のプレエンコーダ200は、第1のプレエンコーダ100によって入力画像が原画であったと判別された場合には、バックサーチ部210を「OFF」に切り換える。さらに第2のプレエンコーダ200は、第1のプレエンコーダ100によって予測されたピクチャ毎の予測量子化パラメータQPdの値に応じて、入力画像に対するローパスフィルタ処理の有無を選択する。そして第2のプレエンコーダ200は、予測された予測量子化パラメータQPdを用いて第2のプレエンコード処理を行い、例えばピクチャ単位による実際の発生符号量と目標符号量との差から予測量子化パラメータQPdを補正し、本エンコードで使用される基本量子化パラメータQPMBを算出する。
一方第2のプレエンコーダ200は、第1のプレエンコーダ100によって入力画像が非原画であったと判別された場合には、バックサーチ部210を「ON」に切り換える。そして第2のプレエンコーダ200は、第1のプレエンコーダ100によって決定された見積量子化パラメータQPeに基づく検索範囲及び見積量子化行列QmatrixEにおいて、バックサーチ処理を実行し、前回の符号化で使用された量子化パラメータQPを検出する。なお以下、バックサーチ処理によって検出された量子化パラメータQPを検出量子化パラメータQPbと呼ぶ。
そしてパラメータエンコーダ300は、入力画像が原画であった場合には、基本量子化パラメータQPMB及び予測量子化行列QmatrixDを用いて本エンコードを実行する一方、入力画像が原画であった場合には、検出量子化パラメータQPb及び見積量子化行列QmatrixEを用いて本エンコードを実行するようになされている。
以下、このような特徴をふまえて、第3の実施の形態について詳述する。
(4−2)符号化装置の構成
図16に示すように、符号化装置12は、第1のプレエンコードを行う第1のプレエンコーダ100、第2のプレエンコードを行う第2のプレエンコーダ200、本エンコードを行うパラメータエンコーダ300、符号量制御部109、ローパスフィルタ処理部201、ディレイバッファ202、マクロブロック決定部212を有する。
より詳細には、第1のプレエンコーダ100は、さらにアクティビティ決定部101、画面内予測モード決定部102、画面内予測処理部103、DCT部104、量子化部105、レベル計数部106、エントロピー計算部107、Qmatrix/Base QP検出部108からなる。第2のプレエンコーダ200は、入力画切り換え処理部203、画面内予測処理部204、DCT部205、量子化部206、逆量子化部207、IDCT部208、バッファ209、バックサーチ部210、符号長計算部211からなる。そして、パラメータエンコーダ300は、画面内予測処理部302、DCT部303、量子化部304、逆量子化部305、IDCT部306、バッファ307、符号化部308からなる。
このような構成において、入力画像データは、最初に画面内予測モード決定部102に入り、画面内予測モードが決定される。ここで決定されたモードは、第2のプレエンコーダ200やパラメータエンコーダ300でも使用される。
次に、画面内予測処理部103は、入力画像データと、当該入力画像データにおける周囲の画素との差分が計算されることにより、差分画像データを生成する。この周辺の画素は、入力画像データを用いる。画面内予測処理部103は、周辺画素のデータとして、予測画像データの代りに入力画像データを使用することで、周辺画素として予測画像データを使用した場合に、予測を繰り返すことで予測画像データの誤差が累積することを防止することができる。この結果画面内予測処理部103は、Qmatrix/Base QP検出部108による量子化行列Qmatrixや基本量子化パラメータBase QPの検出率を改善できるほか、第2のプレエンコーダ200にあるような、逆量子化、IDCTの処理部を削減できる。
次いで、DCT部104は、離散コサイン変換等を実行し、DCT係数を量子化部105に供給する。量子化部105は、DCT係数に対して量子化を実行し、量子化係数を生成する。その出力は、レベル計数部106を経て、エントロピー計算部107に入り、エントロピーを計算することにより、全ての量子化パラメータQPにおける符号量が予測される。
このときエントロピー計算部107は、目標とする発生符号量に近い発生符号量を生じさせる予測量子化パラメータQPd及び予測量子化行列Qmatrixの値を算出し、Qmatrix/Base QP検出部108に供給する。またレベル計数部106は、量子化係数のレベルを計測し、当該レベル計数結果をエントロピー計算部107を介してQmatrix/Base QP検出部108に供給する。このQmatrix/Base QP検出部108は、入力画像が前回符号化の行われていない原画像に係るものか否かを検出すると同時に、見積量子化行列QmatrixEと見積量子化パラメータQPeを割り出す。
一方、入力画像はアクティビティ決定部101にも入力される。アクティビティ決定部101は、マクロブロックごとにアクティビティを計算し、このアクティビティによりマクロブロックをグループ分けする。アクティビティ決定部101は、各マクロブロックに対して決定されたアクティビティグループ(Activity Group)番号をレベル計数部106及び符号量制御部109に入力する。
符号量制御部109は、Qmatrix/Base QP検出部108で原画像と検出された場合、第1のプレエンコーダ100により求まったピクチャごとの平均となる予測量子化パラメータQPd、予測積量子化行列QmatrixDを算出し、これらを各マクロブロックのアクティビティグループ(Activity Group)と共に第2のプレエンコーダ部200に渡す。
この結果第2のプレエンコーダ200は、第2のプレエンコードを行い、第2のプレエンコード終了後、当該予測量子化パラメータQPd及び予測量子化行列QmatrixDを用いたときの発生符号量を得る。そして符号量制御部109は、得られた発生符号量から、予測量子化パラメータQPdを補正し、ピクチャの基本量子化パラメータQPMBを生成することになる。このとき第2のプレエンコーダ200は、バックサーチ部210をバイパスする。
このとき第2のプレエンコーダ200は、ピクチャの予測量子化パラメータQPdが非常に大きく、歪が目立つような場合は、入力画切り替え処理部203によって入力画像がローパスフィルタ処理部201を経由するように切り換える。これにより入力画切り替え処理部203は、入力画像に対してローパルフィルタ処理を施させることができ、視覚的な歪を軽減することができる。
またQmatrix/Base QP検出部108において量子化行列Qmatrixと基本量子化パラメータBase QPが検出された場合(すなわち入力画像が非原画像であった場合)、第2のプレエンコーダ200は、入力画切り替え処理203によって予測画像データとして使用するデータを切り換える。すなわち入力画切り替え処理203は、バッファ209からのローカルデコード画像の代りに、ディレイバッファ202からの入力画像データを予測画像データとして画面内予測処理部204に入力する。この結果画面内予測処理部204は、入力画像データを予測画像データとして使用することになり、バックサーチ部210のバックサーチ処理において検出効率を改善するようにする。
第2のプレエンコーダ200は、バックサーチ処理を実行する場合にはバックサーチ部210によりマクロブロック単位の量子化歪が最小となる量子化パラメータQPを割り出す。このときバックサーチ部210は、見積量子化パラメータQPeに基づく検索範囲及び見積量子化行列QmatrixEを用いて第1の実施の形態において上述した量子化パラメータ検出処理を実行する。
マクロブロック決定部212は、Qmatrix/Base QP検出部108において入力画像が原画であると判別された場合には、第2のプレエンコーダ200において補正された基本量子化パラメータQMBを用いて本エンコードを実行するよう、パラメータエンコーダ300を制御する。
一方マクロブロック決定部212は、入力画像が非原画であると判別された場合には、Qmatrix/Base QP検出部108によって見積もられた見積量子化行列QmatrixEと、バックサーチ部210によって検出された検出量子化パラメータQPbとを用いて本エンコードを実行するよう、パラメータエンコーダ300を制御する。
そしてパラメータエンコーダ300は、マクロブロック決定部212の制御により、第1のプレエンコーダ100で求めた画面内(Intra)予測モードを用いて入力画像データに対して本エンコード処理を実行するようになされている。
(4−3)目標符号量の算出処理
(4−3−1)アクティビティへの対応
以下、3パス符号化処理手順RT11を示す図17のフローチャートを参照して、本発明の第1の実施の形態に係る符号化装置による符号化に係る一連の処理を更に詳細に説明する。
先ず、アクティビティ計算部101は、入力画像データに基づいて、マクロブロック毎にアクティビティを計算し、その値に応じてマクロブロックをアクティビティグループに分ける(ステップS101)。
つまり、アクティビティ計算部101は、例えばマクロブロックを1〜NumOfActivityGroupのグループに分ける場合を想定すると、マクロブロックを各アクティビティグループへ振り分けるための閾値(ActivityTheshold[0]〜ActivityTheshold[NumOfActivityGroup−2])と、マクロブロックについて算出されたアクティビティ(Activity)値を比較する。そしてアクティビティ計算部101は、アクティビティ値が閾値範囲内でなるアクティビティグループを当該マクロブロックのアクティビティグループに決定する。アクティビティを考慮に入れた各マクロブロックの適応量子化パラメータQPtは、次式に従い、ピクチャの平均となる量子化パラメータQP(BaseQP)に対してアクティビティグループに依存したオフセットAdaptQpDeltaを加えることで求めることができる。
QPt=BaseQp+AdaptQpDelta[activity_group] ・・・(13)
例えば、アクティビティグループNumOfActivityGroupを13とするならば、これに依存したオフセットAdaptQpDeltaの各値は、次のようにすることができる。
AdaptQpDelta[13]={−6,−5,−4,−3,−2,−1,0,1,2,3,4,5,6} ・・・(14)
すなわちアクティビティ計算部101は、「0」〜「12」の番号でなるアクティビティグループに分類されたマクロブロックの量子化パラメータQP(BaseQP)に対し、それぞれ−6、−5、−4、−3、−1、0、1、2、3、4、5、6を加算することにより適応量子化パラメータQPtを算出することができる。
従ってエントロピー計算部107は、各量子化パラメータQPについての発生符号量を予測する際、(14)式によって算出される適応量子化パラメータQPtを用いることになる。
(4−3−2)第1のプレエンコード処理
(4−3−2−1)基本的な処理
続いて、第1のプレエンコーダ100は、画面内予測モード決定部102により画面内予測モードを決定し(ステップS102)、第1のプレエンコード処理に入ることになる(ステップS103)。
この第1のプレエンコード処理の目的は、DCT、量子化後のデータのエントロピーを計
算することにより、発生符号量を粗く見積もることである。算術符号化を用いた画像圧縮
符号化方式では、理論上の圧縮限界であるエントロピーに近い圧縮効率が得られている事
を利用して、エントロピーを用いて符号量の予測を行うものである。
即ち、画面内予測処理部103による画面内予測処理、DCT部104によるDCTを経て、量子化部105により該DCT後の値を最小の量子化パラメータQPで量子化し、レベル計数部106により量子化係数の各値の絶対値の発生回数をカウントする。つまり、レベル計数部106は、発生し得る量子化係数の絶対値が、0〜MaxLevel_In_MinQであるとすると、それぞれの量子化係数の絶対値についての発生回数Count[0]〜Count[MaxLevel_In_MinQ]求める。
ここで、最小の量子化パラメータQPとは、使用の予定されている量子化パラメータQPの中で最小のものである。例えば、ビットレートが低い為に小さい量子化パラメータQPを使わないことが予め分かっていれば、該部分を除いた部分で考えればよい。
ここでレベル計数部106は、使う量子化パラメータQPが大きくなれば、MaxLevel_In_MinQが小さくなるのでカウンタの数を減らすことができるが、該量子化パラメータQPより小さい量子化パラメータQPを使ったときの符号量は、情報が失われる為に求めることができない。尚レベル計数部106は、量子化後の量子化係数の絶対値について発生回数を求めているが、これは、カウンタの数を少なくする為であり、カウンタの数に制限がないのであれば、量子化前の値、つまりDCT係数の発生回数を求めてもよい。この発生回数は、1ピクチャ全ての部分に対して求める。
続いて、レベル計数部106及びエントロピー計算部107は、量子化パラメータQP毎の発生符号量の予測値を求める符号量予測処理を行う(ステップS104)。これは、量子化パラメータQP毎に実行される処理である。
この符号量予測処理(基本)手順RT12の詳細は、図18のフローチャートに示される通りである。即ち、レベル計数部106は、量子化係数の各値の絶対値である量子化係数絶対値level毎に発生回数をカウントする(ステップS121)。まずレベル計数部106は、量子化係数絶対値levelのカウンタをイニシャライズ(level=0)し(ステップS122)、量子化係数絶対値levelが発生符号量を求める(すなわち最小の)量子化パラメータQPで量子化したときにいくつになるかを求める(ステップS123)。次いで、レベル計数部106は、量子化係数絶対値levelの発生回数を、発生符号量を求める量子化パラメータQPでの量子化係数絶対値levelのカウンタに加算し(ステップS124)、量子化係数絶対値levelのカウンタをインクリメントし(ステップS125)、全ての量子化係数絶対値levelを処理したか否かを判断する(ステップS126)。
レベル計数部106は、全ての量子化係数絶対値levelを処理していないと判断した場合(ステップS126をNoに分岐)、上記ステップS123に戻り、上記処理を繰り返し、全ての量子化係数絶対値levelを処理したと判断した場合には(ステップS26をYesに分岐)、ステップS127に進む。
つまり、このステップS21〜S26では、最小の量子化パラメータQPで量子化した場合の各量子化係数絶対値levelの発生回数を求める。
続いて、エントロピー計算部107は、量子化係数絶対値levelの発生確率を求め(ステップS27)、先に求めた発生回数からエントロピーを求める(ステップS28)。
いま、量子化係数絶対値levelの発生確率P[i]は次式で求められる。
P[i]=count[i]/total_count ・・・(15)
エントロピーEntropyは、この発生確率P[i]を用いて、エントロピーを算出するための一般式により、次式で求められる。
Entropy=−1Σi(P[i]log(P[i])/log(2)) ・・・(16)
エントロピー計算部107は、このステップS127及びS128の処理を全ての量子化係数絶対値levelについて行ったか否かを判断し(ステップS129)、全ての量子化係数絶対値levelについて処理するまで繰り返す。そしてエントロピー計算部107は、全ての量子化係数絶対値levelについて処理した場合には(ステップS129をYesに分岐)、符号量の予測値Estimated_Bitsを次式により求める(ステップS130)。
Estimated_Bits=Entropytotal_count+sign_bits ・・・(17)
ここで、(17)式で使用される符号ビットsign_bitsは非ゼロ係数の発生回数をnon_zero_countとすると、次式のように表すことができる。
sign_bits=total_count−non_zero_count ・・・(18)
(4−3−2−2)アクティビティへの対応
ここで、アクティビティに対応させるためには、上記の図18の符号量予測処理(基本)手順RT11を、符号量予測処理(アクティビティ対応)手順RT13を示す図19のフローチャートに示される処理に置き換える必要がある。
先ず、レベル計数部106は、量子化係数の各値の絶対値の発生回数をカウントする際に、量子化係数絶対値level(each_level)毎に加えてアクティビティグループ(each_activity_group)毎にカウントする(ステップS141)。
このカウント値を、Count[each_activity_group][each_level]のように表すことができる。
次に、エントロピー計算部107は、ピクチャの量子化パラメータQP毎の発生符号量の予測値を求める処理を行う。この処理は量子化パラメータQP毎に行う。まず、エントロピー計算部107は、各アクティビティグループの適応量子化パラメータQPtを求める(ステップS142)。続いてエントロピー計算部107は、量子化係数絶対値levelをイニシャライズ(level=0)した後(ステップS143)、量子化係数絶対値levelが、発生符号量を求める量子化パラメータQPで量子化したとき、いくつになるかを求める。(ステップS144)さらにエントロピー計算部107は、量子化係数絶対値levelの発生回数を、求める量子化パラメータQPでの量子化係数絶対値levelのカウントに加算し(ステップS145)、量子化係数絶対値levelをインクリメントする(ステップS146)。エントロピー計算部107は、全ての量子化係数絶対値levelを処理したか否かを判断する(ステップS147)。エントロピー計算部107は、全ての量子化係数絶対値levelを処理していないと判断した場合(ステップS147をNoに分岐)、上記ステップS144に戻り、上記処理を繰り返す。一方エントロピー計算部107は、全ての量子化係数絶対値levelを処理したと判断した場合には(ステップS147をYesに分岐)、ステップS148に進む。
以上のステップでは、各アクティビティグループ毎に、発生符号量を求める量子化パラメータQPでの量子化係数の各値の絶対値の発生回数を、最小の量子化パラメータQPでの量子化係数の各値の絶対値の発生回数から求めることになる。
ステップS148において、エントロピー計算部107は、全てのアクティビティグループを処理したか否かを判別する。エントロピー計算部107は、全てのアクティビティグループを処理していない場合(ステップS148をNoに分岐)、上記ステップS142に戻り、上記処理を繰り返す。エントロピー計算部107は、全てのアクティビティグループについて処理を終了すると(ステップS148をYesに分岐)、求めた発生回数からエントロピーを求め、符号量の予測値を求める(ステップS149〜S53)。
このステップS149〜S153の処理は、図18のステップS127〜S131と同様であるので、重複した説明は省略する。
(4−3−2−3)量子化行列への対応
また、更に量子化行列Qmatrixに対応させるためには、上記の図18の符号量予測処理(基本)手順RT11を、符号量予測処理(量子化行列対応)手順RT14を示す図20のフローチャートに示される処理に置き換える必要がある。
まず、量子化係数の各値の絶対値の発生回数をカウントする際に、量子化係数絶対値level(each_level)毎、アクティビティグループ(each_activity_group)毎に加えて、DCT Block内の位置(each_position)毎にカウントする(ステップS161)。
このカウント値を、Count[each_activity_group][each_position][each_level]のように表すことができる。
次に、量子化パラメータQP毎の発生符号量の予測値を求める処理を行う。この処理は量子化パラメータQP毎の処理である。ここで追加される処理は、最小の量子化パラメータQPで量子化した時の値が、発生符号量を求める他の量子化パラメータQPでいくつになるかを求める時に、量子化行列Qmatrixの各要素をDCT Block内の位置毎に考慮に入れて計算することである(ステップS164)。つまり、DCT後の係数は、量子化パラメータQPと量子化行列Qmatrixの要素をかけたもので量子化されると言う事である。次に、DCT Block内の位置毎に、発生符号量を求める他の量子化パラメータQPでの量子化係数の各値の絶対値の発生回数を、最小の量子化パラメータQPで量子化したときの量子化係数絶対値levelの発生回数から求める(ステップS165)。
これらを全ての量子化係数絶対値levelを処理するまで繰り返し(ステップS163〜S167)、更にはDCT Block内の全ての位置(position)について処理するまで繰り返す(ステップS163〜S168)。これ以降の処理(ステップS169〜S174)は、図18のステップS128〜S131と同様であるので、重複した説明は省略する。
(4−3−2−4)量子化パラメータの見積
さて、図17の説明に戻り、続いて量子化パラメータ決定処理に入る。即ち、エントロピー計算部17は、上記処理で各量子化パラメータQPに対する予測符号量が求められたので、その中で、目標符号量に最も近い量子化パラメータQPを予測量子化パラメータQPdとして選択することになる(ステップS105)。
(4−3−2−5)適応的な量子化行列の切替
なお、適応的な量子化行列Qmatrixの切り替え処理を行う場合には、ステップS105の処理を次のように変更すればよい。即ち、その場合、フラット(Flat)な量子化行列Qmatrix(Qmatrixを使わないのと同じ事)を使った時の量子化パラメータQPに対する予測符号量を求め、その中で目標符号量に最も近い量子化パラメータQPを選択する。
この求めた量子化パラメータQPの値から使用する量子化行列Qmatrixを選択する(ステップS106)。より詳細には、切り替えて使う量子化行列Qmatrixの種類の数をNumOfQmatrixIdとすると、求めた量子化パラメータQPを各量子化行列Qmatrixに対応させるための閾値QmatrixTheshold[0]〜QmatrixTheshold[NumOfQmatrixId−2]と量子化パラメータQPとを比較することにより、量子化行列Qmatrixを決定する。そして、使用する量子化行列Qmatrixを使った時の、量子化パラメータQPに対する予測符号量を求め、その中で、目標符号量に最も近い量子化パラメータQPを選択する(ステップS107)。これが、第1のプレエンコーダ100で決定されるピクチャの予測量子化パラメータQPdとなる。
(4−3−3)第2のプレエンコード処理
続いて、第2のプレエンコーダ200が、第1のプレエンコーダ100による第1のプレエンコード処理により決定されたピクチャの予測量子化パラメータQPd、予測量子化行列QmatrixD、アクティビティグループActivity Groupを用いて、第2のプレエンコードを行う(ステップS108)。この第2のプレエンコード処理の目的は、第1のプレエンコード処理により大まかに見積もった予測量子化パラメータQPdで実際にエンコードすることにより、予測の誤差を求め、それを補正することである。第2のプレエンコード処理では、エンコード終了後、予測量子化パラメータQPdによる発生符号量を得る。
次に、マクロブロック決定部212は、この第2のプレエンコーダ2による第2のプレエンコード処理で得た発生符号量と目標符号量との違いから、予測量子化パラメータQPdを補正する(ステップS109)。即ち、マクロブロック決定部212は、量子化パラメータQPが1変わる毎に、発生符号量が所定の変化割合DiffRatio[%]だけ変わるものと仮定し、予測量子化パラメータQPdを補正する。補正量が小さいので、絵柄(すなわちアクティビティグループ)によらず量子化パラメータQP対発生符号量の変化を一定としても、誤差は問題ないレベルにあるとみなす。
ここで、量子化パラメータ補正処理手順RT15を示す図21のフローチャートを参照して、予測量子化パラメータQPdによる発生符号量が目標符号量より少なく、且つ予測量子化パラメータQPdが最小値ではないときの符号量補正処理を説明する。
尚、発生符号量が目標符号量より多い場合についても、基本的に同じである。
さて、この処理に入ると、マクロブロック決定部212は、発生符号量をPreGenbitsに代入し、現在の予測量子化パラメータQPをPreQPに代入し(ステップS181)、PreQPより1引いた値をNextQPと(ステップS182)して算出する。なお、マクロブロック決定部212は、発生符号量が目標符号量より小さい場合には、PreQPより1加算した値をNextQPとすることになる。
続いてマクロブロック決定部212は、PreGenbits(100+DiffRatio)/100をPreQPから「1」だけ変化したNextQPに対応する発生符号量NextGenbitsとする(ステップS183)。ここでは、量子化パラメータQPが1変化する毎に、発生符号量が変化割合DiffRatioだけ小さくなるものと仮定している。
続いて、マクロブロック決定部212は、発生符号量NextGenbitsが目標符号量TargetGenbitよりも大きいか否か(すなわち発生符号量と目標符号量との大小関係が反転したか否か)を判定する(ステップS184)。ここでマクロブロック決定部212は、NextGenbits>TargetGenbitでない(すなわち発生符号量と目標符号量との大小関係が変化していない)場合には、現在のNextQPをPreQPに代入し、現在のNextGenBitsをPreGenbitsに代入する(ステップS185)。NextQPが最小の量子化パラメータQPであるか否かを判定する(ステップS186)。
ここで、マクロブロック決定部212はNextQPが最小の量子化パラメータQPでない場合にはステップS182に戻り上記処理を繰り返す。すなわちマクロブロック決定部212は、S182において、前回の処理よりも「1」だけ変化したNextQPについて、上述した処理を実行する。一方マクロブロック決定部212は、ステップS186においてNextQPが最小の量子化パラメータQPである場合には、NextQPを基本量子化パラメータQPMBとし、処理を終了する。一方マクロブロック決定部212は、ステップS184においてNextGenbits>TargetGenbit(すなわち発生符号量と目標符号量との大小関係が反転した)の場合には(NextGenbits−TargetGenbit)>(TargetGenbit−PreGenBits)であるか否かを判断する(ステップS188)。この関係が成立する場合、マクロブロック決定部212は、PreQPによる発生符号量PreGenBitsが目標符号量TargetGenbitに最も近いことから、PreQPを基本量子化パラメータQPMBに決定する。一方マクロブロック決定部212は、ステップS188における関係が成立しない場合、NextQPによる発生符号量NextGenbitsがTargetGenbitに最も近いことから、目標符号量NextQPを基本量子化パラメータQPMBに決定し、処理を終了する。
(4−3−4)本エンコード処理
再び図17の説明に戻り、パラメータエンコーダ300により本エンコードを行う(ステップS110)。この本エンコードでは、第2のプレエンコーダ200による第2のプレエンコード処理により決定された基本量子化パラメータQPMB、第1のプレエンコード処理により決定された予測量子化行列QmatrixD、アクティビティグループActivity Group及び画面内予測モードを使用してエンコードを行う。こうして、画像情報の符号化に係る一連の処理を終了する。
以上説明したように、本発明の第3の実施の形態によれば、1ピクチャに与えられた目標符号量に、画面内フィードバック(Feed Back)制御を行わずに発生符号量を合わせ込むことが可能になる。これにより、フィードバックパラメータの不適切な初期値による弊害や、不適切な目標符号量配分など、フィードバック制御の問題を取り除くことが可能になる。結果として、目標符合量に発生符号量を一致させ、視覚特性を考慮した符号量配分、つまり量子化パラメータの決定が可能となる。
(4−4)量子化係数による原画判定処理
(4−4−1)原理
次に、量子化係数による原画判定処理の原理について説明する。
ここでは、処理の基本情報として量子化係数各値の絶対値である量子化係数絶対値levelの各発生回数を、アクティビティグループ及びDCT Blockごとにカウントしたカウント値(Count[each_activity_group][each_position][each_level])の分布データを使用する。
図22には、原画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示し、図23には、前回に量子化パラメータQP=20で符号化した画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示す。各横軸は量子化係数絶対値levelの値、縦軸は量子化係数絶対値levelの発生回数のカウント値である。
図から、原画像では量子化係数絶対値levelが大きくなるに従って発生回数が単調減少する。これに対して非原画像では一度量子化によって量子化係数絶対値levelが丸められているため、量子化パラメータQPに基づく量子化ステップの整数倍のときに量子化係数絶対値levelの発生回数が大きくなり、当該発生回数に離散的なピークが表われる。
ここで量子化係数絶対値levelは、上述したエントロピー計算部17による符号量予測処理において、最小の量子化パラメータQPを用いて量子化された量子化係数である。すなわち、最小の量子化パラメータQPとして非常に小さい値が想定されているため、仮に量子化パラメータQPが「0」以外の値であっても、量子化係数絶対値levelは、DCT係数をAVC規格で規定しているスケーリングファクターMFによって除算した値に近い値をとることになる。
すなわちQmatrixを考慮にいれない場合、上述したピークは、予測量子化パラメータQPdと量子化行列Qmatrixの要素値との乗算値の整数倍近傍に周期的に表われることになる。
特に量子化係数絶対値levelが「0」の次のピーク(以下、これを1番目ピークと呼ぶ)の場合には、符号量予測処理において使用された最小の量子化パラメータQPが「0」以外の場合における影響を小さくすることができる。
従って符号化装置12では、この1番目ピークを検出できたか否かにより、入力画像データが表す画像が一度も符号化されていない原画像又は符号化されたことのある非原画像のいずれであるかを判定するようになされている。
また符号化装置12では、1番目ピークの検出された量子化パラメータQPを、見積量子化パラメータQPeとして見積もる。この見積量子化パラメータQPeは、前回の符号化処理において使用されたピクチャ内の平均の量子化パラメータQPに相当するものとなる。さらに符号化装置12では、量子化係数の行列内の位置ごとに処理を実行することにより、見積量子化行列Qmatrixを検出するようになされている。
(4−4−2)具体的な処理内容
以下、本発明の量子化係数による原画判定処理を更に詳細に説明する。
一般に、H.264 AVCの符号化方式では、IDCTの演算精度が十分でない、Intra予測モードが100[%]再現されない、等の非線形な歪要因により、量子化による離散状態に広がりが見られるものの、離散状態を検出することは可能である。1画面分のデータは統計的に十分過ぎる情報であるため、本件では演算量を削減する目的で、量子化パラメータQP近傍の分布、即ち量子化後の係数レベルが1であるものの剰余が最小となる、量子化パラメータQPと量子化行列Qmatrixを求める。尚、隣接する量子化レベルを示す分布のデータは除外する必要がある為、QP/2〜3QP/2の範囲のデータを評価対象とする。
以下、量子化係数による原画判定処理手順RT16を示す図24のフローチャートを参照して、ステップS201の処理について更に説明する。
まず、符号量予測処理で求めた予測量子化パラメータQPdの近傍±6程度で変化する変数(すなわち検出対象となる量子化パラメータ)をサーチ量子化パラメータQP(sch_qp)とすると、当該サーチ量子化パラメータQP(sch_qp)にアクティビティによるオフセットを付加した適応量子化パラメータQPt(qp)を次式に従って算出することができる。
qp=sch_qp+AdaptQpDelta[activity_group] ・・・(19)
次いで、量子化パラメータQPの量子化レベルを示すピークレベル(t[0])、QP/2のレベルを示すボトムレベル1(t[1])と3QP/2のレベルを示すボトムレベル2(t[2])を次式により決定する(ステップS221)。
t[0]=((Q_Matrix[mid][pos](qp/6))/16) ・・・(20)
ここで、Q_matrix[mid][pos]は4x4DCTブロックのmid種類目のQmatrixのうち、 pos番目の位置の値を示す。すなわちQmatrix/Base QP検出部108は、予測量子化パラメータQPdに基づき1番ピークが出現するであろうピークレベル(t[0])の量子化係数絶対値levelを(20)式に従って予測する。
すなわちQmatrix/Base QP検出部108は、サーチ量子化パラメータQP(sch_qp)について、適応量子化を行った適応量子化パラメータQPt及びQmatrixの位置(pos)ごとに、検索対象となるサーチQmatrixの値が乗算されたものをピークレベル(t[0])として設定する。言い換えると、Qmatrix/Base QP検出部108は、一のサーチ量子化パラメータQP(sch_qp)について、適応量子化パラメータQPt及びQmatrixの位置(pos)に応じて異なる値をピークレベル(t[0])に設定している。
t[1]=t[0]/2 ・・・(21)
t[2]=t[0]+t[1] ・・・(22)
すなわちQmatrix/Base QP検出部108は、t[0]の1/2をt[1]とし、t[0]とt[1]とを加算した値をt[2]として算出する。
次に、ピークレベル(t[0])のカウント値のピーク積算(p[mid][qp])、ボトムレベル1(t[1])のカウント値のボトム積算(b[mid][qp])を処理する(ステップS222)。
p[mid][qp]+=Count[activity_group][pos][t[0]] ・・・(23)
すなわちQmatrix/Base QP検出部108は、各サーチ対象となるサーチQmatrix(mid)及びサーチ量子化パラメータQP(sch_qp)ごとに、アクティビティグループ(activity_group)及びQmatrixの位置(pos)ごとにカウントされたピークレベル(t[0])における発生回数のカウント値を積算する。
b[mid][qp]+=Count[activity_group][pos][t[1]] ・・・(24)
すなわちQmatrix/Base QP検出部108は、各Qmatrix及びサーチ量子化パラメータQP(sch_qp)ごとに、アクティビティグループ(activity_group)及びQmatrixの位置(pos)ごとにカウントされたボトムレベル1(t[1])における発生回数のカウント値を積算する。
ここでカウント値は、Qmatrix/Base QP検出部108は、アクティビティグループ(activity_group)及びQmatrixの位置(pos)ごとにカウントされている。
Qmatrix/Base QP検出部108は、(21)式に示したように、t[0]として、アクティビティグループごとに量子化係数絶対値levelに対して2QP/6(ただしサーチ量子化パラメータQPは符号量算出処理の際に量子化に使用された適応量子化パラメータQPt)を乗算している。すなわちQmatrix/Base QP検出部108は、サーチ量子化パラメータQP(sch_qp)として、適応量子化パラメータQPtに応じた値を設定している。
これによりQmatrix/Base QP検出部108は、アクティビティグループの異なる量子化係数絶対値levelの発生回数を等価に扱うことが可能となり、各アクティビティグループにおけるピーク同士を重複させることが可能となる。
またQmatrix/Base QP検出部108は、(21)式に示したように、t[0]として、Qmatrixの位置(pos)ごとに、量子化係数絶対値levelに対してサーチQmatrix(mid)における各値を乗算している。
これによりQmatrix/Base QP検出部108は、Qmatrixの位置(pos)の異なる量子化係数絶対値levelの発生回数を等価に扱うことが可能となり、各Qmatrixの位置(pos)におけるピーク同士を重複させることが可能となる。
この結果Qmatrix/Base QP検出部108は、適応量子化パラメータQPtの相違や、Qmatrixの位置(pos)の相違を補正して、全てを量子化係数絶対値levelの発生回数として取り扱うことができる。このためQmatrix/Base QP検出部108は、1番ピークを検出するために十分なサンプル数を得ることができ、ピークの検出精度を向上しうるようになされている。
そして、Qmatrix/Base QP検出部108は、次式に従って、サーチ量子化パラメータQP(sch_qp)及び量子化行列Qmatrix(mid)ごとの量子化係数の誤差(rest[mid][qp])を積算する(ステップS223)。
rest[mid][qp]+=abs(t[0]−lev)×Count[activity_group][pos][lev]・・・(25)
ここで、levはボトムレベルt[1]からt[2]まで変化する変数であり、absは絶対値を表している。
このとき、Qmatrix/Base QP検出部108は、ピークレベル(t[0])及びボトムレベル1(t[1])と同様に、各アクティビティグループ及び各Qmatrixの位置(pos)ごとの補正を行うことにより、量子化係数絶対値levelの発生回数を等価に扱った上で、誤差(rest[mid][qp])を積算する。
すなわちQmatrix/Base QP検出部108は、各Qmatrix及びサーチ量子化パラメータQP(sch_qp)について、アクティビティグループ(activity_group)及びQmatrixの位置(pos)ごとに、変数levにおける発生回数を積算して積算値を算出する。さらにQmatrix/Base QP検出部108は、当該積算値に対してピークレベル(t[0])から変数levを減算した減算値の絶対値を乗算することにより、誤差(rest[mid][qp])(すなわち剰余の大きさ)を算出する。
言い換えると、Qmatrix/Base QP検出部108は、ピークレベル(t[0])に対する変数levの差異値を積算値に乗算している。このため誤差(rest[mid][qp])は、ピークレベル(t[0])が実際のピークと合致したときには、大きな値でなるピーク部分に対して小さな差異値が乗算されるため、その値が小さくなる。一方、誤差(rest[mid][qp])は、ピークレベル(t[0])が実際のピークと離隔すればするほど、大きな値でなるピーク部分に対して大きな差異値が乗算されることになるため、その値が大きくなる。
このようにピーク積算p[mid][qp]、ボトム積算b[mid][qp]、誤差rest[mid][qp]は、全てのactivity_group、Qmatrixの位置(pos)におけるカウント値を積算することで、ピクチャ内における全てのサンプルの平均分布を表すパラメータをあらわすことができる。
Qmatrix/Base QP検出部108は、ボトムレベル間を全て処理したか否かを判定し(ステップS224)、全て処理するまでステップS223の処理を繰り返し、全て処理すると全てのQmatrixの位置(pos)を処理したか否かを判定する(ステップS225)。
このステップS225にて、Qmatrix/Base QP検出部108は、全て処理するまでステップS221〜S225の処理を繰り返し、全て処理すると、Qmatrixの位置(pos)を初期化し(ステップS226)する。Qmatrix/Base QP検出部108は、全てのアクティビティグループを処理したか否かを判定する(ステップS227)。Qmatrix/Base QP検出部108は、ここで全てのアクティビティグループを処理していなければステップS221に戻り上記処理を繰り返す。一方、Qmatrix/Base QP検出部108は、全てのアクティビティグループを処理していれば、全てのサーチ量子化パラメータQP(sch_qp)について処理したか否かを判定する(ステップS228)。
Qmatrix/Base QP検出部108は、このステップS228にて、全てのサーチ量子化パラメータQP(sch_qp)について処理していなければ上記ステップS221に戻り、上記処理を繰り返し、一方、全てのサーチ量子化パラメータQP(sch_qp)について処理していれば、全てのサーチQmatrix(mid)について処理したか否かを判定する(ステップ229)。Qmatrix/Base QP検出部108は、このステップS229にて、全てのサーチ量子化パラメータQP(sch_qp)について処理していなければ上記ステップS221に戻り、上記処理を繰り返し、一方、全てのサーチ量子化パラメータQP(sch_qp)について処理していれば、判定処理を行い(ステップS230)、こうして一連の処理を終了することになる。
次に、判定処理手順RT17を示す図25のフローチャートを参照して、図24のステップS230の判定処理について更に詳細に説明する。
ここでは、ピーク積算p[mid][qp]、ボトム積算b[mid][qp]、誤差rest[mid][qp]を用いて前回符号化した場合の量子化行列Qmatrixとピクチャの量子化パラメータQPを求める。尚、ステップS231及びステップS237は省略することもできる。
先ず、Qmatrix/Base QP検出部108は、誤差最小値(min_rest_norm)をrest[0][0]などで初期化する(ステップS231)。次いで、Qmatrix/Base QP検出部108は、ピーク積算p[mid][qp]がボトム積算b[mid][qp]よりも大きいか否かを判断する(ステップS232)。ここでQmatrix/Base QP検出部108は、ピーク積算p[mid][qp]がボトム積算b[mid][qp]よりも大きくなければ、ピークt[0]が実際のピークである可能性がないため、ステップS236に移行する。一方Qmatrix/Base QP検出部108は、ピーク値積算値がボトム値積算値よりも大きければ、ピークt[0]が実際のピークである可能性があるため、誤差rest[mid][qp]をピーク積算p[mid][qp]とボトム積算b[mid][qp]の差で正規化した正規化誤差rest_normを次式に従って求める(ステップS233)。
rest_norm=rest[mid][qp]/(p[mid][qp]−b[mid][qp])・・・(26)
これによりQmatrix/Base QP検出部108は、ピークt[0]が実際のピークと一致していれば検出されないボトム積算b[mid][qp]をペナルティ因子とした上で、全体的な誤差rest[mid][qp]の変動をピークの高さで正規化することができる。またQmatrix/Base QP検出部108は、入力画像データが原画像を表すため単調増加するような場合の正規化誤差rest_normを大きくし、誤差最小値として誤検出されることを確実に防止し得る。
続いてQmatrix/Base QP検出部108は、ステップS233によって算出された正規化誤差rest_normが誤差最小値より小さいか否かを判定する(ステップS234)。Qmatrix/Base QP検出部108は、正規化誤差rest_normが誤差最小値より小さければ誤差最小値を更新し(ステップS235)、ステップS236に進む。すなわちステップS235は、離散的な分布状態を検出した場合のみ実行される処理であってmin_rest_norm=rest_normとする。
また、全ての量子化行列Qmatrix及びサーチ量子化パラメータQP(sch_qp)のうちで、正規化誤差rest_normが最小となる場合のサーチ量子化パラメータQP(sch_qp)とサーチQmatrix(mid)が前回の符号化で使用されたピクチャの量子化パラメータQPと量子化行列Qmatrixを示す。この処理が一度も呼ばれない場合、量子化の離散状態が検出されなかった場合で、前回1度も符号化していない原画像と見なすことができる。
続いてQmatrix/Base QP検出部108は、全てのサーチ量子化パラメータQP(sch_qp)を処理したか否かを判定する(ステップS236)。Qmatrix/Base QP検出部108は、全てのサーチ量子化パラメータQP(sch_qp)を処理していなければステップS232に戻り、上記処理を繰り返す。一方、Qmatrix/Base QP検出部108は、全てのサーチ量子化パラメータQP(sch_qp)を処理していれば、サーチ量子化パラメータQP(sch_qp)の範囲を初期化し(ステップS237)、全ての量子化行列Qmatrixの候補を処理したか否かを判断する(ステップS238)。ここでQmatrix/Base QP検出部108は、全ての候補を処理していなければステップS232に戻り、上記処理を繰り返し、一方で全ての候補を処理していれば、一例の処理を終了する。
次に、入力画像切替処理手順RT18を示す図26のフローチャートを参照して、入力画像切り替え処理について詳細に説明する。符号化装置12では、前述した図25の処理により、入力信号が原画像であるか、前回符号化した画像であるかを検出できるため、この条件に基づいて、入力信号を切り替える。すなわち符号化装置12では、量子化歪の目立ちやすい原画像に対しては入力画像データに対してローパスフィルタ処理を施し、目立ちにくい原画像の場合にはそのまま入力画像データを入力する。一方符号化装置12は、入力画像データが符号化したことのある非原画である場合は、入力画像データを用いてバックサーチ処理をすることで効率を改善するものである。
すなわち、符号量制御部109は、Qmatrix/Base QP検出部108から見積量子化行列QmatrixE及び見積量子化パラメータQeが供給されたか否かにより前回符号化時の量子化行列Qmatrixとピクチャの量子化パラメータQPが見つかったか否かを判別する(ステップS241)。符号量制御部109は、それらが見つかった場合には、バックサーチ部210を「ON」に切り替え(ステップS242)、入力画切り替え処理部203によってDCT部205に対して入力画像データを出力する(ステップS243)。この結果、バックサーチ処理では、予測画像として入力画像が使用されることになる。
一方、符号は制御部109は、ステップS241で、前回符号化時の量子化行列Qmatrixとピクチャの量子化パラメータQPが見つからなかった場合には、バックサーチ部210を「OFF」に切り替え(ステップS244)、符号量予測処理で求めた予測量子化パラメータQPdが所定の歪閾値よりも大きいか否かを判断する(ステップS245)。ここで、符号量制御部109は、符号量予測処理で求めた予測量子化パラメータQPが歪閾値よりも大きい場合、入力画切り替え処理部203によってローパスフィルタ処理部201からの信号をDCT部205に対して出力し、大きくない場合には入力画切り替え処理部203によってディレイバッファ202からの信号を出力し(ステップS247)、この処理を終了する。
以上説明したように、本発明の量子化係数による原画判定処理によれば、DCT後の離散的な分布状態から、高い精度で、前回符号化した信号か否かを見極めることで、1st時(原画像)に対してのみに使用したいプレフィルタ処理(ローパスフィルタ処理)を切り替える判定することができるため、1st画像の主観画質を改善しつつ、ダビング特性を維持することができる。また、前回符号化した信号である場合は、予測画像に入力画像を使用することで、バックサーチの検出効率を改善する。分布状態から割り出したピクチャの平均量子化パラメータQPと量子化行列Qmatrixを割り出し、バックサーチ部の演算を削減することが出来る。
(4−5)3パス符号化処理手順
次に、第3の実施の形態における3パス符号化処理手順RT11を、図17のフローチャートを用いて説明する。
符号化装置12は、入力画像データが供給されると、ステップS101に移り、アクティビティグループを算出し、次のステップS102へ移る。
ステップS102において、符号化装置12は、画面内予測モードを決定すると、次のステップS103へ移る。なおステップS101とS102は、同時並行的に実行されても良い。
ステップS103において、符号化装置12は、ステップS102において決定された画面内予測モードを用いて画面内予測を行うと共に、DCT処理、量子化処理を実行すると、次のステップS103へ移る。
ステップS103において、符号化装置12は、符号量予測処理手順RT14へ移り、全ての量子化パラメータQPによる発生符号量を予測すると、次のステップS201へ移る。
ステップS201において、符号化装置12は、量子化係数による原画判定処理手順RT16へ移り、符号量予測処理で用いた量子化係数をそのまま使用して原画判定を実行すると、次のステップS202へ移る。このとき符号化装置12は、入力画像データが非原画像であった場合には、見積量子化行列QmatrixE及び見積量子化パラメータQPeを検出することになる。
ステップS202において、符号化装置12は、入力画像データが原画像であるか否かを判別し、肯定結果が得られた場合には、次のステップS105へ移る。
ステップS105において、符号化装置12は、Flatな量子化行列Qmatrixを用いて目標符号量に最も近い量子化パラメータQPを選択すると、次のステップS106へ移る。ステップS106において、符号化装置12は、当該量子化パラメータQPに基づいて予測量子化行列QmatrixDを決定し、次のステップS107へ移る。
ステップS107において、符号化装置12は、予測量子化行列QmatrixDを用いたときの発生符号量が目標符号量に最も近くなる量子化パラメータQPを予測量子化パラメータQPdとして決定すると、次のステップS108へ移る。
ステップS108において、符号化装置12は、予測量子化パラメータQPd及び予測量子化行列QmatrixDを用いて第2のプレエンコード処理を実行すると、次のステップS109へ移る。
ステップS109において、符号化装置12は、ステップS109における発生符号量から予測量子化パラメータQPdを補正することにより、基本量子化パラメータQMBを算出すると、次のステップS110へ移る。
このときステップS110において、符号化装置12は、予測量子化行列QmatrixD及び基本量子化パラメータQMBを用いて本エンコードを実行すると、終了ステップに移って処理を終了する。
これに対してステップS202において否定結果が得られた場合、このことは入力画像データが既に符号化されたことのある非原画像であるため、符号化装置12は、次のステップS204へ移る。
ステップS204において、符号化装置12は、ステップS201において見積もられた見積量子化行列QmatrixEを用い、見積量子化パラメータQPeに基づく検索範囲によりバックサーチ処理を実行すると、次のステップS110へ移る。このとき符号化装置12は、検出量子化パラメータQPbを検出することになる。
ステップS110において、符号化装置12は、見積量子化行列QmatrixE及び検出量子化パラメータQPbを用いて本エンコードを実行すると、終了ステップへ移って処理を終了する。
(4−6)動作及び効果
以上の構成において、符号化装置12は、画像データとしての差分画像データに対し直交変換を実行してDCT係数を生成する。符号化装置12は当該DCT係数に基づく量子化係数を構成する係数要素(量子化係数絶対値level)の値ごとの発生回数をカウントし、量子化係数絶対値levelの分散状態に基づいて、ピクチャごとの量子化パラメータを見積もる。
これにより符号化装置12は、量子化係数絶対値levelの発生回数の分散状態に基づいて入力画像データが原画であるか非原画であるかを判別できる。すなわち符号化装置12は、バックサーチ処理のように量子化パラメータを変更して何度も処理を行わなくても、一度算出された量子化係数絶対値levelの発生回数を用いて、簡易な処理で原画/非原画を判別することができる。
また符号化装置12は、バックサーチ処理の前段で原画/非原画を判別することができるため、原画であった場合には処理の複雑なバックサーチ処理を実行しなくても済む。これにより符号化装置12は、バックサーチ処理の後に原画/非原画を判別する方法と比較して、原画であった場合の符号化処理を高速化し得る。
さらに符号化装置12は、DCT係数をスケーリング値としての最小の量子化パラメータQPで除算した量子化係数を用いる。これにより符号化装置12は、DCT係数をスケーリングすることができるため、量子化係数をカウントするためのカウンタの数を減少させることができる。
また符号化装置12は、量子化係数の要素の絶対値ごとの発生回数をカウントすることにより、カウンタの数をさらに減少させることができる。
さらに符号化装置12は、量子化係数絶対値levelが最小値(ただし、ゼロを除く)となる1番目ピークに基づいて、量子化パラメータQPを検出する。これにより符号化装置12は、1番目ピークについてのみ処理を実行すれば良いため、処理負荷を軽減できる。
また符号化装置12は、量子化係数の発生回数に基づいたエントロピー計算により、各量子化パラメータにおける発生符号量を予測し、予測された発生符号量が目標符号量に近くなる量子化パラメータQPを、予測量子化パラメータQPdとして予測する。符号化装置12は、予測量子化パラメータQPdを用いてDCT係数を量子化し、結果として得られる符号化ストリームの発生符号量に基づいて、予測量子化パラメータQPdを補正する。
これにより符号化装置12は、発生符号量の予測のためにカウントされた量子化係数の発生回数をそのまま原画/非原画の判定に用いることができる。
さらに符号化装置12は、マクロブロックでなる入力画像データを、当該入力画像データの複雑さを表すアクティビティに応じてアクティビティグループ分類する。そして符号化装置12は、アクティビティグループごとにカウントされた量子化係数絶対値levelの発生回数を、アクティビティを用いて補正した上で積算することにより、量子化係数絶対値levelの値ごとの発生回数として生成する。
これにより符号化装置12は、発生符号量の算出のためにアクティビティグループごとにカウントされたカウント値をそのまま用いて量子化係数絶対値levelの値ごとの発生回数を算出することができ、カウント値を再度カウントし直さなくても済む。
また符号化装置12は、量子化係数絶対値levelの行列における位置ごとにカウントされた量子化係数絶対値levelの発生回数を、使用されたと想定したサーチ量子化係数における同位置の値を用いて補正した上で積算することにより、量子化係数絶対値levelの値ごとの発生回数として生成する。
これにより符号化装置12は、量子化行列Qmatrixの予測のために行列の位置ごとにカウントされたカウント値をそのまま用いて量子化係数絶対値levelの値ごとの発生回数を算出することができ、カウント値を再度カウントし直さなくても済む。
さらに符号化装置12は量子化係数絶対値levelに対して基準要素値であるピークレベル(t[0])を設定し、当該ピークレベル(t[0])と離隔する離隔値(t[0]−lev)と量子化係数絶対値levelの発生回数とを乗算した値を積算した積算値を、当該ピークレベル(t[0])に対応する誤差rest[mid][qp]として算出する。
このとき符号化装置12は、ピークレベル(t[0])ごとの積算値のうち、最小の値をとる誤差rest[mid][qp]に対応するピークレベル(t[0])に基づいて、前回の符号化に使用された量子化パラメータQP近傍の見積量子化パラメータQPeを決定する。
これにより符号化装置12は、誤差rest[mid][qp]が最小となる誤差最小値(min_rest_norm)を1番目ピークとして検出することができ、当該1番目ピークの量子化係数絶対値levelから、ピクチャの平均となる見積量子化パラメータQPeを検出することができる。
また符号化装置12は、量子化係数絶対値levelに対して検出対象となるサーチ量子化パラメータQP(sch_qp)に基づくピークレベル(t[0])を設定し、ピークレベル(t[0])とボトムレベル(t[1])との比較により当該ピークレベル(t[0])が極大値であると判別された場合に、当該サーチ量子化パラメータQP(sch_qp)を見積量子化パラメータQPeとして決定する。
これにより符号化装置12は、ピークのみを確実に検出することができ、見積量子化パラメータQPeを適切に決定することができる。
さらに見積量子化パラメータQPe及び検出対象となる量子化行列であるサーチQmatrixに基づくピークレベル(t[0])を設定し、当該ピークレベル(t[0])が極大値であると判別された場合に、当該サーチQmatrixを見積量子化行列サーチQmatrixEとして決定する。
これにより符号化装置12は、量子化係数から、量子化パラメータQPに加えて見積量子化行列サーチQmatrixEを検出することができる。
以上の構成によれば、符号化装置12は、一旦符号化された画像データではDCT係数の発生回数が離散的になることを利用し、当該DCT係数の要素値の発生回数に基づいて前回符号化された量子化パラメータQPを見積量子化パラメータQPeとして見積もるようにした。
これにより符号化装置12は、バックサーチ処理の際、見積量子化パラメータQPeに基づいて検索範囲を設定することができるため、バックサーチ処理の対象となる量子化パラメータQPの数を減少させることができ、バックサーチ処理の処理負荷を軽減することができる。
また符号化装置12は、見積量子化パラメータQPeの検出有無に応じて、入力画像データが原画であるか非原画であるかを判別するようにした。これにより符号化装置12は、バックサーチ処理の前段で原画/非原画を判別することができるため、原画である場合に処理負荷の大きいバックサーチ処理を実行しなくて済むと共に、原画に対して発生符号量の予測により算出された適切な基本量子化パラメータQPMBを用いることができる。
(4−7)他の実施の形態
なお上述した第3の実施の形態においては、符号化装置12がエントロピー計算を用いた符号量予測処理及び量子化係数を用いた原画判定処理を実行するようにした場合について述べた。本発明はこれに限らず、例えば符号化装置12がエントロピー計算を用いた符号量予測処理のみを実行するようにしても良い。
この場合、符号化装置13は、図27に示されるように、第1のプレエンコードを行う第1のプレエンコーダ100、第2のプレエンコードを行う第2のプレエンコーダ200、本エンコードを行うパラメータエンコーダ300、符号量制御部109、ディレイバッファ201、301を有する。第1のプレエンコーダ100は、画面内予測モード決定部102、画面内予測処理部103、DCT部104、量子化部105、エントロピー計算部107、アクティビティ計算部101からなる。第2のプレエンコーダ200は、画面内予測処理部203、DCT部204、量子化部206、符号長計算部211、バッファ209、IDCT(Inverse DCT)部208、逆量子化部207からなる。パラメータエンコーダ300は、画面内予測処理部302、DCT部303、量子化部304、エントロピー符号化部308、バッファ307、IDCT部306、逆量子化部305からなる。
このような構成において、入力画像データは、最初に第1のプレエンコーダ100の画面内予測モード決定部102に入力される。画面内予測モード決定部102は、この入力画像データに基づいて画面内予測モードを決定する。ここで決定された画面内予測モードは、第2のプレエンコーダ200、パラメータエンコーダ300にも送出され、第2のプレエンコーダ200による第2のプレエンコード処理、パラメータエンコーダ300による本エンコード処理でも使用される。
次に画面内予測処理部103では、予測画像データと入力画像データとの差分画像が計算される。ここでは、処理を簡単にするために入力画像データから予測画像データを生成する。DCT部104では整数精度DCTがなされDCT係数が量子化部105に送られる。量子化部105では、DCT係数について量子化を行い、その出力をエントロピー計算部107に送出する。エントロピー計算部107は、エントロピーを計算し発生符号量を予測する。符号量予測の結果、次のステップで使用するピクチャの予測量子化パラメータQPdと予測量子化行列QmatrixDが求められ、符号量制御部109に入力される。ここで、補足すると、量子化パラメータQPとは、AVCにおいて量子化ステップを指定するための値であり、量子化パラメータQPが大きくなると量子化ステップも大きな値となる。
画面内予測モードの決定と同時に、第1のプレエンコーダ100では、アクティビティ計算部101がアクティビティを計算し、該アクティビティによりマクロブロックMBをグループ分けする。各マクロブロックMBに対して決定されたアクティビティグループ(Activity Group)番号はエントロピー計算部107と符号量制御部109に入力される。
符号量制御部109は、第1のプレエンコーダ100の第1のプレエンコード処理により求められたピクチャの平均となる予測量子化パラメータQPd、予測量子化行列QmatrixD、各マクロブロックのActivity Groupから、量子化の情報(量子化行列Qmatrix、各MBの量子化パラメータQP)を第2のプレエンコーダ200に送り、第2のプレエンコード処理を行う。
即ち、ディレイバッファ201を介して遅延処理の後に入力画像データが入力され、画面内予測処理部203では予測画像データと入力画像データとの差分が計算され、DCT部204によるDCT、量子化部206による量子化を経て、符号長計算211において逆量子化され係数データが再生され、IDCT部208により該係数データがIDCT変換され、入力画像に係る画像データが再現され、バッファ209に保存されることになる。
この第2のプレエンコーダ200による第2のプレエンコード処理の終了後、発生符号量を得る。符号量制御部109は、得られた発生符号量から、ピクチャの予測量子化パラメータQPdを補正して基本量子化パラメータQPMBを算出することになる。
パラメータエンコーダ300は、第2のプレエンコーダ200による第2のプレエンコード処理により決定されたピクチャの基本量子化パラメータQPMB、第1のプレエンコード処理により決定された予測量子化行列QmatrixD、アクティビティグループActivity Groupを使用して本エンコードを行うことになる。
即ち、ディレイバッファ301を介して遅延処理された入力画像データを受けると、画面内予測処理部302では第1のプレエンコード時に決定された予測モードで、予測画像と入力画像との差分画像が計算され、DCT部303によるDCT部303、量子化部304による量子化を経てエントロピー符号化部308によりエントロピー符号化がなされ、出力ストリームが出力される。尚、量子化部304の出力は、逆量子化部305において逆量子化され、係数データが再生され、IDCT部306により該係数データがIDCT変換され、入力画像に係る画像データが再現され、バッファ307に保存されることになる。
図28に、符号化装置13によって実行される3パス符号化処理手順RT19を示している。各ステップにおける処理は、図17とほぼ同様なため、説明を省略する。
さらに上述した第3の実施の形態においては、アクティビティに対応して符号量予測処理を実行するようにした場合について述べたが、本発明はこれに限らず、必ずしもアクティビティに対応する必要はない。また量子化行列Qmatrixについても同様である。また適応量子化の指標としてアクティビティを用いる必要はなく、他の指標を用いて適応量子化を行っても良い。
また上述した第3の実施の形態においては、バックサーチ処理の際、見積量子化行列Qmatrixを用いて量子化パラメータQPのみを検出する場合について述べた。本発明はこれに限らず、バックサーチ処理により量子化行列Qmatrixを検出するようにしても良い。この場合、例えば見積量子化行列QmatrixEに基づいて量子化行列Qmatrixの検索数を限定して演算を削減することができる。
さらに上述した第3の実施の形態においては、ピクチャごとに見積量子化パラメータQPe及び見積量子化行列QmatrixEを見積もるようにした場合について述べた。本発明はこれに限らず、検出する単位に制限はない。本発明は、例えば量子化行列Qmatrixがスライス毎に設定されている場合には、スライスごとに処理しても良い。また本発明は、予測量子化パラメータQPd、予測量子化行列QmatrixD及び基本量子化パラメータQPMBを予測するときについても同様であり、予測する単位に制限はない。
さらに上述した第3の実施の形態においては、ピクチャごとに発生符号量を予測するようにした場合について述べた。本発明はこれに限らず、発生符号量の予測する単位について、特に制限はなく、例えばスライス単位やGOP単位ごとに予測することが可能である。
さらに上述した第3の実施の形態においては、符号化装置13が符号量予測処理と量子化係数による原画判定処理の双方を実行するようにした場合について述べた。本発明はこれに限らず、量子化係数による原画判定処理のみを実行するようにしても良い。この場合、符号化装置13は、3パスによる符号化処理手順RT11(図17)におけるステップS201〜S204を順次実行する。このとき符号化装置は、適応量子化を実行しないようにし、量子化係数の位置にのみ応じて量子化係数の発生回数を単純にカウントしても良い。また符号化装置は、量子化行列Qmatrixがフラットな場合には、量子化係数を単純にカウントしても良い。
さらに上述した第3の実施の形態においては、DCT係数を使用が想定される最小の量子化パラメータQPによって除算するようにした場合について述べた。本発明はこれに限らず、DCT係数における係数要素の値の発生回数をそのままカウントしても良い。また、符号量予測処理において「0」以外の量子化パラメータQPを用いた場合には、「0」で除算したときの値になるよう量子化係数を補正しても良い。
さらに上述した第3の実施の形態においては、判定処理手順RT17に従って量子化係数絶対値レベルLevelのカウント値から1番目ピークを検出するようにした場合について述べた。本発明はこれに限らず、その他種々の方法により1番目ピークを検出しても良い。また必ずしも1番目ピークを検出する必要はなく、2番目以降のピークを検出したり、複数のピークを検出、または全体的な波形により分散状態を算出しても良い。
さらに上述した第3の実施の形態においては、アクティビティグループ及び量子化係数における位置ごとにカウントされた発生回数を補正して積算するようにした場合について述べた。本発明はこれに限らず、例えばサンプル数が十分に確保できる場合には、アクティビティグループ及び量子化係数における位置ごとに量子化パラメータQPを検出しても良い。
さらに上述した第3の実施の形態においては、原画判定処理として、原画/非原画の判定と見積量子化パラメータQP及び見積量子化行列Qmatrixの見積もりの両方を実行するようにした場合について述べた。本発明はこれに限らず、一方のみを実行するようにしても良い。
さらに上述した第3の実施の形態においては、AVC規格に準拠して量子化係数による原画判定処理を実行するようにした場合について述べた。本発明はこれに限らず、例えばMPEG−2等、予め定められた複数の量子化パラメータQP等の量子化指標に基づく複数の量子化ステップにより量子化を実行する符号化方式に適用することができる。
さらに上述した第3の実施の形態においては、直交変換部としてのDCT部104と、除算因子算出部、総和算出部及び量子化因子検出部としてのバックサーチ部210とによって画像処理装置としての符号化装置10を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる直交変換部と、除算因子算出部と、総和算出部と、量子化因子検出部とによって本発明の画像処理装置を構成しても良い。
さらに上述した第3の実施の形態においては、直交変換部としてのDCT部104と、要素カウント部としてのレベル計数部106と、原画判定部としてのQmatrix/Base QP検出部108とによって画像処理装置としての符号化装置12を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成による直交変換部と、要素カウント部と、原画判定部とによって本発明の画像処理装置を構成するようにしても良い。
(5)第4の実施の形態
次に、第4の実施の形態について説明する。第4の実施の形態においては、演算丸めを抑制するために、量子化パラメータQPに応じて量子化行列Qmatrixにおける各値(以下、これを要素と呼ぶ)に所定の選択ルールを設ける点が、上述した第2の実施の形態と異なっている。
(5−1)選択ルール
MPEGやAVC規格において、ダビング特性を良くするために補償回路がしばしば導入される。ダビング補償回路は符号化で使われるパラメータ(量子化パラメータQPや量子化行列Qmatrixなど)の再現性を良くして、繰り返し量子化による歪が乗るのを避けることもなされているが、それだけではダビングを繰り返した場合にSNRが収束しないことがある。また、補償回路により全体的なSNRの低下は抑制される一方、特定のマクロブロックに対して演算誤差が蓄積した場合には、そのマクロブロックが浮き出て、視覚的に不自然な映像になることがある。
一方、AVC Intraではダビング(符号化、復号を繰り返し行うこと)時に、SNR低下を抑制するために符号化で使われるパラメータを再利用するという手法がしばしば採用される。しかし、実際には前回の符号化で使われたものと完全に同じ符号化パラメータを使って再度符号化しても、演算丸めでSNRの低下が起こることがある。
そこで、この第4の実施の形態に係る符号化装置、方法は、符号化の過程で演算丸
めが起こる箇所の一つである量子化行列Qmatrixを用いた演算部において、予め丸めの影響が出ない、または影響が出にくいような値を提案するものである。
具体的には、ダビング特性の向上のために、以下の手段を採用する。
・量子化行列Qmatrixの要素として、16の倍数を使う。
・量子化パラメータQPが6以上の場合、量子化行列Qmatrixの要素として、8の倍数を使う。
・量子化パラメータQPが12以上の場合、量子化行列Qmatrixの要素として、4の倍数を使う。
・量子化行列Qmatrixの直流成分(DC)に16を使う。
以下、第4の実施の形態について詳述する。
AVC Intraでは、符号化の際にDCT係数Wと量子化パラメータQPを用いて、次式により量子化レベルZが計算される(量子化)。
Z={(MF16/Qmatrix)W+f}>>(15+QP/6) ・・・(27)
ただし、 MF:AVCの規格で定められている値から算出されるスケーリングファクタ
f:切り上げ、切捨て位置を決める丸めファクタ
また、復号の際には量子化レベルZに量子化行列Qmatrixと量子化パラメータQPが掛けられてDCT係数Wを6bit左シフトしたものが復号される(逆量子化)。
(W<<6)=(ZQmatrixfloor(QP/6))>>4 ・・・(28)
ただし、V:AVCの規格で定められている復号スケーリングファクタ
この量子化、逆量子化の式では共に16を量子化行列Qmatrixで除算する、または量子化行列Qmatrixを16で除算するという計算が含まれており、ダビング時に符号化パラメータを完全に再利用しても除算丸めが起こる。この演算において除算丸めを完全になくすためには、数式上量子化行列Qmatrixの各要素が16でなくてはならないが、全ての要素を16とした場合にはダビング特性は良くなるものの、周波数に応じて量子化の強さを変えるという本来の量子化行列Qmatrix導入の意味がなく、現実的ではない。
そこで、周波数に応じて量子化の強さを変えるという量子化行列Qmatrixの利点を考慮した上で、上記の特性を最大限に活かすために以下の選定ルールをとる。
(1)量子化行列Qmatrixの要素として、16の倍数を使う。
量子化で16のn倍の値を量子化行列Qmatrixの要素として採用した場合、MFがnの倍数であれば除算丸めは起こらない。従って、除算丸めが起こる確率が小さくなる。また、逆量子化では16の倍数を16で除算することになるので、除算丸めは起こらない。
(2)量子化パラメータQPが6以上の場合、量子化行列Qmatrixの要素として、8の倍数を使う。 上記のとおり、除算丸めをなくすためには量子化行列Qmatrixの要素を16とすることが必要であるが、量子化行列Qmatrixの要素が8でも量子化では除算丸めが発生せず、逆量子化においてもQPが6以上の場合には、2floor(QP/6)が2の倍数となるため、16で除算される積が16の倍数となり、除算丸めは発生しない。
(3)量子化パラメータQPが12以上の場合、量子化行列Qmatrixの要素として、4の倍数を使う。 これは(2)と同様の考え方で、QPが12以上の場合には、2floor(QP/6)が4の倍数となるため、16で除算される積が16の倍数となり、除算丸めは発生しない。
(4)量子化行列Qmatrixの直流成分(DC)に16を使う。
入力画像の周波数空間におけるそれぞれの要素の視覚的特性を考えると、ダビング時にDCが除算丸めにより発散(増加、または減少を繰り返す)した場合、そのマクロブロックのみが浮き上がって見えることがあるため、上記(2)、(3)の場合を除いては、DCに関しては16を使うことが重要であると考えられる。
またAVC Intraでは画面内予測により、近隣のマクロブロックの値が参照される為、一つのマクロブロックに歪が乗ると、近隣のマクロブロックにも影響し、特にDCの影響が大きい。その点に関しても16を使うことが望ましい。
具体的に図29に示すように、符号化装置15は、初期パラメータ設定部400を有しており、選択ルールに沿った量子化行列Qmatrixを記憶している。そして量子化部23は、量子化する際に使用する量子化パラメータQPに応じ、後述する選択ルールに従って量子化行列Qmatrixを選択するようになされている。
また符号化装置15のQmatrix/QP決定部41は、プレエンコーダ20による符号化処理に基づいて、量子化パラメータQPに応じて、選択ルールに従って量子化行列Qmatrixを選択するようになされている。
以上説明したように、本発明の第4の実施の形態によれば、ダビングを繰り返した場合に、除算丸めによる切り上げ、切捨ての蓄積を低減し、結果として、SNRの低下を抑制できると共に、MBの浮き上がりを抑制でき、視覚特性を向上させることができる。
(5−2)動作及び効果
以上の構成において、符号化装置15は、量子化パラメータQPの値に応じた量子化行列Qmatrixを設定することにより、効果的に除算丸めを防止し得、符号化による画質の低下を抑制するようになされている。
(6)第5の実施の形態
次に、第5の実施の形態について説明する。第4の実施の形態では、8×8画素に対するDCT処理(以下、これを8×8DCTと呼ぶ)を実行する場合において、演算丸めを抑制する点が、上述した第4の実施の形態と異なっている。この第5の実施の形態による符号化装置16の構成は、第4の実施の形態による符号化装置15とほぼ同一なため、説明を省略する。
(6−1)8×8DCTにおける演算丸め抑制処理
AVCでは整数精度DCTのブロックサイズの一つとして8×8画素でなるサブブロックを利用することができるが、8×8DCTは4×4画素に対するDCT処理(以下、これを4×4DCTと呼ぶ)に比べて整数精度での演算がやや複雑になる。
例えばJoint Video Team(JVT)から提案された参照ソフトウエア(JM)では、整数精度の演算でなる8×8DCTとして、8×8DCTの演算途中で小数部が落とされる演算方法を採用しており、4×4DCTと比較してDCTの演算精度が悪い。
特にこのJMでは、ダビング(符号化、復号を繰り返すこと)することにより演算誤差が蓄積してしまい、画質の劣化を引き起こしてしまう。例えばJMでは、SNRが40dBを超えるような領域に対するダビング時の8×8DCTと4×4DCTのSNRを比較すると、4×4DCTと比較して8×8DCTにおけるSNRの低下が顕著となってしまう。
ここで、8×8DCTの入力(実空間サンプル、すなわち8×8画素単位で供給される差分画像データ)をx、出力(周波数空間DCT係数サンプル)をXとすると、出力Xは(29)式の変換行列Aを用いて(30)式のように表される。
Figure 2009035149
X=AxA ・・・(30)
すなわち8×8DCTにおける変換行列Aは、4×4DCT((3)式)とは異なり、分母が「2」、「4」又は「8」でなる分数が含まれている。
説明の簡略化のため、上記(30)式の水平方向の変換のみを考えると、変換は以下のように表記できる(添字のHは水平成分を表す)。
XH=AxH ・・・(31)
入力成分xは実空間におけるサンプルの座標(すなわち8×8画素のサンプルの位置)をインデックスiとして入力成分x[i]と表記することができ、出力成分Xは周波数空間におけるサンプルの座標をインデックスjとして出力成分X[j]のように表記することができる。
ここで出力成分X[0]は8×8DCT後の水平方向の直流成分(DC)の係数であり、出力成分X[7]は8×8DCT後の水平方向の最も高い周波数成分の係数である。例としてAVCで採用されている8×8DCTの水平方向の低周波側から2番目の成分X[1]を数式で表すと、以下のように記述される。
Figure 2009035149
AVC規格では、整数精度DCTが用いられており、乗算と右シフト(2のべき乗による除算)の整数演算で直行変換が実現できるようになっており、小数部が演算の過程で落とされることになる。(29)式に示したように、8×8DCTでは、変換行列Aの各要素が整数でなく、各演算において小数部が発生してしまう。
このため仮に符号化装置は、DCTの演算の過程で係数の右シフトを行った場合、小数部が演算の過程で落とされ、演算の精度が悪くなってしまう。
本発明は、上記の問題への対策として、本考案は演算丸めが起こる右シフトの演算を8×8DCTを実行する整数精度DCT部22のあとにまとめて行い、演算途中の丸めを最小限に抑えるものである。
具体的に、符号化装置16は、図30に示すように、8×8DCTの演算に先立ち、整数精度の演算でも演算丸めが発生しないよう水平方向、垂直方向の8×8DCT演算の直前にそれぞれ3bit左シフトした入力サンプルからDCT係数Xを計算する。次式に、水平方向における実際の8×8DCT演算を示す。
Figure 2009035149
(33)式は、次式のように表すことができる。
Figure 2009035149
すなわち符号化装置16は、3bitの桁上げにより、変換行列Aの各要素に対して「8」を乗算することになり、変換行列Aの全ての要素が整数である場合と同様の演算精度を保ち得るようになされている。
なお(33)式及び(34)式の例は水平方向の低周波側から2番目の成分に関しての記述であるが、他の水平方向、垂直方向の変換に関しても同様に3bit左シフトしたものを8×8DCTの入力信号とする。
これらの演算によって得られた8×8DCT係数Xは水平方向、垂直方向それぞれ3bit、すなわち合計6bit左シフトされたものであるので、システム全体(符号化部、復号部)の整合性を保つためには8×8DCT演算処理の後に、6bit右シフトしなければならない。
この6bit右シフトの演算は、これを量子化部23の内部でまとめて行うことができる。すなわち従来の符号化装置では、下記に示す(35)式に従って量子化演算を実行することにより、量子化係数に対応する量子化レベルZを算出する。なおZは量子化レベル、MFはAVC規格で定められている値から算出されるスケーリングファクター、WはDCT係数、fは切り上げ、切り捨て位置を決める丸めファクターである。
Z={(MF16/Qmatrix)W+f1}>>(15+QP/6) ・・・(35)
これに対して符号化装置16の量子化部23では、(36)式に従って量子化演算を実行することにより、6bitの右シフトを含めて演算することができ、システム全体の整合性を保つことができる。なおfは切り上げ、切り捨て位置を決める丸めファクターであり、整数DCT処理部22における桁上げに伴ってその値がfから変動している。
Z={(MF16/Qmatrix)W+f2}>>(15+QP/6+6)・・・(36)
すなわち符号化装置16では、8×8DCT演算の前に変換行列Aの各要素を3bitずつ桁上げしておき、量子化演算部23bにおいて6bitだけ桁下げする。このとき符号化装置16は、量子化演算処理時に実行する桁下げと同時に6bitの桁下げを実行するため、桁下げの回数を極力減少させることができ、桁下げによる演算丸めを最大限抑制することが可能となる。
図30に、8×8DCTにおける演算丸め抑制処理を概念的なブロック図として示している。
符号化装置16における整数精度DCT部22は、入力xが供給されると、これを桁上げ部22aによって桁上げし、8×8DCT演算部22bによって水平方向の8×8DCT演算を実行し、出力Xを算出する。なお実際上整数精度DCT部22は、(33)式に示したように、8×8DCT演算の際に各要素を3bit桁上げする。
さらに整数精度DCT部22は、同様にして、出力Xを桁上げ部22dによって桁上げし、8×8DCT演算部22bによって垂直方向の8×8DCT演算を実行し、出力Xを算出する。この出力Xは、DCT係数Wとして量子化部23に供給される。
量子化部23は、DCT係数Wが供給されると、量子化演算部23aによって量子化処理を実行して量子化レベルZを算出し、桁下げ部23bによって当該量子化レベルZを6bit桁下げする。なお実際上量子化部23は、(36)式に従って、量子化演算の際に各要素を6bit桁上げする。
このように符号化装置16は、8×8DCTにおいて、8×8DCT演算処理前に変換行列Aの各要素を3bitだけ桁上げしておき、演算結果を後に6bitだけ桁上げする。これにより符号化装置16は、変換行列Aの各要素が分数でなることに起因して8×8DCT演算処理における演算丸めを防止すると共に、システム全体の整合性を保ち得るようになされている。
(6−2)動作及び効果
以上の構成において、符号化装置16は、整数精度DCT処理として8×8DCT処理を実行する際、水平方向及び垂直方向による8×8DCT演算処理が終了する前に、演算処理の対象となる画像データ又は変換行列の各要素を水平方向及び垂直方向に対応させてそれぞれ3bitずつ桁上げする((33)式)。そして符号化装置16は、水平方向及び垂直方向による8×8DCT演算処理が終了した後に、DCT係数に基づく係数データを各3bitずつ桁下げする((36)式)。
これにより符号化装置16は、8×8DCT演算処理おいて生じる小数点部分の演算丸めを抑制し得、符号化による画質の低下を効果的に防止できる。符号化装置16は、特にダビング時における複数の8×8DCT演算処理に応じた画質の低下を効果的に防止できる。
(6−3)復号化装置
次に、このようにして符号化された本符号化ストリームを復号する復号化装置500の構成を、図31を用いて説明する。
復号化装置500は、本符号化ストリームが供給されると、当該本符号化ストリームに設定された設定情報を用いて当該本符号化ストリームの復号化を行う。具体的に復号化装置500は、本符号化ストリームを復号化部501に供給する。復号化部501は、本符号化ストリームを復号化して量子化データを生成し、逆量子化部502に供給する。
逆量子化部502は、設定情報に設定された量子化パラメータQPを用いて量子化データを逆量子化することにより、DCT係数でなる画像データを復元し、これをIDCT部503へ供給する。IDCT部503は、画像データに対してIDCT処理を施し、差分画像データを予測画像加算部504に供給する。
予測画像加算部504は、差分画像データに対し、逆イントラ予測処理及び動き予測処理によって予測した予測値を加算し、画像を表すビデオ出力信号を生成し、これを図示しない外部機器などに出力するようになされている。
(6−4)他の実施の形態
なお上述した第5の実施の形態においては、8×8DCT演算処理の際に、変換行列Aの各要素を3bitだけ桁上げするようにした場合について述べた。本発明はこれに限らず、例えば予め変換行列Aの各要素を3bitだけ桁上げしたものを記憶しておき、これを使用するようにしても良い。また本発明では、入力xの各要素を予め3bitずつ桁上げするようにしても、同様の効果を得ることができる。さらに本発明では、2桁〜1桁若しくは4桁以上桁上げしても、演算丸めを抑制する効果を得ることができる。
さらに上述した第5の実施の形態においては、量子化演算部23aの後段で6bit桁下げを実行するようにした場合について述べた。本発明はこれに限らず、例えば8×8DCT演算部22dの後段で6bit桁下げをしても良い。これにより、整数精度DCT部22と量子化部23とが回路上別ブロックとして設計されている場合、桁上げによりデータ量が増大することによりデータの伝送経路を太くしなくて済む。また8×8DCT演算部22b及び22cの後段でそれぞれ3bitづつ桁下げするようにしても良い。
さらに上述した第5の実施の形態においては、桁上げ部としての桁上げ部22aと、桁下げ部としての桁上げ部22cとによって画像処理装置としての符号化装置16を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成による桁上げ部と桁下げ部とによって本発明の画像処理装置を構成するようにしても良い。
さらに上述した第1〜第5の実施の形態においては、画像処理装置としての符号化装置が符号化処理を実行する場合について述べた。本発明はこれに限らず、画像処理装置が符号化処理及び復号化処理の両方を実行するようにしても良い。
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
例えば、前述した符号化装置及び方法の機能をコンピュータがプログラムにより実現し、或いは該プログラムを記録した記録媒体として実現することも可能である。

Claims (20)

  1. 画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換部と、
    復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対して上記スケール変動を乗算することにより、複数の除算ファクターを算出する除算因子算出部と、
    上記変換係数における上記要素を上記複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出部と、
    上記複数の除算ファクターに対する上記評価値の総和との関係を比較し、上記評価値の総和が極小値をとる上記除算ファクターに基づいて、上記画像データが前回符号化されたときに使用された上記量子化因子を検出する量子化因子検出部と
    を有する画像処理装置。
  2. 上記量子化因子は、
    量子化単位ごとに設定される量子化パラメータである
    請求項1に記載の画像処理装置。
  3. 上記量子化因子は、
    画面内符号化単位ごとに設定され、上記変換係数の係数要素ごとの値が定められている量子化行列である
    請求項2に記載の画像処理装置。
  4. 画面内符号化単位ごとに設定され、予め定められた複数の画面内符号化方式によって入力画像データを符号化し、複数の画像データを生成する画面内符号化部と、
    上記複数の画像データのうち、上記量子化因子検出部によって検出された上記量子化因子を用いたときの上記評価値の総和に基づいて、上記入力画像データが前回符号化されたときに使用された一の画面内符号化方式を検出する画面内符号化方式検出部と
    を有する請求項3に記載の画像処理装置。
  5. 上記総和算出部は、
    上記剰余を上記除算ファクターによって除算した除算値を上記評価値とする
    請求項1に記載の画像処理装置。
  6. 上記総和算出部は、
    上記係数要素の絶対値が規格化閾値未満である場合には、上記剰余を上記除算ファクターによって除算した除算値を上記評価値とし、上記係数要素の絶対値が上記規格化閾値以上である場合には、上記剰余を上記評価値とする
    請求項5に記載の画像処理装置。
  7. 上記総和算出部は、
    上記剰余に対して上記係数要素を乗算して乗算値を算出し、当該乗算値を上記除算ファクターによって除算した除算値を上記評価値とする
    請求項5に記載の画像処理装置。
  8. 上記量子化因子検出部による処理対象となる画像データに対する上記極小値が検出された画像データの割合に基づいて、上記画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する後段原画判定部と
    を有する請求項2に記載の画像処理装置。
  9. 上記画像処理装置は、
    上記復号化の際に使用される可能性のある複数の復号ファクターのうち、一部を検索範囲として特定する検索範囲特定部
    を有し、
    上記原画判定部は、
    上記極小値に対応する量子化パラメータの最小値が、上記検索範囲における量子化パラメータの最小値であった最小回数をカウントする最小値カウント部と、
    上記符号化単位検出部によって処理された上記検出単位ごとの画像データの処理回数をカウントする処理回数カウント部と、
    上記最小回数の上記処理回数に対する割合を、上記量子化因子検出部の処理対象となる画像データに対する上記極小値が検出された画像データの割合とする
    請求項8に記載の画像処理装置。
  10. 上記検索範囲設定部は、
    画像データに対し直交変換を実行して変換係数を生成する前段直交変換部と、
    上記変換係数を構成する係数要素の値ごとの発生回数を要素発生回数としてカウントする要素カウント部と、
    上記要素発生回数の分散状態に基づいて、画像符号化単位ごとの上記量子化パラメータを見積もる量子化パラメータ見積部と
    を有する請求項1に記載の画像処理装置。
  11. 上記要素発生回数の分散状態に基づいて、上記画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する前段原画判定部と
    を有する請求項10に記載の画像処理装置。
  12. 上記量子化パラメータ見積部は、
    上記要素発生回数において、上記係数要素の絶対値が最小値(ただし、ゼロを除く)となる1番目ピークに基づいて、上記量子化パラメータを検出する
    請求項11に記載の画像処理装置。
  13. 上記量子化パラメータ見積部は、
    上記係数要素の絶対値に対して基準要素値を設定し、当該基準要素値と離隔する離隔値と上記係数要素の絶対値の発生回数とを乗算した値を積算した積算値を、上記基準要素値に対応する積算値として算出する積算部と、
    上記基準要素値ごとの上記積算値のうち、最小の値をとる積算値に対応する基準要素値に基づいて、上記前回の符号化に使用された量子化パラメータ近傍の見積量子化パラメータを決定する見積量子化パラメータ決定部と
    請求項10に記載の画像処理装置。
  14. 上記見積量子化パラメータ決定部は、
    上記係数要素の絶対値に対して検出対象となるサーチ量子化パラメータに基づく基準要素値を設定し、当該基準値が極大値であると判別された場合に、当該サーチ量子化パラメータを上記見積量子化パラメータとして決定する
    請求項13に記載の画像処理装置。
  15. 上記見積量子化パラメータ及び検出対象となる量子化行列に基づく基準要素値を設定し、当該基準値が極大値であると判別された場合に、当該サーチ量子化行列を上記見積量子化行列として決定する見積量子化行列決定部
    を有する請求項10に記載の画像処理装置。
  16. 上記要素発生回数に基づいたエントロピー計算により、各量子化パラメータにおける上記発生符号量を予測する発生符号量予測部と、
    上記発生符号量予測部によって予測された上記発生符号量が上記目標符号量に近くなる量子化パラメータを、予測パラメータとして予測する量子化パラメータ予測部と、
    上記予測パラメータを用いて上記変換係数を量子化して予測量子化データを生成する予測量子化部と、
    上記予測量子化データに基づく予測ストリームの発生符号量に基づいて、上記予測パラメータを補正するパラメータ補正部と
    を有する請求項10に記載の画像処理装置。
  17. 量子化パラメータの値に応じた量子化行列を設定する初期パラメータ設定部
    を有する請求項1に記載の画像処理装置。
  18. 画像データに対し直交変換を実行して変換係数を生成する直交変換部と、
    上記変換係数を構成する係数要素の値ごとの発生回数を要素発生回数としてカウントする要素カウント部と、
    上記要素発生回数の分散状態に基づいて、上記画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する原画判定部と
    を有する画像処理装置。
  19. 整数精度DCT処理として8×8DCT処理を実行する際、水平方向及び垂直方向による8×8DCT演算処理が終了する前に、演算処理の対象となる画像データ又は変換行列の各要素を水平方向及び垂直方向に対応させてそれぞれ3bitずつ上げする桁上げ部と、
    水平方向及び垂直方向による8×8DCT演算処理が終了した後に、DCT係数に基づく係数データを3bitずつ桁下げする桁下げ部と
    を有する画像処理装置。
  20. 画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換ステップと、
    復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対して上記スケール変動を乗算することにより、複数の除算ファクターを算出する除算因子算出ステップと、
    上記変換係数における上記要素を上記複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出ステップと、
    上記複数の除算ファクターに対する上記評価値の総和との関係を比較し、上記評価値の総和が極小値をとる上記除算ファクターに基づいて、上記画像データが前回符号化されたときに使用された上記量子化因子を検出する量子化因子検出ステップと
    を有する画像処理方法。
JP2009532268A 2007-09-12 2008-09-12 画像処理装置及び画像処理方法 Expired - Fee Related JP5212373B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009532268A JP5212373B2 (ja) 2007-09-12 2008-09-12 画像処理装置及び画像処理方法

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2007236941 2007-09-12
JP2007236942 2007-09-12
JP2007236941 2007-09-12
JP2007236942 2007-09-12
JP2008169398 2008-06-27
JP2008169398 2008-06-27
JP2009532268A JP5212373B2 (ja) 2007-09-12 2008-09-12 画像処理装置及び画像処理方法
PCT/JP2008/066917 WO2009035149A1 (ja) 2007-09-12 2008-09-12 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JPWO2009035149A1 true JPWO2009035149A1 (ja) 2010-12-24
JP5212373B2 JP5212373B2 (ja) 2013-06-19

Family

ID=40452147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009532268A Expired - Fee Related JP5212373B2 (ja) 2007-09-12 2008-09-12 画像処理装置及び画像処理方法

Country Status (5)

Country Link
US (1) US8184711B2 (ja)
JP (1) JP5212373B2 (ja)
CN (1) CN101632307B (ja)
TW (1) TWI410139B (ja)
WO (1) WO2009035149A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4569840B2 (ja) * 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
JPWO2009157580A1 (ja) * 2008-06-27 2011-12-15 ソニー株式会社 画像処理装置及び画像処理方法
CN101779468B (zh) * 2008-06-27 2012-07-04 索尼公司 图像处理装置和图像处理方法
WO2009157577A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
BRPI0904325A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Dispositivo e método de processamento de imagem.
CA2759929C (en) * 2009-04-22 2017-03-21 Mercator Medsystems, Inc. Use of guanethidine for treating hypertension by local vascular delivery
JP5199956B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
JP5199955B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
JP5251774B2 (ja) * 2009-07-27 2013-07-31 ソニー株式会社 画像符号化装置および画像符号化方法
JP2011029956A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置および画像符号化方法
JP5282692B2 (ja) * 2009-07-27 2013-09-04 ソニー株式会社 画像符号化装置と画像符号化方法
JP5484083B2 (ja) * 2010-01-14 2014-05-07 株式会社メガチップス 画像処理装置
US20130058410A1 (en) 2010-05-13 2013-03-07 Sharp Kabushiki Kaisha Encoding device, decoding device, and data structure
JP2012054818A (ja) * 2010-09-02 2012-03-15 Sony Corp 画像処理装置と画像処理方法
WO2012042720A1 (ja) * 2010-09-30 2012-04-05 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP6056122B2 (ja) 2011-01-24 2017-01-11 ソニー株式会社 画像符号化装置と画像復号装置およびその方法とプログラム
JP6327435B2 (ja) 2011-03-03 2018-05-23 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、及び、画像復号装置
WO2013059735A1 (en) 2011-10-19 2013-04-25 Mercator Medsystems, Inc. Localized modulation of tissues and cells to enhance therapeutic effects including renal denervation
TWI597976B (zh) * 2012-04-16 2017-09-01 Jvc Kenwood Corp Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9521410B2 (en) 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
US9538190B2 (en) * 2013-04-08 2017-01-03 Qualcomm Incorporated Intra rate control for video encoding based on sum of absolute transformed difference
JP6265724B2 (ja) * 2013-12-11 2018-01-24 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
WO2019057846A1 (en) * 2017-09-21 2019-03-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. CONCEPT FOR VARYING A CODING QUANTIFICATION PARAMETER IN AN IMAGE, ADJUSTING A CODING QUANTIFICATION PARAMETER AND ADAPTING A CODING QUANTITY PARAMETER OF A MULTI-CHANNEL IMAGE
CN112616057A (zh) * 2019-10-04 2021-04-06 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
CN115348450A (zh) * 2019-12-31 2022-11-15 上海海思技术有限公司 编码方法及编码器
US11436699B1 (en) 2020-08-03 2022-09-06 Meta Platforms, Inc. Predicting encoding parameters for convex hull video encoding
US11388413B1 (en) * 2020-08-03 2022-07-12 Meta Platforms, Inc. Fast encoding parameter selection for convex hull video encoding

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979498A (en) 1989-10-30 1990-12-25 Machida Incorporated Video cervicoscope system
JPH04114585A (ja) 1990-09-04 1992-04-15 Matsushita Electric Ind Co Ltd 動き補償フレーム間符号化装置
JP2908550B2 (ja) 1990-09-28 1999-06-21 株式会社東芝 養液栽培装置
US5428396A (en) * 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
US5565921A (en) * 1993-03-16 1996-10-15 Olympus Optical Co., Ltd. Motion-adaptive image signal processing system
US5703646A (en) 1993-04-09 1997-12-30 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
JP3358620B2 (ja) 1993-04-09 2002-12-24 ソニー株式会社 画像符号化方法及び画像符号化装置
WO1995009487A1 (en) 1993-09-28 1995-04-06 Sony Corporation High efficiency encoding/decoding device
US5488570A (en) * 1993-11-24 1996-01-30 Intel Corporation Encoding and decoding video signals using adaptive filter switching criteria
JP3561962B2 (ja) 1994-07-25 2004-09-08 ソニー株式会社 量子化コントロール装置および方法
JP2882287B2 (ja) 1994-08-22 1999-04-12 日本電気株式会社 動画像符号化装置
US5870145A (en) 1995-03-09 1999-02-09 Sony Corporation Adaptive quantization of video based on target code length
US6100931A (en) 1996-03-19 2000-08-08 Sony Corporation Method and apparatus for controlling a target amount of code and for compressing video data
JPH09294263A (ja) 1996-04-24 1997-11-11 Victor Co Of Japan Ltd 画像情報圧縮装置
KR100371130B1 (ko) * 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
US5805228A (en) * 1996-08-09 1998-09-08 U.S. Robotics Access Corp. Video encoder/decoder system
US6337879B1 (en) 1996-08-14 2002-01-08 Sony Corporation Video data compression apparatus and method of same
JP3864461B2 (ja) 1996-08-30 2006-12-27 ソニー株式会社 映像データ圧縮装置およびその方法
JP4114210B2 (ja) * 1996-12-12 2008-07-09 ソニー株式会社 映像データ圧縮装置およびその方法
US6163573A (en) 1996-12-12 2000-12-19 Sony Corporation Equipment and method for compressing picture data
KR100610520B1 (ko) 1997-07-08 2006-08-09 소니 가부시끼 가이샤 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
EP1788815A3 (en) * 1997-11-05 2008-10-15 Sony Corporation Rate control for video transcoding with resolution conversion
US6393060B1 (en) * 1997-12-31 2002-05-21 Lg Electronics Inc. Video coding and decoding method and its apparatus
US6574274B2 (en) * 1998-02-27 2003-06-03 Sony Corporation Picture signal processing system, decoder, picture signal processing method, and decoding method
JP4511649B2 (ja) * 1999-02-03 2010-07-28 三菱電機株式会社 画像符号化方式および画像符号化装置
JP2001169281A (ja) * 1999-12-13 2001-06-22 Matsushita Electric Ind Co Ltd 動画像符号化装置、および動画像符号化方法
JP2002359853A (ja) 2001-03-26 2002-12-13 Sony Corp 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2002290914A (ja) 2001-03-26 2002-10-04 Sony Corp 記録再生装置及びそのバックサーチ方法
WO2002080573A1 (en) 2001-03-28 2002-10-10 Sony Corporation Quantization apparatus, quantization method, quantization program, and recording medium
US6934330B2 (en) 2001-08-01 2005-08-23 Sony Corporation Image processing apparatus
CA2574127A1 (en) * 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
US7289672B2 (en) 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
US7386048B2 (en) 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
WO2003101117A1 (en) 2002-05-28 2003-12-04 Sharp Kabushiki Kaisha Methods and systems for image intra-prediction mode estimation, communication, and organization
US7236524B2 (en) 2002-05-28 2007-06-26 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode communication
WO2003103288A1 (en) * 2002-05-29 2003-12-11 Diego Garrido Predictive interpolation of a video signal
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
US7400317B2 (en) * 2003-08-29 2008-07-15 Avago Technologies Ecbu Ip Pte Ltd Finger navigation system using captive surface
JP3846489B2 (ja) * 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
JP4235162B2 (ja) 2004-11-18 2009-03-11 日本電信電話株式会社 画像符号化装置,画像符号化方法,画像符号化プログラムおよびコンピュータ読み取り可能な記録媒体
JP2006222555A (ja) 2005-02-08 2006-08-24 Matsushita Electric Ind Co Ltd 符号化装置及び符号化方法
JP4050754B2 (ja) 2005-03-23 2008-02-20 株式会社東芝 ビデオエンコーダ及び動画像信号の符号化方法
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
JP4246723B2 (ja) 2005-08-29 2009-04-02 日本電信電話株式会社 フレーム内予測符号化制御方法、フレーム内予測符号化制御装置、フレーム内予測符号化制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
RU2008146977A (ru) * 2006-04-28 2010-06-10 НТТ ДоКоМо, Инк. (JP) Устройство прогнозирующего кодирования изображений, способ прогнозирующего кодирования изображений, программа прогнозирующего кодирования изображений, устройство прогнозирующего декодирования изображений, способ прогнозирующего декодирования изображений и программа прогнозирующего декодирования изображений
US8184712B2 (en) * 2006-04-30 2012-05-22 Hewlett-Packard Development Company, L.P. Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame

Also Published As

Publication number Publication date
TWI410139B (zh) 2013-09-21
US8184711B2 (en) 2012-05-22
TW200931984A (en) 2009-07-16
WO2009035149A1 (ja) 2009-03-19
CN101632307A (zh) 2010-01-20
CN101632307B (zh) 2012-12-05
JP5212373B2 (ja) 2013-06-19
US20100098173A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
JP5212373B2 (ja) 画像処理装置及び画像処理方法
US8509556B2 (en) Image coding apparatus and image coding method to generate a targeted amount of code
US8345767B2 (en) Video encoding method, video encoding device, and video encoding program
US8374451B2 (en) Image processing device and image processing method for reducing the circuit scale
US8369403B2 (en) Image processing device and image processing method
JP5365518B2 (ja) 画像処理装置及び方法
KR0184905B1 (ko) 부호량제어장치 및 이것을 사용한 부호화장치
JP3190002B2 (ja) 量子化方法および回路
US7688234B2 (en) Coding apparatus, coding method, program for executing the method, and recording medium storing the program
US20050243930A1 (en) Video encoding method and apparatus
US20090097546A1 (en) System and method for enhanced video communication using real-time scene-change detection for control of moving-picture encoding data rate
JP2007089035A (ja) 動画像符号化方法、装置及びプログラム
EP1470726A1 (en) Video encoding
US7809198B2 (en) Coding apparatus having rate control to prevent buffer breakdown
JPH10336654A (ja) 画像符号化装置
JP2009135902A (ja) 符号化装置、符号化装置の制御方法及びコンピュータプログラム
JP6431556B2 (ja) バイナリデータを圧縮および復元する方法および装置
JPH11513873A (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
US20230199196A1 (en) Methods and Apparatuses of Frequency Domain Mode Decision in Video Encoding Systems
US20240048719A1 (en) Rate control algorithms using a model of the human visual system
CN115834882A (zh) 一种帧内预测方法、装置、电子设备及存储介质
Jiang et al. A rate-distortion based quantization level adjustment algorithm in block-based video compression
JPH0358672A (ja) 画像信号符号化方式及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R151 Written notification of patent or utility model registration

Ref document number: 5212373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees