DVD-RからDICOMファイルの取り込みが遅い〜光学ドライブの性能を引き出し高速読み取りで時短するメモ

DVDをパソコンに接続しているイラスト画像 PC・Server

仕事上CD/DVDからの取り込みに苦労している

仕事関係(医療機関)で、DICOMという医療画像をシステムに取り込む作業があります。

外来のスタッフより、患者さんが他の病院で検査を受けた結果(検査画像)を持参して診察待ちしているので、急いで取り込んで欲しいと持ち込まれることがあります。普通は別に大した問題ではありません。優先的に取り込み端末にセットして取り込み、完了したら電話して完了報告するだけです。

しかし検査方法(画像の種類)にもよりますが、DISCに記録されているDICOMファイルが数千枚以上という場合もあるし、複数のDVD-Rに焼き込まれたものを持参される場合もあります。「急ぎって言われても流石にこれは無理やろ!」と言いたくなる場面が今まで何度もありました。結局1時間以上お待たせしたこともあります。

こういう膨大なデータが含まれているDISCを普通に光学ドライブにセットして取り込んでいると、光学ドライブが遅いので一時間以上かかることが本当にあるのです。他に取り込み方法が用意されていないので仕方ありません。画像データが多すぎるのです。

更に、魔の悪いことに別の科からも立て続けで「急いで欲しい」と持ってきて頼まれることもあり、非常に困っていました。そこで余裕のある時に検証して時間短縮する方法をついに見つけたので、同種の場面で困っている人のために記しておきます。参考になれば幸いです。

光学メディアCD-R、DVD-Rのコストは安い

しばらく暇を見つけてリサーチしたり検証したりしてわかったことがあります。そもそもCD-RやDVD-Rは前世代の記憶メディアであり、大容量データを迅速に取り扱うためには時代遅れだと言うことです。

しかし普及率が非常に高いので、メディアの質がピンキリとは言えコスパがとても良いのでCD/DVDで持ち込まれる事がほぼ100%です。CD-RやDVD-Rは価格的に安いのでどこの医療機関も使用しています。医療機関に限定せずとも世間一般の認識は同じだと思います。

例えば、大容量ファイル(データ)を人に渡す(差し上げる)場合は、ほぼCD-RやDVD-Rを使用することになるでしょう。医療機関の場合は診療情報を外に出す訳ですから有料だと思いますが。

他にはUSBメモリーに保存して渡すという方法も考えられますが、USBメモリを使い捨てにするにはコスト的に割高です。常識的に考えてコストを削減したいのでCD-RやDVD-Rが最有力な媒体になります。

これは長い間ずっと変わらず現在に至っています。ブルーレイはコスパが悪いので普及しませんでからコストも下がらずとうとう製造中止を迎えましたし・・当面はCD-R/DVD-Rの時代は続くのでしょうね。

そもそも遅い原因は光学ドライブの動作原理と性能の限界

私の職場で直面しているのは、よその病院で検査を受けた結果の診断画像をCD-RやDVD-Rで提供して貰い、自前の画像ライブラリサーバー(とでも言っておきましょう)に検査画像を保存する際に直接CD-RやDVD-Rから読み込ませるとべらぼう時間がかかる(遅い)という問題があります。

CD-R/DVD-Rは、もはや古の記憶媒体ですから時代に合わないのは当然です。でもこれを超えるコスパの良い記憶媒体が出てきません。普及するかどうかもコストダウンに関係するのでとても重要です。

この読み取りが遅い傾向は、検査画像の数(つまりファイル数)が多いほど遅くなる傾向があり、1枚のディスクに数千枚の検査画像が含まれている場合などには、1時間以上かかることもあります。この「読み込みの遅さをなんとか回避する方法は無いか」と考えて調べたら、工夫の余地ありだということが判明しました。

SATA/USB接続なので「PIO病」ではないと認識しています(旧式のインターフェースであるIDE/ATAPIではないので)。またCD/DVDドライブを複数使い比べてみたのですが大差が無いのでドライブの性能差も関係なさそうです。

Nero DiscSpeedでテストしてみた

Nero DiscSpeedでドライブで読み取り速度を調べてみて、ドライブによって違いが出るか検証してみました。

Nero DiscSpeedのCD読み取り結果「Buffalo Optical Drive BFT6」

ドライブを変えてみたのですが、多分、誤差?と思われる程度しか違いは無さそうです。思っていたより速度が上がりません。

Nero DiscSpeedのCD読み取り結果「HL-DT-ST DVDRAM GP77NLC02」

DVD-Rを読ませてみましたが、CD-R以上に速度が上がりません。

Nero DiscSpeedのDVD-R読み取り結果「Buffalo Optical Drive BFT6」

使用している記録媒体(CD-R、DVD-R)の性能によっても速度が変わってくるみたいです。

検証1:USBメモリーにコピーして読ませた

急ぎでは無い取り込み依頼CD/DVDを受け取り、これは明らかにファイル数が多いというDVD-Rを検証に使いました。急いでと言われていないので猶予がありますから検証にはもってこいです。

事前作業の第一弾として、他のPCでUSBメモリーにコピーをする下処理をやってみました。するとこのコピー処理がべらぼう時間がかかることがわかりました。コピーの遅さはWindowsエクスプローラーにも改善の余地ありだと感じます。しかしFastCopyも試してみたのですが期待したほど速度が上がらないので、コピーの遅さの原因は、光学ドライブの読み取り速度が原因でした。また、保存先に指定したUSBメモリーの書き込みが遅い訳ではありませんでした。PC本体のSSDに書き込んだ場合でも読み込みが遅いのです。

USBメモリーにDISCの内容をコピーしたものを、画像ライブラリサーバーに取り込みする専用端末に接続してから読み込ませました。普段はこの専用端末にCD/DVDを直接読み取らせていますが、比較検証のためにUSBメモリーから読ませてみました。

結果は、時間短縮の効果ありで時間にすると1/3以下には間違いなく短縮できることがわかりました。場面にもよりますが複数枚のDISCが持ち込まれた場合など、画像ライブラリサーバーに取り込みが終わるまでボケーッと待っている時間があるなら、並行処理で別のDISCを別端末でDISC->USBにコピーする準備手順を組み込む価値はあります。

検証1でわかったこととして、CD/DVDからUSBメモリーにコピーするのが非常に時間がかかります。Windowsエクスプローラーに任せておくと、コピーに1時間以上かかる場合もあります。別端末のLinuxで試してみたところ、PCハードの違いの影響もあるかも知れませんがLinuxの方が速かったです。でもかかる時間が半分になるとか画期的と言えるほどの時短は無理そうです。OSの違いは微々たるものの様です。

それでも、急ぎでは無いDISCを取り込む場合は、下処理としてUSBメモリーにコピーしておくことで、取り込み専用端末にUSBメモリーから読ませることができて時短できます。CD/DVDから直に読むよりUSBメモリーから読む方が速いのです。

つまり取り込み専用端末を「占有する時間」を短縮できるというわけです。これが案外重要であり、急いでないけどデータがいっぱい入っているDVDを取り込んでいる時に、「大至急取り込んで欲しい」と持ち込まれることがあるからです。端末を占有する時間はなるだけ短くしたいのです。

やはり速度を求めて記憶媒体としてはシリコンデバイスに代わっています。それでもUSBメモリーは遅いと言われポータブルSSDという選択肢もあります。ところが元のデータがCD/DVDに記録されている以上、そこからデータをコピーするのに時間がかかってしまうのが根本的な課題です。

検証2:ISOファイル(DISCイメージファイル)にぶっこ抜き

次に気づいたこととして、ファイル数が多いDISCは忙しく光学ドライブがキュン、キュン、と音がしてメカ的な動きを繰り返していることです。しかも読み取り進行が遅いDISCの回転はだいたい遅くてブーンという高速な回転音がしてません。「もっと高速に回転してちゃっちゃと読み込んでくれよ!」と思うのですが、高速に回転出来ないなにか事情があるようです。

それはどうやら「ランダムアクセス」でファイル一個ずつを読んでいる動作中のために、光学ドライブが高速回転できず、結果として読み取りが遅いという事態に陥っています。昔の様な「のどかな時代」はとっくに終わっているので、もっと高速に回転して読み取り可能な最大速度でビューンと読んでくれることを求めています。でもそういう動作をしてくれません。

連続的に読めば速いのでは?(シーケンシャル・リード)

そこで考えたのは「シーケンシャル・リード」です。連続的な読み取りが実現すれば、高速回転で最初から最後までぶっ通しで読み取ることができます。無駄な動きが無ければより高速に読み取れます。ファイルをコピーするとどうしても「ランダム・アクセス」が発生するので速度が上がりません。

ISOファイルとかFCDファイルにDISCイメージをぶっこ抜きしちゃえば良いじゃん!

今の人は知らないかも知れませんが、一昔以上前はCD/DVDが大容量メディアコンテンツの配布手段として一般的でした。ネットがそこまで普及していませんでしたからね。

DISCイメージ化(ISOファイル)処理すれば良いのでは?

当時はDISCとドライブを持ち運ぶのが不便なので、イメージでぶっこ抜いて仮想DISCファイルとしてHDDに保存しておき、必要な時に仮想ドライブにマウントするという使い方をしたものです。

これは当時は画期的な技術で、私自身もThinkPadに色々なDISCのイメージファイルを保存して持ち運んで使っていたものです。地図アプリは本体にインストールしておいて、地図DISC複数枚をイメージ化してました。あー懐かしい。

おやぢ
おやぢ

DISCイメージのぶっこ抜きか。
CD革命を思い出しちゃったよ。

この案がひらめいた時に、行けるんじゃないか?と経験的に思いました。

やはりイメージ抽出だとコピーも速い

先述の通り通常のファイルコピーだとランダムアクセスが発生するためコピーに時間がかかります。シーケンシャルコピーが可能なイメージファイルに変換すれば、この原理(光学ドライブの性能が引き出せる)が使えるんじゃないか!と閃きました。いや間違いなく高速にDISCをコピーできるはずです。

問題はWindowsは標準ではDISCからイメージファイルにする方法がありません。サードバーティ製のアプリ「ImgBurn」などを使うことになるでしょう。個人的にはポータブル版を使わせてもらっています。

xxxx.paf.exeファイルは、PortableApps(ランチャーソフト)にインストールする用途に作られていますが、私は「c:\works\」という感じの野良アプリインストール場所を決めているのでそこにインストールしています。削除が簡単なのでこの方法が良いかなと思っています。

ImgBurnの起動画面

使用する機能はもちろん「ディスクからイメージを作成」です。

ImgBurnでDVD-RをISOファイルとして取り込んでいる様子のキャプチャ

CD/DVDはBUFFALOの光学ドライブにセットしています。これをUSBメモリー(Eドライブ)にISOファイルとしてイメージ抽出します。進行状況が進むにしたがってぐんぐん速度が上がってきます。

DISC(メディア)によって速度が変わる

ImgBurnのログを見ていてきづいたことがあります。結構参考になる情報がログに記されています。どうやら使用されているCD-R/DVD-Rメディアによっても読み取り速度が左右されるみたいです。

Source Media Supported Read Speeds:2x,4x,6x,8xCode language: CSS (css)
ImgBurnでDVD-RをISOファイルとして取り込んでいる様子のログウィンドウのキャプチャ。メディアが8x速度までしか対応してないことがわかる。

このメディアは2x、4x、6x、8xまでサポートされている様ですから、上限は8xということの様です。別のDVD-RもISOにぶっこ抜いてみたりしてみましたが、メディアによって違うらしく、15x以上の速度が出るDISCもありました。

他院で使われているメディアはこちらでコントロール出来ないので、遅いメディアが届いた場合はそれが上限ですから遅くても我慢するしかありません。

DVD-R×3枚をISOファイルとして取り込んだ結果のキャプチャ

この様にして今回は3枚組になったDVD-RをISOファイルとしてUSBメモリー(32GB)に保存しました。メディアの読み取り性能によって上限は違うということは変わりありませんが、それでもイメージでの抽出はシーケンシャルリードなので、普通のファイルコピーと比べると劇的に速いです。この部分はかなり時短出来る要素なので、もし複数枚のDISCを持ち込まれた場合には1枚のDISCはそのまま取り込みを走らせておいて、他のPCで平行処理でISO化すれば時短に有効だと感じています。USBメモリーにISOファイル化してしまえばDISCの遅さともサヨナラできます。

ISOファイルのマウント

USBメモリーにISOファイルとしてぶっこ抜いたので、このUSBメモリーを取り込み端末に接続します。企業さんではUSBメモリーの使用が制限されるなどあると思いますが、私は取り込み端末の操作権限を与えられているのでUSBメモリーも問題なく使用できます。(ここが制限されている場合は諦めるしか無いです・・)

さて、Windows 10/11はISOファイルをマウントする機能が標準装備です。USBメモリーからPC本体のSSDにコピーする時間は惜しいので直接USBメモリーにあるISOファイルをWindowsにマウントします。マウントしたいISOファイルを右クリックしてマウントを実行すると、EドライブとかFドライブとかにマウントされると思います。

ISOファイルをWindows10/11標準の機能でマウントしたときのキャプチャ。仮想DVDドライブ(F)として中に含まれるファイルが見える。

無事に取り込み端末(Windows10)でマウントすることが出来て(Fドライブ)として見えています。仮想的にDVDドライブとして扱われている様ですから都合が良いです。

この状態からDICOMファイルを取り込むアプリを起動して取り込んでみました。患者IDや患者氏名などを設定して取り込みを開始してみると、めちゃくちゃ順調に進んでとても速いです。体感ですがかかった時間は1/5以下ではないでしょうかね。とても速いので「やった!大成功!」と思いました。

マウントを解除する(取り出す)

DICOMファイルの取り込みが終わったら、マウントしたISOファイルをアンマウントしなくてはなりません。Windowsでは仮想DVDドライブとして認識されているので「取り出す」という操作になります。

アンマウントに成功すると、仮想DVDドライブ(Fドライブ)のアイコンは消えます。これで一連の操作の流れは終了です。後は残った2枚のDISCイメージをマウントして、取り込んで、取り出して・・の繰り返しです。DICOMファイルの読み込みがとても速いのでサクサク仕事が捗ります。

DVD-Rと仮想DVDの読み取り速度比較

実際に読み取り速度の改善効果が確認できたので、データとして取得してみました。

Nero DiscSpeedでDVD-Rを直接ドライブから読み込んだ結果が下図です。

平均速度に注目してみると、5.65xとあまり速度が出ていないのがわかります。これがランダムアクセスなしの目一杯の速度と考えて良いでしょう。ランダムアクセス(ファイルコピー)だともっと遅いですからね。

Nero DiscSpeedの実DVD-Rメディアを光学ドライブで読み取りした結果

次に、ISOファイルにしたファイルをUSBメモリーに保存しておき、Windows標準のISOマウント機能で仮想DVDドライブとして認識させた状態で速度チェックした結果です。

なぜ右下がりなのかわからないですがいきなり16x近い速度が出ていて上下にブレながら10x程度で終息しているのは何か理由があるのでしょうかね?
注目したいのはやはり平均速度で、20.33x出ています。

Nero DiscSpeedの仮想DVDドライブ(ISOファイルマウント)で読み取りした結果

リアルなDVDディスクとISOマウントによる仮想ドライブの読み取り速度の違いが、単純に「6x」と「20x」の差が出ていることが確認できましたので、一手間かけてISOファイルにする意味はあると思います。

もちろんDISCに含まれているファイルの数とサイズが大きくない場合は、ISOに変換する手間(時間)が無駄になるので、大したことないデータ量のDISCはそのまま読み込ませることにしたいと思います。ケースバイケースで上手く使い分けるのが時短のポイントとなりそうです。

DVDビデオDISCはなぜ大丈夫なのか?

DVDディスクをPCで再生する場合は、もうかなり昔のPCでも普通に再生出来ていました。

DVDドライブが普及し始めた頃から言えば、現在はドライブの速度もPCの処理能力も上がっています。しかしながらDVDドライブが当たり前になって、コストダウンがはかられているのでDVDドライブの品質は落ちている可能性は無きにしもあらずです。

インターフェースもIDE(USB2.0時代)からSATA(USB3.0時代)に高速化しています。しかし光学部分は構造も動作原理も変わっていないので進化がありません。時代に取り残されているのです。

そんなDVDでも映画などの視聴は問題ありません。なぜ?というところに疑問を持つかも知れませんが、動画視聴用のDVDディスクを作成する場合には、オーサリングソフトを使って焼付前の下処理をします。

オーサリングソフトでは、チャプター(動画の区切り)で複数の動画に分離しますが、オーサリングソフトは動画を連続データとして配置するので、視聴時にシーケンシャルに読み取ることが出来るように配慮されています。そもそも動画ファイルは1つのサイズが大きいので連続して書き込まれます。

つまり、映画などのDVD動画はほぼシーケンシャルリードと言っても良い構造なので、光学ドライブの読み取りが遅くても、先読みしてキャッシュに蓄えているので結果的に途切れなく視聴できます。動画視聴時にDVDドライブは結構な高速回転をしていることに気づくでしょう。

一方、DVDディスクをデータ(多数のファイル)書き込み用として使用すると、ディスクの内容は沢山のファイルが配置されているので、一つ一つのファイルを読み取るのにヘッドが移動する時間がかかります。(詳しいことは知りませんが実際には読み取りミスが結構発生していてリトライをしている様です。)

データディスクとして使用すると、どうしてもランダムアクセスに近い動作となり、今回の様な読み取りの遅さにつながるというカラクリです。ましてや数千枚の画像ファイルが含まれている場合などはドライブのヘッドが忙しく移動してファイルを探しているため、読み取りが遅いということに繋がるというのが動作の仕組みから分かります。ディスクも高速には回転させることが出来ません。

DVDドライブを温存する

光学ドライブは絶えずヘッドが忙しく動くメカニカルな構造になっています。どうしても機械的な動作になるので消耗します。DVDディスクで映像を視聴する場合でも、ISOファイルにイメージ抽出してファイル化したものをマウントして視聴する様にすれば、ストレスな途切れや細切れ等を回避できるという事が想像出来ます。

光学ドライブもイメージ抽出の際にはシーケンシャル動作で連続的にデータを読み取れるのでヘッドにかかる負担も軽いです。光学ドライブをメカ的に温存したい場合(負担をかけたく無い場合)は、一発でイメージ抽出し、ISOファイル等の仮想ディスクとして視聴する様にすれば寿命を長く維持することが可能なことが想像できるでしょう。この知識はちょっとしたTIPSです。

ImgBurn(フリーウェア)を使えない場合

昨今、情報セキュリティ問題もあって、フリーウェアを使うことが許可されない組織団体もあると思います。責任の所在が不明確なソフトウェアを使用することが許されないことや、動作保証や情報の安全や不具合時のサポートが確保されないという理由が大きいでしょう。

そういう場合は、キチンとした有償アプリを使用することで保証も得られるしサポートも受けられます。個人的には仮想DISCドライブの一時代を築いて現在も製品を販売している「アーク情報システム」の「CD革命」をオススメしておきます。CD革命でも同様の効果(時短)が可能だと思いますので、同様の課題を持っている方は検証してみると良いでしょう。

CD革命でもISOファイルで保存出来るのでImgBurnと同様に(Windows10/11でマウント)使用することが出来ると思います(CD革命を所有してないので未検証ですが)。
情報セキュリティ関係が厳しく管理されている組織では有償アプリを選択する必要があると思います。キチンと管理部門に申請して許可を貰ってから導入する様にしましょう。

created by Rinker
アーク情報システム
¥6,390 (2025/08/27 20:25:25時点 Amazon調べ-詳細)

最後にまとめ

DICOMファイルを取り込むための専用端末にCD/DVDディスクをセットして、画像取り込みアプリから取り込むと、光学ドライブの遅さのせいで非常に時間がかかるため、非常に慌ただしく、また現場(患者さん)を待たせることになるので改善方法を探りました。

行き着いた改善方法として、CD/DVDからDISCイメージをISO形式で抽出(コピー)する方法を採用しました。他端末でImgBurnを使用してUSBメモリーにDISCイメージを取りました。もちろんウィルスチェック機能は有効になっていた方が良いです。なんならISO形式で抽出した後にマウントしてウィルスチェックをしたら万全だと思います。

次に、USBメモリーに保存したISOファイルを今度は取り込み端末に接続して、Windows10/11に標準搭載されている機能でマウントし、仮想DVDドライブとして認識させました。その状態で取り込み端末のアプリを起動して仮想DVDドライブを指定して取り込みを行いました。結果的にとても高速に取り込み処理が行われ時間を短縮出来ました。

DICOMデータの取り込みが終わったら、必ず仮想DVDドライブから取り出し(ISOファイルのアンマウント)操作を行って、それからUSBメモリーを取り外す必要があります。仮想ドライブにISOファイルがマウントされているためUSBメモリーをいきなり引っこ抜くのは駄目です。

以上の操作手順によってかなりの時短が実現できました。つまりImgBurnでISO形式のファイルにイメージぶっこ抜きしてUSBメモリーに保存することさえできれば、取り込み端末で高速にDICOMファイルを取り込むことが出来るという事が実証できました。

実際、急ぎの取り込み依頼が立て続けに来ることがあり、DVD-RにビッチリとDICOMファイルが書き込まれていると取り込み処理に時間がかかるので、バタバタとすることがしばしばあります。

考えられる対処方法としては、取り込み端末を2台、3台と増やせば複数端末で平行処理が出来るので確実な方法だと思いますが、現実的にそこまで余剰な設備投資をしてくれる程に潤沢な資金を持っている組織は少ないと思うので、私は技術(知識)で工夫できることを検証してやってみた次第です。

もちろんDISCに含まれるDICOMファイルの数が少ない、容量が少ない場合はいちいちISOファイルにする時間が勿体ないので、直接CD/DVDを取り込み端末にセットして多少時間がかかろうともそのまま処理させます。「これは明らかに1時間以上かかるヤツだ・・」と判断した場合は、ImgBurnでISOファイルにする手順を入れると時短出来るという実例でした。

コメント

タイトルとURLをコピーしました