From 1d809b928de36ffa55d199c970ef7e2b6e7fcedd Mon Sep 17 00:00:00 2001 From: Leandro Moreira Date: Sun, 26 Feb 2017 00:20:57 -0300 Subject: [PATCH] adds more bistream explanation --- README.md | 40 +++++++++++++++++++++++----------- i/slice_header.png | Bin 0 -> 79045 bytes i/slice_nal_idr_bin.png | Bin 0 -> 19826 bytes i/smw_background.png | Bin 0 -> 444 bytes i/smw_background_ball_1.png | Bin 0 -> 705 bytes i/smw_background_ball_2.png | Bin 0 -> 696 bytes i/smw_background_ball_3.png | Bin 0 -> 701 bytes i/smw_background_ball_4.png | Bin 0 -> 698 bytes i/solid_background.png | Bin 0 -> 153 bytes i/solid_background_1.png | Bin 0 -> 153 bytes i/solid_background_2.png | Bin 0 -> 153 bytes i/solid_background_3.png | Bin 0 -> 153 bytes i/solid_background_4.png | Bin 0 -> 153 bytes i/solid_background_ball_1.png | Bin 0 -> 408 bytes i/solid_background_ball_2.png | Bin 0 -> 413 bytes 15 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 i/slice_header.png create mode 100644 i/slice_nal_idr_bin.png create mode 100644 i/smw_background.png create mode 100644 i/smw_background_ball_1.png create mode 100644 i/smw_background_ball_2.png create mode 100644 i/smw_background_ball_3.png create mode 100644 i/smw_background_ball_4.png create mode 100644 i/solid_background.png create mode 100644 i/solid_background_1.png create mode 100644 i/solid_background_2.png create mode 100644 i/solid_background_3.png create mode 100644 i/solid_background_4.png create mode 100644 i/solid_background_ball_1.png create mode 100644 i/solid_background_ball_2.png diff --git a/README.md b/README.md index ca9088b..f7aa7a5 100644 --- a/README.md +++ b/README.md @@ -149,12 +149,12 @@ Now we have an idea about what is an **image**, how its **colors** are arranged, [WIP] -## A little bit of the past and present - -### Past +## History ### Present (AV1 vs HEVC) +### Patents + ## 1st step - picture partitioning Each picture is partitioned in several images units @@ -237,17 +237,19 @@ The idea is to lossless compress the quantized bitstream, for sure this article ## 6th step - bitstream format -After we did all these steps we need to **pack the compressed frames and context to these steps**. We need to explicitly inform to the decoder about **the decisions taken by the encoder**, things like: bit depth, color space, resolution, predictions info (motion vectors, direction of prediction), profile, level, frame rate and more. +After we did all these steps we need to **pack the compressed frames and context to these steps**. We need to explicitly inform to the decoder about **the decisions taken by the encoder**, things like: bit depth, color space, resolution, predictions info (motion vectors, direction of prediction), profile, level, frame rate, frame type, frame number and many more. -We're going to study superficially the H264 bitstream. Our first step is to [generate a minimal 1 H264 bitstream](/enconding_pratical_examples.md#generate-a-single-frame-h264-bitstream), we can do that using our own repository and [ffmpeg](http://ffmpeg.org/). +We're going to study, superficially, the H264 bitstream. Our first step is to [generate a minimal 1 H264 bitstream](/enconding_pratical_examples.md#generate-a-single-frame-h264-bitstream), we can do that using our own repository and [ffmpeg](http://ffmpeg.org/). ``` ./s/ffmpeg -i /files/i/minimal.png -pix_fmt yuv420p /files/v/minimal_yuv420.h264 ``` -> 1 It's not minimal since ffmpeg adds, by default, all the encoding parameter as a **SEI NAL**, soon we'll define what is a NAL. +> 1 ffmpeg adds, by default, all the encoding parameter as a **SEI NAL**, soon we'll define what is a NAL. + +This command will generate a raw h264 bitstream with a **single frame**, 64x64, with color space yuv420 and using the following image as the frame. -This command will generate a raw h264 bitstream with a single frame, 64x64 and with color space yuv420p. +> ![used frame to generate minimal h264 bitstream](/i/minimal.png "used frame to generate minimal h264 bitstream") ### H264 bitstream @@ -255,11 +257,11 @@ The AVC (H264) standard defines that the information will be send in **macro fra ![NAL units H264](/i/nal_units.png "NAL units H264") -There is the **synchronization marker** to define the boundaries among the NAL's units. Each synchronization marker holds a value of `0x00 0x00 0x01` except the first one which is `0x00 0x00 0x00 0x01`. If we run the **hexdump** on the minimal h264 bitstream we can identify at least three NALs. +There is a **synchronization marker** to define the boundaries among the NAL's units. Each synchronization marker holds a value of `0x00 0x00 0x01` except to the very first one which is `0x00 0x00 0x00 0x01`. If we run the **hexdump** on the generated h264 bitstream, we can identify at least three NALs in the beginning of the file. ![synchronization marker on NAL units](/i/minimal_yuv420_hex.png "synchronization marker on NAL units") -As we said before, the decoder needs to know not only the picture data but also the details of the video, the used parameters and others. The **first byte** of each NAL defines its category and **type**. +As we said before, the decoder needs to know not only the picture data but also the details of the video, frame, colors, used parameters and others. The **first byte** of each NAL defines its category and **type**. | NAL type id | Description | |--- |---| @@ -277,9 +279,9 @@ As we said before, the decoder needs to know not only the picture data but also | 12 | End of stream | | ... | ... | -Usually the first NAL of a bitstream is a **SPS** which makes sense, since this type of NAL is responsible to inform the general encoding variables like **profile**, **level**, **resolution** and others. +Usually the first NAL of a bitstream is a **SPS**, this type of NAL is responsible to inform the general encoding variables like **profile**, **level**, **resolution** and others. -If we skip the first synchronization marker we can decode the **first byte** to know what **type of NAL** is the following. +If we skip the first synchronization marker we can decode the **first byte** to know what **type of NAL** is the first one. For instance the first byte after the synchronization marker is `01100111`, where the first bit (`0`) is to the field **forbidden_zero_bit**, the next 2 bits (`11`) tell us the field **nal_ref_idc** which indicates whether this NAL is a reference field or not and the rest 5 bits (`00111`) inform us the field **nal_unit_type**, in this case it's a **SPS** (7) NAL unit. @@ -287,7 +289,7 @@ The second byte (`binary=01100100, hex=0x64, dec=100`) of a SPS NAL is the field ![SPS binary view](/i/minimal_yuv420_bin.png "SPS binary view") -When we read the H264 bitstream spec for a SPS NAL we'll find a **parameter name**, **category** and a **descriptor**, for instance let's look at `pic_width_in_mbs_minus_1` and `pic_height_in_map_units_minus_1` fields. +When we read the H264 bitstream spec for a SPS NAL we'll find a **parameter name**, **category** and a **description**, for instance let's look at `pic_width_in_mbs_minus_1` and `pic_height_in_map_units_minus_1` fields. | Parameter name | Category | Description | |--- |---|---| @@ -298,7 +300,19 @@ When we read the H264 bitstream spec for a SPS NAL we'll find a **parameter name If we do some math with the value of these fields we will end up with the **resolution**. We can represent a `1920 x 1080` using a `pic_width_in_mbs_minus_1` with the value of `119 ( (119 + 1) * macroblock_size = 120 * 16 = 1920) `, again saving space, instead of encode `1920` we did it with `119`. -It's like a protocol and if you want or need to learn more about this bitstream please read the [ITU H264 spec.]( http://www.itu.int/rec/T-REC-H.264-201610-I) Here's a macro diagram which shows where the picture data (compressed YUV) resides. +If we continue to examine our created video with a binary view (ex: `xxd -b -c 11 v/minimal_yuv420.h264`), we can skip to the last NAL which is the frame itself. + +![h264 idr slice header](/i/slice_nal_idr_bin.png "h264 idr slice header") + +We can see its first 6 bytes values: `01100101 10001000 10000100 00000000 00100001 11111111`. As we already know the first byte tell us about what type of NAL it is, in this case (`00101`) it's an **IDR Slice (5)** and we can further inspect it: + +![h264 slice header spec](/i/slice_header.png "h264 slice header spec") + +Using the spec info we can decode what type of slice (**slice_type**), frame number (**frame_num**) among others important fields. In order to decode some fields (`ue(v)`) we need to decode this binary using a special decoder called [Exponential-Golomb](https://pythonhosted.org/bitstring/exp-golomb.html), this method is very efficient to encode variable values. + +> The values of **slice_type** and **frame_num** of this video are: 7 (I slice) and 0 (the first frame). + +We can see the **bitstream as a protocol** and if you want or need to learn more about this bitstream please refer to the [ITU H264 spec.]( http://www.itu.int/rec/T-REC-H.264-201610-I) Here's a macro diagram which shows where the picture data (compressed YUV) resides. ![h264 bitstream macro diagram](/i/h264_bitstream_macro_diagram.png "h264 bitstream macro diagram") diff --git a/i/slice_header.png b/i/slice_header.png new file mode 100644 index 0000000000000000000000000000000000000000..1d279ce08a4d0f857bd52bb4a5dd9b03d63766e9 GIT binary patch literal 79045 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