首页 / 专利库 / 多媒体工具与应用 / 静态图像压缩标准 / Expansion method and compression method for still picture data or device executing the methods

Expansion method and compression method for still picture data or device executing the methods

阅读:907发布:2020-08-27

专利汇可以提供Expansion method and compression method for still picture data or device executing the methods专利检索,专利查询,专利分析的服务。并且PURPOSE:To provide the expansion method and compression method for still picture data or a device executing the methods in which bits are used optimizingly while keeping compatibility with the JPEG standards. CONSTITUTION:The expansion method for still picture data to invert the conversion converting a sequence for a substantial value into a sequence for a conversion area coefficient is provided with a stage in which each conversion area coefficient is multiplied with a Q coefficient stored in an N-bit storage register in a form of M-bit exponent part identified to be a Q exponent part and an (N-M)-bit mantissa part identified to be a Q mantissa part and a value of a range larger than 2AN is provided to the Q coefficient by a form of Q coefficient=Q mantissa part *2AQ exponent part and with a stage in which a sequence of the multiplied conversion area coefficient is converted into a 2nd sequence approximated to the sequence for a substantial value.,下面是Expansion method and compression method for still picture data or device executing the methods专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 本来の値のシーケンスを変換領域係数のシーケンスに変換する変換を反転するための静止画像データの伸長方法において、前記変換領域係数の各々をQ
    指数部として識別されるMビットの指数及びQ仮数部として識別される(N−M)ビットの仮数部の形状でNビット保存レジスタ中に保存されているQ係数により乗算し、Q係数=Q仮数部*2^Q指数部となしてQ係数に2^Nより大きい範囲の値を提供するようになす段階と、乗算した変換領域係数のシーケンスを本来の値のシーケンスに近似する第2の値のシーケンスに変換する段階とを有することを特徴とする静止画像データの伸長方法。
  • 【請求項2】 乗算段階が、整数乗算器ユニットを用いるQ仮数部による乗算及びQ指数部ビットによる左シフトの段階を含むことを特徴とする請求項1記載の静止画像データの伸長方法。
  • 【請求項3】 Q指数部ビットによる左シフトの段階が、整数乗算器ユニットを用いるQ仮数部による乗算段階に続くことを特徴とする請求項2記載の静止画像データの伸長方法。
  • 【請求項4】 整数乗算器ユニットを用いるQ仮数部による乗算の段階が、Q指数部ビットによる左シフトの段階に続くことを特徴とする請求項2記載の静止画像データの伸長方法。
  • 【請求項5】 スケーリング係数及び量子化係数を含み、また、Q係数が前記スケーリング係数及び前記量子化係数の積と等しいことを特徴とする請求項2記載の静止画像データの伸長方法。
  • 【請求項6】 変換領域係数のシーケンスが長さLの値を有し、また、逆向き変換演算が加算回路アレイのネットワーク内で前記長さLの初期乗算と一連の加算及びシフトに分割されることを特徴とする請求項1記載の静止画像データの伸長方法。
  • 【請求項7】 加算回路アレイの使用を含み、逆向き変換演算が対角線行列式と非対角線行列式の積に分割され、対角線行列式による演算が前記加算回路アレイにより実行され得ることを特徴とする請求項1記載の静止画像データの伸長方法。
  • 【請求項8】 加算回路アレイは7段以下を有し39個以下の加算回路ユニットよりなることを特徴とする請求項7記載の静止画像データの伸長方法。
  • 【請求項9】 変換がディスクリート・コサイン変換に近似する一般化チェン変換であることを特徴とする請求項7記載の静止画像データの伸長方法。
  • 【請求項10】 スケーリング係数が心理的要因重み付け係数を含むことを特徴とする請求項5記載の静止画像データの伸長方法。
  • 【請求項11】 スケーリング係数がデブラリング係数を含むことを特徴とする請求項5記載の静止画像データの伸長方法。
  • 【請求項12】 本来のシーケンスの値が画像の画素の2次元格子を表わすことを特徴とする請求項2記載の静止画像データの伸長方法。
  • 【請求項13】 Nが16に等しく、Mが4に等しいことを特徴とする請求項1記載の静止画像データの伸長方法。
  • 【請求項14】 Q係数が2^N により予め標準化されており、乗算積の低位側N桁が破棄されることを特徴とする請求項2記載の静止画像データの伸長方法。
  • 【請求項15】 本来のシーケンスの値から変換領域係数のシーケンスへ変換を実行するための静止画像データの圧縮方法であって、本来の値のシーケンスを変換された値のシーケンスに変換する段階と、前記変換された値のシーケンスを変換領域係数のシーケンスへQ係数による各々の変換された値の乗算により変換し、また、出力の低位側Nビットを破棄する段階であって、Q係数が2
    ^N の因子により予め標準化されており、Nビット保存レジスタ内に保存される段階とを有することを特徴とする静止画像データの圧縮方法。
  • 【請求項16】 スケーリング係数と量子化係数を含み、Q係数が前記量子化係数で除した前記スケーリング係数の2^N 倍に等しいことを特徴とする請求項15記載の静止画像データの圧縮方法。
  • 【請求項17】 全てのQ因子の最大値が(2^N −
    1)をなすことを特徴とする請求項16記載の静止画像データの圧縮方法。
  • 【請求項18】 本来の値のシーケンスが長さLの値を有し、変換演算が一連の加算と前記長さLの最後の乗算に分割されることを特徴とする請求項15記載の静止画像データの圧縮方法。
  • 【請求項19】 変換演算が対角線行列式と非対角線行列式の積に分割され、非対角線行列式による演算が加算回路アレイにより実行され得ることを特徴とする請求項15記載の静止画像データの圧縮方法。
  • 【請求項20】 加算回路アレイは7段以下を有し39
    個以下の加算回路ユニットよりなることを特徴とする請求項19記載の静止画像データの圧縮方法。
  • 【請求項21】 変換がディスクリート・コサイン変換を近似する一般化チェン変換であることを特徴とする請求項19記載の静止画像データの圧縮方法。
  • 【請求項22】 スケーリング係数が逆向き心理的要因重み付け係数を含むことを特徴とする請求項16記載の静止画像データの圧縮方法。
  • 【請求項23】 本来のシーケンスの値が画像画素の2
    次元格子を表わすことを特徴とする請求項15記載の静止画像データの圧縮方法。
  • 【請求項24】 Nが16に等しいことを特徴とする請求項15記載の静止画像データの圧縮方法。
  • 【請求項25】 入力整数とQ値の乗算を実行して積を計算するための前向きモード/逆向きモードの2モード処理装置において、入力整数をビットの整数個分のシフトにより左シフトするためのマルチプレクサと、係数とシフトした入力整数を乗算するための整数乗算器と、2
    モードQ値処理装置であって前記処理装置が前向きモードにある場合シフト整数は0に設定され係数はQ値に等しく設定され、また、前記処理装置が逆向きモードにある場合シフト整数はQ指数部に設定され係数はQ仮数部に等しく、Q値=Q仮数部*2^Q指数部とするものとを設けたことを特徴とする2モード処理装置。
  • 【請求項26】 圧縮係数を含み、前向きモードにおいてQ値が前記圧縮係数に反比例し、逆向きモードにおいてQ値は前記圧縮係数に比例し、これによって、装置がデータ圧縮/伸長装置として機能することを特徴とする請求項25に記載の2モード処理装置。
  • 【請求項27】 4ビットの保存レジスタと、12ビットの保存レジスタと、16ビットの保存レジスタとを含み、Q指数部が前記4ビット保存レジスタに保存され、
    Q仮数部が前記12ビット保存レジスタに保存され、入力整数が前記16ビット保存レジスタに保存されるようにしたことを特徴とする請求項26記載の2モード処理装置。
  • 【請求項28】 Q値が2^N で予め乗算されており、
    Nビットが乗算器出力から切り取られることを特徴とする請求項25記載の2モード処理装置。
  • 【請求項29】 入力整数が逆向きモードにおける一般化チェン変換係数であることを特徴とする請求項25記載の2モード処理装置。
  • 【請求項30】 前向きモードにおいてQ値が心理的要因重み付け係数に比例し、また、逆向きモードにおいてQ値が逆向き心理的要因重み付け係数に比例することを特徴とする請求項26記載の2モード処理装置。
  • 【請求項31】 前向きモードにおいてQ値がデブラリング係数に比例することを特徴とする請求項26記載の2モード処理装置。
  • 【請求項32】 入力整数とQ値の乗算を実行して積を計算するための前向きモード/逆向きモードの2モード処理装置において、入力乗数をビットの整数個分のシフトにより左シフトするためのマルチプレクサと、係数と入力整数を予め乗算するための整数乗算器ユニットと、
    2モードQ値処理装置であって前記処理装置が前向きモードにある場合シフト整数は0に設定され係数はQ値に設定され、また、前記処理装置が逆向きモードにある場合シフト整数はQ指数部に設定され係数はQ仮数部に等しく、Q値=Q仮数部*2^Q指数部とするものとを設けたことを特徴とする2モード処理装置。
  • 【請求項33】 圧縮係数を含み、前向きモードにあってQ値は前記圧縮係数と反比例し、逆向きモードにおいてQ値は前記圧縮係数に比例し、これによって、装置がデータ圧縮/伸長装置として機能することを特徴とする請求項32記載の2モード処理装置。
  • 【請求項34】 4ビットの保存レジスタと、12ビットの保存レジスタと、16ビットの保存レジスタとを含み、Q指数部が前記4ビット保存レジスタに保存され、
    Q仮数部が前記12ビット保存レジスタに保存され、入力整数が前記16ビット保存レジスタに保存されるようにしたことを特徴とする請求項33記載の2モード処理装置。
  • 【請求項35】 Q値が2^N で予め乗算されており、
    Nビットが乗算器出力から切り取られることを特徴とする請求項33記載の2モード処理装置。
  • 【請求項36】 3組の16ビット保存レジスタを含み、Q値と、積と、入力整数とが前記保存レジスタ内に保存されるようにしたことを特徴とする請求項35記載の2モード処理装置。
  • 【請求項37】 入力整数が逆向きモードにおける一般化チェン変換係数をなすことを特徴とする請求項32記載の2モード処理装置。
  • 【請求項38】 前向きモードにおいてQ値が心理的要因重み付け係数に比例し、また、逆向きモードにおいてQ値が逆向き心理的要因重み付け係数に比例することを特徴とする請求項33記載の2モード処理装置。
  • 【請求項39】 前向きモードにおいてQ値がデブラリング係数に比例することを特徴とする請求項33記載の2モード処理装置。
  • 【請求項40】 2次元変換を実行するためにパイプライン化構造を用いる2次元変換方法において、前記2次元変換を2つの連続した1次元変換に分割し、ここで前記2つの1次元変換が各々高速段階と低速段階に分割され、前記高速段階は前記低速段階より高速な計算時間を有するようになす段階と、前記2つの1次元変換の前記2つの高速段階を前記パイプライン化構造の一つの部分で実行する段階とを有することを特徴とする2次元変換方法。
  • 【請求項41】 各々の高速段階を、加算回路アレイのネットワークにより実行させるようにしたことを特徴とする請求項40記載の2次元変換方法。
  • 【請求項42】 2つの高速段階を、実質的に同一の加算回路アレイのネットワークにより連続して実行させるようにしたことを特徴とする請求項40記載の2次元変換方法。
  • 【請求項43】 2つの低速段階が代数的に統合され、
    単一の段階として実行させるようにしたことを特徴とする請求項42記載の2次元変換方法。
  • 【請求項44】 1次元変換がディスクリート・コサイン変換を近似する一般化チェン変換であることを特徴とする請求項43記載の2次元変換方法。
  • 【請求項45】 2つの1次元変換に分割された2次元変換を実行するためのパイプライン化構造を有する2次元変換装置において、 前記パイプライン化構造のパイプライン内の第1の処理装置であって、前記1次元変換の各々が第1の部分と第2の部分に分割でき、前記第1の処理装置が前記1次元変換の前記第1の部分を実行することと、第1の組のベクトルを再配列して第2の組のベクトルを生成するための前記パイプライン化構造のパイプライン内の移項装置であって、前記第1の組のベクトルのM番目のベクトルのN番目のエントリーが前記第2の組のベクトルのN番目のベクトルのM番目のエントリーとなることと、 前記第2の処理装置が、 1次元変換の前記第2の部分を実行するための前記パイプライン化構造のパイプライン内の終段処理装置と、 転送システムであって、この転送システムが、 第3の組のベクトルを前記第1の処理装置へ導入して前記第1の組のベクトルを生成させるための手段と、 前記第1の組のベクトルを前記移項装置へ導入して前記第2の組のベクトルを生成させるための手段と、 前記第2の組のベクトルを前記第1の処理装置へ導入して第4の組のベクトルを生成させるための手段と、 前記第4の組のベクトルを前記第2の処理装置へ導入して2次元変換されたベクトルの組を生成させるための手段を含むことによりなることを特徴とする2次元変換装置。
  • 【請求項46】 第1と第2と第3と第4のベクトルの組が、M個の元からなるM×1ベクトルよりなることを特徴とする請求項45記載の2次元変換装置。
  • 【請求項47】 第1の組と第4の組のベクトルを生成するための第1の処理装置の処理時間が、変換されたベクトルの組を生成するための第2の処理装置の処理時間より大幅に大きくないことを特徴とする請求項45記載の2次元変換装置。
  • 【請求項48】 第1の処理装置が加算回路アレイのネットワークからなることを特徴とする請求項47記載の2次元変換装置。
  • 【請求項49】 第2の処理装置が2つの1次元変換の第2の部分を代数的に統合することを特徴とする請求項48記載の2次元変換装置。
  • 【請求項50】 1次元変換がディスクリート・コサイン変換を近似する一般化チェン変換よりなることを特徴とする請求項49記載の2次元変換装置。
  • 【請求項51】 ある程度のビット幅を有する入力画素を受信しまた前記入力画素を時分割構成において加算回路アレイ手段のみを用いて水平方向又は垂直方向に変換するための変換手段と、水平方向又は垂直方向に変換された画素を垂直又は水平に回転させるための移項用メモリ手段と、前記変換手段が垂直又は水平方向の画素を受信するための手段と垂直又は水平方向の画素を前記加算回路アレイ手段を用いて垂直方向又は水平方向に変換するための手段と、前記変換された画素を受信するためと前記変換された画素に対して単一の乗算機能を実行して前記入力画素を表わす圧縮された画素データを提供するための単一の乗算回路手段とよりなることを特徴とする静止画像データの圧縮装置。
  • 【請求項52】 ある程度のビット幅を有する入力画素を時分割構成において受信し加算回路アレイ手段のみを用いて水平方向又は垂直方向に前記入力画素を変換する段階と、前記変換された画素を垂直又は水平方向に回転させる段階と、垂直又は水平方向の画素を前記加算回路アレイ手段のみを用いて変換する段階と、前記変換された画素に対して単一の乗算機能を実行することで前記入力画素を表わす圧縮された画素データを提供する段階とよりなることを特徴とする静止画像データの圧縮方法。
  • 【請求項53】 画像を表わす入力画素データを受信するための手段と、前記画素データを圧縮するための一般化チェン変換手段とよりなり、前記一般化チェン変換手段は、前記画像データを加算回路のみを用いて水平方向に変換するためのGCT加算回路手段と、水平方向に変換された画素を垂直に回転させるための移項用メモリ手段を含み、前記GCT加算回路手段は前記加算回路のみを用いて垂直方向の画素を垂直に変換するための手段と、前記変換された垂直画素に対して乗算機能を実行し前記入力画素を表わす圧縮された画素データを提供するための乗算回路手段であって、前記GCT加算回路手段は前記水平及び垂直方向の変換の前半を変換するための第1のGCT加算回路ネットワーク段と前記水平及び垂直方向の変換の後半を変換するための第2のGCT加算回路ネットワーク段を含むことを特徴とする静止画像データの圧縮システム。
  • 【請求項54】 第1と第2のGCT加算回路ネットワーク段が、時分割構成において前記画素を水平方向及び垂直方向に変換することを特徴とする請求項53記載の静止画像テータ圧縮システム。
  • 【請求項55】 乗算回路手段がジグザグ順序手段を含むことを特徴とする請求項54記載の静止画像データの圧縮システム。
  • 【請求項56】 乗算回路手段がまるめ手段を含むことを特徴とする請求項55記載の静止画像データの圧縮システム。
  • 【請求項57】 乗算回路手段が乗算テーブル手段を含むことを特徴とする請求項56記載の静止画像データの圧縮システム。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の背景と概要】本発明は、JPEG(Joint Ph
    otographic Experts Group)の静止画像の伸長/圧縮規格と互換性のある静止画像データの伸長方法、圧縮方法及びそのための対応装置に関する。

    【0002】高品位画像を圧縮してメモリ又は転送の条件を節約しなければならない場合、情報がもっと小さく表現し得る別の空間に画像を第1に転送するのが一般的である。 これは、通常、ブロック毎に線形変換(マトリクス逓倍)により行なわれる。 典型的な構成は、8画素の行成分について8点変換を実行し、次いで、この行変換した画像の8画素の列成分について8点変換を実行する。 8×8のブロックに配置された64画素の画素ブロックについて1回に64画素変換を実行しても同等である。

    【0003】1次元変換のよい選択は、数1に示すような、独立したチェビチェフ変換である。

    【数1】 F(u)=c(u)* sum f(i) * cos u(2i+1)pi/16 (ただし、sum はi=0〜7に関する)ここで、

    【数2】

    である。

    【0004】この変換には、幾つかの利点が存在する。
    即ち、 a) 圧縮は幾つかの基準でほぼ最適である b) この変換とその逆向き変換を実行するために高速計算アルゴリズムが存在する c) 文献“アチェロイ,M.「画像シーケンスの再現用DCTの使用」、SPIE第593巻医用画像処理(1985年)”に記載の、ある種の仮定に基づけば、変換空間内でデブラリング(初期画像の拡張)が容易に実行可能である ことを含む。

    【0005】

    【発明の目的】本発明の目的は、静止画像データの伸長方法、圧縮方法及びそのための対応装置を提供することである。 本発明のさらなる目的は、JPEG規格と互換性を保てる静止画像データの圧縮方法並びにその対応装置を提供することである。 本発明の別の目的は、データ圧縮の量子化及び圧縮段階におけるビットの使用の最適化である。 本発明の別の目的は、量子化及び係数圧縮を統合するデータ圧縮方式における自乗平均値エラーの最小化である。 本発明のさらなる目的は、データ圧縮の範囲、並びに、解像度を最適化する方法における一定量のビットの使用である。 本発明のさらなる目的は、小さい量子化の値について解像度にJPEG規格H. 261仕様を適合させることである。 より特定すれば、本発明の目的は、16入1出力のマルチプレクサ及び16ビット乗算器を用いることにより、ダイナミックレンジ28
    ビットで量子化の予備圧縮を可能にするための方法を提供することである。 本発明の別の目的は、処理のパイプライン化実装において、最大限の利点まで一般化チェン変換の速度を使用することである。 本発明のさらなる目的は、変換を実行するために要求されるゲート数を最小限に抑えることである。 より特定すれば、本発明の目的は、変換の加算回路ネットワーク部分の速度の利点を用いて同一ハードウェアによる垂直方向及び平方向の変換の追加を実行することである。 本発明のさらなる目的、利点及び新規の特徴は、以下の詳細な説明に詳述され、また、当業者には、以下の詳細な説明の検討により明らかになり、又は、本発明の実施例から見出されよう。 本発明の目的及び特徴は、特許請求の範囲に示されている構成要素及びその組合せを用いて実現達成し得るものである。

    【0006】

    【本発明の理論面の議論】画像の圧縮及び再生(伸長)
    のための完全なシステムは、以下の如く、表現し得る。 64画素入力 ↓ A)ディスクリート・チェビチェフ変換(又は類似の行変換) ↓ B)ディスクリート・チェビチェフ変換(又は類似の列変換) ↓ Z)(オプション)↓ 難度分類 ↓ C)レート・スケーラによる乗算 ↓ D)心理的要因の重みによる乗算 ↓ E)デブラリング重みによる乗算 ↓ F)閾値化、量子化、符号化及び転送 ↓ G)受信、復号、補間 ↓ H)逆レート・スケーラによる乗算 ↓ I)逆向き心理的要因の重みによる乗算 ↓ J)逆ディスクリート・チェビチェフ変換 ↓ K)逆ディスクリート・チェビチェフ変換 ↓ L)画素ブロック周辺の円滑化 ↓ 再生した64画素 → 隣接画素

    【0007】上記手順は本発明を記述しており、任意の段階(L,Z)を省略することにより、現在の技術も説明している。 デブラリング重みによる乗算(段階E)
    は、復号段階(例えば、段階Iの後)で実行することも可能である。 デブラリングは入力装置の点拡散関数の補償のために行なわれる。 これは、装置に合わせて設定するか、又は、入力画像が既に強調されている場合は排除されねばならない。 画像を際立たせるその他の良い方法も存在するが、ここに図示した方法は計算が安く済み、
    ある種の用途、例えばカラー複写装置に適している。

    【0008】計算負荷の大半が最終的な乗算過程よりなるように前向き変換(A,B)の計算を配置することが可能である。 これらの乗算器の積、並びに、段階(C,
    E)のそれを予め計算しておくことで、圧縮過程を進捗させることができる。 同様に、計算負荷の大半が予備的乗算過程からなるように逆向き変換(J,R)の計算を配置することも可能である。 ここでも、積の予備計算により計算(H,I)の段階の労力は効果的に排除される。 さらに、別の変換を2次元ディスクリート・コサイン変換(2次元DCT変換)に置換え、さらなる計算の簡略化が得られる。 さらに、心理的要因の重みを選択的に変化させて段階(B,D)の統合乗算器で計算効率を上げる、例えば、自乗に比例させるようになすことができる。 低エネルギー出力変換素子の心理的要因の重みの小さな変化は、画像の品位又は圧縮比に対して殆ど効果を有さない。 最後に、後述する図1の段階(L,Z)、
    画像の難易度分類及びブロック周辺の円滑化に注意すべきである。 これらは任意であり、本発明の主題とは独立しているので、本明細書では最小限の議論しか加えないこととする。

    【0009】…チェン・アルゴリズム… 1次元チェン・アルゴリズム(文献“チェン,Wら、
    「DCT用高速計算アルゴリズム」IEEE Trans.
    Commun. COM-25号(1977年)”参照)は、

    【数3】X=2/ NN x のようなものである。 ここで、xはデータのベクトル、
    Xは変換されたベクトル、また、A Nは、

    【数4】A N =c(k) cos((2j+1)kπ/2N) ;j,k=0,1,2,…,N−1 で示される。

    【0010】さらに、このようなA Nは次の行列式

    【数5】

    で分解することができる。 ここで、R

    N/2は、

    【数6】 R N/2 =c(2k+1)cos((2j+1)(2k+1)π/2N) ;j,k=0,1,2,…,N/2−1 である。

    【0011】行列式Zは、チェン行列である点に注意されたい。 本出願においては、行列式Pとの混乱を回避するために表記方法を変更してある。

    【0012】…8点(N=8)1次元チェン変換の実施例… 8点で行なうためには、数5に示すチェン・アルゴリズムを2回再帰的に使用する。 第1の反復では、行列式Z
    8 ,R 4 ,B 8を使用する。 第2の反復では、A 4について解き、行列式Z 4 ,R 2 ,A 2 ,B 4を用いる。 これらは上述の式又はチェンの論文“チェン,Wら、「D
    CT用高速計算アルゴリズム」IEEETrans. Commu
    n. COM-25号(1977年)”から簡単に導ける。

    【0013】

    【数7】

    【0014】ここで、Z 8は数8、B 8は数9、R 4は数10、Z 4は数11、B 4は数12、R 2は数13、
    2は数14に各々示される。

    【数8】

    【数9】

    【数10】

    【数11】

    【数12】

    【数13】

    【数14】

    ここで、数6から、

    【数15】Cn= cos(nπ/16) である。

    【0015】…チェン・ウ(変法)又はパラメータ変換… これまでに行なわれてきたのはチェン変換である。 これを乗算して、計算の節約を実現し、集中的DCT実装を乗算している。 しかし、これは出願人が提供したものではない。 乗算を最小限に減少するには、行列式を数16
    ないし数18のようにパラメータを取り直す。 これは出願人がチェン・ウ(変法)と呼ぶもので、出願人による創作物である。

    【0016】

    【数16】

    【数17】

    【数18】

    【0017】ここで、a,b,c,rは数19に示される。

    【数19】 a=C1/C7=sin(7π/16)/cos(7π/16) =tan(7π/16) b=C2/C6=tan(6π/16) c=C3/C5=tan(5π/16) r=C4 =tan(4π/16)

    【0018】対線行列式RF 4は、パラメータ化していない行列式RA 4の標準化因数を含んでいる点に注意されたい。 また、対角線行列式はR 2及びA 2の定数から作られ得ることにも注意されたい。

    【0019】A 8行列の再生において、2つの行列式が分離される。 対角線行列式は主行列式から分離しておかれる。 主行列式はB N項により乗算される。 適切な再配置と定数項による乗算の後、数3は数20のように減少する。

    【0020】

    【数20】 X=Q(a,b,c) P(a,b,c,r)x ここで、Q(a,b,c)は数21、P(a,b,c,
    r)は数22に示される。

    【数21】

    【数22】

    【0021】…一般化変換… 一般化8ビットDCT変換は4つのパラメータa,b,
    c,rから求まり、数23のように表わすことができる

    【数23】 T(a,b,c,r) =P(a,b,c,r) XQ(a,b,c) ここに、P( ),Q( )は上述した通りである。

    【0022】画像の変換は、2つのこうした変換T、各々T v及びT hが各々垂直方向及び水平方向の画像の変換に必要とされる。 完全な2次元変換は数24のように表現される。

    【数24】[F]=[T v ]^t[f][T h ] ここで、fは入力画像のブロック、Fは出力変換係数、
    また、べき乗数“t”は行列の変換を表わす。 ここで、
    全ての行列は8行8列である。

    【0023】対角線行列(例えば、Q)は、それ自身の変換であるから、全ての行列について、

    【数25】 [A]^t[B]^t=([B][A])^t [T v ]=[P v ][Q v ] [T h ]=[P h ][Q h ] で表される。 そこで、数24を書き改めると、

    【数26】 [F]=[Q v ][P v ]^t[f][P h ][Q h ] となる。

    【0024】これは、数27のように表すこともできる。

    【数27】F(i,j) =q(i,j) *g(i,j) ここで、

    【数28】 [g]=[P v ]^t[f][P h ] q(i,j) =Q v (i,i) *Q h (j,j) である。

    【0025】画像ブロックの変換に際して、チェン・ウ変換を用いて[g]について解き、次いで係数q(i,j)
    で乗算することになる。 いま、

    【数29】 P v =P(a,b,c,r v ) P h =P(a,b,c,r h ) とすれば、上述の変換の逆方向は、数30のように表現される。

    【数30】 [f]=[P v ′][Q v ][F][Q h ][P h ′]^t ここで、P v ′,P h ′は数31に示される。

    【数31】 P v ′=P(a,b,c,1/2r v ) P h ′=P(a,b,c,1/2r h ) また、解法はチェン・ウ変換経由である

    【0026】…チェンのアルゴリズム… 1次元又は2次元チェビチェフ変換とその逆の計算を高速化するために幾つかの方法が工夫されてきた。 周知のアルゴリズム(チェン)…文献“クーリー及びタキー,
    JW. 「(高速)フーリエ級数のアルゴリズム」 Math
    Comput、第19巻90号、296〜301ページ、19
    65年”又は、文献“チェン,Wら、「DCT用高速計算アルゴリズム」IEEE Trans. Commun. COM-25号(1977年)”参照…では任意の8組を上記の行列Tで乗算し、乗算16回、加算13回、また、減算13回だけを使用している。このアルゴリズムはパラメータa,
    b,c,rの何らかの特別な属性に依存するものではない。

    【0027】…チェン・ウ・アルゴリズム(変法)… 上述のように、[T]=[P][Q]と因子をとることにより、チェンのアルゴリズムは2つの段階に分割され、[Q]による乗算では8回の乗算を使用し、[P]
    による乗算においては8回の乗算と残りの数値計算を使用する。 これは、[Q]についての選択の結果であり、
    [P]の幾つかの要素は“1”又は“−1”となり、計算が消滅している。

    【0028】上記で指摘したように、同様の単純化が逆変換、2次元変換及び逆向き2次元変換に適用される。
    8×8ブロックでは正方向又は逆方向2次元変換([q]による乗算を除く)の何れかで128回の乗算を用いている。 チェンのアルゴリズムの内部的なデータの流れを見ると、これらの乗算は8つの加算/減算段階の構造と4つの乗算段階に埋め込まれている。

    【0029】チェンのアルゴリズムがパラメータa,
    b,c,rに拘らず作用することを強調するのは重要である。 しかし、従来技術で使用されてきた8点DCT
    は、次のような「真のコサイン変換」のパラメータを有している。 a=tan(7*pi/16) b=tan(6*pi/16) c=tan(5*pi/16) r=sqrt(1/2)=0.70710678… そこで、行列Tで直交するように必要かつ十分なrを選択する。

    【0030】…パラメータ値の選択… チェン変換は、パラメータa,b,c,rに選択した値によらず動作する。 これは、QPにより生成した変換が直交するためである。 あらゆる数を使用して圧縮する必要のある画像データの所望の非相関を実行し得るような変換を有することは全く可能である。 この変換は、ディスクリート・コサイン変換ではなく、また、DCTの近似でもないことに注意されたい。 これは、それ自体の変換である。

    【0031】しかし、効率的な入力画像の非相関のために、また、比較的有意な空間頻度係数への変換のためには、一般的にDCTが極めて望ましいとされている(文献“リー,BC.「高速コサイン変換」IEEE AS
    SP、第33巻(1985年)”参照)。よって、DCTの長所を実現するためには、パラメータが数19に示したDCTのそれに近似させて設定されることになる。対抗する要因は、計算の効率である。加算は乗算より安い(ハードウェア的な節約はシリコン資源であり、ソフトウェア的な節約はサイクル数である)ので、パラメータは計算面で効率的になるように選択される。

    【0032】…他のアルゴリズム… その他の計算法もディスクリート・チェビチェフ変換用に工夫されてきた。 例えば、リーによるアルゴリズムは8点1次元及び64点2次元変換を各々12回と144
    回の乗算で実行している(文献“ウ,H.R.及びパオリーニ,FJ.「2次元高速コサイン変換」IEEE画像処理カンファレンス、第1巻(1989年)”又は、文献“リー,BC.「高速コサイン変換」IEEE ASS
    P、第33巻(1985年)”参照)。

    【0033】しかし、これらの「より高速な」アルゴリズムはチェン・アルゴリズムと比較した場合、以下のような幾つかの欠点を有している。 a) T=P×Qの単純化(及び逆向き変換について同様の因数分解)が動作しなくなる。 対角線行列Qの分離は、これ以降の単純化に必須である。 b) これらのアルゴリズムは任意のパラメータa,
    b,c,rについて機能しない。 その代り、これらは真のコサイン・パラメータについて特に有効な三角法の各種属性に依存している。 c) これらのアルゴリズムはさらに構造的に複雑である。 これは、工学的に障害となり得るもので、数値の不安定の可能性を増大させる。

    【0034】…発明の詳細な説明… A] 前述した理論面での議論でのシステムを再度参照すると、段階(C,D,E)が「Q」から導いた前向き変換後置乗算器に組込まれ得ることがわかる。 同様に、
    段階(H,I)は逆向き変換前置乗算器に組込むことができる。 これは、レート・スケーラ演算、心理的要因の重み付け演算(一般に、量子値として公知である)、また、デブラリング重み演算は全て点乗算演算である。
    b,c,d,eが各々段階B,C,D,Eの出力の場合、

    【数32】 c(i,j) =b(i,j) *q(i,j) d(i,j) =c(i,j) *r(i,j) =b(i,j) *q(i,j) *r(i,j) e(i,j) =d(i,j) *u(i,j) =b(i,j) *q(i,j) *r(i,j) *u(i,j) 又は、

    【数33】e(i,j) =b(i,j) *all(i,j) で表される。 ここで、all(i,j) は

    【数34】 all(i,j) =q(i,j) *r(i,j) *u(i,j) である。 また、q(i,j) はレート・スケーラであり、r
    (i,j) は心理的要因として選択された(又は利用者の選択した)量子化重みであり、u(i,j) はデブラリング重みである。 同様に、段階H及びIを統合することができる。

    【0035】これは明らかに、レート・スケーラ、適合重み付け及びデブラリング関数が余分な計算のオーバーヘッド無しで提供されていることを意味している。 上述のように、この方法は、リーのアルゴリズムなどのような「高速」アルゴリズムには適用できない。

    【0036】B] チェンのアルゴリズムは、パラメータa,b,c,rにより動作するから、DCTに匹敵する品質及び圧縮が得られるが、高速の乗算が行なえるような値を選択することになる。

    【0037】以下のパラメータは、DCTのパラメータと適度に近似しているが大幅に計算効率が高い。 a=5.0 b=2.5 c=1.5 r=0.75 乗算は、ここで大幅に簡単な算術計算に置換される。 例えば、5倍はcopy;shift-left-2;addになる。 1.5倍はcopy;shift-right-1;addになる。 これ以外では、有理乗数の逆向き分子は結合乗数[q]に因数分解し得る。
    よって、2.5倍は各々影響する項と影響しない項で5
    倍と2倍の乗算になり得る。

    【0038】後者の考え方だと、本来のチェン・アルゴリズムにおけるパラメータr=0.75の取扱いは、4の乗算96回と3の乗算4回を必要とする。 2次元実装におけるウ・パオリーニの改善では乗算段階全体が排除され、これは16の乗算36回、12の乗算24回、及び9の乗算4回となる(逆向き変換では9の乗算36回、
    6の乗算24回、4の乗算4回を使用する)。

    【0039】計算速度のコストについては、コサイン変換に近いパラメータ値も選択し得る。 b=12/5、及び/
    又は(and/or) 、r=17/24の置換が可能である。 もう一つの興味深い置換は、 rRow=0.7008333 (17/24) rCol=0.7 (7/10) である。

    【0040】ここで、わずかに異なる変換(別のパラメータr)を行と列について使用している。 ウ・パオリーニ法で求まる乗数を単純化するためにこれを行なっている。 この方法だと、15の乗算36回、85/8の乗算12回、21/2の乗算12回、119/16の乗算4
    回が得られる(逆向き変換では119/16の乗算36
    回、85/16の乗算12回、21/4の乗算12回、
    15/4の乗算4回を使用する)。

    【0041】上記で解説した方法では、全ての乗数は圧縮器(コンプレッサ)における結合乗数[q]と伸長器(デコンプレッサ)における結合乗数[q]以外で高速かつ安価となった。 これらの各々は変換素子当たり1回の乗算を要求する。 後者は変換係数の大半が“0”となるように、また、“0”以外の係数が特別に取扱い得る“0”に極めて近い整数となるように単純化される。

    【0042】C] 圧縮器において、さらなる技術を用いて結合乗数[q]の計算コストを減少する。 レート・
    スケーラは現実には任意の値であり、[q]行列要素の計算を単純な値、例えば、2乗とするには2点間で調節されることになる。 これら64個の調節が1回だけ実行される必要がある(レート・スケーラ及びデブラリング・フィルタを指定した後)。

    【0043】例えば、結合乗数の要素C及びこれに対応する伸長乗数要素Dが、 C=0.002773 D=0.009367 だったとすると、近似C≒3/1024=0.002930が発見され、乗算を単純化するために使用される。 これによりC′=3/1024、D′=D*C/C′≒0.008866 となる。

    【0044】

    【1次処理の詳細な説明】…注意事項… a) 量子化変換空間においては一定の幅(w)とすべき係数量子化「AC」の非0段階をとり、また、幅(w
    *q)とすべき0段階をとるのが便利かつ効果的である。 さらに、q=2は算術的に便利であり、広範囲の圧縮因子に渡る品質についてほぼ最適である。 説明において、“=2”(「倍幅ゼロ」)をとっているが、本発明はあらゆる可能なqをとり得る。 b) 以下のアルゴリズムは、高精度計算によって1回だけ実施されるステップ2,4及び8の中間確定を除き、精密度の限定されている2の補数の2進整数算術のために設計してある。 さらにまた、ステップ9.1をさらに除外すると、本論に記載した整数乗数はコストと速度について最適化されている。 例えば、以下の乗算 Nrr*Nrc=Drr′*Drc′=1.75*4.25=7.4375 を考えると、同一性7.4375=(8−1)*(1+1/16)を選択することでシフトと加算による乗算が効率的に行なわれている。 c) デブラリング乗数は、ここではステップ8に示してあるが、通常、ステップ4において行なわれるべきものである。 多くの用途において、伸長器は画像のデブラリングを如何に又はどのように行なうべきか否かを「知らない」。 Thr( )の最良の値は、入力装置とデブラリング法に依存することに注意されたい。 推奨される方法は、値m(i,j) について(ステップ8参照)、圧縮時間で計算し(ステップ4参照)、また、圧縮画像の一部として転送又は保存することである。 d) 後続の計算を並列化、時系列化、又は、断片化する幾つかの明確な方法が存在する。 所定のハードウェア構成について好適な方法は自明である。

    【0045】…疑似符号の実施例… 本出願のこの部分は、基本的に文章と疑似符号で解説した本発明の好適実施例である。 パラメータ化、前述した数34と同様の全(i,j) の計算、前向きGCTの本体の実行、逆方向の全(i,j) の計算、逆GCTの本体の実行を含む複数の章を有する。

    【0046】ステップ1 パラメータa,b,c,rは既に示した通りである。 行と列との双方について、rの値が存在することに注意されたい。 2次元GCTは、分離可能な変換であり、2工程で実行可能だが、対称性をなすように要求する制約は存在しない。 よって、圧縮(スケーリング)要因は、図示したように非対称性となり得る。

    【0047】分子Nと分母Dの均衡は、上記の値に等しくなり得る分子及び分母の考え得る組合せを示している。 GCT実装の設計者は加算回路アレイ中に使用する実際の値に予知を有している。 値の選択は最終的乗算段階で補正されることになる。

    【0048】即ち、

    【数35】 tan 7*pi/16 ≒a =Na/Da tan 6*pi/16 ≒b =Nb/Db tan 5*pi/16 ≒c =Nc/Dc sqrt(0.5) ≒rRow =Nrr/Drr sqrt(0.5) ≒rCol =Nrc/Drc 0.5/rRow =rRow′ =Nrr′/Drr′ 0.5/rCol =rCol′ =Nrc′/Drc′ を、上述のように一般化チェン変換のパラメータとして選択する。 「分子」Nと「分母」Dは整数でなくともよいが、計算に便利なように選択する。 幾つかの有用な組合せは、 Na=5,Nb=3,Nc=1.5,Nrr=1.75,Nrc=4.2
    5,Nrr′=1.25,Nrc′=3,Da=1,Db=1.25,
    Dc=1,Drr=2.5,Drc=6,Drr′=1.75,Drc′
    =4.25 である。

    【0049】また、繰返すが、本発明は上記タンジェントへの有理数の近似を全て含むものである。 これにより、必要とされる標準化圧縮(標準化スケーラ)を計算する。

    【0050】ステップ2 また、

    【数36】 U(0)= U(4)= sqrt(0.5) U(1)= U(7)= 1/sqrt(Na*Na+Da*Da) U(2)= U(6)= 1/sqrt(Nb*Nb+Db*Db) U(3)= U(5)= 1/sqrt(Nc*Nc+Dc*Dc) とも書き表せる。

    【0051】ステップ3 iを、(画像空間内の)縦位置、又は、(変換空間内の)垂直方向の一連の変化を表す{0,1,2,3,
    4,5,6,7}のインデックスとする。 同様に、j
    を、(画像空間内の)横位置又は(変換空間内の)水平方向の一連の変化を表す{0,1,2,3,4,5,
    6,7}のインデックスとする。 Debl (i,j) がデブラリング係数を表わし、デブラリングしない場合にはDeb
    l( )=1とする。 Thr(i,j) は、例えばCCITTの勧告する逆向き心理要因の重み付けを表わす。 v(i,j)
    は、画像(広がり)空間内の幾つかのルミナンス値を表わす。 L(i,j) は、変換(圧縮)空間内の変換されたルミナンス値を表わす。 Sは、再生に使用される算術的正確性を表わす任意の小さな整数とする。

    【0052】心理的要因の重み1/Thr(i,j) は、一般化チェン変換の各々のパラメータの組について再最適化を行なう。 しかし、ステップ1で与えられているパラメータは、同一の行列式Thr( )が最適なCCITTのパラメータに十分近似している。

    【0053】ステップ4 ここでは、g(i,j) が全ての(i,j) と等しい。 変換位置
    (i,j) 64ヶ所に渡る反復で、数37を満足するようにk(i,j) 及びs(i,j) を解くと、

    【数37】 q(i,j)<{M*U(i)*U(j)*2^s(i,j)}/{k(i,j)*Zr(i)*Zc(j)*Thr(i,j)} である。 右辺を可能な限りg(i,j) に近付くようになし、s(i,j) を整数とすると、ここで、

    【数38】 q(i,j) =1.0, k(i,j)in{1,3,5,7,9} ただし、i+j<4 q(i,j) =0.9, k(i,j)in{1,3,5} ただし、i+
    j<4 q(i,j) =0.7, k(i,j)=1 ただし、i+
    j<4 Zr(i) =1 (i=0,1,2又は3の時) Zr(i) =Drr, (i=4,5,6又は7の時) Zc(j) =1 (j=0,1,2又は3の時) Zc(j) =Drc (j=4,5,6又は7の時) Zr′(i) =1 (i=0,1,2又は3の時) Zr′(i) =Drr′ (i=4,5,6又は7の時) Zr′(j) =1 (j=0,1,2又は3の時) Zr′(j) =Drr′ (j=4,5,6又は7の時) である。 因数g(i,j) は選択した寸法に関係なく量子化バイアスをなすことを意図している。

    【0054】ステップ5 …前向きGCT(フォワードGCT)の実行…… ステップ5は、前向き変換の疑似符号実行である。 以下のステップでは、断片化フォームにおける2次元変換を実行する。 ルミナンス値v( , ) の8×8ブロック毎に以下の実行を画像全体に反復する。

    【0055】ステップ5.1 値を準備する。

    【数39】 M(i,0) = V(i,0) + V(i,7) M(i,1) = V(i,1) + V(i,6) M(i,2) = V(i,2) + V(i,5) M(i,3) = V(i,3) + V(i,4) M(i,4) = V(i,3) − V(i,4) M5(i) = V(i,2) − V(i,5) M6(i) = V(i,1) − V(i,6) ;i=0,1,2,…,7に対する

    【0056】ステップ5.2 値を準備する。

    【数40】 H(0,j) = M(0,j) + M(7,j) H(1,j) = M(1,j) + M(6,j) H(2,j) = M(2,j) + M(5,j) H(3,j) = M(3,j) + M(4,j) H(4,j) = M(4,j) − M(4,j) H5(j) = M(2,j) − M(5,j) H6(j) = M(1,j) − M(6,j) H(5,j) = H6(j) + H5(j) H(6,j) = H6(j) = H5(j) H(7,j) = M(0,j) − M(7,j) ;j=0,1,2,…,7に対する

    【0057】ステップ5.3 各々のH(i,j) を乗算する。

    【数41】i=0,1,2又は3の時; Nrc (j=5又は6の時) Drc (j=4又は7の時) 1(ノーアクション)(j=0,1,2又は3の時) i=4又は7の時; Drr Nrr (j=5又は6の時) Drr Drc (j=4又は7の時) Drr (j=0,1,2又は3の時) i=5又は6の時; Nrr Nrr (j=5又は6の時) Nrr Drc (j=4又は7の時) Nrr (j=0,1,2又は3の時)

    【0058】ステップ5.4 値を準備する。

    【数42】 E(0,j) = H(0,j) + H(3,j) E(1,j) = H(7,j) + H(5,j) E(2,j) = H(0,j) − H(3,j) E(3,j) = H(7,j) − H(5,j) E(4,j) = H(I,j) + H(2,j) E(5,j) = H(6,j) − H(4,j) E(6,j) = H(I,j) − H(2,j) E(7,j) = H(6,j) + H(4,j) F(0,j) = E(4,j) + E(0,j) F(4,j) = E(0,j) − E(4,j) F(2,j) = Db*E(6,j) + Nb*E(2,j) F(6,j) = Db*E(2,j) + Nb*E(6,j) F(1,j) = Da*E(7,j) + Na*E(1,j) F(7,j) = Da*E(1,j) + Na*E(7,j) F(3,j) = Dc*E(5,j) + Nc*E(3,j) F(5,j) = Dc*E(3,j) + Nc*E(5,j) ;j=0,1,2,…,7に対する

    【0059】ステップ5.5 値を準備する。

    【数43】 Z(i,0) = F(i,0) + F(i,e) Z(i,2) = F(i,0) − F(i,3) Z(i,4) = F(i,1) + F(i,2) Z(i,6) = F(i,1) + F(i,2) Z(i,1) = F(i,7) + F(i,5) Z(i,3) = F(i,7) − F(i,5) Z(i,5) = F(i,6) − F(i,4) Z(i,7) = F(i,6) + F(i,4) G(i,0) = Z(i,4) + Z(i,0) G(i,4) = Z(i,0) − Z(i,4) G(i,2) = Db*Z(i,6) + Nb*Z(i,2) G(i,6) = Db*Z(i,2) − Nb*Z(i,6) G(i,1) = Da*Z(i,7) + Na*Z(i,1) G(i,7) = Da*Z(i,1) − Na*Z(i,7) G(i,3) = Dc*Z(i,5) + Nc*Z(i,3) G(i,5) = Dc*Z(i,3) − Nc*Z(i,5) ;i=0,1,2,…,7に対する

    【0060】これ以外でも、変換を1次元変換によって2工程に分割することが可能である。 以下は、1次元変換経路の一実施例である。 図8及び図9にこれらのステップを示す。

    【0061】

    【数44】

    数44に示すこれらの等式の内の全ての乗数は、シフト及び加算操作により実行されることに注意されたい。 これを、GCTの行列形状と関連付けるには、ベクトル点Y6を実施例のように実証する。

    【0062】

    【数45】 Y6=C1−C4 =(1.25 B1) − (3 B4) =1.25(A1−A2) − 3(A4−A3) =1.25((X0+X7) − (X3+X4)) − 3((X1+X6) − (X2+X5)) =1.25 X0−3 X1+3 X2−1.25 X3+1.25 X4+3 X5−3 X6+1.25 X7 Y6/1.25=X0−2.4 X1+2.4 X2−X3+X4+2.4 X5−2.4 X6+X7 =|1 −b b −1 1 b −b 1| x ここで、b=2.4である。 これは、等式の行列式Pの6行目である。 1.25による除算はレート・スケーラ行列中に集められているスケーリング因子である。 8×
    8画素ブロックの行データはこの加算回路アレイを通過する。 得られた1次元周波数成分は移項され同一のアレイを再び通過する。

    【0063】ステップ6 ステップ5.5の後、各々の画像の下位ブロックにおいて、また、64の位置(i,j) 各々について、ステップ4
    からk(i,j) 及びs(i,j) を用いて数46に示すような値を準備する。

    【数46】 L(i,j) =G(i,j) *k(i,j) *2^(-s(i,j)) しかし、これが負の場合(又は、i=j=0)、これに1を加算する。 この結果が変換係数L(i,j) である。

    【0064】…ステップ6についての注釈… ここでの計算は単純で、これは、−k(i,j) が必ず1,
    3,5,7又は9、かつ、常に1であるためと、−2^
    (-s(i,j)) の乗算が単純に右シフト(又は、Mが極めて大きく選択されていればおそらく左シフト)であるためである。 数学的右シフトは、必ず、まるめが起こる。 0
    に向かってのまるめが実際に望ましく、よって、表現「if (negative) add 1」である。 i=j=0の時の1
    の加算は、v(i,j) ≧0に依存し、これは、以下のステップ9.1の宣言を単純化するための装置でしかない。

    【0065】ステップ7 値L(i,j) の符号化、保存及び/又は送信 最終的にこれらの値が取込まれ画像は次の段階で再生される。

    【0066】ステップ8 これは全(i,j) の反転バージョンである。 64ヶ所の変換位置(i,j) について反復し、m(i,j) を

    【数47】 m(i,j) ={U(i) 2 *U(j) 2 *Zr(i)*Zc(j)*Debl(i,j)}/(4-Ss(i,j)) Zr′(i)*Zc′(j)*k(i,j)*2 に最も近い整数として解く。 ここで、s(i,j) 及びk
    (i,j) はステップ4で既に解かれており、表現「Z」はステップ4で定義されている。 また、A(i,j) を

    【数48】 A(0,0) = {(2^(S-2))/Drc′*Drr′}−0.5*m(0,0) A(i,j) =m(i,j)*(25−i−j)/64 ;i=0又はj=0について に最も近い整数として選択する。

    【0067】…ステップ8についての注釈… 値m(i,j) は、既にステップ4で予め計算しておき、圧縮画像と共に送信してもよい。 これは、定数項とm(i,
    j) にのみ依存するA(i,j) には不要である。 レート・
    スケーラ及びデブラリング重みが固定されているような用途において、m(i,j) 及びA(i,j) は定数項と見做される。 係数2^Sはステップ9.2及びステップ10において、算術的右シフトで、この後除去されることになる正確度の剰余ビットを反映する。 A(0,0) への調節は、まるめバイアスを補正して、まるめ補正無しで以下の出力の使用を可能にする。 ここでも述べたように、A
    (0,0) はステップ6におけるL(0,0) への1の加算に依存する。 補間“(25−i−j)/64”は発見学習的であるが、自乗平均誤差検出における最適近似値である。 さらに、20に断片化したバージョンである。

    【0068】ステップ9 変換された画像について反復し、上記ステップ5で導いた変換ルミナンス値L( , ) の8×8ブロック各々について、以下を実行する。

    【0069】ステップ9.1 値を準備する。

    【数49】 L(i,j) >0の時; E(i,j) =L(i,j)*m(i,j) + A(i,j) L(i,j) <0の時; E(i,j) =L(i,j)*m(i,j) − A(i,j) L(i,j) =0の時; E(i,j) =0 ;各々の(i,j) について、i=0,1,2,…,7、 j=0,1,2,…,7に対する A(0,0) は必ず加算されることを意味する。 本発明も、
    検査“L(0,0) >0”が行なわれず、ステップ6,8が上記のように(任意で)単純化されない部分を包括している。 実際には、小さな乗算、例えば、−11<L(i,
    j) <11を乗算の計算費用を節約すべき特例として認識すべきである。

    【0070】ステップ9.2 半導体装置の費用を減少させるために利便であれば、数値E(i,j) を位置S1の任意の数で右シフトする。 これらのシフトは、本法のある種の実現において「自由」であることに注意されたい。 シフトが自由ではないような実現方法において、E
    (i,j) が0となる場合にこれを無視するように選択してもよい(又は、S1=0と設定しておくことにより、全てのシフトを排除するように選択することも可能である。)

    【0071】ステップ9.3 もう一度、2次元の形状において値を準備する。

    【数50】 F(0,j) = E(4,j) + E(0,j) F(4,j) = E(0,j) − E(4,j) F(2,j) = Db*E(6,j) + Nb*E(2,j) F(6,j) = Db*E(2,j) − Nb*E(6,j) F(1,j) = Da*E(7,j) + Na*E(1,j) F(7,j) = Da*E(1,j) − Na*E(7,j) F(3,j) = Dc*E(5,j) + Nc*E(3,j) F(5,j) = Dc*E(3,j) − Nc*E(5,j) H(0,j) = F(0,j) + F(2,j) H(1,j) = F(4,j) + F(6,j) H(2,j) = F(4,j) − F(6,j) H(3,j) = F(0,j) − F(2,j) H(4,j) = F(7,j) − F(5,j) H5(j) = F(7,j) + F(5,j) H6(j) = F(1,j) − F(3,j) H(5,j) = H6(j) + H5(j) H(7,j) = F(1,j) + F(3,j) ;j=0,1,2,…,7に対する

    【0072】ステップ9.4 値を準備する。

    【数51】 G(i,0) = H(i,4) + H(i,0) G(i,4) = H(i,0) − H(i,4) G(i,2) = Db*H(i,6) + Nb*H(i,2) G(i,6) = Db*H(i,2) − Nb*H(i,6) G(i,1) = Da*H(i,7) + Na*H(i,1) G(i,7) = Da*H(i,1) − Na*H(i,7) G(i,3) = Dc*H(i,5) + Nc*H(i,3) G(i,5) = Dc*H(i,3) − Nc*H(i,5) M(i,0) = G(i,0) + G(i,2) M(i,1) = G(i,4) + G(i,6) M(i,2) = G(i,4) − G(i,6) M(i,3) = G(i,0) − G(i,2) M(i,4) = G(i,7) − G(i,5) M5(i) = G(i,7) + G(i,5) M6(i) = G(i,4) − G(i,3) M(i,5) = M6(i) −M5(i) M(i,6) = M6(i) +M5(i) M(i,7) = G(i,1) + G(i,3) ;i=0,1,2,…,7に対する

    【0073】ステップ9.5 各々のM(i,j) を数52
    に従い、乗算する。

    【数52】i=0,2又は3の時; Nrc′ j=5又は6の時 Drc′ j=4又は7の時 1(ノーアクション) j=0,1,2又は3の時 i=4又は7の時; Drr′Nrc′ j=5又は6の時 Drr′Drc′ j=4又は7の時 Drr′ j=0,1,2又は3の時 i=5又は6の時; Nrr′Nrc′ j=5又は6の時 Nrr′Drc′ j=4又は7の時 Nrr′ j=0,1,2又は3の時

    【0074】ステップ9.6 値を準備する。

    【数53】 Z(i,0) = M(i,0) + M(i,7) Z(i,1) = M(i,1) + M(i,6) Z(i,2) = M(i,2) + M(i,5) Z(i,3) = M(i,3) + M(i,4) Z(i,4) = M(i,3) − M(i,4) Z(i,5) = M(i,2) − M(i,5) Z(i,6) = M(i,1) − M(i,6) Z(i,7) = M(i,0) − M(i,7) ;i=0,1,2,…,7について

    【0075】ステップ9.7 値を準備する。

    【数54】 Y(0,j) = Z(0,j) + Z(7,j) Y(1,j) = Z(1,j) + Z(6,j) Y(2,j) = Z(2,j) + Z(5,j) Y(3,j) = Z(3,j) + Z(4,j) Y(4,j) = Z(3,j) − Z(4,j) Y(5,j) = Z(2,j) − Z(5,j) Y(6,j) = Z(1,j) − Z(6,j) Y(7,j) = Z(0,j) − Z(7,j) ;j=0,1,2,…,7について

    【0076】ステップ10 ステップ9.7の後、各々の画像の下位ブロックにおいて64ヶ所の位置(i,j) の各々に対し、値を準備する。

    【数55】V(i,j) = Y(i,j) *2^(S1-S) ここで、S及びS1は上記ステップ7,9.2で定義した任意の整数である。 また、乗算は実際には右シフトである。

    【0077】ステップ11 実現するシステムにより変化するが、範囲の検証を実行することが、ここで必要とされることがある。 例えば、
    ルミナンスの許容範囲が0≦v(i,j) ≦255であれば0以下又は255以上のV(i,j) の値は各々0と25
    5で置き換えることになる。 値v(i,j) は、これで再生された画像ルミナンス値となる。

    【0078】

    【2次処理についての考察】画像の圧縮又は品質を向上させるために、さらなる方法をとり、1次処理を補足するのが通例である。 ステップ10の後、画像の正確性は、全ての画素の対V(8I+7,j)、V(8I+8,j)、及び、全ての画素の対V(k,8J+7)、V(i,8J+8)(つまり、別の画像ブロック内に分割されていた隣接画素)を通しての反復により、また、例えば、Mをステップ4で用いたレート・スケーラとし、分数表現が最適化に好適な近似でもあるような(v2−v1)/max(2,11sqrt(M))
    によって、これらの値v1,v2を各々増加させまた減少させることにより改善し得る。

    【0079】ステップ6を実行する前に、局部画像領域の客観的難易度を、接頭符号“0”,“10”又は“1
    1”の出力を各々に付けた3つの形式、単精度、倍精度、4倍精度の一つに分類するのが望ましい。ステップ6の計算は次式で置換される。

    【数56】 L(i,j) = G(i,j)*K(i,j)^(Ps(i,j))*2 ここで、単精度、倍精度、4倍精度の各々について、p
    =0,1又は2である。 これは、付加精度が(増分の)
    右シフトで排除される必要のあるステップ9.2において補償される。

    【0080】残念なことに極めて有効な単一の分類方式は発見されていない。 現在のところ難易度Pを次の4つの供給源 a) P left及びP upが隣接する画像領域の難易度 b) sum(i+j)G(i,j)′ 2)/sum(G(i,j)′2が変換エネルギーの歪曲 c) −G(0,0) が反転平均ルミナンス d) max(sum over fixed width(Histogram(v(i,
    j)))) の均一性 から導出するような厄介な手段を用いている。

    【0081】ステップ7において、保存するか転送すべき変換データL( , ) は、さらにエントロピー符号化法により減少することができる。 ビット率に従って幾つかの初期設定ホフマン・テーブルにCCITTの作成したジグザグ・ラン及びテンプレート符号(zigzag run and
    template符号) を使用しており、また、推奨するものである。 確定性については、以下の章でこれの実施例を詳細に述べる。

    【0082】…圧縮ファイルフォーマットの例… 圧縮された画像は、次のように表現される。 1)接頭辞(画像幅、高さ、レート・スケーラMなど) 2)画素ブロック0 画素ブロック1 画素ブロック2 … 画素ブロックN−1 3)接尾辞(あれば)

    【0083】ここで、各々の画素ブロックは次のように表現される。 1)精度符号(選択段階Zで決定する) 2)DC係数デルタ符号 3)AC係数符号(0又はそれ以上の回数反復) 4)ブロック終端符号

    【0084】ここで、各々のAC係数符号は次のように表現される。 1)9桁の0の拡張子(E回反復、E0) 2)ラン及びテンプレート符号の記述(R,T) 3)係数値符号(1ビット) 4)最上位ビットを削除した係数の絶対値(Tビット)

    【0085】ここで、“R+(*E”は「ジグザグ」な順番でこれに先行する0値の係数の数、また、Tは係数の絶対値の最上位ビットのビット位置で、例えば、T=
    3なら係数は11又は−11である。 ビット位置:876543210 11=000001011(2進) −−最上位ビット

    【0086】DC係数デルタの選択又は符号化は詳述しないが、ACラン及びテンプレート(run and templat
    e)符号としてもっと高いビット率で有用なホフマン符号の例を下記に提示しておく。

    なお、{0} はn個の連続する0(n=0,1,2,


    3,…)、xxはw=0,1,2又は3として解釈される2ビット、xはw=0又は1として解釈される1ビットである。

    【0087】…128点及び256点変換… 前記の方法は、さらに大きな8×16又は16×16の一般化チェン変換で使用可能である。 さらに、一般化したチェン変換についての方法は、1次元16点GCT
    が、次式のように与えられると記述することで明確になる筈である(「バタフライ順列」の行を伴い標準化後乗算の必要がない)。

    【0088】

    【数57】

    【0089】ここで、GCT 8(a,b,c,r),G
    Q 8(e,f,g,h,r,s,t)は、数58に示される。

    【数58】

    【0090】さらに、「真のコサイン」パラメータは、
    次式で示される。

    【数59】 q= tan 15pi/32 ≒ 10.1532 a= tan 14pi/32 ≒ 5.0273 f= tan 13pi/32 ≒ 3.2966 b= tan 12pi/32 ≒ 2.4142 g= tan 11pi/32 ≒ 1.8709 c= tan 10pi/32 ≒ 1.4966 h= tan 9pi/32 ≒ 1.2185 r= cos 8pi/32 ≒ 0.7071 t= cos 12pi/32 ≒ 0.3827 s= cos 4pi/32 = t*b

    【0091】使用しているパラメータは、次式の通りである。

    【数60】 e=10 a=5 f=3.25 b=2.4 g=1.875 c=1.5 h=1.25 r=17/240.708333 t=5/13 ≒ 0.384615 s=t*b=12/13 GQ 8(e,f,g,h,r,s,t)の反転は、GQ
    8(e,f,g,h,1/2r,t′,b,t′)の移項である。

    【0092】ここで、

    【数61】 b=s/t t′=1/(t+t*b*b) である。

    【0093】…行列式の例… 行列式TPの移項 コサイン変換(a=5.02734,b=2.41421,c=1.4966
    1,r=0.70711)

    【数62】 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.2452 0.2079 0.1389 0.0488 -0.0488 -0.1389 -0.2079 -0.2452 0.2310 0.0957 -0.0957 -0.2310 -0.2310 -0.0957 0.0957 0.2310 0.2070 -0.0488 -0.2452 -0.1389 0.1389 0.2452 0.0488 -0.2079 0.1768 -0.1768 -0.1768 0.1768 0.1768 -0.1768 0.1768 0.1768 0.1389 -0.2452 0.0488 0.2079 -0.2079 -0.0488 0.2452 -0.1389 0.0957 -0.2310 0.2310 -0.0957 -0.0957 -0.2310 -0.2310 0.0957 0.0488 -0.1389 0.2079 -0.2452 0.2452 0.2452 -0.2079 0.1389

    【0094】関連チェン変換(a=5.0、b=2.4、c=
    1.5、r=0.7)

    【数63】 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.2451 0.2059 0.1373 0.0490 -0.0490 -0.1373 -0.2059 -0.2451 0.2308 0.0962 -0.0962 -0.2308 -0.2308 -0.0962 0.0962 0.2308 0.2080 -0.0485 -0.2427 -0.1387 0.1387 0.2427 0.0485 -0.2080 0.1768 -0.1768 -0.1768 0.1768 0.1768 -0.1768 -0.1768 0.1768 0.1387 -0.2427 0.0485 0.2080 -0.2080 -0.0485 0.2427 -0.1387 0.0962 -0.2308 0.2308 -0.0962 -0.0962 0.2308 -0.2308 0.0962 0.0490 -0.1373 0.2059 -0.2451 0.2451 -0.2059 0.1373 -0.0490

    【0095】

    【装置の詳細な説明】本発明についての詳細な説明を提供したので、本発明の態様を具体化する装置について解説する。 以下の説明を通して、「点(point) 」は任意の精度のスケーラ・レジスタ又はデータ経路を表わし、
    通常、8ないし12ビットである。 適切な精度を決定するための方法は公知である(文献“ジャラリ及びラオ.
    「制限つきワード長とFDCT処理の正確性」IEEE ASS
    P-81、第3巻ページ1180〜2”参照)。

    【0096】ソフトウェアによる方法において、変換段は統合されウ・パオリーニ拡張が採用された。 好適実施例の半導体装置では、単に8点変換装置を垂直方向及び水平方向の検出に一つずつ2台提供するのが最も便利である。 垂直方向及び水平方向の変換の間で64点シフトアレイを提供する必要があり、同様に変換部と符号化部の間に緩衝装置を提供する必要がある。

    【0097】本発明は、白黒用装置、及び/又は、圧縮と伸長のための別個の装置を含むが、好適実施例(図7)は3原色データを操作するコンプレッサ(画像データ圧縮装置…図1(a))とデコンプレッサ(画像データ伸長装置…図1(b))の両方を含んでいる。

    【0098】データは8画素のベクトルでコンプレッサへ収容され(図2(a)参照)、これがさらに辞書の順序で64画素のブロックに配置される。 ブロックの処理はパイプライン化されている(図2(b))。 コンプレッサへの画素入力は、“R”(赤)と“G”(緑)と“B”(青)よりなる。 これらはルミナンス・クロミナンス空間にすぐに変換される(このような変換の理由は周知である)。

    【0099】変換は、任意の固定又はプログラム可能な係数(図3(a))を使用でき、又は、専用の用途で簡単な値に「ハードワイヤ結線」しておくことも可能である。 変換空間は、ここではXYZで表記しているが、3
    原色入力のあらゆる線形フォームを使用してもよく、C
    CITT規格の(Y,R−Y,B−Y)もあり得る。 実際に、X,Y,Zの3つの値は、各々別個の白黒コンプレッサに供給される。 デコンプレッサは図3と同一又は同等の回路を使用するが、XYZベクトルが、ここではRGBベクトルに変換される点で異なっている。

    【0100】値Y,X,Zは3つのシフトレジスタへ入力されて(図5参照)、第1の変換ユニットへの供給に待機する。 変換ユニットは、(2+2/3)画素倍だけ動作するので、データの幾らかは、図示したように遅延されることになる。 表示“XYZ”は不適切ビットである。 最適化した符号化方式はルミナンス(“Y”)を第1に処理する必要がある。

    【0101】伸長処理中、XYZ歪曲(スキュー)の問題は反転する。 レジスタの5点が伸長中のY及びZシフトレジスタの使用を反転することで、好適実施例において節約されていることに注意されたい。

    【0102】図1(a)を参照すると、コンプレッサの主要部分は入力をXYZ空間に変換し、これを後続の変換ユニット3への転送のために緩衝する入力部分1,2
    を含む。 各8画素の区間について変換1ユニットは3倍のサイクルを行なう(X,Y,Zのデータ各々について1回ずつ)。 変換1の出力はシフトアレイ4に配置され、ここで、8×8画素ブロックが完全に読取られるまで保持される。 変換2ユニット5,6は予め読取った画素ブロックを操作し、各々の8画素ブロックの区間で3
    倍のサイクルを行ない、データを符号化回路入力バッファ7,8へ提供する。 符号化回路9,10,11は、また、3原色座標の間で共有されているが、全ルミナンスブロックは割込みなしに符号化され、クロミナンスブロックの各々が後続する。 これら3ブロックの処理が64
    画素区間内に完了し得ない場合、タイミング兼制御論理回路は外部入力回路に対し画素クロックを保持したままにする。 記憶領域(入力シフトレジスタ2、シフトアレイ4、及び符号化回路入力バッファ7,8)は3原色のために3組作られる必要があるが、計算ユニット3,
    5,6,9,10,11はY,X,Zのデータの間で共有(時分割)される。

    【0103】符号化回路9,10,11、符号化回路入力バッファ7,8、符号プログラミング12,13,1
    4及びタイミング兼制御論理回路(図示せず)は、従来技術又は従来法を踏襲してもよい。 同様に、3原色を単一回路によって時分割するための方法も周知である。 3
    点変換部1(図3参照)及びシフトレジスタ2(図5参照)もまた公知である。

    【0104】スケーラ6(図1)は、以下に説明する本発明の量子化乗算器を使用する。 これは簡便な実現である。 一般化チェン変換の定義と適切なパラメータを与えれば、8点変換回路(図8及び図9参照)もまた簡便である。 シフトアレイ(図6(a))は、特に議論に値する。 現在の入力ブロックから垂直方向のベクトル(に変換されたベクトル)は、直前の画素ブロックからの水平方向のベクトルが水平方向変換回路へ供給される間に組立てられる。 特別な設計なしで128個のレジスタが必要とされ(現在のブロックと直前のブロックに各々64
    個ずつ)るのは、点が受信した順序とは異なる順序で使用されるためである。 しかし、この必要性は偶数番号の画素ブロックの間にデータを左から右へシフトし奇数番号の画素ブロックの間に上から下へシフトすることにより排除される。 解説したシフトアレイは双方向性である。 4方向性シフトアレイがある種の実施例では好適である。

    【0105】図6(b)は、同図(a)のシフトアレイの態様をさらに詳細に図示している。 同図(b)において、ベクトルは底部でシフトアレイから一つずつ除去され、同図(a)の8点DCT5部分へ送出される。 その間に、他の8点DCT部分からの垂直方向ベクトルが上部でシフトアレイに入力されている。 段階的に古いベクトルがシフトアレイから除去され、シフトアレイは次の画素ブロックからの垂直方向ベクトルで完全に埋められる。

    【0106】次の画素ブロックで、データの流れる方向は直前の画素ブロックのデータの流れの方向とは90度異なる。 この方法で、水平方向ベクトルはシフトアレイの右から除去されて8点DCTへ送出され、新しく垂直方向ベクトルが左から入ってくる。 ブロック(N+2)
    まで進むと、別の90度回転により元の形態に戻り、さらにこれが続く。

    【0107】デコンプレッサ(図1(b)参照)は、同図(a)に示すコンプレッサと極めて類似した構造を有しているが、データの流れる方向が逆である点で異なる。 好適実施例では、単一の装置がコンプレッサ又はデコンプレッサの何れかの2つのモードで動作する。

    【0108】可能なVLSIの配置は(図4参照)、圧縮(図4(b)(c))と伸長(図4(e)(f))で異なるデータの流れとなる。 これ以外のデータの流れも、以下の章で詳述するパイプライン化した実現方法などで可能である。 変換及びシフトアレイユニットの動作は、一方の配置では圧縮と伸長の両方について同一の方向的意味を有するが、他方ではそうではない(図4(a)参照)。
    これは、統合されたコンプレッサ/デコンプレッサのデータ流れ(図7)を考えた場合に、一層明確に分かる。
    2つの変換ユニットがRGB及び圧縮データ各々に関与している場合(図4(a))、4方向シフトアレイを使用しない限り配置の困難は解決されない。 従って、2つの変換ユニットを各々シフトアレイの入力及び出力部分に関連させている(図4(d))。

    【0109】一つの実施例において、コンプレッサ中の変換ユニット(図8参照)は、38個の加算器を用いている。 右に1つ(“R1”)、2つ(“R2”)、又は4つ(“R4”)位置をシフトするか左に1つ(“L
    1”)位置をシフトするのは簡単に行なえる。図示した回路はパラメータ(a,b,c,r)=(5,2.4,1.5,17/24)を用いている。b=2.5とした実現方法では、もう一つの実施例において36個の加算器しか必要としなかった。

    【0110】デコンプレッサの逆向き変換ユニットには付随回路が必要である。 「出力イネーブル」信号の注意深い使用により、前向き変換回路中の大半の加算器は再利用することが可能である。 これの実現は当業者には容易であろう。 スケーラは、プログラムされたRAM又はROM、及び無条件シフトとマルチプレクサと加算回路のシステムを使用する。 これは簡便な実現である。 デスケーラは、各種の方法で実現可能だが、小さなハードワイヤ結線したRAM付き乗算器と、アキュムレータと、
    タイミング兼制御論理回路及び小さなテンプレートカットオフが望ましい。 専用の低コスト用途において、デスケーラはデブラリング重みが広い範囲に渡ってほぼ最適であることに注意して単純化することが可能である。 従って、単純なスケーリングをスケーラ内に使用することが可能である。 デスケーラは、図1(b)及び図7に図示してあるように、符号化回路とその出力バッファの間、又は出力バッファと変換回路の間の何れかに配置することができる。 符号化回路入力バッファは各種の方法で実現可能で、シフトアレイと同様のサイクル共有レジスタ縮小構成を含む。 より簡便な設計では、384×1
    0ビットRAMに64×7ビットROMを使用してRA
    Mアドレスを提供している。

    【0111】動作サイクルの例を図1(a)及び同図(b)との関連で解説する。 同図(a)において、データは3原色情報、赤、緑、青としてコンプレッサに入力される。 これは、すぐにXYZと呼ばれる代替空間に変換される。 3つの要素X,Y,Zは各々のシフトレジスタへ入力される。 シフトレジスタ(ステップ2)からこれらは8点DCTユニットへ進む。 X,Y,Zの3原色の間で多重使用される8点DCTユニット1個か、又は個々に独立した8点DCTユニットを各々が有するか、
    の何れかが有り得る。 情報は64点シフトアレイ4へ入力される。 各色について個別のシフトアレイが存在する。 情報はブロック4のシフトアレイから、ブロック3
    と同様のブロック5の別のDCTユニットへ進む。 情報はここで圧縮され、これが加算されたシフトのさらなる層となる。 情報は水平方向及び垂直方向の双方にだけ変換される。 シフトアレイはデータを90度実際に概念的に回転させ、これが他の方向に変換できるようになす。
    データの圧縮後、データはブロック7,8で示される(Z1及びZ2)別のバッファへ進み、最終的に符号化されてチップから出力されるようにデータが保持される(Z1及びZ2は等しくジグザグである)。

    【0112】概念的には、これはブロック4のシフトアレイと同様でデータが90度回転されていない点で異なっている。 その代り、従来からこれらのことに用いられておりCCITT規格で使用されているジグザグの順序に変更されている。 情報はブロック9のラン及びテンプレート制御ユニットに渡され、ここで、0を検出して0
    のランを生成し、非0を検出して値の対数値の推定値を検出する。 これは、テンプレートと呼ばれる。 ランとテンプレートの組合せは、RT符号と呼ばれて、RAM又はROM内に参照され、これがチップから出力される。

    【0113】変換係数の上位ビットである仮数部もチップから出力される。 仮数部及びランとテンプレート符号は任意の長さ、1ビット、2ビットなどで良く、チップからの出力は必ず16ビット又は8ビット、32ビットなどとなるため、ブロック11(整列)がこれを容易にする。

    【0114】図1(a)に図示したその他のブロック(任意)のプログラミングブロック12,13は、各々任意のRGBをXYZ変換、任意のレート・スケーラ及び心理要因の重み、及びランとテンプレート用の任意の修正ホフマン符号に設定できる。

    【0115】図1(b)は同図(a)と極めて類似している。 ランとテンプレート符号はここではランとテンプレートの組合せに復号される必要があり、必要な数の0
    が無視されねばならない。

    【0116】図1(a)において、スケーラ7は加算回路とシフト回路の単純アレイである。 同図(b)において、デスケーラ15は極めて小さいハードウェアの乗算器として実現されている。

    【0117】図10は2次元一般化チェン変換の非パイプライン化実装の略図を示す。 パイプライン化実装は後章で解説する。 画素は上部から入り、通常8ビット幅である。 画素は標準128ビットのデータ幅で水平方向の変換回路10内の広い加算回路のアレイを通過する。 水平方向の変換回路からの出力は移項用RAM12を通過して水平方向から垂直方向へ情報を回転する。 データは次にこれも加算回路だけからなる(通常128ビット幅)垂直方向の変換回路16を通過する。 出力係数は最終的におよそ16ビットの幅に縮小され、本発明においてJPEG互換となしている単一の乗算器20を通過する。

    【0118】図11は本発明によるVLSI実装のブロック図である。 図11において、データはブロック40
    で入力され入力ラッチ42内にラッチされ、マルチプレクサ44を通過してGCT変換回路50の前半へ進む(これは、図8に示したように加算器ネットワークよりなる)。 GCT変換回路50の後半は中断ラッチ54の右側へ接続される。 出力はマルチプレクサ62を通って水平方向から垂直方向の変換が行なわれる移項用RAM
    66へ進む。 移項用RAM66の出力は、タイムシェアリング又はタイムスライシング構成における垂直方向の変換の前半を形成する目的で、GCT変換回路50の第1段への背景に供給される。 GCT変換回路50の出力は垂直方向のGCT変換回路60の第2段の入力へ供給される。 最後のGCT変換回路60の出力が出力ラッチ・マルチプレクサ70から取出され、乗算器74とまるめ回路76を経由してジグザグ順序配置回路80へ進み、これの出力が12ビット係数としてブロック84から出力される。

    【0119】さらに、図11を参照し、本発明の逆向き変換の過程を簡潔に解説する。 図11において、12ビット係数はブロック84を通ってジグザグ順序回路80
    のY入力へ供給される。 ジグザグ順序回路80の出力は、前向き処理において実行されたのと類似の逆向きの量子化処理を実行する乗算器74とまるめ回路76を経由する。 乗算器74の出力は逆向き変換処理の第1段であるラッチ42へ入力される。 ラッチ42から、逆向き変換処理は前向き処理が辿ったのと同じ2段階の時間多重経路を辿る。 出力は出力ラッチ70に出現し、これの出力はまるめ回路76によりまるめられた画素で、まるめ回路76の出力は出力用2のブロック40へ供給される。

    【0120】

    【本発明の量子化乗算器】符号化すべき大量のデータを圧縮するには、頻度領域係数F(i,j) が正の整数の量子値Q(i,j) で除され、さらに、最も近い整数にまるめられる(Q(i,j) は、この章で量子行列式を表わすために使用しており、直前の章とは対照的であることに注意されたい)。 逆に、逆向きの動作には、Q(i,j) による乗算が要求されることになる。 大きな量子値は大幅な圧縮を提供するが、画像の品位の大幅な劣化を招来する(自乗平均誤差(MSE)による測定で)。 小さな量子値は大幅な圧縮を提供しないが、もっと小さなMSEを生成する。

    【0121】量子化係数Q(i,j) は、ここで前向きスケーリング行列Sf(i,j)と称する段階C、D及びEの行列と組合せることができる。 同様に、量子化係数の反転も、ここで反転スケーリング行列Si(i,j)と称する段階H及びIの行列式と組合せることができる。 従って、前向き変換はSf /Q(指数部は便利のために削除した)
    の応用に関連し、逆向き変換はSi *Qの応用に関連する。 前向き操作は除算であるため、逆の相関がQの大きさとSの数学的解像度の間に存在する。 計算効率についてみると、整数の除算は一般に乗算とシフトによって実行される。 例えば、16ビットの計算において、整数k
    による除算は2 16 /k=65536/kの乗算と、それに続く16ビットの右シフトにより、さらに便宜的に実行し得るものである。

    【0122】逆向き変換において、QとSi の乗算のため、QとSi の範囲の間に逆の相関が存在し、それによって、逆相間はQの範囲と積の解像度の間に存在することになる。 JPEGの基準システムにおいて、量子化値は符号なし11ビットである。 よって、可能な最大の量子化係数は1023又は2 10である。 乗算が16ビット計算で実行された場合、Si は2 6の範囲を有する。 Q
    の値が小さいとSi の解像度はMSEより関与が大きい。

    【0123】…従来の方法… 最も近代的なコンピュータ、マイクロプロセッサ及び専用のデジタル信号処理チップは、32ビット(32b)
    乗算を有し、正しく使用した場合にこの問題を解決するには十分以上である。

    【0124】高速の専用ハードウェアにおいて、前向きと逆向き変換両方について、同一の乗算器を使用することが望ましい。 「リアルタイム」の速度(ビデオ画像について、およそ30メガサイクル又はそれ以上)では、
    16b乗算回路は最も実現しやすい解像度に近い。 さらに、大掛りな乗算器はさらにシリコンを必要とし、実行速度が遅くなる。 幾つかのJPEG変換チップでは、一般化チェン変換の代りにディスクリート・コサイン変換DCTを使用しており、スケーリング及び予備スケーリング、即ち、Sf とSi の必要を有していない。 他方で、多くのDCT実装はGCTが呼出すスケーリングの形式を必要としている。

    【0125】しかし、妥当なMSEのためには、32ビット出力の殆どを自由に使用できる必要があることには注意されたい。 前向きモードでは、除算は大きな標準化数から数値を縮小することにより達成している。 出力の順位の高いビットから結果を取出す必要がある。 逆向きモードでは、数値は乗算され、よって、小さい標準化数が望ましい。 出力の低い順位のビットから結果を取出す必要がある。 組合せることによる乗算器ハードウェアにおいて、不必要なビットの切捨てなど、殆ど又は全く縮小が行なわれない。

    【0126】乗算が16ビットに制限されている場合、
    性能は大幅に低下し、これは米国特許出願番号07/5
    11,245号の一般化チェン変換について相互参照している例に相当する(以下の性能の議論の章参照)。 特定すれば、逆向き変換において、Qの範囲はSi の範囲と競合する。 Si の解像度は量子化値が低い場合、最も重要だが、これは、大きい量子化数は乗算の解像度が意味をなさないほど大きな歪曲を付加するためである。

    【0127】…本発明の説明… 本発明の目的の一つは、前向きと逆向き両方の量子化で16ビット・ハードウェア乗算器、即ち、16ビット計算を用いて最大限の性能を提供することである。 これには、範囲と解像度の間の平衡を必要とする。

    【0128】…前向きスケーリングと量子化… 前向きモードにおいて、経験的な結果から、16ビット・ハードウェア乗算器は、十分な解像度を提供し得ると示されている。 最も大きい値(Sf ×2 16 )を(2 16
    1)となるように選択することが可能である。 大きなQ
    は、(Sf /Q×2 16 )の値の範囲を減少させるが、この数値の解像度の欠如に起因するエラーは量子化によりもたらされるエラーと比較すれば小さい。

    【0129】入力並びにSf /Qを正しくスケーリングすることにより、出力は乗算器出力の上位Nビットに出現する。 即ち、

    【数64】結果=(入力*Q係数)≫N ここで、“≫”は右へのシフト操作を表わす。 また、

    【数65】Q係数=Sf/Q*2 16である。 2つのNビット係数の乗算は、一般に、2Nビットの積となる。 結果がハードウェア乗算器の上位側1
    6ビットから取出されるので、下位側16ビットを供給するゲートを切り詰めることが可能である。 下位側Nビットから必要とされることの全ては関連性を担う項だけである。

    【0130】これは、図12に示された2モード・ハードウェアによる実現方法に図示されている。 前向き変換を実行する場合、前向き入力(/Forward)はLレベル(即ち、0)である。 従って、制御マルチプレクサ(M
    UX)100は0のGND信号を16入力1出力のMU
    X104へ送出する。 前向き入力/Forward上の0信号はMUX108へ向かい、乗算器106で符号を付けられた16ビット×16ビットの入力A0〜A3へQ指数部の4ビットを送信する。 この例では

    【数66】Q係数=(Q仮数部≪4)+Q指数部 であり、乗算器106は積“Q係数*入力”を生成する。 出力Result は下位16桁が使用しないワードとして破棄されることから、(Q係数*入力≫16)に等しいことになる。

    【0131】…逆向き予備スケーリングと脱量子化… 本発明は、16ビット演算における最高の正確度を可能にするような範囲と解像力の間の妥協を配分することにより、逆向き脱量子化を補助する過程に関連をなすものである。 経験的に、解像度約12ビットが所望するMS
    Eに必要であると決定された。 JPEG規格仕様における量子化には10ビットが必要とされているので、範囲としては、24ビットが必要である。 これは、16ビット係数のうち上位12ビットを仮数部として用い、下位4ビットを2を底とする指数項として用いることで達成している。 2 4の可能なシフト値と(16−4)ビットの仮数部の組合せにより、有効範囲は、

    【数67】 有効範囲=[(16−4)+2 4 ]ビット=28ビット である。 図12の2モード・ハードウェアによる実装で図示してあるように、逆向きモードにおいて、前向き入力/ForwardがHレベルの場合、16入力1出力のMU
    X104への制御入力は、入力値にi桁の左シフトを生成する。 Q仮数部の12ビットは、乗算器106の入力A4からA15に入力される。 前向き入力/ForwardからMUX108へHレベル側にある制御値は、GND信号から乗算器106のビットA0〜A3へ0を送出する。 ここでも、出力結果は、乗算既出力の上位側16ビットに存在しており、Lレベル側16桁が未使用ワードとして破棄されることに注意されたい。 結果は、従って、次式のように決定されることになる

    【数68】 結果=((入力≪Q指数部)*Qスケーラ)≫16 ここで、

    【数69】 Qスケーラ≪Q指数部=Si ×Q×2 16 Qスケーラ<2 12また、

    【数70】0<Q指数部<(2 4 −1) である。

    【0132】入力値が左にシフトされることから、入力が制限される必要がある。 さもなくば、値がオーバーフローしてしまい、偽の結果が生成される。 しかし、これらの数が、ここで乗算に用いられている係数によって量子化されているという事実から、このことは無条件で行なわれている。 本発明があらゆる乗算に一般化し得ない理由はこれである。

    【0133】本発明の拡張は、図13に図示してあり、
    ここでは、MUX110による左シフトが16ビット×
    16ビットのMUX112による乗算段階の後で発生している。 前向き変換において、前向き入力/ForwardはLレベルである。 MUX114の制御入力への0信号は、乗算器112の入力A0〜A3へQ指数部の4ビットを送信する。 乗算器112の32ビットの積の最上位16桁(Q31〜Q16)は16入力1出力のマルチプレクサによりMUX116からのGND信号に従って選択される。

    【0134】逆向き変換において、前向き入力/Forwa
    rd信号はHレベルである。 従って、GND信号はMUX
    114により16ビット×16ビット符号付き乗算器1
    12の入力A0〜A3へ送信される。 i=32−Q指数部、かつ、j=i−15であるような乗算器112からの32ビット出力の内のビットQi−QjがMUX11
    6を経由して、16入力1出力の乗算器110へのQ指数部入力の値に従い、結果として選択される。 入力値の左シフトは実行されないのであるから、入力値は範囲を制限されることはない(即ち、予めフォーマットされない)。 この場合、演算は数学的に次のように表現される。

    【数71】 結果=(入力*Qスケーラ)≫Q指数部≫16

    【0135】…性能の議論… 表1は、実験的に実行したCCITTによる704×5
    76×8bグレーレベル・テスト画像であるバルバラ(Barbara)の画像についての自乗平均誤差(MSE)
    の結果を示したものである。 量子化の値は第1の例で全て1をなし、第2の例ではJPEG規格における提唱ルミナンス量子化表からのものである。 画像は32b乗算器と、16b乗算器と、これまでの章で解説したような12b仮数部と4b指数部を用いた16b乗算器で実現した本発明を用いてチップのソフトウェア模擬により処理を行なった。 結果は以下の表1に示すとおりである。

    【0136】

    【表1】

    【0137】推測されるように、乗算機関の主要な相違は、Qが小さい場合、即ち、品位再現が所望される場合に発生している。 より少ないハードウェアを用いても、
    本発明は32ビットに近い正確度を提供している。 MS
    Eでの差は視覚的に有意ではない。 しかし、CCITT
    勧告H. 261変換不適合追従試験に適合させるには、
    本発明はディスクリート・コサイン変換と、さらに密接に近似するパラメータ値を使用する必要がある。

    【0138】32b乗算器を実現するには、16b乗算器よりおよそ85%増しのシリコン表面領域を使用することになり(1.0μmCMOS標準セル技術に基づく推定値。これは、HGCTが実現されている技術である)、集積回路技術で大きな問題となる。 本発明は、この領域に30%を追加するだけである。 単一の乗算器はシリコンのおよそ10%を使用することは特筆に値する。

    【0139】

    【GCT変換のパイプライン化した実現】…背景… CCITTのJPEG委員会の提案する国際規格画像圧縮システムを実行するようなVLSIチップを製造することが望まれる。 多くの用途では、VLSIチップがビデオ速度で動作することが必要とされ、これは(解像度により差があるが)、毎秒800ないし1000万画素程度を意味する。 各々の画素は通常赤、緑、青などの3
    原色からなる。 大半のVLSI実装は一度に一つの成分について動作し、必要とされるクロック周波数は画素速度の3倍である。 これは、チップのクロック周波数をおよそ25〜30MHzに押し上げることになる。 これは、1991年の標準から見ても高いクロック速度である。

    【0140】DCTの最も慣習的な実現では、乗算器と加算器の組合せを用いて変換を実行している。 乗算器は多くの実現において、たいてい障害となっている。 その他の機能、例えば、RAMやROMは2次的な障害を構成する。 これらの障害を克服するには、長いパイプライン構造を使用する。 典型的なDCTチップでのパイプラインは200クロック周期にまで及ぶことがあり、チップ内部で200処理が並列的に発生していることを意味する。

    【0141】図15はディスクリート・コサイン変換での在来のパイプライン構造を示したものである。 画素成分は図面の左手に到着し、寸法が1×8の並列ベクトル内でラッチ装置120内部にラッチされている。 これらの1×8ベクトルは、DCTを実行するために1次元変換回路122へ渡される。 1×8行ベクトルは、次に移項装置124により移項されて、8×1の形状の列ベクトルに変換される。 移項後、在来システムでは移項したベクトルは変換のために、第2のDCTユニット126
    に供給される。 この第2の変換が行なわれている間に、
    第1の変換ユニット122は次の1×8行ベクトルで占有されている。 従って、パイプラインは有効に作用する。 最後の乗算は、乗算ユニット128で実行される。
    DCTはシステムにとって計算上の障害であるので、上述のような構造がビデオ速度を達成するために必要とされる。

    【0142】図15は明確になすために簡略化してあるが、変換全体についての制約を理解することが重要である。 乗算演算がシステムの障害であることを想起されたい。 変換ユニット122,126は乗算を含むので、これらと最後の乗算器128が大まかに等しい障害を構成していることになる。 ここで、単一の乗算を実行するのにxナノ秒必要だと仮定する。 図15において(2つの変換ユニット122及び126が存在する)、各々の変換ユニット122,126が8成分の計算を同時に実行する。 従って、変換ユニットは8xナノ秒で計算を実行していることになる。 これは、今日の構造によって現在でも実現可能である。

    【0143】…本発明… 本発明の一般化チェン変換(GCT)は、主変換において乗算を全く必要とせず、成分当たり1回だけの乗算を変換処理の最後で必要とするだけである。 主1次元GC
    Tは、最大7つの不連続レベルで構成された何らかの3
    8個の加算回路のアレイからなる(図8,図9及び図1
    0参照)。 加算回路アレイは、ハードワイヤ結線されたシフト回路を含み、これによって、上述のように2を指数とする乗算及び除算を生成可能である。 さらに、7つの段階を2つの別の部分に分割することにより(GCT
    の単純な構造のため、この分割は容易である)、加算回路レベルの最大数が4まで減少する。 こうした分割を行なうことにより、変換はデータの流れに対して障害ではなくなる。 これは、最大能力がこれらの素子の設計で制御されていることを意味している。 しかし、いまや最後の乗算が障害となるので、変換ユニットに、さらなる特徴を用いることが可能である。 図14はこうした構成を図示している。

    【0144】図14において、8×1行ベクトル用の入力ラッチ130に続くのは、1次元変換回路134へ供給する2入力の一方を選択するMUX132である。 ここで重要な相違は、変換ユニット134が一つだけ存在していることである。 所定量の時間の後、変換ユニット134は入力行ベクトルについての変換を完了する。 移項用RAM136へ渡された後、変換された行ベクトルは第2のMUX138によって第1のMUX132へ戻され、さらに唯一の変換ユニット134へ渡される。 列がここで変換される。 列が変換され移項された後、結果は乗算器140へ転送される。 平均して変換ユニットが4xナノ秒で動作すべきことは明らかである。 これが、
    単純な加算回路のGCTネットワークが大きな利点を提供する部分である。 加算回路は乗算器より大幅に高速であるから、こうした時分割乗算が可能になる。

    【0145】GCTそれ自体は、DCTより大幅な節約である。 図14に図示した実現方法は、2つではなく1
    つの変換ユニットしか有していないということだけで、
    さらに50%の節約を提供するものである。 これを眺望してみれば、本発明の設計はただ一つだけの変換ユニット134を有し、また、このユニットはチップ上で40
    %ないし50%を占有する。 残りの50%はRAM、ラッチ、乗算器140、I/O、その他に割当てられる。
    第2の変換ユニットがおよそ50%のシリコン領域を増大させるであろうことは理解されよう。

    【0146】加算回路だけのネットワークを時分割乗算と併せて使用することにより、ビデオ速度より50%以上高い性能を提供する効率的なJPEG実装を提供する。

    【0147】結局、DCTなどの変換は画像圧縮に有用であり、DCTに類似した方法が計算の単純さの上で望ましい。 この点、本発明に開示した方法並びに装置によって、16ビット変換に匹敵する速度の量子化演算が行なえ、なおかつ、自乗平均誤差は32ビット変換のそれに匹敵する。 比較的高速な加算の組と一組の乗算に変換を因子分解することで効果的にパイプライン化されたデータの流れをなしており、垂直方向及びび水平方向の変換の加算部分は終段の乗算部分以前に同一ハードウェアによって実行されるものとなる。

    【0148】

    【一般化】本開示における実施例は、画像符号化に基づく変換に制限されているが、本発明の乗算器は、入力が除されたのと同一の数により出力が乗算されるようなあらゆる量子化方式に一般化することが可能である。 幾つかのアルゴリズムでは、同様な量子化方式を使用しているため、ある程度まで一般化し得るが、本発明の乗算器は量子化及び脱量子化の意味合いにおいてのみ意味を有する。 好適実施例では16ビット計算を使用しているが、一般に、本発明はNビットの計算を用いるこのような処理に適用し得るものである。 また、本発明は既存の規格、例えば、JPEG規格と互換性を有している。 好適実施例は、本発明の原理を最も良く説明し得るように選択し、また、解説しており、これによる実際の応用は当業者をして、本発明並びに各種実施例を最良の形態で使用し得るようになし、また、意図する特定の用途に適合するような各種の変更を行ない得るものである。 本発明の範囲は、特許請求の範囲によってのみ規定されることを意図するものである。

    【0149】

    【発明の効果】本発明は、上述したように構成したので、静止画像データの伸長方法、圧縮方法及びそのための対応装置に関して、JPEG規格と互換性を保てるものであり、この際、データ圧縮の量子化及び圧縮段階におけるビットの使用が最適化され、かつ、量子化及び係数圧縮を統合するデータ圧縮方式における自乗平均値エラーを最小化することができる。 また、データ圧縮の範囲、並びに、解像度を最適化する方法において、一定量のビットの使用で済むものとなり、かつ、小さい量子化の値について解像度にJPEG規格H. 261仕様を適合させることもできる。 即ち、より具体的には、16入力1出力のマルチプレクサ及び16ビット乗算器を用いることにより、ダイナミックレンジ28ビットで量子化の予備圧縮が可能となる。 さらには、変換処理のパイプライン化実装において、最大限の利点まで一般化チェン変換の速度を使用することができる。 また、変換処理を実行するために要求されるゲート数を最小限に抑えることもでき、特に、変換処理を行なう加算回路ネットワーク部分の速度の利点を用いて同一ハードウェアによる垂直方向及び水平方向の変換の追加を実行することができる。

    【図面の簡単な説明】

    【図1】本発明の一実施例を示し、(a)はコンプレッサ構成のブロック図、(b)はデコンプレッサ構成のブロック図である。

    【図2】動作を説明するためのもので、(a)は入力画素の順序を示す説明図、(b)はブロックのタイミング図、(c)はベクトルのタイミング図である。

    【図3】RGBからXYZへのデータの3点変換を示すブロック図である。

    【図4】VLSIの配置を示す模式図である。

    【図5】シフトレジスタ構成例を示す概略ブロック図である。

    【図6】シフトアレイ構成例を示し、(a)は概略ブロック図、(b)はその具体的構成のブロック図である。

    【図7】統合されたデータの流れを示す模式図である。

    【図8】前向き処理の加算アレイ構成例を示すブロック図である。

    【図9】前向き処理の加算アレイ構成の他例を示すブロック図である。

    【図10】2次元一般化チェン変換を示す概略ブロック図である。

    【図11】本発明の好適実施例を示すブロック図である。

    【図12】乗算前のシフトを伴う反転予備圧縮及び量子化のためのハードウェア構成例を示すブロック図である。

    【図13】乗算後のシフトを伴う反転予備圧縮及び量子化のためのハードウェア構成例を示すブロック図である。

    【図14】本発明の変換の速度を利用する2次元一般化チェン変換の実現の流れを模式的に示すブロック図である。

    【図15】従来の2次元DCT計算の実現の流れを模式的に示すブロック図である。

    【符号の説明】

    12 移行用メモリ手段 16 変換手段 50 第1のGCT加算回路ネットワーク段 60 第1のGCT加算回路ネットワーク段 66 移行用メモリ手段 74 乗算テーブル手段 76 まるめ手段 80 ジグザグ順序手段 134 変換手段 136 移行用メモリ手段

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈