【情報I】圧縮ってなにを削ってるの?現役エンジニアが可逆・非可逆を解説
こんにちは!オンライン家庭教師のこばやしです。普段はフリーランスのITエンジニアとして働きながら、中高生に「情報I」「理系数学」「英語」を教えています。
情報Iで学ぶ「データの圧縮」。ファイルを圧縮すると容量が減りますが、「なぜ減るのか」「可逆・非可逆って何が違うのか」がピンとこない、という方も多いのではないでしょうか。
ピンとこない原因は、圧縮を「魔法」のように捉えているからです。でも実際にやっていることは、「ムダを見つけて、短く書き直す」だけ。とてもシンプルな発想なんです。
■ 圧縮 = ムダを見つけて短く表現する
たとえば「AAAAA」という5文字。これを「Aが5個」=「A5」と書けば、たった2文字で済みます。これが圧縮の基本的な発想です。
データの中には、こうした「繰り返し」や「ムダ」がたくさん潜んでいます。それを見つけて、より短い表現に置き換える。魔法でも何でもなく、賢い「書き直し」をしているだけなのです。
■ 可逆圧縮 = 完全に元へ戻せる
圧縮には、大きく2種類あります。一つ目が「可逆圧縮」です。
可逆圧縮は、圧縮したデータを、1ビットも失わずに完全に元へ戻せるのが特徴です。「A5」を「AAAAA」に戻せるように、情報を一切捨てません。文書やプログラムのように、少しでも中身が変わってはいけないデータに使われます。身近なところでは、ファイルをまとめるZIPや、画像のPNGが可逆圧縮です。
■ 非可逆圧縮 = 一部を捨てて小さくする
もう一つが「非可逆圧縮」です。これは、思い切って一部の情報を捨てることで、より小さくする方法です。
写真のJPEG、音楽のMP3、動画のMP4などがこちらです。「人間の目や耳では気づきにくい情報」をうまく削ることで、見た目や聞こえ方をほぼ保ったまま、大幅に軽くできます。ただし、一度捨てた情報は元には戻りません。ここが可逆との決定的な違いです。
■ 現場では、用途で使い分ける
私たちエンジニアは、この2つを目的に応じて使い分けます。中身が1文字も変わってはいけない契約書のようなデータなら可逆圧縮。多少の画質より、とにかく軽くしたい写真なら非可逆圧縮、という具合です。
「元に戻せることを優先するか、サイズを優先するか」。この判断は、扱うデータの性質によって変わります。だからこそ、両者の違いを理解しておくことが大切なのです。
■ 「本質を残して、ムダを削る」発想
大事な情報を残しながら、いらないものを削って小さくする。この考え方は、圧縮に限らず、文章の要約や、情報の整理にもそのまま通じます。何が本質で、何が削れるムダなのかを見極める力は、勉強にも役立ちます。
私の授業では、簡単な文字列を実際に「短く書き換えて」みせて、圧縮の原理を手を動かしながら理解してもらいます。
・「圧縮の仕組みが分からない」という方
・「可逆・非可逆の違いが曖昧」という方
・「なぜ画質が落ちるのか知りたい」という方
そんな方は、ぜひ一度体験授業にいらしてください。現役エンジニアと一緒に、圧縮の「からくり」を体験しましょう!
【プロフィール】
こばやし|納得感を大切にするフリーランスエンジニア
北海道大卒。約10年間にわたり金融決済システムなどの基幹開発に携わった後、フリーランスのエンジニア・IT講師として独立。企業の新人IT研修のメイン講師も務めるプロが、「仕組みから理解する」論理的な指導を行います。
この先生のおすすめコース
- 共通テストで「情報I」が必要な国公立大・難関私大志望の方
- 「プログラミング」や「データの分析」が苦手で、暗記に逃げている方
- 将来IT系に進みたい、または現役エンジニアから実学を学びたい方
このブログに関連するオンライン家庭教師はこちら
情報/プログラミングのおすすめの指導コース
- 情報の入試で周りと差をつけたい生徒様
- プログラミングには興味はあるが入試問題が解けるか不安な生徒様
- 情報分野を詳しく学びたい・IT業界のことを知りたい生徒様
- 情報系の学部への進学進学を希望している方
- 情報系の学部に必要な知識とスキルを効率的に身につけたい方
- プログラミングや数学、論理的思考力を強化したいと考えている方
- 生成AIの使い方を学びたい、活用したい方
- 生成AIを使ってアプリ開発をしたい方
- 生成AIの正しい使い方や危険を学びたい方
- 情報系のことに興味がある生徒様・AI分野に興味がある生徒様
- AIで将来世界を変えたい生徒様
- 数学が好きな生徒様