Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th July 2016, 18:16   #1  |  Link
asdf013cv
Registered User
 
Join Date: Jul 2016
Posts: 17
Questions about Reference Pixel Handling in HEVC intra prediction

Hi, I am reading the paper, Intra Coding of the HEVC Standard.
After figuring out reference sample substitution and smoothing, I have 2 questions about Reference Pixel Handling.

From the paper,
"all sample locations within one prediction block are projected to a single reference row or column
depending on the directionality of the selected prediction mode
(utilizing the left reference column for angular modes 2 to 17 and the above reference row for angular modes 18 to 34).",
can anyone explain what exactly it mean? (for example, 4x4 prediction block)

Also, the paper says
"The intra sample prediction process in HEVC is performed by extrapolating sample values
from the reconstructed reference samples utilizing a given directionality.",
why do I need extrapolation? All reference samples is available, isn't it? If it is, why cannot I use reference samples directly?

I also read the book, High Efficiency Video Coding (HEVC) Algorithms and Architectures, but it just make me more confused....
asdf013cv is offline   Reply With Quote
Old 28th July 2016, 22:30   #2  |  Link
FancyMouse
Registered User
 
Join Date: Sep 2014
Posts: 12
>can anyone explain what exactly it mean? (for example, 4x4 prediction block)
You just choose to start from row array, (exclusively) or column array, depending on your mode. That becomes the source of your prediction block.

>why do I need extrapolation? All reference samples is available, isn't it? If it is, why cannot I use reference samples directly?
Because most of the predictions have a non-trivial angle (i.e. not 0/45/90 degree). In those cases, to predict a pixel (x,y), its projection to reference row/column (x',0) or (0,y') might have a non-integer coordinate x' or y'. However you only have samples at integer coordinates.
FancyMouse is offline   Reply With Quote
Old 29th July 2016, 06:33   #3  |  Link
asdf013cv
Registered User
 
Join Date: Jul 2016
Posts: 17
Quote:
Originally Posted by FancyMouse View Post
>can anyone explain what exactly it mean? (for example, 4x4 prediction block)
You just choose to start from row array, (exclusively) or column array, depending on your mode. That becomes the source of your prediction block.
for example, the prediction block is
Code:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
if the prediction mode is 18, the reference row (after projecting) will be
Code:
0 1 2 3
if the prediction mode is 2, the reference column (after projecting) will be
Code:
0
4
8
12
is that right?
(how about other pixels? such as 5, 6 and 7.)
asdf013cv is offline   Reply With Quote
Old 29th July 2016, 22:08   #4  |  Link
FancyMouse
Registered User
 
Join Date: Sep 2014
Posts: 12
I don't understand what you mean. When you want to predict a block (meaning you have no knowledge on current block, and you try to guess the block using other information), you have some samples from above/left. You compute reference row/column from them. Then the prediction procedure fills the prediction of your current block using reference row/column (ultimately predict from above/left). You don't predict from the first row/column of the current block - you don't even have that information.
FancyMouse is offline   Reply With Quote
Old 30th July 2016, 11:50   #5  |  Link
asdf013cv
Registered User
 
Join Date: Jul 2016
Posts: 17
Quote:
Originally Posted by FancyMouse View Post
I don't understand what you mean. When you want to predict a block (meaning you have no knowledge on current block, and you try to guess the block using other information), you have some samples from above/left. You compute reference row/column from them. Then the prediction procedure fills the prediction of your current block using reference row/column (ultimately predict from above/left). You don't predict from the first row/column of the current block - you don't even have that information.
I always think I have the information about the current block...

Thanks a lot!
asdf013cv is offline   Reply With Quote
Reply

Tags
hevc. h.265, intra-prediction

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.