JP2010141922A - ウェーブレット変換システム、方法、及びコンピュータプログラム製品 - Google Patents
ウェーブレット変換システム、方法、及びコンピュータプログラム製品 Download PDFInfo
- Publication number
- JP2010141922A JP2010141922A JP2010036657A JP2010036657A JP2010141922A JP 2010141922 A JP2010141922 A JP 2010141922A JP 2010036657 A JP2010036657 A JP 2010036657A JP 2010036657 A JP2010036657 A JP 2010036657A JP 2010141922 A JP2010141922 A JP 2010141922A
- Authority
- JP
- Japan
- Prior art keywords
- data
- wavelet
- format
- filter
- single device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 153
- 238000004590 computer program Methods 0.000 title claims abstract description 4
- 238000013213 extrapolation Methods 0.000 claims abstract description 19
- 238000006243 chemical reaction Methods 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 25
- 230000002829 reductive effect Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000013139 quantization Methods 0.000 claims description 15
- 238000013144 data compression Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 238000007906 compression Methods 0.000 description 69
- 230000006835 compression Effects 0.000 description 64
- 238000007792 addition Methods 0.000 description 31
- 230000005540 biological transmission Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 21
- 230000008901 benefit Effects 0.000 description 20
- 238000003384 imaging method Methods 0.000 description 16
- 230000009466 transformation Effects 0.000 description 12
- 230000006837 decompression Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000002441 reversible effect Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000009472 formulation Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000001575 pathological effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000011325 biochemical measurement Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- -1 normally Substances 0.000 description 1
- 230000003534 oscillatory effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/62—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/635—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (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)
Abstract
【解決手段】最初に、内挿補間公式を受け取る。こうした内挿補間公式を利用してデータを圧縮する。使用中には、この内挿補間公式が、入手不可能なデータ値を少なくとも1つ必要とするか否かを判定する。必要とする場合には、外挿補間演算を実行して、必要とする入手不可能なデータ値を生成する。
【選択図】図2
Description
本発明はデータ圧縮に関するものであり、特に、ウェーブレットを利用したデータ圧縮に関するものである。
ビデオ「コーデック」(圧縮/伸長器)は、画質、プロセッサについての要求(例えば、コスト/電力消費)、及び圧縮比(即ち生成されるデータレート)を均衡させることによってデータ通信ストリームに要求されるデータレートを低減するために用いられる。現在利用可能な圧縮方法は、異なる範囲のトレードオフ(得失)をもたらし、そして、複数のコーデックのプロファイル(形)を生み出し、各プロファイルは、特定用途における必要事項を満たすべく最適化されている。
1) この関数を可逆的に変換して、変換した係数を「サブバンド(副帯域)」に分割可能にするステップ。
2) 「ローパス(低域通過)」サブバンドを除いたすべてのサブバンドを量子化する(即ち精度を低下させる)ステップ。
3) 量子化した係数に逆変換を適用して、これにより元の関数の近似を再構成するステップ。
本発明はデータを圧縮するシステム、方法、及びコンピュータプログラムを提供する。最初に、内挿補間公式を受け取る。こうした内挿補間公式を利用して、データを圧縮する。使用中には、前記内挿補間公式が、入手不可能なデータ値を少なくとも1つ必要とするか否かを判定する。必要とする場合には、外挿補間演算を実行して、必要とする入手不可能なデータ値を生成する。
Y2N+1=(X2N+1+1/2)−(X2N+1/2)
1つの好適例では、前記ウェーブレットフィルタが、次式を含む内挿補間公式を含む。
(X2N+1+1/2)=Y2N+1+(X2N+1/2)
図2に、本発明による、データを圧縮/伸長するための枠組み(フレームワーク)200を示す。この枠組み200には、コーダ(符号化器)部201及びデコーダ(復号化器)部203が含まれ、これらが一緒になって「コーデック」を形成する。コーダ部201は、変換モジュール202、量子化器204、及びデータをファイル208に記憶するために圧縮するエントロピー・エンコーダ(符号化器)206を含む。こうしたファイル208を伸長するために、デコーダ部203は、逆変換モジュール214、逆量子化器212、及びデータを使用する(例えば、ビデオデータの場合には視聴する)ために伸長するエントロピー・デコーダ210を含む。
図2〜5のシステム及び方法に関連して用いることのできる追加的で選択肢的な特徴及び技法を以下に説明する。なお、こうした選択肢的な特徴は、厳密には例示目的で説明するものであり、限定的なものではない。さらに、こうした特長は、以上の図2〜5のシステム及び方法とは無関係に実現することができる。
使用中には、変換モジュール(例えば図2の変換モジュール202等)は、画像をサブバンドに分離するフィルタバンクとして作用するウェーブレット・ピラミッドを利用することができ、これらのサブバンドの各々が約1オクターブ(即ち係数2)をカバーする。各オクターブには、水平、垂直、及びチェッカーボード(白黒交互の碁盤模様)の形に対応する3つのサブバンドが存在し得る。1つの実施例では、前記ピラミッドを一般に3〜5レベルの深さにして、同数のオクターブをカバーすることができる。元の画像が少しでも平滑であれば、ウェーブレット係数が急速に減少する。画像が2/3のホルダー(Holder)係数を有することがあり、このことは、この画像が導関数の2/3を有することをおよそ意味する。ウェーブレット係数を絶対値が減少する順に整列させれば、これらの絶対値はN-Sの割合で減少するように見え、ここにNは列内の位置であり、Sは画像の平滑度である。
(表1)
・1つの実現は短いウェーブレットベースを用いることができ、これらはHVSに整合すべく量子化した自然な光景(シーン)画像に焦点を置く者に特に適している。この実現は、加算及びシフト(桁ずらし)で達成することができる。フィールド毎の、水平方向の5つのフィルタの適用及び垂直方向の3つのフィルタの適用により生成したマラー(Mallat)ピラミッドを用いることができる。このことは動的な係数を有するフィルタを生成し、これらは、ローパス(低域通過)フィルタにおける2つの係数、及びウェーブレットフィルタにおける2つ、4つ、または6つの係数(12個のウェーブレット・サブバンドを生じさせる)である。修正したエッジフィルタをブロック及び画像の境界付近で用いて、これにより実際の画像値を利用することができる。結果的なビデオ・ピラミッドは実質的に0の列を有し、実質的に非0の列も有する。従って、符号化は表検索(テーブル・ルックアップ)によって効率的に行うことができる。
・他の解決法は、MPEG的な方法で用いる動き補償探索の代わりに、3Dウェーブレット・ピラミッドによる動画像圧縮を用いることができる。時間方向の変換圧縮を、4フィールドのGOPに適用することができる。2レベルの時間マラー・ピラミッドをテンソル積として空間ピラミッドと共に用いることができる。線形エッジフィルタを密レベルで、修正ハール(Haar)フィルタを粗レベルで用いて、4つの時間サブバンドを生成することができる。これらの時間サブバンドの各々が圧縮されている。
・処理を、各々が32画素の走査線8本から成るブロックの処理に落とすことができる。このことは、RAMの必要量を、RAMをASICそのものの内部に配置できるような値まで低減する助けとなる。このことは、チップの個数を低減して、RAMの帯域要求を満足することを簡単にする。圧縮処理は、ストライプ毎に実行することができる(ストライプ当たり2回の通過)。
・さらに他の実施例は、ウェーブレット係数の量子化を用いて、圧縮のさらなる改善を達成することができる。量子化の分母は2のべき乗であり、シフトによって実現可能である。量子化は、スケーリング係数を各サブバンドに割り当てる処理とすることができ、サブバンド内の各係数に対応するスケーリング係数を乗じて、スケーリングした係数を整数化する。
さらに他の操作として、データ量を低減することによって、エントロピー符号化に関連する演算量を低減する。1つの実施例では、こうした低減を、データ圧縮/伸長システムの量子化器において行う(図2の量子化器204参照)。もちろん、こうした特徴は、本明細書に記載した他の種々の特徴とは無関係に実現することができる。この選択肢的な特徴に関するより好適な情報を以下に述べる。
(表2)
・伸長、両帯域をパイル化
・伸長、一方の帯域をパイル化
・伸長、入力がパイル化で出力が稠密
・圧縮、入力が稠密で出力がパイル化
(表3)
while not both EOF(P1), EOF(P2) {
I1=0; I2=0;
guard(P1.index ≦ P2.index, Pile_Read(P1, I1));
guard(P1.index ≦ P2.index, Pile_Read(P2, I2));
Conditional_Append(R, true, W(I1, I2)); };
Destroy_Pile(P1); Destroy_Pile(P2);
さらに他の選択肢として、データ値を所定のデータ範囲に再構成することに関連する演算量を低減することができる。こうした演算は、単一のクリップ操作のみを実行することによって低減することができる。1つの実施例では、こうした低減を、データ圧縮/伸長システムの逆量子化モジュール(図2の逆量子化器212参照)内で行う。もちろん、こうした特徴は、本明細書に記載した他の種々の特徴とは無関係に実現することができる。この選択肢的な特徴に関するより好適な情報を以下に記述する。
(表4)
1.各ブロック内のDC係数にバイアスを加えて、これにより、すべての変換フィルタ後に、各部分が負の値-16(一般化した表現は-llim)だけオフセットされる。
コスト:画像またはブロック当たり1回の算術演算。
2.必ず、逆変換の最終的な算術ステップが0に飽和(クリップ)するようにする。
コスト:大部分の計算エンジンにおいてコストがかからない。
3.224(一般化した表現はulim-llim)による(分割)MAX演算(224に最大化する演算)を適用する。
コスト:サンプル当たり1回のMAX演算。
4.ADD 16(一般化した表現はllim)(16を加算する演算)を用いて、前記バイアスを除去する。直前のMAX演算により、これによるオーバーフローはあり得ないので、このバイアス除去は飽和算術演算を以って行う必要はない。
コスト:サンプル当たり1回のADD(加算)演算。
1.送信機と受信機が共にリアルタイムで動作する、上述したビデオフォンまたはピクチャフォン(テレビ電話)。この動作は、圧縮、符号化、及び伸長のすべてを、ビデオを捕捉する速度でリアルタイムで実行する必要があり、そして伝送チャンネルは、圧縮したビデオのフルレート(最大速度)を搬送する必要がある。
2.ソースまたはネットワークにおいてビデオを捕捉し記憶して、受信機においてリアルタイムで視聴するストリーム動作。この動作は、リアルタイムの復号化を必要とするが、伝送の前にシーケンスを処理することを可能にする。このモードは、圧縮したビデオのフルレートを搬送するための、少なくともネットワークから受信機までの伝送チャンネルを必要とする。これに加えて、大部分の伝送チャンネルについては、受信機がいくらかの量のシーケンスを一時蓄積(バッファ)して、伝送レート(速度)に変動が存在しても円滑な再生を維持しなければならない。
3.ソースにおいてビデオを捕捉して記憶して、非リアルタイムで受信機に伝送して、受信機において後の再生用に記憶するメッセージまたはファイル転送モード。このモードは、リアルタイム・ビデオのフルレートが搬送不可能な伝送チャンネル上での動作を可能にし、そして受信者が繰り返し再生、一時停止することを可能にするか、さもなければ視聴体験を制御することを可能にする。
Ln=X2n+X2n+1 式1.1H
Ln=X2n−X2n+1 式1.2H
3つの値 [X2N-1 X2N-2 X2N-4] を持つことができ、そして次の二次方程式用の3つの係数を必要とする。
パイルへの導入部
並列プロセッサは、要求されるアルゴリズムが狭いデータ幅、直列的なデータ依存性、あるいは頻繁な制御文(例えば”if”、”for”、”while”文)を有する際には、高い処理速度(スループット)向けにプログラムすることが困難である。この具体例は、これら3つの問題を単独で、あるいは組み合わせて克服する。エントロピー符号化のアプリケーションは、これら3種類の問題をすべて有するアプリケーションの重要なクラスである。
プロセッサにおいて有利に使用可能な、次の3種類の並列化が存在する。
1) 第1の種類のものは、複数の機能ユニットによってサポート(支援)され、各機能ユニット内で処理を同時に進行させる。スーパースカラ・プロセッサアーキテクチャ及びVLIW(Very Long Instruction Word:128ビット以上の命令長の並列処理)プロセッサアーキテクチャは、同一サイクル上で、いくつかの機能ユニットの各々に命令を発行することを可能にする。一般に、レイテンシ(待ち時間)あるいは完了時間は、一種類の機能ユニットと他の機能ユニットとで変化する。最も簡単な機能(例えばビット単位のAND)は通常1サイクルで完了するが、浮動小数点(フローティング)の加算機能は3サイクルまたはそれ以上を要する。
・ 第2の種類の並列処理は、個々の機能のパイプライン化によってサポートされる。例えば、浮動小数点加算は完了に3サイクルを要し、3つの連続する副機能で実現することができ、各副機能は1サイクルを要する。副機能間のパイプライン・レジスタを設けることによって、1番目の浮動小数点加算が第2副機能を開始したサイクルと同じサイクル上で、2番目の浮動小数点加算の第1副機能を開始することができる。この手段によって、個々の浮動小数点加算が完了に3サイクルを要しても、すべてのサイクルで浮動小数点加算を開始及び終了することができる。
3) 利用可能な第3の種類の並列処理は、異なるワードのフィールド分割を、同じ計算の異なる瞬時に割り当てることである。例えば、32ビットのプロセッサ上の32ビットのワードを、各々が8ビットの4つのフィールド区分に分割する。データ・アイテムが8ビットに収まるほど十分に小さければ、これら4つの値すべてを同じ単一命令で処理することができる。
各単一サイクル中には、フィールド区分の数×機能ユニットの開始数の積に等しい数のデータ・アイテムを処理することができる。
複数かつ/またはパイプライン化した機能ユニットをプログラムする従来の一般的な方法が存在し、同じ計算の多くの例を見出して、各例からの対応する演算をまとめて実行する。これらの例は、ループ・アンローリングの技法によって、あるいは同じ計算の他のソースによって生成することができる。
ループ・アンローリングは一般的に適用可能な技法であるが、特定例がその利点を学ぶ助けとなる。例えば、次のプログラムA)を考える。
for i=0:1:255, {S(i)};
ここに、体S(i)は、iに依存する演算の列(シーケンス){S1(i); S2(i); S3(i); S4(i); S5(i);}であり、j≠iであれば演算S(i)は演算S(j)とは完全に独立である。演算S1(i); S2(i); S3(i); S4(i); S5(i);が互いに独立であると仮定してはならず、逆に、1つの演算から次の演算への依存性が(演算の)並べ替えを禁止すると仮定することはできる。
また、これらの同じ依存性が、前の演算が完了するまでは次の演算を開始しないことを要求する、と仮定することもできる。(パイプライン化した)演算の各々が完了に2サイクルを必要とするとすれば(パイプライン化した実行ユニットが各サイクルで新たな結果を生成しても)、上記5つの演算の列は完了に10サイクルを必要とする。これに加えて、ループ分岐は一般に、プログラミング・ツールがS4(i)及びS5(i)を分岐遅延と重複させることができなければ、ループ当たり3サイクルを必要とする。分岐遅延の重複ができれば、プログラムA)は完了に256/4×10=640サイクルを必要とし、分岐遅延の重複ができなければ、完了に256/4×13=832サイクルを必要とする。
次のプログラムB)
for n=0:4:255, {S(n); S(n+1); S(n+2); S(n+3);};
はプログラムA)と完全に等価である。ループは4回「アンロール(展開)」されている。このことは、高価な制御フロー変化を4分の1に低減する。より重要なこととして、このプログラムは、4つの構成演算S(i)の各々を並べ替える機会を提供する。従って、プログラムA)及びB)は次のプログラムC)と等価である。
for n=0:4:255, {S1(n); S2(n); S3(n); S4(n); S5(n);
S1(n+1); S2(n+1); S3(n+1); S4(n+1); S5(n+1);
S1(n+2); S2(n+2); S3(n+2); S4(n+2); S5(n+2);
S1(n+3); S2(n+3); S3(n+3); S4(n+3); S5(n+3);
};
上述した依存性及び独立(非依存)性についての仮定を以ってすれば、次の等価なプログラムD)を作成することができる。
for n=0:4:255, {S1(n); S1(n+1); S1(n+2); S1(n+3);
S2(n); S2(n+1); S2(n+2); S2(n+3);
S3(n); S3(n+1); S3(n+2); S3(n+3);
S4(n); S4(n+1); S4(n+3); S4(n+3);
S5(n); S5(n+1); S5(n+3); S5(n+3);
};
1番目のサイクルには、S1(n); S1(n+1);を発行することができ、2番目のサイクルには、S1(n+2); S1(n+3);を発行することができる。3番目のサイクルの開始時には、S1(n); S1(n+1);を完了し(2サイクルが経過している)、従ってS2(n); S2(n+1);を発行することができる。従ってプログラムD)は次のように進む:これに続く各サイクルにおいて、次の2つの演算を発行することができ、プログラム全体は同じ10サイクルで実行することができる。プログラムD)は、プログラムA)の4分の1未満の時間で動く。
最も並列的なプロセッサは必然的に条件分岐命令を有し、この条件分岐命令は、命令そのものと分岐が実際に行われる点との間に数サイクルの遅延を必要とする。この遅延期間中に、他の命令を実行することができる。分岐条件が十分事前に既知であり、そしてコンパイラまたは他のプログラミング・ツールが前記遅延期間中の命令の実行をサポートする限りは、この分岐のコストは、1つの命令を発行する機会と同じくらい少ない。この技法はプログラムA)にも適用することができる、というのは、ループの最上部において分岐条件(i=255)が既知だからである。
過剰なアンローリングは生産性に反する。第1には、一旦、(プログラムDにおけるように)すべての発行の機会を利用すると、追加的なアンローリングによるさらなる速度向上がなくなる。第2には、アンローリングしたループのターン(周回)の各々が、一般に、特定のターンについての状態を保持するための追加的なレジスタを必要とする。必要なレジスタ数は、アンローリングしたターンの数に正比例する。必要なレジスタの総数が利用可能な数を超えれば、一部のレジスタ(の内容)をキャッシュに「流出」させて、次のループのターン時に復帰させなければならない。ループのアンローリングが結局速度向上にならなければ、この流出及び再ロード(復帰)をサポートするために発行する必要のある命令が、プログラムの時間を長くする。こうしたループをアンロール(展開)する回数には最適値が存在する。
ここで、次のプログラムA’)を考える。
For I=0:1:255, {S(i); if C(i) then T(I(i)) };
ここに、C(i)は、真であることの少ない(例えば1/64)例外条件であり、S(i)のみに依存し、T(I(i))は、例えば1024演算(オペレーション、命令)の長い例外処理である。I(i)はS(i)によって計算する情報であり、例外処理に必要である。例えば、T(I(i))が、プログラムA)における各ループ・ターンに、平均的に16演算を加えるものとし、この量は、ループの本体の4演算を超える。こうした、まれであるが長い例外処理は、プログラムに共通の問題である。アンローリングの利点を損なうことなくこの問題を取り扱う方法について以下に説明する。
1つの方法はガード(保護)命令の使用によるものであり、これらの命令は多くのプロセッサ上で利用可能な装備である。ガード命令は、追加的なオペランドとしてブール代数値を指定し、この命令は想定される機能ユニットを常に占有するが、ガードが失われれば結果の保持が停止されるという意味を伴う。
If−then−else構文を実現するに当たり、ガードがif条件であると解釈する。Then節(クローズ)の命令がif条件によって保護されて、else節の命令がif条件の否定によって保護される。いずれの場合にも両方の節を実行する。ガードが真となる場合のみにthen節の結果によって更新される。ガードが偽となる場合のみにelse節の結果によって更新される。すべての場合に両方の節の命令を実行して、制御フローにおける条件変化によって要求されるパイプライン遅延の不利益(ペナルティ)よりは、こうした(両方の節を実行する)不利益を受忍する。
このガードの方法は、プログラムA’)のように、ガードが真であることが圧倒的に多く、かつelse節が大きければ、大きな不利益をこうむる。この場合には、大きなelse節は少数の場合のみに関係するにもかかわらず、すべての場合に大きなelse節を実行する不利益をこうむる。条件Cによってガード(保護)すべき演算Sがある場合には、このことを次のようにプログラムすることができる。
Guard(C, S);
プログラムA’)は、次のプログラムD’)にアンロールすることができる。
for n=0:4:255, {S1(n); S1(n+1); S1(n+2); S1(n+3);
S2(n); S2(n+1); S2(n+2); S2(n+3);
S3(n); S3(n+1); S3(n+2); S3(n+3);
S4(n); S4(n+1); S4(n+3); S4(n+3);
S5(n); S5(n+1); S5(n+3); S5(n+3);
if C(n) then T(I(n));
if C(n+1) then T(I(n+1));
if C(n+2) then T(I(n+2));
if C(n+3) then T(I(n+3));
};
上記の例のパラメータにおいて、ループ・ターンの77%ではT(I(n))が実行されず、ループ・ターンの21%ではT(I(n))が1回実行され、T(I(n))が2回以上実行されるのは、ループ・ターンの2%に過ぎない。演算T(I(n))、T(I(n+1))、T(I(n+2))、及びT(I(n+3))を入れ替えることによって得られるものはわずかであることは明らかである。
新たな代替法はパイル処理である。パイルとは、一般にRAMに記憶される連続的な記憶対象(シーケンシャル・メモリー・オブジェクト)である。パイルは、連続的に書き込まれ、先頭から連続的に読み出されることを意図している。パイル・オブジェクトについて多くの方法が規定されている。
並列処理環境において実用的なパイル及びパイルを扱う方法については、パイルの実現はインライン・コード(サブルーチンへの戻り分岐のない)の少数の命令であることが要求される。このインライン・コードが分岐命令を含まないことも要求される。こうした方法の実現は以下に説明する。こうした実現の可能性が、パイルを新規で価値あるものにする。
1) パイルは、方法Create_Pile(P)によって作成する。この方法は、記憶装置を割り当てて、内部状態変数を初期化する。
2) パイルを書き込むための主要な方法はConditional_Append(pile, condition, record)である。この方法は、condition(という条件)が真である場合のみに、record(というパラメータ値)をpileというパイルに追加する。
3) パイルを完全に書き込むと、方法Rewind_Pile(P)によって、読出し準備完了となる。このことは、書き込んだ最初のレコード(記録)から読出しが始まるように、内部変数を調整する。
4) 方法EOF(P)は、パイルのすべてのレコードを読み出したか否かを示すブール代数値を生成する。
5) 方法Pile_Read(P, record)は、次のシーケンシャル・レコード(順次記録)をパイルPから読み出す。
6) 方法Destroy_Pile(P)は、パイルPのすべての状態変数を、(記憶装置の)割り当て解除することによって、パイルPを破壊する。
パイルPによって、プログラムD’)をプログラムE’)に変換することができる。
Create_Pile(P);
for n=0:4:255, {S1(n); S1(n+1); S1(n+2); S1(n+3);
S2(n); S2(n+1); S2(n+2); S2(n+3);
S3(n); S3(n+1); S3(n+2); S3(n+3);
S4(n); S4(n+1); S4(n+3); S4(n+3);
S5(n); S5(n+1); S5(n+3); S5(n+3);
Conditional_Append(P, C(n), I(n));
Conditional_Append(P, C(n+1), I(n+1));
Conditional_Append(P, C(n+2), I(n+2));
Conditional_Append(P, C(n+3), I(n+3));
};
Rewind(P);
While not EOP(P) {
Pile_Read(P, I);
T(I);
};
Destroy_Pile(P);
プログラムE’)は、パイルP上での例外演算Tに必要な情報Iを保存することによって動作する。例外条件C(n)に対応するIのレコードだけを書き込み、このため、P内のIのレコード数(例えば16)は、元のプログラムA)中のループ・ターン数(例えば256)よりもずっと少ない。その後に、独立した”while”ループがパイルPを読み通して、すべての例外計算Tを実行する。C(n)が真であった場合についてのみ、PがレコードIを含むので、これらの場合のみが処理される。
2番目のループは1番目のループよりも少し扱いにくい、というのは、2番目のループのターン数が、この例では平均16であるが、中途半端だからである。従って、”for”ループよりもむしろ”while”ループが必要であり、方法EOFが、すべてのレコードをパイルから読み出したことを示すと、終了する。
以上及び以下に記述するように、方法Conditional_Appendの起動は、インラインかつ分岐なしで実現することができる。このことは、1番目のループが、非生産的な少数の発行の機会を有して、効果的な方法でまだアンロールされていることを意味する。
プログラムE’)中の2番目のループはアンロールされておらず、まだ非効率である。しかし、プログラムE’)は、パイルP1、P2、P3、P4によって次のプログラムF’)に変換することができる。その結果は、F’)が、効率の改善を伴って両方のループをアンロールする、ということである。
Create_Pile(P1); Create_Pile(P2); Create_Pile(P3); Create_Pile(P4);
for n=0:4:255, {S1(n); S1(n+1); S1(n+2); S1(n+3);
S2(n); S2(n+1); S2(n+2); S2(n+3);
S3(n); S3(n+1); S3(n+2); S3(n+3);
S4(n); S4(n+1); S4(n+2); S4(n+3);
S5(n); S5(n+1); S5(n+2); S5(n+3);
Conditional_Append(P1, C(n), I(n));
Conditional_Append(P2, C(n+1), I(n+1));
Conditional_Append(P3, C(n+2), I(n+2));
Conditional_Append(P4, C(n+3), I(n+3));
};
Rewind(P1); Rewind(P2); Rewind(P3); Rewind(P4);
While not all EOF(Pi) {
Pile_Read(P1,I1); Pile_Read(P2,I2);
Pile_Read(P3,I3); Pile_Read(P4,I4);
Guard(not EOF(P1), S); T(I1);
Guard(not EOF(P2), S); T(I2);
Guard(not EOF(P3), S); T(I3);
Guard(not EOF(P4), S); T(I4);
};
Destroy_Pile(P1); Destroy_Pile(P2); Destroy_Pile(P3); Destroy_Pile(P4);
プログラムF’)は2番目のループをアンロールしたプログラムE’)である。このアンローリングは、プログラムE’)の単一のパイルを、各々が互いに無関係に処理可能な4つのパイルに分割することによって達成される。プログラムF’)中の2番目のループの各ターンは、これら4つのパイルの各々からの1レコードを処理する。各レコードを独立して処理するので、各Tの演算は、他の3つのTの演算と並べ替えることができる。
すべてのパイルを処理するまでは、”while”ループの制御を”to”ループに修正しなければならない。そして、一般に、すべてのパイルが同じループ・ターンで完了するわけではないので、”while”ループ中の演算Tをガードしなければならない。2つのパイル中のレコード数が互いに大幅に異なる際に常にある程度の非効率が存在するが、確率論(大数の法則)によれば、これらのパイルは似たようなレコード数を含む。
もちろん、このパイル化技法は反復的に適用することができる。Tそのものが長い条件節T’を含む場合には、いくつかの追加的なパイルを以って2番目のループからT’を分割して、3番目のループをアンロール(展開)することができる。実際のアプリケーションの多くは、このようなネスト(入れ子)にされた例外節(クローズ)をいくつか有する。
パイル・オブジェクト及びその方法の実現は、上述した実現基準を満足するために、簡単さを保たなければならない。
a) 方法の実現は、Create_Pile及びDestroy_Pileを除いて、インライン・コードの少数の命令のみにしなければならない。
b) この実現は、分岐命令を含まないべきである。
パイルの心臓部は、RAM内に割り当てたリニア・アレイ、及びポインタ”index”から成り、ポインタの現在値は、次に読出しまたは書込みを行うべき記録の位置である。このアレイの書込みサイズ”sz”はポインタであり、その値は、パイルの書込み中の”index”の最大値である。方法EOFは、インライン条件文(sz<index)として実現することができる。ポインタ”base”は、パイルに書き込む最初の位置を示す値を有する。この値は、方法Create_Pileによって設定される。
方法Conditional_Appendは、値”index”から始まるパイルのアレイにレコードをコピーする。そして、計算した量だけ”index”を増加させて、この計算した量は0かレコードのサイズ(sz_record)のいずれかである。パラメータ”condition”が、真に対して1の値、偽に対して0の値を有するので、”index”は分岐なしで、次式のように計算することができる。
index=index+condition×sz_record;
もちろん、この計算には多くの変形が存在し、それらの多くは、変数の特別な値を与えられる乗算を含まない。この計算は、次のガードを用いて計算することもできる。
guard(condition, index=index+sz_record);
なお、レコードは”condition”とは無関係にパイルにコピーされる。”condition”が偽であれば、このレコードはすぐ次のレコードによって上書きされ、”condition”が真であれば、すぐ次のレコードは現在のレコードに続けて書き込まれる。この次のレコード自体は、その後のレコードによって上書きされることもそうでないこともあり得る。結果として、たとえ、レコードを読み出して処理する際にいくらかの(冗長な)データを再計算することになっても、パイルにできる限り少なく書き込むことが一般に最適である。
方法Rewindは、sz=index; 及び index=base; によって簡単に実現することができる。この演算は、方法EOF用に書き込んだデータ量を記録し、そして”index”を先頭の値にリセットする。
方法Pile_Readは、次式のように、(長さsz_recordの)パイルの次の部分をIにコピーして、”index”を増加させる。
index=index+sz_record;
Destroy_Pileは、パイルに割り当てた記憶装置を解放する。
(Create_Pile及びDestroy_Pileを除いた)これらの方法のすべてが、少数のインライン命令で、かつ分岐なしで実現することができる。
こうして、パイル処理は、ループのアンローリングを可能にし、その結果、分岐が存在する際の性能改善を可能にする。この技法は特に、長い例外節(クローズ)の並列実行を可能にする。このためのコストは、少量のデータをRAMに書き込んで再び読み出す要求程度である。
Claims (49)
- 内挿補間公式を受け取るステップと;
前記内挿補間公式が、入手不可能なデータ値を少なくとも1つ必要とするか否かを判定するステップと;
外挿補間演算を実行して、前記必要とする入手不可能なデータ値を生成するステップとを具えて;
前記内挿補間公式を利用してデータを圧縮することを特徴とするデータ圧縮方法。 - 前記内挿補間公式がウェーブレットフィルタの構成要素であることを特徴とする請求項1に記載の方法。
- さらに、複数のデータ値を複数のスパンにセグメント分割するステップを具えていることを特徴とする請求項1に記載の方法。
- さらに、前記複数のスパン中の1つのスパン内のデータ値のみを利用することによって、前記内挿補間公式に関係する演算量を低減するステップを具えていることを特徴とする請求項3に記載の方法。
- さらに、前記ウェーブレットフィルタを多相フィルタに置き換えるステップを具えていることを特徴とする請求項2に記載の方法。
- さらに、前記データ値を量子化するステップを具えていることを特徴とする請求項1に記載の方法。
- さらに、前記データ値の数量を低減することによって、エントロピー符号化に関連する演算量を低減するステップを具えていることを特徴とする請求項6に記載の方法。
- 前記データ値に関係する量子化演算中に、前記データ値の数量を低減することを特徴とする請求項7に記載の方法。
- パイルを用いて、前記データ値の数量を低減することを特徴とする請求項7に記載の方法。
- さらに、複数の前記データ値を所定のデータ範囲に再構成することに関連する演算量を低減するステップを具えていることを特徴とする請求項1に記載の方法。
- 単一のクリップ演算のみを実行することによって、前記演算量を低減することを特徴とする請求項10に記載の方法。
- 前記ウェーブレットフィルタが、次式:
Y2N+1=(X2N+1+1/2)−(X2N+1/2)
の内挿補間公式を含むことを特徴とする請求項2に記載の方法。 - 前記ウェーブレットフィルタが、次式:
(X2N+1+1/2)=Y2N+1+(X2N+1/2)
を含めた内挿補間公式を含むことを特徴とする請求項2に記載の方法。 - 内挿補間公式を受け取るためのコンピュータコードと;
前記内挿補間公式が、入手不可能なデータ値を少なくとも1つ必要とするか否かを判定するためのコンピュータコードと;
外挿補間演算を実行して、前記必要とする入手不可能なデータ値を生成するためのコンピュータコードとを具えて;
前記内挿補間公式を利用してデータを圧縮することを特徴とするデータ圧縮用コンピュータプログラム。 - ウェーブレット方式を分析して、ウェーブレットフィルタが近似する局所的な導関数を決定する論理回路と;
ウェーブレットフィルタの特性及び利用可能なサンプル数にもとづいて、外挿補間に使用する多項式の次数を選定する論理回路と;
前記選定した多項式の次数を用いて、ウェーブレットフィルタ毎の外挿補間公式を導出する論理回路と;
前記外挿補間公式を、各場合において利用可能なサンプルと共に利用して、特定エッジのウェーブレットケースを導出する論理回路と
を具えていることを特徴とするデータ処理システム。 - 単一装置でデータを受け取るステップと;
前記単一装置を利用して前記データを符号化して、第1フォーマットの第1圧縮データを生成するステップと;
前記第1圧縮データを、前記単一装置を利用してコード変換して、第2フォーマットの第2圧縮データを生成するステップと
を具えていることを特徴とするデータ圧縮方法。 - 前記符号化をリアルタイムで行うことを特徴とする請求項22に記載の方法。
- 前記コード変換をオフラインで行うことを特徴とする請求項22に記載の方法。
- 前記第1圧縮データをコード変換して、前記単一装置に結合した通信ネットワークの容量に整合させるべく適応させた第2フォーマットの第2圧縮データを生成することを特徴とする請求項22に記載の方法。
- 前記符号化を、第1エンコーダを利用して実行することを特徴とする請求項22に記載の方法。
- 前記コード変換を、デコーダ及び第2エンコーダを利用して実行することを特徴とする請求項26に記載の方法。
- 前記第1フォーマットがウェーブレット・フォーマットを含むことを特徴とする請求項22に記載の方法。
- 前記第2フォーマットが、DCTベースのフォーマットを含むことを特徴とする請求項22に記載の方法。
- 前記第2フォーマットが、MPEGフォーマットを含むことを特徴とする請求項29に記載の方法。
- 単一デバイス上に実現され、データを符号化して第1フォーマットの第1圧縮データを生成するエンコーダと;
前記エンコーダと同じ単一デバイス上に実現され、前記第1圧縮データをコード変換して第2フォーマットの第2圧縮データを生成するトランスコーダと
を具えていることを特徴とするデータ圧縮用単一デバイス。 - 前記符号化をリアルタイムで行うことを特徴とする請求項31に記載の単一デバイス。
- 前記コード変換をオフラインで行うことを特徴とする請求項31に記載の単一デバイス。
- 前記第1圧縮データをコード変換して、前記単一装置に結合した通信ネットワークの容量に整合させるべく適応させた第2フォーマットの第2圧縮データを生成することを特徴とする請求項31に記載の単一デバイス。
- 前記符号化を、第1エンコーダを利用して実行することを特徴とする請求項31に記載の単一デバイス。
- 前記コード変換を、デコーダ及び第2エンコーダを利用して実行することを特徴とする請求項35に記載の単一デバイス。
- 前記第1フォーマットがウェーブレット・フォーマットを含むことを特徴とする請求項31に記載の単一デバイス。
- 前記第2フォーマットが、DCTベースのフォーマットを含むことを特徴とする請求項31に記載の単一デバイス。
- 前記第2フォーマットが、MPEGフォーマットを含むことを特徴とする請求項38に記載の単一デバイス。
- 単一集積回路上の複数のエンコーダを利用してデータを圧縮する方法であって、この方法が、
前記単一集積回路でデータを受け取るステップと;
前記単一集積回路に内蔵された前記複数のエンコーダを利用して、前記データを符号化するステップと
を具えていることを特徴とするデータ圧縮方法。 - 前記単一集積回路上の複数のチャンネルを利用して、前記データを符号化することを特徴とする請求項40に記載の方法。
- 前記データを、ウェーブレットベースのフォーマットに変換することを特徴とする請求項40に記載の方法。
- 単一集積回路上に実現され、第1組のデータを符号化する第1エンコーダと;
前記第1エンコーダと同じ単一集積回路上に実現され、第2組のデータを符号化する第2エンコーダと
を具えていることを特徴とする単一集積回路。 - 前記単一集積回路上の複数のチャンネルを利用して、前記データを符号化することを特徴とする請求項43に記載の単一集積回路。
- 前記データを、ウェーブレットベースのフォーマットに符号化することを特徴とする請求項43に記載の単一集積回路。
- 単一モジュールを利用して光子を受け取るステップと;
前記単一モジュールを利用して、前記光子を表現する圧縮データを出力するステップと
を具えていることを特徴とするデータ圧縮方法。 - 前記圧縮データを、ウェーブレットベースのフォーマットに符号化することを特徴とする請求項46に記載の方法。
- 前記符号化に関連する変換操作を、アナログで実行することを特徴とする請求項47に記載の方法。
- 前記単一モジュールが撮像素子を含むことを特徴とする請求項46に記載の方法。
Applications Claiming Priority (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US37396602P | 2002-04-19 | 2002-04-19 | |
| US37397402P | 2002-04-19 | 2002-04-19 | |
| US37406102P | 2002-04-19 | 2002-04-19 | |
| US37406902P | 2002-04-19 | 2002-04-19 | |
| US38525402P | 2002-05-28 | 2002-05-28 | |
| US39038302P | 2002-06-21 | 2002-06-21 | |
| US39038002P | 2002-06-21 | 2002-06-21 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003586705A Division JP2005523615A (ja) | 2002-04-19 | 2003-04-17 | ウェーブレット変換システム、方法、及びコンピュータプログラム製品 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010141922A true JP2010141922A (ja) | 2010-06-24 |
Family
ID=29255754
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003586705A Abandoned JP2005523615A (ja) | 2002-04-19 | 2003-04-17 | ウェーブレット変換システム、方法、及びコンピュータプログラム製品 |
| JP2010036657A Pending JP2010141922A (ja) | 2002-04-19 | 2010-02-22 | ウェーブレット変換システム、方法、及びコンピュータプログラム製品 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003586705A Abandoned JP2005523615A (ja) | 2002-04-19 | 2003-04-17 | ウェーブレット変換システム、方法、及びコンピュータプログラム製品 |
Country Status (5)
| Country | Link |
|---|---|
| EP (1) | EP1500268A2 (ja) |
| JP (2) | JP2005523615A (ja) |
| CN (2) | CN1663257A (ja) |
| AU (1) | AU2003230986A1 (ja) |
| WO (1) | WO2003090028A2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017532919A (ja) * | 2014-08-22 | 2017-11-02 | ノバ サウスイースタン ユニバーシティーNova Southeastern University | クロネッカー積を使用するデータアダプティブ圧縮およびデータ暗号化 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100878833B1 (ko) * | 2005-10-05 | 2009-01-14 | 엘지전자 주식회사 | 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치 |
| KR101169281B1 (ko) | 2005-10-05 | 2012-08-02 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩 방법 및 이의 장치 |
| US7840401B2 (en) | 2005-10-24 | 2010-11-23 | Lg Electronics Inc. | Removing time delays in signal paths |
| US8731062B2 (en) * | 2008-02-05 | 2014-05-20 | Ntt Docomo, Inc. | Noise and/or flicker reduction in video sequences using spatial and temporal processing |
| FR2998078A1 (fr) * | 2012-11-09 | 2014-05-16 | I Ces Innovative Compression Engineering Solutions | Procede pour limiter la memoire necessaire a l'enregistrement d'un fichier audio, image ou video cree grace a un appareil dans ledit appareil. |
| CN104346819B (zh) * | 2014-11-10 | 2017-09-05 | 河北省科学院应用数学研究所 | 基于限定小波大纲的最大误差图像压缩方法 |
| CN107196660A (zh) * | 2017-04-24 | 2017-09-22 | 南京数维康信息科技有限公司 | 低功耗数据压缩算法 |
| CN107238817B (zh) * | 2017-07-04 | 2020-03-03 | 中国人民解放军海军航空大学 | 一种参数自适应设置及自动调整的雷达辐射源信号分选方法 |
| CN109410891B (zh) * | 2017-08-17 | 2021-01-01 | 群创光电股份有限公司 | 显示器以及其操作方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03500597A (ja) * | 1988-01-22 | 1991-02-07 | ザ トラスティーズ オブ コロンビア ユニバーシティー イン ザ シティー オブ ニューヨーク | 階層式像エンコーディング/デコーディングシステム/方法 |
| JPH07135446A (ja) * | 1993-11-11 | 1995-05-23 | Takayama:Kk | 周波数変換回路 |
| JPH09107548A (ja) * | 1995-10-11 | 1997-04-22 | Matsushita Electric Ind Co Ltd | 画像圧縮装置および画像圧縮方法 |
| JPH10507891A (ja) * | 1994-10-20 | 1998-07-28 | マサチューセッツ・インスティテュート・オブ・テクノロジー | ハイブリッドフィルタバンクアナログ/デジタルコンバータ |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3197420B2 (ja) * | 1994-01-31 | 2001-08-13 | 三菱電機株式会社 | 画像符号化装置 |
| JP3277677B2 (ja) * | 1994-04-01 | 2002-04-22 | ソニー株式会社 | 信号符号化方法及び装置、信号記録媒体、信号伝送方法、並びに信号復号化方法及び装置 |
| JPH0850486A (ja) * | 1994-06-02 | 1996-02-20 | Matsushita Electric Ind Co Ltd | サウンドデータアクセス装置、サンプリングデータ列補間装置、サンプリングデータ列アクセス装置、およびサンプリングデータ列補間方法、ならびにサウンドデータアクセス装置を用いたマルチメディア機器、および電子楽器 |
| US6195465B1 (en) * | 1994-09-21 | 2001-02-27 | Ricoh Company, Ltd. | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream |
| JP2914891B2 (ja) * | 1995-07-05 | 1999-07-05 | 株式会社東芝 | X線コンピュータ断層撮影装置 |
| JPH10224789A (ja) * | 1997-02-07 | 1998-08-21 | Matsushita Electric Ind Co Ltd | 画像データ処理装置および画像データ処理方法 |
| EP0907255A1 (en) * | 1997-03-28 | 1999-04-07 | Sony Corporation | Data coding method and device, data decoding method and device, and recording medium |
| US6360021B1 (en) * | 1998-07-30 | 2002-03-19 | The Regents Of The University Of California | Apparatus and methods of image and signal processing |
| JPH1188183A (ja) * | 1997-09-11 | 1999-03-30 | Seiko Epson Corp | ウェーブレット変換装置およびその方法並びにウェーブレット逆変換装置およびその方法並びに画像符号化装置およびその方法並びに画像復号化装置およびその方法 |
| JP3152197B2 (ja) * | 1998-01-07 | 2001-04-03 | ヤマハ株式会社 | 楽音発生方法 |
| US6546143B1 (en) * | 1999-03-12 | 2003-04-08 | Hewlett-Packard Development Company | Efficient wavelet-based compression of large images |
| US6407747B1 (en) * | 1999-05-07 | 2002-06-18 | Picsurf, Inc. | Computer screen image magnification system and method |
| US6643406B1 (en) * | 1999-07-28 | 2003-11-04 | Polaroid Corporation | Method and apparatus for performing linear filtering in wavelet based domain |
| CN1322014A (zh) * | 2000-04-29 | 2001-11-14 | 双汉科技股份有限公司 | 光二极管互补金属氧化物半导体图像传感器的制造方法 |
| JP4625565B2 (ja) * | 2000-06-28 | 2011-02-02 | 東芝情報システム株式会社 | X線コンピュータ断層撮影装置 |
-
2003
- 2003-04-17 CN CN 03814097 patent/CN1663257A/zh active Pending
- 2003-04-17 WO PCT/US2003/012078 patent/WO2003090028A2/en not_active Ceased
- 2003-04-17 AU AU2003230986A patent/AU2003230986A1/en not_active Abandoned
- 2003-04-17 JP JP2003586705A patent/JP2005523615A/ja not_active Abandoned
- 2003-04-17 CN CN2010102713429A patent/CN101902648A/zh active Pending
- 2003-04-17 EP EP03724105A patent/EP1500268A2/en not_active Withdrawn
-
2010
- 2010-02-22 JP JP2010036657A patent/JP2010141922A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03500597A (ja) * | 1988-01-22 | 1991-02-07 | ザ トラスティーズ オブ コロンビア ユニバーシティー イン ザ シティー オブ ニューヨーク | 階層式像エンコーディング/デコーディングシステム/方法 |
| JPH07135446A (ja) * | 1993-11-11 | 1995-05-23 | Takayama:Kk | 周波数変換回路 |
| JPH10507891A (ja) * | 1994-10-20 | 1998-07-28 | マサチューセッツ・インスティテュート・オブ・テクノロジー | ハイブリッドフィルタバンクアナログ/デジタルコンバータ |
| JPH09107548A (ja) * | 1995-10-11 | 1997-04-22 | Matsushita Electric Ind Co Ltd | 画像圧縮装置および画像圧縮方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017532919A (ja) * | 2014-08-22 | 2017-11-02 | ノバ サウスイースタン ユニバーシティーNova Southeastern University | クロネッカー積を使用するデータアダプティブ圧縮およびデータ暗号化 |
| JP2019204542A (ja) * | 2014-08-22 | 2019-11-28 | ノバ サウスイースタン ユニバーシティーNova Southeastern University | クロネッカー積を使用するデータアダプティブ圧縮およびデータ暗号化 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2003090028A2 (en) | 2003-10-30 |
| CN1663257A (zh) | 2005-08-31 |
| EP1500268A2 (en) | 2005-01-26 |
| CN101902648A (zh) | 2010-12-01 |
| AU2003230986A8 (en) | 2003-11-03 |
| JP2005523615A (ja) | 2005-08-04 |
| WO2003090028A3 (en) | 2004-03-25 |
| AU2003230986A1 (en) | 2003-11-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2010141922A (ja) | ウェーブレット変換システム、方法、及びコンピュータプログラム製品 | |
| US7483486B2 (en) | Method and apparatus for encoding high dynamic range video | |
| US7369161B2 (en) | Digital camera device providing improved methodology for rapidly taking successive pictures | |
| US8588536B2 (en) | Guaranteed-rate tiled image data compression | |
| US7847833B2 (en) | Digital camera device providing improved methodology for rapidly taking successive pictures | |
| US6023295A (en) | ADPCM recompression and decompression of a data stream of a video image and differential variance estimator | |
| TWI826487B (zh) | 用於視訊寫碼中之適應性運動向量差解析度及增加的運動向量儲存精確度的運動向量捨位 | |
| JP2005333622A (ja) | イメージおよびビデオの予測可逆符号化 | |
| EP2698997A1 (en) | Encoder and method | |
| CN1549459A (zh) | 数字便携式终端和数字信号处理设备 | |
| AU2022202473B2 (en) | Method, apparatus and system for encoding and decoding a tensor | |
| RU2518932C2 (ru) | Уменьшенное рассогласование коэффициентов усиления постоянной состовляющей (dc) и dc-утечки при обработке преобразования с перекрытием | |
| KR100937378B1 (ko) | 압축 도메인에서 스틸 이미지들을 처리하기 위한 방법,컴퓨터 프로그램 생성물, 및 장치 | |
| US20250254307A1 (en) | Method, apparatus and system for encoding and decoding a tensor | |
| Lee et al. | Lossless compression of HDR color filter array image for the digital camera pipeline | |
| Lee et al. | Lossless white balance for improved lossless CFA image and video compression | |
| US20030198395A1 (en) | Wavelet transform system, method and computer program product | |
| US20250254339A1 (en) | Method, apparatus and system for encoding and decoding a tensor | |
| US20120106621A1 (en) | Chroma temporal rate reduction and high-quality pause system and method | |
| KR20050018659A (ko) | 웨이브렛 변환 시스템, 방법 및 컴퓨터 프로그램 제품 | |
| Zhang et al. | Real-time lossless compression of mosaic video sequences | |
| Bazhyna | Image compression in digital cameras | |
| JP2003092684A (ja) | 画像符号化装置、及び画像符号化方法、並びにプログラム、記憶媒体 | |
| WO2023197030A1 (en) | Method, apparatus and system for encoding and decoding a tensor | |
| AU2023202315A1 (en) | Method, apparatus and system for encoding and decoding a tensor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100324 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100324 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20100326 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121203 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130311 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130314 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130611 |
