LCL(旧LRC)

LCLのダウンロード

LCLはフリーウェアです。転載も自由に行ってかまいません。
パソコンでノンリニア編集をされている方は是非お試し下さい。
最新バージョン2.2.3(LCL223.ZIP 76KB)のダウンロード
G400の新ドライバーでYUV出力すると正常に表示できないのを修正。

バージョン2.2.2(LCL222.ZIP 76KB)のダウンロード
ALPHA-CPU版 (LCL120A.LZH 81KB)のダウンロード
適当なフォルダに解凍し、readme_jp.txtを参考にインストールして下さい。

LCL Ver2.2.0からの新機能

今回からPNGフイルタを実装しました(AVIZLIBのみ)。このフィルタは、PNGフォーマットと同じフィルタ処理を行い、画像データをZLIBで圧縮し易いフォーマットに変換します。また、可逆フィルタなので画質が劣化することもありません。ただし、ベタ塗りアニメのような画像にはかえって逆効果となります。扱う画像によって使い分けてください。
PNGフィルタの効果
ビデオキャプチャーした画像を素材にし、PNGフィルタ有無による圧縮率の違いを見てみましょう。
使用素材 地上波TVアニメ(640x480/24Bit/無圧縮/90秒/1940MB)
フォーマット フィルタ無し フィルタ有り
RGB 1470MB(76%) 1076MB(55%)
422 946MB(49%) 690MB(36%)
420 746MB(38%) 571MB(29%)
注)素材はMJPEGでキャプチャーしているので元画像のフォーマットは422です。

LCLって何?

LCLとはvfw(Video for Windows)用のLoss-Less Codec Library(可逆圧縮ドライバー)です。Loss-Less Codec Libraryの頭文字をとってLCLと呼んでいます。

LCLの開発背景

最近のアニメーション制作現場は急速にデジタル化が進んでおり、フルデジタルで制作されるケースもめずらしくありません。通常はアニモやレタス等のアニメーション専用のソフトでデジタル彩色し通常の撮影にあたるレンダリング出力を一コマづつデジタルレコーダーに記録し編集されます。しかし、これらのデジタル機材は非常に高価なものです。安価な編集システムを構築するには、パソコンを利用したノンリニア編集がうってつけではありますが業務用に耐えうる画質をもたせるにはやはり高価な機材を必要とします。最近はDVフォーマットを採用したものが登場していますが、DVフォーマットではデジタル彩色されたCGや3DCGでは画質の劣化が顕著にでてしまい業務用としては使えません。もちろん無圧縮で編集という手もありますが、この場合は必要とするHDDの容量やスピードの点で問題があります。そこで、画像の圧縮に可逆圧縮を使用すれば画質の劣化がまったくなく、HDDの必要容量も無圧縮より少なくて済むと言うことになります。ところが、探してみるとvfw用の可逆圧縮なコーデックがないんです(私の探しかたがわるかったのかもしれませんが)。そこで、と りあえず自分で作ってみるかってな感じで作り始めたのがLCLです。

LCLの動作環境

現在公開中のコーデックはWindows95/98/NT対応です。

LCLの圧縮アルゴリズム

現在LCLには二種類のコーデックが用意されています。
1.AVImszh
LZ77(注1)をベースに伸長速度に重点を置いて作成しました。基本的にデジタル彩色されたCGアニメーション用なのでそれ以外の素材では圧縮効率は低いです。
2.AVIzlib
可逆圧縮ライブラリにLZ77をベースにしたzlib(注2)を採用しています。PNGファイルやZip等に使用されている圧縮ライブラリで、汎用の物としてはもっとも圧縮率の高い可逆圧縮ライブラリの一つです。ただし、圧縮率は高いものの展開速度はさほど早くないです。どうせフルフレーム展開出来ないならとことん圧縮した方がいいかなと思ってYUVフォーマットへの変換機能も搭載してあります。通常はこのコーデックを使用する機会がもっとも多いでしょう。
圧縮率と平均展開速度の例
テスト用素材
テストマシン
LightWave3Dで作成した3DCGのAVIムービー
PentiumPro200MHz+96MB
コーデック サイズ 圧縮率 平均展開速度
無圧縮 340MB 1/1 −−−−−
MotionSZH 177MB 1/1.9 30ms
AVIzlib 107MB 1/3.18 220ms
DVSoft 未測定 1/8.6固定(RGB換算) 未測定
MPEG2(9.6M) 未測定 1/26固定 未測定
注1)
LZ77は、1977年にAbraham Lempel氏とJacob Ziv 氏が発表した圧縮アルゴリズムで、LHAやZIPのベースとなっている。
注2)
zlibは、zip,gzipの圧縮アルゴリズムをライブラリ化したものです。作者は、zip,gzipを作ったJean-loup GaillyとMark Adlertの両氏です。このライブラリはフリーソフトで、下記のホームページで公開されています。
zlib Home Page http://www.cdrom.com/pub/infozip/zlib/

YUVフォーマットについて

LCL Ver1.10では次のYUVフォーマットに対応しています。
YUV 1:1:1
このフォーマットはRGB(24ビット)からYUV(24ビット)に単純に変換されたものなのでRGBの元画像に対して画質の劣化はありません。また、画像の質によってはRGBよりも圧縮率が高くなります。
YUV 4:2:2(2:1:1)
このフォーマットはYUVに変換された水平2画素分のY情報に対して、水平2画素分の平均されたUV情報をパックしますので色情報が少し劣化しますが、MJPEG等で使用されています。4:2:2と2:1:1の違いはフォーマット上のYUV配置の違いだけで、画質に差はありません。
YUV 4:1:1
このフォーマットは水平4画素のY情報に対して、水平4画素分の平均されたUV情報をパックしたもので、色情報の劣化は結構深刻です。コンピューター上のRGBプログレッシブ表示では、いくら人の目が色に鈍感でも、違いがはっきりわかります。DVや1万前後の安価なビデオキャプチャーボードで使用されているようです。一般的には、NTSCで出力するか352X240のサイズにリサイズする事を前提とした用途に限定されると思います。
YUV 4:2:0
4:1:1フォーマットが水平4画素分の色情報をパックするのに対して、水平2画素、垂直2画素の計4画素に対してバックしてます。MPEGでよく使用されているフォーマットです。

各YUVフォーマットによる画像サンプル(4倍に拡大)

YUV 1:1:1 YUV 4:2:2(2:1:1)
YUV 4:1:1 YUV 4:2:0


各画像フォーマットでの圧縮率(元画像 720X480X24 30フレーム 31,104KB)

実写画像 CG画像
RGB 20,878KB 67% 12,447KB 40%
YUV 1:1:1 16,951KB 54% 10,719KB 34%
YUV 4:2:2 13,496KB 43% 8,464KB 27%
YUV 2:1:1 14,042KB 45% 8,043KB 26%
YUV 4:1:1 11,317KB 36% 7,253KB 23%
YUV 4:2:0 11,365KB 37% 7,494KB 24%

LCL Ver2.0.0からの新機能

1.マルチスレッドモード
1フレームを2分割し、2つのスレッドで圧縮展開と色空間の変換を行います。これによりマルチCPUを搭載したNTマシンでより高速な処理が可能になります。
2.YUV出力
RGBフォーマット以外に、UYVY及びYUY2フォーマットで出力できます。これにより、YUVオーバーレイ表示モードに対応したビデオカードとプレイヤーで、高速高品質な再生が可能となります。 注)YUVフォーマットで圧縮した場合。
マルチスレッド及びYUV出力の効果を以下の条件で測定しました。
CPU Celeron300A(450MHz) x 2
OS WindowsNT4.0(SP5)
VGA Matrox G400 (PowerDesk Ver4.34)
編集ソフト VideoMaid Ver1.7b
再生ソフト メディアプレイヤー2 Ver6.4
素材 アニメのOP(640x480/29.97fps/ 90秒)
使用コーデック avizlib.dll(Ver2.0.0)
●測定1 VideoMaidの再圧縮時間
フォーマット シングルスレッド マルチスレッド
RGB24ビット 19分54秒 13分35秒
YUV 4:2:2 15分57秒 10分59秒
●測定2 メディアプレイヤー2の平均フレームレート
フォーマット シングルスレッド マルチスレッド
(RGB出力) (YUV出力) (RGB出力) (YUV出力)
RGB24ビット 15.76fps --- 24.85fps ---
YUV 4:2:2 13.29fps 21.13fps 21.54fps 29.89fps

ALPHAプロセッサ版 (Ver1.2.0)

梅田宏明さんのご協力により、ALPHAプロセッサ用のネイティプコード版を作ることが出来ました。ただし、自分では動作確認が出来ないので、実験公開することにしました。ALPHAプロセッサをご利用の方は是非動作確認にご協力下さい。梅田さんのご報告では、FX!32 によるエミュレーションに比べ、5〜6倍のスピードアップがなされたそうです。

LCLの名称変更について

今までLRCと言う名称で皆様にご利用頂いておりましたが、この度LCLと名称変更させて頂くことにしました。そもそもLRCの名前の由来はLoss Ress Codecの頭文字をとったものでしたが、正しい英語ではRessではなくLessです。まぁ、単純なスペルミスな訳で、まことに持ってお恥ずかしい限りです。自分的にはまぁいいかってな感じでほっといたんですが、最近これを指摘される方が増えてきたのでいつまでもほっとくわけにはいかないなと思い、思い切って変更することにしました。ホームページ上の表記は一応変更しましたが、公開中のファイルはLRCのままです。こちらは次回のバージョンアップ時に変更したいと思います。なを、このページのファイル名(LRC.htm)は直リンクを張られている方が多いのでそのままにしようと思います。

戻る