【手続補正書】
【提出日】平成19年6月15日(2007.6.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  データ文字の入力ストリームを圧縮コードの出力ストリームに圧縮するためのデータ圧縮方法であって、ＬＺＷデータ圧縮プロセスを含み、該ＬＺＷデータ圧縮プロセスは、データ文字のストリングをストアし、当該ストアされたストリングにそれぞれのコードをコードカウンタから割り当て、各々の該ストアされたストリングごとに前記コードカウンタをインクリメントするデータ圧縮方法において、
データ文字のランが前記入力ストリームの中にいつ出現しているかを、該入力ストリームのあらかじめ決めた数の隣接データ文字が互に同一になっているかを検出することによって、検出し、
当該検出されたランの中のデータ文字をカウントして、ランカウントを取得し、
該コードカウンタ内の既存コードを前記ランカウントと結合することによって修正コードを取得し、
前記入力ストリームを前記ストアされたストリングと比較し、該ストアされたストリングとの最長マッチ（合致）を判断し、それに割り当てられた前記コードを取得し、ランが前記入力ストリームの中に出現していないとき前記入力ストリームを、前記ＬＺＷデータ圧縮プロセスを使用して圧縮することによって、ＬＺＷ圧縮コードを取得し、
前記修正コードと前記ＬＺＷ圧縮コードを出力して、前記出力ストリームを取得する
ことを特徴とする方法。
【請求項２】  請求項１に記載の方法において、前記修正コードを取得するステップでは、前記修正コードがＬＺＷデータ伸張プロセスによって受け取られたとき、受け取られた修正コードを、前記ＬＺＷデータ伸張プロセスで使用されたコードカウンタ内の既存コードと結合することによって、前記ランカウントが回復されることを特徴とする方法。
【請求項３】  請求項１に記載の方法において、
前記データ文字のランがいつ出現しているかを検出するステップ、前記検出されたランの中のデータ文字をカウントするステップ、前記修正コードを取得するステップおよび前記修正コードを出力するステップは、ラン処理を実行するステップを含み、
前記ＬＺＷデータ圧縮プロセスの前記ストアするステップは、延長ストリングをストアするステップを含み、各々の延長ストリングは、前記データストリーム内の次の後続データ文字によって延長された最長マッチを含み、
前記方法では、さらに、
最長マッチを判断し、それに対応する延長ストリングをストアし、前記最長マッチに割り当てられたコードをス得した後で、前記ＬＺＷデータ圧縮プロセスを使用するステップの期間に前記ラン処理を実行する
ことを特徴とする方法。
【請求項４】  請求項３に記載の方法において、前記ＬＺＷデータ圧縮プロセスは、前記入力ストリーム内の前記次の後続データ文字をフェッチすると、その結果として、前記ストアされたストリングとミスマッチが起こるようにして前記最長マッチを判断し、
前記フェッチされた入力データ文字はミスマッチ文字であり、
前記実行するステップでは、さらに、前記ミスマッチ文字から始まって前記ラン処理を実行し、
前記検出するステップでは、前記ランがいつ出現しているかを、あらかじめ決めた数の前記隣接データ文字が前記ミスマッチ文字といつ同一になっているかを検出することによって、検出する
ことを特徴とする方法。
【請求項５】  請求項４に記載の方法において、前記出力するステップでは、さらに、前記検出されたランのデータ文字を、前記修正コードに先行して出力し、
検出されたランの前記データ文字は前記ミスマッチ文字を含む
ことを特徴とする方法。
【請求項６】  データ文字の入力ストリームを圧縮コードの出力ストリームに圧縮するためのデータ圧縮方法であって、ＬＺＷデータ圧縮プロセスを含み、該ＬＺＷデータ圧縮プロセスは、データ文字のストリングをストアし、当該ストアされたストリングにそれぞれのコードをコードカウンタから割り当て、各々の該ストアされたストリングごとに前記コードカウンタをインクリメントすることを含むデータ圧縮方法において、
データ文字のランが前記入力ストリームの中にいつ出現しているかを、該入力ストリームのあらかじめ決めた数の隣接データ文字が互にいつ同一になっているかを検出することによって、検出し、
当該検出されたランの中のデータ文字をカウントして、ランカウントを取得し、
選択された事前決定プロセスを使用して、前記ランカウントをあらかじめ決めた数以下に減少することによって減少カウントを取得し、
前記選択された事前決定プロセスに対応する予約コードを取得し、
前記入力ストリームを前記ストアされたストリングと比較し、前記ストアされたストリングとの最長マッチ（合致）を判断し、それに割り当てられた前記コードを取得して、ランが前記入力ストリームの中に出現していないとき前記入力ストリームを、前記ＬＺＷデータ圧縮プロセスを使用して圧縮することによって、ＬＺＷ圧縮コードを取得し、
前記予約コード、前記減少カウントおよび前記ＬＺＷ圧縮コードを出力して、前記出力ストリームを取得する
ことを特徴とする方法。
【請求項７】  請求項６に記載の方法において、前記減少カウントを取得するステップおよび前記予約コードを取得するステップは、前記予約コードと前記減少コードとがＬＺＷデータ伸張プロセスによって受け取られたとき、前記選択された事前決定プロセスとは逆のプロセスを使用して、受け取られた減少カウントを増加することにより前記ランカウントが回復されるように前記予約コードと前記減少カウントを取得することを特徴とする方法。
【請求項８】  請求項６に記載の方法において、データ文字のランがいつ出現しているかを検出するステップ、前記検出されたランの中のデータ文字をカウントするステップ、前記減少カウントを取得するステップ、予約コードを取得ステップおよび前記予約コードと前記減少コードを出力するステップは、ラン処理を実行するステップを含み、
前記ＬＺＷデータ圧縮プロセスの前記ストアするステップは、延長ストリングをストアするステップを含み、各々の延長ストリングは、前記入力ストリーム内の次の後続データ文字によって延長された最長マッチを含み、
前記方法では、さらに、
最長マッチを判断し、それに対応する延長ストリングをストアし、前記最長マッチに割り当てられたコードを取得した後、前記ＬＺＷデータ圧縮プロセスを使用するステップの期間に前記ラン処理を実行する
ことを特徴とする方法。
【請求項９】  請求項８に記載の方法において、前記ＬＺＷデータ圧縮プロセスは、前記入力ストリーム内の前記次の後続データ文字をフェッチすると、その結果として、前記ストアされたストリングとミスマッチが起こるようにして前記最長マッチを判断し、
前記フェッチされた入力データ文字はミスマッチ文字であり、
前記実行するステップは、さらに、前記ミスマッチ文字から始まって前記ラン処理を実行し、
前記検出するステップは、前記ランがいつ出現しているかを、あらかじめ決めた数の前記隣接データ文字が前記ミスマッチ文字といつ同一になっているかを検出することによって検出する
ことを特徴とする方法。
【請求項１０】  圧縮コードの入力ストリームを伸張して、その入力ストリームに対応するデータ文字の出力ストリームを回復するためのデータ伸張方法であって、ＬＺＷデータ伸張プロセスを含み、該ＬＺＷデータ伸張プロセスは、データ文字のストリングをストアし、当該ストアされたストリングにそれぞれのコードをコードカウンタから割り当て、各々のストアされたストリングごとに前記コードカウンタをインクリメントするデータ伸張方法において、
受け取られた入力圧縮コードを、前記コードカウンタ内の既存コードと比較して、前記受け取られた入力圧縮コードがランカウントを表しているかどうかを判断し、
該受け取られた入力圧縮コードを前記コードカウンタ内の前記既存コードと結合することによって前記ランカウントを回復し、
前記受け取られた入力圧縮コードに先行して受け取られた圧縮コードによって表されているデータ文字を反復的に取得し、前記データ文字は、前記回復されたランカウントに対応する回数だけ反復的に取得することによって、回復されたランを取得し、
受け取られた圧縮コードがランカウントを表していないとき、前記受け取られた圧縮コードに対応する前記ストアされたストリングを、前記ＬＺＷデータ伸張プロセスを使用して取得することによって、ＬＺＷ回復ストリングを取得し、
回復されたランと前記ＬＺＷ回復ストリングを出力して、前記出力ストリームを取得する
ことを特徴とする方法。
【請求項１１】  請求項１０に記載の方法において、前記比較するステップでは、
前記受け取られた入力圧縮コードを前記コードカウンタ内の既存コードと比較して、前記受け取られた入力圧縮コードが前記コードカウンタ内の前記既存コードより大であるかどうかを判断することによって、該受け取られた入力圧縮コードがランカウントを表していることを判断する
ことを特徴とする方法。
【請求項１２】  請求項１０に記載の方法において、前記回復するステップでは、
前記コードカウンタ内の前記既存コードを、前記受け取られた入力圧縮コードから減算することによって前記ランカウントを回復することにより、該回復されたランカウントを取得する
ことを特徴とする方法。
【請求項１３】  請求項１０に記載の方法において、前記ＬＺＷデータ伸張プロセスの前記ストアするステップでは、延長ストリングをストアし、
前記ストアするステップは、前記先行して受け取られた圧縮コードによって表されている前記データ文字によって延長された延長ストリングをストアする
ことを特徴とする方法。
【請求項１４】  請求項１０に記載の方法において、
前記受け取られた入力圧縮コードを比較するステップ、前記ランカウントを回復するステップ、前記データ文字を反復的に取得するステップ、前記回復されたランを出力するステップは、ラン処理を実行するステップを含み、
前記ＬＺＷデータ伸張プロセスは、第１圧縮コードがそこからフェッチされる初期処理ポイントを含み、
前記該方法では、さらに、
前記ラン処理を実行した後、前記初期処理ポイントに戻る
ことを特徴とする方法。
【請求項１５】  圧縮コードの入力ストリームを伸張して、その入力ストリームに対応するデータ文字の出力ストリームを回復するためのデータ伸張方法であって、ＬＺＷデータ伸張プロセスを含み、該ＬＺＷデータ伸張プロセスは、データ文字のストリングをストアし、当該ストアされたストリングにそれぞれのコードをコードカウンタから割り当て、各々の前記ストアされたストリングごとに前記コードカウンタをインクリメントするデータ伸張方法において、
受け取られた入力圧縮コードが予約コードに等しいかどうかを判断し、そこでは前記予約コードは、前記受け取られた予約コードに対応する選択された事前決定プロセスによって減少されたランカウントが続くことを表しており、
前記減少されたランカウントをフェッチし、
前記受け取られた予約コードに対応する前記選択された事前決定プロセスとは逆のプロセスを使用することによって、前記フェッチされた減少ランカウントを増加することによって前記ランカウントを回復し、
前記受け取られた予約コードに先行して受け取られた圧縮コードによって表されているデータ文字を反復的に取得し、前記データ文字は、前記回復されたランカウントに対する回数だけ反復的に取得することによって、回復されたランを取得し、
受け取られた圧縮コードがランカウントを表していないとき、前記受け取られた圧縮コードに対応する前記ストアされたストリングを、前記ＬＺＷデータ伸張プロセスを使用して得ることによって、ＬＺＷ回復ストリングを取得し、
回復されたランと前記ＬＺＷ回復ストリングを出力して、前記出力ストリームを取得する
ことを特徴とする方法。
【請求項１６】  請求項１５に記載の方法において、前記ＬＺＷデータ伸張プロセスの前記ストアするステップは、延長ストリングをストアするステップを含み、
前記ストアするステップは、前記先行して受け取られた圧縮コードによって表されているデータ文字によって延長された延長ストリングをストアするステップを含む
ことを特徴とする方法。
【請求項１７】  請求項１５に記載の方法において、
前記受け取られた入力圧縮コードが予約コードと等しいかどうかを判断するステップ、前記減少ランカウントをフェッチするステップ、前記ランカウントを回復するステップ、前記データ文字を反復的に取得するステップおよび前記回復されたランを出力するステップは、ラン処理を実行するステップを含み、
前記ＬＺＷデータ伸張プロセスは、第１圧縮コードがそこからフェッチされる初期処理ポイントを含み、
前記方法では、さらに、
前記ラン処理を実行した後、前記初期処理ポイントに戻る
ことを特徴とする方法。
【請求項１８】  データ文字の入力ストリームを圧縮コードの出力ストリームに圧縮するためのデータ圧縮装置であって、ＬＺＷデータ圧縮器を含み、前記ＬＺＷデータ圧縮器は、データ文字のストリングをストアする手段と、前記ストアされたストリングにそれぞれのコードを割り当てるコードカウンタと、各々の該ストアされたストリングごとに前記コードカウンタをインクリメントする手段とを含むデータ圧縮装置おいて、
データ文字のランが前記入力ストリームの中にいつ出現しているかを、前記入力ストリームのあらかじめ決めた数の隣接データ文字が互にいつ同一であるかを検出することによって、検出する手段と、
前記検出されたランの中のデータ文字をカウントして、ランカウントを取得する手段と、
前記コードカウンタ内の既存コードを前記ランカウントと結合することによって修正コードを取得する手段とを含み、
前記ＬＺＷデータ圧縮器は、前記入力ストリームを前記ストアされたストリングと比較して、そのストリングとの最長マッチ（合致）を判断し、そのストリングに割り当てられたコードを得ることによって、ランが前記入力ストリームの中に出現していないとき前記入力ストリームを圧縮することにより、ＬＺＷ圧縮コードを得るように動作し、
前記装置は、さらに、
前記修正コードと前記ＬＺＷ圧縮コードを出力して、前記出力ストリームを取得する手段を含む
ことを特徴とする装置。
【請求項１９】  請求項１８に記載の装置において、前記修正コードを取得する手段は、前記修正コードがＬＺＷデータ伸張器によって受け取られたとき、当該受け取られた修正コードを、前記ＬＺＷデータ伸張器におけるコードカウンタ内の既存コードと結合することによって前記ランカウントが回復されるように前記修正コードを得る手段を含むことを特徴とする装置。
【請求項２０】  請求項１８に記載の装置において、
前記データ文字のランがいつ出現しているかを検出する手段、前記検出されたランの中の文字をカウントする手段、前記修正コードを取得する手段および前記修正コードを出力する手段は、ラン処理を実行する手段を含み、
前記ＬＺＷデータ圧縮器に含まれる前記ストアする手段は、延長ストリングをストアする手段を含み、各々の延長ストリングは、前記入力ストリーム内の次の後続データ文字によって延長された最長マッチを含み、
前記実行する手段は、前記ＬＺＷデータ圧縮器が最長マッチを判断し、それに対応する延長ストリングをストアし、前記最長マッチに割り当てられたコードを取得した後、前記ラン処理を実行するように動作する
ことを特徴とする装置。
【請求項２１】  請求項２０に記載の装置において、前記ＬＺＷデータ圧縮器は、前記入力ストリーム内の前記次の後続文字をフェッチすると、その結果として、前記ストアされたストリングとミスマッチになるようにすることによって前記最長マッチを判断するように動作し、前記フェッチされた入力データ文字はミスマッチ文字であり、
前記実行する手段は、さらに、前記ミスマッチ文字から始まって前記ラン処理を実行する手段を含み、
前記検出する手段は、さらに、前記ランがいつ出現しているかを、前記あらかじめ決めた数の前記隣接データ文字が前記ミスマッチ文字といつ同一になっているかを検出することによって、検出する手段を含む
ことを特徴とする装置。
【請求項２２】  データ文字の入力ストリームを圧縮コードの出力ストリームに圧縮するためのデータ圧縮装置であって、ＬＺＷデータ圧縮器を含み、前記ＬＺＷデータ圧縮器は、データ文字のストリングをストアする手段と、前記ストアされたストリングにそれぞれのコードを割り当てるコードカウンタと、各々の該ストアされたストリングごとに前記コードカウンタをインクリメントする手段とを含むデータ圧縮装置において、
データ文字のランが前記入力ストリームの中にいつ出現しているかを、該入力ストリームのあらかじめ決めた数の隣接データ文字が互にいつ同一になっているかを検出することによって、検出する手段と、
前記検出されたランの中のデータ文字をカウントして、ランカウントを取得する手段と、
選択された事前決定プロセスを使用して、前記ランカウントをあらかじめ決めた数以下に減少することによって減少カウントを取得する手段と、
前記選択された事前決定プロセスに対応する予約コードを取得する手段と
を含み、
前記ＬＺＷデータ圧縮器は、前記入力ストリームを前記ストアされたストリングと比較して、そのストリングとの最長マッチ（合致）を判断し、そのストリングに割り当てられたコードを取得することによって、ランが前記入力ストリームの中に出現していないとき前記入力ストリームを圧縮することにより、ＬＺＷ圧縮コードを得るように動作し、
前記装置は、さらに、
前記予約コード、前記減少カウントおよび前記ＬＺＷ圧縮コードを出力して、前記出力ストリームを取得する手段を含む
ことを特徴とする装置。
【請求項２３】  請求項２２に記載の装置において、前記減少カウントを取得する手段および前記予約コードを取得する手段は、前記予約コードと前記減少カウントがＬＺＷデータ伸張器によって受け取られたとき、前記選択された事前決定プロセスの逆のプロセスを使用することによって前記受け取られた減少カウントを増加することによって前記ランカウントが回復されるように、該予約コードと該減少カウントを取得する手段を含むことを特徴とする装置。
【請求項２４】  請求項２２に記載の装置において、前記データ文字のランがいつ出現するかを検出する手段、前記検出されたランの中のデータ文字をカウントする手段、前記減少カウントを取得する手段、前記予約コードを取得する手段および前記予約コードと前記減少カウントを出力する前記手段は、ラン処理を実行する手段を含み、
前記ＬＺＷデータ圧縮器に含まれる前記ストアする手段は、延長ストリングをストアする手段を含み、各ストリングは前記入力ストリームの中の次の後続データ文字によって延長された最長マッチを含み、
前記実行する手段は、該ＬＺＷデータ圧縮器が最長マッチを判断し、それに対応する延長ストリングをストアし、前記最長マッチに割り当てられたコードを取得した後、前記ラン処理を実行するように動作する
ことを特徴とする装置。
【請求項２５】  請求項２４に記載の装置において、前記ＬＺＷデータ圧縮器は、前記入力ストリーム内の前記次の後続文字をフェッチすると、その結果として、前記ストアされたストリングとミスマッチになるようにすることによって前記最長マッチを判断するように動作し、
前記フェッチされた入力データ文字はミスマッチ文字であり、
前記実行する手段は、さらに、前記ミスマッチ文字から始まって前記ラン処理を実行する手段を含み、
前記検出する手段は、さらに、前記ランがいつ出現しているかを、前記あらかじめ決めた数の前記隣接データ文字が前記ミスマッチ文字といつ同一になっているかを検出することによって、検出する手段を含む
ことを特徴とする装置。
【請求項２６】  圧縮コードの入力ストリームを伸張して、その入力ストリームに対応するデータ文字の出力ストリームを回復するためのデータ伸張装置であって、ＬＺＷデータ圧縮器を含み、前記ＬＺＷデータ伸張器は、データ文字のストリングをストアする手段、当該ストアされたストリングにそれぞれのコードを割り当てるコードカウンタ、および各々のストアされたストリングごとに前記コードカウンタをインクリメントする手段を含むデータ伸張装置において、
受け取られた入力圧縮コードを、該コードカウンタ内の既存コードと比較して、前記受け取られた入力圧縮コードがランカウントを表しているかどうかを判断する手段と、
前記受け取られた入力圧縮コードを前記コードカウンタ内の既存コードと結合することによって前記ランカウントを回復する手段と、
前記受け取られた入力圧縮コードに先行して受け取られた圧縮コードによって表されているデータ文字を反復的に取得する手段であって、そこでは前記データ文字は、前記回復されたランカウントに対応する回数だけ反復的に取得することによって、回復されたランを取得する手段と
を含み、
前記ＬＺＷデータ伸張器は、受け取られた圧縮コードがランカウントを表していないとき、前記受け取られた圧縮コードに対応する前記ストアされたストリングを取得することにより、ＬＺＷ回復ストリングを得るように動作し、
前記装置は、さらに、
回復されたランと前記ＬＺＷ回復ストリングを出力して、前記出力ストリームを取得する手段を含む
ことを特徴とする装置。
【請求項２７】  請求項２６に記載の装置において、前記比較する手段は、
前記受け取られた入力圧縮コードを前記コードカウンタ内の既存コードと比較して、前記受け取られた入力圧縮コードが前記コードカウンタ内の既存コードより大であるかどうかを判断することによって、前記受け取られた入力圧縮コードがランカウントを表していることを判断する手段を含むことを特徴とする装置。
【請求項２８】  請求項２６に記載の装置において、前記回復する手段は、
前記コードカウンタ内の前記既存コードを、前記受け取られた入力圧縮コードから減算することによって前記ランカウントを回復することによって、回復されたランカウントを取得する手段を含むことを特徴とする装置。
【請求項２９】  請求項２６に記載の装置において、前記ＬＺＷデータ伸張器に含まれる前記ストアする手段は、延長ストリングをストアする手段を含み、
前記ストアする手段は、前記先行して受け取られた圧縮コードによって表されているデータ文字によって延長された延長ストリングをストアする手段を含む
ことを特徴とする装置。
【請求項３０】  請求項２６に記載の装置において、
受け取られた入力圧縮コードを比較する手段、前記ランカウントを回復する手段、前記データ文字を反復的に取得する手段および前記回復されたランを出力する手段は、ラン処理を実行する手段を含み、
前記ＬＺＷデータ伸張器は、第１圧縮コードがそこからフェッチされる初期処理ポイントを含むように動作し、
前記装置は、さらに、
前記ラン処理を実行した後、前記初期処理ポイントに戻る手段を含む
ことを特徴とする装置。
【請求項３１】  圧縮コードの入力ストリームを伸張して、その入力ストリームに対応するデータ文字の出力ストリームを回復するためのデータ伸張装置であって、ＬＺＷデータ伸張器を含み、該ＬＺＷデータ伸張器は、データ文字のストリングをストアする手段、前記ストアされたストリングにそれぞれのコードを割り当てるコードカウンタ、および各々のストアされたストリングごとに前記コードカウンタをインクリメントする手段を含むデータ伸張装置において、
受け取られた入力圧縮コードが予約コードに等しいかどうかを判断する手段であって、そこで前記予約コードは、該受け取られた予約コードに対応する選択された事前決定プロセスによって減少されたランカウントが続くことを表している手段と、
前記減少されたランカウントをフェッチする手段と、
受け取られた予約コードに対応する前記選択された事前決定プロセスとは逆のプロセスを使用することによって、前記フェッチされた減少ランカウントを増加することによって前記ランカウントを回復する手段と、
前記受け取られた予約コードに先行して受け取られた圧縮コードによって表されているデータ文字を反復的に取得する手段であって、前記データ文字は、前記回復されたランカウントに対応する回数だけ得られるようにして、回復されたランを取得する手段と
を含み、
前記ＬＺＷデータ伸張器は、受け取られた圧縮コードがランカウントを表していないとき、前記受け取られた圧縮コードに対応する前記ストアされたストリングを、ＬＺＷ回復ストリングを取得するように動作し
前記装置は、さらに、
前記回復されたランと前記ＬＺＷ回復ストリングを出力して、前記出力ストリームを取得する手段を含む
ことを特徴とする装置。
【請求項３２】  請求項３１に記載の装置において、前記ＬＺＷデータ伸張器に含まれる前記ストアする手段は、延長ストリングをストアする手段を含み、
前記ストアする手段は、前記先行して受け取られた圧縮コードによって表されているデータ文字によって延長された延長ストリングをストアする手段を含む
ことを特徴とする装置。
【請求項３３】  請求項３１に記載の装置において、
前記受け取られた入力圧縮コードが予約コードと等しいかどうかを判断する手段、前記減少ランカウントをフェッチする手段、前記ランカウントを回復する手段、データ文字を反復的に取得する手段および前記回復されたランを出力する前記手段は、ラン処理を実行する手段を含み、
前記ＬＺＷデータ伸張器は、第１圧縮コードがそこからフェッチされる初期処理ポイントを含むように動作し、
前記装置は、さらに、
前記ラン処理を実行した後、前記初期処理ポイントに戻る手段を
含むことを特徴とする装置。