This application claims the foreign priority benefit under Title 35, United State Code, 119 (a)-(d) of Japanese Patent Application No. 2011-204727, filed on Sep. 20, 2011 in the Japan Patent Office, the disclosure of which is herein incorporated by reference in its entirety.
1. Technical Field
The present invention relates to a technology for masking a partial area of a picture to be displayed on a camera screen to protect privacy thereof in a surveillance camera system which enables to control a PAN rotation (horizontal swing), a TILT rotation (vertical swing) and a zooming.
A term “corner” means “corner point” in this specification.
2. Description of Background Art
A surveillance camera system which enables to control a PAN rotation, a TILT rotation and a zooming has a structure in which a surveillance camera capable of a zooming thereof is mounted on a rotative table for a camera capable of rotating freely in a PAN rotational direction and a TILT rotational direction. The system is able to select any picture to be displayed by controlling the rotative table and a zoom mechanism of the surveillance camera via a remote operating device. In general, the system has a sequence control function for taking pictures sequentially in each of directions every preset time interval which directions have been settled beforehand, and an alarm function for pointing immediately toward an area in which something unusual has detected by a motion sensor disposed in a territory to be surveilled, and so on. In case that such a system is set in a public space like a street, a masking process is needed for some part of a picture which should not be taken, for example, a private house or an object prohibited from taking a picture in order to protect privacy.
The patent document 1 (JP, 2007-129336,A) discloses the following. Two representative corners are selected from among corners indicating an area to be protected from being displayed on a 2-dimensional camera screen to protect a privacy thereof, and an information of differences between each of the remained corners and the representative corners are calculated in a 2-dimension, and then memorized. Next, the representative corners are disposed in a 3-dimensional rectangular coordinate system to carry out a PAN rotation, a TILT rotation and a zooming. After that, positions of the representative corners in the 3-dimensional rectangular coordinate system are calculated, and these positions are converted back into a 2-dimensional coordinate system on the camera screen. And the positions of the remained corners are calculated by using the previously memorized information of differences, whereby a processing period time can be reduced.
However, there is a problem that a contour of a partial area of the picture to be protected for privacy thereof cannot be accurately calculated only by the data of the differences in the 2-dimension when the area of the picture to be protected has been rotated or deformed due to a PAN rotation or a TILT rotation, since only two representative corners are handled in the 3-dimensional rectangular coordinate system in the technology of the patent document 1.
Therefore, it is an object of the present invention to provide a technology to accurately calculate a mask area of a picture in order to protect privacy thereof on the camera screen when the mask area is deformed by rotations in PAN and TILT rotational directions and a zooming.
In order to solve the problem mentioned above, there is provided an image device according to the present invention. The image device expresses a 2-dimensional position of an image plane (rectangle) defined by specifications of an imaging element in a 3-dimensional coordinate system by adopting a focal length corresponding to a zoom position on one axis (for example, the Z-axis) of three axes in the 3-dimensional rectangular coordinate system. The image device also expresses a position of a mask area disposed on the image plane in the 3-dimensional coordinate system, then, rotates the mask area in PAN and TILT rotational directions and zooms it together with the image plane in the 3-dimensional coordinate system. Next, the image device converts the position of the mask area on the image plane in the 3-dimensional coordinate system after rotations in PAN and TILT rotational directions or a zooming, into a 2-dimensional position on a camera screen (rectangle) to be watched by a user. In this conversion, a relation that a size of the image plane is similar to a size of the camera screen is utilized. That is, the position of a mask area on the camera screen in the 2-dimensional coordinate system is calculated by using a relation that distances between three corners of the camera screen and each corner of the mask area on the camera screen are proportional to distances between three corners of the image plane and each corner of the mask area on the image plane in the 3-dimensional coordinate system with a constant ratio, respectively.
According to the present invention, a contour of a mask area for privacy protection on a camera screen which is deformed by a PAN rotation, a TILT rotation or a zooming can be accurately calculated.
An embodiment to carry out the present invention will be explained in detail with reference to the attached drawings.
First, the whole of a surveillance camera system will be schematically explained with reference to
The surveillance camera 12 is constructed by mounting a video camera onto a rotative table 11 which allows to rotate in PAN and TILT rotational directions. The video camera has an optical lens unit 5 to take in a light from the outside, and an image device 10 which allows to change a zoom position of the optical lens unit 5 and convert the captured light into an image signal which can be displayed on a display device 4. The surveillance camera 12 allows operations of PAN and TILT rotations and a zooming, by the camera operating device 3 through the network 2, and take a picture in a direction designated by the camera operating device 3.
The network 2 is constructed by a wired or wireless network using, for example, IP (Internet Protocol). The camera operating device 3 has a sequential function and an alarm function. The function is to memorize a plurality of positions for taking images and to sequentially take a picture of each of the positions, at a constant interval. The alarm function is to point the surveillance camera 12 in a direction toward an area in which something unusual has been detected by a motion sensor (not shown) disposed in a territory to be surveilled. And, the camera operating device 3 also has a function to control the surveillance camera 12 by manual. Furthermore, the camera operating device 3 can control a plurality of surveillance cameras 12 at the same time. Each surveillance camera 12 takes a picture and can outputs an image signal thereof to the display device 4 through the network 2. The display device 4 is a monitoring device to display the image signal thereon.
The imaging element 104 includes a CCD (Charge Coupled Device) sensor. A light is taken in from the outside through a lens 51 having a zooming function in the lens unit 5. The quantity of the light is adjusted by an iris diaphragm 52, and the light comes incident onto the CCD sensor through the iris diaphragm 52. The CCD sensor outputs an image signal by the photoelectric conversion.
An AFE (Analog Front End Circuit) 105 carries out a processing of Correlated Double Sampling (hereinafter, CDS), a processing of an analog AGC (Automatic Gain Control) and a processing of an ADC (Analog to Digital Converter) for the input image signal.
An image processing LSI (Large Scale Integration) 106 includes a signal processing section 107 and a mask signal output section 108. The signal processing section 107 carries out each processing of a noise reduction, a sensitivity enhancement, an improvement of a reproduction of color and so on. The mask signal output section 108 outputs a mask signal to be added to a privacy protection area for the output signal from the signal processing section 107. And the image processing LSI 106 adds the mask signal to the output signal from the signal processing section 107. The image processing LSI 106 is connected to a microcomputer 120 in order to carry out a function of the image processing LSI 106 so that a control of the image processing LSI 106 is carried out by the microcomputer 120. Furthermore, the image processing LSI 106 is integrated with various processing functions for the image signal therein, whereby it contributes to a miniaturizing of the image device 10.
A DAC (Digital Analog Converter) 109 converts a digital signal of the output from the image processing LSI 106 into an analog image signal to output the analog image signal through a camera image signal output section 110. And the analog image signal is output to the display device 4 through the camera operating device 3 as shown in
The CCD sensor has been explained in
The microcomputer 120 includes a motor controlling section 121, a control position information obtaining section 122 and a privacy mask controlling section 123. The motor controlling section 121 obtains an information of a zoom position from the control position information obtaining section 122 to move a zoom lens controlling motor 140 so that the lens is controlled to be positioned at a setting zoom position. The control position information obtaining section 122 obtains the information of PAN and TILT rotation angles and a zoom position set from the outside of the image device 10. The privacy mask controlling section 123 controls the image processing LSI 106 as the need arises, to carry out an arithmetic operation for a privacy protection area and then set the arithmetic operation result to the mask signal output section 108.
A part of the function of the microcomputer 120 may be provided by a hardware within the image processing LSI 106 instead of software. The details of the microcomputer 120 will be described later.
An external memory 130 is equipped to memorize various data therein. The external memory 130 may be replaced with a memory in the microcomputer 120. However, this embodiment will explain a case that the image device 10 includes the external memory 130 outside the microcomputer 120.
Examples of a function of the microcomputer 120 and of information to be memorized in the external memory 130 will be explained with reference to
The screen information 131 includes a camera screen information 132 and an image plane information 133.
The camera screen information 132 indicates a width and a height of an image to be finally output to the display device 4 which are respectively memorized as “MONI_H”, “MONI_V” (refer to
The image plane information 133 includes a size of an image plane 20 (refer to
First, “CAM_H” and “CAM_V” are found, the former is a width of, and the latter is a height of the image plane 20 disposed in the 3-dimensional rectangular coordinate system in the above-mentioned state. The relative positions of the lens unit 5 and the imaging element 104 in view along the Y-axis (in a horizontal plane) and in view along the X-axis (in a vertical plane) are shown in
Tan(αH)=((Pux×Hpixel)/2)/f value eq. (1)
Tan(αV)=((Puy×Vpixel)/2)/f value eq. (2)
The following equations (3) and (4) are obtained according to the position relation in
Tan(αH)=(CAM—H/2)/d_base eq. (3)
Tan(αV)=(CAM—V/2)/d_base eq. (4)
Therefore, the following equations (5) and (6) are derived by using the equations (1), (2), (3) and (4).
CAM—H=(d_base×Pux×Hpixel)/f value eq. (5)
CAM—V=(d_base×Puy×Vpixel)/f value eq. (6)
Since “CAM_H” and “CAM_V” can be calculated according to the value of “d_base” in the 3-dimensional coordinate system, they are calculated beforehand and stored as the image plane information 133.
The screen information 131 can be calculated by using the microcomputer 120, on the other hand, it can be memorized beforehand so that the processing period time can be shortened, since the screen information 131 can be determined as the fixed one when the specifications of the image signal and the imaging element 104 are settled.
Next, the Z value table 134 will be explained in the following with reference to
d
—
n=(CAM—H×f value)/(Pux×Hpixel) eq. (7)
d
—
n=(CAM—V×f value)/(Puy×Vpixel) eq. (8)
The value of “d_n” can be calculated by using either of the equations (7) and (8). The Z value table 134 is made, for example, by connecting the zoom position with the value of “d_n” as shown in
The angle table 135 includes sine values corresponding to angles from 0 to 90 angle degrees. Calculations for a sine or a cosine can be carried out by using the microcomputer 120. However, shortening of the calculation period time can be achieved by previously memorizing as a table data since the calculation involves a large processing load. Values of sine and cosine corresponding to angles from 0 to 360 angle degrees may be memorized, however, a memory capacity of the external memory 130 is limited and it is needed to suppress an increase of an amount of memory data. Therefore, only the values of sine corresponding to angles from 0 to 90 angle degrees are memorized in the angle table 135. Then, values of sine and cosine corresponding to angles from 0 to 360 angle degrees are found or calculated with a low processing load by using the values of sine corresponding to angles from 0 to 90 angle degrees as follows. The processing is carried out by a SIN·COS calculating section 125 of a privacy mask controlling section 123 in the microcomputer 120.
Now, the processing by the privacy mask controlling section 123 will be explained. Values of SIN zero angle degree to SIN 360 angle degree and COS zero angle degree to COS 360 angle degree are found or calculated with a low processing load referring to the values of SIN zero angle degree to SIN 90 angle degree on demand which values of SIN are previously memorized in the angle table 135. In the concrete, the values can be found or calculated by either of the following equations (9a) to (9d) and (10a) to (10d) which are selected in accordance with an arbitrary value of angle α.
A unit of angle, that is, “angle degree” is omitted in the following equations.
SIN α=SIN α (0≦α<90) eq. (9a)
SIN α=−SIN(90−α) (90≦α<180) eq. (9b)
SIN α=−SIN(α−180) (180≦α<270) eq. (9c)
SIN α=−SIN(90−(α−270)) (270≦α<360) eq. (9d)
COS α=SIN(90−α) (0≦α<90) eq. (10a)
COS α=−SIN(α−90) (90≦α<180) eq. (10b)
COS α=−SIN(90−(α−180)) (180≦α<270) eq. (10c)
COS α=SIN(α−270) (270≦α<360) eq. (10d)
Next, functions of the privacy mask controlling section 123 in the microcomputer 120 will be explained. The privacy mask controlling section 123 includes a mask mode judgment section 124, a mask making processing section 150 and a mask display processing section 160.
The mask mode judgment section 124 judges a mode to control masking for privacy. In the concrete, the mask mode judgment section 124 selects one among 1: control off, 2: mask making and 3: mask display as a mode to control masking for privacy at a step S701 as shown in
The processing of making a mask at the step S702 is a mode of making a mask to cover a privacy protection area with use of the surveillance camera 12. The processing of displaying a mask at the step S703 is a mode of enabling to display the mask on a camera screen 21 (refer to
Next, the function of the mask making processing section 150 will be explained with reference to
The mask setting information obtaining section 151 obtains information of a position (moniMASK_Hposi, moniMASK_Vposi) and a size (moniMASK_Hsize, moniMASK_Vsize) of a mask 23 set on the camera screen 21 shown in
The mask display position calculating section 152 calculates corner coordinates
p1_moniMASK(x1_moniMASK,y1_moniMASK),
p2_moniMASK(x2_moniMASK,y2_moniMASK),
p3_moniMASK(x3_moniMASK,y3_moniMASK), and
p4_moniMASK(x4_moniMASK,y4_moniMASK)
of the mask 23 on the camera screen 21 in accordance with moniMASK_Hposi, moniMASK_Vposi, moniMASK_Hsize and moniMASK_Vsize. The corner coordinates are calculated by using the following equations (11), (12), (13) and (14) together with MONI_H and MONI_V derived from the camera screen information 132 of the screen information 131 in the external memory 130. In this case, the coordinate system of the camera screen 21 is set as designated in
The mask 2D 2D converting section 153 converts the corner coordinates (p1_moniMASK, p2_moniMASK, p3_moniMASK, p4_moniMASK) of the mask 23 on the camera screen 21 calculated by the mask display position calculating section 152 into the corner coordinates (p1_camMASK(x1_camMASK, y1_camMASK) p2_camMASK(x2_camMASK,y2_camMASK), p3_camMASK(x3_camMASK,y3_camMASK), p4_camMASK(x4_camMASK, y4_camMASK))
of a mask on the image plane 20. The conversion is done by using the following equations (15) and (16) together with CAM_H and CAM_V derived from the image plane information 133 of the screen information 131 in the external memory 130. The coordinate system about the image plane 20 has the origin (0, 0) designating the center of the image plane 20, and the positive directions of the X-axis and the Y-axis are the right direction and the downward direction, respectively.
x*_camMASK=x*_moniMASK×CAM—H/MONI—H−CAM—H/2 eq. (15)
y*_camMASK=y*_moniMASK×CAM—V/MONI—V−CAM—V/2 eq. (16)
Here and hereinafter, an asterisk * designates a corner number 1, 2, 3, or 4.
The mask 2D 3D converting section 154 also obtains the value of d_set which is to be set as the coordinate value on the Z-axis corresponding to a present zoom position (f value) from the Z value table 134 in the external memory 130, in addition to the corner coordinates (p1_camMASK, p2_camMASK, p3_camMASK, p4_camMASK) of a mask on the image plane 20 converted by the mask 2D 2D converting section 153. The image plane 20a is positioned so that a Z coordinate value thereof is the value of d_set mentioned above as shown by dotted lines in
p1_camMASK—3d(x1_camMASK,y1_camMASK,d1_set),
p2_camMASK—3d(x2_camMASK,y2_camMASK,d2_set),
p3_camMASK—3d(x3_camMASK,y3_camMASK,d3_set), and
p4_camMASK—3d(x4_camMASK,y4_camMASK,d4_set)
Where, d_set=d1_set=d2_set=d3_set=d4_set
The above coordinates are the first information in the present invention.
The above mask 22a in the 3-dimensional coordinate system is disposed on the image plane 20a in the 3-dimensional coordinate system when the PAN and TILT rotation angles are zero. However, in fact, the surveillance camera 12 is positioned in the state that PAN and TILT rotation angles are each appropriate angle due to an operation of the camera operating device 3. Therefore, a mask 22r after rotations of PAN and/or TILT must be positioned on the image plane 20 after the rotations of PAN and/or TILT. Corner coordinates of the image plane 20 after rotations of PAN and/or TILT are as follows. The center point Ca of the image plane 20a moves to a center point C after the rotations.
p1_cam—3d_r(x1_cam_r,y1_cam_r,d1_set_r),
p2_cam—3d_r(x2_cam_r,y2_cam_r,d2_set_r),
p3_cam—3d_r(x3_cam_r,y3_cam_r,d3_set_r), and
p4_cam—3d_r(x4_cam_r,y4_cam_r,d4_set_r)
Then, the mask rotation processing section 155 calculates corner coordinates of the mask 22r by also rotating the mask 22a for the corner coordinates (p1_camMASK—3d, p2_camMASK—3d, p3_camMASK—3d, p4_camMASK—3d) of the mask 22a by as much degrees as the image plane 20a in the 3-dimensional coordinate system being rotated in PAN and/or TILT rotational directions to be the image plane 20.
p1_camMASK—3d_r(x1_camMASK_r,y1_camMASK_r,d1_set_r),
p2_camMASK—3d_r(x2_camMASK_r,y2_camMASK_r,d2_set_r),
p3_camMASK—3d_r(x3_camMASK_r,y3_camMASK_r,d3_set_r), and
p4_camMASK—3d_r(x4_camMASK_r,y4_camMASK_r,d4_set_r)
The above coordinates are the second information in the present invention.
Specifically, when the surveillance camera 12 is rotated in PAN and TILT rotational directions as shown in
The mask rotation processing section 155 stores the corner coordinates (p1_camMASK—3d_r, p2_camMASK—3d_r, p3_camMASK—3d_r, p4_camMASK—3d_r) of the mask 22r after rotations to the mask 3D position information 136 in the external memory 130. That is, the position of the mask 22r after rotations in the 3-dimensional coordinate system is fixed or determined in the 3-dimensional coordinate system after finishing a process of mask-making.
Furthermore, it is preferable to enable a visual confirmation easily in the display device 4 by setting the corner coordinates (p1_moniMASK, p2_moniMASK, p3_moniMASK, p4_moniMASK) of the mask 23 calculated by the mask display position calculating section 152 in the mask signal output section 108 in the image processing LSI 106 when a position of the mask 23 is set on the camera screen 21 (refer to
Now, the function of the mask display processing section 160 will be explained with reference to
The camera screen 2D 2D converting section 161 carries out processing of conversion of 2-dimensional coordinates of the camera screen 21 into 2-dimensional coordinates of the image plane 20. In the concrete, the camera screen 2D 2D converting section 161 reads out MONI_H, MONI_V, CAM_H and CAM_V from the camera screen information 132 and the image plane information 133 of the screen information 131 in the external memory 130, respectively. Corner coordinates p1_moni(x1_moni,y1_moni), p2_moni(x2_moni,y2_moni), p3_moni(x3_moni,y3_moni) and p4_moni(x4_moni,y4_moni) of the camera screen 21 are expressed by p1_moni(0,0), p2_moni(MONI_H,0), p3_moni(0,MONI_V) and p4_moni(MONI_H,MONI_V) as shown in
The image plane 2D 3D converting section 162 positions the corner coordinates (p1_cam, p2_cam, p3_cam, p4_cam) of the image plane 20 in the 2-dimensional coordinate system calculated by the camera screen 2D 2D converting section 161 into the 3-dimensional coordinate system. The section 162 reads out d_now corresponding to the present zoom position from the Z value table 134 in the external memory 130 to set the value of d_now as the Z coordinate of each corner of the image plane 20 instead of d_set shown in
p1_cam—3d(x1_cam,y1_cam,d1_now),
p2_cam—3d(x2_cam,y2_cam,d2_now),
p3_cam—3d(x3_cam,y3_cam,d3_now) and
p4_cam—3d(x4_cam,y4_cam,d4_now)
Where, d_now=d1_now=d2_now=d3_now=d4_now
The image plane rotation processing section 163 calculates corner coordinates p1_cam—3d_r (x1_cam_r,y1_cam_r,d1_now_r), p2_cam—3d_r(x2_cam_r,y2_cam_r,d2_now_r), p3_cam—3d_r(x3_cam_r,y3_cam_r,d3_now_r), and p4_cam—3d_r(x4_cam_r,y4_cam_r,d4_now_r) of the image plane 20 in the 3-dimensional coordinate system when the corner coordinates p1_cam—3d, p2_cam—3d, p3_cam—3d and p4_cam—3d calculated by the image plane 2D 3D converting section 162 are rotated by PAN rotation angle θ and TILT rotation angle γ (refer to
The mask projected position calculating section 164 projects the mask 22r onto the image plane 20 to calculate corner coordinates of a mask 22 projected, by using the coordinates of the image plane 20 in 3-dimensional coordinate system rotated in the processing of the section 163 and the coordinates of the mask memorized in the mask 3D position information 136 in the external memory 130, as shown in
The mask generating section in this embodiment includes the aforesaid sections 154, 155 and 164, and preferably includes the aforesaid mask making processing section 150 and the aforesaid sections 161, 162, 163 and 164 of the mask display processing section 160.
Next, how to find each corner coordinates p1_mask, p2_mask, p3_mask and p4_mask of the mask 22 will be explained with reference to
Vector S=(x3_cam—r−x1_cam—r,y3_cam—r−y1_cam—r,d3_now—r−d1_now—r) eq. (18)
Vector T=(x2_cam—r−x1_cam—r,y2_cam—r−y1_cam—r,d2_now—r−d1_now—r) eq. (19)
Vector N=vector product S×T=(a,b,c) eq. (20)
Where,
a=(y3_cam—r−y1_cam—r)×(d2_now—r−d1_now—r)−(d3_now—r−d1_now—r)×(y2_cam—r−y1_cam—r),
b=(d3_now—r−d1_now—r)×(x2_cam—r−x1_cam—r)−(x3_cam—r−x1_cam—r)×(d2_now—r−d1_now—r) and
c=(x3_cam—r−x1_cam—r)×(y2_cam—r−y1_cam—r)−(y3_cam—r−y1_cam—r)×(x2_cam—r−x1_cam—r)
Each of corners with corner coordinates (p1_mask, p2_mask, p3_mask, p4_mask) of the mask 22 projected onto the image plane 20 is positioned on each line which passes through the origin O in the 3-dimensional coordinate system and each corner of the mask 22r. So corner coordinates (p1_mask, p2_mask, p3_mask, p4_mask) of the mask 22 are expressed by the following equation (21) with coefficient k1, k2, k3 or k4.
p*_mask(x*_mask,y*_mask,z*_mask)=k*×p*_camMASK—3d—r(x*_camM ASK—r,y*_camMASK—r,d*_set—r) eq. (21)
Namely, the corner coordinates of the mask 22 projected onto the image plane 20 in the 3-dimensional coordinate system can be calculated when the coefficient k1, k2, k3 or k4 corresponding to each corner is found.
Vectors EI, EJ, EK and EL are expressed as the following equation (22) which are a vector from the point E to a point I (p1_mask), a vector (not shown) from the point E to a point J (p2_mask), a vector (not shown) from the point E to a point K (p3_mask) and a vector (not shown) from the point E to a point L (p4_mask), respectively, by using the equation (21).
(x*_mask−x*_cam—r,y*_mask−y*_cam—r,z*_mask−d*_now—r)=(k*×x*_camMASK—r−x*_cam—r,k*×y*_camMASK—r−y*_cam—r,k*×d*_set—r−z*_cam—r) eq. (22)
Each of the vectors EI, EJ, EK and EL is orthogonal to the vector product S×T calculated by the equation (20) so that an inner product of these two vectors is zero. That is, the following equations (23) are obtained.
vector EI·vector product S×T=0,
vector EJ·vector product S×T=0,
vector EK·vector product S×T=0, and
vector EL·vector product S×T=0 eq. (23)
The equations (23) are solved for the coefficients k1, k2, k3 and k4 so that the following equation (24) is obtained. Each corner coordinates (p1_mask, p2_mask, p3_mask, p4_mask) of the mask 22 projected onto the image plane 20 can be calculated by using the coefficients k1, k2, k3 and k4 calculated.
k*=(a×x1_cam—r+b×y1_cam—r+c×z1cam—r)/(a×x*_camMASK—r+b×y*_camMASK—r+c×d*_set—r) eq. (24)
Further, in case that the coefficients k1, k2, k3 and k4 calculated are negative values, the mask 22r cannot be projected onto the image plane 20 since the projection thereof is opposite to the image plane 20. That is, there is no projection of the mask 22r onto the image plane 20 in that case. The denominator of the equation (24) is an inner product of vector product S×T and each vector from the origin O to each corner of the mask 22r to be projected onto the image plane 20. So in case that the denominator is zero, the image plane 20 and the mask 22r are in perpendicular relations so that the mask 22r cannot be projected onto the image plane 20. That is, there is no projection of the mask 22r onto the image plane 20 also in case that the denominator is zero.
The mask display position calculating section 165 calculates each corner coordinates of a mask 23a (second mask area) to be displayed on the camera screen 21 by using the each corner coordinates (p1_mask, p2_mask, p3_mask, p4_mask) of the mask 22 (first mask area) projected onto the image plane 20 and calculated by the mask projected position calculating section 164 (refer to
Therefore, a method for converting the corner coordinates of the mask 22 in the 3-dimensional coordinate system directly into the 2-dimensional coordinate system without the operation for the reverse rotations will be explained in this embodiment. The mask display position calculating section 165 directly converts the corner coordinates of the mask 22 projected onto the image plane 20 in the 3-dimensional coordinate system into the corner coordinates of the mask 23a on the camera screen 21.
Similarly also in
P, Q and R of the camera screen 21 and each of corners T, U, V and W (p1_moniMASKa, p2_moniMASKa, p3_moniMASKa, p4_moniMASKa) of the mask 23a in the 2-dimensional coordinate system are calculated to be a1, b1, c1, a2, b2, c2, a3, b3, c3, a4, b4 and c4, respectively.
In the concrete, the relation of the relative position of the mask 22 to the image plane 20 in the 3-dimensional coordinate system is similar to that of the mask 23a to the camera screen 21 in the 2-dimensional coordinate system. Therefore, the distances A1, B1, C1, and C4 are proportional to the distances a1, b1, c1, and c4 with a constant ratio, respectively. The corner coordinates of the mask 23a on the camera screen 21 can be calculated by using the constant ratio.
The processing load for the calculation is enlarged since the calculation of the square root is needed in case of the calculation of the distance between two points. So the square of a distance is used in an actual calculation. There is no problem also in case of using the square instead of the distance because of a comparison of the ratio
The following equations (25) are formed concerning the relation of the distances A1, A2, and the distances a1, a2, . . . .
|vector FE|̂2/A*̂2=|vector QP|̂2/a*̂2,
|vector FE|̂2=CAM—Ĥ2,
|vector QP|̂2=MONI—Ĥ2,
A*̂2=(x*_mask−x1_cam—r)̂2+(y*_mask−y1_cam—r)̂2+(z*_mask−d1_now—r)̂2 and
a*̂2=(x*_moniMASKa−0)̂2+(y*_moniMASKa−0)̂2 eq. (25)
Here and hereinafter, “̂2” means “square”.
The following equations (26) are formed concerning the relation of the distances B1, B2, . . . and the distances b1, b2, . . . .
|vector FE|̂2/B*̂2=|vector QP|̂2/b*̂2,
|vector FE|̂2=CAM—Ĥ2,
|vector QP|̂2=MONI—Ĥ2,
B*̂2=(x*_mask−x2_cam—r)̂2+(y*_mask−y2_cam—r)̂2+(z*_mask−d2_now—r)̂2 and
b*̂2=(x*_moniMASKa−MINI—H)̂2+(y*_moniMASKa−0)̂2 eq. (26)
The following equations (27) are formed concerning the relation of the distances A1, A2, . . . and the distances a1, a2, . . . .
|vector GE|̂2/A*̂2=|vector RP|̂2/a*̂2,
|vector GE|̂2=CAM—V̂2,
|vector RP|̂2=MONI—V̂2,
A*̂2=(x*_mask−x1_cam—r)̂2+(y*_mask−y1_cam—r)̂2+(z*_mask−d1_now—r)̂2 and
a*̂2=(x*_moniMASKa−0)̂2+(y*_moniMASKa−0)̂2 eq. (27)
The following equations (28) are formed concerning the relation of the distances C1, C2, . . . and the distances c1, c2, . . . .
|vector GE|̂2/C*̂2=|vector RP|̂2/c*̂2,
|vector GE|̂2=CAM—V̂2,
|vector RP|̂2=MONI—V̂2,
C*̂2=(x*_mask−x3_cam—r)̂2+(y*_mask−y3_cam—r)̂2+(z*_mask−d3_now—r)̂2 and
c*̂2=(x*_moniMASKa−0)̂2+(y*_moniMASKa−MONI—V)̂2 eq. (28)
Solving the equations (25) and (26) for “x*_moniMASKa”, and the equations (27) and (28) for “y*_moniMASKa”, the following equations (29) and (30) are formed to calculate the corner coordinates of the mask 23a on the camera screen 21.
x*_moniMASKa=((MONI—H×(CAM—Ĥ2+A*̂2−B*̂2))/(2×cAM—Ĥ2) eq. (29)
y*_moniMASKa=((MONI—V×(CAM—V̂2+A*̂2−C*̂2))/(2×CAM—V̂2) eq. (30)
Thereby, the corner coordinates of the mask 22 on the image plane 20 in the 3-dimensional coordinate system can be converted into the corner coordinates of the mask 23a on the camera screen 21 in the 2-dimensional coordinate system without an operation for the reverse rotations. The privacy protection area can be covered with a mask displayed when the corner coordinates of the mask 23a on the camera screen 21 calculated by the mask display position calculating section 165 are set to the mask signal output section 108 in the image processing LSI 106.
However, the rectangular mask made by the mask making processing section 150 is changed to a complex contour like a trapezoid when it is rotated by PAN and/or TILT rotation angles. In case of such a complex contour, the processing load in the image processing LSI 106 is sometimes enlarged. Therefore, the mask coordinate modifying section 166 converts the corner coordinates of the mask 23a on the camera screen 21 calculated by the mask display position calculating section 165 into a simple rectangular mask before setting to the mask signal output section 108 in the image processing LSI 106. In the concrete, the mask coordinate modifying section 166 converts the mask 23a which is not yet processed for the conversion into a rectangular mask 23b which circumscribes the mask 23a as shown in
When the converted corner coordinates of the mask 23b are expressed with p1_moniMASKb (x1_moniMASKb, y1_moniMASKb), p2_moniMASKb(x2_moniMASKb,y2_moniMASKb), p3_moniMASKb(x3_moniMASKb,y3_moniMASKb) and p4_moniMASKb(x4_moniMASKb,y4_moniMASKb), the corner coordinates of the mask 23b are expressed in the following equations (31) so that a rectangular mask can be always obtained.
x1_moniMASKb=x3_moniMASKb=MIN(x1_moniMASKa,x2_moniMASKa,x3moniMASKa,x4moniMASKa)
x2_moniMASKb=x4_moniMASKb=MAX(x1_moniMASKa,x2_moniMASKa,x3moniMASKa,x4moniMASKa)
y1_moniMASKb=y2_moniMASKb=MIN(y1_moniMASKa,y2_moniMASKa,y3moniMASKa,y4moniMASKa)
y3_moniMASKb=y4_moniMASKb=MAX(y1_moniMASKa,y2_moniMASKa,y3moniMASKa,y4moniMASKa) eq. (31)
Where, MAX designates a function to select the maximum out of values in parentheses, and MIN designates a function to select the minimum out of values in parentheses.
From the foregoing description, a privacy protection area can always be covered with a rectangular mask having a simple contour by setting the corner coordinates of the mask 23b calculated to the mask signal output section 108 in the image processing LSI 106 even when the surveillance camera 21 is rotated so that a mask to cover a privacy protection area is deformed complicatedly. Furthermore, quantity of the operation can be largely reduced by transforming a mask 23a to be a rectangular mask 23b.
The result of a simulation for verifying enabling to carry out the control for masking a privacy protection area by using the equations (1) to (31) will be explained hereinafter. The sensor sizes of one pixel are set to be Pux=0.00000475 (m) and Puy=0.00000555 (m) as specifications of the imaging element 104. The horizontal pixel number and the vertical pixel number are Hpixel=768 pixels and Vpixel=494 pixels, respectively. The f value at a wide end for the lens 51 is set to be f value=0.0034 and d_base=256 as specifications thereof. In this case, the sizes CAM_H and CAM_V of the image plane 20 are calculated by the equations (5) and (6) to be formed as follows.
CAM—H=(d_base×Pux×Hpixel)/f value=(256×0.00000475×768)/0.0034=274.67≈275 (from eq. (5))
CAM—V=(d_base×Puy×Vpixel)/f value=(256×0.00000555×494)/0.0034=206.43≈206 (from eq. (6))
The sizes MONI_H and MONI_V of the camera screen 21 to display a picture thereon are set to be MONI_H=740 and MONI_V=480, respectively. And moniMASK_Hsize=16, moniMASK_Vsize=16, moniMASK_Hposi=64 and moniMASK_Vposi=64 are set for the mask 23 on the camera screen 21 through the camera operating device 3. The corner coordinates of the mask 23 on the camera screen 21 are calculated by the equations (11), (12), (13) and (14) to be formed as follows.
x1_moniMASK=x3_moniMASK=(MONI—H/2)+(MONI—H/256)×(−moniMASK—Hsize+moniMASK—Hposi)=(740/2)+(740/256)×(−16+64)=508.75≈509 (from eq. (11))
x2_moniMASK=×4_monMASKi=(MONI—H/2)+(MONI—H/256)×(moniMASK—H size+moniMASK—Hposi)=(740/2)+(740/256)×(16+64)=601.25≈601 (from eq. (12))
y1_moniMASK=y2_moniMASK=(MONI—V/2)−(MONI—V/256)×(moniMASK—V size+moniMASK—Vposi)=(480/2)−(480/256)×(16+64)=90 (from eq. (13))
y3_moniMASK=y4_moniMASK=(MONI—V/2)−(MONI—V/256)×(−moniMASK—Vsize+moniMASK—Vposi)=(480/2)−(480/256)×(−16+64)=150 (from eq. (14))
Therefore, the corner coordinates of the mask 23 on the camera screen 21 are p1_moniMASK (509,90), p2_moniMASK (601,90), p3_moniMASK(509,150) and p4_moniMASK(601,150). And then, the corner coordinates of the mask 23 on the camera screen 21 are converted into coordinates on the image plane 20 so that the following equations are formed by using equations (15) and (16) as CAM_H=275 and CAM_V=206.
p1_camMASK(x1_camMASK,y1camMASK)=p1_moniMASK(509×275/740−275/2,90×206/480−206/2)=(51.655,−64.375)≈(52,−64)
p2_camMASK(x2_camMASK,y2_camMASK)=p2_moniMASK(601×275/740−275/2,90×206/480−206/2)=(85.844,−64.375)≈(86,−64)
p3_camMASK(x3_camMASK,y3_camMASK)=p3_moniMASK(509×275/740−275/2,150×206/480−206/2)=(51.655,−38.625)≈(52,−39)
p4_camMASK(x4_camMASK,y4_camMASK)=p4_moniMASK(601×275/740−275/2,150×206/480−206/2)=(85.844,−38.625)≈(86,−39)
When a zoom position is at a wide end at the time of processing of making a mask, using d_set=256, the corner coordinates of the mask 22a on the image plane 20 in the 3-dimensional coordinate system in case that PAN rotation angle is zero and TILT rotation angle is zero are p1_camMASK—3d(52,−64,256), p2_camMASK—3d(86,−64,256), p3_camMASK—3d(52,−39,256) and p4_camMASK—3d(86,−39,256). And in case that PAN rotation angle θ at the present time is 32 degrees and TILT rotation angle γ at the present time is 45 degrees, the corner coordinates of the mask 22r in the 3-dimensional coordinate system rotated by θ=32 and γ=45 are found to be p1_camMASK—3d_r(116,−226,88), p2_camMASK—3d_r(145,−226,70), p3_camMASK—3d_r(125,−209,103) and p4_camMASK—3d_r(154,−209,85) by using equation (17). And the corner coordinates p1_camMASK—3d_r, p2_camMASK—3d_r, p3_camMASK—3d_r and p4_camMASK—3d_r are stored to the mask 3D position information 136 in the external memory 130 when the processing of making a mask is completed.
In the processing of displaying a mask, controlling for masking is done for the privacy protection area made in the processing of making a mask even when the surveillance camera 12 is rotated in PAN and/or TILT rotational directions and is zoomed so that an object for taking a picture and to be displayed on the camera screen 21 is changed. Now since MONI_H=740 and MONI_V=480, the corner coordinates of the camera screen 21 are found to be p1_moni(0,0), p2_moni(740,0), p3_moni(0,480) and p4_moni(740,480). These are converted into the coordinates of the image plane 20 by using equations like the equations (15) and (16) to be p1_cam(−137.5,−103), p2_cam(137.5,−103), p3_cam(−137.5,103) and p4_cam(137.5,103). So by setting d_now=256 at a wide end, the coordinates in the 3-dimensional coordinate system are found to be p1_cam—3d(−137.5,−103,256), p2_cam—3d(137.5,−103,256), p3_cam—3d(−137.5,103,256) and p4_cam—3d(137.5,103,256).
In case that PAN rotation angle and TILT rotation angle at the present time are set to be θ1=42 degrees and γ1=47 degrees, respectively and a zoom position is set to be at a wide end, the corner coordinates of the image plane 20 are calculated to be p1_cam—3d_r(−36,−257,166), p2_cam—3d_r(169,−257,−18), p3_cam—3d_r(65,−117,278) and p4_cam—3d_r(269,−117,94) by using equation (17). The vector product S×T is found to be (a, b, c)=(−25760,41544,−28700) by using equations (18), (19) and (20). In this case, the coefficients k1, k2, k3 and k4 are found to be as follows by using the mask 3D position information 136 and equation (24).
k1=(a×x1_cam—r+b×y1_cam—r+c×z1_cam—r)/(a×x1_camMASK—r+b×y1_camMASK—r+c×d1_set—r)=(−25760×(−36)+41544×(−257)−28700×166)/(−25760×116+41544×(−226)−28700×88)≈0.974,
k2=(a×x1_cam—r+b×y1_cam—r+c×z1_cam—r)/(a×x2_camMASK—r+b×y2_camMASK—r+c×d2_set—r)=(−25760×(−36)+41544×(−257)−28700×166)/(−25760×145+41544×(−226)−28700×70)≈0.959,
k3=(a×x1_cam—r+b×y1_cam—r+c×z1_cam—r)/(a×x3_camMASK—r+b×y3_camMASK—r+c×d3_set—r)=(−25760×(−36)+41544×(−257)−28700×166)/(−25760×125+41544×(−209)−28700×103)≈0.977 and
k4=(a×x1_cam—r+b×y1_cam—r+c×z1_cam—r)/(a×x4_camMASK—r+b×y4_camMASK—r+c×d4_set—r)=(−25760×(−36)+41544×(−257)−28700×166)/(−25760×154+41544×(−209)−28700×88)≈0.962,
Therefore, the corner coordinates of the mask 22 projected on the image plane 20 are found to be as follows by using the above coefficients k1, k2, k3 and k4 and equation (21).
p1_mask(x1_mask,y1_mask,z1_mask)=0.974×p1_camMASK—3d—r(116,−226,88)=(113,−220,86),
p2_mask(x2_mask,y2_mask,z2_mask)=0.959×p2_camMASK—3d—r(145,−226,70)=(139,−217,67),
p3_mask(x3_mask,y3_mask,z3_mask)=0.977×p3_camMASK—3d—r(125,−209,103)=(122,−204,101), and
p4_mask(x4_mask,y4_mask,z4_mask)=0.962×p4_camMASK—3d—r(154,−209,85)=(148,−201,82),
And then, the corner coordinates of the mask 22 projected onto the image plane 20 in the 3-dimensional coordinate system are converted into the corner coordinates of the mask 23a on the camera screen 21 in the 2-dimensional coordinate system by using equations (29) and (30). The calculation results are found to be as follows by using equation (29).
x1_moniMASKa=((MONI—H×(CAM—Ĥ2+A1̂2−B1̂2))/(2×CAM—Ĥ2)=((740×(275̂2+29970̂2−15321̂2))/(2×275̂2)=441.6711,
x2_moniMASKa=((MONI—H×(CAM—Ĥ2+A2̂2−B2̂2))/(2×CAM—Ĥ2)=((740×(275̂2+42026̂2−9725̂2))/(2×275̂2)=528.0346,
x3_moniMASKa=((MONI—H×(CAM—Ĥ2+A3̂2−B3̂2))/(2×CAM—Ĥ2)=((740×(275̂2+31998̂2−19179̂2))/(2×275̂2)=432.7178 and
x4_moniMASKa=((MONI—H×(CAM—Ĥ2+A4̂2−B4̂2))/(2×CAM—Ĥ2)=((740×(275̂2+44048̂2−13577̂2))/(2×275̂2)=519.0813
The calculation results are found to be as follows also by using equation (30).
y1_moniMASKa=((MONI—V×(CAM—V̂2+A1̂2−C1̂2))/(2×CAM—V̂2)=((480×(206̂2+29970̂2−49777̂2))/(2×206̂2)=127.98,
y2_moniMASKa=((MONI—V×(CAM—V̂2+A2̂2−C2̂2))/(2×CAM—V̂2)=((480×(206̂2+42026̂2−9725̂2))/(2×206̂2)=138.3637,
y3_moniMASKa=((MONI—V×(CAM—V̂2+A3̂2−C3̂2))/(2×CAM—V̂2)=((480×(206̂2+31998̂2−19179̂2))/(2×206̂2)=182.6016 and
y4_moniMASKa=((MONI—V×(CAM—V̂2+A4̂2−C4̂2))/(2×CAM—V̂2)=((480×(206̂2+44048̂2−13577̂2))/(2×206̂2)=192.9852
The contour defined by the above corner coordinates of the mask 23a on the camera screen 21 is not a rectangle, so it is converted into a rectangle by using equation (31) so that the corner coordinates of the mask 23b are found to be as follows.
From the foregoing, it will be appreciated that the image device 10 in this embodiment can certainly carry out masking for the set privacy protection area even when the surveillance camera 12 is rotated in PAN and/or TILT rotational directions and zoomed, by setting the calculated corner coordinates of the mask 23b to the mask signal output section 108 in the image processing LSI 106 and carrying out masking. And the image device 10 can reduce the processing load by rotating the image plane 20 after it is positioned so as to be perpendicular to one axis (the Z-axis in this embodiment) of three axes in the 3-dimensional coordinate system in the state that PAN rotation angle is zero and TILT rotation angle is also zero. Furthermore, each corner position of the mask on the camera screen 21 in the 2-dimensional coordinate system is obtained as a point position on the camera screen 21 having distances apart from three corners of the camera screen 21 each of which distances is proportional to each of distances between the corner of the mask 22 on the image plane 20 and three corners of the image plane 20 with a similitude ratio by utilizing the similarity of the size of the image plane 20 and the size of the camera screen 21, when a position of the mask on the image plane 20 in the 3-dimensional coordinate system after PAN rotation, TILT rotation and a zooming is converted into a position on the camera screen 21 in the 2-dimensional coordinate system. Thanks to such structure of the image device 10 in this embodiment, it can accurately calculate the mask area to protect privacy on the camera screen 21 even if the mask area is deformed by PAN and/or TILT rotations and a zooming.
Number | Date | Country | Kind |
---|---|---|---|
2011-204727 | Sep 2011 | JP | national |