JP2002171412A - X分木命令を備えるsimd型情報処理装置 - Google Patents

X分木命令を備えるsimd型情報処理装置

Info

Publication number
JP2002171412A
JP2002171412A JP2000363757A JP2000363757A JP2002171412A JP 2002171412 A JP2002171412 A JP 2002171412A JP 2000363757 A JP2000363757 A JP 2000363757A JP 2000363757 A JP2000363757 A JP 2000363757A JP 2002171412 A JP2002171412 A JP 2002171412A
Authority
JP
Japan
Prior art keywords
data
bit
register
bits
instruction
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.)
Withdrawn
Application number
JP2000363757A
Other languages
English (en)
Inventor
Hiroaki Yoshino
宏昭 吉野
Yoshiaki Sudo
義明 数藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000363757A priority Critical patent/JP2002171412A/ja
Publication of JP2002171412A publication Critical patent/JP2002171412A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【課題】 1つの命令で、複数のデータ中の或るビット
で構成されるビットプレーンに対するX分木による演算
処理を実現するSIMD型情報処理装置を提供する。 【解決手段】 n個のmビットデータに対する4分木命
令であるか否かをk2分木命令判別部106で判別した
場合、k2分木演算部107はソースレジスタA、Bの
データに基づいて4分木演算を行う。ここで、k2分木
演算部107は、ソースレジスタAに記憶されている1
6個のデータ(各データは8ビット)において、ソース
レジスタBで示されるビットプレーンに対する4分木演
算を行い、その結果を、演算データ選択部108が選択
肢、デスティネーションレジスタに格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は様々な処理情報の符
号化、特に静止画像や動画像などの画像情報についてビ
ットプレーン毎に符号化を行う場合、効率よく符号化す
るために用いられる4分木のためのSIMD型の情報処
理装置に関するものである。
【0002】
【従来の技術】図6は64×64の濃淡画像である。1
ピクセル(画素)を8ビット(256階調)で表現して
いるものとする。この場合、64×64画素の画像を表
すためには32,768ビット必要となる。符号化を行
う場合、この情報を1次元に並べ替え順次符号化を行い
データ量の圧縮を行うことになる。
【0003】ただし、ウェーブレット変換のような周波
数変換を行った場合、変換後の各周波成分に8ビットを
割り当てたとしても、その上位のビット、特に最上位ビ
ット(MSB=ビット7)は“0”となる割合が高い。
そこで、各値の同じビット位置で構成されるプレーン
(ビットプレーン)を生成し、それを単位に圧縮符号化
することが考えられる。
【0004】ここで上位のビットプレーンほど“0”の
データが占める割合が多くなるのは上記の通り予想がつ
くので、この点に関して効率的な処理が望まれる。
【0005】このような画像情報などの符号化におい
て、符号化対象となるビット列を効率よく符号化するた
めにk2分木を用いると便利になる場合がある。以下で
はk=2の場合である4分木を用い、情報の内容を表し
てから、必要となる部分のみビット列として符号化を行
う例を以下に説明する。
【0006】なお、以下では1つのデータを「画素」と
して表現するが、これは便宜的なものであり、例えば、
DCT変換後の各周波数成分データをも含むものであ
る。
【0007】図7は64×64画素の画像データ(各画
素は8ビット)に対する4分木を用いて画像情報を表し
方を示している。ここで、各画素データの同じビットi
のビット情報だけで構成されるプレーンをi番目のプレ
ーンという。従って、最下位ビット(LSB)から構成
されるのプレーンは0番目のプレーン、最上位ビットで
構成されるプレーンは7番目のプレーンという。
【0008】ここで、図7に示す如く、P番目(0≦P
≦7)のビットプレーンについて説明する。なお、以下
の説明で「要素」とは、64×64の画像データの1画
素の値(濃度や輝度、或いはDCT等の変換係数)を示
すものとする。
【0009】今、P番目のビットプレーンに着目してい
るわけであるから、2P以上の値を持つ要素があるかど
うかを判断する。この意味は、そのような値を持つ要素
が存在するのであれば、P番目のプレーンより上位のプ
レーンに“1”となっているビットが存在することにな
り、もし、なければP番目のプレーンより上位のプレー
ンの全ビットは“0”となっていることを意味する。例
えば、4番目のプレーンを着目した場合、“16”(=
4)以上の値を持つものが存在するかどうかを判断
し、もし存在すれば5番目以上のビットプレーンに
“1”となっている部分が存在することになる。
【0010】この結果、P番目のプレーンにおいて2P
以上の要素が存在すれば、注目しているプレーンについ
ての状態として“1”を出力し、存在しなければ“0”
を出力する。ここで、この出力値が“0”の場合には、
このビットプレーンに含まれる情報はないとして符号化
対象となるビット列には0とだけ出力し、ビット列の生
成処理を終了する。すなわち、この場合、P番目のビッ
トプレーンは1ビットの“0”だけでそのデータを表現
できることを意味する。
【0011】一方、出力値が“1”の場合には、全体を
4分割し、それぞれの子ブロック内に2P以上の値を持
つ要素が存在するかどうかを調べ、存在するなら“1”
を、存在しないなら“0”を判定結果として出力する。
そして、この値が“1”ならば、その子ブロックに対し
て更に4分割を行い孫ブロック内に2P以上の要素が存
在するか否かを調べる。
【0012】このようにして各ブロックの情報を表した
4分木情報をビット列として生成し、最後の孫ブロック
で“1”と判定された部分についてのみ、その内部のビ
ットを並べる。こうすることで“0”と判定された部分
はビット列から削除され、ビット列生成時で効率よく情
報を削減できる。
【0013】図示の場合、1回目の判定処理では、P番
目のビットプレーンには、2P以上の値を持つ要素が存
在することを示しているので、初期段階の判定値は
“1”となる。
【0014】次いで、2回目、すなわち、4分割した際
の子ブロック中の左上、右上のブロックに2P以上の値
を持つ要素が含まれることを示している。左上隅から右
側へ走査し、それが終わると1つ下げて右側へ走査する
こととすると、その出力値は“1100”となる。
【0015】そして、3回目では、2回目の出力値が
“1”となったブロックを更に4分割し、それぞれのブ
ロック(孫ブロック)について判定する(2回めの判定
結果が“0”のブロックについては考察しない)。図示
の場合には、その出力値は“10110111”(8ビ
ット)となる。なお、この8ビットデータ列は、2回め
の“1”となった子ブロックに対応することは一義的に
決まるので、上位の判定結果から辿っていくことで、孫
ブロックの位置が確定され、その位置が不定となること
はない。
【0016】3回目の判定処理で終了し、その出力値が
“1”となった孫ブロックは、16×16ビット備える
ことになるから、この孫ブロックについてはそのままの
ビットデータを羅列する。尚、孫ブロックにまで分割し
たとき、スキャンする順序において、或る孫ブロックか
ら最後の孫ブロックまでの判定結果が“0”の場合に
は、その値は考慮する必要はない(除去する)。
【0017】以上の結果、判定結果として 1+1100+10110111 の計13ビットとなり、3回目の判定で“1”となった
ブロック(計6個)についてはそのプレーンのビットデ
ータをそのまま利用するとすると、16×16×6=1
536ビットとなる。つまり、判定結果と合わせて15
49(=1536+13)ビットで表現できることにな
る。
【0018】これは、1プレーンが64×64ビット=
4096ビットであったわけであるから、実に半分以下
にまで情報量を減らすことができたことを意味する。
【0019】なお、最上位ビットのビットプレーンにつ
いては、多くの場合“1”となるものが少ないので、場
合によっては全て“0”となることもある。この場合、
1回目の判定結果でその処理は終了する。すなわち、こ
のビットプレーンのデータ長は“0”の1ビットのみと
なる。
【0020】因に、P番目のビットプレーンのすべての
要素が2Pを越える場合、その情報量は最大になる。こ
の場合、1〜3回目の判定結果の全てが“1”となるの
で、全部で1+4+16の計21ビットが判定結果とな
る。これに16個の孫ブロックのビット数(各孫ブロッ
クは16×16ビット)が加わることになる。すなわ
ち、上記の判定処理による判定ビットである21ビット
分増加することになるが、この意味するところは、高々
2つ以上の孫ブロックの判定結果が“0”になるだけ
で、情報量が少なくなることを意味していることに他な
らない。
【0021】ところで、複数の情報を一括して演算する
SIMD(Single Instruction Multiple Data)型の情報
処理装置がある。
【0022】SIMD型情報処理装置では、1つの演算
命令でレジスタ内のn個のmビットの要素に対してそれ
ぞれ演算が行われる(nとmは自然数)。演算として
は、加算や減算、乗算などの算術演算や、論理和や論理
積などのビット論理演算、さらにシフト演算や比較演算
などが備わっている。このSIMD型情報処理装置の命
令には、乗算の種類を指定するフィールドや、2つもし
くは1つのソースとなるレジスタを指定するフィールド
や、1つのデスティネーションレジスタを指定するフィ
ールドが含まれている。ただし一方のソースレジスタが
デスティネーションレジスタを兼ねる場合もある。ま
た、命令の中にはレジスタ内の要素の分割方法を指定す
るフィールドも存在し、レジスタはある場合にn個のm
ビットに分割されたり、他の場合には2n個のm/2ビ
ットに分割されたりする。通常、レジスタ分割はデータ
長が8,16,32ビットの要素に分割されていることが
多く、またレジスタ全長としては64ビットや128ビ
ットであることが多いが、これに限定される訳ではな
い。
【0023】このようなSIMD型情報処理装置では図
8に示されるように指定された2つのレジスタ間の対応
する要素間で演算が行われる。図ではn=4の場合が指
定されているが、他の場合でも同様にすべての要素間で
演算が行われる。また、命令内の指定(特定のフィール
ドが予約されている)によって2つのレジスタ間の対応
する要素間ではなく、図9に示されるように一方のレジ
スタのある特定の要素(最上位や最下位の要素)と、も
う一方のレジスタの各要素との演算を行う場合もある。
この図でもn=4の場合が示されているが、他の場合で
も同様に、一方のレジスタのすべての要素に対して演算
が行われる。また、2つのレジスタ間の演算ではなく、
図10に示されるように命令に埋め込まれた即値と1つ
のソースレジスタの各要素との演算を行う場合もある。
【0024】情報処理装置内部で、以上のような演算命
令を、すべてハードウェアによって演算機能を実現して
いる場合(ハードワイヤードロジック方式)と、装置内
部に演算を行うためのプログラムを持ってそのプログラ
ムにしたがって演算機能を実現している場合(マイクロ
プログラム方式)がある。しかし、これは内部的な構成
の相違であり、情報処理装置上で動作するプログラムに
はどのような影響も与えることはない。
【0025】
【発明が解決しようとする課題】以上のようなSIMD
型装置で、画像情報の符号化時等において先に説明した
2分木作成を行う場合は、シフト演算と比較演算を行
うことで計算対象となるビットを取り出し、論理演算を
用いて各ブロックの論理和の計算を行い、さらにその結
果を比較して続く処理を実行しなければならず、計算時
間が長くなるという問題があった。
【0026】本発明はかかる問題に鑑みなされたもので
あり、1つの命令で、複数のデータ中の或るビットで構
成されるビットプレーンに対するX分木による演算処理
を実現するSIMD型情報処理装置を提供しようとする
ものである。
【0027】また、他の発明は、上記X分木処理中に必
要となる比較演算を高速にするSIMD型情報処理装置
を提供しようとするものである。
【0028】
【課題を解決するための手段】この課題を解決するた
め、例えば本発明のSIMD型情報処理装置は以下の構
成を備える。すなわち、mビットで表されるデータをn
個保持可能なレジスタと、該レジスタに格納されたデー
タそれぞれのビットiで構成されるビットプレーンに対
して有意なビットの存在を示すデータを、1つのX分木
処理の処理命令で生成するX分木演算手段とを備えるS
IMD型情報処理装置であって、前記X分木演算手段
は、前記レジスタ内のn個のデータそれぞれと2iの比
較し、比較結果を出力する比較手段と、n個の比較結果
の論理和を演算する第1演算手段と、n個の比較結果中
のn/X個の比較結果を論理和を演算するX個の第2演
算手段と、該第2演算手段の論理和の結果が有意である
場合に、当該第2演算手段で論理和演算の対象となった
前記比較結果を出力する第3演算手段と、前記第1演算
手段、前記第2演算手段、前記第3演算手段の演算結果
を出力する出力手段とを備える。
【0029】
【発明の実施の形態】以下、添付図面に従って本発明に
係る実施形態を詳細に説明する。
【0030】<第1の実施形態>本実施形態において
は、4分木を用いた場合について述べる。ただし、以下
の説明から明らかになるように、4分木ではなくそれ以
上であっても構わないので、これによって本願発明が限
定されるものではない。
【0031】図1は実施形態におけるSIMD型情報処
理装置を示すブロック図であり、主要な特徴部分はk2
分木命令判別部、k2分木演算部及び演算データ選択部
である。
【0032】SIMD型情報処理装置において、命令供
給部101は命令を記憶装置(メモリ)から読み込む機
能を実現し、そこで読み込まれた命令は命令デコーダ部
102によって命令のビット列から演算の種類やソース
レジスタ番号、デスティネーションレジスタ番号を抜き
出し、レジスタファイル103をアクセスしてソースデ
ータ(ソースレジスタ)を読み込む。演算部104で
は、命令デコーダ部から渡された演算の種類を示す制御
信号に基づいて、ソースデータの演算を行う。演算の種
類にしたがって2つのソースデータを必要とする演算
と、1つのソースレジスタを利用する演算に分けられ
る。この演算結果はメモリアクセス部105とレジスタ
書き込み部に渡され、メモリアクセス命令であれば、こ
こでメモリアクセスが行われ、そうでなければメモリア
クセス部では何もせずにデータを通してレジスタ書き込
み部において演算結果やメモリアクセス結果をデスティ
ネーションレジスタに書き込む。以上が情報処理装置内
での演算の流れである。
【0033】本実施形態では、命令デコーダ部102に
4分木命令判別部106を用意し、そこで読み込んだ命
令が特別に用意した4分木命令であるかどうかを判別す
る。もし、4分木命令であれば、演算部に渡される制御
信号内に4分木命令であることを示す信号が出力され
る。また、演算部104には、ソースレジスタから4分
木命令にしたがった演算を行う4分木演算部107を用
意する。また、演算データ選択部108には4分木命令
であることを示す信号が命令デコーダ部からきていた場
合に、4分木演算部107による演算結果を演算データ
として選択する回路を加える。以上のようなモジュール
を付加することで、本実施形態の4分木命令を行う情報
処理装置が実現される。
【0034】実施形態における4分木の演算例を図11
に示す。なお、このときの対象ブロックの並びは図12
のようになっているとする。図12は4×4のブロック
を示している。各ブロックM[i](0≦i≦15)は
16×16画素データ(各8ビット)の論理和結果を格
納しているものとする(図7における孫ブロックに対応
する)。つまり、図示では64×64の領域についての
ものである。
【0035】図11において、ソースレジスタ110は
128ビットであり16個のデータがM[0]〜[1
5]の順に格納されていることになる。また、ソースレ
ジスタ111の最下位3ビットには0〜7が格納され、
何番目のビットプレーンに対して4分木処理するかを示
すデータが格納される。
【0036】この2つのレジスタに従い、図7に示す処
理を行った判定結果が、デスティネーションレジスタ1
12に格納されることになる。デスティネーションレジ
スタには、先に説明したように最大21ビットのデータ
が格納されるが、孫ブロックの判定結果における“0”
となった位置から最後の位置まで“0”が連続する場合
には、そのデータは無意味(省略可能)であるので、図
示では、判定結果として13ビットが判定結果として意
味のあるデータとなる。
【0037】なお、実施形態では、レジスタに格納され
たデータ順は、レジスタの最上位に、記憶アドレスの小
さいほうに格納されたデータが格納されていることを仮
定している。但し、これが逆順の場合は論理和対象が同
じになるように演算を行い逆順に保存することで同様の
結果を得るものであるので、それによって本発明が限定
されるものではない。
【0038】図2と図3は実施形態における4分木演算
部のブロック図である。これは情報処理装置内部の4分
木演算部がハードワイヤードロジックによって実装され
ている例である。
【0039】図2におけるソースレジスタAは図11に
おけるソースレジスタ110、ソースレジスタBは図1
1のソースレジスタ111に対応する。
【0040】シフト部201では、ソースレジスタBの
下位3ビットの値Nで示された回数だけ、初期値“1”
を上位へシフトする(2Nを算出することと等価)。
【0041】比較器202では、ソースレジスタAのM
[0]の8ビットを取り出し、それがシフト部201か
ら供給された値(2N)と比較し、ソースレジスタAか
らのデータが、2N以上である場合には“FF”、2N
満の場合には“00”(いずれも16進数表記)を、判
定結果の最初のデータとして書き出す。以下、この処理
をM[1]、M[2]、…M[15]と行い、図示のよ
うに16個の“00”、又は、“FF”の値を生成し、
要素判定結果として4分木演算回路203に出力する。
【0042】4分木演算回路203は、図3の構造を成
している。図示において、302は16個のデータ(2
N以上であるか否かのデータ)を記憶する内部レジスタ
であって、格納されるデータは“00”か“FF”のい
ずれか一方であるので、各データの適当な1ビット(最
下位ビットとする)を取り出す。
【0043】論理和部303は、取り出した16個のデ
ータ(16ビット)を論理和を演算取るものであり、こ
の結果は演算データ生成部の先頭ビットに格納される。
この論理和部303は、図11で説明した最初段階での
判定処理を行うものに対応する。
【0044】論理和ユニット304は4つの論理和部で
構成され、それぞれは図11の2回目の判定、すなわ
ち、子ブロックの判定を演算する部分である。この為、
各論理和部には4ビット(2×2)の入力端子を備えて
いる。
【0045】また、論理和ユニット305は、多数のセ
レクタで構成されるものであり、図11の3回目の判
定、すなわち、孫ブロックの判定を演算する部分であ
る。図示の構造からもわかるように、論理和ユニット3
04の中の1つの判定結果が“0”となると、対応する
セレクタの最上段のセレクタは“0”を選択することに
なり、これが次々と伝播していき、4ビットとも“0”
の出力を行う。また、論理和ユニット304の中の1つ
の判定結果が“1”となると、着目している孫ブロック
のデータ(判定結果の4ビット)が、演算データ生成部
306に出力されることになる。以上のように4分木部
の実装が行える。
【0046】<第2の実施形態>図4及び図5は第2の
実施形態における4分木演算の手順であり、情報処理装
置内部の4分木演算部がマイクロプログラムによって実
装されている場合のマイクロプログラムのフロー図を示
している。なお、ここでは、図12のM[0]〜M[1
5]は既に用意されているものとする。
【0047】記憶装置から読み込まれた命令は、ステッ
プ401に示す4分木命令判別のステップで4分木命令
かどうか判別される。もし4分木命令でなければ他の命
令である場合には、他の命令の実行ステップ402に移
る。
【0048】もし4分木命令であれば、ステップ403
で、ソースレジスタの最下位要素、すなわち、何番目の
プレーンに対する処理であるかを示すデータを取り出
し、それをNに代入する。次いで、ステップ404で、
“1”(=LSBが“1”)を、N回上位にシフトし
て、その結果をCに代入する。
【0049】次のステップ405では、ソースレジスタ
Aから16個の要素をM[]に格納する。そして、M
[x]とC(=2N)とを比較し、M[x]≧Cが成立す
る場合にはS[x]=1、そうでなければS[x]=0
に設定する(S[]も16個の配列である)。この
S[]は、図3の内部レジスタに対応することになる。
こうして、S[0]〜S[15]が生成されると、ステ
ップ407で4分木演算を実行する。
【0050】この4分木演算の詳細を図5に示す。
【0051】まず、ステップ501では、S[0]からS
[15]の論理和を計算し、その結果をA[0]に出力す
る。このA[0]が、図7の1回めの判定結果に対応す
ることは容易に理解できよう。
【0052】次にステップ502〜505で、全体を4
分割した子ブロックに対応するビットの論理和を計算
し、それぞれをA[1]〜A[4]に出力する。ステップ5
06は出力する配列の番号Nを設定する。ステップ50
7,509、511、513でA[1]〜A[4]に値を識別
し、1ならばステップ508、510、512、514
で子ブロックをさらに4分割した孫ブロックの値を出力
する。
【0053】以上のように本実施形態によれば、画像情
報の符号化時などのk2分木の計算時間を大幅に短縮で
きるという効果がある。
【0054】<第3の実施形態>上記実施形態では4分
木処理について説明したが、その処理の中で或るP番目
のプレーンに着目したとき、その中の要素に2Pの値を
持つものがあるか否かを判定する必要があった。すなわ
ち、P番目のビットプレーンの或る位置のデータが
“1”である場合、少なくとも、その要素は2P以上の
値を持つことが約束されるので、図7の判定処理は簡単
になる。しかしながら、P番目のビットプレーンの或る
位置のデータが“0”の場合には、それより上位のビッ
トで構成されるビットプレーンに“1”があるかどうか
は定かでないので、それのみで判断することはできな
い。従って、オリジナルの個々のデータ(8ビットで表
現される値)との大小判定を行う必要がある。
【0055】そこで、本第3の実施形態では、P番目の
ビットプレーンのみを用いて、2Pよりも大きい要素が
あるか否かの判断を行うことを可能にする。具体的に
は、次の通りである。
【0056】今、8ビットの“9”という値に着目した
とき、それを二進数で表現すると“00001001”
となる(ビット7、6、…0の順に表記した)。
【0057】本実施形態では、最上位ビット(MSB)
から最下位ビットに調べていき、最初に“1”が見つか
った以降の下位ビットを全て“1”で埋める。上記の
“9”の場合、この処理を行うと二進数で“00001
111”(16進数でF)となる。
【0058】かかるビット埋め処理を行うと、或るP番
目のビットプレーンに着目したとき、それが“0”であ
った場合には、その要素は2P以上の値を持たないとし
て判定できるし、ビットプレーンのデータが“1”であ
った場合には2P以上の値を有するとして判定して構わ
ないことになる。つまり、或るビットが“1”であるか
“0”であるかで、2Pの値を持つ要素があるか否かを
判断できることになり、演算処理が簡略化されることに
より処理速度を高速化することができる。
【0059】本第3の実施形態では、これをSIMD型
装置で一度に複数個のデータに対して行う。
【0060】図15は、本第3の実施形態におけるビッ
ト埋め処理の例を示している。ソースレジスタは128
ビットであり、1つのデータは8ビットで計16個のデ
ータに対してビット埋め処理を一度に処理する。埋めこ
んだデータはデスティネーションレジスタに格納するも
のとしているが、ソースレジスタを更新するようにして
も良いのは勿論である。
【0061】図13に実施形態におけるSIMD型情報
処理装置の構成を示す。命令供給部101は命令を記憶
装置(メモリ)から読み込む機能を実現し、そこで読み
込まれた命令は命令デコーダ部102によって命令のビ
ット列から演算の種類やソースレジスタ番号、デスティ
ネーションレジスタ番号を抜き出し、レジスタファイル
103をアクセスしてソースデータ(ソースレジスタ)
を読み込む。演算部104では、命令デコーダ部から渡
された演算の種類を示す制御信号に基づいて、ソースデ
ータの演算を行う。演算の種類にしたがって2つのソー
スデータを必要とする演算と、1つのソースレジスタを
利用する演算に分けられる。この演算結果はメモリアク
セス部105とレジスタ書き込み部に渡され、メモリア
クセス命令であれば、ここでメモリアクセスが行われ、
そうでなければメモリアクセス部では何もせずにデータ
を通してレジスタ書き込み部において演算結果やメモリ
アクセス結果をデスティネーションレジスタに書き込
む。以上が情報処理装置内での演算の流れである。
【0062】本第3の実施形態では、命令デコーダ部1
02にビット埋め命令判別部106’を用意し、そこで
読み込んだ命令が特別に用意したビット埋め命令である
かどうかを判別する。もし、ビット埋め命令であれば、
演算部に渡される制御信号内にビット埋め命令であるこ
とを示す信号が出力される。また、演算部104には、
ソースレジスタの内容を、ビット埋め命令にしたがった
演算を行うビット埋め演算107’を用意する。また、
演算データ選択部108にはビット埋め演算命令である
ことを示す信号が命令デコーダ部からきていた場合に、
ビット埋め演算部107’による演算結果を演算データ
として選択する回路を加える。以上のようなモジュール
を付加することで、本第3の実施形態のビット埋め命令
を行う情報処理装置が実現される。
【0063】図14は、ビット埋め演算部107’の具
体的な構成を示している。なお、図示ではソースレジス
タ(128ビット)中の先頭のデータ(8ビット)にお
ける詳細を示している。他のデータについても同じであ
る。
【0064】ソースレジスタの128ビットのデータは
要素取り出し部で各8ビットずつ取り出され、ORゲー
トユニット140に供給される。ORゲートユニット1
40は図示に示す如く、ビット7(MSB)の1ビット
は取り出されたデータがそのまま出力され、そのデータ
はビット6の出力とORゲートに供給され、ここで論理
和の演算が行われ、それが出力されると共に、下位のビ
ット5に設けられたORゲートに供給される。同様にこ
れが繰り返されるような構造をしている。
【0065】かかる構造によると、例えば、取り出した
8ビット中のMSBからLSBにビットへ辿っていると
き、最初に“1”のビットがあるとそれより下位のビッ
ト全てが“1”で埋めこまれることになる。これが、取
り出し部で取り出された16個のデータ、それぞれに同
時に行われることになる。以上のように4分木処理で行
う際に効率良く判定を行うためのデータを生成すること
が可能となる。
【0066】なお、上記構成において、例えば別のソー
スレジスタを用意し、そのソースレジスタで“P”を指
定し、Pビット目のビットプレーンについて値2Pを有
するか否かの判定フラグをON/OFFする行うように
してもよい。
【0067】この場合には、上記のようにして得られた
16個のデータのビット毎の論理和を行いデータA(8
ビット)を得る。そして、“1”を値Pで示された回数
シフトし、そのデータBと先に求めたデータAとを論理
積し、その論理積結果を判定フラグに使用すればよいで
あろう。
【0068】なお、上記の第3の実施形態は、図2の比
較部202内に適用すれば良い。すなわち、着目したP
番目のビットプレーンに対する比較結果が“1”となっ
た場合に、図2に従ってFFを出力し、“0”となった
場合に“00”を出力する。
【0069】<第4の実施形態>上記第3の実施形態の
処理を、マイクロプログラムで行う例を第4の実施形態
として説明する。
【0070】図16はそのマイクロプログラムのフロー
図である。
【0071】まず、ステップ1301でビット埋め命令
であるかどうかを判断する。ビット埋め命令でなけれ
ば、他の命令であると判断し、他の命令の実行ステップ
1302に移る。
【0072】また、ビット埋め命令である場合には、ス
テップ1303に進みソースレジスタの各要素を取り出
し、そのデータをSn[m]に格納する。第3の実施形態に
従えば、nは要素数であるので16、mは各要素のビッ
ト長であるので8となるが、本実施形態では0を含める
ので、n=15、m=7となる。
【0073】次いで、初期値としてiにm(=7)を代
入し、出力用変数Ax[i]にSx[i]を代入する(x=0、
1、…15)。すなわち、各出力用変数のMSBには、
Sx[]のMSBが格納される。
【0074】ステップ1305では、Ax[i-1]に、Sx
[i-1]とAx[i]の論理和を格納する。これにより、ビッ
ト7とビット6の論理和が生成され、それが各出力用変
数のビット6の位置に格納される。
【0075】この後、i≦0と判断されるまで、iを
“1”だけディクリメント(ステップ1307)し、上
記の処理を繰り返す。
【0076】こうしてi≦0となると、出力変数Ax[]
には、ビット埋め後のデータが格納されることになるの
で、ステップ1308でデスティネーションレジスタに
出力し、本処理を終える。
【0077】以上説明したように、本第3、第4の実施
形態に従えば、1つのデータがmビットで表現され、そ
のmビットのデータのn個について、2P以上であるか
否かを判定した結果を1つの命令で実現できる。従っ
て、第1、第2の実施形態における4分木演算に活用す
れば更なる高速な演算を行えるようになる。
【0078】
【発明の効果】以上説明したように本発明によれば、1
つの命令で、複数のデータ中の或るビットで構成される
ビットプレーンに対するX分木による演算処理を実現す
るSIMD型情報処理装置を提供できる。
【0079】また、上記X分木処理中に必要となる比較
演算を高速にすることも可能になる。
【図面の簡単な説明】
【図1】第1の実施形態におけるSIMD型情報処理装
置のブロック図である。
【図2】図1におけるk2分木演算の比較部のブロック
図である。
【図3】図2における4分木演算回路のブロック図であ
る。
【図4】第2の実施形態における比較部におけるマイク
ロプログラムのフロー図である。
【図5】第2の実施形態における4分木演算部のマクロ
プログラムのフロー図である。
【図6】符号化対象の画像の一例を示す図である。
【図7】4分木処理を説明するための図である。
【図8】SIMD型情報処理装置における2つのレジス
タの各要素間での演算を示す概念図である。
【図9】SIMD型情報処理装置におけるレジスタの全
要素ともう一方のレジスタの最下位もしくは最上位の要
素との演算を示す概念図である。
【図10】SIMD型情報処理装置におけるレジスタの
全要素と命令に埋め込まれた即値との演算を示す概念図
である。
【図11】実施形態における4分木命令によってブロッ
クの構造を計算した演算結果の例を示す図である。
【図12】ソースレジスタに入れる要素の順序を示す図
である。
【図13】第3の実施形態におけるSIMD型情報処理
装置のブロック図である。
【図14】図13におけるビット埋め演算部の具体的な
構成を示す図である。
【図15】第3の実施形態における演算の例を示す図で
ある。
【図16】第4の実施形態を実現するためのマクロプロ
グラムのフロー図である。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B057 CA08 CA12 CA16 CB08 CB12 CB16 CC02 CG07 CH01 CH08 5C059 KK12 KK50 MA35 UA02 5C078 AA04 BA57 BA64 CA31 DA01 DB19

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 mビットで表されるデータをn個保持可
    能なレジスタと、該レジスタに格納されたデータそれぞ
    れのビットiで構成されるビットプレーンに対して有意
    なビットの存在を示すデータを、1つのX分木処理の処
    理命令で生成するX分木演算手段とを備えるSIMD型
    情報処理装置であって、 前記X分木演算手段は、 前記レジスタ内のn個のデータそれぞれと2iの比較
    し、比較結果を出力する比較手段と、 n個の比較結果の論理和を演算する第1演算手段と、 n個の比較結果中のn/X個の比較結果を論理和を演算
    するX個の第2演算手段と、 該第2演算手段の論理和の結果が有意である場合に、当
    該第2演算手段で論理和演算の対象となった前記比較結
    果を出力する第3演算手段と、 前記第1演算手段、前記第2演算手段、前記第3演算手
    段の演算結果を出力する出力手段とを備えることを特徴
    とするSIMD型情報処理装置。
  2. 【請求項2】 更に、 前記ビットiのプレーンに対する命令であることを示す
    数値iを格納するためのパラメータレジスタと、 初期値“1”のデータを前記パラメータレジスタに格納
    されたiビット上位にシフトすることで2iを算出する
    シフト手段とを備え、前記比較手段は、前記シフト手段
    でシフトして得られたデータを用いることを特徴とする
    請求項第1項に記載のSIMD型情報処理装置。
  3. 【請求項3】 前記出力手段は、デスティネーションレ
    ジスタに出力することを特徴とする請求項第1項又は第
    2項に記載のSIMD型演算装置。
  4. 【請求項4】 前記X分木演算手段を構成する各手段
    は、ワイヤードロジックで構成されることを特徴とする
    請求項第1項乃至第3項のいずれか1項に記載のSIM
    D型演算装置。
  5. 【請求項5】 前記X分木演算手段は、マイクロプログ
    ラムで構成されることを特徴とする請求項第1項乃至第
    3項のいずれか1項に記載のSIMD型演算装置。
  6. 【請求項6】 前記X分木は4分木であることを特徴と
    する請求項第1項乃至第6項のいずれか1項に記載のS
    IMD型情報処理装置。
  7. 【請求項7】 前記比較手段は、 mビットで表されるデータをn個保持可能なソースレジ
    スタと、 該ソースレジスタに格納された各データそれぞれに対
    し、有意な上位ビットがある場合に、下位ビットに伝播
    する論理ゲートユニットとを備え 各データのビットiが“0”か“1”かを判断すること
    で、2i以上のデータを有するか否かの比較結果を出力
    することを特徴とする請求項第1項乃至第6項のいずれ
    か1項に記載のSIMD型情報処理装置。
  8. 【請求項8】 mビットで表されるデータをn個保持可
    能なレジスタと、該レジスタに格納されたデータが2i
    以上の値を持つか否かを1つ処理命令で生成する演算手
    段とを備えるSIMD型情報処理装置であって、 該レジスタに格納された各データそれぞれに対し、有意
    な上位ビットがある場合に、下位ビットに伝播する論理
    ゲートユニットを備え、 各データのビットiが“0”か“1”かを判断するだけ
    で、2i以上のデータを有するか否かの可能としたSI
    MD型情報処理装置。
JP2000363757A 2000-11-29 2000-11-29 X分木命令を備えるsimd型情報処理装置 Withdrawn JP2002171412A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000363757A JP2002171412A (ja) 2000-11-29 2000-11-29 X分木命令を備えるsimd型情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000363757A JP2002171412A (ja) 2000-11-29 2000-11-29 X分木命令を備えるsimd型情報処理装置

Publications (1)

Publication Number Publication Date
JP2002171412A true JP2002171412A (ja) 2002-06-14

Family

ID=18834816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000363757A Withdrawn JP2002171412A (ja) 2000-11-29 2000-11-29 X分木命令を備えるsimd型情報処理装置

Country Status (1)

Country Link
JP (1) JP2002171412A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009506606A (ja) * 2005-08-26 2009-02-12 エレクトロソニック リミティド 画像データ処理方法
JP2016091404A (ja) * 2014-11-07 2016-05-23 コニカミノルタ株式会社 記憶システム、記憶システムの制御プログラム、およびコントローラー
US9992252B2 (en) 2015-09-29 2018-06-05 Rgb Systems, Inc. Method and apparatus for adaptively compressing streaming video

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009506606A (ja) * 2005-08-26 2009-02-12 エレクトロソニック リミティド 画像データ処理方法
US9204170B2 (en) 2005-08-26 2015-12-01 Rgb Systems, Inc. Method for image data processing utilizing multiple transform engines
US9924199B2 (en) 2005-08-26 2018-03-20 Rgb Systems, Inc. Method and apparatus for compressing image data using compression profiles
US9930364B2 (en) 2005-08-26 2018-03-27 Rgb Systems, Inc. Method and apparatus for encoding image data using wavelet signatures
US10051288B2 (en) 2005-08-26 2018-08-14 Rgb Systems, Inc. Method and apparatus for compressing image data using a tree structure
US10244263B2 (en) 2005-08-26 2019-03-26 Rgb Systems, Inc. Method and apparatus for packaging image data for transmission over a network
JP2016091404A (ja) * 2014-11-07 2016-05-23 コニカミノルタ株式会社 記憶システム、記憶システムの制御プログラム、およびコントローラー
US10409503B2 (en) 2014-11-07 2019-09-10 Konica Minolta, Inc. Storage system which makes backups of input data
US9992252B2 (en) 2015-09-29 2018-06-05 Rgb Systems, Inc. Method and apparatus for adaptively compressing streaming video

Similar Documents

Publication Publication Date Title
CN112292816B (zh) 处理核心数据压缩和存储系统
US5463701A (en) System and method for pattern-matching with error control for image and video compression
JP5025658B2 (ja) プラットフォームおよびこのプラットフォームを用いた処理方法
JPH03128574A (ja) 疑似中間調処理装置
JPH1196345A (ja) グラフィックス画像の圧縮及び逆圧縮方法
JP2604971B2 (ja) 画像生成方法およびシステム
JP2002171412A (ja) X分木命令を備えるsimd型情報処理装置
US10559093B2 (en) Selecting encoding options
US5864838A (en) System and method for reordering lookup table entries when table address bits are reordered
JP2004517527A (ja) グラフィック画像符号化
JP2002171525A (ja) ビットプレーン演算命令を備えたsimd型演算装置
JP3261208B2 (ja) 画情報予測符号化および復号化装置
JP3270665B2 (ja) 符号化/復号化装置及び方法
JP2003198858A (ja) 符号化装置および復号化装置
JPH07249995A (ja) データ符号化装置
JP2729165B2 (ja) 画像処理装置及びその処理方法
JP4086481B2 (ja) 算術復号化方法及び装置並びに記憶媒体
JPH11205613A (ja) 画像処理装置
JP3146092B2 (ja) 符号化装置及び復号化装置
JP2917732B2 (ja) 圧縮画像メモリ制御装置
JP2957673B2 (ja) 反転グレイコードの逆変換値算出方法
JP3145510B2 (ja) 圧縮符号の復号化方法及び装置
JP3332630B2 (ja) 復号装置及びデコードテーブルの生成方法
WO1995008161A1 (en) Power domain algorithms for fractal image decompression
JPH04182751A (ja) 画像メモリの読出制御回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205