@wikiメニュー編集表示ツールヘルプブックマーク登録RSS登録
このウィキに参加ログイン
新規ページ作成
すでにあるページをコピーして新規ページを作成 スレッドフロート型掲示板から引用して新規ページ作成(α版) ブログの内容から引用して新規ページ作成(α版) ファイルをアップロードして新規ページ作成(α版) 他のホームページから引用して新規ページ作成(α版)
[PR] 無料ホームページ @PAGES [PR] オークション@pedia [PR] 2ch型無料レンタル掲示板 @chs
@wikiで新規wikiを作成
このページを編集 このページを編集(メニュー非表示編集;α) このページをコピーして新規ページを作成 このページのページ名を変更 このページの編集モードを変更 このページの閲覧/編集権限の変更
このページにファイルをアップロード
このウィキにファイルをアップロード(FTP機能/管理者のみ利用可)
メニューを編集(メニュー部分は非表示で編集)
このページの最新版変更点 このページの編集履歴(バックアップ) このページへのリンク元 このページへのトラックバック
このページをPDFで表示(α版)
関連ページ(α版) 関連ホットワード(α版)
このwikiのページ一覧 編集履歴(バックアップ)のあるページ一覧 このwikiのタグ一覧 このwikiの更新情報RSSこのwikiの更新情報RSS このwikiの新着ページRSSこのwikiの新着ページRSS
このwiki内を検索 @wikiパーツ▶  @wiki便利ツール▶  このwikiの管理者に連絡
@wiki助け合いコミュニティ @wiki助け合い掲示板
wiki(ウィキ)って何?
初心者ガイド
ご利用ガイド 良くある質問 プラグイン一覧 編集モードの違いについて 不具合や障害を見つけたら 管理・設定マニュアル
はてなブックマークする FC2ブックマークに追加 Livedoor クリップに追加 Yahoo!ブックマークに登録 del.icio.usに追加
はてなRSSに追加 livedoor ReaderにRSSフィードを登録 Yahoo!にRSSフィードを登録 BloglinesにRSSフィードを登録 NewsGator OnlineにRSSフィードを登録 iGoogleにRSSを追加
@wikiパーツ:あなたのサイトにWikiデータを簡単表示!
最近更新したページの一覧を表示する 最近作成したページの一覧を表示する このwiki内を検索するフォームを表示する このwikiのタグクラウドを表示する 自動リンク辞書を利用する
@wiki便利ツール:トップページ
まとめサイト作成支援ツール RSSかんたん作成 興味キーワードをチェック!!(RSSナビ) いろんなblogのRSSかんたん作成ページ アマゾン商品検索(簡単アフィリエイト) wikiに株式情報(日本)を表示 wikiに株式情報(中国)を表示 かんたんHTML直接入力 Q&Aサイトかんたん連携作成 wikiに為替情報を表示 はてなアンテナと簡単連携
「蒼弓ノート」 別館 雑記帳 > 2006年09月13日 > ギャップレス再生って?

 ギャップレスという言葉があちこちで聞かれるようになりました。とうとうiPod+iTunesがギャップレス再生に対応したのです。これからはギャップレス再生が広く当たり前のものになるかも知れません。

 ところで、ギャップレス再生はどのように実現しているのでしょうか?
 そもそもギャップレスにならない状況とは、そしてその原因はなんだったのでしょうか?

 原因は2つ考えられます。

 ひとつはアウトプット側の問題です。
 音楽データはD/A変換の前段階でPCMデータとなります。そのPCMデータを切れ目無く出力することができればギャップレスになるはずです。通常そのために(ダブル)バッファを用意してデータを送りつづける必要があります。それはプログラム次第で可能なことですが、逆に言うとプログラム次第では失敗します。例えばあるファイルの再生が終わる頃、次の圧縮データの読み込みが遅れた場合、再生バッファが小さすぎればデータに切れ目が生じやすくなるでしょう(ハード的にメモリが小さすぎる場合はどうしようもありませんが)。

 2つ目は非可逆圧縮データの展開時に起因する問題です。
 非可逆圧縮ではPCMデータをより荒いブロック単位で圧縮・展開処理をします。そのため、そのまま処理をすると展開時にオリジナルデータよりも長いPCMデータに変換されます。するとそこにポストギャップが生じることになるのです。他にも、エンコーダやその設定によって異なる長さのプリギャップが生じることもあるようです。そこで、デコーダは圧縮データからPCMデータへの展開時にギャップ分のデータを削除してやることでオリジナルPCMの長さを正確に再現することができます。しかし、そのためにはデコーダはエンコード時のギャップ情報(サンプル単位でのプリギャップ長と曲長)を知っている必要があります。
 つまりこの問題を解決するための条件は2つあります。ひとつはデコーダがエンコーダのギャップ情報を知る仕組みがあること。もうひとつは、デコーダがそのギャップ情報を使ってギャップを削除することです。

以上の条件を満たすことでギャップレス再生は可能になります。ただし、可逆や無圧縮データの再生の場合は2の要件は無視することができます。


カテゴリ: [音声圧縮] - TrackBack(804) - 2006年09月13日 22:55:33
  • ストリームの終端でブロック化できずに余ったデータにパディングを追加してブロック化した事で発生するポストギャップの他に、プリギャップが発生するのと同じ理由で発生するポストギャップもあるような気がします。 -- っき (2006-09-22 17:14:04)
  • プリギャップはエンコーダによって変化しますが、ポストギャップは通常、曲の長さに依存します(パディングの量はエンコーダ側の選択も影響しますが)。なので同じ理由というのはよく解りません。 -- 蒼弓 (2006-09-23 00:00:17)
  • nフレームできっちり収まる音声があったとして、その音声の最後と次の音声の最初をギャップレスでなめらかに繋げる為には、n+1フレーム目が必要になる場合があるのではないか?と思ったのですが、こちらの勘違いだったようです。すみませんでした。 -- っき (2006-09-23 07:07:11)
名前: コメント: