mpeg4 conformance testing for digital video archiving max gustashaw university of north...

22
MPEG4 Conformance Testing For Digital Video Archiving Max Gustashaw University of North Carolina-Chapel Hill Tyler Johnson University of North Carolina-Chapel Hill

Upload: hilary-jenkins

Post on 28-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

MPEG4 Conformance Testing For Digital Video Archiving

Max GustashawUniversity of North Carolina-Chapel Hill Tyler JohnsonUniversity of North Carolina-Chapel Hill

Folkstreams

Folkstreams.net is a national preserve of documentary films about American folk or roots culture. Produced by independent filmmakers, these hard-to-find films give voice to the arts and experience of diverse American groups.

Folkstreams.net also encourages alternative forms of filmmaking about subjects neglected by mainstream corporate media.

Folkstreams - streaming

Folkstreams.net makes these films easy to find and to see by video-streaming them on the Internet, and also provides in-depth and reliable contextual materials about the subjects and the filmmaking.

They are streamed on the website together with background materials that highlight the history and aesthetic importance of the traditions and the films.

Formats Employed

16mm film original Digital Betacam

Real QuickTime ASF MPEG4

General Goal For Digital Video Archiving Ensure that original is preserved

You can always go back to the original to make new distribution copies, right?

Ensure that distribution (compressed) copies are preserved These are how the public accesses the data

Anticipate that compressed formats will in many cases be the originals.

Make sure that compressed video files are playable in 10-50 years Will the vendor be in business? Will the player even run? Are open source decoders available?

Project Goal

To determine which CODECs produce media files that are adhere to MPEG’s qualifications for the MPEG4 standard, and, by isolating the factors that affect these results, to highlight issues that may influence the strength of archival and distribution plans.

MPEG4 Goal

MPEG4 identified as a key format for compressed media

Experience has shown commercial MPEG4 files are not inter-operable

Test commercial encoders to see their level of standard compliance

Learn more about the standard in order to better be able to advise the university as to archiving strategies for compressed media

Method

Encode two test files using the target codec

Analyze each resultant file using Mindego 4500 MPEG4 Analyzer

Log errors

Clips

Born for Hard Luck Cowboy Poets

Could not embed MPEG4 clips in this presentationbecause PowerPoint will not recognize our MPEG4 files.

Codecs Used

3ivx (3ivx) Compression Master (Popwire) Libavcodec MPEG4 (FFMPEG) MSMPEG4v2 (????????) QuickTime (Apple) Sorenson Squeeze (Sorenson Media) DivX (DivXNetworks ) 4Coder (envivio)

Mindego 4500 Analyzer

Deconstructs bit streams Tests for MPEG4 conformance- the standard Tests for conformance to industry profiles

Currently supports ISMA

Visual / macroblock analysis H.264 support planned Educational pricing available www.mindego.com

Mindego Analyzer demo

Results

Comments Minor errors Major errors

* All codecs produced errors !

3ivx

Born for Hard Luck 2327 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (176,144) for Simple Profile Level 1

2069 - Group of VOP or VOP start code not found Cowboy Poets

2327 - Visual session size (320,240) does not comply with "Typical Visual Session Size" (176,144) for Simple Profile Level 1

2069 - Group of VOP or VOP start code not found 2197 - Visual start code not found in the next byte

aligned position.

Compression Master

BHFL Full analysis failed to run 2328 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (352,288) for Simple Profile Level 2

2197 - Visual start code not found in the next byte aligned position.

CP Full analysis failed to run 2328 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (352,288) for Simple Profile Level 2

Demo encoder limited to 20 seconds

Libavcodec MPEG4 (FFMPEG) BFHL

2327 - Visual session size (320,240) does not comply with "Typical Visual Session Size" (176,144) for Simple Profile Level 1

2197 - Visual start code not found in the next byte aligned position.

CP 2327 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (176,144) for Simple Profile Level 1

2197 - Visual start code not found in the next byte aligned position.

MSMPEG4v2

BFHL Analyzer will not load file ‘Unknown stream

type’ CP

Analyzer will not load file ‘Unknown stream type’

QuickTime

BFHL 2333 - Visual session size (320,240) does not comply with "Typical

Visual Session Size" (352,288) for Advanced Simple Profile Level 3 2319 - Max video packet length found to be 10048 bits that exceeded

the bound of 4096 bits for Advanced Simple Profile Level 3 2197 - Visual start code not found in the next byte aligned position.

CP 2333 - Visual session size (320,240) does not comply with "Typical

Visual Session Size" (352,288) for Advanced Simple Profile Level 3 2319 - Max video packet length found to be 10088 bits that exceeded

the bound of 4096 bits for Advanced Simple Profile Level 3 2197 - Visual start code not found in the next byte aligned position.

Sorenson Squeeze

BFHL 2329 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (352,288) for Simple Profile Level 3

2197 - Visual start code not found in the next byte aligned position.

CP 2329 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (352,288) for Simple Profile Level 3

2197 - Visual start code not found in the next byte aligned position.

DivX BFHL

Analyzer will not load file ‘Unknown stream type’ CP

2034 - Reserved value used for coding VOL priority 2197 - Visual start code not found in the next byte aligned position. 2031 - Reserved value used for coding Video Object Type indication 2039 - Reserved value used for coding chroma format 2078 - Non-Rectangular Video not supported in the current version 2033 - Reserved value used for coding VOL version ID. 2047 - The marker bit after video object layer shape found to be zero. 2049 - The marker bit after vop_time_increment_resolution found to be zero. 2053 - The marker bit found to be zero after vol_width. 2128 - Marker bit found to be zero after vop_time_increment base. 2127 - Coded Value of vop_time_increment exceeds the value of vop_time_increment_resolution 2197 - Visual start code not found in the next byte aligned position. 2042 - The marker bit after latter_half_bitrate found to be zero. 2003 - Visual Object Start code not found 2072 - FGS not supported in this version 2163 - For MB No:22: Code not found in VLC table for cbpy 2051 - The marker bit after fixed vop time incrementis not equal to 1. 2132 - Forbidden value '0' found for vop_fcode_forward. 2195 - For MB No63: Code not found in VLC table for mb_type 2182 - For MB No:186, Block No:0: Code not found in VLC table for inter block

envivio 4coder

BFHL 2329 - Visual session size (320,240) does not

comply with "Typical Visual Session Size" (352,288) for Simple Profile Level 3

2197 - Visual start code not found in the next byte aligned position

CP 2033 - Reserved value used for VOL version ID 2197 - Visual start code not found in the next byte

aligned position 2196 - Start code found from the next byte aligned

position when reading from macroblock

Conclusions

MPEG4 is complicated Wary of industry alliances H.264 likely to be adopted widely because of

VC and broadcast efficiency MPEG4 arbitrary shape and fancy encodings

dependent on market demand Analyzer is a critical tool – can’t rely on interop Market competition goals can conflict with

archival needs Commercial applications Purposefully non-standard to dominate the market

Next Steps

More comprehensive tests Need alternate conformance tool to

verify results Make an archive plan

MPEG4 Visual (part 2) has many profiles that must be specified / evaluated

MPEG4 part 10 (H.264) has many profiles that must be specified / evaluated

Get smarter, get wise