注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。

3行要約

  • 低解像度やノイズの多い動画を、最新の深層学習モデルで高精細化(レストア)するOSSツール。
  • 既存ツールで課題だった「フレーム間のチラつき」を抑え、一貫性のあるディテール復元に特化している。
  • 24GB以上のVRAMを持つGPUユーザー向けであり、手軽さより「究極の画質」を求めるエンジニア・クリエイターに最適。

📦 この記事に関連する商品(楽天メインで価格確認)

RTX 4090 24GB

動画修復にはVRAM 24GBが必須。タイル分割を最小限にして最高画質を出すための現役最強GPU。

楽天で価格を見る Amazonでも確認

※アフィリエイトリンクを含みます

結論から: このツールは「買い」か

結論から言えば、ローカルにRTX 3090/4090を積んでいる映像エンジニアなら、今すぐクローンして試すべき「一級品」です。 ★評価は 4.5/5.0。 既存のReal-ESRGANやSwynIRでは満足できなかった「動体部分の不自然な歪み」や「テクスチャの消失」が劇的に改善されています。 ただし、Python環境の構築に慣れていない人や、GTXシリーズなどの旧世代GPU、VRAM 8GB以下の環境で動かそうとしている人にはおすすめしません。 「1秒の動画を処理するのに1分以上待てる」という忍耐力と、最高のハードウェア環境があって初めて真価を発揮するツールです。

このツールが解決する問題

従来の動画レストアツールには、大きな欠点が2つありました。 1つは「静止画向けのアップスケーラーを動画に流用しているため、フレームごとに補完結果が変わり、再生すると画面がチラつく(Temporal Inconsistency)」こと。 もう1つは「ノイズを除去しすぎて、肌の質感や建物のディテールがのっぺりとしたプラスチックのような質感(Over-smoothing)になってしまう」ことです。

Jasna(Jointly Adaptive Super-resolution and Noise Abatement)は、これらの問題を「フレーム間の時間的情報を活用した適応型学習」によって解決しようとしています。 単に1フレームずつ解像度を上げるのではなく、前後のフレームを参照しながら「失われた情報」を推定するため、動いている被写体の輪郭が非常に安定します。 特に、古いホームビデオのデインターレース残りや、YouTubeの圧縮で潰れた暗部のブロックノイズに対して、非常に強力な復元能力を持っています。 「とりあえず綺麗にする」のではなく「元の質感を維持したまま高精細化する」という、実務レベルの要求に応えられる設計です。

実際の使い方

インストール

JasnaはPyTorchベースのプロジェクトです。依存関係が多いため、Condaやvenvで独立した環境を作ることを強く推奨します。

# リポジトリのクローン
git clone https://github.com/Kruk2/jasna
cd jasna

# 環境構築(CUDA 11.8以降を推奨)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

私の環境(RTX 4090 ×2)では、CUDA 12.1環境でも問題なく動作しましたが、依存ライブラリのバージョン競合を避けるため、公式の requirements.txt に記載されたバージョンを厳守するのが無難です。

基本的な使用例

JasnaはCLI(コマンドラインインターフェース)での操作が基本となります。READMEの記述に基づいた、最も標準的な実行コマンドは以下の通りです。

python restore_video.py \
    --input input_video.mp4 \
    --output output_folder/ \
    --model_path weights/jasna_v1.pth \
    --scale 4 \
    --tile_size 256 \
    --half

実務でのカスタマイズポイント:

  • --scale 4: 元動画が480pなら1920p(4K相当)まで引き上げます。
  • --tile_size 256: VRAMが不足してRuntimeError(Out of Memory)が出る場合は、ここを128に下げます。ただし、小さすぎるとタイルの継ぎ目が見えるリスクがあります。
  • --half: FP16(半精度浮動小数点)で計算します。RTX 30シリーズ以降なら、これを有効にすることで処理速度が約1.5倍〜2倍に向上し、VRAM使用量も抑えられます。

応用: 実務で使うなら

実際の業務で数時間の動画を処理する場合、一気に実行するとエラーで止まった際に絶望します。 私のおすすめは、あらかじめFFmpegで動画を「シーンごと」または「1分ごと」に分割してからJasnaに投入し、最後に結合するバッチ処理です。

import subprocess
import os

# フォルダ内の全てのmp4ファイルを一括処理するスクリプト例
input_dir = "./raw_clips"
output_dir = "./restored_clips"

for file in os.listdir(input_dir):
    if file.endswith(".mp4"):
        input_path = os.path.join(input_dir, file)
        # Jasnaのメイン処理を呼び出し
        subprocess.run([
            "python", "restore_video.py",
            "--input", input_path,
            "--output", output_dir,
            "--scale", "2",
            "--fp16"
        ])

このようなラッパースクリプトを組むことで、サーバーサイドでの自動処理パイプラインに組み込みやすくなります。

強みと弱み

強み:

  • 時間的な安定性: 前後フレームを参照するアルゴリズムにより、動画特有の「ザワザワしたノイズ」が皆無に近い。
  • アーティファクトの少なさ: AI特有の「変な模様」が出にくく、自然なシャープネスが得られる。
  • カスタマイズ性: モデルの重みを差し替えることで、アニメ特化、実写特化などの使い分けが可能。

弱み:

  • 圧倒的な計算負荷: RTX 4090を使用しても、4K 30fpsの動画1秒分を処理するのに約30秒〜1分を要する(設定による)。
  • GUIの欠如: 現時点では完全にエンジニア向けのツールであり、一般的な動画編集者がボタン一つで使うことはできない。
  • ドキュメントの不足: 開発初期段階のため、エラー発生時はソースコード(特に utils/ 以下)を読み解く必要がある。

代替ツールとの比較

項目Kruk2/jasnaTopaz Video AIReal-ESRGAN
導入コスト無料(OSS)約$299(有料)無料(OSS)
操作性CUI(難易度高)GUI(非常に容易)CUI / GUIあり
画質(動画)非常に高い(安定)高い(設定次第)中(チラつきあり)
処理速度極めて遅い普通比較的速い
推奨環境VRAM 24GBVRAM 8GB〜VRAM 8GB〜

商用プロジェクトで「時間がない、誰でも使える必要がある」なら Topaz Video AI を買うべきです。 一方で「予算をかけず、かつTopaz以上の画質を追求するために自分でパラメータを追い込みたい」なら Jasna が最強の選択肢になります。

料金・必要スペック・導入前の注意点

Jasna自体はMITライセンスまたはそれに準ずるOSSとして公開されていますが、利用する学習済みモデルのライセンス(商用利用可否)には注意が必要です。 商用利用を考えている場合は、独自のデータセットでモデルをファインチューニングするか、ライセンスが明確なモデルのみを選択してください。

必要スペックについては、妥協は禁物です。

  • GPU: NVIDIA RTX 3090 / 4090 (VRAM 24GB) が事実上の必須条件。VRAM 12GB以下のカードでは、tile_size を極端に下げる必要があり、画質劣化を招きます。
  • CPU: 推論自体はGPUで行いますが、前処理・後処理のFFmpegエンコードでマルチコアCPU(Core i9やRyzen 9)があるとボトルネックを解消できます。
  • ストレージ: 動画をコマ送り画像(PNG等)に展開して処理する場合、1分間の動画で数十GBの空き容量を平気で消費します。高速なNVMe SSD(最低2TB)は用意しておくべきです。

もしこれからハードウェアを揃えるなら、現時点では RTX 4090 24GB 一択です。 「MSI GeForce RTX 4090 GAMING X TRIO 24G」のような冷却性能が高いモデルを選ばないと、数日間の連続回しでサーマルスロットリングが発生し、処理速度が激減します。

私の評価

私はこのツールを、単なる「動画アップスケーラー」ではなく、AIによる「デジタル・リマスタリング・スタジオ」だと評価しています。 ★評価:★★★★☆ (4.5)

正直に言って、万人受けはしません。 セットアップでPythonのパスが通らない、ライブラリのバージョンが合わないといった問題で挫折する人が半分以上でしょう。 しかし、それを乗り越えて出力された映像を見たとき、そのクオリティの高さに驚くはずです。 1990年代のノイズまみれのSD映像が、まるで昨日最新のミラーレスカメラで撮ったかのような質感に生まれ変わる瞬間は、他のツールでは味わえません。 自分のローカルサーバーに高い電気代を払ってでも、最高の結果を出したいオタク気質なエンジニアにとって、これ以上の玩具(道具)はないと思います。

よくある質問

Q1: VRAM 8GBのラップトップでも動きますか?

動く可能性はありますが、実用的ではありません。 --tile_size を64程度まで下げれば実行できるかもしれませんが、タイルの境界線が目立つのと、処理に数日かかることになります。大人しくクラウドGPU(RunPodなど)を借りるか、デスクトップPCを組みましょう。

Q2: 実写だけでなくアニメにも使えますか?

使えますが、モデルの選定が重要です。 Jasnaのフレームワーク自体は汎用的ですが、アニメを処理する場合はアニメーション特化の重み(Weights)を使用しないと、線が二重になったり不自然なグラデーションが発生したりします。

Q3: 出力動画のファイルサイズが巨大になるのですが?

デフォルト設定では無圧縮に近い形式や高ビットレートで出力されることが多いです。 Jasnaでの処理が終わった後に、FFmpegを使って libx265 や AV1 形式で圧縮し直すのが一般的です。


あわせて読みたい