System on Chips: The secret behind the 21st Century Electronic device #2

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@steep2308·
0.000 HBD
System on Chips: The secret behind the 21st Century Electronic device #2
Good day everyone and thanks for always being there on the platform. In my [last post](https://busy.org/@steep2308/system-on-chips-the-secret-behind-the-21st-century-electronic-device), I started discussion on system on Chips, I guess you find it interesting. Well that's just the tip of the iceberg. Technology has made life easier I would say. You know, when I was growing up, I was told that the people then do send message to a far distance using symbols and codes through a messenger .

What do computer used today? Is it not data in form of  code and symbols?. So we can see that world is revolving around code system (algorithms)

Okay, let me continue from where I stopped. I guess you enjoy  the first part. Please if you haven't read it, just click on the link up there (last post).

##### Let's now move to application of System on Chips (SoC) in designing Video Decoder.

A video decoder is a collection of various electronic component joined together on a **printed circuit board** and then placed inside a single integrated circuit (IC) chip, which transforms base-band signal generated by analog video to digital video.

So what a video decoder does is to enable programmed control on the characteristics of video like video hue (video color appearance, just as it appears on the monitor screen as either red, blue yellow; I hope you get my point), video contrast (variation in colour that makes an image of video discreet from other), and video saturation ( colorfulness of an image). I guess from my explanation, you would have understood what makes your monitor to display different color and why you can distinguish different images

Okay, let's continue to check video decoder in contrast with encoder. The encoder is in complete contrast to the decoder in that it changes digital to analog video.

 Having explained video decoder, let's move forward and see how SoC works in video Decoder.

 
To state again for emphasis purpose, System-on-a-Chip (SoC) is said to be the joining of all electronic components that makes up a computer into one integrated circuit . The function of the designer of SoC is to add up or integrate every part into a chip to execute  ultra-modern purpose within a specific limited time.

Comparing this century computer system to those in use in the 1990's, one would but agree with me that truly, things have changed. The old technology of MPEG-2 been used then is no more an efficient standard for video when we compared it to what we use now. As a result of this, new design was made from novel work.  [A little break in transmission here; do you still remember those days when you have to stand up from the chair to go and press that button or twist something on your television set (actually audio visual set) to change channel or to  increase or decrease the volume?. Well I guess you just smiled]

![800px-MPEG_Transport_Stream_HL.svg.png](https://gateway.ipfs.io/ipfs/Qmb7u8DQ8CkLoD3Yb4Ai9Y2kGeB59uFxpWq46ma8tieGSd)

[An MPEG Transport Stream CC BY 2.5,](https://commons.wikimedia.org/w/index.php?curid=630968)

This new design gave us the new video coding standard known as  H.264. Before we move to what H.264 means, let's see why it was even demanded for in the market!.


The rise in demand from costumers for well developed SoC devices leads to shorter design cycle and quick delivery of product to market. There was request from market that the end-use product should possess the most effective partition of hardware and software. Making a good profile provides an effective important role, this is because it resolve the restriction of the entire system.

It is imperative that the SoC designers keep a close balance between the hardware and software architectural design. Therefore, effective and good overall system operation with little cost will be obtained.


![Raspberry_Pi_3_B+_(39906369025).png](https://gateway.ipfs.io/ipfs/QmZ491swEvyswQx93v82KiRFFLXvxyY31mdbj4AKtZQ5nZ)

[A typical circuit board:By Gareth Halfacree from Bradford, UK - Raspberry Pi 3 B+, CC BY-SA 2.0,](https://commons.wikimedia.org/w/index.php?curid=67384207)

In H.264, the visual source is abridged to a little size without the quality been compromised. The signals given by video are of two notable types which are red undancy, i.e time-domain redundancy and spatial domain redundancy.

The H.264 standard shorten media in Macro Blocks (MBs). A single MB is a 16×16 pixel block. So what is that by the time the process kick start, the H.264 encoder put apart the progressing  video frame into multiple 16 ×16 MBs and the MBs are made one after another.

To be put into consideration is an important module known as  Motion Estimation (ME) in time discharge removing phase. At the end of breaking frames, MBs from the immediate and several former frames are now sent to the ME module.

Several computation and self-analysis operation takes place in this module, so the MB that is the nearest within the former frames which can be available to stand for the current MB is seen by the ME module.

In the spatial redundancy removing phase, Discrete Cosine Transform (DCT)  is employed as an important component to know the difference between the high/low frequency framework of the residue of an MB.

##### let me take us through the part of how H.264 video operates.

>A typical  H.264 video encoder(The SoC that converts the video information in other to standardized it, increase it speed and to compress it)  predict, change and encode processes to  give a compressed H.264 bitstream. While a H.264  video decoder performs the complementary partway of decoding, carry out reverse transformation and rebuilt in other to make a decoded video sequence.
[Source](https://www.vcodex.com/an-overview-of-h264-advanced-video-coding/)


![PARAM_SET_EN.JPG](https://gateway.ipfs.io/ipfs/QmXu6UDw5oqDvsPSpQ7iWaifAPhiFNrdWc8BndoEQdM7yg)


[H.264 decoder and Encoder:By Nonet84 - Own work, Public Domain,]( https://commons.wikimedia.org/w/index.php?curid=5470089)
The video encoder process a setting of video in units of a MB(16×16 displayed pexels). The encoder makes a prediction of the macroblocks using coded data collected previously from any of (Intra prediction) or from the other setting that are coded earlier and transmitted (inter prediction)

The encoder (Using SoC) functions by deducting the prediction away from the prevailing Macroblocks to have a "residual".

The method of prediction which H.264 supports are rather open-ended when compared with standards previously in use. This method enable precise prediction and therefore gives systematic video  size reduction. The intra prediction uses 16×16 and 4×4 block size to predict the Macroblocks from the environment, former coded pixel of equal form.

Inter prediction  on the other hand, utilize collection of block sizes from(16×16 down to 4×4) forecast pixel in the recent from similar territory in previously coded form.

A block of residual samples obtained when the encoder deducts prediction away from the prevailing Macroblocks is converted using a 4x4 or 8x8  integer transform a close form of the Discrete Cosine Transform (DCT). 

The transform yield a number of coefficient, each of which is a
adjustment value for a established basis pattern. After addition, the adjust basis pattern re-invent the block of the residual samples.

The product of the transform, which is a cluster of metamorphosed  coefficient, is measured, that is each of the coefficient is fractionated by an integer value.

[Quantization](https://en.m.wikipedia.org/wiki/Quantization_(signal_processing)) decrease the exactness of the changed coefficient in accordance with an quantization parameter (QP). The result obtained is typically a block in which some or whole of the coefficients are zero, and some coefficient not having a zero value.


https://s17.postimg.cc/b6vue73lr/H.264_block_diagram_with_quality_score.jpg


[H.264 Block diagram: By Karthikeyan R, Sainarayanan G, Deepa SN - https://openi.nlm.nih.gov/detailedresult.php?img=PMC4000353_40064_2014_885_Fig1_HTML&req=4, CC BY-SA 4.0,](https://commons.wikimedia.org/w/index.php?curid=55372268)

When quantization parameter (QP) is set to have a high value, it means that more of the coefficient are already put at zero, this leads to high compression resulting to a very poor quality image been decoded. 

You yourself can see this clearly when watching on your monitor a poor quality video. Where as,when the quantization parameter (QP) is set to have a low value, it simply shows that there are higher non-zero coefficients that remains at the end of quantization producing a decoded image of better quality however with a lower compression.

##### Bitstream Encoding

The process of coding video makes good number of values that have to be put into code in other to become the compressed bitstream. These values are those listed here.:


>•quantized transform coefficients
•information to enable the decoder to re-create the prediction
•information about the structure of the compressed data and •the compression tools used during encoding
•information about the complete video sequence.
[Source](https://www.vcodex.com/an-overview-of-h264-advanced-video-coding/)
##### Applications of H.264

H.264 Provides a great and amazing opportunity in providing compression and transmission backing.
For instance, an H.264 encoder can pick from a range of compression tools, thereby making it a good option for various usage from which may include it's application from low-bitrate, slow- delay Mobile transmission through a very high definition consumer Television to an expert television production.

##### Summary
In this post, I discussed the operation of video Decoder and Encoder.The whole scenario is based on program control non video characteristics.
I stated that the encoder is in complete contrast to the decoder in that it changes digital to analog video.

Also, I discussed about the transition from the old technology of MPEG-2 to the technology of H.264 which is a new coding standard based on the use of system on Chips which contains programmed information for the purpose of the coding of both encoder and decoder.
Thanks for stopping over to read this post. If you find this post to be interesting, please don't hesitate to comment and let's Rob minds together.

In the subsequent post, I will be talking about other use/applications of System on Chips.
### References
https://www.vcodex.com/an-overview-of-h264-advanced-video-coding/

http://www.palomartechnologies.com/applications/system-on-a-chip

https://file.scirp.org/Html/34902.html

https://en.m.wikipedia.org/wiki/Bitstream_format

https://en.m.wikipedia.org/wiki/Encoder
👍 , , , , , , , , , , , , , , ,