WO2014010812A1 - 비디오 검색을 위한 블록 생성 방법 및 이를 통해 생성된 블록을 기초로 한 질의 처리 방법 - Google Patents
비디오 검색을 위한 블록 생성 방법 및 이를 통해 생성된 블록을 기초로 한 질의 처리 방법 Download PDFInfo
- Publication number
- WO2014010812A1 WO2014010812A1 PCT/KR2013/001946 KR2013001946W WO2014010812A1 WO 2014010812 A1 WO2014010812 A1 WO 2014010812A1 KR 2013001946 W KR2013001946 W KR 2013001946W WO 2014010812 A1 WO2014010812 A1 WO 2014010812A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- frame
- block
- unit
- query
- tilt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/732—Query formulation
- G06F16/7328—Query by example, e.g. a complete video frame or video sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4722—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
Definitions
- the present invention relates to a block generation and query processing technique for video retrieval, and more particularly, to a block generation and query processing technique for generating a block based on spatial information of a video and generating a block for video retrieval for processing a query based on the generated block And a query processing method based on a block generated by the method.
- search engines typically search for videos based on text information such as video titles, captions embedded in the video, and the like. Such a search engine retrieves video based only on the text information of the video, so that the user can not retrieve the desired video accurately.
- An object of the present invention is to provide a method for generating a block for video retrieval for generating a block based on spatial information of frames constituting a video.
- a method of detecting a frame including detecting a reference frame in which at least one of position information and direction information, which is spatial information of a frame, And generating a tilt block including a plurality of frames based on the reference frame.
- the step of detecting the reference frame may include the steps of generating a regression line based on the start frame and the end frame among the frames constituting the video, selecting any of the frames on the regression line having the same time information as the arbitrary frame constituting the video Selecting a point, calculating a distance between any point on the regression line and any frame, and, if the calculated distance is greater than a predefined reference distance, determining a frame as a reference frame .
- the step of detecting the reference frame may include calculating an intermediate value of the direction information based on the direction information of the frames constituting the video, and calculating an intermediate value of the direction information of the arbitrary frame, If the difference is greater than a predefined reference value, determining a frame as a reference frame.
- the step of generating the tilt block may include classifying frames constituting a video into at least two groups on the basis of a reference frame and frames constituting the group, And generating a tilt block in parallel with a line formed by the end frame.
- a video signal processing apparatus including a detection unit detecting a reference frame in which at least one of position information and direction information, which is spatial information of a frame, And a generation unit that generates a tilt block including a plurality of frames based on the reference frame, wherein the generation unit generates the tilt block such that the tilt block is parallel to a line formed by a start frame and an end frame of the plurality of frames.
- a method for searching a tilt block comprising: extracting a tilt block corresponding to a query from among tilt blocks including a plurality of frames constituting a video; Extracting two unit blocks corresponding to the query based on the distance between the start frame and the query constituting the extracted tilt block among the unit blocks including the frame and extracting two unit blocks corresponding to the extracted two unit blocks, And extracting a unit block including a frame corresponding to the query based on position information of a frame included in an arbitrary unit block among the unit blocks, wherein the tilt block includes a start frame and an end frame constituting a tilt block, Are formed parallel to the lines forming the line.
- the step of extracting the tilt block corresponding to the query may include detecting the threshold points at which the range query and the tilt blocks overlap when the query is the range query, and may include the threshold points among the tilt blocks.
- the extracting of the two unit blocks may include extracting a first unit block corresponding to a threshold point closest to a start frame among the frames constituting the extracted tilt block, The second unit block corresponding to the critical point can be extracted.
- the step of extracting a unit block including a frame corresponding to the query may include extracting a first unit block, a second unit block, and a unit block located between the first unit block and the second unit block , And may include a frame corresponding to the range query based on position information of a frame included in an arbitrary unit block.
- a tilt block including a first extracting unit for extracting a tilt block corresponding to a query from among tilt blocks including a plurality of frames constituting a video, A second extracting unit for extracting two unit blocks corresponding to the query based on the distance between the start frame and the query constituting the extracted tilt block among the unit blocks including each frame, And a third extracting unit for extracting a unit block including a frame corresponding to the query based on position information of a frame included in an arbitrary unit block among unit blocks located between the unit blocks, Is formed so as to be parallel to the line formed by the start frame and the end frame constituting the frame.
- a tilt block can be generated based on position information and direction information of a linearly changing frame, and by processing a query based on the tilt block, a smaller amount Of memory can be used to process the same amount of queries and less time is spent processing the same amount of queries.
- 1 is a conceptual diagram showing spatial information of a video frame.
- FIG. 2 is a conceptual diagram showing a block including a plurality of frames.
- the present invention relates to a method for generating a block for a video search
- FIG. 5 is a conceptual diagram showing a process of detecting a reference frame.
- FIG. 6 is a conceptual diagram illustrating a process of generating a tilt block.
- FIG. 7 is a block diagram illustrating a block generation apparatus for video retrieval according to an embodiment of the present invention.
- FIG. 8 is a flowchart illustrating a query processing method according to an embodiment of the present invention.
- FIG. 9 is a conceptual diagram showing a process of extracting a frame corresponding to a query.
- FIG. 10 is a block diagram showing a query processing apparatus according to an embodiment of the present invention.
- 11 is a graph comparing performance of a query processing method according to a data size.
- FIG. 12 is a graph showing the performance of a query processing method according to a change in parameters.
- first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
- the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
- / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
- a video includes a plurality of frames
- a start frame refers to a frame located at a starting point of frames constituting a video
- an end frame refers to a frame Frame
- the frame can be expressed as a sector having spatial information on two dimensions.
- a unit block refers to a rectangular block including one frame
- a tilt block refers to a square block including a plurality of frames
- a tilt block can be represented by a slanted square block.
- a unit block may mean Expected-MBR (Minimum Bounding Rectangle)
- a tilt block may mean MB T R (Minimum Bounding Tilted Rectangle).
- 1 is a conceptual diagram showing spatial information of a video frame.
- spatial information of a video frame in two dimensions includes position information (P) of a camera that photographed a frame, direction information The viewing angle information? Of the camera, and the viewing distance information R of the camera.
- spatial information of a video frame in three dimensions includes position information (P) of a camera that photographed a frame, direction information The horizontal viewing angle information? Of the camera, the vertical viewing angle information? Of the camera, and the view range information R of the camera.
- the position information P of the camera can be obtained through a GPS (Global Positioning System) sensor included in the camera, and the position information P can be expressed by latitude and longitude.
- Camera orientation information Can be acquired through a compass included in the camera, and can be obtained by the viewing angle information (?) Of the camera of FIG. 1 (a), the horizontal viewing angle information (?) Of the camera of FIG. )
- the camera's view distance information R can be obtained through the characteristics of the camera lens and the zoom level. If the fixed lens is used, the viewing angle information? Of the camera of FIG. 1, the horizontal viewing angle information? Of the camera of FIG. 1B and the vertical viewing angle information? Of the camera, The information R has a fixed value.
- FIG. 2 is a conceptual diagram showing a block including a plurality of frames.
- FIG. 2 (a) is a conceptual diagram illustrating a block 60 generated according to a conventional minimum bounding rectangle (MBR) method.
- FIG. 2 (b) is a diagram illustrating a tilt block 70 generated according to an embodiment of the present invention.
- each frame 50 may be located on a coordinate axis indicating latitude and longitude, and each frame 50 may be positioned on the coordinate axis according to the generated time.
- the frame 50 can be expressed as a sector, the angular point of the sector means the position of the camera that photographed the frame 50, and the angle formed by both sides of the corner 50 is the angle of the camera 50
- the direction of the line extending from the vertex to the center point of the arc of the arc means the direction of the camera that photographed the frame 50 and the length of one side of the frame is the length of the field of view .
- the block 60 of FIG. 2 (a) and the tilt block 70 of FIG. 2 (b) include the same frames 50,
- the size of the block 60 of FIG. 2B is much larger than the size of the tilt block 70 of FIG. 2B.
- a circle indicates the query 80, and since the query 80 in FIG. 2 (a) is included in the block 60, the block 60 corresponding to the query 80 is detected However, since the query 80 is not included in the frame 50 included in the block 60, the detected block 60 corresponds to the erroneously detected block 60.
- the vaginal 80 since the vaginal 80 is not included in the tilt block 70, the corresponding tilt block 70 is not detected according to the query 80.
- FIG. 3 is a flowchart illustrating a method of generating a block for video search according to an exemplary embodiment of the present invention.
- FIG. 4 is a flowchart illustrating a method of searching for video according to an exemplary embodiment of the present invention.
- the block generating apparatus can detect a reference frame in which at least one of position information and direction information, which is spatial information of a frame, constituting a video, varies non-linearly (S100 , S200).
- step S100 is a process of detecting a reference frame based on frame position information
- step S100 may include steps S110, S120, S130, and S140.
- step S200 is a process of detecting a reference frame based on frame direction information, and step S200 may include step S210 and step S220.
- FIG. 5 is a conceptual diagram showing a process of detecting a reference frame.
- a circle means a frame
- F s indicates the start frame
- F e refers to the end frame
- F i indicates any frame of the video frame and
- F i 'is started Means any point located on the regression line formed by the frame and the end frame, and any point has the same time information as any frame ( Fi ).
- Direction information, viewing angle information, and viewing distance information of the start frame F s respectively, Direction information, viewing angle information, and viewing distance information of the end frame F e , respectively, Direction information, viewing angle information, and viewing distance information of an arbitrary frame F i , respectively, Direction information, viewing angle information, and viewing distance information of an arbitrary point F i ', respectively.
- the block generation device generates a video signal based on a start frame (F s ) and an end frame (F e ) (S110). That is, the block generating apparatus connects the start frame (F s ) and the end frame (F e ) Can be generated.
- the block generating apparatus can select any point F i 'on the regression line having the same time information as the arbitrary frame F i constituting the video (S120).
- Block generation apparatus under any point corresponding to the "Equation 1" through “Location (P i of a) a can be calculated, (P i '), the calculated position information with a random point (F i), (F i ') can be selected.
- t s is the time information of the start frame (F s)
- t e is the time information of the end frame (F e)
- t i is the time information of any frame (F i)
- P s is the start frame (F s )
- P e is position information of the end frame (F e )
- P i ' is position information of an arbitrary point (F i ') on the regression line.
- F, FOVstream means a group of containing a plurality of frames
- F s indicates the start frame of the plurality of frames
- t s indicates the time information of the start frame
- P s is the start frame
- F e denotes the end frame of the plurality of frames
- t e denotes the time information of the end frame
- P e denotes the position information of the end frame
- F i denotes the position information of the plurality of frames It means any frame
- t i refers to the time information of the end frame
- the line of the algorithm shown in Table 15-8 refers to the "equation 1".
- the block generating device selects the arbitrary point F i 'on the regression line
- the distance between an arbitrary point F i 'and an arbitrary frame F i can be calculated (S 130).
- the block generating apparatus generates the regression line ) ≪ / RTI > ) Point (F i a ') position information (P i') of the information based on location (P i) of any frame (F i), the regression line ( The distance between an arbitrary point F i 'on the frame F i and an arbitrary frame F i can be calculated
- the block generating device calculates an arbitrary frame (F i ) in a case where the calculated distance is larger than a predefined reference distance It can be determined as a reference frame (S140). On the other hand, if the calculated distance is less than or equal to the predefined reference distance, all steps can be ended, or steps S120 and S130 can be performed again.
- An algorithm for detecting a reference frame in which position information changes non-linearly based on the position information of a video frame can be represented as shown in Table 2 below.
- F and FOV stream represent a group of frames including a plurality of frames
- s represents an index of a starting frame among a plurality of frames
- e represents an index of an ending frame among a plurality of frames
- MarkupFOVScene denotes a reference frame.
- Lines 6 to 7 of the algorithm shown in Table 2 show that the regression line ( Based on the positional information P i 'of an arbitrary point F i ' on the frame F i and the positional information P i of an arbitrary frame F i on a regression line (F i ') on the frame (F i ) and an arbitrary frame (F i ).
- Lines 8 to 10 of the algorithm shown in Table 2 indicate that the calculated regression line ( (F i ') and an arbitrary frame (F i ) on the frame (F i ').
- Lines 13-19 of the algorithm shown in Table 2 indicate that the calculated distance is less than a predefined reference distance ), It is determined that an arbitrary frame F i is determined as a reference frame.
- the block generating apparatus may calculate an intermediate value of the direction information based on the direction information of the frames constituting the video (S210).
- the block generating apparatus may calculate an intermediate value based on frames located within a predetermined time range. At this time, among the direction information of the frame positioned within a predetermined time range, the minimum direction information (i.e., x Axis direction) and maximum direction information (that is, direction information in which the angle formed by the predetermined axis (for example, the x-axis) is maximum) can be calculated as an intermediate value.
- the block generator may determine a frame as a reference frame when the difference between the direction information and the intermediate value of an arbitrary frame among the frames constituting the video is larger than a predetermined reference value ( S220). On the other hand, if the difference between the direction information of an arbitrary frame and the intermediate value is smaller than or equal to a predefined reference value, all steps can be terminated or step S220 can be performed based on another arbitrary frame.
- Table 3 shows an algorithm for detecting a reference frame in which direction information changes nonlinearly based on direction information of frames constituting a video.
- F and FOV stream represent a group of frames including a plurality of frames
- s represents an index of a starting frame among a plurality of frames
- e represents an index of an ending frame among a plurality of frames
- Quot means a predefined reference value, Quot; means an intermediate value.
- Lines 5 to 7 of the algorithm shown in Table 3 indicate that the intermediate values are calculated, and lines 8 to 15 of the algorithm shown in Table 3 indicate that arbitrary Frame is determined as a reference frame.
- the block generating apparatus can generate a tilt block using the detected reference frame in step S100 and generate a tilt block using the detected reference frame in step S200, And a tilt block can be generated using a common reference frame among the reference frames detected through step S200. If the reference frame detected through step S100 and the reference frame detected through step S200 are both ' Can be used.
- F and FOV stream represent a group of frames including a plurality of frames, Quot; refers to a predefined reference distance, Refers to a predefined reference value, and, S 1; means a group of the reference frame detected by the step S100
- S 2 denotes a group of the reference frame detected by the step S200.
- the block generating apparatus can generate tilt blocks including a plurality of frames based on the detected reference frame (S200).
- the block generator may classify the frames constituting the video with reference to the reference frame into at least two groups (S210). For example, in FIG. 5, when the frame F i is determined as the reference frame, the frames located between the start frame F s , the reference frame F i , and the start frame F s and the reference frame F i , can be classified into groups, it is possible to classify the reference frame (F i), the end frame (F e) and the reference frame (F i) and an end frame (F e) a frame located between the other of the groups.
- the block generating apparatus After dividing the frames into at least two groups on the basis of the reference frame, the block generating apparatus includes frames constituting the group, and a tilt block parallel to the line formed by the start frame and the end frame among the frames constituting the group (S220).
- the start frame of a group of F s and the end frame may include a frame positioned between Since F i, F s and F i, and generates a tilt block parallel lines to the F s and F i formed have.
- the start frame of the other of the groups F i and an end frame may include a frame positioned between Since F e, F i and F e, and generates a tilt block line parallel to the F i and F e is formed. That is, the block generator can generate a tilt block based on the adjacent frame of the start frame, the end frame, and the reference frame.
- FIG. 6 is a conceptual diagram illustrating a process of generating a tilt block.
- FIG. 6 shows frames 50 having the same position information (i.e., latitude information) but different direction information
- Fig. 6 shows frames 50 shown in Fig. 6
- Fig. 6 shows a unit block 71 including one frame 50
- Fig. 6 (d) shows a case where a plurality of frames 50 are included
- the angle of the frame 50 shown in Fig. 6 (b) is'? (Viewing angle information of one frame 50 shown in Fig. 6 (a)) + 2 (A predefined reference value (i.e., direction information error)) '. this is The direction information of the frame 50 included in the tilt block 70 shown in Fig. 6 (d) ). ≪ / RTI >
- the unit block 71 for one frame 50 can be represented as shown in FIG. 6C, and the tilt block 70 including a plurality of frames 50 can be represented by extending the unit block 71.
- r left ', r right ', r forward ', and r back ' indicate the number of blocks in the unit block 71 in the position of the frame 50 included in the unit block 71 71).
- the tilt block 70 is generated so as to be parallel to the line formed by the start frame P s and the end frame P e .
- all the unit blocks 71 included in the tilt block 70 have the same size (i.e., r left ', r right ', r forward ', and r back ' are the same) and linear position information change. Therefore, the parameters (e.g., r left ', r right ', r forward ', r back ') of one unit block 71 included in the tilt block 70 Information on the tilt block 70, and orientation information).
- the index of the tilt block can be represented as shown in Table 5 below.
- P s indicates the position information of the start frame of the tilting block
- P e refers to the position information of the end frame of the tilting block
- r left, r right, r forward, r back is tilted in the start frame position The distance to the boundary of the block.
- FIG. 7 is a block diagram illustrating a block generation apparatus for video retrieval according to an embodiment of the present invention.
- the block generator 10 may include a reference frame detector 11 and a tilt block generator 12.
- the reference frame detecting unit 11 can detect a reference frame in which at least one of position information and direction information, which is spatial information of a frame, among the frames constituting a video changes non-linearly.
- the reference frame detecting section 11 generates a regression line based on the start frame and the end frame among the frames constituting the video, and generates an arbitrary point on the regression line having the same time information as the arbitrary frame constituting the video And a distance between any point on the regression line and an arbitrary frame is calculated. If the calculated distance is larger than a predetermined reference distance, an arbitrary frame can be determined as a reference frame.
- the specific method of determining the reference frame by the reference frame detecting unit 11 is the same as that described in step S100.
- the reference frame detecting unit 11 calculates an intermediate value of the direction information based on the direction information of the frames constituting the video and detects the difference between the direction information and the intermediate value of an arbitrary frame among the frames constituting the video, If it is larger than the defined reference value, any frame can be determined as the reference frame.
- the specific method of determining the reference frame by the reference frame detecting unit 11 is the same as that described in step S200.
- the tilt block generating unit 12 may generate a tilt block including a plurality of frames based on the reference frame detected by the reference frame detecting unit 11.
- the tilt block generating unit 12 classifies the frames constituting the video into at least two groups based on the reference frame, and includes the frames constituting the group, the start frame of the frames constituting the group, It is possible to generate a tilt block parallel to the line formed by the end frame.
- the concrete method of generating the tilt block by the tilt block generating unit 12 is the same as that described in step S300.
- the functions performed by the reference frame detecting unit 11 and the tilt block generating unit 12 may be performed by any processor (for example, a CPU, a GPU, or the like), and each step shown in FIGS. May be performed in any processor.
- reference frame detecting unit 11 and the tilt block generating unit 12 may be implemented as one single type, one physical device, or one module. In addition to this, the reference frame detecting unit 11 and the tilt block generating unit 12 may be implemented as a plurality of physical devices or groups, respectively, rather than one physical device or group.
- FIG. 8 is a flowchart illustrating a query processing method according to an embodiment of the present invention.
- the query processing apparatus can extract a tilt block corresponding to a query from tilt blocks of video (S400).
- the query requests the provision of a frame having specific location information, and may include location information of a frame to be provided.
- the tilt block corresponding to the query among the tilt blocks of the video can be extracted.
- the tilt block corresponding to the query can be extracted based on the index.
- the tilt block is generated by the block generation method for video search described above, and the tilt block is generated so as to be parallel to the line formed by the start frame and the end frame that constitute the tilt block.
- the query processing apparatus determines whether or not the extracted tilt block corresponds to the query based on the distance between the query and the start frame constituting the extracted tilt block among the unit blocks including each frame constituting the extracted tilt block (S500). ≪ / RTI >
- the query processing device After extracting the two unit blocks, the query processing device extracts the frame corresponding to the query based on the position information of the frame included in the arbitrary unit block among the two unit blocks and the unit blocks located between the two unit blocks (S600). ≪ / RTI >
- the query processing apparatus can extract the tilt block corresponding to the query by applying different methods according to the kind of the query (point query, range query), and extracts the tilt block constituting the extracted tilt block Two unit blocks corresponding to the query among the unit blocks including the frame of the query can be extracted and a unit block including the frame corresponding to the query can be extracted.
- the point query corresponds to the tilt block extracted in step S400 and the tilt block includes a plurality of frames
- some frames included in a tilt block are scanned to extract a frame corresponding to the point query.
- FIG. 9 is a conceptual diagram showing a process of extracting a frame corresponding to a query.
- a block indicated by a dotted line indicates a tilt block 70
- a block shown in gray indicates a unit block 71
- a triangle indicates a point query 80.
- the tilt block 70 may include a plurality of unit blocks 71.
- a point query 80 is positioned inside a tilt block 70, and the point query 80 includes a unit block 71 including a start frame and a unit block 71 ).
- the unit block 71 including the frame having the position information P i and the unit block 71 including the frame having the position information P j may correspond to the point query 80.
- the tilt block 70 may be represented as a continuous group of unit blocks 71 and a plurality of unit blocks 71 corresponding to the point query 80 may exist.
- the first frame on the time axis can be calculated through Equation (2) below and the last frame can be calculated through Equation (3) below (S500).
- i, j are the numbers of frames included in the tilt block 70, and the frame numbers are sequentially indicated from the start frame.
- the tilt block 70 includes 10 frames
- the number of the start frame is 1 and the number of the end frame is 10.
- n is the total number of frames included in the tilt block 70
- l is the length of the line formed by the start frame and the end frame of the tilt block 70
- D is the length of the tilt block 70 from the start frame of the tilt block 70 70 and the point query 80 projected on a line formed by the end frame
- r forward and r back are the indexes of the tilt blocks described in Table 5 above.
- the position information of the kth frame is P k ', And P k ' (P) of the tilt block 70, s ) And an end frame (P e ), And P k ' The start frame P s ) And an end frame (P e Can be moved along a line formed by the line.
- P k ' Th frame to the boundary of the unit block 71 including the k-th frame is r left , r right , r forward , r back .
- the point query 80 includes a start frame P s ) And an end frame (P e ) From the line left Or r right It is possible to extract the frame corresponding to the point query 80, forward , r back Can be considered.
- the location of the unit block (71) comprising a (P k ') to the front at r forward, located in the r back to the rear can do.
- Equation (4) can be defined below, and the kth frame satisfying Equation (4) below can be regarded as corresponding to the point query (80).
- n is the total number of frames included in the tilt block
- 1 is the length of the line formed by the start frame and the end frame of the tilt block
- D is the start frame of the tilt block
- K is the number of arbitrary frames constituting the tilt block
- r forward and r back are the indexes of the tilt blocks described in Table 5 above.
- the query processing apparatus can extract the frame corresponding to the point query using Equation (4) (S600).
- P s denotes the position information of the start frame
- P e denotes the position information of the end frame
- q denotes the point query
- n denotes the number of frames included in the tilt block
- r stands for the distance between the start frame position information and the end frame position information
- r left , r right , r forward , and r back mean the index of the tilt block
- B denotes the boundary of the tilt block.
- Lines 8 to 20 of the algorithm shown in Table 6 indicate extraction of a unit block including a frame corresponding to the point query described with reference to Equations (2), (3) and (4).
- a range query is a request for a frame having specific position information.
- the range query may include a plurality of position information of a frame to be provided.
- the range query has a plurality of position information, and thus can be represented by a convex polygon.
- the query processing apparatus can extract a critical point at which the tilt block overlaps with the range query.
- the critical point is defined as a point at which the edge of the tilt block crosses the edge of the range query, a vertex of the range query located inside the tilt block, and a vertex of the tilt block located inside the range query.
- the query processing apparatus can extract a tilt block having a critical point in the tilt block as a tilt block corresponding to the range query (S400).
- the query processing device can calculate the unit block including the first frame on the time axis among the plurality of unit blocks corresponding to the range query through Equation (5) below , A unit block including the last frame on the time axis among a plurality of unit blocks corresponding to the range query can be calculated through Equation (6) below (S500).
- i and j are the numbers of the frames included in the tilt block, and the frame numbers are sequentially indicated from the start frame.
- the tilt block includes 10 frames
- the number of the start frame is 1
- the number of the end frame is 10.
- n is the total number of frames included in the tilt block
- l is the length of the line formed by the start frame and the end frame of the tilt block
- D min is the distance between the critical point, which is closest to the start frame
- D max is the length between the most present in the position far from the critical point
- forward r, r is an index of back tilt block described with reference to Table 5.
- a unit block including the i-th frame calculated through Equation (5) is a unit block corresponding to a threshold point closest to the start frame, and the jth frame calculated through Equation (6)
- the unit block included is a unit block corresponding to a threshold located at a position farthest from the start frame.
- the frame corresponding to the range query can be extracted by scanning the frame located between the frame and the j-th frame.
- the query processing device can extract the frame corresponding to the range query using Equation (4).
- P s denotes the position information of the start frame
- P e denotes the position information of the end frame
- Q denotes the range query
- n denotes the number of frames included in the tilt block
- L denotes Denotes a list of frames corresponding to the range query
- l denotes a distance between the start frame position information and the end frame position information
- B denotes a tilt block boundary.
- Lines 8 to 34 of the algorithm shown in Table 7 indicate extraction of a unit block including a frame corresponding to the range query described with reference to equations (4), (5) and (6).
- FIG. 10 is a block diagram showing a query processing apparatus according to an embodiment of the present invention.
- the query processing apparatus 20 may include a tilt block extracting unit 21, a unit block extracting unit 22, and a frame extracting unit 23.
- the tilt block is formed so as to be parallel to the line formed by the start frame and the end frame constituting the tilt block.
- the tilt block extracting unit 21 can extract a tilt block corresponding to a query among tilt blocks including a plurality of frames constituting video.
- the specific method of extracting the tilt block corresponding to the query by the tilt block extracting unit 21 is the same as that described in step S400.
- the unit block extracting unit 22 extracts two unit blocks corresponding to the query based on the distance between the start frame and the query constituting the extracted tilt block among the unit blocks including each frame constituting the extracted tilt block Can be extracted.
- the concrete method of extracting the unit block corresponding to the query by the unit block extracting unit 22 is the same as that described in step S500.
- the frame extracting unit 23 extracts a unit block including a frame corresponding to the query based on the extracted position information of two unit blocks and a unit block located between two unit blocks, Can be extracted.
- the specific method of extracting the unit block including the frame corresponding to the query by the frame extracting unit 23 is the same as that described in step S600.
- tilt block extracting unit 21, the unit block extracting unit 22 and the frame extracting unit 23 can be performed by any processor (for example, CPU, GPU, etc.) Each step performed may be performed in any of the above processors.
- the tilt block extracting unit 21, the unit block extracting unit 22, and the frame extracting unit 23 may be implemented as a single unit, a single physical unit, or a single module.
- the tilt block extracting unit 21, the unit block extracting unit 22, and the frame extracting unit 23 may be implemented as a plurality of physical devices or groups, respectively, rather than one physical device or group.
- Table 8 below shows the subroutines shown in Tables 1, 2, 3, 4, 6, and 7 above.
- Table 9 below compares the query processing time and the memory usage for the query processing method and the conventional query processing method according to an embodiment of the present invention.
- GeoTree is a query processing method according to an embodiment of the present invention
- MBR-filtering and R-Tree are conventional query processing methods.
- GeoTree which is a query processing method according to an embodiment of the present invention, processed the range query most quickly .
- numerical values in parentheses mean standard deviation.
- GeoTree which is a query processing method according to an embodiment of the present invention, processed the range query most quickly .
- numerical values in parentheses mean standard deviation.
- GeoTree which is a query processing method according to an embodiment of the present invention, uses the least memory.
- 11 is a graph comparing performance of a query processing method according to a data size.
- FIG. 11 (a) is a graph comparing memory usage according to the size of data, where the X axis represents the data size and the Y axis represents the memory usage.
- the query processing method (GeoTree) according to an embodiment of the present invention uses a smaller amount of memory than the conventional query processing method (MBR-Filter, R-Tree).
- FIG. 11 (b) is a graph comparing the processing time of the point query, wherein the X axis represents the data size and the Y axis represents the processing time.
- the query processing method (GeoTree) processes the point query more quickly than the conventional query processing method (R-Tree).
- 11 (c) is a graph comparing the processing time of the range query, where the X axis represents the data size and the Y axis represents the processing time.
- the query processing method (GeoTree) according to an embodiment of the present invention processes the range query more quickly than the conventional query processing method (R-Tree).
- FIG. 12 is a graph showing the performance of a query processing method according to a change in parameters.
- step S140 Denotes a predefined reference distance described in step S140, Denotes a predefined reference value described in step S220.
- FIG. 12A is a graph showing the amount of memory used in the query processing method according to an embodiment of the present invention in accordance with a parameter change (Y-axis is memory usage)
- FIG. 12 (c) is a graph showing the time during which the range query is processed by the query processing method according to an embodiment of the present invention (Y-axis is the processing time) according to the parameter change.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
본 발명은 비디오 검색을 위한 블록 생성 및 질의 처리 기술에 관한 것으로, 더욱 상세하게는 비디오의 공간 정보를 기반으로 블록을 생성하고, 생성된 블록을 기초로 질의를 처리하기 위한 비디오 검색을 위한 블록 생성 방법 및 이를 통해 생성된 블록을 기초로 한 질의 처리 방법에 관한 것이다.
비디오 녹음 장치(예를 들어, 디지털 카메라, 스마트폰 등)의 급속한 대중화로 전문가뿐만 아니라 비전문가도 비디오를 손쉽게 제작할 수 있게 되었고, 통신 기술의 발달로 비디오와 같은 멀티미디어 컨텐츠를 인터넷을 통해 손쉽게 업로드(upload)하거나 다운로드(download) 할 수 있게 되었다.
사용자는 자신이 원하는 비디오를 다운로드 하기 위해, 검색 엔진을 사용하여 자신이 원하는 비디오를 검색하며, 검색 엔진은 일반적으로 비디오 제목, 비디오에 포함된 자막 등과 같은 텍스트 정보를 기초로 하여 비디오를 검색한다. 이러한, 검색 엔진은 비디오의 텍스트 정보만을 기반으로 비디오를 검색하므로, 사용자가 원하는 비디오를 정확하게 검색할 수 없는 문제점이 있다.
특히, 특정 지역의 정보를 담고 있는 비디오를 검색하고자 하는 경우, 비디오의 공간 정보(예를 들어, 비디오가 촬영된 위치 등)를 사용하지 않고 단순히 텍스트 정보만을 기초로 하여 비디오를 검색하면 사용자가 원하는 비디오를 정확하게 검색할 수 없는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 비디오를 구성하는 프레임들의 공간 정보를 기반으로 블록을 생성하기 위한 비디오 검색을 위한 블록 생성 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 비디오를 구성하는 프레임들의 공간 정보를 기반으로 블록을 생성하기 위한 비디오 검색을 위한 블록 생성 장치를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 프레임들의 공간 정보를 기반으로 생성된 블록을 기초로 하여 질의를 처리하기 위한 질의 처리 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 프레임들의 공간 정보를 기반으로 생성된 블록을 기초로 하여 질의를 처리하기 위한 질의 처리 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예는, 비디오를 구성하는 프레임들 중, 프레임의 공간 정보인 위치 정보 및 방향 정보 중 적어도 하나의 정보가 비선형적으로 변화하는 기준 프레임을 검출하는 단계 및 기준 프레임을 기반으로 복수의 프레임이 포함된 틸트 블록을 생성하는 단계를 포함한다.
여기서, 상기 기준 프레임을 검출하는 단계는, 비디오를 구성하는 프레임들 중, 시작 프레임 및 종료 프레임을 기반으로 회귀선을 생성하는 단계, 비디오를 구성하는 임의의 프레임과 동일한 시간 정보를 가지는 회귀선 상의 임의의 지점을 선택하는 단계, 회귀선 상의 임의의 지점과 임의의 프레임 간의 거리를 산출하는 단계 및 산출한 거리가 미리 정의된 기준 거리보다 큰 경우, 임의의 프레임을 기준 프레임으로 결정하는 단계를 포함할 수 있다.
여기서, 상기 기준 프레임을 검출하는 단계는, 비디오를 구성하는 프레임들의 방향 정보를 기반으로 방향 정보의 중간값을 산출하는 단계 및 비디오를 구성하는 프레임들 중, 임의의 프레임의 방향 정보와 중간값의 차이가 미리 정의된 기준 값보다 큰 경우, 임의의 프레임을 기준 프레임으로 결정하는 단계를 포함할 수 있다.
여기서, 상기 틸트 블록을 생성하는 단계는, 기준 프레임을 기준으로, 비디오를 구성하는 프레임들을 적어도 두 개의 그룹으로 분류하는 단계 및 그룹을 구성하는 프레임들을 포함하고, 그룹을 구성하는 프레임들 중 시작 프레임과 종료 프레임이 형성하는 선과 평행한 틸트 블록을 생성하는 단계를 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예는, 비디오를 구성하는 프레임들 중, 프레임의 공간 정보인 위치 정보 및 방향 정보 중 적어도 하나의 정보가 비선형적으로 변화하는 기준 프레임을 검출하는 검출부 및 기준 프레임을 기반으로 복수의 프레임이 포함된 틸트 블록을 생성하는 생성부를 포함하되, 상기 생성부는, 상기 복수의 프레임 중 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 상기 틸트 블록을 생성한다.
상기 또 다른 목적을 달성하기 위한 본 발명의 일 실시예는, 비디오를 구성하는 복수의 프레임을 포함하는 틸트 블록들 중, 질의에 대응하는 틸트 블록을 추출하는 단계, 추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중, 추출한 틸트 블록을 구성하는 시작 프레임과 질의 간의 거리를 기반으로 질의에 대응하는 두 개의 단위 블록을 추출하는 단계 및 추출한 두 개의 단위 블록과 두 개의 단위 블록 사이에 위치한 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 단계를 포함하되, 상기 틸트 블록은 틸트 블록을 구성하는 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 생성된다.
여기서, 상기 질의에 대응하는 틸트 블록을 추출하는 단계는, 상기 질의가 레인지 질의인 경우에 레인지 질의와 틸트 블록들이 겹치는 임계점들을 검출하고, 틸트 블록들 중 상기 임계점들을 포함할 수 있다.
여기서, 상기 두 개의 단위 블록을 추출하는 단계는, 추출한 틸트 블록을 구성하는 프레임들 중, 시작 프레임과 가장 가까운 위치에 존재하는 임계점에 대응하는 제1 단위 블록과 시작 프레임으로부터 가장 먼 위치에 존재하는 임계점에 대응하는 제2 단위 블록을 추출할 수 있다.
여기서, 상기 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 단계는, 상기 제1 단위 블록, 상기 제2 단위 블록 및 상기 제1 단위 블록과 상기 제2 단위 블록의 사이에 위치하는 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 레인지 질의에 대응하는 프레임을 포함할 수 있다.
상기 또 다른 목적을 달성하기 위한 본 발명의 일 실시예는, 비디오를 구성하는 복수의 프레임을 포함하는 틸트 블록들 중, 질의에 대응하는 틸트 블록을 추출하는 제1 추출부, 추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중, 추출한 틸트 블록을 구성하는 시작 프레임과 질의 간의 거리를 기반으로 질의에 대응하는 두 개의 단위 블록을 추출하는 제2 추출부 및 추출한 두 개의 단위 블록과 두 개의 단위 블록 사이에 위치한 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 제3 추출부를 포함하되, 상기 틸트 블록은 틸트 블록을 구성하는 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 생성된다.
본 발명에 의하면, 선형적으로 변화하는 프레임의 위치 정보, 방향 정보를 기반으로 틸트(tilt) 블록을 생성할 수 있고, 이러한 틸트 블럭을 기초로 하여 질의를 처리함으로써, 종래 기술에 비해 더 적은 양의 메모리를 이용하여 동일한 양의 질의를 처리할 수 있고, 동일한 양의 질의를 처리하는데 더 적은 시간이 소비된다.
도 1은 비디오 프레임의 공간 정보를 도시한 개념도이다.
도 2는 복수의 프레임을 포함하는 블록을 도시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 비디오 검색을 위한 블록 생성 방법을 도시한 흐름도이다.도 4는 본 발명의 일 실시예에 따른 비디오 검색을 위한 블록 생성 방법을 도시한 흐름도이다.
도 5는 기준 프레임을 검출하는 과정을 도시한 개념도이다.
도 6은 틸트 블록을 생성하는 과정을 도시한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 비디오 검색을 위한 블록 생성 장치를 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 질의 처리 방법을 도시한 흐름도이다.
도 9는 질의에 대응하는 프레임을 추출하는 과정을 도시한 개념도이다.
도 10은 본 발명의 일 실시예에 따른 질의 처리 장치를 도시한 블록도이다.
도 11은 데이터 크기에 따른 질의 처리 방법의 성능을 비교한 그래프이다.
도 12는 파라미터의 변화에 따른 질의 처리 방법의 성능을 도시한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
명세서 전체에서, 비디오(video)는 복수의 프레임(frame)을 포함하고, 시작 프레임은 비디오를 구성하는 프레임들 중 시작 시점에 위치하는 프레임을 의미하고, 종료 프레임은 비디오를 구성하는 프레임들 중 종료 시점에 위치하는 프레임을 의미하고, 프레임은 2차원 상에서 공간 정보를 가지는 부채꼴로 표현될 수 있다. 단위 블록(block)은 하나의 프레임을 포함하는 사각 블록을 의미하고, 틸트(tilt) 블록은 복수의 프레임을 포함하는 사각 블록을 의미하고, 틸트 블록은 기울어진 사각 블록으로 표현될 수 있다. 또한, 단위 블록은 Expected-MBR(Minimum Bounding Rectangle)을 의미할 수 있고, 틸트 블록은 MBTR(Minimum Bounding Tilted Rectangle)을 의미할 수 있다.
도 1은 비디오 프레임의 공간 정보를 도시한 개념도이다.
도 1(a)를 참조하면, 2차원에서 비디오 프레임의 공간 정보는 프레임을 촬영한 카메라의 위치 정보(P), 카메라의 방향 정보(), 카메라의 시야각 정보(θ) 및 카메라의 시야 거리 정보(R)를 포함할 수 있다.
도 1(b)를 참조하면, 3차원에서 비디오 프레임의 공간 정보는 프레임을 촬영한 카메라의 위치 정보(P), 카메라의 방향 정보(), 카메라의 수평 시야각 정보(θ), 카메라의 수직 시야각 정보(Φ) 및 카메라의 시야 거리 정보(R)를 포함할 수 있다.
여기서, 카메라의 위치 정보(P)는 카메라에 포함된 GPS(Global Positioning System) 센서를 통해 획득할 수 있으며, 위치 정보(P)는 위도와 경도로 나타낼 수 있다. 카메라의 방향 정보()는 카메라에 포함된 나침반을 통해 획득할 수 있고, 도 1(a)의 카메라의 시야각 정보(θ), 도 1(b)의 카메라의 수평 시야각 정보(θ)와 카메라의 수직 시야각 정보(Φ), 및 카메라의 시야 거리 정보(R)는 카메라 렌즈의 특성과 줌 레벨(zoom level)을 통해 획득할 수 있다. 만일, 고정된 렌즈를 사용하는 경우에 도 1의 카메라의 시야각 정보(θ), 도 1(b)의 카메라의 수평 시야각 정보(θ)와 카메라의 수직 시야각 정보(Φ), 및 카메라의 시야 거리 정보(R)는 고정된 값을 가진다.
도 2는 복수의 프레임을 포함하는 블록을 도시한 개념도이다.
도 2(a)는 종래 MBR(Minimum Bounding Rectangle) 방식에 따라 생성된 블록(60)을 도시한 개념도이고, 도 2(b)는 본 발명의 일 실시예에 따라 생성된 틸트 블록(70)을 도시한 개념도이다. 여기서, 각각의 프레임(50)은 위도와 경도를 나타내는 좌표축 상에 위치한 것으로 불 수 있으며, 각각의 프레임(50)은 생성된 시간에 따라 좌표축 상에 위치할 수 있다.
여기서, 프레임(50)은 부채꼴로 표현될 수 있고, 부채꼴의 꼭짓점은 해당 프레임(50)을 촬영한 카메라의 위치를 의미하고, 꼭짓점의 양쪽 변이 이루는 각은 해당 프레임(50)을 촬영한 카메라의 시야각을 의미하고, 꼭짓점에서 부채꼴 호의 중심점으로 연장되는 선의 진행 방향은 해당 프레임(50)을 촬영한 카메라의 방향을 의미하고, 부채꼴의 한 변의 길이는 해당 프레임(50)을 촬영한 카메라의 시야 거리를 의미한다.
도 2(a)와 도 2(b)를 살펴보면, 도 2(a)의 블록(60)과 도 2(b)의 틸트 블록(70)은 동일한 프레임(50)들을 포함하나 도 2(a)의 블록(60)의 크기가 도 2(b)의 틸트 블록(70)의 크기보다 훨씬 큰 것을 알 수 있다. 여기서, 원으로 도시된 것은 질의(query)(80)를 의미하는 것으로, 도 2(a)에서 질의(80)는 블록(60)에 포함되므로 질의(80)에 대응하는 블록(60)이 검출되나, 질의(80)는 블록(60)에 포함된 프레임(50)에 포함되지 않으므로, 검출된 블록(60)은 잘못된 검출된 블록(60)에 해당한다. 반면, 도 2(b)에서 질(80)의는 틸트 블록(70)에 포함되지 않으므로, 질의(80)에 따라 대응하는 틸트 블록(70)은 검출되지 않는다.
도 3은 본 발명의 일 실시예에 따른 비디오 검색을 위한 블록 생성 방법을 도시한 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 비디오 검색을 위한 블록 방법을 도시한 흐름도이다.
도 3, 4를 참조하면, 블록 생성 장치는, 비디오를 구성하는 프레임들 중 프레임의 공간 정보인 위치 정보 및 방향 정보 중 적어도 하나의 정보가 비선형적으로 변화하는 기준 프레임을 검출할 수 있다(S100, S200). 여기서, 단계 S100은 프레임의 위치 정보를 기반으로 기준 프레임을 검출하는 과정이며, 단계 S100은 단계 S110, 단계 S120, 단계 S130 및 단계 S140을 포함할 수 있다. 단계 S200은 프레임의 방향 정보를 기반으로 기준 프레임을 검출하는 과정이며, 단계 S200은 단계 S210 및 단계 S220을 포함할 수 있다.
프레임의 위치 정보를 기반으로 기준 프레임을 검출하는 과정
도 5는 기준 프레임을 검출하는 과정을 도시한 개념도이다.
도 5를 참조하면, 원은 프레임을 의미하고, Fs 는 시작 프레임을 의미하고, Fe 는 종료 프레임을 의미하고, Fi 는 비디오 프레임들 중 임의의 프레임을 의미하고, Fi' 는 시작 프레임과 종료 프레임이 형성하는 회귀선(regression line) 상에 위치한 임의의 지점을 의미하며 임의의 지점은 임의의 프레임(Fi)과 동일한 시간 정보를 가진다.
는 각각 시작 프레임(Fs)의 위치 정보, 방향 정보, 시야각 정보 및 시야 거리 정보를 나타내고, 는 각각 종료 프레임(Fe)의 위치 정보, 방향 정보, 시야각 정보 및 시야 거리 정보를 나타내고, 는 각각 임의의 프레임(Fi)의 위치 정보, 방향 정보, 시야각 정보 및 시야 거리 정보를 나타내고, 는 각각 임의의 지점(Fi')의 위치 정보, 방향 정보, 시야각 정보 및 시야 거리 정보를 나타낸다.
블록 생성 장치는, 비디오를 구성하는 프레임 중 시작 프레임(Fs) 및 종료 프레임(Fe)을 기반으로 회귀선()을 생성할 수 있다(S110). 즉, 블록 생성 장치는, 시작 프레임(Fs)과 종료 프레임(Fe) 간을 연결하여 회귀선()을 생성할 수 있다.
회귀선()을 생성한 후, 블록 생성 장치는 비디오를 구성하는 임의의 프레임(Fi)과 동일한 시간 정보를 가지는 회귀선 상의 임의의 지점(Fi')을 선택할 수 있다(S120). 블록 생성 장치는, 아래 '수학식 1'을 통해 임의의 지점(Fi')의 위치 정보(Pi')를 산출할 수 있고, 산출한 위치 정보(Pi')에 대응하는 임의의 지점(Fi')을 선택할 수 있다.
여기서, ts 는 시작 프레임(Fs)의 시간 정보이고, te 는 종료 프레임(Fe)의 시간 정보이고, ti 는 임의의 프레임(Fi)의 시간 정보이고, Ps 는 시작 프레임(Fs)의 위치 정보이고, Pe 는 종료 프레임(Fe)의 위치 정보이고, Pi' 는 회귀선 상의 임의의 지점(Fi')의 위치 정보이다.
여기서, F, FOVstream은 복수의 프레임이 포함된 프레임의 모임을 의미하고, Fs 는 복수의 프레임 중 시작 프레임을 의미하고, ts 는 시작 프레임의 시간 정보를 의미하고, Ps 는 시작 프레임의 위치 정보를 의미하고, Fe 는 복수의 프레임 중 종료 프레임을 의미하고, te 는 종료 프레임의 시간 정보를 의미하고, Pe 는 종료 프레임의 위치 정보를 의미하고, Fi 는 복수의 프레임 중 임의의 프레임을 의미하고, ti 는 종료 프레임의 시간 정보를 의미하고, 표 1에 도시된 알고리즘의 라인 5~8은 상기 '수학식 1'을 의미한다.
회귀선() 상의 임의의 지점(Fi')을 선택한 후, 블록 생성 장치는 회귀선() 상의 임의의 지점(Fi')과 임의의 프레임(Fi) 간의 거리를 산출할 수 있다(S130). 이때, 블록 생성 장치는 '수학식 1'을 통해 산출한 회귀선() 상의 임의의() 지점(Fi')의 위치 정보(Pi')와 임의의 프레임(Fi)의 위치 정보(Pi)를 기반으로, 회귀선() 상의 임의의 지점(Fi')과 임의의 프레임(Fi) 간의 거리를 산출할 수 있다
회귀선() 상의 임의의 지점(Fi')과 임의의 프레임(Fi) 간의 거리를 산출한 후, 블록 생성 장치는 산출한 거리가 미리 정의된 기준 거리보다 큰 경우에 임의의 프레임(Fi)을 기준 프레임으로 결정할 수 있다(S140). 한편, 산출한 거리가 미리 정의된 기준 거리보다 작거나 같은 경우에 모든 단계를 종료할 수 있고, 또는 단계 S120, 단계 S130을 다시 수행할 수 있다.
비디오 프레임의 위치 정보를 기반으로 위치 정보가 비선형적으로 변화하는 기준 프레임을 검출하는 알고리즘은 아래 '표 2'와 같이 나타낼 수 있다.
여기서, F, FOVstream은 복수의 프레임이 포함된 프레임의 모임을 의미하고, s 는 복수의 프레임 중 시작 프레임의 인덱스를 의미하고, e 는 복수의 프레임 중 종료 프레임의 인덱스를 의미하고, 는 미리 정의된 기준 거리를 의미하고, MarkupFOVScene는 기준 프레임을 의미한다.
표 2에 도시된 알고리즘의 라인 6~7은, 회귀선() 상의 임의의 지점(Fi')의 위치 정보(Pi')와 임의의 프레임(Fi)의 위치 정보(Pi)를 기반으로, 회귀선() 상의 임의의 지점(Fi')과 임의의 프레임(Fi) 간의 거리를 산출하는 것을 나타낸다.
프레임의 방향 정보를 기반으로 기준 프레임을 검출하는 과정
블록 생성 장치는 비디오를 구성하는 프레임들의 방향 정보를 기반으로 방향 정보의 중간값을 산출할 수 있다(S210). 블록 생성 장치는 일정 시간 범위 내에 위치하는 프레임들을 기반으로 중간값을 산출할 수 있으며, 이때, 일정 시간 범위 내에 위치하는 프레임의 방향 정보들 중 최소 방향 정보(즉, 소정 축(예를 들어, x축)과 이루는 각이 최소인 방향 정보)와 최대 방향 정보(즉, 소정 축(예를 들어, x축)과 이루는 각이 최대인 방향 정보)의 평균을 중간값으로 산출할 수 있다.
중간값을 산출한 후, 블록 생성 장치는 비디오를 구성하는 프레임들 중 임의의 프레임의 방향 정보와 중간값의 차이가 미리 정의된 기준 값보다 큰 경우에 임의의 프레임을 기준 프레임으로 결정할 수 있다(S220). 한편, 임의의 프레임의 방향 정보와 중간값의 차이가 미리 정의된 기준 값보다 작거나 같은 경우에 모든 단계를 종료할 수 있고, 또는 다른 임의의 프레임을 기반으로 단계 S220을 수행할 수 있다.
비디오를 구성하는 프레임들의 방향 정보를 기반으로 방향 정보가 비선형적으로 변화하는 기준 프레임을 검출하는 알고리즘을 아래 '표 3'과 같이 나타낼 수 있다.
여기서, F, FOVstream은 복수의 프레임이 포함된 프레임의 모임을 의미하고, s 는 복수의 프레임 중 시작 프레임의 인덱스를 의미하고, e 는 복수의 프레임 중 종료 프레임의 인덱스를 의미하고, 는 미리 정의된 기준 값을 의미하고, 는 중간값을 의미한다.
표 3에 도시된 알고리즘의 라인 5~7은 중간값을 산출하는 것을 나타내고, 표 3에 도시된 알고리즘의 라인 8~15는 프레임들 중 임의의 프레임의 방향 정보와 중간값의 차이에 따라 임의의 프레임을 기준 프레임으로 결정하는 것을 나타낸다.
블록 생성 장치는 단계 S100을 통해 검출한 기준 프레임을 사용하여 틸트 블록을 생성할 수 있고, 단계 S200을 통해 검출한 기준 프레임을 사용하여 틸트 블록을 생성할 수 있고, 단계 S100을 통해 검출한 기준 프레임과 단계 S200을 통해 검출한 기준 프레임 중 공통된 기준 프레임을 사용하여 틸트 블록을 생성할 수 있고, 아래 '표 4'와 같이 단계 S100을 통해 검출한 기준 프레임과 단계 S200을 통해 검출한 기준 프레임 모두를 사용할 수 있다.
여기서, F, FOVstream은 복수의 프레임이 포함된 프레임의 모임을 의미하고, 는 미리 정의된 기준 거리를 의미하고, 는 미리 정의된 기준 값을 의미하고, S1 은 단계 S100을 통해 검출한 기준 프레임의 모임을 의미하고, S2 는 단계 S200을 통해 검출한 기준 프레임의 모임을 의미한다.
기준 프레임을 기반으로 틸트 블록을 생성하는 과정
기준 프레임을 검출한 후, 블록 생성 장치는 검출한 기준 프레임을 기반으로 복수의 프레임이 포함된 틸트 블록들 생성할 수 있다(S200).
먼저, 블록 생성 장치는 기준 프레임을 기준으로 비디오를 구성하는 프레임들을 적어도 두 개의 그룹으로 분류할 수 있다(S210). 예를 들어, 도 5에서 Fi 가 기준 프레임으로 결정된 경우에 시작 프레임(Fs), 기준 프레임(Fi) 및 시작 프레임(Fs)과 기준 프레임(Fi) 사이에 위치한 프레임들을 하나의 그룹으로 분류할 수 있고, 기준 프레임(Fi), 종료 프레임(Fe) 및 기준 프레임(Fi)과 종료 프레임(Fe) 사이에 위치한 프레임들을 다른 하나의 그룹으로 분류할 수 있다.
기준 프레임을 기준으로 프레임들을 적어도 두 개의 그룹으로 분류한 후, 블록 생성 장치는 그룹을 구성하는 프레임들을 포함하고, 그룹을 구성하는 프레임들 중 시작 프레임과 종료 프레임이 형성하는 선과 평행한 틸트 블록을 생성할 수 있다(S220).
도 5에서, 하나의 그룹의 시작 프레임은 Fs 이고 종료 프레임은 Fi 이므로, Fs 과 Fi 사이에 위치한 프레임들을 포함하고 Fs 과 Fi 이 형성하는 선과 평행한 틸트 블록을 생성할 수 있다. 다른 하나의 그룹의 시작 프레임은 Fi 이고 종료 프레임은 Fe 이므로, Fi 과 Fe 사이에 위치한 프레임들을 포함하고 Fi과 Fe이 형성하는 선과 평행한 틸트 블록을 생성할 수 있다. 즉, 블록 생성 장치는 시작 프레임, 종료 프레임 및 기준 프레임 중 인접한 프레임을 기준으로 하여 틸트 블록을 생성할 수 있다.
도 6은 틸트 블록을 생성하는 과정을 도시한 개념도이다.
도 6을 참조하여, 본 발명의 일 실시예에 따라 생성된 틸트 블록(70)에 대해 상세하게 설명한다. 도 6(a)는 위치 정보(즉, 위도 정보)는 동일하나 방향 정보가 서로 다른 프레임(50)들을 나타낸 것이고, 도 6(b)는 도 6(a)에 도시된 프레임(50)들을 하나의 위치로 모은 프레임(50)을 나타낸 것이고, 도 6(c)는 하나의 프레임(50)을 포함하는 단위 블록(71)을 나타낸 것이고, 도 6(d)는 복수의 프레임(50)을 포함하는 틸트 블록(70)을 나타낸 것이다.
도 6(b)에 도시된 프레임(50)의 각도는 'θ(도 6(a)에 도시된 하나의 프레임(50)의 시야각 정보) + 2 × (미리 정의된 기준 값(즉, 방향 정보 오차))'보다 클 수 없다. 이는 가 도 6(d)에 도시된 틸트 블록(70)에 포함된 프레임(50)의 방향 정보()에 대한 오차 임계값이기 때문이다.
하나의 프레임(50)에 대한 단위 블록(71)은 도 6(c)와 같이 나타낼 수 있고, 이를 확장하면 복수의 프레임(50)을 포함하는 틸트 블럭(70)을 나타낼 수 있다. 도 6(c)에서, rleft', rright', rforward', rback' 은 단위 블록(71)에 포함된 프레임(50)의 위치(즉, 위치 정보에 따른 위치)에서 단위 블록(71)의 경계까지의 거리를 의미한다.
도 6(d)에서, 틸트 블록(70)은 시작 프레임(Ps)과 종료 프레임(Pe)이 형성하는 선과 평행하도록 생성된다. 여기서, 틸트 블록(70)에 포함된 모든 단위 블록(71)은 동일한 크기(즉, rleft', rright', rforward', rback' 가 동일함) 및 선형적인 위치 정보 변화를 가진다. 따라서, 틸트 블록(70)에 포함된 하나의 단위 블록(71)의 파라미터(예를 들어, 단위 블록의 rleft', rright', rforward', rback', 단위 블록(71)의 위치 정보, 방향 정보)를 기반으로, 틸트 블록(70)에 대한 인덱스를 구성할 수 있다.
틸트 블록의 인덱스는 아래 '표 5'와 같이 나타낼 수 있다.
여기서, Ps 는 틸트 블록의 시작 프레임의 위치 정보를 의미하고, Pe 는 틸트 블록의 종료 프레임의 위치 정보를 의미하고, rleft, rright, rforward, rback 은 시작 프레임의 위치에서 틸트 블록의 경계까지 거리를 의미한다.
도 7은 본 발명의 일 실시예에 따른 비디오 검색을 위한 블록 생성 장치를 도시한 블록도이다.
도 7을 참조하면, 블록 생성 장치(10)는 기준 프레임 검출부(11) 및 틸트 블록 생성부(12)를 포함할 수 있다.
기준 프레임 검출부(11)는 비디오를 구성하는 프레임들 중, 프레임의 공간 정보인 위치 정보 및 방향 정보 중 적어도 하나의 정보가 비선형적으로 변화하는 기준 프레임을 검출할 수 있다.
구체적으로, 기준 프레임 검출부(11)는, 비디오를 구성하는 프레임들 중 시작 프레임 및 종료 프레임을 기반으로 회귀선을 생성하고, 비디오를 구성하는 임의의 프레임과 동일한 시간 정보를 가지는 회귀선 상의 임의의 지점을 선택하고, 회귀선 상의 임의의 지점과 임의의 프레임 간의 거리를 산출하고, 산출한 거리가 미리 정의된 기준 거리보다 큰 경우에 임의의 프레임을 기준 프레임으로 결정할 수 있다. 여기서, 기준 프레임 검출부(11)가 기준 프레임을 결정하는 구체적인 방법은 '단계 S100'에서 설명한 내용과 동일하다.
또한, 기준 프레임 검출부(11)는, 비디오를 구성하는 프레임들의 방향 정보를 기반으로 방향 정보의 중간값을 산출하고, 비디오를 구성하는 프레임들 중 임의의 프레임의 방향 정보와 중간값의 차이가 미리 정의된 기준 값보다 큰 경우, 임의의 프레임을 기준 프레임으로 결정할 수 있다. 여기서, 기준 프레임 검출부(11)가 기준 프레임을 결정하는 구체적인 방법은 '단계 S200'에서 설명한 내용과 동일하다.
틸트 블록 생성부(12)는, 기준 프레임 검출부(11)에서 검출한 기준 프레임을 기반으로 복수의 프레임이 포함된 틸트 블록을 생성할 수 있다. 구체적으로, 틸트 블록 생성부(12)는, 기준 프레임을 기준으로, 비디오를 구성하는 프레임들을 적어도 두 개의 그룹으로 분류하고, 그룹을 구성하는 프레임들을 포함하며 그룹을 구성하는 프레임들 중 시작 프레임과 종료 프레임이 형성하는 선과 평행한 틸트 블록을 생성할 수 있다. 여기서, 틸트 블록 생성부(12)가 틸트 블록을 생성하는 구체적인 방법은 '단계 S300'에서 설명한 내용과 동일하다.
기준 프레임 검출부(11) 및 틸트 블록 생성부(12)가 수행하는 기능은 임의의 프로세서(예를 들어, CPU, GPU 등)에서 수행될 수 있으며, 도 3, 4에 도시된 각각의 단계는 상기 임의의 프로세서에서 수행될 수 있다.
또한, 기준 프레임 검출부(11) 및 틸트 블록 생성부(12)는 하나의 단일한 형태, 하나의 물리적인 장치 또는 하나의 모듈로 구현될 수 있다. 이뿐만 아니라, 기준 프레임 검출부(11) 및 틸트 블록 생성부(12)는 각각 하나의 물리적인 장치 또는 집단이 아닌 복수의 물리적 장치 또는 집단으로 구현될 수 있다.
도 8은 본 발명의 일 실시예에 따른 질의 처리 방법을 도시한 흐름도이다.
도 8을 참조하면, 질의 처리 장치는, 비디오의 틸트 블록들 중에서 질의에 대응하는 틸트 블록을 추출할 수 있다(S400). 여기서 질의는 특정 위치 정보를 가지는 프레임의 제공을 요청하는 것으로, 제공받고자 하는 프레임의 위치 정보를 포함할 수 있다.
하나의 비디오에 대해 적어도 하나의 틸트 블럭이 존재하므로, 비디오의 틸트 블록들 중에서 질의와 대응하는 틸트 블록을 추출할 수 있다. 이때, 틸트 블록의 위치 정보는 상기 '표 5'에 도시된 인덱스를 통해 알 수 있으므로, 이를 기반으로 질의에 대응하는 틸트 블록을 추출할 수 있다. 여기서, 틸트 블럭은 상술한 비디오 검색을 위한 블록 생성 방법을 통해 생성된 것으로, 틸트 블럭은 틸트 블럭을 구성하는 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 생성된다.
질의에 대응하는 틸트 블록을 추출한 후, 질의 처리 장치는, 추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중, 추출한 틸트 블록을 구성하는 시작 프레임과 질의 간의 거리를 기반으로 질의에 대응하는 두 개의 단위 블록을 추출할 수 있다(S500).
두 개의 단위 블록을 추출한 후, 질의 처리 장치는, 추출한 두 개의 단위 블록과 두 개의 단위 블록 사이에 위치한 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 질의에 대응하는 프레임을 포함하는 단위 블록을 추출할 수 있다(S600).
이때, 질의 처리 장치는 질의의 종류(포인트(point) 질의, 레인지(range) 질의)에 따라 서로 다른 방법을 적용하여, 질의에 대응하는 틸트 블록을 추출할 수 있고, 추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중 질의에 대응하는 두 개의 단위 블록을 추출할 수 있고, 질의에 대응하는 프레임을 포함하는 단위 블록을 추출할 수 있다.
포인트 질의에 따른 프레임 추출 방법
포인트 질의는 단계 S400에서 추출된 틸트 블록에 대응되며, 틸트 블록은 복수의 프레임을 포함하고 있으므로, 포인트 질의에 대응하는 프레임을 추출하기 위해 틸트 블록에 포함된 모든 프레임을 스캔하는 것은 비효율적이다. 이러한 문제점을 해결하기 위해, 본 발명의 일 실시예에 따른 질의 처리 방법에서는 틸트 블록에 포함된 일부 프레임들을 스캔하여 포인트 질의에 대응하는 프레임을 추출한다.
도 9는 질의에 대응하는 프레임을 추출하는 과정을 도시한 개념도이다.
도 9를 참조하면, 점선으로 도시된 블록은 틸트 블록(70)을 의미하고, 회색으로 도시된 블록은 단위 블록(71)을 의미하고, 삼각형은 포인트 질의(80)를 의미한다. 여기서, 틸트 블록(70)은 복수의 단위 블록(71)을 포함할 수 있다.
도 9(a)에서, 틸트 블록(70)의 내부에 포인트 질의(80)가 위치하나, 포인트 질의(80)는 시작 프레임을 포함하는 단위 블록(71) 및 종료 프레임을 포함하는 단위 블록(71)과 대응하지 않는다. 도 9(b)에서, 위치 정보 Pi 를 가지는 프레임을 포함하는 단위 블록(71)과 위치 정보 Pj 를 가지는 프레임을 포함하는 단위 블록(71)은 포인트 질의(80)와 대응할 수 있다.
틸트 블록(70)은 단위 블록(71)의 연속된 모임으로 나타낼 수 있으며, 포인트 질의(80)에 대응하는 복수의 단위 블록(71)이 존재할 수 있다. 포인트 질의(80)에 대응하는 복수의 단위 블록(71) 중 시간 축 상의 첫 번째 프레임은 아래 '수학식 2'를 통해 산출할 수 있고 마지막 프레임은 아래 '수학식 3'을 통해 산출할 수 있다(S500).
여기서, i, j 는 틸트 블록(70)에 포함된 프레임의 번호이며, 프레임의 번호는 시작 프레임부터 순차적으로 표기된다. 예를 들어, 틸트 블록(70)이 10개의 프레임을 포함하는 경우에 시작 프레임의 번호는 1이고, 종료 프레임의 번호는 10이다. n 은 틸트 블록(70)에 포함된 프레임의 총 개수이고, l 은 틸트 블록(70)의 시작 프레임과 종료 프레임이 형성하는 선의 길이이고, D 는 틸트 블록(70)의 시작 프레임으로부터 틸트 블록(70)의 시작 프레임과 종료 프레임이 형성하는 선에 투영된 포인트 질의(80)까지의 거리이고, rforward, rback 은 상기 표 5에서 설명한 틸트 블록의 인덱스이다.
수학식 2를 통해 산출한 i번째 프레임과 수학식 3을 통해 산출한 j번째 프레임 사이에 포인트 질의(80)에 대응하는 프레임이 존재하므로, 틸트 블록(70)에 포함된 모든 프레임들을 스캔하지 않고 i번째 프레임과 j번째 프레임 사이에 위치한 프레임을 스캔하여 포인트 질의(80)에 대응하는 프레임을 추출할 수 있다.
도 9(c)에서 틸트 블록(70) 내의 k번째 프레임이 포인트 질의(80)에 대응하는 경우, k번째 프레임의 위치 정보는 Pk' 로 나타낼 수 있고, Pk' 는 틸트 블록(70)의 시작 프레임(Ps)과 종료 프레임(Pe)이 형성하는 선에 위치할 수 있고, Pk' 는 시작 프레임(Ps)과 종료 프레임(Pe)이 형성하는 선을 따라 이동할 수 있다. Pk' 에서 k번째 프레임을 포함하는 단위 블록(71)의 경계까지의 거리는 rleft, rright, rforward, rback 으로 나타낼 수 있다. 여기서, 포인트 질의(80)는 시작 프레임(Ps)과 종료 프레임(Pe)이 형성하는 선으로부터 rleft 또는 rright 내에 위치하므로, 포인트 질의(80)에 대응하는 프레임을 추출하기 위해 rforward, rback 을 고려할 수 있다.
포인트 질의(80)가 k번째 프레임에 대응하는 경우, 포인트 질의(80)는 k번째 프레임을 포함하는 단위 블록(71)의 위치(Pk')에서 앞쪽으로 rforward, 뒤쪽으로 rback 내에 위치할 수 있다.
상술한 내용을 바탕으로 하여 아래 '수학식 4'를 정의할 수 있으며, 아래 '수학식 4'를 만족하는 k번째 프레임이 포인트 질의(80)에 대응하는 것으로 볼 수 있다.
여기서, n 은 틸트 블록에 포함된 프레임의 총 개수이고, l 은 틸트 블록의 시작 프레임과 종료 프레임이 형성하는 선의 길이이고, D 는 틸트 블록의 시작 프레임부터 틸트 블록의 시작 프레임과 종료 프레임이 형성하는 선에 투영된 포인트 질의까지의 거리이고, k 는 틸트 블록을 구성하는 임의의 프레임의 번호이고, rforward, rback 은 상기 표 5에서 설명한 틸트 블록의 인덱스이다.
즉, 질의 처리 장치는, 수학식 4를 이용하여 포인트 질의에 대응하는 프레임을 추출할 수 있다(S600).
포인트 질의에 대응하는 프레임을 추출하는 알고리즘은 아래 표 6과 같다.
여기서, Ps 는 시작 프레임의 위치 정보를 의미하고, Pe 는 종료 프레임의 위치 정보를 의미하고, q 는 포인트 질의를 의미하고, n 은 틸트 블록에 포함된 프레임의 개수를 의미하고, L 은 포인트 질의에 대응하는 프레임의 리스트를 의미하고, l 은 시작 프레임의 위치 정보와 종료 프레임의 위치 정보 간의 거리를 의미하고, rleft, rright, rforward, rback 은 틸트 블록의 인덱스를 의미하고, B 는 틸트 블록의 경계를 의미한다.
표 6에 도시된 알고리즘의 라인 8~20은, 수학식 2, 3, 4를 참조하여 설명한 포인트 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 것을 나타낸다.
레인지 질의에 따른 프레임 추출 방법
레인지 질의는 특정 위치 정보를 가지는 프레임을 요청하는 것으로, 제공받고자 하는 프레임의 복수의 위치 정보를 포함할 수 있으며, 레인지 질의는 복수의 위치 정보를 가지므로 볼록 다각형으로 나타낼 수 있다.
질의 처리 장치는 틸트 블록과 레인지 질의가 오버랩(overlap)되는 임계점을 추출할 수 있다. 임계점은, 틸트 블록의 경계와 레인지 질의의 모서리가 교차하는 점, 틸트 블록의 내부에 위치한 레인지 질의의 정점 및 레인지 질의의 내부에 위치한 틸트 블록의 정점으로 정의된다.
질의 처리 장치는, 틸트 블록 중 임계점을 가지는 틸트 블록을 레인지 질의에 대응하는 틸트 블록으로 추출할 수 있다(S400).
레인지 질의에 대응하는 틸트 블록을 추출한 후, 질의 처리 장치는, 아래 '수학식 5'를 통해 레인지 질의에 대응하는 복수의 단위 블록 중 시간 축 상의 첫 번째 프레임을 포함하는 단위 블록을 산출할 수 있고, 아래 '수학식 6'을 통해 레인지 질의에 대응하는 복수의 단위 블록 중 시간 축 상의 마지막 프레임을 포함하는 단위 블록을 산출할 수 있다(S500).
여기서, i, j 는 틸트 블록에 포함된 프레임의 번호이며, 프레임의 번호는 시작 프레임부터 순차적으로 표기된다. 예를 들어, 틸트 블록이 10개의 프레임을 포함하는 경우에 시작 프레임의 번호는 1이고, 종료 프레임의 번호는 10이다. n 은 틸트 블록에 포함된 프레임의 총 개수이고, l 은 틸트 블록의 시작 프레임과 종료 프레임이 형성하는 선의 길이이고, Dmin 은 임계점들 중 시작 프레임에 가장 가까운 위치에 존재하는 임계점과 시작 프레임 간의 길이이고, Dmax 는 임계점들 중 시작 프레임으로부터 가장 먼 위치에 존재하는 임계점과 시작 프레임 간의 길이이고, rforward, rback 은 상기 표 5에서 설명한 틸트 블록의 인덱스이다.
즉, '수학식 5'를 통해 산출한 i번째 프레임을 포함하는 단위 블록은 시작 프레임과 가장 가까운 위치에 존재하는 임계점에 대응하는 단위 블록이고, '수학식 6'을 통해 산출한 j번째 프레임을 포함하는 단위 블록은 시작 프레임으로부터 가장 먼 위치에 존재하는 임계점에 대응하는 단위 블록이다.
'수학식 5'를 통해 산출한 i번째 프레임과 '수학식 6'을 통해 산출한 j번째 프레임 사이에 레인지 질의에 대응하는 프레임이 존재하므로, 틸트 블록에 포함된 모든 프레임들을 스캔하지 않고 i번째 프레임과 j번째 프레임 사이에 위치한 프레임을 스캔하여 레인지 질의에 대응하는 프레임을 추출할 수 있다.
레인지 질의에 대응하는 두 개의 단위 블록을 추출한 후, 질의 처리 장치는 상기 '수학식 4'를 이용하여 레인지 질의에 대응하는 프레임을 추출할 수 있다.
포인트 질의에 대응하는 프레임을 추출하는 알고리즘은 아래 '표 7'과 같다.
여기서, Ps 는 시작 프레임의 위치 정보를 의미하고, Pe 는 종료 프레임의 위치 정보를 의미하고, Q 는 레인지 질의를 의미하고, n 은 틸트 블록에 포함된 프레임의 개수를 의미하고, L 은 레인지 질의에 대응하는 프레임의 리스트를 의미하고, l 은 시작 프레임의 위치 정보와 종료 프레임의 위치 정보 간의 거리를 의미하고, B 는 틸트 블록의 경계를 의미한다.
'표 7'에 도시된 알고리즘의 라인 8~34은, 수학식 4, 5, 6을 참조하여 설명한 레인지 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 것을 나타낸다.
도 10은 본 발명의 일 실시예에 따른 질의 처리 장치를 도시한 블록도이다.
도 10을 참조하면, 질의 처리 장치(20)는 틸트 블록 추출부(21), 단위 블록 추출부(22) 및 프레임 추출부(23)를 포함할 수 있다. 여기서, 틸트 블록은, 틸트 블록을 구성하는 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 형성된다.
틸트 블록 추출부(21)는, 비디오를 구성하는 복수의 프레임을 포함하는 틸트 블록들 중 질의에 대응하는 틸트 블록을 추출할 수 있다. 여기서, 틸트 블록 추출부(21)가 질의에 대응하는 틸트 블록을 추출하는 구체적은 방법은 '단계 S400'에서 설명한 내용과 동일하다.
단위 블록 추출부(22)는, 추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중, 추출한 틸트 블록을 구성하는 시작 프레임과 질의 간의 거리를 기반으로 질의에 대응하는 두 개의 단위 블록을 추출할 수 있다. 여기서, 단위 블록 추출부(22)가 질의에 대응하는 단위 블록을 추출하는 구체적인 방법은 '단계 S500'에서 설명한 내용과 동일하다.
프레임 추출부(23)는, 추출한 두 개의 단위 블록과 두 개의 단위 블록 사이에 위치한 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 질의에 대응하는 프레임을 포함하는 단위 블록을 추출할 수 있다. 여기서, 프레임 추출부(23)가 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 구체적인 방법은 '단계 S600'에서 설명한 내용과 동일하다.
틸트 블록 추출부(21), 단위 블록 추출부(22) 및 프레임 추출부(23)가 수행하는 기능은 임의의 프로세서(예를 들어, CPU, GPU 등)에서 수행될 수 있으며, 도 8에 도시된 각각의 단계는 상기 임의의 프로세서에서 수행될 수 있다.
또한, 틸트 블록 추출부(21), 단위 블록 추출부(22) 및 프레임 추출부(23)는 하나의 단일한 형태, 하나의 물리적인 장치 또는 하나의 모듈로 구현될 수 있다. 이뿐만 아니라, 틸트 블록 추출부(21), 단위 블록 추출부(22) 및 프레임 추출부(23)는 각각 하나의 물리적인 장치 또는 집단이 아닌 복수의 물리적 장치 또는 집단으로 구현될 수 있다.
아래 '표 8'은 상기 표 1, 2, 3, 4, 6, 7에 도시된 서브루틴(subroutine)을 나타낸 것이다.
여기서, 는 포인트 질의(q)가 다각형(P)(예를 들어, 틸트 블록, 단위 블록 등)과 오버랩되는 경우에 '참'을 나타내고, 는 포인트 질의(q)와 프레임(F)이 오버랩되는 경우에 '참'을 나타내고, 는 다각형(P)(예를 들어, 틸트 블록, 단위 블록 등)과 프레임(F)이 오버랩되는 경우에 '참'을 나타내고, 는 다각형(P1)(예를 들어, 틸트 블록, 단위 블록 등)과 다각형(P2)(예를 들어, 레인지 질의 등) 간에 교차하는 모든 점을 나타내고, 는 질의에 대응하는 프레임의 리스트에 프레임을 추가하는 것을 나타내고, 는 시작 프레임(Ps)과 종료 프레임(Pe)이 형성하는 선에 투영된 질의(q)와 시작 프레임(Ps) 간의 거리를 나타낸다.
실험 결과
아래 '표 9'는 본 발명의 일 실시예에 따른 질의 처리 방법과 종래 질의 처리 방법에 대해 질의 처리 시간과 메모리 사용량을 비교한 것이다.
여기서, GeoTree는 본 발명의 일 실시예에 따른 질의 처리 방법이고, MBR-Filtering과 R-Tree는 종래 질의 처리 방법이다.
레인지 질의(Range Query)에 관련하여, 10000개의 질의를 무작위로 생성하여 실험을 수행하였으며, 그 결과 본 발명의 일 실시예에 따른 질의 처리 방법인 GeoTree가 레인지 질의를 가장 빨리 처리하였음을 알 수 있다. 여기서, 괄호 안의 수치는 표준 편차를 의미한다.
포인트 질의(Point Query)에 관련하여, 100000개의 질의를 무작위로 생성하여 실험을 수행하였으며, 그 결과 본 발명의 일 실시예에 따른 질의 처리 방법인 GeoTree가 레인지 질의를 가장 빨리 처리하였음을 알 수 있다. 여기서, 괄호 안의 수치는 표준 편차를 의미한다.
메모리 사용량에 관련하여, 본 발명의 일 실시예에 따른 질의 처리 방법인 GeoTree가 메모리를 가장 적게 사용하는 것을 알 수 있다.
도 11은 데이터 크기에 따른 질의 처리 방법의 성능을 비교한 그래프이다.
도 11(a)는 데이터의 크기에 따른 메모리 사용량을 비교한 그래프로, X축은 데이터 크기를 나타내고 Y축은 메모리 사용량을 나타낸다. 도 11(a)에서 본 발명의 일 실시예에 따른 질의 처리 방법(GeoTree)은 종래 질의 처리 방법(MBR-Filter, R-Tree)에 비해 더 적은 양의 메모리를 사용하는 것을 알 수 있다.
도 11(b)는 포인트 질의의 처리 시간을 비교한 그래프로, X축은 데이터 크기를 나타내고 Y축은 처리 시간을 나타낸다. 도 11(b)에서 본 발명의 일 실시예에 따른 질의 처리 방법(GeoTree)은 종래 질의 처리 방법(R-Tree)에 비해 포인트 질의를 더 빨리 처리하는 것을 알 수 있다.
도 11(c)는 레인지 질의의 처리 시간을 비교한 그래프로, X축은 데이터 크기를 나타내고 Y축은 처리 시간을 나타낸다. 도 11(c)에서 본 발명의 일 실시예에 따른 질의 처리 방법(GeoTree)은 종래 질의 처리 방법(R-Tree)에 비해 레인지 질의를 더 빨리 처리하는 것을 알 수 있다.
도 12는 파라미터의 변화에 따른 질의 처리 방법의 성능을 도시한 그래프이다.
도 12(a)는 본 발명의 일 실시예인 질의 처리 방법에서 사용되는 메모리 양을 파라미터의 변화에 따라 도시한 그래프(Y축은 메모리 사용량)이고, 도 12(b)는 본 발명의 일 실시예인 질의 처리 방법에 의해 포인트 질의가 처리되는 시간을 파라미터 변화에 따라 도시한 그래프(Y축은 처리 시간)이고, 도 12(c)는 본 발명의 일 실시예인 질의 처리 방법에 의해 레인지 질의가 처리되는 시간을 파라미터 변화에 따라 도시한 그래프(Y축은 처리 시간)이다.
도 12를 살펴보면, 메모리 사용량과 질의 처리 시간은 트레이드 오프(trade off) 관계에 있음을 알 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (10)
- 비디오 검색을 위한 블록 생성 장치에서 수행되는 비디오 검색을 위한 블록 생성 방법에 있어서,비디오를 구성하는 프레임들 중, 프레임의 공간 정보인 위치 정보 및 방향 정보 중 적어도 하나의 정보가 비선형적으로 변화하는 기준 프레임을 검출하는 단계; 및기준 프레임을 기반으로 복수의 프레임이 포함된 틸트(tilt) 블록을 생성하는 단계를 포함하는 비디오 검색을 위한 블록 생성 방법.
- 청구항 1에 있어서, 상기 기준 프레임을 검출하는 단계는,비디오를 구성하는 프레임들 중, 시작 프레임 및 종료 프레임을 기반으로 회귀선(regression line)을 생성하는 단계;비디오를 구성하는 임의의 프레임과 동일한 시간 정보를 가지는 회귀선 상의 임의의 지점을 선택하는 단계;회귀선 상의 임의의 지점과 임의의 프레임 간의 거리를 산출하는 단계; 및산출한 거리가 미리 정의된 기준 거리보다 큰 경우, 임의의 프레임을 기준 프레임으로 결정하는 단계를 포함하는 비디오 검색을 위한 블록 생성 방법.
- 청구항 1에 있어서, 상기 기준 프레임을 검출하는 단계는,비디오를 구성하는 프레임들의 방향 정보를 기반으로 방향 정보의 중간값을 산출하는 단계; 및비디오를 구성하는 프레임들 중, 임의의 프레임의 방향 정보와 중간값의 차이가 미리 정의된 기준 값보다 큰 경우, 임의의 프레임을 기준 프레임으로 결정하는 단계를 포함하는 비디오 검색을 위한 블록 생성 방법.
- 청구항 1에 있어서, 상기 틸트 블록을 생성하는 단계는,기준 프레임을 기준으로, 비디오를 구성하는 프레임들을 적어도 두 개의 그룹으로 분류하는 단계; 및그룹을 구성하는 프레임들을 포함하고, 그룹을 구성하는 프레임들 중 시작 프레임과 종료 프레임이 형성하는 선과 평행한 틸트 블록을 생성하는 단계를 포함하는 비디오 검색을 위한 블록 생성 방법.
- 비디오를 구성하는 프레임들 중, 프레임의 공간 정보인 위치 정보 및 방향 정보 중 적어도 하나의 정보가 비선형적으로 변화하는 기준 프레임을 검출하는 검출부; 및기준 프레임을 기반으로 복수의 프레임이 포함된 틸트(tilt) 블록을 생성하는 생성부를 포함하되,상기 생성부는, 상기 복수의 프레임 중 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 상기 틸트 블록을 생성하는, 비디오 검색을 위한 블록 생성 장치.
- 질의(query) 처리 장치에서 수행되는 질의 처리 방법에 있어서,비디오를 구성하는 복수의 프레임을 포함하는 틸트(tilt) 블록들 중, 질의에 대응하는 틸트 블록을 추출하는 단계;추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중, 추출한 틸트 블록을 구성하는 시작 프레임과 질의 간의 거리를 기반으로 질의에 대응하는 두 개의 단위 블록을 추출하는 단계; 및추출한 두 개의 단위 블록과 두 개의 단위 블록 사이에 위치한 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 단계를 포함하되,상기 틸트 블록은 틸트 블록을 구성하는 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 생성된, 질의 처리 방법.
- 청구항 6에 있어서, 상기 질의에 대응하는 틸트 블록을 추출하는 단계는,상기 질의가 레인지(range) 질의인 경우에 레인지 질의와 틸트 블록들이 겹치는 임계점들을 검출하고, 틸트 블록들 중 상기 임계점들을 포함하는 틸트 블록을 추출하는 질의 처리 방법.
- 청구항 7에 있어서, 상기 두 개의 단위 블록을 추출하는 단계는,추출한 틸트 블록을 구성하는 프레임들 중, 시작 프레임과 가장 가까운 위치에 존재하는 임계점에 대응하는 제1 단위 블록과 시작 프레임으로부터 가장 먼 위치에 존재하는 임계점에 대응하는 제2 단위 블록을 추출하는 질의 처리 방법.
- 청구항 8에 있어서, 상기 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 단계는,상기 제1 단위 블록, 상기 제2 단위 블록 및 상기 제1 단위 블록과 상기 제2 단위 블록의 사이에 위치하는 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 레인지 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 질의 처리 방법.
- 비디오를 구성하는 복수의 프레임을 포함하는 틸트(tilt) 블록들 중, 질의(query)에 대응하는 틸트 블록을 추출하는 제1 추출부;추출한 틸트 블록을 구성하는 각각의 프레임을 포함하는 단위 블록들 중, 추출한 틸트 블록을 구성하는 시작 프레임과 질의 간의 거리를 기반으로 질의에 대응하는 두 개의 단위 블록을 추출하는 제2 추출부; 및추출한 두 개의 단위 블록과 두 개의 단위 블록 사이에 위치한 단위 블록 중, 임의의 단위 블록에 포함된 프레임의 위치 정보를 기반으로 질의에 대응하는 프레임을 포함하는 단위 블록을 추출하는 제3 추출부를 포함하되,상기 틸트 블록은 틸트 블록을 구성하는 시작 프레임과 종료 프레임이 형성하는 선에 평행하도록 생성된, 질의 처리 장치.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/412,799 US20150149458A1 (en) | 2012-07-11 | 2013-03-11 | Method for generating blocks for video searching and method for processing queries based on blocks generated thereby |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2012-0075666 | 2012-07-11 | ||
| KR1020120075666A KR101305732B1 (ko) | 2012-07-11 | 2012-07-11 | 비디오 검색을 위한 블록 생성 방법 및 이를 통해 생성된 블록을 기초로 한 질의 처리 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014010812A1 true WO2014010812A1 (ko) | 2014-01-16 |
Family
ID=49455467
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2013/001946 Ceased WO2014010812A1 (ko) | 2012-07-11 | 2013-03-11 | 비디오 검색을 위한 블록 생성 방법 및 이를 통해 생성된 블록을 기초로 한 질의 처리 방법 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20150149458A1 (ko) |
| KR (1) | KR101305732B1 (ko) |
| WO (1) | WO2014010812A1 (ko) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102200246B1 (ko) * | 2013-12-31 | 2021-01-08 | 주식회사 케이티 | 콘텐츠 검색 방법, 웨어러블 디바이스 및 컴퓨터 판독가능 매체 |
| CN106227781B (zh) * | 2016-07-18 | 2019-08-23 | 中国农业大学 | 大数据下空间单点数据的快速检索方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20090019184A (ko) * | 2007-08-20 | 2009-02-25 | 삼성테크윈 주식회사 | 전자지도에 포함된 이미지 파일을 이용한 이미지 재생장치, 이의 재생 방법 및 상기 방법을 실행하기 위한프로그램을 기록한 기록매체. |
| KR20090123227A (ko) * | 2008-05-27 | 2009-12-02 | 삼성전자주식회사 | 검색 서비스 제공장치, 방법 및 프로그램 |
| KR20110068587A (ko) * | 2009-12-16 | 2011-06-22 | 인하대학교 산학협력단 | 위치 정보를 포함하는 영상을 대상으로 한 내용기반 검색 서비스 방법 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030028770A (ko) * | 2002-07-13 | 2003-04-10 | 최덕신 | Gps 디지털 카메라 및 디지털 지도정보가 있는 디지털 앨범 시스템 |
| KR100723922B1 (ko) * | 2005-02-28 | 2007-05-31 | 주식회사 남성 | 지피에스 기능을 갖는 디지털 촬영 기기 및 그의 촬영지 정보 설정 방법 |
| KR100828357B1 (ko) * | 2005-05-16 | 2008-05-08 | 삼성전자주식회사 | 영상 촬영 장치에서 저장된 데이터 저장 방법 및 장치, 및 영상 데이터에 포함된 위치 정보를 이용한 네비게이션 장치 |
| SG10201600432YA (en) * | 2011-02-21 | 2016-02-26 | Univ Singapore | Apparatus, system, and method for annotation of media files with sensor data |
| US8983192B2 (en) * | 2011-11-04 | 2015-03-17 | Google Inc. | High-confidence labeling of video volumes in a video sharing service |
-
2012
- 2012-07-11 KR KR1020120075666A patent/KR101305732B1/ko not_active Expired - Fee Related
-
2013
- 2013-03-11 WO PCT/KR2013/001946 patent/WO2014010812A1/ko not_active Ceased
- 2013-03-11 US US14/412,799 patent/US20150149458A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20090019184A (ko) * | 2007-08-20 | 2009-02-25 | 삼성테크윈 주식회사 | 전자지도에 포함된 이미지 파일을 이용한 이미지 재생장치, 이의 재생 방법 및 상기 방법을 실행하기 위한프로그램을 기록한 기록매체. |
| KR20090123227A (ko) * | 2008-05-27 | 2009-12-02 | 삼성전자주식회사 | 검색 서비스 제공장치, 방법 및 프로그램 |
| KR20110068587A (ko) * | 2009-12-16 | 2011-06-22 | 인하대학교 산학협력단 | 위치 정보를 포함하는 영상을 대상으로 한 내용기반 검색 서비스 방법 |
Non-Patent Citations (2)
| Title |
|---|
| AY, SAKIRE ARSLAN ET AL.: "Viewable scene modeling for geospatial video search", MM '08 PROCEEDINGS OF THE 16TH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA., 31 October 2008 (2008-10-31), pages 309 - 318 * |
| KIM, SEON HO ET AL.: "Design and implementation of geo-tagged video search framework", J. VIS. COMMUN. IMAGE R., vol. 21, 2 August 2010 (2010-08-02), pages 773 - 786 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150149458A1 (en) | 2015-05-28 |
| KR101305732B1 (ko) | 2013-09-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2015016619A1 (en) | Electronic apparatus, method of controlling the same, and image reproducing apparatus and method | |
| WO2014148692A1 (en) | Display device and method for controlling the same | |
| WO2014157886A1 (en) | Method and device for executing application | |
| WO2016209020A1 (en) | Image processing apparatus and image processing method | |
| WO2019107981A1 (en) | Electronic device recognizing text in image | |
| WO2016074169A1 (zh) | 一种对目标物体的检测方法、检测装置以及机器人 | |
| WO2016200197A1 (ko) | 사용자 기준 공간좌표계 상에서의 제스처 검출 방법 및 장치 | |
| WO2020101420A1 (ko) | 증강현실 기기의 광학 특성 측정 방법 및 장치 | |
| WO2021149980A1 (ko) | 디스플레이 장치 및 그 제어방법 | |
| WO2020171333A1 (ko) | 이미지 내의 오브젝트 선택에 대응하는 서비스를 제공하기 위한 전자 장치 및 방법 | |
| WO2020071823A1 (en) | Electronic device and gesture recognition method thereof | |
| EP3632119A1 (en) | Display apparatus and server, and control methods thereof | |
| WO2019231042A1 (ko) | 생체 인증 장치 | |
| WO2019143050A1 (en) | Electronic device and method for controlling autofocus of camera | |
| EP3656124A1 (en) | Device and method for providing content | |
| WO2021210807A1 (ko) | 멀티 카메라를 포함하는 전자 장치 및 촬영 방법 | |
| WO2022092451A1 (ko) | 딥러닝을 이용한 실내 위치 측위 방법 | |
| WO2021145667A1 (ko) | 카메라 이동 제어 방법 및 장치 | |
| WO2016126083A1 (ko) | 주변 상황 정보를 통지하기 위한 방법, 전자 장치 및 저장 매체 | |
| WO2014010812A1 (ko) | 비디오 검색을 위한 블록 생성 방법 및 이를 통해 생성된 블록을 기초로 한 질의 처리 방법 | |
| WO2014178578A1 (en) | Apparatus and method for generating image data in portable terminal | |
| WO2021020760A1 (ko) | 렌즈 광학계 | |
| WO2023219451A1 (en) | Method and apparatus for recognition of a motion in a video | |
| WO2020224089A1 (zh) | 图案码位置调整方法、装置及计算机可读存储介质 | |
| WO2022186451A1 (ko) | 시선 집중도 산출 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13817172 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14412799 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13817172 Country of ref document: EP Kind code of ref document: A1 |

















