Toshiyuki Kawanishi Blog


2008
5 . 13

品質とは?

品質とは何でしょうか?

というのは難しい質問だと思います。これを一般的に考えるのは大変難ことだと思います。そこで、その時々で適当な指標を決めて品質を測定することになると思います。
ここでは、話題を限定して、最近遭遇した、この品質の定義っておかしいのでは?と思った例を紹介します。

先日、先輩方との勉強会でFECを使用した時のVoice over IPの品質を評価するための数理モデルについて教えていただきました。
FECとはForward Error Correctionの略で、リアルタイム性の高いデータに冗長データを付加して、通信の品質を高めようという技術です。FECの中でも様々な方式が提案されていますが、この論文ではわりとシンプルは方式が紹介されていました。具体的には、実データの数パケット後のデータに、圧縮率を上げた同じデータを付加するというものです。これによって、例えデータパケットが欠落したとしても、数パケット後に同じデータが到着するので、パケット欠落による品質低下を防げるというものです。もちろん、後から届くパケットは高圧縮で元のデータよりも音声としての品質が低くなっているため、パケット欠落が起こらなかった場合に比べると品質はある程度低下します。

さて、それでは、「どのくらいのパケットが到着した時にどれくらいの冗長パケットを付加すれば、どの程度品質を保てるか」という事を、数理的に解析しようというのがこの論文の主題です。
この様な場合、「品質」をどのように計測すればいいでしょうか?

この論文では、品質を「受信したパケットの量」で計測しています。つまり、パケット欠落が多発する状況であっても、FECの効果によってどれくらいの量のパケットを救えるかということで、品質を評価することになります。
細かいことはさておき、これって妥当は指標でしょうか?確かに、送信パケットがほとんど欠落せず相手の受信量が増えれば、音声としての品質は高いと言えるでしょう。ただ、音声通信なので、どれだけ沢山届いても、遅れて届いたら意味がありません。もともとリアルタイム性の高いものを評価対象としているのに、この特徴が指標に反映されていません。
論文に記載されている数理解析自体はシンプルで分かりやすく、大変に参考になったのですが、この品質の評価指標が気にかかって、ちょっともったいないように思います。品質の指標を変えれば、評価対象であるFECの効果についてもっと色々な事が分かるのではないかいう気がしています。

結局、品質を測るには何らかの指標・メトリクスが必要です。ただ、何でも測ればいいというものではなく、目的をもってそれに合致したメトリクスを測定することが大切だなとあらためて感じました。まあ、当たり前の事かもしれませんが、ともすれば測定や評価の技術に目が向き、メトリクスを得ることが目的になりがちですから......

参考にソフトウェアメトリクスの基本的な参考書を挙げるとしたら、以下の本になるでしょうか。