JPH10320172A - プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置 - Google Patents

プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置

Info

Publication number
JPH10320172A
JPH10320172A JP12598697A JP12598697A JPH10320172A JP H10320172 A JPH10320172 A JP H10320172A JP 12598697 A JP12598697 A JP 12598697A JP 12598697 A JP12598697 A JP 12598697A JP H10320172 A JPH10320172 A JP H10320172A
Authority
JP
Japan
Prior art keywords
program
storage device
machine code
compressed
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
JP12598697A
Other languages
English (en)
Inventor
Yoshiyuki Ono
義之 小野
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP12598697A priority Critical patent/JPH10320172A/ja
Publication of JPH10320172A publication Critical patent/JPH10320172A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 中央処理装置を制御するためのマシンコード
化されたプログラムの性質がどのようなものであろう
と、一定の圧縮効果を得ること。 【解決手段】 プログラム格納装置1は、中央処理装置
2と、中央処理装置2を動作させるためのマシンコード
を圧縮する圧縮器グループ4と、圧縮器グループ4で圧
縮されたマシンコード化されたプログラムを格納する記
憶装置3と、記憶装置3内の圧縮されたプログラムを復
号して中央処理装置2用のマシンコードとする復号器グ
ループ5とを備え、命令の性質によって複数のタイプに
区分されたマシンコードに対応して圧縮器グループ4の
いずれか1つまたは複数を取捨選択してマシンコードを
圧縮する。すなわち、中央処理装置2用のマシンコード
を、それが意味する命令の性質によって複数のタイプに
区分し、各タイプ毎に異なる圧縮アルゴリズムを使用し
てマシンコードを圧縮する。なお、復号時は逆のアルゴ
リズムを使用して復号する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サ等と呼ばれる中央処理装置を動作させるためのマシン
コードからなるプログラムを圧縮する方法および圧縮さ
れたプログラムを復号する方法ならびに圧縮されたプロ
グラムを格納する装置の改良に関する。
【0002】
【従来の技術】中央処理装置は、その組み込まれた機器
を制御するために、各種の制御や演算を行う。この制御
等を行うに当たっては、付属して取り付けられる記憶装
置等に格納されたプログラムに従っている。そして、こ
のプログラムは、マシンコードとして作成されると共
に、所定ビット構成に区切られて記憶装置内に格納され
ている。
【0003】通常、記憶装置がパラレルに入出力できる
ビット数は、4ビット、8ビット、16ビット等一定の
長さに限定される。この長さは、1つのアドレスに格納
できるデータのビット数に相当している。ところが、一
般に、中央処理装置に対する命令は必ずしもすべて一定
の長さのマシンコードで表現することができない。そこ
で、短いマシンコードは1つのアドレスに格納し、長い
マシンコードは2つ以上のアドレスに振り分けて格納さ
れる。
【0004】したがって、コード長の長いマシンコード
は、短いものに比べて読み出しに時間がかかり、このよ
うなマシンコードが多いとプログラムの実行速度が低下
してしまう。また、コード長の長い命令が多く含まれる
プログラムは、これを格納するために大容量の記憶装置
を必要とする難点もある。
【0005】これを解決するために、プログラムをマシ
ンコード化して記憶装置に格納する場合において、プロ
グラムに含まれる命令のうち、マシンコード化したとき
そのコード長が比較的長いものであって、そのプログラ
ム中に比較的多く含まれている特定の命令について、そ
のマシンコードをこれより短い圧縮マシンコードに置換
した後、記憶装置に格納する技術が知られている(特開
昭61−201335号公報参照)。
【0006】また、所定回数連続するマシンコードを検
出し、これを特定形式の圧縮コードに置き換えて記憶装
置に格納するようにし、連続したマシンコードの格納領
域を大幅に低減した装置も知られている(特開平3−1
10645号公報参照)。
【0007】他方、“0”と“1”からなる2値信号を
圧縮する情報理論の世界では、算術符号化方式と呼ばれ
るものが知られている。この算術符号化方式は、エント
ロピー符号化方式であり、本質的に可逆符号化(ロスレ
ス)の性質を持つものである。そして、その原理は、エ
ライアスの符号化として知られている無記憶情報源に対
する理想的符号化方式を実用可能な形に再編成したもの
となっている。すなわち、算術符号とは、“0”と
“1”の直線上の対応区間を各シンボルの生起確率に応
じて不等長に分割していき、対象シンボル系列を対応す
る部分区間に割り当て、再帰的に分割を繰り返していく
ことにより得られた区間内に含まれる点の座標を、少な
くとも他の区間と区別できる2進小数で表現してそのま
ま符号とするものである。
【0008】この算術符号化方式は、有限個の情報源シ
ンボルに特定の符号語を対応させるブロック符号に比
べ、符号器の規模が必要メモリ量などのハードウェアが
小さくて済むこと、高い効率を期待できることおよび適
応符号化が容易なこと等の利点がある。このこと等か
ら、2値信号を扱う情報理論の世界では、この算術符号
化方式がその情報の持つエントロピーに最も近いレベル
に圧縮できるとされ、最も効率の良い符号化方式と言わ
れている。なお、この算術符号化方式は、特に、後述す
るマルコフ情報源の符号化に適するものとなっている。
【0009】この算術符号化方式として、Qコーダ、算
術符号型MELコード、Mini−Maxコーダ等が提
案されている。そして、これらの算術符号を改善したも
のとして、QMコーダと呼ばれている方式が知られてい
る。このQMコーダは、カラー静止画符号化標準(JP
EG)および2値画像符号化標準(JBIG)の両標準
において、共通に使用されている。なお、このQMコー
ダは、2値情報源用の符号であり、JPEGのような多
値情報源の符号化にあたっては、その多値情報源を2値
化するための前処理を必要としている。このような場
合、符号化すべき2値シンボル数は増大するが、多値情
報源としての情報量を増大させることなしに2値系列に
変換することが可能となっている。
【0010】このQMコーダは、JPEGおよびJBI
Gの規定の中にその仕組みについて詳細に述べられてい
るが、ここでは後述する本発明を理解する参考として、
その概要を図9に基づき簡単に説明する。なお、算術復
号型のエントロピー復号器の構成は、エントロピー符号
器の構成と実質的に同一であるので、ここではその説明
は省略する。
【0011】この算術符号型のエントロピー符号器とな
るQMコーダ101は、算術演算部102と、状態記憶
器として機能する発生確率生成手段103とを含んで構
成される。この発生確率生成手段103内には、符号化
に必要なシンボル発数確率を決定するために必要な状態
パラメータテーブルが書き込まれている。上記の状態パ
ラメータは、入力される状態信号106によって特定さ
れる。そして、この状態信号106によって特定された
状態パラメータのテーブルに対し、発生確率手段103
の発生確率演算パラメータが算術演算部102へ向け出
力される。
【0012】算術演算部102は、このようにして入力
される発生確率に基づき、エントロピー符号化を行い、
入力されるデータ104を符号化データ105に圧縮
し、符号化して出力する。そして、符号化されるデータ
104の値により、状態信号に対する発生確率を再計算
し、演算パラメータ更新値が、発生確率生成手段103
へ入力する。この更新結果が次データの発生確率として
テーブルに記憶されることで、QMコーダ101の圧縮
効率が向上することとなる。なお、入力されるデータは
2値化された信号であるが、その信号としては、文字情
報や画像データや順位コード変換により変換された色順
位データ(特開平6−276041号参照)等が代表例
である。図10に、このような技術を多値情報源の代表
例である画像データに用いた従来の符号化システム15
0および復号化システム160を示す。この符号化シス
テム150は、ラインバッファ151と、エントロピー
符号器152とを含むものである。入力されるインデッ
クスの画素データ100Aは、ラインバッファ151お
よびエントロピー符号器152へ入力される。この画素
データ100Aは、図11に示すように、いずれもラス
タースキャンされ水平走査順に順次画素データとして入
力される。
【0013】符号化システム150中のラインバッファ
151は、参照画素生成手段として、既に入力された画
素データ100Aから、符号化対象画素Xに対する参照
画素データA,B,C,Dを作成する。すなわち、ライ
ンバッファ151は、画像をスキャンするときにnライ
ン(1〜5ライン程度が多い)分の履歴を記憶してお
く。そして、符号化対象画素Xの画素データ100Aが
入力されるごとに、この直前の画素Aと、周辺の画素
B,C,Dとからなる一連の画素データを参照画素デー
タ110としてエントロピー符号器152へ向けて出力
する。
【0014】このエントロピー符号器152は、QMコ
ーダ101が使用されているが、ハフマン符号化などの
手法を用いて形成したものとしても良い。そして、参照
画素データ110(一種のコンテキスト)を状態信号と
して用い、対象画素データ100Aを符号化データ20
0に変換出力する。
【0015】一方、復号化システム160は、ラインバ
ッファ161とエントロピー復号器162を含んで構成
される。ここにおいて、ラインバッファ161とエント
ロピー復号器162は、入力される符号化データ200
を符号化システム150のラインバッファ151、エン
トロピー符号器152とは全く逆の手順で復号化出力す
るように形成されている。
【0016】このようにして、符号化システム150
と、復号化システム160とは、互いに全く逆のアルゴ
リズムを用いて、画素データ100Aを符号化データ2
00に符号化し、さらにこの符号化データ200を画素
データ100Bに復号化して出力することができる。し
たがって、このシステムは、各種用途に幅広く用いられ
ている。
【0017】しかし、このようなエントロピー符号器1
52およびエントロピー復号器162では、参照画素デ
ータの状態数に対応した数の符号化パラメータテーブル
が必要となる。このため、圧縮率を高めるために参照画
素数を大きくとればとるほど、符号化および復号化のパ
ラメータテーブルが大きくなる。このため、エントロピ
ー符号器152およびエントロピー復号器162が大型
化かつ高価となってしまうという問題がある。
【0018】このような問題に対し、エントロピー符号
器152およびエントロピー復号器162の中に縮退し
た状態数に応じてパラメータテーブルを小さくさせる技
術が知られている。
【0019】この状態数を縮退するシステムの特徴は、
図12に示すように、図10の符号化システム150や
復号化システム160と同様にエントロピー符号器15
2およびエントロピー復号器162に参照画素データ1
10を状態信号として入力するわけであるが、その入力
に際し、その状態信号140を、ラインバッファ15
1,161から出力される参照画素データ110を縮退
する状態縮退器153,163によって生成する点にあ
る。
【0020】この状態縮退器153、163は、入力さ
れる参照画素データ110を、より少ないビット数の状
態信号140に縮退し、対応するエントロピー符号器1
52およびエントロピー復号器162へ向け出力するよ
うに構成されている。なお、予測器154,164は、
処理する画素がカラーである場合、それぞれカラーシン
ボルの出現頻度に基づいてカラー画素データを色順位に
変換するためおよびその逆を行うための色順位テーブル
をそのメモリーに保有しているものである。
【0021】なお、縮退とは、縮退後の状態数に、元の
状態を分類する操作である。この分類は、分類後のエン
トロピー(1つのシンボルを表示するための平均情報
量)が最少となるように、その組み合わせを選択して行
う。そして、縮退後の状態数、すなわち、分類された後
の状態数に対して識別ビットを付加する。これが状態信
号140である。
【0022】なお、入力されてくるデータ、色順位デー
タ120を生成するために、予測器154,164内に
色順位テーブルが配置されている。この色順位テーブル
の一例として、図13に示されるものが知られている
(特開平6ー276041号公報参照)。この例では、
符号化対象画素Xに対しての色順位テーブルを決める
際、2次元的な周辺画素データR0,R1,R2,R3
を上位の色順位データとして使用し、符号化対象画素X
と同一ラインの1次元テーブルを下位の色順位データと
して使用するものである。このとき、1次元テーブルか
ら周辺画素データR0,R1,R2,R3のカラーシン
ボルを除去した後、上位と下位の色順位データをドッキ
ングさせ符号化対象画素Xの色順位テーブルとしてい
る。
【0023】具体的にどのように色順位テーブルができ
あがるかを図13に基づき説明する。符号化されるカラ
ーシンボルが16色の場合を考える。仮に、色順位を図
13(A)に示すように、各画素の位置R0,R1,R
2…R8… で固定したとき、それぞれのカラーシンボ
ルが図13(B)に示すように、C4,C3,C6,C
5,C2,C2…のとき、できあがる最新出現表となる
色順位テーブルは、図13(C)に示すようになる。す
なわち、最上位はR0のC4,2番目はR1のC3,3
番目はR2のC6,4番目はR3のC5,5番目はR4
のC2,6番目はR5にあるC2となるが、C2は既に
発生しており、さらにR6のC4も既に発生しているの
で、第6番目はR7のC0となる。このようにして既に
上位にある色すなわち、R0〜R3に出現するカラーシ
ンボルを除いた色順位データがR0〜R3のデータに加
わり、16色のカラーシンボルの第1番目から16番目
までが決められる。
【0024】
【発明が解決しようとする課題】このように、中央処理
装置を制御するマシンコードを圧縮するには、特開昭6
1−201335号公報や特開平3−110645号公
報に開示されるように、プログラムの特徴を検出して、
圧縮する方法がある。また、その圧縮に利用する技術と
しては、上述したように、QMコーダ101等のエント
ロピー符号器、複数のレジスタからなるFIFOを利用
した、いわゆる先頭移動処理(Move to Front)の最新出
現表利用の技術、色順位変換等の順位コード変換技術、
マルコフモデル等の状態縮退技術等が採用される。
【0025】しかしながら、本発明者の実験によれば、
QMコーダ101や最新出現表や順位コード変換等の各
方式のみでは、中央処理装置のマシンコードは十分圧縮
されないことが判明した。これは、その性質を無視し
て、単に8ビット等の単位で圧縮しているためである。
この1バイト単位の圧縮は、LHA等のLZ系の圧縮の
際にも行われている。
【0026】また、特開昭61−201335で開示さ
れる技術は、マシンコードのコード長の長い命令が多く
含まれる特殊なプログラムには十分な効果があるもの
の、通常のプログラムに対しては圧縮効果はほとんど生
じない。また、特開平3−110645の技術は、特定
回数連続するコードを多く含むものに対しては、かなり
効果があるものの、連続するコードがそれ程ないものに
ついては、やはり圧縮の効果は出てこない。
【0027】本発明は、中央処理装置を制御するための
マシンコード化されたプログラムの性質がどのようなも
のであろうと、一定の圧縮効果を得ることができる新規
なプログラム圧縮方法およびプログラム復号方法ならび
にプログラム格納装置を提供することを目的とする。
【0028】
【課題を解決するための手段】かかる目的を達成するた
め、請求項1記載のプログラム圧縮方法では、中央処理
装置が制御する記憶装置に、マシンコード化されたプロ
グラムを圧縮して格納するプログラム圧縮方法におい
て、中央処理装置用のマシンコードを、それが意味する
命令の性質によって複数のタイプに区分し、各タイプ毎
に異なる圧縮アルゴリズムを使用してマシンコードを圧
縮している。
【0029】このように、中央処理装置を動作させる各
コードが意味する命令の性質によって、複数のタイプに
マシンコードを区分して、異なるアルゴリズムで圧縮す
るようにしているので、命令の性質に合った最適な圧縮
が可能となる。このため、圧縮率が向上し、必要な記憶
容量を低減させることができる。
【0030】また、請求項2記載の発明では、請求項1
記載のプログラム圧縮方法において、各命令タイプ毎
に、そのマシンコードから少なくとも、レジスタフィー
ルドおよび定数フィールドの2種類のデータを分離し、
分離された各データをそれぞれ異なる符号化工程を使用
して圧縮している。
【0031】このため、マシンコードのタイプ毎の区分
に加え、各フィールド毎に専用の圧縮器で符号化するの
で、一層、圧縮率が高いものとなる。そして、特に、ビ
ット数が多くなるレジスタフィールドと定数フィールド
をそれぞれ専用の符号化工程によって処理できるので他
のフィールドの専用化に比べ圧縮率の面で有利となる。
【0032】また、請求項3記載のプログラム復号方法
では、中央処理装置が制御する記憶装置から、圧縮され
たマシンコードのプログラムを復号するプログラム復号
方法において、圧縮されたマシンコードを、それが意味
する命令の性質によって複数のタイプに区分し、各タイ
プ毎に異なる復号アルゴリズムを使用して、圧縮された
マシンコードを復号している。
【0033】このように復号に際し、その命令の性質に
合った復号アルゴリズムを使用できるので、復号効率が
向上する。また、圧縮されたマシンコードが保存される
記憶装置の容量を低減させることができる。
【0034】さらに、請求項4記載の発明では、中央処
理装置と、この中央処理装置を動作させるためのマシン
コードを圧縮する圧縮器と、この圧縮器で圧縮されたマ
シンコード化されたプログラムを格納する記憶装置と、
この記憶装置内の圧縮されたプログラムを復号して中央
処理装置用のマシンコードとする復号器とを備えたプロ
グラム格納装置において、圧縮器を複数設け、命令の性
質によって複数のタイプに区分されたマシンコードに対
応して複数の圧縮器のいずれか1つまたはいずれかの複
数を取捨選択して、マシンコードを圧縮するようにして
いる。
【0035】このように、中央処理装置を動作させる各
マシンコードが意味する命令の性質によって複数のタイ
プにマシンコードを区分して、各タイプ毎に対応する圧
縮器を使用しているので、命令の性質に合った最適な圧
縮が可能となる。このため、この装置を使用すると、プ
ログラムの性質に拘わらず、圧縮率が向上する。また、
記憶容量も減少させることができ、この装置の高機能化
も達成し易くなる。
【0036】加えて、請求項5記載の発明では、請求項
4記載のプログラム格納装置において、少なくとも、マ
シンコードの命令フィールドを圧縮する第1の圧縮器
と、マシンコードのレジスターフィールドを圧縮する第
2の圧縮器と、マシンコードの定数フィールドを圧縮す
る第3の圧縮器とを設けている。
【0037】このため、マシンコードのタイプ毎の区分
に加え、各マシンコードのフィールド毎に専用の圧縮器
で符号化するので、一層、圧縮率が高いものとなる。
【0038】また、請求項6記載の発明では、中央処理
装置と、この中央処理装置を動作させるためのマシンコ
ードが圧縮されて格納された記憶装置と、この記憶装置
内の圧縮されたプログラムを復号して中央処理装置用の
マシンコードとする復号器とを備えたプログラム格納装
置において、復号器を複数設け、命令の性質によって複
数のタイプに区分されかつ圧縮されたマシンコードに対
応して、複数の復号器のいずれか1つまたはいずれか複
数を取捨選択して圧縮されたマシンコードを復号してい
る。
【0039】このように、中央処理装置を動作させる圧
縮された各マシンコードが意味する命令の性質によって
複数のタイプにその圧縮されたマシンコードを区分して
各タイプ毎に対応する復号器を使用しているので、命令
の性質に合った最適な復号が可能となる。このため、こ
の装置を使用すると、プログラムの性質に拘わらず復号
効率が向上する。
【0040】本発明のプログラム圧縮方法およびプログ
ラム復号方法ならびにプログラム格納装置では、中央処
理装置が使用するマシンコードのくせを利用して、その
マシンコードを圧縮したり、復号したりしている。すな
わち、中央処理装置の命令タイプによって、命令コード
(一般にオペコードと呼ばれる)の後の部分の使われ方
が違ってくるので、その命令タイプを判断して、命令タ
イプ毎に最適な圧縮方法や復号方法を採用している。よ
って、処理されるプログラムがどのような性質をもって
いたとしても、一定の圧縮効果が発生し、復号効率も向
上する。しかも、その圧縮率は、実験結果によると、L
Z系の圧縮方式と同等レベルないしはそれ以上の圧縮率
を得ることが出来るものとなっている。
【0041】
【発明の実施の形態】以下、本発明の実施の形態のプロ
グラム格納装置1ならびにプログラム圧縮方法およびプ
ログラム復号方法の第1の実施の形態について、図1か
ら図6に基づき説明する。
【0042】このプログラム格納装置1は、中央処理装
置(以下、CPUという)2と、記憶装置3と、CPU
2を制御するプログラムを圧縮して記憶装置3に記憶さ
せる複数の圧縮器からなる圧縮器グループ4と、記憶装
置3に書き込まれた圧縮データを読み出して復号する複
数の復号器からなる復号器グループ5とから主に構成さ
れる。ここで、記憶装置3は、リード・オンリ・メモリ
(以下ROMという)6およびランダム・アクセス・メ
モリ(以下RAMという)7からなる主記憶装置8と、
大量の情報を蓄える補助記憶装置9とからなる。
【0043】なお、このプログラム格納装置1には、C
PU2が、図示しないキーボードや外部記憶装置等と信
号をやり取りするためのインターフェイス(I/F)1
1と、CRTや液晶パネル等で構成されCPU2の制御
演算結果を表示する出力装置12等が接続されている。
また、圧縮器グループ4は、ハードではなく、いわゆる
エンコードプログラムとして形成しても良く、復号器グ
ループ5も同様に、デコードプログラムとして形成して
も良い。
【0044】ここで使われているCPU2の命令は、1
6ビット・フォーマットと32ビット・フォーマットの
2種類となっている。そして、16ビット命令には、2
項演算、制御、条件分岐などがあり、32ビット命令に
はロード/ストア、I/O操作、16ビット・イミーデ
ィエトを扱う命令、ジャンプ・アンド・リンクなどがあ
る。なお、一部の命令では、未使用フィールドが発生す
るが、それらは将来の拡張用で「0」に固定される。実
際に命令がメモリに格納されるときは、次のように配置
される。すなわち、各命令形式の下位部分(ビット0を
含む)は、下位アドレス側に、各命令形式の上位部分
(ビット15またはビット31を含む)は、上位アドレ
ス側に配置される。
【0045】そして、各命令は、その性質によって図2
に示すように、9種類のフォーマットでかつ計16種類
のタイプに区分される。第1番目のAグループに属する
ものは、図2(A)に示すように、いわゆるreg-reg命
令形式となっている。このタイプのものは、6ビットの
オペコード・フィールド(=命令フィールド)とオペラ
ンド指定に2つの汎用レジスタ指定フィールド(=レジ
スタフィールド)をもつ命令形式となっており、16ビ
ット長命令となっている。第2番目のBグループに属す
るものは、図2(B)に示すように、いわゆるimm-reg
命令形式となっている。このタイプのものは、6ビット
のオペコード・フィールドと、5ビットのイミーディエ
ト・フィールド(=定数フィールド)と、1つの汎用レ
ジスタ指定フィールドをもつ命令形式となっており、1
6ビット長命令となっている。なお、この実施の形態で
は、定数フィールドとは、命令フィールド、レジスタフ
ィールドおよび後述する条件フィールドの計3つのフィ
ールド以外のフィールドを指すものとしている。
【0046】第3番目のCグループに属するものは、図
2(C)に示すように、いわゆる条件分岐命令形式とな
っている。このタイプのものは、3ビットのオペコード
・フィールド(=命令フィールド)と、4ビットの条件
コードフィールド(=条件フィールド)と、9ビットの
分岐ディスプレースメント・フィールド(=定数フィー
ルド)と、1ビットのサブオペコートフィールド(=定
数フィールド)をもつ命令形式となっており、16ビッ
ト長命令となっている。なお、9ビットの分岐ディスプ
レースメント・フィールドでは、ビット”0”は「0」
とみなし、指定しないようになっている。また、第4番
目のDグループに属するものは、図2(D)に示すよう
に、いわゆる中距離ジャンプ命令形式となっている。こ
のタイプのものは、6ビットのオペコード・フィールド
と、26ビットのディスプレーメント・フィールドをも
つ中距離分岐命令形式となっており、32ビット長命令
となっている。
【0047】第5番目のEグループに属するものは、図
2(E)に示すように、いわゆる3オペランド命令形式
となっている。このタイプのものは、6ビットのオペコ
ード・フィールドと、2つの汎用レジスタ指定フィール
ドと、16ビット・イミーディエト・フィールドをもつ
命令形式となっており、32ビット長命令となってい
る。さらに、第6番目のFグループに属するものは、図
2(F)に示すように、いわゆるロード/ストア命令形
式となっている。このタイプのものは、6ビットのオペ
コード・フィールドと、2つの汎用レジスタ指定フィー
ルドと、16ビット・ディスプレースメント・フィール
ドをもつ命令形式となっており、32ビット長命令とな
っている。
【0048】さらに、第7番目のGグループに属するも
のは、図2(G)に示すように、いわゆる拡張命令形式
となっている。このタイプのものは、6ビットのオペコ
ード・フィールドと、2つの汎用レジスタ指定フィール
ドと、6ビットのサブオペコード・フィールド(=定数
フィールド)をもつ命令形式となっており、32ビット
長命令となっている。また、第8番目のHグループに属
するものは、図2(H)に示すように、いわゆる3レジ
スタ・オペランド命令形式となっている。このタイプの
ものは、6ビットのオペコード・フィールドと、3つの
汎用レジスタ指定フィールドと、6ビットのサブオペコ
ード・フィールドをもつ命令形式となっており、32ビ
ット長命令となっている。なお、図2(G)中で示され
る「RFU」は、「Reserved for Future Use」の略
で、本実施の形態では、未使用部分とみなして圧縮およ
び記憶せずに捨ててしまっている。
【0049】第9番目のIグループに属するものは、図
2(I)に示すように、いわゆるオペランドなし命令形
式となっている。このタイプのものは、6ビットのオペ
コード・フィールドと、1ビットのサブオペコード・フ
ィールドをもつ命令形式となっており、16ビット長命
令となっている。その後のJグループからPグループの
ものは、それぞれ前述の9種類のフォーマットのいずれ
かと同様であるが、その命令の性質によって違うグルー
プに区分されるものである。
【0050】以上のように、CPU2の命令がその性質
によって複数のタイプに区分される。そして、その各タ
イプによって使用される圧縮器が異なるものとなる。す
なわち、圧縮器グループ4は、第1の圧縮器となる命令
フィールド(オペコード・フィールド)用の圧縮器と、
第2の圧縮器となるレジスタフィールド(汎用レジスタ
指定フィールド)用の圧縮器と、第3の圧縮器となる条
件フィールド(条件コード・フィールド)用の圧縮器
と、第4の圧縮器となる定数フィールド用の圧縮器の計
4つの圧縮器から構成され、命令タイプによって使用す
る圧縮器を図3に示すように異ならせている。
【0051】なお、各圧縮器としては、ここでは、算術
符号式のエントロピー符号器、具体的には図9で示した
ようなQMコーダを使用しているが、他の圧縮器を使用
しても良い。同様に各復号器は算術復号型のエントロピ
ー復号器を使用しているが、他の復号器を使用しても良
い。なお、第1の圧縮器および第1の復号器は、命令フ
ィールドが6ビットとなっているが、命令タイプとして
は16種類に区分されているため、4ビットで全タイプ
を現すことができ、4ビット幅を有するQMコーダとし
ている。また、第2の圧縮器および第2の復号器は、レ
ジスタフィールドが5ビットとなっているので、5ビッ
ト幅を有するQMコーダとしている。同様に条件フィー
ルド用の第3の圧縮器および第3の復号器は、4ビット
幅のQMコーダで、定数フィールド用の第4の圧縮器お
よび第4の復号器は、1ビット幅のQMコーダとしてい
る。
【0052】次に、このように構成されるプログラム格
納装置1の圧縮格納動作について、図4等に基づき説明
する。
【0053】まずは、CPU2がインターフェイス11
を介してまたは補助記憶装置9内に取り込まれていた格
納すべきプログラムを読み出す。インターフェイス11
を介する場合の例としては、通信等により特定のプログ
ラムをダウンロードする場合やキーボードによって直接
プログラムを生成する場合等がある。そして、そのプロ
グラムを記憶装置3の一部を構成する補助記憶装置9に
保存するとき、この圧縮処理がスタート(ステップS
1)する。
【0054】最初、プログラムに書かれたCPU2の命
令タイプがAグループに属するものか否か判断する(ス
テップS2)。そして、Aグループに属するものである
ときは、Aグループの圧縮器、具体的には図3に示すよ
うに、命令フィールド用の第1の圧縮器と、レジスタフ
ィールド用の第2の圧縮器とを使用して圧縮する(ステ
ップS3)する。
【0055】この圧縮の際、過去のデータの情報を各Q
Mコーダにコンテキスト(=状態信号)として入力す
る。これによって圧縮率をさらに高めている。なお、こ
のコンテキスト入力は、各圧縮の際、すべてのQMコー
ダに入力するようにしている。ただし、後述するよう
に、コンテキストを入力しない場合でも相当な圧縮率を
得ることができる。
【0056】そして、圧縮されたそのマシンコードを記
憶装置3、この実施の形態では、補助記憶装置9に書き
込む(ステップS4)。その後、そのプログラムが終了
か否か判断して(ステップS5)、終了の場合はストッ
プする(ステップS6)。終了でないときは、次のマシ
ンコードを処理するためステップS2に戻る。
【0057】一方、最初の命令タイプがAグループに属
さないときは、Bグループに属するか否か判断して(ス
テップS7)、Bグループに属するときは、Bグループ
の圧縮器によってそのマシンコードを圧縮する(ステッ
プS8)。具体的には、図3に示すように、命令フィー
ルド用の第1の圧縮器と、レジスタフィールド用の第2
の圧縮器と、定数フィールド用の第4の圧縮器とを使用
して圧縮する。そして、圧縮されたマシンコードを同様
に記憶装置3に書き込む(ステップS9)。この後、プ
ログラムが終了か否か判断して(ステップS5)、終了
であればストップし(ステップS6)、終了しない場合
は、次のマシンコードを処理するためステップS2に戻
る。
【0058】最初の命令タイプがAグループにもBグル
ープにも属さない場合、Cグループに属するか否か判断
して(ステップS10)、Cグループに属するときは、
Cグループの圧縮器によってそのマシンコードを圧縮す
る(ステップS11)。具体的には、図3に示すよう
に、命令フィールド用の第1の圧縮器と、条件フィール
ド用の第3の圧縮器と、定数フィールド用の第4の圧縮
器とを使用して圧縮する。そして、圧縮されたマシンコ
ードを同様に記憶装置3内の補助記憶装置9に書き込む
(ステップS12)。以下、上述したステップと同様な
ステップを繰り返して圧縮し格納していく。
【0059】なお、この圧縮においては、特に、レジス
タフィールドに書かれるレジスタ番号や定数フィールド
に書かれる分岐命令の圧縮の際に効果が大となる。これ
は、レジスタ番号や分岐命令部分がビットを多く必要と
する部分であるためである。特に、レジスタ番号は、同
じものがたびたび現れることが多いため、一度現れてき
たものを複数個、具体的にはこの実施の形態では2個残
しておき、コンテキストとして入力させることにより圧
縮率が高まることとなる。なお、2個ではなく、3個以
上としても良く、また、このコンテキストとしての入力
の際、図13に示すような最新出現表を作成し、利用す
ると一層、圧縮率が向上する。
【0060】また、分岐命令の場合、現在位置から現し
た相対位置、例えば「現在位置から20番地前の位置へ
移れ」等の相対位置で表現されることが多い。このよう
な場合、プログラムが進んで、現在位置がどんどん進ん
でいくと、戻る番地は同じであっても表現は異なるもの
となる。例えば、先の例で言えば、プログラムが3番地
進んでいると、「現在位置から23番地前の位置へ移
れ」という表現となる。これは数字が変わることになり
圧縮にとって不利な表現である。よって、この実施の形
態では行っていないが、プログラムが進むごとに現在位
置を覚えておいて、すなわちプログラムが進むごとに現
在地を補正して、元のアドレスを常に圧縮するようにす
るのが好ましい。
【0061】なお、この分岐命令の場合においても、過
去の履歴を覚えておいて、その情報をコンテキストとし
て入力するようにしても良い。この際、相対番地として
覚えておくか、絶対番地として覚えておくかは、適宜選
択することができる。また、過去の履歴としては、先程
のように先頭移動処理を行うようにしても良い。
【0062】また、オペコード(opcode)の部分
は6ビットで表現されるが、6ビットすなわち2=6
4種類の命令があるかというとそうではなく、64種類
未満の命令となっている。通常の圧縮であると、このあ
り得ない命令も通常の処理によって圧縮するが、この実
施の形態では命令タイプの性質によって区分しているの
で、あり得ない命令が出てくると、ストップさせるか通
常の圧縮を行うようにできる。
【0063】さらに、未定義命令が発生するような場
合、その命令を認識すると、その後のビットは切り捨て
てしまうようなこともできる。さらには命令タイプによ
っては、その後に生ずるビットが確定しているものを生
ずることがある。このような場合、例えば、テーブルを
持っておいて、対応するその旨の符号のみを記憶させて
おき、復号するときに、そのテーブルから該当する確定
ビットを持ってくるようにすることもできる。
【0064】この実施の形態のプログラム格納装置1に
おける圧縮率は、図5に示すとおりとなっている。すな
わち、コンテキストを利用せず、単に分類したときでも
約75.0%の圧縮率を示している。その値は、LZ系
の基本アルゴリズムを使用したときの値よりは6%程度
悪くなっているが、それでもかなりの圧縮率となってい
る。
【0065】一方、コンテキストを図6に示すような形
で利用したときは69.6%となり、LZ系とほとんど
同じとなっている。このコンテキスト利用は、単純に直
前の過去のデータの情報を利用するだけのもので、しか
も図6に示すように、レジスタフィールドと定数フィー
ルドのみしか利用していない。このような利用程度でも
かなりの圧縮率となっている。よって、QMコーダにマ
シンコードを入れる前に、先に示した先頭移動処理や相
対位置の記憶等、各種の改善策によって処理すれば、さ
らに一層良い圧縮率が得られることが想定される。
【0066】なお、命令フィールドは、今回、その性質
に併せて16種類に人手によって分けたが、統計をとっ
てかつ自動的に分けるようにすることが好ましい。ま
た、レジスタフィールドは、先頭移動処理を行ってから
QMコーダに入れるようにするのが好ましい。さらに、
条件フィールドは、オペコードの条件とからめて予測す
るのが好ましい。定数フィールドのアドレスに対して
は、相対番地を絶対番地に変えて、それを記憶させ一種
の先頭移動処理をやらせるようにしたり、ハフマンコー
ドのような処理の仕方を行うようにしても良い。
【0067】また、プログラム中に生のデータがある場
合は、そのプログラム中にフラグを立て、そのフラグを
検知して汎用のアルゴリズムに切り替えるようにするの
が好ましい。この場合、そのデータ部分については、先
頭移動処理や単なるQMコーダやLZ系の圧縮方法を採
用するようにする。また、コンパイラによってデータ部
分を分離するようにしても良い。
【0068】なお、ネットワーク中でプログラムを移動
させたり、アップロードや、ダウンロードするときに、
課金がなされるネットワーク部分は圧縮して、小さい容
量にして移動させ、その他の部分は復号して移動させる
ようにしても良い。例えば、フロキシサーバにこの圧縮
復号機能を持たせ、自動的にフィルタリングするように
する技術を採用できる。このようにすることにより、大
容量のプログラムを短時間で送信したり、アップロード
やダウンロードを短時間かつ低費用で行えるようにな
る。しかも、作業者は、圧縮する際、特別な作業を必要
としないので、煩わしさがなくなる。
【0069】なお、このCPU2の命令タイプは、図2
のように、16種類に区分できるが、マシンコードのフ
ォーマットや性質は、各CPUやコンパイラによって全
く異なるため、CPUが異なればその区分けの仕方も全
く異なるものとなる。すなわち、各CPU毎に異なる処
理工程および異なる圧縮器や復号器が必要となる。
【0070】次に、本発明の第2の実施の形態のプログ
ラム格納装置21を図7に基づいて説明する。このプロ
グラム格納装置21で使用している圧縮方法や好ましい
圧縮方法については、第1の実施の形態のプログラム格
納装置1と同様である。また、説明に当たり、第1の実
施の形態のプログラム格納装置と同一部材には同一符号
を付して、その説明を省略または簡略化することとす
る。
【0071】この第2の実施の形態のプログラム格納装
置21では、圧縮器グループ4と復号器グループ5をC
PU2と主記憶装置8との間に配置している。このた
め、ROM6に書き込まれる、CPU2と密接不可分な
プログラムが圧縮して保存されたり、インターフェイス
11等から入力され一旦RAM7に書かれるマシンコー
ドも圧縮して保存されることとなる。このため、ROM
6やRAM7の容量を小さなものにでき、同じ容量のR
OM6やRAM7を採用すると、大容量のプログラムの
処理が可能となる。
【0072】この第2の実施の形態でも、圧縮器グルー
プ4や復号器グループ5をそれぞれハードではなく、エ
ンコードプログラムやデコードプログラムに置き換えて
も良い。この場合、各プログラムを、圧縮されたプログ
ラムが格納されるROM6とは別のROMに書き込んだ
り、ROM6を分割して、分割された部分に書き込んで
おくのが好ましい。そして、その別のROM内のエンコ
ードプログラムやデコードプログラムを使用して圧縮し
たり復号したりするようにする。また、ROM6内に書
き込まれる当初のプログラムは圧縮せず通常の形態と
し、RAM7に保存されるマシンコードのみを圧縮する
ようにしても良い。
【0073】次に、本発明の第3の実施の形態のプログ
ラム格納装置41を図8に基づいて説明する。このプロ
グラム格納装置41で使用している圧縮方法や好ましい
圧縮方法についても第1の実施の形態のプログラム格納
装置1と同様である。また、説明に当たっては、第1の
実施の形態のプログラム格納装置と同一部材には同一符
号を付して、その説明を省略または簡略化することとす
る。
【0074】この第3の実施の形態のプログラム格納装
置41では、CPU2と主記憶装置8との間に復号器グ
ループ5のみを配置している。ROM6へのプログラム
の圧縮書き込みは、CPU2と同様な動作をするプログ
ラムおよびエンコードプログラムによって図示しない別
ルートで行う。このため、ROM6には、この発明の方
法で圧縮されたプログラムが既に格納されている。CP
U2は、復号器グループ5によって復号されたプログラ
ムによって動作するようになる。このようなプログラム
格納装置41は、特定の用途に特化されたCPU2、例
えば電気炊飯器や電気冷蔵庫等の家庭用電気製品や、ロ
ボット等の工業製品等に使用されるCPU2に適用して
好適となる。
【0075】なお、上述の各実施の形態は、本発明の好
適な実施の形態の例であるが、これに限定されるもので
はなく、本発明の要旨を逸脱しない範囲において、種々
変形実施可能である。例えば、第1の実施の形態のプロ
グラム格納装置1と、第2の実施の形態のプログラム格
納装置21とを合わせた構成、すなわち圧縮器グループ
4と復号器グループ5を、CPU2と補助記憶装置9と
の間およびCPU2と主記憶装置8との間の両部分に配
置するようにしても良い。
【0076】また、本発明は、命令の分類分けが16種
類のようにある程度少ない数に分けることができるもの
に適用して好適であるが、30種類や60種類のように
多くの種類に分類分けされるものにも適用できる。
【0077】また、上述の実施の形態では、4つのQM
コーダを使用したが、4つ以外の数としたり、少なくと
も、ビット数が多くなりがちなレジスタフィールド用お
よび定数フィールド用の2つの圧縮器や復号器を使用す
ることにより、プログラムの圧縮率を相当高めることが
できる。加えて、QMコーダ以外の各種の圧縮や復号の
アルゴリズムを採用することができる。
【0078】さらには、圧縮器や復号器を1つとし、命
令タイプの性質によって区分した表をコンテキストとし
て利用するだけでも圧縮率は向上する。また、条件フィ
ールドを圧縮する際、命令フィールドの性質とからませ
て一種の状態縮退器(図12参照)を形成してその状態
をコンテキストとしてQMコーダ等の圧縮器に入力する
ようにしても良い。さらには、分離されたフィールドの
性質によっては、圧縮せず、そのまま記憶させるように
しても良い。また、各圧縮器や各復号器に、特定データ
については、圧縮や復号をせず、入力されてきたデータ
をそのまま素通しさせる、いわゆる素通し機能を持たせ
るようにしても良い。
【0079】
【発明の効果】以上説明したように、請求項1および2
記載のプログラム圧縮方法では、CPUの命令の性質に
よって、その後に続くマシンコードが所定の配置とな
る、いわゆるCPUのくせを利用して圧縮している。こ
のため、プログラムの内容に拘わらずそのプログラムを
高圧縮率なものとすることができる。
【0080】また、請求項3記載のプログラム復号方法
では、CPUの命令の性質によって、その後に続く圧縮
されたマシンコードが所定の配置となる、いわゆるCP
Uのくせを利用して復号している。このため、圧縮され
たプログラムの内容に拘わらずそのCPUにとって最適
かつ高効率にて復号することができる。
【0081】さらに、請求項4から6記載のプログラム
格納装置では、CPUの命令の性質によって、その後に
続くマシンコードが所定の配置となる、いわゆるCPU
のくせを利用して圧縮したり復号したりしている。この
ため、プログラムをそのCPUにとって最適かつ高効率
で圧縮したり復号したりできる。加えて、記憶装置の容
量が減少し、低価格化が可能となると共に、同じ容量の
記憶装置を使用すると、大容量のプログラムを保存する
ことが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のプログラム格納装
置のデータの流れを示すブロック図である。
【図2】図1のプログラム格納装置に使用されるCPU
の命令タイプを示す図で、(A)から(P)の計16種
類のタイプに区分されることを示す図である。
【図3】図1のプログラム格納装置に使用されるCPU
の命令タイプと、その命令タイプのときに使用する圧縮
器との関係を示す図である。
【図4】図1のプログラム格納装置で使用されるプログ
ラム圧縮方法を説明するためのフローチャートである。
【図5】図1のプログラム格納装置および図4のフロー
チャートによって対象プログラムが圧縮された結果を示
す図で、参考に従来の方法による圧縮率も併せて示した
図である。
【図6】図1のプログラム格納装置および図4のフロー
チャートによって対象プログラムを圧縮する際のコンテ
キストの利用状況を説明するための図である。
【図7】本発明の第2の実施の形態のプログラム格納装
置のデータの流れを示すブロック図である。
【図8】本発明の第3の実施の形態のプログラム格納装
置のデータの流れを示すブロック図である。
【図9】従来の算術符号型のエントロピー符号器および
エントロピー復号器の説明図である。
【図10】従来の符号化システムおよび復号化システム
のブロック図である。
【図11】従来の状態信号の生成を説明するための図
で、符号化対象画素データに対する参照画素データの説
明図である。
【図12】状態縮退器を有する従来の符号化システムお
よび復号化システムのブロック図である。
【図13】従来の最新出現表の使用例を説明するための
図で、(A)は入力されてくる画素と符号化対象画素の
位置関係を示し、(B)は、各画素のカラーシンボルを
示し、(C)は最新出現表を示す図である。
【符号の説明】
1 プログラム格納装置 2 CPU(中央処理装置) 3 記憶装置 4 圧縮器グループ 5 復号器グループ 6 ROM(リード・オンリ・メモリ) 7 RAM(ランダム・アクセス・メモリ) 8 主記憶装置 9 補助記憶装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置が制御する記憶装置に、マ
    シンコード化されたプログラムを圧縮して格納するプロ
    グラム圧縮方法において、上記中央処理装置用のマシン
    コードを、それが意味する命令の性質によって複数のタ
    イプに区分し、各タイプ毎に異なる圧縮アルゴリズムを
    使用して上記マシンコードを圧縮することを特徴とする
    プログラム圧縮方法。
  2. 【請求項2】 前記各命令タイプ毎に、そのマシンコー
    ドから少なくとも、レジスタフィールドおよび定数フィ
    ールドの2種類のデータを分離し、分離された各データ
    をそれぞれ異なる符号化工程を使用して圧縮するように
    したことを特徴とする請求項1記載のプログラム圧縮方
    法。
  3. 【請求項3】 中央処理装置が制御する記憶装置から、
    圧縮されたマシンコードのプログラムを復号するプログ
    ラム復号方法において、圧縮されたマシンコードを、そ
    れが意味する命令の性質によって複数のタイプに区分
    し、各タイプ毎に異なる復号アルゴリズムを使用して、
    上記圧縮されたマシンコードを復号することを特徴とす
    るプログラム復号方法。
  4. 【請求項4】 中央処理装置と、この中央処理装置を動
    作させるためのマシンコードを圧縮する圧縮器と、この
    圧縮器で圧縮されたマシンコード化されたプログラムを
    格納する記憶装置と、この記憶装置内の圧縮されたプロ
    グラムを復号して上記中央処理装置用のマシンコードと
    する復号器とを備えたプログラム格納装置において、上
    記圧縮器を複数設け、命令の性質によって複数のタイプ
    に区分されたマシンコードに対応して上記複数の圧縮器
    のいずれか1つまたはいずれか複数を取捨選択してマシ
    ンコードを圧縮するようにしたことを特徴とするプログ
    ラム格納装置。
  5. 【請求項5】 少なくとも、前記マシンコードの命令フ
    ィールドを圧縮する第1の圧縮器と、前記マシンコード
    のレジスターフィールドを圧縮する第2の圧縮器と、前
    記マシンコードの定数フィールドを圧縮する第3の圧縮
    器とを有することを特徴とする請求項4記載のプログラ
    ム格納装置。
  6. 【請求項6】 中央処理装置と、この中央処理装置を動
    作させるためのマシンコードが圧縮されて格納された記
    憶装置と、この記憶装置内の圧縮されたプログラムを復
    号して上記中央処理装置用のマシンコードとする復号器
    とを備えたプログラム格納装置において、上記復号器を
    複数設け、命令の性質によって複数のタイプに区分され
    かつ圧縮されたマシンコードに対応して、上記複数の復
    号器のいずれか1つまたはいずれか複数を取捨選択して
    圧縮されたマシンコードを復号するようにしたことを特
    徴とするプログラム格納装置。
JP12598697A 1997-05-15 1997-05-15 プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置 Withdrawn JPH10320172A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12598697A JPH10320172A (ja) 1997-05-15 1997-05-15 プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12598697A JPH10320172A (ja) 1997-05-15 1997-05-15 プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置

Publications (1)

Publication Number Publication Date
JPH10320172A true JPH10320172A (ja) 1998-12-04

Family

ID=14923907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12598697A Withdrawn JPH10320172A (ja) 1997-05-15 1997-05-15 プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置

Country Status (1)

Country Link
JP (1) JPH10320172A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304290A (ja) * 2001-04-06 2002-10-18 Sony Corp 命令実行処理方法及び情報処理装置及び記録媒体
WO2003081422A1 (fr) * 2002-03-27 2003-10-02 Sony Corporation Processeur d'operations, procede de construction, systeme de traitement d'operations et procede de traitement d'operations
JP2005322208A (ja) * 2004-05-06 2005-11-17 ▲萬▼國電腦股▲ふん▼有限公司 シリコン記憶メディア、コントローラ及びそのアクセス方法
JP2006215827A (ja) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
JP2006215826A (ja) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
JP2011076619A (ja) * 2010-11-19 2011-04-14 Mitsubishi Electric Corp プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
JP2012003375A (ja) * 2010-06-15 2012-01-05 Fujitsu Ltd データ圧縮プログラムおよび方法,ならびにデータ復元プログラムおよび方法
JP2013504115A (ja) * 2009-09-04 2013-02-04 インテル ベネラックス ビー.ブィー. 方法および装置および記録されたキャリア
US8448158B2 (en) 2005-02-03 2013-05-21 Mitsubishi Electric Corporation Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
US8527967B2 (en) 2005-02-03 2013-09-03 Mitsubishi Electric Corporation Program code compression processing device and method and program thereof

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304290A (ja) * 2001-04-06 2002-10-18 Sony Corp 命令実行処理方法及び情報処理装置及び記録媒体
JP4572480B2 (ja) * 2001-04-06 2010-11-04 ソニー株式会社 情報処理装置
US7581083B2 (en) 2002-03-27 2009-08-25 Sony Corporation Operation processing device, system and method having register-to-register addressing
WO2003081422A1 (fr) * 2002-03-27 2003-10-02 Sony Corporation Processeur d'operations, procede de construction, systeme de traitement d'operations et procede de traitement d'operations
JP2005322208A (ja) * 2004-05-06 2005-11-17 ▲萬▼國電腦股▲ふん▼有限公司 シリコン記憶メディア、コントローラ及びそのアクセス方法
JP2006215827A (ja) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
JP2006215826A (ja) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
JP4638250B2 (ja) * 2005-02-03 2011-02-23 三菱電機株式会社 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
JP4656960B2 (ja) * 2005-02-03 2011-03-23 三菱電機株式会社 プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
US8448158B2 (en) 2005-02-03 2013-05-21 Mitsubishi Electric Corporation Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
US8527967B2 (en) 2005-02-03 2013-09-03 Mitsubishi Electric Corporation Program code compression processing device and method and program thereof
US8572557B2 (en) 2005-02-03 2013-10-29 Mitsubishi Electric Corporation Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
JP2013504115A (ja) * 2009-09-04 2013-02-04 インテル ベネラックス ビー.ブィー. 方法および装置および記録されたキャリア
JP2012003375A (ja) * 2010-06-15 2012-01-05 Fujitsu Ltd データ圧縮プログラムおよび方法,ならびにデータ復元プログラムおよび方法
JP2011076619A (ja) * 2010-11-19 2011-04-14 Mitsubishi Electric Corp プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム

Similar Documents

Publication Publication Date Title
US6026198A (en) Data compression and restoration system for encoding an input character on the basis of a conditional appearance rate obtained in relation to an immediately preceding character string
JP4905562B2 (ja) データ圧縮装置、及びデータ復元装置
US7079057B2 (en) Context-based adaptive binary arithmetic coding method and apparatus
JP3397431B2 (ja) データ圧縮方法および装置ならびにデータ復元方法および装置
US9325345B2 (en) Increasing speed of data compression
JP2766302B2 (ja) 可変長符号並列解読方法および装置
JP2006211621A (ja) データ圧縮装置、及びデータ復元装置
GB2305089A (en) Method and apparatus for compressing arbitrary data
JPH10320172A (ja) プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置
US6618506B1 (en) Method and apparatus for improved compression and decompression
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
JPH08223054A (ja) データ符号化/復号化方法及び装置
KR100486251B1 (ko) 가변 길이 코드 복호화 장치 및 방법
JPH10341167A (ja) 可変長符号復号化回路
JP3593884B2 (ja) 符号化装置および復号装置
KR20030082586A (ko) 폰트 압축 및 검색
JP2001257887A (ja) 画像符号化装置および画像復号装置ならびに画像符号化方法および画像復号方法
Blanes et al. Redundancy and optimization of tANS entropy encoders
US7609895B2 (en) Methods and apparatus for performing MQ-decoding operations
JP3648944B2 (ja) データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置
JP3108404B2 (ja) データ圧縮装置及びデータ復元装置
JPH09246992A (ja) データ符号化装置およびその方法ならびにデータ復号化装置およびその方法
JP3239664B2 (ja) 可変長符号復号方法
JP2966437B2 (ja) ラン長符号符号化回路
KR20030052803A (ko) 유니버셜 가변 길이 코드 부호어 다중 추출 방법 및 그를위한 룩-업 테이블 구성 방법

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: 20040803