Skip to content
ericperretPublic

About

Interactive DVB-S transmission tutorial - JPEG/DCT/Huffman to MPEG-TS, Reed-Solomon, QPSK/SRRC. Pure HTML/JS.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 JPEG2DVB — from image to DVB-S modulation

🇫🇷 Version française : LISEZMOI.md

▶️ Home page of the 15 steps

License: CC BY-NC 4.0

Page 02: 8×8 DCT

Interactive tutorial of the digital satellite TV chain: from capturing an image to shaping the QPSK signal, following MPEG-2 and DVB-S (EN 300 421). Each step is a standalone HTML page doing the real computations: it loads the file produced by the previous step (JSON or binary), processes it step by step with visualisation, and saves its result for the next step.

No library, no installation. User interfaces in French.

The steps

Step Launch Processing Input → output Screenshot
00 ▶️ Camera Image capture from the webcam webcam → image view
01 ▶️ Macroblocks RGB → YCbCr 4:2:0, 16×16 macroblocks (4 Y + 1 Cb + 1 Cr) image → macroblock JSON view
02 ▶️ DCT Centring −128, 8×8 2D DCT macroblocks → coefficients view
03 ▶️ Quantisation Division by the quantisation matrix (lossy) coefficients → quantised integers view
04 ▶️ Zigzag Zigzag scan of the 64 coefficients blocks → 64-value vectors view
05 ▶️ RLE + Huffman (run, level) pairs, variable-length codes vectors → bitstreams view
06 ▶️ Elementary Stream MPEG-2 sequence, GOP, picture headers, slices bitstreams → .es file view
07 ▶️ PES PES packets, PTS timestamps ES → PES view
08 ▶️ Transport Stream 188-byte packets, PAT and PMT tables PES → playable .ts file view
09 ▶️ PRBS Energy dispersal, polynomial 1 + X¹⁴ + X¹⁵, 8-packet super-frame TS → randomised TS view
10 ▶️ Reed-Solomon RS(204,188) shortened from RS(255,239), GF(2⁸) 0x11D, 8 correctable bytes 188 → 204 bytes view
11 ▶️ Interleaving Forney convolutional interleaver, I = 12, M = 17 RS blocks → interleaved stream view
12 ▶️ Convolutional coder K = 7, rate 1/2, G1 = 171₈, G2 = 133₈, optional puncturing stream → coded bits view
13 ▶️ QPSK 2 bits → I/Q symbol, Gray coding bits → I/Q symbols view
14 ▶️ SRRC filter Square-root raised-cosine pulse shaping symbols → shaped signal view

Usage

  1. Open step 00 (webcam) or 01 (image file).
  2. At each step: load the file from the previous step, run the processing (at once or step by step), save the output.
  3. Move on to the next step with that file.

History

Version Change
2026-10-17 Old SRRC filter removed (only v2 kept), pages renamed without copy suffix, header blocks, home page fixed, README / LISEZMOI rewritten, screenshot of every step

License

CC BY-NC 4.0

Author

Eric PERRET — GitHub

About

Interactive DVB-S transmission tutorial - JPEG/DCT/Huffman to MPEG-TS, Reed-Solomon, QPSK/SRRC. Pure HTML/JS.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages