Hello, Hallo, Bungiorno, Gruezi, Salve !
Bienvenue sur mon site web, choisissez le thème de votre choix et explorez-le !
Welcome on my website, choose on the theme you want to learn about
Wilkommen auf meiner Webseite, wählen Sie ein Thema und folgen Sie seiner Verbindung!
Je suis directrice d'un département d'ingénierie solution chez THALES Communications & Security, au sein duquel nous réalisons les ingénieries systèmes bout en bout des solutions de communications pour les forces armées : Armée de l'Air, Marine nationale et Armée de Terre. J'y contribue à fournir des solutions modernes et résiliente de communications aux forces, à y insérer les innovations technologiques en ligne avec l'état de l'art, et à développer de manière continue les équipes techniques pour que leur travail soit à la fois passionnant et utile.
Précédemment, j'ai occupé différents rôles de directrice technique, architecte système et responsable de projets toujours autour des solutions de communications radio-mobiles, en particulier dans le domaine aéro-naval militaire, mais aussi pour des usages civils. Mes sujets d'intérêt techniques concernent les enjeux d'architecture et d'optimisation des moyens de transmissions, et vous pourrez trouver plus de détails sur les sujets non-classifiés sur lesquels j'ai travaillé dans l'oblet "Mes travaux".
I am the director of a solution engineering department at THALES Communications & Security, where we carry out end-to-end system engineering communications solutions for the armed forces: Air Force, Navy and Army. In this position, I contribute to provide modern and resilient communications solutions to the forces, to insert technological innovations in line with the state of the art, and to continuously develop the technical teams so that their work is both exciting and useful.
Previously, I have held various roles as technical director, system architect and project manager always around mobile radio communication solutions, in particular in the military air and naval domain, but also for civilian uses. My technical interests are related to the architecture and optimisation of communications systems, and you can find more details on the unclassified topics I have worked on in the "Mes travaux" section.
Since the development of JPEG at the beginning of the nineties, which has became the most well known and used standard for still images compression, a new standardisation work was led by the JPEG consortium to establish a new standard based on a wavelet transform rather than on a DCT transform. Denoted by JPEG 2000, the first parts of this standard were established in 2000. Improvements were obtained when compared to JPEG, in particular JPEG 2000 offers or introduces:
- better coding performance for high compression rates,Nowadays, it is dubious that JPEG 2000 could replace JPEG in low complexity applications in the compression range where JPEG is efficient. On the other hand, it is plausible that the error resilience tools of JPEG 2000, as well as the error protection and correction tools offered by JPWL (JPEG 2000 Part 11) are good candidates for still images transmissions over error prone wireless channels.
The generation of the codestream in JPEG 2000 is illustrated in Figure 1.
The two main originalities of the standard is first to rely on a wavelet decomposition (see Figure 2 for an illustration) and then to have the compression function achieved by arithmetic coding.
The reader interested in full details of the standard can refer him/herself to the complete standard [1]. We will here focus on the organisation of the standard and precise a few details of its syntax.
As illustrated by Figure 3, the codestream beginning with a Main header, containing general information for the whole codestream and various tile-parts. A tile-part is defined as a portion of the codestream with compressed image data for some, or all, of a tile. The codestream ends then by a marker called EOC for End of Codestream.
In practice, the different blocks depicted in Figure 3 are made of dedicated stream segments called Marker Segment, which all have a common syntax presented in Figure 4. The first 16 bits of the marker segment, which consists in the marker are the label which will allow the decoder to discriminate the role of the upcoming marker segment and allow to process it correctly. The second set of 16 bits, which indicates the length of the marker segment minus the header allows a decoder to have knowledge of the number of parameters used in the marker segment ... but also to skip if the decoder can not interpret it.
Table 1 lists most of the different marker segments in JPEG 2000 syntax, and gives for each their full name, the marker short name and its corresponding 2 bytes code, and finally indicates in which header it can be found or not. In this table, required means that the marker or marker segment shall be in this header, whereas optional means it may be used but is not mandatory.
|
Symbol |
Code |
Main header |
Tile-part header |
Delimiting markers and markers segments |
|
|
|
|
Start of codestream |
SOC |
0xFF4F |
required |
not allowed |
Start of tile-part |
SOT |
0xFF90 |
not allowed |
required |
Start of data |
SOD |
0xFF93 |
not allowed |
last marker |
End of codestream |
EOC |
0xFFD9 |
not allowed |
not allowed |
Fixed information marker segments |
|
|
|
|
Image and tile size |
SIZ |
0xFF51 |
required |
not allowed |
Functional marker segments |
|
|
|
|
Coding style default |
COD |
0xFF52 |
required |
optional |
Coding style component |
COC |
0xFF53 |
optional |
optional |
Region-of-interest |
RGN |
0xFF5E |
optional |
optional |
Quantization default |
QCD |
0xFF5C |
required |
optional |
Quantization component |
QCC |
0xFF5D |
optional |
optional |
Progression order change |
POC |
0xFF5F |
optional |
optional |
Pointer marker segments |
|
|
|
|
Tile-part lengths |
TLM |
0xFF55 |
optional |
not allowed |
Packet length, main header |
PLM |
0xFF57 |
optional |
not allowed |
Packet length, tile-part header |
PLT |
0xFF58 |
not allowed |
optional |
Packed packet headers, main header |
PPM |
0xFF60 |
optional |
not allowed |
Packed packet headers, tile-part header |
PPT |
0xFF61 |
not allowed |
optional |
In bit stream markers and markers segments |
|
|
|
|
Start of packet |
SOP |
0xFF91 |
not allowed |
not allowed in tile-part header, optional in bit stream |
End of packet header |
EPH |
0xFF92 |
optional inside PPM marker segment |
optional inside PPT marker segment or in bit stream |
Informational marker segments |
|
|
|
|
Component registration |
CRG |
0xFF63 |
optional |
not allowed |
Comment |
COM |
0xFF64 |
optional |
optional |
The place and possible order of the markers is illustrated in Figure 5, Figure 6 and Figure 7 respectively for the Main Header, the first Tile-part of a Tile and any non-first Tile-part of a tile.
To give a better idea of when to use each marker, the name of marker to be used is indicated in Table 2 in relation with the type of information (and role) that can be provided within a JPEG 2000 codestream.
Information |
Marker segment |
Capabilities |
SIZ |
Tile index |
SOT, TLM |
Progression order |
COD |
Coding style |
COD, COC |
Region of interest shift |
RGN |
No quantization |
QCD, QCC |
Progression starting point |
POC |
Error resilience |
SOP |
End of packet header |
EPH |
Packet headers |
PPM, PPT |
Packet lengths |
PLM, PLT |
Component registration |
CRG |
Optional information |
COM |
Having established the composition of the headers and role of each segment, let now consider the composition of the data parts. As illustrated by Figure 8, the data parts consists of an aggregation of packets, where a packet is defined as a part of the bit-stream comprising a packet header and the compressed image data from one layer of one precinct of one resolution level of one tile-component. The order in which the packets are found is called the progression order.
The syntax of a packet is described in Figure 9, where one sees that the packet header can be (in error resilience mode) made protected by the presence of two markers: SOP and EPH delimiting the boundaries of the packet header. The packet body contains then the entropy coded data which is placed after the corresponding packet header. The packet header itself has a precise syntax, relying on the definition of a Tag Tree. It is not the purpose here to detail how to compute the Packet header and the Tag Tree, but any interested user can refer him/herself to [1] for more information.
Contrarily to predictive coding standards such as MPEG-x and H.26x ones, M-JPEG 2000 bitstreams are not organised as inter-dependant frames. Using the traditional notations of predictive coding solutions, a M-JPEG 2000 codestream is then made only of Intra frames (I) which are non other than JPEG 2000 pictures, as illustrated by Figure 10.
Having stated that, it is easy to understand that the dependencies that will be observed in M-JPEG 2000 video streams are also dependencies present in JPEG 2000 codestreams. In particular, one understands easily that scalability features, relying on layered dispositions will lead to such dependencies. The reader interested in full details of the standard can refer him/herself to the complete standard [1]. We will here give an example of layers information repartition, to illustrate the principle of layers used in JPEG 2000. From the organisation of data packets presented in Figure 8, it is easy to understand the dependencies between layers and subbands. Typically, when a packet is lost, depending on the progression order, packets from layers greater than l, or componants greater than m in its subband n or packets from subbands greater than n can be lost.
Moreover, dependencies can result from the progression order in which the packets are transmitted depends of the organisation of the codestream. In the case of a progressive quality layer bitstream organisation, one will see the packet progression order providing the packets layer after layer, as illustrated by Figure 11. In the case of a progressive resolution bitstream resolution, as illustrated by Figure 12, the packets will be ordered so as to have the resolution refinements placed one after the other.
Brevets déposés, articles de revue, articles de conférence, chapitres d'ouvrage, contributions en standardisation et congrès sans actes
Divers autres choses ...
1. Liens et manuels utiles
- A not so short introduction to LaTeX (english version), by Tobias Oetiker et al.: format ps, format pdf
- Une courte introduction à LaTeX (version française), par Tobias Oetiker et al.: format dvi, format ps, format pdf
- The TEX catalogue on-line: http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html, alias CTAN. Tout ce qui a de près ou de loin un rapport à LaTeX : packages à jour, documentation, ... s'y trouve. Everything you need about LaTeX is there: up-to-date packages, documents, ...
2. Package Battail
Un petit package sympathique, battail.sty, à ajouter avec \usepackage{battail} en début de fichier. Ce package contient les définitions de différentes variables mathématiques : \bbbn, \bbbr, ... pour représenter les ensembles des entiers naturels, les réels ...
3. Modèle de rapport (pdflatex)
4. Modèle de mémoire de thèse (latex)
5. Installation miktex (latex sous windows)
Vous souhaitez utiliser latex et windows est votre OS ? Moi aussi, et personnellement j'utilise miktex avec Texniccenter. Essayez les !
1. Paramétrer X-Emacs sous Linux
Fichiers de paramétrages (couleurs, modes) pour X-Emacs sous Linux.
2. Introduction à Unix (cours)
Présentation sur Unix : généralités. Même s'il est un peu daté (1997 !) ce cours reste d'actualité pour les principes qu'il brosse.
3. Série de TP sous Unix
TP et exercices pour apprendre à maîtriser Linux/Unix. Allez, essayez :-)