ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

MPEG2おさらい

少し時間がとれたのでMPEG2をおさらいする。

MPEG2はISO/IEC 13818-2で規格化されている。

映像データは下記のようにデータが並ぶ。

video_sequence(){

  next_start_code(),

  sequence_header(),

  if( nextbits() == extention_start_code ){

    sequence_extension(),

    do{

      extension_and_user_data(0),

      do{

        if( nextbits() == group_start_code ){

          group_of_pictures_header(),

          extension_and_user_data(1),

        };

        picture_header(),

        picture_coding_extension(),

        extensions_and_user_data(2),

        picture_data(),

      };

    } while( ( nextbits() == picture_start_code) || ( nextbits() == group_start_code ) ),

    if( nextbits() != sequence_end_code ){

      sequence_header(),

      sequence_extension(),

    } while( nextbits() != sequence_end_code ),

  } else {

    // ISE/IEC 11182-2(MPEG1)

  }

  sequence_end_code;

}

これを解くと画像が抜き出せるという事だ。

ここからざっと機能分解していくところ。