rudyb
21st August 2014, 03:13
Hi,
I have been following the HM-14 model, and trying to understand the details of it, but I see something in the code, that I can not find the corresponding information in the spec.
This is what is happening, when it is trying to find the RD cost for let's say a CU size of 32x32 block:
1. It first finds PU for a 32x32 block.
2. It then computes the TU for at the same level for a 32x32 block.
3. It then computes the cost
4. But before changing the CU depth, it goes a level lower in computing PU and TU (so the steps follow is below):
5a. It finds PU for a 16x16 block (top left in the current 32x32 CU block)
5b. It finds TU for that 16x16 block
5c. computes the cost for that 16x16 block
6a. It finds PU for a 16x16 block (top right in the current 32x32 CU block)
6b. It finds TU for that 16x16 block
6c. computes the cost for that 16x16 block
7a. It finds PU for a 16x16 block (lower left in the current 32x32 CU block)
7b. It finds TU for that 16x16 block
7c. computes the cost for that 16x16 block
8a. It finds PU for a 16x16 block (lower right in the current 32x32 CU block)
8b. It finds TU for that 16x16 block
8c. computes the cost for that 16x16 block
To me this doesn't quite make sense, since in the spec it is mentioned that the PU size is always the same as CU size, except for the smallest CU size.
So CU size in this case is 32x32, and I was expecting to see that HM is actually using a PU size of 32x32 for both a TU size of 32x32 and TU size of 16x16 !! right ?!
Am I missing something? Why at the same CU size (32x32) it actually computes a PU size of (16x16) ? Shouldn't it always use the same PU size?
The following is the exact sentence copied from famous paper: http://www.ee.cuhk.edu.hk/~mhwang/website_files/eleg5431/HEVC_Overview.pdf
"This means that the PB size is always equal to the CB size when the CB is coded using an intrapicture prediction mode and the CB size is not equal to the minimum CU size" (page 1657).
Thanks,
--Rudy
I have been following the HM-14 model, and trying to understand the details of it, but I see something in the code, that I can not find the corresponding information in the spec.
This is what is happening, when it is trying to find the RD cost for let's say a CU size of 32x32 block:
1. It first finds PU for a 32x32 block.
2. It then computes the TU for at the same level for a 32x32 block.
3. It then computes the cost
4. But before changing the CU depth, it goes a level lower in computing PU and TU (so the steps follow is below):
5a. It finds PU for a 16x16 block (top left in the current 32x32 CU block)
5b. It finds TU for that 16x16 block
5c. computes the cost for that 16x16 block
6a. It finds PU for a 16x16 block (top right in the current 32x32 CU block)
6b. It finds TU for that 16x16 block
6c. computes the cost for that 16x16 block
7a. It finds PU for a 16x16 block (lower left in the current 32x32 CU block)
7b. It finds TU for that 16x16 block
7c. computes the cost for that 16x16 block
8a. It finds PU for a 16x16 block (lower right in the current 32x32 CU block)
8b. It finds TU for that 16x16 block
8c. computes the cost for that 16x16 block
To me this doesn't quite make sense, since in the spec it is mentioned that the PU size is always the same as CU size, except for the smallest CU size.
So CU size in this case is 32x32, and I was expecting to see that HM is actually using a PU size of 32x32 for both a TU size of 32x32 and TU size of 16x16 !! right ?!
Am I missing something? Why at the same CU size (32x32) it actually computes a PU size of (16x16) ? Shouldn't it always use the same PU size?
The following is the exact sentence copied from famous paper: http://www.ee.cuhk.edu.hk/~mhwang/website_files/eleg5431/HEVC_Overview.pdf
"This means that the PB size is always equal to the CB size when the CB is coded using an intrapicture prediction mode and the CB size is not equal to the minimum CU size" (page 1657).
Thanks,
--Rudy