JP3465592B2 - データ形式変換装置 - Google Patents
データ形式変換装置Info
- Publication number
- JP3465592B2 JP3465592B2 JP15271698A JP15271698A JP3465592B2 JP 3465592 B2 JP3465592 B2 JP 3465592B2 JP 15271698 A JP15271698 A JP 15271698A JP 15271698 A JP15271698 A JP 15271698A JP 3465592 B2 JP3465592 B2 JP 3465592B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bits
- bit
- format
- floating point
- 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.)
- Expired - Fee Related
Links
Description
に於いて、その内部処理結果である32ビット浮動小数
点数を8ビットの2進(16進)整数にデータ形式変換
する技術に関する。
の進展は目覚ましいものがあるが、その裏で技術を支え
ているのが画素単位の膨大な量の浮動小数点演算であ
る。
G、B各8ビットに対するDCT(Discrete Cosine Tr
ansformation) などの浮動小数点演算を行った結果を、
0〜255の2進8ビット整数値に変換する必要が多々
あり、画像処理に於けるこの変換処理時間の占めるウエ
イトは極めて高いと言える。
などではこれをCPU固有の型変換命令を含んだ命令群
にコンパイルするが、このCPUとして今日最も普及し
ている「Pentium Processor 」の場合、型変換命令であ
るfistp 命令だけで6クロックを要し、その他複数ステ
ップの関数呼出し命令やレジスタへのロード命令などを
含めると、約20クロックが必要となり、このデータ形
式変換のための時間が画像処理の高速化を阻害する一要
因となっていた。
理の高速化を実現するためには、前述のような頻繁に使
われる32ビット浮動小数点数を8ビット整数にデータ
形式変換する処理時間を可及的短縮せねばならないとい
う問題があった。
画像処理の内部演算で使用する32ビット浮動小数点数
を8ビット整数にデータ形式変換するための処理時間短
縮手段を提供することを目的とする。
に構成されたデータ形式変換装置によって解決される。
即ち、図1は本発明の原理図であり、32ビット浮動小
数点形式のデータを8ビット整数形式のデータに変換す
るデータ形式変換装置に於いて、32ビット浮動小数点
データの上位16ビットをインデックスとしたビットパ
ターンに対応した8ビット整数値を記憶する変換表10
と、前記上位16ビットにより変換表の表引きを行う表
引手段11とを備えることにより、画像処理などで頻繁
に使用する32ビット浮動小数点形式のデータから8ビ
ット整数形式のデータへの変換処理を高速化することが
可能となる。
浮動小数点データを2進8ビット整数データ(10進の
0〜255)に変換するもので、整数データは符号付き
でも符号無しでも良いが、画像処理では符号無しを用い
るため以下これを例に説明すると共に、扱うデータが整
数である故、小数点以下は切捨てると同時に255以上
の浮動小数点値は255の整数値に飽和させるものとす
る。
動小数点数は以下の様に表現される。即ち、 ここでs:符号ビット e:指数ビット m,n:仮数ビット を表し、「/」印から左側を上位16ビット、右側を下
位16ビットと呼称するものとする。
16ビットを採ると仮数部は7ビットであるが、「0」
以外の値では「IEEE形式の規約」により仮数部の最
上位ビットには仮数部の正規化規則により暗黙に「1」
が挿入されるため実質8ビットとなり、上位16ビット
の仮数部は以下の様になる。尚、「0」の場合は全ビッ
トが「0」である。
であり、下位16ビットについては小数点以下の値のた
め切捨てて良いことになる。
え「0」以外の浮動小数点データを表現すると、 2^( 指数-127)*仮数 但し、仮数=1.mmm mmmm となり、8ビットで0〜255の整数値を与えれば、そ
れに応じた上位16ビットが決まる。
クスとして、そのビットパターン(インデックスパター
ンと呼ぶ)により予め用意された図2に例示する様な後
述の変換表による表引きを行い、8ビット整数値を求め
るものである。
ットのインデックスパターンから8ビット整数値を求め
るための変換表を作成する方法を説明する。尚、この表
のメモリ領域は、要素数×要素バイト数=2^16*1
バイト=64kバイトである。
ンを「0」から「2^16−1」まで変化させ、(イン
デックスパターン+下位16ビットが「0」)の32ビ
ットパターンを元の32ビット浮動小数点データとし
て、 「0」以下ならば変換表に「0」を登録する・・項番
12が相当 「255」以上ならば変換表に「255」を登録する
・・項番11が相当 上記以外ならば小数点以下を切り捨てた整数値を登録
する・・上記以外(項番4は小数点以下を切り捨てた
例) 以上の操作手順により図2の様な変換表が作成される訳
であるが、この変換表はデータ形式変換プログラム(3
2ビット浮動小数点形式のデータを8ビット整数形式の
データに変換するプログラム)の起動時に作成しても、
又予め作成し、ファイルとして保存されたものをデータ
形式変換プログラムから読み込むかたちの何れでも良
い。
タ形式変換プログラムについて説明するが、変換表の記
憶された先頭ポインタとして「table 」、又非変換デー
タ(32ビット浮動小数点形式のデータ)の記憶された
ポインタとして「data」という変数名がそれぞれ付され
ているものとする。
理手順についてフロー化したもので、例えば現在CPU
として最も普及している「Pentium Processor 」の場合
を想定して記述したものである。
アドレスをレジスタaにロードする。次にステップ31
では32ビット浮動小数点データをレジスタbにロード
し、このレジスタbの内容をステップ32で右へ16ビ
ットシフトする。
スタa+レジスタb)のアドレスの内容をレジスタcに
ロードして変換処理を終了する。この時のレジスタcの
内容が求める8ビット整数データであり、前記「data」
の32ビット浮動小数点データが変換されたものであ
る。
ムで書くと下記の様になる。 ステップ30対応・・mov eax, dword ptr table ; ステップ31対応・・mov ebx, dword ptr data ; ステップ32対応・・shr ebx, 16 ; ステップ33対応・・mov cl, byte ptr eax+ebx ; 尚、ここでmov : move shr : shift right dword : double word byte : byte ptr : pointer e#x : extend # register をそれぞれ意味している。
ック数は、「Pentium Processor 」の場合、整数演算ユ
ニットが2個ありこれ等は並列動作可能なため、ステッ
プ30対応とステップ31対応の2命令は1クロックで
済み、ステップ32対応の命令で1クロック、そしてス
テップ33対応の命令ではAGI(Address Generation Int
erlock) が発生するため2クロックを要し、合計4クロ
ックにてデータ形式変換全てを終了することになる。
尚、AGI とは直前の命令で使用したレジスタをアドレス
計算で使用した場合に発生するもので、当例に於いては
レジスタbがこれに相当する。
点形式のデータを8ビット整数形式のデータに変換する
ために従来、約20クロック要していたものを4クロッ
クで済ますことが可能となり、極めて効率的且つ効果的
な方式である。
コンピュータプログラムにより当該コンピュータの主記
憶装置上で実行されるが、このコンピュータプログラム
の提供形態は、当該コンピュータに接続された補助記憶
装置をはじめ、フロッピーディスクやCD−ROM等の
可搬型記憶装置やネットワーク接続された他のコンピュ
ータの主記憶装置及び補助記憶装置等の各記録媒体に格
納されて提供されるもので、このコンピュータプログラ
ムの実行に際しては、当該コンピュータの主記憶装置上
にローディングされ実行されるものである。
よれば、特に画像処理の分野に於いて、その内部処理結
果である32ビット浮動小数点形式のデータを、その上
位16ビットをインデックスとした表引きで8ビット整
数形式のデータに変換することにより、データ形式変換
の処理時間が従来の約1/5に短縮され、画像処理の高
速化に大きく貢献するという著しい工業的効果がある。
Claims (2)
- 【請求項1】 32ビット浮動小数点形式のデータを8
ビット整数形式のデータに変換するデータ形式変換装置
に於いて、 32ビット浮動小数点データの上位16ビットのビット
パターンを0から2^16−1まで変化させ、前記上位
16ビットと全て0である下位16ビットから成る32
ビット浮動小数点データが、0以下なら0、255以上
なら255、それ以外なら小数点以下を切り捨てた整数
値を8ビット整数値として記憶する変換表と、 前記上位16ビットにより変換表の表引きを行う表引手
段と、 を備えたことを特徴とするデータ形式変換装置。 - 【請求項2】 コンピュータに32ビット浮動小数点形
式のデータを8ビット整数形式のデータに変換させるプ
ログラムを記録した記録媒体であって、 32ビット浮動小数点データの上位16ビットのビット
パターンを0から2^16−1まで変化させ、前記上位
16ビットと全て0である下位16ビットから成る32
ビット浮動小数点データが、0以下なら0、255以上
なら255、それ以外なら小数点以下を切り捨てた整数
値を8ビット整数値として記憶する変換表に基づき、前
記上位16ビットにより表引きを行う表引きステップを
実行させるためのプログラムを記録したコンピュータ読
み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15271698A JP3465592B2 (ja) | 1998-06-02 | 1998-06-02 | データ形式変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15271698A JP3465592B2 (ja) | 1998-06-02 | 1998-06-02 | データ形式変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11346155A JPH11346155A (ja) | 1999-12-14 |
JP3465592B2 true JP3465592B2 (ja) | 2003-11-10 |
Family
ID=15546603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15271698A Expired - Fee Related JP3465592B2 (ja) | 1998-06-02 | 1998-06-02 | データ形式変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3465592B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100329791B1 (ko) * | 1999-12-22 | 2002-03-25 | 박종섭 | 양방향 동시 변환이 가능한 데이터 포맷 변환기 |
-
1998
- 1998-06-02 JP JP15271698A patent/JP3465592B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11346155A (ja) | 1999-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102447636B1 (ko) | 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법 | |
US9804823B2 (en) | Shift significand of decimal floating point data | |
US8082282B2 (en) | Decomposition of decimal floating point data, and methods therefor | |
US8195727B2 (en) | Convert significand of decimal floating point data from packed decimal format | |
US8468184B2 (en) | Extract biased exponent of decimal floating point data | |
US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
JPH11500547A (ja) | 乗算を有するマイクロプロセッサ | |
JPH0816365A (ja) | 乗算装置 | |
JPH1049369A (ja) | データ処理装置 | |
US7478363B2 (en) | Method for translating a given source program into an object program containing computing expressions | |
US6822586B2 (en) | Apparatus and method for converting binary numbers to character codes | |
JP3465592B2 (ja) | データ形式変換装置 | |
JP5207886B2 (ja) | 文書符号化装置、文書符号化方法 | |
JP4163967B2 (ja) | 浮動小数点演算装置 | |
JP2575969B2 (ja) | 浮動小数点乗除算装置 | |
JP2002032215A (ja) | 10進データ除算方法およびそのプログラム記録媒体 | |
JP2005128618A (ja) | 除算器、露出制御装置および除算方法 | |
JP2005031847A (ja) | 整数演算の方法および整数演算プログラム、ならびに整数演算装置 | |
JP2005310051A (ja) | デジタル信号処理装置 | |
JPH0553759A (ja) | 固定小数点演算ユニツト | |
JPH07271558A (ja) | 数値演算装置 | |
JPH0855011A (ja) | 異機種間データ変換方法 | |
JPH09326707A (ja) | 可変長符号復号化演算処理装置 | |
JPS6133538A (ja) | 演算装置 | |
JPH11194922A (ja) | クライアント/サーバデータ変換システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030729 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |