Knowledge (XXG)

Context-adaptive variable-length coding

Source πŸ“

135: 33: 780: 705: 282:
The level (magnitude) of non-zero coefficients tends to be higher at the start of the reordered array (near the DC coefficient) and lower towards the higher frequencies. CAVLC takes advantage of this by adapting the choice of VLC look-up table for the β€œlevel” parameter depending on recently coded
265:(CABAC). CAVLC requires considerably less processing to decode than CABAC, although it does not compress the data quite as effectively. CAVLC is supported in all H.264 profiles, unlike CABAC which is not supported in Baseline and Extended profiles. 278:
The number of non-zero coefficients in neighbouring blocks is correlated. The number of coefficients is encoded using a look-up table; the choice of look-up table depends on the number of non-zero coefficients in neighbouring
261:
technique, like almost all entropy-coders. In H.264/MPEG-4 AVC, it is used to encode residual, zig-zag order, blocks of transform coefficients. It is an alternative to context-based adaptive binary
729:
The decoder has inserted two zeros; however, TotalZeros is equal to 3 and so another 1 zero is inserted before the lowest coefficient, making the final output array: 0, 3, 0, 1, βˆ’1, βˆ’1, 0, 1
268:
CAVLC is used to encode residual, zig-zag ordered 4Γ—4 (and 2Γ—2) blocks of transform coefficients. CAVLC is designed to take advantage of several characteristics of quantized 4Γ—4 blocks:
156: 50: 275:
The highest non-zero coefficients after zig-zag scan are often sequences of +/βˆ’ 1. CAVLC signals the number of high-frequency +/βˆ’1 coefficients in a compact way.
207: 97: 179: 69: 821: 726:
Decoding: The output array is β€œbuilt up” from the decoded values as shown below. Values added to the output array at each stage are underlined.
186: 76: 193: 83: 226: 175: 116: 65: 855: 160: 54: 814: 200: 145: 90: 850: 164: 149: 43: 840: 807: 765: 272:
After prediction, transformation and quantization, blocks are typically sparse (containing mostly zeros).
738: 748: 258: 241: 711:
0, 3, 0, 1, βˆ’1, βˆ’1, 0, 1, 0… TotalCoeffs = 5 (indexed from highest frequency to lowest frequency )
262: 791: 787: 743: 254: 717:
T1s = 3 (in fact there are 4 trailing ones but only 3 can be encoded as a β€œspecial case”)
701:
In all following examples, we assume that table Num-VLC0 is used to encode coeff_token.
250: 845: 834: 292:
Parameters that required to be encoded and transmitted include the following table:
134: 32: 779: 723:
The transmitted bitstream for this block is 000010001110010111101101.
317:
Indicates which blocks within a macroblock contain coded coefficients
17: 704: 341:
Transmitted as a difference (mvd) from predicted motion vector
128: 26: 703: 325:
Transmitted as a delta value from the previous value of QP
795: 57:. Unsourced material may be challenged and removed. 333:Identify reference frame(s) for inter prediction 766:Context adaptive variable length coding tutorial 815: 8: 309:Prediction method for each coded macroblock 349:Coefficient data for each 4Γ—4 or 2Γ—2 block 163:. Unsourced material may be challenged and 822: 808: 506: 359: 227:Learn how and when to remove this message 176:"Context-adaptive variable-length coding" 117:Learn how and when to remove this message 66:"Context-adaptive variable-length coding" 294: 7: 776: 774: 501:No code required; last coefficient. 322:Quantizer parameter reference frame 257:video encoding. It is an inherently 161:adding citations to reliable sources 55:adding citations to reliable sources 794:. You can help Knowledge (XXG) by 25: 778: 133: 31: 42:needs additional citations for 1: 872: 773: 498:ZerosLeft=1; run_before=1 487:ZerosLeft=2; run_before=1 476:ZerosLeft=2; run_before=0 465:ZerosLeft=2; run_before=0 454:ZerosLeft=3; run_before=1 856:Computer science stubs 739:H.264 (entropy coding) 708: 530:Total Coeffs=5, T1s=3 330:Reference frame index 242:variable-length coding 707: 377:TotalCoeffs=5, T1s=3 749:Lossless compression 432:+3 (use Level_VLC1) 421:+1 (use Level_VLC0) 314:Coded block pattern 259:lossless compression 157:improve this article 51:improve this article 677:3, 1, βˆ’1, βˆ’1, 0, 1 663:3, 1, βˆ’1, βˆ’1, 0, 1 709: 695:, 1, βˆ’1, βˆ’1, 0, 1 851:Video compression 803: 802: 699: 698: 505: 504: 353: 352: 283:level magnitudes. 263:arithmetic coding 240:Context-adaptive 237: 236: 229: 211: 127: 126: 119: 101: 16:(Redirected from 863: 824: 817: 810: 788:computer science 782: 775: 744:Data compression 631:3, 1, βˆ’1, βˆ’1, 1 507: 360: 306:Macroblock type 295: 255:H.264/MPEG-4 AVC 232: 225: 221: 218: 212: 210: 169: 137: 129: 122: 115: 111: 108: 102: 100: 59: 35: 27: 21: 871: 870: 866: 865: 864: 862: 861: 860: 831: 830: 829: 828: 771: 762: 757: 735: 714:TotalZeros = 3 617:, 1, βˆ’1, βˆ’1, 1 358: 290: 249:) is a form of 233: 222: 216: 213: 170: 168: 154: 138: 123: 112: 106: 103: 60: 58: 48: 36: 23: 22: 15: 12: 11: 5: 869: 867: 859: 858: 853: 848: 843: 841:Entropy coding 833: 832: 827: 826: 819: 812: 804: 801: 800: 783: 769: 768: 761: 760:External links 758: 756: 753: 752: 751: 746: 741: 734: 731: 697: 696: 689: 686: 683: 679: 678: 675: 672: 669: 665: 664: 661: 658: 655: 651: 650: 645:3, 1, βˆ’1, βˆ’1, 643: 640: 637: 633: 632: 629: 626: 623: 619: 618: 612: 609: 606: 602: 601: 595: 592: 589: 585: 584: 578: 575: 572: 568: 567: 561: 558: 555: 551: 550: 545: 542: 539: 535: 534: 531: 528: 525: 521: 520: 517: 514: 511: 503: 502: 499: 496: 495:run_before(0) 492: 491: 488: 485: 484:run_before(1) 481: 480: 477: 474: 473:run_before(2) 470: 469: 466: 463: 462:run_before(3) 459: 458: 455: 452: 451:run_before(4) 448: 447: 444: 441: 437: 436: 433: 430: 426: 425: 422: 419: 415: 414: 411: 408: 404: 403: 400: 397: 393: 392: 389: 386: 382: 381: 378: 375: 371: 370: 367: 364: 357: 356:CAVLC examples 354: 351: 350: 347: 346:Residual data 343: 342: 339: 338:Motion vector 335: 334: 331: 327: 326: 323: 319: 318: 315: 311: 310: 307: 303: 302: 299: 289: 288:Coded elements 286: 285: 284: 280: 276: 273: 251:entropy coding 235: 234: 141: 139: 132: 125: 124: 39: 37: 30: 24: 14: 13: 10: 9: 6: 4: 3: 2: 868: 857: 854: 852: 849: 847: 844: 842: 839: 838: 836: 825: 820: 818: 813: 811: 806: 805: 799: 797: 793: 790:article is a 789: 784: 781: 777: 772: 767: 764: 763: 759: 754: 750: 747: 745: 742: 740: 737: 736: 732: 730: 727: 724: 721: 718: 715: 712: 706: 702: 694: 690: 687: 684: 681: 680: 676: 673: 670: 667: 666: 662: 659: 656: 653: 652: 648: 644: 641: 638: 635: 634: 630: 627: 624: 621: 620: 616: 613: 610: 607: 604: 603: 599: 596: 593: 590: 587: 586: 582: 579: 576: 573: 570: 569: 565: 562: 559: 556: 553: 552: 549: 546: 543: 540: 537: 536: 532: 529: 526: 523: 522: 519:Output array 518: 515: 512: 509: 508: 500: 497: 494: 493: 489: 486: 483: 482: 478: 475: 472: 471: 467: 464: 461: 460: 456: 453: 450: 449: 445: 442: 439: 438: 434: 431: 428: 427: 423: 420: 417: 416: 412: 409: 406: 405: 401: 398: 395: 394: 390: 387: 384: 383: 379: 376: 373: 372: 368: 365: 362: 361: 355: 348: 345: 344: 340: 337: 336: 332: 329: 328: 324: 321: 320: 316: 313: 312: 308: 305: 304: 300: 297: 296: 293: 287: 281: 277: 274: 271: 270: 269: 266: 264: 260: 256: 252: 248: 244: 243: 231: 228: 220: 209: 206: 202: 199: 195: 192: 188: 185: 181: 178: β€“  177: 173: 172:Find sources: 166: 162: 158: 152: 151: 147: 142:This article 140: 136: 131: 130: 121: 118: 110: 107:December 2022 99: 96: 92: 89: 85: 82: 78: 75: 71: 68: β€“  67: 63: 62:Find sources: 56: 52: 46: 45: 40:This article 38: 34: 29: 28: 19: 796:expanding it 785: 770: 728: 725: 722: 719: 716: 713: 710: 700: 692: 646: 614: 600:, βˆ’1, βˆ’1, 1 597: 580: 563: 547: 527:coeff_token 407:T1 sign (2) 396:T1 sign (3) 385:T1 sign (4) 374:coeff_token 301:Description 291: 267: 246: 239: 238: 223: 214: 204: 197: 190: 183: 171: 155:Please help 143: 113: 104: 94: 87: 80: 73: 61: 49:Please help 44:verification 41: 685:run_before 671:run_before 657:run_before 639:run_before 625:TotalZeros 440:TotalZeros 298:Parameters 835:Categories 755:References 720:Encoding: 429:Level (0) 418:Level (1) 217:April 2024 187:newspapers 77:newspapers 144:does not 733:See also 583:, βˆ’1, 1 574:T1 sign 557:T1 sign 541:T1 sign 524:0000100 513:Element 380:0000100 363:Element 253:used in 279:blocks. 201:scholar 165:removed 150:sources 91:scholar 608:Level 591:Level 533:Empty 516:Value 366:Value 203:  196:  189:  182:  174:  93:  86:  79:  72:  64:  786:This 605:0010 510:Code 435:0010 369:Code 247:CAVLC 208:JSTOR 194:books 98:JSTOR 84:books 18:CAVLC 846:MPEG 792:stub 649:, 1 622:111 566:, 1 446:111 180:news 148:any 146:cite 70:news 691:3, 682:01 636:10 611:+3 594:+1 490:01 457:10 159:by 53:by 837:: 688:1 674:0 668:1 660:0 654:1 642:1 628:3 588:1 581:βˆ’1 577:- 571:1 564:βˆ’1 560:- 554:1 544:+ 538:0 479:1 468:1 443:3 424:1 413:1 410:- 402:1 399:- 391:0 388:+ 823:e 816:t 809:v 798:. 693:0 647:0 615:3 598:1 548:1 245:( 230:) 224:( 219:) 215:( 205:Β· 198:Β· 191:Β· 184:Β· 167:. 153:. 120:) 114:( 109:) 105:( 95:Β· 88:Β· 81:Β· 74:Β· 47:. 20:)

Index

CAVLC

verification
improve this article
adding citations to reliable sources
"Context-adaptive variable-length coding"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

cite
sources
improve this article
adding citations to reliable sources
removed
"Context-adaptive variable-length coding"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
variable-length coding
entropy coding
H.264/MPEG-4 AVC
lossless compression
arithmetic coding

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑