「libvorbis」の編集履歴(バックアップ)一覧はこちら

libvorbis」(2009/03/01 (日) 23:46:31) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*libvorbisソースコードの解説 libvorbisは(Ogg)Vorbisのエンコードとデコードのための統合ライブラリ。現状のソースコード(Xiph.Org libvorbis1.2.0)にあるファイルについて述べる。これらの説明は適切でない部分もあるかも知れない。私自身も全てを正確に理解している訳ではないので、その辺はご了承願いたい。なにか間違いなどあれば、上記のメニューより連絡されたし。 以下は私的なメモより抜粋したものを修正・加筆したものである。このページがlibvorbisに興味がある方々の参考になれば幸いである。 **\lib ***analysis.c 一つのブロックを分析する時に使う。詳細は不明。 ***backends.h residueやmappingのバックエンド周りの定義。 ***barkmel.c bark melなどの心理聴覚モデルのための単位変換。実際のエンコード処理には使われない。 ***bitrate.c ビットレートのトラッキングとマネージメント。主にマネージメントモード用。 ***bitrate.h bitrate.cのヘッダファイル。 ***block.c ブロック周りの処理、初期化、開放、エンコード・デコード処理を含む。 ***codebook.c コードブックのエンコード・デコード処理。 ***codebook.h codebook.cのヘッダファイル。 ***codec_internal.h 全体で使われる構造体などの定義。 ***envelope.c ブロックスイッチングのための分析処理。 ***envelope.h envelope.cのヘッダファイル。 ***floor0.c floor0のデコード処理。 ***floor1.c floor1のエンコード・デコード処理。 ***info.c ヘッダの処理(Vorbisコメントなど) ***lookup.c ルックアップ参照元関数定義。 ***lookup.h loockup.cのヘッダファイル。 ***lookup_data.h lookup.cで使われるテーブル。 ***lpc.c LPC処理。floor0で使われる。 ***lpc.h lpc.cのヘッダファイル。 ***lsp.c LSP(LSF)変換処理。floor0で使われる。 ***mapping0.c ブロック毎のエンコード・デコードのメインシーケンスとして使われる。mappingは本来、特定のステレオマッピングを表すが、現状mapping0しか存在しない(mono/stereo)。 ***masking.h ATH/Masking(tone)パラメータ定義。 ***mdct.c 直交変換。 ***misc.h メモリ確保周りの定義など。 ***os.h 処理系依存の定義。 ***psy.c ビットレート割り当てや心理聴覚モデルの肝。 ***psy.h psy.cのヘッダファイル。 ***psytune.c チューニングに使われるもので実際には使用されない。 ***registry.c floor/residue/mapping(channel)バックエンド処理のためのレジストリ。 ***registry.h registry.cのヘッダファイル。 ***res0.c residueのpack/unpack処理。 ***scales.h スケール変換関連。 ***sharedbook.c shared codebookのエンコード・デコード処理。 ***smallft.c fft処理。tone maskingカーブ作成に使われる。 ***synthesis.c デコードのための下位API。 ***tone.c テスト用。 ***vorbisenc.c エンコードのためのAPI及び、セットアップ処理。 ***vorbisfile.c デコードのための上位API(フロントエンド)がある。 ***window.c PCMデータに窓処理をする。 ***window.h window.cのヘッダファイル。 **lib\books 以下 各種コードブック。 **lib\modes 以下 セットアップパラメータ・チューニングパラメータ群。 ***floor_all.h floorのセットアップ。使用するハフマンコードブックやfloorカーブの設定などを行う。 ***psych_*.h 心理聴覚モデルのパラメータ群。 ***residue_*.h residueのセットアップ。使用するコードブック(ハフマン、ベクトル)の設定を行う。 ***setup_*.h 変数類をtemplateにセットする。 ---- 用語関連 ***ブロック MDCTのブロック。また、VorbisにおけるブロックサイズはWindowサイズと一致する。周波数分解能はブロックサイズの半分である。 ***floor(カーブ) 大体のオーディオスペクトルを表す。常にチャンネル毎に符号化される。 ***residue オーディオスペクトルからfloorカーブ分を取り去った残り。オーディオの詳細を表す。
*libvorbisソースコードの解説 libvorbisは(Ogg)Vorbisのエンコードとデコードのための統合ライブラリ。現状のソースコード(Xiph.Org libvorbis1.2.0)にあるファイルについて述べる。これらの説明は適切でない部分もあるかも知れない。私自身も全てを正確に理解している訳ではないので、その辺はご了承願いたい。なにか間違いなどあれば、上記のメニューより連絡されたし。 以下は私的なメモより抜粋したものを修正・加筆したものである。このページがlibvorbisに興味がある方々の参考になれば幸いである。 **\lib ***analysis.c 一つのブロックを分析する時に使う。詳細は不明。 ***backends.h residueやmappingのバックエンド周りの定義。 ***barkmel.c bark melなどの心理聴覚モデルのための単位変換。実際のエンコード処理には使われない。 ***bitrate.c ビットレートのトラッキングとマネージメント。主にマネージメントモード用。 ***bitrate.h bitrate.cのヘッダファイル。 ***block.c ブロック周りの処理、初期化、開放、エンコード・デコード処理を含む。 ***codebook.c コードブックのエンコード・デコード処理。 ***codebook.h codebook.cのヘッダファイル。 ***codec_internal.h 全体で使われる構造体などの定義。 ***envelope.c ブロックスイッチングのための分析処理。 ***envelope.h envelope.cのヘッダファイル。 ***floor0.c floor0のデコード処理。 ***floor1.c floor1のエンコード・デコード処理。 ***info.c ヘッダの処理(Vorbisコメントなど) ***lookup.c ルックアップ参照元関数定義。 ***lookup.h loockup.cのヘッダファイル。 ***lookup_data.h lookup.cで使われるテーブル。 ***lpc.c LPC処理。floor0で使われる。 ***lpc.h lpc.cのヘッダファイル。 ***lsp.c LSP(LSF)変換処理。floor0で使われる。 ***mapping0.c ブロック毎のエンコード・デコードのメインシーケンスとして使われる。mappingは本来、特定のステレオマッピングを表すが、現状mapping0しか存在しない(mono/stereo)。 ***masking.h ATH/Masking(tone)パラメータ定義。 ***mdct.c 直交変換。 ***misc.h メモリ確保周りの定義など。 ***os.h 処理系依存の定義。 ***psy.c ビットレート割り当てや心理聴覚モデルの肝。 ***psy.h psy.cのヘッダファイル。 ***psytune.c チューニングに使われるもので実際には使用されない。 ***registry.c floor/residue/mapping(channel)バックエンド処理のためのレジストリ。 ***registry.h registry.cのヘッダファイル。 ***res0.c residueのpack/unpack処理。 ***scales.h スケール変換関連。 ***sharedbook.c shared codebookのエンコード・デコード処理。 ***smallft.c fft処理。tone maskingカーブ作成に使われる。 ***synthesis.c デコードのための下位API。 ***tone.c テスト用。 ***vorbisenc.c エンコードのためのAPI及び、セットアップ処理。 ***vorbisfile.c デコードのための上位API(フロントエンド)がある。 ***window.c PCMデータに窓処理をする。 ***window.h window.cのヘッダファイル。 **lib\books 以下 各種コードブック。 **lib\modes 以下 セットアップパラメータ・チューニングパラメータ群。 ***floor_all.h floorのセットアップ。使用するハフマンコードブックやfloorカーブの設定などを行う。 ***psych_*.h 心理聴覚モデルのパラメータ群。 ***residue_*.h residueのセットアップ。使用するコードブック(ハフマン、ベクトル)の設定を行う。 ***setup_*.h 変数類をtemplateにセットする。 ---- 用語関連 ***ブロック 処理する単位。VorbisにおけるブロックサイズはWindowサイズと一致する。周波数分解能はブロックサイズの半分である。 ***floor(カーブ) 大体のオーディオスペクトルを表す。常にチャンネル毎に符号化される。 ***residue オーディオスペクトルからfloorカーブ分を取り去った残り。オーディオの詳細を表す。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー