(57)【特許請求の範囲】
【請求項１】
入力画素ブロックに対して２次元直交変換と量子化を行う方法であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向として、その第１方向の１次元直交変換、その第２方向の１次元直交変換、量子化の順で処理する過程で、
前記第２方向の１次元直交変換における入力信号列のうち１個以上の信号列に対し、信号列から算出された電力値が、所定の判定閾値を下回っている場合は、該当する信号列に対する前記第２方向の１次元直交変換と量子化処理を省略し、０からなる量子化係数信号列を前記量子化の演算結果として出力し、前記電力が前記判定閾値を下回らない場合は、前記第２方向の１次元直交変換と前記量子化を行い、
前記判定の対象としない信号列が存在する場合は、該当する全信号列に対して、前記第２方向の１次元直交変換と量子化を行い、
前記判定閾値は、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定される２次元直交変換と量子化方法。
【請求項２】
入力画素ブロックに対して２次元直交変換と量子化を行う方法であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、その第１方向の１次元直交変換、その第２方向の１次元直交変換、量子化の順で処理する過程で、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行うステップ、
ｂ）前記第２方向の１次元直交変換における入力信号列のうち一個以上の信号列について、その信号列の電力が、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定された判定閾値を下回っているときには全ての量子化係数が０である量子化係数列を前記量子化の出力として生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
ｃ）前記第２方向の１次元直交変換における入力信号列のうちステップｂで処理の対象としなかった信号列が存在する場合は、該当する全信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化するステップ、
を含む２次元直交変換と量子化方法。
【請求項３】
前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が前記第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が前記第２方向の１次元離散コサイン変換であり、ステップｂで処理の対象とする信号列は、前記第１方向の１次元離散コサイン変換の最高次変換係数に対応する信号列から次数の大きい順に選択された１個または複数個の信号列である請求項２に記載の２次元直交変換と量子化方法。
【請求項４】
入力画素ブロックに対して２次元直交変換と量子化を行う方法であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、その第１方向の１次元直交変換、その第２方向の１次元直交変換、量子化の順で処理する過程で、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行うステップ、
ｂ）前記第２方向の１次元直交変換における入力信号列を所定の順序に従って１個ずつ取得し、取得した信号列から算出された電力が、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定された判定閾値を下回っているときには全係数が０である量子化係数列を当該信号列に対する量子化結果として生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成する処理を、予め定められた数の信号列を処理し終えるか、処理し終えなくても前記判定閾値を下回らない電力を有する最初の信号列を処理し終えるまで繰り返すステップ、
ｃ）前記第２方向の１次元直交変換における入力信号列のうちステップｂで処理の対象としなかった信号列が存在する場合は、該当する全信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
を含む２次元直交変換と量子化方法。
【請求項５】
前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が前記第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が前記第２方向の１次元離散コサイン変換であり、ステップｂで、信号列を取得する順序として、前記第１方向の１次元離散コサイン変換の次数の大きい順を用いる請求項４に記載の２次元直交変換と量子化方法。
【請求項６】
入力画素ブロックに対して２次元直交変換と量子化を行う装置であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、入力画素ブロックに対してその第１方向の１次元直交変換を行う第１方向直交変換手段と、前記第１方向直交変換手段が出力する係数信号ブロックを格納するメモリと、前記メモリから前記第２方向の信号列を取り出す信号列送出手段と、前記信号列送出手段より送出される信号列に対し前記第２方向の１次元直交変換を行う第２方向直交変換手段と、前記第２方向直交変換手段の出力である係数信号列を量子化する量子化手段と、前記第２方向の信号列単位毎に、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値を判定閾値として設定する判定閾値算出手段と、前記信号列送出手段より送出される信号列の電力を算出する電力算出手段と、前記電力算出手段により算出された電力が前記判定閾値算出手段が算出した判定閾値を下回っているかどうかを判定する大小比較手段と、全ての量子化係数が０である前記第２方向の信号列を生成する零係数列生成手段と、前記量子化手段と前記零係数列生成手段の出力の何れかを前記第２方向の信号列毎に選択して量子化後の出力係数信号とする量子化係数選択出力手段と、下記ａおよびｂの制御を行う制御手段とを備えた２次元直交変換と量子化装置。
ａ）前記メモリに格納された係数信号ブロックが含む前記第２方向の信号列のうち１個以上について、その信号列を前記信号列送出手段によって取り出して前記電力算出手段にその電力を算出させると共に前記判定閾値算出手段に当該信号列に対応する判定閾値を算出させて前記大小比較手段に両者を比較させ、算出された電力が判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を前記零係数列生成手段に生成させて前記量子化係数選択出力手段に選択させ、算出された電力が判定閾値を下回っていないときには当該信号列に対して前記第２方向の１次元直交変換を前記第２方向直交変換手段に行わせて得られた係数信号列を前記量子化手段で量子化させて量子化係数列を生成させ、前記量子化係数選択出力手段に選択させる。
ｂ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうち前記ａで処理の対象としなかった信号列が存在する場合、該当する全信号列に対して、前記信号列送出手段によって信号列を取り出して前記第２方向直交変換手段に前記第２方向の１次元直交変換を行わせ、得られた係数信号列を前記量子化手段に量子化させて前記量子化係数選択出力手段に選択させる。
【請求項７】
前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が前記第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が前記第２方向の１次元離散コサイン変換であり、前記制御aが処理対象とする前記第２方向の信号列は、前記第１方向の１次元離散コサイン変換の最高次変換係数に対応する信号列から次数の大きい順に選択された１個または複数個の信号列である請求項６に記載の２次元直交変換と量子化装置。
【請求項８】
入力画素ブロックに対して２次元直交変換と量子化を行う装置であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、入力画素ブロックに対してその第１方向の１次元直交変換を行う第１方向直交変換手段と、前記第１方向直交変換手段が出力する係数信号ブロックを格納するメモリと、前記メモリから前記第２方向の信号列を取り出す信号列送出手段と、前記信号列送出手段より送出される信号列に対し前記第２方向の１次元直交変換を行う第２方向直交変換手段と、前記第２方向直交変換手段の出力である係数信号列を量子化する量子化手段と、前記第２方向の信号列単位毎に、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値を判定閾値として設定する判定閾値算出手段と、前記信号列送出手段より送出される信号列の電力を算出する電力算出手段と、前記電力算出手段により算出された電力が前記判定閾値算出手段により算出された判定閾値を下回っているかどうかを判定する大小比較手段と、全ての量子化係数が０である前記第２方向の信号列を生成する零係数列生成手段と、前記量子化手段と前記零係数列生成手段の出力の何れかを前記第２方向の信号列毎に選択して量子化後の出力係数信号とする量子化係数選択出力手段と、下記ａおよびｂの制御を行う制御手段とを備えた２次元直交変換と量子化装置。
ａ）前記メモリに格納された係数信号ブロックに含まれる前記第２方向の信号列を前記信号列送出手段によって所定の順序で１個ずつ取り出して、前記電力算出手段にその電力を算出させると共に前記判定閾値算出手段に当該信号列に対応する判定閾値を算出させて前記大小比較手段に両者を比較させ、算出された電力が判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を前記零係数列生成手段に生成させて前記量子化係数選択出力手段に選択させ、算出された電力が判定閾値を下回っていないときには当該信号列に対して前記第２方向の１次元直交変換を前記第２方向直交変換手段に行わせて得られた係数信号列を前記量子化手段で量子化させて量子化係数列を生成させ、前記量子化係数選択出力手段に選択させる処理を、予め定められた数の信号列を処理し終えるか、処理し終えなくても前記判定閾値を下回らない電力を有する最初の信号列を処理し終えるまで繰り返す。
ｂ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうち前記ａで処理の対象としなかった信号列が存在する場合、該当する全信号列に対して、前記信号列送出手段によって信号列を取り出して前記第２方向直交変換手段に前記第２方向の１次元直交変換を行わせ、得られた係数信号列を前記量子化手段に量子化させて前記量子化係数選択出力手段に選択させる。
【請求項９】
前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が前記第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が前記第２方向の１次元離散コサイン変換であり、前記制御aにおいて処理対象の信号列が取り出される順序として、前記第１方向の１次元離散コサイン変換の次数の大きい順を用いる請求項８に記載の２次元直交変換と量子化装置。
【請求項１０】
入力画素ブロックに対して２次元直交変換と量子化を行うコンピュータに実行させるプログラムであって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とするとき、前記コンピュータに、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行い、得られた係数信号ブロックをメモリに格納するステップ、
ｂ）前記メモリに格納された係数信号ブロックに含まれる１個以上の前記第２方向の信号列について、その信号列の電力を算出し、得られた電力が判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
ｃ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうちステップｂで処理の対象としなかった信号列が存在するならば、該当する全信号列について前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
を実行させ、前記判定閾値は、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定されるプログラム。
【請求項１１】
前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が前記第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が前記第２方向の１次元離散コサイン変換であり、ステップｂで処理の対象とする信号列は、前記第１方向の１次元離散コサイン変換の最高次変換係数に対応する信号列から次数の大きい順に選択された１個または複数個の信号列である請求項１０に記載のプログラム。
【請求項１２】
入力画素ブロックに対して２次元直交変換と量子化をコンピュータに行わせるプログラムであって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とするとき、前記コンピュータに、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行い、得られた係数信号ブロックをメモリに格納するステップ、
ｂ）前記メモリに格納された係数信号ブロックに含まれる前記第２方向の信号列を所定の順序で１個ずつ取得して電力を算出し、算出された電力が所定の判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成する処理を、前記判定閾値を下回らない電力を有する最初の信号列まで繰り返すステップ、
ｃ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうちステップｂで処理の対象としなかった信号列が存在するならば、該当する全信号列について、前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
を実行させ、前記判定閾値は、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定されるプログラム。
【請求項１３】
入力画素ブロックに対して２次元直交変換と量子化をコンピュータに実行させるプログラムであって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とするとき、前記コンピュータに、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行い、得られた係数信号ブロックをメモリに格納するステップ、
ｂ）前記メモリに格納された係数信号ブロックに含まれる前記第２方向の信号列を所定の順序で１個ずつ取得し、取得した信号列から電力を算出し、算出された電力が所定の判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成する処理を、予め定められた数の信号列を処理し終えるか、処理し終えなくても前記判定閾値を下回らない電力を有する最初の信号列を処理し終えるまで繰り返すステップ、
ｃ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうちステップｂで処理の対象としなかった信号列が存在するならば、該当する全信号列について、前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
を実行させ、前記判定閾値は、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定されるプログラム。
【請求項１４】
前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が前記第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が前記第２方向の１次元離散コサイン変換であり、ステップｂで信号列を取得する順序として、前記第１方向の１次元離散コサイン変換の次数の大きい順を用いる請求項１２または１３に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル静止画像信号またはデジタル動画像信号の圧縮符号化に関し、特に２次元直交変換と量子化を処理する方法及び装置に関する。
【０００２】
【従来の技術】
近年、デジタル静止画像信号およびデジタル動画像信号を高能率圧縮符号化する方法として、変換符号化と量子化の２つの技術を組み合わせた符号化方式が広く使われており、その重要な一部分となる２次元直交変換と量子化を、高速に、かつ低い消費電力で実現する方法が強く求められている。
【０００３】
変換符号化と量子化を利用する静止画像圧縮符号化方式の例としては、ＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｏｒｇａｎｉｚａｔｉｏｎ ｆｏｒ Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）とＣＣＩＴＴ（Ｃｏｎｓｕｌｔｉｎｇ Ｃｏｍｍｉｔｔｅｅ ｏｆ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｔｅｌｅｇｒａｐｈ ａｎｄ Ｔｅｌｅｐｈｏｎｅ）（現在はＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ Ｕｎｉｏｎ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ Ｓｅｃｔｏｒ））のＪＰＥＧ（Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈｉｃ Ｅｘｐｅｒｔ Ｇｒｏｕｐ）が勧告するＪＰＥＧ方式がある。これらの方式では、入力画像を一定サイズの矩形領域に分割し、分割された各画素ブロックに対し、２次元の直交変換と量子化を施し、得られる係数ブロックをビット列に符号化する。直交変換には、周波数成分に分解する性質を持つ変換が利用され、特に離散コサイン変換の利用が多い。一般に、自然画像と呼ばれる画像では、隣接する画素同士が相関性を持っているため、離散コサイン変換などの直交変換を行うことで、信号の電力を低い周波数成分に集中させて、信号情報の冗長度を削減することが可能となる。さらに、低周波成分の変化には敏感であるが高周波成分の変化には比較的鈍感であるといった、人間の視覚特性を利用した量子化を組み合わせることで、圧縮に伴う画質劣化をなるべく抑えた効率的な圧縮符号化が可能になる。
【０００４】
図２に、このような符号化方式による静止画像圧縮符号化装置の構成を示す。図２において、２０１は入力画像を所定の大きさの矩形ブロック単位に分割するブロック化部、２０２はブロック化部２０１より入力された画素ブロックに対し２次元直交変換を施す２次元直交変換部、２０３は２次元直交変換部２０２から出力された変換係数に対し量子化処理を行う量子化部、２０４は量子化部２０３より出力された係数ブロックをビット列に符号化する可変長符号化部である。破線で囲まれた部分は、２次元直交変換と量子化の処理部を示している。
【０００５】
変換符号化と量子化を利用する動画像圧縮符号化の代表例としては、ＩＳＯのＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔ Ｇｒｏｕｐ）が勧告するＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４方式がある。これらの方式では、時間的に前後のフレームから符号化画像を予測するフレーム間予測と、予測誤差信号の変換符号化を組み合わせた符号化を行う。図３に、このような方式による動画像圧縮符号化装置の構成を示す。図３において、３０１は入力フレームを適当な順番に並び替えるフレーム走査部、３０２はフレーム走査部３０１より入力されたフレームを所定の大きさの矩形ブロック単位に分割するブロック化部、３０３は符号化されたフレームの復号画像を予測のための参照フレームとして記憶するフレームメモリ、３０４は入力画像ブロック信号とフレームメモリ３０３中の復号画像よりフレーム間予測を行って予測画像を生成するフレーム間予測部、３０５は入力画像ブロックと予測画像から予測誤差を算出する予測誤差算出部、３０６は予測誤差に対し２次元直交変換を施す２次元直交変換部、３０７は直交変換係数に対し量子化を行う量子化部、３０８は量子化係数とフレーム間予測パラメータをビット列に符号化する可変長符号化部、３０９は量子化係数を逆量子化する逆量子化部、３１０は逆量子化係数に対し２次元直交変換の逆変換を施す逆２次元直交変換部、３１１は逆変換信号と予測画像の和から復号画像を算出し、復号画像をフレームメモリ３０３に格納する復号画像算出部である。破線で囲まれた部分は、２次元直交変換と量子化の処理部を示している。
【０００６】
以上で示したように、静止画像圧縮符号化と動画像圧縮符号化のいずれにおいても、２次元画像信号の直交変換と量子化が大きな役割を果たしている。しかし、一般に、直交変換と量子化処理は多数の乗除演算を要するため、それに伴う処理時間や消費電力の増大が大きな問題となっている。このため、２次元直交変換と量子化処理に要する演算量を削減する演算手法が強く求められている。
【０００７】
２次元直交変換と量子化の演算量を削減し、高速に処理するための従来の技術として、特に、２次元離散コサイン変換と量子化に関する演算量削減技術を紹介する。
【０００８】
２次元直交変換を高速に演算する手法に関しては、古くから数多くの研究がなされてきた。これらの多くは、大別すると以下の２つに分類される。第１は、行列分解性により２次元の直交変換を１次元直交変換の繰り返しに帰着させて、１次元直交変換の高速手法を取り入れる方法である。第２は、特願平８−３３５８８５号公報に記載の２次元離散コサイン高速演算手法のように、行列分解を行わずに、乗算と加算の回数を削減する方法である。
【０００９】
量子化を高速に演算する手法に関しても、数多くの研究がなされてきた。近年では、特開平０３−０８５８７１号公報に記載されるように、自然画像を圧縮符号化する際に高周波成分の量子化信号が０に集中する性質を利用して、高負荷な乗除算の回数を削減するといった方法が多い。
【００１０】
【発明が解決しようとする課題】
しかしながら、２次元直交変換と量子化処理の高速化と低電力化への要求は、強まる一方である。本発明の目的は、従来の技術よりも一層演算量の少ない２次元直交変換と量子化の処理方法を提供し、その結果、従来の技術よりも一層の高速化と低電力化を実現することである。
【００１１】
【課題を解決するための手段】
本発明は、入力画素ブロックに対して２次元直交変換と量子化を行う方法であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向として、その第１方向の１次元直交変換、その第２方向の１次元直交変換、量子化の順で処理する過程で、
前記第２方向の１次元直交変換における入力信号列のうち１個以上の信号列に対し、信号列から算出された電力値が、所定の判定閾値を下回っている場合は、該当する信号列に対する前記第２方向の１次元直交変換と量子化処理を省略し、０からなる量子化係数信号列を前記量子化の演算結果として出力し、前記電力が前記判定閾値を下回らない場合は、前記第２方向の１次元直交変換と前記量子化を行い、
前記判定の対象としない信号列が存在する場合は、該当する全信号列に対して、前記第２方向の１次元直交変換と量子化を行い、
前記判定閾値は、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定されることを基本とする。
【００１２】
より具体的には、本発明の第１の２次元直交変換と量子化方法は、入力画素ブロックに対して２次元直交変換と量子化を行う方法であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、その第１方向の１次元直交変換、その第２方向の１次元直交変換、量子化の順で処理する過程で、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行うステップ、
ｂ）前記第２方向の１次元直交変換における入力信号列のうち一個以上の信号列について、その信号列の電力が、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定された判定閾値を下回っているときには全ての量子化係数が０である量子化係数列を前記量子化の出力として生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
ｃ）前記第２方向の１次元直交変換における入力信号列のうちステップｂで処理の対象としなかった信号列が存在する場合は、該当する全信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化するステップ、
を含んでいる。
【００１３】
ここで、好ましい実施例においては、前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が第２方向の１次元離散コサイン変換であり、ステップｂで処理の対象とする部分信号列は、前記第１方向の１次元離散コサイン変換の最高次変換係数に対応する部分信号列から次数の大きい順に選択された１個または複数個の部分信号列である。
【００１６】
また、本発明の第２の２次元直交変換と量子化方法は、入力画素ブロックに対して２次元直交変換と量子化を行う方法であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、その第１方向の１次元直交変換、その第２方向の１次元直交変換、量子化の順で処理する過程で、
ａ）入力画素ブロックに対して前記第１方向の１次元直交変換を行うステップ、
ｂ）前記第２方向の１次元直交変換における入力信号列を所定の順序に従って１個ずつ取得し、取得した信号列から算出された電力が、前記第２方向の信号列単位で算出され、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値に設定された判定閾値を下回っているときには全係数が０である量子化係数列を当該信号列に対する量子化結果として生成し、それ以外のときには当該信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成する処理を、予め定められた数の信号列を処理し終えるか、処理し終えなくても前記判定閾値を下回らない電力を有する最初の信号列を処理し終えるまで繰り返すステップ、
ｃ）前記第２方向の１次元直交変換における入力信号列のうちステップｂで処理の対象としなかった信号列が存在する場合は、該当する全信号列に対して前記第２方向の１次元直交変換を行って得られた係数信号列を量子化して量子化係数列を生成するステップ、
を含んでいる。
【００１７】
ここで、第２乃至第４の２次元直交変換と量子化方法の好ましい実施例においては、前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が第２方向の１次元離散コサイン変換であり、ステップｂでは、量子化係数が全て０になる確率が高い部分信号列の順として、前記第１方向の１次元離散コサイン変換の次数の大きい順を用いる。
【００１８】
また、本発明の第１の２次元直交変換と量子化装置は、入力画素ブロックに対して２次元直交変換と量子化を行う装置であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、入力画素ブロックに対してその第１方向の１次元直交変換を行う第１方向直交変換手段と、前記第１方向直交変換手段が出力する係数信号ブロックを格納するメモリと、前記メモリから前記第２方向の信号列を取り出す信号列送出手段と、前記信号列送出手段より送出される信号列に対し前記第２方向の１次元直交変換を行う第２方向直交変換手段と、前記第２方向直交変換手段の出力である係数信号列を量子化する量子化手段と、前記第２方向の信号列単位毎に、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値を判定閾値として設定する判定閾値算出手段と、前記信号列送出手段より送出される信号列の電力を算出する電力算出手段と、前記電力算出手段により算出された電力が前記判定閾値算出手段が算出した判定閾値を下回っているかどうかを判定する大小比較手段と、全ての量子化係数が０である前記第２方向の信号列を生成する零係数列生成手段と、前記量子化手段と前記零係数列生成手段の出力の何れかを前記第２方向の信号列毎に選択して量子化後の出力係数信号とする量子化係数選択出力手段と、下記ａおよびｂの制御を行う制御手段とを備えている。
ａ）前記メモリに格納された係数信号ブロックが含む前記第２方向の信号列のうち１個以上について、その信号列を前記信号列送出手段によって取り出して前記電力算出手段にその電力を算出させると共に前記判定閾値算出手段に当該信号列に対応する判定閾値を算出させて前記大小比較手段に両者を比較させ、算出された電力が判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を前記零係数列生成手段に生成させて前記量子化係数選択出力手段に選択させ、算出された電力が判定閾値を下回っていないときには当該信号列に対して前記第２方向の１次元直交変換を前記第２方向直交変換手段に行わせて得られた係数信号列を前記量子化手段で量子化させて量子化係数列を生成させ、前記量子化係数選択出力手段に選択させる。
ｂ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうち前記ａで処理の対象としなかった信号列が存在する場合、該当する全信号列に対して、前記信号列送出手段によって信号列を取り出して前記第２方向直交変換手段に前記第２方向の１次元直交変換を行わせ、得られた係数信号列を前記量子化手段に量子化させて前記量子化係数選択出力手段に選択させる。
【００１９】
ここで、好ましい実施例においては、前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が第２方向の１次元離散コサイン変換であり、前記メモリに格納された係数信号ブロックの少なくとも一部の第２方向の部分信号列は、前記第１方向の１次元離散コサイン変換の最高次変換係数に対応する部分信号列から次数の大きい順に選択された１個または複数個の部分信号列である。
【００２２】
また、本発明の第３の２次元直交変換と量子化装置は、入力画素ブロックに対して２次元直交変換と量子化を行う装置であって、水平方向および垂直方向の何れか一方を第１方向、他方を第２方向とし、入力画素ブロックに対してその第１方向の１次元直交変換を行う第１方向直交変換手段と、前記第１方向直交変換手段が出力する係数信号ブロックを格納するメモリと、前記メモリから前記第２方向の信号列を取り出す信号列送出手段と、前記信号列送出手段より送出される信号列に対し前記第２方向の１次元直交変換を行う第２方向直交変換手段と、前記第２方向直交変換手段の出力である係数信号列を量子化する量子化手段と、前記第２方向の信号列単位毎に、前記量子化により０以外に量子化される各２次元直交変換係数が取り得る最小の電力の当該信号列に属する２次元直交変換係数の中での最小値を判定閾値として設定する判定閾値算出手段と、前記信号列送出手段より送出される信号列の電力を算出する電力算出手段と、前記電力算出手段により算出された電力が前記判定閾値算出手段により算出された判定閾値を下回っているかどうかを判定する大小比較手段と、全ての量子化係数が０である前記第２方向の信号列を生成する零係数列生成手段と、前記量子化手段と前記零係数列生成手段の出力の何れかを前記第２方向の信号列毎に選択して量子化後の出力係数信号とする量子化係数選択出力手段と、下記ａおよびｂの制御を行う制御手段とを備えている。
ａ）前記メモリに格納された係数信号ブロックに含まれる前記第２方向の信号列を前記信号列送出手段によって所定の順序で１個ずつ取り出して、前記電力算出手段にその電力を算出させると共に前記判定閾値算出手段に当該信号列に対応する判定閾値を算出させて前記大小比較手段に両者を比較させ、算出された電力が判定閾値を下回っているときには当該信号列に対して全ての量子化係数が０である量子化係数列を前記零係数列生成手段に生成させて前記量子化係数選択出力手段に選択させ、算出された電力が判定閾値を下回っていないときには当該信号列に対して前記第２方向の１次元直交変換を前記第２方向直交変換手段に行わせて得られた係数信号列を前記量子化手段で量子化させて量子化係数列を生成させ、前記量子化係数選択出力手段に選択させる処理を、予め定められた数の信号列を処理し終えるか、処理し終えなくても前記判定閾値を下回らない電力を有する最初の信号列を処理し終えるまで繰り返す。
ｂ）前記メモリに格納された係数信号ブロックの前記第２方向の信号列のうち前記ａで処理の対象としなかった信号列が存在する場合、該当する全信号列に対して、前記信号列送出手段によって信号列を取り出して前記第２方向直交変換手段に前記第２方向の１次元直交変換を行わせ、得られた係数信号列を前記量子化手段に量子化させて前記量子化係数選択出力手段に選択させる。
【００２３】
ここで、第２乃至第４の２次元直交変換と量子化装置の好ましい実施例においては、前記２次元直交変換が２次元離散コサイン変換、前記第１方向の１次元直交変換が第１方向の１次元離散コサイン変換、前記第２方向の１次元直交変換が第２方向の１次元離散コサイン変換であり、量子化係数が全て０になる確率が高い部分信号列の順として、前記第１方向の１次元離散コサイン変換の次数の大きい順を用いる。
【００２４】
【作用】
本発明の原理を、数式を用いて説明する。
【００２５】
まず準備として、以下のように定式化する。本発明が適用される２次元直交変換と量子化の処理部が入力する画素ブロックの大きさをＭ×Ｎ（Ｎ行Ｍ列）（Ｍ，Ｎは正整数）とする。入力画素ブロックの信号値をｆ（ｘ，ｙ）（０≦ｘ＜Ｍ，０≦ｙ＜Ｎ）（ｘ，ｙは整数）とし、ｆ（ｘ，ｙ）に２次元直交変換Ｔを施した後の係数をＦ（ｕ，ｖ）（０≦ｕ＜Ｍ，０≦ｖ＜Ｎ）（ｕ，ｖは整数）とする。さらに、Ｆ（ｕ，ｖ）に対し量子化を施した後の量子化係数をＱＦ（ｕ，ｖ）（０≦ｕ＜Ｍ，０≦ｖ＜Ｎ）（ｕ，ｖは整数）で表す。
【００２６】
次に本発明が前提とする条件を示す。
【００２７】
第１の条件として、本発明により実現される２次元直交変換Ｔは、２次元離散コサイン変換のように、行方向の１次元直交変換Ｔ１と列方向の１次元直交変換Ｔ２の繰り返しに分解される性質（行列分解性）を持った２次元直交変換とする。すなわち、入力画素ブロックｆ（ｘ，ｙ）の各行に対し水平方向の直交変換Ｔ１を施した後の中間信号をｇ（ｕ，ｙ）（０≦ｕ＜Ｍ，０≦ｙ＜Ｎ）（ｕ，ｙは整数）で表すと、Ｆ（ｕ，ｖ）はｇ（ｕ，ｙ）の各列に垂直方向の直交変換Ｔ２を施した結果に一致する必要がある。
【００２８】
例えば、数式１で表される２次元離散コサイン変換は、数式２と数式３で示すように、水平方向のＭ点１次元離散コサイン変換と垂直方向のＮ点１次元離散コサイン変換の繰り返しに分解される。
【数式１】
0004336789.tif 000002
【数式２】
0004336789.tif 000003
【数式３】
0004336789.tif 000004
【００２９】
第２の条件として、本発明により実現される量子化は、０付近の一定範囲の値を持つ直交変換係数を０に量子化する特性を持った量子化とする。線形や非線形といった性質についてはどちらでも構わない。
【００３０】
これらの条件のもと、任意の整数の組（ｕ，ｖ）（０≦ｕ＜Ｍ，０≦ｖ＜Ｎ）に対しＺ（ｕ，ｖ）を、量子化係数の（ｕ，ｖ）成分ＱＦ（ｕ，ｖ）が０以外の値を取るために、量子化前の信号Ｆ（ｕ，ｖ）が下回ってはならない電力の最小値、すなわち数式４の関係を成り立たせる最大のＺ（ｕ，ｖ）として定義する。数式中の記号「⇒」は、「⇒」の左側の条件式が「⇒」の右側の条件式を成立させるための十分条件であることを表す。さらに、任意の整数ｕ（０≦ｕ＜Ｍ）に対しＺ（ｕ）を、Ｚ（ｕ，ｖ）のｖに関する最小値として定義する（数式５）。
【数式４】
0004336789.tif 000005
【数式５】
0004336789.tif 000006
【００３１】
例として、数式６および図４に示される量子化を考える。数式６において、ｒｏｕｎｄ関数は最も近い値の整数への整数化を表し、Ｑ（ｕ，ｖ）は量子化マトリックスの（ｕ，ｖ）成分である。図４のグラフの横軸は量子化前の信号Ｆ（ｕ，ｖ）を、縦軸は、量子化後の信号ＱＦ（ｕ，ｖ）に対し逆量子化を行って得られる信号値を示す。図４から分かるように、Ｑ（ｕ，ｖ）とＺ（ｕ，ｖ）の間に数式７の関係が成り立つ。さらに数式５より、Ｑ（ｕ，ｖ）とＺ（ｕ）の間に数式８の関係が成り立つ。
【数式６】
0004336789.tif 000007
【数式７】
0004336789.tif 000008
【数式８】
0004336789.tif 000009
【００３２】
別の例として、数式９および図５に示される量子化を考える。数式９において、ｆｌｏｏｒ関数は元の数値を上回らない最大の整数を、Ｑは量子化パラメータを表す。Ｑの値は（ｕ，ｖ）に依存せず、全ての成分に対し一様な量子化が行われるものとする。図から分かるように、Ｑ（ｕ，ｖ）とＺ（ｕ，ｖ）およびとＺ（ｕ）の間に数式１０の関係が成り立つ。
【数式９】
0004336789.tif 000010
【数式１０】
0004336789.tif 000011
【００３３】
さて、Ｚ（ｕ）の定義より、Ｆ（ｕ，ｖ）の電力が閾値Ｚ（ｕ）を下回る場合は常にＦ（ｕ，ｖ）の電力が閾値Ｚ（ｕ，ｖ）を下回ることになるから、数式４より数式１１の関係が成り立つ。
【数式１１】
0004336789.tif 000012
【００３４】
電力は非負の値をとるため、一信号値Ｆ（ｕ，ｖ）の電力がＦ（ｕ，ｖ）を含む信号列全体の電力を上回ることは起こり得ない。すなわち、任意の（ｕ，ｖ）に対して数式１２が成立する。この関係から数式１３の関係が成立する。数式１３の関係が任意のｖに対し成立することと、数式１１の関係から、数式１４の関係が導かれる。
【数式１２】
0004336789.tif 000013
【数式１３】
0004336789.tif 000014
【数式１４】
0004336789.tif 000015
【００３５】
直交変換の特徴の一つは、信号の電力が保存される、すなわち、入力信号の電力と出力信号の電力が一致することである。この性質を数式２で示される垂直方向の直交変換で考えると、水平方向の直交変換後の信号ｇ（ｕ，ｙ）における第ｕ列の部分信号列と、ｇ（ｕ，ｙ）に対しさらに垂直方向の直交変換を施した後の変換係数Ｆ（ｕ，ｖ）における第ｕ列の部分信号列の電力が一致する。すなわち、数式１５の関係が成立する。
【数式１５】
0004336789.tif 000016
【００３６】
数式１５を数式１４の関係に適用すると、任意のｕに対し、数式１６の関係が成り立つことが導かれる。この関係は、水平方向の直交変換後の信号ｇ（ｕ，ｙ）における第ｕ信号列の電力Ｐ（ｕ）が電力閾値Ｚ（ｕ）を下回っている場合、量子化後の係数ＱＦ（ｕ，ｖ）の第ｕ列は全て０になることを示している。
【数式１６】
0004336789.tif 000017
【００３７】
数式１６の結果を利用すれば、入力画素ブロックｆ（ｘ，ｙ）に対し水平方向の直交変換を施すことで得られたｇ（ｕ，ｙ）と、ある整数ｕ（０≦ｕ＜Ｍ）に対し、ｇ（ｕ，ｙ）の第ｕ信号列の電力Ｐ（ｕ）を算出し、Ｐ（ｕ）が電力閾値Ｚ（ｕ）を下回っている場合は、量子化係数ブロックＱＦ（ｕ，ｖ）の第ｕ係数列を計算するための垂直方向直交変換と量子化処理を省略し、代わりに全ての係数が０からなる零係数列を生成し、量子化係数ＱＦ（ｕ，ｖ）の第ｕ列の計算結果として出力することが可能である。Ｐ（ｕ）が電力閾値Ｚ（ｕ）を超えるか等しい場合は、ｇ（ｕ，ｙ）の第ｕ信号列に対し、通常の垂直方向直交変換と量子化処理を行う。以下の説明では、このような垂直方向直交変換と量子化の方法を、零列検出法と呼ぶことにする。
【００３８】
一般に、直交変換と量子化処理に要する演算量は大きい。それに対し、全ての係数が０である量子化係数列を出力する処理に要する演算量は小さい。また、部分信号列の電力計算に要する演算量も小さい。このため、第ｕ信号列の電力Ｐ（ｕ）が電力閾値Ｚ（ｕ）を下回っている確率が高い性質を持った信号列に対し、零列検出法を適用することで、画像全体で垂直方向直交変換と量子化処理に要する演算量を削減することができる。その結果、高速かつ低い消費電力での２次元直交変換と量子化処理を実現できる。
【００３９】
静止画像圧縮符号化方式および動画像圧縮符号化方式の多くは、入力画素ブロックの信号電量分布を直交変換により一部の変換係数に集中させることで、高能率の圧縮符号化を実現している。このような圧縮符号化では、信号電力が０付近の小さい値に分布する変換係数が多数存在する。このため、０付近に分布する性質を持った変換係数からなる信号列の量子化値の計算に対しては、前記の零列検出法を適用することで、画像全体で垂直方向直交変換と量子化に要する演算量を大きく削減できる。
【００４０】
本発明の第１ないし第２の２次元直交変換と量子化方法および装置によれば、水平方向の直交変換後のＭ×Ｎ信号ブロックに含まれるＭ個の信号列の中から、一部または全部の信号列に対しては零列検出法による垂直方向直交変換と量子化処理を行い、残りの信号列に対しては通常の垂直方向直交変換と量子化を行う。このため、量子化後の出力結果が０になる確率の高い性質を持つ、一部または全部の信号列に対し零列検出法を適用することで、画像全体で垂直方向の直交変換と量子化処理に要する演算量を効果的に削減できる。また、残りの信号列に対しては、零列検出法を適用しないことで、不要な演算量の増加を防ぐことが可能である。
【００４１】
また、本発明の第３ないし第４の２次元直交変換と量子化方法および装置によれば、水平方向の直交変換後のＭ×Ｎ信号ブロックに含まれるＭ個の信号列から、順位付けされた一部または全部の信号列に対しては、前記の順位付けに従った順番で零列検出法を適用し、零列検出法により演算量が削減されなかった信号列よりも順位の低い信号列と、前記の一部または全部の信号列に含まれない信号列に対しては、通常の垂直方向直交変換と量子化を行う。このため、量子化後の出力結果が０になる確率が高い信号列から順に零列検出法を適用することで、画像全体で垂直方向直交変換と量子化処理に要する演算量を効果的に削減可能である。また、演算量の削減が期待されない信号列に対しては零列検出法を適用しないことで、不要な演算量の増加を防ぐことが可能である。
【００４２】
【発明の第１の実施の形態】
本発明の第１の実施の形態では、水平方向あるいは垂直方向のいずれかを第１方向とし、水平方向あるいは垂直方向のいずれかの方向で第１方向と相異なる方向を第２方向とし、入力画素ブロックに対し第１方向の１次元直交変換を行う第１方向直交変換手段と、第１方向直交変換手段が出力する係数信号を格納するブロックメモリと、前記ブロックメモリに格納された係数信号を走査して第２方向の部分信号列単位で取り出す信号列送出手段と、前記信号列送出手段より送出される信号列に対し第２方向の１次元直交変換を行う第２方向直交変換手段と、第２方向直交変換手段の出力係数信号を所定の量子化特性に従って量子化を行う量子化手段と、前記の量子化特性に従った量子化により０以外の値に量子化される２次元直交変換係数が取り得る最小の電力を第２方向の信号列単位で算出する判定閾値算出手段と、前記信号列送出手段より送出される部分信号列の電力を算出する電力算出手段と、前記電力算出手段の算出電力が前記判定閾値算出手段の算出閾値を下回っているかを判定し結果を真偽で出力する大小比較手段と、全ての量子化係数が０である第２方向の信号列を生成する零係数列生成手段と、前記量子化手段と前記零係数列生成手段の出力からいずれかを第２方向の信号列毎に選択して量子化後の出力係数信号とする量子化係数選択出力手段と、前記の信号列送出手段と判定閾値算出手段と零係数生成手段と量子化係数選択出力手段の動作を制御する制御部を備えている。
【００４３】
そして、前記制御部は、前記ブロックメモリに格納された第２方向信号列の中から、一部または全部の信号列に対しては、前記の信号列送出手段と電力算出手段と判定閾値算出手段と大小比較手段を動作させて、該当する信号列の電力と算出された閾値の大小判定を行い、前記大小比較の判定結果が真である場合は、前記の零係数生成手段を動作させて得られる信号列を量子化信号として出力するように、前記の零係数生成手段と量子化係数選択出力手段を動作させ、前記大小比較の判定結果が偽である場合は、該当する信号列に対し前記の第２方向直交変換手段と量子化手段を動作させて得られる信号列を出力量子化信号として出力するように、前記の信号列送出手段と第２方向直交変換手段と量子化手段と量子化係数選択出力手段を動作させ、前記の一部または全部の信号列に含まれない信号列に対しては、該当する信号列に対し前記の第２方向直交変換手段と量子化手段を動作させて得られる信号列を量子化信号として出力するように、前記の信号列送出手段と第２方向直交変換手段と量子化手段と量子化係数選択出力手段を動作させるように制御する。
【００４４】
【第１の実施例】
次に本実施の形態の実施例を、本発明の第１の実施例として図面を参照しながら説明する。
【００４５】
図１は本発明の第１の実施例を示しており、デジタル静止画像圧縮符号化装置またはデジタル動画像圧縮符号化装置における、２次元直交変換と量子化の処理部の構成を示している。図１に示される２次元直交変換と量子化の処理部は、Ｍ×Ｎ（Ｎ行Ｍ列）の画素ブロックと量子化特性を指定するパラメータを入力し、同じくＭ×Ｎ（Ｎ行Ｍ列）の量子化係数ブロックを出力する。
【００４６】
図１において、１０１は入力画素ブロックに対し水平方向のＭ点直交変換を行う水平方向直交変換部、１０２は水平方向直交変換部１０１の出力信号を記憶するブロックメモリ、１０３はブロックメモリ１０２から垂直方向の列単位で信号を取り出す信号列送出部、１０４は信号列送出部１０３が送出する信号列にＮ点直交変換を行う垂直方向直交変換部、１０５は垂直方向直交変換部１０４の出力信号を量子化する量子化部、１０６は信号列送出部１０３が送出する信号列の電力を算出する電力算出部、１０７は所定の量子化特性に従って判定閾値を算出する判定閾値算出部、１０８は電力算出部１０６が算出した電力値と判定閾値算出部１０７が算出した閾値の大小を比較する大小比較部、１０９は全てが０の量子化係数列を生成する零係数列生成部、１１０は量子化部１０５と零係数列生成部１０９の出力から片方を選択して出力する選択出力部、１１１は以上の処理部の動作を制御する動作制御部である。
【００４７】
本発明の第１の実施例の動作を、図６に示されるフローチャートをもとに説明する。
【００４８】
説明において、ブロックメモリ１０２に格納された信号ブロックの部分信号列と、出力される量子化係数ブロックの部分信号列を、第ｕ信号列（０≦ｕ＜Ｍ）（ｕは整数）と表記する。第１の実施例において、列番号ｕと実際の信号間の対応はいかなる対応でも構わないが、２次元直交変換と量子化の演算量をなるべく削減するためには、水平方向直交変換の出力係数の電力分布特性に従い、電力が大きく分布すると予期される変換係数からなる信号列に対し、小さい列番号ｕを対応させておくのが望ましい。例えば、直交変換として離散コサイン変換を用いる場合は、列番号ｕ＝０に対しては直流成分からなる信号列を、ｕ＞０に対してはｕ次の交流成分からなる信号列を割り当てるのが良い。
【００４９】
そして、零列検出法の適用範囲を規定する後述するｋの値は、直交変換後の信号の電力分布特性と量子化特性（換言すれば零列の検出確率）と、垂直方向直交変換と量子化処理を０からなる信号列の零列検出処理に置き換えた場合に削減される演算量と零列検出処理に要する演算量の比とを考慮して事前に決定される。即ち、ｋの値は、零列検出にかかる費用を上回る効果が期待される列に対してのみ零列検出が適用されるような値が好ましい。圧縮対象となるデジタル静止画像やデジタル動画像の種別（自然画、人物画など）によって好ましいｋの値がほぼ一意に決まる場合、画像の種別毎に好ましいｋの値を事前に決定してテーブルに記憶しておき、圧縮する画像の種別に応じた値のｋをテーブルから読み込んで設定するのも一つの方法である。
【００５０】
図６のステップＳ１０１からの一連の手順は、２次元直交変換と量子化の処理部にＭ×Ｎ（Ｎ行Ｍ列）の画素ブロックが入力された時点で開始される。
【００５１】
はじめに、ステップＳ１０１では、入力画素ブロック内の全ての行に対し水平方向の１次元Ｍ点直交変換を水平方向直交変換部１０１が施して、変換結果をブロックメモリ１０２に格納する。
【００５２】
次に、ステップＳ１０２で、動作制御部１１１内に設けられた列番号カウンタｕを、列数Ｍから１を引いた値に初期化する。
【００５３】
ステップＳ１０３で、信号列送出部１０３は列番号カウンタｕの値に従い、ブロックメモリ１０２中の第ｕ信号列を取り出して、電力算出部１０６は取り出された信号列の電力Ｐ（ｕ）を、信号列を構成するＮ個の信号値の平方和によって算出する。
【００５４】
ステップＳ１０４で、判定閾値算出部１０７は量子化制御パラメータと列番号カウンタｕを参照しながら判定閾値Ｚ（ｕ）を算出する。判定閾値Ｚ（ｕ）は、以下のように定義される。２次元直交変換後の係数の（ｕ，ｖ）成分を、量子化制御パラメータで定まる量子化特性に従って量子化した結果、０以外に量子化される信号電力の最小値をＺ（ｕ，ｖ）として、整数ｖを０からＮ−１まで変化させた中でのＺ（ｕ，ｖ）の最小値をＺ（ｕ）とする。
【００５５】
ステップＳ１０５で、大小比較部１０８は電力Ｐ（ｕ）と判定閾値Ｚ（ｕ）の大小を比較し、電力Ｐ（ｕ）が閾値Ｚ（ｕ）を下回っているならばステップＳ１０６に進み、電力Ｐ（ｕ）が閾値Ｚ（ｕ）以上であるならばステップＳ１０７に進む。
【００５６】
ステップＳ１０６に進んだ場合、零係数列生成部１０９で、全ての係数が０である量子化係数列を生成し、生成された零係数列を選択出力部１１０が選択し、量子化係数ブロックの第ｕ列の計算結果として出力する。その後、ステップＳ１０８に進む。
【００５７】
一方、ステップＳ１０７に進んだ場合は、ブロックメモリ１０２中の第ｕ信号列を、信号列送出部１０３により取り出して、取り出した信号列に対し垂直方向直交変換部１０４で垂直方向の１次元Ｎ点直交変換を施す。次に、得られた変換係数を量子化パラメータで指定される所定の量子化特性に基づき量子化部１０５で量子化し、その出力を選択出力部１１０が選択して、量子化係数の第ｕ列の計算結果として出力する。その後、ステップＳ１０８に進む。
【００５８】
ステップＳ１０８では、列番号カウンタｕの値を１減少させ、ステップＳ１０９に進む。ステップＳ１０９では、列番号カウンタｕの値が所定の整数ｋ（０≦ｋ＜Ｍ）を下回っていないか判定し、列番号ｕがｋを下回っているならば、ステップＳ１１０に進む。列番号ｕがｋ以上であるならば、ステップＳ１０３に戻り次の信号列に対する量子化係数出力処理を繰り返す。
【００５９】
ステップＳ１１０では、列番号カウンタｕの値が０以上であるか判定する。列番号ｕが０以上であるならば、ステップＳ１１１に進む。列番号ｕが負の値であるならば、全ての２次元直交変換と量子化の処理が完了しているので、一連の処理を終了し、次の画素ブロック入力を待機する。
【００６０】
ステップＳ１１１に進んだ場合、ステップＳ１０７と同様に、ブロックメモリ１０２中の第ｕ信号列に対する２次元直交変換と量子化の処理を施し、得られる係数を第ｕ列の計算結果として出力する。
【００６１】
ステップＳ１１２では、列番号カウンタｕの値を１減少させ、ステップＳ１１０からの処理を再び繰り返す。
【００６２】
以上が、本発明の第１の実施例の動作である。
【００６３】
なお、本発明の第１の実施例における水平方向直交変換部１０１の具体的実現方法については、Ｍ×Ｎ入力画素ブロックに含まれるＮ個の信号行に対し、所定のＭ点１次元直交変換を施す方法であれば、いかなる方法でも構わない。
【００６４】
また、垂直方向直交変換部１０４の具体的実現方法については、信号列送出部１０３から送出される信号列に対し、所定のＮ点１次元直交変換を施す方法であれば、いかなる方法でも構わない。
【００６５】
量子化部１０５の具体的実現方法については、垂直方向直交変換部１０４から出力される直交変換係数列を所定の量子化特性に従って量子化する方法であれば、いかなる方法でも構わない。
【００６６】
判定閾値算出部１０７の具体的実現方法については、定義された閾値Ｚ（ｕ）を算出する方法であれば、いかなる方法でも構わない。例えば、異なる量子化パラメータ毎にＺ（ｕ）を算出した値を、予めテーブルメモリに格納しておき、判定閾値算出部１０７が必要時に前記テーブルメモリに格納された値を取り出しても良い。あるいは、量子化パラメータと列番号ｕから閾値Ｚ（ｕ）を算出する関係式に従って、判定閾値算出部１０７が必要時に計算して求めても良い。
【００６７】
以上で説明した第１の実施例によれば、入力画素ブロックに対して水平方向の直交変換を施した変換係数中のＭ個の信号列の中から、第ｋ列から第（Ｍ−１）列までの（Ｍ−ｋ）個の信号列に対しては、各量子化後の係数値が全て０になる十分条件が成立するかどうかを信号列の電力値を元に判定して、前記条件が成立する信号列に対しては、垂直方向直交変換と量子化処理を省略し、単純に０の量子化係数を出力することで、画像全体で垂直方向直交変換と量子化処理に要する演算量を削減できる。また、第０列から第（ｋ−１）列までのｋ個の信号列に対しては、前記の判定処理を行うことなく、垂直方向直交変換と量子化処理を実行することで、不要な演算量の増大を防ぐことが可能である。これらの結果、本発明の第１の実施例を用いることで、２次元直交変換と量子化処理を高速化し、消費電力を小さく抑えることが可能である。
【００６８】
【発明の第２の実施の形態】
本実施の形態では、水平方向あるいは垂直方向のいずれかを第１方向とし、水平方向あるいは垂直方向のいずれかの方向で第１方向と相異なる方向を第２方向とし、入力画素ブロックに対し第１方向の１次元直交変換を行う第１方向直交変換手段と、第１方向直交変換手段が出力する係数信号を格納するブロックメモリと、前記ブロックメモリに格納された係数信号を走査して第２方向の部分信号列単位で取り出す信号列送出手段と、前記信号列送出手段より送出される信号列に対し第２方向の１次元直交変換を行う第２方向直交変換手段と、第２方向直交変換手段の出力係数信号を所定の量子化特性に従って量子化を行う量子化手段と、前記の量子化特性に従った量子化により０以外の値に量子化される２次元直交変換係数が取り得る最小の電力を第２方向の信号列単位で算出する判定閾値算出手段と、前記信号列送出手段より送出される部分信号列の電力を算出する電力算出手段と、前記電力算出手段の算出電力が前記判定閾値算出手段の算出閾値を下回っているかを判定し結果を真偽で出力する大小比較手段と、全ての量子化係数が０である第２方向の信号列を生成する零係数列生成手段と、前記量子化手段と前記零係数列生成手段の出力からいずれかを第２方向の信号列毎に選択して量子化後の出力係数信号とする量子化係数選択出力手段と、前記の信号列送出手段と判定閾値算出手段と零係数生成手段と量子化係数選択出力手段の動作を制御する制御部を備える。
【００６９】
そして、前記制御部は、前記ブロックメモリに格納された第２方向信号列の中から、順位付けされた一部または全部の信号列に対しては、前記の信号列送出手段と電力算出手段と判定閾値算出手段と大小比較手段を動作させて、該当する信号列の電力と算出された閾値の大小判定を行う処理を、前記の大小判定結果が偽となるまで、前記の順位付けに従って先頭から順に繰り返し、前記繰り返し処理において前記の大小判定結果が真であった信号列に対しては、前記の零係数生成手段を動作させて得られる信号列を量子化信号として出力するように、前記の零係数生成手段と量子化係数選択出力手段を動作させ、前記の繰り返し処理において前記の大小判定結果が偽であったため繰り返し処理が中断された信号列と、前記の繰り返し処理が中断された信号列よりも低い順位付けがされている信号列に対しては、該当する信号列に対し前記の第２方向直交変換手段と量子化手段を動作させて得られる信号列を出力量子化信号として出力するように、前記の信号列送出手段と第２方向直交変換手段と量子化手段と量子化係数選択出力手段を動作させ、前記の一部または全部の信号列に含まれない信号列に対しては、該当する信号列に対し前記の第２方向直交変換手段と量子化手段を動作させて得られる信号列を量子化信号として出力するように、前記の信号列送出手段と第２方向直交変換手段と量子化手段と量子化係数選択出力手段を動作させる。
【００７０】
【第２の実施例】
次に本発明の第２の実施の形態にかかる実施例を第２の実施例として説明する。第２の実施例も第１の実施例と基本的な構成は図１で示される構成と同じであり、動作制御部１１１の制御動作を主に相違する。以下、第２の実施例における動作手順を、第１の実施例との相違点を中心に、図７に示されるフローチャートをもとに説明する。
【００７１】
図７のステップＳ２０１からの一連の手順は、２次元直交変換と量子化の処理部にＭ×Ｎ（Ｎ行Ｍ列）の画素ブロックが入力された時点で開始される。
【００７２】
はじめに、ステップＳ２０１では、入力画素ブロック内の全ての行に対し水平方向の１次元Ｍ点直交変換を水平方向直交変換部１０１が施して、変換結果をブロックメモリ１０２に格納する。
【００７３】
次に、ステップＳ２０２で、動作制御部１１１内に設けられた列番号カウンタｕを、列数Ｍから１を引いた値に初期化する。
【００７４】
ステップＳ２０３で、信号列送出部１０３は列番号カウンタｕの値に従い、ブロックメモリ１０２中の第ｕ信号列を取り出して、電力算出部１０６は取り出された信号列の電力Ｐ（ｕ）を、信号列を構成するＮ個の信号値の平方和によって算出する。
【００７５】
ステップＳ２０４で、判定閾値算出部１０７は量子化制御パラメータと列番号カウンタｕを参照しながら判定閾値Ｚ（ｕ）を算出する。判定閾値Ｚ（ｕ）の定義は、第１の実施例と同様であるとする。
【００７６】
ステップＳ２０５で、大小比較部１０８は電力Ｐ（ｕ）と判定閾値Ｚ（ｕ）の大小を比較し、電力Ｐ（ｕ）が閾値Ｚ（ｕ）を下回っているならばステップＳ２０６に進み、電力Ｐ（ｕ）が閾値Ｚ（ｕ）以上であるならばステップＳ２１０に進む。
【００７７】
ステップＳ２０６に進んだ場合、零係数列生成部１０９で、全ての係数が０である量子化係数列を生成し、生成された零係数列を選択出力部１１０が選択し、量子化係数ブロックの第ｕ列の計算結果として出力する。その後、ステップＳ２０７に進む。
【００７８】
ステップＳ２０７では、列番号カウンタｕの値を１減少させ、ステップＳ２０８に進む。ステップＳ２０８では、列番号カウンタｕの値が所定の整数ｋ（０≦ｋ＜Ｍ）を下回っていないか判定し、列番号ｕがｋを下回っているならば、ステップＳ２０９に進む。列番号ｕがｋ以上であるならば、ステップＳ２０３に戻り次の信号列に対する量子化係数出力処理を繰り返す。
【００７９】
ステップＳ２０９では、列番号カウンタｕの値が０以上であるか判定する。列番号ｕが０以上であるならば、ステップＳ２１０に進む。列番号ｕが負の値であるならば、全ての２次元直交変換と量子化の処理が完了しているので、一連の処理を終了し、次の画素ブロック入力を待機する。
【００８０】
ステップＳ２１０では、ブロックメモリ１０２中の第ｕ信号列を、信号列送出部１０３により取り出して、取り出した信号列に対し垂直方向直交変換部１０４で垂直方向の１次元Ｎ点直交変換を施す。次に、得られた変換係数を量子化パラメータで指定される所定の量子化特性に基づき量子化部１０５で量子化し、その出力を選択出力部１１０が選択して、量子化係数の第ｕ列の計算結果として出力する。その後、ステップＳ２１１に進む。
【００８１】
ステップＳ２１１では、列番号カウンタｕの値を１減少させた後、ステップＳ２０９からの処理を繰り返す。以上が、本発明の第２の実施例の動作である。
【００８２】
第２の実施例によれば、入力画素ブロックに対して水平方向の直交変換を施した変換係数中のＭ個の信号列の中から、第ｋ列から第（Ｍ−１）列までの（Ｍ−ｋ）個の信号列に対しては、列番号の大きい信号列から順番に、量子化後の係数値が全て０になる十分条件が成立するか判定し、前記の十分条件が成立する信号列に対しては、垂直方向直交変換と量子化処理を省略し、単純に０の量子化係数を出力することで、画像全体で垂直方向直交変換と量子化処理に要する演算量を削減できる。また、前記の判定の結果、十分条件が成立しなかった信号列より小さい番号に対応する信号列と、第０列から第（ｋ−１）列までの信号列に対しては、前記の判定処理を行うことなく、所定の垂直方向直交変換と量子化処理を実行することで、不要な電力計算に伴う演算量の増大を防ぐことが可能である。これらの結果、本発明の第２の実施例を用いることで、２次元直交変換と量子化処理を高速化し、消費電力を小さく抑えることが可能である。
【００８３】
以上本発明の実施の形態および実施例について説明したが、本発明は以上の例に限定されず、その他各種の付加変更が可能である。例えば、図６のフローチャートのステップＳ１０９、Ｓ１１１、Ｓ１１２を省略し、ステップＳ１０８の次にステップＳ１１０を実行し、ステップＳ１１０でＹｅｓと判定されたときにステップＳ１０３に制御を戻し、Ｎｏと判定されたときに終了するようにしても良い。即ち、ブロックメモリ１０２中の全ての列の信号に対して零列検出法を常に適用するようにしても良い。また、図７のフローチャートのステップＳ２０８の代わりに、ｕが０以上かどうかを判定し、０以上であればステップＳ２０３に制御を戻し、０以上でなければ終了するステップを設けるようにしても良い。即ち、予め定められた数の部分信号列を零列検出法で処理し終えたかどうかに関係なく、ステップＳ２０５でＮｏと判定されない限り零列検出法を適用し続けるようにしても良い。
【００８４】
また、図６または図７に例示したような処理をパーソナルコンピュータやワークステーション等のコンピュータで実行するようにしても良い。その場合、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に２次元直交変換・量子化用プログラムが記憶され、このプログラムがコンピュータに読み取られ、コンピュータの動作を制御することにより、そのコンピュータ上に図１に示した各機能手段を実現し、またそのコンピュータに図６または図７に例示した処理を行わせる。
【００８５】
【発明の効果】
以上説明したように、本発明を用いれば、静止画像圧縮符号化および動画像圧縮符号化における２次元直交変換と量子化の処理を、従来の技術よりも一層高速化し、かつ消費電力を低く抑えることが可能になる。
【図面の簡単な説明】
【図１】本発明の実施例の構成を示す図である。
【図２】変換符号化と量子化の技術を組み合わせた静止画像圧縮符号化装置の例を示す図である。
【図３】変換符号化と量子化の技術を組み合わせた動画像圧縮符号化装置の例を示す図である。
【図４】本発明を適用できる量子化の量子化特性の例その１を示す図である。
【図５】本発明を適用できる量子化の量子化特性の例その２を示す図である。
【図６】本発明の第１の実施例の動作手順を示す図である。
【図７】本発明の第２の実施例の動作手順を示す図である。
【符号の説明】
１０１ 水平方向直交変換部
１０２ ブロックメモリ
１０３ 信号列送出部
１０４ 垂直方向直交変換部
１０５ 量子化部
１０６ 電力算出部
１０７ 判定閾値算出部
１０８ 大小比較部
１０９ 零係数列生成部
１１０ 量子化係数選択出力部
１１１ 動作制御部
２０１ 画像ブロック化部
２０２ ２次元直交変換部
２０３ 量子化部
２０４ 可変長符号化部
３０１ フレーム走査部
３０２ 画像ブロック化部
３０３ フレームメモリ
３０４ フレーム間予測部
３０５ 予測誤差算出部
３０６ ２次元直交変換部
３０７ 量子化部
３０８ 可変長符号化部
３０９ 逆量子化部
３１０ 逆２次元直交変換部
３１１ 復号画像算出部
【図１】
0004336789.tif 000018
【図２】
0004336789.tif 000019
【図３】
0004336789.tif 000020
【図４】
0004336789.tif 000021
【図５】
0004336789.tif 000022
【図６】
0004336789.tif 000023
【図７】
0004336789.tif 000024