第9章 ソフトウェア技術 9.1 プログラミング言語 9.2 オペレーティングシステム 9.3 データベース技術 9.4 マルチメディア技術 9.5 ソフトウェア開発 9.4 マルチメディア技術 9.4.1 9.4.2 9.4.3 マルチメディアの種類 圧縮技法 マルチメディア用ツール 9.4.1 マルチメディアの種類 (1) マルチメディアとは 情報が人間の五感で感ずることができる全てであるとすれば, 「情報処理」とは人間の五感で感じ取ることができる全ての情報を, すなわち視覚,聴覚,触覚,味覚,臭覚等を表現できなければならない。 これらの情報全てを,元来は「マルチメディア」と呼ぶことができるが, 現時点のコンピュータ技術でディジタル表現できているのは, 視覚と聴覚,即ち「画像」と「音」のデータである。 本節で対象とする「マルチメディア」とは, ① 画像 ② 音声 ③ 従来の数値や文字情報 を指す。 マルチメディアデータは,時間的な動きを持つかどうかによって, 更に「動的データ」と「静的データ」に分類することができる。 (2) 動的データと静的データ 時間的な動きを持つかどうかによって, 動的データと静的データに分類することができる。 静的 データ 動的 データ 種 類 数値データ 文字データ 静止画 (イメージ) グラフィックス 音声データ 演奏データ 動画データ 映像データ 特 徴 数値。算術演算や論理演算の対象。 文字をコード化してデジタル化。 写真やイラストなどの画像。 ドット単位に細かく分割してデジタル化。 幾何学的図形の座標値や色等をデジタル化。 画像を生成して静止画に変換されて視覚化される。 声,音あるいは音楽などのサウンドデータ。 音楽の音の高さ・強さ,音がなる順番,音色等を デジタル化。コンピュータやMIDI機器によって 音声データに変換。 時間と共に変化する画像データ。 静止画を時系列的に並べたもの。 動画と音声を同期させたデータ。 (3) 圧縮技術の必要性 数値データ,文字データ,グラフィックス,演奏データ以外のデータは, 本来アナログ情報である。これらをディジタル情報に変換すると, 文字情報に比べ多量なデータとなる。 ① 蓄積するためのファイルは大規模になってしまう。 ② 音声や画像の通信では,伝送速度の問題が大きなネックになる。 圧縮して蓄積し,圧縮したデータを通信回線に乗せる必要がある さらに,動画や音声は,伝送による遅延時間からくる歪みや劣化を 少なくする必要がある。 [劣化の例] ① ギクシャクした動き ② フレーム毎の輝度の変化に伴うちらつき ③ 音声信号の欠如 (4) 静止画 本来はアナログ情報として表現される イメージデータは,ドット単位に細かく分割してデジタル化すされるので, 多量のデータになる。 そこで,蓄積したり伝送するときは圧縮し,視覚化するときに伸張する 技術が使われる。以下に代表例を示す(後述)。 ① MH符号(Modified Huffman Code) モノクロFAX等,2値画像の圧縮に使われる。 ② JPEG(Joint Photograph Expert Group) カラー画像の圧縮で一般的に使われている。 ③ GIF(Graphics Interchange Format) Web上の画像データとしての便利な機能があるため, Webで一般的に使用されている。米国コンピュサーブ社が定めたもの。 ④ その他 画像処理ソフトを開発・提供しているソフトメーカ等が独自に 開発した圧縮技法(psd, psp, cgm など)も,一般に使われている。 (5) 動画データ カラー動画像は,基本的にはカラー静止画を時系列的に並べたもの。 ある時刻の1枚の画像をコマまたはフレームといい, 1秒間のコマ数により動画のスムーズさが異なる。 従って,スムーズな動画を実現するにはコマ数を多くしなければならない。 ① AVI 主にWindowsのパソコンで用いられている。 ② QuickTime ビデオの圧縮率が高く,動画音声を簡単に同期制御できるので, インターネット上での動画で利用されている。 ③ Real Video 動画をダウンロードしながらリアルタイムに再生できるのでするため, インターネットでの利用頻度が高い。 ④ MPEG(Moving Picture Coding Experts Group) カラー動画の圧縮方式で,国際的に標準化された代表的なもの。 ISOとIECが合同で標準化を行った。 動画のリアルタイム伝送 動画をインターネット等で転送するには, いったん全ての動画データをダウンロードしてから再生するのが確実である。 しかし,この方法には以下のような難点がある。 ① 受信側に膨大な記憶容量が必要である。 ② テレビ電話などのリアルタイムな利用には向かない。 リアルタイムな伝送制御プロトコルであるRTSP(Real-time Streaming Protocol) が標準化されている。 このプロトコルを使用した動画像の伝送,再生をストリーミングという。 (「流れている」という意味) 特にMPEGについて 名 称 MPEG1 MPEG2 MPEG3 (実際にはない) MPEG4 MPEG7 仕 様 CD-ROMに動画を蓄積することを対象とする。 転送速度は1.5 MBPS (M Bits per Second) 高品位テレビや広帯域ISDNによる映像伝送を対象とする。 転送速度は数MBPS~数10MBPS。 解像度が異なるディスプレイでも再生できる機能がある。 計画されていたMPEG3の規格がMPEG2によって実現できた ため,欠番とされた。 移動体通信での利用を対象とした圧縮及び転送速度を 優先した規格。音声の圧縮符号も含む。転送速度は,数KBPS。 マルチメディア情報の高速検索を対象とした規格。 (6) 音声データ 音声データをコンピュータ内に取りこむ最も簡単な方法は, アナログデータを微小な時間間隔毎にサンプリング,量子化して デジタルデータに変換(A/D変換:Analog/Digital変換)する方式。 これをパルス符号変調(PCM:Pulse Code Modulation)方式と呼ぶ。 アナログデータ サンプリング 量子化 11000111 00001110 10011101 10100110 符号化 00111000 デジタル 01110100 データ 11101101 00110001 11000011 10100111 01101000 サンプリング 1秒間をいくつに分類するかをサンプリング周波数,それぞれの信号を何 ビットで表現するかを量子化ビット数という。 [サンプリング周波数] ① 音楽CD : 44.1kHz ② DVD-Video : 96kHz [量子化ビット数] ① CD,MD,DAT : 16ビット(2バイト) ② DVD-Audio : 最大24ビット 量子化雑音 量子化の際の丸め誤差により生じる誤差。 サンプリング周波数が高ければ高いほど, 量子化ビット数が多ければ多いほど, 量子化雑音が少なくなり,音質が良くなる。 音声データのデータ量 [最もデータ量が少ない音楽CDの場合] 1秒間: 44.1×103[Hz]× 2 [byte]= 88.1[k byte] 3分程の短い音楽でさえ5M以上のデータ量となるため, やはり圧縮技術が必要である。 ① 適応型PCM(APCM: Adaptive Pulse Code Modulation) 現在の信号を前時刻の信号との差で表現する。サンプリング間隔が 非常に短いので,16ビットでないと表現できない信号でも,信号差は 4ビット程度で表現できる。従って,4分の1の圧縮ができる。 ② 適応型差分PCM(ADPCM: Adaptive Differential Pulse Code Modulation) APCMを拡張し,信号の予測値を計算し,予測値との差で表現する。 音声圧縮に関する国際標準 動画と同じくMPEGで規定される。 通称,MPEG Audioとは,以下の総称である。 ① MPEG-1 Audio (1992年,CD-I や DAT が対象) ② 通称MPEG-2 Audio (1994年,放送や通信への応用が対象) ③ MPEG-4 Audio (1997年,より高圧縮で広範囲のビットレートに対応) 特にMPEG-1 Audio Layer-Ⅲは,MP3という名前で普及している。 (7) MIDI(Musical Instrument Digital Interface) 音の高さ,強さ,長さ,音色等の情報を数値データで表現する。 音楽電子事業協会(AMEI)とMMA(MIDI Manufactures Association)が 共同で規定している。 このデータは,入力時点から符号化されているため, 容量は音声データほど大きくはならない。 ただし,MIDIデータから音楽用CD等を作るためには, 音声データに変換しなければならない。 [MIDIデータを使えば…] ① MIDIデータを使えば,電子楽器とパソコンのやりとりができる。 ② シーケンスソフトを使うと,楽器を選択し, 画面上の譜面に楽譜を置いていけば作曲や編曲が簡単にできる。 ③ MIDIファイルからMP3ファイル等への変換を行い, 音楽用CDの作成も可能である。 9.4.2 圧縮技法 (1) 圧縮技法の考え方 データ表現を工夫して,コンパクトなデータ表現に置きかえること ある程度まとまったデータのパターンに符号を付け, 短い符号で,まとまったパターンを表現するともいえる。 したがって,圧縮することを符号化と呼ぶことが多い。 専門書等で, 頻繁に出現する長ったらしい用語に略称や記号を付けて表現し, 文章を短くすることに,たとえることができる。 このたとえに最も類似する圧縮法が辞書ベース圧縮である。 ファイル中に使われている記号列(単語に相当)をもとに辞書を作り, 辞書中の格納アドレスで記号列を置き換えていく方法。 何バイトもの文字列を,1アドレス表現で置き換えるので 圧縮されたことになる。 データのパターン データのパターンは, 必ずしも圧縮対象のデータ形式のまま取り扱われるとは限らない。 そのデータが表現する事象を,別の観点からモデル化し, モデル化された世界のパターンで元のデータを表現できる場合も, ひとつのデータのパターンとして捉えることができる。 [例] 波のデータをフーリエ変換し,波を周波数成分として表現し, 周波数成分のパターンをデジタル化。 周波数成分のパターンに符号を付ける。(例:MP3) 成分の省略 扱うデータが対象とする分野では,省略しても構わない成分もある。 この成分を省略することによってデータ量を少なくすることができる。 [例]電話等の音声データ 人間に認知できない低周波成分や高周波成分を省略しても構わない。 ただし,成分を省略するため,復元するとき元のデータに戻すことが できない。これを非可逆性と呼ぶ。 (2) ランレングス符号化 [まとまったデータのパターン 例] 左上から順に読込まれるものとすると, 白黒黒黒白白黒白黒白白黒白黒白黒白白白黒黒黒黒黒黒黒 白白白黒黒白白白黒黒白白白黒 と40個のデータが並んでいる。 これを同じデータが並んだ数で表現すると, 1白3黒2白1黒1白1黒2白1黒1白1黒1白1黒3白 5黒3白2黒3白2黒3白1黒 と表現できる。 このように,白か黒かの値と連続する個数を並べれば, データの個数を減らすことができる。 同じデータが連続することをラン(Run)と呼ぶため, この方式をランレングス(Run Length)方式と呼ぶ。 FAX等の場合 FAX等で送られるデータの場合,文字情報が多く 白い隙間が大きく空いているので,このような圧縮技法でも 十分データ量が少なくなる。 2値画像の場合,白と黒が交代になるので,最初が黒か白かだけのデータと, あとは黒から白へ,白から黒への切り替えなので, ランレングスの値だけでも構わない。 1白3黒2白1黒1白1黒2白1黒1白1黒1白1黒3白 5黒3白2黒3白2黒3白1黒 2値画像の場合, 白:13211121111135323231 でもよい。 (3)ハフマン(Huffman)符号化 辞書ベース圧縮の拡張とも言える。 出現パターンを出現頻度順に並べ,出現頻度の高いものには2ビット, それ以外は出現頻度が低くなればなるほど長いコードを振り分ける。 このことで全体で必要なビット数を少なくする。 [例]40文字からなる文字列 “TONARI NO KYAKU WA (隣の客はよく柿食う客だ) YOKU KAKI KUU KYAKUDA” まず文字列の数を調べ,出現が多い順に並べると次のようになる。 括弧内は文字数である。 K(8), A(6), 空白(6), U(5), O(3), Y(3), N(2), I(2), T(1), W(1), D(1), R(1) ハフマンの木 K(8), A(6), 空白(6), U(5), O(3), Y(3), N(2), I(2), T(1), W(1), D(1), R(1) 小さい方から1番目と2番目を組み合わせ,繰り返しトーナメント表を 作っていく。最後に2つ残ったら,2つを組合せて組を作る。 (これを「ホフマンの木」と呼ぶ)。 I(2) T(1) T(1) W(1) W(1) W(1) D(1) D(1) D(1) D(1) R(1) R(1) R(1) R(1) ハフマンの木 最後の組合せの頂上(集束点)から順に0と1を振り分ける。 集束点から各文字に辿り着くまでの0と1をつなげてコードを作成 元の文字 集 束 点 コード 0 K(8) 00 0 1 A(6) 01 1 0 空白(6) 10 U(5) 110 O(3) 1110 Y(3) 11110 N(2) 111110 I(2) 1111110 T(1) 11111110 W(1) 111111110 0 D(1) 1111111110 1 R(1) 1111111111 1 0 1 0 1 0 1 ① ハフマンの木に 0と1を振り分ける。 0 1 0 1 0 1 0 1 ② ハフマンの木に振り分けられた 0,1を辿ってコード作成 圧縮率 最後の組合せの頂上(集束点)から順に0と1を振り分ける。 集束点から各文字に辿り着くまでの0と1をつなげてコードを作成 元の文字 コード 合計ビット数 K(8) 00 8 × 2 = 16 A(6) 01 6 × 2 = 12 空白(6) 10 6 × 2 = 12 U(5) 110 5 × 3 = 15 O(3) 1110 3 × 4 = 12 Y(3) 11110 3 × 5 = 15 N(2) 111110 2 × 6 = 12 I(2) 1111110 2 × 7 = 14 T(1) 11111110 1 × 8 = 8 W(1) 111111110 1 × 9 = 9 D(1) 1111111110 1 × 10 = 10 R(1) 1111111111 1 × 10 = 10 総計ビット数 135 圧縮率= 135/(40×8) = 約 40 % ハフマンの符号化のFAXへの適用 ① MH(Modified Huffman)符号化方式 ハフマンの符号化をラングレス符号に適用した方法。 FAXでは,走査線1本毎に行われるので1次元符号化方式とも呼ばれる。 FAX画像のように多くの部分が白地や黒地で占められている場合, 特に圧縮率が高くなる。 ② MR符号(Modified READ Code)方式 さらに, G3ファクシミリでは前の走査線と異なっている部分だけを 送信するMR符号方式を使う。 走査線間で行われるので2次元符号化方式とも呼ばれる。 当然,2次元符号化方式は圧縮率が高くなるが, ビット誤りが後まで波及するので, 一定間隔で1次元符号化ラインを挿入することになる。 (4)離散コサイン変換(Discrete Cosine Transform) 音声データは,基本的には波のデータである。 したがって,フーリエ変換やコサイン変換など直交変換を行って, 周波数成分の大きさで音声データを表現できる。 音声データでは人間が知覚できない劣化は無視することができる。 例えば,人間の耳に聞こえる周波数の範囲は限られているので, 低周波や高周波を省略しても人間の耳には,劣化した音声には聞こえない。 従って,無限のフーリエ変換やコサイン変換を行う必要はない。 MPEG Audio(その1) MPEG Audioでは,512のPCM入力信号を8信号ずつ64分割して, 次のような計算で,周波数領域に写像している。 Z i Ci X i 7 Yi Z 64 j i j 0 63 S i Yk k 0 512 個の入力信号を基本低域フィルタにかける 512 個の入力信号を8信号ずつ64分割し, 周期加算信号 Yi を計算する 2i 1 k 16 cos 64 サブバンド出力 Si を離散コサイン 変換により写像する ここで, Xi Ci Yi Si :入力信号サンプル :基本低域フィルタのインパルス応答 :周期加算信号 :サブバンド出力 MPEG Audio(その2) 更に,人間の心理聴覚分析モデルに基づいて重み付け等を行った後, 量子化処理を行っている。 MPEG1のレイヤⅢ(いわゆるMP3)では,符号化品質向上のため, 更に適応ブロック長変換符号化,ハフマン符号化,MS(Middle-Side)ステレオ等 の技法が使われている。 [MPEG Audioの概略ブロック構成] PCM オーディオ サンプル 符号化器 写像 (直交変換) 量子化 符号化 フレーム 形成 心理聴覚 モデル 符号化 ビットストリーム PCM オーディオ サンプル 復号化器 逆写像 (直交変換) 復号 逆量子化 フレーム 分解 (5) 二次元離散コサイン変換(Discrete Cosine Transform) 一次元の離散コサイン変換を二次元に拡張した方法。JPEGで用いられている。 人間の視覚には,以下の特徴がある。 ① 明るさの変換には敏感だが,色の変化には鈍感である。 ② 画像の低周波成分については敏感だが,高周波成分には鈍感である。 色の変化の情報を少なくし,高周波成分を除去する。 従って,JPEGは非可逆性を持っているといえる。 (ただし,1995年から標準化作業が始まったJPEG-LSでは,可逆性を実現している) DCT変換の方法(その1) 二次元DCTでは,次のような基底画像を使用してDCT変換を行う。 なお,左上端(0,0)は,DC(直流成分)係数と呼ばれる特別な係数であ り, 左上端以外がAC(交流成分)係数である。 画素ブロックは,DCT変換を行い64個のDCT係数と対応する 基底画像の線形結合で表現される。 [参考]基底画像の生成方法 それぞれのセルを(X, Y)(X=0~7, Y=0~7)とし, (0, 0)以外の各セル内を更に8×8に分割する。 小さなマス位置を(x, y) (x=0~7, y=0~7)として, cos(πx/X) cos(πy/Y) (但し,X=0のとき1) (但し,Y=0のとき1) の値を求め,両方の値を乗じた値を濃淡 (1のとき白,‐1のとき黒)で表現すると 左の画像が得られる。 DCT変換の方法(その2) DCT変換させた結果に対して, 64個の変換係数を有限個の離散的な値として量子化し, 画像データの圧縮を行う。 最後に,量子化された係数をエントロピー符号化する。 主としてハフマン符号が採用されているが, 最近では別の符号化が利用されることも多い。 (6) 動画像の圧縮方式 動画像の蓄積メディアでは,高速再生やスロー再生, 更にランダムアクセスが要求されるので,MPEGでは, 複数のフレームをひとまとまりにしたGOP(Group of Pictures)構造を 採用している。 一方,動画は,基本的には画像データの集まりだが, 動画における1フレーム毎の画像の大半は同じであり, 動いている部分は僅かである。 ① 変化した部分と変化しない部分を別々に記録する。 ② 変化しない部分は1枚分の画像データだけ記録する。 ③ 変化した部分については, どの方向にどれだけの距離を移動したかを記録する。 変化した部分についての処理を動き補償と呼ぶ。 Iピクチャ (Intra-coded Picture) Pピクチャ (Predictive-coded Picture) Bピクチャ (Bi-directionally predictive-coded Picture) IPB予測 これらを実現するために,以下の3種類に分ける。 ① Iピクチャ : ピクチャ予測を行わず入力信号をそのまま符号化する。 ② Pピクチャ : 片方向の動き補償を予測を用いる。 ③ Bピクチャ : 双方向の動き補償予測を用いる。 1 枚の I ピクチャと複数枚の P, B ピクチャをまとめたものが GOP であるが, 以下には,各ピクチャを1枚ずつ使った例を示す。 順方向予測 双方向予測 順方向予測 Iピクチャ 逆方向予測 Bピクチャ Pピクチャ GOP構造の例 上の順序は元画像の順に並べたものである。 Bピクチャを符号化または復号化するには, その予測画像となるIピクチャまたはPピクチャが先に 符号化されていなければならない。したがって, メディア内に格納されるときには,以下のような入れ換えがなされ る。 (元画像順) 0 B GOP 2 1 3 5 4 6 8 7 B I B B P B B P 0 1 5 3 4 8 6 7 9 B 10 B 11 12 B P 13 14 B I 14 12 格納順 2 I B B P B B P B B 11 P 10 9 B B I B MPEG-1の符号化は,動き補償予測と二次元DCTを組合わせた ハイブリッド方式である。 入力画像 符号化 AD変換 書式変換 フレーム並び替え + - - フレームメモリ /予測器 DCT + 量子化 逆量子化 レート制御 可変長符号化 バッファ MPEG-1 Video データ 逆DCT (7) 動画および音声の多重送信 映像信号と音声信号をひとつのストリームに多重する方式には, ビット多重とパケット多重がある。 ① ビット多重 コンテンツを構成する要素信号を固定した時間領域に配置する。 TS TS 制 御 情 報 映像 制 音 音 御 声 声 データ 情 1 2 報 映像 音 音 声 声 データ 1 2 ② パケット多重 コンテンツを構成する要素をブロックに区切り,ヘッダー情報を付加して, 1つのビットストリーム上に配置する。 映像 パケット ヘッダ部 A 1 映像 パケット 音声1パケット A D 2 映像 パケット データパケット 音声2パケット A A 1 2 映像 パケット D ビット多重とパケット多重 ① ビット多重 多重/分離の回路は簡単になるが,新しい信号追加等が困難である。 ② パケット多重 新しい信号の追加が容易であるが,多重処理の際に生ずる 時間的ゆらぎ(多重ジッタ)の補正に工夫が必要であり, 多重/分離の回路が複雑になる。 MPEG-2では,パケット多重を採用しており, 多重ジッタの問題については時刻情報等を付与して解決している。 MPEG 2 の ES と PES ① ES (Elementary Stream) MPEGビデオおよびオーディオ等のコンテンツを構成する要素。 ② PES (Packetized Elementary Stream) ESを可変長ブロックに区切ってヘッダー情報を付加した単位。 MPEGでは,以下の用語を用いる。 ①番組(Program):複数のESで構成されるコンテンツ (放送局が編成しているチャネルに相当する) ②イベント(Event):番組に開始時刻と終了時刻を指定したもの 複数のPESを多重化する方法(TS と PS) 複数のPESを多重化する信号として, TS(Transport Stream)とPS(Program Stream)の2種類の多重ストリームを 規定している。デジタル放送ではTSが使われる。 固定長 188 byte TSパケット TSパケット TSパケット TSパケット (PID=K) (PID≠K) (PID=K) (PID≠K) TSヘッダ TSパケット TSペイ ロード PES (可変長) PES ヘッダ パック パック ヘッダ PS パック TSペイ ロード PESペイロード PES パック PES PES パック プログラム エンドコード 9.4.3 マルチメディア用ツール (1)ハードウェア マルチメディアを扱うには,それぞれに対応したハードウェアが必要であ る。 ① ② ③ ④ ⑤ ⑥ 音声入力 音声出力 MIDIファイル出力 画像入力 画像出力 動画入力 : マイク : 音声応答装置,スピーカ : MIDI仕様のシンセサイザ : スキャナ,デジタルカメラ : カラープリンタ等 : MPEGファイル変換機器 なお,マルチメディア処理では,容量の大きなデータを扱うので, 結果等を格納するためのCD-R/RW,DVD-RAM等も用意する必要がある。 (2)ソフトウェア マルチメディアを扱うソフトは,次のように分類できる。 ① 編集ソフト マルチメディアの構成要素である音声データや画像データを編集する。 ② 生成ソフト それぞれのデータを決まった手順で生成する。 ③ オーサリングツール それぞれの構成要素を組合わせ,ひとつの作品(「マルチメディアコン テンツ」,「マルチメディアタイトル」等と呼ばれる)に仕上げるため のツール。 ④ 認識ソフト それぞれのデータを認識して別のメディアやデータに変換する。 色々なツール(1) [編集ソフト] マルチメディアの種類別にイメージ編集ソフト,音声編集ソフト等があ る。 [生成ソフト] ① 画像用としては,描画ソフト,立体モデリングツール, レンダリングソフト,その他のCADツールも 画像生成ツールのひとつとして数えてもよい。 ② 音声用の生成ソフトとしては,テキスト読み上げソフト, MIDI ファイルを音声データに変換するソフトなどがある。 ③ 動画生成ソフトとしては,複数の画像データから動画データを生成, 2枚の画像データから中間のフレームを生成する アニメーション生成ソフト等がある。 色々なツール [認識ソフト] ① OCRソフト スキャナ等で読み込まれた文書の画像データを文字として認識する。 ② 音声認識ソフト 人間の声を音声データとして読込み,文字データとして生成したり, ロボット等への命令として識別する。 ③ ベクター変換ソフト 地図の等高線や手書き図面等を入力し,線画データに変換する。 ④ 三次元計測ソフト 複数点から撮影した写真データを使って標高値等を求める。 [オーサリングツール] ①ビデオ編集ソフト テキスト,音声,画像,動画を組合わせ,新しい映像を作成する。 ② ホームページ作成ソフト インターネットのWebページ等に,映像を組込むことができるツール。 ③ プレゼンテーション用ソフト 音声や映像データを組込むことができるプレゼンテーション用ソフト。 9.4 マルチメディア技術 完
© Copyright 2024 ExpyDoc