PNG - Viquipèdia, l'enciclopèdia lliure
Vés al contingut
De la Viquipèdia, l'enciclopèdia lliure
Portable Network Graphics
PNG amb transparència (a sobre). El programari de gràfics sol indicar la transparència en un fons de quadrats blancs i negres
Tipus
estàndard ISO
algorisme de compressió sense pèrdua
compressió d'imatge
format de fitxer d'imatge de mapa de bits
Extensió
.png
MIME
image/png
Codi de tipus
PNGf
PNG
Uniform Type Identifier
public.png
Magic number
89 50 4e 47 0d 0a 1a 0a
Desenvolupador
PNG Development Group (donat a
W3C
Versió inicial
1 d'octubre de 1996
1996-10-01
Extensió de
algorisme de deflació
Extensió a
APNG
JNG
and
MNG
Estàndard
ISO
IEC
15948
IETF
RFC 2083
Format obert
Sí
Més informació
Stack Exchange
Etiqueta
Wiki del format de fitxer
PNG
Lloc web
libpng.org…
PNG
acrònim
de
Portable Network Graphics
, pronunciat
ping
) és un format gràfic basat en un
algoritme
de compressió sense pèrdua per
bitmaps
no subjecte a
patents
Aquest format va ser desenvolupat en bona part per solucionar les deficiències del format
GIF
i permet emmagatzemar
imatges
amb una major profunditat de
contrast
i altres dades importants.
Les imatges PNG utilitzen l'extensió .png i han obtingut un tipus MIME (imatge/png) aprovat el 14 d'octubre de 1996.
Història i desenvolupament
modifica
Les motivacions per crear el format PNG es van generar el 1995, després que la companyia
Unisys
anunciés que faria complir la
patent de software
de l'algoritme de
compressió de dades LZW
utilitzat pel
GIF
(patent dels
Estats Units
4.558.302 i altres en la resta del món). Hi havia altres problemes amb el format GIF que feien desitjable un canvi, per exemple la seva limitació a paletes de 8
bits
de 256
colors
com a màxim, quan els ordinadors ja suportaven milers o milions de colors.
Originalment PNG era un
acrònim recursiu
que significava PNG no és GIF (PNG’s Not GIF), fent al·lusió a la tradició de sigles recursives de
GNU
. Encara que GIF suporti
animació
, el PNG va desenvolupar-se com un format d'imatge estàtic i es va crear el format
MNG
com la seva variant animada.
El PNG va guanyar més popularitat l'agost de 1999 quan Unisys va posar fi a la seva política de llicenciats de patents lliures de drets pels desenvolupadors de programari lliure o no comercial.
L'especificació de la versió 1.0 de PNG va ser llançada l'1 de juliol de 1996 i després va aparèixer com
RFC 2083
. Ràpidament s va convertir en una recomanació
W3C
l'1 d'octubre de 1996.
La versió 1.1 amb alguns petits canvis i amb 3 noves extensions o «chunks» va ser alliberada el 31 de desembre de 1998.
La versió 1.2. Nova extensió. Va ser alliberada l'11 d'agost de 1999.
Nova versió, lleugerament diferent a la de l'anterior i amb una nova extensió. Actualment PNG és un estàndard internacional (
ISO/IEC
15940:2003), també recomanat per la W3C el 10 de novembre de 2003.
L'estàndard a partir de 2004 és (ISO/IEC 15948:2004).
Detalls tècnics
modifica
Un arxiu PNG comença com una firma de 8 bytes, els valors en
hexadecimals
són: 89 50 4E 47 0D 0A 1A 0A, els valors
decimals
són: 137 80 78 71 13 10 26 10; cada valor és allí per una raó específica.
Byte(s)
Propòsit
89
Té el bit més alt, posat a 1 per detectar sistemes de transmissió que no suporten dades de 8 bits i per reduir el risc que un
fitxer de text
sigui erròniament interpretat com a PNG.
50 4E 47
En
ASCII
, les lletres «PNG» permeten que una persona identifiqui el format en cas de veure’l en un
editor de text
0D 0A
Una nova línia amb estil
DOS
(CRLF) per detectar les conversions de final de línia entre DOS y UNIX.
1A
Un byte que atura el desplegament del
fitxer
sota DOS quan s'ha utilitzat el comandament TYPE.
0A
Una nova línia en UNIX (LF) per detectar la conversió de final de línia entre DOS y UNIX.
Segments de l'arxiu
modifica
Després de l'encapçalament es troben una sèrie de segments dels quals cada un guarda certa informació sobre la imatge. Els segments s'auto declaren com crítics (
critical
) o auxiliars (
ancillary
) de manera que un programa que troba un segment auxiliar i no l'entén pot ignorar-lo sense perill. L'estructura basada en segments està dissenyada per poder ampliar el format PNG mantenint la compatibilitat amb versions antigues. Cada una de les seccions té un encapçalament que especifica la seva mida i tipus, immediatament seguit de les dades i els
checksum
de les dades. Les seccions tenen un nom de 4
lletres
que és sensible a les majúscules. L'ús de
majúscules
minúscules
en el nombre esmentat prové dels descodificadors d'informació sobre les seccions que no són reconegudes. Si la primera lletra és majúscula indica que la secció és essencial, en cas contrari serà auxiliar. Les seccions essencials són necessàries per llegir el fitxer, si el descodificador troba una secció essencial que no reconeix ha d'avortar la lectura. En el cas que la segona lletra sigui majúscula, significarà que la secció és pública en especificació o el registre de seccions per propòsits especials, en cas contrari serà privada (no estandarditzada). Aquest ús de majúscules i minúscules assegura que mai hi hagi conflictes entres seccions públiques i privades. La tercera lletra ha d'estar en majúscules per complir les especificacions de PNG i està reservada per futures expansions. La quarta lletra indica si és segur copiar la secció en cas que no sigui reconeguda, en cas d'estar en minúscules és segur copiar la secció sense importar la quantitat de modificació que hagi sofert el fitxer, si és majúscula s'haurà de copiar si no hi ha seccions crítiques que hagin sofert modificacions.
Seccions essencials
modifica
Un descodificador ha de ser capaç d'entendre aquestes seccions per llegir i
renderitzar
un PNG:
IHDR, ha de ser la primera secció, contenent l'encapçalament.
PLTE, conté la paleta (llista de colors).
IDAT, conté la imatge que ha de ser dividida en múltiples seccions IDAT, fent això s'incrementa la mida de la imatge lleugerament però fa possible generar imatges PNG en
streaming
IEND, marca el final de la imatge.
Seccions de metadades
modifica
Altres atributs que poden ser guardats en una imatge PNG són: valors de gamma, color de fons i la informació textual. PNG també suporta correcció de color amb l'ús de sistemes de maneig del color com
sRGB
bKGD: conté el color de fons per defecte, s'utilitza quan no hi ha millor color disponible per mostrar, com en un visor d'imatges però en un
navegador
cHRM: balanç de blanc
gAMA: especifica la gamma
hIST: guarda l'histograma o quantitat total de cada color en la imatge.
iCCP: perfil ICC de color
iTXt: conté text
(UTF-8)
comprimit o no
pHYs: conté la mida prevista del
píxel
i/o la ràtio de la imatge.
sBIT: (bits significatius) indiquen l'exactitud dels colors en la imatge.
sPLT: suggereix una paleta per utilitzar en cas que el rang complet de colors no estigui disponible.
sRGB: indica que s'utilitza l'estàndard sRBG color space.
tWXt: emmagatzema text que pot ser representat en
ISO 8859-1
amb un nombre = valor per cada secció
tIME: emmagatzema la data de l'última modificació.
tRNS: conté informació sobre la transparència. Per imatges indexades emmagatzema el
canal alfa
per una o més paletes per imatges en color real i
escala de grisos
emmagatzema la informació d'un sol píxel que és considerat completament transparent.
zTXt: conté text comprimit amb els mateixos límits que tEXt.
La primera lletra en minúscules d'aquestes seccions indiquen que no són necessàries en l'especificació de PNG, L'última lletra en minúscula indica que és segur copiar-les inclús si l'aplicació en qüestió no la té.
Altres atributs que poden ser emmagatzemats en un PNG inclouen valors de
correcció gamma
, color de fons i
metadades
. PNG a més, també utilitza la correcció de color que utilitzen els sistemes d'administració de color com el
sRGB
. Alguns programes com
Adobe Photshop
disposen d'aquest sistema.
Profunditat de color
modifica
Les imatges en format PNG poden ser imatges de paleta indexada o estar formades per un o diversos
canals
. Si existeix més d'un canal, tots els canals tenen el mateix nombre de bits per
píxel
(també anomenat profunditat de bits per canal). Encara en l'
especificació oficial
del PNG es nombra la profunditat de bits per canal, normalment els programes d'edició nombren només la quantitat total dels bits per píxel, és a dir, la
profunditat de color
El nombre de canals depèn de si la imatge és en escala de grisos o en color i si disposa de canal alfa (també anomenat canal de transparència). Les combinacions permeses per PNG són:
Escala de grisos (1 canal).
Escala de grisos i canal alfa (2 canals).
Canals vermell, verd i blau (
RGB
, 3 canals, també anomenat
color vertader o Truecolor
).
Canals vermell, verd, blau i alfa (RGB + alfa, 4 canals).
D'altra banda, les
imatges indexades
disposen d'un màxim de 256 colors. Aquesta paleta de colors està emmagatzemada amb una profunditat de canal de 8 bits. La paleta no pot tenir més colors que els marcadors per la profunditat de bits, és a dir 2
=256 colors, encara que en pot tenir menys (per exemple, una imatge de 50 colors només emmagatzemarà 50 entrada, evitant emmagatzemar dades que no són utilitzades.
Transparència en la imatge
modifica
PNG ofereix una gran varietat d'opcions de transparència: amb el
color vertader
o escala de grisos, inclús un sol píxel pot ser declarat transparent o pot afegir-se un canal alfa. Per imatges que utilitzen paletes es poden afegir un canal alfa a les entrades de la paleta. El nombre dels valors esmentats emmagatzemats pot ser menor que el total d'entrades de la paleta, de manera que la resta de les entrades es consideraran completament opaques. La recerca de píxels amb transparència binària hauria de fer-se abans de qualsevol reducció de color per evitar que alguns píxels es converteixin en transparents accidentalment.
A diferència de la transparència oferta per
GIF
que només pot prendre 2 valors (completament transparent o completament opac), el canal alfa de PNG permet utilitzar major profunditat de bits per aconseguir efectes de semí-transparència, propis d'objectes translúcids. Per exemple, amb una profunditat de 8 bits per transparències es poden aconseguir
256
{\displaystyle 2^{8}=256}
graus de transparència, com si es tractés d'un color.
Compressió
modifica
El mètode de
compressió
utilitzat pel PNG és conegut com a
deflació
(a l'anglès «
Deflate algorithm
»). També existeixen mètodes de filtratge. En les especificacions de 1’2 es defineix un únic tipus de filtre que inclou 5 modes de predicció del valor del píxel que resulta molt útil de resta al color del píxel actual, el color pronosticat. Els cinc mètodes són None, Sub, Up, Average i Paeth.
Aquests filtres poden reduir notablement la mida final de l'arxiu, encara que depèn en gran manera de la imatge d'entrada. L'algoritme de compressió pot encarregar-se de l'adequada elecció de mètodes que ofereixin major reducció.
El tipus de media
MIME
per PNG és «imatge/png» (aprovat el 14 d'octubre de 1996).
Animació
modifica
APNG
és un format basat en PNG que suporta animació. APNG suporta el visionat d'una sola imatge en cas que el descodificador no entengui aquest format. És acceptat per Firefox i té extensió .png.
MNG
és un format d'imatge que suporta animació i està basat en les idees i en algunes seccions de PNG, però és un sistema complex i no permet el visionat d'una sola imatge, cosa que si que fa GIF i APNG.
Comparació tècnica amb altres formats
modifica
Comparació amb GIF
modifica
En la majoria dels casos PNG comprimeix millor que el format GIF, encara que algunes implementacions (vegis
Photoshop
) realitzen una mala selecció dels mètodes de filtratge i es generen fitxers de major mida.
El PNG admet, com el GIF,
imatges indexades
amb transparència d'1 bit o «binària». Aquest tipus de transparència no requereix un canal addicional i únicament admet que un color de la paleta aparegui transparent al 100%.
El PNG admet formats amb una profunditat de color de milions de colors (
color vertader
) i
canal alfa
, que proporcionen uns rangs de color molt més rics i precisos que el GIF i disposen de valors de transparència intermèdia. Lamentablement, això permet que es compari de forma errònia els PNG de color vertader com els GIF de color indexat (256 colors).
GIF suporta animació i PNG no.
Comparació amb JPG
modifica
PNG I
JPEG
són formats que estan dissenyats per funcions diferents, així que només se'n pot realitzar una comparació generalista:
JPEG té una relació de compressió enorme en perjudici de la qualitat de la imatge, ideal per imatges de mida gran i
fotografies
. No admet transparència.
PNG és un format sense pèrdua de qualitat amb un excel·lent compressió, ideal per imatges formades per grans àrees de color pla o amb poques variacions de color. Admet canal alfa i alguns atributs extra com la correcció gamma. Tot i així, no admet mode CMYK, així que no és del tot útil per dissenys d'
impressió
PNG a la web
modifica
Tot i que les característiques tècniques i de compressió fan del PNG un format ideal per a substituir el GIF, la seva adopció ha estat molt lenta degut en part a comparacions errònies i a alguns desavantatges tècnics.
No està suportat per alguns navegadors molt vells (tot i que aquests navegadors són molt poc comuns avui en dia).
L'administració de color fallava en alguns navegadors (actualment no és molt important i es pot evitar).
Falses creences
modifica
Internet Explorer
6 no suporta imatges PNG transparents». S'hauria de matisar un punt. Internet Explorer 6 i inferiors admeten transparències binàries com al
GIF
, però fallen al mostrar imatges amb canal alfa. Això és degut al fet que el paquet que especifica el canal alfa és opcional (
tRNS
) segons l'especificació PNG, tot i així
Internet Explorer 7
sí que els admet.
«Les imatges en PNG pesen més que els GIF»- Altra vegada no és veritat. Aquesta falsa creença és deguda al fet que es compara amb PNGs mal codificats o de 32 bits amb GIFs de 256 colors.
Problemes de colors
modifica
Algunes versions d'alguns
navegadors web
presenten els valors de correcció gamma inclús quan estan especificats en el PNG. Navegadors coneguts amb problemes de visualització PNG:
Internet Explorer 5.5 i 6.
Netscape
7.0 a 7.2.
Opera
(versions anteriors a la 7.50).
L'efecte final és que el color mostrat en el PNG no coincideix amb l'esquema de color de la resta de la
pàgina web
. Una forma senzilla d'evitar això és tornant a codificar el PNG truncant certs atributs. Algunes utilitats per a aquest fi:
PNGOUT
és una utilitat gratuïta de
DOS
que utilitza un algoritme exclusiu per recomprimir un PNG i reduir la mida del fitxer al mínim, sense pèrdues.
Superpng
, és un
plugin
gratuït per
Photoshop
que permet l'optimització de fitxers PNG.
OptiPNG
és una utilitat gratuïta de DOS que recomprimeix un PNG, reduint la seva mida sense pèrdues.
Referències
modifica
Wikimedia Commons
hi ha contingut multimèdia relatiu a:
PNG
ISO/IEC 15948:2004 - Information technology -- Computer graphics and image processing -- Portable Network Graphics (PNG): Functional specification
».
[Consulta: 19 febrer 2011].
PNG (Portable Network Graphics) Home Site
».
[Consulta: 25 febrer 2025].
PNG - Terminologia de la fotografia digital |
TERMCAT
».
[Consulta: 20 juliol 2024].
PNG Definition - What is a PNG file?
».
[Consulta: 20 juliol 2024].
What is a PNG (Portable Network Graphics)?
(en anglès).
[Consulta: 20 juliol 2024].
Image file type and format guide - Web media technologies | MDN
(en anglès americà),
09-07-2024.
[Consulta: 20 juliol 2024].
Compressió de dades
de formats
multimèdia
Compressió de vídeo
ISO
IEC
MPEG
MJPEG
Motion JPEG 2000
MPEG-1
MPEG-2
Part 2
MPEG-4
Part 2 / ASP
Part 10 / AVC
Part 33 / IVC
MPEG-H
Part 2 / HEVC
MPEG-I
Part 3 / VVC
MPEG-5
Part 1 / EVC
ITU-T
VCEG
H.120
DCT
H.261
H.262
H.263
H.264 / AVC
H.265 / HEVC
H.266 / VVC
DV
SMPTE
VC-1
VC-2
VC-3
VC-5
TrueMotion
TrueMotion S
DCT
VP3
VP6
VP7
VP8
VP9
AV1
Altres
Apple Video
AVS
Bink
Cinepak
Daala
DVI
FFV1
Huffyuv
Indeo
Lagarith
Microsoft Video 1
MSU Lossless
OMS Video
Pixlet
ProRes 422
ProRes 4444
QuickTime
Animation
Graphics
RealVideo
RTVideo
SheerVideo
Smacker
Sorenson Video/Spark
Theora
Thor
WMV
XEB
YULS
Compressió d'àudio
ISO
IEC
MPEG
MPEG-1 Layer II
Multichannel
MPEG-1 Layer I
MPEG-1 Layer III (MP3)
AAC
HE-AAC
LD-AAC
MPEG Surround
MPEG-4 ALS
MPEG-4 SLS
MPEG-4 DST
MPEG-4 HVXC
MPEG-4 CELP
MPEG-D USAC
MPEG-H 3D Audio
ITU-T
G.711
Llei A
Llei Mu
G.718
G.719
G.722
G.722.1
G.722.2
G.723
G.723.1
G.726
G.728
G.729
G.729.1
IETF
Opus
iLBC
Speex
Vorbis
3GPP
AMR
AMR-WB
AMR-WB+
EVRC
EVRC-B
EVS
GSM-HR
GSM-FR
GSM-EFR
ETSI
AC-3
AC-4
DTS
Altres
ACELP
ALAC
Asao
ATRAC
AVS
CELT
Codec 2
DRA
FLAC
iSAC
MELP
Monkey's Audio
MT9
Musepack
OptimFROG
OSQ
QCELP
RCELP
RealAudio
RTAudio
SD2
SHN
SILK
Siren
SMV
SVOPC
TTA
True Audio
TwinVQ
VMR-WB
VSELP
WavPack
WMA
MQA
aptX
aptX HD
aptX Low Latency
aptX Adaptive
LDAC
LHDC
LLAC
Compressió d'imatges
ISO
IEC
ITU-T
CCITT Group 4
DCT
HEIC
HEVC
JPEG
JPEG XL
JPEG XR
JPEG XT
TIFF/EP
Aritmètica
JBIG
JBIG2
JPEG-LS
JPEG 2000
LZ
GIF
PNG
TIFF
TIFF/IT
Altres
APNG
AVIF
BPG
DjVu
EXR
FLIF
ICER
MNG
PGF
QTVR
WBMP
WebP
Contenidors multimèdia
General
MPEG-ES
MPEG-PES
MPEG-PS
MPEG-TS
ISO/IEC base media file format
MPEG-4 Part 14
(MP4)
Motion JPEG 2000
MPEG-21 Part 9
MPEG media transport
ITU-T
H.222.0
T.802
IETF
RTP
Ogg
SMPTE
GXF
MXF
Altres
3GP and 3G2
AMV
ASF
AIFF
AVI
AU
BPG
Bink
Smacker
BMP
DivX Media Format
EVO
Flash Video
IFF
M2TS
Matroska
WebM
QuickTime File Format
RatDVD
RealMedia
RIFF
WAV
MOD and TOD
VOB, IFO and BUP
Col·laboracions
NETVC
MPEG LA
HEVC Advance
Mèdodes
Transformada cosinus discreta
DCT
MDCT
Entropia
Aritmètica
Huffman
Modificada
FFT
LPC
ACELP
CELP
LSP
WLPC
Lossless
Lossy
LZ
Algorisme de deflació
LZW
PCM
Llei A
Llei Mu
ADPCM
DPCM
Transform
Wavelet
Daubechies
DWT
Transformació
Llistes
Comparació de formats de codificació d'àudio
Comparació de còdecs de vídeo
Llista de còdecs
Viccionari
Registres d'autoritat
GND
Obtingut de «
Categoria
Formats de fitxer d'imatge
Categories ocultes:
Pàgines amb enllaç commonscat des de Wikidata
Control d'autoritats
PNG
Afegeix un tema
US