[Mp4-tech] Regarding 8x8 CAVLC encoding in AVC Intra
Gary Sullivan
garysull windows.microsoft.com
Sat Jan 19 18:36:18 EST 2008
JVT-X201 is the latest. It is somewhat ahead of the publication process. For your purposes, the formally published one on the ITU-T is probably also fine.
Best Regards,
Gary Sullivan
________________________________
From: Ramya Desai [mailto:ramya.desai gmail.com]
Sent: Saturday, January 19, 2024 2:22 PM
To: Gary Sullivan
Cc: mp4-tech lists.mpegif.org
Subject: Re: [Mp4-tech] Regarding 8x8 CAVLC encoding in AVC Intra
Hi Gary,
Thanks for your kind help.
Now it was clear for me how to do 8x8 CAVLAC.
meanwhile, I am getting little confusion, there are so many documents on JVT ftp site and one in ITU site. Out of these which document should I stick to have clear picture.
Regards,
Ramya
On Jan 19, 2024 8:20 AM, Gary Sullivan <garysull windows.microsoft.com<mailto:garysull windows.microsoft.com>> wrote:
Ramya Desai et al,
In CAVLC operation, each 8x8 block is broken up into four 4x4 blocks for parsing purposes, and then the following rearrangement is applied: level8x8[ i8x8 ][ 4 * i + i4x4 ] = level[ i8x8 * 4 + i4x4 ][ i ].
This is specified in subclause 7.4.5.3.1 (of the JVT-X201 version), as follows:
Depending on MbPartPredMode( mb_type, 0 ), the following applies.
- If MbPartPredMode( mb_type, 0 ) is equal to Intra_16x16, the transform coefficient levels are parsed into the list i16x16DClevel and into the 16 lists i16x16AClevel[ i ]. i16x16DClevel contains the 16 transform coefficient levels of the DC transform coefficient levels for each 4x4 luma block. For each of the 16 4x4 luma blocks indexed by i = 0..15, the 15 AC transform coefficients levels of the i-th block are parsed into the i-th list i16x16AClevel[ i ].
- Otherwise (MbPartPredMode( mb_type, 0 ) is not equal to Intra_16x16), the following applies.
- If transform_size_8x8_flag is equal to 0, for each of the 16 4x4 luma blocks indexed by i = 0..15, the 16 transform coefficient levels of the i-th block are parsed into the i-th list level[ i ].
- Otherwise (transform_size_8x8_flag is equal to 1), for each of the 4 8x8 luma blocks indexed by i8x8 = 0..3, the following applies.
- If entropy_coding_mode_flag is equal to 0, first for each of the 4 4x4 luma blocks indexed by i4x4 = 0..3, the 16 transform coefficient levels of the i4x4-th block are parsed into the (i8x8 * 4 + i4x4)-th list level[ i8x8 * 4 + i4x4 ]. Then, the 64 transform coefficient levels of the i8x8-th 8x8 luma block which are indexed by 4 * i + i4x4, where i = 0..15 and i4x4 = 0..3, are derived as level8x8[ i8x8 ][ 4 * i + i4x4 ] = level[ i8x8 * 4 + i4x4 ][ i ].
NOTE - The 4x4 luma blocks with luma4x4BlkIdx = i8x8 * 4 + i4x4 containing every fourth transform coefficient level of the corresponding i8x8-th 8x8 luma block with offset i4x4 are assumed to represent spatial locations given by the inverse 4x4 luma block scanning process in subclause 6.4.3.
- Otherwise (entropy_coding_mode_flag is equal to 1), the 64 transform coefficient levels of the i8x8-th block are parsed into the i8x8-th list level8x8[ i8x8 ].
I think it was Lowell Winger who came up with that idea.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces lists.mpegif.org<mailto:mp4-tech-bounces lists.mpegif.org> [mailto: mp4-tech-bounces lists.mpegif.org<mailto:mp4-tech-bounces lists.mpegif.org>] On Behalf Of Ramya Desai
Sent: Friday, January 18, 2024 4:58 PM
To: mp4-tech lists.mpegif.org<mailto:mp4-tech lists.mpegif.org>
Subject: [Mp4-tech] Regarding 8x8 CAVLC encoding in AVC Intra
Dear Experts,
I am a new bee in video coding. I am trying to develop AVC Intra encoder as my project.
AVC intra standardises 8x8 blocks to be encoded.
Entropy encoding used in AVC intra 100 is CAVLC. Where as CAVLC has been defined for only 4x4 blocks.
Then how can I use this CAVLC 4x4 encoding to get 8x8.
Regards,
Ramya
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20080119/86ec6056/attachment.html
More information about the Mp4-tech
mailing list