世界を動かす技術を、日本語で。

Ntsc-rs – アナログテレビとVHSアーティファクトのオープンソースビデオエミュレーション

5時間前原文(ntsc.rs)

概要

ntsc-rs は、アナログTVやVHSのアーティファクトを正確に再現する 無料・オープンソース のビデオエフェクト。 実際のNTSC伝送やVHSエンコーディング をアルゴリズムで忠実に再現。 Rust製 で、マルチスレッドとSIMDによる高速処理が特徴。 After EffectsやDaVinci Resolve など多くのソフトで利用可能。 リアルタイムかつ 高解像度 で動作可能。

ntsc-rs:高精度アナログビデオエミュレーション

  • ntsc-rs は、アナログTVやVHS特有の 映像アーティファクト を高精度に再現するエフェクト
  • 他の一般的なVHS風エフェクトは 単純なカラーLUTやオーバーレイ を用いるのに対し、ntsc-rsは NTSC伝送やVHSエンコーディングの仕組み 自体をアルゴリズムで再現
  • アルゴリズムは composite-video-simulator、zhuker/ntsc、ntscQT などの既存プロジェクトを基に開発
  • コアは Rust で記述、 マルチスレッド および SIMD最適化 による高速処理
  • ntscQT など他の類似エフェクトよりも 高解像度・リアルタイム での動作が可能

対応プラットフォームと利用方法

  • スタンドアロンアプリケーション として単体で利用可能
  • Webアプリケーション としても提供
  • After Effects、Premiere、OpenFX互換ソフト 向けのプラグインとしても利用可能
    • DaVinci Resolve、Hitfilm、Vegas など主要な動画編集ソフトに対応
  • 幅広いプラットフォームで 柔軟な導入 が可能

ntsc-rsの特徴まとめ

  • 無料・オープンソース ライセンス
  • 実機に近いノイズや歪み の再現
  • 高解像度・リアルタイム 処理
  • 多様な編集ソフト への対応
  • Rust製 による信頼性とパフォーマンス

Hackerたちの意見

この分野がすごく活発に開発されてるのはいいね。でも、アーティファクトシミュレーションの人たちがこれをどう思うか気になるな。彼らにはエミュレーター用のシェーダーとしてよく出会うけど、最近は動画制作でも、きれいな映像の構造劣化が求められてるんだよね。プロデューサーは90年代のカムコーダーっぽい見た目を求めてるけど、実際に90年代のカムコーダーのハードウェアやフォーマットを使うのは難しいんだ。

本物のカムコーダー映像のシーンがあまりないのが意外だな。監督たちは本物の白黒フィルムカメラを使いたがるのにね。

アナログテレビのアーティファクトをフルに体験するには、カラーサブキャリアの位相シフトやカラー バースト検出失敗をエミュレートしないとダメだよね。(-: もちろん、PALやハノーバーバーもね。

だから、NTSCは「Never Twice the Same Color」ってよく言われてたんだよね!

一度、OpenEmulatorで使われている素晴らしいNTSCエミュレーションを徹底的に分析しようとしたことがあるんだ。YouTubeの信号処理クラスでモチベーションを失う羽目になったけど、興味がある人のために、ここでかなりの部分を分解したよ:https://observablehq.com/@zellyn/apple-ii-ntsc-emulation-ope... それをJavaScriptにも移植したよ(上のページからリンクしてる)。

NTSCフィルターについて質問してくる人には、何年も教育してきたんだ。2000年代中頃のハードウェアよりもずっと速いから、あまり最適化されてない実装を見たいと思ってね(それは、すべての色のすべての位相オフセットでカーネルを事前計算して、レンダリング中に符号付きRGB計算をしてた)。昔のハードウェアの特異性を再現できるのは、神秘を解き明かす手段として満足感があるんだよね。

余談だけど、こういうテレビエミュレーターが、垂直オシレーターがちょっとずれてて、映像が画面をゆっくりループする状況を実装してるのを見たことがないな。

研究の中でntsc-rsを投稿したことがあるんだけど、君が言ってるようなものも探してるんだ!それに、https://codeberg.org/fsphil/hacktv も調べてたんだけど、これはいろんなアナログテレビ信号を生成するものなんだ(HackRFを使って放送するためのもの)。でも、実際にはその逆が欲しいんだよね。アナログ受信機エミュレーターが欲しい…?それも、間違った信号でも「大丈夫」なやつ、アナログテレビみたいに失敗するやつ… :-)

これだね。信号に注入されるノイズを設定できて、ノイズが多すぎると同期が失われて、映像が揺れ始める。実際には、ただのエフェクトじゃなくて、ソフトウェアのNTSCモジュレーター/デモジュレーターなんだ。 https://github.com/LMP88959/NTSC-CRT

すぐに「ストレンジャー・シングス」の偽VHSラインアーティファクトを思い出したよ。「A Bad Lip Reading」[0]のやつで、オープニングタイトルの偽フィルムグレインのことを言ってるんだろうね。

媒体の特徴についての好きな引用を紹介する時が来たね。「今、あなたが新しい媒体について奇妙、醜い、不快、嫌だと思うことは、必ずその特徴になる。CDの歪み、デジタルビデオの揺れ、8ビットのクソ音 - これらはすぐに避けられるようになると大切にされ、模倣されるようになる。これは失敗の音だ。現代アートの多くは、制御を失ったものの音、限界を押し広げて壊れていく媒体の音だ。歪んだギターの音は、その媒体が運ぶには大きすぎる音の音だ。声がかすれたブルースシンガーは、その声を発するには強すぎる感情の叫びの音だ。粒子の粗いフィルムや色あせた白黒の興奮は、記録するにはあまりにも重要な出来事を目撃する興奮だ。」 - ブライアン・イーノ

この引用は初めて聞いたけど、似たようなことを2020年に聞いたことがある。YouTubeでライブの礼拝セッションを見てて、すごく美しかった。心が穏やかになったよ。ただ、同時に完璧主義者でもあったから、他人の欠点が目についてしまうんだよね。ある時、歌手が高音を出そうとして声が裏返ったんだけど、その欠点を認識する前に「それが一番美しい部分だった」と言っているような、すごく優しい声を聞いたり感じたりした。瞬時にその瞬間の不完全さが完璧に変わったんだ。それがあなたの引用の内容だね。いい話、シェアしてくれてありがとう。

その引用には馴染みがあるけど、このノスタルジックな再現は好きじゃないな。テープベースのアーティファクトに何時間も向き合ってきたから、今見るとノスタルジーじゃなくて、ほぼPTSDのような反応が出てしまう。でも、こういう問題を避けようと必死になっていない人たちが欲しがる理由は理解できるよ。

「今、あなたが新しい媒体について奇妙、醜い、不快、嫌だと思うことは、必ずその特徴になる [...] VHSの最初の視聴者は、色やコンパクトさ、便利さに驚いていて、新しい媒体を醜くて嫌なものだとは思っていなかっただろう。人気のある新技術は、通常は最先端で印象的に始まり、振り返ってみて初めて人々がそれを見下すように考えるようになる。」

ノスタルジーの力。

マーシャル・マクルーハンの言葉もあるよね。

  • 「新しいメディアは、前のメディアを時代遅れにする」
  • 「それが新しいメディアのコンテンツやアートフォームになる。」
  • 「古いものが新しい状況のコンテンツになると、普通の人には美的な形として現れる。」 同時に、新しい取り戻しやノスタルジアも生まれるんだ。

それはかなりいいね!うーん、今や1テラバイトで1000MB/sのNVMeドライブがあるから、 30KB/sのスループットしかない1.44MBの3.5インチフロッピーディスクを懐かしく思い出せるね… ストレージの価格トレンドを考えると、実用的になるかもね。

OpenFXプラグインをインストールして、DaVinciでテストしてみたよ。すごくサクサク動いて、コントロールもたくさんあって見た目も最高だね。微妙な感じから派手な感じまで行ける。パラメータを自動化すると本当に面白くなってくる。実際のエミュレーションに基づいているのがいいね。編集に使うつもりだよ。いい発見だ!

すごい!古いLPレコードのキズやヒス音に関しても、こんなのあるのかな? それに、古いハムラジオのいろんな種類のきしみやパチパチ音とか。 そういうのを本当にうまくシミュレートできるものは見つけたことがないな。

PALエミュレーションが出るまで待つよ。 NTSCソースを取って、ぼやけて576pにアップスケールして、 クソみたいなデインターレースアルゴリズムを適用して、技術的にプログレッシブな画像を作って、 フレームブレンディングを使って25fpsにするんだ。ひどいね。

VHSの圧縮された歪んだ音をシミュレートするオーディオエミュレーターってあるのかな?