home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 3 / FREEWARE.BIN / towns_os / tvi / tvi_rec.mnu < prev    next >
Text File  |  1980-01-02  |  17KB  |  428 lines

  1.  
  2.                    A Document of `Towns Video Instrument'
  3.  
  4.                     Nam :CAF58901(pc-van),RGE01545(Nifty)
  5.  
  6.                                January 10, 1991
  7.  
  8.  
  9.        Towns 専用に開発したビデオ効果用tool---TVI v0.0のドキュメントです。
  10.  
  11.  
  12.        制作にあたって
  13.  
  14.            crtcの仕込み方を教えてくれたKen.Akita氏
  15.            C用アセンブラルーチンの組み方を教えてくれたYARUYARU氏
  16.            int24h-Trapの回避法を教えてくれたTakahiro.Fukusima氏
  17.            GUIデザインに指針を与えてくれたJoe.Mizuno氏
  18.            制作中の不完全版を評価し、その上TeXを伝染してくれたWaku 氏
  19.  
  20.             そしてここに書ききれないたくさんの方々への感謝をこめて...
  21.  
  22.  
  23.     注)この文書はもともとTeXで出力する事を予定して書いているので、
  24.        できれば"tvi_rec.dvi"の方をTeXのプレビュアで読んで下さい(^_^;)
  25.  
  26.  
  27.  
  28. 1.  不純な動機について
  29.  
  30.   最近の番組を見ていると、色々な特殊効果がふんだんに出てきます。
  31. "画面内の人物が動いたまま、フレームが丸まってぐるぐる回りながら横からタイトル
  32. ロゴが出てくる"---もし自分で撮ったビデオのタイトルがこんなんだったらカッコいい
  33. じゃんと思いません?
  34.  
  35.   でもそんなカットを造れるようなデジタルビデオエフェクタはベラボーに高価(TOWNS
  36. よりも!)で、個人ではとても手が出る代物ではありません。(^_^メ)
  37.  
  38.   しかし大抵の特殊効果に必要な秒数は、1ショットにつき3~4秒です。この間の動画
  39. をTOWNSで取り込んで加工し表示できれば、TOWNSと家庭用VTRで特殊効果が出せるはず。
  40.  
  41.  そこで"TOWNSで特殊効果を"という、きわめて「局所限定自己中心場当たりどーにかな
  42. る的」な目的で開発したのが"TVI(Towns Video-effect Instrument---Townsによるビデ
  43. オ効果装置)"です。
  44.  
  45.  
  46. 2.  道楽者の末路---システム構成
  47.  
  48.   まずTOWNS(本体+モニタ)が必要です。あたりまえですね(^_^)
  49.  
  50.   それにビデオ入出力するのでビデオカードも接続しておかなければいけません。1,2
  51. どちらでもよいですが、S端子のあるタイプ2のほうが画質が良いです。
  52.  
  53.   メモリは多く積んでいる程いいです。メモリが2Mの場合、14frameの動画をメモリ
  54. 上に持つ事ができますが、8frame/sec(新型TOWNSの場合)で録・再しますから、約2秒
  55. 弱しか編集できません(T_T)
  56.  
  57.   大容量の動画データを保存する為に、やはりHDも欲しいですね。
  58.  
  59.   あとはソースの再生および加工後画像の録画・編集用のVTRですが、
  60. できるかぎり高画質なモデル(やっぱりマニアはβだよね、ね、ね)が望ましいです。
  61.  
  62. ああ、本当に金がかかりそうだなぁ...(^_^;)
  63.  
  64.  
  65.  
  66. 3.     サンプルオペレーション
  67.  
  68. 何事も習うより慣れろとよく言われますし、まずは使ってみましょう。
  69.  
  70. 3.1    プログラムのロード
  71.  
  72.       ・TOWNS_MENU上なら"TVI_REC.EXP"をダブルクリック
  73.       ・ORICON上なら、"run386 TVI_REC"とタイプしてリターン
  74.           して下さい。TVI の編集用ツールが動作します。
  75.  
  76.   画面の左上にタイトルウィンドゥが開いてVersionが表示されましたか?
  77. マウスを軽く動かすと画面左上のメインメニューが出ますね。
  78.  各ウィンドゥは上端のタイトルバーのドラッグで移動し、左上のクローズボタン(×)
  79. のクリックで閉じます。
  80.  ではメインメニューの"edit"をクリックしてエディットウィンドゥを開いて下さい。
  81.  
  82.  
  83. 3.2   録画るんです
  84.  
  85. 3.2.2 デジタイズ
  86.  
  87.   エディットウィンドゥの"ビデオカメラ"アイコンをクリックすればデジタイズモード
  88. になります。
  89.   気に入った画面が来たらマウスを左クリックすると、その画面をpage1(裏画面:page1
  90. はあくまでワークで、この時点ではメモリ内に取り込まれていない)に取り込んで
  91. エディットウィンドゥが表示されます。
  92.  
  93.   「しくじったかぁ」と思ったら、もう一度デジタイズアイコンをクリックして
  94. やり直して下さい。
  95.  
  96.  
  97. 3.2.2 パレット作成
  98.  
  99.   エディットウィンドゥの"パレット"アイコンをクリックして下さい。パレット作成
  100. モードに入ります。
  101. (TVI ではメモリ節約の為に32768色の画像データを256色に変換して取り込みます。
  102. その際にこの論理パレットが重要となるのら---章4.2:"パレットの不思議"参照)
  103.  
  104.   まず展開用パレット(256色->32768色変換用論理パレット---再生時に参照される。)
  105. を作るので、「特にここン所の色が大事(肌色とかね)」と思う所をマウスで矩形指定し
  106. て下さい。
  107.  すると画像内で使用されている総色数が表示され、作成するか否かを聞いてきます。
  108. "Yes"をクリックすると1分以内で(画像にも依りますが)展開用パレットを作成します。
  109.  
  110.   展開用パレットが作成されると、展開に使用される256色が表示され、続いて圧縮用
  111. パレット(32768色->256色変換用論理パレット---動画取り込み時に参照される。)を
  112. 作成するか否かを聞いてきます。これに"Yes"を答えると、圧縮パレットがが作成され
  113. ます。これは画像に関係なく1分20秒程で完了しますが、開始すると中断できません。
  114.  
  115.   展開・圧縮両パレット作成が済むと、page1(さっきデジタイズした画像)が256色変換
  116. されて表示されます。この画質で動画取り込みされるので、もし気に入らなければもう
  117. 一度デジタイズして展開パレットから作りなおして下さい。
  118.  
  119.  パレットが作成されると、右端のカウンタに"Exp:Cmp"とパレット確認のサインが
  120. でます。これで録画の準備完了です。
  121.  
  122.  
  123. 3.2.3 動画取り込み
  124.  
  125.   エディットウィンドゥの"録画(赤いポチ)"アイコンをクリックして下さい。
  126. デジタイズスルーになりビデオ入力が表示されます。
  127.  
  128.   取り込みたいカットでマウスを左クリックすると取り込みを開始します。
  129. 取り込みは完了するまで中断はできません。(2Mモデルで2秒弱。)
  130.  
  131.   取り込み終えるとエディットウィンドゥが再表示され、カウンタが更新されます。
  132.  
  133.  
  134. 3.2.4 1frame取り込み
  135.  
  136.   「アニメーションを作りたいので1駒撮りがしたい!」という場合は、エディットウィ
  137. ンドゥ右下の"..(赤いポチポチ)"をクリックするとpage1から(あらかじめデジタイズ又
  138. はTiffファイルをロードしておいて下さい)1画面ずつ取り込みされます。
  139.  
  140. 3.3   再生するっちゃ
  141.  
  142. 3.3.1 動画表示
  143.  
  144.   エディットウィンドゥの"PLAY(青い三角)"アイコンをクリックして下さい。
  145. 取り込んだ動画が繰り返し再生(このときビデオ出力されます)されます。
  146. マウスの右クリックでエディットウィンドゥに戻ります。
  147.  
  148.  
  149. 3.3.2 ページ移動
  150.  
  151.   "_>"や"<_"でframe単位のページ移動ができますが、エディットウィンドゥの最下位
  152. にあるページスライダをドラッグ(マウスでクリックしたまま移動させること。気持ち
  153. の良くなる薬ではない)したほうが気持ちがいいです
  154.  
  155.   また、キーボードのカーソルキーでも移動できます。
  156.  
  157.  
  158. 3.4  ファイるよ~ん
  159.  
  160.   エディットウィンドゥの"フロッピィ"アイコンをクリックして下さい。
  161. ファイルダイアログが表示されましたか?
  162.  
  163.  
  164. 3.4.1 動画セーブ
  165.  
  166.   メインメニューの"file"をクリックしてファイルウィンドゥを開きます。
  167.  
  168.   下から2番目の白い矩形:ファイル名エリアをクリックするとキャレット(キャラクタ
  169. カーソル位置を示す赤い棒)が表示され、キー入力を受け付けます。ファイル名(8文字)
  170. に拡張子".TVI"をキーボードから入力して下さい。
  171. (最下位はコメントエリアなので、ここに半角で72文字までのコメントを書き込めます)
  172.  
  173.   "*.TVI"ボタンで動画ファイルモードにしてから、右下の"SAVE"ボタンで動画ファ
  174. イルをセーブします。
  175. (ファイルダイアログが閉じて、1枚ずつセーブ中の画像が表示されます。)
  176.  
  177.  
  178. 3.4.2 動画ロード
  179.  
  180.   ファイルウィンドゥ内のロードしたいファイル名を選んでクリックすると、
  181. 下のファイル名エリアにそのファイル名が登録されます。
  182.  
  183.   ここで"LOAD"ボタンをクリックするとメモリにロードされます。
  184.  
  185.  
  186. 3.4.3 パレットのセーブ・ロード
  187.  
  188.   パレット作成は結構時間がかかるので、一度作ったら保存しておいて使い回したいと
  189. いうのが人情ってものです(^_^) 
  190.   またパレットを細工すれば、セピア調にデジタイズしたり、ネガポジ反転して再生し
  191. たりもできるはず。
  192.  
  193.   そこで"*.TVP"というファイル形式(付録: Table_B"TVPファイル"を参考)で圧縮・展
  194. 開両パレットをアクセスできます。
  195.  
  196.   ファイルウィンドゥの"*.TVP"ボタンをクリックし、アクティブにするとパレット
  197. ファイル一覧が出ます。
  198.  
  199.   ファイル名8文字+拡張子".TVP"でセーブ(これも72文字のコメントを入れられます。)
  200. ・ロードして下さい。
  201.  
  202.  
  203. 3.4.4 ディレクトリ移動
  204.  
  205.   表示されているファイル名のうち右側に"⇒"が出ているのがサブディレクトリです。
  206. クリックするとそのディレクトリに下ります(この辺の操作はTOWNS_PAINTに近いからこ
  207. んな説明は蛇足かな?)
  208.  
  209.   親ディレクトリに移動するにはファイルダイアログ左の"UP"ボタンをクリックして下
  210. さい。
  211.  
  212.   左上の"<"や">"でドライブを移動するとディレクトリが"未取得"と表示されますが、
  213. あわてずにドライブのボタンをクリックして下さい。
  214.  
  215. 3.5   編集しよう
  216.  
  217. 3.5.1 動画全消去
  218.  
  219.   "消"アイコンをクリックするとメモリ内の全動画データを消去します。
  220.  
  221. 3.5.2 範囲指定
  222.  
  223.   ウィンドゥ左上の"_>"と"<_"アイコンがそれぞれ開始frameと終了frameの指定です。
  224.  
  225.   指定したいframeまで移動しクリックすれば、アイコン下のカウンタにそのframeNo.
  226. が表示されます(範囲指定した状態で動画を再生すると、指定範囲間をループし、範囲
  227. 指定した状態でセーブすると、指定範囲間のフレームがセーブされます。)
  228.   同じフレームでもう一度クリックすると取消しされます。
  229.  
  230.  
  231. 3.5.3 リバース・コピー・カット
  232.  
  233.   これらは範囲指定してからでないと機能しません。
  234.      ・"R"---フレームの流れを前後逆に入れ替えます。
  235.      ・"コピー"---現在のフレーム位置を始点に指定範囲をコピーします。
  236.      ・"はさみ"---指定範囲を切取ります。
  237.  
  238.  
  239. 3.5.4 UNDO
  240.  
  241.   "安"がundoのアイコンですが、まったくの気休め程度の能力しかありません
  242. あまり当てにしないで下さい。
  243. (だってメモリが無いからundoバッファ持てないンだもの(T_T)
  244.  
  245.  
  246. 3.6   特殊効果をかけよう!
  247.  
  248.   とは言いながら"TVI_REC"単体には特殊効果の機能は付けていません(^_^;)
  249. そのかわりframe毎にTiff形式(TOWNS_PAINTの32K色全画面セーブと同じ形式)でセーブ
  250. 及びロードできるようにしました。
  251.  
  252.   効果をかけたいframeをセーブして、ペイントツール(TOWNS_PAINTやグラフィックヘ
  253. ゲタ2、ゴッド・トランスファ等)で効果をかけてから、また読み込んで下さい。
  254.  
  255.   また、あらかじめ描いておいた絵を読み込めば、アニメーションも作れます。
  256.  
  257.  
  258. 3.6.1 Tiffセーブ
  259.  
  260.   セーブしたいフレームまでエディットウィンドゥで移動してから、ファイルウィンドゥ
  261. の"*.TIFF"ボタンをクリックしアクティブにします。
  262.  
  263.   ファイル名エリアをクリックし、ファイル名(8文字)に拡張子".TIF"をキーボードか
  264. ら入力して下さい。"SAVE"ボタンをクリックすると現在のフレームがTIFF形式でセーブ
  265. されます。
  266.  
  267.   この場合ファイルダイアログは閉じませんので、順次フレームをセーブできます。
  268.  
  269.  
  270. 3.6.2 Tiffロード
  271.  
  272.   ロードしたいフレーム位置までエディットウィンドゥで移動してから、
  273. ファイルウィンドゥの"*.TIFF"ボタンをクリックしてアクティブにします。
  274.  
  275.   ロードしたいファイル名をダイアログで選んでクリックすると、ファイル名エリアに
  276. そのファイル名が登録されます。
  277.  "Ld&Rec"アイコンをクリックするとTiffファイルがロードされ、メモリに1frame取り
  278. 込まれす。(圧縮パレットを作っておいて下さいね(^_^)
  279.  
  280.   これでメモリ内の動画に組み込まれました。
  281.  
  282.  ちなみに"Load"では、page1(裏画面)にロードされるだけで、メモリには取り込まれ
  283. ません。(前述したがpage1はワークであり、この時点ではメモリに取り込まれていない。
  284. ここでエディットウィンドゥ右下の"..(赤いポチポチ)"をクリックすれば1frame取り込
  285. まれる。)
  286.  
  287.  
  288. 3.7  もう飽きたら
  289.  
  290.  メインメニューの"Quit"をクリックすると終了します。お疲れさまでした(^_^)
  291.  
  292. 4.   ファイルフォーマット
  293.  
  294.   TVI ファイルは
  295.     ・ヘッダ部(制御情報)
  296.     ・論理パレット部(展開用)
  297.     ・データ部
  298.   から成っています。
  299.  
  300.  
  301. 4.1  ヘッダの秘密
  302.  
  303.   ヘッダ部には
  304.      ・TVI 識別文字列(ascii-code `TVI00:')
  305.      ・コメント(ascii-code 72文字)
  306.      ・画面解像度(表示時の画面モード)
  307.      ・各種タグ(付録:"TVIファイルタグ"参照)
  308. があり、これらの値に従ってTVI ファイルを再生します。
  309.  
  310. 付録: Table_A"TVIファイル"を参考にして下さい。
  311.  
  312.  
  313. 4.2  パレットの不思議
  314.  
  315.   高速で動画を再生する為には、メインメモリ上に動画フレームを保持しておく必要が
  316. あります。
  317.  
  318.   しかし自然画は大容量(32768色:320*240dotで1frame当たり153600byte->データのみ
  319. 2Mでも14枚弱)なので、オンメモリで長時間再生するのは困難です。
  320.   何とかデータを圧縮したいのですが、そのような複雑な操作は速度を低下させるので
  321. 動画(特に自然画)用には望み薄です。
  322.  
  323.   そこで次善の策として、画像のビット数を落として容量を節約する事にしました。
  324.  
  325.   32768色は16bit/dot(含SuperImpose-bit)ですが、これを256色(8bit/dot)に変換すれ
  326. ば、1枚当たりのデータ量は半分に(つまり再生時間が倍に)なります。しかし単純に色
  327. のbitを落とすだけでは画が荒れて使い物になりません。
  328.  
  329.   そこでデジタイズした画像からよく使われる色を中心にサンプリングして、256色に
  330. 変換(これが展開用論理パレット)します。次に標準パレットの32768色の各色が、先に
  331. 変換した256色のどの色に一番近いかベクトル演算して決定(これが圧縮用論理パレッ
  332. ト)します。
  333.  
  334.   こうしてできた論理パレットを参照しながらデジタイズする事で、リアルタイム(新型
  335. TOWNSで8frame/sec)で圧縮(正確には圧縮とは言えないが、許されて(^_^;))しながら動
  336. 画を取り込めるのです。とってんぱらりのぷぅ(^_^)
  337.  
  338.  
  339.                                    ≪付録≫
  340.  
  341. A. Sample of TVI  file format
  342.  
  343. <TVI ファイル例>
  344.  off│             data               │         意味           │   値
  345. ──┼────────────────┼────────────┼─────
  346. 0000│ 54 56 49 30 30 3a 20           │ version表示用text      │'TVI00: '
  347. 0007│ ......                         │ コメント(70byte)       │
  348. 004e│ 00 1a                          │ EOF(text表示終了)      │
  349. 0050│ 不定                           │ リザーブ               │
  350. ↓  │                                │                        │
  351. 007e│ 0f 00                          │ 全タグ数               │ 15個
  352.     │ Tag   ObjNo Size   値/offset   │                        │
  353. 0080│01 00│ 00 │ 01 │ 01 00 00 00 │ 全obj数                │ 1個
  354. 0088│10 00│ 00 │ 02 │ 40 01 00 00 │ X画面解像度            │ 320dot
  355. 0090│11 00│ 00 │ 02 │ f0 00 00 00 │ Y画面解像度            │ 240dot
  356. 0098│02 00│ 00 │ 01 │ 01 00 00 00 │ Obj種類                │ 画像
  357. 00a0│00 01│ 00 │ 04 │ 10 00 00 00 │ 全駒数(0=静止画)       │ 16駒
  358. 00a8│01 01│ 00 │ 01 │ 08 00 00 00 │ 推奨再生速度(駒/sec)   │ 秒8駒
  359. 00b0│02 01│ 00 │ 01 │ 01 00 00 00 │ 圧縮方式(0:無,1:table) │ table参照
  360. 00b8│03 01│ 00 │ 01 │ 10 00 00 00 │ 画像bit長(bit/dot)     │ 16bit
  361. 00c0│04 01│ 00 │ 01 │ 08 00 00 00 │ tablebit長(bit/dot)    │ 8bit
  362. 00c8│10 01│ 00 │ 02 │ 40 01 00 00 │ X-dot数                │ 320dot
  363. 00d0│11 01│ 00 │ 02 │ f0 00 00 00 │ Y-dot数                │ 240dot
  364. 00d8│20 01│ 00 │ 02 │ 00 00 00 00 │ X-表示開始             │ 0
  365. 00e0│21 01│ 00 │ 02 │ 00 00 00 00 │ Y-表示開始             │ 0
  366. 00e8│fe 01│ 00 │ 04 │ 00 02 00 00 │ 変換table offset       │ 展開用
  367. 00f0│ff 01│ 00 │ 04 │ 00 04 00 00 │ 画像data offset        │
  368. 00f8│00 00│    │    │             │ Tag終了情報(0000)      │
  369. ↓  │  不定                          │ リザーブ領域           │
  370. 0200│ ...                            │ 変換table(1)           │
  371. ↓  │                                │                        │
  372. 0400│ ...                            │ 画像data(1)            │
  373. ↓  │                                │                        │
  374.  
  375.  
  376. <<TVPファイル(パレット)例>>
  377.  off│             data               │         意味           │   値
  378. ──┼────────────────┼────────────┼─────
  379. 0000│ 54 56 49 30 30 3a 20           │ version表示用text      │ 'TVI00: '
  380. 0007│ ......                         │ コメント(70byte)       │
  381. 004e│ 00 1a                          │ EOF(text表示終了)      │
  382. 0050│ 不定                           │ リザーブ               │
  383. ↓  │                                │                        │
  384. 007e│ 05 00                          │ 全タグ数               │ 5個
  385.     │ Tag   ObjNo Size   値/offset   │                        │
  386. 0080│01 00│ 00 │ 01 │ 00 00 00 00 │ 全obj数(0=pallete)     │
  387. 0088│03 01│ 00 │ 01 │ 10 00 00 00 │ 画像bit長(bit/dot)     │ 16bit
  388. 0090│04 01│ 00 │ 01 │ 08 00 00 00 │ tablebit長(bit/dot)    │ 8bit
  389. 0098│fe 01│ 00 │ 04 │ 00 02 00 00 │ 変換table offset       │ 圧縮用
  390. 00a0│ff 01│ 00 │ 04 │ 00 82 00 00 │ 変換table offset       │ 展開用
  391. 00a8│00 00│    │    │             │ Tag終了情報(0000)      │
  392. ↓  │ 不定                           │ リザーブ領域           │
  393. 0200│ ....                           │ 変換table(1)           │ 圧縮用
  394. ↓  │                                │                        │
  395. 8200│ ....                           │ 変換table(2)           │ 展開用
  396. ↓  │                                │                        │
  397.  
  398.  
  399. B. A list of TVI Tag
  400.  
  401. <<TVI file用Tag一覧>>
  402.           │付随する│
  403.   Tag     │datasize│ Tagの意味
  404. ─────┼────┼────────────────
  405.  0001h    │   1    │ 全Object数(0ならpaletteのみ)
  406.  0002h    │   2    │ Object種類
  407.  0010h    │   2    │ 画面横解像度
  408.  0011h    │   2    │ 画面縦解像度
  409.  00ffh    │   4    │ 制御情報TableOffset*
  410.  0100h    │   4    │ 全frame数
  411.  0101h    │   1    │ 推奨再生速度(frame/sec)*
  412.  0102h    │   1    │ 圧縮方式(0:無,1:table参照*
  413.  0103h    │   1    │ 表示画像bit長(bit/dot)
  414.  0104h    │   1    │ 展開table-bit長(bit/dot)
  415.  0105h    │   1    │ Time-code(SMPTE---0:無,1:有)*
  416.  0110h    │   2    │ X-dot数
  417.  0111h    │   2    │ Y-dot数
  418.  0120h    │   2    │ X-表示開始位置
  419.  0121h    │   2    │ Y-表示開始位置
  420.  01fdh    │   4    │ 圧縮tableOffset
  421.  01feh    │   4    │ 展開tableOffset
  422.  01ffh    │   4    │ 画像dataOffset
  423.  0300h    │   4    │ PCM音声サイズ*
  424.  03ffh    │   4    │ PCMdataOffset*
  425.  0000h    │   0    │ Tag終了
  426.  
  427. * 未サポートのTagは拡張用にリザーブしています。
  428.