(57)【特許請求の範囲】
【請求項１】
１フレーム単位の画像信号をブロック毎に２次元直交変換する直交変換装置であって、
入力された画像信号を水平方向に直交変換する第１の直交変換手段と、
前記第１の直交変換手段で変換されたＤＣ成分係数の奇数フィールドの総和と偶数フィールドの総和との差分絶対値と所定値とを比較することにより前記ブロック内のフィールド間の動きの有無を検出する動き検出手段と、
前記動き検出手段の検出結果に応じて、フレーム内又はフィールド内の直交変換を行うかを切換え、前記第１の直交変換手段により変換された画像信号を垂直方向に直交変換する第２の直交変換手段とを備え、
前記動き検出手段は、前記差分絶対値が前記所定値以上の時に動き有りと検出し、前記差分絶対値が前記所定値より小さい時に動き無しと検出し、
前記第２の直交変換手段は、前記動き検出手段の検出結果が動き無しの場合にフレーム内の直交変換を行い、前記動き検出手段の検出結果が動き有りの場合にフィールド内の直交変換を行うことを特徴とする直交変換装置。
【請求項２】
１フレーム単位の画像信号をブロック毎に２次元直交変換する直交変換方法であって、
入力された画像信号を水平方向に直交変換する第１の直交変換工程と、
前記第１の直交変換工程で変換されたＤＣ成分係数の奇数フィールドの総和と偶数フィールドの総和との差分絶対値と所定値とを比較することにより前記ブロック内のフィールド間の動きの有無を検出する動き検出工程と、
前記動き検出工程の検出結果に応じて、フレーム内又はフィールド内の直交変換を行うかを切換え、前記第１の直交変換工程で変換された画像信号を垂直方向に直交変換する第２の直交変換工程とを備え、
前記動き検出工程では、前記差分絶対値が前記所定値以上の時に動き有りと検出し、前記差分絶対値が前記所定値より小さい時に動き無しと検出し、
前記第２の直交変換工程では、前記動き検出工程の検出結果が動き無しの場合にフレーム内の直交変換を行い、前記動き検出工程の検出結果が動き有りの場合にフィールド内の直交変換を行うことを特徴とする直交変換方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は映像信号等の高能率符号化に用いられる直交変換装置及び直交変換方法に関するものである。
【０００２】
【従来の技術】
従来より画像や音声の高能率符号化を行う場合の手法として、離散コサイン変換（ＤＣＴ）等の直交変換処理が知られている。
図１２は８×８個の画素ブロックから成る入力信号に対する従来の２次元ＤＣＴ処理回路を示したもので、８個の入力信号に対する２つの１次元ＤＣＴ回路と転置回路から成るが、特に１次元ＤＣＴ回路の処理時間が大きいため、いくつかの高速アルゴリズムが考え出されている。図１３は既知の高速アルゴリズムを用いた１次元ＤＣＴの一従来例である。この例ではＤＣＴの変換式が持つ対称性を利用し、あらかじめ入力信号を対称に和差演算し、まとめることで乗算回数を半分に減らしている。
【０００３】
また、ＦＦＴのようなバタフライによる高速アルゴリズムも広く知られている。このアルゴリズムはＤＣＴの変換式に含まれる共通部分をまとめることで、乗算回数を更に減らしている。しかし、高速アルゴリズムを用いた装置の多くは回路規模が大きく、ＬＳＩ化等の応用に不向きであることが指摘されている。
【０００４】
また、人間は高域の周波数に鈍いという視覚特性を利用し、ＤＣＴによって変換した信号に重み付けを行う方式も一般に用いられている。このような方式では、低域を表す信号に大きな重み付けを行い、高域を表す信号に小さな重み付けを行うことにより、符号化の能率を高めようとすることが多い。図１４は重み付けを行う２次元ＤＣＴの従来例である。図１４（ａ）は通常の２次元ＤＣＴ後に重み付けを行う例、図１４（ｂ）は１次元ＤＣＴ毎に重み付けを行う例である。また、ＤＣＴと重み付けの乗数とを共用する方法が特開平２−１１６９６９号公報により公知である。
【０００５】
一方、入力信号が時間のずれを持った２フィールドで構成されるＴＶ映像信号等の高能率符号化では、フィールド間の動きを検出してＤＣＴの方式を切り換える工夫が広く用いられている。図１５はこの方法の従来例の１つである。ＤＣＴ処理を行う前に動き検出回路（図示せず）から動き情報信号がＤＣＴ回路に供給され、動きの有無に応じて８×８個の入力信号を通常の２次元ＤＣＴする方式と、フィールド間の和および差から成る４×８個の入力信号２組に分けて２次元ＤＣＴする方式とを切り換えている。
【０００６】
【発明が解決しようとする課題】
従来のＤＣＴ回路においては、上記の様に高速性や高能率性を向上させる工夫のために、回路規模が大きくなるという問題があった。特にＤＣＴとその逆変換であるＩＤＣＴとの両方を必要とする用途では、更に回路規模が大きくなり、ＬＳＩ化が困難になるという問題があった。
【０００７】
本発明は上記のような問題を解決するためになされたもので、処理を高速化すると共に回路規模を縮小することのできる直交変換装置及び直交変換方法を得ることを目的としている。
【０００８】
【課題を解決するための手段】
本発明による直交変換装置は、１フレーム単位の画像信号をブロック毎に２次元直交変換する直交変換装置であって、入力された画像信号を水平方向に直交変換する第１の直交変換手段と、前記第１の直交変換手段で変換されたＤＣ成分係数の奇数フィールドの総和と偶数フィールドの総和との差分絶対値と所定値とを比較することにより前記ブロック内のフィールド間の動きの有無を検出する動き検出手段と、前記動き検出手段の検出結果に応じて、フレーム内又はフィールド内の直交変換を行うかを切換え、前記第１の直交変換手段により変換された画像信号を垂直方向に直交変換する第２の直交変換手段とを備え、前記動き検出手段は、前記差分絶対値が前記所定値以上の時に動き有りと検出し、前記差分絶対値が前記所定値より小さい時に動き無しと検出し、前記第２の直交変換手段は、前記動き検出手段の検出結果が動き無しの場合にフレーム内の直交変換を行い、前記動き検出手段の検出結果が動き有りの場合にフィールド内の直交変換を行うことを特徴とする。
また、１フレーム単位の画像信号をブロック毎に２次元直交変換する直交変換方法であって、入力された画像信号を水平方向に直交変換する第１の直交変換工程と、前記第１の直交変換工程で変換されたＤＣ成分係数の奇数フィールドの総和と偶数フィールドの総和との差分絶対値と所定値とを比較することにより前記ブロック内のフィールド間の動きの有無を検出する動き検出工程と、前記動き検出工程の検出結果に応じて、フレーム内又はフィールド内の直交変換を行うかを切換え、前記第１の直交変換工程で変換された画像信号を垂直方向に直交変換する第２の直交変換工程とを備え、前記動き検出工程では、前記差分絶対値が前記所定値以上の時に動き有りと検出し、前記差分絶対値が前記所定値より小さい時に動き無しと検出し、前記第２の直交変換工程では、前記動き検出工程の検出結果が動き無しの場合にフレーム内の直交変換を行い、前記動き検出工程の検出結果が動き有りの場合にフィールド内の直交変換を行うことを特徴とする。
【００１０】
【実施例】
図１は本発明による直交変換装置の実施例を示すブロック図であり、縦横８×８個の画素から成る入力信号を２次元ＤＣＴする場合の例を示す。
図２は本実施例によるＤＣＴの処理過程を表す流れ図である。
図１、図２において本装置は、入力端子１、出力端子２、及び和差演算、積和演算、重み付け、転置、動き検出等の各処理を行う回路３〜８がバス１０で接続された構成になっている。また、バス制御回路９がバス１０のデータの流れを制御すると共に、上記諸回路３〜８と制御信号のやりとりを行い、動作状態の切り換えを制御して、図２に示した流れ図に従って処理を行うように成されている。
【００１１】
入力端子１から１ライン分（画素８個）の信号が取り込まれ、バス１０を介して和差演算回路３に供給される。図３は、和差演算回路３の実施例の１つを示す。図３において、バス１０を介して端子３０１〜３０８に供給された信号の対称要素間の和が加算器３１７〜３２０から端子３０９〜３１２に出力される。また対称要素間の差が減算器３２１〜３２４から端子３１３〜３１６に出力される。この和差演算回路３が端子３０９〜３１２に出力した加算信号列は、バス制御回路９によって積和演算回路４に供給される。同様に和差演算回路３が端子３１３〜３１６に出力した減算信号列はバス制御回路９によって積和演算回路５に供給される。
【００１２】
積和演算回路４の実施例の１つを図４に示す。この実施例は加算器４１０〜４１３を含む１組の４ポイントバタフライ演算器４０１、係数器４１４〜４１９、切り換え器ｓｗ１〜ｓｗ８、加算器４２０、遅延回路４２１〜４２４により図示のように構成されており、ＤＣＴおよびＩＤＣＴ処理両方に対応した積和演算回路４である。図４において、係数器４１４〜４１９は各回路内に示した数字を乗算する。点線は符号の反転を表している。この積和演算回路４は端子４０２〜４０５に供給された信号を２サイクルで処理し、端子４０６〜４０９に出力する。図５はこの回路４がＤＣＴおよびＩＤＣＴ処理を行う際の各サイクルにおける切り換え器ｓｗ１〜ｓｗ８の状態を示したものである。
【００１３】
一方、積和演算回路５の実施例の１つを図６に示す。図６において積和演算回路５は端子６０１に供給された減算信号列を４サイクルにわたってシリアルに係数器６０２〜６０５へ供給する。係数器６０２〜６０５は所定の係数ｋ１〜ｋ４を供給された信号に乗じ、それぞれ乗算結果と乗算結果の符号を点線のように反転した信号とが切り換え器６０６に供給される。切り換え器６０６は供給された信号を各サイクルで切り換え、積算回路６０７〜６１０に供給する。図７は各サイクルにおける切り換え器６０６の状態を示す。切り換え器６０６はＤＣＴとＩＤＣＴとで各サイクルの状態が全く同一である。積算回路６０７〜６１０は、４サイクルにわたって供給される信号を積算し、端子６１１〜６１４に出力する。
【００１４】
端子６１１〜６１４に出力された信号は、重み付け回路６に供給される。図８は重み付け回路６の実施例の１つを示す。図８において、重み付け回路６は端子８０１〜８０４に供給された信号にそれぞれ所定の係数を乗じて端子８０５〜８０８に出力する。図８において８０９〜８１６は係数器でそれぞれ係数ｗ１、ｉｗ１〜ｗ４、ｉｗ４を乗じる。８１７〜８２０は切り換え器である。切り換え器８１７〜８２０はＤＣＴ処理においてはａ側を選択し、ＩＤＣＴ処理においてはｂ側を選択する。
【００１５】
次に積和演算回路４と重み付け回路６の出力は、転置回路７に供給される。このとき、バス制御回路９は、積和演算回路４からの信号列と重み付け回路６からの信号列とを図９（ａ）に示すように互い違いに並べ換えて転置回路７に供給する。転置回路７は８ライン分（６４個）の入力信号についての上記処理結果を保持した後、転置する。
【００１６】
次に動き検出回路８は転置回路７に格納された信号から入力信号中の動き情報を検出する。図１０は動き検出回路８の実施例の１つである。図１０において動き検出回路８は、転置回路７からＤＣ成分列を供給される。ＤＣ成分列は各ラインの直流成分から成るものである。この動き検出回路８は端子１００１〜１００８に供給されたＤＣ成分列を奇数ライン列と偶数ライン列とに分け、それぞれの総和を加算器１０１２〜１０１７で求めた後、各総和同士の差を減算器１０１８で算出し、絶対値器１００９によってその絶対値を求めて検出器１０１０に供給する。検出器１０１０は供給された値を定数２５６と比較し、２５６より小さい時は動き無し、２５６以上の時は動き有りを表す動き情報信号を端子１０１１に出力する。
【００１７】
この動き情報信号は図１の出力端子２から出力されると共にバス制御回路９に供給され、以降の処理方式を決定する。動き無しの場合はバス制御回路９は、転置回路７から供給される８個ずつの信号に図１の入力端子１からの信号列と同様の処理過程を与える。すなわち、図２の分岐ブロック２００から分岐路２０１側を介しての和算演算回路３への流れで処理され、出力端子２から順次出力される。また、動き有りの場合は、図２の分岐ブロック２００から分岐路２０２側を介しての和算演算回路３への流れで処理される。この場合バス制御回路９は転置回路７が出力する８個ずつの信号を、図９（ｂ）の様に並べ換えて和差演算回路３に供給する。
【００１８】
動き無しの場合は、和差演算回路３が出力する加算信号列は積和演算回路４に供給され、前記した処理と同様の処理を同様にまた２サイクルで行うと共に積和演算回路５、重み付け回路６で同様に処理され、各処理結果を出力端子２から出力する。動き有りの場合は、和差演算回路３が出力する減算信号列は、今度は加算信号列と同様に積和演算回路４に供給される。積和演算回路４を図４の実施例のように構成した場合、処理時間が短いため、加算信号列と減算信号列それぞれに対する処理を順次直列に行っても、積和演算回路５と重み付け回路６の各処理時間の和以内の時間で処理可能である。積和演算回路４で処理された減算信号列は出力端子２から出力される。
【００１９】
図１１は図１の実施例によるＩＤＣＴ処理過程を表す流れ図である。図１、図１１、において、ＤＣＴ係数列に先立って動き情報信号が入力端子１に供給される。動き情報信号が動き無しを示している場合はバス制御回路９は以降入力端子１から８個ずつ供給されるＤＣＴ係数列を、分岐ブロック１１０１を介して奇数番と偶数番の４個ずつの信号列に分離し、奇数番信号列を積和演算回路４に偶数番信号列を重み付け回路６に供給する。重み付け回路６は、供給された信号にＩＤＣＴ時の所定の係数を乗じる。図８の重み付け回路６の実施例では、このとき切り換え器８１７〜８２０をｂ側に選択する。重み付け回路６の演算結果は、積和演算回路５に供給される。積和演算回路４を図４の実施例のように構成した場合、図５に従って切り換え器ｓｗ１〜ｓｗ８を選択し、２サイクルで処理を行う。積和演算回路５を図６の実施例のように構成した場合、図７に従って切り換え器６０６を選択し、４サイクルで処理を行う。
【００２０】
積和演算回路４、積和演算回路５の処理結果は、バスを経由して和差演算回路３に供給される。このときバス制御回路９は、図９（ｃ）のように信号を並べ換えて出力端子３０１〜３０８から和差演算回路３に供給する。和差演算回路３は図３の実施例のように、供給された信号を対称的に加減算し、その結果は転置回路７に供給される。
【００２１】
一方、動き情報信号が動き有りを表している場合は、バス制御回路９は、以降８個ずつ入力端子１に供給される信号を分岐ブロック１１０１を介して４つずつ前半信号列と後半信号列とに分離し、順次、積和演算回路４に供給する。積和演算回路４で処理された前半信号列と後半信号列とはバス制御回路９により、図９（ｃ）のように並べ換えられて、和差演算回路３に供給される。
【００２２】
和差演算回路３は図３の実施例のように、供給された信号を対称的に加減算する。バス制御回路９は和差演算回路３の出力を図９（ｄ）のように並べ換え、転置回路７に供給する。これ以降の処理は動き情報信号によらず同一である。転置回路は６４個の信号をバッファに保持した後、転置して信号を８個ずつ出力する。８個ずつの信号は前述した図２の動き無しの場合のＤＣＴ係数列の処理と同様に処理され、出力端子２から順次出力される。
【００２３】
本実施例においては図２、図１１のいずれの処理過程も図１の和差演算回路３、積和演算回路４、積和演算回路５、重み付け回路６及び転置回路７の構成を共有している。即ち、図１における回路３〜８は、図２及び図１１の各回路３〜８と共有される。
【００２４】
【発明の効果】
以上説明したように、本発明によれば、動き検出処理を二次元直交変換の処理中に組み込み、水平方向の直交変換処理の変換係数を動き検出に用いて、フレーム内の直交変換を行うか又はフィールド内の直交変換を行うかを切換えて、垂直方向に直交変換を行うので、フィールド内、フレーム内の適応的な直交変換処理を効率よく回路規模を大幅に増大することなしに実現することができる。
【図面の簡単な説明】
【図１】本発明の実施例を示すブロック図である。
【図２】図１の装置によるＤＣＴの流れ図である。
【図３】図１の装置における和差演算回路３の実施例を示すブロック図である。
【図４】図１の装置における積和演算回路４の実施例を示すブロック図である。
【図５】図４の切り換え器のサイクル毎の状態を示す構成図である。
【図６】図１の装置における積和演算回路５の実施例を示すブロック図である。
【図７】図６中の切り換え器のサイクル毎の状態を示す構成図である。
【図８】図１の装置における重み付け回路６の実施例を示すブロック図である。
【図９】図１の装置におけるバス制御回路９の信号並べ換え順を示す構成図である。
【図１０】図１の装置における動き検出回路８の実施例を示すブロック図である。
【図１１】図１の装置によるＩＤＣＴの流れ図である。
【図１２】従来例を示すブロック図である。
【図１３】高速アルゴリズムによる従来例を示すブロック図である。
【図１４】重み付けの従来例を示すブロック図である。
【図１５】動き情報に対応した従来例を示すブロック図である。
【符号の説明】
１    入力端子
２    出力端子
３    和差演算回路
４    積和演算回路
５    積和演算回路
６    重み付け回路
７    転置回路
８    動き検出回路
９    バス制御回路
１０    バス
【図１】
0003630727.tif 000002
【図２】
0003630727.tif 000003
【図３】
0003630727.tif 000004
【図４】
0003630727.tif 000005
【図５】
0003630727.tif 000006
【図６】
0003630727.tif 000007
【図７】
0003630727.tif 000008
【図８】
0003630727.tif 000009
【図９】
0003630727.tif 000010
【図１０】
0003630727.tif 000011
【図１１】
0003630727.tif 000012
【図１２】
0003630727.tif 000013
【図１３】
0003630727.tif 000014
【図１４】
0003630727.tif 000015
【図１５】
0003630727.tif 000016