First of all, a caveat:
Many people use bit rate and data rate interchangeably. This includes engineers. As far as I’m concerned, bits mean either 0 and 1, while data comes in chunks of 0s and 1s. There is no protocol regarding the correct use of these terms, so nobody should feel compelled to accept my definitions. However, I have and will continue to use both these terms in this site, and it is only fair I explain what I mean by them.
Here are two quick definitions to blow you away:
Data rate is the amount of data in bits per second of footage, measured per second and expressed as bits per second.
Bit rate is the number of bits per second of footage, measured per frame or field, also expressed as bits per second.
The common units for both are:
- Kbps (or kbps) – Kilo bits per second
- Mbps (or mbps) – Mega bits per second
- MBps (MB/s) – Mega bytes per second
- Gbps – Giga bits per second
Size per frame vs Size per second
They are NOT the same thing, even if they look the same. Let’s sort out this mess.
One of the key features of an uncompressed raster file like a TIFF image, e.g., is that the file size per frame is usually constant.
Let’s say I have an image sequence, in TIFF, of five frames. The first frame is all white, the second is all black, and the next three have totally different colors and images. Yet, because of the way the file system is defined, all five frames will have the same size.
E.g., my TIFF movie has a size per frame = 7.8 MB, and is being shot at 24 fps.
Once I’ve copied one second of data, I’ll have 7.8 MB x 24 frames = 187.2 MB on my drive, so the data rate is 187.2 MB/s.
If I copy only one frame of data, I’ll have 7.8 MB on my drive. My bit rate is 7.8 MB per frame. Since I know that my image size is not going to change, if somebody asked me to calculate the bit rate per second, I can extrapolate the bit size per frame to get the bit rate per second = frame size x frame rate = 7.8 MB x 24 fps = 187.2 MB/s.
Okay, so if they share the same units, and sound the same, and have the same values, they must be the same, right? Not so fast.
VBR and CBR
When my file is encoded at a constant frame size per frame per second, it is said to have a Constant Bit Rate (CBR). A TIFF image sequence is a classic example of CBR. Each frame will have the same number of bits.
What if a compression algorithm could be made smart enough to know when pixels contain redundant data? If it sees a frame with lots of colors and information, it will allot this frame a higher number of bits. When the frame contains less data it will allot this frame a lower number of bits.
This is exactly what a Variable Bit Rate (VBR) compression algorithm does. The footage is not compressed uniformly. The bit rate is no longer constant.
Let’s take a new example. I have a ten second video which takes up 170 MB on my hard drive. What is the data rate?
Size per second = 170 MB / 10 seconds = 17 MB/s.
See what I’m doing here? I’m not looking at what each frame holds, or its size individually. All I’m considering is the total data over total time.
What if this video is compressed using a VBR codec?
In my 10 second video at 24 fps, I have 240 frames, each with a different bit size per frame. If I’m calculating bit rate as bits per second, I’ll have 10 different bit rates to choose from in my ten second video!
Which one is the right bit rate?
Maximum Bit Rate
For simplicity’s sake, let’s say each frame in our codec can’t go beyond 1 MB. In the above example, I could say that
1 MB x 24 fps = 24 MB/s is the Maximum Bit Rate of my VBR codec.
See the difference? My actual data rate is 17 MB/s as written on my drive. However, my maximum bit rate is 24 MB/s, because that’s the theoretical maximum defined by the software.
DVD encoding works similarly, where you can set a maximum bit rate for MPEG-2 video at say, 9.8 Mbps. It doesn’t mean every frame will be maxed, it just means you’ll never exceed this amount on a per second basis. Your actual data rate at the end of it all will be lesser.
Redcode from the Red Epic is another example. It maxes out at about 150 MB/s, but your actual data rate will always be lesser than this maximum bit rate.
Average Bit rate
What about the average bit rate? Is it the same as my data rate? In my example above, the data rate is 17 MB/s, and even though the maximum bit rate is 24 MB/s the actual video is still 17 MB/s.
So, the average bit rate is 17 MB/s. Isn’t it the same as data rate?
From out of left field, here it comes – No, the average bit rate isn’t the same as my data rate. Whoa! How come?
Imagine you’re hired by a marketing company to sit at a turnstile and count the number of people passing it.
At the end of the day, your supervisor asks you how many people passed through the gate. You say, 100. You’ve been sitting there for four hours, so the ‘data rate’ is 100/4hr = 25 people per hour.
But what if your supervisor came up to you in the middle of the day? She wants a quick report, right now. Let’s say you’ve only spent an hour and a half at the turnstile, and since the morning is slow, only 4 people have passed through it. You bring out your calculator while she waits impatiently for the answer, which is = 4 / 1.5 = 2.7 people per hour.
Big difference? You only know your actual data rate once you’ve written all your data on file. But there’s no way you’d know it while the data is being recorded.
This is the key difference between data rate and bit rate – the former is something you’d only know at the end, while the latter is something you have to know at the beginning or while it is happening. Static vs Flowing.
When you’re shooting with a VBR codec, you can’t know the average bit rate because you haven’t shot all the frames yet. The only thing you can do is limit your data to a maximum bit rate so you stay in control.
In a CBR codec, you can precisely define the bit rate and pin it down to one particular value that you have set to control your data size.
All said and done, once the data is written to media, the ‘bit rate’ is no longer relevant, and you only use data rate instead. Why? Because the bit rate is used for ‘flowing data’ in a stream, while data rate is used for written data on media.
To help you remember –
- VBR can only have a Maximum Bit Rate while the stream is ‘flowing’
- CBR will have a Constant Bit rate while the stream is ‘flowing’
- After the data has stopped flowing, it becomes the Data Rate
This is how I distinguish and use these two terms. To keep things simple, I always refer to the data rate when I speak of Mbps, MB/s, Gbps and so on. Whether or not you’d like to play along, is entirely up to you.