FI112017B - Automatic zooming method and device - Google Patents
Automatic zooming method and device Download PDFInfo
- Publication number
- FI112017B FI112017B FI20020368A FI20020368A FI112017B FI 112017 B FI112017 B FI 112017B FI 20020368 A FI20020368 A FI 20020368A FI 20020368 A FI20020368 A FI 20020368A FI 112017 B FI112017 B FI 112017B
- Authority
- FI
- Finland
- Prior art keywords
- image
- motion
- zoom
- register
- image field
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000001186 cumulative effect Effects 0.000 claims description 12
- 230000035945 sensitivity Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 235000003197 Byrsonima crassifolia Nutrition 0.000 claims description 3
- 240000001546 Byrsonima crassifolia Species 0.000 claims description 3
- 230000001276 controlling effect Effects 0.000 claims 5
- 230000001105 regulatory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- VOXZDWNPVJITMN-ZBRFXRBCSA-N 17β-estradiol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@H](CC4)O)[C@@H]4[C@@H]3CCC2=C1 VOXZDWNPVJITMN-ZBRFXRBCSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- QOWAEJDMPSSSJP-WKNCGDISSA-N lipid-associating peptide Chemical compound C([C@H](NC(=O)[C@H](CCC(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@@H](NC(=O)[C@H](CO)NC(=O)[C@@H](N)CO)CC(C)C)C(=O)N[C@@H](CC=1C2=CC=CC=C2NC=1)C(=O)N[C@@H](CO)C(=O)N[C@@H](CO)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](CO)C(=O)N[C@@H](CC=1C=CC=CC=1)C(=O)N[C@@H](CO)C(O)=O)C1=CC=C(O)C=C1 QOWAEJDMPSSSJP-WKNCGDISSA-N 0.000 description 1
- 108010071296 lipid-associating peptides Proteins 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005303 weighing Methods 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19602—Image analysis to detect motion of the intruder, e.g. by frame subtraction
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19602—Image analysis to detect motion of the intruder, e.g. by frame subtraction
- G08B13/19606—Discriminating between target movement or movement in an area of interest and other non-signicative movements, e.g. target movements induced by camera shake or movements of pets, falling leaves, rotating fan
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19665—Details related to the storage of video surveillance data
- G08B13/19667—Details realated to data compression, encryption or encoding, e.g. resolution modes for reducing data volume to lower transmission bandwidth or memory requirements
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19678—User interface
- G08B13/1968—Interfaces for setting up or customising the system
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19678—User interface
- G08B13/19689—Remote control of cameras, e.g. remote orientation or image zooming control for a PTZ camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
112017112017
Menetelmä ja laite automaattiseen zoomaukseenMethod and device for automatic zoom
AlaArea
Keksinnön kohteina ovat menetelmä ja laite automaattiseen zoomaukseen.The invention relates to a method and a device for automatic zooming.
5 Tausta IPC-luokissa G03B ja H04N kuvataan erilaisia ratkaisuja kuvattavan kohteen automaattisen seurannan ja automaattisen zoomauksen toteuttamiseksi. US-patentissa 4,719,485 kuvataan kamera, jossa käytetään lämpösen-soria elollisten olioiden havaitsemiseen kuva-alassa. Havaitseminen perustuu 10 olion lämpötilan eroavuuteen ympäröivästä lämpötilasta. Olion havaitsemisen jälkeen sen etäisyys kamerasta mitataan. Kameraa käännetään sitten moottoroidulla jalustalla olion liikkeen mukaisesti. Moottoroitua zoomia käytetään pitämään seurattavan olion koko kuva-alassa vakiona, riippumatta olion etäisyydestä kamerasta. Ratkaisun ongelmana on kustannusmielessä se, että se 15 edellyttää lämpösensorin, moottoroidun jalustan ja etäisyydenmittausvälinei-den käyttöä.5 Background IPC classes G03B and H04N describe various solutions for automatically tracking and auto zooming a subject. U.S. Patent No. 4,719,485 describes a camera using a thermal SOR to detect living entities in the image. The detection is based on the difference in temperature of 10 objects from the ambient temperature. After the object is detected, its distance from the camera is measured. The camera is then rotated on a motorized stand according to the motion of the object. Motorized zoom is used to keep the object being tracked constant throughout the image, regardless of the object's distance from the camera. The problem with the solution is that it requires the use of a thermal sensor, a motorized pedestal, and distance measuring devices in a cost-effective manner.
Lyhyt selostusShort description
Keksinnön tavoitteena on tarjota parannettu menetelmä automaattiseen zoomaukseen ja parannettu laite automaattiseen zoomaukseen.The object of the invention is to provide an improved method for automatic zooming and an improved device for automatic zooming.
20 Keksinnön eräänä puolena esitetään menetelmä automaattiseen zoomaukseen, jossa menetelmässä: muodostetaan kunkin edellisen kuvan .: luminanssipikselin ja vastaavan nykyisen kuvan luminanssipikselin välistä suu- ,’ ruuseroa kuvaava erodata; lisätään muodostetut erodatat kumulatiiviseen liike- : : rekisteriin, jossa liikerekisterissä kutakin kuvan luminanssipikseliä vastaa data- : : 25 alkio; tunnistetaan liikkeeksi sellaiset data-alkiot, joiden arvo ylittää ennalta määrätyn kynnysarvon; ja zoomataan tunnistettuun liikkeeseen.In one aspect of the invention, there is provided a method of automatic zooming, comprising: generating eroded data representing the difference between the luminance pixel of each preceding image and the corresponding image luminance pixel; adding the generated difference data to a cumulative motion:: register, where in the motion register each data luminance pixel of the image:: 25 element; detecting data elements whose value exceeds a predetermined threshold value; and zoom in to the recognized motion.
Keksinnön eräänä puolena esitetään laite automaattiseen zoomaukseen, joka laite käsittää: välineet muodostaa kunkin edellisen kuvan luminanssipikselin ja vastaavan nykyisen kuvan luminanssipikselin välistä suu-, ' 30 ruuseroa kuvaava erodata; välineet lisätä muodostetut erodatat kumulatiivi- seen liikerekisteriin, jossa liikerekisterissä kutakin kuvan luminanssipikseliä vastaa data-alkio; välineet tunnistaa liikkeeksi sellaiset data-alkiot, joiden arvo ylittää ennalta määrätyn kynnysarvon; ja välineet zoomata tunnistettuun liikkeeseen.In one aspect of the invention, there is provided a device for automatic zooming, comprising: means for generating erosional data representing the difference between the luminance pixel of each preceding image and the corresponding image luminance pixel; means for adding the generated eroded data to a cumulative motion register, wherein in the motion register a data item corresponding to each luminance pixel of the image; means for detecting data items whose value exceeds a predetermined threshold value; and means for zooming into the identified motion.
2 1120172 112017
Keksinnön eräänä puolena esitetään laite automaattiseen zoomaukseen, joka laite on konfiguroitu: muodostamaan kunkin edellisen kuvan lu-minanssipikselin ja vastaavan nykyisen kuvan luminanssipikselin välistä suu-ruuseroa kuvaava erodata; lisäämään muodostetut erodatat kumulatiiviseen 5 liikerekisteriin, jossa liikerekisterissä kutakin kuvan luminanssipikseliä vastaa data-alkio; tunnistamaan liikkeeksi sellaiset data-alkiot, joiden arvo ylittää ennalta määrätyn kynnysarvon; ja zoomaamaan tunnistettuun liikkeeseen.In one aspect of the invention, there is provided a device for automatic zooming configured to: generate difference data representing the difference between the luminance pixel of each preceding image and the corresponding current image luminance pixel; adding the generated difference data to the cumulative motion register 5, where in the motion register each data luminance pixel corresponds to a data item; identify data items whose value exceeds a predetermined threshold value; and zoom into the recognized motion.
Keksinnön edulliset suoritusmuodot ovat epäitsenäisten patenttivaatimusten kohteena.Preferred embodiments of the invention are claimed in the dependent claims.
10 Keksintö perustuu siihen, että analysoidaan peräkkäisten kuvien luminanssipikseleiden välisiä eroja, jolloin liike kyetään tunnistamaan automaattisesti. Menettely muistuttaa hieman videokoodauksessa käytettävää liikkeen estimointia, mutta käytettävä liikerekisteri on kumulatiivinen, jolloin kuvasta tunnistetaan liikkeeksi myös henkilö, joka liikkuu lyhyen aikaa ja sitten py-15 sähtyy.The invention is based on analyzing the differences between the luminance pixels of successive images, whereby motion can be detected automatically. The procedure is somewhat reminiscent of motion estimation used in video encoding, but the motion register used is cumulative, in which case a person who moves for a short period of time and then the py-15 is fired is also identified as motion.
Keksinnön mukaisella menetelmällä ja laitteella saavutetaan useita etuja. Menettelyllä voidaan zoomata tunnistettuun liikkeeseen ilman erityisiä laiteosia, esimerkiksi ilman aiemmin mainitussa US-patentissa tarvittavia läm-pösensoreita. Välttämättä keksinnössä ei myöskään tarvita optista zoomia, 20 sillä zoomaus voidaan suorittaa digitaalisesti. Aiemmin ei ole myöskään varsinaisesti tunnettu tunnistettuun liikkeeseen zoomaamista, vaan tunnetut ratkai-:Y: sut toimivat fokuksen perusteella, ts. niissä zoomataan ns. lähimpään pistee- : . . seen. Keksinnön mukaisella menettelyllä voidaan myös automaattisesti zoo- . mata muuallekin kuin kuva-alan keskustaan, kun taas tunnetun tekniikan mu- *··', 25 kaisissa ratkaisuissa zoomaus tapahtuu kuva-alan keskustaan.The method and apparatus of the invention provide several advantages. The procedure can be used to zoom into identified motion without the use of special equipment parts, for example, without the heat sensors required in the aforementioned U.S. Patent. Also, the invention does not necessarily require optical zoom, since the zoom can be performed digitally. Previously, it is not really known to zoom into a recognized motion, but known solutions: Ys operate on the basis of focus, i.e. they zoom in on what is called a "motion". to nearest point:. . a. The procedure of the invention can also automatically zoo. Mata other than the center of the image area, while prior art solutions * ·· '25 zoom in on the center of the image area.
. Menettelyn suoritusmuodoilla on myös muita etuja, joita kuvataan ;, : jäljempänä tarkemmin.. Embodiments of the process also have other advantages, which are described below;
Kuvioluettelo : Keksintöä selostetaan nyt lähemmin edullisten suoritusmuotojen yh- :" : 30 teydessä, viitaten oheisiin piirroksiin, joissa ' kuvio 1 on lohkokaavio esittäen laitetta automaattiseen zoomauk- I » seen; kuvio 2 on vuokaavio havainnollistaen menetelmää automaattiseen :T; zoomaukseen; ’' ‘: 35 kuvio 3 havainnollistaa luminanssipikselin käsittelyä liikerekisterissä; 3 112017 kuviot 4A, 5A, 6A ja 7A esittävät neljää kuvaa, jotka on valittu peräkkäisten kuvien sekvenssistä; kuviot 4B, 5B, 6B ja 7B esittävät, miltä näyttäisi kuvioista 4A, 5A, 6A ja 7A tunnistettu liike mustavalkokuvana;BRIEF DESCRIPTION OF THE DRAWINGS The invention will now be described in more detail with reference to the preferred embodiments, with reference to the accompanying drawings, in which: 'FIG. 1 is a block diagram showing a device for automatic zooming; FIG. 2 is a flow chart illustrating a method for automatic zooming; Fig. 3 illustrates the processing of a luminance pixel in a motion register; Figures 4A, 5A, 6A and 7A show four images selected from a sequence of sequential images; Figures 4B, 5B, 6B and 7B show what Figures 4A, 5A, 6A and 7A would look like. identified motion in black and white;
5 kuviot 4C, 5C, 6C ja 7C esittävät, miltä näyttää kuvioista 4A, 5A, 6AFigures 4C, 5C, 6C and 7C illustrate what Figures 4A, 5A, 6A look like
ja 7A tunnistettuun liikkeeseen zoomattu kuva; kuvio 8 havainnollistaa kameran liikuttamisen vaikutusta; kuvio 9 havainnollistaa kameran optisen zoomin käytön vaikutusta; ja 10 kuvio 10 havainnollistaa luminanssipikselin käsittelyä liikerekisteris- sä kuvioiden 4A, 5A, 6A ja 7A esimerkin yhteydessä.and 7A a zoomed image of the detected motion; Figure 8 illustrates the effect of moving the camera; Figure 9 illustrates the effect of using optical zoom of a camera; and FIG. 10 illustrates processing of a luminance pixel in a motion register in connection with the example of FIGS. 4A, 5A, 6A and 7A.
Suoritusmuotojen kuvausDescription of Embodiments
Viitaten kuvioon 1 selostetaan laite automaattiseen zoomaukseen. Perusperiaatteeltaan laite on yksinkertainen, se on konfiguroitu muodosta-15 maan erodata vähentämällä kustakin edellisen kuvan luminanssipikselistä vastaava nykyisen kuvan luminanssipikseli. Laite on myös konfiguroitu lisäämään muodostettu erodata kumulatiiviseen liikerekisteriin. Kumulatiivisessa liike-rekisterissä kutakin kuvan luminanssipikseliä vastaa data-alkio. Laite on konfiguroitu tunnistamaan liikkeeksi sellaiset data-alkiot, joiden arvo ylittää ennalta 20 määrätyn kynnysarvon. Varsinainen zoomaus toteutetaan siten, että laite on ; konfiguroitu zoomaamaan tunnistettuun liikkeeseen.Referring to Figure 1, a device for automatic zooming is described. Basically, the device is simple, it is configured to form-15 ground erod data by subtracting the current image luminance pixel from each of the previous image's luminance pixel. The device is also configured to add the generated difference data to the cumulative motion register. In the cumulative motion register, each data luminance pixel corresponds to a data item. The device is configured to detect data items whose value exceeds a predetermined threshold value of 20. The actual zooming is done with the device in; configured to zoom into a recognized motion.
. ,·. Tarkastellaan nyt tarkemmin kuviossa 1 kuvattua laitetta. Laite on : yhteydessä kuvalähteeseen, esimerkissämme videokameraan 158. Kuvaläh- teenä voidaan käyttää mitä tahansa tunnettua laitetta, josta saadaan peräkkäi-, ’ 25 siä kuvia 100. Koska keksinnössä analysoidaan peräkkäisten kuvien lumi- ; : nanssipikseleiden muutoksia, täytyy kuvalähteestä saatavan informaation si- : sältää luminanssi-informaatio, joko erillisinä luminanssipikseleinä tai sitten lu- minanssipikselit täytyy pystyä erottamaan tai muuntamaan kuvalähteestä tule- »· » •',* vasta informaatiosta.. ·. Let us now take a closer look at the device illustrated in Figure 1. The device is: connected to an image source, in our example, a camcorder 158. The image source can be any known device which produces sequential images 100. Since the invention analyzes the snow; changes in the nance pixels, the information from the image source must contain the luminance information, either as discrete luminance pixels, or else the luminance pixels must be capable of being extracted or transformed from the information from the image source.
30 Peräkkäisten kuvien, esimerkiksi videokuvan, koodausta käytetään ’. t datamäärän vähentämiseksi, jotta se voidaan tehokkaammin tallentaa jollekin ;;; muistivälineelle tai siirtää tietoliikenneyhteyttä käyttäen. Esimerkki videokoo dausstandardista on MPEG-4 (Moving Pictures Expert Group). Käytettyjä ku-: ’ i vakokoja on erilaisia, esimerkiksi cif-koko on 352 x 288 pikseliä ja qcif-koko on 35 176 x 144 pikseliä. Tyypillisesti yksittäinen kuva jaetaan lohkoiksi, jotka sisäl tävät tietoa valoisuudesta, väristä ja sijainnista. Lohkojen data kompressoidaan 4 112017 lohkoittain halutulla koodausmenetelmällä. Kompressointi perustuu vähemmän merkityksellisen datan poistamiseen. Kompressointimenetelmät jaetaan pääasiallisesti kolmeen eri luokkaan: spektrisen redundanssin vähentäminen (Spectral Redundancy Reduction), tilaredundanssin vähentäminen (Spatial 5 Redundancy Reduction) ja ajallisen redundanssin vähentäminen (Temporal Redundancy Reduction). Tyypillisesti kompressointiin käytetään näiden menetelmien erilaisia yhdistelmiä.30 Sequential images, such as video, are coded '. t reduce the amount of data so that it can be stored more efficiently ;;; to a storage medium or transfer using a data connection. An example of a video coding standard is MPEG-4 (Moving Pictures Expert Group). There are different image sizes used, for example, the cif size is 352 x 288 pixels and the qcif size is 35,176 x 144 pixels. Typically, a single image is divided into blocks containing information about luminance, color, and location. The block data is compressed 4112017 blocks by the desired encoding method. Compression is based on the removal of less relevant data. Compression methods are mainly divided into three categories: Spectral Redundancy Reduction, Spatial 5 Redundancy Reduction, and Temporal Redundancy Reduction. Typically, various combinations of these methods are used for compression.
Spektrisen redundanssin vähentämiseksi sovelletaan esimerkiksi YUV-värimallia. YUV-mallissa käytetään hyödyksi sitä, että ihmisen silmä on 10 herkempi luminanssin eli valoisuuden vaihteluille kuin krominanssin eli värin muutoksille. YUV-mallissa on yksi luminanssikomponentti (Y) ja kaksi kromi-nanssikomponenttia (U ja V, tai Cb ja Cr). Esimerkiksi H.263 videokoodausstandardin mukainen luminanssilohko on 16 x 16 pikseliä ja molemmat kromi-nanssilohkot, jotka kattavat saman alueen kuin luminanssilohko, 8x8 pikseliä.For example, a YUV color scheme is used to reduce spectral redundancy. The YUV model takes advantage of the fact that the human eye is 10 more sensitive to variations in luminance, or luminance, than to changes in chrominance, or color. The YUV model has one luminance component (Y) and two chrominance components (U and V, or Cb and Cr). For example, the H.263 video encoding standard luminance block is 16 x 16 pixels and both chrominance blocks, which cover the same area as the luminance block, are 8 x 8 pixels.
15 Yhden luminanssilohkon ja kahden krominanssilohkon yhdistelmää kutsutaan makrolohkoksi. Jokainen pikseli, sekä luminanssi- että krominanssilohkossa, voi saada arvon väliltä 0-255, eli yhden pikselin esittämiseen tarvitaan kahdeksan bittiä. Esimerkiksi luminanssipikselin arvo 0 tarkoittaa mustaa ja arvo 255 valkoista.The combination of one luminance block and two chrominance blocks is called a macroblock. Each pixel, in both the luminance and chrominance blocks, can have a value between 0 and 255, which means that eight bits are needed to represent one pixel. For example, a value of 0 for a luminance pixel is black and a value for 255 is white.
20 Laitteeseen tulevat peräkkäiset kuvat 100 voivat siis noudattaa YUV-mallia, jossa luminanssipikselit ovat jo valmiiksi omana komponenttinaan, : Y: esimerkiksi cif-kokoisessa kuvassa 352 x 288 luminanssipikseliä.Thus, the successive images 100 entering the device may follow the YUV model, in which the luminance pixels are already ready as their own component: Y: for example, in a cif image, 352 x 288 luminance pixels.
: Kuvalähteen kuva 100 viedään kehyspuskuriin 106, johon tallenne- : ·. *. taan kuvan luminanssi- ja krominanssikomponentit.: The image source image 100 is exported to a frame buffer 106 where the recording: ·. *. luminance and chrominance components of the image.
25 Kehyspuskurissa 106 ollut edellisen kuvan luminanssikomponentti . ·''. viedään 108 toiseen kehyspuskuriin 110.25 Frame buffer 106 contained the luminance component of the previous image. · ''. is inserted 108 into a second frame buffer 110.
Sitten lohkossa 116 muodostetaan kunkin edellisen kuvan lumi-’···’ nanssipikselin ja vastaavan nykyisen kuvan luminanssipikselin välistä suu- ruuseroa kuvaava erodata. Tämä erodatan muodostus voidaan tehdä esimer-: Y 30 kiksi vähentämällä kustakin edellisen kuvan 114 luminanssipikselistä vastaava nykyisen kuvan 112 luminanssipikseli, tai jollakin muulla saman tuloksen anta-,;. valla matemaattisella operaatiolla.Then, in block 116, difference data is generated depicting the difference between the luminance pixel of each previous image and the corresponding luminance pixel of the current image. This difference data generation can be done, for example, by subtracting the luminance pixel of the current image 112 corresponding to each of the luminance pixels of the previous image 114, or otherwise giving the same result; mathematical operation.
Y ·, Muodostetut erodatat 118 lisätään sitten kumulatiiviseen liikerekiste- T riin 126. Kumulatiivinen liikerekisteri 126 on muisti, jonka koko on kuvan kor- v : 35 keus kertaa kuvan leveys. Mahdollinen lukualue on [-255,255], jos käytetään I t 5 112017 YUV-formaatissa olevaa kuvaa. Muisti voi olla myös pienempi, mutta silloin sinne tulevaa dataa joudutaan esikäsittelemään.The generated erod data 118 is then added to the cumulative motion register 126. The cumulative motion register 126 is a memory the size of an image in the frame: 35 keus times the image width. A possible reading range is [-255,255] if I t 5 112017 YUV format image is used. The memory may also be smaller, but then the incoming data will have to be preprocessed.
Eräässä suoritusmuodossa laite on konfiguroitu pienentämään liike-rekisterin nollasta poikkeavien data-alkioiden arvoja kohti nollaa ennalta mää-5 rätyn suuruisella määrällä kunkin erodatan lisäyksen yhteydessä. Kuvion 1 esimerkissä tätä kuvaa lohko 120, johon muodostettu erodata 118 tuodaan, ja jossa kustakin liikerekisteristä 126 tuodusta 125 erodatan data-alkiosta vähennetään ennalta määrätty luku, ja näin saatu erotus lisättynä erodatalla 124 viedään sitten liikerekisteriin 126 uudeksi data-alkion arvoksi. Ennalta määrätty 10 luku voi olla esimerkiksi ykkönen tai jokin muu ykköstä suurempi luku. Tietenkin vähennys voidaan tehdä myös siten, että lisätään erodata liikerekisteriin 126, josta sitten kustakin nollasta poikkeavasta data-alkiosta vähennetään ennalta määrätty luku. Laitteessa on ohjauslohko 136, joka ohjaa laitteen eri osien toimintaa. Lohkoon 120 tuodaan ohjauslohkolta 136 ennalta määrätty luku 15 122, joka kustakin data-alkiosta vähennetään.In one embodiment, the device is configured to reduce the values of non-zero data elements of the motion register to zero by a predetermined amount each time the difference data is added. In the example of Figure 1, this is illustrated by a block 120 into which the eroded data 118 is imported, subtracting a predetermined number from the 125 eroded data items imported from each motion register 126, and the resulting difference added by the eroded data 124 is then applied to the motion register 126 A predetermined number of 10 may be, for example, a number one or another number greater than one. Of course, the subtraction can also be done by adding the eroded data to the motion register 126, after which a predetermined number is subtracted from each non-zero data item. The device has a control block 136 which controls the operation of different parts of the device. Block 120 is provided with a predetermined number 15 122 from control block 136 which is subtracted from each data item.
Sitten kun edellinen kuva ja nykyinen kuva on käsitelty edellä kuvatulla tavalla, niin ohjauslohko 136 skannaa 128 liikerekisterin 126 ennalta määrätyllä tavalla, esimerkiksi riveittäin tai sarakkeittain. Sitten ohjauslohkossa 136 tunnistetaan liikkeeksi sellaiset liikerekisterin 126 data-alkiot, joiden arvo ylittää 20 ennalta määrätyn kynnysarvon. Eräässä suoritusmuodossa ohjauslohko tunnistaa liikkeen lohkoittain, esimerkiksi luminanssimakrolohkoittain. Lohkot voi-:Y: vat myös olla osittain päällekkäiset. Eräässä suoritusmuodossa kuvan lohkos- : sa tunnistetaan liike, jos vähintään ennalta määrätty määrä kyseistä lohkoa liikerekisterissä 126 vastaavia data-alkioita ylittää ennalta määrätyn kynnysar-25 von.After the previous image and the current image have been processed as described above, the control block 136 scans 128 the motion register 126 in a predetermined manner, for example, row by column. Then, the control block 136 identifies as motion the data elements of the motion register 126 whose value exceeds 20 predetermined thresholds. In one embodiment, the control block detects motion by blocks, for example, luminance macrol blocks. The blocks may also: Y be partially overlapping. In one embodiment, motion is detected in a block of an image if at least a predetermined number of data items corresponding to that block in motion register 126 exceeds a predetermined threshold.
!Kuvio 3 havainnollistaa luminanssipikselin käsittelyä liikerekisterissä 126. Esimerkki perustuu hakijan tekemiin prototyyppeihin ja kokeiluihin. Esi-merkin pohjana on videokameralla kuvattu tapahtumasarja, jossa kuvataan vaaleata pöytää. Paikalle saapuu henkilö, joka jättää mustan salkun pöydälle.Figure 3 illustrates the processing of a luminance pixel in a motion register 126. The example is based on the prototypes and experiments made by the applicant. The exemplar is based on a series of events filmed with a video camera depicting a light table. A person arrives and leaves a black briefcase on the table.
: 30 Kuviossa 3 vaaka-akselilla on peräkkäisten kuvien numerot 1-150 ja pystyak- selillä sekä luminanssipikselin että liikerekisterin data-alkion arvoalue. Tarkas-teltavan luminanssipikselin arvon vaihteluja kuvataan käyrällä 300. Kyseistä ‘Y, luminanssipikseliä liikerekisterissä 126 vastaavan data-alkion arvon vaihtelua 1: ‘ kuvataan käyrällä 302.: 30 In Fig. 3, the horizontal axis has the numbers 1-150 of the consecutive images and the vertical axis has the value range of both the luminance pixel and the motion element data element. The variations in the value of the luminance pixel under consideration are plotted with a curve 300. The variation 1: 'of the data element corresponding to the' Y, luminance pixel in the motion register 126 'is represented by the curve 302.
v : 35 Kuvissa 1-13 tarkastelun kohteeksi valittu luminanssipikseli on osa vaaleaa pöytää. Pikselin arvon pieni vaihtelu on kohinaa. Kuvissa 14-18 lumi- 6 112017 nanssipikseli on osa mustaa salkkua, joka asetetaan pöydälle. Samoin kuvissa 19-150 luminanssipikseli on osa mustaa salkkua, joka jätettiin pöydälle.v: 35 The luminance pixel selected for viewing in Figures 1-13 is part of the light table. A small variation in pixel value is noise. In Figures 14-18, the 6112017 Nance Pixel is part of a black briefcase that is placed on a table. Similarly, in Figures 19-150, the luminance pixel is part of a black portfolio that was left on the table.
Kuten käyrää 302 tarkistelemalla havaitaan, esimerkissämme on käytössä suoritusmuoto, jossa liikerekisterin 126 nollasta poikkeavien data-5 alkioiden arvoja pienennetään kohti nollaa ennalta määrätyn suuruisella määrällä kunkin erodatan lisäyksen yhteydessä. Esimerkissämme tämä ennalta määrätyn suuruinen määrä on yksi. Data-alkion arvon pienennys saa sen aikaan, että kuvassa 137 salkku on jo kokonaan hävinnyt liikerekisteristä 126, eli sulautunut taustaan.As can be seen by examining curve 302, our example employs an embodiment in which values of non-zero data-5 elements in the motion register 126 are reduced by zero by a predetermined amount each time the difference data is added. In our example, this predetermined amount is one. Decreasing the value of a data item causes the portfolio in Figure 137 to have already completely disappeared from the motion register 126, i.e., merged into the background.
10 Koska laitteessa tunnistetaan liikkeeksi sellaiset data-alkiot, joiden arvo ylittää ennalta määrätyn kynnysarvon, on mielenkiintoista pohtia, mikä olisi sopiva kynnysarvo kuvion 3 esimerkissä. Sopiva kynnysarvo, joka poistaa kohinan, mutta ei liikettä, voisi olla esimerkiksi 10-15, jolloin liikettä ei havaittaisi enää suunnilleen kuvan 130 tietämillä.Since data elements whose value exceeds a predetermined threshold value are detected in the device, it is interesting to consider what would be a suitable threshold value in the example of Figure 3. A suitable threshold value that eliminates noise but no movement could be, for example, 10-15, whereby motion would no longer be detected by approximately the size of Figure 130.
15 Kun kuvassa on tunnistettu liikettä, ohjauslohko 136 ohjaa 144 ke- hyspuskuria 106 viemään nykyisen kuvan zoomattavan alueen 130 zoomaus-lohkoon 132. Ohjaustieto 144 sisältää tiedon siitä, mikä kuvassa oleva zoomauksen kohteena oleva alue lähetetään kuvana 130 zoomauslohkoon 132. Oh-jauslohkosta 136 viedään ohjaustieto 134 zoomauslohkoon 132, joka ohjaus- 20 tieto kertoo tulevan ja lähtevän kuvan kokojen välisen suhteen. Kyseinen suhde on 1:1, jos zoomausta ei käytetä. Zoomauslohko 132 siis zoomaa tunnistet-:Y: tuun liikkeeseen, esimerkiksi interpoloimalla zoomatun alueen alkuperäisen : kuvan kokoiseksi käyttäen tunnettuja interpolointimenetelmiä.When motion is detected in the image, control block 136 controls 144 frame buffer 106 to bring the zoom area 130 of the current image into zoom block 132. Control information 144 includes information on which the zoomed target area in the image is transmitted as image 130 to zoom block 132. control information 134 to zoom block 132, which control information indicates the relationship between the sizes of the incoming and outgoing images. This ratio is 1: 1 if the zoom is not used. Thus, the zoom block 132 zooms in to the identified: Y: motion, for example, by interpolating the zoomed area to the size of the original: image using known interpolation methods.
Liikkeentunnistuksessa havaitaan alue, jossa liikettä tapahtuu. Raja-. · · ·. 25 taan tämä alue niin, että korkeuden ja leveyden suhde pysyy aina samana ver- rattuna alkuperäiseen kuvaan. Lisäksi zoomattavan alueen on hyvä olla hie-man suurempi kuin alueen, jolla liikettä on. Suurennoksella täytyy olla myös maksimi, joka riippuu käytetystä kuvakoosta ja kameran tarkkuudesta. Esimerkiksi 100-kertainen suurennos qcif-kokoiselle kuvalle ei ole enää järkevää.Motion detection detects the area where motion occurs. Limit-. · · ·. Adjust this area so that the ratio of height to width is always the same relative to the original image. In addition, the area to be zoomed in should be slightly larger than the area with motion. The magnification must also have a maximum, which depends on the image size used and the resolution of the camera. For example, a 100x magnification of a qcif image no longer makes sense.
• 30 Eräässä suoritusmuodossa ohjauslohko 136 ja/tai zoomauslohko 132 tallentaa zoomauspaikan muistiin, jotta zoomattavan alueen muutos olisi .hillittyä. Tietoa zoomauspaikasta voidaan hyödyntää siten, että sallitaan aino-.*··. astaan ennalta määrätyn suuruinen zoomauspaikan muutos kahden peräkkäi- ’ ·’ ’ sen kuvan välillä. Zoomauspaikan lisäksi tai asemesta ohjauslohko 136 ja/tai : 35 zoomauslohko 132 voi tallentaa zoomaussuhteen muistiin. Tietoa zoomaus- suhteesta voidaan hyödyntää siten, että sallitaan ainoastaan ennalta määrätyn 7 112017 suuruinen zoomaussuhteen muutos kahden peräkkäisen kuvan välillä. Rajoittamalla zoomauspaikan muutosta ja/tai zoomaussuhteen vaihtelua kuvasta saadaan miellyttävämpi katsoa, koska kuvaa ei liian nopeasti muuteta tunnistetun liikkeen perusteella, vaan esimerkiksi tietynsuuruisissa vaiheissa. Muutos-5 nopeuden säätö on optimointitehtävä tunnistetun liikkeen seuraamisnopeuden ja kuvan laadun sekä informaatiosisällön välillä.• 30 In one embodiment, the control block 136 and / or the zoom block 132 stores the zoom position in memory so that the change in the zoomable area is reduced. Zoom position information can be utilized by allowing Aino -. * ··. I set a predetermined change in zoom position between two consecutive '·' images. In addition to or instead of the zoom position, control block 136 and / or: 35 zoom block 132 may store the zoom ratio in memory. Zoom ratio information can be utilized by allowing only a predetermined change of the zoom ratio between two consecutive images. By limiting the change in the zoom position and / or the zoom ratio, it is more comfortable to view the image because the image is not changed too quickly based on the detected motion, but at certain magnitudes, for example. Change-5 speed control is an optimization task between the detected motion tracking speed and the image quality and information content.
Lisäksi on hyvä antaa liikealueen liikkua vapaasti zoomausalueen sisällä tiettyjen rajojen puitteissa. Edellä mainituin menetelmin saavutetaan pehmeästi liikkuva kuva.Also, it is good to allow the motion area to move freely within the zoom range within certain limits. By the above methods, a smoothly moving image is obtained.
10 Zoomattu tai zoomaamaton kuva 142 viedään sitten optionaaliseen enkoodauslohkoon 150, jolla kuva voidaan haluttaessa enkoodata. Zoomatun kuvan enkoodauksella saavutetaan se etu, että enkoodauksen lopputulos paranee, koska kuvasta on poistettu turha informaatio.The zoomed or non-zoomed image 142 is then passed to an optional encoding block 150 whereby the image can be encoded if desired. The encoding of the zoomed image has the advantage that the final result of the encoding is improved because the unnecessary information has been removed from the image.
Enkoodauslohko 150 voi olla esimerkiksi jokin tunnettu videoen-15 kooderi, esimerkiksi mpeg4-enkooderi. Kuva 142 voidaan viedä myös laitteeseen kuuluvalle muistivälineelle tai laitteeseen kytketylle muistivälineelle, esimerkiksi tietokoneen kovalevylle, tallennettavaksi. Kuva 142 voidaan myös viedä katselulaitteelle, esimerkiksi monitorille; tällöin kuvaa voidaan sen esitysmuodosta riippuen joutua konvertoimaan.The encoding block 150 may be, for example, a known video-15 encoder, for example an mpeg4 encoder. Figure 142 may also be exported to a storage medium included in the device or to a storage medium connected to the device, such as a computer hard drive. Fig. 142 may also be provided to a viewing device, such as a monitor; then, depending on the presentation, the image may need to be converted.
20 Eräässä suoritusmuodossa liikkeen tunnistuksen yhteydessä käytet tävän ennalta määrätyn kynnysarvon säätämisellä säädetään liikkeentunnis-:Y: tamisen herkkyyttä. Yleisesti tämä voidaan ilmaista esimerkiksi siten, että oh- : jauslohkossa 136 muodostetaan kynnysarvo nykyiselle kuvalle käyttäen nykyi- sen kuvan luminanssipikseleiden keskimääräistä arvoa kuvaavaa suuretta ja , · · ·. 25 edellisen kuvan kynnysarvoa. Esimerkiksi kuvalle k voidaan laskea luminans- ♦ · . ‘; sipikseleiden keskiarvo *· * i<nj<m ak=( ΣΡι^/ηχηι, (1) ' · 1 /=0,7=0 jossa py on luminanssipikseli, ja n x m on kuvan koko. Keskiarvon : Y laskentaan ei ole pakko käyttää kuvan kaikkia luminanssipikseleitä.In one embodiment, adjusting the predetermined threshold value used in motion detection adjusts the sensitivity of motion detection: Y. In general, this may be expressed, for example, by generating a threshold value for the current image in the control block 136 using the magnitude representing the average value of the luminance pixels of the current image and, · · ·. 25 previous image thresholds. For example, for image k, the luminance ♦ · can be calculated. '; mean of the pixels * · * i <nj <m ak = (ΣΡι ^ / ηχηι, (1) '· 1 / = 0.7 = 0 where py is the luminance pixel and nxm is the size of the image. all luminance pixels in the image.
30 Sitten kuvalle k kynnysarvo tk=pak+q, ja (2) I-·, h = (^+^-,)/(^ + ^), (3) : ’ joissa tk-1 on edellisen kuvan kynnysarvo. Kaavassa 2 käytetään li- tl» v : neaarista funktiota, jossa p ja q ovat vakioita, mutta myös epälineaarista funk- 35 tiota voidaan käyttää. Kaavan 3 mukaisesti kynnysarvoa voidaan myös painot- 8 112017 taa, r ja s ovat vakioita, joita muuttamalla voidaan säätää kynnysarvoa ja siten laitteen herkkyyttä suurille valoisuuden vaihtelulle. Laitteen käyttöliittymässä voi olla säädin, jolla kynnysarvoa voidaan portaattomasti säätää halutun herkkyyden aikaansaamiseksi. Painotus kannattaa tehdä, jotta systeemi ei reagoisi 5 nopeisiin suuriin valoisuuden vaihteluihin, esimerkiksi salaman tai pilven aiheuttamaan valoisuuden muutokseen. Kaavoissa 2 ja 3 ei ole pakko käyttää keskiarvoa, vaan jotakin muutakin keskimääräistä arvoa kuvaavaa tilastollista suuretta voidaan käyttää. Kohinaa voidaan myös mitata satunnaisista pikseleistä ja säätää herkkyyttä sen mukaan.Then, for image k, the threshold value tk = pak + q, and (2) I- ·, h = (^ + ^ -,) / (^ + ^), (3): 'where tk-1 is the threshold value of the previous image. In Formula 2, a non-linear function is used where p and q are constants, but a nonlinear function can also be used. According to formula 3, the threshold can also be weighted, r and s being constants, which can be changed by adjusting the threshold and thus the sensitivity of the device to large variations in luminance. The device interface may include a controller for adjusting the threshold steplessly to achieve the desired sensitivity. Weighing should be done to prevent the system from responding to rapid large changes in brightness such as lightning or cloud light. In formulas 2 and 3, it is not necessary to use an average, but some other statistical measure of average value can be used. Noise can also be measured from random pixels and the sensitivity adjusted accordingly.
10 Eräässä suoritusmuodossa laite on konfiguroitu, esimerkiksi ohjaus- lohko 136 on määrätty, siirtämään edellisen kuvan luminanssipikselit nykyisessä kuvassa olevien samaa kuva-alaa esittävien luminanssipikseleiden kohdalle, siirtämään liikerekisterissä 126 olevat vastaavat data-alkiot kyseisen saman kuva-alan kohdalle, ja nollaamaan pelkästään nykyisessä kuvassa olevia lumi-15 nanssipikseleitä vastaavat data-alkiot liikerekisterissä 126, jos nykyisessä kuvassa kuva-ala on liikkunut suhteessa edellisen kuvan kuva-alaan, eli kuvat muodostanutta kameraa 158,160 on liikutettu.In one embodiment, the device is configured, e.g., control block 136, to move the luminance pixels of the previous image to the luminance pixels of the same image in the current image, move the corresponding data items in motion register 126 to that same image area, and reset the pixels of the snow-15 corresponding to the data elements in the motion register 126 if the image area in the current image has moved relative to that of the previous image, i.e., the camera that formed the images has been moved 158,160.
Eräässä suoritusmuodossa laite on konfiguroitu, esimerkiksi ohjaus-lohko 136 on määrätty, muokkaamaan edellisen kuvan kuva-ala vastaamaan 20 nykyisen kuvan kuva-alaa interpoloimalla siihen nykyisen kuvan kuva-alaa vastaavat puuttuvat luminanssipikselit, ja muokkaamaan liikerekisterin 126 kuva-: Y: ala vastaamaan nykyisen kuvan kuva-alaa interpoloimalla siihen nykyisen ku- : van kuva-alaa vastaavat puuttuvat data-alkiot, jos nykyisessä kuvassa kuva- alaa on zoomattu optisesti suhteessa edellisen kuvan kuva-alaan, eli kuvat , · · , 25 muodostaneessa kamerassa 158,160 on käytetty optista zoomausta.In one embodiment, the device is configured, e.g., control block 136, to modify an image area of the previous image to correspond to the 20 fields of the current image by interpolating the missing luminance pixels corresponding to the field of the current image, and interpolating the image area of the image with missing data elements corresponding to the image area of the current image, if the current image has been zoomed optically relative to the image area of the previous image, i.e., the 158,160 camera used to create the image · ·, 25 .
,Y; Eräässä suoritusmuodossa laite on konfiguroitu, esimerkiksi ohjaus- Y[ lohko 136 määrää 140 valintalohkoa 102, ohjaamaan 138 kuvat muodostanut kamera 160 liikkumaan kuvasta tunnistetun liikkeen suuntaan. Tällöin kamerassa 160 on esimerkiksi sähkömoottori, jolla kameraa 160 voidaan kääntää i V 30 liikkeen suuntaan. Ohjauskomento 138 ilmoittaa tarvittavan liikkeen suuruuden :...: esimerkiksi asteina.Y; In one embodiment, the device is configured, for example, by a control Y [block 136] to determine 140 selection blocks 102, to direct the camera 160 that formed the images 138 to move in the direction of the detected motion. In this case, the camera 160 has, for example, an electric motor for turning the camera 160 in the direction of movement of the V 30. Control command 138 indicates the magnitude of movement required: ...: for example, in degrees.
. . Eräässä suoritusmuodossa laite on konfiguroitu, esimerkiksi ohjaus- .··, lohko 136 määrää 140 valintalohkoa 102, ohjaamaan 138 kuvat muodostanut ' kamera 160 zoomaamaan optisesti kuvasta tunnistettuun liikkeeseen. Tällöin v : 35 kamerassa 160 on sähköisesti ohjattava optinen zoomi, jolla kameran 160 9 112017 tuottamaa kuvaa voidaan zoomata liikkeeseen. Ohjauskomento 138 ilmoittaa tarvittavan zoomaussuhteen muutoksen.. . In one embodiment, the device is configured, for example, by a control. ··· Block 136 assigns 140 selection blocks 102 to direct the camera 160 that formed the images 138 to optically zoom in on the detected motion. In this case, the v: 35 camera 160 has an electrically controlled optical zoom that can be used to zoom the image produced by the camera 160 9112017. Control command 138 indicates the required zoom ratio change.
Eräässä suoritusmuodossa laite käsittää lohkon 154 lähettää peräkkäisiä kuvia ja/tai tai zoomattua kuvaa tietoliikenneyhteyttä 156 käyttäen. Lähe-5 tettävä kuva voi olla alkuperäisestä kuvalähteestä tulevaa kuvaa tai zoomattua kuvaa. Kuvat muodostanutta kameraa voi myös olla liikutettu tai optisesti zoomattu kuvasta tunnistetun liikkeen suuntaan. Tietoliikenneyhteys käyttää tunnettuja ratkaisuja, esimerkiksi langatonta radioyhteyttä, lähiverkkoa, Internetiä, kiinteää dedikoitua linjaa, tai jotakin muuta tapaa siirtää dataa kahden pisteen 10 välillä.In one embodiment, the device comprises a block 154 for transmitting consecutive images and / or a zoomed image using a communication link 156. The image to be sent may be an image from the original source or a zoomed image. The camera that produced the images may also be moved or optically zoomed from the image in the direction of the detected motion. The telecommunication connection utilizes known solutions, for example wireless radio, LAN, Internet, fixed dedicated line, or some other way of transferring data between two points 10.
Kuviossa 1 esitetyt laitteen lohkot voidaan toteuttaa yhtenä tai useampana asiakaskohtaisena integroituna piirinä (Application-Specific Integrated Circuit, ASIC). Myös muunlaiset toteutukset ovat mahdollisia, esimerkiksi erillisistä logiikkakomponenteista rakennettu piiri, tai prosessori ohjelmistoineen. 15 Myös näiden eri toteutustapojen sekamuoto on mahdollinen. Alan ammattilainen huomioi toteutustavan valinnassa esimerkiksi laitteen koolle ja virrankulu-tukselle asetetut vaatimukset, tarvittavan prosessointitehon, valmistuskustannukset sekä tuotantomäärät. On huomattava, että kuviossa 1 kuvataan lähinnä toiminnallisia kokonaisuuksia, jolloin käytännön laitteistototeutuksen osat voivat 20 poiketa esitetystä, sillä lopulta on kyse integrointiasteesta: miten kyseisessä sovelluksessa voidaan tehokkaimmin ja kohtuullisin kustannuksin toteuttaa halutun ': toiminnallisuuden toteuttava laite automaattiseen zoomaukseen.The device blocks shown in Figure 1 may be implemented as one or more application-specific integrated circuits (ASICs). Other implementations are also possible, such as a circuit built from separate logic components, or a processor with software. 15 A mixed form of these different embodiments is also possible. The skilled artisan will consider, for example, the size and power requirements of the device, the processing power required, the manufacturing cost, and the production volume. It should be noted that Figure 1 illustrates mainly functional assemblies, whereby parts of a practical hardware implementation may deviate from what is shown, since this is ultimately a degree of integration: how to achieve the desired 'functional' device for automatic zooming in the most efficient and reasonable cost.
: Edellä esitetty laite soveltuu monenlaisiin tarkoituksiin. Laitteesta voi- ’ : daan tehdä myös hyvin halpa versio. Eräs halpa versio on sellainen, jossa laite , . 25 käsittää myös halvan kameran ja se on kytkettävissä verkkovirtaan. Lisäksi laite : käsittää osat, joilla se voi toimia matkapuhelinverkon tilaajapäätelaitteena. Näin * » ' laite voidaan laittaa vartioimaan esimerkiksi omistajansa kesämökkiä, ja laite lä hettää kuvaa omistajan tilaajapäätelaitteeseen heti liikettä havaittuaan ja zoomat-tuaan siihen. Laite toimii siis varashälyttimenä ja valvontalaitteena, jolla voidaan ‘ 30 tarkistaa tilanne kesämökillä. Laitteeseen voidaan luonnollisesti kytkeä myös : muita sensoreita, esimerkiksi palohälytin. Alan ammattilainen voi keksiä myös muita sovelluksia kuvatulle peruslaitteelle.A: The above device is suitable for a variety of purposes. You can also make a very cheap version of your device. One cheap version is one where the device,. The 25 also comprises a cheap camera and can be connected to mains power. Further, the device: comprises parts by which it can act as a subscriber terminal of a cellular network. This allows the * »'device to be guarded, for example, at its owner's summer cottage, and transmits the image to the owner's subscriber terminal as soon as it senses movement and zooms in. The device thus acts as a burglar alarm and a monitoring device which can '30 check the situation in the summer cottage. Naturally, other sensors, such as a fire alarm, can also be connected to the device. Other applications for the described basic device may also be found by one skilled in the art.
, Seuraavaksi kuvataan laitteen eräiden toimintojen toteutus C-ohjel- • ’ mointikielen syntaksia noudattavalla pseudokoodilla., The following describes the execution of some functions of the device using a pseudocode that • complies with the C programming language syntax.
t i It i I
10 11201710 112017
HeaderHeader
#define mmin(a,b) ((a)<(b)?(a):(b)) /* makro kahden arvon minimille V#define mmin (a, b) ((a) <(b)? (a) :( b)) / * macro for two values of minimum V
5 typedef struct { int **lum; int **cb; int **cr; 10 }data; typedef struct { int mid[2]; /* keskipiste */ 15 inthor; /* horisontaalinen suuruus */ int ver; /* vertikaalinen suuruus */ }mot; typedef struct 20 { int Iines; /* kuvan korkeus 7 int columns; /* kuvan leveys 7 : mot motion; /* alue, jossa liike on 7 mot zoom; /* alue, jossa zoomion 7 , *. 25 data previous; /* edellinen kuva */ , : data present; /* nykyinen kuva */ int ‘‘movement; /* liikerekisteri */ ' ’ int “shape; Γ suodatettu liikerekisteri */ int sensitivity; /‘herkkyys */ ! ·' 30 Jsecur; /* main-funktiossa määritelty muuttuja 7 t »5 typedef struct {int ** lum; int ** cb; int ** cr; 10} date; typedef struct {int mid [2]; / * midpoint * / 15 inthor; / * horizontal magnitude * / int ver; / * vertical magnitude * /} mot; typedef struct 20 {int Iines; / * image height 7 int columns; / * image width 7: mot motion; / * range with motion at 7 mot zoom; / * area with zoomion 7, *. 25 data previous; / * previous image * /,: data present; / * current image * / int '' movement; / * business register * / '' int 'shape; Γ filtered motion register * / int sensitivity; / 'Sensitivity * /! · '30 Jsecur; / * variable defined in main function 7 h »
Liikerekisterifunktio " Lisää kuvien välisen erotuksen liikerekisteriin, sekä pienentää rekis- : : 35 terissä olevaa dataa pikseleittäin yhdellä.Motion register function "Adds a difference between the images in the motion register and reduces the data in the register: 35 blades by one pixel.
11 112017 int Add_motion(secur ‘frame) { int i, j; /* laskureita */ int r = frame->lines; /* kuvan rivit 7 5 int c = frame->columns; /* kuvan sarakkeet 7 for(i=0; i<r; i++) { for(j=0; j<c; j++) 10 { frame->movement[i][j]+= ((frame->present).lum[i][j]-(frame->previous).lum[i][j]); if(frame->movement[i][j]>0) frame->movement[i][j] -= 1; 15 if(frame->movement[i][j]<0) frame->movement[i][j] += 1; } } return(1); 20 }11 112017 int Add_motion (secur 'frame) {int i, j; / * counters * / int r = frame-> lines; / * image rows 7 5 int c = frame-> columns; / * image columns 7 for (i = 0; i <r; i ++) {for (j = 0; j <c; j ++) 10 {frame-> movement [i] [j] + = {(frame-> present ) .lum [i] [j] - (frame-> previous) .lum [i] [j]); if (frame-> movement [i] [j]> 0) frame-> movement [i] [j] - = 1; 15 if (frame-> movement [i] [j] <0) frame-> movement [i] [j] + = 1; }} return (1); 20}
Liikkeen tarkistusfunktio i' · : int Motion_check(secur ‘frame) . 25 { ; int i, j, k, I; /* laskureita 7 , ] int r = frame->lines; /* kuvan rivit 7 int c = frame->columns; /* kuvan sarakkeet */ intfound=0; /* löytyikö liikettä vai ei */ 30 int sum; /* lohkon liikepikseleiden määrä */ int min_k, max_k, minj, maxj; /* löydetyn liikkeen muuttujat */ int sens = frame->sensitivity; /* herkkyys */ for(i=0; i<r; i++) /* kopioija suodata liikerekisteri */ : 35 { for(j=0; j<c; j++) { 12 112017 frame->shape[i]ö]=frame->movement[i]ö])/sens; } } 5 min_k = c; /* alusta minimit ja maksimit */ max_k = 0; minj = r; maxj = 0; 10 for(k=0; k<c-7; k+=4) /* etsi liike ja sen alue 8x8-lohkoissa 7 { /* lohkot ovat limittäin 7 for(l=0; Kr-7; l+=4) { 15 sum=0; for(i=0; i<64; i++) { if(frame->shape[l+i/8][k+i%8]!=0) 20 sum++; } » * * : .**; if(sum>sens) IV: { .··*. 25 found=1; , · ’ ’; if(k<min_k) min_k=k; if(k>max_k) max_k=k+3; : .* 30 if(l<min_l) min_l=l; if(l>max_l) , · , max_l=l+3; } *' 35 } 13 112017 } if(found==1) /* jos liikettä, laske sen leveys, korkeus ja keskipiste */ { 5 (frame->motion).mid[0]= (min_k+max_k)/2; (frame->motion).mid[1]= (min_l+max_l)/2; (frame->motion).hor = max_k-min_k; (frame->motion).ver = max_l-min_l; } 10 else /* jos ei liikettä niin leveys, korkeus ja keskipiste ovat kuvan 7 { (frame->motion).hor = c; (frame->motion).ver = r; (frame->motion).mid[0] += mmax(((c/2)-(frame->motion).mid[0])/8,1); 15 (frame->motion).mid[1] += mmax(((r/2)-(frame->motion).mid[1])/8,1); } return(1); } 20Motion check function i '·: int Motion_check (secur' frame). 25 {; int i, j, k, I; / * counters 7,] int r = frame-> lines; / * image rows 7 int c = frame-> columns; / * image columns * / intfound = 0; / * whether or not movement was found * / 30 int sum; / * number of motion pixels in a block * / int min_k, max_k, minj, maxj; / * found movement variables * / int sens = frame-> sensitivity; / * sensitivity * / for (i = 0; i <r; i ++) / * copier filter motion register * /: 35 {for (j = 0; j <c; j ++) {12 112017 frame-> shape [i] ö ] = frame-> movement [i] D]) / sens; }} 5 min_k = c; / * initialize minimum and maximum * / max_k = 0; minj = r; maxj = 0; 10 for (k = 0; k <c-7; k + = 4) / * find the motion and its region in 8x8 blocks 7 {/ * the blocks are overlapping 7 for (l = 0; Kr-7; l + = 4) { 15 sum = 0; for (i = 0; i <64; i ++) {if (frame-> shape [l + i / 8] [k + i% 8]! = 0) 20 sum ++; } »* *:. **; if (sum> sens) IV: {. ·· *. 25 found = 1; , · ''; if (k <min_k) min_k = k; if (k> max_k) max_k = k + 3; :. * 30 if (l <min_l) min_l = l; if (l> max_l), ·, max_l = l + 3; } * '35} 13 112017} if (found == 1) / * if motion, calculate its width, height, and center * / {5 (frame-> motion) .mid [0] = (min_k + max_k) / 2 ; (frame-> motion) .mid [1] = (min_l + max_l) / 2; (frame-> motion) .hor = max_k-min_k; (frame-> motion) .ver = max_l-min_l; } 10 else / * if not in motion then the width, height and center point are shown in Figure 7 {(frame-> motion) .hor = c; (frame-> motion) .ver = r; (frame-> motion) .mid [0] + = Mmax (((c / 2) - (frame-> motion) .mid [0]) / 8.1); 15 (frame-> motion) .mid [1] + = Mmax (((r / 2) - (frame-> motion) .mid [1]) / 8.1); } return (1); } 20
Zoomausfunktio • · ; int Zoom_control(secur*frame) tl· ' · · LV { 25 int r = frame-> Iines; /* kuvan rivit 7 int c = frame -> columns; /* kuvan sarakkeet 7 ,·’*·; int left, right, up, down; /* zoomin reunat 7 int i; /* laskuri 7 * · · • · » • * \.! 30 /* laske uusi zoomin korkeus ja leveys (verrattuna liikkeeseen) */Zoom Function • ·; int Zoom_control (secur * frame) tl · '· · LV {25 int r = frame-> Iines; / * image rows 7 int c = frame -> columns; / * image columns 7, · '* ·; int left, right, up, down; / * zoom edges 7 int i; / * counter 7 * · · • · »• * \.! 30 / * calculate new zoom height and width (relative to motion) * /
• I• I
• I · ,.; Γ if((frame->motion).hor < (c*(frame->motion).ver)/r) :.'V { t |. t if((frame->zoom).ver >= (frame->motion).ver +r/6) 35 { ’ * ·' (frame->zoom).ver -= 14 112017 mmin(abs(((frame->zoom).ver-(frame->motion).ver -r/6)/4),4); (frame->zoom).ver = mmax(mmin((frame->zoom).ver,r),r/2); (frame->zoom).hor = (c*(frame->zoom).ver)/r; 5 (frame->zoom).hor = mmax(mmin((frame->zoom).hor,c),c/2); (frame->zoom).hor = ((frame->zoom).hor/2)*2; (frame->zoom).ver = ((frame->zoom).ver/2)*2; } 10 if((frame->zoom).ver < (frame->motion).ver + r/10) { (frame->zoom).ver += mmin(abs(((frame->zoom).ver-(frame->motion).ver - r/10)/4),8): 15 (frame->zoom).ver = mmax(mmin((frame->zoom).ver,r),r/2); (frame->zoom).hor = (c*(frame->zoom).ver)/r; (frame->zoom).hor = mmax(mmin((frame->zoom).hor,c),c/2); (frame->zoom).hor = ((frame->zoom).hor/2)*2; (frame->zoom).ver = ((frame->zoom).ver/2)*2; 20 } : : } /* if-lauseen loppu 7 » · else I': 25 { if((frame->zoom). hor >= (frame->motion). hor + c/6) { * * * * ’ (frame->zoom).hor -= mmin(abs(((frame->zoom).hor-(frame->motion).hor - c/6)/4),4); i 30 .,; (frame->zoom).hor = mmax(mmin((frame->zoom).hor,c),c/2); .:. (frame->zoom).ver = (r*(frame->zoom).hor)/c; /·’, (frame->zoom).ver = mmax(mmin((frame->zoom).ver,r),r/2); • » : (frame->zoom).hor = ((frame->zoom).hor/2)*2; · 35 (frame->zoom).ver = ((frame->zoom).ver/2)*2; } 15 112017 if((frame->zoom).hor < (frame->motion).hor + c/10) { (frame->zoom).hor += 5 mmin(abs(((frame->zoom).hor-(frame->motion).hor - c/10)/4),8): (frame->zoom).hor = mmax(mmin((frame->zoom).hor,c),c/2); (frame->zoom).ver = (r*(frame->zoom).hor)/c; (frame->zoom).ver = mmax(mmin((frame->zoom).ver,r),r/2); 10 (frame->zoom).hor = ((frame->zoom).hor/2)*2; (frame->zoom).ver = ((frame->zoom).ver/2)*2; } } Γ else-lauseen loppu */ 15 /* liikuta zoomin keskipistettä liikkeen keskikohtaa kohti 7 for(i=0; i<2; i++) { if((frame->zoom).mid[i]<(frame->motion).mid[i]-4) 20 { (frame->zoom).mid[i] i :+=mmin(abs(((frame->zoom).mid[i]-(frame->motion).mid[i])/4),8); : ;> } ’ ·': if((frame->zoom).mid[i]>(frame->motion).mid[i]+4) .’···’: 25 { (frame->zoom).mid[i] -=mmin(abs(((frame->zoom).mid[i]-(frame->motion).mid[i]))/4,8); ·..·* } } i V 30 :: /* pidä zoomi kuvan sisällä 7 .:. (frame->zoom).mid[0] = . * · ·, mmin(mmax((frame->zoom).mid[0],(frame->zoom).hor/2)Ic-(frame- >zoom).hor/2); : 35 (frame->zoom).mid[1] = • t 1β 112017 16 mmin(mmax((frame->zoom).mid[1],(frame->zoom).ver/2),r-(frame- >zoom).ver/2); left = (frame->zootn).mid[0]-(frame->zoom).hor/2; 5 right = (frame->zoom).mid[0]+(frame->zoom).hor/2; up = (frame->zoom).mid[1Hframe->zoom)ver/2; down = (frame->zoom).mid[1]+(frame->zoom).ver/2;• I ·,.; Γ if ((frame-> motion) .hor <(c * (frame-> motion) .ver) / r):. 'V {t |. t if ((frame-> zoom) .ver> = (frame-> motion) .ver + r / 6) 35 {'* ·' (frame-> zoom) .ver - = 14 112017 mmin {abs ((( frame-> zoom) .ver- (frame-> motion) .ver -r / 6) / 4), 4); (frame-> zoom) .ver = Mmax (mmin ((frame-> zoom) .ver, r), r / 2); (frame-> zoom) .hor = (c * (frame-> zoom) .ver) / r; 5 (frame-> zoom) .hor = Mmax (mmin ((frame-> zoom) .hor, c), c / 2); (frame-> zoom) .hor = ((frame-> zoom) .hor / 2) * 2; (frame-> zoom) .ver = ((frame-> zoom) .ver / 2) * 2; } 10 if ((frame-> zoom) .ver <(frame-> motion) .ver + r / 10) {(frame-> zoom) .ver + = mmin {abs (((frame-> zoom) .ver - (frame-> motion) .ver - r / 10) / 4), 8): 15 (frame-> zoom) .ver = Mmax (mmin ((frame-> zoom) .ver, r), r / 2 ); (frame-> zoom) .hor = (c * (frame-> zoom) .ver) / r; (frame-> zoom) .hor = Mmax (mmin ((frame-> zoom) .hor, c), c / 2); (frame-> zoom) .hor = ((frame-> zoom) .hor / 2) * 2; (frame-> zoom) .ver = ((frame-> zoom) .ver / 2) * 2; 20}::} / * end of if statement 7 »· else I ': 25 {if ((frame-> zoom). Hor> = (frame-> motion). Hor + c / 6) {* * * * '(frame-> zoom) .hor - = mmin (abs (((frame-> zoom) .hor- (frame-> motion) .hor - c / 6) / 4), 4); i 30,; (frame-> zoom) .hor = Mmax (mmin ((frame-> zoom) .hor, c), c / 2); .:. (frame-> zoom) .ver = (r * (frame-> zoom) .hor) / c; / · ', (Frame-> zoom) .ver = Mmax (mmin ((frame-> zoom) .ver, r), r / 2); • »: (frame-> zoom) .hor = ((frame-> zoom) .hor / 2) * 2; · 35 (frame-> zoom) .ver = ((frame-> zoom) .ver / 2) * 2; } 15 112017 if ((frame-> zoom) .hor <(frame-> motion) .hor + c / 10) {(frame-> zoom) .hor + = 5 mmin {abs (((frame-> zoom) .hor- (frame-> motion) .hor - c / 10) / 4), 8): (frame-> zoom) .hor = Mmax (mmin ((frame-> zoom) .hor, c), c / 2); (frame-> zoom) .ver = (r * (frame-> zoom) .hor) / c; (frame-> zoom) .ver = Mmax (mmin ((frame-> zoom) .ver, r), r / 2); 10 (frame-> zoom) .hor = ((frame-> zoom) .hor / 2) * 2; (frame-> zoom) .ver = ((frame-> zoom) .ver / 2) * 2; }} Γ else end of statement * / 15 / * move center of zoom towards center of motion 7 for (i = 0; i <2; i ++) {if ((frame-> zoom) .mid [i] <(frame-> motion) .mid [i] -4) 20 {(frame-> zoom) .mid [i] i: + = mmin (abs (((frame-> zoom) .mid [i] - (frame-> motion) .mid [i]) / 4), 8); :;>} '·': If ((frame-> zoom) .mid [i]> (frame-> motion) .mid [i] +4). '···': 25 {(frame-> zoom) ) .mid [i] - = mmin (abs (((frame-> zoom) .mid [i] - (frame-> motion) .mid [i])) / 4.8); · .. · *}} i V 30 :: / * keep the zoom within the image 7.:. (frame-> zoom) .mid [0] =. * · ·, Mmin (Mmax ((frame-> zoom) .mid [0], (frame-> zoom) .hor / 2) Ic- (frame-> zoom) .hor / 2); : 35 (frame-> zoom) .mid [1] = • t 1β 112017 16 mmin (Mmax ((frame-> zoom) .mid [1], (frame-> zoom) .ver / 2), r- ( frame-> zoom) .ver / 2); left = (frame-> zootn) .mid [0] - (frame-> zoom) .hor / 2; 5 right = (frame-> zoom) .mid [0] + (frame-> zoom) .hor / 2; up = (frame-> zoom) .mid [1Hframe-> zoom) ver / 2; down = (frame-> zoom) .mid [1] + (frame-> zoom) .ver / 2;
Convert(frame,left,right,up,down); Γ Kutsu interpolointi-funktiota 7 10 return(1); }Convert (frame, left, right, up, down); Γ Call interpolation function 7 10 return (1); }
Seuraavaksi kuvion 2 vuokaavioon viitaten selostetaan menetelmä automaattiseen zoomaukseen. Menetelmän suorittaminen aloitetaan 200:ssa. 15 Sitten 204:ssä luetaan kuva kameralta. Kuvan tulee olla sellainen, että siitä pystytään suoraan lukemaan luminanssikomponentti, tai sitten sellainen, että luminanssikomponentti pystytään synnyttämään kuvan sisältämän informaation perusteella. Luminanssikomponentti laitetaan 206:ssa muistiin.Referring now to the flowchart of Figure 2, a method for automatic zooming will be described. The process begins at 200. 15 Then the 204 reads the image from the camera. The image must be such that the luminance component can be read directly from it, or else the luminance component can be generated based on the information contained in the image. The luminance component is stored in 206.
Sitten 208:ssa luetaan seuraava kuva kameralta. Järjestelmän 20 herkkyyden säätö, joka suoritetaan edellä kuvatulla tavalla suoritetaan 210:ssä.The 208 then reads the next image from the camera. The sensitivity adjustment of the system 20, which is performed as described above, is performed at 210.
Seuraavaksi siirrytään 212:een, jossa muodostetaan kunkin edelli-: ': sen kuvan luminanssipikselin ja vastaavan nykyisen kuvan luminanssipikselin • ‘ välistä suuruuseroa kuvaava erodata, esimerkiksi vähentämällä kustakin edel- * » 25 lisen kuvan luminanssipikselistä vastaava nykyisen kuvan luminanssipikseli. Samassa 212:ssa lisätään muodostetut erodatat kumulatiiviseen liikerekiste-riin, jossa liikerekisterissä kutakin kuvan luminanssipikseliä vastaa data-alkio.Next, we move to 212, generating difference data representing the difference between the luminance pixel of each preceding image and the corresponding current image luminance pixel, for example, by subtracting the luminance pixel of the current image from each of the previous 25 pixels. In the same 212, the generated erod data is added to the cumulative motion register, where in the motion register each data luminance pixel corresponds to a data item.
Tämän jälkeen 214:ssä tunnistetaan liikkeeksi sellaiset data-alkiot, joiden arvo ylittää ennalta määrätyn kynnysarvon. Liikkeen tunnistaminen tar- V 30 kastetaan 216:ssa. Jos on tunnistettu liikettä niin siirrytään 230:een, muutoin • * > siirrytään 222:een.Thereafter, 214 identifies data items whose value exceeds a predetermined threshold value. Motion recognition for the V 30 is dipped in 216. If motion is detected, then we move to 230, otherwise we move to * 222.
. :, Zoomaus liikkeeseen suoritetaan 230:ssä aikaisemmin kuvatulla ta- ,·*·. valla. Mahdollisen zoomauksen jälkeen siirrytään 232:een, jossa viedään zoo- ' · ’ mattu kuva enkooderille. Eräässä suoritusmuodossa kamera voi olla liikutelta- : 35 va tai optisesti zoomattava, joten 234:ssä tarkistetaan näiden ominaisuuksien olemassaolo.. :, Zoom in motion is performed in 230, · * · as described previously. a. After a possible zoom, we move to 232, where a zoo-matt image is exported to the encoder. In one embodiment, the camera may be movable or optically zoomable, so 234 checks for these features.
17 11201717 112017
Ellei näitä ominaisuuksia ole, niin siirrytään 208:aan, jossa luetaan seuraava kuva kameralta. Jos kyseiset ominaisuudet taas ovat käytössä, siirrytään 236:een, jossa ohjataan kameraa halutulla tavalla, esimerkiksi aiemmin esitetyllä tavalla käännetään kamera tunnistettua liikettä kohti tai zoomataan 5 optisesti liikkeeseen. Myös aiemmin kuvatulla tavalla 240:ssä muokataan edellisen kuvan ja liikerekisterin arvoja, jotta liikkeen tunnistaminen toimisi oikein, eikä liikkeeksi tunnistettaisi kameran liikkeestä tai optisesta zoomauksesta aiheutunutta liikettä. Sitten 240:stä siirrytään 208:een, jossa luetaan seuraava kuva kameralta.If these features are not available, we move on to the 208, which reads the following image from the camera. If these features are enabled again, the 236 will be moved to control the camera as desired, for example, as described above, to rotate the camera toward a recognized motion or to zoom into 5 optical movements. Also, as described above, 240 adjusts the values of the previous image and motion register so that motion detection works correctly and motion is not detected due to camera movement or optical zoom. Then, from 240 to 208, the next image from the camera is read.
10 Kuviossa 2 ei ole kuvattu menetelmän suorittamisen lopetusta, sillä sehän voidaan periaatteessa lopettaa missä tahansa kohdassa. Luonnollinen lopetuskohta on se, kun ei enää haluta tutkia peräkkäisiä kuvia. Menetelmän suorittamiseen soveltuu aikaisemmin selostetun tyyppinen laite, mutta myös muunlaiset laitteet voivat soveltua menetelmän toteuttamiseen. Menetelmän 15 edullisia suoritusmuotoja ovat oheisten epäitsenäisten menetelmäpatenttivaa-timusten mukaiset suoritusmuodot. Niiden toimintaa on selostettu jo edellä laitteen yhteydessä, siksi selostusta ei toisteta tässä.Fig. 2 does not illustrate the termination of the method, since it can in principle be terminated at any point. The natural end point is when you no longer want to explore sequential images. A device of the type described above is suitable for carrying out the method, but other types of device may also be suitable for carrying out the method. Preferred embodiments of Method 15 are embodiments according to the appended dependent patent claims. Their operation has already been described above in connection with the device, so the description will not be repeated here.
Seuraavaksi selostetaan laaja esimerkki kuvan käsittelystä, jotta automaattisen zoomauksen toimintaperiaate tulisi täysin selväksi.The following is an extensive example of image processing to fully understand the principle of auto zoom.
20 Kuviot 4A, 5A, 6A ja 7A esittävät neljää kuvaa, jotka on valittu pe räkkäisten kuvien sekvenssistä. Koska tässä ei ole tilaa esittää kaikkia ku-·', vasekvenssin kuvia, on siitä valittu neljä edustavaa kuvaa.Figures 4A, 5A, 6A and 7A show four images selected from a sequence of consecutive images. Since there is no room here to represent all the pictures in the left sequence, four representative pictures have been selected.
Kameralla kuvataan huoneen nurkassa olevaa pöytää. Kuten kuviosta 4A näkyy, on pöydällä radionauhuri.The camera shoots a table in a corner of the room. As shown in Figure 4A, there is a radio recorder on the table.
; 25 Seuraavaksi kuviossa 5A näytetään sekvenssissä myöhemmin ole- , \ : va kuva, jossa henkilö on kävellyt pöydän luo.; Next, Figure 5A shows a later image of a person walking to a table in the sequence.
Kuviossa 6A nähtävässä kuvassa henkilö on ottanut radionauhurin pöydältä syliinsä.6A, the person has taken the radio recorder off his desk in his lap.
,, , Kuvion 7A kuvassa henkilö ja radionauhuri ovat poistuneet kuvasta, : t ; 30 johon on jäänyt vain huoneen nurkka ja tyhjä pöytä.,,, In the picture of Fig. 7A, the person and the radio recorder have left the picture, t; 30 with only a corner of the room and an empty table left.
'··> Kuvio 10 havainnollistaa luminanssipikselin käsittelyä liikerekisteris- : · sä kuvioiden 4A, 5A, 6A ja 7A esimerkin yhteydessä. Kuvio 10 on muodostettu .·”. samalla periaatteella kuin kuvio 3, eli vaaka-akselilla on peräkkäisten kuvien numerot 1-30 ja pystyakselilla sekä luminanssipikselin että liikerekisterin data- t f > ' 35 alkion arvoalue. Tarkasteltavan luminanssipikselin arvon vaihteluja kuvataan 18 112017 käyrällä 1000. Kyseistä luminanssipikseliä liikerekisterissä vastaavan data-alkion arvon vaihtelua kuvataan käyrällä 1002.FIG. 10 illustrates the processing of a luminance pixel in a motion register in connection with the example of FIGS. 4A, 5A, 6A and 7A. Figure 10 is formed. on the same principle as Figure 3, that is, the horizontal axis has the numbers 1 through 30 of the consecutive images and the vertical axis has the value range f> '35 of both the luminance pixel and the motion register data. The fluctuations in the value of the luminance pixel under consideration are represented by the curve 1000 of 18112017. The fluctuation in the value of the data element corresponding to that luminance pixel in the motion register is represented by the curve 1002.
Kuvissa 1-13 tarkastelun kohteeksi valittu luminanssipikseli on osa radionauhuria. Pikselin arvon pieni vaihtelu on kohinaa. Kuvissa 14-15 lumi-5 nanssipikseli on osa henkilön kättä. Kuvissa 16-30 luminanssipikseli on osa pöytää.The selected luminance pixel in Figures 1-13 is part of a radio recorder. A small variation in pixel value is noise. In Figures 14-15, the snow-5 nuance pixel is part of a person's hand. In the figures 16-30, the luminance pixel is part of the table.
Kuten käyrää 1002 tarkistelemalla havaitaan, esimerkissämme on jälleen käytössä suoritusmuoto, jossa liikerekisterin nollasta poikkeavien data-alkioiden arvoja pienennetään kohti nollaa ennalta määrätyn suuruisella mää-10 rällä kunkin erodatan lisäyksen yhteydessä. Esimerkissämme tämä ennalta määrätyn suuruinen määrä on viisi.As can be seen by examining curve 1002, in our example again an embodiment is used in which the values of non-zero data elements of the motion register are reduced to zero by a predetermined amount at each increment of the erod data. In our example, this predetermined amount is five.
Kuviot 4B, 5B, 6B ja 7B esittävät, miltä näyttää kuvioista 4A, 5A, 6A ja 7A tunnistettu liike mustavalkokuvana. Tässä esimerkissämme on valittu niin, että liikettä esitetään mustalla ja liikkumattomuutta valkoisella.Figures 4B, 5B, 6B and 7B show what the motion identified in Figures 4A, 5A, 6A and 7A looks like in black and white. In this example, the motion is chosen to represent motion in black and immobility in white.
15 Koska kuviossa 4A ei ole liikettä, ei kuvion 4B kuvassa ole mitään muuta kuin valkoista.Since there is no motion in Figure 4A, there is nothing other than white in Figure 4B.
Kuviossa 5A liike on havaittu, jolloin se näkyy kuvion 5B kuvassa mustana henkilöä esittävänä hahmona.In Fig. 5A, motion is detected, whereby it is shown in Fig. 5B as a black person.
Kuviossa 6B nähdään, että henkilö on ottanut radionauhurin syliin-20 sä. Kuten kuviosta 6B myös nähdään, radionauhurin poisvienti jää näkymään liikkeenä siihen paikkaan, jossa se oli. Kuten kuviossa 7B nähdään, henkilön liikkeen jo hävittyä, näkyy radionauhurin poisvienti vielä. Aiemmin esitetyllä Λ tavalla liikkeen tunnistuksen kynnysarvoa ja erodatan lisäyksen yhteydessä ,· pienentämiseen käytettävää ennalta määrätyn suuruista määrää säätämällä ' 25 voidaan säätää kuinka kauan liike tunnistetaan. Jos koko mustavalkokuvase- • : kvenssiä ajatellaan liikkuvana kuvana, niin siinä näkyy henkilön liike mustana .·* hahmona, joka tulee pöydän luokse, ottaa radionauhurin syliinsä, ja poistuu huoneen nurkasta kameran kuvaamasta kuva-alasta. Data-alkion arvon pienennys saa aikaan sen, että kuvasta tunnistettu liike häviää lopulta mustaval-‘ 30 kokuvasta, eli sitten kun liikerekisterin sisältämien data-alkioiden arvo piene- :nee tarpeeksi, häviää myös musta radionauhuri mustavalkokuvasta.Figure 6B shows that a person has taken the radio recorder into the lap-20. As can also be seen in Figure 6B, the outlet of the radio recorder remains visible in motion to the place where it was. As shown in Figure 7B, once the person's motion has been lost, the radio recorder outlet is still visible. As previously described, liikk the motion detection threshold and the difference data are added, · By adjusting the predetermined amount used for reduction, '25 can be used to adjust how long the motion is detected. If the entire monochrome •: quency is thought to be a moving image, it shows the motion of the person in black. · * As a character comes to the table, takes the radio recorder in his lap and exits the camera field of view. Decreasing the value of the data element causes the motion detected in the image to eventually disappear from the black and white image, i.e. when the value of the data elements in the motion register decreases sufficiently, the black radio recorder also disappears from the black and white image.
Kuviot 4C, 5C, 6C ja 7C esittävät miltä näyttää kuvioista 4A, 5A, 6A . · , ja 7A tunnistettuun liikkeeseen zoomattu kuva.Figures 4C, 5C, 6C and 7C illustrate what Figures 4A, 5A, 6A look like. ·, And 7A zoomed image to the detected motion.
Kuten kuviota 4A ja 4C vertaamalla havaitaan, kuviossa 4C ei ole ' 35 vielä käytetty liikkeeseen zoomausta, koska kuvion 4B mukaisesti siinä ei vielä \: ole tunnistettu liikettä.As can be seen by comparing Fig. 4A and 4C, Fig. 4C has not yet used motion zoom because, according to Fig. 4B, motion has not yet been detected.
19 11201719 112017
Kuviossa 5C nähdään, kuinka kuvaa on lähdetty zoomaamaan kuvasta tunnistettuun liikkeeseen, eli kuvaan kävellyttä henkilöä kohti.Figure 5C shows how the image has been begun to be zoomed from the image to a recognized motion, i.e., to the person walking.
Kuvion 6C mukaisesti zoomausta on edelleen jatkettu.As shown in Figure 6C, zooming is continued.
Kuvion 7C mukaisesti zoomaus on suuntautunut poisvietyä radio-5 nauhuria kohti, koska kuvion 7B mukaisesti poisvienti jäi näkyviin liikkeenä.As shown in Figure 7C, the zoom is oriented toward the retrieved radio-5 recorder, as in Figure 7B, the retraction remained visible as motion.
Sitten kun liikettä ei enää tunnisteta kuvasta, kuva-ala voidaan palauttaa ennalleen, esimerkiksi portaattomasti zoomaamalla takaisin alkuperäiseen kuva-alaan.Then, when motion is no longer recognized in the image, the image area can be restored, for example, by continuously zooming back to the original image area.
Seuraavaksi kuviossa 8 havainnollistetaan kameran liikuttamisen 10 vaikutusta. Aiemmin kuvattua suoritusmuotoa käyttäen ohjataan kuvat muodostanut kamera liikkumaan kuvasta tunnistetun liikkeen suuntaan. Edellinen kuva on rajattu kehyksellä 800 ja nykyinen kuva kehyksellä 802. Vinoristiviivoi-tettu alue 804 on se vanha kuva-alue, joka jätetään liikkeen tunnistamiseksi suoritettavassa tarkastelussa pois. Vaakaristiviivoitettu alue 806 on pelkästään 15 uudessa kuvassa oleva alue, jolta osin pelkästään nykyisessä kuvassa olevia luminanssipikseleitä vastaavat data-alkiot nollataan. Edellisen kuvan 800 ja nykyisen kuvan 802 välinen liikevektori 808 määrittää suunnan, johon kameraa on liikutettu. Edellisen kuvan 800 ja nykyisen kuvan 802 yhteinen alue 810 on alue, jolta osin edellisen kuvan 800 luminanssipikselit siirretään nykyisessä 20 kuvassa 802 olevien samaa kuva-alaa esittävien luminanssipikseleiden kohdalle, ja samoin liikerekisterissä olevat vastaavat data-alkiot siirretään kyseisen saman kuva-alan kohdalle. Käytännössä liikerekisterin data-alkioita ja edellisen kuvan 800 kehyspuskurissa olevia luminanssipikseleitä liikutetaan liikevektorin ; . 808 määräämä matka vastakkaiseen suuntaan.Next, Figure 8 illustrates the effect of moving the camera 10. Using the previously described embodiment, the camera that formed the images is guided from the image in the direction of the detected motion. The previous image is framed by a frame 800 and the current image is framed by a frame 802. The oblique area 804 is the old image area that is omitted in the motion detection detection. Horizontally crossed area 806 is only the area of the 15 new image, whereby only data elements corresponding to the luminance pixels of the current image are reset. The motion vector 808 between the previous image 800 and the current image 802 determines the direction in which the camera has been moved. The common area 810 of the previous image 800 and the current image 802 is the area where the luminance pixels of the previous image 800 are moved to the luminance pixels of the current image 802 in the current image 80, and similar data elements in the motion register are moved to that same image area. In practice, motion elements data elements and luminance pixels in the frame buffer 800 of the previous image are moved by a motion vector; . 808 prescribed distance in opposite direction.
. · · , 25 Lopuksi kuviossa 9 havainnollistetaan kameran optisen zoomin käy- : tön vaikutusta edellä kuvattuihin menettelyihin. Aiemmin kuvattua suoritusmuo- toa käyttäen ohjataan kuvat muodostanut kamera zoomaamaan optisesti ku-’* vasta tunnistetun liikkeen suuntaan. Edellinen kuva on rajattu kehyksellä 900 ja nykyinen kuva kehyksellä 902. Ristiviivoitettu alue 904 on se alue, joka nä-• . ’ 30 kyy pelkästään edellisessä kuvassa 900. Edellisen kuvan 900 ja nykyisen ku- van 902 yhteinen osa on alue 906. Edellisen kuvan kuva-ala 900 muokataan vastaamaan nykyisen kuvan 902 kuva-alaa jättämällä siitä alue 904 pois ja ,··’, interpoloimalla siihen nykyisen kuvan 902 kuva-alaa vastaavat puuttuvat lumi- nanssipikselit, ja liikerekisterin kuva-ala muokataan vastaamaan nykyisen ku-v 35 van 902 kuva-alaa interpoloimalla siihen nykyisen kuvan 902 kuva-alaa vas- :; taavat pu uttuvat data-alkiot.. · ·, 25 Finally, Figure 9 illustrates the effect of using the optical zoom of a camera on the procedures described above. Using the previously described embodiment, the camera that formed the images is directed to optically zoom in on the newly detected motion. The previous image is framed by frame 900 and the current image is framed by frame 902. The crossed area 904 is the area that you see. The previous image 900 and the current image 902 share a region 906. The image area 900 of the previous image is modified to match the image area of the current image 902 by omitting area 904 and interpolating it the missing luminance pixels corresponding to the image area of the current image 902, and adjusting the image area of the motion register to match the image area of the current image 902 by interpolating to the image area of the current image 902; data items.
20 11201720 112017
Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaiseen esimerkkiin, on selvää, ettei keksintö ole rajoittunut siihen, vaan sitä voidaan muunnella monin tavoin oheisten patenttivaatimusten esittämän keksinnöllisen ajatuksen puitteissa.Although the invention has been described above with reference to the example of the accompanying drawings, it is clear that the invention is not limited thereto, but that it can be modified in many ways within the scope of the inventive idea set forth in the appended claims.
t * * · > 1 · ·t * * ·> 1 · ·
· I· I
Claims (44)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20020368A FI112017B (en) | 2001-12-18 | 2002-02-26 | Automatic zooming method and device |
PCT/FI2002/001023 WO2003052712A1 (en) | 2001-12-18 | 2002-12-13 | Method and device for automatic zooming |
AU2002350783A AU2002350783A1 (en) | 2001-12-18 | 2002-12-13 | Method and device for automatic zooming |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20012497A FI112018B (en) | 2001-12-18 | 2001-12-18 | Method and apparatus for detecting motion |
FI20012497 | 2001-12-18 | ||
FI20020368 | 2002-02-26 | ||
FI20020368A FI112017B (en) | 2001-12-18 | 2002-02-26 | Automatic zooming method and device |
Publications (3)
Publication Number | Publication Date |
---|---|
FI20020368A0 FI20020368A0 (en) | 2002-02-26 |
FI20020368A FI20020368A (en) | 2003-06-19 |
FI112017B true FI112017B (en) | 2003-10-15 |
Family
ID=26161243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI20020368A FI112017B (en) | 2001-12-18 | 2002-02-26 | Automatic zooming method and device |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2002350783A1 (en) |
FI (1) | FI112017B (en) |
WO (1) | WO2003052712A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6141437B2 (en) * | 2013-09-26 | 2017-06-07 | 三菱電機株式会社 | Surveillance camera, surveillance system, and motion determination method |
US9215377B2 (en) | 2013-12-04 | 2015-12-15 | Nokia Technologies Oy | Digital zoom with sensor mode change |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3382362B2 (en) * | 1994-07-29 | 2003-03-04 | キヤノン株式会社 | Image signal generator |
US5844613A (en) * | 1997-03-17 | 1998-12-01 | Microsoft Corporation | Global motion estimator for motion video signal encoding |
EP0878965A3 (en) * | 1997-05-14 | 2000-01-12 | Hitachi Denshi Kabushiki Kaisha | Method for tracking entering object and apparatus for tracking and monitoring entering object |
WO1999021145A1 (en) * | 1997-10-20 | 1999-04-29 | Industrial Research Limited | An improved surveillance system |
JP3779494B2 (en) * | 1998-06-03 | 2006-05-31 | 松下電器産業株式会社 | Motion detection device and recording medium |
SE517900C2 (en) * | 1999-12-23 | 2002-07-30 | Wespot Ab | Methods, monitoring system and monitoring unit for monitoring a monitoring site |
JP2001298728A (en) * | 2000-04-12 | 2001-10-26 | Meidensha Corp | Remote monitoring system and image coding method |
RU2187904C1 (en) * | 2000-12-19 | 2002-08-20 | Многопрофильное предприятие ООО "Элсис" | Image conversion method and device |
-
2002
- 2002-02-26 FI FI20020368A patent/FI112017B/en not_active IP Right Cessation
- 2002-12-13 WO PCT/FI2002/001023 patent/WO2003052712A1/en not_active Application Discontinuation
- 2002-12-13 AU AU2002350783A patent/AU2002350783A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
FI20020368A0 (en) | 2002-02-26 |
FI20020368A (en) | 2003-06-19 |
WO2003052712A1 (en) | 2003-06-26 |
AU2002350783A1 (en) | 2003-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2002649B1 (en) | Electronic video image stabilization | |
US8494306B2 (en) | Method and an apparatus for creating a combined image | |
US11818502B2 (en) | Systems and methods for perspective shifting in video conferencing session | |
CN108717530B (en) | Image processing method, image processing device, computer-readable storage medium and electronic equipment | |
CN110290323B (en) | Image processing method, image processing device, electronic equipment and computer readable storage medium | |
US20080129844A1 (en) | Apparatus for image capture with automatic and manual field of interest processing with a multi-resolution camera | |
JP2004023373A (en) | Image processor and processing method, and computer program and computer-readable storage medium | |
EP2311256B1 (en) | Communication device with peripheral viewing means | |
WO2011150109A1 (en) | Camera parameter- assisted video frame rate up conversion | |
JP6016332B2 (en) | Image processing apparatus and image processing method | |
JP2002259985A (en) | Image monitoring method, image monitoring device and storage medium | |
US8125528B2 (en) | Apparatus for digital image stabilization, method using the same and computer readable medium stored thereon computer executable instructions for performing the method | |
US8699750B2 (en) | Image processing apparatus | |
CN110944176A (en) | Image frame noise reduction method and computer storage medium | |
CN113965687B (en) | Shooting method and device and electronic equipment | |
JP2005175970A (en) | Imaging system | |
FI112017B (en) | Automatic zooming method and device | |
FI112018B (en) | Method and apparatus for detecting motion | |
Di Caterina et al. | An embedded smart surveillance system for target tracking using a PTZ camera | |
JPH0918828A (en) | Recording device and method and reproducing device and method for digital image data | |
KR20020067286A (en) | Object-based digital video recording system) | |
Vítek et al. | Video compression technique impact on efficiency of person identification in CCTV systems | |
KR100734847B1 (en) | Apparatus and method for taking a clear image in slow shutter speed | |
KR100391266B1 (en) | Method for background setup in object-based compression moving-image | |
KR200273661Y1 (en) | An unmanned a monitor a system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC | Transfer of assignment of patent |
Owner name: GOOGLE INC. Free format text: GOOGLE INC. |
|
MM | Patent lapsed |