トップページ > DTV > 2010年05月29日 > b4BEL71Q

書き込み順位&時間帯一覧

45 位/500 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000033



使用した名前一覧書き込んだスレッド一覧
名無しさん@編集中
【WebM】VP8(VPx)総合スレ4【Google/On2】

書き込みレス一覧

【WebM】VP8(VPx)総合スレ4【Google/On2】
253 :名無しさん@編集中[sage]:2010/05/29(土) 23:07:09 ID:b4BEL71Q
訳してみた。

VP8 Alternate Reference Frames
When enabled, the VP8 encoder will at its discretion inject a new frame 〜 the alternate reference (AR) 〜
into the output prior to the frame that depends on it. There will be at MOST 1 frame added between I/P-frames.
The dependent frame (D) will always be a P-frame. The AR will be marked with the invisible flag
by the codec SDK. This frame must be decoded before D, but will produce no output on its own.

ARフレームが有効な場合、VP8エンコーダーは、「ARフレームに依存するフレーム(D)の1つ前」に、
任意に「相互参照フレーム(AR)」という新しいフレームを挿入する。
ARフレームはI/Pフレームの間に最大1枚追加される。
依存フレームDは、必ずPフレームである。ARフレームはコーデックSDKにより、不可視フラグがつけられる。
ARフレームは依存フレームDの前にデコードされなければならない(訳注:DのデコードにはARフレームの
情報が必要なため。)が、ARフレーム自身はデコードされても何も出力しない。

To satisfy the monotonically-increasing requirement, the encoder will currently set the AR’s timestamp
to 1 less than D’s. This means the time base given to the encoder at configure time must be granular
enough to allow this, e.g., at least 2X framerate.

単調増加という条件を満たすため、エンコーダーは現在ARフレームのタイムスタンプとして
依存フレームDのタイムスタンプより1小さな値を設定している。
そうするためには、設定時にエンコーダーに与えられるタイムベースは、十分な粒度を持つ必要がある。
たとえば、最低でもフレームレートの2倍にする必要がある。

Ideally the AR’s timestamp should be as close as possible to frame D-1 to allow the decoder
as much time as possible to decode AR before needing to display D.

Dの表示前になるべく多くの時間をARのデコードにまわせるよう、
理想としては、ARフレームのタイムスタンプは、可能な限り「フレームD-1(※1)」に近いほうがよい。
【WebM】VP8(VPx)総合スレ4【Google/On2】
254 :名無しさん@編集中[sage]:2010/05/29(土) 23:14:47 ID:b4BEL71Q
あ、ID変わってるけど>>250です。

>>250では、>>253の最後にある※1の「フレームD-1」を、「フレームDの1つ前のフレーム」と
解釈しちゃったけど、きっちり訳してみると、この解釈はおかしいですね。
>>251の言うように、
  「フレームDのタイムスタンプから1引いた値(つまりフレームDになるべく近づける)」
という解釈が正しそうですね。
【WebM】VP8(VPx)総合スレ4【Google/On2】
255 :名無しさん@編集中[sage]:2010/05/29(土) 23:44:14 ID:b4BEL71Q
で、タイムスタンプの話について。かなり書き方を変えて自分の考えを説明。
相変わらず変なこと言ってたらごめん。

例えばAR無しで30fps丁度の場合は、1/30秒を1単位としてタイムスタンプを増やしていけばいいことになる。
  表示フレーム0: 0/30秒 =0秒
  表示フレーム1: 1/30秒 =0.033秒
  表示フレーム2: 2/30秒 =0.066秒

でも、AR有りになると、1/30秒単位では、表示フレーム0と表示フレーム1の間に
ARフレームを入れるためのスキマがない。そのため、1/60秒単位でタイムスタンプを考える。
  表示フレーム0: 0/60秒 =0秒
  スキマ1(AR) : 1/60秒 =0.0166秒
  表示フレーム1: 2/60秒 =0.033秒
こうすれば、各表示フレームについてはタイムスタンプの値を変えることなく、
かつARフレームを各表示フレームの間に入れるためのスキマ1ができる。
「粒度を最低でもフレームレートの2倍」というのはこういう意味かと。

更に言うと、1/120秒単位でタイムスタンプをつけれるようにすると、
  表示フレーム0: 0/120秒 =0秒
  スキマ1    : 1/120秒
  スキマ2    : 2/120秒
  スキマ3(AR) : 3/120秒 =0.025秒
  表示フレーム1: 4/120秒 =0.033秒
となり、スキマ3をAR用として使えば、ARのタイムスタンプを、よりDフレームの
タイムスタンプに近づけることが可能になる。(この例ではDフレーム=表示フレーム1)
でもまあ細かくしすぎても問題があると思うので、「なるべく近づける」という表現なのかなあと。

>>251の言う「ARフレーム有り無しでタイムスタンプが増えるのはちとありえない」という言葉の意味が
よくわかってないので変なこと言ってるかもしれないけど、概念的にはこんな感じではないだろうか?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。