要点:OCRの文字化けは、ほとんどの場合が設定の問題ではなく、入力の問題です。字幕OCRを台無しにする4つの要因は、低解像度のソース、字幕行以上の範囲を捉えてしまうOCR範囲、テキスト背景のごちゃごちゃ感、そして認識言語の設定ミスです——これらを直せば精度は大きく向上します。ソース自体の画質が単純に低すぎる場合、どんなOCRでも完璧には読み取れないため、設定と格闘するよりもエディタでさっと修正する方が速いでしょう。
なぜOCRの結果が文字化けするのか?
字幕OCRは字幕の「ファイル」を読み取っているわけではありません——そもそもそんなものは存在しません。実際には、フレームごとにテキストの画像を読み取り、そこに見える形を文字に変換しています。そのため、出力される結果の品質は、その画像がどれだけ鮮明かにすべてかかっています。画像がぼやけていたり、ごちゃごちゃしていたり、想定していない言語で書かれていたりすると、読み取りは誤ったものになり、誤字や文字の欠落、意味不明な行が出力されてしまいます。
ここで発想を切り替える必要があります。出力が文字化けしているとき、解決策が隠れた精度スライダーであることはほとんどありません。原因は入力に関する4つの要因のうちのどれかです。実際のところ、字幕OCRの失敗は、低解像度あるいは強く圧縮されたソース、字幕行以上の範囲を捉えてしまうOCR範囲、テキスト背景のごちゃごちゃ感やハイコントラストな背景、認識言語の設定ミスのいずれかに行き着きます。このガイドでは、それぞれを順番に見ていきます。
字幕OCRの文字化けは入力の問題です——ぼやけた画像、ごちゃごちゃした範囲指定、気が散る背景、想定外の言語が原因であり、切り替えるべき壊れた設定があるわけではありません。
低解像度・重度に圧縮されたソース
これが誤読の最大の原因です。動画が低解像度だったり、強く再圧縮されていたりすると、文字のエッジが失われます——ぼやけてブロック状になり、OCRは「m」と「rn」の区別すらつかなくなったり、似た形の漢字を取り違えたりします。どれだけ設定を調整しても、ぼやけたテキストが鮮明に戻ることはありません。
解決策は、手元にある最もクリアな画像をOCRに読み込ませることです。入手できる中で最も高解像度な動画を必ず使ってください。1080pのソースは、同じクリップを圧縮した480pの再アップロード版よりもはるかに良くOCRできます。チャットアプリでダウンロードした小さいファイルとオリジナルのどちらかを選べるなら、オリジナルを使いましょう。そして、手元にあるソースが本当に低解像度しかない場合は、期待値を調整してください——どうやってもいくらかの誤りは出てしまうので、完璧な結果を追い求めるより、あとでまとめて修正する方針にしましょう。
ぼやけてブロック状になったテキストは、OCRの文字化けの最大の原因です。1080pのソースは圧縮された480pのソースよりもはるかによく読み取れるため、手元にある最も高解像度なコピーから始めましょう。
OCR範囲が字幕以上のものを捉えてしまっている
OCRに渡す範囲に字幕行以上のもの——チャンネルロゴ、隅のウォーターマーク、画面上のキャプション、スコアボード、焼き込まれたクレジットなど——が含まれていると、それらのテキストもすべて読み取られてしまい、字幕行にゴミとして混入します。字幕自体は完璧に読み取られていても、本来セリフの一部ではないテキストがくっついてしまうため、出力は壊れて見えてしまいます。
解決策は、字幕行だけをぴったり囲むようにOCR範囲を指定することです。通常はフレーム下部の細い帯状の範囲だけで、それ以外は含めません。GeekLinkでは、この範囲を手動で設定できるほか、色・フォントサイズ・言語でフィルタリングすることもできるため、字幕だけを読み取り、ロゴや画面上のキャプションを除外できます。ソース自体には問題がないのに出力が乱雑な場合、範囲を絞り込むことが最も手っ取り早く効果的な改善策です。
OCR範囲がロゴや画面上のテキストと重なっていると、それらがゴミとして字幕行に読み込まれてしまいます——字幕だけをぴったり囲むように範囲を指定することで解決できます。
テキスト背景がごちゃごちゃ・ハイコントラストな場合
字幕は映像の上に重なって表示されるため、その映像が明るかったり、ディテールが多かったり、動きが速かったりすると、文字が背景に溶け込んでしまうことがあります。雪のシーンや、明るいハイライトが揺れ動く背景の上の白い字幕は、実際のところ非常に読み取りにくいものです——文字のエッジが背景に消え、誤読が発生します。
この場合、複数のフレームにわたってテキストを読み取ることが役立ちます。同じ字幕行が画面に留まっている間に背後の映像は変化していくため、まったく同じ単語の背後により暗くクリアな部分がある瞬間もあり、そのフレームでは正しく読み取れます。範囲をぴったり絞り込むことと正しい認識言語を設定することも、風景ではなく文字そのものに焦点を合わせる助けになります。とはいえ、現実的に見ておく必要があります。背景とのコントラストが非常に低い字幕は、依然として最も難しいケースであり、一部の行は手動での修正が必要になることもあります。
明るくごちゃごちゃした背景映像は文字を溶け込ませ、誤読を引き起こします。複数フレームにわたって読み取ることでよりクリアな瞬間を捉えられますが、コントラストが非常に低い字幕は依然として最も難しいケースです。
認識言語の設定ミス
OCRは、どの言語を想定すればよいかを把握しているとき、はるかに正確に読み取ります。それは、その言語の文字の形を手がかりに何を見ているかを判断しているためです。OCRが英語に設定されているのに字幕が中国語・日本語・韓国語だったり、あるいはその逆だったりすると、読み取り機が誤ったアルファベットに合わせようとするため、最初の文字から意味不明な出力になってしまいます。
解決策はほんの10秒で済みます。実行前に、認識言語を字幕に合わせて設定するだけです。動画に2つの言語が画面上に表示されている場合(バイリンガル字幕など)は、実際に抽出したい方の言語を選ぶか、自分の作業にとって最も重要な言語で実行してください。ここを最初に正しく設定するだけで、まったく読めない結果がきれいな結果に変わることも多いので、他の原因を疑う前にまずここを確認する価値があります。
認識言語が字幕と一致していないと、出力は意味不明なものになります——実行前に字幕の言語に設定し、まずはここを確認しましょう。
OCRが完璧にならない場合
限界について正直に述べておく価値があります。難しいソースに対して100パーセント正確なOCRは存在しません。クリアで高解像度、かつ背景がシンプルな動画であればほぼ完璧に近づきますが、ごちゃごちゃした映像とスタイリッシュなフォントを含む圧縮済みのダウンロード動画では、常にいくつかの誤読が残ります。設定を少しずつ変えながら再実行して完璧を追い求めるのは、たいてい遠回りな方法です。
速い方法は逆の順序です。まず入力側でできる限りのことをする——利用可能な最高の解像度、絞り込んだ範囲、正しい言語——そして残ったわずかな誤読は、再実行するのではなくエディタで修正するのです。Macでは、GeekLinkがお使いのマシン上でローカルにOCRを実行し、範囲と認識言語を設定できるほか、SRTをエクスポートする前に内蔵エディタで誤読された行を修正できます。行を上から順に確認し、間違っている数行だけを直して一度でエクスポートする——これは、難しいソースを完璧に読み取れる設定の組み合わせを探し続けるより、ほぼ常に速い方法です。
難しいソースに対して完璧なOCRは存在しません。まず入力を修正し、設定を変えて再実行するのではなく、残った誤読はエディタで修正しましょう。
よくある質問
なぜOCRの結果が誤字だらけになるのですか?
多くの場合、低解像度のソースか認識言語の設定ミスが原因です。まずこの両方を確認してください。圧縮された動画によるぼやけてブロック状になったテキストが最も一般的な原因であり、言語のミスマッチは読み取れるはずのテキストを最初から意味不明なものにしてしまいます。手元にある最も高解像度なコピーから始め、認識言語が字幕と一致しているか確認しましょう。
OCRが字幕と画面上のテキストを混同してしまいます——どうすれば防げますか?
字幕行だけをぴったり囲むようにOCR範囲を指定し、色や範囲でフィルタリングしてロゴやキャプションを除外してください。選択した範囲にウォーターマーク、チャンネルロゴ、画面上のキャプションが含まれていると、それらのテキストが字幕行に読み込まれてしまいます。フレーム下部の細い範囲に加えて、色と言語のフィルタを使うことで、字幕だけを残すことができます。
OCRの出力結果が違う言語になっている、あるいはまったく意味不明です。
認識言語が字幕と一致していません。字幕の言語に設定してから再実行してください。OCRが英語を想定しているのに字幕が中国語・日本語・韓国語だったり(あるいはその逆)すると、すべての文字が誤って出力されます。実行前に正しい言語を設定するだけで、まったく読めない結果が一度で解決することがほとんどです。
字幕OCRは100パーセント正確になりますか?
いいえ——クリアで高解像度なソースであれば非常に良い結果が得られますが、難しいソースでは常に人の目によるチェックが必要です。圧縮されたダウンロード動画、ごちゃごちゃした背景、スタイリッシュなフォントは、いくつかの誤読を残します。最も速いワークフローは、まず入力を修正し、エクスポート前に残った行をエディタで修正することです。
低画質の動画をOCRするにはどうすればよいですか?
見つけられる中で最も良いコピーを使い、範囲を絞り込んで正しい言語を設定し、残ったエラーはエディタで修正してください。低解像度あるいは強く圧縮されたソースは完璧にOCRされることはないため、入手可能な最もクリアな映像を目指し、範囲を字幕だけに絞り、認識言語を一致させたうえで、あとで数行を手作業で修正する計画を立てましょう。