The present technology relates to an information processing device and an information processing method, and more particularly to, an information processing device and an information processing method capable of implementing video projection using a plurality of projection devices more reliably.
In recent years, to implement broader projection mapping or high-resolution video projection, schemes of ensuring resolutions or areas by arranging a plurality of projectors in a tile form have been adopted.
When video projection is performed using a plurality of projectors, calibration is necessary in advance. As such a type of calibration scheme, a technology for calibrating a camera detection position and a trajectory display position of a pen type device in advance with respect to each projector and a camera set was disclosed (for example, see PTL 1).
JP 2015-191484A
However, in the technologies of the related art including the technology disclosed in PTL 1, some content of a projected video cannot be handled and real-time cannot be guaranteed at the time of inputting with a pen type device. Therefore, the technology does not suffice as a calibration scheme.
Therefore, a technology for implementing video projection using a plurality of projection devices more reliably is required.
The present technology has been devised in view of such circumstances and enables implementation of video projection using a plurality of projection devices more reliably.
An information processing device according to an aspect of the present technology is an information processing device including a control unit configured to detect a manipulation of a user on a designator projected to a projection area of each of a plurality of projection devices and generate relative position information regarding relative positions of the plurality of projection areas based on a detection result.
An information processing method according to another aspect of the present technology is an information processing method of causing an information processing device to detect a manipulation of a user on a designator projected to a projection area of each of a plurality of projection devices and generate relative position information regarding relative positions of the plurality of projection areas based on a detection result.
In the information processing device and the information processing method according to still another aspect of the present technology, a manipulation of a user on a designator projected to a projection area of each of a plurality of projection devices is detected and relative position information regarding relative positions of the plurality of projection areas is generated based on a detection result.
The information processing device according to an aspect of the present technology may be an independent device or an internal block included in one device.
When a video of content is projected over a plurality of projectors, the position of a top left of each projection area of each projector is the origin, that is, (x, y)=(0, 0) in a coordinate system of each projector, and a continuity of coordinates or connected coordinates are unclear in each projector.
For example, in a case in which first and second projectors are arranged side by side, it is assumed that a video of content is displayed over the two projectors. Then, if the position of the top left of a projection area of the first projector on the left side is the origin, an x coordinate returns to 0 again when the x coordinate goes over the right corner of the projection area and enter a projection area of the second projection on the right side.
To solve this problem, coordinate transformation cannot be performed unless a rotational relation between a screen and relative position coordinates between two projectors is known.
For example, as a scheme for solving this problem, a scheme of recognizing mutual projection areas through calibration using a camera that performs overall image capturing with a bird's eye view, a scheme of recognizing a continuity at a boundary surface using coordinates input by a user with a pen type device or the like at respective times, and the like have been proposed.
Specifically, the above-described PTL 1 discloses a technology related to a digital blackboard with a large screen in which a pen type device is used. First and second projectors arranged side by side and first and second cameras with an angle of field slightly broader than the projection areas of the projectors are disposed. A camera detection position (a camera coordinate system) of a pen type device and a trajectory display position (a projector coordinate system) are calibrated in advance with respect to the projectors and the set of the cameras, and thus a trajectory is displayed at a location drawn with the pen type device.
Here, when drawing is performed over projection areas (SC1 and SC2) of two projectors, there are an ending point (Pua) of a trajectory detected in one projection area (SC1) and a starting point (Pub) of a trajectory detected in the other projection area (SC2). Here, line segments from these points to the ends of the screens are interpolated ((Pua-Pus1)/(Pus2-Pub)). At this time, a reference determined as an input in which the ending point (Pua) and the starting point (Pub) are continuous is determined when two events come at one period of sampling.
In this scheme, however, it is necessary to detect screen passing-over and an input with the pen type device in a sample of one period. Therefore, for example, correspondence points cannot be detected when an animation moving independently passes over a screen.
As features of this scheme, because of an algorithm for observing a trajectory at the time of an input alike before and after screen passing-over and subsequently interpolating an area near a boundary surface, postprocessing after the input is performed. When an input of text or a figure is assumed to be performed as an input with the pen type device, real time is important. However, this scheme is a scheme in which real time properties cannot be guaranteed near a screen. Further, since calculation is performed from input coordinates at respective times, it can be expected that a load due to calculation cost would also be high. These are all a hindrance to having real time properties.
In this way, in the scheme disclosed in the above-described PTL 1, there is a problem that application to independent animation display cannot be achieved, due to an increase in the size of a system and necessity of a user input at respective times.
When it is assumed that a case in which a drive type projector driven at two axes in the horizontal and vertical directions (hereinafter referred to as a moving projector) is used, projection to any area of a space is performed in the drive type projector while changing a posture of the projector every time. Therefore, in calibration performed once with a positional relation, a projection relation between a plurality of projectors may change.
In view of such circumstances, the present technology proposes a scheme of performing geometric correction (trapezoidal correction) of each projector in a unicursal line using a pen type device and also calibrating a relative position relation between projection areas of a plurality of projectors simply as preliminary calibration processing.
In particular, when a drive type projector is used, it is not necessary to perform recalibration even after a change in a projection angle due to storing a pan angle and a tilt angle during the calibration and self-calibration in a relation between the projection areas after movement is performed through internal calculation.
Hereinafter, an embodiment of the present technology will be described with reference to the drawings. The embodiment of the present technology will be divided into two phases, a calibration phase and an application phase, and will be described in this order.
<2. Calibration Phase>
The projection system is a system that implements, for example, broader projection mapping or high-resolution video projection using a plurality of projection devices.
In
The projector 10A projects and displays a video on a projection surface based on video data input from a device such as a personal computer. In
The projector 10B projects and displays a video on a projection surface based on video data input from a device such as a personal computer. In
The pen type device 50 is held with a hand of a user and is manipulated, so that a figure such as a line can be drawn in the projection areas 100A and 100B, for example, during calibration.
When the two projectors 10A and 10B are disposed to be adjacent to each other in the horizontal direction, for example, three patterns illustrated in
That is, a pattern (A of
Here, as illustrated in B of
In the example of
An objective of the present technology is to set all the overlapping relations and omnidirectional disposition of the three patterns illustrated in
There are two objectives in the calibration scheme to which the present technology is applied. The first objective is to perform geometric correction when projection areas become trapezoidal due to a situation such as oblique projection from the viewpoint of relations between the projectors and the projection surfaces. The second objective is to recognize a relative relation between projection areas of a plurality of projectors and obtain a continuity of coordinates. Hereinafter, description will be made in order in accordance with actual processing.
First, geometric correction of the projection area 100A will be described with reference to
As illustrated in
At this time, a user sequentially connects feature points PA1 to PA4 which are four designator displayed in the projection area 100A by the projector 10A with the pen type device 50 in a unicursal line. At this time, by detecting that a pen point of the pen type device 50 which is an indicator arrives at the feature point PA1 based on a captured image captured by the camera 20A, it is possible to associate a position of the pen point detected in the camera coordinate system with the feature point PA1 displayed in the projector coordinate system.
By similarly performing this processing on the remaining three feature points PA2 to PA4 displayed in the projection area 100A, a homographic transformation matrix of the camera coordinate system and the projector coordinate system is generated.
In
A of
A homographic transformation matrix used for this transformation is generated by causing the points PA1 to PA4 on the captured image to correspond to the points PA1 to PA4 on the projected image, that is, the feature points PA of a pen manipulation.
The homographic transformation matrix generated through the foregoing calibration is defined as in Expression (1) below.
x
a
′=H
a
x
a (1)
In Expression (1), xa′ indicates that coordinates of the projector 10A, xa indicates coordinates of the camera 20A, and Ha indicates a homographic transformation matrix between the projector 10A and the camera 20A.
Next, transition from the projection area 100A to the projection area 100B will be described with reference to
Partial regions of the projection areas 100A and 100B overlap. Therefore, when a straight line is drawn from the feature point PA4 of the projection area 100A to the feature point PB1 of the projection area 100B, coordinates detected from captured images captured by the cameras 20A and 20B are stored in the boundary surfaces of the two projection areas 100A and 100B.
At this time, when Pa(xa, ya) are boundary points coming from a range of the projection area 100A and Pb(xb, yb) are boundary points within a range of the projection area 100B, for example, three patterns illustrated in
That is, the three patterns are a pattern (A of
Next, geometric correction of the projection area 100B will be described with reference to
At this time, by detecting that the pen point of the pen type device 50 arrives at each of the feature points PB1 to PB4 based on a captured image captured by the camera 20B, it is possible to cause the position of the pen point detected in the camera coordinate system to correspond to the feature points PB1 to PB4 displayed in the projector coordinate system.
Thus, for the projection area 100B, a homographic transformation matrix of the camera coordinate system and the projector coordinate system is generated similarly to the above-described projection area 100A.
The homographic transformation matrix generated through the foregoing calibration is defined as in Expression (2) below.
X
b
′=H
b
x
b (2)
In Expression (2), xb′ indicates coordinates of the projector 10B, xb indicates coordinates of the camera 20B, and Hb indicates a homographic transformation matrix between the projector 10B and the camera 20B.
Through the foregoing processing, the homographic transformation matrices of the projection areas 100A and 100B are obtained. Therefore, all the detected points (observation points) detected from the captured images can be transformed from the camera coordinate system to the projector coordinate system. In description of the subsequent processing, coordinates transformed to the projector coordinate system will be described as a target.
As illustrated in
(a) Case in which Two Projection Areas Overlap
As illustrated in A of
In this case, the line segments until the detection of Pa after the detection of Pb can be detected together and will be matched in the projection areas 100A and 100B.
That is, at a certain moment, coordinates of a pen point in accordance with a pen manipulation of the user in the projector coordinate system obtained by transforming a captured image captured by the camera 20A using a homographic transformation matrix Ha and coordinates in the projector coordinate system obtained by transforming a captured image captured by the camera 20B using a homographic transformation matrix Hb are matched in a space.
A rotational angle between the projection areas 100A and 100B can be calculated using the shared line segments.
In
That is, the line segment Ls indicated by the solid line is a line segment shared between the projection areas 100A and 100B. Here, Pa2(xa2, ya2) is a boundary point among points in the range of the projection area 100A and, Pb1(xb1, yb1) is a boundary point among points in the range of the projection area 100B.
In
An angle θA of the line segment Ls in the projection area 100A is calculated with Expression (3) below.
θA=tan−1(ya2−ya1/xa2−xa1) (3)
An angle θB of the line segment Ls in the projection area 100B is calculated with Expression (4) below.
θB=tan−1(yb2−yb1/xb2−xb1) (4)
A rotational angle θAB between the projection areas 100A and 100B is calculated with Expression (5) below using Expressions (3) and (4).
θAB=θB−θA (5)
In this case, a shift amount in the vertical direction (the up and down directions) (hereinafter referred to as a vertical shift amount Δy) between the projection areas 100A and 100B is calculated with a difference of the y coordinate at a correspondence point of the line segment Ls shared between the projection areas, that is, Expression (6) or (7) below.
Δy=ya1−yb1 (6)
Δy=ya2−yb2 (7)
(b) Case in which Two Projection Areas Come into Contact Each Other
As illustrated in B of
In this case, by obtaining an angle from each line segment using points before and after the boundary points at both the boundary point Pa of the projection area 100A and the boundary point Pb of the projection area 100B, it is possible to calculate a rotational angle between the projection areas 100A and 100B.
In
In
Here, in
An angle θA of the line segment LA in the projection area 100A is calculated with Expression (8) below.
θA=tan−1(ya2−ya1/xa2−xa1) (8)
An angle θB of the line segment LB in the projection area 100B is calculated with Expression (9) below.
θB=tan−1(yb2−yb1/xb2−xb1) (9)
A rotational angle θAB between the projection areas 100A and 100B us calculated with Expression (10) below using Expressions (8) and (9).
θAB=θB−θA (10)
In this case, a vertical shift amount Δy between the projection areas 100A and 100B is calculated with a difference between the y coordinate of the boundary point Pa of the projection area 100A and the y coordinate of the boundary point Pb of the projection area 100B, that is, Expression (11) below.
Δy=ya2−yb1 (11)
As will be described in detail below, when the drive type projector 10 is used, an offset amount in accordance with a change in a tilt angle may be added in Expression (11) by storing information regarding a pan angle and a tilt angle during calibration.
(c) Case in which Two Projection Areas Become Separated from Each Other
As illustrated in C of
In this case, by obtaining an angle from each line segment using points before and after the boundary points at both the boundary point Pa in the projection area 100A and the boundary point Pb in the projection area 100B, it is possible to calculate a rotational angle between the projection areas 100A and 100B.
In
In
An angle θA of the line segment LA in the projection area 100A is calculated with Expression (12) below.
θA=tan−1(ya2−ya1/xa2−xa1) (12)
An angle θB of the line segment LB in the projection area 100B is calculated with Expression (13) below.
θB=tan−1(yb2−yb1/xb2−xb1) (13)
A rotational angle θAB between the projection areas 100A and 100B is calculated with Expression (14) below using Expressions (12) and (13).
θAB=θB−θA (14)
In this case, a vertical shift amount Δy between the projection areas 100A and 100B is calculated using a relation illustrated in
That is, the vertical shift amount is calculated as a result obtained by adding a difference between the y coordinate of the boundary point Pa of the projection area 100A and the y coordinate of the boundary point Pb of the projection area 100B and a value obtained by multiplying a time t between the projection areas by a slope a of the line segment Pa-Pb, that is, with Expression (15) below.
Δy=(ya2−yb1)+(t×a) (15)
Through the foregoing processing, in the calibration phase, the relative position relation between the projection areas is obtained in accordance with a relative disposition pattern of the projection areas 100A and 100B, and relative position information regarding the relative position between the projection areas is stored. The relative position information is used in an application phase to be described below.
Here, derived processing and a graphical user interface (GUI) which can be suggested to the projection area 100 in the above-described calibration processing will be described.
When a user draws a unicursal line using the pen type device 50, a suggested scheme with a simplest GUI is a scheme of drawing feature points PA and PB in the projection areas 100A and 100B.
In A of
In B of
In C of
In D of
When transition to the geometric correction of the adjacent projection area 100B is performed despite a failure of the geometric correction of the projection area 100A because of some reasons, the user may be prompted to return to the projection area 100A and perform the pen manipulation to retry the geometric correction after the end of the geometric correction of the projection area 100B.
Even though the recognition of the relative position relation between the projection areas fails, processing for retrying the recognition of the relative position relation may be performed similarly.
In this case, a GUI may be suggested, for example, as illustrated in
As described above, the fixed type projector has been mainly described. However, a drive type projector (a moving projector) may be used in the projection system to which the present technology is applied.
When a drive type projector is used, specific processing is performed, and thus the following two added values are assumed.
The first added value is omission of the sequence of the re-calibration. That is, when a homographic transformation matrix of a projection area is obtained, a pan angle and a tilt angle at that time point are stored. Thus, even in a location to which the projection area is moved after driving of the drive type projector, a relative position relation between a plurality of projection areas can be obtained through calculation.
In this scheme, as illustrated in
The offset amount yoffset of the y coordinate is calculated with, for example, Expression (16) below.
y
offset
=d×tan θT (16)
The second added value is simplicity of the calibration processing. That is, by setting the plurality of projection areas at the same location using the drive type projector, it is possible to perform calibration of all the projection surfaces through a pen manipulation performed once by the user.
In this scheme, as illustrated in
Thus, the user can also draw the feature points in a unicursal line in the overlapping projection area 100B by connecting the feature points PA1 to PA4 displayed in the projection area 100A in a unicursal line. Thus, since the calibration of all the projection surfaces can be performed through the pen manipulation performed once, the user may not perform the pen manipulation on each projection surface, and thus a labor for the calibration can be omitted.
The calibration phase has been described above.
<3. Application Phase>
In the application phase, the relative position relation between the plurality of projection areas can be solved using the relative position information generated in the calibration phase when the projectors project and display videos to the projection areas.
For example,
Specifically, in
In the states, when a character C moves from the right to the left along a path indicated by an arrow in the drawing in the order of the projection areas 100A, 100B, and 100C, the character C making independent animation display can move and pass over the projection areas by using the relative position information.
Writing can also be performed using an input of the pen type device 50 or the like. In this case, in the projection system, real-time processing including detection at the time of passing over the boundaries of the projection areas is not necessary and the relative position relation is recognized in advance in the calibration phase. Therefore, the projection areas can be used as if an input is performed on one large canvas.
Specifically, when the character C moves from the right to the left along a path indicated by an arrow in the drawing in the order of the projection areas 100A and 100B in
Even in this state, by storing a pan angle and a tilt angle of the projector 10A during calibration, it is possible to exchange the character C making the independent animation display from the projection area 100A to the projection area 100B using the relative position information, and thus it is possible to perform movement over the projection areas.
Here, as specific processing in the boundaries of the projection areas 100A and 100B, processing is performed using the relation between the projection areas 100A and 100B, as illustrated in
In the projection area 100A, the character C is moving from the right to the left along a path indicated by an arrow in the drawing and is moving from Pa1(xa1, ya1) to Pa2(0, ya2). Here, the position at the top left of a coordinate system (screen coordinates) of the projection area 100A is the origin.
At this time, since the projection areas 100A and 100B are in the overlapping state, Pa2(0, ya2) on the projection area 100A can be expressed at Pb1(xb1, yb1) on the projection area 100B. Pa2(0, ya2) and Pb1(xb1, yb1) in the boundaries of the projection areas 100A and 100B have a relation illustrated in
In
x
b1
=x
bmax−cos(90−θAB)/(yamax−ya2) (17)
y
b1
=y
a2
+y
bmax−sin(90−θAB)/(yamax−ya2)+Δy (18)
Here, when the above-described calculation is performed, the position at the top left is the origin and a maximum value in the y axis direction is yamax in the coordinate system of the projection area 100A. In the coordinate system of the projection area 100B, the position at the top left is the origin, a maximum value in the x axis direction is xbmax, and a maximum value in the y axis direction is ybmax.
The application phase has been described above.
In
The plurality of projectors 10 include a fixed type projector and a drive type projector. In the example of
The projector 10A is a fixed type projector and includes an I/F unit 11A, an IMU 12A, a projection unit 15A, and a camera 20A.
The I/F unit 11A is an interface with the information processing device 30 and is configured with a communication module, an input/output termina, or the like.
The I/F unit 11A outputs sensor data input from the IMU 12A and captured image data input from the camera 20A to the information processing device 30.
The I/F unit 11A outputs a control signal input from the information processing device 30 to the IMU 12A, the projection unit 15A, and the camera 20A. The I/F unit 11A outputs video data input from the information processing device 30 to the projection unit 15A.
The IMU 12A is an inertial measurement unit (IMU). The IMU 12A detects and outputs a 3-dimensional angular velocity and an acceleration detected by a triaxial gyroscope and a 3-way accelerometer as sensor data.
The projection unit 15A includes an optical member such as a light source or a lens and various mechanisms The projection unit 15A projects and displays a video in accordance with the video data input to the projection unit 15A to a screen or the like.
The camera 20A includes an image sensor and a signal processing unit. The camera 20A accepts light from a subject, performs photoelectric conversion, performs signal processing on an electrical signal obtained as a result, and outputs the processed electrical signal as captured image data. The camera 20A may be provided inside the projector 10A or may be provided outside.
The projector 10B is a drive type projector and includes an I/F unit 11B, a tilt motor 13B, a pan motor 14B, a projection unit 15B, and a camera 20B.
The I/F unit 11B is an interface with the information processing device 30 and is configured with a communication module, an input/output terminal, or the like.
The I/F unit 11B outputs angle data input from the tilt motor 13B and the pan motor 14B and captured image data input from the camera 20B to the information processing device 30.
The I/F unit 11B outputs control signals input from the information processing device 30 to the tilt motor 13B, the pan motor 14B, the projection unit 15B, and the camera 20B. The I/F unit 11B outputs the video data input from the information processing device 30 to the projection unit 15B.
The tilt motor 13B is a motor that drives the projector 10B in the vertical direction. The tilt motor 13B outputs angle data related to a tilt angle in accordance with the driving.
The pan motor 14B is a motor that drives the projector 10B in the horizontal direction. The pan motor 14B outputs angle data related to a pan angle in accordance with the driving.
The projection unit 15B and the camera 20B have configurations similar to the above-described projection unit 15A and camera 20A, and thus description thereof will be described.
The projector 10C is a drive type projector and includes an I/F unit 11C, a tilt motor 13C, a pan motor 14C, a projection unit 15C, and a camera 20C.
The I/F unit 11C is an interface with the information processing device 30 and is configured with a communication module, an input/output terminal, or the like.
The I/F unit 11C outputs angle data (including a tilt angle and a pan angle) input from the tilt motor 13C and the pan motor 14C and captured image data input from the camera 20C to the information processing device 30.
The I/F unit 11C outputs control signals input from the information processing device 30 to the tilt motor 13C, the pan motor 14C, the projection unit 15C, and the camera 20C.
The tilt motor 13C, the pan motor 14C, the projection unit 15C, and the camera 20C have configurations similar to the above-described tilt motor 13B, pan motor 14B, projection unit 15B, and camera 20B, and thus description thereof will be described.
The information processing device 30 is configured as a personal computer, a dedicated device, or the like. The information processing device 30 includes a control unit 31, an I/F unit 32, and a storage unit 33.
The control unit 31 is a central control device (a processing device) that performs control of an operation of each unit or various kinds of calculation processing. The control unit 31 is configured with a processor such as a central processing unit (CPU).
The I/F unit 32 is an interface with the projectors 10A to 10C and is configured with a communication module, an input/output terminal, or the like.
The I/F unit 32 outputs a control signal or video data input from the control unit 31 to the projectors 10A to 10C. The I/F unit 32 outputs data such as sensor data, captured image data, and angle data input from the projectors 10A to 10C to the control unit 31.
The storage unit 33 is an auxiliary storage device such as a semiconductor memory or a hard disk drive (HDD) and is configured as an internal storage or an external storage.
The storage unit 33 stores various kinds of data under the control of the control unit 31. The control unit 31 reads and processes various kinds of data stored in the storage unit 33.
The control unit 31 includes a video generation unit 41, a pen event management unit 42, a pointing detection unit 43, a correction table generation unit 44, a coordinate system transformation unit 45, and a self-position estimation unit 46.
The video generation unit 41 generates video data and supplies the video data to the I/F unit 32 The video data includes data related to a video which is projected to the projection areas by the projectors 10A to 10C.
The pen event management unit 42 manages an event related to the pen type device 50 manipulated with a hand of a user.
The pointing detection unit 43 detects a position on the projection area based on data such as captured image data input to the pointing detection unit 43 and supplies the detection result to the correction table generation unit 44 and the coordinate system transformation unit 45.
The correction table generation unit 44 generates a correction table storing the relative position information based on the detection result supplied from the pointing detection unit 43 or various kinds of data stored in the storage unit 33. The correction table is stored in the storage unit 33.
The coordinate system transformation unit 45 generates homographic transformation matrices of the camera coordinate system and the projector coordinate system based on the detection result supplied from the pointing detection unit 43 and the various kinds of data stored in the storage unit 33. The homographic transformation matrices are stored in the storage unit 33.
The pointing detection unit 43 may supply the detection result to the video generation unit 41 and the video generation unit 41 may perform processing related to a video in accordance with the detection result.
The self-position estimation unit 46 estimates positions, postures, and the like of the drive type projectors 10B and 10C based on data such as angle data input to the self-position estimation unit 46. Information (information regarding a tilt angle and a pan angle) regarding the estimation of the position and the like is stored in the correction table stored in the storage unit 33.
The control unit 31 performs control such that coordinates of the projection areas of the plurality of projectors 10 are transformed using the relative position information or the like stored in the correction table read from the storage unit 33 and videos are projected to the projection areas using the transformed coordinates.
In the example of
Video data of a video projected by each of the projectors 10A to 10C is not limited to the video data input via the information processing device 30. For example, video data input directly to each processor or input via another device may be input.
The processing is performed by the control unit 31 of the information processing device 30 during calibration when the fixed type projector 10A, the drive type projector 10B, and the like are provided as the plurality of projectors 10 included in the projection system.
The control unit 31 causes the drive type projector 10B serving as a moving projector to project a video in any direction and acquires a pan angle and a tilt angle (S11 and S12). The control unit 31 causes the fixed type projector 10A to project a video in any direction (S13).
Thus, the feature point PA is displayed in the projection area 100A and the feature point PB is displayed in the projection area 100B on the screen. When the processing of steps S12 and S13 ends, the processing proceeds to step S14.
The control unit 31 detects a trajectory drawn in a unicursal line via all the feature points P (PA1 to PA4) on the manipulation target projection area through a pen manipulation of the user based on the captured image data (S14). The control unit 31 determines whether all the feature points P (PA1 to PA4) on the manipulation target projection area have been passed based on a detection result of the trajectory (S15).
When it is determined in the determination processing of step S15 that all the feature points P on the manipulation projection target projection area 100 have been passed, the processing proceeds to step S16. The control unit 31 generates a homographic transformation matrix of the manipulation target projection area based on the detection result of the manipulation target projection area (S16).
The control unit 31 determines whether the manipulation target projection area is a projection area subsequent to the second projection area (S17). When it is determined in the determination processing of step S17 that the manipulation target projection area is not the projection area subsequent to the second projection area, that is, the first projection area (for example, the projection area 100A), the processing of steps S18 and S19 is skipped.
Conversely, when it is determined in the determination processing of step S17 that the manipulation target projection area is the projection area subsequent to the second projection area (for example, the projection area 100B), the process proceeds to step S18.
The control unit 31 transforms, for example, the end point Pa which is a boundary point of the projection area 100 before the transition and an end point Pb serving as a boundary point of the projection area 100B after the transition from the camera coordinate system to the projector coordinate system using the homographic transformation matrix of the manipulation target projection area (S18).
The control unit 31 calculates relative positions between two projection areas 100A and 100B using the end point Pa before the transition and the end point Pb after the transition transformed to the projector coordinate system (S19). The relative positions calculated here are stored as the relative position information (θAB, Δy) in the storage unit 33.
For example, as described with reference to
When the processing of step S19 ends, the processing proceeds to step S20. The control unit 31 determines whether the boundaries of the projection areas such as the boundaries of the projection areas 100A and 100B have been passed based on the detection result of the trajectory (S20).
When it is determined in the determination processing of step S20 that the boundaries of the projection areas have been passed, the processing proceeds to step S21. For example, the control unit 31 stores the end point Pa of the projection area 100A before the transition and an end point Pb of the projection area 100B after the transition in the camera coordinate system in the storage unit 33 (S21).
Thereafter, the processing returns to step S14. When there is the projection area (for example, the projection area 100C) subsequent to the third projection area, the relative position between the projection areas (the projection areas 100B and 100C) is calculated and stored as relative position information (θBC, Δy) with regard to the projection area subsequent to the third projection area.
When it is determined in the determination processing of step S20 that the boundaries of the projection areas have not been passed, the processing proceeds to step S22. The control unit 31 determines whether the pen point of the pen type device 50 is raised from the screen based on the detection result of the trajectory (S22).
When it is determined in the determination processing of step S22 that the pen point is not raised from the screen, the processing returns to step S20 and the above-described processing is repeated. Conversely, when it is determined in the determination processing of step S22 that the pen point is up from the screen, the processing ends.
The flow of the processing of the calibration phase has been described.
The processing is performed by the control unit 31 of the information processing device 30 at the time of execution of the application after completion of the calibration when the fixed type projector 10A, the drive type projector 10B, and the like are provided as the plurality of projectors 10 included in the projection system.
The control unit 31 determines whether coordinates are in the boundaries of the projection areas when videos are projected by the plurality of projectors 10 (S51).
When it is determined in the determination processing of step S51 that the coordinates are in the boundaries of the projection areas, the processing proceeds to step S52.
The control unit 31 transforms the coordinates of the boundaries of the projection areas using the relative position information (θ, Δy) or the like stored in the correction table read from the storage unit 33 (S52). The control unit 31 controls the projectors 10 such that the videos are projected to the projection areas using the transformed coordinates (S53).
For example, as described with reference to
When it is determined in the determination processing of step S51 that the coordinates are not in the boundaries of the projection areas, the processing of steps S52 and S53 is skipped.
The flow of the processing of the application phase has been described above.
According to the present technology, as described above, a manipulation of a user on a designator projected to a projection area of each of a plurality of projection devices is detected and relative position information regarding relative positions of the plurality of projection areas is generated based on a detection result. According to the present technology, video are projected to the plurality of corresponding projection areas by the plurality of projection devices based on the relative position information.
That is, according to the present technology, the geometric correction (trapezoidal correction) of each projector is performed in a unicursal line using the pen type device and a relative position relation between projection areas of a plurality of projectors is also calibrated simply as preliminary calibration processing.
According to the present technology, it is possible to correspond to a video of a character making independent animation display and further reduce a load of calculation cost while performing an application by storing the relative position information during the calibration. Therefore, it is possible to implement the video projection using the plurality of projection devices more reliably.
In the above description, the information processing device 30 is provided in the projection system and the information processing device 30 (the control unit 31 of the information processing device 30) performs the processing of the calibration phase and the processing of the application phase, as described above. One of the plurality of projectors 10 may have functions (some or all of the functions) of the information processing device 30, and the projector 10 may perform the processing of the calibration phase and the processing of the application phase.
The number of projectors 10 performing the processing of the calibration phase and the processing of the application phase is not limited to one. The plurality of projectors 10 may perform the processing in cooperation.
In the above description, the pen manipulation performed using the pen type device 50 has been exemplified as a manipulation of the user on the feature points of the projection areas. However, the present technology is not limited to a pen manipulation. For example, a finger of the user, another instrument, or the like may be used.
In the present specification, the video data is configured from a plurality of pieces of image data. A “video” may also be read an “image.”
The series of steps of processing of the above-described information processing device 30 can be performed by hardware or software. When the series of steps of processing is performed by software, a program of the software is installed in a computer of each device.
In the computer, a central processing unit (CPU) 1001, a read-only memory (ROM) 1002, a random access memory (RAM) 1003 are connected to each other via a bus 1004. An input/output interface 1005 is further connected to the bus 1004. An input unit 1006, an output unit 1007, a recording unit 1008, a communication unit 1009, and a drive 1010 are connected to the input/output interface 1005.
The input unit 1006 is configured with a microphone, a keyboard, a mouse, or the like. The output unit 1007 is configured with a speaker, a display, or the like. The recording unit 1008 is configured with a hard disc, a nonvolatile memory, or the like. The communication unit 1009 is configured with a network interface or the like. The drive 1010 configures a removable recording medium 1011 such as a magnetic disk, an optical disc, a magneto-optical disc, or a semiconductor memory.
In the computer that has the foregoing configuration, the CPU 1001 performs the above-described series of steps of processing by loading a program recorded in the ROM 1002 or the recording unit 1008 in the RAM 1003 via the input/output interface 1005 and the bus 1004 and executing the program.
A program which is executed by the computer (the CPU 1001) can be recorded on, for example, the removable recording medium 1011 serving as a package medium for supply. The program can be supplied via a wired or wireless transfer medium such as a local area network, the Internet, or digital satellite broadcasting.
In the computer, a program can be installed in the recording unit 1008 via the input/output interface 1005 by mounting the drive 1010 on the removable recording medium 1011. The program can be received by the communication unit 1009 via a wired or wireless transfer medium and can be installed in the recording unit 1008. In addition, the program can be installed in advance in the ROM 1002 o the recording unit 1008.
Here, in the present specification, processing performed by the computer in accordance with the program may not necessarily be performed chronologically in the order described in the flowchart. That is, processing executed by the computer in accordance with the program also includes processing performed in parallel or individually (for example, parallel processing or processing by an object).
The program may be processed by one computer (processor) or may be distributed and processed by a plurality of computers. Further, the program may be transferred and executed by a computer located separated from each other.
Further, in the present specification, a system means a set of a plurality of constituent elements (devices, modules (components), or the like) and it does not matter whether all the constituent elements are contained in the same casing. Accordingly, a plurality of devices accommodated in separate casings and connected via a network and one device in which a plurality of modules are accommodated in one casing are all a system.
Embodiments of the present technology are not limited to the above-described embodiments and can be modified in various forms within the scope of the present technology without departing from the gist of the present technology. For example, the present technology can have a cloud computing configuration in which one function is distributed and processed in common via a network by a plurality of devices.
The steps described above in the above-described flowchart can be executed by one device and can also be distributed and performed by a plurality of devices. Further, when a plurality of steps of processing are included in one step, the plurality of steps of processing in the one step can be executed by one device and can also be distributed and performed by a plurality of devices.
The advantageous effects described in the present specification are merely exemplary and are not limited, and other advantageous effects may be achieved.
The present technology can be configured as follows.
(1) An information processing device including:
(2) The information processing device according to (1), wherein the control unit causes the plurality of projection devices to project videos to the plurality of corresponding projection areas based on the relative position information.
(3) The information processing device according to (1) or (2), wherein the relative position information includes information regarding a rotational angle between adjacent first and second projection areas and a shift amount in a vertical direction.
(4) The information processing device according to (3), wherein the first and second projection areas enter one of a state in which at least partial regions of the first and second projection areas overlap, a state in which boundaries of the first and second projection areas are in contact with each other, and a state in which the first and second projection areas are separate.
(5) The information processing device according to (4), wherein, in the state in which at least the partial regions of the first and second projection areas overlap, the control unit calculates the rotational angle and the shift amount using a line segment which is detectable together and is shared between the first and second projection areas.
(6) The information processing device according to (4), wherein, in the state in which the boundaries of the first and second projection areas are in contact with each other, the control unit calculates the rotational angle and the shift amount using points before and after points of boundaries which are detectable together in the first and second projection areas and a line segment obtained from the points.
(7) The information processing device according to (4), wherein, in the state in which the first and second projection areas are separate, the control unit calculates the rotational angle and the shift amount using points before and after points of boundaries which are detectable individually in the first and second projection areas and a line segment obtained from the points.
(8) The information processing device according to any one of (1) to (7), wherein the control unit
(9) The information processing device according to (8),
(10) The information processing device according to (9), wherein the control unit acquires a distance between the drive type projection device to a projection surface, and
(11) The information processing device according to (9), wherein the control unit drives the drive type projection device and sets the plurality of projection areas as the same location.
(12) The information processing device according to any one of (1) to (11), wherein the control unit suggests support information for supporting the manipulation of the user on the designator.
(13) The information processing device according to (12), wherein the support information includes information indicating a sequence of a manipulation on a designator, animation display of a manipulation target designator, emphasis display of a manipulation target designator, or guide display of a manipulation on a designator.
(14) The information processing device according to (12) or (13), wherein the support information includes information for prompting the user to perform the manipulation again with regard to a projection area in which processing for generating the relative position information fails among the plurality of projection areas.
(15) The information processing device according to any one of (12) to (14), wherein, as the manipulation of the user, the control unit detects a unicursal manipulation on the designator using an indicator.
(16) The information processing device according to (3), wherein the control unit projects the video in accordance with coordinates calculated using the rotational angle and the shift amount in boundaries of the first and second projection areas.
(17) The information processing device according to (16), wherein the video includes a video of a character making independent animation display.
(18) The information processing device according to any one of (1) to (17), wherein the plurality of projection devices include at least one type of projection device between a fixed type projection device and a drive type projection device.
(19) The information processing device according to any one of (1) to (18), wherein the information processing device is configured as one of the plurality of projection devices and an external device.
(20) An information processing method of causing an information processing device: to detect a manipulation of a user on a designator projected to a projection area of each of a plurality of projection devices and generate relative position information regarding relative positions of the plurality of projection areas based on a detection result.
10, 10A, 10B, 10C Projector
11A, 11B, 11C I/F unit
12A IMU
13B, 13C Tilt motor
14B, 14C Pan motor
15A, 15B, 15C Projection unit
20, 20A, 20B, 20C Camera
30 Information processing device
31 Control unit
32 I/F unit
33 Storage unit
41 Video generation unit
42 Pen event management unit
43 Pointing detection unit
44 Correction table generation unit
45 Coordinate system transformation unit
46 Self-position estimation unit
50 Pen type device
Number | Date | Country | Kind |
---|---|---|---|
2019-237874 | Dec 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/046457 | 12/14/2020 | WO |