情報Ⅰ ポイント整理(6)
情報Ⅰ ポイント整理(6)
この連載は、現在高校で使われている情報Ⅰの教材をベースにし、重要なポイントを整理して5分で読める記事にします。
ITの基本知識として知る必要がある内容がたくさんあります。
また大学共通テストに出やすいポイントを説明いたしますので、テスト対策にもお役立ていただければ幸いです。
第6回目 画像データの計算
前回のポイント整理(5)では、音声データの計算を学びました。今回は画像データの計算を学んでいきましょう。
画像データに関する知識は日常的にもよく使われます。写真を撮ってSNSで共有するだけではなく、画像データの形式や圧縮の有無も覚えておきましょう。
プログラミングを学ぶなら、画像処理に関わる解像度やRGBなどの専門用語もぜひ理解をしていただきたいです。
RGBとフルカラー
光の三原色は赤、緑、青です。この3つの光の色を混ぜ合わせると、いろんな色を作り出すことができます。その色の表現方法を、赤(Red)、緑(Green)、青(Blue)の頭文字を取って、RGBと言います。赤と緑だと黄色を作れます。赤、緑、青の3色を混ぜ合わせると白になります。
赤、緑、青の3色だけなので、単純に組み合わせると全部で7種類の色しか作れません。もっと多くの色を作り出すために、この赤、緑、青の3色をさらに256段階(8ビット)に分けて色の濃淡を作ります。赤、緑、青それぞれ256段階の濃さがあるので、それらを組み合わせると、256✕256✕256で16,777,216色を作り出すことができます。8ビットの3個分なので、RGBで表現できる色を24ビットのフルカラーといいます。
画像のデジタル化
画像をコンピューターで処理するためには、データ化しなければなりません。画像のデジタル化はどのように実現されるかを説明します。
画像を拡大してみると、一つひとつの小さな四角形が見えます。その四角形のことを画素といいます。画素画像の最小単位です。それぞれの画素にはそれぞれの色が1つ指定されます。その四角形があまりにも小さいので、画素自体の色が見えるのではなく、無数の画素が並べられた色の集まりが見えます。それが私たちが見る画像です。ちなみに、画素はドットやピクセルとも言われます。
解像度は、一枚の画像の横と縦の画素の数を示します。数が多ければ多いほど画像がより細かくなります。つまり、写っているものの細部がはっきり見える画像になります。そのことを、解像度が高いといいます。逆に、解像度が低いとは、画素数が少ないことです。画像がギザギザになったり、ぼやけているように見えたり、粗い画像になってしまいます。
画像をデジタル化するときには、その画像にあるすべての画素の色のデータを利用することになります。例えば、1枚の画像があります。解像度は横1280ピクセル、縦720ピクセルとします。つまり、この画像の横には1280個の画素があります。縦には720個の画素があります。1280✕720=921,600個の画素の色データを使って、その画像をデジタル化します。
画像のデータの計算
画像のデジタル化の本質が理解できれば、画像のデータ量の計算もできます。FullHDの画像のデータ量を計算してみます。フルカラーの画像だと設定します。
FullHDの画像の解像度は1920ピクセル✕1080ピクセルになります。
まず、画素の総数を計算しましょう。
画素の総数 = 1920ピクセル ✕ 1080ピクセル = 2,073,600(個)
一つの画素には1つの色があります。色はフルカラーなのでRGBで表現します。R、G、Bはそれぞれ0~255の間の数字になります。2の8乗が256なので、8ビットあれば、Rのデータを保存できます。同じく、GとBのデータを保存するためにはそれぞれ8ビットが必要です。つまり、1つのRGBの色を保管するには、24ビットの容量が必要です。
これで、フルカラー画像のデータ量の計算ができます。
データ量 = 画素の総数 ✕ 24ビット = 2,073,600 ✕24ビット = 49,766,400ビット
メガバイトまで換算します。復習します。
1バイト=8ビット
1キロバイト=1024バイト
1メガバイト=1024キロバイト
換算すると
49,766,400ビット = 6,220,800バイト = 6,075キロバイト ≒ 5.93メガバイト
解像度がFullHD(1920✕1080)の画像のファイルサイズは約5.93MBになります。
モノクロの画像のデータ量を計算
次に、上記のFullHDのカラー画像をモノクロ化すると、容量はどれぐらい変わるか、計算してみましょう。
モノクロ化とは、色の情報を削除し、白と黒とグレーの濃淡だけで表現にすることです。グレースケールともいいます。つまり、3つの色で構成するRGBを1つの色で表現することになります。この場合、色情報を保管するための容量は8ビットだけで十分です。
計算します。
画素の総数が変わらないので、2,073,600(個)になります。
一つの画素には1つの色がありますが、その色の保管容量は8ビットになりました。
データ量 = 2,073,600 ✕ 8ビット = 16,588,800ビット
同じくメガバイトまで換算します。
データ量 = 16,588,800ビット = 2,073,600バイト = 2025KB ≒ 1.98MB
計算してわかるように、色の情報量が3分の1になったので、画像のデータ量も3分の1になりました。圧縮率は33.3%です。
画像ファイルの形式
画像ファイルにもいろんな形式があります。以下のように常用されるものは覚えておいてください。
・BMP:圧縮なし、画像の劣化がありません。
・JPEG:圧縮あり、データ量がすくなるので、Webでよく使われます。
・PNG:圧縮あり、背景透明できる画像、最近Webでもよく使われています。
・GIF:圧縮あり、256色まで表現できる。小さなアイコンなどによく使われます。
画像の解像度
画像の解像度も覚えておきましょう。
プログラミングをする時には、画像の解像度や、モニターの解像度などを把握しなければならない時があります。
HD:1280ピクセル × 720ピクセル
※720Pと書く場合もあります。
FullHD:1920ピクセル × 1080ピクセル
※FHDまたは1080Pと書く場合もあります。
4K:3840ピクセル × 2160ピクセル
8K:7680ピクセル × 4320ピクセル
皆さんが自分のスマホで撮った写真がどれぐらいの解像度があるのかも、一度調べてみてください。いまのスマホのカメラはかなり高性能なので、多くの場合は4Kぐらいの写真が撮れます。
きれいに撮れるのはいいことなのですが、画像のサイズがとても大きくなることは理解しておきましょう。スマホの保存容量が足りなくなる場合には、カメラの撮影解像度を低く設定しておくほうがいいかもしれません。
今回は画像データのデジタル化、データ量の計算を説明しました。
生活にもプログラミングにも役に立つ内容なので、ぜひ覚えておいてください。