(57)【要約】      （修正有）【課題】Ｈ.２６４による画像データの圧縮・伸長を行うための直交変換回路の回路規模を縮小できる行列演算装置を提供する。【解決手段】Ｈ.２６４における４×４整数近似逆離散コサイン変換及び４×４アダマール変換では被変換データ行列Ｃと定数行列Ｂ及び定数行列Ａの積ＣＢ及びＣＡを求めるが、行列Ｂと行列Ａとでは一部の成分の絶対値が1/2と1で異なっているだけである。そこで、行列Ｃの行方向データにおける行列Ｂの±1/2の成分が乗算されるデータの入力回路に×1/2乗算器とデータ選択器を設け、DCT_mode信号により積ＣＢと積ＣＡの各演算モードにおける前記データ選択器の出力を前記×1/2乗算器の演算結果と演算前のデータとで切り換え、加減算器群から積ＣＢと積ＣＡを得る。【選択図】図２
2006227666.tif 000002
【特許請求の範囲】
【請求項１】
次の数式１の変数行列Ｃと次の数式２の定数行列Ｂ（但し、定数Ｋは１以外の有理数）との積ＣＢ、及び前記変数行列Ｃと次の数式３の定数行列Ａとの積ＣＡを演算する行列演算装置であって、
【数１】
2006227666.tif 000020
【数２】
2006227666.tif 000021
【数３】
2006227666.tif 000022
パラレルに入力される前記変数行列Ｃの行方向データ｛Ｃj0,Ｃj1,Ｃj2,Ｃj3｝の内のデータＣj1，Ｃj3に定数Ｋを乗算する２つの乗算器と、
前記各乗算器に対応させて設けられ、前記積ＣＢの演算モードでは前記乗算器の出力側データを出力させ、前記積ＣＡの演算モードでは前記乗算器への入力側データを出力させる２つのデータ選択器と、
入力される前記行方向データと前記各データ選択器の出力データとから(Ｃj0＋Ｃj2)，(Ｃj1＋αＣj3)，(αＣj1−Ｃj3)，(Ｃj0−Ｃj2)［但し、αは前記積ＣＢの演算モードではＫ、前記積ＣＡの演算モードでは１］を求める第１の加減算器群と、
前記第１の加減算器群による演算結果を用いて(Ｃj0＋Ｃj2)＋(Ｃj1＋αＣj3)，(Ｃj0−Ｃj2)＋(αＣj1−Ｃj3)，(Ｃj0−Ｃj2)−(αＣj1−Ｃj3)，(Ｃj0＋Ｃj2)−(Ｃj1＋αＣj3)を求める第２の加減算器群と
からなることを特徴とする行列演算装置。
【請求項２】
前記変数行列Ｃと次の数式４の定数行列Ｄ（但し、定数Ｒは１以外の有理数）との積ＣＤ、及び前記変数行列Ｃと前記定数行列Ａとの積ＣＡを演算する行列演算装置であって、
【数４】
2006227666.tif 000023
パラレルに入力される前記変数行列Ｃの行方向データ｛Ｃj0,Ｃj1,Ｃj2,Ｃj3｝から(Ｃj0＋Ｃj3)，(Ｃj1＋Ｃj2)，(Ｃj1−Ｃj2)，(Ｃj0−Ｃj3)を求める入力側加減算器群と、
前記入力側加減算器群の演算結果である(Ｃj1＋Ｃj2)と(Ｃj0−Ｃj3)にそれぞれ乗数Ｒを乗算する２つの乗算器と、
前記各乗算器に対応させて設けられ、前記積ＣＤの演算モードでは前記乗算器の出力側データを出力させ、前記積ＣＡの演算モードでは前記乗算器への入力側データを出力させる２つのデータ選択器と、
前記入力側加減算器群による演算結果と前記各データ選択器の出力データとから(Ｃj0＋Ｃj3)＋(Ｃj1＋Ｃj2)，β(Ｃj0−Ｃj3)＋(Ｃj1−Ｃj2)，(Ｃj0−Ｃj3)−(Ｃj1−Ｃj2)，(Ｃj0＋Ｃj3)−β(Ｃj1＋Ｃj2)［但し、βは前記積ＣＤの演算モードではＲ、前記積ＣＡの演算モードでは１］を求める出力側加減算器群と
からなることを特徴とする行列演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は行列演算装置に係り、特にＨ.２６４等による画像データの圧縮・伸長に用いられている直交変換回路に適用されて、整数近似離散コサイン変換又は整数近似逆離散コサイン変換とアダマール変換とを小規模な回路で実行させるための構成に関する。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture Experts Group）-１,２,４に続く国際標準規格の映像符号化方式としてＨ.２６４（「ＭＰＥＧ-４/ＡＶＣ」とも称されている）が注目されている。このＨ.２６４はＩＴＵ-Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）とＩＳＯ（International Standardization Organization）/ＩＥＣ（International Electrotechnical Commission）がＪＶＴ（Joint Video Team）を結成して共同で標準化した次世代の高能率映像圧縮方式であり、データ圧縮率がＭＰＥＧ-２の３倍、ＭＰＥＧ-４の２倍となり、携帯電話機やデジタル・カメラや録画機等のさまざまな分野で効果が発揮されることが期待されている。
【０００３】
Ｈ.２６４では画像圧縮エンジンとしてアダマール変換と整数近似離散コサイン変換が採用されている。そして、直交変換のための基本処理単位が４×４画素と小さくなっており、従来の離散コサイン変換では無限長係数を有限長に丸めて計算を行うことに起因してエンコーダとデコーダの間で誤差が発生するという問題があったが、変換係数を量子化係数と統合し、完全に整数演算で計算ができるように係数が整数近似されている。
【０００４】
このため、被変換データをＣji（但し、j=0,1,2,3、i=0,1,2,3）、変換後データをＴjiとすると、デコーダで用いられる整数近似逆離散コサイン変換は次の数式５で示される演算となり、加減算とビットシフト（1/2はleast significant bitを取り除く右シフト演算を表す）だけで計算を行うことができる。
【数５】
2006227666.tif 000003
尚、この数式５は計算順序によって変換データが異なるため、規格では変換の計算処理を被変換データＣjiを列方向に計算した後、行方向に計算するように定められている。
【０００５】
また、エンコーダ側で用いられる整数近似離散コサイン変換は次の数式６で示される演算となり、デコーダの場合と同様に加減算とビットシフト（2は左シフト演算を表す）だけで計算を行うことができる。
【数６】
2006227666.tif 000004
【０００６】
Ｈ.２６４では、図１に示すように、マクロブロック（１６×１６画素）101を４×４画素ブロックである基本単位ブロック100に分割して直交変換を施す。ここに、輝度信号（Ｙ）のマクロブロック101は１６個の基本単位ブロック100で構成され、各色差信号（Ｃr,Ｃb）のブロック102,103はそれぞれ４個の基本単位ブロック100で構成されている。
【０００７】
そして、特徴的な点として、図１に示すように、輝度信号（Ｙ）のマクロブロック101に関しては特定モードにおいて整数近似離散コサイン変換後の各基本処理単位のＤＣ成分のみを集めたブロック104を構成し、そのブロック104に対してアダマール変換を施す。このアダマール変換は、前記と同様に被変換データをＣji、変換後データをＴjiとして、次の数式７に示す演算となる。
【数７】
2006227666.tif 000005
一方、色差信号（Ｃr,Ｃb）については常に階層直交変換が施される。そして、各色差信号（Ｃr,Ｃb）についても整数近似離散コサイン変換後の各基本処理単位のＤＣ成分のみを集めたブロック105,106を構成し、被変換データをＨji、変換後データをＤjiとして、次の数式８によるアダマール変換を施す。
【数８】
2006227666.tif 000006
【０００８】
尚、Ｈ.２６４の規格については次の非特許文献１に説明されており、また解説書として次の非特許文献２がある。
【非特許文献１】「Ｈ.２６４規格書」  Draft ITU-T Recommendation and Final International Standard of Joint Video Specification（ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC）
【非特許文献１】角野眞也、菊池義浩、鈴木輝彦 共編  「Ｈ.２６４/ＡＶＣ教科書」  株式会社インプレス  ネットビジネスカンパニー  ２００４年１２月１日発行
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、従来のＨ.２６４の画像データを扱うエンコーダやデコーダの直交変換回路では、整数近似離散コサイン変換（エンコーダの場合），整数近似逆離散コサイン変換（デコーダの場合）とアダマール変換とが別の回路で構成されており、またアダマール変換用の回路についても輝度信号（Ｙ）のＤＣ成分と各色差信号（Ｃr,Ｃb）のＤＣ成分とでそれぞれ別に構成されている。しかし、前記の数式５,６と数式７の係数の行列を比較すると、成分中の「1/2」,「2」と「1」とが相違しているだけであり、その点を除けば演算の形式が同一となる。また、数式７と数式８とでは、被変換データＣ00,Ｃ03,Ｃ30,Ｃ33とＨ00,Ｈ03,Ｈ30,Ｈ33に関してみれば、同一の係数による同一の演算になる。
【００１０】
そこで、本発明は、その点に着目して整数近似離散コサイン変換，整数近似逆離散コサイン変換とアダマール変換の演算を実行する回路を統合化することができる行列演算装置を提供し、もって直交変換回路の回路規模を縮小し、引いてはエンコーダやデコーダの消費電力も低減化することを目的として創作された。
【課題を解決するための手段】
【００１１】
第１の発明は、次の数式１の変数行列Ｃと次の数式２の定数行列Ｂ（但し、定数Ｋは１以外の有理数）との積ＣＢ、及び前記変数行列Ｃと次の数式３の定数行列Ａとの積ＣＡを演算する行列演算装置であって、
【数１】
2006227666.tif 000007
【数２】
2006227666.tif 000008
【数３】
2006227666.tif 000009
パラレルに入力される前記変数行列Ｃの行方向データ｛Ｃj0,Ｃj1,Ｃj2,Ｃj3｝の内のデータＣj1，Ｃj3に定数Ｋを乗算する２つの乗算器と、前記各乗算器に対応させて設けられ、前記積ＣＢの演算モードでは前記乗算器の出力側データを出力させ、前記積ＣＡの演算モードでは前記乗算器への入力側データを出力させる２つのデータ選択器と、入力される前記行方向データと前記各データ選択器の出力データとから(Ｃj0＋Ｃj2)，(Ｃj1＋αＣj3)，(αＣj1−Ｃj3)，(Ｃj0−Ｃj2)［但し、αは前記積ＣＢの演算モードではＫ、前記積ＣＡの演算モードでは１］を求める第１の加減算器群と、前記第１の加減算器群による演算結果を用いて(Ｃj0＋Ｃj2)＋(Ｃj1＋αＣj3)，(Ｃj0−Ｃj2)＋(αＣj1−Ｃj3)，(Ｃj0−Ｃj2)−(αＣj1−Ｃj3)，(Ｃj0＋Ｃj2)−(Ｃj1＋αＣj3)を求める第２の加減算器群とからなることを特徴とする行列演算装置に係る。
【００１２】
この発明によれば、各演算モードで２つのデータ選択器の出力を切り換えることにより、第２の加減算器群の演算結果として行列の積ＣＢと積ＣＡが求まる。即ち、２つの異なる行列積の演算を、特定の入力回路に乗算器とデータ選択器を設けるだけで、加減算器群を共用した単一回路で実行させることができる。この行列演算装置を１組用いることで、２×２アダマール変換に関しては１回で演算結果を得ることができ、４×４整数近似逆離散コサイン変換と４×４アダマール変換に関しては１次元の演算を実行できる。また、前記行列演算装置を４組用いれば、双方の演算に関して２次元の演算が可能になり、更に８組用いることにより１回で演算結果を得ることができる。
【００１３】
第２の発明は、前記変数行列Ｃと次の数式４の定数行列Ｄ（但し、定数Ｒは１以外の有理数）との積ＣＤ、及び前記変数行列Ｃと前記定数行列Ａとの積ＣＡを演算する行列演算装置であって、
【数４】
2006227666.tif 000010
パラレルに入力される前記変数行列Ｃの行方向データ｛Ｃj0,Ｃj1,Ｃj2,Ｃj3｝から(Ｃj0＋Ｃj3)，(Ｃj1＋Ｃj2)，(Ｃj1−Ｃj2)，(Ｃj0−Ｃj3)を求める入力側加減算器群と、前記入力側加減算器群の演算結果である(Ｃj1＋Ｃj2)と(Ｃj0−Ｃj3)にそれぞれ乗数Ｒを乗算する２つの乗算器と、前記各乗算器に対応させて設けられ、前記積ＣＤの演算モードでは前記乗算器の出力側データを出力させ、前記積ＣＡの演算モードでは前記乗算器への入力側データを出力させる２つのデータ選択器と、前記入力側加減算器群による演算結果と前記各データ選択器の出力データとから(Ｃj0＋Ｃj3)＋(Ｃj1＋Ｃj2)，β(Ｃj0−Ｃj3)＋(Ｃj1−Ｃj2)，(Ｃj0−Ｃj3)−(Ｃj1−Ｃj2)，(Ｃj0＋Ｃj3)−β(Ｃj1＋Ｃj2)［但し、βは前記積ＣＤの演算モードではＲ、前記積ＣＡの演算モードでは１］を求める出力側加減算器群とからなることを特徴とする行列演算装置に係る。
【００１４】
この発明においても、各演算モードで２つのデータ選択器の出力を切り換えることにより、出力側加減算器群の演算結果として行列の積ＣＢと積ＣＡが求まる。定数行列Ｄは全ての行方向データに定数Ｒ（１以外の有理数）を含んでいるため、第１の発明の構成を採用すると、乗算器とデータ選択器が４組必要になるが、この発明では、演算過程における定数βの乗算項の括り方を考慮することにより、２組の乗算器とデータ選択器で足りる回路構成を実現している。
【発明の効果】
【００１５】
本発明の行列演算装置は、以上の構成に基づいて、次のような効果を奏する。
第１の発明は、変数行列Ｃ（数式１）と定数行列Ｂ（数式２）の積ＣＢと、変数行列Ｃ（数式１）と定数行列Ａ（数式３）の積ＣＡとを同一回路で演算できるようにし、Ｈ.２６４のデコーダのように整数近似逆離散コサイン変換とアダマール変換を実行する直交変換回路の回路規模の縮小化と製造プロセスの簡素化を図ると共に、消費電力の低減化も実現する。
第２の発明は、変数行列Ｃ（数式１）と定数行列Ｄ（数式４）の積ＣＤと、変数行列Ｃ（数式１）と定数行列Ａ（数式３）の積ＣＡとを同一回路で演算できるようにし、Ｈ.２６４のエンコーダ側の直交変換回路に適用されて請求項１の発明と同様の効果を有する。特に、積ＣＤを求める場合に請求項１の行列演算装置を適用すると４組の乗算器とデータ選択器が必要になるが、２組の乗算器とデータ選択器で回路を構成できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の行列演算装置の実施形態及びその行列演算装置を適用した直交変換回路の実施例について図２から図６を用いて説明する。
［実施形態１］
この実施形態はＨ.２６４による画像データのデコードを行う場合の直交変換処理に適用される行列演算装置に係る。先ず、上記数式５の４×４整数近似逆離散コサイン変換と数式７の４×４アダマール変換とは、それぞれ次の数式９と数式１０に展開できる。
【数９】
2006227666.tif 000011
【数１０】
2006227666.tif 000012
また、数式８の２×２アダマール変換は次の数式１１に展開される。
【数１１】
2006227666.tif 000013
【００１７】
そして、数式９及び数式１０から被変換係数行列の列方向演算で実行される計算式は、αを４×４整数近似逆離散コサイン変換の演算時には1/2に、４×４アダマール変換の演算時には１に設定される変数として定義すると、次の数式１２に示す４通りとなる。
【数１２】
2006227666.tif 000014
また、被変換係数行列の行方向演算で実行される計算式は、同様にして次の数式１３に示す４通りとなる。
【数１３】
2006227666.tif 000015
【００１８】
従って、数式１２及び数式１３の形に着目すると、図２に示す行列演算装置を用いることにより４×４整数近似逆離散コサイン変換と４×４アダマール変換に必要な演算を列単位又は行単位で一括して行うことが可能になる。この行列演算装置は、２個の加算器11,14と２個の減算器13,14とからなる第１の加減算器群11〜14と、同様に２個の加算器15,16と２個の減算器17,18とからなる第２の加減算器群15〜18と、２個の×1/2演算器19,20と、２個のデータ選択器21,22とで構成されている。そして、４つの入力IN0,IN1,IN2,IN3に対して、第１の加減算器群11〜14では、加算器11がIN0とIN1を加算し、減算器13がIN0からIN1を減算し、減算器14がIN2又はIN2に×1/2演算器19で1/2を乗算した1/2＊IN2のいずれかをデータ選択器21で選択した結果からIN3を減算し、加算器12がIN3又はIN3に×1/2演算器20で1/2を乗算した1/2＊IN3のいずれかをデータ選択器22で選択した結果とIN2を加算する。
【００１９】
また、それら第１の加減算器群11〜14の演算結果に対して、第２の加減算器群15〜18では、加算器15が加算器11と加算器12の演算結果を加算し、加算器16が減算器13と減算器14の演算結果を加算し、減算器17が減算器13の演算結果から減算器14の演算結果を減算し、減算器18が加算器11の演算結果から加算器12の演算結果を減算し、それら第２の加減算器群15〜18の演算結果を４つの出力OUT0,OUT1,OUT2,OUT3としている。但し、各データ選択器21,22はDTC_mode信号によって制御され、４×４アダマール変換の演算時にはDTC_mode信号が“0”に設定されてそれぞれIN2,IN3を選択出力し、４×４整数近似逆離散コサイン変換の演算時にはDTC_mode信号が“1”に設定されてそれぞれ×1/2演算器19,20の演算結果を選択出力するようになっている。
【００２０】
前記の数式１２の演算（列方向演算）に際しては、IN0,IN1,IN2,IN3に対してそれぞれＣj0,Ｃj1,Ｃj2,Ｃj3を入力し、４×４アダマール変換ではDTC_mode信号を“0”とし、４×４整数近似逆離散コサイン変換ではDTC_mode信号を“1”として、OUT0,OUT1,OUT2,OUT3からそれぞれＸj0,Ｘj1,Ｘj2,Ｘj3を得る。また、前記の数式１３の演算（行方向演算）に際しては、IN0,IN1,IN2,IN3に対してそれぞれＸj0,Ｘj1,Ｘj2,Ｘj3を入力することにより最終演算結果が得られる。
【００２１】
尚、２×２アダマール変換の演算に関しては、上記の数式１１より計算式は次の数式１４に示す４通りとなる。
【数１４】
2006227666.tif 000016
従って、図２の行列演算装置において、IN0,IN1,IN2,IN3に対してそれぞれＨ00,Ｈ10,Ｈ01,Ｈ11を入力し、DTC_mode信号を“0”に設定することで最終演算結果が得られる。
【００２２】
［実施形態２］
この実施形態はＨ.２６４による画像データのエンコードを行う場合の直交変換処理に適用される行列演算装置に係る。先ず、Ｈ.２６４の上記数式６の４×４整数近似離散コサイン変換は次の数式１５に展開できる。
【数１５】
2006227666.tif 000017
また、数式７の４×４アダマール変換と数式８の２×２アダマール変換がそれぞれ数式１０と数式１１に展開できることは、実施形態１の場合と同様である。
【００２３】
そして、数式１５及び数式１０から被変換係数行列の列方向演算で実行される計算式は、βを４×４整数近似逆離散コサイン変換の演算時には２に、４×４アダマール変換の演算時には１に設定される変数として定義すると、次の数式１６に示す４通りとなる。
【数１６】
2006227666.tif 000018
また、被変換係数行列の行方向演算で実行される計算式は、同様にして次の数式１７に示す４通りとなる。
【数１７】
2006227666.tif 000019
【００２４】
従って、数式１６及び数式１７の形に着目すると、図３に示す行列演算装置を用いることにより４×４整数近似逆離散コサイン変換と４×４アダマール変換に必要な演算を列単位又は行単位で一括して行うことが可能になる。この行列演算装置は、２個の加算器51,52と２個の減算器53,54とからなる入力側の加減算器群51〜54と、同様に２個の加算器55,58と２個の減算器56,57とからなる出力側の加減算器群55〜58と、２個の×２演算器59,60と、２個のデータ選択器61,62とで構成されている。そして、４つの入力IN0,IN1,IN2,IN3に対して、入力側の加減算器群51〜54では、加算器51がIN0とIN3を加算し、加算器52がIN1とIN2を加算し、減算器53がIN1からIN2を減算し、減算器54がIN0からIN3を減算する。また、出力側の加減算器群55〜58では、加算器55が加算器51と加算器52の演算結果を加算し、減算器56が加算器51の演算結果から減算器52の演算結果又はその演算結果に×２演算器59で２を乗算した演算結果のいずれかをデータ選択器61で選択した結果を減算し、減算器57が減算器54の演算結果から減算器53の演算結果を減算し、加算器58が減算器54の演算結果又はその演算結果に×２演算器60で２を乗算した演算結果のいずれかをデータ選択器62で選択した結果と減算器53の演算結果を加算し、それら出力側の加減算器群55〜58の演算結果を４つの出力OUT0,OUT1,OUT2,OUT3としている。尚、各データ選択器61,62はDTC_mode信号によって制御され、４×４アダマール変換の演算時にはDTC_mode信号が“0”に設定されてそれぞれ加算器52と減算器54の演算結果を選択出力し、４×４整数近似逆離散コサイン変換の演算時にはDTC_mode信号が“1”に設定されてそれぞれ×２演算器59,60の演算結果を選択出力するようになっている。
【実施例１】
【００２５】
この実施例は前記の実施形態１又は実施形態２の行列演算装置を１組用いた場合におけるＨ.２６４画像データ処理用の直交変換回路に係り、図４にそのシステム回路を示す。同図において、70が行列演算装置に相当し、デコーダの場合には図２の回路が、エンコーダの場合には図３の回路が１組用いられる。71は４個のデータ選択器からなる入力切換部であり、Path_mode信号を“0”又は“1”に設定することにより、それぞれの選択器が行列演算装置70のIN0,IN1,IN2,IN3に対する入力を被変換係数行列データであるＣji系列と前記Ｃji系列について列方向演算を行って転置させた後のＸij系列とに切り換えるようになっている。また、72は転置メモリであり、被変換係数行列データのＣji系列から行列演算装置70が列方向演算によって求めたＸji系列をセーブし、そのセーブしたＸji系列から転置したＸij系列を読み出して入力切換部71へ出力できる入出力構造になっている。そして、この直交変換回路の構成は、入力行列をＣ、係数行列をＺとし、行列の転置行列生成をt()の表現とした場合に、出力行列ＵがＵ＝t(Ｚ)・{Ｃ・Ｚ}で表され、その式はＵ＝t(t({Ｃ・Ｚ})・Ｚ)と変形できるために、入力行列Ｃと係数行列Ｚの乗算として纏めることができることに基づいている。
【００２６】
この実施例の直交変換回路は、以上の構成に基づいて４×４の行列演算をクロックに同期しながら次の手順で実行する。但し、ここではエンコーダの場合（行列演算装置70が図３の回路であり、整数近似離散コサイン変換とアダマール変換を実行する場合）を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列｛Ｃ00,Ｃ01,Ｃ02,Ｃ03｝，｛Ｃ10,Ｃ11,Ｃ12,Ｃ13｝，｛Ｃ20,Ｃ21,Ｃ22,Ｃ23｝，｛Ｃ30,Ｃ31,Ｃ32,Ｃ33｝を行列演算装置70へ入力する。
(3) 入力されたデータ列について行列演算装置70が演算した後の１次出力データ｛Ｘ00,Ｘ01,Ｘ02,Ｘ03｝，｛Ｘ10,Ｘ11,Ｘ12,Ｘ13｝，｛Ｘ20,Ｘ21,Ｘ22,Ｘ23｝，｛Ｘ30,Ｘ31,Ｘ32,Ｘ33｝を一旦転置メモリ72にセーブする。
(4) Path_mode信号を“1”に切り換え設定して転置メモリ72から読み出した転置データ列｛Ｘ00,Ｘ10,Ｘ20,Ｘ30｝，｛Ｘ01,Ｘ11,Ｘ21,Ｘ31｝，｛Ｘ02,Ｘ12,Ｘ22,Ｘ32｝，｛Ｘ03,Ｘ13,Ｘ23,Ｘ33｝を行列演算装置70へ入力する。
(5) 入力されたデータ列について行列演算装置70が演算した後の２次出力データ｛Ｔ00,Ｔ10,Ｔ20,Ｔ30｝，｛Ｔ01,Ｔ11,Ｔ21,Ｔ31｝，｛Ｔ02,Ｔ12,Ｔ22,Ｔ32｝，｛Ｔ03,Ｔ13,Ｔ23,Ｔ33｝が直交変換の演算結果となる。
この実施例では演算時間が最短でも８サイクル必要になるが、回路規模を小さくできるという有利性がある。尚、２×２アダマール変換に関しては前記(3)での１次出力がそのまま直列変換となる。
【実施例２】
【００２７】
この実施例は前記の実施形態１又は実施形態２の行列演算装置を４組用いた場合におけるＨ.２６４画像データ処理用の直交変換回路に係り、図５にそのシステム回路を示す。同図において、70-1〜4がそれぞれ行列演算装置に相当し、それぞれについてデコーダの場合には図２の回路が、エンコーダの場合には図３の回路が１組用いられる。71-1〜4はそれぞれが４個のデータ選択器からなる入力切換部であり、Path_mode信号を“0”又は“1”に設定することにより、４個の選択器が行列演算装置701〜4のIN0,IN1,IN2,IN3に対する入力を被変換係数行列データであるＣji系列と前記Ｃji系列について列方向演算を行って転置させた後のＸij系列とに切り換えるようになっている。また、73はフリップフロップ回路（以下、「ＦＦ回路」という）であり、被変換係数行列データのＣji系列から行列演算装置70-1〜4が列方向演算によって求めたＸji系列をセーブし、その出力端子が前記Ｘji系列の行列に対して転置行列Ｘijとなる条件で入力切換部71-1〜4の入力端子に接続されている。
【００２８】
この実施例の直交変換回路は、以上の構成に基づいて４×４の行列演算をクロックに同期しながら次の手順で実行する。但し、ここでも、実施例１と同様に、エンコーダの場合を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列｛Ｃ00,Ｃ01,Ｃ02,Ｃ03,Ｃ10,Ｃ11,Ｃ12,Ｃ13,Ｃ20,Ｃ21,Ｃ22,Ｃ23,Ｃ30,Ｃ31,Ｃ32,Ｃ33｝を行列演算装置70-1〜4へ入力する。
(3) 入力されたデータ列について行列演算装置701〜4が演算した後の１次出力データ｛Ｘ00,Ｘ01,Ｘ02,Ｘ03,Ｘ10,Ｘ11,Ｘ12,Ｘ13,Ｘ20,Ｘ21,Ｘ22,Ｘ23,Ｘ30,Ｘ31,Ｘ32,Ｘ33｝を一旦ＦＦ回路73にセーブする。
(4) Path_mode信号を“1”に切り換え設定してＦＦ回路73の出力を行列演算装置701〜4へ入力する。［行列演算装置70-1〜4への入力条件は、前記１次出力データの行列に対する転置行列｛Ｘ00,Ｘ10,Ｘ20,Ｘ30,Ｘ01,Ｘ11,Ｘ21,Ｘ31,Ｘ02,Ｘ12,Ｘ22,Ｘ32,Ｘ03,Ｘ13,Ｘ23,Ｘ33｝となる。］
(5) 入力されたデータ列について行列演算装置701〜4が演算した後の２次出力データ｛Ｔ00,Ｔ10,Ｔ20,Ｔ30,Ｔ01,Ｔ11,Ｔ21,Ｔ31,Ｔ02,Ｔ12,Ｔ22,Ｔ32,Ｔ03,Ｔ13,Ｔ23,Ｔ33｝が直交変換の演算結果となる。
この実施例では演算時間を最短で２サイクルにできるという有利性がある。回路規模については、実施例１の場合より大きくなるが、整数近似離散コサイン変換とアダマール変換とを独立した回路で構成する場合と比較すれば遥かに小さい回路規模で足りる。尚、２×２アダマール変換に関しては、実施例１の場合と同様に前記(3)での１次出力がそのまま直列変換となる。
【実施例３】
【００２９】
この実施例は前記の実施形態１又は実施形態２の行列演算装置を８組用いた場合におけるＨ.２６４画像データ処理用の直交変換回路に係り、図６にそのシステム回路を示す。同図において、70-1〜4,70-5〜8がそれぞれ行列演算装置に相当し、それぞれについてデコーダの場合には図２の回路が、エンコーダの場合には図３の回路が１組用いられる。また、行列演算装置70-1〜4の出力端子と行列演算装置70-5〜8の入力端子とは、行列演算装置70-1〜4の出力データ｛Ｘ00,Ｘ01,Ｘ02,Ｘ03,Ｘ10,Ｘ11,Ｘ12,Ｘ13,Ｘ20,Ｘ21,Ｘ22,Ｘ23,Ｘ30,Ｘ31,Ｘ32,Ｘ33｝が行列演算装置70-5〜8に対して転置行列のデータ｛Ｘ00,Ｘ10,Ｘ20,Ｘ30,Ｘ01,Ｘ11,Ｘ21,Ｘ31,Ｘ02,Ｘ12,Ｘ22,Ｘ32,Ｘ03,Ｘ13,Ｘ23,Ｘ33｝となって入力される関係で接続されている。
【００３０】
この実施例の直交変換回路は、以上の構成に基づいて４×４の行列演算をクロックに同期しながら次の手順で実行する。但し、この実施例でも、前記実施例１,２と同様に、エンコーダの場合を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列｛Ｃ00,Ｃ01,Ｃ02,Ｃ03,Ｃ10,Ｃ11,Ｃ12,Ｃ13,Ｃ20,Ｃ21,Ｃ22,Ｃ23,Ｃ30,Ｃ31,Ｃ32,Ｃ33｝を行列演算装置70-1〜4へ入力する。
(3) 行列演算装置70-1〜4へ入力されたデータ列に対応する行列演算装置70-5〜8の出力データ｛Ｔ00,Ｔ10,Ｔ20,Ｔ30,Ｔ01,Ｔ11,Ｔ21,Ｔ31,Ｔ02,Ｔ12,Ｔ22,Ｔ32,Ｔ03,Ｔ13,Ｔ23,Ｔ33｝がそのまま直交変換の演算結果となる。
この実施例では、演算時間を最短で１サイクルにできるという有利性がある。一方、回路規模については、実施例２の場合よりも更に大きくなるが、それでも整数近似離散コサイン変換とアダマール変換とを独立した回路で構成した同一演算能力の直交変換回路と比較しても回路規模は１/２で足りることになる。尚、２×２アダマール変換に関しては、初段の行列演算装置70-1〜4の出力がそのまま直列変換となる。
【産業上の利用可能性】
【００３１】
本発明の行列演算装置はＨ.２６４等の画像データ処理用の直交変換回路に適用できる。
【図面の簡単な説明】
【００３２】
【図１】Ｈ.２６４におけるマクロブロックの直交変換処理単位を示す図である。
【図２】本発明の実施形態１に係る行列演算装置の構成を示すブロック図である。
【図３】本発明の実施形態２に係る行列演算装置の構成を示すブロック図である。
【図４】実施形態に係る行列演算装置を１組用いた直交変換回路（実施例１）のブロック図である。
【図５】実施形態に係る行列演算装置を４組用いた直交変換回路（実施例２）のブロック図である。
【図６】実施形態に係る行列演算装置を８組用いた直交変換回路（実施例３）のブロック図である。
【符号の説明】
【００３３】
11,12,15,16,51,52,55,57…加算器、13,14,17,18,53,54,56,58…減算器、19,20…×1/2演算器、21,22,61,62…データ選択器、59,60…×２演算器、70,70-1〜4,70-5〜8…行列演算装置、71,71-1〜4…入力切換部、72…転置メモリ、73…ＦＦ回路、101…輝度信号のマクロブロック、102…色差信号（Ｃb）のブロック、103…色差信号（Ｃr）のブロック、104…輝度信号（Ｙ）のマクロブロックについて整数近似離散コサイン変換後における各基本処理単位のＤＣ成分のみを集めたブロック、105…色差信号（Ｃb）のブロックについて整数近似離散コサイン変換後における各基本処理単位のＤＣ成分のみを集めたブロック、106…色差信号（Ｃr）のブロックについて整数近似離散コサイン変換後における各基本処理単位のＤＣ成分のみを集めたブロック。
【図１】
2006227666.tif 000024
【図２】
2006227666.tif 000025
【図３】
2006227666.tif 000026
【図４】
2006227666.tif 000027
【図５】
2006227666.tif 000028
【図６】
2006227666.tif 000029
【手続補正書】
【提出日】平成18年3月30日(2006.3.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
Ｈ.２６４では画像圧縮エンジンとしてアダマール変換と整数近似離散コサイン変換が採用され、直交変換のための基本処理単位が４×４画素と小さくなっている。そして、従来の離散コサイン変換では無限長係数を有限長に丸めて計算を行うことに起因してエンコーダとデコーダの間で誤差が発生するという問題があったが、アダマール変換と整数近似離散コサイン変換では変換係数を量子化係数と統合し、完全に整数演算で計算ができるように係数が整数近似されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
従って、数式１２及び数式１３の形に着目すると、図２に示す行列演算装置を用いることにより４×４整数近似逆離散コサイン変換と４×４アダマール変換に必要な演算を列単位又は行単位で一括して行うことが可能になる。この行列演算装置は、２個の加算器11,12と２個の減算器13,14とからなる第１の加減算器群11〜14と、同様に２個の加算器15,16と２個の減算器17,18とからなる第２の加減算器群15〜18と、２個の×1/2演算器19,20と、２個のデータ選択器21,22とで構成されている。そして、４つの入力IN0,IN1,IN2,IN3に対して、第１の加減算器群11〜14では、加算器11がIN0とIN2を加算し、減算器13がIN0からIN2を減算し、減算器14がIN1又はIN1に×1/2演算器19で1/2を乗算した1/2＊IN1のいずれかをデータ選択器21で選択した結果からIN3を減算し、加算器12がIN3又はIN3に×1/2演算器20で1/2を乗算した1/2＊IN3のいずれかをデータ選択器22で選択した結果とIN1を加算する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、それら第１の加減算器群11〜14の演算結果に対して、第２の加減算器群15〜18では、加算器15が加算器11と加算器12の演算結果を加算し、加算器16が減算器13と減算器14の演算結果を加算し、減算器17が減算器13の演算結果から減算器14の演算結果を減算し、減算器18が加算器11の演算結果から加算器12の演算結果を減算し、それら第２の加減算器群15〜18の演算結果を４つの出力OUT0,OUT1,OUT2,OUT3としている。但し、各データ選択器21,22はDTC_mode信号によって制御され、４×４アダマール変換の演算時にはDTC_mode信号が“0”に設定されてそれぞれIN1,IN3を選択出力し、４×４整数近似逆離散コサイン変換の演算時にはDTC_mode信号が“1”に設定されてそれぞれ×1/2演算器19,20の演算結果を選択出力するようになっている。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
従って、数式１６及び数式１７の形に着目すると、図３に示す行列演算装置を用いることにより４×４整数近似逆離散コサイン変換と４×４アダマール変換に必要な演算を列単位又は行単位で一括して行うことが可能になる。この行列演算装置は、２個の加算器51,52と２個の減算器53,54とからなる入力側の加減算器群51〜54と、同様に２個の加算器55,58と２個の減算器56,57とからなる出力側の加減算器群55〜58と、２個の×２演算器59,60と、２個のデータ選択器61,62とで構成されている。そして、４つの入力IN0,IN1,IN2,IN3に対して、入力側の加減算器群51〜54では、加算器51がIN0とIN3を加算し、加算器52がIN1とIN2を加算し、減算器53がIN1からIN2を減算し、減算器54がIN0からIN3を減算する。また、出力側の加減算器群55〜58では、加算器55が加算器51と加算器52の演算結果を加算し、減算器56が加算器51の演算結果から加算器52の演算結果又はその演算結果に×２演算器59で２を乗算した演算結果のいずれかをデータ選択器61で選択した結果を減算し、減算器57が減算器54の演算結果から減算器53の演算結果を減算し、加算器58が減算器54の演算結果又はその演算結果に×２演算器60で２を乗算した演算結果のいずれかをデータ選択器62で選択した結果と減算器53の演算結果を加算し、それら出力側の各加減算器55,56,57,58の演算結果をそれぞれ４つの出力OUT0,OUT3,OUT2,OUT1としている。尚、各データ選択器61,62はDTC_mode信号によって制御され、４×４アダマール変換の演算時にはDTC_mode信号が“0”に設定されてそれぞれ加算器52と減算器54の演算結果を選択出力し、４×４整数近似逆離散コサイン変換の演算時にはDTC_mode信号が“1”に設定されてそれぞれ×２演算器59,60の演算結果を選択出力するようになっている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
この実施例は前記の実施形態１又は実施形態２の行列演算装置を４組用いた場合におけるＨ.２６４画像データ処理用の直交変換回路に係り、図５にそのシステム回路を示す。同図において、70-1〜4がそれぞれ行列演算装置に相当し、それぞれについてデコーダの場合には図２の回路が、エンコーダの場合には図３の回路が１組用いられる。71-1〜4はそれぞれが４個のデータ選択器からなる入力切換部であり、Path_mode信号を“0”又は“1”に設定することにより、４個の選択器が行列演算装置70-1〜4のIN0,IN1,IN2,IN3に対する入力を被変換係数行列データであるＣji系列と前記Ｃji系列について列方向演算を行って転置させた後のＸij系列とに切り換えるようになっている。また、73はフリップフロップ回路（以下、「ＦＦ回路」という）であり、被変換係数行列データのＣji系列から行列演算装置70-1〜4が列方向演算によって求めたＸji系列をセーブし、その出力端子が前記Ｘji系列の行列に対して転置行列Ｘijとなる条件で入力切換部71-1〜4の入力端子に接続されている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
この実施例の直交変換回路は、以上の構成に基づいて４×４の行列演算をクロックに同期しながら次の手順で実行する。但し、ここでも、実施例１と同様に、エンコーダの場合を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列｛Ｃ00,Ｃ01,Ｃ02,Ｃ03,Ｃ10,Ｃ11,Ｃ12,Ｃ13,Ｃ20,Ｃ21,Ｃ22,Ｃ23,Ｃ30,Ｃ31,Ｃ32,Ｃ33｝を行列演算装置70-1〜4へ入力する。
(3) 入力されたデータ列について行列演算装置70-1〜4が演算した後の１次出力データ｛Ｘ00,Ｘ01,Ｘ02,Ｘ03,Ｘ10,Ｘ11,Ｘ12,Ｘ13,Ｘ20,Ｘ21,Ｘ22,Ｘ23,Ｘ30,Ｘ31,Ｘ32,Ｘ33｝を一旦ＦＦ回路73にセーブする。
(4) Path_mode信号を“1”に切り換え設定してＦＦ回路73の出力を行列演算装置70-1〜4へ入力する。［行列演算装置70-1〜4への入力条件は、前記１次出力データの行列に対する転置行列｛Ｘ00,Ｘ10,Ｘ20,Ｘ30,Ｘ01,Ｘ11,Ｘ21,Ｘ31,Ｘ02,Ｘ12,Ｘ22,Ｘ32,Ｘ03,Ｘ13,Ｘ23,Ｘ33｝となる。］
(5) 入力されたデータ列について行列演算装置70-1〜4が演算した後の２次出力データ｛Ｔ00,Ｔ10,Ｔ20,Ｔ30,Ｔ01,Ｔ11,Ｔ21,Ｔ31,Ｔ02,Ｔ12,Ｔ22,Ｔ32,Ｔ03,Ｔ13,Ｔ23,Ｔ33｝が直交変換の演算結果となる。
この実施例では演算時間を最短で２サイクルにできるという有利性がある。回路規模については、実施例１の場合より大きくなるが、整数近似離散コサイン変換とアダマール変換とを独立した回路で構成する場合と比較すれば遥かに小さい回路規模で足りる。尚、２×２アダマール変換に関しては、実施例１の場合と同様に前記(3)での１次出力がそのまま直列変換となる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
11,12,15,16,51,52,55,58…加算器、13,14,17,18,53,54,56,57…減算器、19,20…×1/2演算器、21,22,61,62…データ選択器、59,60…×２演算器、70,70-1〜4,70-5〜8…行列演算装置、71,71-1〜4…入力切換部、72…転置メモリ、73…ＦＦ回路、101…輝度信号のマクロブロック、102…色差信号（Ｃb）のブロック、103…色差信号（Ｃr）のブロック、104…輝度信号（Ｙ）のマクロブロックについて整数近似離散コサイン変換後における各基本処理単位のＤＣ成分のみを集めたブロック、105…色差信号（Ｃb）のブロックについて整数近似離散コサイン変換後における各基本処理単位のＤＣ成分のみを集めたブロック、106…色差信号（Ｃr）のブロックについて整数近似離散コサイン変換後における各基本処理単位のＤＣ成分のみを集めたブロック。
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2006227666.tif 000030
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2006227666.tif 000031
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2006227666.tif 000032