H.264 vs MJPEG - Quality and Bandwidth Tested

Published Jul 28, 2010 20:00 PM

******** ***** ********* ** ******** *** IP ***** ************ *******. ****** *** choose *.*** ** *****? ***** ******** momentum ********* ****** *.***, **** *** how ** **** *** *.*** *** important *********.

** ******* *** * *** ********* in *********** *.*** ** ***** ***:

  • *** **** ********* ******* **** *.*** provide **** *****?
  • **** **** ** ***** ******* *********** can *** ****** ******* *.*** *** MJPEG?
  • **** *********** ** ********* **** **** you ********** ******* *.*** *** *****?

**** ****** ******** *** ******* *** recommendations ** *** ***** *** ********* - ********* *** ***** *******.**** *** tests, ** ********* *** ********* * key ******** ** ********** *.**/*****'* ****** on ******* *** *********:

  • ********* *** ********** ** *** ***** being ********/********
  • ********* *** ********* **** / ******* of *** ****** ***** ****
  • ********* *** ***** ** ***** ****** to * ****** (*** *.***)

*** ***** ****** ** ***** ******* - *** ****** ** *** **% bandwidth ******* ** **% **** ******* (or *** ***** ****** ***** *** X ** *). ***** *.*** ********* reduces ********* *********** *************, ** ******* on ******** ******* (********* **********, ********* mode, ***** **** *** * ***** rate). *** ** *** ********* ** especially *********, ****** * ********** ***** impact ** *** *** ***********. *******, while *.*** *** ******* *** **** visible ***** ******* ** *****, ********* on *** ******** *** *** (********** streaming ****), *** *** ****** ******** worse *******.

****** *** ******* ******, ** ******* and ******* **** ** ***** ******** in-depth **** * ****** ** ****** videos *** ******** ***** ***********. *** video ************ ***** ********* *** ******** we ****:

******* ******* ****** ******** *-* ***** to **** *** **** ******

*******:

*** ************ ***** ** ********** / encoded (******* ** ** *****, ****-*, H.264, ***.). *** **** ******** ** how **** *** **** **** ** compression/encoding ** *********.

*** **** ********** ******* *.*** *** MJPEG ** **** ***** **** ********** individual ****** ** ***** ***** *.*** compresses ****** ******. *** *****, **** frame ** ***** ** ********** ** itself, **** ** ** *** **** compressing * ****** ** **** ****** manually (**** ****** ****). *** *.***, some ** *** ****** *** ********** by ****** (****** ** * ** initizaliation *****) ***** **** ** *** frames **** ****** ******* **** *** previous ***** (****** * ** *********** frames). **** *** **** * *********** amount ** ********* ******** ** ***** which ******* **** ***** ****.

[****: **** *********** ***** ** *** introductory ******** ****. ** ** ************** and **** ******** ******** **** ****** in *****'* ** ***** ************ *******.]

*********** ** ******* ** **********. *** compressions ******* ** *********** ******** *** representing ***** ******** ** ******* *****/********. The **** ******* ** *** **** seemingly ****** * ******* **, *** less ****** ** ** *** * pattern ** ** ********** (** *** harder ** ** ** ********** ****). While *.*** *** ******** '****' **** MJPEG, **** ********* ** ** ** important ******* ** ************* ********* ** performance *** ***** ********.

****** ********: ** **** ****, ** **** a **** ****** ******** *************** ******* *** *.*** *******.******** *** ********* ********. ** *** ********** **** *****, we ******* * **** ***** **** showing ********** ** ********** *** ******* (download *** ****** ******** **** ****** [link ** ****** *********]).

Criteria *: ********* *** ********** ** *** ***** ***** ********/********

******* *** *** ***** ** *.***, it ** ********* ** **** *** complexity ** **** *****. *******, ** is **** **** ********* ** ********** this **** ***** *.***. **** ** because ********* ** *** ***** *** H.264 *** **** *********** **** ***** for ***** (**** ****** ** ******** terms *** *** *****, *.*** ********* consumption *** ****** ***** ** *** complexity).By ***** **********, ** **** *** much ******** ** ********* ** *** scene ** ***** **** *** *** capturing. *** ********, * ****** ******* in ***** ** * ***** **** is *** **** '*******' **** * crowded *******. ** *******, *** **** color, ******, *****, ******* *** ********* in * *****, *** **** ******* that ***** **** **.

*** **** ******* * ***** ** the **** ********* **** ** ****** to ******** *** **** ******* *****. This ** ******** ** *** ******.

******* *********, *** ********** ** * scene *** ****** ********* ** *** time ** *** ** *** **** of ****. *** ********, * ***** of ****** ******* ** * ***** room ** * *** **** ******* scene **** **** **** ********* ** Saturday **** *** ****** ** ******. To ******** *** **** *******, *** CODECs **** ******* **** ********* *** the ****** **** * ***** ** people **** **** **** *** ***** room ** **********.

**** ******* ****** *** ***** *** most ********* ****** ****** ***** ************ as **** ******* ******** *** *********** problems (** ** ***** ********** ** interest).

** *** ***** ***** ** **** you ********* *********** ******* *** * variety ** ****** ******:*** ****** ** complexity ** ********* ******* ************* ******* MJPEG *** *.***. ** *** *****, with *****, *** ********** ** ********* needed *** *** ***** ** **** complex ****** **** ******** ** * factor ** *. *******, ** *** tests **** *.***, *** ****** ** bandwidth ****** ****** ** ***** ** times.

*** ***** ***** ********* *** ************ between ***** ********** *** ********* ******** for ***** *** *.*** *** ****** tested:

IPVM Image

*** *.*** ***** ******** ******* **** differences ** *** ***** *** *.*** compresses *****. *.***'* *** **** ******** are ********* **** **** ******* ****** as ** ********* *.***'* ******* ** compress ****** ******. ** ********, ***** does *** ******** ****** ****** ** it ***** **** **** **** ******* scenes. *******, ***** ***** **** **** to ******** ********** ****** *** ***** more ******* ****** ***** ******* **** bandwidth, ***** ********* ******* **** ******** but **** ******** **** *.***.** ** a ******* **** *****'* ********* ******* are ******** ** **** *** ****** size **** *** **** **** **********. Many ************* *** ***** ***** ******* to ***** ***** *****, ****** *** impression **** ***** ** ********** *****. They *** ****** ** **** ******* the ******** ** ********* **** *** to ********** ** ********** ******* *** MJPEG. *******, **** **** ****** **** modest ***** ** ******* **** (** bandwidth ************).

**** ****** *.*** ****** *********** ********* savings ****** *** *****, *** ***** range ** ****** ******** *** ********* scene ************ ********** * ****** ******* that *** *** *********** **** *****.

Criteria *: ********* *** ********* **** / ******* ** *** ****** ***** ****

*** **** ********* ****** ** ********* mode ** ************* *** *** ** Constant *** **** (***) **. ******** Bit **** (***) *** *.***. ***** our ***** **** **** ***** ***** size *** ** **** ****** ****** for ***** ******* ******* ** ********, such ** ******** ** ***** *** problematic *** *.***.

**** ******** *** ****, *** ** camera **** ******** *** **** ********* level ********** ** *** *****'* **********. If ********* ** ************ ** ***** the **********, ******* **** ** **********.

**** ******** *** ****, *** ** camera **** **** ********* *** ********* level ** **** *** ******* ****** with *** *****'* **********.

** *** ***** *****, ** **** how *** *** **** ******* ******* when *** ***** ******* *** **** CBR ** ****** **** *** ****:

********** **** *** ****** *******. **** is ******** ** ********** *** ** important ********* ***** ** *** *** of *** *********. *** ***** ** surveillance ** ********** *** **** *********** loses **** ** *** ******** **** (called ***** ***********). ****'* *** **** is *** '*****' *** *********** **. This ** ********** ** *** ************ level - *** ****** *** *****, the ******* *** *********** *** *** worse ******* *** ***** **** ******.

**** ***, ** *** ********* ** insufficient, *** ** ****** ******** **** reduce *******. **** *** ** ************ in *** **** - ****** ******* quality ** * ***** ***** ** reduce *** ****** ** ****** ********. Manufacturers **** ** **** ******* **** provide *** **** *** ******* ****** is. ** *** ***** *****, ** show ******** ** ********* ************* ****** conventions, ******** *** ******* *** *** quality ***********.

** * **** ****, **** ***, if *** ********* ***** ** '*** high' *** *** * *** ********** scene, *** ************ ***** **** ** lowered, ********* *** * **** ******** compression. *********** *** **** *** *** wasted *** *********** **** ***, ** the ********* ** **** ***** ******** no ******* ******** *** *** ****/***********.

** *** ** ****** ******** ***** CBR ******* ** ****** *** ******* quality ** * ***** ***** **** will ** **** ******* ** ******** the ************ *****

******* *** ************ ***** ** ** the ***** ** *** *.*** ***** can **** ***** **** ***** *****. In *** ***** *****, ** **** H.264 *** ******* ** ******** *** rates. ***** * ****** ********, ** show *** *** ************ ***** ****** and *** **** ** ********** **** changes ** ******* ***** *******.

****** ********: ** *** ********** *****, ** used * **** ****** ******** *************** ******* *** *.*** *******.******** *** ********* *********** *** ****** ****** ** ******** [link ** ****** *********].

Should *** *** *** ** ***?

******** ** ******* ** *** *** or *** *** *.*** ** ******* the **** ********* ******** ** ***** H.264. *** ****** *** *********** ******* on ********* *******, ****** ******* *** infrastructure ********.

** *** *** ***, *** ******** the ******** ** **** ************** - specifically ** ******* ****** ** ****** and ****** **** **** ** ***** works ******** **** **** ********** ******* (e.g., ********, *******) *** **** **** computers (*.*., ******* ******* *** ********, storage **********). **** ************** ***** *** a ****** ************** ** ***** ******* times ****** ****.

*** *** ***** ********* ** ***** CBR *** (*) ********* ******* *********** or (*) ************** ************. ** *** set *** *** **** *** *** for **** *****'* **********, *** **** lose ****** ****** ** ******* ****** (as ********* *****). ** *** *** the *** **** *** ****, *** will ***** ******* *** ******* **** networking ********* **** ****** *** **** video.

*** *** *** ******** ********* *** weaknesses. **** ***, *** *** ** confident **** *** ******* ** **** video **** ** **********. ****, *** total ****** ** ******* *** ********* will ** ********* ** *** *** rate **** **** *** **** ** match *** *****'* **********.

*** *** ******* *** *** ** that ** ***** ************** ******** **** difficult. ******** **** ** ******** *** accommodate ***** **** ********* ** **** service ********.

***** *** *** *** *** *** two **** ********** *** ********* *.***, manufacturers ************** *** ** ******** ** combine *** ***. ** *** *****, we ***** * '******' ********** **** may ** ** ********:

  • ****'* ***, **** *** ** * bit **** *** *** *** *** configured ***** ****/**********, **** ******** '****-****' your *** **** ******* *** ****** a *** **** **** *** ** significantly ******. *** ********** ** **** the ******* ********** *** *** **** is **** *** *** ** ******* anywhere ***** ** ********** *******. ***** this ***** *****, ** *** ** an ********** ******** ** *** **** designed **** ******* ** **** *** configured *** ****.
  • ********* ****** * ********* ***** **** minimum *** ******* *** *****. ** such, **** ** * *********** *** that **** * ********** ***** ** bit *****. **** ******** **** *********** to ****** ****** ********** ******. *******, in *** *****, **** ******* *** not ****** ** **** ** *********.

Criteria *: ********* *** ***** ** ***** ****** ** * ******

* *** **** ** *.***'* ***** comes **** * ******. ***** *** the ***** **** **** '********' *** progress ** ******* **** *** **** fraction ** * ******. ***** *** size ** * ****** *** **** (depending ** ***** **********/*******), ******* * frames *** *** ******* **** * frames. ** *** ***** *****, ** show *** **** ** * *** P ****** ** * ****** ********:

[****: ***** *** * ****** ** well *** *** ************ ******** ** video ************ *.*** *************** **** *** P ****** *********.]

*** **** * ****** ***** *** to * ******, *** **** ********* savings **** *.*** ********. *** ********, a ***** **** **** * * frame *** ****** ******** *** **** bandwidth **** * ***** **** ** I ****** *** ****** (******* ***** frame ** ** * ***** *** no * ****** *** ********. *******, both ******* ******* **** *****, ****** the *** * ***** ********* *** a **** ***** ********* ********* ******** to *****. ** *** ***** *****, we *********** ***** *********:

******* *** *** ***** ** ***** frames ** * ****** *** ** difficult *** ** ***** ******. ** depends **** ** **** *** ** camera ************ ******** *** **** *** VMS ******* ** *********. ** *** experience, *** **** ****** * ***** rate ** * *** ****** (********** of *** **** ****** *** ****** total *** ********). *******, ************ ************ on * * ***** *** * seconds *** **** ****** ******* ******** to * * ***** *** ** p ****** (******* **** ** *** record ** * ***, ** * frame **** **** ** ****/********* ***** 10 *******).

*** ******* **** ** **** ******* I ***** ********* ** ******* ***** playback / *******. *** ****** *** I ***** ********, *** **** ****** there **** ** ****** ** ******** in ********** **** ** ******** *****. Since * ****** **** '********' * part ** *** *****, ** ** generally *** ******** ** ******* * full ***** **-****** ***** ** * frame *******. **, *** ******* ** I ***** ** **** ********* ***** 30 *******, **** *** ****** ********* problems.

Sample *********** **** ********* ******* ************ ****

********* * ******** ****** ** **** point ** *.*** ******* ** ********* compared ** ***** ** *************. ** obscures ********* ****** ******** **** *** professional ***** ***** ** ********** *** address.

** *** ***** ******* ** *** report, ** ******* * ******* ************ that *********** ********* ********* ** *** key ******* ********** ** ***** ******** performance: (*) ***** **********, (*) * frame ****, (*) ***** **** *** (4) *** ** ***.

Scene ********** *********

Daytime ****** - H.264 bandwidth was 200 Kbps. By contrast, MJPEG bandwidth was 11.8Mbps, a 59x difference, and a 98% bandwidth savings. Image quality between both codecs were similar; we did not note any significant variances.

Daytime ****** **** ******** - H.264 bandwidth was 790 Kbps. MJPEG bandwidth was 13.71Mbps, a 17x difference, and a 94% bandwidth savings. No significant image quality differences observed.

Daytime ******* - H.264 bandwidth was 2.63 Mbps. By contrast, MJPEG bandwidth was 39.23Mbps, a 15x difference, and a 93% bandwidth savings. No significant differences in image quality observed.

Night ****** (* ***) - H.264 bandwidth was 720 Kbps. By contrast, MJPEG bandwidth was 13.27Mbps, a 18x difference, with a 95% bandwidth savings. Although both images look similar in quality, the MJPEG scene has a little more visible noise, while the H.264 image is a little softer.

Night ****** (***** *****) - H.264 bandwidth was 2.92 Mbps. By contrast, MJPEG bandwidth was 15.15 Mbps, a 5x difference, and 81% bandwidth savings. A totally black image in itself is not a complex scene, but the random camera noise on screen (which vary between vendors) raises the complexity significantly. Although it is not apparent on the exported clips or screencaps, we witnessed the MJPEG scene suffer from significantly more camera noise than the H.264 scene.

Night ******* - H.264 bandwidth was 1.89Mbps. By contrast, MJPEG bandwidth was 17.57 Mbps, a 9x difference, with 89% bandwidth savings. No significant image quality differences observed.

I ***** **** *********

30fps, ** * ****** *** ****** ****** ******* - In this scenario, H.264 bandwidth was 3.48 Mbps. By contrast, MJPEG bandwidth was 11.8 Mbps, which shows a 3x difference. Although having a maximum I frame ratio, this scenario did not show any visible quality gain, but still having a bandwidth savings of 71% from the MJPEG scenario.

30fps, * * ***** *** ****** ****** ******* - In this scenario, H.264 bandwidth was 280 Kbps. By contrast, MJPEG bandwidth was 11.8 Mbps, which shows a 42x difference, and a 98% bandwidth savings. This being a default i frame configuration for many camera vendors, this scenario has no significant variances in MJPEG image quality.

Frame **** *********

1fps, * * ***** *** ****** ******* ******* - This scenario shows the H.264 bandwidth at 1.1Mbps. Contrasting this to a 1fps MJPEG scenario, with bandwidth consumption at 1.3 Mbps, a 1.2x difference, and 15% bandwidth savings. No obvious visual differences in quality. Contrast this to the example above for 30fps, 30 i frames. While the ratio of I frames to total frames is the same (1:1), the scene above is indoor daytime - delivering significantly enhanced bandwidth reduction because of the relatively simpler scene.

30fps, * * ***** *** ****** ******* ******* - H.264 bandwidth was 2.63 Mbps. Contrasting this to a 1fps MJPEG scenario, with a bandwidth consumption of 39.23 Mbps, a 15x difference, and 93% bandwidth savings . Quality wise, no obvious visual differences, but h264 clip is running slightly less frames at 27.99fps.

CBR ** *** *********

CBR ***** ***** ******* ******* - In this scenario, H.264 bandwidth was 2.24 Mbps. By contrast, MJPEG bandwidth consumption was 16 Mbps, a 7x difference. H.264 bandwidth savings was 86%. However, H,.264 stream exhibited clear visual degradation compared to the MJPEG stream.

CBR ***** ***** ******* ******* - In this scenario, H.264 bandwidth was 3.1 Mbps. Contrasting it to the same 16Mbps MJPEG scenario, shows a 5x difference, 80% bandwidth savings. Comparing to the previous scenario of 2Mbps, video quality was significantly improved and matched the visible quality of MJPEG.

VBR ***** ******* ******* - In this scenario, H.264 bandwidth was 2.63 Mbps. By contrast, MJPEG bandwidth was 6X. H.264 bandwidth savings was 84%. H.264 stream quality exhibited no deficincies relative to MJPEG.