] 映画の郷 [ 電子工作部:ラズパイHQカメラで戦後9.5ミリカラーフィルムをスキャンしてみた

『ガラパゴス諸島~アフリカ旅行記』
(1960年、仏9.5ミリ個人撮影動画より)
ラズパイHQカメラ+タムロンH21レンズ

先日、綺乃九五式スキャナーにラズパイHQカメラを移植しました。このスキャナーにとっては大きな一歩となります。V2カメラを前提に設計された綺乃九五式は白黒フィルムしか処理できなかったのですが、このアップデートでカラーフィルムを扱うことができるようになったからです。

今回、1960年に撮影されたガラパゴス諸島~アフリカ旅行動画をスキャンしてみました。上がその際の無加工スキャン画像。

悪くない、と思います。後に触れるように幾つか問題はあるものの、設定次第では16ミリ並の再現度までいける手応えがありました。

ちなみに一回目に行ったスキャンは失敗でした。何も考えずに白黒設定(彩度/saturation)のみを変更しスキャンしたところ、連続撮影の結果が次の形に。

数回に一度自動の補正フィルターがかかっています。

パイカメラ・ライブラリーのオートホワイトバランス(awb_mode)初期設定で「’auto’」となっているため悪さをしているのだろうと考え「’off’」に変更したものの結果は変わらず。露出モード「exposure_mode」が未設定(=デフォルト「’auto’」)になっていたのが問題で、こちらを「’off’」に変えると安定しました。

ところが別なショットで新たな問題が発生しました。

ウミイグアナの群れを捉えた一枚。解像度は良いのですが…色合いが奇妙です。このフィルムは2017年に一度映写機で実写しており、その時のスクリーンショットが残っています。

絵としての解像度はHQカメラに劣りますが、色合い/カラーバランスはこちらの方が自然な感じがします。HQカメラは青の発色がやや人工的で、画面全体に強く出ています。ヒストグラムで確認してみると:

映写機版のヒストグラム(写真上)から分かるように、光の三原色の中で青がやや強く出ています。こういった被写体を撮ろうとした時、処理が上手くいかず青味が極端に強調される形で残ってしまうようです。冒頭の鳥のように青があまり含まれていない画像では綺麗な結果が出てきます。下のスキャンも似たような感じです。

空が澄んだ青になるのは良いとして、引きずられるように背後の島が真っ青になり、人の肌や植物も青みがかっています。カラーバランスを修正したところ下の感じになりました。

修正前(左)と修正後(右)

肉眼で見えていたのは右の感じだったのでしょうね。HQカメラを使用した際にカラーバランスが青に寄る話は海外ユーザーからも報告 (« The whitebalance is also very “blue” ») されています。使用するレンズやセッティングに依存している可能性もありますが、今後HQカメラを使って実用的な作品を作ってみたいという方は留意しておいて良い話かと思われます。

] 映画の郷 [ 電子工作部:「綺乃九五式」にラズベリーパイのHQカメラを移植する

ラズパイ4Bが発売された時「カメラモジュールのV3が出ないかな」と密かに期待していました。そちらの音沙汰がなく不思議に思っていたところ、5月初めに新作のカメラモジュール「ハイクオリティカメラ V1」(以下「HQカメラ」)が発売されました。

センサーにSony IMX477R(英語規格書)を使用。1/2.3型で対角長7.857ミリ。センサーの縦横は実寸で4.7ミリ(高さ) ×6.2ミリ(幅)。有効画素数は12.3MピクセルでV2(8M)の約1.5倍になっています。ラズパイ4Bに接続し「vcgencmd get_camera」で確認すると無事認識されていました。

対応レンズはCS/Cマウントとなっています。手持ちのレンズを幾つか組みあわせてみましょう。

モビルスーツ風の風格があります。実際に試写した感想としてはV2カメラで発生していた「口径蝕」問題が解消されたのが何より一番の進化だと思います。

上の写真は2020年1月の雪の日にV2カメラで撮影したものです。このカメラモジュールはオリジナル以外のレンズを使うと四隅を中心に赤みがかった変色が出てしまいます。「キャリブレーション」という方法で補正をかけないと直せないもので、ラズパイベースでフィルムスキャナーを製作する際に大きな障害となっていました。

HQカメラ + ベルティオ Cinor (F20 1:1.9)で撮影した一枚。ヒストグラム右端にやや怪しい動きが見られるものの、V2カメラの欠点を修正した形になっています。

動作確認ができたので綺乃九五式スキャナーにHQカメラを移植していきます。

レンズは以前と同じくタムロンの21HA(Cマウント)。

HQカメラではイメージセンサーの幅が6.2ミリ程に広くなっています。目標としてはタムロンレンズと接写リングを組みあわせながら、この画角一杯に9.5ミリ(実際に映像が映っている部分の幅は8.5ミリほど)のフィルムを映し出していきます。

まずは必要となる接写リングの長さを計算していきます。

V2カメラの場合はセンサー幅が3.68ミリだったため3.68÷8.5=0.47。0.47倍の倍率を得るため20ミリの接写リングをあわせ、フィルム面からレンズの先端までの距離を168ミリ(16.8センチ)に設定していました。

今回センサー幅が変わりましたのでパラメーターが変わっています。

35ミリの接写リングを間に挟みます。この時CSマウント(HQカメラ)とCマウント(タムロンレンズ)の差分の5ミリがあるため、元々56ミリの焦点距離を備えていたレンズに30ミリの接写リングを組みあわせたことになります。

タムロンの仕様書に従うと、30ミリの接写リングをつけた際の最短撮影距離が119.6ミリで、その際に横幅12.1ミリの対象を画面に収めることができるようになっています。

この時、センサー面上に投影される画像の幅xは12.1:x = 119.6:86(56+30なので)となり、xは8.7ミリとなります。元々12.1ミリだった被写体がセンサー面では8.7ミリになったので0.71倍マクロレンズとして機能している訳です(ラズパイHQカメラのセンサー幅は6.2ミリですので、このセッティングで撮影すると幅8.7ミリの画像の中央の6.2ミリ分だけが切り取られて出力されます)。

最短撮影距離119.6ミリの場所に9.5ミリフィルムを置いてみます。フィルムの中で実際に映像が映っている部分の幅は8.5ミリほどです。これが0.71倍されると6.11ミリになります。ラズパイHQカメラのセンサー幅6.20ミリに上手く収まります。

V2カメラ+20ミリ接写リングの時は最短撮影距離が約16.8センチでしたが、今回のHQカメラ+35ミリ接写リングの場合は最短撮影距離が約12センチ。いままでより4.8センチカメラの先端をフィルム面に近づける必要があります。空間の余裕はあるので上手くいきそうです!

「綺乃九五式」にセッティングしたところ。

ラズパイHQカメラ + タムロン21HAレンズでの9.5ミリフィルムスキャン例(2400*1800)

1923年に発売された『パテ・マガジン 第1巻』より「金魚」の動画をスキャンしたものです。フレーム内に9.5ミリフィルムのコマがピッタリと収まっています。一部にガタツキが見られ微調整が必要ですが実用には使えそうです。

Pathé-Magazine Vol.1 « Les Cyprins Chinois »

Cマウントレンズは現在でも監視カメラなど産業用として市販されていますが、そもそも戦後の16ミリ動画カメラによく使われていた規格でした。今後クラシック・カメラ/オールド・レンズの愛好家も巻きこんで面白い作品が出てきそうな気がします。

] 映画の郷 [ 電子工作部:PythonとOpenCVでスキャン画像の修復プログラムを作る

昨年10月に自作スキャナーを完成させこれまでに数十本のフィルムをデジタル化したのですが、気になったのがフィルム上の傷や埃がノイズとして入りこんでしまう点でした。

年末の休みを利用し、スキャンした画像の連続自動修復を行うプログラムを書いてみました。作業は基本パソコン上で行いプログラミング言語としてpythonを使用。画像処理ライブラリOpenCVで動かしていきます。

時系列を追った試行錯誤は別枠で詳述。本稿では現時点までの成果をご紹介していきます。

修復対象は1928年公開のジャン・ルノワール作品『城下町の決闘』。スキャンをしてみたところ、以前の映写に由来する深い傷が目立ちました。旧所有者があまり良くない映写機を使っていたと思われ、フィルムの各コマのほぼ同じ位置に大きな傷が入っています。

参考画像01

その他にも埃や繊維と思われるゴミの影が黒く映りこんでいます。それでも画像一枚ならフォトショップで何とかなるのですが、総コマ数が数千~数万となる映画フィルム修復ではあまり現実的とは言えません。或る程度のコマ数を一括処理できるプログラムを書く方が早そうです。

試行錯誤の末、以下の4ステップで修復を行う流れを考えてみました。

【ステップ1:深い傷の一括修復】複数枚の画像に繰り返し現れる傷にOpenCVの「インペイント」で一括修正をかける。

『城下町の決闘』から連続する画像10枚を選んでみました。

参考画像02参考画像03(オリジナル)
まずは各コマの右側に多く見られる斜めの傷に修正をかけていきます。黒地に手描きの白で傷を示したマスク画像を一枚用意します。
参考画像04(マスク画像01)
OpenCVの「INPAINT_TELEA」関数を使い、ファイル名の連番で自動修復を行う設定をかけながらマスク画像の白い部分を画像の周辺データから修復していきます。
参考画像05参考画像06(第一段階完了時)
白いパッチ部分をもう少し広めに取れば良かったですね。

【ステップ2:ノイズの一括除去】続いて、スキャン画像に個別で現れてくる黒い点状のノイズ(埃やゴミ)を認識させ一括で除去していきます。ステップ1同様にマスク画像と「INPAINT_TELEA」関数を使用していくのですが、先のステップではマスク画像が手描きだったのに対し、今回は画面上の一定の黒さ以上の部分を色抽出プログラムで抜き出し、各コマごとにマスク画像を自動生成、自動修復していきます。
参考画像07(マスク画像2)参考画像08参考画像09(第二段階終了時)
画面のあちこちに発生していたノイズの点々をある程度除去できました。

【ステップ3:薄い傷の個別修復】ステップ1では大きな傷、ステップ2で細かなゴミの影を除去した後、今度はコマ個別に発生している薄く細い縦線(映写機由来の傷)を消していきます。OpenCVの線描画機能(Line関数)を使用し、画面上の細かな傷をなぞった跡をマスク画像として保存、三度「INPAINT_TELEA」関数でノイズ除去を行います。細かな傷が対象ですので描線はステップ1より一段階細くしています。
参考画像10(マスク画像3)参考画像11(第三段階終了)

【ステップ4:最終調整】メイン作業はここまでで終了。最後は明度や輝度など微修正を施していきます。OpenCVでガンマ輝度を0.9に下げ、完成画像をオリジナルと比べてみます。
参考画像11(オリジナルと完成画像比較)
課題は山積みで精度もまだ上げられそう。でも今のプログラミング能力だと1週間で組めるのはこの辺まででした。

compared

もう一枚もこの程度まで回復。「綺乃九五式スキャナー」と同様、次段階ではユーザーインターフェイスを自作しモニター画面を見ながらボタンでステップ1~4の作業を行えるようしていきます。

【祝】「綺乃九五式」が本年度「みんなのラズパイコンテスト」グランプリを受賞しました

「綺乃九五式」9.5ミリ専用 フィルムスキャナー

「みんなのラズパイコンテスト」は日経BP(ラズパイマガジン/日経Linux/日経ソフトウェア)が主催する電子工作のコンテストです。第6回目を迎えた本年度、「【ラズベリーパイ × 戦前映写機】綺乃九五式 フィルムスキャナー」で初参加させていただき、栄えあるグランプリを頂戴する名誉に預かりました。大きな賞を頂き恐縮かつ光栄に思っております。プログラミングはまだまだ初心者ですので精進して参ります。

仕様詳細はこちら

【「綺乃九五式」で甦る戦前日本の風景】

c1929 「かごめかごめ」 9.5mm 個人撮影動画
「かごめかごめ」1929年頃 9.5mm 個人撮影動画
1930年 「鳩と戯れる進一」 9.5mm 個人撮影動画
「鳩と戯れる進一」 1930年5月28日大阪四天王寺にて 9.5mm 川口光羊氏撮影
1929年頃 「池の掃除」9.5mm 個人撮影動画
「池の掃除」1929年頃 9.5mm 個人撮影動画
1923年 「震災のその後」 9.5mm 仏ニュースリール
「震災のその後」1923年撮影 9.5mm 仏パテ社ニュースリール
1910年代後半~20年代初頭 「日本雪景色」 仏ドキュメンタリー短編
「日本雪景色」1910年代後半~20年代初頭 9.5mm 仏ドキュメンタリー短編

「綺乃九五式」は全くのゼロから作り出されたシステムではありません。様々なアプローチで電子工作に挑戦しソースコードや記録をGithub、Qiitaに残してくれた沢山のプログラマーさんや自作愛好家様たち、そして個人的にご支援を頂いた廣田昌義、北原ルミ御夫妻に心より感謝申し上げます。

2019年11月28日

1930年代初頭 9.5mm 個人撮影動画 『かごめかごめ』(自作スキャナー「綺乃九五式」サンプル動画)

「9.5ミリ動画 05b 個人撮影動画」より

Early 1930s 9.5mm Home Movie « Kagome Kagome »
(Kino Type 95 Film Scanner Sampler)

かごめかごめ、かごのなかの鳥は
いついつ出やる 夜明けの晩に
鶴と亀が滑った 後ろの正面だあれ?

昭和6年(1931年)頃に撮影されたと思われる動画。

自宅の中庭で遊んでいる子供4人を父親が撮影した内容です。冒頭はお手伝いさんと思われる女性を交え「かごめかごめ」をしています。その後末っ子のおちびちゃんがカメラを前にポーズを取り始めます。場面は続いて縁側へと移り、兄姉弟が仲良く戯れている様子。大きな飼い犬も登場。最後は再び中庭へと戻って映像が終了。

元々は15本組で入手したフィルムセットのひとつで同じ兄姉弟を中心とした動画が他に数本含まれています。末っ子の坊やが披露していた両手をぐるりと回す動きは学校か何かで習う踊りのようで、別フィルムでお姉さんたちが完全版を披露。他にも仕事絡みの動画があって、内容から撮影者が東京帝国大学の朝比奈教授の下で化学/薬草学を学んでいた研究者さんだったと推測できます。

20メートルフィルム/1175フレーム/再生速度11フレーム毎秒
2400×1800の解像度でスキャンを実施、YouTube版は1080×810まで解像度を下げています