JPH10322219A - 圧縮器、圧縮/伸長システム、ルックアップテーブル作成方法、及び、記録媒体 - Google Patents
圧縮器、圧縮/伸長システム、ルックアップテーブル作成方法、及び、記録媒体Info
- Publication number
- JPH10322219A JPH10322219A JP10109413A JP10941398A JPH10322219A JP H10322219 A JPH10322219 A JP H10322219A JP 10109413 A JP10109413 A JP 10109413A JP 10941398 A JP10941398 A JP 10941398A JP H10322219 A JPH10322219 A JP H10322219A
- Authority
- JP
- Japan
- Prior art keywords
- transform
- reversible
- rotation
- dct
- rotations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
CTと、それを用いた圧縮/伸長システムを実現する。 【解決手段】 入力データ100は本発明の可逆DCT
を用いる圧縮器101に入力される。圧縮器101の出
力は、本発明の可逆IDCを用いる伸長器102でも在
来のJPEG伸長器などの任意のIDCを用いる伸長器
103でも処理できる。伸長器102を使用すればロス
レスの圧縮/伸長となり、伸長器103を使用すればロ
ッシーの圧縮/伸長となる。
Description
テムの分野に係り、特に、可逆ロスレス(損失のない)
離散コサイン変換(DCT)ベースの圧縮に関する。
ー(損失のある)画像圧縮に一般的に使われる無理変換
である。DCTは一般にロッシー画像圧縮で使用され
る。DCTは、JPEG標準、MPEG標準及び米国の
次世代HDTVの多くのモードに用いられる。これら各
種標準に関する解説については、ISO標準文書ISO/I
EC10918(JPEG),11172(MPEG1),13818(MPEG2)、及び、
William B.Pennebakerand Joan L.Mitchel
l,”JPEG Still Image Data CompressionStandar
d,”1993を参照されたい。DCTの基底ベクトルは
無理値を持つ。理論上、整数入力の結果として無理変換
係数が得られる。したがって、そのような変換を厳密に
行うには無限の精度が要求される。変換係数は、圧縮に
使うためには、有限の表現へ丸められねばならない。
は、あらゆる整数入力に対して異なった出力が得られる
ことを保証するものではない。よって、逆DCTで入力
を厳密に再構成することは不可能である。量子化無しの
順DCT変換と逆DCT変換による誤差は系統誤差と呼
ばれる。この系統誤差が、差分又は誤差画像を生じさせ
ないロスレス圧縮におけるDCTの利用の妨げとなって
いる。
クトルも丸められる。ある変換実行手段と理想的な変換
実行手段(すなわち高精度浮動小数点の実行手段)との
間の差はミスマッチと呼ばれる。データの相互交換のた
めには低ミスマッチが要求される。ミスマッチ量と、速
度、コスト、その他の要求される特性の間にはトレード
オフの関係があるといってよい。
ド(パラメータがつけられた)変換(APT)と呼ぶパ
ラメタライズド変換は、DCT又はDCTに任意的に近
い無理変換を実施できる高速変換の仲間である。APT
は一般化Chen変換(GCT)とも呼ばれる。APTの詳
細については、J.Allen,”Generalized ChenTran
sform:A Fast Transform for Image Compressio
n,”Journal ofElectronic Imaging,vol.3(4),Oc
tober 1994,pgs.341−347、J.Allen,”A
n Approach to Fast Transform Coding in Softwa
re,”Signal Processing Image Communication,Vo
l.8,pp.3−1,1996、及び、米国特許第5,129,01
5号を参照されたい。
のブロックベース変換、例えば可逆DCTなどと、それ
を使用する圧縮器、並びに、そのような圧縮器を使用し
たロスレス又はロッシーの圧縮/伸長システムを提供す
ることである。本発明の他の目的は、系統誤差がなく、
かつミスマッチがない(又は低い)DCT変換を提供す
ることである。本発明のもう一つの目的は、可逆DCT
に使用するための丸めオフセット用ルックアップテーブ
ルの生成方法を提供することである。その他の本発明の
目的は以下の説明から明らかになろう。
縮器、圧縮/伸長システム、方法及び記録媒体などが本
発明に含まれる。
有する圧縮器。 (2)(1)の圧縮器と伸長器とを有する圧縮/伸長シ
ステム。 (3)伸長器が可逆逆DCTを有する伸長器である、
(2)の圧縮/伸長システム。 (4)伸長器が逆DCTを有する従来の伸長器からなる
(2)の圧縮/伸長システム。 (5)DCTが複数の2点回転からなる(1)の圧縮
器。 (6)複数の2点回転が変換からなる(5)の圧縮器。 (7)変換のそれぞれが平衡スケールファクタを持つ
(6)の伸長器。 (8)各変換の両方の出力のスケールファクタが等しい
(7)の圧縮器。 (9)ある変換の2つの出力のスケールファクタの積が
1である(7)の圧縮器。 (10)ある変換の出力の両方のスケールファクタが1
未満である(7)の圧縮器。 (11)複数の2点回転のそれぞれが可逆である(5)
の圧縮器。 (12)複数の2点回転が内部丸めをしない(11)の
圧縮器。 (13)2点回転の少なくとも1つがS変換からなる
(5)の圧縮器。 (14)2点回転の少なくとも1つが不平衡5,1変換か
らなる(5)の圧縮器。 (15)2点回転の少なくとも1つが平衡5,1変換から
なる(5)の圧縮器。 (16)2点回転の少なくとも1つが6,1変換からなる
(5)の圧縮器。 (17)2点回転の少なくとも1つが12,5変換からなる
(5)の圧縮器。 (18)2点回転の少なくとも1つが3,2変換からなる
(5)の圧縮器。 (19)2点回転の少なくとも1つが4,3変換からなる
(5)の圧縮器。 (20)2点回転の少なくとも1つがラダーフィルタか
らなる(5)の圧縮器。 (21)ラダーフィルタ内で実行される各乗算の結果が
整数値に丸められる(20)の圧縮器。 (22)2点回転の少なくとも1つがその入力の関数で
ある丸めオフセットを持つ(5)の圧縮器。 (23)2点回転の少なくとも1つがその入力の和と差
の、ある除数をモジュロとした剰余の関数である丸めオ
フセットを持つ(5)の圧縮器。
の回転の出力の第1の組と接続され、かつ、Bの回転を
含む第2の複数の回転を有する4点パラメタライズド変
換;及び該第1の複数の回転の出力の第2の組と接続さ
れ、Aの回転とCの回転を含む補助マトリックスからな
り;該第1の複数の回転、該4点パラメタライズド変換
及び該補助マトリックスは可逆ブロックベース変換とし
て働くブロックベース変換圧縮器。
4)の圧縮器。 (26)第1の複数の回転が2点回転からなる(24)
の圧縮器。 (27)補助マトリックスが、該第1の複数の回転の第
1の2つの出力と接続された2つの入力を有する第1の
2点回転;該第1の2点回転の各出力と接続された乗算
器のペア;該乗算器のペアの出力と該第1の複数の回転
の第2の出力を受け取るように接続された2点回転の第
1のペア、及び該2点回転の第1のペアの出力を受け取
るように接続された前記Cの回転及び前記Aの回転から
なる(24)の圧縮器。
力値へのマッピングを有するルックアップテーブルを含
む少なくとも1つの変換を有する可逆DCTを具備し、
該マッピングは、丸めが入力を同じ変換値にマップする
ところの第1のグループからの入力を、丸めに利用され
なかったであろう変換出力へマップする圧縮器。 (29)少なくとも1つの変換が1以上の行列式を持つ
(28)の圧縮器。 (30)丸めオフセットのためのルックアップテーブル
を作成するための方法であって:初期丸めを用いて入力
値の変換出力値への第1のマッピングを生成するステッ
プ;及び該第1のマッピンにおける衝突の各行に対し
(ただし、衝突は入力の同じ変換出力値へのマッピング
である)、該初期丸めで用いられないであろう変換出力
値を提供するために必要とされ、それぞれが該初期丸め
に用いられないであろう変換出力値からなるエキストラ
を、それぞれ含む行の数を求めるステップ、各衝突に対
し1つのエキストラを提供するために部分エキストラ行
が必要なときに、ある行内の均等に間隔をおいたある個
数のエキストラを選択するステップ、エキストラを列順
にソートするステップ、該ルックアップテーブル内で使
用するための第2のマッピングを生成するためエキスト
ラを衝突に列順に割り当てるステップ、を含む方法。
するステップをさらに含む(30)の方法。 (32)入力値と変換出力値のトリプレットを回転させ
るステップをさらに含む(31)の方法。
ップテーブルを作成するための方法であって:複数の入
力の同じ変換出力値へのマッピングが存在する各衝突に
対し、初期丸めで使用されないであろう変換出力値が存
在する各エキストラに対し、所定の基準に基づき他のエ
キストラとの交換を割り出すステップ、及び該交換を実
行するステップ、を含む方法。 (34)所定の基準が二乗誤差であり、二乗誤差が減少
する交換が割り出される(33)の方法。
逆ブロックベース変換の出力から得られるデータを符号
化するため該可逆ブロックベース変換に接続されたコー
ダを具備する圧縮器。
5)の圧縮器。 (37)変換がコサイン変換からなる(35)の圧縮
器。 (38)変換がサイン変換からなる(35)の圧縮器。 (39)変換がHadamard変換からなる(35)の圧縮
器。 (40)変換がHaar変換からなる(35)の圧縮器。 (41)変換がSlant変換からなる(35)の圧縮器。 (42)変換がKarhunen-Loeve変換からなる(35)の
圧縮器。 (43)変換が高速KL変換からなる(35)の圧縮
器。 (44)変換がシヌソイド変換からなる(35)の圧縮
器。 (45)変換がSVD変換からなる(35)の圧縮器。 (46)変換が重複又は直交変換からなる(35)の圧
縮器。
ロセッサに以下のステップを実行させる命令系列を有す
る実行可能プログラムを格納したコンピュータが読み出
し可能な記録媒体:入力データを受け取るステップ;及
び可逆DCT変換を実行するステップ。 (48)命令系列が、可逆DCT変換を実行することに
よって生成された係数を量子化するステップを該プロセ
ッサにさらに実行させ、該量子化はスケールファクタを
用いて行われる(47)の記録媒体。 (49)命令系列が、ジグザグ順序付けのステップ;0
のランレングスを生成するステップ;及び、Huffmanコ
ーディングを実行するステップ、を該プロセッサにさら
に実行させる(47)の記録媒体。 (50)命令系列が、各データに対する文脈を生成する
ステップ;各文脈に関連した確率予測値を生成するステ
ップ;及び、文脈及び確率予測値に基づきビットストリ
ームを生成するステップを該プロセッサにさらに実行さ
せる(47)の記録媒体。
ベース変換、例えば可逆DCTなどが提供される。本発
明のDCTは、ロスレス圧縮/伸長システムに使用可能
なDCTベースの圧縮器/伸長器に導入し得る。本発明
によれば、系統誤差がなく、かつミスマッチがない(又
は低い)DCT変換も提供される。可逆の離散コサイン
変換(DCT)は、あるシステムの圧縮器の一部かもし
れない。このシステムは、ロスレス伸長用の可逆の逆D
CTを用いる伸長器、又はロッシー伸長用の逆DCTを
用いる在来の伸長器を含むかもしれない。一実施例で
は、圧縮器は、多重回転(例えば2点(2×2)整数回
転)、4点パラメタライズド変換、及び補助マトリック
スを有するDCT圧縮器を含む。この4点変換はBの回
転からなるが、補助マトリックスはAの回転とCの回転
からなる。本発明によれば、可逆DCTに使用するため
の丸めオフセット用ルックアップテーブルの生成方法も
提供される。
下の詳細な説明において、本発明を完全に理解できるよ
うにするため、変換の種類、係数サイズ等々の様々な具
体例が示される。しかし、当業者には、そのような具体
例によらずに本発明を実施し得ることが明白になろう。
他方、本発明をいたずらに難解にしないため、周知の構
造及びデバイスはブロック図の形式で表し、詳しくは示
さない。
ュータメモリ内のデータビットに対する演算のアルゴリ
ズム及び記号表現によって与えられる。このようなアル
ゴリズム記述及び表現は、データ処理技術分野の当業者
によって、その研究の内容を他の当業者に対し最も効率
的に伝えるために用いられる手段である。あるアルゴリ
ズムがあり、それが概して、希望する結果に至る自己矛
盾のないステップ系列だと考えられるとしよう。これら
のステップは、物理量の物理的処理を必要とするもので
ある。必ずという訳ではないが、これらの物理量は記
憶、転送、結合、比較、その他処理が可能な電気的また
は磁気的信号の形をとるのが普通である。これらの信号
をビット、値、要素、記号、文字、用語、数値等で表わ
すのが、主に慣用上の理由から、時に都合がよいことが
分かっている。
語は、適切な物理量と関係付けられるべきであり、ま
た、これら物理量につけた便宜上のラベルに過ぎないと
いうことに留意すべきである。以下の説明から明らかな
ように、特に断わらない限り、「処理」「演算」「計
算」「判定」「表示」等々の用語を用いて論じること
は、コンピュータシステムのレジスタ及びメモリの内部
の物理的(電子的)な量として表現されたデータを処理
して、コンピュータシステムのメモリまたはレジスタ、
同様の情報記憶装置、情報伝送装置あるいは表示装置の
内部の同様に物理量として表現された他のデータへ変換
する、コンピュータシステムあるいは同様の電子演算装
置の作用及びプロセスを指すものである。このようなコ
ンピュータは一般に、データを処理するために1つ又は
それ以上のプロセッサを使用し、それらプロセッサは1
つ又はそれ以上のバスを介し1つ又はそれ以上のメモリ
と接続される。
行するための装置にも関係する。この装置は、要求され
る目的に専用に作られてもよいし、あるいは、汎用コン
ピュータを内蔵プログラムにより選択的に駆動または再
構成したものでもよい。そのようなプログラムは、それ
に限定されないが、コンピュータのシステムバスにそれ
ぞれ接続されたフロッピーディスク、光ディスク、CD
−ROM、光磁気ディスク、リードオンリーメモリ(R
OM)、ランダムアクセスメモリ(RAM)、EPRO
M、EEPROM、磁気カード又は光カード、あるいは
電子的命令の格納に適したその他の媒体のようなコンピ
ュータの読み出し可能な記憶媒体に格納してよい。本明
細書に提示されるアルゴリズム及び表示は、本質的に、
どのような特定のコンピュータ、その他装置とも関わり
がない。様々な汎用マシンを本明細書に述べたところに
従ったプログラムと一緒に利用してよいが、必要とされ
る方法のステップの実行のためのより特化した装置を作
るほうが好都合であるかもしれない。これら多様なマシ
ンに要求される構造は以下の説明より明らかになろう。
さらに、いかなる特定のプログラミング言語とも関連付
けることなく本発明を説明する。本明細書において述べ
るように、本発明の教えるところを実現するために多様
なプログラミング言語を使用し得ることが理解されよ
う。
ロッシーにもロスレスにもできる可逆変換を提供する。
可逆変換は、その圧縮結果からオリジナルを再構成可能
で整数演算によって実施される効率変換である。可逆変
換の一例は、APTを拡張したものである。
に冗長性がない点で、効率(もしくは略効率)変換であ
る。すなわち、本発明の変換は、(他の方法では系統誤
差を排除するために用いられるであろう)多ビットの精
度を必要としない点で効率がよい。効率の良さは、差分
画像のある非可逆変換を用いるよりも優れたロスレス圧
縮に通じる。可逆APT実行手段を構成するいくつかの
方法について後述する。可逆APTは、ビデオオーサリ
ングシステムなどに多くのアプリケーションがある。
が、本発明は変換係数を整数に丸める。整数への丸めよ
りも粗く丸めることは、情報を消去するので、一種の量
子化である。整数への丸めよりも細かく丸めると、変換
係数の最下位ビットに冗長度が持ち込まれ圧縮の妨げに
なる。
供する。系統誤差がないため、その変換は可逆変換つま
りロスレス変換である。これらの可逆変換はロスレス圧
縮に利用可能である。
換を提供する。±1の量子化係数ミスマッチのための最
小量子化マトリックスが与えられる。この最小以上の量
子化が用いられると、得られる係数を任意の逆DCTで
使用可能である。
ア、あるいはその組合せによって実施してよい。
は、入力された元のデータを正確に獲得するための可逆
の逆DCTを含むロスレスシステムにも、従来の(可逆
でない)逆DCTを含むロッシーシステムにも使用し得
る。従来のDCTも可逆DCTの出力を扱うことができ
る。可逆DCTの真のDCTとのミスマッチは十分に低
く、普通のDCTと同じ結果を正確に得られるからであ
る。すなわち、従来のDCT復号化器を有するMPEG
又はJPEG復号化器を、本発明の可逆DCTと一緒に
用いることができる。
圧縮/伸長システムの一実施例のブロック図である。な
お、本発明をDCTベースのシステムによって説明する
ことがあるが、他のブロックベースの変換にも本発明を
適用できることに注意されたい。
像)は本発明の可逆DCTベース圧縮器101によって
圧縮される。入力画像100は、メモリから取り込ま
れ、あるいは通信路から受信されるであろう。なお、そ
のメモリも通信路も本発明を煩雑にしないため図示され
ていない。入力画像は、カメラ、デジタイザ、スキャ
ナ、フレームグラバー(grabber)、その他の周知の装置
又は類似装置によって生成されるであろう。この圧縮の
結果は複数の係数であり、通信路又は記憶装置へ出力さ
れる。なお、DCTベース圧縮器の後又はその前で別の
種類の圧縮がなされてもよい。
に再構成するため、量子化されない係数に対し可逆の逆
DCT(IDCT)を有する伸長器102が使用され
る。ロッシー圧縮の場合には、変換係数を量子化してか
ら、任意の逆DCT(IDCT)を使用する伸長器10
3によって伸長してよい。前述のように、このロッシー
伸長器は、JPEG又はMPEG準拠の復号化器のよう
な従来システムで構わない。
DCT変換に取り込み、このDCT変換の出力がジグザ
グ順序付けされることにより周波数係数が生成される。
そして、この係数は一般にロスレス・エントロピー符号
化される。同様に、逆DCT伸長器では、周波数係数は
ロスレス・エントロピー復号化されてからジグザグ逆順
序付けブロックに入力され、次にIDCT変換に入力さ
れて画素成分が復元される。
を介して伸長器102,103に接続されるように表さ
れている。それらは物理的には全く相互接続されていな
くてもよい。すなわち、その圧縮器を使ってデータを圧
縮して記憶し、全く独立した伸長システムが、その圧縮
情報又はそのコピーをアクセスしてもよい。
ック図を示す。図2において、当該圧縮器は入力データ
の色空間変換又はサブサンプリングを行う色空間/サブ
サンプリングブロック121を有する。このブロック1
21はオプショナルなブロックであり、圧縮器によって
は含まれないかもしれない。一実施例では、ブロック1
21によって実行される色空間変換は可逆である。
の出力は可逆DCT122に接続される。可逆DCT1
22より出力される変換値はジグザク順序付けブロック
123の入力へ接続され、同ブロック123は周知のジ
グザグ順序付けを行う。なお、このジグザグ順序付けブ
ロック123もオプショナルである。ジグザグ順序付け
ブロック123の出力はランレングスブロック124に
接続され、同ブロックは0のランレングスを検出する。
ランレングスブロック124の出力はハフマン(Huffma
n)コーダ125の入力に接続され、ハフマン符号化が
行われる。ハフマン符号化ブロック(ハフマンコーダ)
124の出力はシグナリング(signaling)ブロック12
6の入力に接続され、同ブロックは復号化器が符号化デ
ータを効率的に復号化できるようにするため、使用され
た量子化又は符号化オプションのタイプを復号化器に通
知するための信号を発生する。
る量子化127を、可逆DCTブロック122の後又は
ジグザグ順序付けブロック123の前に適用してもよ
い。このようなスケールファクタを用いる量子化につい
ては、より詳しく後述する。
ロック図である。図3において、色空間/サブサンプリ
ングブロック121は可逆DCT122に接続される。
可逆DCT122の出力はオプショナルな、スケールフ
ァクタを用いる量子化ブロック127に接続される。ス
ケールファクタを用いる量子化ブロック127の出力は
文脈モデル133の入力に接続される。文脈モデル13
3はデータに対する文脈を発生する。この文脈は確率予
測マシン(PEM)134へ送られる。PEM134
は、受け取った文脈に基づいて、データの確率予測値を
発生する。これらの確率予測値はビットストリーム・ジ
ェネレータ(BG)135へ出力され、同ジェネレータ
は文脈モデル133からの文脈とPEM134からの確
率予測値に基づいて、出力ビットストリームを生成す
る。ビットストリーム・ジェネレータ135の出力はシ
グナリングブロック126に接続される。
本発明の応用例のブロック図である。図4において、1
つ以上の入力装置、例えばカメラ201がビデオ画像を
撮影又は取得する。撮影中に、ビデオ画像はカメラ20
1に接続されたロスレス圧縮器202によってロスレス
圧縮される。これによって、一実施例では、帯域幅とメ
モリの約2分の1の節約が可能であり、しかも劣化を生
じない。すなわち、歪みがない。ビデオの最終的な目標
圧縮率は一般的に100:1のロッシー圧縮であるが、
最初のロスレス圧縮は、画質向上、デジタルエフェクト
及び高画質のI−フレームとなるフレームのための情報
を保存する(ビデオ圧縮の場合)。I−フレームはビデ
オ圧縮分野で周知であり、MPEGやHDTVのような
圧縮標準に従って静止画像と同様に圧縮される。
に接続される。編集のため、量子化DCT係数が抽出ブ
ロック203によって抽出され、(必要なら変換符号化
され(transcoded))、そして抽出ブロック203に接続
されたモーションJPEG伸長器204へ送られる。抽
出ブロック203は、どのフレームが必要とされるか決
定し、及び/又は、各係数のある一定数のビットだけを
選択することによって動作するかもしれない。例えば、
後記の図31は捨てるビット数(換言すれば、どのビッ
トを保存するか)を示している。他の実施例では、抽出
ブロック203は、一部のブロックだけを選択すること
によって画像のクリッピングを行うかもしれない。
な装置か任意の従来の装置でよい。圧縮データは既にD
CT変換ドメインにあるから、様々なカットを試みたり
様々な量子化で試すために必要な計算が減少する。この
ように、この実施例によれば、あまり多くの追加処理を
せずに、情報をリアルタイムのビデオとして観察するこ
とができる。
どのフレームを最終バージョンに残すか)決定した後、
原データを復元するためにロスレス伸長器、例えば伸長
器205を用いることができる。なお、データは、編集
後のデータだけを格納しているか、元の入力データの全
部又は一部を格納している記憶装置から取り出されるだ
ろう。後者の場合、伸長のための適切な情報をアクセス
するために何らかのロジック又は処理が必要となろう。
このような処理/ロジックは当業者にとって周知であろ
う。
必要に応じ、原データの画質向上もしくは前処理のため
の画質向上メカニズム206を伸長器205に接続して
もよい。かかる画質向上もしくは前処理の例として、画
像の部分拡大、スローモーションを行うためのフレーム
間内挿、尖鋭化、ノイズ除去等々がある。このような画
質向上メカニズムは当該技術分野では周知である。
器207が動き補償を含む完全なMPEG圧縮を行って
最終的な圧縮データを生成する。このMPEG圧縮器2
07は当該技術分野では周知である。
アプリケーションに使用してもよいが、従来のロッシー
DCTベースシステムと一緒に使用する場合に最も効果
的である。従来システムとの互換性が問題でなければ、
他の統合型ロッシー/ロスレス圧縮システム、例えば可
逆ウェーブレットによる圧縮システムが使用されても構
わないだろう。
2点回転に分解可能な任意の非重複変換へ拡張し得る。
例えば、本発明はDFT/一元DFT、コサイン、サイ
ン、Hadamard、Slant、Karhunen-Loeve、高速K
C、シヌソイド変換、SVD変換、重複直交変換(LO
T)等々の変換と共に使用し得る。Jain, Anil
K.,”Fundamentals of Digital Processing,”Pre
ntice-Hall,Inc.1989,pgs.132-138 を参照された
い。これらの例と後述の例が与えられれば、他の変換の
実現は当業者には明白であろう。
パラメタライズド変換(APT)は、公式には一般化Ch
en変換(GCT)と呼ばれるが、DCTと、他の関連変
換のファミリーを”整数回転”の縦続(cascade)に変形
する。一実施例では、各回転は、その行列式の絶対値が
1の変換からなる。本発明は、DCTを多数の可逆成分
に伸長することによって可逆DCTを得る。このDCT
は、個々のパーツが可逆であるから可逆である。
示す。APT変換の大部分は、回転角度の逆正接によっ
てラベル付けされた2点回転からなる。(これらの回転
は、”時計回り”で行列式が−1であるものとして示さ
れている。)図5において、8点変換は、4つの45゜
(arctan=1)初期回転340、4点APT320、”補助
マトリックス”330に分けることができる。補助マト
リックス330は、2つの乗算と複数の2点回転を含
む。
の回転がある。まず、1組の2点(2×2)回転301
〜304は入力ステージとなる。回転301〜304の
それぞれの出力は、2点回転305〜308からなる4
点APTブロック320の入力に接続され、また、2点
回転309,312〜315と乗算器310,311か
らなる補助マトリックス330に接続される。
サンプルに対応する入力0,7を受け取り、回転305
の入力に対する出力と、回転312の入力に対する出力
を生成する。回転302は入力データサンプル1,6を
受け取るように接続され、2つの出力、すなわち回転3
06の入力に対する出力と、回転309の入力に対する
出力とを与える。回転303は入力データサンプル2,
5を受け取るように接続されて2つの出力を生成し、そ
の一方の出力は回転306の他方の入力に接続され、他
方の出力は回転309の他方の入力に接続される。回転
304は入力データサンプル3,4を受け取るように接
続されて2つの出力を生成し、その一方の出力は回転3
05の他方の入力に接続され、他方の出力は回転313
の他方の入力に接続される。
の一方の出力は回転307の入力に接続され、他方の出
力は回転308の入力に接続される。回転306は2つ
の出力を生成し、その一方の出力は回転307の他方の
入力に接続され、他方の出力は回転308の他方の入力
に接続される。これらの入力に応答して、回転307は
0出力と4出力を生成し、回転308は2出力と6出力
を生成する。
309は、R乗算ブロック310,311に接続される
2つの出力を生成する。R乗算ブロック310の出力は
回転312の他方の入力に接続され、R乗算ブロック3
11の出力は回転313の他方の入力に接続される。回
転312は、その入力に応答して、回転314,315
に接続される2つの出力を生成する。同様に、回転31
3は、その入力に応答して、回転314,315の入力
に接続される2つの出力を生成する。これらの出力に応
答して、回転314,315は1出力及び7出力と3出
力及び5出力をそれぞれ生成する。A,B,C回転につ
いて以下に詳述する。一実施例では、回転301〜30
4のそれぞれはS変換かもしれない。しかし、その場
合、ミスマッチに苦しむかもしれない。
のものである。J.Allen in,”Generalized Chen
Transform for Image Compression,” Jounal ofE
lectronic Imaging,Vol.3(4),October 1994,p
gs.341−347に述べられているHeinとAllen,
J.Allen による補助マトリックスの代案を図7に示
す。図7において、当該補助マトリックスは(ある角度
の)6つの回転からなる。回転角度が45゜(すなわち
arctan=1)の1対の回転がそれぞれ2つの入力を受け取
って2つの出力を生成するように接続される。回転40
1,402のそれぞれの出力の一方は回転403の入力
に接続され、回転401,402の他方の2つの出力は
回転404の入力に接続される。これらの入力に応答し
て、回転403,404は2つの出力を生成する。回転
403,404はB回転からなる。回転403,404
のそれぞれの出力の一方は回転405の入力に接続さ
れ、回転403,404のそれぞの他方の出力は回転4
06の入力に接続される。回転405,406はそれぞ
れA回転、B回転からなる。回転405,406はそれ
ぞれ2つの出力1,7と5,3を生成する。
である。各回転は2点変換もしくはフィルタからなるか
もしれない。
グされる。すなわち、本発明が生成する出力は、浮動小
数点DCTによれば得られるであろう出力とマッチする
ように変化させるためのスケールファクタを用いる必要
がある。ロッシー圧縮/伸長の場合、スケールファクタ
は量子化ファクタと組み合わせられてよい。各出力用の
スケールファクタは、各2点回転のための各スケールフ
ァクタの積から決定することができる。図5に示した形
式の2点回転マトリックスの場合、各回転の両方の出力
のためのスケールファクタは次式によって与えられる。
(APT)は、8つの1D8点DCT(APT)、1つ
の転置、及び、別の8つの1D,8点DCT(APT)
によって実現できる。
PTの中間値を示す。図6において、各網掛け線は同じ
スケールファクタを持つ入力を示す。同一のスケールフ
ァクタを用いることは2点変換の除数を拘束する。例え
ば、殆どの1の回転(309以外の全ての回転)は両方
の出力に対し同じスケールファクタを持つ必要がないの
で、S変換のような不平衡変換を用いてよい。これに対
して、1の回転とRによる乗算(309)の縦続は、出
力に関し入力と同じスケールファクタを持たなければな
らない。
入力は同一のスケールファクタを有する。回転308に
対する2つの入力は同一のスケールファクタを有する。
回転314に対する2つの入力は同一のスケールファク
タを有し、回転315に対する2つの入力は同一のスケ
ールファクタを有する。回転305と回転306の入力
は同じスケールファクタを有する。このことは、回転3
05の場合に、回転301,304それぞれからの上側
の枝を拘束することになろう。回転312,313に関
しては、それらの入力が同じスケールファクタを有する
だけではなく、回転301,304それぞれからの下側
の枝が全て同一のスケールファクタを有する。回転30
1,304から出る下側の枝のスケールファクタは回転
302,303から出る下側の枝のスケールファクタと
同じであるから、補助マトリックスに対する全ての入力
のスケールファクタが同一である。2つの出力のスケー
ルファクタの積が膨張量である。したがって、効率をよ
くするには、両方のスケールファクタの積を理想的には
1にして膨張を防がなければならない。一実施例では、
可逆にするため、両方のスケールファクタが1である。
他の実施例では、スケールファクタは僅かに異なっても
よい。例えば、両方のスケールファクタを0.99にし
てよい。
APTパラメータの値を示す。最初のパラメータの組は
DCTとなる無理数である。圧縮のためのDCT実行手
段(APTその他)は、これらの無理値を使用できな
い。現実のDCT実行手段はすべて無理パラメータを近
似する(その近似値は非常に正確な高精度浮動小数点近
似値であるが)。APTは小さな整数による有理近似値
を使うため、扱いやすい可逆実行手段となる。
いを図る3組のAPTパラメータを示す。APT1は簡
単で圧縮用に好適である。他の例であるAPT2とAP
T3は、より精密な無理変換の近似である。APT3は
CCITT Rec.H.261(IEEE規格1180-199
0)精度試験を満足する。
び方がミスマッチの唯一の原因ではない。可逆の効率変
換では、変換の各ステップにおいて注意深い(可逆の)
整数への丸めを行う必要がある。これらの丸め処理もミ
スマッチの原因となる。浮動小数点の実行手段と同じ結
果をもたらす方法は効率可逆のものであるはずがないの
で、多少のミスマッチは避けがたい。通常、丸めに起因
するミスマッチはパラメータの選び方に起因するミスマ
ッチより大きいから、APT1パラメータは良好な一つ
の選択である。しかし、本発明の手法は他のパラメータ
に適用してもよい。
可逆又は不可逆の変換が得られるように調整してもよ
い。
APTの構成要素中の各2点回転は可逆とされる。各2
点回転を可逆にすれば、各ステップを逆にしてよいので
APT全体が可逆になる。効率のほかに、2つの性質、
すなわちスケールファクタが平衡していること、内部の
丸めがないことが望ましい。
つのは、両方の出力のスケールファクタが同一であると
きである。変換が効率変換(又は略効率変換)となるた
めに、その行列式は±1(又は、ほぼ±1)である。行
列式が±1にされると、2つの出力のスケールファクタ
の積は1である。両方のスケールファクタが1であるこ
とが望ましい。別の実施例では、一方のスケールファク
タが他方のスケールファクタの逆数である。この場合、
一方のスケールファクタは1より大きい。かくして、行
列式が±1になる。1を超えるスケールファクタは量子
化の原因となり、結果としてミスマッチを生じさせる。
効率変換でないAPTのためのものであるから、それら
の積は1ではない。両方のスケールファクタを1未満に
すると、低ミスマッチを見込むのに適した丸めとなる
が、そのようなシステムは可逆効率変換ではない。
内部丸めのない”2点回転とは、各ステップの出力で最
大でも2つの丸め操作しか行われないことを意味する。
ステップ内部に付加的な丸め操作がある実行手段もあ
る。例えば、後述のラダーフィルタ手段である。余分な
丸めはミスマッチを増加させる。
には、順変換と逆変換の両方に同じ変換を使用できるよ
うにユニタリである。しかし、本発明では、可逆実行手
段の場合、逆変換は丸めを逆転させる。したがって、逆
変換は、図6に示したデータフローとは逆のデータフロ
ーを持ち、それぞれの順方向の2点変換と乗算は対応し
た逆変換で置き換えられる。
ない可逆実行手段>本発明は、一実施例において、内部
丸めもルックアップテーブルも必要としない2点回転及
び乗算の可逆実行手段を提供する。これらは、このタイ
プの効率平衡2点回転を持つパラメータにとって重要な
構成要素である。平衡変換でない又は略効率変換にすぎ
ない、いくつかの2点変換を以下に説明する。ラダーフ
ィルタとルックアップフィルタの代案が提供される。
成される可逆性が支配される。何故あるオフセットだけ
で可逆変換となるかについて以下に説明する。
実現される。ただし、aとbは順変換の入力であり、x
とyは順変換の出力である。
れ√2と1/√2である。
与えられる(すなわち、切り捨てられたビット): δ≡(5y-13) mod 26 本実施例では、スケールファクタはそれぞれ√26と1/
√26である。
たがって、その冗長度はlog21.04=0.06ビットである。
これは非効率変換ではあるが、ロスレス圧縮に使用でき
るほど効率変換に近い。平衡であるので、平衡効率変換
より、ロッシー圧縮の目的に有益である。一実施例で
は、スケールファクタは両方とも5/√26 である。
換は11,60,61を使うが、これはピタゴラスのトリプレ
ットa,b,cで、b+1=c かつ a2=2b+1であ
る。しかし、結果の60/11≒5.4545 は7π/16≒5.027
3 のあまりよい近似値ではない。ここでは、平衡、効率
であることと計算の容易さのため、DCTへの近似度は
犠牲にされている。この場合、スケールファクタは共に
1である。
2,13 は、ピタゴラスのトリプレットa,b,c で、b+
1=cかつa2=2b+1である。これは非常に良好な
4点APT(DCT)である。スケールファクタは共に
1である。
重要である。上式の順変換の両方のオフセットとして+
6を選ぶと可逆変換になるが、他のオフセットでは可逆
変換とはならない。例えば、下式におけるようにオフセ
ットが両方とも0であると、入力a=0,b=0と入力
a=1,b=0に対する結果は共にx=0,y=0であ
る。
性を制御できることが明らかである。
に示す。この場合、入力a=4,b=0と入力a=4,
b=1に対する結果は共にx=4,y=1である。
ならない。オフセット(0...12)の可能な169個のペ
アの中で、可逆性が得られるのは、 0,10;1,5;2,0;
3,8;4,3;5,11;6,6;7,1;8,9;9,4;10,12;11,7 の
13個のペアだけである。
ルファクタは√13と1/√13である。
転の他の実施例は次のとおりである。
√13と√13である。不平衡変換においては、和をそれよ
り大きい除数で除算するのが好都合である。これは係数
サイズの最小の増加につながる。しかし、和はより視覚
的に適切な係数につながる。差に対し大きな除数を使っ
て、より大きな和の増加を許容すると、視覚的により適
切な係数でのミスマッチが低くなる。
ある。
組3,4,5はピタゴラスのトリプレットa,b,c
で、b+1=cかつa2=2b+1である。しかし、4
/3≒1.3333は、tan 5π/16≒1.4966 に対するあま
り良い近似値ではない。スケールファクタは共に1であ
る。
R因子は補助マトリックスを正規化する。
ard変換を示す。図8において、回転501〜512
は、tan(π/4)=1 の2点回転からなる。回転501
は、入力データサンプル0,7を受け取って回転50
5,507への出力を生成するように接続される。回転
502は、入力データサンプル1,6を受け取って回転
506,508への出力を発生するように接続される。
回転503は入力データサンプル2,5を受け取って回
転506,508への出力を生成するように接続され、
また、回転504は入力データサンプル3,4を受け取
って回転505,508に対する出力を生成するように
接続される。
09,510に対する出力を生成する。回転506も、
その入力に応答してと回転509,510に対する出力
を生成する。回転509はその入力に応答して出力サン
プル0,4を生成し、また、回転510はその入力に応
答して出力サンプル2,6を生成する。
出力を生成する。回転508も回転511,512に対
する出力を生成する。これらの入力に応答し、回転50
5は出力サンプル1,5を生成し、回転512は出力サ
ンプル3,7を生成する。
て、当該Harr変換は、それぞれtan(π/4)=1の2点
回転である回転520〜526からなる。回転520は
入力データサンプル0,1を受け取って、出力データサ
ンプル4と回転524への出力を生成するように接続さ
れる。回転521は入力データサンプル2,3を受け取
って、回転524への出力と出力データサンプル5を生
成するように接続される。回転522は入力データサン
プル4,5を受け取って回転525への出力と出力デー
タサンプル6を生成するように接続される。回転523
は入力データサンプル6,7を受け取って回転525へ
の出力と出力データサンプル7を生成するように接続さ
れる。回転524は、その入力に応答して出力データサ
ンプル2と回転526への出力を生成する。回転525
は回転525への出力と出力データサンプル3を生成す
る。回転526は、その入力に応答してサンプル0,1
を出力する。
す。図10において、当該サイン変換は回転531〜5
34からなる。回転531,532はtan(π/4)=1の
2点回転からなり、回転533,534はDの回転から
なる。なお、Dはtan(0.1762π)として示されている。
受け取って回転533,534への出力を生成するよう
に接続され、回転532は入力データサンプル2,1を
受け取って回転533,534に対する出力を生成する
ように接続される。それらの各入力に応答し、回転53
3は出力データサンプル1,2を生成し、回転534は
出力サンプル3,1を出力する。
施例を示す。図11において、当該Slant変換は回転5
40〜543からなる。回転540〜542はtan(π/
4)=1の2点回転からなり、回転543はtan(0.1024
π)の2点回転からなる。回転540は入力データサン
プル0,3を受け取って回転542,543への出力を
生成するように接続され、回転541は入力データサン
プル2,1を受け取って回転542,543への出力を
生成するように接続される。回転542は入力に応答し
て出力データサンプル0,2を生成し、回転543は入
力に応答して出力データサンプル3,1を生成する。以
上に述べた例から、当業者は他の変換も実現できるであ
ろう。
転>ラダーフィルタを使って、どのような2点回転も可
逆・効率・平衡形で実現できる。ラダーフィルタは両方
のスケールファクタが1に等しい。下記の式は行列式が
1の(反時計回り)回転のためのラダーフィルタ分解で
ある。
13に示すように、各乗算の後に整数への丸めが続く。
可逆であるために、無理数による乗算が順変換と逆変換
において同様に行われる。
ーフィルタ手段が示されている。入力611は乗算器6
02に接続され、この乗算器602は(cosθ-1)/sinθ
を入力610に掛ける。この乗算の結果はブロック60
3で最近整数に丸められる。この丸めの結果は加算器6
04によって入力611と加算される。加算器604の
出力は乗算器606に接続され、sinθと乗算される。
この結果はブロック605で整数に丸められる。丸めの
結果は加算器601によって入力610と加算される。
加算器601の出力は当該ラダーフィルタの一方の出力
612である。加算器601の出力は乗算器607にも
入力され、(cosθ-1)/sinθと乗算される。この乗算の
結果はブロック608で整数に丸められる。丸めの結果
は、加算器609によって、加算器604の出力と加算
される。加算器609の出力は当該ラダーフィルタの他
方の出力613である。
2が当該ラダーフィルタに入力する。入力701は乗算
器703に入力されて(cosθ-1)/sinθと乗算される。
この乗算の結果はブロック704で整数に丸められる。
この丸めの結果は、減算器705によって入力702か
ら減算される。減算器705の出力は乗算器706の入
力に接続され、sinθと乗算される。この乗算の結果は
ブロック707で整数に丸められる。丸め結果は減算器
708によって入力701より減算される。減算器70
8の出力は当該ラダーフィルタの一方の出力712であ
る。
にも接続され、(cosθ-1)/sinθと乗算される。この乗
算の結果はブロック710で整数に丸められる。この丸
めの結果は減算器711によって減算器705の出力か
ら減算される。減算器711の出力は当該ラダーフィル
タの他方の出力である。
度の影響によりミスマッチ誤差が生じる。しばしば、ラ
ダーフィルタ手段は他の手段よりも大きなミスマッチ誤
差がある。
もっと大きなラダーフィルタを作成できる。例えば、下
に示すような3つのマトリックスに分解することによ
り、4点DCTをラダーフィルタとして実現できる。
いる。
換を提供するとともに、4点(4×4)回転のための効
率・可逆2×2分解を行う。
T、4点APT、8点非自明なマトリックスが含まれて
いたが、本発明は例えば16×16など他のサイズへ拡
張されてもよい。
プテーブル>ラダーフィルタを使用して、任意の2点回
転のための効率・可逆手段を作ることができる。本発明
は、丸めを改善した効率・可逆変換を作るための、ルッ
クアップテーブルをベースにした丸め制御方法及び装置
を提供する。改良された丸めはミスマッチ誤差を減ら
す。平衡変換を作成でき、また、ある変換が平衡のとき
には両方のスケールファクタが1である。
換値への1対1又は1対多のマッピングが可能である。
可逆変換にとっては、1対1のマッピングだけが重要で
ある。行列式が1より少し大きい変換の場合、少数の可
能な変換値を未使用としてよく、また、マッピングは1
対1として扱ってよい。
可逆にすることができない2点整数回転がある。例え
ば、次式を考える。これは、図19にAPTパラメータ
Rとして示された近似値による45゜回転である。
可逆でない。しかし、丸めオフセットが入力の関数であ
れば、その関数を可逆にできる。すなわち、丸めが入力
の関数として変化する。さらに、この場合、丸めオフセ
ットは、入力の和及び差のモジュロ181(=除数)剰
余の関数にすぎない。この関数の一例について図20と
関連させて以下に説明する。したがって、181×181=32
761個の丸めオフセットのペアしかない。一実施例で
は、上式のモジュロ部は除かれる。
力変換値へのマッピング部分を表している。上記等式は
次のように表すことができる。
=a+b,d=a−b)。なお、差と和のパリティは同
じである、すなわち両方が偶数であるか両方が奇数であ
る。網掛けされた四角は、発生し得ない値のペア(その
パリティが同一でないから)を示す。網掛けされていな
い値のペアだけが実際に発生する。sとdを√2で割っ
て普通の整数への丸めを行った値も示されている。太線
は同じs/√2とd/√2を持つ値のペアをグループ化して
いる。網掛けされていない四角を1つ有する全ての太線
領域については既にマッピングは1対1である。網掛け
されていない四角を2つ有する領域は、”衝突”又は”
孔”が生じる問題があることを示しており、この領域に
おいては、普通の丸めは2つの可能な入力を同じ変換値
にマップし、それら両方の入力が同じ答えを与えてしま
うことになる。1つの網掛けされた四角だけの領域は”
エキストラ(extra)”、すなわち普通の丸めに利用され
ない変換出力値を意味している。矢印は、適切な丸めに
よって、衝突であるところの入力に対するエキストラの
出力値を用いマッピングを1対1にできるようにする方
法を示している。
合、その出力は1,1にはならず、0,2となろう(矢
印801を参照)。逆変換を行う時には、ルックアップ
テーブルの0,2のためのエントリーは、出力1,1を
指すであろう。行列式≧1の条件は、各衝突に対し少な
くと1つのエキストラが存在することを保証する。衝突
が近傍のエキストラによって表現されるならば、丸めに
よるミスマッチは減少し、おそらく最小化されるだろ
う。
を用いる45゜回転の場合の衝突("o")とエキストラ
("+")を示す。(可能性のあるもの全部を1ページに
表示できるように、分母として、181に代え、より小
さな41が使われている。分母が181の場合の対応図
は同様である。) 本例では、行列式は非常に1に近く
(1.0006である)、エキストラの個数は衝突の個数と等
しい。ペアを持たない衝突又はエキストラの個数は変換
の膨張を表す。
用いる5゜変換のためのマッピングの例を示す。これは
あまり正確ではなく、また、その分母は全ての可能な入
力ペア(和、差)が1ページに列挙可能になるような小
さな値である。各ペア毎に二乗誤差の和が列挙されてい
る。なお、両方の入力が0の時以外は、最良の整数への
丸めが用いられたとしても多少の誤差がある。ペアの最
近整数への丸めの平均RMSEは1/√2≒0.289であ
る。近似値5/7では25個の可能な入力ペア中、4個の
衝突がある。この近似値では、これらの4個の衝突がR
MSEを0.6529に増加させる。”丸めオフセット”欄
は、ルックアップテーブルの出力である。順変換の場合
には”和、差入力”欄が入力であり、逆変換の場合に
は”可逆性のための整数出力”欄が入力である。
確である。分子の128は2のベキ乗で、計算に都合が
よい。行列式は1.0002(log21.0002=0.0003ビット)
で、これは非常に効率に近い。適切なルックアップテー
ブルによれば、平均RMSEは0.4434であり、ピーク誤
差は1.92である。
な順計算は次のようになされる。ここでは、近似値1/√
2≒128/181を用いる。まず、順変換を計算するため、入
力a,bの和と差が下式により計算される。 和(sum)=a+b 差(difference)=a−b
。
され、剰余が保存される。(なお、実行手段によって
は、除算の高速化のため128/181≒181/256が用いられる
ことがある。) ss=和/181 dd=差/181 s=和 mod 181 d=差 mod 181
。
s,dのペアが同じパリティを持つ(s,dが共に偶数
であるか共に奇数である)と仮定する。ssとddが同
じパリティを持たないとにきは、その一方のモジュロ値
のパリティが変更される。この変更は、値が0...180の
範囲内に納まるようになされる。下の擬似コードにおい
て、”^”は排他的ORを意味する。このステップは奇
数の分母の場合に必要とされ、偶数の分母の場合には必
要でない。
が奇数かつddが偶数)又は(ssが偶数かつddが奇数) if(d==180) s'=s^1 else d'=d^1 。
(又は181/256)又はルックアップテーブルを使って決
定できる。丸めオフセットはルックアップテーブル内に
見つかるであろう。一実施例では、丸めオフセットは−
1...1であるので、ルックアップテーブルのデータ幅
を2ビットにできる。ssとddで表された入力の平方
根はそれぞれ128ssと128ddであり、これらはシフトで実
行してよい。 x=sqrt(1/2)*s'+LUT_f[s',d']+128*ss y=sqrt(1/2)*d'+LUT_g[s',d']+128*dd
。
d)の平方根と丸めオフセットを返してもよい。一実施
例では、そのようなルックアップテーブルは7ビットの
データ幅を持つ。 x=LUT_sqrt1/2_f[s',d']+128*ss y=LUT_sqrt1/2_g[s',d']+128*dd
。
全てのペアが発生するわけではない。fとgが次元(10)
の配列の場合に、1Dルックアップテーブルをs+181*d
で指標付けすると、メモリロケーションのほぼ半分が無
駄になるであろう。181は奇数であるから、s'/2+181*
d'/2を使うと境界条件をうまく処理できない。次の指
標付け方法を用いることができる。 指標=s'/2+d'*90+(d+1)/2
。
ロック図である。図18において、入力a,bは加算器
1201によって加算されて和(s)が得られ、また入
力a,bは減算器1201に入力されて差a−b(d)
が求められる。和(s)は除算器1203に入力され1
28で除算される。除算器1203の剰余出力はパリテ
ィ訂正ブロック1205の入力に接続され、また、商出
力は乗算器1206に接続される。減算器1202の差
出力は除算器1204に入力され、除算器1204はそ
れを181で除算し、剰余をパリティ訂正ブロック120
5の他方の入力へ出力し、また商を乗算器1207の入
力へ出力する。パリティ訂正ブロック1205は前述の
パリティ訂正を行ってs'とd'を出力し、このs'とd'
はルックアップテーブル(LUT)1208と乗算器120
9,1210へそれぞれ接続される。
されたssに128を乗算し、その結果を加算器121
1へ出力する。乗算器1207は除算器1204の出力
ddに128を乗算し、その結果を加算器1212へ出
力する。乗算器1209は、s'に1/2の平方根を乗
算して結果を加算器1211へ出力し、また、乗算器1
210はd'に1/2の平方根を乗算し結果を加算器1
212へ出力する。
それらを加算器1211,1212へそれぞれ出力す
る。加算器1211はその入力を加算して回転のx出力
を発生し、他方、加算器1212はその入力を加算して
y出力を生成する。
するために、近似値1/√2≒128/181が用いられる。
よって除算され、その剰余が保存される。 ss=x/128 dd=y/128 i=x mod 128 j=y mod 128 。
され、そして丸めオフセットが減算される。(これは1
つのLUTに併合可能である。) iとjは0から127
までの値であるから、複雑な指標付け方法を必要とせず
に、ルックアップテーブルのエントリーの全て(又は使
用されないエキストラがあるときには殆ど)を使用でき
る。 s=sqrt(2)*i−LUT_f_inverse[i,j] d=sqrt(2)*j−LUT_g_inverse[i,j]
。
dパリティと同じでない場合に対する補正が、一実施例
では次の擬似コードに従って行われる:if(ssが奇数か
つddが偶数)又は(ssが偶数かつddが奇数) if(d==180) s'=s^1 else d'=d^1
。
。
値に変換される: a=和/2+(差+1)/2 b=和/2−差/2
。
の方法で実行してよいが、その方向は逆になる。そのよ
うな実行手段は、当業者にとって図18を検討すれば明
白であろう。
アップの作成>全ての孔に対しエキストラが割り当てら
れる。ルックアップテーブルが非常に小さい場合には、
最適マッピングを探すために全数探索を使用してよい。
大きなルックアップテーブルに対しては、それを逐次改
良するために利用可能ないくつかの手法がある。
的に割り当てる方法である。一実施例では、エキストラ
数は衝突数を下回らない。エキストラは、飛び飛びの衝
突に割り当てられる。この手法は高速であり、またプロ
セスを両端で折り返すことができる。また、この手法に
よれば、ルックアップテーブルを進行中に生成し得るの
で、ルックアップテーブルを送る必要がなくなる。
衝突のためエキストラを用意するのに必要となるエキス
トラ行数を決定する、1つのエキストラ行の一部が必要
とされるならば、該行内の適当数のエキストラを均等間
隔で選択する、そのエキストラ全てを列順に処理される
ようにソートする、エキストラを列順に衝突へ割り当て
る。
的個数に基づいて決まる。衝突数をエキストラ数で除算
することにより、指標因数が生成される。それぞれにつ
いて最も近い整数に丸めることにより、使用すべき衝突
を示す整数の集合を得る。
トラのパターンを考える。144個の衝突が12行×8
個のパターンで存在する。144個のエキストラが8行
×9個と9行×8個のパターンで存在する。初めの3行
の衝突についての割り当ては以下のとおりである。その
他の衝突行も同様にして割り当てられる。
キストラ行を用いる第2エキストラ行の9個のエキスト
ラ中の4個のエキストラを用いる、列4,14,24,34のエキ
ストラを用いる 割り当て(エキストラ行,エキストラ列→衝突列)は、
1,3→2;2,4→6;1,7→8;1,13→12;2,14→16;1,17→18;1,
21→22;2,24→26;1,27→30;1,31→32;2,34→36;1,37→4
0 である 第2行の12個の衝突 第2エキストラ行の9個のエキストラ中から残りの5個
のエキストラを用いる、列0,10,28,38のエキストラを用
いる 第3エキストラ行の8個のエキストラ中の7個のエキス
トラを用いる、列3,7,13,17,21,27,31のエキストラを用
いる 割り当て(エキストラ行,エキストラ列→衝突列)は、
2,0→2;3,3→6;3,7→8;2,10→12;3,13→16;3,17→18;2,
20→22;3,21→26;3,27→30;2,28→32;3,31→36;2,38→4
0 である 第3行の12個の衝突 第3エキストラ行の8個のエキストラ中の残りの1個の
エキストラを用いる、列37のエキストラを用いる 第4エキストラ行の列0,4,10,14,20,24,28,34,38の9個
のエキストラを用いる 第5エキストラ行の8個のエキストラ中の2個のエキス
トラを用いる、列3,21のエキストラを用いる 割り当て(エキストラ行,エキストラ列→衝突列)は、
4,0→2;5,3→6;4,4→8;4,10→12;4,14→16;4,20→18;5,
21→22;4,24→26;4,28→30;4,34→32;3,37→36;4,39→4
0 。
下法(ミスマッチが減少するならエキストラ/衝突割り
当てを交換)又は類似の最適化法(例えば模擬アニーリ
ングなど)によってマッピングを改善することができ
る。もう一つの最適化法が、B.Kerninghan,Lin,A
n Efficient Heuristic Procedure forPartitionin
g Graphics,Bell Syst.Tech.J.,pp.291-307,1
970 に記載されている。最適化は、衝突とエキストラだ
けを考慮して行われても、全ての入力値及び出力値を考
慮して行われてもよい。最適化は、入力及び出力のペア
を交換(swap)することによって行われても、入力及び出
力のトリプレットを回転することによって行われてもよ
い。一実施例では、二乗誤差を減少させる交換又は回転
が、それ以上の改善が不可能になるまで行われる。
一実施例である。これは改善手順を説明するものであ
る。この方法は、ペア(前の割り当て)の交換を考慮に
入れている。未割り当てのエキストラを割り当て済みの
衝突−エキストラのペアと交換することを考慮に入れて
いる。誤差が変わらない、すなわち誤差の方向だけが問
題である交換も考慮にいれている。誤差を変化させない
交換は、将来の交換が誤差を改善させる場合に行われ
る、すなわち3つのペアに関する三重の交換又は回転の
一部である。
ため以下の手順を用いてよい。 XCを第1の衝突座標とする YCを第2の衝突座標とする XEを第1のエキストラ座標とする YEを第2のエキストラ座標とする SIN=sinqとする COS=cosqとする 二乗誤差=(COS*XC-round(COS*XE))^2+(COS*YC-round(C
OS*YE))^2 。
を探索する”ルーチンの一実施例の擬似コードは以下の
とおりである: 最良交換のための二乗誤差の最良改善を0に初期化する エキストラ[k]とエキストラ[n,n>k]の間で最良ペア交換を探索する if 最良ペア交換は交換しないときと同じ二乗誤差を有する エキストラ[k],エキストラ[n],エキストラ[m,m>n又はn>m>k]の間で 最良三重交換を探索する if エキストラ[n]又はエキストラ[k]又はエキストラ[m]は交換のマー クが付けられている 最良三重交換を無視する if 最良交換は二乗誤差を減少させる if エキストラ[n]はペア交換のマークが付いている エキストラに”未交換”のエキストラ[n]と交換 するマークを付ける if エキストラ[n]は三重交換のマークが付いている エキストラに”未交換”のエキストラ[n]と交換 するマークを付ける if エキストラ[k]に三重交換のマークが付いている エキストラに”未交換”のエキストラ[k]と交換 するマークを付ける if 三重交換が最良交換でありかつエキストラ[m]に三重 交換のマークが付いている エキストラに”未交換”のエキストラ[n]と交換 するマークをつける if ペア交換が最良交換である エキストラ[n]にエキストラ[k]と交換するマーク を付ける エキストラ[k]にエキストラ[n]と交換するマーク を付ける else エキストラ[n]に三重交換するマークを付ける エキストラ[k]に三重交換するマークを付ける エキストラ[m]にエキストラ[n]及びエキストラ [k]と三重交換するマークを付ける。
の一実施例のための擬似コードは以下のとおりである: for 各エキストラ[n] 交換誤差=エキストラ[n],衝突[k]の二乗誤差+エキストラ[k],衝突[n] の二乗誤差 を計算する 現在誤差=エキストラ[n],エキストラ[k]の現在の割り当ての二乗誤差 の和 を計算する 本改善=現在誤差−交換誤差 if (本改善>=0)かつ(本改善>=最良改善) 最良改善=本改善 これまでに見つかった最良交換はnである。
の一実施例のための擬似コードは以下のとおりである: for 各エキストラ[n] 交換誤差=エキストラ[m],衝突[k]の二乗誤差+エキストラ[n],衝
突[m] の二乗誤差+エキストラ[k],衝突[n]の二乗誤差 を計算す る 現在誤差=現在誤差−交換誤差 を計算する if (本改善>=0)かつ(本改善>=最良改善) 最良改善=本改善 これまでに見つかった最良交換はnである。
例のための擬似コードは以下のとおりである: for 各エキストラ[k] if エキストラ[k]にマークが付けられている n=エキストラ[k]と交換すべきエキストラ if n<k エキストラ[n]とエキストラ[k]を交換する 現在の割り当ての二乗誤差を計算する。
ーブルをベースとした丸めは、低ミスマッチの任意の2
点回転を実現可能である。本発明は、ルックアップテー
ブル手法(又は他の手法)によって効率かつ略平衡で可
逆的に実行可能な変換を生成できる。
全平方な時である。略平衡変換は、変換マトリックス内
の全ての値にある定数を乗算することによって作られ
る。その定数は、行列式を2つの極めて近い因数に因数
分解できるように選ばれる。図21は略平衡変換のいく
つかの例を示す。
消去後の分母の最小公倍数が記されている。この変換を
実行するりら、LCM2 のサイズのルックアップテーブ
ルで十分である。大きな値は、LCDで除算されて商と
剰余に分けられる。図21中の変換に必要とされるルッ
クアップテーブルは全て大きすぎ、具体例を容易には理
解できない。一例として、乗数2を持つ2,1略平衡変
換を以下に説明する。
25を持つ。この例は102=100のテーブルサイズ
しか必要とせず、テーブルは単純な構造を持つ。
テーブルである。四角形以外はすべて下式によって決定
されてる。四角形はエキストラに割り当てられた衝突を
指している。
きに上式より発生するx,yのペアをプロットしたもの
である。丸印と矢印は衝突のエキストラへのマッピング
を示す。
種の8×8可逆APTに使用してよく、そのいくつかを
図23に示す。図5に示した補助マトリックスのChen
分解が用いられるが、例外的にHeinのラベルが付けら
れたAPTは図7に示した補助マトリックスを使用す
る。”効率”と”効率Hein”は、内部丸めもルックア
ップテーブルもない前述の逆実行手段の基本単位を使用
するが、例外的に補助マトリックス内の"1"と"R"はル
ックアップテーブルを使って処理される。もう一つのA
PTは、ラダーフィルタ基本単位を使用する。”略効
率”APTは平衡に近く良好なロッシー性能につなが
る。”略効率”APTは、行列式が1.04である(log
210.4=0.06ビットの冗長度)。
エントロピーコーダ及び自明な文脈モデルが、図3に示
すような様々な変換によってロスレスの符号化及び復号
化を行う。FSMコーダの一例が米国特許第5,272,478
号、同第5,363,099号及び同第5,475,388号に示されてお
り、これら各米国特許は引用により本明細書に組み込ま
れる。
の係数のサイズの増加(ビット数)を示す。この変換で
は、例えば、入力が8ビットのときに、合計64ビット
の入力は18ビット分増加し、結果として82ビットの
出力となる。2D8×8変換の場合の増加は、1D結果を
水平方向と垂直方向に適用することにより求めることが
できる。
の場合の係数のサイズの増加を示す。この変換では例え
ば、入力が8ビットのときに、合計64ビットの入力は
21ビット分増加し、結果として85ビットの出力とな
る(すべてのビットの増加を合計した場合)。また、例
えば、水平係数2と垂直係数3について1D結果が水平
方向と垂直方向に適用される場合、さらに10ビット
(2+8=10)増加する。良好な圧縮結果が得られる
のは冗長な最下位ビットがないからである;すなわち、
増加分は大部分が圧縮しやすい上位のビットである。
点DCTと違う係数を出力しなければならので、多少の
ミスマッチは避けられない。しかし、可逆APTは量子
化しなければロスレスである。このロスレス性は、可逆
APTの逆変換に系統誤差がないことを見込んでいる。
(?The lossless feature allows for no systemicerro
r is the inverse transform is the inverse reversib
le APT.) アプリケーションのため必要な場合には、可
逆APT係数を元の画素に逆変換した後、精密なDCT
係数が必要とされるなら浮動小数点DCTによって、順
変換してもよい。
ための最小量子化マトリックスを示す。最小量子化マト
リックスは、それを適用しても真のDCT係数と±1し
か違わない可逆APT係数が得られる程度以上の量子化
を提供する。最小量子化値が小さいほど、変換のミスマ
ッチが少なくなる。DC量子化特性値(quantizer)は左
上コーナーに示され、AC量子化特性値は標準的なDC
T順(ジグザグ順でない)に配列されている。”8×8”
効率可逆APTとラダーフィルタAPTは共に、DC係
数とそれに近い係数のために比較的大きな最小量子化特
性値を持つ。したがって、これら変換は、低圧縮率/高
品質のときにDCTを良く近似するにすぎない。”略効
率”APTは一般にもっと小さな最小値を持ち、またD
Cとその近傍については非常に小さな最小値を持つ。こ
のAPTは典型的なJPEG圧縮率のときにDCTを良
く近似する。
ータを用いて生成された係数において最大のミスマッチ
(最高の最小量子化特性値)を持つ。ルックアップテー
ブル・ベースの”C”2点回転は、もっとミスマッチを
減少させるであろう。
ックスの構造を、APTスケールファクタ・マトリック
スの構造によって説明する。ラダーフィルタ手段は例外
であり、そのスケールファクタ・マトリックス中の値は
すべて1である。図29と図30は、8×8効率可逆AP
Tと”略効率”APTのためのスケールファクタを示
す。(1を超える)大きなスケールファクタは大きな最
小量子化値をもたらす。
用いるロッシー・コーディングは、まず可逆APTを用
いてロスレス符号化を行う。その復号化はロッシーであ
り、JPEG復号化器のような従来のDCTベース伸長
器を使用してよい。
ー圧縮システムで普通のAPT係数と同様な方法で使用
し得る。JPEG量子化マトリックスが選ばれる。各量
子化特性値が対応したAPTスケールファクタによって
除算されることにより、新たな量子化特性値・スケール
ファクタ結合値が得られる。APTと量子化特性値・ス
ケールファクタ結合値は、JPEGにおけるDCTと量
子化の代わりとして用いられる。どのような量子化マト
リックスを用いてもよい。ただし、スケールファクタが
量子化特性値より大きいと、ミスマッチが生じる。
所要ビットを選択するシフト操作で置き換えられる。こ
れは計算コストを減らし、また、多くのビットを選択す
るほど高い品質を得ることができ、全ビットが選択され
た時にロスレスとなる、埋め込みもしくは多重使用シス
テムを可能にする。量子化特性値は、対応したスケール
ファクタで除算された時に2のベキ乗(又はほぼ2のベ
キ乗)となるような値に選ばれる。
ッシブ・モードがある。(このモードは、あまりよく知
られておらず、JPEGのベースライン・シーケンシャ
ル・モードほどは利用されていない。) 特定のJPE
G量子化に帰着する桁揃え(alignment)スキームを選
ぶことができる。これを使用することにより、スペクト
ル選択を用いなくてもベースライン・シーケンシャル・
データに非常に近いものにし得る、連続近似の最初のス
テージのための符号化データを生成することができる。
連続近似は、残存データがビットプレーン別に埋め込み
法で符号化されることを許す。プログレッシブJPEG
もスペクトル選択を有する。スペクトル選択は、指定さ
れた係数のビットプレーンだけが符号化されることを許
す。既に十分に説明した係数に対して、あるビットプレ
ーンにおいてどの係数がビットを有するのか指定するた
めにスペクトル選択を用いることができる。最初のステ
ージに対し大きな量子化値が用いられると、係数の全て
(又は殆ど)はビットプレーン符号化されることになろ
う。
たくないならば、様々な忠実度のシーケンシャル・ロス
レスJPEGコードストリームを生成するため変換符号
化(transcoding)を用いることができる。必ずしもJP
EG互換でなくてよいが、何らかの方法でAPT係数を
ロスレス符号化することができる。ストリームを生成す
るため、ロスレス復号化が実行され、所要の量子化が除
算又はシフト操作によって行われる。量子化された係数
を、次に、JPEGコンパチブルの方法で符号化するこ
とができる。変換符号化中にDCTが必要とされないの
で、可逆APTを利用しないロスレス・コーディング方
法に比べ、計算量が節減される。
用する場合の各APT係数の右シフトすべきビットの例
を示す。これは量子化/スケールファクタ2n に対応す
る(ただし、nは右シフトすべきビット数である)。図
32は図31のシフトを実現する等価なJPEG量子化
マトリックスである。図32は、JPEGで一般的に使
用されている精神物理学的に重みづけされた輝度量子化
テーブルと似ている。
PTを使用する場合に均一量子化に近づけるためシフト
すべきビットと対応した量子化特性値を示す。均一量子
化は、平均二乗誤差(MSE)距離による最良のレート
/歪みを与える。
ップでスケーリングと丸めが行われるため、普通のAP
Tに比べ計算コストが高い。この弱点を一部補うため、
可逆APTのためのレジスタ幅が減らされる。レジスタ
幅が小さいことと計算に使用されるパラメータが簡単で
あることは、実装を容易にする。ソフトウェアの場合、
乗除算演算をルックアップテーブルで置き換えることが
できる。ハードウェアの場合、専用の低コストのN乗算
回路及び1/N除算回路を用いることができる。
ックアップテーブルによる”B”2点回転の一部の実装
を考える。ハードウェアの場合、この2つのルックアッ
プテーブルを専用ロジックによって置き換えてもよい。
2は以下のように動作する:
。
の可逆変換は、最も一般的な符号化画像のための変換で
ある離散コサイン変換(DCT)を包含するように拡張
される。可逆のAllenのパラメタライズド変換(A
PT)は、それぞれが可逆的に実行される”整数回転”
の縦続としてDCTを実行する。可逆APT変換のエン
トロピーは、可逆ウェーブレット係数のエントロピーと
同様であることが分かっている。浮動小数点DCTに対
し”略平衡”可逆APTのミスマッチは十分に低いた
め、従来のJPEG復号化器をロッシー伸長のために使
用できる。
くの変形及び修正が明白となるであろうから、説明のた
めに図示、説明された特定の実施例は限定することを意
図したものでは決してないものと理解されるべきであ
る。
によれば、DCTベースの圧縮をロスレスにもロッシー
にもできる新規な可逆変換と、それを用いた圧縮器/伸
長器並びに圧縮/伸長システムを実現できる等々、画像
データ等の圧縮/伸長に関し多大な効果を得られるもの
である。
ステムの一実施例のブロック図である。
る。
る。
ック図である。
一実施例のブロック図を示す。
ズド変換における中間値を示す。
ロック図である。
ック図である。
ロック図である。
施例のブロック図である。
す。
す。
す。
突("o")を示す。
のプロットである。
ブルの一実施例を示す。
ある。
ブルを示す。
を示す。
す。
を示す。
トリックスを示す。
PTのための最小量子化マトリックスを示す。
子化マトリックスを示す。
クタを示す。
ルファクタを示す。
フトするビットを示す。
クスを示す。
トするビットを示す。
す。
Claims (13)
- 【請求項1】 可逆離散コサイン変換(DCT)を有す
ることを特徴とする圧縮器。 - 【請求項2】 可逆離散コサイン変換(DCT)を有す
る圧縮器と、伸長器とを具備することを特徴とする圧縮
/伸長システム。 - 【請求項3】 該伸長器が可逆逆DCTを有する伸長器
であることを特徴とする請求項2記載の圧縮/伸長シス
テム。 - 【請求項4】 該伸長器が逆DCTを有する従来の伸長
器からなることを特徴とする請求項2記載の圧縮/伸長
システム。 - 【請求項5】 該DCTが複数の2点回転からなること
を特徴とする請求項1記載の圧縮器。 - 【請求項6】 複数の2点回転が変換からなることを特
徴とする請求項5記載の圧縮器。 - 【請求項7】 該変換のそれぞれが平衡スケールファク
タを持つことを特徴とする請求項6記載の伸長器。 - 【請求項8】 第1の複数の回転、該第1の複数の回転
の出力の第1の組と接続され、かつ、Bの回転を含む第
2の複数の回転を有する4点パラメタライズド変換、及
び該第1の複数の回転の出力の第2の組と接続され、A
の回転とCの回転を含む補助マトリックスを具備し、 該第1の複数の回転、該4点パラメタライズド変換及び
該補助マトリックスは可逆ブロックベース変換として働
くことを特徴とするブロックベース変換の圧縮器。 - 【請求項9】 入力と、変換入力値の変換出力値へのマ
ッピングを有するルックアップテーブルを含む少なくと
も1つの変換を有する可逆DCTとを具備し、該マッピ
ングは、丸めが入力を同じ変換値にマップするところの
第1のグループからの入力を、丸めに利用されなかった
であろう変換出力へマップすることを特徴とする圧縮
器。 - 【請求項10】 丸めオフセットのためのルックアップ
テーブルを作成するための方法であって、 初期丸めを用いて入力値の変換出力値への第1のマッピ
ングを生成するステップ、及び該第1のマッピンにおけ
る衝突の各行に対し(ただし、衝突は入力の同じ変換出
力値へのマッピングである)、 該初期丸めで用いられないであろう変換出力値を提供す
るために必要とされ、それぞれが該初期丸めに用いられ
ないであろう変換出力値からなるエキストラを、それぞ
れ含む行の数を求めるステップ、 各衝突に対し1つのエキストラを提供するために部分エ
キストラ行が必要なときに、ある行内の均等に間隔をお
いたある個数のエキストラを選択するステップ、 エキストラを列順にソートするステップ、 該ルックアップテーブル内で使用するための第2のマッ
ピングを生成するためエキストラを衝突に列順に割り当
てるステップ、を含むことを特徴とするルックアップテ
ーブル作成方法。 - 【請求項11】 丸めオフセットのためのルックアップ
テーブルを作成するための方法であって、 複数の入力の同じ変換出力値へのマッピングが存在する
各衝突に対し、 初期丸めで使用されないであろう変換出力値が存在する
各エキストラに対し、 所定の基準に基づき他のエキストラとの交換を割り出す
ステップ、及び該交換を実行するステップ、を含むこと
を特徴とするルックアップテーブル作成方法。 - 【請求項12】 可逆ブロックベース変換と、該可逆ブ
ロックベース変換の出力より得られるデータを符号化す
るため該可逆ブロックベース変換に接続されたコーダと
を具備する圧縮器。 - 【請求項13】 コンピュータに、入力データを受け取
るステップ及び可逆DCT変換を実行するステップを実
行させるためのプログラムが格納されたことを特徴とす
るコンピュータが読み出し可能な記録媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/846352 | 1997-04-30 | ||
| US08/846,352 US6058215A (en) | 1997-04-30 | 1997-04-30 | Reversible DCT for lossless-lossy compression |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005263701A Division JP4183196B2 (ja) | 1997-04-30 | 2005-09-12 | ルックアップテーブル作成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10322219A true JPH10322219A (ja) | 1998-12-04 |
| JP3763968B2 JP3763968B2 (ja) | 2006-04-05 |
Family
ID=25297660
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10941398A Expired - Fee Related JP3763968B2 (ja) | 1997-04-30 | 1998-04-20 | 圧縮・伸長システム及び方法 |
| JP2005263701A Expired - Fee Related JP4183196B2 (ja) | 1997-04-30 | 2005-09-12 | ルックアップテーブル作成方法 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005263701A Expired - Fee Related JP4183196B2 (ja) | 1997-04-30 | 2005-09-12 | ルックアップテーブル作成方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (5) | US6058215A (ja) |
| JP (2) | JP3763968B2 (ja) |
| DE (1) | DE19819198B4 (ja) |
| GB (1) | GB2325368B (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009534723A (ja) * | 2006-03-29 | 2009-09-24 | クゥアルコム・インコーポレイテッド | 基準化および非基準化インタフェースを用いた変換設計 |
| US8595281B2 (en) | 2006-01-11 | 2013-11-26 | Qualcomm Incorporated | Transforms with common factors |
Families Citing this family (87)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6058215A (en) * | 1997-04-30 | 2000-05-02 | Ricoh Company, Ltd. | Reversible DCT for lossless-lossy compression |
| US6130894A (en) * | 1998-03-09 | 2000-10-10 | Broadcom Homenetworking, Inc. | Off-line broadband network interface |
| AUPP248498A0 (en) * | 1998-03-20 | 1998-04-23 | Canon Kabushiki Kaisha | A method and apparatus for encoding and decoding an image |
| US7130351B1 (en) * | 1998-05-14 | 2006-10-31 | Vulcan Patents Llc | Storage reduction during compression |
| US7257158B1 (en) | 1998-05-18 | 2007-08-14 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
| US6415058B2 (en) * | 1998-10-27 | 2002-07-02 | Hewlett-Packard Company | System for compression of digital images comprising low detail areas |
| WO2000031878A1 (en) * | 1998-11-20 | 2000-06-02 | Interval Research Corporation | Low cost video compression using fast, modified z-coding of wavelet pyramids |
| US8068544B2 (en) * | 1998-12-21 | 2011-11-29 | Zin Stai Pte. In, Llc | Compression with doppler enhancement |
| US7671864B2 (en) | 2000-01-14 | 2010-03-02 | Roman Kendyl A | Faster image processing |
| US8170095B2 (en) * | 1998-12-21 | 2012-05-01 | Zin Stai Pte. In, Llc | Faster image processing |
| US8416847B2 (en) * | 1998-12-21 | 2013-04-09 | Zin Stai Pte. In, Llc | Separate plane compression using plurality of compression methods including ZLN and ZLD methods |
| US8290034B2 (en) * | 1998-12-21 | 2012-10-16 | Zin Stai Pte. In, Llc | Video transmission and display including bit-wise sub-sampling video compression |
| US20080250458A1 (en) * | 1998-12-21 | 2008-10-09 | Roman Kendyl A | Media exchange for handheld wireless receivers and other media user devices |
| US7233619B1 (en) * | 1998-12-21 | 2007-06-19 | Roman Kendyl A | Variable general purpose compression for video images (ZLN) |
| US20030005428A1 (en) * | 2001-05-26 | 2003-01-02 | Roman Kendyl A. | Global media exchange |
| US8004572B2 (en) * | 1999-05-17 | 2011-08-23 | Zin Stai Pte. In, Llc | System for transmitting a video stream over a computer network to a remote receiver |
| WO2001008001A1 (en) * | 1999-07-23 | 2001-02-01 | Trustees Of Boston University | Integer discrete cosine transform using integer operations |
| US7191462B1 (en) | 1999-11-08 | 2007-03-13 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
| US7194128B1 (en) | 2000-07-26 | 2007-03-20 | Lockheed Martin Corporation | Data compression using principal components transformation |
| US6754383B1 (en) | 2000-07-26 | 2004-06-22 | Lockheed Martin Corporation | Lossy JPEG compression/reconstruction using principal components transformation |
| DE10129240A1 (de) * | 2001-06-18 | 2003-01-02 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten |
| US20020191845A1 (en) * | 2001-06-19 | 2002-12-19 | Talley Harlan A. | Method and apparatus for improving decompression and color space conversion speed |
| US6819803B2 (en) * | 2001-07-02 | 2004-11-16 | International Business Machines Corporation | Faster lossless rotation of JPEG images |
| US7082450B2 (en) * | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
| US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
| US7024441B2 (en) * | 2001-10-03 | 2006-04-04 | Intel Corporation | Performance optimized approach for efficient numerical computations |
| US7245769B2 (en) * | 2002-02-12 | 2007-07-17 | Visioprime | Archival of transformed and compressed data |
| US7242713B2 (en) * | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
| US7003170B1 (en) * | 2002-09-20 | 2006-02-21 | Pegasus Imaging Corporation | Methods and apparatus for improving quality of block-transform coded images |
| US7260265B2 (en) * | 2002-10-04 | 2007-08-21 | International Business Machines Corporation | Enhancing compression while transcoding JPEG images |
| US7395210B2 (en) * | 2002-11-21 | 2008-07-01 | Microsoft Corporation | Progressive to lossless embedded audio coder (PLEAC) with multiple factorization reversible transform |
| US20040252965A1 (en) * | 2003-06-10 | 2004-12-16 | Rafael Moreno | Portable video storage and playback device |
| MXPA06003509A (es) | 2003-09-29 | 2007-01-25 | Agency Science Tech & Res | Metodo para realizar una transformacion de dominio de una senal digital de dominio de tiempo al dominio de frecuencia y veceversa. |
| US7298925B2 (en) * | 2003-09-30 | 2007-11-20 | International Business Machines Corporation | Efficient scaling in transform domain |
| DE10345996A1 (de) * | 2003-10-02 | 2005-04-28 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten |
| US8069201B2 (en) * | 2003-11-25 | 2011-11-29 | Texas Instruments Incorporated | 8×8 transform and quantization |
| US8335811B2 (en) * | 2004-03-04 | 2012-12-18 | Broadcom Corporation | Method and system for high fidelity IDCT and DCT algorithms |
| US20050196055A1 (en) * | 2004-03-04 | 2005-09-08 | Sheng Zhong | Method and system for codifying signals that ensure high fidelity reconstruction |
| US7487193B2 (en) * | 2004-05-14 | 2009-02-03 | Microsoft Corporation | Fast video codec transform implementations |
| JP4378245B2 (ja) * | 2004-08-23 | 2009-12-02 | キヤノン株式会社 | データ変換装置及び方法 |
| US20090080519A1 (en) * | 2004-10-18 | 2009-03-26 | Electronics And Telecommunications Research Institute | Method for encoding/decoding video sequence based on mctf using adaptively-adjusted gop structure |
| KR100786132B1 (ko) * | 2004-11-01 | 2007-12-21 | 한국전자통신연구원 | 적응적으로 세분화된 gop 구조를 이용한 계층적b픽쳐-기반 동영상 부호화 및 복호화 방법 |
| US7720299B2 (en) * | 2005-05-10 | 2010-05-18 | The Aerospace Corporation | Compressed data multiple description transmission and resolution conversion system |
| US8422546B2 (en) * | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
| US7805476B2 (en) * | 2005-06-27 | 2010-09-28 | The Aerospace Corporation | Extended Haar transform |
| US7613761B2 (en) * | 2005-06-27 | 2009-11-03 | The Aerospace Corporation | Haar wavelet transform embedded lossless type II discrete cosine transform |
| US7640283B2 (en) * | 2005-06-27 | 2009-12-29 | The Aerospace Corporation | Shared Haar wavelet transform |
| US7634525B2 (en) * | 2005-06-27 | 2009-12-15 | The Aerospace Corporation | Haar wavelet transform embedded lossless type IV discrete cosine transform |
| US7689052B2 (en) * | 2005-10-07 | 2010-03-30 | Microsoft Corporation | Multimedia signal processing using fixed-point approximations of linear transforms |
| US20070200738A1 (en) * | 2005-10-12 | 2007-08-30 | Yuriy Reznik | Efficient multiplication-free computation for signal and data processing |
| US8503536B2 (en) | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
| US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
| US8059721B2 (en) * | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
| US8130828B2 (en) | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
| US7974340B2 (en) | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
| US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
| US8238424B2 (en) | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
| US8942289B2 (en) * | 2007-02-21 | 2015-01-27 | Microsoft Corporation | Computational complexity and precision control in transform-based digital media codec |
| US8498335B2 (en) | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
| US8243797B2 (en) | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
| US8237830B2 (en) | 2007-04-11 | 2012-08-07 | Red.Com, Inc. | Video camera |
| ES2486295T3 (es) * | 2007-04-11 | 2014-08-18 | Red.Com, Inc. | Cámara de vídeo |
| US8442337B2 (en) | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
| US20080288568A1 (en) * | 2007-05-14 | 2008-11-20 | Hou Hsieh S | Low power Fast Hadamard transform |
| US8331438B2 (en) | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
| US8437564B2 (en) * | 2007-08-07 | 2013-05-07 | Ntt Docomo, Inc. | Image and video compression using sparse orthonormal transforms |
| US8189933B2 (en) | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
| US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
| CN101600029B (zh) * | 2008-06-06 | 2013-05-08 | 博通集成电路(上海)有限公司 | 背景噪声降低系统及方法 |
| US20110150073A1 (en) * | 2009-12-21 | 2011-06-23 | General Instrument Corporation | Scalable video transcoding device |
| KR101219309B1 (ko) * | 2010-09-29 | 2013-01-08 | 전북대학교산학협력단 | 신호 처리 소자 및 이미지 처리 소자 |
| US8781000B2 (en) * | 2010-12-30 | 2014-07-15 | Vixs Systems, Inc. | Dynamic video data compression |
| US8607129B2 (en) * | 2011-07-01 | 2013-12-10 | Intel Corporation | Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic |
| WO2014127153A1 (en) | 2013-02-14 | 2014-08-21 | Red. Com, Inc. | Video camera |
| US10257394B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Combined HDR/LDR video streaming |
| US10264196B2 (en) | 2016-02-12 | 2019-04-16 | Contrast, Inc. | Systems and methods for HDR video capture with a mobile device |
| US10243744B2 (en) * | 2016-06-21 | 2019-03-26 | The King Abdulaziz City For Science And Technology | Residue message authentication code |
| JP7081835B2 (ja) | 2016-08-09 | 2022-06-07 | コントラスト, インコーポレイテッド | 車両制御のためのリアルタイムhdrビデオ |
| EP3649783B8 (en) | 2017-07-05 | 2025-04-09 | RED Digital Cinema, Inc. | Video image data processing in electronic devices |
| US10951888B2 (en) | 2018-06-04 | 2021-03-16 | Contrast, Inc. | Compressed high dynamic range video |
| EP3837635A4 (en) | 2018-08-14 | 2022-04-27 | Contrast, Inc. | IMAGE COMPRESSION |
| US11423514B2 (en) * | 2018-08-14 | 2022-08-23 | Contrast, Inc. | Image processing noise reduction |
| US12080404B2 (en) | 2018-09-05 | 2024-09-03 | Translational Imaging Innovations, Inc. | Methods, systems and computer program products for retrospective data mining |
| US11955227B2 (en) | 2018-09-05 | 2024-04-09 | Translational Imaging Innovations, Inc. | Methods, systems and computer program products for retrospective data mining |
| US20230141312A1 (en) * | 2020-04-14 | 2023-05-11 | V-Nova International Limited | Transformed coefficient ordering for entropy coding |
| CN116671022B (zh) * | 2020-12-02 | 2026-01-09 | 伊顿智能动力有限公司 | 多峰感测信号的压缩 |
| CN113553002A (zh) * | 2021-06-11 | 2021-10-26 | 宁乐 | 一种利用无理数的特性进行数据压缩和存储的方法 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5992688A (ja) * | 1982-11-19 | 1984-05-28 | Fuji Photo Film Co Ltd | 適応形画像圧縮方式 |
| US4774587A (en) * | 1987-06-02 | 1988-09-27 | Eastman Kodak Company | Still video transceiver processor |
| FR2646046B1 (fr) * | 1989-04-18 | 1995-08-25 | France Etat | Procede et dispositif de compression de donnees d'image par transformation mathematique a cout reduit de mise en oeuvre, notamment pour la transmission a debit reduit de sequences d'images |
| FR2660139B1 (fr) * | 1990-03-23 | 1995-08-25 | France Etat | Procede de codage et de transmission a au moins deux niveaux de qualite d'images numeriques appartenant a une sequence d'images, et dispositifs correspondants. |
| US5129015A (en) * | 1990-04-19 | 1992-07-07 | Ricoh Company Ltd. | Apparatus and method for compressing still images without multiplication |
| JPH05115007A (ja) * | 1991-10-21 | 1993-05-07 | Canon Inc | 画像伝送方法 |
| JPH05265709A (ja) * | 1992-03-23 | 1993-10-15 | Nec Corp | 丸め演算回路 |
| KR0150955B1 (ko) * | 1992-05-27 | 1998-10-15 | 강진구 | 비트고정을 위한 영상압축방법과 신장방법 및 그 장치 |
| US5394349A (en) * | 1992-07-10 | 1995-02-28 | Xing Technology Corporation | Fast inverse discrete transform using subwords for decompression of information |
| EP0671816B1 (en) * | 1993-09-28 | 2000-03-29 | Sony Corporation | Encoding/decoding device with all odd or all even value rounding |
| JPH07153195A (ja) * | 1993-11-30 | 1995-06-16 | Sony Corp | ディジタル記録装置 |
| US6356663B1 (en) * | 1994-09-09 | 2002-03-12 | Intel Corporation | Processing image signals using spatial decomposition |
| JP2914226B2 (ja) * | 1995-06-16 | 1999-06-28 | 日本電気株式会社 | 可逆変換を可能にするディジタル信号の変換符号化方式 |
| JP3274593B2 (ja) * | 1995-09-27 | 2002-04-15 | 日本電気株式会社 | 可逆変換可能な変換装置及び逆変換装置 |
| US5850294A (en) * | 1995-12-18 | 1998-12-15 | Lucent Technologies Inc. | Method and apparatus for post-processing images |
| US6058410A (en) * | 1996-12-02 | 2000-05-02 | Intel Corporation | Method and apparatus for selecting a rounding mode for a numeric operation |
| JPH10294854A (ja) * | 1997-04-21 | 1998-11-04 | Fuji Photo Film Co Ltd | 画像合成方法 |
| US6058215A (en) * | 1997-04-30 | 2000-05-02 | Ricoh Company, Ltd. | Reversible DCT for lossless-lossy compression |
| AUPP248498A0 (en) * | 1998-03-20 | 1998-04-23 | Canon Kabushiki Kaisha | A method and apparatus for encoding and decoding an image |
-
1997
- 1997-04-30 US US08/846,352 patent/US6058215A/en not_active Expired - Fee Related
-
1998
- 1998-04-20 JP JP10941398A patent/JP3763968B2/ja not_active Expired - Fee Related
- 1998-04-20 GB GB9808331A patent/GB2325368B/en not_active Expired - Fee Related
- 1998-04-29 DE DE19819198A patent/DE19819198B4/de not_active Expired - Fee Related
-
1999
- 1999-08-20 US US09/378,616 patent/US6195466B1/en not_active Expired - Lifetime
- 1999-08-20 US US09/378,652 patent/US6466699B2/en not_active Expired - Fee Related
-
2001
- 2001-02-12 US US09/782,234 patent/US6792155B2/en not_active Expired - Fee Related
-
2004
- 2004-04-06 US US10/819,570 patent/US7313286B2/en not_active Expired - Fee Related
-
2005
- 2005-09-12 JP JP2005263701A patent/JP4183196B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8595281B2 (en) | 2006-01-11 | 2013-11-26 | Qualcomm Incorporated | Transforms with common factors |
| JP2009534723A (ja) * | 2006-03-29 | 2009-09-24 | クゥアルコム・インコーポレイテッド | 基準化および非基準化インタフェースを用いた変換設計 |
| JP2012105273A (ja) * | 2006-03-29 | 2012-05-31 | Qualcomm Inc | 基準化および非基準化インタフェースを用いた変換設計 |
| US8849884B2 (en) | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
| US9727530B2 (en) | 2006-03-29 | 2017-08-08 | Qualcomm Incorporated | Transform design with scaled and non-scaled interfaces |
Also Published As
| Publication number | Publication date |
|---|---|
| US6792155B2 (en) | 2004-09-14 |
| GB9808331D0 (en) | 1998-06-17 |
| JP3763968B2 (ja) | 2006-04-05 |
| GB2325368A (en) | 1998-11-18 |
| US6466699B2 (en) | 2002-10-15 |
| DE19819198B4 (de) | 2004-08-26 |
| US6058215A (en) | 2000-05-02 |
| US20020009235A1 (en) | 2002-01-24 |
| JP2006094490A (ja) | 2006-04-06 |
| DE19819198A1 (de) | 1998-11-19 |
| US6195466B1 (en) | 2001-02-27 |
| GB2325368B (en) | 1999-11-24 |
| US20010031096A1 (en) | 2001-10-18 |
| US20040202376A1 (en) | 2004-10-14 |
| JP4183196B2 (ja) | 2008-11-19 |
| US7313286B2 (en) | 2007-12-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4183196B2 (ja) | ルックアップテーブル作成方法 | |
| US6154493A (en) | Compression of color images based on a 2-dimensional discrete wavelet transform yielding a perceptually lossless image | |
| US7693339B2 (en) | Method and apparatus for faster-than-real-time lossless compression and decompression of images | |
| JP3320389B2 (ja) | データ処理方法、システム、装置及びプログラム記憶装置 | |
| US6711299B2 (en) | Wavelet transformation of dithered quantized/reduced color pixels for color bit depth image compression and decompression | |
| US5319724A (en) | Apparatus and method for compressing still images | |
| US6167092A (en) | Method and device for variable complexity decoding of motion-compensated block-based compressed digital video | |
| RU2429531C2 (ru) | Преобразования с общими множителями | |
| BRPI0712984A2 (pt) | redução de erros durante computação de transformada de coseno discreta inversa | |
| EP1932100A2 (en) | Reduced dimension wavelet matching pursuits coding and decoding | |
| US6067384A (en) | Fast scaling of JPEG images | |
| WO1996007986A2 (en) | Vlsi circuit structure for implementing jpeg image compression standard | |
| JP3701824B2 (ja) | データ処理方法、システム、装置、コンピュータ読取り可能媒体及びプログラム記憶装置 | |
| JPH11177985A (ja) | 高速の画像圧縮のための方法および装置 | |
| US6204780B1 (en) | Method and circuitry for compressing and decompressing digital video data | |
| US5664028A (en) | Apparatus and method for compressing still images | |
| JPH10283343A (ja) | データ処理方法 | |
| US5594812A (en) | Apparatus and method for compressing still images | |
| CA2372514C (en) | Method of compressing digital images | |
| JP2000013797A (ja) | 画像圧縮装置および画像伸張装置 | |
| JP2000078412A (ja) | 画像圧縮装置および画像伸張装置 | |
| JP5451171B2 (ja) | データ変換処理装置およびデータ変換処理方法 | |
| Sinaceur | Efficient implementation of image compression-postprocessing algorithm using a digital signal processor | |
| HK1037762A (en) | Circuit and method for performing a two-dimensional transform during the processing of an image |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050712 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050912 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051025 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051226 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060117 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060118 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100127 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110127 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120127 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130127 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140127 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |