WO2009115659A2 - Procede et systeme de redimensionnement d'images numeriques - Google Patents
Procede et systeme de redimensionnement d'images numeriques Download PDFInfo
- Publication number
- WO2009115659A2 WO2009115659A2 PCT/FR2009/000110 FR2009000110W WO2009115659A2 WO 2009115659 A2 WO2009115659 A2 WO 2009115659A2 FR 2009000110 W FR2009000110 W FR 2009000110W WO 2009115659 A2 WO2009115659 A2 WO 2009115659A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- module
- digital
- resizing
- resized
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 14
- 238000011282 treatment Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4092—Image resolution transcoding, e.g. by using client-server architectures
Definitions
- the present invention relates to a method dedicated to the resizing of digital images and a system for implementing this method.
- resizing refers to the modification of the resolution of a digital image by enlargement or reduction.
- the field of digital image processing and more precisely the field of digital image resizing, lies in the context of the convergence of fixed, mobile, nomadic, domestic or professional digital imaging technologies.
- a fundamental problem in this field is to meet the increasing demands of the transportability and compatibility of contents between different multimedia devices, the conversion of the same digital contents and their adaptation for different types of media.
- As carriers there may be mentioned mobile phones, PDAs (Personal Digital Assistant), computers, digital television equipment or any other portable or fixed device capable of processing and interpreting digital images.
- complexity of an image processing tool means the consumption of the tool in hardware and computer resources, such as, for example, the size of the operational memory for the execution of the method, the size of the backup memory of the results, calculation power consumption and calculation time.
- US Pat. No. 6,317,524 B1 which relates to a method solely capable of reducing the size of an initial source image. It consists of calculating an error for each pixel and apply differentiated treatment based on the value of this error variable. This solution also requires processing consuming a large amount of computing resources, in particular for calculating the average values of the pixels of the recalculated image as a function of the values of the source pixels.
- patent document WO 2005/055139 A1 Another state-of-the-art reference is patent document WO 2005/055139 A1, which deals with aspects related to image processing, such as optimizing the quality of the image at the time of printing. resizing, is limited only to reducing the size of the digital image.
- patent document WO 2004/057532 A1 discloses a method and a system for reducing and increasing the size of the image by means of insertions or duplications of data by analysis and processing of the diagonals of the image.
- the set of solutions presented has a high complexity of digital processing, which contains convolutions, matrix operations and multidimensional.
- the invention aims to overcome the above-mentioned shortcomings and in particular to design and implement a method and a system with features of speed, low complexity for the different types of resizing digital images without sacrificing the quality.
- the purpose of the present invention is therefore to offer a solution to perform very fast calculations that do not require a large capacity for saving intermediate results or computing power, and this for different types of resizing digital images.
- the invention provides a processing approach on all lines and columns. This pass includes a successive and iterative analysis and calculation by introducing two intermediate dynamic variables.
- the subject of the present invention is a method for resizing digital images consisting of a given column / line proportion comprising at least one digital component organized in rows and columns, characterized in that said digital images are resized by successive and iterative treatments of the row and column position of at least a portion of the digital components of an image, involving at least two intermediate dynamic variables which are functions of the number of rows and columns of a digital image initial and / or number of rows and columns of a resized digital image.
- At least one of the intermediate dynamic variables evolves successively and iteratively as a function of the position of the digital components of the initial image and as a function of the position of the digital components of the resized image, the analysis for the resizing is performed in a single pass on the columns and on the lines of the initializer image on the columns and on the lines of the resized image,
- the resized image, reduced or enlarged has a proportion height / width equal to the proportion height / width of the initial image
- the resized image, reduced or enlarged has a proportion height / width different from the proportion height / width of the initial image
- the resized image has a reduced width and an enlarged height relative to the initial image; the resized image has an enlarged width and a reduced height relative to the initial image,
- the method is applied to at least one digital image format
- the method is applied to at least one digital video format
- the row number values of the initial image and / or column number of the initial image, and / or row number of the resized image, and / or column number of the resized image , relating to the current position of a processed digital element of at least one image are incremented by several units.
- the invention also relates to a system for resizing digital images for the implementation of the method.
- This system is composed of digital processing modules connected to each other, comprising at least one module for resizing digital images by successive and iterative digital processing of the components of the initial digital image using at least one module. calculation and at least one setpoint module for parameterizing the resizing.
- the resized image is encoded in an encoding / decoding module and then saved in a storage module;
- the initial image represents a resized image, processed by the resizing module, directly after at least one resizing or retrieved from the storage module;
- the resized image is displayed on a display module directly after resizing or from the storage module;
- the resized image, displayed on a display module and / or saved by a backup module, is transmitted from a transmission module to a transmission network, and
- the system comprises at least one auto-adaptive setpoint module dedicated to setting the resizing of the initial image.
- the present invention contributes to the convergence of applications, the transportability and compatibility of digital images with different equipment. It also facilitates segmentation into categories for different devices, for the creation of new applications and services according to the requirements of different stakeholders, market needs and the end user.
- FIG. 1 an exemplary diagram of the system according to the invention, composed of digital processing modules connected to each other and of a resizing module
- FIG. 2 a first example of an iterative implementation diagram. implementation of the resizing module according to the preceding figure for the reduction of the digital image by keeping the proportion width / height of the initial image,
- FIGS. 2a to 2c examples of deformation of a square as initial image by variation of the setting values or initial variables
- FIG. 3 a second exemplary iterative diagram for implementing the resizing module according to FIG. 1 for enlarging the digital image while keeping the height / width proportion of the initial image
- FIG. 4 another exemplary iterative diagram of implementation of the resizing module according to FIG. 1 for the reduction of the height and the enlargement of the width of the digital image with respect to the height / width proportion of the initial image
- FIG. 5 a final example of an iterative diagram for implementing the resizing module according to FIG. 1 for increasing the height and for reducing the width of the digital image compared with to the width / height ratio of the original image.
- FIG. 1 An example of a system implementing the method of resizing digital images of the present invention is shown in FIG. 1.
- the system consists of a central unit 72, a display module 98, for example a display screen. computer or mobile phone, and a transmission module 92 which is connected to at least one telecommunications network 88.
- An initial image 10 is transmitted to an input module 18 of the central unit 72 via the link 12.
- Information concerning a digital image 10 to resize, resizing initialization parameters 20, containing the type of resizing and of processing to be applied to this image 10 are also transmitted to the input module 18 of the central unit 72 via the link 14.
- At least a portion of the information acquired by the input module 18 is transmitted to a calculation module 30 via the link 28.
- the calculation module 30 is a digital processor.
- this module can be a microprocessor, a DSP (Digital Signal Processing in English) or any other device capable of performing digital processing.
- DSP Digital Signal Processing in English
- the processor 30 carries out the processing in real time, in particular when an image 10 is downloaded from a remote server and is displayed directly on the screen of the display module 98. This processor 30 can also perform the processing. deferred time, for example when a set of images is processed and saved for later viewing.
- the information acquired by the input module 18 via the links 12 and 14, is transmitted to a storage module 34 via the link 46.
- the storage module 34 is, in the illustrated example, a hard disk in which are stored the image processing modules, namely resizing modules 36, encoding / decoding 62, setpoint 58 and backup modules of the initial images 54 and resized 50, respectively via links 38, 40, 42, 44 and 48..
- initial image is intended to mean an image that will be processed by the resizing module 36, and under the term “resized image” an image resulting from at least one processing of the resizing module. 36.
- the initial image 10, stored in the initial image module 54, is transmitted to an operational memory module 74 via links 56 and 68.
- This operational memory is in the example illustrated a memory type RAM (initials of "Random Access Memory” in English, that is to say "RAM”).
- the initial image 10 can be transmitted directly to the operational memory module 74 from the input module 18 via the link 16, and resized by the resizing module 36, without being stored in the storage module. initial images 54.
- the processor 30 exchanges data with any module of the storage module 34 via the link 32. Following the information received by the input module 18, the processor 30 downloads into the operational memory 74, the data of the encoding / decoding module. 62 via the links 64 and 68, the reference module 58 via the links 60 and 68, and the resizing module 36 via the links 66 and 68.
- the resizing of this image is performed in the operational memory 74, using the resizing module 36 and using the processor 30, according to the parameters provided by the initialization module 20 and recovered by the reference module 58, as explained below.
- the resized image 76 is stored in the resized image storage module 50 via the links 68 and 52.
- the image 76 is stored in the initial image storage module 54 via the images. links 68 and 56.
- the resized image 76 is then transmitted to the output module 80 via the link 78, then redirected to a display module 98 via the link 96 to be viewed.
- the image can also be directed to an external transmission module 92 via the link 94 or to a transmission module 84 internal to the central unit 72 via the link 82.
- the resized image 76 is sent to a transmission network 88, respectively via the links 90 and 86.
- the transmission network 88 can be fixed, mobile, satellite or any other type of transmission. another network capable of transmitting digital data. In this way, the resized image 76 can be transmitted to any device capable of interpreting and displaying this resized image.
- this image can be transmitted directly, or after display by the display module 98, to the transmission module 92 and / or 84.
- FIG. 1 An exemplary implementation of the resizing module 36 is shown in FIG.
- the term "proportion width / height" of the image refers to the proportion number of columns M / number of lines N of the initial image compared to the proportion number of columns m / number of lines n of the resized image.
- width of the image means the number of columns M, m respectively of the initial and resized digital images and the term height, the number of lines N, n respectively of the initial and resized digital images.
- pixel also refers to a component of the digital image defined by its coordinates X 1 Y in the initial image and its a numerical value P, corresponding to a gray or color level, and a component of the digital image defined by its x, y coordinates in the resized image and its numerical value F, corresponding to a gray level or color.
- the coordinates X are relative to the numbers of columns M
- the coordinates Y are relative to the numbers of lines N of the initial image.
- the coordinates x are relative to the numbers of columns m
- the coordinates y are relative to the numbers of lines n of the resized image.
- number of columns m and number of lines n of the resized image is used to denote the number of columns m and the number of rows n that are desired for the resized image following the resizing processing of the initial image. .
- the numerical values M, N, X, Y relative to the initial image and the numerical values m, n, x, y relative to the resized image are natural whole numbers.
- variables X, Y, P refer to the initial image: X and Y represent the position of the pixel in the image and P the numerical value of the pixel, corresponding to a gray level or color.
- variables x, y, F refer to the resized image: x and y represent the position of the pixel and F the numerical value of the pixel corresponding to a level of gray or color.
- the variable "e” and the variable “e '” represent intermediate dynamic variables, dynamic in the sense that they intervene in a decision-test type block, and whose value is recalculated at each iteration, without storing the previous values.
- variable "e” is a linear combination with respect to the variables in lines, the values of N, n, Y, y.
- variable "e '” is a linear combination, with respect to the variables in columns, of the values of M, m, X and x.
- the multiplication by 2 in these formulas can be replaced by a bit shift, and can therefore be executed very quickly on many hardware architectures.
- the first example aims to achieve the reduction of a digital image by keeping the proportion width / height of the initial image.
- the initial image consisting of M. N pixels
- the initial image is reduced to a resized digital image of size mn pixels (M, m being the number of columns and N, n the number of lines, respectively of the initial image and resized), where M ⁇ m and N ⁇ n.
- the method consists firstly in successively and iteratively analyzing the lines of the image and in applying to each analyzed line a calculation processing comprising three main stages I to III, corresponding to the processing of the lines, to the processing of the columns of the image and a final test with respect to the set point for the resized image: the steps I, II and III are carried out respectively by the modules 22, 23 and 24, included in the resizing module 36.
- the method is first initialized in an initialization module 20 in which the setpoint C transmitted from the setpoint module 58 via the links 60 and 68.
- C (Im, R, M, N, m, n) defines the initial parameters, namely:
- Im is relative to the initial image and includes information on the name, the extension of this image and its location (hard disk or remote server or other),
- R represents the choice of the reduction operation
- Step I performed by the module 22 consists of processing the variables X, x and involves the intermediate dynamic variable "e". It comprises the following operations: incrementing X by one unit in module 221,
- test of the value "e '" in the module 223 if "e'" is less than 0, return to the module 221 and the value of X is incremented by one unit; if the value "e '" is equal to or greater than 0, passing to the module 224 in which the value of x is incremented by one unit and the intermediate dynamic variable "e'" is decremented by the value 2.M,
- step M 1 the processing is performed by the module 23 and comprises the following operations: incrementation of Y by one unit in the module 231,
- step III performed by the module 24, the operations relate to the verification of the values of x and y in the module 241: if x is different from m and / or y is different from n, return to step I , for an operation of incrementing X by one unit in the module
- This final module may be the rescaled image module 15, initial image 19, display 16, external transmission 17 and / or internal 18 of FIG.
- FIG. 2 illustrates the low complexity of the module 36 to provide images of reduced size, while preserving the width / height ratio of the initial images.
- a deformation of an initial image in the square format K1 is obtained by decrementing respectively the width m and the height n in the module 235 (FIG. 2).
- the image is resized in the form of trapezoids, respectively T1 and T2, these trapezes being deduced from each other by applying a 2.5D rotation (arrow F1).
- the parallelogram deformation P1 of the square K1 is induced by a variation at the beginning of each line of the initialization value of the X or Y coordinates. This variation is carried out at the initialization step 20 modules 22 or 23 ( Figure 2).
- the invention also makes it possible to use the resizing module 36 as represented in FIG. 3 to achieve, with the same advantages, the enlargement of a digital image while keeping the width / height proportion of the initial image, the setpoint C (Im, A, M, N, m, n) transmits the parameters already described, with a value "A" for the magnification.
- the initial image consisting of M. N pixels
- a final digital image of size m.n pixels, where M ⁇ m and N ⁇ n.
- the method consists first of analyzing successively and iteratively the lines of the image and to apply to each analyzed line a calculation-processing comprising the three main stages I to III. These steps I, II and III are carried out by the same modules, included in resizing module 36, respectively by the module 22, the module 23 and the module 24.
- Step I performed by the module 22 consists of processing the variables x, X and involves an intermediate dynamic variable "e”. It then includes the following operations:
- checking the value of x in the module 326 if x is less than m, return to the module 321 in which the value of x is incremented by one unit. If the value of x is equal to or greater than the value of m, move to module 23 and step II below which processes the variables y, Y and involves a dynamic variable "e".
- step II the processing is carried out by the module 23 and comprises the following operations: incrementation of y by one unit in the module 331,
- test of the value "e” in the module 333 a) if "e" is less than 0, change to the module 334 in which the test of the value y is carried out,
- step III carried out by the module 24, the operations relate to the verification of the values of x and y carried in the module 241: if x is different from m and / or y is different from n, return to the step I, for an operation of incrementing X by one unit in the module 321,
- FIG. 3 describes the process carried out by the resizing module 36 (FIG. 1), a method of low complexity which provides images of increased size, while maintaining the height / width proportion of the images. initial images.
- the present invention also applies to the deformation of images.
- the term "deformation" of a digital image refers to the resizing of said initial digital image into a resized digital image whose width / height ratio is different from the proportion-width / height of the original image.
- FIG. 4 illustrates this application dedicated to producing a digital image deformation by modifying the width / height ratio of the initial image with a reduced height and an enlarged width for the resized image.
- the initial image consisting of M. N pixels
- M being the number of columns and N, n the number of lines
- M> m and N ⁇ n M> m and N ⁇ n.
- the method consists in successively and iteratively analyzing the lines of the image and in applying to each analyzed line a calculation processing comprising the three main steps I to III. Steps I, II and III are performed by the same modules included in resizing module 36, respectively by module 22, module 23 and module 24.
- the method is initialized in the initialization module 20 where the setpoint C is transmitted from the reference module 58 via the links 60 and 68.
- the set point C (Im, HRLA, M, N , m, n) defines the initial parameters as before with, additionally, a parameter H R L A which represents the choice of the operation of reducing the number of lines and enlarging the number of columns.
- Step I performed by the module 22 consists of processing the variables X, x and involves an intermediate variable "e”. It then includes the following operations:
- step II the processing is performed by the module 23 and comprises the following operations:
- step III carried out by the module 24, the operations concern the verification of the values of x and y in the module 241: if x is different from m and / or y is different from n, return to the step I, for an operation of incrementing X by one unit in the module 421,
- This third embodiment describes the process performed by the redimensionrison- module 36 ⁇ ( Figure-1) r-method of low complexity which provides images "deformed” with a reduced width and increased height with respect to the width / height ratio of the initial image.
- the resizing module 36 aims to carry out the deformation of a digital image by modifying the width / height ratio of the initial image with an enlarged height and a reduced width for the resized image.
- the initial image consisting of M. N pixels
- a digital image of size mn pixels M, m being the number of columns and N, n the number of lines
- M M ⁇ m and N ⁇ n.
- the method consists in successively and iteratively analyzing the lines of the image and in applying to each line analyzed a treatment comprising the three main steps I to III. These steps I, II and III are carried out by the same modules, included in resizing module 36, respectively by the module 22, the module 23 and the module 24.
- the method is first initialized in an initialization module 21 with the reference C, transmitted from the reference module 58, C (Im 1 H A L R , M 1 N, m, n). which defines the initial parameters as in the previous example.
- HAL R represents here the choice of the operation of enlarging the number of rows and reducing the number of columns.
- Step I performed by the module 22 consists of processing the variables x, X and involves an intermediate dynamic variable "e”. It then includes the following operations:
- checking the value of x in the module 527 if x is less than m, return to the module 521 in which the value of x is incremented by one unit; if the value of x is equal to or greater than the value of m, move to module 531 and step II below which processes variables Y, y and involves an intermediate dynamic variable "e".
- step II the processing is carried out by the module 23 and comprises the following operations: incrementing the value of Y by one unit in the module 531,
- step III carried out by the module 24, the operations carry as previously on the verification of the values of x and y in the module-241:
- step I for an incrementing operation of X of one unit in the module 521
- This fourth exemplary embodiment describes the process carried out by the resizing module 36 (FIG. 1), a method of low complexity providing "deformed" images with increased height and reduced width, compared to the width / width ratio. height of the initial image.
- the method of the present invention is applicable to more than one digital image format (for example JPEG, JPEG2000, GIF, PNG, BMP, WBMP or other) or digital video.
- the invention is also applicable by successive and iterative analysis of the columns or diagonals of the processed image.
- the values of X, Y, x and y can be incremented by several units according to the intermediate dynamic variables "e” and "e", the values of M, N, m and n and the parameterization of the module. setpoint.
- the method and system of the present invention offer different variations of resizing with or without keeping the width / height ratio of the initial image.
- the method according to the present invention is of low complexity compared to other methods known from the prior art.
- the method according to the invention, of low complexity is suitable for implementation on "light" systems, that is to say systems with constraints of processing capabilities, such as applications embedded on mobile phones or equipment with only limited computing resources.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Le problème technique à résoudre est de mettre en oeuvre un procédé et un système effectuant un traitement de faible complexité pour différents redimensionnements d'images numériques. Pour ce faire, l'invention prévoit que les images sont redimensionnées par des traitements successifs et itératifs de la position en ligne et colonne desdites composantes numériques des images, faisant intervenir au moins deux variables dynamiques intermédiaires qui sont fonctions des dimensions en nombre de lignes et de colonnes respectivement des images initiales (10) et redimensionnées (76). Le système pour la mise en oevre du procédé est composé de modules de traitement connectés entre eux, comprenant un module de redimensionnement (36) d'images numériques par des traitements numériques successifs et itératifs des composantes de l'image numérique initiale (10) à l'aide d'un module de calcul (30) et au moins un module de consigne (58) pour le paramétrage du redimensionnement.
Description
PROCEDE ET SYSTEME DE REDiMENSIONNEMENT D'IMAGES NUMERIQUES
La présente invention concerne un procédé dédié au redimensionnement d'images numériques et un système de mise en œuvre de ce procédé.
Par « redimensionnement », le présent texte fait référence à la modification de la résolution d'une image numérique par agrandissement ou par réduction.
Le domaine du traitement d'images numériques, et plus précisément le domaine du redimensionnement d'images numériques se situe dans le contexte de la convergence des technologies d'imagerie numériques fixes, mobiles, nomades, domestiques ou professionnelles.
Un problème fondamental de ce domaine est de répondre aux exigences croissantes de la transportabilité et de la compatibilité de contenus entre différents dispositifs multimédias, de la conversion des mêmes contenus numériques et de leur adaptation pour différents types de supports. Comme supports, on peut citer les téléphones portables, PDA (Personal Digital Assistant, assistant numérique personnel en anglais), ordinateurs, équipements de télévision numérique ou tout autre dispositif portable ou fixe, capable de traiter et d'interpréter des images numériques.
En particulier, un besoin croissant des principaux acteurs de bout en bout de la chaîne allant de la création à la consommation et qui comprend le traitement, l'adaptation et la distribution, concerne les images numériques et notamment l'adaptation des formats et des résolutions des images, en d'autres termes le redimensionnement des images numériques.
Ainsi, les principaux acteurs (opérateurs de télécommunication ou intervenants sur les contenus ou les constructeurs de plateformes et d'appareils numériques), recherchent des outils pratiques, efficaces et peu complexes pour effectuer le redimensionnement des images numériques.
On entend par le terme « complexité » d'un outil de traitement des images, la consommation de l'outil en ressources matérielles et informatiques, telles que par exemple la taille de la mémoire opérationnelle pour l'exécution du procédé, la taille de la mémoire de sauvegarde des résultats, la consommation en puissance de calcul et en temps de calcul.
Aussi, il convient de répondre aux exigences croissantes de la segmentation des objets numériques en catégories pour différents dispositifs, applications et services en fonction des exigences des différents acteurs concernés, des différentes applications, des besoins du marché et de l'utilisateur final.
Afin de répondre à cette problématique de la complexité et de l'adaptabilité, l'état de l'art connaît différents types de traitements. Cependant, ces traitements nécessitent des ressources matérielles et informatiques importantes pour la mémorisation des données intermédiaires de calcul, pour les calculs eux- mêmes, du fait de l'utilisation de procédés et de systèmes complexes. Cela représente de très fortes contraintes techniques pour les dispositifs ayant des capacités de traitement, de sauvegarde ou d'affichage limités, par exemple pour les téléphones portables, et limite la possibilité de définir et de proposer de nouveaux services et applications, ainsi que d'améliorer la qualité de service.
Une référence connue est le document de brevet américain US 6,317,524 B1 , qui concerne un procédé uniquement apte à réduire la dimension d'une image source initiale. Il consiste à calculer une erreur pour chaque pixel et à
appliquer un traitement différencié en fonction de la valeur de cette variable d'erreur. Cette solution nécessite également des traitements consommateurs d'importantes ressources informatiques, notamment pour le calcul des valeurs moyennes des pixels de l'image recalculée en fonction des valeurs des pixels source.
Il est également connu du document de brevet EP 1 752 880 A1 , un redimensionnement dynamique des images par réduction ou agrandissement. Cependant, dans ce document, les redimensionnements sont limités au cas de redimensionnement d'images initiales destinées à un premier écran d'affichage ayant une plus grande taille vers un deuxième écran d'affichage ayant une taille inférieure au premier.
Une autre référence de l'état de l'art est le document de brevet WO 2005/055139 A1 , qui tout en abordant des aspects connexes au traitement de l'image, tels que l'optimisation de la qualité de l'image lors du redimensionnement, se limite uniquement à la réduction de la taille de l'image numérique.
Par ailleurs, le document de brevet WO 2004/057532 A1 présente un procédé et un système de réduction et d'augmentation de la taille de l'image à l'aide d'insertions ou de duplications de données par analyse et traitements des diagonales de l'image. L'ensemble des solutions présentées comporte cependant une haute complexité de traitement numérique, qui contient des convolutions, des opérations matricielles et multidimensionnelles.
L'invention- vise à pallieries- insuffisances mentionnées ci-dessus et en particulier à concevoir et à mettre en œuvre un procédé et un système présentant des caractéristiques de rapidité, de faible complexité pour les différents types de redimensionnement d'images numériques sans sacrifier à la qualité.
Le but de la présente invention est donc d'offrir une solution
permettant d'effectuer des calculs très rapides ne nécessitant pas de grandes capacités de sauvegarde de résultats intermédiaires, ni de puissance de calcul, et cela pour différents types de redimensionnement d'images numériques. Pour ce faire, l'invention propose une approche de traitement sur toutes les lignes et les colonnes. Cette passe comprend une analyse et un calcul successifs et itératifs en introduisant deux variables dynamiques intermédiaires.
Plus précisément, la présente invention a pour objet un procédé pour le redimensionnement d'images numériques constituées selon une proportion donnée colonnes/lignes comprenant au moins une composante numérique organisée en lignes et en colonnes, caractérisé en ce que lesdites images numériques sont redimensionnées par des traitements successifs et itératifs de la position en ligne et colonne d'au moins une partie des composantes numériques d'une image, faisant intervenir au moins deux variables dynamiques intermédiaires qui sont fonctions des dimensions en nombre de lignes et de colonnes d'une image numérique initiale et/ou des dimensions en nombre de lignes et de colonnes d'une image numérique redimensionnée.
Les calculs impliqués dans ce redimensionnement ne comprennent que des additions, des soustractions et un décalage de bits.
Selon des caractéristiques préférées :
- au moins une des variables dynamiques intermédiaires évolue de manière successive et itérative en fonction de la position des composantes numériques de l'image initiale et en fonction de la position des composantes numériques de l'image redimensionnée, - l'analyse pour le redimensionnement est effectué en un seul passage sur les colonnes et sur les lignes de l'image initialeret sur les colonnes et sur les lignes de l'image redimensionnée,
- l'analyse pour le redimensionnement est effectuée ligne par ligne de l'image ; - l'analyse pour le redimensionnement est effectuée colonne par colonne de l'image ;
Selon des modes de mise en œuvre particuliers :
- l'image redimensionnée, réduite ou agrandie, possède une proportion hauteur/largeur égale à la proportion hauteur/largeur de l'image initiale, - l'image redimensionnée, réduite ou agrandie, possède une proportion hauteur/largeur différente de la proportion hauteur/largeur de l'image initiale,
- l'image redimensionne possède une largeur réduite et une hauteur agrandie par rapport à l'image initiale, - l'image redimensionne possède une largeur agrandie et une hauteur réduite par rapport à l'image initiale,
- le procédé est appliqué à au moins un format d'images numériques,
- le procédé est appliqué à au moins un format de vidéos numériques,
- le procédé est appliqué en temps réel,
- le procédé est appliqué en temps différé,
- les valeurs de numéro de lignes de l'image initiale et/ou de numéro de colonnes de l'image initiale , et/ou de numéro de lignes de l'image redimensionnée, et/ou de numéro de colonnes de l'image redimensionnée, relatives à la position courante d'un élément numérique traité d'au moins une image sont incrémentées de plusieurs unités.
L'invention se rapporte également à un système de redimensionnement d'images numériques pour la mise en œuvre du procédé.
Ce système est composé de modules de traitement numérique connectés entre eux, comprenant au moins un module de redimensionnement d'images numériques par des traitements numériques successifs et itératifs des composantes de l'image numérique initiale à l'aide d'au moins un module de calcul et au moins un module de consigne pour le paramétrage du
redimensionnement.
Selon des caractéristiques préférées :
- l'image redimensionnée est encodée dans un module d'encodage/décodage puis sauvegardée dans un module de stockage ;
- l'image initiale représente une image redimensionnée, traitée par le module de redimensionnement, directement après au moins un redimensionnement ou récupérée à partir du module de stockage ;
- l'image redimensionnée est affichée sur un module d'affichage directement après le redimensionnement ou à partir du module de stockage ;
- l'image redimensionnée, affichée sur un module d'affichage et/ou sauvegardée par un module de sauvegarde, est transmise à partir d'un module de transmission vers un réseau de transmission, et
- le système comporte au moins un module de consigne auto- adaptatif dédié au paramétrage du redimensionnement de l'image initiale.
La présente invention contribue à la convergence des applications, à la transportabilité et à la compatibilité des images numériques avec différents équipements. Elle facilite également la segmentation en catégories pour différents dispositifs, pour la création de nouvelles applications et services en fonction des exigences des différents acteurs concernés, des besoins du marché et de l'utilisateur final.
La présente invention sera mieux comprise ci-après à l'aide d'exemples de réalisation préférés et non limitatifs, en référence aux-dessins annexés qui représentent respectivement :
- la figure 1 , un exemple de schéma du système selon l'invention, composé de modules de traitement numérique connectés entre eux et d'un module de re-dimensionnement, - la figure 2, un premier exemple de diagramme itératif de mise en
œuvre du module de redimensionnement selon la figure précédente pour la réduction de l'image numérique en gardant la proportion largeur/hauteur de l'image initiale,
- les figures 2a à 2c, des exemples de déformation d'un carré comme image initiale par variation des valeurs de paramétrage ou de variables initiales;
- la figure 3, un deuxième exemple de diagramme itératif de mise en œuvre du module de redimensionnement selon la figure 1 pour l'agrandissement de l'image numérique en gardant la proportion hauteur/largeur de l'image initiale,
- la figure 4, un autre exemple de diagramme itératif de mise en œuvre du module de redimensionnement selon la figure 1 pour la réduction de la hauteur et l'agrandissement de la largeur de l'image numérique par rapport à la proportion hauteur/largeur de l'image initiale, et - la figure 5, un dernier exemple de diagramme itératif de mise en œuvre du module de redimensionnement selon la figure 1 pour l'augmentation de la hauteur et pour la réduction de la largeur de l'image numérique par rapport à la proportion largeur/hauteur de l'image initiale.
Un exemple de système mettant en œuvre le procédé de redimensionnement des images numériques de la présente invention est présenté sur la figure 1. Le système est constitué d'une unité centrale 72, d'un module d'affichage 98, par exemple un écran d'ordinateur ou de téléphone portable, et d'un module de transmission 92 qui est relié à au moins un réseau de télécommunication 88.
Une image initiale 10 est transmise à un module d'entrée 18 de l'unité centrale 72 via le lien 12. Des informations concernant une image numérique 10 à redimensionner, des paramètres d'initialisation 20 du redimensionnement, contenant le type de redimensionnement et de traitement à appliquer sur cette image 10 sont transmises également au module d'entrée 18 de
l'unité centrale 72 via le lien 14.
Au moins une partie de l'information acquise par le module d'entrée 18 est transmise à un module de calcul 30 via le lien 28.
Dans l'exemple illustré, le module de calcul 30 est un processeur numérique. Alternativement, ce module peut être un microprocesseur, un DSP (Digital Signal Processing en anglais) ou tout autre dispositif capable d'effectuer des traitements numériques.
Le processeur 30 effectue le traitement en temps réel, notamment lorsqu'une image 10 est téléchargée à partir d'un serveur à distance et est affichée directement sur l'écran du module d'affichage 98. Ce processeur 30 peut également effectuer le traitement en temps différé, par exemple lorsqu'un ensemble d'images est traité et sauvegardé pour une visualisation ultérieure.
L'information acquise par le module d'entrée 18 via les liens 12 et 14, est transmise à un module de stockage 34 via le lien 46. Le module de stockage 34 est, dans l'exemple illustré, un disque dur dans lequel sont stockés les modules de traitement des images, à savoir des modules de redimensionnement 36, d'encodage/décodage 62, de consigne 58 et des modules de sauvegarde des images initiales 54 et redimensionnées 50, respectivement via des liens 38, 40, 42, 44 et 48. .
Dans le présent exposé, on entend sous le terme « image initiale », une image qui va être traitée par le module de redimensionnement 36, et sous le terme « image redimensionnée » une image qui résulte d'au moins un traitement du module de redimensionnement 36.
Aux fins de traitement, l'image initiale 10, stockée dans le module d'images initiales 54, est transmise à un module de mémoire opérationnelle 74 via
les liens 56 et 68. Cette mémoire opérationnelle est dans l'exemple illustré une mémoire de type RAM (initiales de « Random Access Memory » en anglais, c'est- à-dire « mémoire vive » ). Alternativement, l'image initiale 10 peut être transmise directement au module de mémoire opérationnelle 74 à partir du module d'entrée 18 via le lien 16, et être redimensionnée par le module de redimentionnement 36, sans être stockée dans le module de stockage d'images initiales 54.
Le processeur 30 échange des données avec tout module du module de stockage 34 via le lien 32. Suite aux informations reçues par le module d'entrée 18, le processeur 30 télécharge dans la mémoire opérationnelle 74, les données du module d'encodage/décodage 62 via les liens 64 et 68, du module de consigne 58 via les liens 60 et 68, et du module de redimensionnement 36 via les liens 66 et 68.
Après décodage de l'image 10, le redimensionnement de cette image est effectué dans la mémoire opérationnelle 74, à l'aide du module de redimensionnement 36 et à l'aide du processeur 30, en fonction des paramètres fournis par le module d'initialisation 20 et récupérés par le module de consigne 58, comme expliqué ci-après.
Il est également possible d'utiliser une adaptation automatique des paramètres du redimensionnement par le module de consigne 58 à partir d'informations sur les caractéristiques du module d'affichage 98 connues du processeur 30.
Après encodage, l'image redimensionnée 76 est stockée dans le module de stockage d'images redimensionnées 50 via les liens 68 et 52. Pour un nouveau redimentionnement, l'image 76 est stockée dans le module de stockage d'images initiales 54 via les liens 68 et 56.
L'image redimensionnée 76 est ensuite transmise au module de sortie 80 via le lien 78, puis redirigée vers un module d'affichage 98 via le lien 96 pour être visualisée. L'image peut également être dirigée vers un module de transmission extérieur 92 via le lien 94 ou vers un module de transmission 84 interne à l'unité centrale 72 via le lien 82.
A partir des modules de transmission externe 92 et interne 84, l'image redimensionnée 76 est envoyée vers un réseau de transmission 88, respectivement via les liens 90 et 86. Le réseau de transmission 88 peut être de type fixe, mobile, satellite ou tout autre réseau capable de transmettre des données numériques. De cette manière, l'image redimensionnée 76 peut être transmise vers tout dispositif capable d'interpréter et d'afficher cette image redimensionnée.
Lorsque l'image redimensionnée 76 est stockée dans le module de sauvegarde 50 ou 54, cette image peut être transmise directement, ou après affichage par le module d'affichage 98, au module de transmission 92 et/ou 84.
Un exemple de mise en œuvre du module de redimensionnement 36 est représenté sur la figure 2.
Dans le présent texte, le terme « proportion largeur/hauteur » de l'image renvoie à la proportion nombre de colonnes M / nombre de lignes N de l'image initiale par rapport à la proportion nombre de colonnes m / nombre de lignes n de l'image redimensionnée. De plus, le terme largeur de l'image signifie le nombre de colonnes M, m respectivement des images numériques initiales et redimensionnées et le terme hauteur, le nombre de lignes N, n respectivement des images numériques initiales et redimensionnées.
On entend également sous le terme « pixel » un composant de l'image numérique défini par ses coordonnées X1Y dans l'image initiale et sa
valeur numérique P, correspondant à un niveau de gris ou de couleur, ainsi qu'un composant de l'image numérique défini par ses coordonnées x,y dans l'image redimensionnée et sa valeur numérique F, correspondant à un niveau de gris ou de couleur. Les coordonnées X sont relatives aux nombres de colonnes M, les coordonnées Y sont relatives aux nombres de lignes N de l'image initiale. Les coordonnées x sont relatives aux nombres de colonnes m, les coordonnées y sont relatives aux nombres de lignes n de l'image redimensionnée.
On entend sous le terme « nombre de colonnes m et nombre de lignes n de l'image redimensionnée », le nombre de colonnes m et le nombre de lignes n, souhaités pour l'image redimensionnée suite au traitement de redimensionnement de l'image initiale.
Les valeurs numériques M, N, X, Y relatives à l'image initiale et les valeurs numérique m, n, x, y relatives à l'image redimensionnée sont des nombres entiers naturels.
Dans tous les exemples de réalisation, les variables X, Y, P se réfèrent à l'image initiale : X et Y représentent la position du pixel dans l'image et P la valeur numérique du pixel, correspondant à un niveau de gris ou de couleur.
Les variables x, y, F se réfèrent à l'image redimensionnée : x et y représentent la position du pixel et F la valeur numérique du pixel correspondant à un niveau de gris ou de couleur. La variable « e » et la variable « e' » représentent variables dynamiques intermédiaires, dynamiques dans le sens où elles interviennent dans un pavé de type test décisionnel, et dont la valeur est recalculée à chaque itération, sans stockage des valeurs précédentes.
Afin de réaliser le procédé successif et itératif selon l'invention dans l'exemple illustré, la variable « e » est une combinaison linéaire au regard des variables en lignes, des valeurs de N, n, Y, y. De même, la variable « e' » est une combinaison linéaire, au regard des variables en colonnes, des valeurs de M,
m, X et x. La variable « e » évolue en suivant la formule « e = 2.(Y.n-y.N) », et la variable « e' » évolue en suivant la formule « e' = 2.(X.m-x.M) ». Ces formules peuvent varier pour devenir « e = 2.(y.N-Y.n) » et « e' = 2.(x.M-X.m) » en fonction des ratios largeur/hauteur demandés. La multiplication par 2 dans ces formules peut être remplacée par un décalage de bits, et peut donc être exécutée très rapidement sur de nombreuses architectures matérielles.
Le premier exemple vise à réaliser la réduction d'une image numérique en gardant la proportion largeur/hauteur de l'image initiale. Dans cet exemple, l'image initiale constituée de M. N pixels, est réduite en une image numérique redimensionnée de taille m.n pixels (M, m étant le nombre de colonnes et N, n le nombre de lignes, respectivement de l'image initiale et redimensionnée), où M≥m et N≥n.
Le procédé consiste d'abord à analyser successivement et itérativement les lignes de l'image et à appliquer à chaque ligne analysée un traitement de calcul comportant trois étape principales I à III, correspondant au traitement des lignes, au traitement des colonnes de l'image et à un test final par rapport à la consigne pour l'image redimensionnée: les étapes I, II et III sont réalisées respectivement par les modules 22, 23 et 24, compris dans le module de redimensionnement 36.
Avant de détailler les étapes principales illustrées par ce premier exemple ainsi que par les exemples ci-dessous, le procédé est préalablement initialisé dans un module d'initialisation 20 dans lequel la consigne C transmise du module de-consigne 58 via les liens 60 et 68; C(Im, R, M, N, m, n) définit les paramètres initiaux, à savoir :
• Im est relatif à l'image initiale et comporte des informations sur le nom, l'extension de cette image et son emplacement (disque dur ou serveur à distance ou autre),
• R représente le choix de l'opération de réduction,
• les valeurs du nombre de colonnes M et de lignes N de l'image initiale,
• les valeurs du nombre de colonnes m et de lignes n de l'image redimensionnée,
- la valeur initiale de Y est portée à zéro, Y=O, et une valeur de y égale à zéro, y=0, est enregistrée,
- la valeur initiale X est déterminée à zéro, X=O, et une valeur de xégale à zéro, y=0, est enregistrée,
- au pixel F (0,0) est attribuée la valeur du pixel P(O1O), - les variables « e » et « e' » sont initialisées à la valeur zéro.
L'étape I réalisée par le module 22 consiste à traiter les variables X, x et fait intervenir la variable dynamique intermédiaire « e' ». Elle comprend les opérations suivantes : - incrémentation de X d'une unité dans le module 221 ,
- incrémentation de la valeur 2. m de la variable intermédiaire « e' » dans le module 222,
- test de la valeur « e' » dans le module 223 : si « e' » est inférieure à 0, retour au module 221 et la valeur de X est incrémentée d'une unité ; si la valeur « e' » est égale ou supérieure à 0, passage au module 224 dans lequel la valeur de x est incrémentée d'une unité et la variable dynamique intermédiaire « e' » est décrémentée de la valeur 2.M,
- attribution au pixel F(x,y) de la valeur du pixel P (X1Y) dans le module 225, - vérification de la valeur de X dans le module 226 : si X est inférieur à M1 retour au module-221 ; si la valeur de X est égale ou supérieure à la valeur de M1 passage vers le module 23 et à l'étape II ci-dessous qui traite les variables Y1 y et fait intervenir une variable dynamique intermédiaire « e ».
Dans cette étape M1 le traitement est réalisé par le module 23 et comprend les opérations suivantes :
- incrémentation de Y d'une unité dans le module 231 ,
- incrémentation de la valeur 2.n de la vvariable dynamique intermédiaire « e » dans le module 232,
- test de la valeur « e » dans le module 233 : a) si « e » est inférieure à 0, passage au module 234 dans lequel est effectué le test de la valeur Y :
• si Y est inférieur à N, retour au module 231 dans lequel la valeur de Y est incrémentée d'une unité,
• si Y est égal ou supérieur à N, passage au module 235 dans lequel la valeur de y est incrémentée d'une unité et la variable dynamique intermédiaire « e » est décrémentée de la valeur 2.N, b) si « e » est égale ou supérieure à 0, également passage au module suivant 235, dans lequel la valeur de y est incrémentée d'une unité, « e » est décrémentée de la valeur 2.N, et passage à l'étape III ci-dessous dans laquelle est effectué le test de fin de procédé.
Dans cette étape III, réalisée par le module 24, les opérations portent sur la vérification des valeurs de x et de y dans le module 241 : si x est différent de m et/ou y est différent de n, retour à l'étape I, pour une opération d'incrémentation de X d'une unité dans le module
221 , si x est égal à m et y est égal à n, le traitement est terminé et suit le passage au module final 242 dans lequel est réalisé la sauvegarde et/ou l'affichage et/ou la transmission de l'image. Ce module final peut être le module d'images redimensionnées 15, d'images initiales 19, d'affichage 16, de transmission externe l 7 et/ou interne 18 de la figure 1.
Ce premier exemple de réalisation (figure 2) illustre la faible complexité du module 36 pour fournir des images de taille réduite, en conservant la proportion largeur/hauteur des images initiales.
En variante, il est également avantageux de pouvoir réaliser un redimensionnement déformant de l'image.
Ainsi, en référence aux figures 2a et 2b, une déformation d'une image initiale au format carré K1 est obtenue en décrémentant respectivement la largeur m et la hauteur n dans le module 235 (figure 2). L'image est redimensionnée en forme de trapèzes, respectivement T1 et T2, ces trapèzes se déduisant l'un de l'autre par application d'une rotation en 2,5D (flèche F1).
Dans le cas de la figure 2c, la déformation en parallélélogramme P1 du carré K1 est induite par une variation en début de chaque ligne de la valeur d'initialisation des coordonnées X ou Y. Cette variation est réalisée à l'étape d'initialisation 20 des modules 22 ou 23 (figure 2).
L'invention permet également d'utiliser le module de redimensionnement 36 tel que représenté sur la figure 3 pour réaliser, avec les mêmes avantages, l'agrandissement d'une image numérique en gardant la proportion largeur/hauteur de l'image initiale, la consigne C(Im, A, M, N, m, n) transmet les paramètres déjà décrits, avec une valeur « A » pour l'agrandissement.
Dans ce deuxième exemple, l'image initiale, constituée de M. N pixels, est agrandie en une image numérique finale de taille m.n pixels, où M≤m et N≤n.
Le procédé consiste d'abord à analyser successivement et itérativement les lignes de l'image et à appliquer à chaque ligne analysée un traitement-de calcul comportant les trois étapes principales I à III. Ces étapes I, II et III sont réalisées par les mêmes modules, compris dans module de redimensionnement 36, respectivement par le module 22, le module 23 et le module 24.
Avant de procéder à ces trois étapes principales, le procédé est
préalablement initialisé dans un module d'initialisation 20 comme indiqué ci- dessus.
L'étape I réalisée par le module 22 consiste à traiter les variables x, X et fait intervenir une variable dynamique intermédiaire « e' ». Elle comprend alors les opérations suivantes :
- incrémentation de x d'une unité dans le module 321 ,
- incrémentation de la valeur 2.M de la variable dynamique intermédiaire « e' » dans le module 232, - test de la valeur « e' » dans le module 323 : si « e' » est inférieure à 0, attribution au pixel F(x,y) de la valeur du pixel P(X1Y) dans le module 324, si la valeur « e' » est supérieure ou égale à 0, passage au module 325 dans lequel la valeur de X est incrémentée d'une unité et la variable « e » est décrémentée de la valeur 2.m, - attribution au pixel F(x,y) de la valeur du pixel P(X1Y) dans le module 324,
- vérification de la valeur de x dans le module 326 : si x est inférieur à m, retour au module 321 dans lequel la valeur de x est incrémentée d'une unité. Si la valeur de x est égale ou supérieure à la valeur de m, passage au module 23 et à l'étape II ci-dessous qui traite les variables y, Y et fait intervenir une variable dynamique « e ».
Dans cette étape II le traitement est réalisé par le module 23 et comprend les opérations suivantes : - incrémentation de y d'une unité dans le module 331 ,
- incrémentation ~de~ la— valeur -2.N- de la variable~dynamique intermédiaire « e » dans le module 232,
- test de la valeur « e » dans le module 333 : a) si « e » est inférieure à 0, passage dans le module 334 dans lequel est effectué le test de la valeur y,
• si y est inférieur à n, retour au module 321 dans lequel la valeur de x est
incrémentée d'une unité,
• si y est supérieur ou égal à n, passage au module final 24, b) si « e » est égale ou supérieure à O1 passage au module suivant 335 dans lequel la valeur de Y est incrémentée d'une unité, « e » est décrémentée de la valeur 2.n, et passage à l'étape III ci-dessous dans laquelle est effectué le test de fin de procédé.
Dans cette étape III, réalisée par le module 24, les opérations portent sur la vérification des valeurs de x et de y portées dans le module 241 : - si x est différent de m et/ou y est différent de n, retour à l'étape I, pour une opération d'incrémentation de X d'une unité dans le module 321 ,
- si x est égal à m et y est égal à n, le traitement est terminé et passage au module final 242.
Ce deuxième exemple de mise en oeuvre de la présente invention (figure 3) décrit le procédé effectué par le module de redimensionnement 36 (figure 1), procédé de faible complexité qui procure des images de taille augmentée, en conservant la proportion hauteur/largeur des images initiales.
La présente invention s'applique également à la déformation d'images.
Dans la présente invention, le terme « déformation » d'une image numérique se rapporte au redimensionnement de ladite image numérique initiale en une image numérique redimensionnée dont la proportion largeur/hauteur est différente de la proportion-largeur/hauteur de l'image initiale.
La figure 4 illustre cette application dédiée à la réalisation d'une déformation d'image numérique en modifiant la proportion largeur/hauteur de l'image initiale avec une hauteur réduite et une largeur agrandie pour l'image redimensionnée.
Dans cet exemple, l'image initiale constituée de M. N pixels, est transformée en une image numérique de taille m.n pixels (M, m étant le nombre de colonnes et N, n le nombre de lignes), où M>m et N≤n. Le procédé consiste à analyser successivement et itérativement les lignes de l'image et à appliquer à chaque ligne analysée un traitement de calcul comportant les trois étapes principales I à III. Les étapes I, II et III sont réalisées par les mêmes modules, compris dans module de redimensionnement 36, respectivement par le module 22, le module 23 et le module 24.
Avant de procéder à ces trois étapes principales, le procédé est préalablement initialisé dans le module d'initialisation 20 où la consigne C est transmise du module de consigne 58 via les liens 60 et 68. La consigne C(Im, HRLA, M, N, m, n) définit les paramètres initiaux comme précédemment avec, en plus, un paramètre HRLA qui représente le choix de l'opération de réduction du nombre des lignes et d'agrandissement du nombre des colonnes.
L'étape I réalisée par le module 22 consiste à traiter les variables X, x et fait intervenir une variable intermédiaire « e' ». Elle comprend alors les opérations suivantes :
- incrémentation de X d'une unité dans le module 421 ,
- incrémentation de la valeur 2. m de la variable dynamique intermédiaire « e' » dans le module 422,
- test de la valeur « e » dans le module 423 : si la variable « e' » est inférieure à 0, retour au module 421 et la valeur de X est incrémentée d'une unitérsi « e' » est égale ou supérieure à θ passage au module 424 dans lequel la valeur de x est incrémentée d'une unité et la variable dynamique intermédiaire « e' » est décrémentée de la valeur 2.N,
- attribution au pixel F(x,y) de la valeur du pixel P (X1Y) dans le module 425,
- vérification de la valeur de X dans le module 426 : si X est
inférieur à M, retour au module 421 , si la valeur de X est égale ou supérieure à la valeur de M, passage au module 23 et à l'étape II ci-dessous qui traite les variables y, Y et fait intervenir une variable dynamique intermédiaire « e ».
Dans cette étape II le traitement est réalisée par le module 23 et comprend les opérations suivantes :
- incrémentation de y d'une unité dans le module 431 ,
- incrémentation de la valeur 2.N de la variable dynamique intermédiaire « e » dans le module 432, - test de la valeur « e » dans le module 433 : si « e » est inférieure à 0, vérification de la valeur de y dans le module 434 : si y est inférieur à n, retour au module 431 où y est incrémenté d'une unité ; si y est égal ou supérieur à n-1 , passage au module final 24 ; si « e » est égale ou supérieure à 0, passage au module suivant 435, dans lequel la valeur de Y est incrémentée d'une unité, « e » est décrémentée de la valeur 2.n et ensuite passage à l'étape III ci-dessous dans laquelle est réalisé le test de fin de procédé.
Dans cette étape III, réalisée par le module 24, les opérations portent sur la vérification des valeurs de x et de y dans le module 241 : - si x est différent de m et/ou y est différent de n, retour à l'étape I, pour une opération d'incrémentation de X d'une unité dans le module 421 ,
- si x est égal à m et y est égal à n, le traitement est terminé et passage au module final 242.
Ce troisième exemple de réalisation (figure 4) décrit le procédé effectué par le module de redimensionnement— 36~(figure-1 )r procédé-de faible complexité qui procure des images « déformées » avec une hauteur réduite et une largeur augmentée par rapport à la proportion largeur/hauteur de l'image initiale.
Dans l'exemple illustré en figure 5, le module de redimensionnement 36 vise à réaliser la déformation d'une image numérique en
modifiant la proportion largeur/hauteur de l'image initiale avec une hauteur agrandie et une largeur réduite pour l'image redimensionnée.
Dans cet exemple, l'image initiale constituée de M. N pixels, est transformée en une image numérique de taille m.n pixels (M, m étant le nombre de colonnes et N, n le nombre de lignes), où M≤m et N≥n. Le procédé consiste à analyser successivement et itérativement les lignes de l'image et à appliquer à chaque ligne analysée un traitement comportant les trois étapes principales I à III. Ces étapes I, II et III sont réalisées par les mêmes modules, compris dans module de redimensionnement 36, respectivement par le module 22, le module 23 et le module 24.
Avant de procéder à ces trois étapes principales, le procédé est préalablement initialisé dans un module d'initialisation 21 avec la consigne C, transmise du module de consigne 58, C(Im1 HALR, M1 N, m, n), qui définit les paramètres initiaux comme dans l'exemple précédent. HALR représente ici le choix de l'opération d'agrandissement du nombre des lignes et de réduction du nombre des colonnes.
L'étape I réalisée par le module 22 consiste à traiter les variables x, X et fait intervenir une variable dynamique intermédiaire « e' ». Elle comprend alors les opérations suivantes :
- incrémentation de x d'une unité dans le module 521 ,
- incrémentation de la valeur 2.M de la variable dynamique intermédiaire « e' » dans le module 522,
- testrdeia valeur « e'-»-dans-le-module- 523 rsi la variable » e' » est inférieure à 0, attribution au pixel F(x,y) de la valeur du pixel P(X1Y) dans le module 524 ; si la valeur « e' » est supérieure ou égale à 0, passage au module 525 dans lequel la valeur de X est incrémentée d'une unité et la variable dynamique intermédiaire « e' » est décrémentée de la valeur 2.n,
- attribution au pixel F(x,y) de la valeur du pixel P (X1Y) dans le
module 524,
- vérification de la valeur de x dans le module 527 : si x est inférieur à m, retour au module 521 dans lequel la valeur de x est incrémentée d'une unité ; si la valeur de x est égale ou supérieure à la valeur de m, passage au module 531 et à l'étape II ci-dessous qui traite les variables Y, y et fait intervenir une variable dynamique intermédiaire « e ».
Dans cette étape II le traitement est réalisé par le module 23 et comprend les opérations suivantes : - incrémentation de la valeur de Y d'une unité dans le module 531 ,
- incrémentation de la valeur 2.n de la variable dynamique intermédiaire « e » dans le module 532,
- test de la valeur « e » dans le module 533 : a) si la valeur « e » est inférieure à 0, passage au module suivant 534 dans lequel est testée la valeur de Y :
• si Y est inférieur à N, retour au module 531 dans lequel la valeur de Y est incrémentée d'une unité,
• si Y est égal ou supérieur à N, passage à l'étape Ml et au module 24, b) si « e » est égale ou supérieure à 0, passage au module 535, dans lequel la valeur de y est incrémentée d'une unité, la variable dynamique intermédiaire « e » est décrémentée de la valeur 2.N, et ensuite passage à l'étape III ci-dessous, dans laquelle est effectué le test de fin de procédé.
Dans cette étape III, réalisée par le module 24, les opérations portent comme précédemment sur la vérification des valeurs de x et de y dans le module-241 :
- si x est différent de m et/ou y est différent de n, retour à l'étape I, pour une opération d'incrémentation de X d'une unité dans le module 521 ,
- si x est égal à m et y est égal à n, le traitement est terminé et passage au module final 242.
Ce quatrième exemple de réalisation (figure 5) décrit le procédé effectué par le module de redimensionnement 36 (figure 1), procédé de faible complexité procurant des images « déformées » avec une hauteur augmentée et une largeur réduite, par rapport à la proportion largeur/hauteur de l'image initiale.
Les exemples de réalisation cités sont non limitatifs et sont également appliqués pour une analyse successive et itérative des colonnes ou des diagonales de l'image traitée, avec les mêmes avantages.
Afin d'optimiser l'algorithme, il est possible de calculer une fois les valeurs 2.M, 2. m, 2.N et 2.n, afin de limiter le nombre de fois où ce calcul est effectué. Il s'agit là d'un compromis « nombre de variables intermédiaires nécessaires » / « quantité de calculs effectués ».
L'invention n'est pas limitée aux exemples précédents. Ainsi, le procédé de la présente invention est applicable à plus d'un format d'images numériques (par exemple JPEG, JPEG2000, GIF, PNG, BMP, WBMP ou autre) ou de vidéos numériques. De plus l'invention est également applicable par analyse successive et itérative des colonnes ou des diagonales de l'image traitée.
Par ailleurs, les valeurs de X, Y, x et y peuvent être incrémentées de plusieurs unités en fonction des variables dynamiques intermédiaires « e » et « e' », des valeurs de M, N, m et n et du paramétrage du module de consigne.
Le procédé et le système de la présente invention offrent différentes variantes des re-dimensionnements en gardant ou non la proportion largeur/hauteur de l'image initiale. Le procédé selon la présente invention est d'une faible complexité par rapport à d'autres méthodes connues par l'art antérieur. De ce fait, le procédé selon l'invention, de faible complexité, est adapté à la mise en oeuvre sur des systèmes « légers », c'est-à-dire sur des systèmes
avec des contraintes de capacités de traitement, tels que des applications embarquées sur des téléphones portables ou des équipements ne disposant que de ressources informatiques restreintes.
Claims
1. Procédé pour le redimensionnement d'images numériques constituées selon une proportion donnée colonnes/lignes comprenant au moins une composante numérique organisée en lignes et en colonnes, caractérisé en ce que lesdites images numériques sont redimensionnées par des traitements successifs et itératifs de la position en ligne et colonne d'au moins une partie des composantes numériques d'une image, faisant intervenir au moins deux variables dynamiques intermédiaires (e,e') qui sont fonctions des dimensions en nombre de lignes (M) et de colonnes (N) d'une image numérique initiale (10) et/ou des dimensions en nombre de lignes (m) et de colonnes (n) d'une image numérique redimensionnée (76).
2. Procédé selon la revendication 1 , caractérisé en ce qu'au moins une des variables dynamiques intermédiaires (e,e') évolue de manière successive et itérative en fonction de la position (X1Y) des composantes numériques de l'image initiale et en fonction de la position (x,y) des composantes numériques de l'image redimensionnée.
3. Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce que l'analyse pour le redimensionnement est effectué en un seul passage sur les colonnes et sur les lignes de l'image initiale (10), et sur les colonnes et sur les lignes de l'image redimensionnée (76).
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'analyse pour le redimensionnement est effectuée ligne par ligne de l'image.
5. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'analyse pour le redimensionnement est effectuée colonne par colonne de l'image.
6. Procédé selon l'une quelconque des revendications de 1 à 5, caractérisé en ce l'image redimensionnée, réduite ou agrandie, possède une proportion hauteur/largeur égale à la proportion hauteur/largeur de l'image initiale.
7. Procédé selon l'une quelconque des revendications de 1 à 5, caractérisé en ce que l'image redimensionnée, réduite ou agrandie, possède une proportion hauteur/largeur différente de la proportion hauteur/largeur de l'image initiale.
8. Procédé de redimensionnement selon la revendication précédente, dans lequel une déformation de l'image initiale (K1) est réalisée en décrémentant respectivement la largeur m et la hauteur n (235), les images obtenues pouvant se déduire par rotation en 2,5D.
9. Procédé de redimensionnement selon la revendication précédente, dans lequel une déformation de l'image initiale (K1) est réalisée par une variation en début de chaque ligne de la valeur d'initialisation des coordonnées (X1Y), cette variation étant réalisée à l'étape d'initialisation (20) des modules (22, 23).
10. Procédé selon l'une quelconque des revendications de 1 à 9, caractérisé en ce qu'il est appliqué à au moins un format d'images numériques.
11. Procédé selon l'une quelconque des revendications de 1 à 9, caractérisé en ce qu'il est appliqué à au moins un format de vidéos numériques.
12. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est appliqué en temps réel.
13. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est appliqué en temps différé.
14. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les valeurs de numéro de lignes (X) de l'image initiale et/ou de numéro de colonnes (Y) de l'image initiale , et/ou de numéro de lignes (x) de l'image redimensionnée, et/ou de numéro de colonnes (y) de l'image redimensionnée, relatives à la position courante d'un élément numérique traité d'au moins une image sont incrémentées d'une unité.
15. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les valeurs de numéro de lignes (X) de l'image initiale et/ou de numéro de colonnes (Y) de l'image initiale , et/ou de numéro de lignes (x) de l'image redimensionnée, et/ou de numéro de colonnes (y) de l'image redimensionnée, relatives à la position courante d'un élément numérique traité d'au moins une image sont incrémentées de plusieurs unités.
16. Système de redimensionnement d'images numériques pour la mise œuvre du procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit système est composé de modules de traitement numérique connectés entre eux, comprenant au moins un module de redimensionnement (36) d'images numériques par des traitements numériques successifs et itératifs des composantes de l'image numérique initiale (10) à l'aide d'au moins un module de calcul (30) et au moins un module de consigne (58) pour le paramétrage du redimensionnement.
17. Système de redimensionnement selon la revendication 14, dans lequel l'image redimensionnée (76) est encodée par un module d'encodage/décodage (62) puis sauvegardée dans un module de stockage (50,54).
18. Système selon l'une quelconque des revendications 14 à 15, caractérisé en ce que l'image initiale (10) représente une image redimensionnée (76), traitée par le module de redimensionnement (36) soit directement après au moins un redimensionnement, soit récupérée à partir du module de stockage (50, 54).
19. Système selon l'une quelconque des revendications 14 à 16, caractérisé en ce que l'image redimensionnée (76) est affichée sur un module d'affichage (98) directement après le redimensionnement ou à partir du module de stockage (50, 54).
20. Système selon l'une quelconque des revendications 14 à 17, caractérisé en ce que l'image redimensionnée (76) affichée sur un module d'affichage (98) et/ou sauvegardée par un module de sauvegarde (50) ou (54), est transmise à partir d'un module de transmission (84, 92) vers un réseau de transmission (88).
21. Système selon l'une quelconque des revendications 14 à 18, caractérisé en ce qu'il comporte au moins un module de consigne (58) autoadaptatif pour le paramétrage du redimensionnement de l'image initiale.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09721298A EP2245590A2 (fr) | 2008-01-30 | 2009-01-30 | Procédé et système de redimensionnement d'images numériques |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0850552 | 2008-01-30 | ||
FR0850552A FR2926918B1 (fr) | 2008-01-30 | 2008-01-30 | Procede et systeme de redimensionnement d'images numeriques |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2009115659A2 true WO2009115659A2 (fr) | 2009-09-24 |
WO2009115659A3 WO2009115659A3 (fr) | 2009-11-12 |
Family
ID=39691053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2009/000110 WO2009115659A2 (fr) | 2008-01-30 | 2009-01-30 | Procede et systeme de redimensionnement d'images numeriques |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2245590A2 (fr) |
FR (1) | FR2926918B1 (fr) |
WO (1) | WO2009115659A2 (fr) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317524B1 (en) | 1999-04-29 | 2001-11-13 | Xerox Corporation | Anti-counterfeit detection method |
WO2004057532A1 (fr) | 2002-12-19 | 2004-07-08 | Koninklijke Philips Electronics N.V. | Mise a l'echelle d'images |
WO2005055139A1 (fr) | 2003-12-03 | 2005-06-16 | Nokia Corporation | Procede et appareil de reduction d'echelle d'une image matrice numerique |
EP1752880A1 (fr) | 2004-04-30 | 2007-02-14 | Access Co., Ltd. | Procede d"elargissement/de reduction dynamique d"image en navigation, dispositif terminal et programme |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62247672A (ja) * | 1985-11-27 | 1987-10-28 | Sharp Corp | 任意倍率での画像の拡大縮小方法 |
-
2008
- 2008-01-30 FR FR0850552A patent/FR2926918B1/fr not_active Expired - Fee Related
-
2009
- 2009-01-30 EP EP09721298A patent/EP2245590A2/fr not_active Withdrawn
- 2009-01-30 WO PCT/FR2009/000110 patent/WO2009115659A2/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317524B1 (en) | 1999-04-29 | 2001-11-13 | Xerox Corporation | Anti-counterfeit detection method |
WO2004057532A1 (fr) | 2002-12-19 | 2004-07-08 | Koninklijke Philips Electronics N.V. | Mise a l'echelle d'images |
WO2005055139A1 (fr) | 2003-12-03 | 2005-06-16 | Nokia Corporation | Procede et appareil de reduction d'echelle d'une image matrice numerique |
EP1752880A1 (fr) | 2004-04-30 | 2007-02-14 | Access Co., Ltd. | Procede d"elargissement/de reduction dynamique d"image en navigation, dispositif terminal et programme |
Also Published As
Publication number | Publication date |
---|---|
WO2009115659A3 (fr) | 2009-11-12 |
FR2926918A1 (fr) | 2009-07-31 |
EP2245590A2 (fr) | 2010-11-03 |
FR2926918B1 (fr) | 2010-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109389556B (zh) | 一种多尺度空洞卷积神经网络超分辨率重构方法及装置 | |
CN108154222B (zh) | 深度神经网络训练方法和系统、电子设备 | |
EP3301617A1 (fr) | Procédés d'apprentissage sécurisé de paramètres d'un réseau de neurones à convolution, et de classification sécurisée d'une donnée d'entrée | |
Ghazvinian Zanjani et al. | Impact of JPEG 2000 compression on deep convolutional neural networks for metastatic cancer detection in histopathological images | |
FR3016066A1 (fr) | Systeme et procede de ponderation pour une mise en commun de descripteurs d'image | |
FR2968426A1 (fr) | Calcul de comparaison asymetrique a grande echelle pour integrations binaires | |
US11804043B2 (en) | Detecting objects in a video using attention models | |
WO1991000577A1 (fr) | Procede de segmentation du champ de mouvement d'une image et son application au codage d'images video | |
CN114170167B (zh) | 基于注意力引导上下文校正的息肉分割方法和计算机设备 | |
EP2962301B1 (fr) | Generation d'une signature d'un signal audio musical | |
CN111079858A (zh) | 一种加密数据的处理方法及装置 | |
CN115713462A (zh) | 超分辨模型训练方法、图像识别方法、装置及设备 | |
FR2826749A1 (fr) | Description d'une interface applicable a un objet informatique | |
Zhang et al. | Dataset mismatched steganalysis using subdomain adaptation with guiding feature | |
Peters et al. | As good as human experts in detecting plant roots in minirhizotron images but efficient and reproducible: The convolutional neural network “RootDetector” | |
EP2022009B1 (fr) | Procede de codage et systeme d'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese | |
CN114299305A (zh) | 聚合密集和注意力多尺度特征的显著性目标检测算法 | |
CN115880516A (zh) | 图像分类方法、图像分类模型训练方法及相关设备 | |
CN116977336A (zh) | 摄像头缺陷检测方法、装置、计算机设备及存储介质 | |
EP2245590A2 (fr) | Procédé et système de redimensionnement d'images numériques | |
Ayubi et al. | A new seam carving method for image resizing based on entropy energy and lyapunov exponent | |
FR2851353A1 (fr) | Procede de classification hierarchique descendante de donnees multi-valuees | |
CN115409719A (zh) | 数据处理方法、装置、终端设备及计算机可读存储介质 | |
US7468733B2 (en) | Method and system for improving color reduction | |
Fischinger et al. | DF-Net: The digital forensics network for image forgery detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09721298 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009721298 Country of ref document: EP |