b'\n_START_ARTICLE_\nBiM\n_START_SECTION_\nIntroducci\xc3\xb3\n_START_PARAGRAPH_\nBiM compr\xc3\xa8n una gran quantitat d\'aplicacions i requeriments, proporcionant m\xc3\xa8todes gen\xc3\xa8rics per a transmetre i comprimir documents XML. El format binari MPEG per XML es basa en un esquema conegut pel codificador i el descodificador. Aix\xc3\xad es pot aconseguir una alta compressi\xc3\xb3 eficient i a la vegada, proporcionar mecanismes de fragmentaci\xc3\xb3 per assegurar una transmissi\xc3\xb3 i processat flexible._NEWLINE_El BiM tamb\xc3\xa9 defineix com s\'ha de compilar i transmetre la informaci\xc3\xb3 sobre l\'esquema necessari per a la descodificaci\xc3\xb3 de documents XML comprimits sense con\xc3\xa8ixer l\'esquema en el receptor, a priori._NEWLINE_Les especificacions t\xc3\xa8cniques per al BiM es troben a: MPEG systems technologies \xe2\x80\x93 Part 1: Binary MPEG format for XML (ISO/IEC 23001-1). I es pot utilitzar per a codificar MPEG-7 i MPEG-21, tal com s\'especifica en l\'ISO/IEC 15938-1 (MPEG-7 SYSTEMS) i 21000-16 (MPEG-21 Binary Format).\n_START_SECTION_\nConceptes de codificaci\xc3\xb3\n_START_PARAGRAPH_\nLa idea original de la codificaci\xc3\xb3 BiM per documents XML \xc3\xa9s la de reduir les possibilitats de codificaci\xc3\xb3 de cada component del document a trav\xc3\xa9s de descodificaci\xc3\xb3 contextual combinada amb l\'\xc3\xbas d\'informaci\xc3\xb3 dels esquemes. L\'estructura de codificaci\xc3\xb3 es basa principalment en l\'exemple de contingut de l\'esquema XML, i el format de codificaci\xc3\xb3 n\'extreu la seva font d\'optimitzaci\xc3\xb3._NEWLINE_El BiM \xc3\xa9s conscient dels esquemes de codificaci\xc3\xb3, aix\xc3\xad, per exemple, es basa en el fet que codificador i descodificador coneixen l\'esquema._NEWLINE_Hi ha la possibilitat que l\'esquema canvi\xc3\xaf al llarg del temps o que el descodificador no conegui tota la informaci\xc3\xb3 de l\'esquema. El BiM permet al codificador enviar el nou esquema al descodificador. La informaci\xc3\xb3 addicional de l\'esquema \xc3\xa9s enviada de tal forma que consumeixi el m\xc3\xadnim de recursos de la CPU del descodificador. Els esquemes s\xc3\xb3n codificats bin\xc3\xa0riament i transportats en una unitat d\'actualitzaci\xc3\xb3 d\'esquema (Schema Update Unit (SUU)).\n_START_SECTION_\nFragment Update Units (FUU)\n_START_PARAGRAPH_\nLa transmissi\xc3\xb3 d\'un document BiM \xc3\xa9s progressiva, i es fa a trav\xc3\xa9s d\'un conjunt d\'actualitzacions elementals, anomenades Fragment Update Units (FUU). Aquestes FUUs s\'empaqueten dins d\'unitats d\'acc\xc3\xa9s (AU). Les AU s\xc3\xb3n les unitats m\xc3\xa9s petites de transport, \xc3\xa9s a dir, el m\xc3\xadnim paquet que transmetrem. A les AU s\'hi associa informaci\xc3\xb3 temporal._NEWLINE_Cada FUU es compon d\'un cam\xc3\xad (FU context path). Aquest cam\xc3\xad apunta al node que s\'ha d\'afegir, actualitzar o eliminar de la versi\xc3\xb3 del document que t\xc3\xa9 el descodificador. A part del cam\xc3\xad, es compon d\'un payload que cont\xc3\xa9 la porci\xc3\xb3 del document transportat. El payload es defineix com la part d\'un corrent de dades que aporta informaci\xc3\xb3 sobre l\'usuari._NEWLINE_A la figura 2 es mostra el resultat d\'utilitzar la comanda "add" sobre l\'arbre actual del descodificador XML.\n_START_SECTION_\nContext Path\n_START_PARAGRAPH_\nDurant la descodificaci\xc3\xb3 d\'un FU Context Path, els noms i tipus dels elements es descodifiquen progressivament. Es comen\xc3\xa7a per l\'element arrel i es va baixant fins al seg\xc3\xbcent node. En cada nivell de l\'arbre, els codis transversals s\'assignen als possibles elements del cam\xc3\xad. A m\xc3\xa9s a m\xc3\xa9s, es descodifiquen les posicions dels elements ve\xc3\xafns.\n_START_SECTION_\nDescodificaci\xc3\xb3 payload\n_START_PARAGRAPH_\nEn cas de fer una descodificaci\xc3\xb3 payload, els noms i tipus dels elements es descodifiquen progressivament, des del primer element fins a l\'\xc3\xbaltim, tal com es mostra en la figura 4. En aquest cas no cal descodificar informaci\xc3\xb3 sobre la posici\xc3\xb3, i s\'utilitzen moltes t\xc3\xa8cniques per aconseguir una bona compressi\xc3\xb3._NEWLINE_La millor manera de codificar informaci\xc3\xb3 sobre l\'estructura \xc3\xa9s amb el descodificador d\'aut\xc3\xb2mats d\'estats finits (Finite State Automaton Decoders (FSAD)). L\'FSAD \xc3\xa9s un transductor que genera elements XML a partir de la lectura d\'alguns bits del corrent binari._NEWLINE_Els FSAD es construeixen a partir de la definici\xc3\xb3 de l\'esquema d\'un tipus complex. En concret, es basen en l\'estructura del model de contingut i en la posici\xc3\xb3 dels elements d\'aquest model._NEWLINE_La descodificaci\xc3\xb3 es realitza a partir de la propagaci\xc3\xb3 d\'un senyal (token) a trav\xc3\xa9s de l\'aut\xc3\xb2mat.\n_START_SECTION_\nDatatype codecs (c\xc3\xb2decs del tipus de dades)\n_START_PARAGRAPH_\nCada tipus simple (car\xc3\xa0cter, enter,...) es descodifica utilitzant c\xc3\xb2decs b\xc3\xa0sics proporcionats per les especificacions, com podrien ser la IEEE 754, UTF-8, compact integers, VLC integers, entre molts d\'altres. Tot i aix\xc3\xad, es poden afegir nous c\xc3\xb2decs espec\xc3\xadfics d\'algun tipus de llenguatge. Per fer-ho, utilitzarem un mecanisme anomenat type-codec mapping, definit en l\'est\xc3\xa0ndard._NEWLINE_Per tal de poder associar descodificadors espec\xc3\xadfics a cada tipus de dada, el BiM d\xc3\xb3na la possibilitat de definir descodificadors optimitzats avan\xc3\xa7ats. Els podem canviar d\'estat on/off (enc\xc3\xa8s/apagat) din\xc3\xa0micament durant el processament del document. Tamb\xc3\xa9 podem modificar alguns par\xc3\xa0metres de forma din\xc3\xa0mica._NEWLINE_Tot i que cada aplicaci\xc3\xb3 pot utilitzar els seus propis c\xc3\xb2decs, el BiM defineix tres c\xc3\xb2decs avan\xc3\xa7ats: uniform quantizer, non-uniform quantizer i zlib.'