【手続補正書】
【提出日】平成18年3月8日(2006.3.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサでPackBits圧縮のエンコード命令を実行するデータ圧縮方法であって、前記エンコード命令は、
PackBits圧縮のエンコード処理状態を取得し、該エンコード処理状態に基づいて制御コードの出力を制御する第１の命令と、
前記エンコード処理状態に基づいて入力データの出力を制御する第２の命令と、
PackBits圧縮の終了時点での制御コード出力を制御する第３の命令と
を含むことを特徴とするデータ圧縮方法。
【請求項２】
前記プロセッサは前記第１の命令によって、
入力データとその直前データとの比較結果、及び前記直前データにおける前記エンコード処理状態に基づいて新たなエンコード処理状態を取得し、該新たなエンコード処理状態に基づいて前記制御コードの出力の可否を制御し、
該出力を行う場合には、出力ベースアドレスに基づいて前記制御コードを出力し、該出力ベースアドレスを更新する
ことを特徴とする請求項１記載のデータ圧縮方法。
【請求項３】
前記プロセッサは前記第２の命令によって、
前記新たなエンコード処理状態に基づいて、入力データの出力の可否を制御し、該出力を行う場合には、該エンコード処理状態及び前記出力ベースアドレスに基づいて出力アドレスを算出する
ことを特徴とする請求項２記載のデータ圧縮方法。
【請求項４】
前記プロセッサは前記第３の命令によって、
前記新たなエンコード処理状態に基づいて、前記制御コードを出力する
ことを特徴とする請求項２記載のデータ圧縮方法。
【請求項５】
前記エンコード処理状態は、所定範囲の値をとり得るラベルによって識別され、該ラベル値によって初期状態、リプリケイトラン(replicate run)、リテラルラン(literal run)に対応する
ことを特徴とする請求項１記載のデータ圧縮方法。
【請求項６】
前記ラベル値は、-128が初期状態に、-1〜-127がリプリケイトランに、0〜127がリテラルランに、それぞれ対応する
ことを特徴とする請求項５記載のデータ圧縮方法。
【請求項７】
前記プロセッサは前記第１の命令によって、
前記入力データとして同じ値が２回連続した場合にはリテラルランとして処理を続行し、該値が３回連続した時点でリプリケイトランとして処理する
ことを特徴とする請求項６記載のデータ圧縮方法。
【請求項８】
前記プロセッサは、
前記第１の命令による制御コード出力を行わず、前記第２の命令による入力データ出力を行うことによって、リテラルランを継続する
ことを特徴とする請求項５記載のデータ圧縮方法。
【請求項９】
前記プロセッサは、
前記第１の命令による制御コード出力を行わず、前記第２の命令による入力データ出力も行わないことによって、リプリケイトランを継続する
ことを特徴とする請求項５記載のデータ圧縮方法。
【請求項１０】
前記プロセッサは、
前記エンコード処理状態のラベル値が127であり、入力データが直前データと異なる場合には、前記第１の命令によって制御コード+127を出力し、前記第２の命令によって該入力データを次のランに対応するアドレスに出力することによって、制御コードが127であるリテラルランを確定させる
ことを特徴とする請求項６記載のデータ圧縮方法。
【請求項１１】
前記プロセッサは、
前記入力データとして同じ値が３回連続した時点で、前記第１の命令により制御コードを出力し、前記第２の命令による入力データの出力を行わないことによって、リテラルランを確定し、制御コードrが-2であるリプリケイトランを継続する
ことを特徴とする請求項６記載のデータ圧縮方法。
【請求項１２】
前記プロセッサは、
127バイトのリテラルラン候補データの後に2バイト同じデータが入力された場合、前記第１の命令によって制御コード126を出力し、前記第２の命令によって入力データを次の制御コードアドレスの次のアドレスに出力することによって、制御コードが+126であるリテラルランを確定し、制御コードが-1であるリプリケイトランを継続する
ことを特徴とする請求項６記載のデータ圧縮方法。
【請求項１３】
前記プロセッサは、
128バイト以上同じデータが連続した場合に、前記第１の命令によって制御コード-127を出力し、前記第２の命令によって入力データを次の制御コードアドレスの次のアドレスに出力することによって、制御コードが-127であるリプリケイトランを確定する
ことを特徴とする請求項６記載のデータ圧縮方法。
【請求項１４】
前記プロセッサは、
前記第１の命令によって遷移前のラベルを制御コードとして出力し、前記第２の命令によって入力データを次の制御コードアドレスの次のアドレスに出力することによって、リプリケイトランを確定する
ことを特徴とする請求項６記載のデータ圧縮方法。
【請求項１５】
前記プロセッサは、
前記第１乃至第３の命令によって出力する前記制御コード及び前記入力データの出力アドレスを、出力ベースアドレス及び前記エンコード処理状態に基づいて算出する
ことを特徴とする請求項２記載のデータ圧縮方法。
【請求項１６】
前記プロセッサは、
前記第１の命令によって取得されたエンコード処理状態を複数保持し、
該複数のエンコード処理状態から選択されたエンコード処理状態に基づく前記第１乃至第３の命令の実行を、複数のエンコード状態について並行に行う
ことを特徴とする請求項１記載のデータ圧縮方法。
【請求項１７】
前記プロセッサは、
前記入力データが逆順に入力された場合にも、該入力データが順入力された場合と同様のデータ列を出力することを特徴とする請求項１記載のデータ圧縮方法。
【請求項１８】
前記プロセッサは、
前記入力データが逆順に入力された場合に、出力ベースアドレスに対するアドレス計算のオフセット値の加減を、該入力データが順入力された場合と逆となるように制御する
ことを特徴とする請求項１７記載のデータ圧縮方法。
【請求項１９】
前記プロセッサは、
前記入力データが順入力されたか逆入力されたかによって、前記アドレス計算の方法を切換える
ことを特徴とする請求項１８記載のデータ圧縮方法。
【請求項２０】
PackBits圧縮のエンコード命令を実行するプロセッサであって、
PackBits圧縮のエンコード処理状態を保持するエンコード状態保持手段と、
PackBits圧縮のエンコード処理状態を計算するエンコード状態計算手段と、
出力するエンコードデータのアドレスを計算する出力アドレス計算手段と
を有することを特徴とするプロセッサ。
【請求項２１】
前記エンコード命令は、
PackBits圧縮のエンコード処理状態を取得し、該エンコード処理状態に基づいて制御コードの出力を制御する第１の命令と、
前記エンコード処理状態に基づいて入力データの出力を制御する第２の命令と、
PackBits圧縮の終了時点での制御コード出力を制御する第３の命令と
を含むことを特徴とする請求項２０記載のプロセッサ。
【請求項２２】
前記エンコード状態保持手段は、入力データの直前データ、エンコード処理状態を示すラベル情報、及び出力ベースアドレスを保持する
ことを特徴とする請求項２０記載のプロセッサ。
【請求項２３】
前記エンコード状態計算手段は、入力データと前記エンコード状態保持手段に保持されたエンコード処理状態に基づいて、新たなエンコード処理状態及び命令動作を決定する
ことを特徴とする請求項２０記載のプロセッサ。
【請求項２４】
前記出力アドレス計算手段は、前記エンコード状態計算手段によって計算された新たなエンコード処理状態に基づいて、エンコードデータを出力すべきアドレスを計算する
ことを特徴とする請求項２０記載のプロセッサ。