
データ伸張:圧縮からの解放
近頃では、様々な情報がまるで血液のように社会の隅々まで行き渡っています。動画や音楽、写真、文章など、毎日実に多くの情報が作られ、送られ、そして保存されています。これらの情報をうまく扱うには、情報の大きさを小さくする技術、つまり圧縮が欠かせません。そして、圧縮された情報を元の状態に戻す操作、それが伸張です。この文章では、この伸張について詳しく説明していきます。
情報の圧縮には、大きく分けて二つの種類があります。一つは可逆圧縮、もう一つは非可逆圧縮です。可逆圧縮は、圧縮した情報を伸張した際に、元の情報と全く同じ状態に戻すことができます。文字データやプログラムのように、一文字でも欠けてしまうと困る情報に用いられます。代表的な方法としては、よく使われている「ジップ」形式や、文章の繰り返し部分をまとめて記録する「ランレングス符号化」などがあります。
一方、非可逆圧縮は、圧縮した情報を伸張した際に、元の情報と完全に同じ状態には戻りません。多少の情報が欠けてしまいますが、その分、可逆圧縮よりも高い圧縮率を実現できます。写真や動画、音楽など、多少の情報が欠けても人間が気が付きにくい情報に用いられます。よく知られている「ジェイペグ」形式の画像や、「エムペグ」形式の音声などがその例です。
伸張は、これらの圧縮方法に応じて適切な手順で行われます。可逆圧縮の場合は、圧縮時に用いられた規則と全く逆の規則を適用することで、元の情報を完全に復元します。非可逆圧縮の場合は、欠けてしまった情報をある程度補完しながら、元の情報に近い状態に戻します。伸張の速さも重要な要素です。特に動画のようにリアルタイムで再生する必要がある情報の場合、伸張処理に時間がかかると、映像が途切れてしまうなどの問題が発生します。そのため、それぞれの圧縮方法には、効率的な伸張アルゴリズムが開発されています。