オーディオと非可逆圧縮とワタシ
他ページへのリンクについてはデッドリンクがほとんどだったため一括削除しました(2018年11月)
05/23/2005 「最終回」
今回にて、このページの更新は停止します。今まで読んでくださった方々、ありがとう
ございました。
05/14/2005 「続beta4への道」
前回、仕上げにかかっていると書いたものの、また色々と弄りだしてしまったため、い
つリリースできるか解らなくなってきました。時間が掛かるようであれば穴埋めとして、beta3のバグフィックス版を出すかも知れません。
もともとpre-beta4はHAで64kbpsのリスニングテストが行われるという話があり、そのためにbeta3の代わりとして急遽リリースしたも
のでした。しかし、その64kbpsテストにエントリーされる予定だったappleのHE-AACエンコーダがリリースされる目処が立たないので、そのテ
ストもい
つ行われるのか不明です。そうなると急いでbeta4をリリースする理由の一つは無くなります。
とは言え、出来るだけ早く出したいとは思っています。
04/16/2005 「beta4への道」
前に書いた実験版をもとにaoTuV
beta4の仕上げにかかっています。ご存知の方はすでに多いとは思いますが、testペー
ジにてpre-beta4を配布しています。
現在のpre-beta4は過去の実験版やbeta3の問題点・バグを修正しているため個人的にはすぐにでもbeta3からの移行をお勧めしたいくらい
ですが、まずとりあえずは使ってみてください。もし大きな問題があれば今のうちに知らせてくださると幸いです。beta4はbeta3をベースにして主に
ステレオ周りの変更を行っています。それに合わせる形でマスキング関連のパラメータも変更しています。そしてbeta3での追加コードの修正・削除・調整
も行いました(削除したのはステレオ周りの変更で必要の無くなった部分です)。
あとは低いビットレートに関連する部分(noise
normalization)の調整とそれに伴うマスキングパラメータ調整と、高いビットレートの追加リスニングテストをパスすれば一応beta4リリー
スの予定です。
02/28/2005 「実験版の記録」
今回の主だった変更はステレオ周りです。最初に、ステレオの閾値算出の基礎値を変更
し
ました。これにより、特定のサンプルで生じていた不自然な減衰音が改善されます。二つ目に新しいhypotを導入しました。従来、高域と低域で違う
hypot(round &
dipole)を使用していましたが、今回は新しいもので統一しました。これはpointステレオによる聴覚上のエネルギーバランスの乱れを改善します。
三つ目として、hypot(新しいhypotやdipole
hypot)処理によって起こる詳細(residue)の損失をある程度保証する仕組みを作りました。
自分で実験した範囲ではそれらによる明確なデグレはないように見えます。ただし、それはあくまで私がテストした範囲の話です。これが、多くの人によって
テストされることを望みます。
一応
DLLも置い
ておきます。これはテスト向けではありませんが、恐らく問題はないでしょう。ただしこちらでは厳密にはテストしていないのと、リファレンスバイナリと同じ
出力にはならないので注意してください。
注 [hypot はpoint stereoのための前処理です]
02/24/2005 「お年玉進化系」
新しい実験版で
す。今回はステレオ周りでかなり広範な影響がある変更をしています。その他にも全体に影響する変更があるので注意してください(テスト版たる所以です)。
ソースコードも整理とチェックが済みしだい公開する予定ですが、とりあえずエンコーダのみ先にアップロードしました。なにか大きな問題があれば、連絡をお
願いします。[02/26追記 さらに新しい実験版とソースコードを追加しました。前の版のマイナーフィックス(q-1/-2)になりま
す]
01/03/2004 「そうして1年」
ここを読んでくださっている皆様、明けましておめでとうございます。
このサイトを公開してから一年が過ぎました。振り返ってみていろいろなことがありましたが、よくここまで続けてきたと思います。一年前は自分のいじった
部分が本家に採用されることなど、夢にも思いませんでした。
あれからVorbisに対する知識も増えてきたとはいえ、まだわからない所も多いのですが、自分が知りうる一端を考えるだけでもVorbisがまだ多く
の可能性を秘めているのは間違いないでしょう。
その一端を提示できるかは解りませんが、お年玉を置いてお
きます。今回はquality-1と-2のみエンコードできるバージョンです。先日書いたのと同じ仕様のサンプルバージョンになります。
12/19/2004 「やらんとダメか」
次のステージに向けて、そろそろaoTuV
beta2のコードを改良しなければいけない、との感を強めています。低いビットレートや高いビットレートの改良は今の所、現状のままでもまだまだやれる
ことはあるのですが、テストの結果、中ビットレート(q4とか)のレンジでより良い音質を狙うためには、より正確を期する必要があるようです。
とりあえず、低いビットレートは現状でもまだ改善の余地が明らかにあり、高いビットレートも改善の余地はありますが、テストが大変なので先送りにするつ
もりです。年内には、q-1/-2あたりに特化したサンプルバージョンを出したいと思っています(あくまで予定ですが)。[大晦日の追記
時間が無いのでこれも先送りです。期待していた方には済みません]
HAのQuantumKnot氏(Steve)も新しいエンコーダを準備しているようですので、個人的にはこちらも楽しみです。
11/21/2004 「波形 != 音質」
webを見ていると、たまにスペクトラムアナライザーを使用したコーデックやフォー
マットの評価を見かけます。しかし残念ながら、これは非可逆圧縮オーディオコーデックの評価としては、全く意味がありません。これは可逆でないフォー
マット全てに共通する事柄です。
非可逆圧縮の最大の目標はデータ量あたりの主観の質を高めることです。波形の形を整えることではありません。人の耳はフラットではないので、歪みが大き
くても知覚しにくい場合があったり、その反面非常に微妙な差を聞き分けられることもあります。近代の非可逆音声圧縮エンコーダはそういった知覚特性を利用
して主観の質を高めている訳ですが、それには人の聴覚・心理特性をベースに符号化の精度を部分部分で変えなければなりません。
実際に、波形レベルで明らかに問題が生じていても、知覚上明らかな問題として認識できない場合があったりしますし、逆に20m/secくらい
に拡大した視
覚的には同じような波形であっても、聴覚的にははっきりとまずく聞こえることもあります。このことは波形の観察が音質の評価の決定打にはなりえないこ
との証明でしょう。
スペクトラムアナライザーでの分析に関しても、単純に高域が出た・出ないというのは意味が無いです。人は目で音を感じることはできません。エンコーダや
フォーマットの開発者もまた、綺麗な周波数分布に見えることを目標としません。例えば私的な話ですが、私がエンコーダを弄る時、自分にとって嫌な音を無く
す、若しくは出難くすることを目標とします。もちろんそこにはビットレートと質との間のバランスを始めとする様々な取引がある訳ですが、そこで最大の頼り
となるものはあくまで自分の耳
なのです。目で確認できるのはせいぜい完全に間引かれた周波数域くらいであり、音質を判断するのは不可能です。
閑話休題、一般的に言われる高域
(16kHz~)は実際にはそれほど重要ではありません。一般的な放送などでは15~16kHzまでのレンジしかありませんし、だからといって、それが原
因で音を楽しめな
いという話はあまり聞きません。高域を真っ先に削るのは実際にそれが人には聞こえ難い領域であるからです。もちろん聞こえ方には個人差がありますが、高域
の感度
は鈍さは、ほぼ全ての人にとって共通です。もし低いビットレートで無理して高い周波数にビットを割けば、より感度の高い下方の帯域で嫌な音が聞こえてくる
可
能性は増大します(トータルのビットレートが同じだとして)。しかし、高域の感度が鈍いからと削りすぎれば、それはそれで聴覚的に嫌と感じる人が多く出て
くるかも知
れません。その辺の取引はエンコーダの重要な仕事の一つですが、それは聞いた時により良い結果(ビットレート対主観の質比)が得られるように調整されるべ
きです。決して波形の形やスペクトラムの見た目を保つために、ではないです。
10/03/2004 「Vorbis 1.1 Release」
とうとう、と言うか、やっと、と言うべきか、Xiph.orgからVorbis
1.1がリリースされました(とは言っても先月の話ですが)。あの「Monty氏からのメール」から3ヶ月近くたち、ようやく正式リリースです。
とはいえエンコーダとしては既に見るべきものはないかも知れません。なぜならば、基本的に音質的な部分において1.1RC1と違いは無いからです。とは
いえ、久しぶりのオフィシャルエンコーダのメジャーリリースです。もし私自身が第三者の立場であれば素直に喜べたと思います。しかし今は複雑な思いもあり
ます。
一つの心残りは1.1に関してはファインチューニングを施していないことです。aoTuV
beta2に存在したbugはfixされましたが、そのbugによる音の変化を考慮してチューニングしていたために、若干意図とは異なる部分が出てしまっ
ているのは否めません。既に1.1RC1の頃には次のaoTuVの実験をしていたので、1.1の細かいチューニングには着手しませんでした。ここでいう
ファインチューニングとはlib/modeフォルダ以下のヘッダファイルのパラメータのチューニングのことで、aoTuV
beta1aの頃まで主に弄っていた部分です。ところが、beta2から係数の変更のみならず、プログラムを拡張するようになったために出来ることは増え
ましたが、
こういったより下層の部分の変更が全体のチューニングに大きく影響するようになりました。
もっとも実際にはバグフィックス分も考えると、aoTuV beta2とVorbis
1.1との良否を断じることはできません。現状ではVorbis
1.1で不具合を感じないのならば、1.1のほうが色々と修正されている部分(例えばCBR/ABR)もあるのでお勧めできます。
09/06/2004 「チャンネルカップリング実験」
あれから色々とやってます。ノイズコントロールのアルゴリズムを改良したり
Manuke氏のパッチを取り込んだりは既定事項ですが、そのほかにもステレオ周りの実験をやっていました。
Vorbisのステレオ周りは少々独特なものがあるのはご存知の方もいらっしゃるかも知れません。一般的な非可逆オーディオ圧縮ではM/Sステレオとシ
ンプルステレオを切り替える方式がほとんどです。しかし、VorbisにはM/Sステレオにあたるものはありません。Vorbisではもっと積極的にステ
レオ情報を間引きます。
概略はオフィシャルのドキュメン
トにありますが、lossless連結以外では位相情報を減らします。pointステレオに至っては位相情報を持ちません。しかし人の耳は高域に
なるほど位相差には鈍感になる特性があるので大抵の場合は問題になりません。1.0以降の実際の実装では目立つ音にはlosslessを割り当て、目立た
ない(減衰音など)音にはpointを割り当てます。閾値はquality値が高いほどlosslessの割合が増えるようになっています。この時の割り
当ては周波数解像度単位で決定するようになっているため、かなりきめ細かに制御できます(44.1kHz時で通常、約21.5Hzから172.3Hz
単位)。
ところで、高い音程では位相情報の削減はそれほど問題にならない、と上に書きましたが、現在のアルゴリズムの不完全さから問題となるケースも出てきま
す。pointステレオは非常に攻撃的な手段です。それゆえに、使い所を誤ると容易に知覚できる問題を生み出します。その問題を解決・又は縮小するために
何らかの工夫が必要になりますが、一番簡単なのはもっと情報量の多い連結方法を使用するように閾値を変えることです。現状ではlosslessの割合を多
くするのが一番シンプルな方法なのですが、それではビットレートが上がり過ぎます。そこで、今のエンコーダでは使われていないphaseステレオを使った
らどのくらいビットレートが削減できるか実験してみました。具体的にはquality4でpointステレオの替わりに8phaseステレオを使用すると
いうものです。
phaseステレオの基本的な部分は1.0RC2のエンコーダから拝借して、チャンネル連結の方法としては1.0/1.0.1のround
hypotを使ってみました(RC2の方法よりも効率的だったので)。その結果は、losslessよりはビットレートが下がるが、ビットレートは依然高
い水準を維持していました。あるサンプルではオールlosslessステレオ時で160kbps後半、lossless+8phaseで150kbps前
半。ちなみにlossless+pointでは125kbpsです。正直にいってあまりパフォーマンスがいいとは言えません。Xiph.orgの
Monty氏がpointステレオの改良に重点を置いた理由が解るような気がします。もっとも、4phaseなどを使用すればもうちょっとビットレートは
下がるのかも知れません。
追
記 09/07/2004 上記にある"RC2の方法よりも効率的だったので"というのは間違いで、正しくは"RC2の方法よりも良い結果
が得られたので"、です。RC2の方法を用いるとビットレートは140kbps後半に落ちますが、問題はより目立つようになります。
もっとも問題があるとはいっても、この辺は全てビットレートと音質との間の取引がありますし、問題となるサンプルがそれほど多いわけではありません。現
状でも全体の音質を考えれば、悪くない線だと思います。より良いステレオモデルは実現可能だと思いますが、そのためには多くの時間と実験が必要になるで
しょう。だれかチャレンジしてみませんか?
参考[Vorbisのステレオモデルについて]
Dual
Stereo 独立したチャンネルとして処理します。他の方法と併用は出来ないようです。
Lossless Stereo チャンネルを可逆で(位相情報を保って)連結します。
Phase Stereo 位相情報(angle)を削減します。削減する量に応じて4/6/8 phaseなどがあります。
Point Stereo 位相情報を保ちません。故に情報量は最小になります。
下方の3つの連結モデルは自由に混在することができます。
08/13/2004 「きりをつけた」
という訳で、新しい実験版を出しました。q0~q10までのプリエコーの改善が主な柱ですが、その一方でATH(最
小可聴限界の閾値)を変更しました。元々のカーブと比較して、63Hzから16kHzの範囲を変更しており、私の耳にはより良く聞こえるようです。この
カーブは全てのビットレー
ト・サンプリング周波数において適用されるため、何気に大きな変更です。
!最初にアップロードした実験版から少しメモリ操作周りを変更しました。音に関わる部分は変わりません。最初の実験版でうまく動かなかっ
た環境の方は再度
ダウンロードしてお試しください。
08/03/2004 「きりがない」
にゃおちさんのところで、近々新しい実験版を出す! と書いたものの、一部のサンプ
ルであまり改善されていない部分があったので実験・チューニングを再開してしまい、公開できなくなってしまいました。どこかで区切らないと永遠に公開でき
そうもないので、そろそろ適当なところで区切りたいと思っています。
さて、今度はいわゆるプリエコー周りの改善に取り組んでいますが、これがまた難しいです。何が難しいかと言うと、サンプル間のクオリティとビットレート
とのバランスに関してです。ある部分を改善するために、他のサンプルで必要以上にビットレートが上がってしまうのは困る訳で、その辺の調整がキモだと思っ
ています。本当はブロックスイッチングのアルゴリズムにも手を加える必要性を感じているのですが、そっちはまだあまりソースコードを理解していないので、
とりあえず考えないようにしています。
とりあえず、現状の成
果の一部を置いておきますね(q0のみ使用可の実験版以前のsample版)。
07/08/2004 「Vorbis 1.1 (based on aoTuV
beta2)」
頭がウニです。最近某氏(魚がトレードマークのお人)と英語でメールのやりとりを繰
り返していました。題名の通り、aoTuV beta2の成果はオフィシャルのメインライン(release
1.1)へ統合されます。全体の音質に関しては、概ね現状のaoTuV
beta2を上回ると見ています(一部例外があるかも知れません)。また、ビットレートマネージメントモードも正式に使えるようになるでしょう。大まかに
言えば、この1.1は本来1.0.2として予定されていたものに、aoTuV
beta2を統合し、幾つかのバグを直したものです。変更点ついては音質に影響するものが幾つか含まれますが、それらは多くの場合良い結果を生むでしょ
う。
次期aoTuVがあるとすれば、この1.1がベースになると思います。
06/25/2004
「それから、あれから」
32kbps(q-3)に挑戦してみました。まだ問題(特に32kHz
mono)があるので公開はしないつもりですが、まあ聞けるレベルのようです。このくらいのビットレート域になると本当に2,3kbpsが貴重で取
捨選択がなかなか難しく、alpha版時代には完全に実験のみで終わっていた
q-3
モードですが、beta2ベースということもあり、そこそこ納得いくレベルになりました。その反面、先の問題から、beta2の追加コードが完全でないこ
とを改めて確認した次第です。もう少しエンコーダに関する知識があればガシガシ直せるのかも知れませんが、それ以前の解析や実験を手探り状態で続けている
という状況ではなかなか難しいです(Vorbisの全てを知り尽くしていると思われるMonty氏でさえ高ビットレートを合わせるのに数ヶ月は掛かると
MLで発言していましたから、耳はともかく技術や、エンコーダやフォーマットの理解度で劣る私ではより時間が掛かるのは必然です)。
aoTuVで、より音質を高めるために必要だと思うこと。
1.beta2の補正コードをより正確にする。今はチューニングでカバーしている
が、限界がある。これは2を実行するためにも必要。
2.より動的なノイズ制御。ビットレート上昇を出来るだけ抑えつつ知覚できるレベルのプリエコーを抑えることを目的と
する。3との関連性も深い。
3.q4以下でのlossy
stereo時に目立つ幾つのアーティファクトの対処(複数の解決方法があるが、ビットレートを小さく保つためには試行錯誤が必要だろう)。
XX.1~3は諦めてMonty氏に全てを託す。aoTuVではなくなるけれど、彼が本気で対処してくれるのなら自分の出番は多分ないだろう(リスニン
グテストのaoTuVの結果は彼に影響を与えたと信じたい)。
現在はまだ、1・2の実験段階なので先は長そうです。状況によってはXXという可能性もありそうです・・・。
もともとaoTuVの開発を始めたきっかけはMonty氏のVorbis I の開発を止めて新しいVorbis
IIに注力するという発言からでした。ちょうど2003年の暮れ近い頃の話です。誰もやってない(やらない)なら自分でやるしかないな、ということで手を
付け始めたわけです。しかし、あれから少し状況が変わりました。Monty氏は1.1という新しいバージョンをリリースすることを宣言されました。また、
私の他にもエンコーダを弄る方が出てきました。そういう意味では自分が弄る必然性が薄れたというのも確かです。だからといって、aoTuVの開発を今すぐ
止めるということはありません。
余談になりますが、Vorbis-MLによるとMonty氏は少なくともオフィシャルエンコーダにあるHF
boost問題(と一般的に言われる)を解決しようとしています。プランとしては現状のVorbisエンコーダにあるnoise
normalization
という仕組みを、修正・拡張するとのことです。今のnoise
normalizationは失われるはずのエネルギーを回復する仕組みを持っていますが、一方でこれがboost問題の一原因になっています。これを正
し、さらに
量子化による増幅・減少問題をも一括してコントロールしよう、ということなのでしょう。
05/29/2004 「Results of Multiformat at
128kbps public listening test」
既に方々で.話題に上がっていますが、結果が公表さ
れています。なんと、aoTuV
beta2がトップという結果に・・・。現在のaoTuVの問題をも把握しているが故に複雑な心境ですが、まあ嬉しいには違いないです。
同率トップにmusepackが上がっていますが、相変わらず安定している印象です。特にプリエコーが問題となるサンプルには強い。後はなんといっても
LAMEの躍進が素晴らしい。以前のテストでは古いバージョンでABRモードでのエンコードでしたが、今回は最新の成果での結果です。MP3は明らかに古
いフォーマットで技術的制約が多いにも関わらずここまでの結果を出してくるとは驚きです。あたりまえですが、実装やチューニングがいかに大事か、というこ
とでしょう。
05/14/2004 「Multiformat at 128kbps public listening test」
という訳で、とうとう始まりました。128kbpsレンジでの公のリス
ニングテストです。なんと、Vorbisの代表はaoTuV
beta2です。図らずにも(考えようによっては図ったとも言えますが…)当事者になってしまったため、私自身は直接参加しませんが、なか
なか興味深いテ
ストです。エントリーは、MP3(LAME 3.96)、AAC(iTunes 4.2)、Ogg Vorbis(aoTuV
beta2)、Musepack(mppenc
1.14b)、ATRAC3、WMA9(standard)、以上の6つのフォーマット、及びコーデックです。テストされるサンプルは、なんと18。非常
に広範なジャンルをカバーしており、人にとってもコーデックにとっても厳しいテストと言えそうです。
結果は予想できませんが、結構微妙な差が勝敗を分けそうな気がしています。耳に自身のある方は、参加してみるのも面白いかもしれません。
04/08/2004 「ブラインドテスト」
現在、Hydrogen
AudioにおいてVorbisエンコーダのテストが行われています。aoTuVの実験版もその対象の一つでして、私自身も参加します(テストはもう行い
ました)。
よくブラインドテストというとABXテストが用いられますが、これは、XはAとBのどちらなのかを当てるというもので大変シンプルなものです。また実際
にエンコーダのチューニングを行う際にもこのテストは役に立ちます。なぜなら、主観を排除できるからです。チューニングの際、特に迷った時は
foorbar2000のABX comparatorを使いテストします。これは非常に便利で、replay
gainを適用できるのでクリップによる問題との切り分けも簡単です。
とはいえ、一般的にはブラインドテストの結果を過信するのは禁物です。問題はABXテストではなく、主観のテスト(点数を付けるタイプ)です。基本的に
ABXできるサンプルであれば、後は主観での評価になりますが、これは非常に好みに左右されます。また、それは絶対的な評価ではなく、その人・その時の相
対的なものだということです。ですから、ある程度のサンプル(実験数)を集めなければ、十分に有効なデータにはならないでしょう。そうして得られたデータ
も、万人に通用するものではないことは心に留めておく必要があります。実際に、こういったテストの個人個人の結果は驚くほど違うことがあります。平均はあ
くまで平均なのです。ですから、人のテスト結果がどうこうよりも、やはり自分でテストしてみることが大事だと思います。
03/29/2004 「感動したっ」
aoTuVに前から妄想していたアイデアをなんとか組み込んでみると、結果は驚くべ
きものがありました。低ビットレートでは変な音が大幅に減少し、高ビットレートでもいわゆる「シッ」といった感じの音がかなり解消されました。ただ、コー
ドはかなり怪しく多分どこか間違えていますし、自分でもちょっとまずそうな部分を把握しています。しかし方向そのものは間違えていないように思います。ま
あ、色々と書くよりも聞けば一発なので、お試し版としてエンコーダを置
いておきます。ただし、これは実験的なものです。何
か問題がないとは限りませんし、
その辺は理解した上でお試しください。一応あわせてチューニングも見直してあります(十分ではありませんが)。
やっていることは怪しいので説明が難しいですが、アイデアとしてはオリジナルより大きくなる部分や小さくなる部分はそれぞれ逆の補正をかけてやろうとい
うものです。特にブースト現象は、高
い周波数の音だけではなく低い周波数においても低ビットレートでは目立つ現象ですが、性質の悪いことにこの手の音は量子化ノイズが多く含まれており、非常
に耳にきついです。結局の所、あまり好ましくない音が強調されることになり、それが全体の印象をも悪くしていました。この現象はオフィシャルのエンコーダ
のq4/q5レンジでも
個人的に気になっていたのですが、今回の実験でそれらはほとんど解消されたと見ています。
ところで、最初に「組み込んでみると」なんて書いたものの、実際は色々な実験の賜物でもあります。そんなに簡単ではありませんでした。特にCでのプログ
ラムの作成
経験は数えるほどですし、専門もコンピュータではない私にとって、コードの流れを追っていくだけでも一苦労です。それでも、結果しだいでその疲れも吹き飛
びます。
03/21/2004 「combination of aoTuV with
GT3」
テスト的なものですが、aoTuVにGT3のプリエコーチューニングを組み込んでみ
ました。これは特定のビットレートでスイッチするような代物ではなく、完全に結合しているものです。そのため、GT3やaoTuVの単独版よりもビット
レートの変動幅が広いですが、少し調整した結果、音的にはいい感じのようなのでパッチを上げてみました。
中身は~q3まではaoTuV beta1_aで、q4はaoTuV + pt(非公開だった実験的なバージョン)、q5以上ではaoTuV +
GT3となっています。bitrateはq4時で平均120~150kbps(nominal
136kbps)、q5時で170~220kbps(nominal
180kbps)あたりです。難をいえば、やはりビットレートが高騰するケースがあります。これはGT3においても言われてきたことですが、手法からいっ
て仕方のないことです(ptも似た方法を使う)。
03/16/2004 「ブースト現象」
現状のVorbisエンコーダの問題である高域のブースト現象ですが、やはり、
チューニングレベルでは根本的解決は難しいようです。Monty氏の過去のMLでの発言では、point stereo と quantization
をその原因に上げていました。また最近、Sebastian
Gesemann氏はこの問題に関するレポートを発表し、その中でブースト問題とそれを解決するための方法に言及しています。それらを総合すると、この問
題はquantization
時に付加されるノイズに起因するもので、修正は可能ということです。とはいえ、修正するにはより深くエンコーダを理解しなければならないため、私がやるか
(若しくは出来るか)は解りません。
また、QuantumKnot氏のQKTune3.2ではpoint stereo
の処理部分をhackし、高域側の情報を減らすことで、この問題に対処しようとしています。このhackでは、q3~q5あたりのレンジではほとんど副作
用もなく、聴覚レベルでかなり良い結果が得られているように思います。逆に低いレンジでは別の問題が出てくるのと、モノラルソースでは効果が無いので限定
的・一時的なものですが、非常に面白い試みだと思います。
ただ、過去のMonty氏の発言はあまりこの問題を重視してはいないように受け取れます。オリジナルと比較して云々よりも、単体で聞いた時に不自然にな
らないようなチューニングの方向性は理解できますが、この問題はかなり明確に解る類のものなので、優先順位を上げてくれないかな…なんて
思ったりもしま
す。
02/29/2004 「トラブったりなんたり」
aoTuV
beta1を出した後、ミスが見つかりその修正に思わず手間取ってしまいましたが、この問題はq-2の導入によるもので、alpha1から引きずっていま
した。ソースを公開した後でのこういうミスの発覚は非常に恥ずかしいものがあります。そういうことを含めて結構疲れたのでちょっとお休みです。とりあえず
これ以上のはっきりとした改善は、変更する範囲を広げなければなりませんが、そのためには沢山の実験と時間が必要になります。特に根本に関わる変更をした
場合、それ以外の部分は全て見直さなければなりません。例えば、単純にプリエコーチューニングを加えるだけでもバランスは変わってしまう訳で、そのために
調整が必要になる(若しくは必要だと考える)のですが、これがマスキングの基本値を変える、とかになると、思いを巡らせただけでもゾッとします。また
チューニングレベルではなくハックレベルの変更であればさらに大変でしょう。
私のチューニングは基本的に1.0.1を置き換えることを目標として行いました。そのため、Vorbisで問題の起き易い複数のサンプルでq0からq4
までのオリジナルサンプルと1.0.1のサンプルを相互比較しながら、1.0.1より悪くなるケースが起きないように、道理にあったビットレートでよりオ
リジナルに近づくように調整しました(q5以上や、q-1以下のチューニングをしていない訳ではありませんが)。そして、この目標はある程度は達成されま
した。
q6以上ではまだ不満も多いですが、高いビットレートに見合った質を達成することは難しい…、これにつきます。
この辺でMonty(あえて敬称はつけません)の復活が始まると嬉しいのですが。というか復活してくれないと、また自分で弄ってしまいそうです・・・
あぁ。
01/28/2004 「Vorbis面白くなってきた!?」
ここひと月ほどで拙作のaoTuV、にゃおち
さんのModest Tuning、
QuantumKnotさんのQKTuneとVorbisの新しいチューニング版が登場しています。それぞれに違った特徴(特性)があり、なかなか面白い
んじゃないかと思います。
私自身、色々といじってみて感じたことは、現行の1.0.1も低ビットレートにおいてはかなり実験を重ねて作られているということです。そういう意味で
は新たなチューニングというのもなかなか難しいのです。様々なパラメータが相互に影響しあっている訳で、ある部分を改善したとしても他の部分が悪くなる可
能性は常にあります。例えば、ノイズ量を減らすだけならbitrateの増加をもたらすだけで悪くなるケースは無い、と思われる方は多いかも知れませんが
実際にはそうではありません。特に低いビットレートではそうです。
逆に高いビットレートはまだあきらかに改善の余地はあるように思います。ただテストもシビアになりますし、あまり手が伸びません。とはいっても、
aoTuV
(pre)alpha3ではこのレートでも少し改善しています。GT3b1あたりと比べると、プリエコーに関しては負けていますが、バランス的にはいい具
合になってきた感じです。
とりあえず、aoTuVに関してはさっさとalpha3を出して落ち着きたいところですが、q2/q3あたりで苦労しています。手間取っている間に、凄
いエンコーダが出てきたりしたらガックリするだろうけど、嬉しい。
01/13/2004 「次バージョンに向けて」
色々と実験中ですが、すり合わせが難しいです。特により根本的な変更は影響する範囲
が広すぎて、良い部分があっても、思わぬ所にまずい部分が出てきてしまいます。仕方なく元に戻したりして、なんだか2歩進んで1歩さがるもとい、5歩進ん
で4歩下がるという感じです。多分次回のalpha3は根本的とはいえないですが、alpha2よりは前進した姿をお見せできるのではないかと思います。
一方、Xiph.のMonty氏は1.1のリリースを予定しているようで、どのようなものに仕上がってくるのか、今から楽しみです。aoTuVが結果と
して単なるつなぎにしかならなかったとしても、それはそれで良いことでしょう。少なくとも、Vorbisにはまだまだ可能性があるのは確かで、私はその可
能性の具現化した形を見てみたいです。aoTuVの誕生にもそういう気持ちが影響しています。
01/01/2004 「あけましてalpha2でございます」
新年早々、aoTuVのalpha2を公開です。低ビットレート域でもある程度聴き
易くなったと思います。もちろんまだまだ問題となる
ケースはありますが、現状では理由が解っていても手を付けられない部分もあります。特定のジャンルやサンプルに特化したチューニングが可能ならば現状でも
もっと改
善できるのでしょうが、最大公約数的に色々な音楽に対応するとなると非常に難しいです。q0なんて、金物系とピアノ系のトレードオフが…も
ごもご。
バランスといえば、オフィシャルのVorbisエンコーダは散々各所で高域が強いだのドンシャリだのと言われていました(私自身もそういった主旨の発言
をしたことがありますが)。それを解消するために以前は原音に対しEQでプリ処理を行うことで問題を改善しよう、という試みを行っていました。これは
ある程度はうまくいったのですが、もちろん万能な方法ではありません。そもそも、aoTuV作成の動機の一つはq4で弱音のピアノの音が揺れることが気に
なったた
めなのですが、これはEQのプリ処理でどうこうできる類の問題ではありませんでした。しかし、aoTuVではこの問題は改善しています。一方で全体のバラ
ンスはと言えばなかなか難しいところもありますが、そこそこ改善したのではないかと思います。キツイ音が出難くなり全体
的には安定感が増しているはずです。
(c)2003-2018 蒼弓 [AOYUMI]