Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with reading Thor video codec block diagram #78

Open
Waranoi opened this issue Dec 6, 2018 · 1 comment
Open

Help with reading Thor video codec block diagram #78

Waranoi opened this issue Dec 6, 2018 · 1 comment

Comments

@Waranoi
Copy link

Waranoi commented Dec 6, 2018

I'm having trouble reading the data flow of the block diagram presented in the Review section. I did some self-study to try and understand it but so far with little success.

When trying to read it I get something like "The input video - (intra frame prediction and inter frame prediction) gets transformed, then quantize and finally do entropy encoding to get the bitstream." Is this right? And the line after intra frame prediction and inter frame prediction can either go to the block before transform or the block before loop filters. How do you know which path this flow will take? And when does the flow go to inverse transform, is it for decoding? If it is for decoding I'd expect to see some output video and input bitstream paths, is that wrong?

@leandromoreira
Copy link
Owner

That data flow shows (at the same time) a two-way pass: one for enCODing and other for DECoding.

From the perspective of the encoder (a very summarized view):

  • you will receive a full frame
  • if it's a frame better suited for temporal prediction it will be feed into inter
  • if it's a frame not suited for temporal prediction it will be feed into intra
  • after these predictions, you're going to do the transformations
  • from the transformations, you can discard bits by quantizing it
  • and then finally you can shrink it using an entropy encoding

From the perspective of the decoder (a very summarized view):

  • you will receive a full frame ("zipped" by entropy encoding)
  • you're going to unzip
  • and then you're going to dequantize (apply the inverter)
  • you're going to invert the transformation done (i.e. IDCT)
  • you will see which kind of prediction was did and then you're going to do the inverse
  • you will feed the decoder to display the frame

PS: this is a very VERY VERY summarized view, it's ignoring timing issues (time to decode, time to present) and many other details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants