WO2015131369A1 - Constructing a visual representation of a video - Google Patents

Constructing a visual representation of a video Download PDF

Info

Publication number
WO2015131369A1
WO2015131369A1 PCT/CN2014/072987 CN2014072987W WO2015131369A1 WO 2015131369 A1 WO2015131369 A1 WO 2015131369A1 CN 2014072987 W CN2014072987 W CN 2014072987W WO 2015131369 A1 WO2015131369 A1 WO 2015131369A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
visual representation
dimensional visual
program code
frame
Prior art date
Application number
PCT/CN2014/072987
Other languages
French (fr)
Inventor
Kongqiao Wang
Yingfei Liu
Hao Wang
Original Assignee
Nokia Technologies Oy
Nokia (China) Investment Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy, Nokia (China) Investment Co., Ltd. filed Critical Nokia Technologies Oy
Priority to PCT/CN2014/072987 priority Critical patent/WO2015131369A1/en
Publication of WO2015131369A1 publication Critical patent/WO2015131369A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • G06T3/16
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Definitions

  • An example embodiment of the present invention relates generally to the construction of a visual representation of a video and, more particularly, to the construction of a visual representation of a video that includes one or more segmented objects from frames of the video.
  • one or more frames of the video may be identified. These frames may be identified as being representative of the video, as being interesting or noteworthy or for any other purpose.
  • a method, apparatus and computer program product may be provided in accordance with an example embodiment in order to construct a visual representation of a video including one or more segmented objects from the frames of the video.
  • the visual representation of the video that is constructed in accordance with an example embodiment permits the segmented objects from the frames of the video to be presented in a manner that is representative of the video and that provides context for the segmented objects.
  • a method in one embodiment, includes identifying an object that appears in a plurality of frames of a video.
  • the method of this embodiment also includes segmenting the object from one or more frames of the video to create one or more segmented objects.
  • the method of this example embodiment also includes constructing a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object.
  • the three-dimensional visual representation also includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
  • the method of an example embodiment may construct the three-dimensional visual representation by constructing a box having at least three sides.
  • the representation of the at least one frame of the video that includes the object defines an end of the box.
  • the box of an example embodiment also includes first and second sides extending from the end of the box.
  • the method may construct a three-dimensional visual
  • the representation by overlaying the one or more segmented objects at least partially on at least one of the first and second sides of the box.
  • the first and second sides have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
  • the method of an example embodiment may also include identifying a plurality of key frames of the video.
  • the method may identify the object by identifying the object in the plurality of key frames.
  • the method of an example embodiment may also include receiving an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out.
  • the method may also include supplementing the three- dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
  • an apparatus in another embodiment, includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least identify an object that appears in the plurality of frames of a video.
  • the at least one memory and the computer program code are also configured to, with the processor, cause the apparatus of this embodiment to segment the object from one or more frames of the video to create one or more segmented objects.
  • the at least one memory and the computer program code are also configured to, with the processor, cause the apparatus of this embodiment to construct a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object.
  • the three-dimensional visual representation includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus of an example embodiment to construct a three-dimensional visual representation by constructing a box having at least three sides.
  • the representation of the at least one frame of the video that includes the object defines an end of the box.
  • the box may also include first and second sides extending from the end of the box.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to construct the three-dimensional visual representation by overlaying the one or more segmented objects at least partially on at least one of the first and second sides of the box.
  • the first and second sides may have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
  • the at least one memory and the computer program code may be further configured to, with the processor, cause the apparatus of an example embodiment to identify a plurality of key frames of the video.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to identify the object by identifying the object in a plurality of key frames.
  • the at least one memory and the computer program code may be further configured to, with the processor, cause the apparatus of an example embodiment to receive an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out.
  • the at least one memory and the computer program code may be further configured to, with the processor, cause the apparatus to supplement the three-dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
  • a computer program product includes at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein with the computer-executable program code portions including program code instructions configured, upon execution, to identify an object that appears in the plurality of frames of the video.
  • the computer-executable program code portions of this embodiment also include program code instructions configured, upon execution, to segment the object from one or more frames of the video to create one or more segmented objects.
  • the computer-executable program code portions of this example embodiment also include program code instructions that are configured, upon execution, to construct a three- dimensional visual representation of the video including a representation of at least one frame of the video that includes the object.
  • the three-dimensional visual representation includes one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
  • the program code instructions configured to construct a three-dimensional visual representation may include program code instructions configured to construct a box having at least three sides.
  • the representation of the at least one frame of the video that includes the object defines an end of the box.
  • the box may also include first and second sides extending from the end of the box.
  • the program code instructions configured to construct the three-dimensional visual representation may include program code instructions configured to overlay the one or more segmented objects at least partially on at least one of the first and second sides of the box.
  • the first and second sides may have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
  • the computer-executable program code portions of an example embodiment may also include program code instructions configured to identify a plurality of key frames of the video.
  • the program code instructions that are configured to identify the object in this embodiment may include program code instructions configured to identify the object in the plurality of key frames.
  • the computer-executable program code portions of an example embodiment may also include program code instructions configured to receive an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out. In response to the input indicating that the three-dimensional visual representation should be zoomed in, the computer-executable program code portions may also include program code instructions configured to supplement the three-dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
  • an apparatus in yet another embodiment, includes means for identifying objects that appear in a plurality of frames of the video.
  • the apparatus of this example embodiment also includes means for segmenting the object from one or more frames of the video to create one or more segmented objects.
  • the apparatus further includes means for constructing a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object.
  • a three- dimensional visual representation includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
  • Figure 1 is a block diagram of an apparatus that may be specifically configured in accordance with an example embodiment of the present invention
  • Figure 2 is a flowchart illustrating operations performed, such as by the apparatus of Figure 1 , in accordance with an example embodiment of the present invention
  • Figure 3 is a three-dimensional visual representation of a video as presented upon a display of a mobile terminal in accordance with an example embodiment of the present invention
  • Figure 4 is a flowchart illustrating operations performed with respect to the construction of a three-dimensional visual representation of a video in accordance with an example embodiment of the present invention
  • Figure 5 is a flowchart illustrating operations performed in conjunction with zooming of a three-dimensional representation of a video in accordance with an example embodiment of the present invention
  • Figures 6A, 6B and 6C are three-dimensional visual representations of a video that are presented in sequence upon a display of a mobile terminal and that illustrate supplementation of the three-dimensional visual representation with one or more additional segmented objects in response to an input indicating that the three-dimensional visual representation should be zoomed in, in accordance with an example embodiment of the present invention
  • Figure 7 is a three-dimensional visual representation presented by a display of a mobile terminal that illustrates the selection of a segmented object in accordance with an example embodiment of the present invention
  • Figure 8 illustrates the frame of the video that includes the segmented object that was selected in Figure 7 and that further illustrates the removal of some background that was initially included with the segmented object in accordance with an example embodiment of the present invention
  • Figure 9 illustrates the frame of the video that includes the segmented object that was selected in Figure 7 and that further illustrates the removal of additional background that was initially included with the segmented object in accordance with an example embodiment of the present invention
  • Figure 10 illustrates the frame of the video that includes the segmented object that was selected in Figure 7 following the removal of background imagery that was initially included with the segmented object in accordance with an example embodiment of the present invention.
  • the term 'circuitry' refers to (a) hardware-only circuit implementations (for example, implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term herein, including in any claims.
  • the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
  • the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
  • a method, apparatus and computer program product are provided in accordance with an example embodiment in order to construct a three-dimensional visual representation of a video.
  • the method, apparatus and computer program product may construct a three-dimensional visual representation of a video that includes both a representation of at least one frame of the video as well as one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
  • the three-dimensional visual representation of a video includes both a representation of at least one frame of the video as well as one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
  • representation of the video may provide a useful and intuitive summary of the video that may be quickly reviewed and that may be stored and/or transmitted in a more efficient manner relative to the video itself.
  • the method, apparatus and computer program product of an example embodiment may construct the three-dimensional visual representation of the video in an efficient manner without requiring extensive input or involvement by a user.
  • the apparatus may be embodied by or associated with a variety of computing devices including, for example, a variety of video recording and/or playback devices, in this regard, the apparatus may be embodied by or otherwise associated with a mobile terminal, such as a personal digital assistant (PDA), mobile telephone, smartphone, companion device, for example, a smart watch, pager, mobile television, gaming device, laptop computer, camera, tablet computer, touch surface, video recorder, audio/video player, radio, electronic book, positioning device (for example, global positioning system (GPS) device), or any combination of the aforementioned, and other types of voice and text communications systems.
  • PDA personal digital assistant
  • companion device for example, a smart watch, pager, mobile television, gaming device, laptop computer, camera, tablet computer, touch surface, video recorder, audio/video player, radio, electronic book, positioning device (for example, global positioning system (GPS) device), or any combination of the aforementioned, and other types of voice and text communications systems.
  • GPS global positioning system
  • the apparatus may be embodied by
  • the apparatus of the embodiment of Figure 1 may include or otherwise be in communication with a processor 12, a memory device 14, a user interface 16 and optionally a communication interface 18 and/or a camera 20.
  • the processor (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory device via a bus for passing information among components of the apparatus.
  • the memory device may be non-transitory and may include, for example, one or more volatile and/or non-volatile memories.
  • the memory device may be an electronic storage device (for example, a computer readable storage medium) comprising gates configured to store data (for example, bits) that may be retrievable by a machine (for example, a computing device like the processor).
  • the memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention.
  • the memory device could be configured to buffer input data for processing by the processor.
  • the memory device could be configured to store instructions for execution by the processor.
  • the apparatus 10 may be embodied by a computing device, such as, for example, a variety of video recording and/or playback devices.
  • the apparatus may be embodied as a chip or chip set.
  • the apparatus may comprise one or more physical packages (for example, chips) including materials, components and/or wires on a structural assembly (for example, a circuit board).
  • the structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon.
  • the apparatus may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip.”
  • a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
  • the processor 12 may be embodied in a number of different ways.
  • the processor may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like.
  • the processor may include one or more processing cores configured to perform independently.
  • a multi-core processor may enable multiprocessing within a single physical package.
  • the processor may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
  • the processor 12 may be configured to execute instructions stored in the memory device 14 or otherwise accessible to the processor.
  • the processor may be configured to execute hard coded
  • the processor may represent an entity (for example, physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly.
  • the processor when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein.
  • the processor when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed.
  • the processor may be a processor of a specific device (for example, the client device 10 and/or a network entity) configured to employ an embodiment of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein.
  • the processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor.
  • ALU arithmetic logic unit
  • the apparatus 10 of the illustrated embodiment also includes a user interface 16.
  • the user interface such as a display, may be in communication with the processor 12 to provide output to the user and, in some embodiments, to receive an indication of a user input, such as in an instance in which the user interface includes a touch screen display.
  • the user interface may also include a keyboard, a mouse, a joystick, touch areas, soft keys, one or more microphones, a plurality of speakers, or other input/output mechanisms.
  • the processor may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as a display and, in some embodiments, a plurality of speakers, a ringer, one or more microphones and/or the like.
  • the processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (for example, software and/or firmware) stored on a memory accessible to the processor (for example, memory device 14, and/or the like).
  • computer program instructions for example, software and/or firmware
  • the apparatus 10 of the illustrated embodiment may also optionally include a communication interface 18 that may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from to a communications device in communication with the apparatus.
  • the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network.
  • the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s).
  • the communication interface may alternatively or also support wired communication.
  • the communication interface may include a communication modem and/or other hardware and/or software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
  • DSL digital subscriber line
  • USB universal serial bus
  • the apparatus 10 of some embodiment may include or be associated with a camera 20 that is in communication with the processor 12.
  • the camera may be any means for capturing a video for storage, display or transmission including, for example, an imaging sensor.
  • the camera may include a digital camera including an imaging sensor capable of forming a digital video file from a plurality of captured images.
  • the camera may include all hardware, such as a lens, an imaging sensor and/or other optical device(s), and software necessary for creating a digital video file from a plurality of captured images.
  • the camera may include only the hardware needed to view a video, while the memory stores instructions for execution by the processor in the form of software necessary to create a digital video file from a plurality of captured images.
  • the camera may further include a processing element such as a co-processor which assists the processor in processing image data and an encoder and/or decoder for compressing and/or decompressing image data.
  • the encoder and/or decoder may encode and/or decode according to a predefined format, such as a JPEG standard format.
  • the video that is captured may be stored for future viewings and/or manipulations in the memory of the apparatus and/or in a memory external to the apparatus, such as the memory of a video playback system.
  • the operations performed, such as by the apparatus 10 of Figure 1 , in order to construct a three-dimensional visual representation of a video in accordance with an example embodiment is illustrated.
  • the video comprised of a plurality of frames ordered in a time sequence may have been captured by the camera 20.
  • the video may be stored by memory 14 or be received by the communication interface 18 from a third party.
  • the apparatus may include means, such as the processor 12 or the like, for identifying an object that appears in a plurality of frames of the video.
  • the object may be identified in various manners.
  • the object may be identified based upon input by a user who, for example, may touch or otherwise select the object within a frame of the video.
  • the object may be identified by the processor in accordance with other criteria.
  • the processor may be configured to identify the object based upon a determination across a plurality of frames that the object has moved relative to the background.
  • the processor may be configured to identify the object based upon a relative position of the object within the frames of the video, such as by identifying the object based upon the location of the object in a central portion of the all, a majority or at least a predetermined percentage of the frames of the video.
  • the object is identified by the processor 12 based upon the appearance of the object in a plurality of frames of the video.
  • the number of frames of the video in which the object is identified may be defined in various manners.
  • the processor may identify the object in a predefined number of frames of the video.
  • the user may provide input indicative of the number of frames of the video in which the object should be identified.
  • the processor of an example embodiment may be configured to identify the object in a number of frames of the video that depends upon the length of the video and, as such, the total number of frames in the video.
  • the number of frames of the video in which the object is identified may be proportional to, such as a predetermined percentage of, the total number of frames of the video.
  • the processor of an example embodiment may be configured to identify the object in frames of the video that are spaced apart throughout the length or at least throughout a portion of the video.
  • the frames of the video in which the object are identified may be continuous, the frames of the video in which the object is identified may, in an example embodiment, be spaced apart in the time sequence.
  • the frames of the video in which the object is identified may be spaced evenly throughout the video or may be spaced in an uneven manner, such as in an instance in which the object that is identified moves more in one segment of the video than in another segment, such that the object is identified in a greater percentage of the frames during the period of time in which the object is moving to a greater degree than in other portions of the video.
  • the apparatus 10 may include means, such as the processor 12 or the like, for identifying a plurality of key frames of the video as shown in block 30 of Figure 2.
  • the processor of this example embodiment may be configured to identify the key frames in various manners. In one embodiment, however, the processor is configured to identify the key frame as those frames that exhibit the most change or the greatest difference from a prior frame. In this regard, the processor of an example embodiment may identify the key frames as those frames of the video that include the object and in which the object has changed or moved to the greatest degree relative to the prior frame of the video. In this embodiment, once the key frames of the video have been identified, the processor may be configured to identify the object that appears in the key frames of the video.
  • the apparatus 10 may also include means, such as the processor 12 or the like, for segmenting the object from one or more frames of the video to create one or more segmented objects.
  • the processor may be configured to segment the object that has been identified from the one or more frames of the video, such as the one or more key frames of the video, by separating the object from the background of the frame, thereby isolating the visual representation of the object relative to the remainder of the frame.
  • the apparatus 10 may also include means, such as the processor 12, the user interface 16 or the like, for constructing a three-dimensional visual representation of the video. See block 36 of Figure 2.
  • a mobile terminal 40 e.g., a smartphone
  • the three-dimensional visual representation of the video may be presented upon the display.
  • the three-dimensional visual representation includes a representation 44 of at least one frame of the video that includes the object.
  • the three-dimensional visual representation also includes the one or more segmented objects 46 positioned in a time sequence relative to the at least one frame of the video.
  • the object that has been identified in Figure 3 is a skateboarder, including both the person and the skateboard.
  • the three-dimensional visual representation of the video that is constructed in this example embodiment includes a representation 44 of at least one frame of the video as shown on the right hand side of the three-dimensional visual representation as well as a plurality, e.g., four, segmented objects 46.
  • the segmented objects are from different frames of the video and are positioned in time sequence relative to one another and relative to the frame of the video for which a representation.
  • the time sequence in which the segmented objects are positioned in the three-dimensional visual representation follows the same order in which the frames appeared within the video.
  • the time sequence may be represented in various manner by the three-dimensional visual representation of the video
  • the three-dimensional visual representation of the example embodiment of Figure 3 is such that the time sequence extends from an earlier time on the left to a later time on the right with a segmented object extracted from an earlier frame of the video being positioned to the left of a segmented object from a later frame.
  • the three-dimensional visual representation may be constructed by the processor 12 such that the segmented objects 46 are not only positioned in a time sequence, such as along a horizontal axis,, but are also generally aligned, such as along a vertical axis, with one another.
  • the segmented objects are spaced from one another along the horizontal axis so as to indicate the time sequence of the frames of the video from which the segmented objects were identified, the segmented objects are positioned vertically in general alignment with one another as well as in general alignment with the object in the representation 44 of the at least one frame of the video.
  • the three-dimensional visual representation of the video illustrates changes in or movement by the segmented object over the course of time and, as such, provides a succinct summary of the video in a manner that is understandable by and intuitive to a viewer.
  • the identification of the object and the segmentation of the object from one or more frames of the video by the processor permit the three-dimensional visual representation of the video to be constructed in an efficient manner.
  • the apparatus may include means, such as the processor 12, for constructing a box having at least three sides. See block 50 of Figure 4.
  • a representation 44 of the at least one frame of the video that includes the object defines an end of the box, such as the right hand side of the box in the embodiment of Figure 3.
  • the representation of the at least one frame of the video that includes the object that defines the end of the box may also be presented in perspective as shown in Figure 3.
  • the box of this example embodiment may also include first and second sides extending from the end of the box.
  • the first and second sides may include the back side and the bottom side of the box.
  • the box that is constructed to provide the three-dimensional visual representation of the video may have other orientations and, as such, the first and second side may comprise different sides of the box in other embodiments.
  • the apparatus 10 of an example embodiment may include means, such as the processor 12, the user interface 16 or the like, for causing the first and second sides that extend from the end of the box to have a color that is at least partially defined by the representation 44 of the at least one frame of the video that includes the object.
  • reference to color may include both gray levels as well as other colors.
  • the colors of the first and second side are at least partially defined by the color of the pixels along the edge of the representation of the at least one frame of the video.
  • the colors of the first and second sides of the box may be the same as or similar to the colors of the pixels along the edge of the representation of the at least one frame of the video.
  • the colors of the pixels along the edge of the representation of the at least one frame of the video may extend in horizontal stripes such that the colors of the first and second sides appear to be a continuation of the colors that appear along the adjacent edges, that is, the left side edge and the bottom edge, of the representation of the frame of the video that defines the end of the box.
  • the first and second sides of the box of this example embodiment appear related to and, to some degree, a continuation of the background of the representation of the at least one frame of the video that defines the end of the box.
  • the colors of the first and second sides of the box of this example embodiment are relatively continuous from the left side of the box to the right side of the box so as not to distract from the segmented object.
  • the apparatus 10 of this example embodiment may also include means, such as the processor 12, the user interface 16 or the like, for overlaying the one or more segmented objects 46 at least partially on at least one of the first and second sides of the box.
  • the position of the segmented object along the vertical axis, as defined by the position of the object in the frames of the video and the representation 44 of the frame of the video that defines the end of the box is such that the segmented object overlays a portion of both the first and second sides of the box.
  • the segmented objects may be spaced apart along the length of the first and second sides in the same time sequence in which the frames from which segmented objects were identified appeared in the video.
  • the segmented objects may be spaced evenly across the width of the three-dimensional visual representation or the segmented objects may be overlaid with different spacing therebetween, such as in instances in which the frames from which the segmented objects were identified were not evenly spaced throughout the video.
  • the user may interact with the three-dimensional visual representation of the video in order to edit or otherwise modify the three-dimensional visual representation.
  • the user may zoom in or zoom out relative to the three-dimensional visual representation in order to modify the three-dimensional visual representation to add or subtract segmented objects 46, respectively, so as to create slow motion and fast motion effects, respectively.
  • the apparatus 10 may include means, such as the processer 12, the user interface 16 or the like, for receiving an input, such as from a user, indicating that the three-dimensional visual representation should be zoomed in or zoomed out.
  • the apparatus may be configured to receive various types of inputs indicative of zooming in or zooming out
  • the apparatus such as the processor, of an example embodiment may receive a pinching gesture, such as a pinching out gesture for zooming in and a pinching in gesture for zooming out.
  • the apparatus 12 may include means, such as a processor 12 or the like, for determining the type of zooming to be provided based upon the input as shown in block 62 of Figure 5.
  • Figure 6A depicts a pinching out gesture in which the user places two fingers at an initial location 70 and then moves one or both fingers outwardly relative to the other finger to a subsequent position 74.
  • the apparatus such as the processor, the user interface 16 or the like, may be configured to cause the three-dimensional visual representation of the video to be spread in the same outward direction that the user's fingers were moved.
  • the resulting three-dimensional visual representation includes additional space between the segmented objects 46.
  • the apparatus 10 may include means, such as the processor 12, the user interface 16 or the like, for supplementing the three-dimensional visual
  • the processor may be configured to determine that the additional space between segmented objects is larger than a segmented object itself.
  • the processor of this example embodiment may be configured to identify and segment the object from another frame of the video and to insert the additionally segmented object in the three-dimensional visual representation, thereby resulting in a fast motion effect as shown in Figure 6C.
  • each segmented object is identified and extracted from a respective frame of the video.
  • the processor in conjunction with the supplementation of the three-dimensional visual representation, may be configured to identify additional segmented objects from frames that appear in the video between the frames from which the adjacent segmented objects were extracted.
  • the segmented object that is second to the left may have been added to the three-dimensional visual representation as a result of the zooming in resulting from the pinching out gesture of Figures 6A and 6B.
  • This additional segmented object may have been extracted by the processor from a frame of the video that is sequentially after the frame of the video from which the left most segmented object was extracted and prior to the frame of the video from which the segmented object that is third from the left was extracted, thereby effectively interpolating between the segmented objects.
  • the frames from which the additional segmented objects are extracted in order to supplement the three-dimensional visual representation may be key frames of the video that have been identified as described above or may be frames of the video that are selected in other manners, such as frames of the video that are selected at a predetermined equal spacing throughout length of the video.
  • the three-dimensional visual representation may be zoomed in, in response to a pinching out gesture.
  • the input may indicate that the three-dimensional visual representation should be zoomed out, such as in response to a pinching in gesture.
  • the apparatus 10 may include means, such as the processor 12, the user interface 16 or the like, for reducing the number of segmented objects included in the three-dimensional visual representation so as to produce a slow motion effect in response to the pinching in gesture. See block 66 of Figure 5.
  • the processor of this example embodiment may determine the segmented objects 46 to be removed from the three-dimensional visual representation in various manners including by removing a number of segmented objects sufficient to prevent overlap of the remaining segmented objects while still providing a representation of the manner in which the segmented object changes over the course of the video.
  • the apparatus 10 such as the processor 12, may be configured to segment the object from a frame of the video by removing the object from the frame after having separated the object from the background of the frame.
  • the segmented object 46 may be included within the three-dimensional visual representation of the video without the distraction or noise associated with the background of the respective frame.
  • the processor may initially segment the object in such a manner that the segmented object not only includes the object itself, but also a portion of the background.
  • the second and third segmented objects from the left include not only the object, that is, the skateboarder, but also a portion of the background of the respective frames from which the segmented objects were extracted.
  • the segmented object that is second to the left includes a portion of the background of the original frame beneath the left arm of the skateboarder and between the legs of the skateboarder, while the segmented object that is third from left includes a portion of the original background between the legs of the skateboarder.
  • the apparatus may include means, such as the processor, the user interface 16 or the like, for responding to user input in order to remove at least some of the background from the original frame and to further define the segmented object so as to include only the object and none of the background or at least a smaller amount of the background from the original frame.
  • a segmented object 46 may initially be selected, such as in response to a user touching a segmented object as shown as 76 in Figure. 7.
  • the apparatus 10 such as the processor 12, the user interface 16 or the like, may be configured to present the original frame from which the segmented object was extracted, along with the segmented object, as shown in Figure 8.
  • the background of the frame that is not included in the segmented object is lighter or more faded than the segmented object.
  • the portions of the background that are included in the segmented object are shown more brightly, as is the object itself.
  • the apparatus such as the processor, the user interface or the like, is responsive to user input, such as placement and movement of the user's fmger, upon that portion of the segmented object that constitutes the background of the original frame.
  • user input such as placement and movement of the user's fmger
  • the portion of the segmented objected contacted by the user is removed from the segmented object, thereby permitting the user to rub away an unwanted portion of the segmented object, such as the portion of the background of the original frame that is initially included within the segmented object.
  • the segmented image may be considered by the processor to be comprised of superpixels.
  • a superpixel is a group of spatially connected pixels that have a similar color and/or texture.
  • the processor of this embodiment may respond more efficiently to the user input by removing each superpixel that is contacted by the user during the editing operation, as opposed to operating on a per pixel basis.
  • the user may provide input to remove the portion of the background of the original frame that is under the arm of the skateboarder, thereby removing that portion of the background from the segmented object.
  • the user may provide comparable input to remove the portion of the background of the original frame that is between the user's legs that was also included as part of the original segmented object.
  • the resulting segmented object following removal of the background of the original frame is shown in Figure 10 and may, in turn, be incorporated in the three-dimensional visual representation, such as shown in Figure 3.
  • the apparatus 10 may also be configured to respond to the user input associated with one of the segmented objects that causes a portion of the background of the original frame to be removed from the segmented object to similarly modify all other segmented objects, or at least all other segmented objects identified by the user, in a comparable manner.
  • the removal of a portion of the background of the original frame from between the user's legs in the segmented object that is second to the left may also cause the portion of the background of the original frame from which the segmented object that is third from the left was extracted to similarly be automatically removed without further user input, thereby increasing the efficiency with which the three-dimensional visual representation may be edited.
  • the method, apparatus 10 and computer program product of an example embodiment may construct a visual representation of a video including one or more segmented objects from the frames of the video.
  • the visual representation of the video that is constructed in accordance with an example embodiment permits the segmented objects from the frames of the video to be presented in a manner that is representative of the video and that provides context for the segmented objects, such as in terms of the time sequence of the segmented object relative to one another and to a representation of at least one frame of the video.
  • the visual representation of the video may provide an alternative representation of the video that may be reviewed more quickly and may be stored and
  • the method, apparatus and computer program product of an example embodiment may construct the visual representation of the video including one or more segmented objects from frames of the video in an efficient manner by limiting the user involvement that is required in comparison to other techniques in which a user undergoes a time consuming process to identify one or more particular frames of a video that are then presented in a manner that is representative of the video.
  • Figures 2, 4 and 5 illustrate flowcharts of an apparatus 10, method and computer program product according to example embodiments of the invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other communication devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 14 of an apparatus employing an embodiment of the present invention and executed by a processor 12 of the apparatus.
  • any such computer program instructions may be loaded onto a computer or other programmable apparatus (for example, hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks.
  • These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
  • blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, can be implemented by special purpose hardware -based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
  • certain ones of the operations above may be modified or further amplified.
  • additional optional operations may be included, such as indicated by the dashed lines in Figure 2. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.

Abstract

A method, apparatus and computer program product are provided in order to construct a visual representation of a video including one or more segmented objects from the frames of the video. In the context of a method, an object that appears in a plurality of frames of a video is identified. The method also includes segmenting the object from one or more frames of the video to create one or more segmented objects. The method further includes constructing a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object. The three-dimensional visual representation also includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.

Description

CONSTRUCTING A VISUAL REPRESENTATION OF A VIDEO
TECHNOLOGICAL FILED
[0001] An example embodiment of the present invention relates generally to the construction of a visual representation of a video and, more particularly, to the construction of a visual representation of a video that includes one or more segmented objects from frames of the video.
BACKGROUND
[0002] Videos consisting of a plurality of time-sequenced frames are frequently captured, stored, transferred and reviewed. Since a video includes a plurality of frames captured over time, it may correspondingly take some time to view a video. Additionally, the size of at least some video files may be quite large, thereby placing increased demands upon memory for storage of the video files and upon the communication resources in order to transfer the video files, such as to a third party.
[0003] In some instances, one or more frames of the video may be identified. These frames may be identified as being representative of the video, as being interesting or noteworthy or for any other purpose.
BRIEF SUMMARY
[0004] A method, apparatus and computer program product may be provided in accordance with an example embodiment in order to construct a visual representation of a video including one or more segmented objects from the frames of the video. The visual representation of the video that is constructed in accordance with an example embodiment permits the segmented objects from the frames of the video to be presented in a manner that is representative of the video and that provides context for the segmented objects.
[0005] In one embodiment, a method is provided that includes identifying an object that appears in a plurality of frames of a video. The method of this embodiment also includes segmenting the object from one or more frames of the video to create one or more segmented objects. The method of this example embodiment also includes constructing a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object. The three-dimensional visual representation also includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
[0006] The method of an example embodiment may construct the three-dimensional visual representation by constructing a box having at least three sides. In this embodiment, the representation of the at least one frame of the video that includes the object defines an end of the box. The box of an example embodiment also includes first and second sides extending from the end of the box. In this regard, the method may construct a three-dimensional visual
representation by overlaying the one or more segmented objects at least partially on at least one of the first and second sides of the box. In one embodiment, the first and second sides have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
[0007] The method of an example embodiment may also include identifying a plurality of key frames of the video. In this embodiment, the method may identify the object by identifying the object in the plurality of key frames. The method of an example embodiment may also include receiving an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out. In response to the input indicating that the three-dimensional visual representation should be zoomed in, the method may also include supplementing the three- dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
[0008] In another embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least identify an object that appears in the plurality of frames of a video. The at least one memory and the computer program code are also configured to, with the processor, cause the apparatus of this embodiment to segment the object from one or more frames of the video to create one or more segmented objects. The at least one memory and the computer program code are also configured to, with the processor, cause the apparatus of this embodiment to construct a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object. The three-dimensional visual representation includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video. [0009] The at least one memory and the computer program code may be configured to, with the processor, cause the apparatus of an example embodiment to construct a three-dimensional visual representation by constructing a box having at least three sides. In this embodiment, the representation of the at least one frame of the video that includes the object defines an end of the box. The box may also include first and second sides extending from the end of the box. In this embodiment, the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to construct the three-dimensional visual representation by overlaying the one or more segmented objects at least partially on at least one of the first and second sides of the box. The first and second sides may have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
[0010] The at least one memory and the computer program code may be further configured to, with the processor, cause the apparatus of an example embodiment to identify a plurality of key frames of the video. In this embodiment, the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to identify the object by identifying the object in a plurality of key frames. The at least one memory and the computer program code may be further configured to, with the processor, cause the apparatus of an example embodiment to receive an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out. In response to the input indicating that the three-dimensional visual representation should be zoomed in, the at least one memory and the computer program code may be further configured to, with the processor, cause the apparatus to supplement the three-dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
[0011] In a further embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein with the computer-executable program code portions including program code instructions configured, upon execution, to identify an object that appears in the plurality of frames of the video. The computer-executable program code portions of this embodiment also include program code instructions configured, upon execution, to segment the object from one or more frames of the video to create one or more segmented objects. The computer-executable program code portions of this example embodiment also include program code instructions that are configured, upon execution, to construct a three- dimensional visual representation of the video including a representation of at least one frame of the video that includes the object. The three-dimensional visual representation includes one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
[0012] The program code instructions configured to construct a three-dimensional visual representation may include program code instructions configured to construct a box having at least three sides. In this embodiment, the representation of the at least one frame of the video that includes the object defines an end of the box. The box may also include first and second sides extending from the end of the box. In this embodiment, the program code instructions configured to construct the three-dimensional visual representation may include program code instructions configured to overlay the one or more segmented objects at least partially on at least one of the first and second sides of the box. In an example embodiment, the first and second sides may have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
[0013] The computer-executable program code portions of an example embodiment may also include program code instructions configured to identify a plurality of key frames of the video. The program code instructions that are configured to identify the object in this embodiment may include program code instructions configured to identify the object in the plurality of key frames. The computer-executable program code portions of an example embodiment may also include program code instructions configured to receive an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out. In response to the input indicating that the three-dimensional visual representation should be zoomed in, the computer-executable program code portions may also include program code instructions configured to supplement the three-dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
[0014] In yet another embodiment, an apparatus is provided that includes means for identifying objects that appear in a plurality of frames of the video. The apparatus of this example embodiment also includes means for segmenting the object from one or more frames of the video to create one or more segmented objects. In this example embodiment, the apparatus further includes means for constructing a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object. A three- dimensional visual representation includes the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Having thus described example embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
[0016] Figure 1 is a block diagram of an apparatus that may be specifically configured in accordance with an example embodiment of the present invention;
[0017] Figure 2 is a flowchart illustrating operations performed, such as by the apparatus of Figure 1 , in accordance with an example embodiment of the present invention;
[0018] Figure 3 is a three-dimensional visual representation of a video as presented upon a display of a mobile terminal in accordance with an example embodiment of the present invention;
[0019] Figure 4 is a flowchart illustrating operations performed with respect to the construction of a three-dimensional visual representation of a video in accordance with an example embodiment of the present invention;
[0020] Figure 5 is a flowchart illustrating operations performed in conjunction with zooming of a three-dimensional representation of a video in accordance with an example embodiment of the present invention;
[0021] Figures 6A, 6B and 6C are three-dimensional visual representations of a video that are presented in sequence upon a display of a mobile terminal and that illustrate supplementation of the three-dimensional visual representation with one or more additional segmented objects in response to an input indicating that the three-dimensional visual representation should be zoomed in, in accordance with an example embodiment of the present invention;
[0022] Figure 7 is a three-dimensional visual representation presented by a display of a mobile terminal that illustrates the selection of a segmented object in accordance with an example embodiment of the present invention;
[0023] Figure 8 illustrates the frame of the video that includes the segmented object that was selected in Figure 7 and that further illustrates the removal of some background that was initially included with the segmented object in accordance with an example embodiment of the present invention; [0024] Figure 9 illustrates the frame of the video that includes the segmented object that was selected in Figure 7 and that further illustrates the removal of additional background that was initially included with the segmented object in accordance with an example embodiment of the present invention; and
[0025] Figure 10 illustrates the frame of the video that includes the segmented object that was selected in Figure 7 following the removal of background imagery that was initially included with the segmented object in accordance with an example embodiment of the present invention.
DETAILED DESCRIPTION
[0026] Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data," "content," "information," and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with
embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
[0027] Additionally, as used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (for example, implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
[0028] As defined herein, a "computer-readable storage medium," which refers to a non- transitory physical storage medium (for example, volatile or non-volatile memory device), can be differentiated from a "computer-readable transmission medium," which refers to an
electromagnetic signal.
[0029] A method, apparatus and computer program product are provided in accordance with an example embodiment in order to construct a three-dimensional visual representation of a video. In this regard, the method, apparatus and computer program product may construct a three-dimensional visual representation of a video that includes both a representation of at least one frame of the video as well as one or more segmented objects positioned in a time sequence relative to the at least one frame of the video. As such, the three-dimensional visual
representation of the video may provide a useful and intuitive summary of the video that may be quickly reviewed and that may be stored and/or transmitted in a more efficient manner relative to the video itself. Moreover, the method, apparatus and computer program product of an example embodiment may construct the three-dimensional visual representation of the video in an efficient manner without requiring extensive input or involvement by a user.
[0030] One example of an apparatus 10 that may be specifically configured in order to construct a three-dimensional visual representation of a video in accordance with an example embodiment is depicted in Figure 1. The apparatus may be embodied by or associated with a variety of computing devices including, for example, a variety of video recording and/or playback devices, in this regard, the apparatus may be embodied by or otherwise associated with a mobile terminal, such as a personal digital assistant (PDA), mobile telephone, smartphone, companion device, for example, a smart watch, pager, mobile television, gaming device, laptop computer, camera, tablet computer, touch surface, video recorder, audio/video player, radio, electronic book, positioning device (for example, global positioning system (GPS) device), or any combination of the aforementioned, and other types of voice and text communications systems. Alternatively, the apparatus may be embodied by or associated with a fixed computing device, such as a computer workstation, a personal computer, a server or the like.
[0031] Regardless of the manner in which the apparatus 10 is embodied, the apparatus of the embodiment of Figure 1 may include or otherwise be in communication with a processor 12, a memory device 14, a user interface 16 and optionally a communication interface 18 and/or a camera 20. In some embodiments, the processor (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory device via a bus for passing information among components of the apparatus. The memory device may be non-transitory and may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (for example, a computer readable storage medium) comprising gates configured to store data (for example, bits) that may be retrievable by a machine (for example, a computing device like the processor). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device could be configured to buffer input data for processing by the processor.
Additionally or alternatively, the memory device could be configured to store instructions for execution by the processor.
[0032] As noted above, the apparatus 10 may be embodied by a computing device, such as, for example, a variety of video recording and/or playback devices. However, in some embodiments, the apparatus may be embodied as a chip or chip set. In other words, the apparatus may comprise one or more physical packages (for example, chips) including materials, components and/or wires on a structural assembly (for example, a circuit board). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip." As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
[0033] The processor 12 may be embodied in a number of different ways. For example, the processor may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
[0034] In an example embodiment, the processor 12 may be configured to execute instructions stored in the memory device 14 or otherwise accessible to the processor.
Alternatively or additionally, the processor may be configured to execute hard coded
functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (for example, physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor of a specific device (for example, the client device 10 and/or a network entity) configured to employ an embodiment of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor.
[0035] The apparatus 10 of the illustrated embodiment also includes a user interface 16. The user interface, such as a display, may be in communication with the processor 12 to provide output to the user and, in some embodiments, to receive an indication of a user input, such as in an instance in which the user interface includes a touch screen display. In some embodiments, the user interface may also include a keyboard, a mouse, a joystick, touch areas, soft keys, one or more microphones, a plurality of speakers, or other input/output mechanisms. In an example embodiment, the processor may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as a display and, in some embodiments, a plurality of speakers, a ringer, one or more microphones and/or the like. The processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (for example, software and/or firmware) stored on a memory accessible to the processor (for example, memory device 14, and/or the like).
[0036] The apparatus 10 of the illustrated embodiment may also optionally include a communication interface 18 that may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from to a communications device in communication with the apparatus. In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface may alternatively or also support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware and/or software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
[0037] Although the video may be stored in memory 14 or received from another device via the communication interface 18, the apparatus 10 of some embodiment may include or be associated with a camera 20 that is in communication with the processor 12. The camera may be any means for capturing a video for storage, display or transmission including, for example, an imaging sensor. For example, the camera may include a digital camera including an imaging sensor capable of forming a digital video file from a plurality of captured images. As such, the camera may include all hardware, such as a lens, an imaging sensor and/or other optical device(s), and software necessary for creating a digital video file from a plurality of captured images. Alternatively, the camera may include only the hardware needed to view a video, while the memory stores instructions for execution by the processor in the form of software necessary to create a digital video file from a plurality of captured images. In an example embodiment, the camera may further include a processing element such as a co-processor which assists the processor in processing image data and an encoder and/or decoder for compressing and/or decompressing image data. The encoder and/or decoder may encode and/or decode according to a predefined format, such as a JPEG standard format. The video that is captured may be stored for future viewings and/or manipulations in the memory of the apparatus and/or in a memory external to the apparatus, such as the memory of a video playback system.
[0038] Referring now to Figure 2, the operations performed, such as by the apparatus 10 of Figure 1 , in order to construct a three-dimensional visual representation of a video in accordance with an example embodiment is illustrated. The video comprised of a plurality of frames ordered in a time sequence may have been captured by the camera 20. Alternatively, the video may be stored by memory 14 or be received by the communication interface 18 from a third party. Regardless of the origin of the video, as shown in block 32 of Figure 2, the apparatus may include means, such as the processor 12 or the like, for identifying an object that appears in a plurality of frames of the video. The object may be identified in various manners. For example, the object may be identified based upon input by a user who, for example, may touch or otherwise select the object within a frame of the video. Alternatively, the object may be identified by the processor in accordance with other criteria. For example, the processor may be configured to identify the object based upon a determination across a plurality of frames that the object has moved relative to the background. Still further, the processor may be configured to identify the object based upon a relative position of the object within the frames of the video, such as by identifying the object based upon the location of the object in a central portion of the all, a majority or at least a predetermined percentage of the frames of the video.
[0039] The object is identified by the processor 12 based upon the appearance of the object in a plurality of frames of the video. The number of frames of the video in which the object is identified may be defined in various manners. For example, the processor may identify the object in a predefined number of frames of the video. Alternatively, the user may provide input indicative of the number of frames of the video in which the object should be identified. Still further, the processor of an example embodiment may be configured to identify the object in a number of frames of the video that depends upon the length of the video and, as such, the total number of frames in the video. For example, the number of frames of the video in which the object is identified may be proportional to, such as a predetermined percentage of, the total number of frames of the video. Regardless of the number of frames of the video in which the object is identified, the processor of an example embodiment may be configured to identify the object in frames of the video that are spaced apart throughout the length or at least throughout a portion of the video. Thus, although the frames of the video in which the object are identified may be continuous, the frames of the video in which the object is identified may, in an example embodiment, be spaced apart in the time sequence. In this regard, the frames of the video in which the object is identified may be spaced evenly throughout the video or may be spaced in an uneven manner, such as in an instance in which the object that is identified moves more in one segment of the video than in another segment, such that the object is identified in a greater percentage of the frames during the period of time in which the object is moving to a greater degree than in other portions of the video.
[0040] In one example embodiment, the apparatus 10 may include means, such as the processor 12 or the like, for identifying a plurality of key frames of the video as shown in block 30 of Figure 2. The processor of this example embodiment may be configured to identify the key frames in various manners. In one embodiment, however, the processor is configured to identify the key frame as those frames that exhibit the most change or the greatest difference from a prior frame. In this regard, the processor of an example embodiment may identify the key frames as those frames of the video that include the object and in which the object has changed or moved to the greatest degree relative to the prior frame of the video. In this embodiment, once the key frames of the video have been identified, the processor may be configured to identify the object that appears in the key frames of the video.
[0041] As shown in block 34 of Figure 2, the apparatus 10 may also include means, such as the processor 12 or the like, for segmenting the object from one or more frames of the video to create one or more segmented objects. In this regard, the processor may be configured to segment the object that has been identified from the one or more frames of the video, such as the one or more key frames of the video, by separating the object from the background of the frame, thereby isolating the visual representation of the object relative to the remainder of the frame.
[0042] The apparatus 10 may also include means, such as the processor 12, the user interface 16 or the like, for constructing a three-dimensional visual representation of the video. See block 36 of Figure 2. As shown in Figure 3 in which a mobile terminal 40, e.g., a smartphone, that embodies the apparatus includes a touch screen display 42, for example, the three-dimensional visual representation of the video may be presented upon the display. The three-dimensional visual representation includes a representation 44 of at least one frame of the video that includes the object. The three-dimensional visual representation also includes the one or more segmented objects 46 positioned in a time sequence relative to the at least one frame of the video. [0043] By way of example, the object that has been identified in Figure 3 is a skateboarder, including both the person and the skateboard. The three-dimensional visual representation of the video that is constructed in this example embodiment includes a representation 44 of at least one frame of the video as shown on the right hand side of the three-dimensional visual representation as well as a plurality, e.g., four, segmented objects 46. The segmented objects are from different frames of the video and are positioned in time sequence relative to one another and relative to the frame of the video for which a representation. In this regard, the time sequence in which the segmented objects are positioned in the three-dimensional visual representation follows the same order in which the frames appeared within the video. Although the time sequence may be represented in various manner by the three-dimensional visual representation of the video, the three-dimensional visual representation of the example embodiment of Figure 3 is such that the time sequence extends from an earlier time on the left to a later time on the right with a segmented object extracted from an earlier frame of the video being positioned to the left of a segmented object from a later frame.
[0044] Additionally, the three-dimensional visual representation may be constructed by the processor 12 such that the segmented objects 46 are not only positioned in a time sequence, such as along a horizontal axis,, but are also generally aligned, such as along a vertical axis, with one another. In this regard, while the segmented objects are spaced from one another along the horizontal axis so as to indicate the time sequence of the frames of the video from which the segmented objects were identified, the segmented objects are positioned vertically in general alignment with one another as well as in general alignment with the object in the representation 44 of the at least one frame of the video. As shown in Figure 3, the three-dimensional visual representation of the video illustrates changes in or movement by the segmented object over the course of time and, as such, provides a succinct summary of the video in a manner that is understandable by and intuitive to a viewer. Moreover, the identification of the object and the segmentation of the object from one or more frames of the video by the processor permit the three-dimensional visual representation of the video to be constructed in an efficient manner.
[0045] Although the three-dimensional visual representation may be constructed in various manners, the operations performed, such as by the apparatus 10 of Figure 1 , in order to construct the three-dimensional visual representation of the video in accordance with one example embodiment are shown in Figure 4. In this regard, the apparatus may include means, such as the processor 12, for constructing a box having at least three sides. See block 50 of Figure 4. In this embodiment, a representation 44 of the at least one frame of the video that includes the object defines an end of the box, such as the right hand side of the box in the embodiment of Figure 3. In order to construct the box and to permit the box representative of the three-dimensional visual representation of the video to be viewed in perspective, the representation of the at least one frame of the video that includes the object that defines the end of the box may also be presented in perspective as shown in Figure 3. The box of this example embodiment may also include first and second sides extending from the end of the box. In the example of Figure 3, the first and second sides may include the back side and the bottom side of the box. However, the box that is constructed to provide the three-dimensional visual representation of the video may have other orientations and, as such, the first and second side may comprise different sides of the box in other embodiments.
[0046] As shown in block 52 of Figure 4, the apparatus 10 of an example embodiment may include means, such as the processor 12, the user interface 16 or the like, for causing the first and second sides that extend from the end of the box to have a color that is at least partially defined by the representation 44 of the at least one frame of the video that includes the object. In this regard, reference to color may include both gray levels as well as other colors. In one example embodiment, the colors of the first and second side are at least partially defined by the color of the pixels along the edge of the representation of the at least one frame of the video. In this regard, the colors of the first and second sides of the box may be the same as or similar to the colors of the pixels along the edge of the representation of the at least one frame of the video. In regards to the orientation of the box depicted in Figure 3 , the colors of the pixels along the edge of the representation of the at least one frame of the video may extend in horizontal stripes such that the colors of the first and second sides appear to be a continuation of the colors that appear along the adjacent edges, that is, the left side edge and the bottom edge, of the representation of the frame of the video that defines the end of the box. Thus, the first and second sides of the box of this example embodiment appear related to and, to some degree, a continuation of the background of the representation of the at least one frame of the video that defines the end of the box. Moreover, the colors of the first and second sides of the box of this example embodiment are relatively continuous from the left side of the box to the right side of the box so as not to distract from the segmented object. [0047] As shown in block 54 of Figure 4, the apparatus 10 of this example embodiment may also include means, such as the processor 12, the user interface 16 or the like, for overlaying the one or more segmented objects 46 at least partially on at least one of the first and second sides of the box. For example, in the embodiment of Figure 3, the position of the segmented object along the vertical axis, as defined by the position of the object in the frames of the video and the representation 44 of the frame of the video that defines the end of the box, is such that the segmented object overlays a portion of both the first and second sides of the box. The segmented objects may be spaced apart along the length of the first and second sides in the same time sequence in which the frames from which segmented objects were identified appeared in the video. The segmented objects may be spaced evenly across the width of the three-dimensional visual representation or the segmented objects may be overlaid with different spacing therebetween, such as in instances in which the frames from which the segmented objects were identified were not evenly spaced throughout the video.
[0048] The user may interact with the three-dimensional visual representation of the video in order to edit or otherwise modify the three-dimensional visual representation. For example, the user may zoom in or zoom out relative to the three-dimensional visual representation in order to modify the three-dimensional visual representation to add or subtract segmented objects 46, respectively, so as to create slow motion and fast motion effects, respectively. In this example embodiment and as depicted in Figure 5, the apparatus 10 may include means, such as the processer 12, the user interface 16 or the like, for receiving an input, such as from a user, indicating that the three-dimensional visual representation should be zoomed in or zoomed out. Although the apparatus may be configured to receive various types of inputs indicative of zooming in or zooming out, the apparatus, such as the processor, of an example embodiment may receive a pinching gesture, such as a pinching out gesture for zooming in and a pinching in gesture for zooming out.
[0049] In this embodiment, the apparatus 12 may include means, such as a processor 12 or the like, for determining the type of zooming to be provided based upon the input as shown in block 62 of Figure 5. By way of example, Figure 6A depicts a pinching out gesture in which the user places two fingers at an initial location 70 and then moves one or both fingers outwardly relative to the other finger to a subsequent position 74. In response to the pinching out gesture, the apparatus, such as the processor, the user interface 16 or the like, may be configured to cause the three-dimensional visual representation of the video to be spread in the same outward direction that the user's fingers were moved. By spreading the three-dimensional visual representation, such as in a horizontal direction in the embodiment of Figure 6B, the resulting three-dimensional visual representation includes additional space between the segmented objects 46.
[0050] In this example embodiment in which the user input, such as the pinching out gesture, is indicative of an intent to zoom in, the apparatus 10 may include means, such as the processor 12, the user interface 16 or the like, for supplementing the three-dimensional visual
representation with one or more additional segmented objects 46 positioned in the time sequence relative to other ones of the segmented objects. See block 64 of Figure 5. In the example embodiment of Figure 6B, the processor may be configured to determine that the additional space between segmented objects is larger than a segmented object itself. As such, the processor of this example embodiment may be configured to identify and segment the object from another frame of the video and to insert the additionally segmented object in the three-dimensional visual representation, thereby resulting in a fast motion effect as shown in Figure 6C. As described above, each segmented object is identified and extracted from a respective frame of the video. As such, the processor, in conjunction with the supplementation of the three-dimensional visual representation, may be configured to identify additional segmented objects from frames that appear in the video between the frames from which the adjacent segmented objects were extracted. With reference to Figure 6C, for example, the segmented object that is second to the left may have been added to the three-dimensional visual representation as a result of the zooming in resulting from the pinching out gesture of Figures 6A and 6B. This additional segmented object may have been extracted by the processor from a frame of the video that is sequentially after the frame of the video from which the left most segmented object was extracted and prior to the frame of the video from which the segmented object that is third from the left was extracted, thereby effectively interpolating between the segmented objects. Thus, the resulting three-dimensional visual representation remains in time sequence following supplementation. The frames from which the additional segmented objects are extracted in order to supplement the three-dimensional visual representation may be key frames of the video that have been identified as described above or may be frames of the video that are selected in other manners, such as frames of the video that are selected at a predetermined equal spacing throughout length of the video.
[0051] As described above in conjunction with Figure 6A-6C, the three-dimensional visual representation may be zoomed in, in response to a pinching out gesture. In contrast, the input may indicate that the three-dimensional visual representation should be zoomed out, such as in response to a pinching in gesture. In this instance, the apparatus 10 may include means, such as the processor 12, the user interface 16 or the like, for reducing the number of segmented objects included in the three-dimensional visual representation so as to produce a slow motion effect in response to the pinching in gesture. See block 66 of Figure 5. The processor of this example embodiment may determine the segmented objects 46 to be removed from the three-dimensional visual representation in various manners including by removing a number of segmented objects sufficient to prevent overlap of the remaining segmented objects while still providing a representation of the manner in which the segmented object changes over the course of the video.
[0052] As described above and as shown in the example of Figure 3, the apparatus 10, such as the processor 12, may be configured to segment the object from a frame of the video by removing the object from the frame after having separated the object from the background of the frame. As such, the segmented object 46 may be included within the three-dimensional visual representation of the video without the distraction or noise associated with the background of the respective frame. In some instances, the processor may initially segment the object in such a manner that the segmented object not only includes the object itself, but also a portion of the background. As shown in Figure 7, for example, the second and third segmented objects from the left include not only the object, that is, the skateboarder, but also a portion of the background of the respective frames from which the segmented objects were extracted. In this regard, the segmented object that is second to the left includes a portion of the background of the original frame beneath the left arm of the skateboarder and between the legs of the skateboarder, while the segmented object that is third from left includes a portion of the original background between the legs of the skateboarder. In this embodiment, the apparatus may include means, such as the processor, the user interface 16 or the like, for responding to user input in order to remove at least some of the background from the original frame and to further define the segmented object so as to include only the object and none of the background or at least a smaller amount of the background from the original frame. [0053] In an example embodiment, a segmented object 46 may initially be selected, such as in response to a user touching a segmented object as shown as 76 in Figure. 7. In response to the selection of a segmented object, the apparatus 10, such as the processor 12, the user interface 16 or the like, may be configured to present the original frame from which the segmented object was extracted, along with the segmented object, as shown in Figure 8. In this example embodiment, the background of the frame that is not included in the segmented object is lighter or more faded than the segmented object. However, the portions of the background that are included in the segmented object are shown more brightly, as is the object itself. In this example embodiment, the apparatus, such as the processor, the user interface or the like, is responsive to user input, such as placement and movement of the user's fmger, upon that portion of the segmented object that constitutes the background of the original frame. In response to the user input, the portion of the segmented objected contacted by the user is removed from the segmented object, thereby permitting the user to rub away an unwanted portion of the segmented object, such as the portion of the background of the original frame that is initially included within the segmented object. In an example embodiment, the segmented image may be considered by the processor to be comprised of superpixels. A superpixel is a group of spatially connected pixels that have a similar color and/or texture. As such, the processor of this embodiment may respond more efficiently to the user input by removing each superpixel that is contacted by the user during the editing operation, as opposed to operating on a per pixel basis.
[0054] As shown in Figure 8, the user may provide input to remove the portion of the background of the original frame that is under the arm of the skateboarder, thereby removing that portion of the background from the segmented object. As shown in Figure 9, the user may provide comparable input to remove the portion of the background of the original frame that is between the user's legs that was also included as part of the original segmented object. The resulting segmented object following removal of the background of the original frame is shown in Figure 10 and may, in turn, be incorporated in the three-dimensional visual representation, such as shown in Figure 3.
[0055] While the user may separately modify each segmented object 46 that includes a portion of the background of the original frame, the apparatus 10, such as the processor 12, of an example embodiment may also be configured to respond to the user input associated with one of the segmented objects that causes a portion of the background of the original frame to be removed from the segmented object to similarly modify all other segmented objects, or at least all other segmented objects identified by the user, in a comparable manner. Thus, the removal of a portion of the background of the original frame from between the user's legs in the segmented object that is second to the left may also cause the portion of the background of the original frame from which the segmented object that is third from the left was extracted to similarly be automatically removed without further user input, thereby increasing the efficiency with which the three-dimensional visual representation may be edited.
[0056] As described above, the method, apparatus 10 and computer program product of an example embodiment may construct a visual representation of a video including one or more segmented objects from the frames of the video. The visual representation of the video that is constructed in accordance with an example embodiment permits the segmented objects from the frames of the video to be presented in a manner that is representative of the video and that provides context for the segmented objects, such as in terms of the time sequence of the segmented object relative to one another and to a representation of at least one frame of the video. By providing context for the segmented objects, issues may be avoided relating to a plurality of individual frames from a video appearing disjointed or failing to convey the same context or message as the original video that may otherwise arise from other techniques that rely upon a user to identifying one or more frames of a video. Thus, the visual representation of the video that is constructed in accordance with an example embodiment may provide an alternative representation of the video that may be reviewed more quickly and may be stored and
transmitted in a more efficient manner. Further, the method, apparatus and computer program product of an example embodiment may construct the visual representation of the video including one or more segmented objects from frames of the video in an efficient manner by limiting the user involvement that is required in comparison to other techniques in which a user undergoes a time consuming process to identify one or more particular frames of a video that are then presented in a manner that is representative of the video.
[0057] As described above, Figures 2, 4 and 5 illustrate flowcharts of an apparatus 10, method and computer program product according to example embodiments of the invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other communication devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 14 of an apparatus employing an embodiment of the present invention and executed by a processor 12 of the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (for example, hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
[0058] Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, can be implemented by special purpose hardware -based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
[0059] In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included, such as indicated by the dashed lines in Figure 2. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
[0060] Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WHAT IS CLAIMED IS:
1. A method comprising:
identifying an object that appears in a plurality of frames of a video;
segmenting the object from one or more frames of the video to create one or more segmented objects; and
constructing a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object, wherein the three- dimensional visual representation comprises the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
2. A method according to Claim 1 wherein constructing the three-dimensional visual representation further comprises constructing a box having at least three sides, wherein the representation of the at least one frame of the video that includes the object defines an end of the box.
3. A method according to Claim 2 wherein the box comprises first and second sides extending from the end of the box, and wherein constructing the three-dimensional visual representation comprises overlaying the one or more segmented objects at least partially on at least one of the first and second sides of the box.
4. A method according to Claim 3 wherein the first and second sides have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
5. A method according to any one of Claims 1 to 4 further comprising identifying a plurality of key frames of the video, wherein identifying the object comprises identifying the object in the plurality of key frames.
6. A method according to any one of Claims 1 to 5 further comprising receiving an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out.
7. A method according to Claim 6 wherein, in response to the input indicating that the three-dimensional visual representation should be zoomed in, the method further comprises supplementing the three-dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
8. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:
identify an object that appears in a plurality of frames of a video;
segment the object from one or more frames of the video to create one or more segmented objects; and
construct a three-dimensional visual representation of the video including a
representation of at least one frame of the video that includes the object, wherein the three- dimensional visual representation comprises the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
9. An apparatus according to Claim 8 wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to construct the three-dimensional visual representation by constructing a box having at least three sides, wherein the representation of the at least one frame of the video that includes the object defines an end of the box.
10. An apparatus according to Claim 9 wherein the box comprises first and second sides extending from the end of the box, and wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to construct the three- dimensional visual representation by overlaying the one or more segmented objects at least partially on at least one of the first and second sides of the box.
11. An apparatus according to Claim 10 wherein the first and second sides have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
12. An apparatus according to any one of Claims 8 to 11 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to identify a plurality of key frames of the video, wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to identify the object by identifying the object in the plurality of key frames.
13. An apparatus according to any one of Claims 8 to 12 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to receive an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out.
14. An apparatus according to Claim 13 wherein, in response to the input indicating that the three-dimensional visual representation should be zoomed in, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to supplement the three-dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
15. A computer program product comprising at least one non-transitory computer- readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising program code instructions configured, upon execution, to:
identify an object that appears in a plurality of frames of a video;
segment the object from one or more frames of the video to create one or more segmented objects; and construct a three-dimensional visual representation of the video including a representation of at least one frame of the video that includes the object, wherein the three- dimensional visual representation comprises the one or more segmented objects positioned in a time sequence relative to the at least one frame of the video.
16. A computer program product according to Claim 15 wherein the program code instructions configured to construct the three-dimensional visual representation comprise program code instructions configured to construct a box having at least three sides, wherein the representation of the at least one frame of the video that includes the object defines an end of the box.
17. A computer program product according to Claim 16 wherein the box comprises first and second sides extending from the end of the box, and wherein the program code instructions configured to construct the three-dimensional visual representation comprise program code instructions configured to overlay the one or more segmented objects at least partially on at least one of the first and second sides of the box.
18. A computer program product according to Claim 17 wherein the first and second sides have a color that is at least partially defined by the representation of the at least one frame of the video that includes the object.
19. A computer program product according to any one of Claims 15 to 18 wherein the computer-executable program code portions further comprise program code instructions configured to identify a plurality of key frames of the video, wherein the program code instructions configured to identify the object comprise program code instructions configured to identify the object in the plurality of key frames.
20. A computer program product according to any one of Claims 15 to 19 wherein the computer-executable program code portions further comprise program code instructions configured to receive an input indicating that the three-dimensional visual representation should be zoomed in or zoomed out, wherein, in response to the input indicating that the three- dimensional visual representation should be zoomed in, the computer-executable program code portions further comprise program code instructions configured to supplement the three- dimensional visual representation with one or more additional segmented objects positioned in the time sequence relative to other ones of the segmented objects.
PCT/CN2014/072987 2014-03-06 2014-03-06 Constructing a visual representation of a video WO2015131369A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/072987 WO2015131369A1 (en) 2014-03-06 2014-03-06 Constructing a visual representation of a video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/072987 WO2015131369A1 (en) 2014-03-06 2014-03-06 Constructing a visual representation of a video

Publications (1)

Publication Number Publication Date
WO2015131369A1 true WO2015131369A1 (en) 2015-09-11

Family

ID=54054374

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/072987 WO2015131369A1 (en) 2014-03-06 2014-03-06 Constructing a visual representation of a video

Country Status (1)

Country Link
WO (1) WO2015131369A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274987A (en) * 2018-08-30 2019-01-25 武汉斗鱼网络科技有限公司 A kind of video collection sort method, server and readable storage medium storing program for executing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084979A (en) * 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
US6950123B2 (en) * 2002-03-22 2005-09-27 Intel Corporation Method for simultaneous visual tracking of multiple bodies in a closed structured environment
CN101458434A (en) * 2009-01-08 2009-06-17 浙江大学 System for precision measuring and predicting table tennis track and system operation method
CN101729920A (en) * 2009-11-23 2010-06-09 南京大学 Method for displaying stereoscopic video with free visual angles
CN102724530A (en) * 2012-05-29 2012-10-10 清华大学 Three-dimensional method for plane videos based on feedback control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084979A (en) * 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
US6950123B2 (en) * 2002-03-22 2005-09-27 Intel Corporation Method for simultaneous visual tracking of multiple bodies in a closed structured environment
CN101458434A (en) * 2009-01-08 2009-06-17 浙江大学 System for precision measuring and predicting table tennis track and system operation method
CN101729920A (en) * 2009-11-23 2010-06-09 南京大学 Method for displaying stereoscopic video with free visual angles
CN102724530A (en) * 2012-05-29 2012-10-10 清华大学 Three-dimensional method for plane videos based on feedback control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274987A (en) * 2018-08-30 2019-01-25 武汉斗鱼网络科技有限公司 A kind of video collection sort method, server and readable storage medium storing program for executing

Similar Documents

Publication Publication Date Title
WO2020108082A1 (en) Video processing method and device, electronic equipment and computer readable medium
EP2864832B1 (en) Method and apparatus for augmenting an index image generated by a near eye display
US9922681B2 (en) Techniques for adding interactive features to videos
CN104375797B (en) Information processing method and electronic equipment
US9298970B2 (en) Method and apparatus for facilitating interaction with an object viewable via a display
EP2863362B1 (en) Method and apparatus for scene segmentation from focal stack images
US20140071068A1 (en) Constant speed display method of mobile device
US9846956B2 (en) Methods, systems and computer-readable mediums for efficient creation of image collages
CN106030664B (en) Method and computing device for superimposing two images on an electronic display
US10198831B2 (en) Method, apparatus and system for rendering virtual content
WO2016207861A1 (en) Method, apparatus, and computer program product for predictive customizations in self and neighborhood videos
JP6841888B2 (en) Video processing equipment and video processing method
Jin et al. Aesthetic photo composition by optimal crop-and-warp
US20180189928A1 (en) Method and apparatus for determining and varying the panning speed of an image based on saliency
KR102189647B1 (en) Display apparatus, system and controlling method thereof
JP5787644B2 (en) Image processing apparatus and image processing apparatus control method
CN110782387B (en) Image processing method and device, image processor and electronic equipment
EP3885933A1 (en) Method and apparatus for sharing content
WO2015131369A1 (en) Constructing a visual representation of a video
CN116091292A (en) Data processing method and related device
US10713792B1 (en) System and apparatus for image processing
EP3367328A1 (en) A method, apparatus and computer program product for generating composite images with three-dimensional effects and reducing pole contraction lines
EP2936346A1 (en) Method and apparatus for sharing content
JP2016004309A (en) Image processor, image processing method, image processing system and program
KR102091065B1 (en) Device and method for processing 3d lighting

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: 14884597

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14884597

Country of ref document: EP

Kind code of ref document: A1