動画エンコード フレームと「OpenGOP」と「ClosedGOP」について
☆動画エンコード フレームと「OpenGOP」と「ClosedGOP」について
動画エンコード時のフレームや、GOP設定「OpenGOP」と「ClosedGOP」の違いをよく分かっていなかったので、
調べた時の覚書です。
エンコードソフト:TMPGEnc Video Mastering Works 6。
形式:H.265/HEVC。
まず、フレームに種類があるんですが、各フレームが何かわからないと、ついていけない模様。
なんとなくは知っていたんですが、もう少し調べてみました。
動画ファイルというのは、パラパラ漫画みたいなもの。
その一枚一枚の絵を「フレーム」という。
1「コマ」ともいう。
そのフレームだけで、すべての情報を持っている模様で、
前後のフレームに関係なく独立して存在している。
サイズが例えば640×480ピクセルだと、640×480の情報(静止画)を持っている様子。
ただ、その画像は、JPEGのように圧縮している。
そういうわけで、同じ静止画なら、他のフレームより情報量(容量)が多い。
「これまで」のフレームとの差分のフレーム。
Iフレーム、Pフレームを参照している模様。
Bフレームより圧縮が少ないが劣化は少ない。
「前後」のフレームとの差分のフレーム。
Iフレーム、Pフレーム、Bフレームを参照している模様。
Pフレームより圧縮が多いが劣化も多い。
Iフレームで一度作成された画像の次(又は前)に、同じ映像の個所があれば、
それをPとBフレームでは差分だけの静止画を作ってIフレームに重ね合わせて
見た目上、変化を表しているとの事かと思います。
なるべくIフレームが少ない方が容量は少なくなるが、画質は落ちるかも知れない。
例:Iフレーム→Pフレームの2フレームの場合
実際は違うかと思いますが、考え方としてはこんな感じかと思います。
・真っ白から真っ白
例えば、Iフレームの静止画が情報量(容量)100だとして、
つぎのフレームが同じ静止画なので、
だいたい情報量は100で済むかと思います。
・真っ白から縦半分真っ黒
例えば、Iフレームの静止画が情報量100だとして、
つぎのフレームが半分くらい同じ静止画なら、
PフレームでIフレームの差分だけの静止画を作成。
だいたい情報量は150で済むかと思います。
・真っ白から真っ黒
例えば、Iフレームの静止画が情報量(容量)100だとして、
つぎのフレームがまったく違うので、
だいたい情報量は200になるかと思います。
例えばある動画をチェックすると、
1コマ目:Iフレーム
2コマ目:Bフレーム
3コマ目:Pフレーム
4コマ目:Pフレーム
5コマ目:Bフレーム
・・・
となっていました。
動画の1コマ1コマが、このIやPやBフレームとなっているようです。
画像のガラリと変わるところは、Iフレームで作られていました。
エンコード側のGOP構造では、
IBBBPBB・・・・。
となっていたのですが、実際エンコードしてみると、そうではないようです。
内部はよくわかりませんが、効率良い並びにしているのでしょう。
以下、本題。
Bフレームから開始されるそうです(が、未確認。実際見るとIフレームから開始になっている。途中のGOP先頭からB?)。
その後、出てくるIフレームを参照するらしいので、再生時のシークがスムーズではないかも知れません。
目的は、圧縮効率が良くする場合にOpenGOPになる(する?)との事のようです。
動画エンコードソフトのTMPGEncのペガシスさんに教えて貰った事によると、
HEVCエンコードのOpenGOPは、
GOP(MPEG の映像の単位)の境界を越えて隣近所のGOPの画像も参照できるとの事。
ただし、絶対に隣近所のGOPの画像を使うわけではなく、
結果的には、ClosedGOPと同じ結果となる場合があるとの事。
実際、OpenGOPとClosedGOPで15分程度長さの動画のエンコードを、
その他は、同じ設定で試したところ、
なぜか、OpenGOPは、119MB。
ClosedGOPは、114MB。
と、動画の内容によっては、ClosedGOPの方が小さくなるようです。
試したのは1回だけですが。
(TMPGEnc Video Mastering Works 6(H.265/HEVC)では、
ClosedGOPは、GOP構造タブで
編集用ビットストリームを出力する(Closed GOP)にチェック。
OpenGOPは、それにチェックしなければ、OpenGOPになったりClosedGOPになったり、
内容によるようです。
H.264/AVCでは、そもそもClosedGOPがデフォルトで、変更できないようです。)
1つのGOP(MPEG の映像の単位)をClosed に設定し、
前後のGOP間で干渉が起きないようにするそうです。
GOP(MPEG の映像の単位)で、映像が完結しているので、
GOP間の干渉がないため、映像が編集しやすくなるそうです。
ただ、GOPの境界をまたいで参照して作成するOpenGOPよりかは、その参照をしない為、圧縮率は下がるようです。
後で編集する動画には、理屈からClosedGOPの方が効率は良いというか、切り取った部分の画質が良くなるのかも知れません。
とりあえず、ClosedGOPにしておいた方が無難なような気もします。
記載:2011年04月頃
動画エンコード時のフレームや、GOP設定「OpenGOP」と「ClosedGOP」の違いをよく分かっていなかったので、
調べた時の覚書です。
エンコードソフト:TMPGEnc Video Mastering Works 6。
形式:H.265/HEVC。
・フレーム
まず、フレームに種類があるんですが、各フレームが何かわからないと、ついていけない模様。
なんとなくは知っていたんですが、もう少し調べてみました。
動画ファイルというのは、パラパラ漫画みたいなもの。
その一枚一枚の絵を「フレーム」という。
1「コマ」ともいう。
・Iフレーム
そのフレームだけで、すべての情報を持っている模様で、
前後のフレームに関係なく独立して存在している。
サイズが例えば640×480ピクセルだと、640×480の情報(静止画)を持っている様子。
ただ、その画像は、JPEGのように圧縮している。
そういうわけで、同じ静止画なら、他のフレームより情報量(容量)が多い。
・Pフレーム
「これまで」のフレームとの差分のフレーム。
Iフレーム、Pフレームを参照している模様。
Bフレームより圧縮が少ないが劣化は少ない。
・Bフレーム
「前後」のフレームとの差分のフレーム。
Iフレーム、Pフレーム、Bフレームを参照している模様。
Pフレームより圧縮が多いが劣化も多い。
・PとBフレームの目的は、同じ画像の個所は、保存しないことでファイル容量を減らす事
Iフレームで一度作成された画像の次(又は前)に、同じ映像の個所があれば、
それをPとBフレームでは差分だけの静止画を作ってIフレームに重ね合わせて
見た目上、変化を表しているとの事かと思います。
なるべくIフレームが少ない方が容量は少なくなるが、画質は落ちるかも知れない。
例:Iフレーム→Pフレームの2フレームの場合
実際は違うかと思いますが、考え方としてはこんな感じかと思います。
・真っ白から真っ白
例えば、Iフレームの静止画が情報量(容量)100だとして、
つぎのフレームが同じ静止画なので、
だいたい情報量は100で済むかと思います。
・真っ白から縦半分真っ黒
例えば、Iフレームの静止画が情報量100だとして、
つぎのフレームが半分くらい同じ静止画なら、
PフレームでIフレームの差分だけの静止画を作成。
だいたい情報量は150で済むかと思います。
・真っ白から真っ黒
例えば、Iフレームの静止画が情報量(容量)100だとして、
つぎのフレームがまったく違うので、
だいたい情報量は200になるかと思います。
・動画の1コマ1コマが、このフレームとなっている
例えばある動画をチェックすると、
1コマ目:Iフレーム
2コマ目:Bフレーム
3コマ目:Pフレーム
4コマ目:Pフレーム
5コマ目:Bフレーム
・・・
となっていました。
動画の1コマ1コマが、このIやPやBフレームとなっているようです。
画像のガラリと変わるところは、Iフレームで作られていました。
エンコード側のGOP構造では、
IBBBPBB・・・・。
となっていたのですが、実際エンコードしてみると、そうではないようです。
内部はよくわかりませんが、効率良い並びにしているのでしょう。
以下、本題。
・OpenGOP
Bフレームから開始されるそうです(が、未確認。実際見るとIフレームから開始になっている。途中のGOP先頭からB?)。
その後、出てくるIフレームを参照するらしいので、再生時のシークがスムーズではないかも知れません。
目的は、圧縮効率が良くする場合にOpenGOPになる(する?)との事のようです。
動画エンコードソフトのTMPGEncのペガシスさんに教えて貰った事によると、
HEVCエンコードのOpenGOPは、
GOP(MPEG の映像の単位)の境界を越えて隣近所のGOPの画像も参照できるとの事。
ただし、絶対に隣近所のGOPの画像を使うわけではなく、
結果的には、ClosedGOPと同じ結果となる場合があるとの事。
実際、OpenGOPとClosedGOPで15分程度長さの動画のエンコードを、
その他は、同じ設定で試したところ、
なぜか、OpenGOPは、119MB。
ClosedGOPは、114MB。
と、動画の内容によっては、ClosedGOPの方が小さくなるようです。
試したのは1回だけですが。
(TMPGEnc Video Mastering Works 6(H.265/HEVC)では、
ClosedGOPは、GOP構造タブで
編集用ビットストリームを出力する(Closed GOP)にチェック。
OpenGOPは、それにチェックしなければ、OpenGOPになったりClosedGOPになったり、
内容によるようです。
H.264/AVCでは、そもそもClosedGOPがデフォルトで、変更できないようです。)
・ClosedGOP
1つのGOP(MPEG の映像の単位)をClosed に設定し、
前後のGOP間で干渉が起きないようにするそうです。
GOP(MPEG の映像の単位)で、映像が完結しているので、
GOP間の干渉がないため、映像が編集しやすくなるそうです。
ただ、GOPの境界をまたいで参照して作成するOpenGOPよりかは、その参照をしない為、圧縮率は下がるようです。
後で編集する動画には、理屈からClosedGOPの方が効率は良いというか、切り取った部分の画質が良くなるのかも知れません。
・感想など
とりあえず、ClosedGOPにしておいた方が無難なような気もします。
記載:2011年04月頃
Twitter Facebook Google+ はてな Pocket LINE
管理人による書き込みの確認後、荒らし書き込みでない場合に表示させていただきます。
悪意ある書き込みや挑発的な書き込みと思われる内容は、表示させません。
その為、ちょっと書き込みから表示までに時間がかかってしまいます。ご了承下さい。
<No.4> 管理者
ご返信ありがとうございます。
ご丁寧に教えて頂きありがとうございます。
Iフレームを除いた他のフレーム数が偶数ではなく奇数になるGOPの場合、
Iフレームの次に、Pフレームより容量の小さいBフレームから開始される
OpenGOPの方がわずかながら動画サイズが小さくなるということだったんですね。
ありがとうございます。
そういえば私は、今、ClosedGOPで作成しているのですが、
このページ作成時に調べた後、
一応、今後の編集もあるかもと考えて、ちょっと容量が大きくなっても、
そう設定していたのを思い出しました。
(2021/09/08)
<No.3> K.Y.
お返事ありがとうございます。
申し訳ありません。記載が正確ではありませんでした。
H.264やHEVC-CloseGOP(Bフレーム有効)の場合には、
Iフレームの後はPフレームが続き、
Pフレームの後にBフレームが続きます。
以下は簡略のたとえで、
GOP10の場合は、
IPBPBPBPBP - Bフレームが4個
そして、HEVC-OpenGOPの場合には、
IBPBPBPBPB - Bフレームが5個
Iフレームの後に、Bフレームが続くので、
ClosedGOPと比べて若干どなりますが、
小さくなるようです。
(BフレームはPフレームより、若干サイズが小さい)
でどうでしょうか?つたない説明ですみません。
(2021/09/07)
<No.2> 管理者
コメントありがとうございます。
コメント頂いたので、もうすでに忘れているであろう
このページの内容を
見返してみたのですが、本当にすっかり忘れていました。
結局今は、ClosedGOPで作成する設定にしているようですので、
この時にClosedGOPにしていたのでしょう。
書き込み頂いた
OpenGOPの
IBPPB
と
ClosedGOPの
IPBPB
は、どちらも
Iが1つ、Bが2つ、Pが2つと思われますが、
並びが容量に関係するのでしょうか?
(2021/09/07)
<No.1> K.Y.
最初に記載されている
1コマ目:Iフレーム
2コマ目:Bフレーム<-映像のタイムスタンプはIフレームより前
3コマ目:Pフレーム
4コマ目:Pフレーム
5コマ目:Bフレーム
・・・
この状態がOpenGOPで、ClosedGOPは
1コマ目:Iフレーム
2コマ目:Pフレーム<-映像のタイムスタンプはIフレームより後
3コマ目:Bフレーム
4コマ目:Pフレーム
5コマ目:Bフレーム
・・・
になります。BフレームはPフレームより、
若干サイズが小さいため、1GOPあたりでは少ないですが、
動画全体として、サイズが減少するということだと思います。
(2021/09/04)
ご返信ありがとうございます。
ご丁寧に教えて頂きありがとうございます。
Iフレームを除いた他のフレーム数が偶数ではなく奇数になるGOPの場合、
Iフレームの次に、Pフレームより容量の小さいBフレームから開始される
OpenGOPの方がわずかながら動画サイズが小さくなるということだったんですね。
ありがとうございます。
そういえば私は、今、ClosedGOPで作成しているのですが、
このページ作成時に調べた後、
一応、今後の編集もあるかもと考えて、ちょっと容量が大きくなっても、
そう設定していたのを思い出しました。
(2021/09/08)
<No.3> K.Y.
お返事ありがとうございます。
申し訳ありません。記載が正確ではありませんでした。
H.264やHEVC-CloseGOP(Bフレーム有効)の場合には、
Iフレームの後はPフレームが続き、
Pフレームの後にBフレームが続きます。
以下は簡略のたとえで、
GOP10の場合は、
IPBPBPBPBP - Bフレームが4個
そして、HEVC-OpenGOPの場合には、
IBPBPBPBPB - Bフレームが5個
Iフレームの後に、Bフレームが続くので、
ClosedGOPと比べて若干どなりますが、
小さくなるようです。
(BフレームはPフレームより、若干サイズが小さい)
でどうでしょうか?つたない説明ですみません。
(2021/09/07)
<No.2> 管理者
コメントありがとうございます。
コメント頂いたので、もうすでに忘れているであろう
このページの内容を
見返してみたのですが、本当にすっかり忘れていました。
結局今は、ClosedGOPで作成する設定にしているようですので、
この時にClosedGOPにしていたのでしょう。
書き込み頂いた
OpenGOPの
IBPPB
と
ClosedGOPの
IPBPB
は、どちらも
Iが1つ、Bが2つ、Pが2つと思われますが、
並びが容量に関係するのでしょうか?
(2021/09/07)
<No.1> K.Y.
最初に記載されている
1コマ目:Iフレーム
2コマ目:Bフレーム<-映像のタイムスタンプはIフレームより前
3コマ目:Pフレーム
4コマ目:Pフレーム
5コマ目:Bフレーム
・・・
この状態がOpenGOPで、ClosedGOPは
1コマ目:Iフレーム
2コマ目:Pフレーム<-映像のタイムスタンプはIフレームより後
3コマ目:Bフレーム
4コマ目:Pフレーム
5コマ目:Bフレーム
・・・
になります。BフレームはPフレームより、
若干サイズが小さいため、1GOPあたりでは少ないですが、
動画全体として、サイズが減少するということだと思います。
(2021/09/04)
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?
今のページの関連ページのリストへ
ザ・覚書のトップページに戻る
全ページのリストへ