QV-10 cam file converter
$Id: README,v 1.12 1996/08/27 16:25:13 itojun Exp $


What's this?
	This package contains file converter for Casio QV-10 digital camera.
	It converts Casio CAM file (which is defined by Casio, and the file
	format have not made public yet) into ppm or jpeg file.
	The following description is written in Japanese. (but you'll
	be able to find out how to use this kit easyly, by reading source code)
	If you need English version, refer to file named README.eng.


	Casio QV-10はとってもかわいいデジタルカメラなのですが、
	吸い上げたデータをあとで加工しようとおもうと、吸い上げキットの
	ユーザインタフェースのせいでちょっといらいらします。

	Casioの吸い上げキットは、カメラから画像を吸い上げるとき、cam形式
	(Casioの独自形式)でならカメラ内画像を全部まとめて吸い上げられますが、
	tiff形式やpict形式で一気に吸い上げることができません。
	さらに悪いことに、tiff形式やpict形式に変換するには1枚づつ画像を
	クリックしないといけないため、クリック猿になる必要があります。

	まとめてせーの、で変換できないのは嫌なので、ファイルフォーマットの
	公開が求められていましたが、岩間@ti(iwama@ti.com)さんが解析に
	成功されましたので、その結果をもとにツールを書いたのがこいつです。

	(もちろん、今後ともCasioからの正式公開が待たれることは言うまでも
	ありません。シリアルケーブル上のデータ電送プロトコルもね)

	ちなみに、QV-100のfineモードで撮った絵を吸い上げた新形式cam
	ファイルにも対応しています。

インストール
	以下のOSで動作確認されています。
		BSDI BSD/OS 2.0.1
		SunSoft SunOS 4.1.4
		Sony NEWS-OS 4.2.1a+
	たいてい動くと思いますが、makeが4.4BSD-Litesのものじゃない場合、
	.ifとかで怒られることがあります。

	see Makefile. if you cannot understand, quit now.

なかみ&つかいかた
	camdump -1 hoge.cam
	camdump -2 hoge.cam
	camdump -3 hoge.cam
		hoge.camの中身をそのままdumpします。
		-1だとコメントエリア(詳細不明)、-2だとthumbnailエリア、
		-3だと画像エリアが標準出力に出力されます。
		このツールはdebug用です。出力結果それ自体はCAMフォーマットを
		知らないと解釈できません。
	cat hoge.cam | camdump -[123]
		標準入力からでもcam形式のファイルを受け付けます。

	camtoppm hoge.cam
		hoge.camのなかのthumbnailエリアをppm形式で標準出力へ
		吐き出します。52x36のppm形式ファイルが出て来れば正解です。
	cat hoge.cam | camtoppm
		標準入力からでもcam形式のファイルを受け付けます。

	camtojpeg hoge.cam
		hoge.camのなかの画像エリアをjpeg形式で標準出力へ
		吐き出します。

		QV-10/10A/30、およびQV-100のnormalモードで撮影した
		画像に対応したcamファイルの場合、480x240のjpeg形式ファイルが
		出て来れば正解です。
		この場合、cam形式のファイルの中のデータのアスペクトレシオと
		人間が見てまともだと思うアスペクトレシオがずれているため、
		まともな表示をするためには、画像を320x240(または480x360)に
		変形させてやる必要があります。
		詳しくは例題のところを御覧ください。

		QV-100のfineモードで撮影した画像に対応したcamファイルを
		新しい吸い上げソフトで吸ったcamファイルの場合、
		640x480のjpeg形式ファイルが出て来るはずです。
		この場合、アスペクトレシオの変換は必要ありません。
	cat hoge.cam | camtojpeg
		標準入力からでもcam形式のファイルを受け付けます。

	demacbin <in >out
		標準入力から入ったファイルのあたまについているMacBinary
		ヘッダを捨てて、それ以外の部分を標準出力に出します。
		間違えてMacBinary形式でファイルを保存してしまったひと
		(わたしだ:-P)の手助け用おまけです。

		camdump/camtoppm/camtojpegは全部MacBinaryをskipしてくれるので、
		通常必要ないかもしれません。

例題
	例題中で、cjpeg/djpegはIndependent jepg groupのサンプルプログラム、
	pnm*とかppm*はpbmplusに入ってるツール類です。

	QV-10/10A/30/100(normal)のcamファイルをjpegへ変換: (絵はかなり荒れます)
		% camtojpeg hoge.cam | djpeg | pnmscale -xsize 320 -ysize 240 \
			| cjpeg > hoge.jpg
	QV-100(fine)のcamファイルをjpegへ変換:
		% camtojpeg hoge.cam >hoge.jpg
	gifへの変換:
		% camtojpeg hoge.cam | djpeg | pnmscale -xsize 320 -ysize 240 \
			| ppmquant 256 | ppmtogif >hoge.gif
	    ppmquant 256のかわりにdjpeg -color 256しても意味がありません。
	    pnmscaleのところで色数が増えちゃうからです。

歴史
	95/09/25 14:00	初公開
	95/09/26 01:00	やっぱりアセンブラソースはいってるのは顰蹙なので
			やめた。
	95/09/26 12:00	lseekを除去。標準入力もちゃんと食えます。
	95/09/26 16:00	camdump/camtoppm/camtojpegでMacBinaryを判定、
			読み飛ばし。
	95/09/27 22:00	README英語版を添付。
	96/08/28 01:00	QV-100のfineモード用camファイルに対応。

原作者
	Kazuhiko Iwama
	<iwama@ti.com> <with@st.rim.or.jp>

	岩間さんの解析結果なしにはこのプログラムはありえません。
	どうもありがとうございます。
	岩間さんの解析結果については<http://www.st.rim.or.jp/~with>を
	参照してください。

おことわり & 再配布
	作者は本プログラムの動作結果について一切の責任を負いません。
	御自身の責任でお使い下さい。

	本パッケージは、以下の条件を満たす限り自由に再配布して構いません。
	再配布の際に、作者へ連絡の必要はありません。
	- ソースコードを必ず添付すること。
	- 改変したものを配布する場合、必ず配布しようとするもののすべての
	  ソースコードを添付して配布すること。

作者
	Jun-ichiro "itojun" Itoh
	<itojun@mt.cs.keio.ac.jp> <itojun@csl.sony.co.jp>
