Flash等でいうキーフレームは、物体の動きの端点のことだと認識しているのですが、mpegムービー圧縮などで「何秒ごとにキーフレーム」という意味がいまいちわかりません。
これを入れるほど速い動きに追従できるが、それに伴ってムービーのサイズが大きくなるとも聞いたのですが、具体的にどれくらいなのかがわからないんです。教えていただけませんか?

圧縮対象は、あまり動きの激しくないアニメーションです。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

テレビや映画等は1枚1枚の微妙に異なる画像を高速で表示することで動きを表示していることはご存知だと思います。

(いわゆるパラパラマンガのイメージですね)
MPEGでも基本的には同じなのですが、いくつかの特長があります。

・キーフレームには1枚の静止画の全画面イメージが保存されている
・キーフレーム以外の各フレームには差分しか保存されていない
・差分以外の部分(キーフレームから変化無し)はムービー再生時には全く処理されない。

つまり、MPEGではキーフレーム以外では差分(画面上でキーフレームから変更のあった部分)のみの画像情報しか保存しないことで高い圧縮率を実現しています。
画像そのものを圧縮したりもしていますが、まぁ上の考え方でも問題無いです。
またテレビや映画、アニメなどはMPEG風に言えば全てがキーフレームで構成されているということになります。

これらを踏まえた上で、MPEGの問題点をあげてみると…

1.キーフレームの出現頻度を上げるとファイルサイズが極端に大きくなってしまうことがある
2.動きの速い場面(特に画面全体がスクロールするような)ではキーフレーム間の各フレームの差分情報が大きくなってしまう
3.画面全体に及ぶような差分による書き換えは処理が重く再生時のフレームレートが上がらずカクカクした動きになってしまう
 これに関してはPCの高速化によりほとんど関係無くなってしまってますね。(^^;

前振りが長くなりました。m(_._)m
結局、キーフレームがあると3の時に非常に重い処理である「画面全体に及ぶような一部書き換え処理」ではなく、キーフレームが持つ画面情報を無条件で一括転送することで表示することが出来るため、滑らかに画面表示することが出来るようになります。
なぜ画像の一部書き換え処理が重いかについては詳細は省きますが、簡単に言えばある画像(キーフレーム)と別の画像(差分)を合成することは大変な計算量が必要と思っていただければいいです。
このため全画面に及ぶような差分があるとそのために処理する計算量が膨大になるために1画面を表示するために時間がかかる、結果、フレームレートが落ち、カクカクした動きになるというわけです。

また画面の動きが速いと差分情報も非常に大きくなってしまいますが、キーフレームをある程度の頻度でいれてやると、差分自体の情報量は相対的に減ります。
ですので、動きの速い場面が多いムービーの場合はキーフレームを少し多めに入れてやることで、逆にファイルサイズが小さくなることもあります。
また固定された背景の画面上を小さな物体が移動するだけといったアニメーションであれば、キーフレームは最初の1枚だけでも大丈夫です。

上の例はちょっと極端ですが、適切なキーフレームの量(何秒に1回とか)というのはそのムービーの内容次第なのでなんとも言えません。

こんなところでおわかりいただけたでしょうか?
    • good
    • 1
この回答へのお礼

大変わかりやすい説明、ありがとうございました。mpeg4で試行錯誤しているのですが、どうやら自動的にキーフレームを入れてくれる機能があるようで、あまり悩まなくて済みそうです。手持ちのムービーの場合、10~2秒おきくらいまでは大きさが変わらず、1秒以下にすると途端に大きくなるのでこれくらいが適正値ということなんでしょうね。今度はできるだけノイズを減らして効率の良い圧縮ができるように研究してみます。
・・・mpeg4のデータレート指定がかなりいい加減なので困ってはいますが。(笑)
では、ありがとうございました。

お礼日時:2001/11/01 17:18

普通は1~2秒、長くても3秒くらでしょうか。

何パターンか実際に試してみて、画質、動きなどを実際に体験してみるのが一番です。
長い間キーフレームがないと、「少し戻って見直す」ような時に、キーフレームが遠すぎて、再生開始までに時間がかかります。
    • good
    • 0
この回答へのお礼

プレーヤでシークしたときのあの変な動きはキーフレームを捜していたのですね。確かに、減らしすぎると再生が追いつかずに崩れてしまうことがありました。今は2秒くらいで落ち着いています。あまり悩まずに、品質を少しでも上げられるように研究してみます。ありがとうございました。

お礼日時:2001/11/01 17:21

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QエクセルでDeleteキーを押しても計算式が消えないようにしたい!

エクセルで作成した表の列のセル内に、計算式を入力しています。
セル内の値をクリアする為にDeleteキーを押すと、計算式まで消されてしまいます。
ロックする方法はありますか?
教えて下さい。
お願いします。

Aベストアンサー

No.5です。すみません、編集しているうちに肝心な部分を消してしまいました。余計な"「オプション」ボタン”を消していませんね。はじめ不確かな記憶を頼りに書いて、後で検証しながら修正したつもりでした。

「編集」-「ジャンプ」で[セル選択]ボタンを押します。
[定数]を選択します。[数値]、[文字]、[エラー値」、「論理値」にチェックが入っています。[文字]のチェックをはずします。

バージョンも書いてなかった。
私もExcel2000です。

QMPEG4は音声圧縮されていますか

最近、一眼レフデジタルカメラで動画撮影をはじめました。映像については申し分ないのですが、音声記録方式については非圧縮音声であるLPCMにこだわっています。幸いにも当方のデジタルカメラの音声記録方式は、LPCMの仕様となっております。
 しかし、そのデータを書き出してPCで再生するときMPEG4に変換されるのですが、このとき音声については圧縮されるのか、非圧縮のままなのかがわかりません。
 どなたか、映像・音声をMPEG4に変換するとき、音声はLPCMの非圧縮のままか、それとも圧縮されるのかをお教えください。また、圧縮されるのなら、どの程度データが間引かれているのかお教えください。
 よろしくお願い申し上げます。

Aベストアンサー

>しかし、そのデータを書き出してPCで再生するとき
>音声はLPCMの非圧縮のままか、それとも圧縮されるのかをお教えください。
どんなソフトで書き出していますか?
たいていは、AACなどで圧縮されます
ソフト側で書き出すときに、設定できませんか?

コーデックチェッカーでどのコーデックで圧縮されたかわかります
参考
http://www.gigafree.net/media/codeccheck.html

Qテンキーのキー配置はなぜ計算機と電話が上下逆なのでしょうか。

私、よく計算の途中に電話をかける時や、FAXを打つ時に
1と7を間違えます。
なぜ?電話は上から123でPCや計算機が下から123なのでしょうか?
なぜ統一しないのでしょうか、当然時代の新しい方の
計算機が追従する物なのに。 (しかし何度やっても計算機のキー配置が使いやすいですねー。)

Aベストアンサー

こんなページがありましたよ。

参考URL:http://homepage2.nifty.com/osiete/seito193.htm

QMPEG2ファイルの圧縮 -> DVD作成

こんばんは。

家電のDVDレコーダーから、
LAN経由でmpeg2ファイルをパソコンに移動しました。
理由は、DVDレコーダーの機能では容量の調節が柔軟にできないからです。

移動してきたmpeg2ファイルの容量は大きく、
圧縮してDVD-Rに焼いて、保存用にしたいのですが、
何とかmpeg2ファイルの容量を小さくできないでしょうか。
XviDやDivXなどで圧縮したaviは使えないと思うのですが。

ちなみに、mpeg2ファイルは、50分程度のもので
約2GBあります。

Aベストアンサー

MPEG2ならそのままオーサリングソフト使用します。
また、2GBならDVD-Rの容量の半分なので圧縮しなくてもいいのですが・・・
DVD-Rがもったいないので別のファイルがあれば、それも一緒にできます。

多分、PCにバンドルされているソフトで可能だと思うので探してみてください。

なければ
TMPGEnc DVD Author 2.0
がお薦めです。
少しくらいの容量オーバーなら”トランスコード”処理でDVD-Rちょうどの容量にしてくれます。
体験版で試してみてください。

参考URL:http://www.pegasys-inc.com/ja/product/tda20.html

Q%キーを使った計算の仕方をお教えください。

ここへ初めてお世話になりに来ました。小学生頃には数学は得意でしたが、70代が来てさっぱりになりました。割合=パーセントを出すのに小学生なみの計算をしています。(年金の計算に使います)。電卓のパーセントキーを使った事が有りません。これを使った計算の仕方をお教え下さい。

※国民年金(基礎年金)は満額が792,100円です。60歳の誕生日までの納付です。
制度発足の昭和36年4月1日現在で20歳を超えた人其々に=加入月数にばらつきがあります。
※A…加入月数に対するB…納付月数で=C…満額に対する支給年金額のようになっています。
年金特別便の記録面には左に国民年金、次に厚生年金、右が年金加入期間合計欄になっています。でも国民年欄には納付月数と加入月数が有り、それの合計欄もあります。(加入月数―納付月数で=未納月数が出ます)

○年金加入期間合計欄は=国民納付月数+厚生になっています。
○全上は=国民年金加入月数+厚生年金加入月数にはなっていません。
未納期間を引いた年金額の計算をする時、%キーを使った計算が出来ると良いのにと思いお教え頂きに参りました。

分かり難い文面ですが、例の数字なども入れてお教え下さるとありがたいです。よろしくお願申し上げます。

ここへ初めてお世話になりに来ました。小学生頃には数学は得意でしたが、70代が来てさっぱりになりました。割合=パーセントを出すのに小学生なみの計算をしています。(年金の計算に使います)。電卓のパーセントキーを使った事が有りません。これを使った計算の仕方をお教え下さい。

※国民年金(基礎年金)は満額が792,100円です。60歳の誕生日までの納付です。
制度発足の昭和36年4月1日現在で20歳を超えた人其々に=加入月数にばらつきがあります。
※A…加入月数に対するB…納付月数で=C…満額に対する支...続きを読む

Aベストアンサー

引き続きです^^

消費税込みの金額の元値の出し方ですが。。。

税込み金額が525円の商品の元値を計算する場合→
525(525をまず入力)÷(割るのボタンを押す)105(消費税は5%なので
元値を100と考えてプラス5%で105%となります)500(答えの数字が表示
されます)

○1…仮に431月に対して380月は=431月の何パーセントか

この場合。。。
380(380と入力)÷(割るのボタンを押す)431(431と入力)%(ここで%の
ボタンを押す)88.167(答えの数字が表示される)
約88%となります

○2…仮に満額792,000円に対して支給額が700,000円は=満額の何パーセントか。

この場合。。。
700,000(700,000と入力)÷(割るのボタンを押す)792,000(792,000と入力)
%(ここで%のボタンを押す)88.383(答えの数字が表示される)
約88%となります

Q無圧縮AVIを圧縮するソフト

カハマルカの瞳でキャプチャした無圧縮avi(wav音声付)を、コーデックをつかって圧縮aviにしたいのですが、aviutlでうまくできません(変換でエラーになります)。
ほかにこのようなことができるよいフリーソフトをご存知の方教えていただけませんか。(できればフリーのソフトで)

Aベストアンサー

AVI2JPG
http://novolization.hp.infoseek.co.jp/pro.html#aj

AVIファイルを読み込みAVIへの再圧縮もできるAVI編集ソフト
ですので、もしかしたらできるかもしれないです。

Qキーを押している間の時間を計算してくれるプログラム

はじめまして。
上記のようなプログラムを教えていただきたく、
投稿しました。

わたしは、心理学を専攻する大学院生です。
修士論文の実験でこのようなツールが必要となり、
学校のコンピュータルームに相談に行ったところ、
JavaScriptという言語で、このようなプログラムが
作れると聞き、ここ1月格闘してまいりました。

しかし、プログラムに関してはまったくの素人で、
お手上げ状態です。
したがって、こちらで皆さんのお助けを願ったしだいです。

概要は以下の通りです。
指定した時間の間(たとえば5分間)に、
1.何回キーを押したのか、
2.各回ごとに、どのくらいの時間(ミリ秒単位)押したのか
3.キーを押していた合計時間を測定したいと思っております。

そのために、以下の機能を備えたプログラムを求めています。
1.タイマー機能がついていること(実験開始と終了の操作が自動でできる)。
2.実験を開始・終了した時刻が取得できる。

3.各回のキーを押し始めた時刻が取得できる。
4.各回のキーを離した時刻が取得できる。

以上の説明、わかりにくい点もあるかと思います。
資金に余裕のない学生なので、
ソフトを購入することはできません。
この本を読めば分かる、といったアドバイスもありがたいのですが、プログラムがとても苦手のようです。
これらの点を考慮して、お助けいただける方、
ご回答お願いいたします。

はじめまして。
上記のようなプログラムを教えていただきたく、
投稿しました。

わたしは、心理学を専攻する大学院生です。
修士論文の実験でこのようなツールが必要となり、
学校のコンピュータルームに相談に行ったところ、
JavaScriptという言語で、このようなプログラムが
作れると聞き、ここ1月格闘してまいりました。

しかし、プログラムに関してはまったくの素人で、
お手上げ状態です。
したがって、こちらで皆さんのお助けを願ったしだいです。

概要は以下の通りです。
指定した時間の...続きを読む

Aベストアンサー

一応
>以下の機能を備えたプログラム
を作ってみました。IE用です。
昨今のマシン(メモリやCPU)では、あまり問題にならないスピードで動くとは思いますが、1ミリ秒の精度があるかというと(値は求まっても)かなり疑問です。(データが増えるにつれて画面の更新の時間も(ミリ秒という精度では)影響するかもしれません)
多分、集計するプログラム(処理)は別にあるものと想定し作っていません。
エンターキーを押すと開始します。(マウスで開始ボタンをクリックしても良い)
エンターキーによる開始の場合最初にエンターキーのキーアップが記録されます。
あとは、適当にキーを押します。
-----8<-----8<-----8<-----8<-----8<-----8<-----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>限定された時間内に押されたキーの時間を集計する</title>
<script language="JScript">
<!--
var keyPushState=false; //キーが押されていない
var result; //結果を表示するテキストエリア
var time; //キーが押された時間
var IntervalID;//実行時間制御

window.onload=init;
function init(){
document.body.onkeydown=keyDown;
document.body.onkeyup=keyUp;
document.getElementById("startButton").focus();
result = document.getElementById("result");
IntervalID=undefined;
}
function keyDown(){
time = new Date();
if(!keyPushState){//キーが既に押されている状態である
keyPushState=true;
result.value += String.fromCharCode(window.event.keyCode)+":KeyDown at "+timeFormat(time)+"\n";
}
}
function keyUp(){
time = new Date();
result.value += String.fromCharCode(window.event.keyCode)+":KeyUp at "+timeFormat(time)+"\n";
keyPushState=false;
}
function timeFormat(t){// HH:MM:SS.sss
return (
ZeroFormat(t.getHours(), 2)+":"+
ZeroFormat(t.getMinutes(),2)+":"+
ZeroFormat(t.getSeconds(),2)+"."+
ZeroFormat(t.getMilliseconds(),3)
);
}
function ZeroFormat(num, n){// ZeroFormat(1,3) => "001"
var ret=""+num;
while(ret.length < n){
ret = "0" + ret;
}
return (ret);
}
function start(){
if(IntervalID==undefined){
document.body.onkeydown=keyDown;
document.body.onkeyup=keyUp;
result.value="開始時間"+timeFormat(new Date())+"\n";
IntervalID=setInterval("start()",5*60*1000);//5分
} else {
result.value+="終了時間"+timeFormat(new Date())+"\n";
document.body.onkeydown=null;
document.body.onkeyup=null;
clearInterval(IntervalID);
alert("終了しました");
}
}
//-->
</script>
</head>
<body>
<button id="startButton" type="button" onclick="start()">開始</button><br>
<textarea id="result" cols="60" rows="30" READONLY></textarea><br>
もう一度実行するときは、画面を更新して下さい。
</body>
</html>

一応
>以下の機能を備えたプログラム
を作ってみました。IE用です。
昨今のマシン(メモリやCPU)では、あまり問題にならないスピードで動くとは思いますが、1ミリ秒の精度があるかというと(値は求まっても)かなり疑問です。(データが増えるにつれて画面の更新の時間も(ミリ秒という精度では)影響するかもしれません)
多分、集計するプログラム(処理)は別にあるものと想定し作っていません。
エンターキーを押すと開始します。(マウスで開始ボタンをクリックしても良い)
エンターキーによ...続きを読む

QWindowsムービーメーカーで作ったムービーをDVDプレーヤーで見るには

Windowsムービーメーカーで写真と音楽だけのスライドショーのようなムービーを作ったのですが、それをDVD-Rに焼いてDVDプレーヤーで再生するにはどうしたらいいでしょうか・・・?まったくの初心者なので、保存の時のファイルの形式(?)などもよくわかりません。学校の授業の発表で使うのですが、NTSC形式で作るよう言われました。
画質は、なるべく綺麗で荒くない方がいいです。

よろしくお願いします!!

Aベストアンサー

詳しくないですが・・・
参考URL だけ
第5回: パソコンでオリジナルのDVD Videoを作ろう・前編(下記4ページ有り)+(第6回も参考に)
http://www.tdk.co.jp/dvdguide/dvd14200.htm

Windows ムービー メーカー
http://www.microsoft.com/japan/windowsxp/using/moviemaker/default.asp

その他(だだ検索した結果のみでごめんなさい)
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=Windows+%E3%83%A0%E3%83%BC%E3%83%93%E3%83%BC+%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC+DVD+%EF%BC%AE%EF%BC%B4%EF%BC%B3%EF%BC%A3

参考URL:http://www.tdk.co.jp/dvdguide/dvd14200.htm,http://www.microsoft.com/japan/windowsxp/using/moviemaker/default.asp

詳しくないですが・・・
参考URL だけ
第5回: パソコンでオリジナルのDVD Videoを作ろう・前編(下記4ページ有り)+(第6回も参考に)
http://www.tdk.co.jp/dvdguide/dvd14200.htm

Windows ムービー メーカー
http://www.microsoft.com/japan/windowsxp/using/moviemaker/default.asp

その他(だだ検索した結果のみでごめんなさい)
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=Windows+%E3%83%A0%E3%83%BC%E3%83%93%E3%83%BC+%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC+DVD+%...続きを読む

Q計算機のキーの機能

単純な質問ですみませんが、知らないので教えてください。キーにCEってありますよね?これはどういう機能なのですか?Cはクリアで意味が通るんですが、CEもクリアとして使えるようですし。
よろしくお願いします。

Aベストアンサー

#1です補足です。
例えば、5+5の計算の時、間違って、5+6を入力したとしますと、Cを押すと、すべてがクリアされるので、最初からやり直しです。

CEを押して、6を入力すると、5+6の結果が=で得られますので。

QNEX-7のAF追従について

NEX-7に興味が湧いてきました。

でも、NEX-7本体だけだと、コントラストAFで、連射モードにすると、最初の1コマ目で露出とフォーカスがロックされ、あまり役に立つように思えません。

一方、α-77の場合、トランスルーセントミラー・テクノロジーで、AFは、位相差方式です。連射モードでもAFが追従するとカタログに書かれています。

そこで、質問です。NEX-7のカタログを見ても良くわからないので、知っていたら教えてください。

NEXのアクセサリーにLA-EA2というトランスルーセントミラー・テクノロジーを搭載し、αレンズを使用できるようにするアダプターが発売されています。これをNEX-7につけると、位相差AFになるんですが、動態を連射モードで撮影する際にAFも追従するようになるのでしょうか?

Aベストアンサー

NEX-7ユーザーではありませんので、誤りがあるかもしれません。
予めご了承下さい。

LA-EA2を使用した場合ですが、AFは追従します。
フォーカス速度も位相差AFのそれを期待できますが、もともと高速コントラストAFがNEX-7のウリの一つですから、単純なフォーカス速度比較では、LA-EA2を使わず、Eマウントレンズ+本体のほうが速いという噂もあります。
もちろんレンズの性能も関わってきますね。

連写ですが、通常は速度優先連続撮影時 最高約10コマ/秒なのですが、LA-EA2を使うと最高約7コマ/秒になるらしいです。
もっとも、最高約7コマ/秒あれば実用上問題となることはないでしょう。

問題になりそうなのは、LA-EA2+αマウントレンズだと大きく重くなる(レンズによる)ということと、ボディ内手振れ補正が効かなくなる(手振れ補正を欲するならレンズ内手振れ補正のレンズが必要)ということでしょうか。
またマウントアダプターにはありがちですが、レンズによってはAFがうまく動作しない・絞りの制御がうまくいかない、といったことが起こる可能性がありますので、注意は必要ですね。

LA-EA2を使う場合、NEXで手軽にツァイスの単焦点を持ち歩きたい、といった理由が多いみたいです。
気合い入れた撮影のときにはαシリーズ、といった感じで使い分けするパターンが多いようです。

NEX-7ユーザーではありませんので、誤りがあるかもしれません。
予めご了承下さい。

LA-EA2を使用した場合ですが、AFは追従します。
フォーカス速度も位相差AFのそれを期待できますが、もともと高速コントラストAFがNEX-7のウリの一つですから、単純なフォーカス速度比較では、LA-EA2を使わず、Eマウントレンズ+本体のほうが速いという噂もあります。
もちろんレンズの性能も関わってきますね。

連写ですが、通常は速度優先連続撮影時 最高約10コマ/秒なのですが、LA-EA2を使うと最高約7コマ/秒になるらしいで...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報