(57)【特許請求の範囲】
【請求項１】
直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の直交変換を行う直交変換処理装置において、
Ｎ個の入力値において並びが連続する入力値のペアの和を各々算出する加算部と、
Ｎ個の入力値において並びが連続する入力値のペアの差を各々算出する減算部と、
前記加算部の加算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散コサイン変換の演算を行うＮ／２点ＤＣＴ演算部と、
前記減算部の減算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散サイン変換の演算を行うＮ／２点ＤＳＴ演算部と、
前記Ｎ点の直交変換に対応する所定のマトリックス係数を格納するマトリックス係数記憶部と、
前記Ｎ／２点ＤＣＴ演算部からの出力値と前記Ｎ／２点ＤＳＴ演算部からの出力値に対して、前記マトリックス係数を使用して２行２列のマトリックス演算を行う２×２マトリックス演算部と、
を備える直交変換処理装置。
【請求項２】
複数の直交変換ブロックサイズ（Ｎ点）の直交変換を行う前記直交変換処理装置であり、
前記複数の直交変換ブロックサイズ（Ｎ点）に各々対応する前記Ｎ／２点ＤＣＴ演算部及び前記Ｎ／２点ＤＳＴ演算部を備え、
前記複数の直交変換ブロックサイズ（Ｎ点）に各々対応する前記Ｎ／２点ＤＣＴ演算部及び前記Ｎ／２点ＤＳＴ演算部で前記加算部と前記減算部を共用する、
請求項１に記載の直交変換処理装置。
【請求項３】
逆直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の逆直交変換を行う逆直交変換処理装置において、
前記Ｎ点の逆直交変換に対応する所定の逆マトリックス係数を格納する逆マトリックス係数記憶部と、
２個の入力値に対して、前記逆マトリックス係数を使用して２行２列のマトリックス演算を行う２×２逆マトリックス演算部と、
前記２×２逆マトリックス演算部からの２個の出力値のうちの一方である第１の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散コサイン変換の演算を行うＮ／２点ＩＤＣＴ演算部と、
前記２×２逆マトリックス演算部からの２個の出力値のうちのもう一方である第２の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散サイン変換の演算を行うＮ／２点ＩＤＳＴ演算部と、
前記Ｎ／２点ＩＤＣＴ演算部からの出力値と前記Ｎ／２点ＩＤＳＴ演算部からの出力値を使用して、逆変換後の信号を生成する逆変換信号生成部と、
を備える逆直交変換処理装置。
【請求項４】
直交変換により変換した信号から符号化信号を生成する符号化装置において、
請求項１又は２のいずれか１項に記載の直交変換処理装置を備える符号化装置。
【請求項５】
直交変換により変換された信号から生成された符号化信号を復号する復号装置において、
請求項３に記載の逆直交変換処理装置を備える復号装置。
【請求項６】
直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の直交変換を行うためのコンピュータプログラムであって、
Ｎ個の入力値において並びが連続する入力値のペアの和を各々算出する加算機能と、
Ｎ個の入力値において並びが連続する入力値のペアの差を各々算出する減算機能と、
前記加算機能の加算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散コサイン変換の演算を行うＮ／２点ＤＣＴ演算機能と、
前記減算機能の減算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散サイン変換の演算を行うＮ／２点ＤＳＴ演算機能と、
前記Ｎ点の直交変換に対応する所定のマトリックス係数を格納するマトリックス係数記憶機能と、
前記Ｎ／２点ＤＣＴ演算機能からの出力値と前記Ｎ／２点ＤＳＴ演算機能からの出力値に対して、前記マトリックス係数を使用して２行２列のマトリックス演算を行う２×２マトリックス演算機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項７】
逆直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の逆直交変換を行うためのコンピュータプログラムであって、
前記Ｎ点の逆直交変換に対応する所定の逆マトリックス係数を格納する逆マトリックス係数記憶機能と、
２個の入力値に対して、前記逆マトリックス係数を使用して２行２列のマトリックス演算を行う２×２逆マトリックス演算機能と、
前記２×２逆マトリックス演算機能からの２個の出力値のうちの一方である第１の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散コサイン変換の演算を行うＮ／２点ＩＤＣＴ演算機能と、
前記２×２逆マトリックス演算機能からの２個の出力値のうちのもう一方である第２の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散サイン変換の演算を行うＮ／２点ＩＤＳＴ演算機能と、
前記Ｎ／２点ＩＤＣＴ演算機能からの出力値と前記Ｎ／２点ＩＤＳＴ演算機能からの出力値を使用して、逆変換後の信号を生成する逆変換信号生成機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直交変換の技術に関する。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture Experts Group）の映像符号化方式は、映像信号を離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）に代表される直交変換を使用して空間周波数に変換することにより、効率的な情報圧縮を実現する。ＤＣＴや離散サイン変換（Discrete Sine Transform：ＤＳＴ）の従来の技術として、例えば非特許文献１や特許文献１，２，３などが知られている。
【０００３】
最新のＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５の映像符号化方式では、２次元の直交変換を「４×４」から「３２×３２」までの画素ブロックサイズで行うことができる。これにより、映像信号に適した画素ブロックサイズで直交変換を適用することができるので、よりきめ細かい符号化制御を行うことが可能である。また、４Ｋ（３８４０×２１６０）や８Ｋ（７６８０×４３２０）と呼ばれるＵＨＤ（Ultra High Definition）映像は、情報量の多い精細な映像表現が可能となる一方で精細感の必要のない領域も増えることから、精細感のダイナミックレンジの広い映像となる。このような映像信号に対しては、映像領域に適した符号化ブロックのサイズを選択することによって符号化効率が改善する。例えば、複数のサイズの画素ブロックの単位で符号化制御を行うＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５の映像符号化方式によれば、前世代のＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４の映像符号化方式に比べて約２倍の符号化性能を達成しており、特にＵＨＤ映像に対してその効果が高い。
【０００４】
しかし、ＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５の映像符号化方式は、ＣＵ（Coding Unit）と呼ばれる符号化ブロックのサイズが最大「６４×６４」の画素ブロックサイズであるのに対して、ＴＵ（Transform Unit）と呼ばれる直交変換ブロックのサイズが最大「３２×３２」の画素ブロックサイズと小さい。このことは、特に解像度の高い８Ｋ映像や信号変化が極端であるＣＧ（Computer Graphics）映像に対して、符号化効率の向上を十分に達成しきれていない原因の一つとして考えられる。そのような８Ｋ映像やＣＧ映像に対しては、「６４×６４」を超える「１２８×１２８」の画素ブロックサイズで符号化を行うことによって、符号化効率がさらに向上することが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１４７２０５号公報
【特許文献２】特開平２−１１６９６９号公報
【特許文献３】特表２０１４−５０９１０８号公報
【非特許文献】
【０００６】
【非特許文献１】W.Chen, C.H.Smith, and S.C.Fralick, “A fast computational algorithm for the discrete cosine transform,” IEEE Trans. Commun., vol.COM-25, pp.1004-1009, Sept. 1977.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上述したＤＣＴやＤＳＴの従来の技術では、直交変換ブロックのサイズを「３２×３２」の画素ブロックサイズよりも大きくすることが難しいという課題があった。これは、従来の技術では、より大サイズの直交変換をバタフライ演算に代表される再帰的な処理を有する高速アルゴリズムを使用して行う場合、所要メモリ量が増大するので、ＣＰＵ（Central Processing Unit）内部のキャッシュメモリではメモリ量が不足し、十分な処理速度が得られなくなる可能性があるからである。
【０００８】
本発明は、このような事情を考慮してなされたものであり、直交変換の大サイズ化における所要メモリ量の増大を抑制することにより、直交変換の大サイズ化の実現に寄与することができる、直交変換処理装置、逆直交変換処理装置、符号化装置、復号装置、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
（１）本発明の一態様は、直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の直交変換を行う直交変換処理装置において、Ｎ個の入力値において並びが連続する入力値のペアの和を各々算出する加算部と、Ｎ個の入力値において並びが連続する入力値のペアの差を各々算出する減算部と、前記加算部の加算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散コサイン変換の演算を行うＮ／２点ＤＣＴ演算部と、前記減算部の減算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散サイン変換の演算を行うＮ／２点ＤＳＴ演算部と、前記Ｎ点の直交変換に対応する所定のマトリックス係数を格納するマトリックス係数記憶部と、前記Ｎ／２点ＤＣＴ演算部からの出力値と前記Ｎ／２点ＤＳＴ演算部からの出力値に対して、前記マトリックス係数を使用して２行２列のマトリックス演算を行う２×２マトリックス演算部と、を備える直交変換処理装置である。
（２）本発明の一態様は、複数の直交変換ブロックサイズ（Ｎ点）の直交変換を行う前記直交変換処理装置であり、前記複数の直交変換ブロックサイズ（Ｎ点）に各々対応する前記Ｎ／２点ＤＣＴ演算部及び前記Ｎ／２点ＤＳＴ演算部を備え、前記複数の直交変換ブロックサイズ（Ｎ点）に各々対応する前記Ｎ／２点ＤＣＴ演算部及び前記Ｎ／２点ＤＳＴ演算部で前記加算部と前記減算部を共用する、直交変換処理装置である。
【００１０】
（３）本発明の一態様は、逆直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の逆直交変換を行う逆直交変換処理装置において、前記Ｎ点の逆直交変換に対応する所定の逆マトリックス係数を格納する逆マトリックス係数記憶部と、２個の入力値に対して、前記逆マトリックス係数を使用して２行２列のマトリックス演算を行う２×２逆マトリックス演算部と、前記２×２逆マトリックス演算部からの２個の出力値のうちの一方である第１の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散コサイン変換の演算を行うＮ／２点ＩＤＣＴ演算部と、前記２×２逆マトリックス演算部からの２個の出力値のうちのもう一方である第２の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散サイン変換の演算を行うＮ／２点ＩＤＳＴ演算部と、前記Ｎ／２点ＩＤＣＴ演算部からの出力値と前記Ｎ／２点ＩＤＳＴ演算部からの出力値を使用して、逆変換後の信号を生成する逆変換信号生成部と、を備える逆直交変換処理装置である。
【００１１】
（４）本発明の一態様は、直交変換により変換した信号から符号化信号を生成する符号化装置において、上記（１）又は（２）のいずれかの直交変換処理装置を備える符号化装置である。
【００１２】
（５）本発明の一態様は、直交変換により変換された信号から生成された符号化信号を復号する復号装置において、上記（３）の逆直交変換処理装置を備える復号装置である。
【００１３】
（６）本発明の一態様は、直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の直交変換を行うためのコンピュータプログラムであって、Ｎ個の入力値において並びが連続する入力値のペアの和を各々算出する加算機能と、Ｎ個の入力値において並びが連続する入力値のペアの差を各々算出する減算機能と、前記加算機能の加算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散コサイン変換の演算を行うＮ／２点ＤＣＴ演算機能と、前記減算機能の減算結果を入力値に使用して、直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である離散サイン変換の演算を行うＮ／２点ＤＳＴ演算機能と、前記Ｎ点の直交変換に対応する所定のマトリックス係数を格納するマトリックス係数記憶機能と、前記Ｎ／２点ＤＣＴ演算機能からの出力値と前記Ｎ／２点ＤＳＴ演算機能からの出力値に対して、前記マトリックス係数を使用して２行２列のマトリックス演算を行う２×２マトリックス演算機能と、をコンピュータに実現させるためのコンピュータプログラムである。
【００１４】
（７）本発明の一態様は、逆直交変換ブロックサイズが「Ｎ×Ｎ、但し、Ｎは４以上の整数」であるＮ点の逆直交変換を行うためのコンピュータプログラムであって、前記Ｎ点の逆直交変換に対応する所定の逆マトリックス係数を格納する逆マトリックス係数記憶機能と、２個の入力値に対して、前記逆マトリックス係数を使用して２行２列のマトリックス演算を行う２×２逆マトリックス演算機能と、前記２×２逆マトリックス演算機能からの２個の出力値のうちの一方である第１の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散コサイン変換の演算を行うＮ／２点ＩＤＣＴ演算機能と、前記２×２逆マトリックス演算機能からの２個の出力値のうちのもう一方である第２の出力値を入力値に使用して、逆直交変換ブロックサイズが「Ｎ／２×Ｎ／２」である逆離散サイン変換の演算を行うＮ／２点ＩＤＳＴ演算機能と、前記Ｎ／２点ＩＤＣＴ演算機能からの出力値と前記Ｎ／２点ＩＤＳＴ演算機能からの出力値を使用して、逆変換後の信号を生成する逆変換信号生成機能と、をコンピュータに実現させるためのコンピュータプログラムである。
【発明の効果】
【００１５】
本発明によれば、直交変換の大サイズ化における所要メモリ量の増大を抑制することができる。これにより、直交変換の大サイズ化の実現に寄与することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る６４点直交変換処理装置１の実施例を示す構成図である。
【図２】本発明の一実施形態に係る６４点逆直交変換処理装置２の実施例を示す構成図である。
【図３】本発明の一実施形態に係る直交変換処理装置の変形例を説明するための構成図である。
【図４】本発明の一実施形態に係る符号化装置１００の実施例を示す構成図である。
【図５】本発明の一実施形態に係る復号装置２００の実施例を示す構成図である。
【図６】従来の映像符号化方式における直交変換について説明するための構成図である。
【図７】本発明の一実施形態における直交変換について説明するための構成図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照し、本発明の実施形態について説明する。
【００１８】
［基本原理］
まず、本実施形態に係る基本原理を説明する。直交変換の例として、離散コサイン変換（ＤＣＴ）及び離散サイン変換（ＤＳＴ）を挙げて説明する。直交変換は、三角関数であるコサイン関数及びサイン関数を変換核に使用して、時間領域の信号を周波数領域の信号に変換する変換処理である。直交変換の演算式は、三角関数の加法定理を用いることによって、より低周波成分の組み合わせに展開することができる。例えば、直交変換ブロックのサイズである直交変換ブロックサイズが「Ｎ×Ｎ」であるＮ点ＤＣＴの演算式は、展開によって式（１）で表される。但し、Ｎは４以上の整数である。
【００１９】
【数１】
0006555814.tif 000002
【００２０】
また、同様の展開によって、直交変換ブロックサイズが「Ｎ×Ｎ」であるＮ点ＤＳＴの演算式は式（２）で表される。但し、Ｎは４以上の整数である。
【００２１】
【数２】
0006555814.tif 000003
【００２２】
また、逆離散コサイン変換（Inverse Discrete Cosine Transform：ＩＤＣＴ）は、同様の展開によって、逆直交変換ブロックのサイズである逆直交変換ブロックサイズが「Ｎ×Ｎ」であるＮ点ＩＤＣＴの演算式は式（３）で表される。但し、Ｎは４以上の整数である。
【００２３】
【数３】
0006555814.tif 000004
【００２４】
また、逆離散サイン変換（Inverse Discrete Sine Transform：ＩＤＳＴ）は、同様の展開によって、逆直交変換ブロックサイズが「Ｎ×Ｎ」であるＮ点ＩＤＳＴの演算式は式（４）で表される。但し、Ｎは４以上の整数である。
【００２５】
【数４】
0006555814.tif 000005
【００２６】
上記のＩＤＣＴの式（３）により得られたＰ（ｋ）及びＱ（ｋ）から、逆変換後の信号ｘ’（ｋ）は式（５）で表される。同様に、上記のＩＤＳＴの式（４）により得られたＰ（ｋ）及びＱ（ｋ）から、逆変換後の信号ｘ’（ｋ）は式（５）で表される。
【００２７】
【数５】
0006555814.tif 000006
【００２８】
上述の三角関数の加法定理を用いた展開を利用することによって、直交変換ブロックサイズが「Ｎ×Ｎ」であるＮ点の直交変換を、順次、直交変換ブロックサイズが「（Ｎ／２）×（Ｎ／２）」であるＮ／２点の直交変換に展開することができる。例えば、６４点ＤＣＴは、上記の式（１）により、３２点ＤＣＴと３２点ＤＳＴと２行２列のマトリックス係数から構成される演算式に展開することができる。これにより、６４点ＤＣＴの演算処理は、３２点ＤＣＴの演算処理と、３２点ＤＳＴの演算処理と、２行２列のマトリックス演算処理とから構成することができる。３２点ＤＣＴの演算処理及び３２点ＤＳＴの演算処理には、公知のバタフライ演算などの高速アルゴリズムを利用することができる。２行２列のマトリックス係数は、ポイント数Ｎと変数ｋの値で決まる定数として予め準備することができる。これにより、２行２列のマトリックス係数を参照テーブル（Look Up Table：ＬＵＴ）にしてＲＯＭ（リードオンリメモリ）等のメモリに格納することができる。
【００２９】
本実施形態によれば、６４点ＤＣＴにおいて、バタフライ演算などの再帰的な処理を有する高速アルゴリズムを適用する直交変換の直交変換ブロックサイズを「３２×３２」に低減することができる。これは、６４点ＤＣＴを実現する際の所要メモリ量の増大を抑制できることを意味する。これにより、６４点ＤＣＴを実現する際に、ＣＰＵ内部のキャッシュメモリのメモリ量で所要メモリ量をまかなうことができるようになり、十分な処理速度を得ることが可能になる。このことは、６４点ＤＣＴの実現性を高める。６４点ＤＳＴについても同様である。また、６４点ＩＤＣＴ及び６４点ＩＤＳＴについても同様である。
【００３０】
［直交変換処理装置の実施例］
次に、本実施形態に係る直交変換処理装置、及び逆直交変換処理装置の実施例について説明する。直交変換の例として、ＤＣＴ及びＤＳＴを挙げて説明する。
【００３１】
図１は、本実施形態に係る６４点直交変換処理装置１の実施例を示す構成図である。ここでは、図１に示す６４点直交変換処理装置１により、６４点ＤＣＴを実現する場合を例に挙げて説明する。図１に示す６４点直交変換処理装置１は、３２個の加算部１１−０〜３１と、３２個の減算部１２−０〜３１と、３２点ＤＣＴ演算部１３と、３２点ＤＳＴ演算部１４と、２×２マトリックス演算部１５と、ＬＵＴ＿１６を備える。６４点直交変換処理装置１には、６４個の入力値ｘ０〜ｘ６３が入力される。
【００３２】
加算部１１−０〜３１は、入力値ｘ０〜ｘ６３において並びが連続する入力値のペアである入力値ｘ２ｎと入力値ｘ２ｎ＋１の和を各々算出する。但し、ｎは０から３１までの整数である。加算部１１−ｎは、入力値ｘ２ｎと入力値ｘ２ｎ＋１を加算する。例えば、加算部１１−０は入力値ｘ０と入力値ｘ１を加算する。加算部１１−１は入力値ｘ２と入力値ｘ３を加算する。加算部１１−３１は入力値ｘ６２と入力値ｘ６３を加算する。各加算部１１−０〜３１の加算結果である和は３２点ＤＣＴ演算部１３へ出力される。
【００３３】
減算部１２−０〜３１は、入力値ｘ０〜ｘ６３におい並びが連続する入力値のペアである入力値ｘ２ｎと入力値ｘ２ｎ＋１の差を各々算出する。但し、ｎは０から３１までの整数である。減算部１２−ｎは、入力値ｘ２ｎから入力値ｘ２ｎ＋１を減算する。例えば、減算部１２−０は入力値ｘ０から入力値ｘ１を減算する。減算部１２−１は入力値ｘ２から入力値ｘ３を減算する。減算部１２−３１は入力値ｘ６２から入力値ｘ６３を減算する。各減算部１２−０〜３１の減算結果である差は３２点ＤＳＴ演算部１４へ出力される。
【００３４】
３２点ＤＣＴ演算部１３は、加算部１１−０〜３１から出力された加算結果を入力値に使用して、３２点ＤＣＴの演算を行う。３２点ＤＣＴ演算部１３は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。３２点ＤＣＴ演算部１３は、３２点ＤＣＴの演算結果である値Ｐ（ｋ）を２×２マトリックス演算部１５へ出力する。
【００３５】
３２点ＤＳＴ演算部１４は、減算部１２−０〜３１から出力された減算結果を入力値に使用して、３２点ＤＳＴの演算を行う。３２点ＤＳＴ演算部１４は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。３２点ＤＳＴ演算部１４は、３２点ＤＳＴの演算結果である値Ｑ（ｋ）を２×２マトリックス演算部１５へ出力する。
【００３６】
２×２マトリックス演算部１５は、３２点ＤＣＴ演算部１３から出力された値Ｐ（ｋ）と３２点ＤＳＴ演算部１４から出力された値Ｑ（ｋ）を入力値に使用して、２行２列のマトリックス演算を行う。２行２列のマトリックス演算には、入力値に使用する値Ｐ（ｋ），Ｑ（ｋ）に対応するマトリックス係数が使用される。ＬＵＴ＿１６は、各ｋに対応するマトリックス係数を予め格納するマトリックス係数記憶部である。ＬＵＴ＿１６に格納されるマトリックス係数は、上記の式（１）においてＮが６４である場合の各ｋのマトリックス係数である。各ｋのマトリックス係数は、２行２列の行列の要素が上記の式（１）により予め算出された値を有する。
【００３７】
２×２マトリックス演算部１５は、ＬＵＴ＿１６に格納されるマトリックス係数のうち、２行２列のマトリックス演算の入力値に使用する値Ｐ（ｋ），Ｑ（ｋ）のｋに対応するマトリックス係数を使用して、マトリックス係数と値Ｐ（ｋ），Ｑ（ｋ）との行列の積を算出する。２×２マトリックス演算部１５は、マトリックス演算結果である出力値ＸＣ（ｋ），ＸＣ（Ｎ−ｋ）を出力する。但し、Ｎは６４であり、ｋは１から３１までの整数である。なお、２×２マトリックス演算部１５は、出力値ＸＣ（０）とＸＣ（３２）については上記の式（１）により算出した値を出力する。
【００３８】
上記の図１に示す６４点直交変換処理装置１は、上記の式（１）に示すＮ点ＤＣＴの演算式であってＮが６４である６４点ＤＣＴの演算式を演算する機能を備える。
【００３９】
図２は、本実施形態に係る６４点逆直交変換処理装置２の実施例を示す構成図である。ここでは、図２に示す６４点逆直交変換処理装置２により、６４点ＩＤＣＴを実現する場合を例に挙げて説明する。図２に示す６４点逆直交変換処理装置２は、上記の図１に示す６４点直交変換処理装置１の６４点ＤＣＴの逆変換である６４点ＩＤＣＴを行う。図２に示す６４点逆直交変換処理装置２は、２×２逆マトリックス演算部２１と、ＬＵＴ＿２２と、３２点ＩＤＣＴ演算部２３と、３２点ＩＤＳＴ演算部２４と、３２個の加算部２５−０〜３１と、３２個の減算部２６−０〜３１と、６４個の１／２倍部２７−０〜３１−ａ，２７−０〜３１−ｂを備える。６４点逆直交変換処理装置２には、入力値ＸＣ（ｋ），ＸＣ（Ｎ−ｋ）が入力される。但し、Ｎは６４である。
【００４０】
２×２逆マトリックス演算部２１は、入力値ＸＣ（ｋ），ＸＣ（Ｎ−ｋ）に対する２行２列のマトリックス演算を行う。この２行２列のマトリックス演算には、入力値ＸＣ（ｋ），ＸＣ（Ｎ−ｋ）に対応する逆マトリックス係数が使用される。ＬＵＴ＿２２は、各ｋに対応する逆マトリックス係数を予め格納する逆マトリックス係数記憶部である。ＬＵＴ＿２２に格納される逆マトリックス係数は、上記の式（３）においてＮが６４である場合の各ｋの逆マトリックス係数である。各ｋの逆マトリックス係数は、２行２列の行列の要素が上記の式（３）により予め算出された値を有する。
【００４１】
２×２逆マトリックス演算部２１は、ＬＵＴ＿２２に格納される逆マトリックス係数のうち、２行２列の逆マトリックス演算の入力値ＸＣ（ｋ），ＸＣ（Ｎ−ｋ）のｋに対応する逆マトリックス係数を使用して、逆マトリックス係数と入力値ＸＣ（ｋ），ＸＣ（Ｎ−ｋ）との行列の積を算出する。２×２逆マトリックス演算部２１は、マトリックス演算結果である値Ｐ（ｋ），Ｑ（ｋ）のうち、値Ｐ（ｋ）を３２点ＩＤＣＴ演算部２３へ出力し、値Ｑ（ｋ）を３２点ＩＤＳＴ演算部２４へ出力する。
【００４２】
３２点ＩＤＣＴ演算部２３は、２×２逆マトリックス演算部２１から出力された値Ｐ（ｋ）を入力値に使用して、３２点ＩＤＣＴの演算を行う。３２点ＩＤＣＴ演算部２３は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。３２点ＩＤＣＴ演算部２３は、３２点ＩＤＣＴの演算結果である値ｙ（ｎ）を出力する。但し、ｎは０から３１までの整数である。
【００４３】
３２点ＩＤＳＴ演算部２４は、２×２逆マトリックス演算部２１から出力された値Ｑ（ｋ）を入力値に使用して、３２点ＩＤＳＴの演算を行う。３２点ＩＤＳＴ演算部２４は、公知のバタフライ演算などの高速アルゴリズムを利用して構成される。３２点ＩＤＳＴ演算部２４は、３２点ＩＤＳＴの演算結果である値ｚ（ｎ）を出力する。但し、ｎは０から３１までの整数である。各ｎの値ｙ（ｎ）と値ｚ（ｎ）は、各ｎに対応する加算部２５−ｎと減算部２６−ｎに入力される。
【００４４】
加算部２５−ｎは値ｙ（ｎ）と値ｚ（ｎ）を加算する。１／２倍部２７−ｎ−ａは、加算部２５−ｎの加算結果である和を１／２倍する。１／２倍部２７−ｎ−ａによる１／２倍の結果の値は出力値ｘ’（２ｎ）として６４点逆直交変換処理装置２から出力される。但し、ｎは０から３１までの整数である。これにより、出力値ｘ’０，ｘ’２，ｘ’４，・・・，ｘ’６２が６４点逆直交変換処理装置２から出力される。加算部２５−ｎと１／２倍部２７−ｎ−ａは、上記の式（５）に示すｘ’（２ｎ）の演算式に対応する。
【００４５】
減算部２６−ｎは値ｙ（ｎ）から値ｚ（ｎ）を減算する。１／２倍部２７−ｎ−ｂは、減算部２６−ｎの減算結果である差を１／２倍する。１／２倍部２７−ｎ−ｂによる１／２倍の結果の値は出力値ｘ’（２ｎ＋１）として６４点逆直交変換処理装置２から出力される。但し、ｎは０から３１までの整数である。これにより、出力値ｘ’１，ｘ’３，ｘ’５，・・・，ｘ’６３が６４点逆直交変換処理装置２から出力される。減算部２６−ｎと１／２倍部２７−ｎ−ｂは、上記の式（５）に示すｘ’（２ｎ＋１）の演算式に対応する。
【００４６】
なお、加算部２５−０〜３１と減算部２６−０〜３１と１／２倍部２７−０〜３１−ａ，２７−０〜３１−ｂは、逆変換信号生成部に対応する。
【００４７】
上記の図２に示す６４点逆直交変換処理装置２は、上記の式（３）に示すＮ点ＩＤＣＴの演算式であってＮが６４である６４点ＩＤＣＴの演算式を演算する機能を備える。
【００４８】
なお、ＣＰＵを使用して６４点直交変換処理装置１を構成する場合、３２点ＤＣＴ演算部１３及び３２点ＤＳＴ演算部１４の所要メモリ量に足りるメモリ量のキャッシュメモリを有するＣＰＵを使用することが好ましい。これにより、３２点ＤＣＴ演算部１３及び３２点ＤＳＴ演算部１４の演算処理を並列で高速に実行することができる。６４点逆直交変換処理装置２についても同様である。
【００４９】
上述の図１に示す６４点直交変換処理装置１によれば、従来に比して少ないメモリ量で高速に６４点ＤＣＴの演算処理を行うことができる。また、上述の図２に示す６４点逆直交変換処理装置２によれば、従来に比して少ないメモリ量で高速に６４点ＩＤＣＴの演算処理を行うことができる。
【００５０】
なお、上述の図１及び図２では上記の式（１）及び式（３）においてＮが６４である６４点ＤＣＴ及び６４点ＩＤＣＴを例にして説明したが、６４点以外の他のＮ点ＤＣＴ及びＮ点ＩＤＣＴについても同様に適用可能である。例えば、Ｎが１２８である１２８点ＤＣＴについても、図１の構成と同様にして、６４個の加算器と６４個の減算器と６４点ＤＣＴ演算部と６４点ＤＳＴ演算部と２×２マトリックス演算部とＬＵＴから１２８点直交変換処理装置を構成することができる。１２８点ＩＤＣＴについても、図２の構成と同様にして、２×２逆マトリックス演算部とＬＵＴと６４点ＤＣＴ演算部と６４点ＤＳＴ演算部と６４個の加算器と６４個の減算器と１２８個の１／２倍部から１２８点逆直交変換処理装置を構成することができる。また、Ｎ点ＤＳＴ及びＮ点ＩＤＳＴについても、同様にして、Ｎ点直交変換処理装置及びＮ点逆直交変換処理装置を構成することができる。
【００５１】
なお、上記の式（１）と式（２）を比較すれば明らかなように、Ｎ点ＤＣＴとＮ点ＤＳＴで異なる点はマトリックス係数のみである。このことから、上記の図１に示す６４点直交変換処理装置１により、６４点ＤＣＴと６４点ＤＳＴの両方の演算処理を行うようにしてもよい。この場合、ＬＵＴ＿１６が６４点ＤＣＴと６４点ＤＳＴの両方のマトリックス係数を格納する。そして、２×２マトリックス演算部１５が、６４点ＤＣＴ時と６４点ＤＳＴ時で、ＬＵＴ＿１６から読み出すマトリックス係数を切換える。また、Ｎ点ＩＤＣＴとＮ点ＩＤＳＴについても同様であり、上記の図２に示す６４点逆直交変換処理装置２により、６４点ＩＤＣＴと６４点ＩＤＳＴの両方の演算処理を行うようにしてもよい。
【００５２】
本実施例によれば、直交変換の大サイズ化における所要メモリ量の増大を抑制することができる。これにより、直交変換の大サイズ化の実現に寄与することができるという効果が得られる。
【００５３】
［直交変換処理装置の変形例］
図３は、本発明の本実施形態に係る直交変換処理装置の変形例を説明するための構成図である。図３では、本実施形態に係るＮ点直交変換処理装置におけるＮ／２点ＤＳＴ演算部を、Ｎ／２点ＤＣＴ演算部４４−２により構成している。図３に示すＮ／２点ＤＣＴ演算部４４−１は、本実施形態に係るＮ点直交変換処理装置に元々備わるものである。
【００５４】
ＤＳＴ演算部をＤＣＴ演算部により構成する技術は、例えば特許文献１に記載されている。特許文献１に記載される技術を例えば上記の図１に示す６４点直交変換処理装置１に適用することにより、６４点直交変換処理装置１における３２点ＤＳＴ演算部１４を３２点ＤＣＴ演算部により構成することができる。
【００５５】
ここでは、図３において、Ｎが６４である場合を例に挙げて説明する。図３に示す３２点ＤＣＴ演算部４４−１は、上記の図１に示す６４点直交変換処理装置１における３２点ＤＣＴ演算部１３に対応する。同様に、図３に示す加算部４１−０〜３１は、上記の図１に示す６４点直交変換処理装置１における加算部１１−０〜３１に対応する。
【００５６】
一方、図３に示す３２点ＤＣＴ演算部４４−２は、上記の図１に示す６４点直交変換処理装置１における３２点ＤＳＴ演算部１４を実現するために設けられる。また、１６個の符号反転部４３−１，３，５，７，・・・，２９，３１をさらに設ける。図３に示す減算部４２−０〜３１は、上記の図１に示す６４点直交変換処理装置１における減算部１２−０〜３１に対応する。３２個の減算部４２−０〜３１の減算結果のうち、１６個の減算部４２−０，２，４，６，・・・，２８，３０の減算結果は、そのまま３２点ＤＣＴ演算部４４−２に入力される。３２個の減算部４２−０〜３１の減算結果のうち、残りの１６個の減算部４２−１，３，５，７，・・・，２９，３１の減算結果は、１６個の符号反転部４３−１，３，５，７，・・・，２９，３１により符号が反転されてから３２点ＤＣＴ演算部４４−２に入力される。符号反転部４３−１，３，５，７，・・・，２９，３１は入力された値の符号を反転させる。
【００５７】
本変形例によれば、本実施形態に係るＮ点直交変換処理装置において、Ｎ／２点ＤＳＴ演算部をＮ／２点ＤＣＴ演算部により構成することができる。これにより、Ｎ点直交変換処理装置における構成の簡略化ができ、また、演算部の利用効率を向上させることができる。なお、Ｎ点直交変換処理装置は、Ｎ点ＤＣＴ若しくはＮ点ＤＳＴを実現するものであってもよく、又は、Ｎ点ＤＣＴとＮ点ＤＳＴの両方を実現するものであってもよい。
【００５８】
また、本実施形態に係るＮ点逆直交変換処理装置についても同様にして、Ｎ／２点ＩＤＳＴ演算部をＮ／２点ＩＤＣＴ演算部により構成してもよい。ＩＤＳＴ演算部をＩＤＣＴ演算部により構成する技術は、例えば特許文献１に記載されている。Ｎ点逆直交変換処理装置は、Ｎ点ＩＤＣＴ若しくはＮ点ＩＤＳＴを実現するものであってもよく、又は、Ｎ点ＩＤＣＴとＮ点ＩＤＳＴの両方を実現するものであってもよい。
【００５９】
［符号化装置、及び復号装置の実施例］
次に、本実施形態に係る符号化装置、及び復号装置の実施例について説明する。符号化装置、及び復号装置の例として、映像信号の符号化装置、及び復号装置を挙げて説明する。
【００６０】
図４は、本実施形態に係る符号化装置１００の実施例を示す構成図である。図４に示す符号化装置１００は、画面分割部１０１と、減算部１０２と、変換部１０３と、量子化部１０４と、エントロピー符号化部１０５と、逆量子化部１０６と、逆変換部１０７と、加算部１０８と、ループフィルタ１０９と、イントラ予測部１１０と、動き補償予測部１１１と、切り替え部１１２を備える。
【００６１】
画面分割部１０１は、符号化対象となる映像信号を入力し、この入力信号を符号化処理の処理単位のブロックに分割する。画面分割部１０１は分割したブロックの信号を減算部１０２へ出力する。減算部１０２は、画面分割部１０１から入力された信号から、切り替え部１１２から入力された信号を減算する。減算部１０２は、減算結果の信号を変換部１０３へ出力する。
【００６２】
変換部１０３は、減算部１０２から入力された信号に対して直交変換を行い、直交変換の結果の信号を量子化部１０４へ出力する。変換部１０３が行う直交変換は、ＤＣＴ若しくはＤＳＴのいずれか一方であってもよく、又は、ＤＣＴとＤＳＴの両方であってもよい。変換部１０３がＤＣＴとＤＳＴの両方を行う場合には、変換部１０３は、ＤＣＴの結果又はＤＳＴの結果のいずれか一方を選択して量子化部１０４へ出力する。変換部１０３がＤＣＴの結果又はＤＳＴの結果のいずれか一方を選択する際には、変換部１０３は例えば符号化効率のよい方を選択してもよい。ＤＣＴの結果として出力される信号はＤＣＴ係数である。ＤＳＴの結果として出力される信号はＤＳＴ係数である。
【００６３】
量子化部１０４は、変換部１０３から入力された信号に対して量子化を行い、量子化した信号をエントロピー符号化部１０５及び逆量子化部１０６へ出力する。エントロピー符号化部１０５は、量子化部１０４から入力された信号に対してエントロピー符号化を行い、符号化信号を出力する。
【００６４】
逆量子化部１０６は、量子化部１０４から入力された信号に対して逆量子化を行い、逆量子化した信号を逆変換部１０７へ出力する。逆変換部１０７は、逆量子化部１０６から入力された信号に対して逆直交変換を行い、逆直交変換の結果の信号を加算部１０８へ出力する。逆変換部１０７が行う逆直交変換は、変換部１０３が行った直交変換の逆変換である。加算部１０８は、逆変換部１０７から入力された信号と切り替え部１１２から入力された信号を加算し、加算結果の信号をループフィルタ１０９へ出力する。
【００６５】
ループフィルタ１０９は、加算部１０８から入力された信号に対して平滑化等のフィルタリングを行い、フィルタリング結果の信号をイントラ予測部１１０及び動き補償予測部１１１へ出力する。イントラ予測部１１０は、ループフィルタ１０９から入力された信号に対してイントラ予測を行い、イントラ予測結果の信号を切り替え部１１２へ出力する。動き補償予測部１１１は、ループフィルタ１０９から入力された信号に対して動き補償予測を行い、動き補償予測結果の信号を切り替え部１１２へ出力する。切り替え部１１２は、イントラ予測部１１０から入力された信号又は動き補償予測部１１１から入力された信号のいずれを出力するかを切り替える。切り替え部１１２から出力された信号は、減算部１０２及び加算部１０８へ入力される。
【００６６】
図４に示す符号化装置１００において、変換部１０３は、本実施形態の直交変換処理装置を備える。また、逆変換部１０７は、本実施形態の逆直交変換処理装置を備える。これにより、符号化装置１００における直交変換及び逆直交変換の所要メモリ量が削減可能である。
【００６７】
図５は、本実施形態に係る復号装置２００の実施例を示す構成図である。図５に示す復号装置２００は、上記の図４の符号化装置１００の符号化に対応する復号を行う。図５に示す復号装置２００は、エントロピー復号部２０１と、逆量子化部２０２と、逆変換部２０３と、加算部２０４と、画面結合部２０５と、ループフィルタ２０６と、イントラ予測部２０７と、動き予測部２０８と、切り替え部２０９を備える。
【００６８】
エントロピー復号部２０１は、復号対象となる符号化信号を入力し、この入力した符号化信号に対してエントロピー復号を行う。エントロピー復号部２０１は、エントロピー復号結果の信号を逆量子化部２０２へ出力する。逆量子化部２０２は、エントロピー復号部２０１から入力された信号に対して逆量子化を行い、逆量子化した信号を逆変換部２０３へ出力する。
【００６９】
逆変換部２０３は、逆量子化部２０２から入力された信号に対して逆直交変換を行い、逆直交変換の結果の信号を加算部２０４へ出力する。逆変換部１０７が行う逆直交変換は、上記の図４に示す変換部１０３が行った直交変換の逆変換である。加算部２０４は、逆変換部２０３から入力された信号と切り替え部２０９から入力された信号を加算し、加算結果の信号を画面結合部２０５及びループフィルタ２０６へ出力する。画面結合部２０５は、加算部２０４から入力された信号から構成される復号処理の処理単位のブロックを結合して映像信号を生成する。画面結合部２０５は、生成した映像信号を復号信号として出力する。
【００７０】
ループフィルタ２０６は、加算部２０４から入力された信号に対して超解像処理を行い、超解像処理結果の信号をイントラ予測部２０７及び動き予測部２０８へ出力する。イントラ予測部２０７は、ループフィルタ２０６から入力された信号に対してイントラ予測を行い、イントラ予測結果の信号を切り替え部２０９へ出力する。動き予測部２０８は、ループフィルタ２０６から入力された信号に対して動き予測を行い、動き予測結果の信号を切り替え部２０９へ出力する。切り替え部２０９は、イントラ予測部２０７から入力された信号又は動き予測部２０８から入力された信号のいずれを出力するかを切り替える。切り替え部２０９の切り替え制御は、加算部２０４の加算結果に基づいて行われる。切り替え部２０９から出力された信号は、加算部２０４へ入力される。
【００７１】
図５に示す復号装置２００において、逆変換部２０３は、本実施形態の逆直交変換処理装置を備える。これにより、復号装置２００における逆直交変換の所要メモリ量が削減可能である。
【００７２】
次に、本実施形態に係る符号化装置１００における効果の一つを説明する。映像信号の符号化では、映像信号に適した画素ブロックサイズで直交変換を適用することが、よりきめ細かい符号化制御を行うことができることから好ましい。例えば、ＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５の映像符号化方式では、２次元の直交変換を「４×４」から「３２×３２」までの画素ブロックサイズで行うことができる。このことから、符号化装置１００において、複数の画素ブロックサイズの直交変換を行うようにしてもよい。例えば、上記の図４に示す変換部１０３を、複数の画素ブロックサイズの直交変換を行う構成にする。また、上記の図４に示す逆変換部１０７及び図５に示す逆変換部２０３を、複数の画素ブロックサイズの逆直交変換を行う構成にする。このとき、本実施形態の直交変換処理装置によれば、以下に示す効果が得られる。
【００７３】
図６は従来の映像符号化方式における直交変換について説明するための構成図である。従来の映像符号化方式としては、例えばＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５の映像符号化方式である。図６（ａ）には８点ＤＣＴにおけるバタフライ演算の第一段目の構成が示され、図６（ｂ）には４点ＤＣＴにおけるバタフライ演算の第一段目の構成が示される。図６（ａ）と図６（ｂ）を比較すれば明らかなように、図６（ａ）に示す８点ＤＣＴにおけるバタフライ演算の出力値と、図６（ｂ）に示す４点ＤＣＴの二つ分におけるバタフライ演算の出力値とは異なる。このため、図６（ａ）に示す８点ＤＣＴにおけるバタフライ演算の構成と、図６（ｂ）に示す４点ＤＣＴにおけるバタフライ演算の構成では、共通化できる部分がない。したがって、従来の技術では、複数の画素ブロックサイズの直交変換を行う場合に、全ての画素ブロックサイズのバタフライ演算の構成を備える必要があった。
【００７４】
図７は、本実施形態における直交変換について説明するための構成図である。図７（ａ）には、８点ＤＣＴにおける４点ＤＣＴ演算部及び４点ＤＳＴ演算部の前段の４個の加算部と４個の減算部の構成が示される。図７（ｂ）には、４点ＤＣＴの二つ分に対して、２点ＤＣＴ演算部及び２点ＤＳＴ演算部の前段の２個の加算部と２個の減算部の二組の構成が示される。図７（ａ）と図７（ｂ）を比較すれば明らかなように、図７（ａ）に示す８点ＤＣＴにおける４点ＤＣＴ演算部及び４点ＤＳＴ演算部の前段の構成の出力値と、図７（ｂ）に示す４点ＤＣＴの二つ分における２点ＤＣＴ演算部及び２点ＤＳＴ演算部の前段の構成の出力値とは同じである。このため、図７（ａ）に示す８点ＤＣＴにおける４点ＤＣＴ演算部及び４点ＤＳＴ演算部の前段の構成と、図７（ｂ）に示す４点ＤＣＴの二つ分における２点ＤＣＴ演算部及び２点ＤＳＴ演算部の前段の構成を共通化することができる。
【００７５】
したがって、本実施形態によれば、複数の画素ブロックサイズの直交変換を行う場合に、少なくとも、最大の画素ブロックサイズのＮ点ＤＣＴにおけるＮ／２点ＤＣＴ演算部及びＮ／２点ＤＳＴ演算部の前段のＮ／２個の加算部とＮ／２個の減算部の構成を備えればよい。例えば、本実施形態において、図７に示すように「８×８」の画素ブロックサイズの８点ＤＣＴと「４×４」の画素ブロックサイズの４点ＤＣＴの両方を行う場合に、８点ＤＣＴにおける４点ＤＣＴ演算部及び４点ＤＳＴ演算部の前段の４個の加算部と４個の減算部の構成を４点ＤＣＴと共用し、４点ＤＣＴにおける２点ＤＣＴ演算部及び２点ＤＳＴ演算部への入力には該４個の加算部と４個の減算部の出力値を使用する。これにより、本実施形態によれば、複数の画素ブロックサイズの直交変換を行う場合に、全ての画素ブロックサイズについての該前段の加算部と減算部の構成を備える必要がない。
【００７６】
上記の図６及び図７を参照して説明したように、本実施形態によれば、符号化装置１００において複数の画素ブロックサイズの直交変換を行う場合に、装置構成を簡略化することができるという効果が得られる。
【００７７】
なお、本実施形態に係る直交変換処理装置は、専用のハードウェアにより実現されるものであってもよく、又は、メモリ及びＣＰＵにより構成され、直交変換処理装置の機能を実現するためのコンピュータプログラムをＣＰＵが実行することによりその機能を実現させるものであってもよい。本実施形態に係る逆直交変換処理装置についても同様である。
【００７８】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７９】
例えば、上述した実施形態に係る直交変換処理装置、及び逆直交変換処理装置において、ＤＣＴ及びＤＳＴなどの直交変換は実数演算に限定されない。例えば、ＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５やＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４などの映像符号化方式で採用されている整数ＤＣＴや整数ＤＳＴにも同様に適用可能である。
【００８０】
また、上述した実施形態は、ＤＣＴベースの各種の映像符号化方式に適用することができる。例えば、ＭＰＥＧ−２、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４、ＭＰＥＧ−Ｈ  ＨＥＶＣ／Ｈ．２６５などの映像符号化方式に適用することができる。
【００８１】
また、上述した実施形態では、映像信号を符号化する符号化装置及び該符号化装置に対応する復号装置に適用したが、これに限定されない。上述した実施形態は、直交変換により変換した信号から符号化信号を生成する符号化装置、及び、直交変換により変換された信号から生成された符号化信号を復号する復号装置に適用可能である。
【００８２】
また、上述した直交変換処理装置又は逆直交変換処理装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８３】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００８４】
１，３…６４点直交変換処理装置、２…６４点逆直交変換処理装置、１１−０〜３１，２５−０〜３１，４１−０〜Ｎ／２−１，１０８，２０４…加算部、１２−０〜３１，２６−０〜３１，４２−０〜Ｎ／２−１，１０２…減算部、１３…３２点ＤＣＴ演算部、１４…３２点ＤＳＴ演算部、１５，３３−１，３３−２…２×２マトリックス演算部、１６，３４…ＬＵＴ（マトリックス係数記憶部）、２１…２×２逆マトリックス演算部、２２…ＬＵＴ（逆マトリックス係数記憶部）、２３…３２点ＩＤＣＴ演算部、２４…３２点ＩＤＳＴ演算部、２７−０〜３１−ａ，２７−０〜３１−ｂ…１／２倍部、３１−１，３１−２…１６点ＤＣＴ演算部、３２−１，３２−２…１６点ＤＳＴ演算部、４３−１〜Ｎ／２−１…符号反転部、４４−１…Ｎ／２ＤＣＴ演算部、４４−２…Ｎ／２ＤＣＴ演算部、１００…符号化装置、１０１…画面分割部、１０３…変換部、１０４…量子化部、１０５…エントロピー符号化部、１０６，２０２…逆量子化部、１０７，２０３…逆変換部、１０９，２０６…ループフィルタ、１１０，２０７…イントラ予測部、１１１…動き補償予測部、１１２，２０９…切り替え部、２００…復号装置、２０１…エントロピー復号部、２０５…画面結合部、２０８…動き予測部
【図１】
0006555814.tif 000007
【図２】
0006555814.tif 000008
【図３】
0006555814.tif 000009
【図４】
0006555814.tif 000010
【図５】
0006555814.tif 000011
【図６】
0006555814.tif 000012
【図７】
0006555814.tif 000013