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
Application number
JP15271698A
Other languages
English (en)
Other versions
JPH11346155A (ja
Inventor
俊哉 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP15271698A priority Critical patent/JP3465592B2/ja
Publication of JPH11346155A publication Critical patent/JPH11346155A/ja
Application granted granted Critical
Publication of JP3465592B2 publication Critical patent/JP3465592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は特に画像処理の分野
に於いて、その内部処理結果である32ビット浮動小数
点数を8ビットの2進(16進)整数にデータ形式変換
する技術に関する。
【0002】
【従来の技術】昨今のコンピュータによる画像処理技術
の進展は目覚ましいものがあるが、その裏で技術を支え
ているのが画素単位の膨大な量の浮動小数点演算であ
る。
【0003】そしてカラー画像に於ける画素毎のR、
G、B各8ビットに対するDCT(Discrete Cosine Tr
ansformation) などの浮動小数点演算を行った結果を、
0〜255の2進8ビット整数値に変換する必要が多々
あり、画像処理に於けるこの変換処理時間の占めるウエ
イトは極めて高いと言える。
【0004】このデータ形式変換に際し、例えばC言語
などではこれをCPU固有の型変換命令を含んだ命令群
にコンパイルするが、このCPUとして今日最も普及し
ている「Pentium Processor 」の場合、型変換命令であ
るfistp 命令だけで6クロックを要し、その他複数ステ
ップの関数呼出し命令やレジスタへのロード命令などを
含めると、約20クロックが必要となり、このデータ形
式変換のための時間が画像処理の高速化を阻害する一要
因となっていた。
【0005】
【発明が解決しようとする課題】この様に更なる画像処
理の高速化を実現するためには、前述のような頻繁に使
われる32ビット浮動小数点数を8ビット整数にデータ
形式変換する処理時間を可及的短縮せねばならないとい
う問題があった。
【0006】本発明はこのような点にかんがみて、主に
画像処理の内部演算で使用する32ビット浮動小数点数
を8ビット整数にデータ形式変換するための処理時間短
縮手段を提供することを目的とする。
【0007】
【課題を解決するための手段】上記の課題は下記の如く
に構成されたデータ形式変換装置によって解決される。
即ち、図1は本発明の原理図であり、32ビット浮動小
数点形式のデータを8ビット整数形式のデータに変換す
るデータ形式変換装置に於いて、32ビット浮動小数点
データの上位16ビットをインデックスとしたビットパ
ターンに対応した8ビット整数値を記憶する変換表10
と、前記上位16ビットにより変換表の表引きを行う表
引手段11とを備えることにより、画像処理などで頻繁
に使用する32ビット浮動小数点形式のデータから8ビ
ット整数形式のデータへの変換処理を高速化することが
可能となる。
【0008】
【発明の実施の形態】本発明は「IEEE」32ビット
浮動小数点データを2進8ビット整数データ(10進の
0〜255)に変換するもので、整数データは符号付き
でも符号無しでも良いが、画像処理では符号無しを用い
るため以下これを例に説明すると共に、扱うデータが整
数である故、小数点以下は切捨てると同時に255以上
の浮動小数点値は255の整数値に飽和させるものとす
る。
【0009】本装置への入力データとなる32ビット浮
動小数点数は以下の様に表現される。即ち、 ここでs:符号ビット e:指数ビット m,n:仮数ビット を表し、「/」印から左側を上位16ビット、右側を下
位16ビットと呼称するものとする。
【0010】前記32ビット浮動小数点数に於いて上位
16ビットを採ると仮数部は7ビットであるが、「0」
以外の値では「IEEE形式の規約」により仮数部の最
上位ビットには仮数部の正規化規則により暗黙に「1」
が挿入されるため実質8ビットとなり、上位16ビット
の仮数部は以下の様になる。尚、「0」の場合は全ビッ
トが「0」である。
【0011】仮数=1.mmm mmmm 従って8ビット整数を表現する仮数ビットはこれで十分
であり、下位16ビットについては小数点以下の値のた
め切捨てて良いことになる。
【0012】この仮数に「IEEE規約」の指数部を加
え「0」以外の浮動小数点データを表現すると、 2^( 指数-127)*仮数 但し、仮数=1.mmm mmmm となり、8ビットで0〜255の整数値を与えれば、そ
れに応じた上位16ビットが決まる。
【0013】本発明は、この上位16ビットをインデッ
クスとして、そのビットパターン(インデックスパター
ンと呼ぶ)により予め用意された図2に例示する様な後
述の変換表による表引きを行い、8ビット整数値を求め
るものである。
【0014】そこで先ず図2を参照しながら上位16ビ
ットのインデックスパターンから8ビット整数値を求め
るための変換表を作成する方法を説明する。尚、この表
のメモリ領域は、要素数×要素バイト数=2^16*1
バイト=64kバイトである。
【0015】前記上位16ビットのインデックスパター
ンを「0」から「2^16−1」まで変化させ、(イン
デックスパターン+下位16ビットが「0」)の32ビ
ットパターンを元の32ビット浮動小数点データとし
て、 「0」以下ならば変換表に「0」を登録する・・項番
12が相当 「255」以上ならば変換表に「255」を登録する
・・項番11が相当 上記以外ならば小数点以下を切り捨てた整数値を登録
する・・上記以外(項番4は小数点以下を切り捨てた
例) 以上の操作手順により図2の様な変換表が作成される訳
であるが、この変換表はデータ形式変換プログラム(3
2ビット浮動小数点形式のデータを8ビット整数形式の
データに変換するプログラム)の起動時に作成しても、
又予め作成し、ファイルとして保存されたものをデータ
形式変換プログラムから読み込むかたちの何れでも良
い。
【0016】続いて前記変換表を使用して動作するデー
タ形式変換プログラムについて説明するが、変換表の記
憶された先頭ポインタとして「table 」、又非変換デー
タ(32ビット浮動小数点形式のデータ)の記憶された
ポインタとして「data」という変数名がそれぞれ付され
ているものとする。
【0017】図3はこのデータ形式変換プログラムの処
理手順についてフロー化したもので、例えば現在CPU
として最も普及している「Pentium Processor 」の場合
を想定して記述したものである。
【0018】先ず、ステップ30に於いて変換表の先頭
アドレスをレジスタaにロードする。次にステップ31
では32ビット浮動小数点データをレジスタbにロード
し、このレジスタbの内容をステップ32で右へ16ビ
ットシフトする。
【0019】そして最後にステップ33に於いて(レジ
スタa+レジスタb)のアドレスの内容をレジスタcに
ロードして変換処理を終了する。この時のレジスタcの
内容が求める8ビット整数データであり、前記「data」
の32ビット浮動小数点データが変換されたものであ
る。
【0020】これ等を前記ステップに対応したプログラ
ムで書くと下記の様になる。 ステップ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 をそれぞれ意味している。
【0021】前記プログラムの実行に際しての使用クロ
ック数は、「Pentium Processor 」の場合、整数演算ユ
ニットが2個ありこれ等は並列動作可能なため、ステッ
プ30対応とステップ31対応の2命令は1クロックで
済み、ステップ32対応の命令で1クロック、そしてス
テップ33対応の命令ではAGI(Address Generation Int
erlock) が発生するため2クロックを要し、合計4クロ
ックにてデータ形式変換全てを終了することになる。
尚、AGI とは直前の命令で使用したレジスタをアドレス
計算で使用した場合に発生するもので、当例に於いては
レジスタbがこれに相当する。
【0022】この様に本発明では、32ビット浮動小数
点形式のデータを8ビット整数形式のデータに変換する
ために従来、約20クロック要していたものを4クロッ
クで済ますことが可能となり、極めて効率的且つ効果的
な方式である。
【0023】尚、本発明に於けるコンピュータ処理は、
コンピュータプログラムにより当該コンピュータの主記
憶装置上で実行されるが、このコンピュータプログラム
の提供形態は、当該コンピュータに接続された補助記憶
装置をはじめ、フロッピーディスクやCD−ROM等の
可搬型記憶装置やネットワーク接続された他のコンピュ
ータの主記憶装置及び補助記憶装置等の各記録媒体に格
納されて提供されるもので、このコンピュータプログラ
ムの実行に際しては、当該コンピュータの主記憶装置上
にローディングされ実行されるものである。
【0024】
【発明の効果】以上の説明から明らかなように本発明に
よれば、特に画像処理の分野に於いて、その内部処理結
果である32ビット浮動小数点形式のデータを、その上
位16ビットをインデックスとした表引きで8ビット整
数形式のデータに変換することにより、データ形式変換
の処理時間が従来の約1/5に短縮され、画像処理の高
速化に大きく貢献するという著しい工業的効果がある。
【図面の簡単な説明】
【図1】 本発明の原理図
【図2】 本発明の変換表サンプル
【図3】 本発明の処理手順
【符号の説明】
10 変換表 11 表引手段

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 32ビット浮動小数点形式のデータを8
    ビット整数形式のデータに変換するデータ形式変換装置
    に於いて、 32ビット浮動小数点データの上位16ビットのビット
    パターンを0から2^16−1まで変化させ、前記上位
    16ビットと全て0である下位16ビットから成る32
    ビット浮動小数点データが、0以下なら0、255以上
    なら255、それ以外なら小数点以下を切り捨てた整数
    値を8ビット整数値として記憶する変換表と、 前記上位16ビットにより変換表の表引きを行う表引手
    段と、 を備えたことを特徴とするデータ形式変換装置。
  2. 【請求項2】 コンピュータに32ビット浮動小数点形
    式のデータを8ビット整数形式のデータに変換させるプ
    ログラムを記録した記録媒体であって、 32ビット浮動小数点データの上位16ビットのビット
    パターンを0から2^16−1まで変化させ、前記上位
    16ビットと全て0である下位16ビットから成る32
    ビット浮動小数点データが、0以下なら0、255以上
    なら255、それ以外なら小数点以下を切り捨てた整数
    値を8ビット整数値として記憶する変換表に基づき、前
    記上位16ビットにより表引きを行う表引きステップを
    実行させるためのプログラムを記録したコンピュータ読
    み取り可能な記録媒体。
JP15271698A 1998-06-02 1998-06-02 データ形式変換装置 Expired - Fee Related JP3465592B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100329791B1 (ko) * 1999-12-22 2002-03-25 박종섭 양방향 동시 변환이 가능한 데이터 포맷 변환기

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