Knowledge

Palette (computing)

Source 📝

331:, therefore 24 bits fully describe the color of each pixel. The full system palette for such hardware therefore has 2 colors. The objective of the usage of smaller palettes via CLUTs is to lower the number of bits per pixel by reducing the set of possible colors that are to be handled at once (often using adaptive methods). Each possible color is assigned an index, which allows each color to be referenced using less information than needed to fully describe the color. An example is the 256-color palette commonly used in the 299:'s color reproduction range are assigned an index, by which they can be referenced. By referencing the colors via an index, which takes less information than needed to describe the actual colors in the color space, this technique aims to reduce data usage, including processing, transfer bandwidth, RAM usage, and storage. Images in which colors are indicated by references to a CLUT are called 33: 268: 743:
system applies an internal algorithm to discard the least-used color in the system palette (generally, one used by another window in the background) and substitutes it with the new color. Due to there being limited room for colors in the system palette, the algorithm also tries to remap similar colors together and will always avoid creating redundant colors.
756:
those hardware palette entries no longer are free for its palette color management algorithm. The final result depends on the skills of the color-forcing program and the behavior of the other programs (although this problem is the same as in the regular case), and that of the operating system itself.
755:
An application can force the system palette to be loaded with specific colors (even in a specific order), "tricking" the system by telling it they are color entries intended for animation (quick color changes of the colors in the physical palette at specific entries). The system will then assume that
742:
its logical palette: The system tries to match the "logical" colors with "physical" ones. If an intended color is already present in the system palette, the system internally maps the logical to the system palette indexes (because they rarely coincide). If the intended color is not present yet, the
746:
The final result depends on how many applications are trying to show their colors on screen at the same time. The foreground window is always favored, so background windows may behave in different ways: from become corrupted to quickly redraw themselves. When the system palette changes, the system
424:
Then, when loading the mosaic of image thumbnails (or other heterogeneous images), the program simply maps every original indexed color pixel to its most approximated in the master palette (after dumping this into the hardware color registers), and writes the result in the video buffer. Here is a
734:
When a given application intends to output colorized graphics and/or images, it can set their own "logical palette", that is, its own private selection of colors (up to 256). It is supposed that every graphic element that the application tries to show on screen employs the colors of its logical
335:
file format, in which 256 colors to be used to represent an image are selected from the whole 24 bit color space, each being assigned an 8 bit index. This way, while the system can potentially reproduce any color in the RGB color space (as long as the 256 color restriction allows), the storage
751:
to inform every application. When received, a window can quickly redraw itself using a single Win32 API function. But this must be done explicitly in the program code; hence the fact that many programs fail to handle this event, and their windows will become corrupt in this situation.
625:
reserves space for Alpha channel values in its Color Table, however currently this space is not being used to hold any translucency data and is set to zero. By contrast, PNG supports alpha channels in palette entries, enabling semi-transparency in paletted images.
345: 558:: superimposing a given image over a background in such way that some part of the overlapped image obscures the background and the remaining not. Superimposing film/TV titles and credits is a typical application of video overlay. 389:
has sensibility to the three primary colors in different degrees: the more to the green, the less to the blue. So RGB arrangements can take advantage of this by assigning more levels for the green component and fewer to the blue.
485:
and its adaptive palette. Assuming a limited 8-bit depth graphic display, it is necessary to load a given image's adaptive palette into the color hardware registers prior to loading the image surface itself into the
578:, the overlapped image is placed anywhere over the background image, and it is blended in such way that if the pixel color index is the transparent color, the background pixel is kept, otherwise it is replaced. 363:
in a mosaic on screen, the program may not be able to load all the adaptive palettes of every displayed image thumbnail at the same time in the hardware color registers. A solution is to use a unique, common
561:
In the image to be superimposed (indexed color is assumed), a given palette entry plays the role of the transparent color. Usually the index number 0, but other may be chosen if the overlay is performed by
291:
is the set of available colors from which an image can be made. In some systems, the palette is fixed by the hardware design, and in others it is dynamic, typically implemented via a
350: 349: 346: 351: 518: 504: 727:
of the color display's hardware registers, primarily a physical palette, and it is a unique, shared common resource of the system. At boot, it is loaded with the
399:, but this does not leave space in the palette for reserved colors, color indices that the program could use for special purposes. It is more general to use only 348: 256: 511: 851: 439: 525: 381:"in miniature", limiting the possible levels that the red, green, and blue components may have. This kind of arrangement is sometimes referred to as a 633:
images, some video mixing equipment can employ the RGB triplet (0,0,0) (no red, no green, no blue: the darkest shade of black, sometimes referred as
566:. At design time, the transparent color palette entry is assigned to an arbitrary (usually distinctive) color. In the example below, a typical arrow 816: 494:. Here are samples of four different indexed color images with color patches to show their respective (and largely incompatible) adaptive palettes: 237: 645:
software can assume pure white, RGB triplet (255,255,255) from photos and illustrations to be excluded in order to let the text paragraphs
50: 429:
arranged colors plus 16 additional intermediate shades of gray; all images are put together without a significant loss of color accuracy:
608: 347: 825: 686:
are techniques which do not involve the use of palettes nor transparent color at all, but off-image added extra binary data layers.
575: 116: 861: 97: 604:
by hardware. In these cases, the transparent palette entry number is defined by the hardware, and it used to be the number 0.
69: 355:
An adaptive color palette expanding from 2 colors to 256 colors, demonstrating how the image changes (click to see animation)
54: 720:
display modes becomes questionable. These APIs deals with the so-called "system palette" and with many "logical palettes".
517: 735:
palette. Every program can manage freely one or more logical palettes without further expected interference (in advance).
474:
through some algorithm directly from the original image (by picking the most frequent colors). This way, and with further
76: 708:
applications manage the palette of 4-bit or 8-bit indexed color display devices through specialized functions of the
582: 83: 728: 695: 463: 426: 417: 411: 401: 395: 366: 230: 748: 567: 503: 65: 43: 765: 541: 574:
is designed over an orange background, so here the orange areas denoted the transparent areas (left). At
856: 510: 490:. To display different images with different adaptive palettes, they must be loaded one by one, as in a 581:
This technique is used for pointers, in typical 2-D videogames for characters, bullets and so on (the
724: 672: 656: 650: 223: 836: 799: 255: 642: 471: 831: 90: 821: 705: 438: 284: 524: 837:
The RGBQUAD color table entry in BITMAPINFO structure at Microsoft Developer Network (MSDN)
637:
in this context) as the transparent color. At design time, it is replaced by the so-called
660: 622: 571: 378: 316: 274: 206: 129:
This article is about color lookup tables. For color schemes used in design software, see
134: 377:
This is done by selecting colors in such way that the master palette comprises a full
267: 845: 683: 555: 547: 455: 312: 300: 196: 17: 717: 664: 630: 589: 459: 155: 130: 487: 328: 320: 296: 180: 175: 165: 146: 32: 679: 638: 406: 211: 170: 713: 709: 619:, freely selectable among any of the palette entries used for a given image. 491: 475: 386: 360: 324: 160: 374:, which can be used to display with reasonable accuracy any kind of image. 563: 458:
techniques, real life images are represented with better fidelity to the
731:(mainly a "master palette" which works well enough with most programs). 601: 295:(CLUT), a correspondence table in which selected colors from a certain 784: 597: 482: 343: 323:. Using this technique, 8 bits per pixel are used to describe the 678:
Although related (due to they are used for the same purposes),
425:
sample of a simple mosaic of the four image thumbnails using a
612: 593: 336:
requirement per pixel is lowered from 24 to 8 bits per pixel.
332: 26: 615:
natively support the designation of a given palette entry as
653:
for irregular text arrangement around the image's subjects.
478:, the indexed color image can nearly match the original. 393:
A master palette built this way can be filled with up to
738:
Before the output is effectively made, the program must
273:
The palette used in the image, shown rotating about the
133:. For the UI element also known as utility window, see 585:), video titling and other image mixing applications. 481:
But this creates a heavy dependence between the image
140:
In computer graphics, a finite set of available colors
832:
Color palettes at Microsoft Developer Network (MSDN)
57:. Unsourced material may be challenged and removed. 311:As of 2019, the most common image colorspace in 421:, which leaves room for some reserved colors. 231: 8: 498: 433: 814:Julio Sanchez and Maria P. Canton (2003). 238: 224: 142: 671:as the transparent color when performing 359:In an application showing many different 117:Learn how and when to remove this message 777: 470:), in which the colors are selected or 188: 145: 181:30-, 36-, or 48-bit color (deep color) 7: 554:color, in order to perform a simple 55:adding citations to reliable sources 712:. The applicability of palettes in 723:The "system palette" is a copy in 25: 852:Computer graphics data structures 800:MSDN. "RGBQUAD Color Table Entry" 667:, can employ the user designated 523: 516: 509: 502: 437: 266: 254: 171:15- or 16-bit color (high color) 31: 42:needs additional citations for 1: 550:image can be designated as a 546:A single palette entry in an 878: 693: 539: 128: 817:The PC Graphics Handbook. 696:List of software palettes 602:full screen video overlay 588:Some early computers, as 427:master palette of 240 RGB 176:24-bit color (true color) 641:. The same way, typical 600:supports sprites and/or 536:Transparency in palettes 66:"Palette" computing 862:Computer output devices 766:List of color palettes 729:default system palette 542:Transparency (graphic) 462:original one by using 356: 319:with 8 bits per pixel 657:2-D painting programs 396:8R×8G×4B = 256 colors 354: 327:level in each of the 785:Handmade Software's 747:triggers a specific 673:cut, copy, and paste 51:improve this article 18:Colour look-up table 607:Some indexed color 468:adaptative palettes 643:desktop publishing 629:When dealing with 609:image file formats 466:(sometimes termed 357: 293:color lookup table 706:Microsoft Windows 701:Microsoft Windows 690:Software palettes 531: 530: 464:adaptive palettes 445: 444: 372:universal palette 352: 285:computer graphics 248: 247: 127: 126: 119: 101: 16:(Redirected from 869: 802: 797: 791: 782: 669:background color 527: 520: 513: 506: 499: 450:Adaptive palette 441: 434: 420: 414: 404: 398: 361:image thumbnails 353: 270: 258: 240: 233: 226: 156:1-bit monochrome 143: 122: 115: 111: 108: 102: 100: 59: 35: 27: 21: 877: 876: 872: 871: 870: 868: 867: 866: 842: 841: 811: 806: 805: 798: 794: 783: 779: 774: 762: 703: 698: 692: 680:image bit masks 661:Microsoft Paint 623:BMP file format 620: 572:pointing device 544: 538: 452: 416: 410: 400: 394: 383:uniform palette 379:RGB color space 344: 342: 317:RGB color model 309: 281: 280: 279: 278: 277: 275:RGB color space 271: 263: 262: 259: 244: 207:RGB color model 161:8-bit grayscale 141: 138: 123: 112: 106: 103: 60: 58: 48: 36: 23: 22: 15: 12: 11: 5: 875: 873: 865: 864: 859: 854: 844: 843: 840: 839: 834: 829: 810: 807: 804: 803: 792: 789:User's Manual. 776: 775: 773: 770: 769: 768: 761: 758: 702: 699: 691: 688: 684:alpha channels 537: 534: 533: 532: 529: 528: 521: 514: 507: 451: 448: 447: 446: 443: 442: 418:6R×7G×6B = 252 412:6R×8G×5B = 240 402:6R×6G×6B = 216 367:master palette 341: 340:Master palette 338: 313:graphics cards 308: 305: 272: 265: 264: 260: 253: 252: 251: 250: 249: 246: 245: 243: 242: 235: 228: 220: 217: 216: 215: 214: 212:Web-safe color 209: 204: 199: 191: 190: 186: 185: 184: 183: 178: 173: 168: 163: 158: 150: 149: 139: 135:Palette window 125: 124: 107:September 2021 39: 37: 30: 24: 14: 13: 10: 9: 6: 4: 3: 2: 874: 863: 860: 858: 855: 853: 850: 849: 847: 838: 835: 833: 830: 827: 826:0-8493-1678-2 823: 819: 818: 813: 812: 808: 801: 796: 793: 790: 788: 787:Image Alchemy 781: 778: 771: 767: 764: 763: 759: 757: 753: 750: 744: 741: 736: 732: 730: 726: 721: 719: 715: 711: 707: 700: 697: 689: 687: 685: 681: 676: 674: 670: 666: 662: 658: 654: 652: 648: 644: 640: 636: 632: 627: 624: 618: 614: 610: 605: 603: 599: 595: 591: 586: 584: 579: 577: 573: 569: 565: 559: 557: 556:video overlay 553: 549: 548:indexed color 543: 535: 526: 522: 519: 515: 512: 508: 505: 501: 500: 497: 496: 495: 493: 489: 484: 479: 477: 473: 469: 465: 461: 457: 456:indexed color 449: 440: 436: 435: 432: 431: 430: 428: 422: 419: 413: 408: 403: 397: 391: 388: 385:. The normal 384: 380: 375: 373: 369: 368: 362: 339: 337: 334: 330: 326: 322: 318: 314: 306: 304: 302: 301:indexed color 298: 294: 290: 286: 276: 269: 257: 241: 236: 234: 229: 227: 222: 221: 219: 218: 213: 210: 208: 205: 203: 200: 198: 197:Indexed color 195: 194: 193: 192: 187: 182: 179: 177: 174: 172: 169: 167: 164: 162: 159: 157: 154: 153: 152: 151: 148: 144: 136: 132: 121: 118: 110: 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: 857:Color depths 815: 795: 786: 780: 754: 745: 739: 737: 733: 722: 704: 677: 675:operations. 668: 665:Deluxe Paint 655: 651:bounding box 649:the image's 646: 634: 628: 616: 606: 590:Commodore 64 587: 580: 560: 551: 545: 488:frame buffer 480: 467: 453: 423: 392: 382: 376: 371: 365: 358: 329:RGB channels 310: 292: 288: 282: 261:Sample image 201: 131:color scheme 113: 104: 94: 87: 80: 73: 61: 49:Please help 44:verification 41: 820:CRC Press. 617:transparent 552:transparent 454:When using 405:(as in the 321:color depth 307:Description 297:color space 166:8-bit color 147:Color depth 846:Categories 809:References 694:See also: 639:magic pink 635:superblack 540:See also: 407:Web colors 77:newspapers 718:Truecolor 714:Highcolor 710:Win32 API 647:to invade 631:truecolor 492:slideshow 476:dithering 472:quantized 460:truecolor 387:human eye 325:luminance 760:See also 564:software 303:images. 740:realize 659:, like 583:sprites 576:runtime 568:pointer 409:case), 315:is the 289:palette 202:Palette 189:Related 91:scholar 824:  570:for a 483:pixels 93:  86:  79:  72:  64:  772:Notes 749:event 598:Amiga 98:JSTOR 84:books 822:ISBN 716:and 682:and 663:and 621:The 596:and 287:, a 70:news 725:RAM 613:GIF 611:as 594:MSX 415:or 370:or 333:GIF 283:In 53:by 848:: 592:, 828:. 239:e 232:t 225:v 137:. 120:) 114:( 109:) 105:( 95:· 88:· 81:· 74:· 47:. 20:)

Index

Colour look-up table

verification
improve this article
adding citations to reliable sources
"Palette" computing
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
color scheme
Palette window
Color depth
1-bit monochrome
8-bit grayscale
8-bit color
15- or 16-bit color (high color)
24-bit color (true color)
30-, 36-, or 48-bit color (deep color)
Indexed color
Palette
RGB color model
Web-safe color
v
t
e

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