[Mp4-tech] Regarding 8x8 CAVLC encoding in AVC Intra

Ramya Desai ramya.desai gmail.com
Sat Jan 19 14:21:57 EST 2008


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>
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] *On Behalf Of *Ramya Desai
> *Sent:* Friday, January 18, 2024 4:58 PM
> *To:* 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/d2e04a1b/attachment.html


More information about the Mp4-tech mailing list