Brevet FR2988880A1 — publié le 20131004

PROCEDE D'ARCHIVAGE D'IMAGES ET SYSTEME ASSOCIE L'invention concerne le domaine du stockage et de l'archivage d'images à long terme, notamment pour des images médicales. Les images médicales représentent des volumes de données de plus en plus importants à gérer. Certaines réglementations imposent un temps de stockage de ces images important pouvant aller jusqu'à 20 ans. L'accès à ces images sans perte de qualité doit être rapide et quasi immédiat les trois premières années de stockage. Le temps d'accès aux images stockées peut progressivement se ralentir au cours du temps jusqu'à in fine devenir indirect ou différé (exemple stockage sur CD ou autre support). La compression des images médicales avec perte de qualité n'est acceptée qu'après un temps bien défini par la réglementation et qui est supérieur à 3 ans. Par ailleurs, la réglementation en vigueur prévoit que les lieux de stockage des images médicales répondent à des contraintes fortes nécessitant un agrément (sécurité d'accès, un médecin doit faire partie de l'équipe de gestion, etc ) De nombreux problèmes se posent, notamment la problématique d'archivage à long terme des données. Les systèmes existants tels que les PACS (Picture Archive and Communication Systems en anglais, soit les systèmes de communication et d'archivage d'images) gèrent l'ensemble des métadonnées alphanumériques associées aux images dans des bases de données relationnelles classiques et les images médicales sous la fol me de fichiers au niveau des SGF (Système de Gestion de Fichiers). Ce mécanisme entraine rapidement des saturations d'espace disque et impose des extensions de SGF. Par ailleurs ces systèmes PACS gèrent les images médicales sans tenir compte de leur nature ou de leurs propriétés, alors que la nature de l'image telle que la modalité de capture de l'image, i.e. Scanner, IRM, Radiologie numérisée, Image ultrasonore, Médecine nucléaire, ..., la pathologie du patient ou la fréquence d'accès à l'image sont des propriétés qui impactent son processus de vieillissement. Ainsi le temps passé par une image médicale dans la mémoire rapide doit en effet être déterminé en fonction de la modalité de capture de l'image, de la pathologie du patient à partir duquel l'image est capturée, de la fréquence d'accès de l'image ou d'autres paramètres. Par exemple, le temps passé dans la mémoire rapide par une image de fracture osseuse n'est pas le même que le temps passé par une image de tumeur cérébrale. Il existe donc un besoin pour un mécanisme amélioré d'archivages d'images, et notamment des images médicales. A cet effet, l'invention propose d'élaborer un système de persistance des images intégrant un processus permettant d'enfouir dans des strates (des supports de mémoire physiques) plus ou moins profondes (i.e. des plus rapides vers les plus lentes) des archives d'images, notamment d'images médicales. Plus particulièrement, l'invention concerne un procédé d'archivage d'images comprenant les étapes consistant à : partitionner un ensemble d'images en n classes C, 41, n], en fonction de règles d'ordonnancement; répartir les images entre une pluralité de conteneurs de stockage, chaque conteneur étant dédié au stockage d'images d'une classe donnée; contrôler une migration d'au moins une image d'un conteneur dédié à une première classe vers un conteneur dédié à une deuxième classe, une fonction de transformation étant appliquée à l'image lors de la migration. L'invention concerne aussi un système d'archivage d'images comprenant : un ordonnanceur adapté à partitionner un ensemble d'images en n classes C' id 1 , n], en fonction de règles d'ordonnancement; un optimiseur d'image ; une pluralité de conteneurs, chaque conteneur étant dédié au stockage d'images d'une classe donnée, dans lequel l'ordonnanceur est adapté à contrôler une migration d'au moins une image d'un conteneur dédié à une première classe vers un conteneur dédié à une deuxième classe, l'optimisateur d'image étant adapté à transformer l'image lors de sa migration. Le procédé et le système d'archivage selon l'invention sont totalement indépendants des outils de type PACS utilisés puisqu'ils interviennent en aval de ces derniers. Le processus de migration des images d'un conteneur vers un autre conteneur au cours du cycle de stockage des images permet de réduire la place mémoire occupée par les images et de maximiser les accès aux images considérées comme les plus importantes. Selon un mode de réalisation, le procédé comprend une étape consistant à contrôler la migration d'au moins une image d'un conteneur de la dernière classe vers une mémoire morte. Le système peut alors comprendre un robot de sauvegarde d'images sur une mémoire morte. Le procédé et le système d'archivage selon l'invention permettent de stocker sur de la mémoire morte les images au terme de leur processus de vieillissement, et d'archiver les images en fin de cycle de stockage. Selon des modes de réalisation, le partitionnement de l'ensemble des images est réalisé en fonction de l'âge des images. L'âge de chaque image peut être pondéré par des paramètres représentatifs de la fréquence d'accès à l'image et/ou d'un paramètre représentatif du contenu de l'image. Les règles d'ordonnancement du partitionnement définissent à un instant donné la classe d'appartenance d'une image en fonction de différents critères. Elles peuvent être définies en fonction de règles légales préétablies et/ou en fonction de paramétrages introduits par un utilisateur et/ou en fonction de propriétés liées à l'image. Le procédé et le système d'archivage selon l'invention permettent d'optimiser les performances et la fiabilité des systèmes de type PACS. En effet, le mécanisme de partitionnement de l'ensemble des images en différentes classes en fonction de certaines propriétés telles que la modalité de capture de l'image, la pathologie, la fréquence d'accès permet à l'utilisateur d'accéder plus rapidement à des images considérées comme critiques, par exemple relatives à des pathologies lourdes. Selon un mode de réalisation, la fonction de transformation appliquée à l'image lors de la migration apporte une réduction de la taille mémoire occupée par l'image. Le système et le procédé selon l'invention permettent ainsi une décroissance rapide du volume de données à stocker une maitrise de la taille mémoire du système de stockage. Chaque conteneur peut comprendre une mémoire de masse présentant des propriétés spécifiques adaptées à la classe correspondante pour réduire la quantité de mémoire requise pour le stockage d'une image. Par exemple, chaque conteneur peut être constitué par une partition sur une unité de stockage sécurisée de type RAID 5. Selon une application, les images sont des images médicales. Le système et le procédé selon l'invention trouvent une application particulièrement avantageuse dans le domaine des archives médicales où le volume de données traitées devient de plus en plus important. Les règles d'ordonnancement peuvent alors déterminer la classe d'appartenance d'une image en fonction d'au moins un paramètre défini pour une pathologie associée à cette image. Un tel paramètre peut être une durée de rétention minimale requise ou un degré d'accessibilité requis pour les images associées à cette pathologie. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-après, faite en référence aux figures annexées qui représentent : figure 1, un schéma d'un système d'archivage d'images selon l'invention ; figure 2, une illustration d'une interface homme-machine pour le paramétrage de la partition en classe d'âges dans un système selon l'invention ; figure 3, une illustration d'une interface homme-machine pour le paramétrage de critères de pondération de l'importance d'une image stockée dans un système selon l'invention ; figure 4, une illustration d'une interface homme-machine pour le paramétrage de l'optimisation des images stockées dans un système selon l'invention. La figure 1 illustre schématiquement un système d'archivage d'images selon l'invention. Un tel système est complémentaire d'un système de type PACS qu'il vient optimiser et fiabiliser. La figure 1 montre un ordonnanceur 1. Ce composant est responsable de la gestion du cycle de stockage des images. L'ordonnanceur 1 est adapté à accéder à un ensemble d'images E produites par des équipements de capture d'images, par exemple : scanner, IRM, radiologie numérisée, image ultrasonore, médecine nucléaire ou autre. La figure 1 montre aussi un optimisateur d'image 2. Ce composant est adapté à réduire la place (taille mémoire) utilisée par chaque image à stocker. La figure 1 montre encore une pluralité de conteneurs 3, chaque conteneur étant dédié au stockage d'images d'une classe donnée. Le partitionnement en différentes classes de l'ensemble des images E produites sera décrit plus en détails plus bas. Les conteneurs 3 sont dédiés à la persistance des différentes classes d'images ; ils permettent le stockage des images selon leurs classes d'appartenance sur des systèmes de mémoire de masse. Ainsi chaque conteneur 3 dédié au stockage des images d'une classe donnée pourra être représenté physiquement par une partition sur une unité de stockage sécurisée de type RAID 5 par exemple. Chaque conteneur 3 présentera des propriétés (capacité mémoire, mémoire vive, temps d'accès...) spécifiques et donc des performances adaptées à la classe d'images correspondante, c'est-à-dire correspondant aux performances requises pour cette classe d'image. Ainsi au moins un paramètre caractérisant les performances de ce conteneur et les performances requises pour les images d'une classe d'image sera utilisé pour sélectionner le conteneur adapté à cette classe d'image. Le conteneur est par exemple sélectionné en fonction d'un temps d'accès moyen à un fichier de ce conteneur et d'un temps d'accès minimal requis pour les images de la classe d'images considérée. La figure 1 montre en outre un robot 4 de sauvegarde d'images sur une mémoire morte. Ce robot 4 permet le stockage des images de la dernière classe d'images (images de la classe n sur la figure 1) sur de la mémoire morte telle que des bandes par exemple. L'ordonnanceur 1 du système est adapté à contrôler le partitionnement de l'ensemble des images en différentes classes et à contrôler une migration des images d'un conteneur 3 d'une classe donnée (classe 1 par exemple) vers un conteneur 3 d'une classe de niveau sous-jacent (classe 2 par exemple) en fonction de règles d'ordonnancement. Ces règles d'ordonnancement seront décrites plus en détails plus bas ; elles sont notamment définies en fonction de règles légales préétablies et/ou en fonction de paramètres introduits par un utilisateur du système et/ou en fonction de propriétés liées à ]'image. L'optimisateur d'image 2 est adapté à transformer des fichiers associés aux images stockées lors de leur migration d'un conteneur 3 d'une classe donnée vers un conteneur 3 d'une classe de niveau sous-jacent. Cette transformation comprend une réduction de la taille de l'image. La transformation opérée par l'optimisateur d'image 2 est basée sur des règles légales préétablies et/ou sur des règles définies par l'utilisateur (le corps médical et notamment les radiologues par exemple). On utilise le terme « classe de niveau sous-jacent » car les images migrent d'une classe à l'autre en perdant progressivement de leur qualité, du fait de la transformation qui leur est appliquée à chaque changement de classe, et de leur accessibilité, du fait notamment des performances respectives des différents conteneurs associées respectivement aux différentes classes. L'optimisateur d'image 2 peut également servir à anonymiser les images avant stockage dans un des conteneurs 3 ou leur de la migration d'un conteneur d'une classe C, vers un conteneur d'une classe de niveau sous-jacent Cette anonymisation consiste à supprimer dans les propriétés de l'image les références au patient pour lequel cette image a été prise. Le mécanisme de partitionnement de l'ensemble des images par l'ordonnanceur 1 en différentes classes est maintenant décrit plus en détails. Soit E l'ensemble des images produites par les équipements de capture d'images (scanner, IRM, ou autres) et stockées dans un système d'archivage de type PACS. Soit P(E) une partition de E en n classe d'équivalence notée C' ic[1, n]. Les classes d'équivalence C' n] représentent un partitionnement de l'ensemble des images de l'ensemble E en n classes. On note Classe(age) la fonction qui à un âge donné d'une image retourne une classe d'équivalence C, associée, comme illustré figure 2. Par exemple, on peut définir le partitionnement suivant : une première classe C1 pour les images dont l'âge effectif appartient à un premier intervalle de temps [0, T1[ ; une deuxième classe C2 pour les images dont l'âge effectif appartient à un deuxième intervalle de temps [TI, ; - une troisième classe C3 pour les images dont l'âge effectif appartient à un troisième intervalle de temps [T,, T3[. Les bornes Tl, T2, T3 sont des paramètres qui peuvent être déterminés lors de la configuration du système ; ils peuvent être fixés réglementairement et/ou par l'utilisateur (un professionnel de santé par exemple) via une IHM (Interface Homme Machine) comme illustré sur la figure 2. Un support physique de persistance, i.e. un conteneur 3 ayant des caractéristiques de stockage approprié, est associé à chaque classe, par exemple via l'IHM lors de la configuration du système. Chaque conteneur 3 associé à une classe pourra présenter des propriétés spécifiques en termes de capacité de stockage et/ou de rapidité d'accès. Par exemple, la partition P(E) de l'ensemble des images E produites peut être comme suit - C1 contenant les images dont l'âge effectif est dans l'intervalle [0, 5 ans [ ; C2 contenant les images dont l'âge effectif est dans l'intervalle [5, 10 ans [ ; - C3 contenant les images dont l'âge effectif est dans l'intervalle [10, 15 ans [. Il est entendu que davantage ou moins que trois classes peuvent être définies et que les bornes temporelles peuvent être différentes de l'exemple ci-dessus. On note ainsi fc(0) la fonction caractéristique qui à chaque objet O (image) de l'ensemble E associe une classe, notamment en fonction de l'âge de l'image. Cette fonction peut, au-delà de l'âge de l'image, prendre en compte un certain nombre de paramètres qui caractérisent l'importance de l'image aux yeux de l'utilisateur du système. Les paramètres caractérisant l'importance d'une image comprennent par exemple au moins un paramètre représentatif du contenu de l'image, c'est-à-dire de ce qui est représenté dans cette image. Par exemple, pour un système dédié aux professionnels de santé, un paramètre représentatif du contenu de l'image est la pathologie du patient sur lequel cette image a été générée : l'importance n'est en effet pas la même selon que l'image représente une tumeur cancéreuse ou bien seulement une carie dentaire. Un autre paramètre caractérisant l'importance d'une image est la fréquence d'accès à l'image (en nombre d'accès pas an). D'autres paramètres peuvent être considérés pour caractériser l'importance de l'image stockée. Les paramètres caractérisant l'importance d'une image peuvent être utilisés comme des critères de pondération de l'âge de l'image. Ainsi à chaque critère est associé un poids compris dans l'intervalle [0, 0.5]. Ces taux sont fixés sous la forme de paramètre de fonctionnement du système, via l'IHM par exemple. La figure 3 montre un exemple de critères de pondération de l'importance de l'image en fonction d'un paramètre représentatif du contenu de l'image qui est la pathologie. A chaque pathologie, on peut ainsi associer un poids compris entre 0% et 50%, qui contribue à déterminer le temps de rétention d'une image associée à cette pathologie dans une classe donnée. On note ainsi Patho(0) la fonction qui à un objet O de l'ensemble E associe un taux tx correspondant au taux fixé dans l'IHM comme expliqué ci-dessus en référence à la figure 3. On note Freq (0) la fonction qui à un objet O de l'ensemble E associe une fréquence d'accès déterminée dans l'IHM. La fréquence d'accès peut être définie de manière binaire (oui ou non comme illustré sur la figure 3) ou peut être un poids compris entre 0% et 100%, qui contribue également à déterminer le temps de rétention d'une image donnée dans une classe donnée. La fonction fc peut alors être définie ainsi : f (o) = Classe (Age(o)(1- Patho (o) + Freq (o))) C La fonction fc permet donc de partitionner les images (les objets O) en classe d'équivalence C. Chaque classe C, est donc définie par les objets o , j e[1,Card(E)]1 f (o C c J i La fonction fe utilise des règles d'ordonnancement comme définit ci-dessus ; ces 20 règles incluent notamment des règles légales, par exemple quant à la durée de rétention minimale de certaines images dans une certaine classe, et/ou des règles définies par l'utilisateur (le corps médical dans l'application décrite), par exemple quant à l'accessibilité de certaines images du fait de leur correspondance avec une pathologie donnée, et/ou des règles définies par les propriétés de l'image, par exemple la nature 25 de l'image (radio, scanner ou autre). Une image donnée sera placée dans une classe donnée de par son âge, mais pourra être retenue plus ou moins longtemps dans cette classe en fonction d'autres paramètres tels que la pathologie, la fréquence d'accès et la nature de l'image par exemple. Le mécanisme d'optimisation de la taille des images par l'optimisateur d'image 2 30 lors de leur migration d'une classe à l'autre est maintenant décrit plus en détails. On note 17;,,+,(0) la fonction d'optimisation/allègement mise en oeuvre lors de la migration d'un objet O (une image) d'une classe C vers une classe C,+1. Cette fonction15 est basée sur la mise en oeuvre de règles fixées par les utilisateurs (radiologues notamment) et par des règles réglementaires. Par exemple, le radiologue pourra choisir lors de la configuration du système la/les fonction(s) de transformation des images 17,,,+1 au moyen d'une IHM comme illustrée sur la figure 4. Sur la base de cette fonction de transformation 11,, l'optimisateur d'image 2 assurera la conversion des images dont la migration sera ordonner par l'ordonnanceur 1 lors d'un changement de classe. Chaque image de l'ensemble E sera stockée selon un cycle de stockage définit par le processus suivant : Une image O est produite par un équipement d'imagerie médicale approprié (radio, scanner, IRM ou autre). La date de capture de l'image est introduite dans le fichier informatique de l'image ; l'âge effectif de l'image est donc connu tout au long du cycle de stockage. L'image capturée peut en outre être paramétrée par l'utilisateur (médecin radiologue par exemple) à l'aide d'une IHM comme décrit en référence à la figure 3. L'image capturée est initialement placée dans la première classe CI. L'image O est alors stockée dans le conteneur 3 associé à la première classe CI avec une forte résolution et une possibilité d'accès rapide et fréquent. L'image O vieillit. Au bout d'une certaine durée de stockage dans la première classe CI, l'ordonnanceur 1 va déterminer que cette image O présente maintenant une fonction caractéristique fc(0) qui l'associe à la deuxième classe C2. L'ordonnanceur 1 ordonne alors la migration de cette image O de la première classe C1 vers la deuxième classe C2. L'optimisateur d'image 2 va alors transformer l'image O, en modifiant son fichier informatique de stockage conformément à la fonction d'optimisation 1-1,,,,,(o) définie lors de la configuration du système, pour obtenir un fichier requérant moins de place mémoire. L'image O est alors placée dans le conteneur 3 associé à la deuxième classe C2. Cette opération est répétée plusieurs fois lors du vieillissement de l'image O qui migre ainsi d'une classe C, vers une classe sous jacente C1+1 au cours du cycle de stockage. Il est entendu que le système peut comprendre plus de trois classes et que les figures ne limitent pas l'invention à l'usage stricte de trois classes. L'image O continue de vieillir. Après avoir migrée d'une classe à l'autre comme décrit ci-dessus, l'image O peut finalement être stockée par un robot 4 dans une mémoire morte. L'ordonnanceur 1 ordonne alors la migration de cette image O de la dernière classe Cn vers la mémoire morte. Une trace de l'image O demeure, même après un stockage de très longue durée, et au besoin, cette image O est récupérable avec ses éléments essentiels depuis la mémoire morte. Le système et le procédé selon l'invention permettent ainsi une sédimentation des images O produites, notamment pour des images médicales. Au cours du cycle de stockage des images médicales, ces dernières vont passer d'une strate à une autre jusqu'à ne devenir que des « sédiments » en étant transformées lors du processus. Lors de l'enfouissement des images d'une strate à l'autre - d'un conteneur à un autre, ces dernières seront plus ou moins transformées afin d'être allégées par un processus spécifique inhérent à leurs propriétés intrinsèques telles que la modalité de capture d'image, la pathologie du patient pour lequel l'image a été capturée, ou d'autres propriétés. A terme, seules les parties dites essentielles des images archivées demeurent, i.e. pour les images médicales les « keys objects » (objets clés) s'ils existent, les « secondary captures » (prises secondaires) si elles existent, ou sinon les images compressées avec pertes. Dans ce but, l'optimiseur d'image permet d'effectuer une réduction de taille d'image en compressant moins les parties essentielles, et en appliquant au contraire une compression plus importante sur les parties non essentielles. A l'ultime stade du processus de stockage, ces images, comparables à des sédiments, seront archivées sur de la mémoire morte, i.e. bandes ou autres supports. Tout comme le processus de sédimentation laisse la mémoire fossile des animaux ou végétaux, ce mécanisme d'archivage permettra de conserver une ultime emprunte de l'image médicale archivée sur de la mémoire morte. Le système et le procédé selon l'invention peuvent être mis en oeuvre dans des centres de données (data center) dédiés à l'hébergement d'images médicales ou d'autre type de données. Le système et procédé selon l'invention permettent à un opérateur offrant un service de stockage de réduire l'espace mémoire consommé en mémoire de masse et, à la fin du cycle de stockage, de ne conserver que les données considérées comme essentielles des objets archivés sur de la mémoire morte. L'invention a été décrite en référence à des modes de réalisations particuliers qui ne sont pas limitatifs. Notamment, tout autre partitionnement que celui décrit en trois classes avec des intervalles de temps de 5 ans peut être envisagé. En outre, tout autre paramétrage que ceux décrit en référence aux figures 3 et 4 peut être envisagé pour utiliser d'autres paramètres de pondération lors du partitionnement des objets archivés. La description a été faite en relation avec l'archivage d'images médicales, mais d'autres applications peuvent être envisagées, comme par exemple le stockage de données d'autre nature que les images médicales, comme par exemple des documents administratifs scannés, les très vieux ouvrages scannés du fond documentaire national, les archives de films de l'INA etc. REVENDICATIONS1. Procédé d'archivage d'images comprenant les étapes consistant à : - partitionner un ensemble d'images P(E) en n classes Ci, ie[l , n], en fonction de règles d'ordonnancement; - répartir les images entre une pluralité de conteneurs (3) de stockage, chaque conteneur étant dédié au stockage d'images d'une classe donnée (Ci) ; - contrôler une migration d'au moins une image d'un conteneur dédié à une première classe (Ci) vers un conteneur dédié à une deuxième classe (Ci+1), une fonction de transformation (IIi,i+1) étant appliquée à l'image lors de la migration. 2. Procédé d'archivage selon la revendication 1, comprenant ou outre une étape consistant à contrôler une migration d'au moins une image d'un conteneur de la dernière classe (C,-,) vers une mémoire morte. 3. Procédé d'archivage selon l'une quelconque des revendications précédentes, dans lequel le partitionnement P(E) de l'ensemble des images de l'ensemble (E) en n classes Ci comprend un partitionnement en fonction de l'âge des images. 4. Procédé d'archivage selon l'une quelconque des revendications précédentes, dans lequel les règles d'ordonnancement définissent la classe d'appartenance d'une image en fonction d'une fréquence d'accès à l'image et/ou de d'au moins un paramètre représentatif du contenu de l'image. 5. Procédé d'archivage selon l'une quelconque des revendications précédentes, dans lequel les règles d'ordonnancement définissent la classe d'appartenance d'une image en fonction de règles légales préétablies et/ou en fonction de paramétrages introduits par un utilisateur et/ou en fonction de propriétés liées à l'image. 6. Procédé d'archivage selon l'une quelconque des revendications précédentes, dans lequel la fonction de transformation (11,,,u) apporte une réduction de la taille mémoire occupée par l'image. 7. Procédé d'archivage selon l'une des revendications précédentes, dans lequel les images (E) sont des images médicales, les règles d'ordonnancement définissant la classe d'appartenance d'une image en fonction d'au moins un paramètre défini pour une pathologie associée à cette image. 8. Procédé d'archivage selon la revendication 7, dans lequel le paramètre est une durée de rétention minimale requise ou un degré d'accessibilité requis pour les images associées à cette pathologie. 9. Système d'archivage d'images comprenant : - un ordonnanceur (1) adapté à partitionner un ensemble d'images P(E) en n classes C1, ic[1, n], en fonction de règles d'ordonnancement ; - un optimiseur d'image (2) ; - une pluralité de conteneurs (3), chaque conteneur étant dédié au stockage d'images d'une classe donnée (C,), dans lequel l'ordonnanceur (1) est adapté à contrôler une migration d'au moins une image d'un conteneur dédié à une première classe (C,) vers un conteneur dédié à une deuxième classe (GO, l'optimisateur d'image (2) étant adapté à transformer l'image lors de sa migration. 10. Système d'archivage d'images selon la revendication 9, comprenant en outre un robot (4) de sauvegarde d'images sur une mémoire morte et des moyens pour contrôler une migration d'au moins une image d'un conteneur de la dernière classe (Ce) vers la mémoire morte. 11. Système d'archivage d'images selon l'une quelconque des revendications 9 à 10, dans lequel chaque conteneur (3) présente des performances adaptées à la classe (C,) d'images à laquelle il est dédié.25