[go: up one dir, main page]

WO2025116067A1 - Image processing system and method therefor - Google Patents

Image processing system and method therefor Download PDF

Info

Publication number
WO2025116067A1
WO2025116067A1 PCT/KR2023/019432 KR2023019432W WO2025116067A1 WO 2025116067 A1 WO2025116067 A1 WO 2025116067A1 KR 2023019432 W KR2023019432 W KR 2023019432W WO 2025116067 A1 WO2025116067 A1 WO 2025116067A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
secret message
sub
images
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/KR2023/019432
Other languages
French (fr)
Korean (ko)
Inventor
배국동
손동우
김병훈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Priority to PCT/KR2023/019432 priority Critical patent/WO2025116067A1/en
Publication of WO2025116067A1 publication Critical patent/WO2025116067A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking

Definitions

  • the present disclosure relates to an image processing system and method thereof, and more particularly, to a device and method for encoding and decoding an image using a steganography technique capable of hiding and restoring information in an image.
  • Steganography is a technique or process for hiding (or hiding) information (e.g., secret messages) in media data. For example, by hiding the secret message among the pixel values of an image, the secret message is hidden with little effect on the appearance of the image, or by hiding the secret message in a music file or audio stream, the secret message is hidden in a way that it is almost undetectable in the sound.
  • steganography is a method of hiding information so that a third party (or user) cannot recognize the fact that a secret message is hidden in the media through the human five senses.
  • the present disclosure is proposed to solve the above-mentioned problems and various problems related thereto, and an object of the present disclosure is to provide a device and method for an encoder to hide a secret message in an image and a decoder to restore the secret message from an image captured by a camera.
  • Another object of the present invention is to provide a device and method for hiding a secret message in an image using an encoder that applies an artificial neural network deep learning model, and restoring the secret message hidden in the image using a decoder that applies an artificial neural network deep learning model.
  • Another object of the present disclosure is to provide a device and method for hiding a secret message in an image by applying an artificial neural network deep learning model in real time and non-real time, and for restoring the hidden secret message from the image by applying an artificial neural network deep learning model.
  • the image processing system may include an encoder which generates a second image by hiding a secret message in a first image of a first video, a data hiding device which transmits a second video including the second image, an image output device which receives and reproduces the second video, a decoder which restores the secret message, and may include a hidden data restoration device which photographs the image output device while the second video is being reproduced by at least one camera, restores the secret message from the photographed image by the decoder, and provides a user experience based on the restored secret message, and a server which generates the encoder and the decoder by applying an artificial neural network deep learning model, provides the encoder to the data hiding device, and provides the decoder to the hidden data restoration device.
  • an encoder included in the data hiding device may divide the first image into a plurality of sub-images, select one or more first sub-images from the plurality of sub-images into which the secret message is to be inserted, select a channel from among channels constituting pixels of the one or more selected first sub-images into which the secret message is to be inserted, copy the secret message to a number and a size identical to that of the one or more first sub-images to generate one or more sub-secret messages, apply an encoding model learned from data of the selected channels of the one or more first sub-images and data of the one or more sub-secret messages to generate one or more second sub-images into which the secret message is inserted, and replace one or more first sub-images from among the plurality of sub-images of the first image with the one or more second sub-images to generate the second image into which the secret message is inserted.
  • the encoder may select a B channel as a channel into which to insert the secret message, if the channels constituting the pixels of the one or more selected first sub-images are RGB channels.
  • the encoder may select a Y channel as a channel into which to insert the secret message, if the channels constituting the pixels of the one or more selected first sub-images are YUV channels.
  • the secret message includes content identification information, and the content identification information can be used to identify content for providing the user experience.
  • the secret message further includes time information
  • the time information may include at least one of information for identifying a playback time of the content identified by the content identification information, information for identifying a playback time, or information for identifying a playback end time.
  • the hidden data restoration device may include a storage unit that stores one or more contents to provide the user experience, an image input unit that photographs an image output device on which the second video is played, an analysis unit that detects an edge of the image output device from an image photographed by the image input unit, a decoder that restores the secret message from an image corresponding to the edge of the image output device detected by the analysis unit, and an output unit that extracts content from the storage unit based on content identification information included in the restored secret message to provide the user experience.
  • the analysis unit extracts an outline of the captured image, extracts closed polygons based on the extracted outline, selects one or more rectangles including one or more closed polygons by merging closed polygons close to the center of the image, compares the one or more rectangles with one or more threshold values to determine at least one of the one or more rectangles as an edge candidate of the image output device, and if there are a plurality of edge candidates of the image output device, the rectangles are sorted in order of decreasing area and then decoding is applied to each of them to finally determine the edge of the image output device.
  • the decoder of the hidden data restoration device may divide an image corresponding to an edge of the image output device into a plurality of sub-images, select one or more third sub-images having the secret message inserted therein from among the plurality of sub-images, select a channel having the secret message inserted therein from among channels constituting pixels of the one or more selected third sub-images, and obtain the secret message by applying a decoding model learned from data of the selected channel of the one or more third sub-images.
  • the number and size of one or more first sub-images and the selected channel selected for insertion of the secret message in the encoder of the data hiding device may be identical to the number and size of one or more third sub-images and the selected channel in which the secret message is inserted in the decoder of the hidden data restoration device.
  • the server may include an encoder, a decoder and a loss function calculation unit.
  • the encoder included in the server divides a third image in a randomly input video into a plurality of sub-images, selects one or more fourth sub-images in which to insert a randomly input secret message from among the plurality of sub-images, and selects a channel in which to insert the input secret message from among channels constituting pixels of the one or more selected fourth sub-images.
  • the input secret message is copied to generate one or more sub-secret messages in the same number and size as the one or more fourth sub-images, an encoding model learned up to now from data of selected channels of the one or more fourth sub-images and data of the one or more sub-secret messages is applied to generate one or more fifth sub-images in which the input secret message is inserted, and one or more fourth sub-images among a plurality of sub-images of the third image can be replaced with the one or more fifth sub-images to generate the fourth image in which the input secret message is inserted.
  • the decoder included in the server can generate a fifth image by changing data of the fourth image within a certain range, and obtain an output secret message by applying a decoding model learned so far from data of a selected channel of one or more sub-images among a plurality of sub-images of the fifth image into which the input secret message is inserted.
  • the loss function calculation unit may calculate a loss function that evaluates the difference between the input secret message and the output secret message, evaluates the difference between the third image and the fourth image, and continuously updates the encoder and the decoder in a direction in which the loss function is minimized, to determine an encoder to be provided as the data hiding device and a decoder to be provided as the hidden data restoration device.
  • the hidden data recovery device may be smart glasses.
  • an encoding method in an image processing system may include the steps of: dividing a first image in an original video into a plurality of sub-images; selecting one or more first sub-images from the plurality of sub-images into which a secret message is to be inserted; selecting a channel from channels constituting pixels of the one or more selected first sub-images into which the secret message is to be inserted; generating one or more sub-secret messages by copying the secret message to a number and a size identical to that of the one or more first sub-images; generating one or more second sub-images into which the secret message is inserted by applying an encoding model learned from data of the selected channels of the one or more first sub-images and data of the one or more sub-secret messages; and generating a second image into which the secret message is inserted by replacing one or more first sub-images from the plurality of sub-images of the original video with the one or more second sub-images.
  • the channel selection step may select a B channel as a channel into which the secret message is to be inserted, if the channels constituting the pixels of the one or more selected first sub-images are RGB channels.
  • the channel selection step may select a Y channel as a channel into which the secret message is to be inserted, if the channels constituting the pixels of the one or more selected first sub-images are YUV channels.
  • the secret message hiding and transmission may be performed in real time or non-real time.
  • the secret message includes content identification information, and the content identification information can be used to identify content for providing the user experience.
  • the secret message further includes time information
  • the time information may include at least one of information for identifying a playback time of the content identified by the content identification information, information for identifying a playback time, or information for identifying a playback end time.
  • a decoding method in an image processing system may include the steps of: photographing an image output device on which a video with a secret message inserted is played by at least one camera; detecting an edge of the image output device from the photographed image; restoring the secret message by applying a decoding model learned from an image corresponding to the detected edge of the image output device; and extracting content identified by content identification information included in the restored secret message from a storage unit in which one or more contents for providing a user experience are stored, thereby providing the user experience.
  • the edge detection step of the image output device may include the steps of extracting an outline of the captured image, extracting closed polygons based on the extracted outline, selecting one or more rectangles including one or more closed polygons by merging closed polygons close to the center of the image, comparing the one or more rectangles with one or more threshold values to determine at least one of the one or more rectangles as an edge candidate of the image output device, and, if there are a plurality of edge candidates of the image output device, sorting the rectangles in order of decreasing area and applying a learned decoding model to each of them to finally determine the edge of the image output device.
  • the secret message restoration step may include the steps of dividing an image corresponding to an edge of the image output device into a plurality of sub-images, selecting one or more sub-images having the secret message inserted among the plurality of sub-images, selecting a channel having the secret message inserted among channels constituting pixels of the one or more selected sub-images, and applying a decoding model learned from data of the selected channel of the one or more sub-images to obtain the secret message.
  • the device and method according to the embodiments enable a user to obtain useful information simply by watching a video being played through a device equipped with a camera without any separate operation.
  • the device and method according to the embodiments enable a user to obtain useful information simply by watching a video being played while wearing glasses equipped with a camera without any separate operation.
  • the device and method according to the embodiments can be used to watch a movie in an outdoor movie theater such as a drive-in theater while simultaneously viewing and hearing movie subtitles and sounds through glasses equipped with cameras.
  • the device and method according to the embodiments can be used to view exhibited works in an exhibition such as a museum or art gallery, while simultaneously viewing and hearing additional explanations or supplementary information about the works through glasses equipped with cameras.
  • FIG. 1 is a block diagram showing an example of an image processing system according to embodiments.
  • FIG. 2 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in non-real time according to embodiments.
  • FIG. 3 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in real time according to embodiments.
  • FIG. 4 is a diagram showing an example of a method for generating a stego video by hiding a secret message in a cover video in an encoder according to embodiments.
  • FIG. 5 is a diagram showing an example of a method for recovering a secret message hidden in a cover video in a decoder according to embodiments.
  • FIG. 6 is a diagram showing an example of a learning process for creating an encoder and a decoder by applying an artificial neural network deep learning model in a server according to embodiments.
  • FIG. 7 is a diagram showing an example of a method for extracting a boundary of an image output device in an analysis unit according to embodiments.
  • FIGS. 8(a) to 8(f) are diagrams showing examples of each process of extracting the boundary of an image output device in an analysis unit according to embodiments.
  • Figures 9 to 14 are diagrams showing examples of user experiences (UX) provided based on restored secret messages according to embodiments.
  • the blocks of the attached block diagram or the steps of the flow chart may be implemented directly in hardware, implemented as software modules executed by hardware, or implemented by a combination of these.
  • the blocks of the attached block diagram or the steps of the flow chart may be interpreted as computer program instructions that are loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, or a network computer, and perform designated functions. Since these computer program instructions may be stored in a memory equipped in a computer device or a computer-readable memory, the functions described in the blocks of the block diagram or the steps of the flow chart may be produced as a manufactured product that includes a command means for performing the same.
  • each block or each step may represent a module, segment, or part of code that includes one or more executable instructions for executing a specific logical function(s).
  • the functions mentioned in the blocks or steps may be executed in a different order from the specified order. For example, two blocks or steps depicted in succession may be performed substantially simultaneously, may be performed in reverse order, or may be performed with some blocks or steps omitted.
  • the present disclosure is to enable an encoding device to hide an invisible secret message in a cover image using an artificial neural network deep learning model, and a decoding device to capture the secret message hidden in a transmitted image through a camera provided in the decoding device and restore it using an artificial neural network deep learning model.
  • the artificial neural network deep learning model is also referred to as an artificial neural network steganography deep learning model.
  • a secret message hidden in an image may be referred to as a message, a secret message, information, additional information data, or secret data.
  • an image may be a still image or a moving image.
  • a moving image includes a locally stored video, a streaming video, a live broadcast, etc., and a still image includes a photograph or a picture, etc.
  • a moving image is used interchangeably with a video.
  • the video may be in the form of a file
  • the cover video refers to a video in which a secret message is not hidden, and may also be referred to as an original video.
  • the stego video refers to a video in which a secret message is hidden. That is, the cover video refers to an image for inserting a secret message, and the stego video refers to a video generated by inserting a secret message into the cover video (i.e., the original video).
  • the hidden data recovery device may be any device that is equipped with at least one camera, has a display function, and is portable.
  • the hidden data recovery device is also referred to as a decoding device.
  • the hidden data recovery device may be a smart phone (or mobile phone) or one of XR (AR/MR/VR) glasses.
  • XR glasses will be referred to as smart glasses.
  • the present disclosure describes a smart glass as an embodiment of a hidden data recovery device.
  • the smart glass may be referred to as glasses.
  • the present disclosure is to hide secret messages in not only locally stored videos but also streaming videos and live broadcasts, and to enable the restoration of the hidden secret messages through smart glasses.
  • non-real-time service means that the process of hiding data and restoring hidden data are not performed continuously in real time.
  • real-time service means that a data hiding process and a process of restoring hidden data are performed continuously, and an example of an embodiment is a real-time broadcasting service.
  • FIG. 1 is a block diagram showing an example of an image processing system according to embodiments.
  • An image processing system may include a data hiding device (110), an image output device (120), a hidden data restoration device (130), and a server (140).
  • the data hiding device (110) may include an encoder that generates a stego video by hiding a secret message in a cover video.
  • the data hiding device (110) may be referred to as an encoding device.
  • the data hiding device (110) may include at least one of a content provider, a content distribution provider, an advertisement provider, and a cloud server, and the encoder may be included in at least one of the content provider, the content distribution provider, the advertisement provider, or the cloud server.
  • the cloud server may be a server that provides a cloud service and may be a service provider.
  • the data hiding device (110) can transmit a secret message hidden in the cover video in non-real time or real time.
  • the secret message hiding when hiding a secret message in a locally stored video or content that does not require real-time transmission, the secret message hiding is performed in non-real-time, and when hiding a secret message in a streaming video or live broadcast, the secret message hiding is performed in real-time.
  • the present disclosure may be referred to as a non-real-time service when an encoder is included in a content providing unit, the content providing unit hides a secret message in the content, and then provides the content with the secret message hidden to a video output device through a content distribution unit, and may be referred to as a real-time service when an encoder is included in a content distribution unit or a cloud server, and then the content distribution unit or the cloud server hides a secret message in a streaming video or live broadcast, and then directly provides the content with the secret message hidden to a video output device.
  • an image may be a still image or a moving image.
  • a moving image includes a locally stored video, a streaming video, a live broadcast, etc., and a still image includes a photograph or a picture, etc.
  • a moving image is used interchangeably with a video.
  • the content provider may be a broadcasting station, etc.
  • the content distribution provider may be a home shopping network, etc.
  • the advertising provider may be an advertising production company or an advertiser, etc.
  • the video output device (120) is a device that processes and displays a cover video or stego video provided from the data hiding device (100).
  • the image output device (120) may be any device capable of processing and displaying an image.
  • the image output device (120) may be a television (TV), a smart phone, a notebook, a tablet PC (Personal Computer), a desktop PC, a laptop PC, etc.
  • the image output device (120) may be a digital signage that displays an advertising image or a general image in a subway station, a department store, a bus stop, an airport, inside a subway, a shopping mall, a building rooftop or exterior wall, outdoors, etc.
  • the encoder may be included in the video output device (120).
  • the video output device (120) may insert a secret message into the cover video.
  • the video output device (120) may insert a secret message into the video being played in real time.
  • the hidden data recovery device (130) may include a decoder that recovers a secret message hidden in a cover video.
  • the hidden data recovery device (130) may be any device having a camera function capable of capturing an image and a function capable of displaying an image, text, information, etc. or outputting it as audio.
  • the hidden data recovery device (130) is described as a smart glass such as AR glasses as an example.
  • the server (140) generates an encoder and a decoder through a deep learning learning process. Then, it provides the encoder generated through the deep learning learning process to a data hiding device (110) and/or an image output device (120), and provides the decoder to a hidden data restoration device (130).
  • the server (140), the data hiding device (110), the image output device (120), and/or the hidden data restoration device (130) may be connected via a wired/wireless network.
  • data hiding device (110) and the image output device (120) or the image output device (120) and the hidden data restoration device (130) may also be connected via a wired/wireless network.
  • the wired network may include various wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module, as well as various cable communication modules such as a Universal Serial Bus (USB), a High Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), RS-232 (recommended standard232), power line communication, or plain old telephone service (POTS).
  • wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module
  • various cable communication modules such as a Universal Serial Bus (USB), a High Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), RS-232 (recommended standard232), power line communication, or plain old telephone service (POTS).
  • LAN Local Area Network
  • WAN Wide Area Network
  • VAN Value Added Network
  • USB Universal Serial Bus
  • HDMI High Definition Multimedia Interface
  • DVI Digital Visual Interface
  • the wireless network may include, in addition to a WiFi module and a Wireless broadband module, a wireless communication module that supports various wireless communication methods such as GSM (global System for Mobile Communication), CDMA (code division multiple access), WCDMA (wideband code division multiple access), UMTS (universal mobile telecommunications system), TDMA (time division multiple access), LTE (long term evolution), 4G, 5G, and 6G.
  • GSM Global System for Mobile Communication
  • CDMA code division multiple access
  • WCDMA wideband code division multiple access
  • UMTS universal mobile telecommunications system
  • TDMA time division multiple access
  • LTE long term evolution
  • 4G, 5G, and 6G long term evolution
  • the wireless network may include a short-range communication module, and the short-range communication module may support short-range communication using at least one of Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technologies.
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • UWB Ultra Wideband
  • ZigBee Ultra Wideband
  • NFC Near Field Communication
  • Wi-Fi Wireless-Fidelity
  • Wi-Fi Direct Wireless USB (Wireless Universal Serial Bus) technologies.
  • FIG. 2 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in non-real time according to embodiments.
  • a non-real-time service means that the data hiding process and the data restoration process are not performed continuously in real time.
  • the data hiding device (110) in the image processing system of FIG. 2 may include a content providing unit (211) that provides content, an encoder (213) that hides a secret message in a cover video, and a content distribution unit (215) that distributes the cover video or the stego video.
  • the content providing and the content distribution may be performed respectively by the content providing unit (211) and the content distribution unit (215) as in FIG. 2, or the content providing unit (211) may perform both the content providing and the content distribution. That is, the content providing unit (211) and the content distribution unit (215) may be the same.
  • the content providing unit (211) may be referred to as a content provider, and the content distribution unit (213) may be referred to as a content distributor.
  • the content provider (211) creates or produces various types of content
  • the content distribution unit (215) provides or distributes the content to users (e.g., video output devices (120)) through various routes or platforms.
  • the encoder (213) may be provided in at least one of the content provision unit (211) and the content distribution unit (215), or may be located in a cloud server via a wired/wireless network. Since the wired/wireless network has been described in detail in Fig. 1, it will be omitted here to avoid redundant description.
  • the encoder (213) is positioned in the content providing unit (211) as an example.
  • the content provider (211) in the data hiding device (110) provides a secret message and a cover video to be hidden to the encoder (213).
  • the content provider (211) may provide the secret message and the cover video to an encoder (213) provided therein.
  • the encoder (213) is, as an example, a video encoder of SaaS (Service as a Service) or SDK (Software Development Kit).
  • SaaS represents a business model that provides software in the form of a service, in which the software is generally accessed through a web browser, and users can use the service through the web without having to purchase or install the software.
  • SaaS allows access to the software from anywhere with an Internet connection, and the provider can automatically manage and update the software without the user having to update it separately.
  • SDK represents a set of tools for software development, and such SDK typically includes tools, libraries, documentation, example code, etc., necessary for developers to create and run software. SDKs are usually specific to a certain programming language or environment, and can be used with a particular platform or framework to simplify and accelerate the development process.
  • the encoder (213) generates a stego video by hiding a secret message in a cover video (Video Source) based on the encoding of an artificial neural network steganography deep learning model.
  • the encoder (213) generates a stego video by hiding a secret message in each frame of the cover video (Video Source) through an artificial neural network steganography deep learning model.
  • the stego video is in the form of a file, as an example.
  • the stego video generated by the above encoder (213) is output to the content distribution unit (215). That is, the content providing unit (211) provides the stego video to the content distribution unit (215).
  • the content distribution unit (215) transmits the stego video to the video output device (120). At this time, the stego video may be transmitted in non-real time.
  • the above image output device (120) receives and processes the stego video and then displays (or reproduces) it. At this time, a secret message is hidden in the stego video displayed (or reproduced) on the image output device (120), but a user viewing the image output device is not aware of the existence of the secret message.
  • a hidden data recovery device (130) equipped with a camera captures an image output device (120), a secret message hidden in the image displayed (or played) by the image output device (120) or content corresponding to the secret message is displayed on the screen of the hidden data recovery device (130) or output as sound.
  • the capture may be performed automatically or manually by a user's instruction.
  • the hidden data recovery device (130) is a smart glass
  • the user wears the smart glass and looks at the image output device (120)
  • a secret message hidden in the image displayed (or played) on the image output device (120) or content corresponding to the secret message can be displayed on the screen of the smart glass or output as sound. This is assuming that the place the user looks at while wearing the smart glass is automatically captured by the camera equipped in the smart glass. If the capture is manual, the user can also directly instruct the capture.
  • the hidden data recovery device (130) is a smart phone
  • a secret message hidden in the image displayed (or played) on the image output device (120) or content corresponding to the secret message may be displayed on the screen of the smart phone or output as sound.
  • the hidden data restoration device (130) may include an image input unit (231) capable of capturing an image being displayed on an image output device (120), an analysis unit (233) that analyzes an image boundary from an image captured by the image input unit (231), a decoder (235) that restores a secret message included in the captured image based on the analysis result of the analysis unit (233), a storage unit (237) that stores content corresponding to the restored secret message, and an output unit (239) that displays the content provided from the storage unit (237) in the form of an image and/or sound.
  • the image input unit (231) may be one or more cameras
  • the output unit (239) may include a display unit and/or an audio output unit.
  • the content corresponding to the restored secret message may be in the form of an image, an audio form, or a form including both.
  • the above storage unit (237) may be referred to as a database, and the output unit (239) may be referred to as an out-of-screen.
  • the hidden data recovery device (130) is a smart glass
  • the hidden data recovery device (130) worn by the user can capture an image being played on the image output device (120).
  • the capture is performed through an image input unit (231) composed of one or more cameras.
  • the capture may be performed automatically or manually by the user's instructions.
  • the image captured by the image input unit (231) may include not only the image being played back on the image output device (120) but also the surrounding background.
  • the analysis unit (233) analyzes the image boundary in real time, and extracts only the image corresponding to the image being played back on the image output device (120) from the captured image based on the analysis result, and provides it to the decoder (235).
  • the decoder (235) applies the decoding of the artificial neural network steganography deep learning model to the image provided by the analysis unit (233) to restore (decode) the secret message hidden in the image being played back on the image output device (120). That is, the hidden data restoration device (130) worn by the user, for example, smart glasses equipped with a camera, photographs the image output device (120) and the surrounding background through the camera.
  • the image being played back on the screen of the image output device (120) is recognized, the recognized image is analyzed in real time, and the secret message hidden in the image being played back on the screen of the image output device (120) is restored (decoded) through the artificial neural network steganography deep learning model.
  • the analysis unit (233) detects the exact edge of the image output device (120) from an image including the image output device (120) to provide only the image corresponding to the image being played back on the image output device (120) among the captured images to the decoder (235), extracts the image corresponding to the image being played back from the captured image, and then provides the extracted image to the decoder (235).
  • content corresponding to the restored secret message may be extracted from the storage unit (237) and provided to the output unit (239).
  • the output unit (239) may display the content provided from the storage unit (237) on a screen and/or output it as audio.
  • the output unit (239) may display a UI (User Interface) on the screen or output a sound.
  • UI User Interface
  • the role of extracting the content corresponding to the restored secret message from the storage unit (237) and providing it to the output unit (239) may be performed by the decoder (235), or may be performed by the storage unit (237), or may be performed by a separate module (e.g., at least one of hardware and software).
  • the data hiding device (110) may store information included in the secret message (e.g., content identifier and/or time information) and content identified by the content identifier in the storage unit (237) of the hidden data restoration device (130) via a wired/wireless network.
  • information included in the secret message e.g., content identifier and/or time information
  • content identified by the content identifier in the storage unit (237) of the hidden data restoration device (130) via a wired/wireless network.
  • the present disclosure may refer to UI, content, sound, etc. displayed on the output unit (239) according to a secret message as user experience (UX).
  • the smart glasses obtain related content from the storage unit (237, database) based on a secret message restored from a photographed image when necessary and then provide a user experience through the output unit (239).
  • a secret message may include a content identifier (Contents ID).
  • Content identifier may be used to distinguish and output the corresponding content from the storage unit (237).
  • the content may be an advertisement, a logo, additional information related to a video being played on the video output device (120), additional information unrelated to a video being played on the video output device (120), etc.
  • the secret message may include time information.
  • the time information may include time information (e.g., playback time) related to a video being played on the video output device (120) and/or time information related to content identified by a content identifier included in the secret message.
  • the time information related to the content identified by the content identifier may include a playback time, a playback time, etc. of the corresponding content.
  • the time information may include information for identifying when and for how long the content identified by the content identifier will be displayed on the smart glasses.
  • the playback time of the currently playing video may be identified through the time information.
  • the secret message may include information that can be displayed directly through the output unit (239) without going through the storage unit (237).
  • information may be a company logo, a UI (User Interface), a URL (Uniform Resource Locator) that can visit a website, a special discount code for a product or location related to a video being played on the video output device (120), etc.
  • UI User Interface
  • URL Uniform Resource Locator
  • such information may be stored in the storage unit (237) and provided to the output unit (239) by being identified by a content ID included in the restored secret message.
  • the secret message may include one or more of content ID, time information, and directly printable information.
  • FIG. 3 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in real time according to embodiments.
  • a real-time service means that a data hiding process and a process for restoring hidden data are performed continuously, and an example of an embodiment is a real-time broadcasting service.
  • the data hiding device (110) may include a content providing unit (311) that provides content (e.g., a cover video), an advertisement providing unit (312) that provides advertisements, a content distribution unit (313) that distributes real-time video streaming or stego video streaming, an encoder (314) that hides a secret message in the real-time video streaming (or the cover video), and a storage unit (315) that stores the secret message.
  • the content providing and the content distribution may be performed by the content providing unit (311) and the content distribution unit (313) respectively as in FIG. 3, or the content providing unit (311) may perform both the content providing and the content distribution. That is, the content providing unit (311) and the content distribution unit (313) may be the same.
  • the advertisement providing unit (312) may provide advertisements and/or provide a secret message to be inserted into the cover video or the real-time video streaming.
  • the content provider (311) may be referred to as a content provider
  • the advertisement provider (312) may be referred to as a content advertiser
  • the content distribution unit (313) may be referred to as a content distributor.
  • the content provider (311) generates or produces various types of content
  • the content distribution unit (313) provides or distributes the content to users (e.g., video output devices (120)) through various paths or platforms. That is, the content provider (311) provides a cover video to the content distribution unit (313), and the content distribution unit (313) can distribute the cover video in the form of VoD streaming or real-time broadcasting.
  • the advertisement provider (312) can provide an advertisement as a single content to the content provider (311) and/or the content distribution unit (313) or store it in the storage unit (315).
  • the storage unit (315) can be called a database.
  • the storage unit (315) may be provided inside at least one of the content providing unit (311), the advertisement providing unit (312), or the content distribution unit (313), or may be located in a cloud server via a wired/wireless network.
  • the encoder (314) may be provided inside at least one of the content providing unit (311), the advertisement providing unit (312), or the content distribution unit (313), or may be located in a cloud server via a wired/wireless network.
  • the encoder (314) and the storage unit (315) are located in a cloud server as an embodiment. Since the wired/wireless network has been described in detail in FIG. 1, it will be omitted here to avoid redundant description.
  • the content provider (311) and/or the advertisement provider (312) requests insertion of a secret message into real-time video streaming (or cover video) and stores the secret message to be inserted and the content identified by the content identifier included in the secret message in the storage unit (315), as an embodiment.
  • the request for insertion of the secret message is made to a cloud server as an embodiment.
  • the secret message stored in the storage unit (315) may include a content identifier (contents ID) and/or time information related to the content identified by the content identifier.
  • the time information may include a time at which the secret message is to be inserted (i.e., a time relative to the start of the video).
  • one or more pieces of time information may be stored in relation to the secret message and/or the content.
  • the advertisement provider (312) can request the insertion of a secret message that it wants to hide in a desired video in the same way as the content provider (311) even if it did not create the content, and can store the secret message in the storage unit (315).
  • the storage unit (315) can store the secret message that the advertisement provider (312) wants and the content identified by the content identifier included in the secret message.
  • the cloud server can store information (e.g., content identifier and/or time information) included in the secret message and content identified by the content identifier in the storage unit (237) of the hidden data restoration device (130) via a wired/wireless network.
  • information e.g., content identifier and/or time information
  • the encoder (314) is, as an example, a video encoder of SaaS (Service as a Service) or SDK (Software Development Kit). Since the description of SaaS and SDK is given in Fig. 2, the description will be omitted here.
  • the encoder (314) when there is a request for inserting a secret message from a content provider (311) or an advertisement provider (312), the encoder (314) generates a stego video stream by hiding the secret message in real-time video streaming provided from a content distribution unit (313) based on encoding of an artificial neural network steganography deep learning model.
  • the real-time video streaming may be VOD (Video On Demand) streaming or real-time broadcasting (or real-time broadcasting streaming).
  • the received video streaming is provided to the video output device (120) without modification.
  • the video streaming i.e., stego video streaming or original video streaming
  • RTP Real-time Transport Protocol
  • the encoder (314) is located in close proximity to the video output device (120), the video streaming (i.e., stego video streaming or original video streaming) may be provided to the video output device (120) via HDMI (High Definition Multimedia Interface).
  • RTP is a protocol for transmitting data in real time over a network, and provides timestamps, sequence numbers, sender and receiver information, etc. for real-time communication.
  • HDMI is an interface for transmitting digital video and audio signals.
  • the above video output device (120) receives and processes video streaming (i.e., stego video streaming or original video streaming) and then displays (or plays) it. At this time, even if the video streaming received by the video output device (120) is stego video streaming, the user watching the video output device (120) is not aware of the existence of the secret message.
  • video streaming i.e., stego video streaming or original video streaming
  • the hidden data restoration device (130) equipped with a camera captures the image output device (120)
  • the secret message hidden in the image displayed (or played back) on the image output device (120) is restored, and the content corresponding to the content identifier included in the restored secret message is displayed on the screen of the hidden data restoration device (130) or output as sound.
  • the shooting may be performed automatically or may be performed manually by the user's instruction.
  • the content corresponding to the secret message may be an advertisement provided by the advertisement provider (312).
  • the time information may include information for identifying the start time of the advertisement, the display time of the advertisement, etc.
  • the time information may include information such as how many seconds after the time when the user starts viewing the image output device (120) through the glasses, the advertisement identified by the content identifier will be played back.
  • the time information may be a timestamp.
  • the hidden data restoration device (130) is a smart glass
  • the hidden secret message in the image displayed (or played) on the image output device (120) is restored, and the content identified by the content identifier included in the restored secret message can be displayed on the screen of the smart glass or output as a sound. This is assuming that the place the user looks at while wearing the smart glass is automatically captured by the camera equipped in the smart glass. If the capture is manual, the user can also directly instruct the capture.
  • the hidden data restoration device (130) is a smart phone
  • the hidden secret message in the image displayed (or played) on the image output device (120) is restored, and content corresponding to the content identifier included in the restored secret message can be displayed on the screen of the smart phone or output as sound.
  • the hidden data restoration device (130) may include an image input unit (231) capable of capturing an image being displayed on an image output device (120), an analysis unit (233) that analyzes an image boundary from an image captured by the image input unit (231), a decoder (235) that restores a secret message included in the captured image based on the analysis result of the analysis unit (233), a storage unit (237) that stores content corresponding to the restored secret message, and an output unit (239) that displays the content provided from the storage unit (237) in the form of an image and/or sound.
  • the image input unit (231) may be one or more cameras
  • the output unit (239) may include a display unit and/or an audio output unit.
  • the content corresponding to the restored secret message may be in the form of an image, an audio form, or a form including both.
  • the storage unit (237) may be referred to as a database.
  • the storage unit (315) of the data hiding device (110) and the storage unit (237) of the hidden data restoration device (130) are synchronized as an example.
  • the same information e.g., content ID, content, time information
  • the hidden data recovery device (130) is a smart glass
  • the hidden data recovery device (130) worn by the user can capture an image being played on the image output device (120).
  • the capture is performed through an image input unit (231) composed of one or more cameras.
  • the capture may be performed automatically or manually by a user's instruction.
  • the image captured through the image input unit (231) may include not only the image being played back on the image output device (120) but also the surrounding background.
  • the analysis unit (233) analyzes the captured image in real time, and extracts only the image corresponding to the image being played on the image output device (120) from the captured image based on the analysis result, and provides it to the decoder (235).
  • the decoder (235) applies the decoding of the artificial neural network steganography deep learning model to the image provided by the analysis unit (233) to restore (decode) the secret message hidden in the image being played on the image output device (120).
  • a hidden data restoration device (130) worn by a user captures an image output device (120) and the surrounding background through a camera. Then, based on the captured image, the image being played on the screen of the image output device (120) is recognized, the recognized image is analyzed in real time, and a secret message hidden in the image being played on the screen of the image output device (120) is restored (decoded) through an artificial neural network steganography deep learning model.
  • the analysis unit (233) detects the exact edge of the image output device (120) from an image including the image output device (120) to provide only the image corresponding to the image being played back on the image output device (120) among the captured images to the decoder (235), extracts the image corresponding to the image being played back from the captured image, and then provides the extracted image to the decoder (235).
  • content corresponding to the restored secret message may be extracted from the storage unit (237) and provided to the output unit (239).
  • the output unit (239) may display the content provided from the storage unit (237) on a screen and/or output it as audio.
  • the output unit (239) may display a UI (User Interface) on the screen or output a sound.
  • UI User Interface
  • the role of extracting the content corresponding to the restored secret message from the storage unit (237) and providing it to the output unit (239) may be performed by the decoder (235), or may be performed by the storage unit (237), or may be performed by a separate module (e.g., at least one of hardware and software).
  • the present disclosure may refer to UI, content, sound, etc. displayed on the output unit (239) according to a secret message as user experience (UX).
  • the smart glasses obtain relevant content from the storage unit (237, database) when necessary based on a secret message restored from a photographed image, thereby providing a user experience.
  • a secret message may include a content identifier (Contents ID).
  • Content identifier may be used to distinguish and extract the corresponding content from the storage (237).
  • the content may be an advertisement, a logo, additional information related to a video being played on the video output device (120), additional information unrelated to a video being played on the video output device (120), etc.
  • the secret message may include time information.
  • the time information may include time information (e.g., playback time) related to a video being played on the video output device (120) and/or time information related to a content identified by a content identifier included in the secret message.
  • the time information related to the content identified by the content identifier may include a playback time, a playback time, etc. of the corresponding content.
  • the time information may be information instructing the secret data restoration device (130) to read and play content (e.g., an advertisement) identified by a content identifier (contents ID) from the storage unit (237) for a few seconds after a time at which the secret message is restored.
  • the playback time of the currently played video can be identified through the time information.
  • the secret message may include information that can be displayed directly through the output unit (239) without going through the storage unit (237).
  • information may be a company logo, a UI (User Interface), a URL (Uniform Resource Locator) that can visit a website, a special discount code for a product or location related to a video being played on the video output device (120), etc.
  • UI User Interface
  • URL Uniform Resource Locator
  • such information may be stored in the storage unit (237) and provided to the output unit (239) by being identified by a content ID included in the restored secret message.
  • the secret message may include one or more of content ID, time information, and directly printable information.
  • FIG. 4 is a diagram showing an example of a method for generating a stego video by hiding a secret message in a cover video in an encoder according to embodiments.
  • the encoder may be the encoder (212) of FIG. 2 or the encoder (314) of FIG. 3 included in the data hiding device (110).
  • the data hiding device (110) receives an encoder generated by applying an artificial neural network deep learning model from a server (140).
  • the encoder divides the input cover video into multiple cover images (S411). That is, if the cover video is a real-time or non-real-time video, the video is composed of multiple still images (or frames or images), so the cover video can be divided into multiple cover images.
  • each cover image includes color information and brightness information.
  • step S411 extracts all cover images constituting a cover video having a horizontal size of W and a vertical size of H.
  • pixels of each cover image may be composed of three color channels (or RGB channels) in the width W * height H.
  • pixels of each cover image may be composed of three brightness channels (or YCbCr/YUV channels) in the width W * height H.
  • each cover image can be divided into multiple sub-images (S412).
  • each cover image is divided into multiple sub-images having a horizontal size of M and a vertical size of N.
  • the number of sub-images may vary depending on the sizes of the sub-images (e.g., M, N).
  • the sizes of M and N may be selected to be close to 200*200. This is one embodiment, and other values may be selected as the sizes of M and N.
  • FIG. 4 shows an example in which a cover image is divided into 3 horizontally and 4 vertically to include 12 sub-images to help those skilled in the art understand.
  • a secret message can be inserted into one or more of the sub-images. That is, inserting a secret message into an image means damaging the image. And, when the image is damaged, depending on the characteristics of the image, some areas may be easily recognized as damaged by the user, and some areas may not be easily recognized as damaged by the user. Therefore, the present disclosure divides each cover image into a plurality of sub-images in order to detect areas in the image where the secret message is not easily recognized by the user.
  • one or more sub-images are selected from among the multiple sub-images in which a secret message is to be inserted (S413).
  • one embodiment is to select up to K sub-images.
  • step S413 the sub-images selected for inserting the secret message are indicated by T, and the non-selected sub-images are indicated by F. If K sub-images are selected for inserting the secret message, T is indicated on K sub-images, and F is indicated on the remaining sub-images.
  • step S413 determines whether or not to insert a secret message for each sub-image, and marks T in the sub-images that are determined to be inserted, and marks F in the sub-images that are determined not to be inserted.
  • the sub-image to which encoding for inserting a secret message is to be applied is denoted as T, and the sub-image to which encoding is not to be applied is denoted as F.
  • the number of sub-images with inserted secret messages can be up to K (K is 1 or more), and K is variable.
  • step S414 determines to which data the secret message is to be applied for each sub-image into which the secret message is to be inserted.
  • one embodiment selects Y data of a YUV channel or B data of an RGB channel by considering the characteristics of a sub-image.
  • Fig. 4 shows an example of selecting Y data of a YUV channel. This is one embodiment, and other color systems and data may be selected. That is, a secret message is inserted by changing Y data of one or more pixels of a sub-image indicated by T.
  • a data matrix of width W/M * height H/N * K is generated based on data information of K sub-images into which secret messages are to be inserted and the channels selected from the K sub-images (S415). That is, data of the selected channels from the K sub-images having width W/M * height H/N are changed due to insertion of the secret message during the encoding process.
  • step S416 changes the input secret message into a binary array and then copies it to be the same size as the data generated in step S415 to generate K sub-secret messages having a width of W/M * height of H/N.
  • a data matrix of a width of W/M * height of H/N * K is created for the secret message by using data copying, etc. This is because the sizes of the sub-image and the secret message are different.
  • step S416 can be omitted.
  • the learned encoding model is applied to the data of the K sub-images generated in step S415 and the data of the K secret messages (or sub-secret messages) generated in step S416 to generate a stego sub-image with a secret message inserted (S417). That is, K stego sub-images having a size of width W/M * height H/N are generated.
  • a stego image is generated (S418). That is, a secret message is hidden in the sub-images marked as T among the cover images, and a completed stego image without a hidden secret message is generated in the sub-images marked as F.
  • a stego video (or stego video streaming) is generated, and this stego video (or stego video streaming) is provided to and played by a video output device (120).
  • the secret message may be inserted into all cover images of the cover video or may be inserted into some of the cover images. Therefore, some of the images included in the stego video may be stego images, and some may be original images in which the secret message is not inserted.
  • FIG. 5 is a diagram showing an example of a method for restoring a secret message hidden in a cover video in a decoder according to embodiments.
  • the decoder may be the decoder (235) of FIG. 2 or the decoder (235) of FIG. 3 included in the hidden data restoration device (130).
  • the hidden data restoration device (130) receives a decoder generated by applying an artificial neural network deep learning model from a server (140), as an example.
  • the hidden data restoration device (130) is described as a smart glass such as AR glasses, as an example.
  • the hidden data restoration device (130) in the present disclosure is not limited to smart glasses. That is, any device having one or more cameras and display functions can be a hidden data restoration device.
  • the decoding process for recovering a secret message from a stego image is performed in the reverse order of the encoding process for hiding the secret message in the cover video (or video streaming) of FIG. 4.
  • the image input unit (231) composed of one or more cameras of the hidden data recovery device (130) captures the image input device (120) (e.g., TV) that is playing the stego video (S511). At this time, the capture may be performed automatically or may be performed manually by a user's instruction.
  • the hidden data recovery device (130) is a smart glass
  • the place where the user is looking while wearing the smart glass, i.e., the image output device (120) and its surroundings may be automatically captured.
  • the image captured by the image input unit (231) may include not only the image being played back on the image output device (120), but also the image output device (120) and its surroundings. That is, the image input unit (231) may capture scenes of the surroundings including the image output device (120) that plays back the stego video and the image being played back on the image output device (120). At this time, the image input unit (231) may capture several tens of images per second (S512).
  • the image acquired by shooting may include stego images constituting the stego video and the image output device (120) and its surrounding background. That is, as shown in FIG. 5, each image acquired by shooting is composed of a background and a stego image.
  • Step S512 and thereafter is performed by an application installed in the hidden data restoration device (130), as an example.
  • each stego image separated in step S513 is composed of three color channels (RGB) in the width W * height H.
  • each stego image may be composed of three brightness channels in the width W * height H (or YCbCr/YUV channels).
  • step S513 when the stego image is separated, it is divided into multiple sub-images (S514).
  • the number of sub-images to be separated and the size of each sub-image are, in one embodiment, the same as the size of each sub-image and the number of sub-images to be divided in the encoding process of Fig. 4. That is, in step S514, each stego image is divided into 12 sub-images, each of which has a horizontal size of M and a vertical size of N.
  • step S514 when the stego image is divided into multiple sub-images, the sub-images with inserted secret messages are selected (S515) using the same algorithm as that used in step S413 of FIG. 4. That is, as in FIG. 4, up to K sub-images with inserted secret messages can be selected. At this time, the sub-image with inserted secret messages is indicated as T, and the sub-image without inserted secret messages is indicated as F. Even without separate information, the decoder can determine whether the corresponding sub-image is T or F by analyzing the image.
  • step S515 when sub-images with inserted secret messages are selected, for each sub-image, a channel with inserted secret messages is selected using the same algorithm as used in step S415 of Fig. 4 (S516). Since Y data of the YUV channel is selected in Fig. 4, as an example, Y data of the YUV channel is selected in Fig. 5 as well. If B data of the RGB channel is selected in Fig. 4, B data of the RGB channel is selected in Fig. 5 as well.
  • a decoding channel is selected in step S516, a data matrix of width W/M * height H/N * K is generated based on K sub-images with secret messages inserted and data information of the selected channel from the K sub-images (S517).
  • the learned decoding model is applied to the data matrix of width W/M * height H/N * K generated in step S517 to obtain a secret message from K sub-images (S518). That is, a secret message can be obtained from sub-images into which a secret message is inserted.
  • the secret message obtained in this way may include a content identifier and time information.
  • the decoder (235) extracts the content corresponding to the content identifier from the storage unit (237) and provides it to the output unit (239), and the output unit (239) displays and/or expresses the input content as sound based on the time information.
  • the smart glasses can display additional information related to the travel video being played, that is, detailed information (or specific information) of a building or place shown in the travel video.
  • the smart glasses can display additional information related to the sports video being played, i.e., detailed information (or specific information) of a specific number of players appearing in the sports video.
  • information on the size of the cover image (or stego image), information on the size of each sub-image divided from the cover image (or stego image), information on the number of sub-images, and channel information for inserting and restoring a secret message are determined in a learning process in which an artificial neural network deep learning model is applied in a server (140) to create an encoder and a decoder, as an example.
  • FIG. 6 is a diagram showing an example of a learning process for creating an encoder and a decoder by applying an artificial neural network deep learning model in a server according to embodiments.
  • the server may be the server (140) of FIG. 1, and after creating an encoder and a decoder by applying an artificial neural network deep learning model, the encoder is provided to a data hiding device (110), and the decoder is provided to a hidden data restoration device (130).
  • the encoder may be provided as an image output device (120). In this case, the process of hiding a secret message in an image is performed in real time or non-real time in the image output device (120).
  • the encoder and decoder created in the server (140) are a pair (i.e., a set).
  • the encoder and decoder are created as a pair, and the variables (or parameters) used in the encoder and the variables (or parameters) used in the decoder are the same.
  • the encoder and decoder are each stored in the server (140) in the form of a file, and the encoder in the form of a file is provided to a data hiding device (110) and/or an image output device (120), and the decoder in the form of a file is provided to a hidden data restoration device (130).
  • steps S611 to S615 of FIG. 6 operate in the same manner as steps S411 to S415 of FIG. 4.
  • the server (140) divides the input cover video into a plurality of cover images (S611).
  • the cover video is composed of random images that have nothing to do with the video to be played back on the video output device (120).
  • the cover video may be a collection of images randomly collected from the Internet, etc.
  • the current step is before the content provider creates the content, and is a learning step for creating an encoder and decoder, so the cover images have nothing to do with the video to be played back on the video output device (120).
  • step S611 extracts cover images having a width of W and a height of H from a randomly input cover video.
  • each cover image may be composed of a width of W * height of H * 3 color channels (or referred to as RGB channels).
  • each cover image may be composed of a width of W * height of H * 3 brightness channels (or referred to as YCbCr/YUV channels).
  • each cover image is divided into multiple sub-images (S612). As in Fig. 4, in step S612, each cover image is divided into multiple sub-images having a horizontal size of M and a vertical size of N.
  • step S612 when the cover image is divided into multiple sub-images, at most K sub-images are selected from the multiple sub-images into which a secret message is to be inserted (S613). Then, as in Fig. 4, the sub-image(s) selected to insert the secret message are indicated by T, and the non-selected sub-image(s) are indicated by F.
  • step S613 When one or more sub-images into which a secret message is to be inserted are determined in step S613, a channel into which an actual secret message is to be inserted is selected (S614).
  • Y data of a YUV channel is selected as in Fig. 4.
  • B data of an RGB channel may be selected.
  • a data matrix of width W/M * height H/N * K is generated based on the data information of the K sub-images into which secret messages are to be inserted and the channels selected from the K sub-images (S615). That is, the data of the selected channels of the K sub-images having width W/M * height H/N are changed due to the insertion of the secret message during the encoding process.
  • the server (140) generates a random secret message, converts the generated secret message into a binary format (or a bit array format), and then copies the converted secret message multiple times to make it the same size as the sub-image generated in step S615 (S616). That is, step S616 converts the input secret message into a binary array and then copies it to a size the same as the data of the sub-image generated in step S615 to generate K sub-secret messages having a width of W/M * a height of H/N. In other words, for a randomly input random secret message, a data matrix of a width of W/M * a height of H/N * K is created by using data copying, etc.
  • the encoding model learned up to the current step is applied to the data of the K (e.g., 6) sub-images generated in step S615 and the data of the K secret messages (or sub-secret messages) generated in S616 to generate a stego sub-image with a secret message inserted (S617). That is, K (e.g., 6) stego sub-images having a size of width W/M * height H/N are generated.
  • a stego image in frame units is generated (S618). That is, a secret message is hidden in the sub-images marked as T among the cover images, and a completed stego image without a hidden secret message is generated in the sub-images marked as F.
  • the stego image generated in this way is provided to a discriminator (651), a loss function calculation unit (653), and a start step (S619) for decoding. That is, the stego image generated in step S618 is trained to minimize the difference in image hash between the cover image and the stego image, and to minimize the discriminator.
  • Step S619 is a starting step of decoding, which generates a corrupted stego image by corrupting a part of the stego image generated in step S618.
  • step S619 arbitrarily changes the stego image.
  • the stego image is forcibly damaged within a certain range by applying blur, random noise addition, random brightness, contrast, luminance change, rotation, image decompression, etc. to the stego image.
  • blur, random noise addition, random brightness, contrast, luminance change, rotation, image decompression, etc. to the stego image.
  • the camera may recognize it as a darker green
  • the image output device (120) may recognize it as a lighter green.
  • step S620 If the stego image is corrupted in step S619, step S620 generates (or configures) a data matrix of width W/M * height H/N * K based on K sub-images into which secret messages are inserted and data information of channels selected from the K sub-images from the corrupted stego image.
  • the decoding model learned up to the current step is applied to the data matrix of width W/M * height H/N * K generated in step S620 to obtain a secret message from K sub-images (S621).
  • the loss function calculation unit (653) in the present disclosure may perform a step of checking the level of the current learning stage and defining a loss function for proceeding to the next learning stage.
  • the step of defining the loss function consists of the following three functions.
  • a function that evaluates the loss of image imperceptibility due to the secret message insertion of the stego image generated from the cover image i.e., a function that evaluates the quality difference between the cover image and the stego image. That is, the cover image and the stego image are compared pixel by pixel for each RGB, and the encoder is updated in the direction where the difference is minimized. That is, continuous iterative learning is performed in the direction where the difference value of the RGB pixels decreases.
  • An evaluation function that determines whether a real image is fake or not from a stego image as a discriminator for the Generative Adversarial Networks i.e., a function that evaluates whether the cover image is a fake image created by AI. In other words, it is a function for excluding fake images created by AI.
  • a function that evaluates the difference between the input secret message and the output secret message That is, the decoder is updated in the direction in which the difference between the input secret message and the output secret message (i.e., the secret message obtained from the forcibly corrupted stego image) is minimized. That is, the difference between the input secret message and the output secret message is compared in binary, and continuous iterative learning is performed in the direction in which the difference value becomes smaller.
  • the loss function calculation unit (653) calculates the value of the loss function by applying normalization to the result values of the three functions through a scale factor and converting them into a single floating point number. Then, to minimize this, the encoder, decoder, and discriminator (651) are updated and the next stage of learning is proceeded.
  • the loss function calculation unit (653) receives a cover image extracted from a randomly input cover video and a stego image generated in step S618 (S623).
  • the result of the discriminator of the generative adversarial neural network is received from the discriminator (651) (S624).
  • the secret message that is randomly input and the output secret message obtained in step S621 are received (S625). That is, the loss function calculation unit (653) continuously updates the encoder and decoder in the direction of minimizing the loss function.
  • the encoder and decoder at this time are saved in the form of a file. Then, the encoder in the form of a file is provided to the data hiding device (110) and/or the image output device (120), and the decoder in the form of a file is provided to the hidden data restoration device (130).
  • the present disclosure divides each frame (i.e., a cover image) into sub-images of M x N size, classifies the sub-images into textured sub-images and monochrome sub-images in consideration of the characteristics of the sub-images, and inserts the secret message into the textured sub-images.
  • the textured sub-images are denoted as T
  • the monochrome sub-images are denoted as F.
  • the decoding process has the same logic as the encoding process, and since only the sub-images with inserted secret messages undergo the decoding process, the decoding process becomes faster and simpler. Therefore, the present disclosure is suitable for lightweight AR devices.
  • FIG. 7 is a diagram showing an example of a method for extracting a boundary of an image output device in an analysis unit according to embodiments.
  • Figures 8(a) to 8(f) illustrate the process of extracting the boundary of an image output device in an analysis unit according to embodiments.
  • the analysis unit may be an analysis unit (233) included in the hidden data restoration device (130).
  • the image output device (120) is a TV as an example. That is, the analysis unit (233) extracts a TV boundary from an image captured by the image input unit (231). This is to provide only the image corresponding to the image being played back in the image output device (120) among the captured images to the decoder (235).
  • an image captured by the image input unit (231) may include one or more image output devices, or may include not only an image being played back on the image output device, but also the image output device and its surroundings.
  • the analysis unit (233) finds the boundary of an image output device by using a deep learning-based object detection technology for an input image acquired by the image input unit (231), as shown in Fig. 8(a) (S711).
  • the image output device may be a device such as a TV, a monitor, a tablet, a signage, etc.
  • the analysis unit (233) finds the boundary of an image output device such as a TV, a monitor, a tablet, a signage, etc. from an input image.
  • one or more image output devices may be included in the image acquired by the image input unit (231).
  • a TV and a monitor may be included in one image.
  • the analysis unit (233) selects the image output device closest to the center of the input image by considering the user's line of sight, as an example. For example, if the input image includes both a monitor and a TV, and the TV is closer to the center of the input image than the monitor, the analysis unit (233) selects the TV. That is, the analysis unit (233) can select one image output device with the highest confidence among a plurality of image input devices included in the captured image.
  • the analysis unit (233) may find a boundary that includes more of the outside of the object or includes only a part of the object.
  • the object detection technology has the advantage of quickly finding the boundary of the object, but has the disadvantage that the boundary of the recognized object is not accurate. Therefore, the analysis unit (233) applies upper, lower, left, and right margins to the boundary of the detected object to create a wider boundary, and extracts an image within the wider boundary (S713).
  • the left and right margins and the upper and lower margins may be based on 10% of the width and height of the detected object, respectively. However, these margins may be changed.
  • the object detection technology may be omitted. That is, in one embodiment, the application of the object detection method in the present disclosure is optional.
  • step S713 When an image is extracted within a boundary created by adding a margin in step S713, the outline of the extracted image must be extracted.
  • the present disclosure extracts the outline of the image extracted in step S713 using a gray scale and Canny algorithm as shown in FIG. 8(b) (S714).
  • grayscale and Canny algorithm are applied to the image extracted within the boundary created by adding upper, lower, left, and right margins to the boundary of the detected object, and if object detection technology is omitted, grayscale and Canny algorithm are applied to the entire image to extract the outline of the image.
  • the grayscale and Canny algorithms applied to extract the outline of an image are image processing functions, where grayscale is a process of converting an image to black and white, and the Canny algorithm is an edge detection algorithm that finds the outline (or contour) of all objects in an image converted to black and white.
  • a closed polygon has a closed boundary and is a completely closed shape with the start and end points connected, such as a triangle, a square, a pentagon, a circle, etc.
  • the following closed polygons among the multiple closed polygons extracted in step S715 can be excluded.
  • a closed polygon has an area smaller than a preset threshold (e.g. Area_Threshold)
  • Area_Threshold e.g. Area_Threshold
  • the threshold value (Area_Threshold) is set to 0.0005 times the width of the boundary of the image input device selected in step S712, as an example. This is just one example, and the threshold value (Area_Threshold) can be changed.
  • Step S716 is a filtering and merging step of closed polygons.
  • the distance of the center of gravity of each closed polygon is accumulated in the order of proximity, and a rectangle with the minimum area that includes all closed polygon sets is obtained.
  • merging is performed from the closed polygon closest to the center point of the TV.
  • the position of the closed polygon is the center of gravity, and a shape smaller than the threshold value in terms of area is discarded.
  • the bounding rectangle is obtained after merging.
  • closed polygons are found in order of their proximity to the center point, and rectangles that can contain the found closed polygons (i.e., rectangles among the closed polygons) are found.
  • This process is repeated until a rectangle with the minimum area that contains all the closed polygons is found. For example, if there is a rectangle that contains both two closed polygons found in order of proximity to the center point, the two closed polygons are merged into that rectangle. Then, if there is a wider rectangle that contains this rectangle and other closed polygons, they are merged into the wider rectangle.
  • the area of the rectangle gradually increases. In other words, through polygon merging, only multiple rectangles (i.e., a set of rectangles) among the closed polygons remain.
  • step S716 When polygon merging is performed in step S716, a TV Acceptance test is performed (S717) to determine whether the resulting rectangles of the polygon merging are to be judged as image output devices (e.g., TV edges).
  • image output devices e.g., TV edges
  • Step S717 is a step for determining whether to determine the set of rectangles obtained in step S716 as an image output device (e.g., TV edge) as in Fig. 8(e), and only rectangles satisfying the following conditions are selected to be determined as image output devices.
  • an image output device e.g., TV edge
  • the rectangle is selected to be determined as an image output device, and rectangles that do not satisfy this condition are discarded.
  • a center threshold e.g., when object detection technology is applied
  • an area threshold e.g., when object detection technology is not applied
  • the rectangle is selected to be determined as a TV edge.
  • the threshold that is, if the difference is less than the threshold (Acceptance_Center_Threshold)
  • the rectangle is selected to be determined as a TV edge.
  • the ratio of the TV width to the area of the object detection is greater than or equal to the threshold (Acceptance_Area_Threshold)
  • the rectangle is selected to be determined as a TV edge. Therefore, in the present disclosure, one or more squares can be selected to be judged as an image output device.
  • the center threshold (Acceptance_Center_Threshold) is set to 0.333 as an example. This is an example, and the center threshold (Acceptance_Center_Threshold) is changeable.
  • the area threshold (Acceptance_Area_Threshold) is set to 0.7 as an example. This is an example, and the area threshold (Acceptance_Area_Threshold) is changeable.
  • one or more of the rectangles that passed the TV pass test i.e., one or more rectangles selected to be determined as a video output device (e.g., a TV edge), are one or more candidates for a video output device (e.g., a TV edge).
  • step S717 if, among one or more rectangles resulting from the polygon merge, the difference between the center point of the entire image or the center point of the boundary of the image input device when object detection technology is applied and the center point of the rectangle is too large (i.e., greater than or equal to the threshold (Acceptance_Center_Threshold)), the rectangle is excluded from the candidates for the image output device (e.g., TV edge).
  • the rectangle is excluded from the candidates for the image output device (e.g., TV edge).
  • step S717 among one or more rectangles resulting from the polygon merge, rectangles that have an area that is too small (i.e., less than or equal to the threshold (Acceptance_Area_Threshold)) will be excluded from the candidates for the image output device (e.g., TV edge). This means that, among the one or more rectangles, rectangles that have an area that is too small will not be selected as candidates for the image output device (e.g., TV edge) and will be discarded.
  • the threshold Acceptance_Area_Threshold
  • That square is determined to be a video output device (i.e., TV edge), and the image corresponding to that square is provided to the decoder (235) for secret message restoration.
  • the two or more squares are sorted in order of their area, and then the images of each square are provided to the decoder (235) in the sorted order to apply steganographic decoding.
  • the square from which the secret message is extracted among the two or more squares is selected as the final image output device (e.g., TV edge).
  • the decoder (235) reads the corresponding content from the storage unit (237) based on the content identifier and time information included in the secret message restored from the image of the selected square and provides the user experience to the output unit (239).
  • the set of rectangles that passed through step S717 are candidates for the TV boundary, and in cases where multiple rectangles are extracted, steganographic decoding can be applied to all candidates to select the most appropriate rectangle, as shown in Fig. 8(f).
  • the present disclosure can perform encoding to insert a secret message into a cover video by applying an Error Correction Code (ECC) in an encoder, perform error detection and error correction using the ECC in a decoder, and perform decoding to restore the secret message.
  • ECC Error Correction Code
  • this is applied to two or more squares in step S718, only one of the squares can restore the secret message without an error. Therefore, the present disclosure can select one of two or more video output device candidates by using this method.
  • the encoder encodes a secret message input by an administrator (information provider, content provider, or content advertiser) for each frame of a cover video (Video Source) through an artificial neural network steganography deep learning model, regenerates a new stego image, and outputs it to the screen of a video output device (e.g., TV, laptop, signage, etc.).
  • a video output device e.g., TV, laptop, signage, etc.
  • the AR glasses recognize the screen of the video output device through a camera, analyze the video being played on the screen in real time, and decode the hidden secret message from the video being played through an artificial neural network steganography deep learning model.
  • the AR glasses compare the decoded secret message with data stored in a database, and if they match, display a corresponding UI on the AR glasses screen or make a sound.
  • the secret message includes a content identifier (Contents ID) and time information (Timestamp), and the AR glasses can distinguish content stored in a database through the content identifier and determine the playback time of the content stored in the database through the time information.
  • Content ID Content identifier
  • Time information Timestamp
  • the present disclosure allows a user to obtain useful information simply by watching a video while wearing the glasses without any separate operation.
  • a video For example, in an outdoor movie theater such as a drive-in theater, the user can see and hear movie subtitles and sounds through the glasses while wearing the glasses.
  • movie subtitles and sounds For example, in an outdoor movie theater such as a drive-in theater, the user can see and hear movie subtitles and sounds through the glasses while wearing the glasses.
  • exhibition such as a museum or art gallery, the user can see and hear additional explanations or additional information about the work through the glasses while wearing the glasses.
  • FIGS. 9 to 14 are diagrams showing examples of user experiences (UX) provided according to secret messages restored in the present disclosure.
  • FIG. 9(a) shows an example of a travel video being played on an image output device (120) according to embodiments
  • FIG. 9(b) is a drawing showing an example of additional information related to a travel video being played on an image output device (120) of FIG. 9(a) being displayed on a hidden data restoration device (130), for example, smart glasses.
  • additional information related to a travel video may include geographical information, buildings, transportation, accommodations, restaurant information, etc. for a travel destination.
  • the user can view additional information related to the travel video being played on the video output device (120), for example, detailed information (or specific information) of a building or place (e.g., a tourist attraction) shown in the travel video, through the smart glasses simply by looking at the video output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the travel video being played on the video output device (120), the smart glasses restore the secret message from the travel video being played on the video output device (120) and recognize the content identifier and/or time information included in the restored secret message.
  • additional information related to the travel video being played on the video output device (120) for example, detailed information (or specific information) of a building or place (e.g., a tourist attraction) shown in the travel video
  • the smart glasses retrieve and display the content (e.g., detailed information on a tourist attraction) corresponding to the content identifier from the database according to the timestamp included in the time information through the neighbor-of-screen of the smart glasses.
  • the out-of-screen refers to a screen outside the user's field of view in the smart glasses.
  • the storage unit (237) of the hidden data restoration device (130) stores additional information related to the travel video being played
  • the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the travel video being played from the storage unit (237).
  • the restored secret message may further include time information (e.g., a timestamp) related to the additional information.
  • the time information may include a playback start time, a playback time, or a playback end time of the additional information.
  • the smart glasses may display the additional information for several seconds (e.g., 5 seconds) from the moment the secret message is restored according to the time information.
  • the additional information may be a still image such as a picture, a photograph, or text, or may be a moving image.
  • additional information related to the travel video being played there may also be a plurality of content identifiers and time information, or the content identifiers and time information of the remaining additional information may be inferred based on one content identifier and time information.
  • secret messages may be hidden in the travel video being played, as many as the number of additional information.
  • the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video.
  • the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).
  • FIG. 10(a) shows an example of a sports game video being played on an image output device (120) according to embodiments
  • FIG. 10(b) is a diagram showing an example of additional information related to a sports game video being played on an image output device (120) of FIG. 10(a) being displayed on a hidden data restoration device (130), for example, smart glasses.
  • additional information related to a sports game video may include information on a sports team's club, league rankings, a list of starting players, key scenes from a game, detailed information on a specific player, and the like.
  • the user can view additional information related to the sports game video being played on the video output device (120), such as key scenes of the game or detailed information (or specific information) of a specific player, through the smart glasses simply by looking at the video output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the sports game (or sports broadcast) being played on the video output device (120), the smart glasses restore the secret message from the sports game video being played on the video output device (120) and recognize the content identifier and/or time information included in the restored secret message. Then, the content (e.g., detailed information of a specific player) identified by the content identifier is retrieved from the database and displayed according to the timestamp included in the time information through the neighbor-of-screen.
  • additional information related to the sports game video being played on the video output device (120) such as key scenes of the game or detailed information (or specific information) of a specific player
  • the storage unit (237) of the hidden data restoration device (130) stores additional information related to the sports game video being played
  • the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the sports game video being played from the storage unit (237).
  • the restored secret message may further include time information (e.g., a timestamp) related to the additional information.
  • the time information may include a playback time, a playback time, etc. of the additional information.
  • the smart glasses may display the additional information for several seconds (e.g., 5 seconds) according to the time information.
  • the additional information may be a still image such as a picture, a photograph, or text, or may be a moving image.
  • the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video.
  • the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).
  • FIG. 11(a) shows an example of a music video being played on an image output device (120) according to embodiments
  • FIG. 11(b) is a diagram showing an example of additional information related to a music video being played on an image output device (120) of FIG. 11(a) being displayed on a hidden data restoration device (130), for example, smart glasses.
  • additional information related to a music video may include information on an affiliated company, introduction of group members, performance news, song lyric subtitle information, and the like.
  • the user can view additional information related to the music video being played on the video output device (120), such as detailed information (or specific information) of a specific member, song lyric subtitle information of the music video, etc., through the smart glasses simply by looking at the video output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the music video being played on the video output device (120), the smart glasses restore the secret message from the music video being played on the video output device (120) and recognize the content identifier and/or time information included in the restored secret message.
  • additional information related to the music video being played on the video output device (120) such as detailed information (or specific information) of a specific member, song lyric subtitle information of the music video, etc.
  • the smart glasses display the content (e.g., song lyric subtitle information of the music video) corresponding to the content identifier according to the timestamp included in the time information through the neighbor-of-screen. If the song lyric subtitle information is displayed, the song lyrics can be displayed in synchronization with the song of the music video being played on the video output device (120).
  • content e.g., song lyric subtitle information of the music video
  • the song lyrics can be displayed in synchronization with the song of the music video being played on the video output device (120).
  • the storage unit (237) of the hidden data restoration device (130) stores additional information related to the music video being played
  • the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the music video being played from the storage unit (237).
  • the restored secret message may further include time information (e.g., a timestamp) related to the additional information.
  • the time information may include a playback time, a playback time, etc. of the additional information.
  • the additional information may be a still image such as a picture, a photograph, or text, or may be a moving image.
  • the content identifier and the time information may also be a plurality, or the content identifier and the time information of the remaining additional information may be inferred based on one content identifier and the time information.
  • the number of additional information may be hidden in the music video being played.
  • the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video.
  • the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).
  • FIG. 12(a) shows an example of a drama being played on an image output device (120) according to embodiments
  • FIG. 12(b) is a diagram showing an example of additional information related to a drama being played on an image output device (120) of FIG. 12(a) being displayed on a hidden data restoration device (130), for example, smart glasses.
  • additional information related to a drama may correspond to detailed information on a specific actor, product advertisement information such as clothes, accessories, and shoes worn by a specific actor, and the like.
  • the user can view additional information related to the drama being played on the image output device (120), such as purchase information on sunglasses worn by a specific actor, detailed information (or specific information) of a specific actor, etc., through the smart glasses, simply by looking at the image output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the drama being played on the image output device (120), the smart glasses restore a secret message from the drama video being played on the image output device (120) and recognize a content identifier and/or time information included in the restored secret message.
  • additional information related to the drama being played on the image output device (120) such as purchase information on sunglasses worn by a specific actor, detailed information (or specific information) of a specific actor, etc.
  • the smart glasses display content (e.g., purchase information on a product worn by a specific actor) corresponding to the content identifier according to a timestamp included in the time information through the neighbor-of-screen.
  • content e.g., purchase information on a product worn by a specific actor
  • the purchase information on a product may include a price of the product, an image of the product, link information for purchasing the product, etc., and when the user selects the additional information being displayed, the user can move to the shopping mall for the corresponding product.
  • the storage unit (237) of the hidden data restoration device (130) stores additional information related to the drama video being played
  • the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the drama video being played from the storage unit (237).
  • the restored secret message may further include time information (e.g., a timestamp) related to the additional information.
  • the time information may include a playback time, a playback time, etc. of the additional information.
  • the smart glass may display the additional information for several seconds (e.g., 5 seconds) according to the time information.
  • the additional information may be a still image such as a picture, a photograph, or text, or may be a moving image.
  • the content identifier and the time information may also be a plurality, or the content identifier and the time information of the remaining additional information may be inferred based on one content identifier and the time information.
  • the number of secret messages may be hidden in the drama video being played as many as the number of additional information.
  • the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video.
  • the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).
  • FIG. 13(a) shows an example of a home shopping or advertisement being played on an image output device (120) according to embodiments
  • FIG. 13(b) is a diagram showing an example of a home shopping or advertisement being played on an image output device (120) of FIG. 13(a) being displayed on a hidden data restoration device (130), for example, smart glasses.
  • the image output device (120) can play home shopping or an advertisement (for example, a terrestrial advertisement played during a variety/sports break time), and the additional information related to the home shopping or advertisement may correspond to detailed information on the home shopping product or advertisement product being played, a discount coupon (or discount code) for the product, purchase link information, and the like.
  • an advertisement e.g., LG's object dryer
  • the user can view additional information related to the advertisement being played on the image output device (120), such as a discount coupon (or discount code) for the object dryer being advertised, purchase link information, etc., through the smart glasses simply by looking at the image output device (120) through the smart glasses. That is, when the user wears the smart glasses and views the advertisement being played on the image output device (120), the smart glasses restore the secret message from the advertisement video being played on the image output device (120) and recognize the content identifier and/or time information included in the restored secret message.
  • a discount coupon or discount code
  • the smart glasses display the content (e.g., a discount coupon or discount code for the product being advertised, purchase link information) corresponding to the content identifier according to the timestamp included in the time information through the neighbor-of-screen.
  • the content e.g., a discount coupon or discount code for the product being advertised, purchase link information
  • the smart glasses display the content (e.g., a discount coupon or discount code for the product being advertised, purchase link information) corresponding to the content identifier according to the timestamp included in the time information through the neighbor-of-screen.
  • the discount coupon or discount code
  • the present disclosure can conduct a promotion with a special discount code inserted during home shopping or commercial broadcasting.
  • the sales demand for smart glasses to apply the promotion can increase, and it can be utilized as a temporary marketing point.
  • the effect of viewers fixating on the corresponding channel can be obtained. In other words, the effect of increasing viewership can be obtained.
  • the storage unit (237) of the hidden data restoration device (130) stores additional information related to the home shopping/advertisement video being played, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information from the storage unit (237).
  • the restored secret message may further include time information (e.g., a timestamp) related to the additional information.
  • the time information may include a playback time, a playback time, etc. of the additional information related to the played video.
  • the additional information may be a still image such as a picture, a photograph, or text, or may be a moving video.
  • the content identifier and the time information may also be a plurality, or the content identifier and the time information of the remaining additional information may be inferred based on one content identifier and the time information.
  • the number of additional information may be hidden in the home shopping/advertisement video being played.
  • the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video.
  • the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).
  • the image output device (120) in FIGS. 14(a) to 14(d) may be a digital signage installed in a subway, outdoors of a building, a subway station, a bus stop, an airport, a terminal, a shopping mall, etc.
  • Digital signage is a device that displays information using digital display technology, and mainly plays still images or moving images for the purpose of advertising, information delivery, commercial purposes, brand promotion, etc.
  • an advertisement is played on a digital signage as shown in FIGS. 14(a) to 14(d)
  • additional information related to the advertisement may be displayed through the smart glasses.
  • an advertisement video is played on a digital signage screen installed at a bus stop, subway, terminal, airport, etc.
  • additional information related to the advertisement may be displayed on the smart glasses screen and/or the advertisement sound may be heard through the smart glasses.
  • the smart glasses restore a secret message from the advertisement video being played on the image output device (120) and recognize a content identifier and/or time information included in the restored secret message. Then, the smart glasses display content corresponding to the content identifier (e.g., purchase link information related to the advertised product) according to a timestamp included in the time information through neighbors-of-screen. At this time, when the user selects the purchase link information through the smart glasses, the user can move to the shopping mall for the corresponding product.
  • the content identifier e.g., purchase link information related to the advertised product
  • smart glasses can display content corresponding to a content identifier included in a secret message a certain amount of time after the user starts watching an advertisement video playing on a digital signage by referencing the time information included in the secret message.
  • the storage unit (237) of the hidden data restoration device (130) stores additional information related to the playback video
  • the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the playback video from the storage unit (237).
  • the restored secret message may further include time information (e.g., a timestamp) related to the additional information related to the playback video.
  • the time information may include a playback time, a playback time, etc. of the additional information related to the playback video.
  • the smart glasses may display the additional information related to the playback video about 10 seconds after the time from when the playback video is started to be viewed according to the time information.
  • the additional information may be a still image such as a picture, a photograph, or text, or may be a moving video.
  • there is a plurality of additional information related to the playback video there may also be a plurality of content identifiers and time information, or the content identifiers and time information of the remaining additional information may be inferred based on one content identifier and time information.
  • the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video.
  • the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).
  • the present disclosure captures a video being played (or displayed) on a video output device through a camera of various devices, and
  • a hidden data restoration device recognition of an image output device (e.g., TV), extraction of a stego image area from the device, and learning that takes into account the distortion of the camera device and the surrounding environment are performed, so that extraction of a secret message is possible even if the stego image is distorted.
  • an image output device e.g., TV
  • the device equipped with the camera does not need to communicate with the server, and it can be applied not only to the video being broadcast but also to the stored video, streaming video, and live broadcast.
  • the present disclosure encodes an invisible secret message in a cover image using an artificial neural network deep learning model, and decodes the secret message from a stego image transmitted through a camera in smart glasses such as AR glasses using the artificial neural network deep learning model. Accordingly, the present disclosure can hide a secret message in not only a locally stored video but also a streaming video and a live broadcast, and then restore the same through smart glasses, and can provide various UXs between metaverse devices.
  • Each of the parts, modules or units described above may be software, processor or hardware parts that execute sequential execution processes stored in a memory (or storage unit). Each of the steps described in the above-described embodiments may be performed by processor, software or hardware parts. Each of the modules/blocks/units described in the above-described embodiments may operate as a processor, software or hardware. In addition, the methods presented in the embodiments may be executed as code. The code may be written in a processor-readable storage medium and thus may be read by a processor provided by an apparatus.
  • the device and method according to the present disclosure are not limited to the configuration and method of the embodiments described above, but the embodiments may be configured by selectively combining all or part of the embodiments so that various modifications can be made.
  • first, second, etc. may be used to describe various components of the present disclosure.
  • various components according to the present disclosure should not be limited in interpretation by the above terms. These terms are merely used to distinguish one component from another.
  • a first user input signal may be referred to as a second user input signal.
  • a second user input signal may be referred to as a first user input signal.
  • the use of these terms should be construed as not departing from the scope of various embodiments.
  • the first user input signal and the second user input signal are both user input signals, they do not mean the same user input signals unless the context clearly indicates otherwise.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

An image processing system and a method therefor are disclosed. The image processing system may comprise: a data hiding device which includes an encoder that hides a secret message in a first image in a first video so as to generate a second image, and which transmits a second video including the second image; an image output device for receiving and playing back the second video; a hidden data restoration device, which includes a decoder for restoring the secret message, uses at least one camera to capture the image output device by which the second video is being played back, restores, by means of the decoder, the secret message from the captured image, and provides a user experience on the basis of the restored secret message; and a server, which generates the encoder and the decoder by applying an artificial neural network deep learning model, provides the encoder to the data hiding device, and provides the decoder to the hidden data restoration device.

Description

영상 처리 시스템 및 그 방법Image processing system and method thereof

본 개시는 영상 처리 시스템 및 그 방법에 관한 것으로서, 특히 영상에 정보를 은닉 및 복원할 수 있는 스테가노그래피(steganography) 기술을 이용하여 영상을 인코딩하고 디코딩하기 위한 장치 및 방법에 관한 것이다.The present disclosure relates to an image processing system and method thereof, and more particularly, to a device and method for encoding and decoding an image using a steganography technique capable of hiding and restoring information in an image.

스테가노그래피(Steganography)는 미디어 데이터에 정보(예, 비밀 메시지)를 은닉하는(또는 숨기는) 기술 또는 프로세스를 나타낸다. 예를 들어, 이미지의 픽셀 값 중에 비밀 메시지를 은닉함으로써 이미지의 외관에 거의 영향을 주지 않으면서 비밀 메시지를 은닉하거나, 또는 음악 파일이나 오디오 스트림에 비밀 메시지를 은닉함으로써, 소리에서 거의 감지할 수 없는 방식으로 비밀 메시지를 은닉한다. 즉, 스테가노그래피는 제3자(또는 사용자)가 해당 미디어에 비밀 메시지가 은닉되어 있다는 사실 자체를 인간의 오감을 통해 인식되지 못하도록 정보를 은닉하는 방법이다.Steganography is a technique or process for hiding (or hiding) information (e.g., secret messages) in media data. For example, by hiding the secret message among the pixel values of an image, the secret message is hidden with little effect on the appearance of the image, or by hiding the secret message in a music file or audio stream, the secret message is hidden in a way that it is almost undetectable in the sound. In other words, steganography is a method of hiding information so that a third party (or user) cannot recognize the fact that a secret message is hidden in the media through the human five senses.

종래에는 미디어 데이터에 비밀 메시지를 은닉시, 임의의 비트에 비밀 메시지를 삽입하는 랜덤 LSB(Least Significant Bit) 방법을 사용하였다. 그리고, 비밀 메시지를 삽입한 후 다시 미디어 데이터로 변환시킬 때 무손실 압축 기법을 사용하였다. 이로 인해 비밀 메시지가 은닉된 미디어 데이터의 크기가 증가하여 비밀 메시지가 은닉된 미디어 데이터의 송수신에 많은 네트워크 대역폭이 필요한 문제가 발생한다. 또한, 비밀 메시지가 은닉된 미디어 데이터의 크기가 증가함으로써, 실시간 환경에 부적합한 문제가 발생한다. In the past, when hiding a secret message in media data, a random LSB (Least Significant Bit) method was used to insert a secret message into a random bit. Then, a lossless compression technique was used when converting the secret message back into media data after inserting it. This causes the size of the media data with the secret message hidden to increase, which causes a problem in that a lot of network bandwidth is required to transmit and receive the media data with the secret message hidden. In addition, the size of the media data with the secret message hidden to increase, which causes a problem in that it is not suitable for a real-time environment.

본 개시는 전술한 문제점 및 이와 연관된 다양한 문제점을 해결하기 위해 제안되는 것으로서, 본 개시의 목적은 인코더에서는 영상에 비밀 메시지를 은닉하고, 디코더에서는 카메라를 통해 촬영된 영상으로부터 비밀 메시지를 복원하는 장치 및 방법을 제공한다.The present disclosure is proposed to solve the above-mentioned problems and various problems related thereto, and an object of the present disclosure is to provide a device and method for an encoder to hide a secret message in an image and a decoder to restore the secret message from an image captured by a camera.

본 발명의 다른 목적은 인공신경망 딥러닝 모델을 적용한 인코더에서 영상에 비밀 메시지를 은닉하고, 인공신경망 딥러닝 모델을 적용한 디코더에서 영상에 은닉된 비밀 메시지를 복원하는 장치 및 방법을 제공한다.Another object of the present invention is to provide a device and method for hiding a secret message in an image using an encoder that applies an artificial neural network deep learning model, and restoring the secret message hidden in the image using a decoder that applies an artificial neural network deep learning model.

본 개시의 다른 목적은 실시간 및 비실시간으로 인공신경망 딥러닝 모델을 적용하여 영상에 비밀 메시지를 은닉하고, 인공신경망 딥러닝 모델을 적용하여 은닉된 비밀 메시지를 영상으로부터 복원하는 장치 및 방법을 제공한다.Another object of the present disclosure is to provide a device and method for hiding a secret message in an image by applying an artificial neural network deep learning model in real time and non-real time, and for restoring the hidden secret message from the image by applying an artificial neural network deep learning model.

다만, 전술한 기술적 과제만으로 제한되는 것은 아니고, 본 문서 전체 내용에 기초하여 당업자가 유추할 수 있는 다른 기술적 과제로 실시예들의 권리범위가 확장될 수 있다.However, the scope of the embodiments is not limited to the technical tasks described above, and the scope of the embodiments may be expanded to other technical tasks that can be inferred by a person skilled in the art based on the entire contents of this document.

상술한 목적 및 다른 이점을 달성하기 위해서 영상 처리 시스템은 제1 비디오 내 제1 이미지에 비밀 메시지를 은닉하여 제2 이미지를 생성하는 인코더를 포함하고, 상기 제2 이미지를 포함하는 제2 비디오를 전송하는 데이터 은닉 장치, 상기 제2 비디오를 수신하여 재생하는 영상 출력 장치, 상기 비밀 메시지를 복원하기 위한 디코더를 포함하며, 적어도 하나의 카메라로 상기 제2 비디오가 재생 중인 영상 출력 장치를 촬영하고, 상기 촬영된 이미지로부터 상기 비밀 메시지가 상기 디코더에 의해 복원되고, 상기 복원된 비밀 메시지를 기반으로 사용자 경험을 제공하는 은닉 데이터 복원 장치, 및 인공신경망 딥러닝 모델을 적용하여 상기 인코더와 상기 디코더를 생성하고, 상기 인코더를 상기 데이터 은닉 장치로 제공하고, 상기 디코더를 상기 은닉 데이터 복원 장치로 제공하는 서버를 포함할 수 있다. In order to achieve the above-described purpose and other advantages, the image processing system may include an encoder which generates a second image by hiding a secret message in a first image of a first video, a data hiding device which transmits a second video including the second image, an image output device which receives and reproduces the second video, a decoder which restores the secret message, and may include a hidden data restoration device which photographs the image output device while the second video is being reproduced by at least one camera, restores the secret message from the photographed image by the decoder, and provides a user experience based on the restored secret message, and a server which generates the encoder and the decoder by applying an artificial neural network deep learning model, provides the encoder to the data hiding device, and provides the decoder to the hidden data restoration device.

실시예들에 따르면, 상기 데이터 은닉 장치에 포함된 인코더는 상기 제1 이미지를 복수개의 서브 이미지들로 분할하고, 상기 복수개의 서브 이미지들 중 상기 비밀 메시지를 삽입할 하나 이상의 제1 서브 이미지들을 선택하고, 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지를 삽입할 채널을 선택하고, 상기 하나 이상의 제1 서브 이미지들의 개수 및 크기와 동일하게 상기 비밀 메시지를 복사하여 하나 이상의 서브 비밀 메시지들을 생성하고, 상기 하나 이상의 제1 서브 이미지들의 선택된 채널의 데이터와 상기 하나 이상의 서브 비밀 메시지들의 데이터로부터 학습된 인코딩 모델을 적용하여 상기 비밀 메시지가 삽입된 하나 이상의 제2 서브 이미지들을 생성하며, 상기 제1 이미지의 복수개의 서브 이미지들 중 하나 이상의 제1 서브 이미지들을 상기 하나 이상의 제2 서브 이미지들로 대체하여 상기 비밀 메시지가 삽입된 상기 제2 이미지를 생성할 수 있다. According to embodiments, an encoder included in the data hiding device may divide the first image into a plurality of sub-images, select one or more first sub-images from the plurality of sub-images into which the secret message is to be inserted, select a channel from among channels constituting pixels of the one or more selected first sub-images into which the secret message is to be inserted, copy the secret message to a number and a size identical to that of the one or more first sub-images to generate one or more sub-secret messages, apply an encoding model learned from data of the selected channels of the one or more first sub-images and data of the one or more sub-secret messages to generate one or more second sub-images into which the secret message is inserted, and replace one or more first sub-images from among the plurality of sub-images of the first image with the one or more second sub-images to generate the second image into which the secret message is inserted.

실시예들에 따르면, 상기 인코더는 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들이 RGB 채널이면, 상기 비밀 메시지를 삽입할 채널로 B 채널을 선택할 수 있다.According to embodiments, the encoder may select a B channel as a channel into which to insert the secret message, if the channels constituting the pixels of the one or more selected first sub-images are RGB channels.

실시예들에 따르면, 상기 인코더는 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들이 YUV 채널이면, 상기 비밀 메시지를 삽입할 채널로 Y 채널을 선택할 수 있다.According to embodiments, the encoder may select a Y channel as a channel into which to insert the secret message, if the channels constituting the pixels of the one or more selected first sub-images are YUV channels.

실시예들에 따르면, 상기 비밀 메시지는 컨텐츠 식별 정보를 포함하며, 상기 컨텐츠 식별 정보는 상기 사용자 경험을 제공하기 위한 컨텐츠를 식별하기 위해 사용될 수 있다.According to embodiments, the secret message includes content identification information, and the content identification information can be used to identify content for providing the user experience.

실시예들에 따르면, 상기 비밀 메시지는 시간 정보를 더 포함하며, 상기 시간 정보는 상기 컨텐츠 식별 정보에 의해 식별되는 컨텐츠의 재생 시점을 식별하기 위한 정보, 재생 시간을 식별하기 위한 정보, 또는 재생 종료 시점을 식별하기 위한 정보 중 적어도 하나를 포함할 수 있다. According to embodiments, the secret message further includes time information, and the time information may include at least one of information for identifying a playback time of the content identified by the content identification information, information for identifying a playback time, or information for identifying a playback end time.

실시예들에 따르면, 상기 은닉 데이터 복원 장치는, 상기 사용자 경험을 제공할 하나 이상의 컨텐츠들을 저장하는 저장부, 상기 제2 비디오가 재생되는 영상 출력 장치를 촬영하는 영상 입력부, 상기 영상 입력부에 의해 촬영된 이미지로부터 상기 영상 출력 장치의 에지를 검출하는 분석부, 상기 분석부에서 검출된 영상 출력 장치의 에지에 해당하는 이미지로부터 상기 비밀 메시지를 복원하는 상기 디코더, 및 상기 복원된 비밀 메시지에 포함된 컨텐츠 식별 정보를 기반으로 상기 저장부로부터 컨텐츠를 추출하여 사용자 경험을 제공하는 출력부를 포함할 수 있다.According to embodiments, the hidden data restoration device may include a storage unit that stores one or more contents to provide the user experience, an image input unit that photographs an image output device on which the second video is played, an analysis unit that detects an edge of the image output device from an image photographed by the image input unit, a decoder that restores the secret message from an image corresponding to the edge of the image output device detected by the analysis unit, and an output unit that extracts content from the storage unit based on content identification information included in the restored secret message to provide the user experience.

실시예들에 따르면, 상기 분석부는 상기 촬영된 이미지의 외곽선을 추출하고, 상기 추출된 외곽선을 기반으로 닫힌 폴리곤들을 추출하고, 상기 이미지의 중심에서 가까운 닫힌 폴리곤들부터 병합을 수행하여 하나 이상의 닫힌 폴리곤들을 포함하는 하나 이상의 사각형들을 선택하고, 상기 하나 이상의 사각형들을 하나 이상의 임계값들과 비교하여 상기 하나 이상의 사각형들 중 적어도 하나를 상기 영상 출력 장치의 에지 후보로 결정하고, 상기 영상 출력 장치의 에지 후보가 복수개이면, 사각형의 넓이가 큰 순서로 정렬한 후 각각에 대해 디코딩을 적용하여 상기 영상 출력 장치의 에지를 최종 결정할 수 있다.According to embodiments, the analysis unit extracts an outline of the captured image, extracts closed polygons based on the extracted outline, selects one or more rectangles including one or more closed polygons by merging closed polygons close to the center of the image, compares the one or more rectangles with one or more threshold values to determine at least one of the one or more rectangles as an edge candidate of the image output device, and if there are a plurality of edge candidates of the image output device, the rectangles are sorted in order of decreasing area and then decoding is applied to each of them to finally determine the edge of the image output device.

실시예들에 따르면, 상기 은닉 데이터 복원 장치의 디코더는 상기 영상 출력 장치의 에지에 해당하는 이미지를 복수개의 서브 이미지들로 분할하고, 상기 복수개의 서브 이미지들 중 상기 비밀 메시지가 삽입된 하나 이상의 제3 서브 이미지들을 선택하고, 상기 선택된 하나 이상의 제3 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지가 삽입된 채널을 선택하고, 상기 하나 이상의 제3 서브 이미지들의 선택된 채널의 데이터로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 획득할 수 있다.According to embodiments, the decoder of the hidden data restoration device may divide an image corresponding to an edge of the image output device into a plurality of sub-images, select one or more third sub-images having the secret message inserted therein from among the plurality of sub-images, select a channel having the secret message inserted therein from among channels constituting pixels of the one or more selected third sub-images, and obtain the secret message by applying a decoding model learned from data of the selected channel of the one or more third sub-images.

실시예들에 따르면, 상기 데이터 은닉 장치의 인코더에서 상기 비밀 메시지의 삽입을 위해 선택되는 하나 이상의 제1 서브 이미지들의 개수와 크기 및 선택된 채널은 상기 은닉 데이터 복원 장치의 디코더에서 상기 비밀 메시지가 삽입된 하나 이상의 제3 서브 이미지들의 개수와 크기 및 선택된 채널과 동일할 수 있다.According to embodiments, the number and size of one or more first sub-images and the selected channel selected for insertion of the secret message in the encoder of the data hiding device may be identical to the number and size of one or more third sub-images and the selected channel in which the secret message is inserted in the decoder of the hidden data restoration device.

실시예들에 따르면, 상기 서버는 인코더, 디코더 및 손실 함수 계산부를 포함할 수 있다. According to embodiments, the server may include an encoder, a decoder and a loss function calculation unit.

실시예들에 따르면, 상기 서버에 포함된 인코더는 랜덤으로 입력되는 비디오 내 제3 이미지를 복수개의 서브 이미지들로 분할하고, 상기 복수개의 서브 이미지들 중 랜덤으로 입력되는 입력 비밀 메시지를 삽입할 하나 이상의 제4 서브 이미지들을 선택하고, 상기 선택된 하나 이상의 제4 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 입력 비밀 메시지를 삽입할 채널을 선택하고, According to embodiments, the encoder included in the server divides a third image in a randomly input video into a plurality of sub-images, selects one or more fourth sub-images in which to insert a randomly input secret message from among the plurality of sub-images, and selects a channel in which to insert the input secret message from among channels constituting pixels of the one or more selected fourth sub-images.

실시예들에 따르면, 상기 하나 이상의 제4 서브 이미지들의 개수 및 크기와 동일하게 상기 입력 비밀 메시지를 복사하여 하나 이상의 서브 비밀 메시지들을 생성하고, 상기 하나 이상의 제4 서브 이미지들의 선택된 채널의 데이터와 상기 하나 이상의 서브 비밀 메시지들의 데이터로부터 현재까지 학습된 인코딩 모델을 적용하여 상기 입력 비밀 메시지가 삽입된 하나 이상의 제5 서브 이미지들을 생성하고, 상기 제3 이미지의 복수개의 서브 이미지들 중 하나 이상의 제4 서브 이미지들을 상기 하나 이상의 제5 서브 이미지들로 대체하여 상기 입력 비밀 메시지가 삽입된 상기 제4 이미지를 생성할 수 있다.According to embodiments, the input secret message is copied to generate one or more sub-secret messages in the same number and size as the one or more fourth sub-images, an encoding model learned up to now from data of selected channels of the one or more fourth sub-images and data of the one or more sub-secret messages is applied to generate one or more fifth sub-images in which the input secret message is inserted, and one or more fourth sub-images among a plurality of sub-images of the third image can be replaced with the one or more fifth sub-images to generate the fourth image in which the input secret message is inserted.

실시예들에 따르면, 상기 서버에 포함된 상기 디코더는 상기 제4 이미지의 데이터를 일정한 범위 내에서 변경하여 제5 이미지를 생성하고, 상기 제5 이미지의 복수개의 서브 이미지들 중 상기 입력 비밀 메시지가 삽입된 하나 이상의 서브 이미지들의 선택된 채널의 데이터로부터 현재까지 학습된 디코딩 모델을 적용하여 출력 비밀 메시지를 획득할 수 있다.According to embodiments, the decoder included in the server can generate a fifth image by changing data of the fourth image within a certain range, and obtain an output secret message by applying a decoding model learned so far from data of a selected channel of one or more sub-images among a plurality of sub-images of the fifth image into which the input secret message is inserted.

실시예들에 따르면, 상기 손실 함수 계산부는, 상기 데이터 은닉 장치로 제공할 인코더와 상기 은닉 데이터 복원 장치로 제공할 디코더를 결정하기 위해, 상기 입력 비밀 메시지와 상기 출력 비밀 메시지의 차이를 평가하고, 상기 제3 이미지와 상기 제4 이미지와의 차이를 평가하는 손실 함수를 계산하고, 상기 손실 함수가 최소가 되는 방향으로 상기 인코더와 상기 디코더를 계속 업데이트할 수 있다. According to embodiments, the loss function calculation unit may calculate a loss function that evaluates the difference between the input secret message and the output secret message, evaluates the difference between the third image and the fourth image, and continuously updates the encoder and the decoder in a direction in which the loss function is minimized, to determine an encoder to be provided as the data hiding device and a decoder to be provided as the hidden data restoration device.

실시예들에 따르면, 상기 은닉 데이터 복원 장치는 스마트 글래스일 수 있다. According to embodiments, the hidden data recovery device may be smart glasses.

실시예들에 따르면, 영상 처리 시스템에서의 인코딩 방법은 원본 비디오 내 제1 이미지를 복수개의 서브 이미지들로 분할하는 단계, 상기 복수개의 서브 이미지들 중 비밀 메시지를 삽입할 하나 이상의 제1 서브 이미지들을 선택하는 단계, 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들 중 비밀 메시지를 삽입할 채널을 선택하는 단계, 상기 하나 이상의 제1 서브 이미지들의 개수 및 크기와 동일하게 상기 비밀 메시지를 복사하여 하나 이상의 서브 비밀 메시지들을 생성하는 단계, 상기 하나 이상의 제1 서브 이미지들의 선택된 채널의 데이터와 상기 하나 이상의 서브 비밀 메시지들의 데이터로부터 학습된 인코딩 모델을 적용하여 상기 비밀 메시지가 삽입된 하나 이상의 제2 서브 이미지들을 생성하는 단계, 및 상기 원본 비디오의 복수개의 서브 이미지들 중 하나 이상의 제1 서브 이미지들을 상기 하나 이상의 제2 서브 이미지들로 대체하여 상기 비밀 메시지가 삽입된 제2 이미지를 생성하는 단계를 포함할 수 있다. According to embodiments, an encoding method in an image processing system may include the steps of: dividing a first image in an original video into a plurality of sub-images; selecting one or more first sub-images from the plurality of sub-images into which a secret message is to be inserted; selecting a channel from channels constituting pixels of the one or more selected first sub-images into which the secret message is to be inserted; generating one or more sub-secret messages by copying the secret message to a number and a size identical to that of the one or more first sub-images; generating one or more second sub-images into which the secret message is inserted by applying an encoding model learned from data of the selected channels of the one or more first sub-images and data of the one or more sub-secret messages; and generating a second image into which the secret message is inserted by replacing one or more first sub-images from the plurality of sub-images of the original video with the one or more second sub-images.

실시예들에 따르면, 상기 채널 선택 단계는 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들이 RGB 채널이면, 상기 비밀 메시지를 삽입할 채널로 B 채널을 선택할 수 있다.According to embodiments, the channel selection step may select a B channel as a channel into which the secret message is to be inserted, if the channels constituting the pixels of the one or more selected first sub-images are RGB channels.

실시예들에 따르면, 상기 채널 선택 단계는 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들이 YUV 채널이면, 상기 비밀 메시지를 삽입할 채널로 Y 채널을 선택할 수 있다.According to embodiments, the channel selection step may select a Y channel as a channel into which the secret message is to be inserted, if the channels constituting the pixels of the one or more selected first sub-images are YUV channels.

실시예들에 따르면, 상기 비밀 메시지 은닉 및 전송은 실시간으로 수행되거나 비실시간으로 수행될 수 있다.According to embodiments, the secret message hiding and transmission may be performed in real time or non-real time.

실시예들에 따르면, 상기 비밀 메시지는 컨텐츠 식별 정보를 포함하며, 상기 컨텐츠 식별 정보는 상기 사용자 경험을 제공하기 위한 컨텐츠를 식별하기 위해 사용될 수 있다. According to embodiments, the secret message includes content identification information, and the content identification information can be used to identify content for providing the user experience.

실시예들에 따르면, 상기 비밀 메시지는 시간 정보를 더 포함하며, 상기 시간 정보는 상기 컨텐츠 식별 정보에 의해 식별되는 컨텐츠의 재생 시점을 식별하기 위한 정보, 재생 시간을 식별하기 위한 정보, 또는 재생 종료 시점을 식별하기 위한 정보 중 적어도 하나를 포함할 수 있다. According to embodiments, the secret message further includes time information, and the time information may include at least one of information for identifying a playback time of the content identified by the content identification information, information for identifying a playback time, or information for identifying a playback end time.

실시예들에 따르면, 영상 처리 시스템에서의 디코딩 방법은 적어도 하나의 카메라에 의해 비밀 메시지가 삽입된 비디오가 재생되는 영상 출력 장치를 촬영하는 단계, 상기 촬영된 이미지로부터 상기 영상 출력 장치의 에지를 검출하는 단계, 상기 검출된 영상 출력 장치의 에지에 해당하는 이미지로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 복원하는 단계, 및 사용자 경험을 제공할 하나 이상의 컨텐츠들이 저장된 저장부로부터 상기 복원된 비밀 메시지에 포함된 컨텐츠 식별 정보에 의해 식별되는 컨텐츠를 추출하여 상기 사용자 경험을 제공하는 단계를 포함할 수 있다.According to embodiments, a decoding method in an image processing system may include the steps of: photographing an image output device on which a video with a secret message inserted is played by at least one camera; detecting an edge of the image output device from the photographed image; restoring the secret message by applying a decoding model learned from an image corresponding to the detected edge of the image output device; and extracting content identified by content identification information included in the restored secret message from a storage unit in which one or more contents for providing a user experience are stored, thereby providing the user experience.

실시예들에 따르면, 상기 영상 출력 장치의 에지 검출 단계는, 상기 촬영된 이미지의 외곽선을 추출하는 단계, 상기 추출된 외곽선을 기반으로 닫힌 폴리곤들을 추출하는 단계, 상기 이미지의 중심에서 가까운 닫힌 폴리곤들부터 병합을 수행하여 하나 이상의 닫힌 폴리곤들을 포함하는 하나 이상의 사각형들을 선택하는 단계, 상기 하나 이상의 사각형들을 하나 이상의 임계값들과 비교하여 상기 하나 이상의 사각형들 중 적어도 하나를 상기 영상 출력 장치의 에지 후보로 결정하는 단계, 및 상기 영상 출력 장치의 에지 후보가 복수개이면, 사각형의 넓이가 큰 순서로 정렬한 후 각각에 대해 학습된 디코딩 모델을 적용하여 상기 영상 출력 장치의 에지를 최종 결정하는 단계를 포함할 수 있다.According to embodiments, the edge detection step of the image output device may include the steps of extracting an outline of the captured image, extracting closed polygons based on the extracted outline, selecting one or more rectangles including one or more closed polygons by merging closed polygons close to the center of the image, comparing the one or more rectangles with one or more threshold values to determine at least one of the one or more rectangles as an edge candidate of the image output device, and, if there are a plurality of edge candidates of the image output device, sorting the rectangles in order of decreasing area and applying a learned decoding model to each of them to finally determine the edge of the image output device.

실시예들에 따르면, 상기 비밀 메시지 복원 단계는 상기 영상 출력 장치의 에지에 해당하는 이미지를 복수개의 서브 이미지들로 분할하는 단계, 상기 복수개의 서브 이미지들 중 상기 비밀 메시지가 삽입된 하나 이상의 서브 이미지들을 선택하는 단계, 상기 선택된 하나 이상의 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지가 삽입된 채널을 선택하는 단계, 및 상기 하나 이상의 서브 이미지들의 선택된 채널의 데이터로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 획득할 수 있다.According to embodiments, the secret message restoration step may include the steps of dividing an image corresponding to an edge of the image output device into a plurality of sub-images, selecting one or more sub-images having the secret message inserted among the plurality of sub-images, selecting a channel having the secret message inserted among channels constituting pixels of the one or more selected sub-images, and applying a decoding model learned from data of the selected channel of the one or more sub-images to obtain the secret message.

실시예들에 따른 장치 및 방법은 사용자가 별도 조작 없이 카메라가 구비된 장치를 통해 재생 중인 영상을 보는 것 만으로 유익한 정보를 얻을 수 있다.The device and method according to the embodiments enable a user to obtain useful information simply by watching a video being played through a device equipped with a camera without any separate operation.

실시예들에 따른 장치 및 방법은 사용자가 별도 조작 없이 카메라가 구비된 글래스를 착용한 상태에서 재생 중인 영상을 보는 것 만으로 유익한 정보를 얻을 수 있다.The device and method according to the embodiments enable a user to obtain useful information simply by watching a video being played while wearing glasses equipped with a camera without any separate operation.

실시예들에 따른 장치 및 방법은 자동차 극장과 같은 야외 영화관에서 영화를 보면서 동시에 카메라가 구비된 글래스를 통해 영화 자막과 소리를 보고 들을 수 있다.The device and method according to the embodiments can be used to watch a movie in an outdoor movie theater such as a drive-in theater while simultaneously viewing and hearing movie subtitles and sounds through glasses equipped with cameras.

실시예들에 따른 장치 및 방법은 박물관, 미술관 같은 전시회에서 전시 작품을 보면서 동시에 카메라가 구비된 글래스를 통해 작품에 대한 추가 설명이나 부가 정보를 보고 들을 수 있다.The device and method according to the embodiments can be used to view exhibited works in an exhibition such as a museum or art gallery, while simultaneously viewing and hearing additional explanations or supplementary information about the works through glasses equipped with cameras.

위에서 명시적으로 언급한 기술적 효과 이외에, 본 명세서 전체 기재를 통해 당업자에게 자명한 효과도 추론할 수 있다.In addition to the technical effects explicitly mentioned above, effects that are obvious to those skilled in the art can also be inferred from the entire description of this specification.

도면은 실시예들을 더욱 이해하기 위해서 포함되며, 도면은 실시예들에 관련된 설명과 함께 실시예들을 나타낸다.The drawings are included to further understand the embodiments, and the drawings illustrate the embodiments together with the description related to the embodiments.

도 1은 실시예들에 따른 영상 처리 시스템의 일 예시를 보인 구성 블록도이다.FIG. 1 is a block diagram showing an example of an image processing system according to embodiments.

도 2는 실시예들에 따라 비실시간으로 커버 비디오에 비밀 메시지를 은닉하기 위한 영상 처리 시스템의 일 예시를 보인 도면이다.FIG. 2 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in non-real time according to embodiments.

도 3은 실시예들에 따라 실시간으로 커버 비디오에 비밀 메시지를 은닉하기 위한 영상 처리 시스템의 일 예시를 보인 도면이다.FIG. 3 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in real time according to embodiments.

도 4는 실시예들에 따른 인코더에서 커버 비디오에 비밀 메시지를 은닉하여 스테고 비디오를 생성하는 방법의 일 예시를 보인 도면이다.FIG. 4 is a diagram showing an example of a method for generating a stego video by hiding a secret message in a cover video in an encoder according to embodiments.

도 5는 실시예들에 따른 디코더에서 커버 비디오에 은닉된 비밀 메시지를 복원하는 방법의 일 예시를 보인 도면이다.FIG. 5 is a diagram showing an example of a method for recovering a secret message hidden in a cover video in a decoder according to embodiments.

도 6은 실시예들에 따른 서버에서 인공 신경망 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 학습 과정의 일 예시를 보인 도면이다.FIG. 6 is a diagram showing an example of a learning process for creating an encoder and a decoder by applying an artificial neural network deep learning model in a server according to embodiments.

도 7은 실시예들에 따른 분석부에서 영상 출력 장치의 경계를 추출하는 방법의 일 예시를 보인 도면이다. FIG. 7 is a diagram showing an example of a method for extracting a boundary of an image output device in an analysis unit according to embodiments.

도 8(a) 내지 도 8(f)는 실시예들에 따른 분석부에서 영상 출력 장치의 경계를 추출하는 각 과정의 예시를 보인 도면이다.FIGS. 8(a) to 8(f) are diagrams showing examples of each process of extracting the boundary of an image output device in an analysis unit according to embodiments.

도 9 내지 14는 실시예들에 따라 복원된 비밀 메시지를 기반으로 제공되는 사용자 경험(UX)의 예시들을 보인 도면이다.Figures 9 to 14 are diagrams showing examples of user experiences (UX) provided based on restored secret messages according to embodiments.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 하기의 실시예들은 본 개시를 구체화하기 위한 것일 뿐 본 개시의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 개시의 상세한 설명 및 실시예들로부터 본 개시가 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 문서의 권리 범위에 속하는 것으로 해석된다.Hereinafter, the embodiments disclosed in this specification will be described in detail with reference to the attached drawings. Regardless of the drawing reference numerals, the same or similar components will be given the same reference numerals and redundant descriptions thereof will be omitted. It should be noted that the following embodiments are only intended to concretize the present disclosure and do not limit or restrict the scope of the rights of the present disclosure. It is interpreted that what a specialist in the technical field to which the present disclosure belongs can easily infer from the detailed description and embodiments of the present disclosure falls within the scope of the rights of this document.

본 문서의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 안되며, 예시적인 것으로 고려되어야 한다. 본 문서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 문서의 등가적 범위 내에서의 모든 변경은 본 문서의 범위에 포함된다.The detailed description of this document should not be construed in any way as restrictive, but should be considered illustrative. The scope of this document should be determined by a reasonable interpretation of the appended claims, and all changes within the equivalency range of this document are intended to be included within the scope of this document.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 또한, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능하다. 예를 들어, 연속적으로 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks of the attached block diagram or the steps of the flow chart may be implemented directly in hardware, implemented as software modules executed by hardware, or implemented by a combination of these. In addition, the blocks of the attached block diagram or the steps of the flow chart may be interpreted as computer program instructions that are loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, or a network computer, and perform designated functions. Since these computer program instructions may be stored in a memory equipped in a computer device or a computer-readable memory, the functions described in the blocks of the block diagram or the steps of the flow chart may be produced as a manufactured product that includes a command means for performing the same. In addition, each block or each step may represent a module, segment, or part of code that includes one or more executable instructions for executing a specific logical function(s). In addition, in some alternative embodiments, the functions mentioned in the blocks or steps may be executed in a different order from the specified order. For example, two blocks or steps depicted in succession may be performed substantially simultaneously, may be performed in reverse order, or may be performed with some blocks or steps omitted.

본 개시는 인코딩 장치에서는 커버 영상에 눈에 보이지 않는 비밀 메시지를 인공신경망 딥러닝 모델을 사용하여 은닉하고, 디코딩 장치에서는 전달된 영상에 은닉된 비밀 메시지를 디코딩 장치에 구비된 카메라를 통해 촬영하고 인공신경망 딥러닝 모델을 사용하여 복원할 수 있도록 하는데 있다. 본 개시에서 인공신경망 딥러닝 모델은 인공신경망 스태가노그래피 딥러닝 모델이라 칭하기도 한다. The present disclosure is to enable an encoding device to hide an invisible secret message in a cover image using an artificial neural network deep learning model, and a decoding device to capture the secret message hidden in a transmitted image through a camera provided in the decoding device and restore it using an artificial neural network deep learning model. In the present disclosure, the artificial neural network deep learning model is also referred to as an artificial neural network steganography deep learning model.

본 개시에서 영상에 은닉되는 비밀 메시지는 메시지, 은닉 메시지, 정보, 추가 정보 데이터 또는 은닉 데이터 등으로 칭할 수 있다. In the present disclosure, a secret message hidden in an image may be referred to as a message, a secret message, information, additional information data, or secret data.

본 개시에서 영상은 정지 영상일 수도 있고 동영상일 수도 있다. 동영상은 로컬에 저장된 비디오, 스트리밍 비디오, 라이브 방송 등이 해당되며, 정지 영상은 사진이나 그림 등이 해당된다. 본 개시에서 동영상은 비디오와 혼용하여 사용된다.In the present disclosure, an image may be a still image or a moving image. A moving image includes a locally stored video, a streaming video, a live broadcast, etc., and a still image includes a photograph or a picture, etc. In the present disclosure, a moving image is used interchangeably with a video.

또한, 본 개시에서 비디오는 파일 형태일 수 있고, 커버 비디오는 비밀 메시지가 은닉되지 않은 비디오를 칭하며, 오리지날 비디오라고도 칭할 수 있다. 그리고, 스테고 비디오는 비밀 메시지가 은닉된 비디오를 칭한다. 즉, 커버 비디오는 비밀 메시지를 삽입하기 위한 영상을 칭하고, 스테고 비디오는 커버 비디오(즉, 오리지날 비디오)에 비밀 메시지가 삽입되어 생성된 비디오를 칭한다.In addition, in the present disclosure, the video may be in the form of a file, and the cover video refers to a video in which a secret message is not hidden, and may also be referred to as an original video. And, the stego video refers to a video in which a secret message is hidden. That is, the cover video refers to an image for inserting a secret message, and the stego video refers to a video generated by inserting a secret message into the cover video (i.e., the original video).

본 개시에서 은닉 데이터 복원 장치는 적어도 하나의 카메라가 장착되고, 디스플레이 기능이 있으면서 휴대가 가능한 장치는 어느 것이나 가능하다. 본 개시에서 은닉 데이터 복원 장치는 디코딩 장치라 칭하기도 한다. In the present disclosure, the hidden data recovery device may be any device that is equipped with at least one camera, has a display function, and is portable. In the present disclosure, the hidden data recovery device is also referred to as a decoding device.

예를 들어, 본 개시에서 은닉 데이터 복원 장치는 스마트 폰(또는 휴대폰이라 함)이 될 수도 있고, 또는 XR(AR/MR/VR) 글래스 중 하나가 될 수도 있다. 본 개시에서 XR 글래스는 스마트 글래스라 칭하기로 한다.For example, in the present disclosure, the hidden data recovery device may be a smart phone (or mobile phone) or one of XR (AR/MR/VR) glasses. In the present disclosure, XR glasses will be referred to as smart glasses.

본 개시는 은닉 데이터 복원 장치로서 스마트 글래스를 일 실시예로 설명하기로 한다. 본 개시에서 스마트 글래스는 글래스로 지칭될 수 있다. The present disclosure describes a smart glass as an embodiment of a hidden data recovery device. In the present disclosure, the smart glass may be referred to as glasses.

본 개시는 로컬에 저장된 비디오 뿐만 아니라 스트리밍 비디오, 라이브 방송에도 비밀 메시지를 은닉하고, 스마트 글래스를 통해 은닉된 비밀 메시지를 복원할 수 있도록 하는데 있다. The present disclosure is to hide secret messages in not only locally stored videos but also streaming videos and live broadcasts, and to enable the restoration of the hidden secret messages through smart glasses.

본 개시에서 비실시간 서비스는 데이터 은닉 과정과 은닉된 데이터를 복원하는 과정이 실시간적 연속적으로 이루어지지 않는다는 것을 의미한다.In the present disclosure, non-real-time service means that the process of hiding data and restoring hidden data are not performed continuously in real time.

본 개시에서 실시간 서비스는 데이터 은닉 과정과 은닉된 데이터를 복원하는 과정이 연속적으로 수행되는 것을 의미하며, 실시 예로 실시간 방송 서비스가 있다. In the present disclosure, real-time service means that a data hiding process and a process of restoring hidden data are performed continuously, and an example of an embodiment is a real-time broadcasting service.

도 1은 실시예들에 따른 영상 처리 시스템의 일 예시를 보인 구성 블록도이다.FIG. 1 is a block diagram showing an example of an image processing system according to embodiments.

실시예들에 따른 영상 처리 시스템은 데이터 은닉 장치(110), 영상 출력 장치(120), 은닉 데이터 복원 장치(130), 및 서버(140)를 포함할 수 있다.An image processing system according to embodiments may include a data hiding device (110), an image output device (120), a hidden data restoration device (130), and a server (140).

실시예들에 따르면, 데이터 은닉 장치(110)는 커버 비디오에 비밀 메시지를 은닉하여 스테고 비디오를 생성하는 인코더를 포함할 수 있다. 본 개시에서 데이터 은닉 장치(110)는 인코딩 장치라고 칭할 수 있다.According to embodiments, the data hiding device (110) may include an encoder that generates a stego video by hiding a secret message in a cover video. In the present disclosure, the data hiding device (110) may be referred to as an encoding device.

실시예들에 따르면, 데이터 은닉 장치(110)는 컨텐츠 제공부, 컨텐츠 배포부, 광고 제공부, 클라우드 서버 중 적어도 하나를 포함할 수 있고, 상기 인코더는 컨텐츠 제공부, 컨텐츠 배포부, 광고 제공부, 또는 클라우드 서버 중 적어도 하나에 포함될 수 있다. 클라우드 서버는 클라우드 서비스를 제공하는 서버로서, 서비스 제공자일 수 있다.According to embodiments, the data hiding device (110) may include at least one of a content provider, a content distribution provider, an advertisement provider, and a cloud server, and the encoder may be included in at least one of the content provider, the content distribution provider, the advertisement provider, or the cloud server. The cloud server may be a server that provides a cloud service and may be a service provider.

실시예들에 따르면, 데이터 은닉 장치(110)는 비실시간 또는 실시간으로 커버 비디오에 비밀 메시지를 은닉하여 전송할 수 있다.According to embodiments, the data hiding device (110) can transmit a secret message hidden in the cover video in non-real time or real time.

실시예들에 따르면, 로컬에 저장된 비디오 또는 실시간 전송이 필요하지 않은 컨텐츠에 비밀 메시지를 은닉할 때는 비밀 메시지 은닉이 비실시간으로 수행되고, 스트리밍 비디오나 라이브 방송 등에 비밀 메시지를 은닉할 때는 비밀 메시지 은닉이 실시간으로 수행된다. According to embodiments, when hiding a secret message in a locally stored video or content that does not require real-time transmission, the secret message hiding is performed in non-real-time, and when hiding a secret message in a streaming video or live broadcast, the secret message hiding is performed in real-time.

본 개시는 인코더가 컨텐츠 제공부에 포함되고, 컨텐츠 제공부에서 컨텐츠에 비밀 메시지를 은닉한 후 컨텐츠 배포부를 통해 비밀 메시지가 은닉된 컨텐츠를 영상 출력 장치로 제공할 때 비실시간 서비스라 지칭할 수 있고, 인코더가 컨텐츠 배포부나 클라우드 서버에 포함되고 컨텐츠 배포부나 클라우드 서버에서 스트리밍 비디오나 라이브 방송에 비밀 메시지를 은닉한 후, 비밀 메시지가 은닉된 컨텐츠를 바로 영상 출력 장치로 제공할 때 실시간 서비스라 지칭할 수 있다. The present disclosure may be referred to as a non-real-time service when an encoder is included in a content providing unit, the content providing unit hides a secret message in the content, and then provides the content with the secret message hidden to a video output device through a content distribution unit, and may be referred to as a real-time service when an encoder is included in a content distribution unit or a cloud server, and then the content distribution unit or the cloud server hides a secret message in a streaming video or live broadcast, and then directly provides the content with the secret message hidden to a video output device.

본 개시에서 영상은 정지 영상일 수도 있고 동영상일 수도 있다. 동영상은 로컬에 저장된 비디오, 스트리밍 비디오, 라이브 방송 등이 해당되며, 정지 영상은 사진이나 그림 등이 해당된다. 본 개시에서 동영상은 비디오와 혼용하여 사용된다.In the present disclosure, an image may be a still image or a moving image. A moving image includes a locally stored video, a streaming video, a live broadcast, etc., and a still image includes a photograph or a picture, etc. In the present disclosure, a moving image is used interchangeably with a video.

실시예들에 따르면, 컨텐츠 제공부는 방송국 등이 될 수 있고, 컨텐츠 배포부는 홈쇼핑 등이 될 수 있으며, 광고 제공부는 광고 제작사나 광고주 등이 될 수 있다.According to embodiments, the content provider may be a broadcasting station, etc., the content distribution provider may be a home shopping network, etc., and the advertising provider may be an advertising production company or an advertiser, etc.

실시예들에 따르면, 영상 출력 장치(120)는 데이터 은닉 장치(100)에서 제공되는 커버 비디오 또는 스테고 비디오를 처리하여 디스플레이하는 장치이다.According to embodiments, the video output device (120) is a device that processes and displays a cover video or stego video provided from the data hiding device (100).

본 개시에서 영상 출력 장치(120)는 영상을 처리하고 디스플레이할 수 있는 장치는 어느 것이나 가능하다. 예를 들어, 영상 출력 장치(120)는 텔레비전(TV), 스마트 폰, 노트북, 태블릿 PC(Personal Computer), 데스크 탑 PC, 랩탑 PC 등이 될 수 있다. 본 개시에서 영상 출력 장치(120)는 지하철역, 백화점, 버스 정류장, 공항, 지하철 내, 쇼핑몰, 건물 옥상이나 외벽, 옥외 등에서 광고 영상이나 일반 영상을 디스플레이하는 디지털 사이니지(digital signage)가 될 수도 있다.In the present disclosure, the image output device (120) may be any device capable of processing and displaying an image. For example, the image output device (120) may be a television (TV), a smart phone, a notebook, a tablet PC (Personal Computer), a desktop PC, a laptop PC, etc. In the present disclosure, the image output device (120) may be a digital signage that displays an advertising image or a general image in a subway station, a department store, a bus stop, an airport, inside a subway, a shopping mall, a building rooftop or exterior wall, outdoors, etc.

본 개시에서 인코더는 영상 출력 장치(120)에 포함될 수도 있다. 이 경우, 영상 출력 장치(120)에서 커버 비디오에 비밀 메시지를 삽입할 수 있다. 예를 들어, 영상 출력 장치(120)는 재생 중인 영상에 실시간으로 비밀 메시지를 삽입할 수 있다.In the present disclosure, the encoder may be included in the video output device (120). In this case, the video output device (120) may insert a secret message into the cover video. For example, the video output device (120) may insert a secret message into the video being played in real time.

실시예들에 따르면, 은닉 데이터 복원 장치(130)는 커버 비디오에 은닉된 비밀 메시지를 복원하는 디코더를 포함할 수 있다.According to embodiments, the hidden data recovery device (130) may include a decoder that recovers a secret message hidden in a cover video.

본 개시에서 은닉 데이터 복원 장치(130)는 영상을 촬영할 수 있는 카메라 기능과 영상, 텍스트, 정보 등을 디스플레이하거나 오디오로 출력할 수 있는 기능을 갖춘 장치는 어느 것이나 가능하다. 본 개시에서 은닉 데이터 복원 장치(130)는 AR 글래스와 같은 스마트 글래스인 것을 일 실시예로 설명한다.In the present disclosure, the hidden data recovery device (130) may be any device having a camera function capable of capturing an image and a function capable of displaying an image, text, information, etc. or outputting it as audio. In the present disclosure, the hidden data recovery device (130) is described as a smart glass such as AR glasses as an example.

실시예들에 따르면, 서버(140)는 딥러닝 학습 과정을 통해 인코더와 디코더를 생성한다. 그리고, 딥러닝 학습 과정을 통해 생성된 인코더를 데이터 은닉 장치(110) 및/또는 영상 출력 장치(120)로 제공하고, 디코더를 은닉 데이터 복원 장치(130)로 제공한다.According to embodiments, the server (140) generates an encoder and a decoder through a deep learning learning process. Then, it provides the encoder generated through the deep learning learning process to a data hiding device (110) and/or an image output device (120), and provides the decoder to a hidden data restoration device (130).

이를 위해, 서버(140)와 데이터 은닉 장치(110), 영상 출력 장치(120), 및/또는 은닉 데이터 복원 장치(130)는 유/무선 네트워크를 통해 연결될 수 있다.For this purpose, the server (140), the data hiding device (110), the image output device (120), and/or the hidden data restoration device (130) may be connected via a wired/wireless network.

또한, 데이터 은닉 장치(110)와 영상 출력 장치(120) 사이 또는 영상 출력 장치(120)와 은닉 데이터 복원 장치(130) 사이도 유/무선 네트워크를 통해 연결될 수 있다.Additionally, the data hiding device (110) and the image output device (120) or the image output device (120) and the hidden data restoration device (130) may also be connected via a wired/wireless network.

실시예들에 따르면, 유선 네트워크는 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈 뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다.According to embodiments, the wired network may include various wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module, as well as various cable communication modules such as a Universal Serial Bus (USB), a High Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), RS-232 (recommended standard232), power line communication, or plain old telephone service (POTS).

실시예들에 따르면, 무선 네트워크는 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.According to embodiments, the wireless network may include, in addition to a WiFi module and a Wireless broadband module, a wireless communication module that supports various wireless communication methods such as GSM (global System for Mobile Communication), CDMA (code division multiple access), WCDMA (wideband code division multiple access), UMTS (universal mobile telecommunications system), TDMA (time division multiple access), LTE (long term evolution), 4G, 5G, and 6G.

또한, 무선 네트워크는 근거리 통신 모듈을 포함할 수 있으며, 근거리 통신 모듈은 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.Additionally, the wireless network may include a short-range communication module, and the short-range communication module may support short-range communication using at least one of Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technologies.

도 2는 실시예들에 따른 비실시간으로 커버 비디오에 비밀 메시지를 은닉하기 위한 영상 처리 시스템의 일 예시를 보인 도면이다. 본 개시에서 비실시간 서비스란 데이터 은닉 과정과 데이터를 복원하는 과정이 실시간적 연속적으로 이루어지지 않는다는 것을 의미한다.FIG. 2 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in non-real time according to embodiments. In the present disclosure, a non-real-time service means that the data hiding process and the data restoration process are not performed continuously in real time.

실시예들에 따르면, 도 2의 영상 처리 시스템에서 데이터 은닉 장치(110)는 컨텐츠를 제공하는 컨텐츠 제공부(211), 커버 비디오에 비밀 메시지를 은닉하는 인코더(213), 및 커버 비디오 또는 스테고 비디오를 배포하는 컨텐츠 배포부(215)를 포함할 수 있다. 여기서, 컨텐츠 제공과 컨텐츠 배포는 도 2에서와 같이 컨텐츠 제공부(211)와 컨텐츠 배포부(215)에서 각각 수행될 수도 있고, 또는 컨텐츠 제공부(211)에서 컨텐츠 제공과 컨텐츠 배포를 모두 수행할 수도 있다. 즉, 컨텐츠 제공부(211)와 컨텐츠 배포부(215)가 같을 수 있다.According to embodiments, the data hiding device (110) in the image processing system of FIG. 2 may include a content providing unit (211) that provides content, an encoder (213) that hides a secret message in a cover video, and a content distribution unit (215) that distributes the cover video or the stego video. Here, the content providing and the content distribution may be performed respectively by the content providing unit (211) and the content distribution unit (215) as in FIG. 2, or the content providing unit (211) may perform both the content providing and the content distribution. That is, the content providing unit (211) and the content distribution unit (215) may be the same.

실시예들에 따르면, 컨텐츠 제공부(211)는 컨텐츠 제공자라 칭할 수 있고, 컨텐츠 배포부(213)는 컨텐츠 배포자라 칭할 수 있다.According to embodiments, the content providing unit (211) may be referred to as a content provider, and the content distribution unit (213) may be referred to as a content distributor.

실시예들에 따르면, 컨텐츠 제공부(211)는 다양한 형태의 컨텐츠를 생성하거나 제작하고, 컨텐츠 배포부(215)는 해당 컨텐츠를 다양한 경로나 플랫폼을 통해 사용자(예, 영상 출력 장치(120))에게 제공 또는 유통하는 역할을 한다. According to embodiments, the content provider (211) creates or produces various types of content, and the content distribution unit (215) provides or distributes the content to users (e.g., video output devices (120)) through various routes or platforms.

본 개시에서 인코더(213)는 컨텐츠 제공부(211)와 컨텐츠 배포부(215) 중 적어도 하나에 구비될 수도 있고 또는 유/무선 네트워크를 통해 클라우드 서버에 위치할 수도 있다. 상기 유/무선 네트워크는 도 1에서 상세히 설명하였으므로 여기서는 중복 설명을 피하기 위해 생략하기로 한다. In the present disclosure, the encoder (213) may be provided in at least one of the content provision unit (211) and the content distribution unit (215), or may be located in a cloud server via a wired/wireless network. Since the wired/wireless network has been described in detail in Fig. 1, it will be omitted here to avoid redundant description.

본 개시에서 인코더(213)는 컨텐츠 제공부(211)에 위치하는 것을 일 실시예로 한다.In the present disclosure, the encoder (213) is positioned in the content providing unit (211) as an example.

실시예들에 따르면, 데이터 은닉 장치(110)에서 컨텐츠 제공부(211)는 은닉하고자 하는 비밀 메시지와 커버 비디오를 인코더(213)로 제공한다. 또는 컨텐츠 제공부(211)는 내부에 구비된 인코더(213)로 비밀 메시지와 커버 비디오를 제공할 수 있다.According to embodiments, the content provider (211) in the data hiding device (110) provides a secret message and a cover video to be hidden to the encoder (213). Alternatively, the content provider (211) may provide the secret message and the cover video to an encoder (213) provided therein.

본 개시에서 인코더(213)는 SaaS(Service as a Service) 또는 SDK(Software Development Kit)의 비디오 인코더(Video Encoder)인 것을 일 실시예로 한다.In the present disclosure, the encoder (213) is, as an example, a video encoder of SaaS (Service as a Service) or SDK (Software Development Kit).

실시예들에 따르면, SaaS는 소프트웨어를 서비스 형태로 제공하는 비즈니스 모델을 나타내고, 이 모델에서 소프트웨어는 일반적으로 웹 브라우저를 통해 접근되며, 사용자는 소프트웨어를 구매하거나 설치할 필요 없이 웹을 통해 서비스를 이용할 수 있다. 즉, SaaS는 어디서나 인터넷에 연결된 장소에서 소프트웨어에 접근 가능하고, 사용자가 따로 소프트웨어를 업데이트할 필요 없이 제공 업체에서 자동으로 관리 및 업데이트할 수 있다. According to the embodiments, SaaS represents a business model that provides software in the form of a service, in which the software is generally accessed through a web browser, and users can use the service through the web without having to purchase or install the software. In other words, SaaS allows access to the software from anywhere with an Internet connection, and the provider can automatically manage and update the software without the user having to update it separately.

실시예들에 따르면, SDK는 소프트웨어 개발을 위한 도구 모음을 나타내며, 이러한 SDK에는 일반적으로 개발자가 소프트웨어를 만들고 실행할 수 있도록 필요한 도구, 라이브러리, 문서, 예제 코드 등이 포함되어 있다. SDK는 보통 어떤 프로그래밍 언어나 환경에 특화되어 있으며, 특정 플랫폼이나 프레임워크와 함께 사용되어 개발 프로세스를 간편화하고 가속화할 수 있다.According to embodiments, SDK represents a set of tools for software development, and such SDK typically includes tools, libraries, documentation, example code, etc., necessary for developers to create and run software. SDKs are usually specific to a certain programming language or environment, and can be used with a particular platform or framework to simplify and accelerate the development process.

본 개시에서 인코더(213)는 인공신경망 스테가노그래피 딥러닝 모델의 인코딩을 기반으로 비밀 메시지(Secret Message)를 커버 비디오(Video Source)에 은닉하여 스테고 비디오를 생성한다. In the present disclosure, the encoder (213) generates a stego video by hiding a secret message in a cover video (Video Source) based on the encoding of an artificial neural network steganography deep learning model.

좀 더 구체적으로, 인코더(213)는 비밀 메시지를 커버 비디오(Video Source)의 매 프레임마다 인공신경망 스테가노그래피 딥러닝 모델을 통해 은닉하여 스테고 비디오를 생성한다. 이때, 스테고 비디오는 파일 형태인 것을 일 실시예로 한다.More specifically, the encoder (213) generates a stego video by hiding a secret message in each frame of the cover video (Video Source) through an artificial neural network steganography deep learning model. In this case, the stego video is in the form of a file, as an example.

상기 인코더(213)에서 생성된 스테고 비디오는 컨텐츠 배포부(215)로 출력된다. 즉, 컨텐츠 제공부(211)는 스테고 비디오를 컨텐츠 배포부(215)에 제공한다.The stego video generated by the above encoder (213) is output to the content distribution unit (215). That is, the content providing unit (211) provides the stego video to the content distribution unit (215).

실시예들에 따르면, 컨텐츠 배포부(215)는 스테고 비디오를 영상 출력 장치(120)로 전송한다. 이때, 스테고 비디오는 비실시간으로 전송될 수 있다.According to embodiments, the content distribution unit (215) transmits the stego video to the video output device (120). At this time, the stego video may be transmitted in non-real time.

상기 영상 출력 장치(120)는 스테고 비디오를 수신하여 처리한 후 디스플레이(또는 재생)한다. 이때, 영상 출력 장치(120)에 디스플레이(또는 재생) 되는 스테고 비디오에 비밀 메시지가 은닉되어 있지만, 영상 출력 장치를 시청 중인 사용자는 비밀 메시지의 존재를 인식하지 못한다. The above image output device (120) receives and processes the stego video and then displays (or reproduces) it. At this time, a secret message is hidden in the stego video displayed (or reproduced) on the image output device (120), but a user viewing the image output device is not aware of the existence of the secret message.

즉, 카메라가 장착된 은닉 데이터 복원 장치(130)에서 영상 출력 장치(120)를 촬영하면, 영상 출력 장치(120)에서 디스플레이(또는 재생) 되는 영상에 은닉된 비밀 메시지 또는 비밀 메시지에 해당하는 컨텐츠가 은닉 데이터 복원 장치(130)의 화면에 디스플레이거나 소리로 출력된다. 여기서, 촬영은 자동으로 수행될 수도 있고, 사용자의 지시에 의해 수동으로 수행될 수도 있다.That is, when a hidden data recovery device (130) equipped with a camera captures an image output device (120), a secret message hidden in the image displayed (or played) by the image output device (120) or content corresponding to the secret message is displayed on the screen of the hidden data recovery device (130) or output as sound. Here, the capture may be performed automatically or manually by a user's instruction.

예를 들어, 은닉 데이터 복원 장치(130)가 스마트 글래스라면, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)를 바라보기만 해도, 영상 출력 장치(120)에서 디스플레이(또는 재생) 되는 영상에 은닉된 비밀 메시지 또는 비밀 메시지에 해당하는 컨텐츠가 스마트 글래스의 화면에 디스플레이되거나 소리로 출력될 수 있다. 이는, 사용자가 스마트 글래스를 착용하고 바라보는 곳이 스마트 글래스에 구비된 카메라에 의해 자동 촬영된다고 가정한 경우이다. 만일, 촬영이 수동이라면 사용자가 직접 촬영을 지시할 수도 있다.For example, if the hidden data recovery device (130) is a smart glass, when the user wears the smart glass and looks at the image output device (120), a secret message hidden in the image displayed (or played) on the image output device (120) or content corresponding to the secret message can be displayed on the screen of the smart glass or output as sound. This is assuming that the place the user looks at while wearing the smart glass is automatically captured by the camera equipped in the smart glass. If the capture is manual, the user can also directly instruct the capture.

다른 예로, 은닉 데이터 복원 장치(130)가 스마트 폰이라면, 사용자가 스마트 폰으로 영상 출력 장치(120)를 촬영하면, 영상 출력 장치(120)에서 디스플레이(또는 재생) 되는 영상에 은닉된 비밀 메시지 또는 비밀 메시지에 해당하는 컨텐츠가 스마트 폰의 화면에 디스플레이되거나 소리로 출력될 수 있다. As another example, if the hidden data recovery device (130) is a smart phone, when a user takes a picture of the image output device (120) with the smart phone, a secret message hidden in the image displayed (or played) on the image output device (120) or content corresponding to the secret message may be displayed on the screen of the smart phone or output as sound.

이를 위해, 은닉 데이터 복원 장치(130)는 영상 출력 장치(120)에 디스플레이 중인 영상을 촬영할 수 있는 영상 입력부(231), 상기 영상 입력부(231)에서 촬영된 이미지로부터 영상 경계를 분석하는 분석부(233), 상기 분석부(233)의 분석 결과를 기반으로 상기 촬영된 이미지에 포함된 비밀 메시지를 복원하는 디코더(235), 복원된 비밀 메시지에 대응하는 컨텐츠를 저장하고 있는 저장부(237), 및 상기 저장부(237)에서 제공되는 컨텐츠를 영상 및/또는 소리의 형태로 표출하는 출력부(239)를 포함할 수 있다. 실시예들에 따르면, 영상 입력부(231)는 하나 이상의 카메라가 될 수 있고, 출력부(239)는 디스플레이부 및/또는 오디오 출력부를 포함할 수 있다. 그리고, 복원된 비밀 메시지에 대응하는 컨텐츠는 영상 형태일 수도 있고, 오디오 형태일 수도 있으며, 둘을 모두 포함한 형태일 수도 있다. 상기 저장부(237)는 데이터베이스라 칭할 수 있고, 출력부(239)는 아웃-오브-스크린이라 칭할 수 있다.To this end, the hidden data restoration device (130) may include an image input unit (231) capable of capturing an image being displayed on an image output device (120), an analysis unit (233) that analyzes an image boundary from an image captured by the image input unit (231), a decoder (235) that restores a secret message included in the captured image based on the analysis result of the analysis unit (233), a storage unit (237) that stores content corresponding to the restored secret message, and an output unit (239) that displays the content provided from the storage unit (237) in the form of an image and/or sound. According to embodiments, the image input unit (231) may be one or more cameras, and the output unit (239) may include a display unit and/or an audio output unit. In addition, the content corresponding to the restored secret message may be in the form of an image, an audio form, or a form including both. The above storage unit (237) may be referred to as a database, and the output unit (239) may be referred to as an out-of-screen.

즉, 은닉 데이터 복원 장치(130)가 스마트 글래스라면, 사용자가 착용한 은닉 데이터 복원 장치(130)는 영상 출력 장치(120)에서 재생 중인 영상을 촬영할 수 있다. 여기서, 촬영은 하나 이상의 카메라들로 구성된 영상 입력부(231)를 통해 수행된다. 이때, 촬영은 자동으로 수행될 수도 있고, 사용자의 지시에 의해 수동으로 수행될 수도 있다. That is, if the hidden data recovery device (130) is a smart glass, the hidden data recovery device (130) worn by the user can capture an image being played on the image output device (120). Here, the capture is performed through an image input unit (231) composed of one or more cameras. At this time, the capture may be performed automatically or manually by the user's instructions.

이때, 카메라의 위치나 화각 등으로 인해 상기 영상 입력부(231)에 의해 촬영된 이미지에는 영상 출력 장치(120)에서 재생 중인 영상 뿐만 아니라 주변 배경도 포함될 수 있다. At this time, due to the position or angle of view of the camera, the image captured by the image input unit (231) may include not only the image being played back on the image output device (120) but also the surrounding background.

이 경우, 분석부(233)는 영상 경계를 실시간으로 분석하고, 분석 결과를 기반으로 촬영된 이미지로부터 영상 출력 장치(120)에서 재생 중인 영상에 해당하는 이미지만을 추출하여 디코더(235)로 제공한다. 디코더(235)는 분석부(233)에서 제공하는 이미지에 인공신경망 스테가노그래피 딥러닝 모델의 디코딩을 적용하여 영상 출력 장치(120)에서 재생 중인 영상에 은닉된 비밀 메시지를 복원(decoding)한다. 즉, 사용자가 착용한 은닉 데이터 복원 장치(130), 예를 들어 카메라가 장착된 스마트 글래스는 카메라를 통해 영상 출력 장치(120)와 주변 배경을 촬영한다. 그리고, 촬영된 이미지를 기반으로 영상 출력 장치(120)의 스크린 내에 재생되고 있는 영상을 인식하고, 인식된 영상을 실시간으로 분석한 후 인공신경망 스테가노그래피 딥러닝 모델을 통해 영상 출력 장치(120)의 스크린 내에 재생되고 있는 영상에 은닉된 비밀 메시지를 복원(decoding) 한다.In this case, the analysis unit (233) analyzes the image boundary in real time, and extracts only the image corresponding to the image being played back on the image output device (120) from the captured image based on the analysis result, and provides it to the decoder (235). The decoder (235) applies the decoding of the artificial neural network steganography deep learning model to the image provided by the analysis unit (233) to restore (decode) the secret message hidden in the image being played back on the image output device (120). That is, the hidden data restoration device (130) worn by the user, for example, smart glasses equipped with a camera, photographs the image output device (120) and the surrounding background through the camera. Then, based on the captured image, the image being played back on the screen of the image output device (120) is recognized, the recognized image is analyzed in real time, and the secret message hidden in the image being played back on the screen of the image output device (120) is restored (decoded) through the artificial neural network steganography deep learning model.

본 개시에서 분석부(233)는 촬영된 이미지 중 영상 출력 장치(120)에서 재생 중인 영상에 해당하는 이미지만 디코더(235)로 제공하기 위해, 영상 출력 장치(120)가 포함된 이미지에서 영상 출력 장치(120)의 정확한 에지를 감지하고, 촬영된 이미지로부터 재생 중인 영상에 해당하는 이미지를 추출한 후, 추출된 이미지를 디코더(235)로 제공한다.In the present disclosure, the analysis unit (233) detects the exact edge of the image output device (120) from an image including the image output device (120) to provide only the image corresponding to the image being played back on the image output device (120) among the captured images to the decoder (235), extracts the image corresponding to the image being played back from the captured image, and then provides the extracted image to the decoder (235).

실시예들에 따라, 디코더(235)에서 비밀 메시지가 복원되면, 복원된 비밀 메시지에 해당하는 컨텐츠가 저장부(237)로부터 추출되어 출력부(239)로 제공될 수 있다. 상기 출력부(239)는 저장부(237)로부터 제공되는 컨텐츠를 화면에 디스플레이하거나 및/또는 오디오로 출력할 수 있다. According to embodiments, when a secret message is restored in the decoder (235), content corresponding to the restored secret message may be extracted from the storage unit (237) and provided to the output unit (239). The output unit (239) may display the content provided from the storage unit (237) on a screen and/or output it as audio.

또는, 복원된 비밀 메시지에 따라 출력부(239)는 화면에 UI(User Interface)를 표시하거나 소리를 출력할 수도 있다. Alternatively, depending on the restored secret message, the output unit (239) may display a UI (User Interface) on the screen or output a sound.

만일, 복원된 비밀 메시지에 해당하는 컨텐츠가 저장부(237)에 저장되어 있다면, 복원된 비밀 메시지에 해당하는 컨텐츠를 저장부(237)로부터 추출하여 출력부(239)로 제공하는 역할은 디코더(235)에서 수행될 수도 있고 또는 저장부(237)에서 수행될 수도 있으며 또는 별도의 다른 모듈(예, 하드웨어, 소프트웨어 중 적어도 하나)에서 수행될 수도 있다. If the content corresponding to the restored secret message is stored in the storage unit (237), the role of extracting the content corresponding to the restored secret message from the storage unit (237) and providing it to the output unit (239) may be performed by the decoder (235), or may be performed by the storage unit (237), or may be performed by a separate module (e.g., at least one of hardware and software).

실시예들에 따르면, 데이터 은닉 장치(110)에서 커버 비디오에 비밀 메시지를 삽입할 때, 데이터 은닉 장치(110)는 상기 비밀 메시지에 포함되는 정보(예, 컨텐츠 식별자 및/또는 시간 정보)와 상기 컨텐츠 식별자에 의해 식별되는 컨텐츠 등을 유/무선 네트워크를 통해 은닉 데이터 복원 장치(130)의 저장부(237)에 저장할 수 있다. According to embodiments, when inserting a secret message into a cover video in a data hiding device (110), the data hiding device (110) may store information included in the secret message (e.g., content identifier and/or time information) and content identified by the content identifier in the storage unit (237) of the hidden data restoration device (130) via a wired/wireless network.

본 개시는 비밀 메시지에 따라 출력부(239)에 표출되는 UI, 컨텐츠, 소리 등을 사용자 경험(User Experience, UX)이라 칭할 수 있다. The present disclosure may refer to UI, content, sound, etc. displayed on the output unit (239) according to a secret message as user experience (UX).

즉, 본 개시에서 스마트 글래스는 촬영된 이미지에서 복원한 비밀 메시지를 기반으로 필요시 저장부(237, 데이터 베이스로)부터 관련 컨텐츠를 획득한 후 출력부(239)를 통해 사용자 경험을 제공한다. That is, in the present disclosure, the smart glasses obtain related content from the storage unit (237, database) based on a secret message restored from a photographed image when necessary and then provide a user experience through the output unit (239).

본 개시에서 비밀 메시지(Secret Message)는 컨텐츠 식별자(Contents ID)를 포함할 수 있다. 상기 컨텐츠 식별자는 저장부(237)로부터 해당 컨텐츠를 구별하고 출력하기 위해 사용될 수 있다. 상기 컨텐츠는 광고, 로고, 영상 출력 장치(120)에서 재생 중인 영상과 관련된 부가 정보, 영상 출력 장치(120)에서 재생 중인 영상과 관련이 없는 부가 정보 등이 될 수 있다.In the present disclosure, a secret message may include a content identifier (Contents ID). The content identifier may be used to distinguish and output the corresponding content from the storage unit (237). The content may be an advertisement, a logo, additional information related to a video being played on the video output device (120), additional information unrelated to a video being played on the video output device (120), etc.

본 개시에서 비밀 메시지는 시간 정보를 포함할 수 있다. 상기 시간 정보는 영상 출력 장치(120)에서 재생 중인 영상과 관련된 시간 정보(예, 재생 시점) 및/또는 비밀 메시지에 포함된 컨텐츠 식별자에 의해 식별된 컨텐츠와 관련된 시간 정보를 포함할 수 있다. 실시예들에 따르면, 컨텐츠 식별자에 의해 식별된 컨텐츠와 관련된 시간 정보는 해당 컨텐츠의 재생 시점, 재생 시간 등을 포함할 수 있다. 예를 들어, 시간 정보는 컨텐츠 식별자에 의해 식별된 컨텐츠를 언제부터, 얼마동안 스마트 글래스에 디스플레이할지 등을 식별하기 위한 정보를 포함할 수 있다. 또 다른 예로, 시간 정보를 통해 현재 재생중인 영상의 재생 시점을 파악할 수 있다.In the present disclosure, the secret message may include time information. The time information may include time information (e.g., playback time) related to a video being played on the video output device (120) and/or time information related to content identified by a content identifier included in the secret message. According to embodiments, the time information related to the content identified by the content identifier may include a playback time, a playback time, etc. of the corresponding content. For example, the time information may include information for identifying when and for how long the content identified by the content identifier will be displayed on the smart glasses. As another example, the playback time of the currently playing video may be identified through the time information.

본 개시에서 비밀 메시지는 저장부(237)를 거치지 않고 출력부(239)를 통해 바로 표출할 수 있는 정보를 포함할 수 있다. 예를 들어, 회사 로고, UI(User Interface), 웹 사이트를 방문할 수 있는 URL(Uniform Resource Locator), 영상 출력 장치(120)에서 재생 중인 영상과 관련된 제품이나 장소 등의 특별 할인 코드 등이 될 수 있다. 하지만 이런 정보는 저장부(237)에 저장되어 있고, 복원된 비밀 메시지에 포함된 컨텐츠 ID에 의해 식별되어 출력부(239)로 제공될 수도 있다. In the present disclosure, the secret message may include information that can be displayed directly through the output unit (239) without going through the storage unit (237). For example, it may be a company logo, a UI (User Interface), a URL (Uniform Resource Locator) that can visit a website, a special discount code for a product or location related to a video being played on the video output device (120), etc. However, such information may be stored in the storage unit (237) and provided to the output unit (239) by being identified by a content ID included in the restored secret message.

전술한 바와 같이 본 개시에서 비밀 메시지는 컨텐츠 ID, 시간 정보, 직접 출력 가능한 정보 중 하나 이상을 포함할 수 있다. As described above, in the present disclosure, the secret message may include one or more of content ID, time information, and directly printable information.

도 3은 실시예들에 따른 실시간으로 커버 비디오에 비밀 메시지를 은닉하기 위한 영상 처리 시스템의 일 예시를 보인 도면이다. 본 개시에서 실시간 서비스란 데이터 은닉 과정, 은닉된 데이터를 복원하는 과정이 연속적으로 수행되는 것을 의미하며, 실시 예로 실시간 방송 서비스가 있다.FIG. 3 is a diagram showing an example of an image processing system for hiding a secret message in a cover video in real time according to embodiments. In the present disclosure, a real-time service means that a data hiding process and a process for restoring hidden data are performed continuously, and an example of an embodiment is a real-time broadcasting service.

실시예들에 따르면, 도 3의 영상 처리 시스템에서 데이터 은닉 장치(110)는 컨텐츠(예, 커버 비디오)를 제공하는 컨텐츠 제공부(311), 광고를 제공하는 광고 제공부(312), 실시간 비디오 스트리밍 또는 스테고 비디오 스트리밍을 배포하는 컨텐츠 배포부(313), 실시간 비디오 스트리밍(또는 커버 비디오)에 비밀 메시지를 은닉하는 인코더(314), 및 비밀 메시지를 저장하는 저장부(315)를 포함할 수 있다. 여기서, 컨텐츠 제공과 컨텐츠 배포는 도 3에서와 같이 컨텐츠 제공부(311)와 컨텐츠 배포부(313)에서 각각 수행될 수도 있고, 또는 컨텐츠 제공부(311)에서 컨텐츠 제공과 컨텐츠 배포를 모두 수행할 수도 있다. 즉, 컨텐츠 제공부(311)와 컨텐츠 배포부(313)가 같을 수 있다. 또한, 광고 제공부(312)는 광고를 제공할 수도 있고 및/또는 커버 비디오 또는 실시간 비디오 스트리밍에 삽입될 비밀 메시지를 제공할 수도 있다. According to embodiments, in the image processing system of FIG. 3, the data hiding device (110) may include a content providing unit (311) that provides content (e.g., a cover video), an advertisement providing unit (312) that provides advertisements, a content distribution unit (313) that distributes real-time video streaming or stego video streaming, an encoder (314) that hides a secret message in the real-time video streaming (or the cover video), and a storage unit (315) that stores the secret message. Here, the content providing and the content distribution may be performed by the content providing unit (311) and the content distribution unit (313) respectively as in FIG. 3, or the content providing unit (311) may perform both the content providing and the content distribution. That is, the content providing unit (311) and the content distribution unit (313) may be the same. In addition, the advertisement providing unit (312) may provide advertisements and/or provide a secret message to be inserted into the cover video or the real-time video streaming.

실시예들에 따르면, 컨텐츠 제공부(311)는 컨텐츠 제공자라 칭할 수 있고, 광고 제공부(312)는 컨텐츠 광고주라 칭할 수 있으며, 컨텐츠 배포부(313)는 컨텐츠 배포자라 칭할 수 있다.According to embodiments, the content provider (311) may be referred to as a content provider, the advertisement provider (312) may be referred to as a content advertiser, and the content distribution unit (313) may be referred to as a content distributor.

실시예들에 따르면, 컨텐츠 제공부(311)는 다양한 형태의 컨텐츠를 생성하거나 제작하고, 컨텐츠 배포부(313)는 해당 컨텐츠를 다양한 경로나 플랫폼을 통해 사용자(예, 영상 출력 장치(120))에게 제공 또는 유통하는 역할을 한다. 즉, 컨텐츠 제공부(311)는 커버 비디오를 컨텐츠 배포부(313)에게 제공하고, 컨텐츠 배포부(313)는 커버 비디오를 VoD 스트리밍 또는 실시간 방송 형태로 배포할 수 있다. 또한 광고 제공부(312)는 광고를 하나의 컨텐츠로서 컨텐츠 제공부(311) 및/또는 컨텐츠 배포부(313)에 제공하거나 저장부(315)에 저장할 수 있다. 상기 저장부(315)는 데이터베이스라 칭할 수 있다. According to embodiments, the content provider (311) generates or produces various types of content, and the content distribution unit (313) provides or distributes the content to users (e.g., video output devices (120)) through various paths or platforms. That is, the content provider (311) provides a cover video to the content distribution unit (313), and the content distribution unit (313) can distribute the cover video in the form of VoD streaming or real-time broadcasting. In addition, the advertisement provider (312) can provide an advertisement as a single content to the content provider (311) and/or the content distribution unit (313) or store it in the storage unit (315). The storage unit (315) can be called a database.

본 개시에서 저장부(315)는 컨텐츠 제공부(311), 광고 제공부(312) 또는 컨텐츠 배포부(313) 중 적어도 하나의 내부에 구비될 수도 있고 또는 유/무선 네트워크를 통해 클라우드 서버에 위치할 수도 있다. 또한, 본 개시에서 인코더(314)는 컨텐츠 제공부(311), 광고 제공부(312), 또는 컨텐츠 배포부(313) 중 적어도 하나의 내부에 구비될 수도 있고 또는 유/무선 네트워크를 통해 클라우드 서버에 위치할 수도 있다. 본 개시에서 인코더(314)와 저장부(315)는 클라우드 서버에 위치하는 것을 일 실시예로 한다. 상기 유/무선 네트워크는 도 1에서 상세히 설명하였으므로 여기서는 중복 설명을 피하기 위해 생략하기로 한다. In the present disclosure, the storage unit (315) may be provided inside at least one of the content providing unit (311), the advertisement providing unit (312), or the content distribution unit (313), or may be located in a cloud server via a wired/wireless network. In addition, in the present disclosure, the encoder (314) may be provided inside at least one of the content providing unit (311), the advertisement providing unit (312), or the content distribution unit (313), or may be located in a cloud server via a wired/wireless network. In the present disclosure, the encoder (314) and the storage unit (315) are located in a cloud server as an embodiment. Since the wired/wireless network has been described in detail in FIG. 1, it will be omitted here to avoid redundant description.

본 개시에서 컨텐츠 제공부(311) 및/또는 광고 제공부(312)는 실시간 비디오 스트리밍(또는 커버 비디오)에 비밀 메시지 삽입을 요청하고, 삽입을 원하는 비밀 메시지 및 비밀 메시지에 포함된 컨텐츠 식별자에 의해 식별되는 컨텐츠를 저장부(315)에 저장하는 것을 일 실시예로 한다. 상기 비밀 메시지 삽입의 요청은 클라우드 서버로 하는 것을 일 실시예로 한다. In the present disclosure, the content provider (311) and/or the advertisement provider (312) requests insertion of a secret message into real-time video streaming (or cover video) and stores the secret message to be inserted and the content identified by the content identifier included in the secret message in the storage unit (315), as an embodiment. The request for insertion of the secret message is made to a cloud server as an embodiment.

실시예들에 따르면, 상기 저장부(315)에 저장되는 비밀 메시지는 컨텐츠 식별자(contents ID) 및/또는 상기 컨텐츠 식별자에 의해 식별되는 컨텐츠와 관련된 시간 정보를 포함할 수 있다. 예를 들어, 시간 정보는 비밀 메시지를 삽입하고자 하는 시간(즉, 비디오 시작으로부터 상대적인 시간)을 포함할 수 있다. 그리고, 시간 정보는 상기 비밀 메시지 및/또는 컨텐츠와 관련되어 하나 이상 저장될 수 있다.According to embodiments, the secret message stored in the storage unit (315) may include a content identifier (contents ID) and/or time information related to the content identified by the content identifier. For example, the time information may include a time at which the secret message is to be inserted (i.e., a time relative to the start of the video). In addition, one or more pieces of time information may be stored in relation to the secret message and/or the content.

또한, 광고 제공부(312)는 컨텐츠를 만들지 않았더라도 컨텐츠 제공부(311)와 동일한 방법으로 자신이 원하는 비디오에 은닉하고자 하는 비밀 메시지의 삽입을 요청하고, 비밀 메시지를 저장부(315)에 저장할 수 있다. 이 경우, 저장부(315)는 광고 제공부(312)는 원하는 비밀 메시지 및 비밀 메시지에 포함된 컨텐츠 식별자에 의해 식별되는 컨텐츠를 저장할 수 있다. In addition, the advertisement provider (312) can request the insertion of a secret message that it wants to hide in a desired video in the same way as the content provider (311) even if it did not create the content, and can store the secret message in the storage unit (315). In this case, the storage unit (315) can store the secret message that the advertisement provider (312) wants and the content identified by the content identifier included in the secret message.

그리고, 컨텐츠 제공부(311) 및/또는 광고 제공부(312)에서 클라우드 서버의 저장부(315)에 비밀 메시지 및 관련 컨텐츠를 저장할 때, 클라우드 서버는 상기 비밀 메시지에 포함되는 정보(예, 컨텐츠 식별자 및/또는 시간 정보)와 상기 컨텐츠 식별자에 의해 식별되는 컨텐츠 등을 유/무선 네트워크를 통해 은닉 데이터 복원 장치(130)의 저장부(237)에 저장할 수 있다. And, when the content provider (311) and/or the advertisement provider (312) store a secret message and related content in the storage unit (315) of the cloud server, the cloud server can store information (e.g., content identifier and/or time information) included in the secret message and content identified by the content identifier in the storage unit (237) of the hidden data restoration device (130) via a wired/wireless network.

본 개시에서 인코더(314)는 SaaS(Service as a Service) 또는 SDK(Software Development Kit)의 비디오 인코더(Video Encoder)인 것을 일 실시예로 한다. 이때, SaaS와 SDK에 대한 설명은 도 2에서 하였으므로, 여기서는 설명을 생략하기로 한다. In the present disclosure, the encoder (314) is, as an example, a video encoder of SaaS (Service as a Service) or SDK (Software Development Kit). Since the description of SaaS and SDK is given in Fig. 2, the description will be omitted here.

실시예들에 따르면, 인코더(314)는 컨텐츠 제공부(311) 또는 광고 제공부(312)로부터 비밀 메시지 삽입 요청이 있으면, 인공신경망 스테가노그래피 딥러닝 모델의 인코딩을 기반으로 컨텐츠 배포부(313)에서 제공되는 실시간 비디오 스트리밍에 비밀 메시지를 은닉하여 스테고 비디오 스트림을 생성한다. 여기서, 실시간 비디오 스트리밍은 VOD(Video On Demand) 스트리밍 또는 실시간 방송(또는 실시간 방송 스트리밍)일 수 있다.According to embodiments, when there is a request for inserting a secret message from a content provider (311) or an advertisement provider (312), the encoder (314) generates a stego video stream by hiding the secret message in real-time video streaming provided from a content distribution unit (313) based on encoding of an artificial neural network steganography deep learning model. Here, the real-time video streaming may be VOD (Video On Demand) streaming or real-time broadcasting (or real-time broadcasting streaming).

좀 더 구체적으로, 인코더(314)는 컨텐츠 배포부(313)가 배포 중인 VOD 스트리밍 또는 실시간 방송과 같은 비디오 스트리밍을 수신하고, 비디오의 정보(예, 컨텐츠 식별자)와 시간 정보(예, 재생 시간 정보)를 사용하여 은닉할 비밀 메시지가 있는지에 대해 저장부(315)를 검색(또는 조회)한다. 그리고, 은닉할 비밀 메시지가 있다고 확인되면 수신한 비디오 스트리밍의 프레임 즉, 커버 이미지에 인공신경망 스테가노그래피 딥러닝 모델을 통해 비밀 메시지를 은닉하여 스테고 비디오 스트리밍 즉, 스테고 이미지를 생성한다. 이렇게 생성된 스테고 비디오 스트리밍은 영상 출력 장치(120)로 제공한다. 만일, 은닉할 비밀 메시지가 없다고 확인되면, 수신한 비디오 스트리밍을 수정없이 영상 출력 장치(120)로 제공한다. 이때, 비디오 스트리밍(즉, 스테고 비디오 스트리밍 또는 원본 비디오 스트리밍)은 RTP(Real-time Transport Protocol)와 같은 영상 스트리밍 프로토콜로 패킷화된 후(예, RTP 패킷들), 유/무선 네트워크를 통해 영상 출력 장치(120)로 제공될 수 있다. 만일, 인코더(314)가 영상 출력 장치(120)와 근거리에 있다면, HDMI(High Definition Multimedia Interface)를 통해 비디오 스트리밍(즉, 스테고 비디오 스트리밍 또는 원본 비디오 스트리밍)은 영상 출력 장치(120)로 제공될 수 있다. More specifically, the encoder (314) receives a video streaming such as VOD streaming or real-time broadcasting being distributed by the content distribution unit (313), and searches (or queries) the storage unit (315) for a secret message to be hidden using information of the video (e.g., content identifier) and time information (e.g., playback time information). Then, if it is confirmed that there is a secret message to be hidden, the secret message is hidden in a frame of the received video streaming, i.e., a cover image, through an artificial neural network steganography deep learning model to generate a stego video streaming, i.e., a stego image. The stego video streaming thus generated is provided to the video output device (120). If it is confirmed that there is no secret message to be hidden, the received video streaming is provided to the video output device (120) without modification. At this time, the video streaming (i.e., stego video streaming or original video streaming) may be provided to the video output device (120) via a wired/wireless network after being packetized into a video streaming protocol such as RTP (Real-time Transport Protocol) (e.g., RTP packets). If the encoder (314) is located in close proximity to the video output device (120), the video streaming (i.e., stego video streaming or original video streaming) may be provided to the video output device (120) via HDMI (High Definition Multimedia Interface).

본 개시에서 RTP는 네트워크 상에서 실시간으로 데이터를 전송하는 프로토콜로, 실시간 통신을 위한 타임스탬프, 시퀀스 번호, 송신자 및 수신자 정보 등을 제공한다. 본 개시에서 HDMI는 디지털 비디오 및 오디오 신호를 전송하기 위한 인터페이스이다.In this disclosure, RTP is a protocol for transmitting data in real time over a network, and provides timestamps, sequence numbers, sender and receiver information, etc. for real-time communication. In this disclosure, HDMI is an interface for transmitting digital video and audio signals.

상기 영상 출력 장치(120)는 비디오 스트리밍(즉, 스테고 비디오 스트리밍 또는 원본 비디오 스트리밍)을 수신하여 처리한 후 디스플레이(또는 재생)한다. 이때, 영상 출력 장치(120)로 수신된 비디오 스트리밍이 스테고 비디오 스트리밍이라도, 영상 출력 장치(120)를 시청 중인 사용자는 비밀 메시지의 존재를 인식하지 못한다. The above video output device (120) receives and processes video streaming (i.e., stego video streaming or original video streaming) and then displays (or plays) it. At this time, even if the video streaming received by the video output device (120) is stego video streaming, the user watching the video output device (120) is not aware of the existence of the secret message.

이때, 카메라가 장착된 은닉 데이터 복원 장치(130)에서 영상 출력 장치(120)를 촬영하면, 영상 출력 장치(120)에서 디스플레이(또는 재생) 되는 영상에 은닉된 비밀 메시지가 복원되고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자에 해당하는 컨텐츠가 은닉 데이터 복원 장치(130)의 화면에 디스플레이거나 소리로 출력된다. 여기서, 촬영은 자동으로 수행될 수도 있고, 사용자의 지시에 의해 수동으로 수행될 수도 있다. 이때, 비밀 메시지에 해당하는 컨텐츠는 광고 제공부(312)에 의해 제공된 광고일 수 있다. 이 경우, 시간 정보는 광고의 시작 시간, 광고의 디스플레이 시간 등을 식별하기 위한 정보를 포함할 수 있다. 또는 시간 정보는 사용자가 글래스를 통해 영상 출력 장치(120)를 보기 시작한 시점부터 몇 초 후에 컨텐츠 식별자에 의해 식별되는 광고를 재생할지 등의 정보를 포함할 수도 있다. 상기 시간 정보는 타임스탬프일 수 있다.At this time, when the hidden data restoration device (130) equipped with a camera captures the image output device (120), the secret message hidden in the image displayed (or played back) on the image output device (120) is restored, and the content corresponding to the content identifier included in the restored secret message is displayed on the screen of the hidden data restoration device (130) or output as sound. Here, the shooting may be performed automatically or may be performed manually by the user's instruction. At this time, the content corresponding to the secret message may be an advertisement provided by the advertisement provider (312). In this case, the time information may include information for identifying the start time of the advertisement, the display time of the advertisement, etc. Alternatively, the time information may include information such as how many seconds after the time when the user starts viewing the image output device (120) through the glasses, the advertisement identified by the content identifier will be played back. The time information may be a timestamp.

예를 들어, 은닉 데이터 복원 장치(130)가 스마트 글래스라면, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)를 바라보기만 해도, 영상 출력 장치(120)에서 디스플레이(또는 재생) 되는 영상에 은닉된 비밀 메시지가 복원되고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자에 의해 식별되는 컨텐츠가 스마트 글래스의 화면에 디스플레이되거나 소리로 출력될 수 있다. 이는, 사용자가 스마트 글래스를 착용하고 바라보는 곳이 스마트 글래스에 구비된 카메라에 의해 자동 촬영된다고 가정한 경우이다. 만일, 촬영이 수동이라면 사용자가 직접 촬영을 지시할 수도 있다.For example, if the hidden data restoration device (130) is a smart glass, when the user wears the smart glass and looks at the image output device (120), the hidden secret message in the image displayed (or played) on the image output device (120) is restored, and the content identified by the content identifier included in the restored secret message can be displayed on the screen of the smart glass or output as a sound. This is assuming that the place the user looks at while wearing the smart glass is automatically captured by the camera equipped in the smart glass. If the capture is manual, the user can also directly instruct the capture.

다른 예로, 은닉 데이터 복원 장치(130)가 스마트 폰이라면, 사용자가 스마트 폰으로 영상 출력 장치(120)를 촬영하면, 영상 출력 장치(120)에서 디스플레이(또는 재생) 되는 영상에 은닉된 비밀 메시지가 복원되고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자에 해당하는 컨텐츠가 스마트 폰의 화면에 디스플레이되거나 소리로 출력될 수 있다. As another example, if the hidden data restoration device (130) is a smart phone, when a user takes a picture of the image output device (120) with the smart phone, the hidden secret message in the image displayed (or played) on the image output device (120) is restored, and content corresponding to the content identifier included in the restored secret message can be displayed on the screen of the smart phone or output as sound.

이를 위해, 은닉 데이터 복원 장치(130)는 영상 출력 장치(120)에 디스플레이 중인 영상을 촬영할 수 있는 영상 입력부(231), 상기 영상 입력부(231)에서 촬영된 이미지로부터 영상 경계를 분석하는 분석부(233), 상기 분석부(233)의 분석 결과를 기반으로 상기 촬영된 이미지에 포함된 비밀 메시지를 복원하는 디코더(235), 복원된 비밀 메시지에 대응하는 컨텐츠를 저장하고 있는 저장부(237), 및 상기 저장부(237)에서 제공되는 컨텐츠를 영상 및/또는 소리의 형태로 표출하는 출력부(239)를 포함할 수 있다. 실시예들에 따르면, 영상 입력부(231)는 하나 이상의 카메라가 될 수 있고, 출력부(239)는 디스플레이부 및/또는 오디오 출력부를 포함할 수 있다. 그리고, 복원된 비밀 메시지에 대응하는 컨텐츠는 영상 형태일 수도 있고, 오디오 형태일 수도 있으며, 둘을 모두 포함한 형태일 수도 있다. 상기 저장부(237)는 데이터베이스라 칭할 수 있다.To this end, the hidden data restoration device (130) may include an image input unit (231) capable of capturing an image being displayed on an image output device (120), an analysis unit (233) that analyzes an image boundary from an image captured by the image input unit (231), a decoder (235) that restores a secret message included in the captured image based on the analysis result of the analysis unit (233), a storage unit (237) that stores content corresponding to the restored secret message, and an output unit (239) that displays the content provided from the storage unit (237) in the form of an image and/or sound. According to embodiments, the image input unit (231) may be one or more cameras, and the output unit (239) may include a display unit and/or an audio output unit. In addition, the content corresponding to the restored secret message may be in the form of an image, an audio form, or a form including both. The storage unit (237) may be referred to as a database.

본 개시에서 데이터 은닉 장치(110)의 저장부(315)와 은닉 데이터 복원 장치(130)의 저장부(237)는 동기화되어 있는 것을 일 실시예로 한다. 예를 들어, 은닉 및 복원되는 비밀 메시지와 관련하여 두 저장부(315, 237)에는 동일한 정보(예, 컨텐츠 ID, 컨텐츠, 시간 정보)가 저장된다.In the present disclosure, the storage unit (315) of the data hiding device (110) and the storage unit (237) of the hidden data restoration device (130) are synchronized as an example. For example, the same information (e.g., content ID, content, time information) is stored in the two storage units (315, 237) with respect to the secret message to be hidden and restored.

즉, 은닉 데이터 복원 장치(130)가 스마트 글래스라면, 사용자가 착용한 은닉 데이터 복원 장치(130)는 영상 출력 장치(120)에서 재생 중인 영상을 촬영할 수 있다. 여기서, 촬영은 하나 이상의 카메라들로 구성된 영상 입력부(231)를 통해 수행된다. 본 개시에서 촬영은 자동으로 수행될 수도 있고, 사용자의 지시에 의해 수동으로 수행될 수도 있다. That is, if the hidden data recovery device (130) is a smart glass, the hidden data recovery device (130) worn by the user can capture an image being played on the image output device (120). Here, the capture is performed through an image input unit (231) composed of one or more cameras. In the present disclosure, the capture may be performed automatically or manually by a user's instruction.

이때, 카메라의 위치나 화각 등으로 인해 상기 영상 입력부(231)를 통해 촬영된 이미지에는 영상 출력 장치(120)에서 재생 중인 영상 뿐만 아니라 주변 배경도 포함될 수 있다. At this time, due to the position or angle of view of the camera, the image captured through the image input unit (231) may include not only the image being played back on the image output device (120) but also the surrounding background.

이 경우, 분석부(233)는 촬영 이미지를 실시간으로 분석하고, 분석 결과를 기반으로 촬영된 이미지로부터 영상 출력 장치(120)에서 재생 중인 영상에 해당하는 이미지만을 추출하여 디코더(235)로 제공한다. 디코더(235)는 분석부(233)에서 제공하는 이미지에 인공신경망 스테가노그래피 딥러닝 모델의 디코딩을 적용하여 영상 출력 장치(120)에서 재생 중인 영상에 은닉된 비밀 메시지를 복원(decoding)한다.In this case, the analysis unit (233) analyzes the captured image in real time, and extracts only the image corresponding to the image being played on the image output device (120) from the captured image based on the analysis result, and provides it to the decoder (235). The decoder (235) applies the decoding of the artificial neural network steganography deep learning model to the image provided by the analysis unit (233) to restore (decode) the secret message hidden in the image being played on the image output device (120).

즉, 사용자가 착용한 은닉 데이터 복원 장치(130), 예를 들어 스마트 글래스는 카메라를 통해 영상 출력 장치(120)와 주변 배경을 촬영한다. 그리고, 촬영된 이미지를 기반으로 영상 출력 장치(120)의 스크린 내에 재생되고 있는 영상을 인식하고, 인식된 영상을 실시간으로 분석한 후 인공신경망 스테가노그래피 딥러닝 모델을 통해 영상 출력 장치(120)의 스크린 내에 재생되고 있는 영상에 은닉된 비밀 메시지를 복원(decoding) 한다.That is, a hidden data restoration device (130) worn by a user, for example, smart glasses, captures an image output device (120) and the surrounding background through a camera. Then, based on the captured image, the image being played on the screen of the image output device (120) is recognized, the recognized image is analyzed in real time, and a secret message hidden in the image being played on the screen of the image output device (120) is restored (decoded) through an artificial neural network steganography deep learning model.

본 개시에서 분석부(233)는 촬영된 이미지 중 영상 출력 장치(120)에서 재생 중인 영상에 해당하는 이미지만 디코더(235)로 제공하기 위해, 영상 출력 장치(120)가 포함된 이미지에서 영상 출력 장치(120)의 정확한 에지를 감지하고, 촬영된 이미지로부터 재생 중인 영상에 해당하는 이미지를 추출한 후, 추출된 이미지를 디코더(235)로 제공한다.In the present disclosure, the analysis unit (233) detects the exact edge of the image output device (120) from an image including the image output device (120) to provide only the image corresponding to the image being played back on the image output device (120) among the captured images to the decoder (235), extracts the image corresponding to the image being played back from the captured image, and then provides the extracted image to the decoder (235).

실시예들에 따라, 디코더(235)에서 비밀 메시지가 복원되면, 복원된 비밀 메시지에 해당하는 컨텐츠가 저장부(237)로부터 추출되어 출력부(239)로 제공될 수 있다. 상기 출력부(239)는 저장부(237)로부터 제공되는 컨텐츠를 화면에 디스플레이하거나 및/또는 오디오로 출력할 수 있다. According to embodiments, when a secret message is restored in the decoder (235), content corresponding to the restored secret message may be extracted from the storage unit (237) and provided to the output unit (239). The output unit (239) may display the content provided from the storage unit (237) on a screen and/or output it as audio.

또는, 복원된 비밀 메시지에 따라 출력부(239)는 화면에 UI(User Interface)를 표시하거나 소리를 출력할 수도 있다. Alternatively, depending on the restored secret message, the output unit (239) may display a UI (User Interface) on the screen or output a sound.

만일, 복원된 비밀 메시지에 해당하는 컨텐츠가 저장부(237)에 저장되어 있다면, 복원된 비밀 메시지에 해당하는 컨텐츠를 저장부(237)로부터 추출하여 출력부(239)로 제공하는 역할은 디코더(235)에서 수행될 수도 있고 또는 저장부(237)에서 수행될 수도 있으며 또는 별도의 다른 모듈(예, 하드웨어, 소프트웨어 중 적어도 하나)에서 수행될 수도 있다. If the content corresponding to the restored secret message is stored in the storage unit (237), the role of extracting the content corresponding to the restored secret message from the storage unit (237) and providing it to the output unit (239) may be performed by the decoder (235), or may be performed by the storage unit (237), or may be performed by a separate module (e.g., at least one of hardware and software).

본 개시는 비밀 메시지에 따라 출력부(239)에 표출되는 UI, 컨텐츠, 소리 등을 사용자 경험(User Experience, UX)이라 칭할 수 있다. The present disclosure may refer to UI, content, sound, etc. displayed on the output unit (239) according to a secret message as user experience (UX).

즉, 본 개시에서 스마트 글래스는 촬영된 이미지에서 복원한 비밀 메시지를 기반으로 필요시 저장부(237, 데이터 베이스)로부터 관련 컨텐츠를 획득하여, 사용자 경험을 제공한다. That is, in the present disclosure, the smart glasses obtain relevant content from the storage unit (237, database) when necessary based on a secret message restored from a photographed image, thereby providing a user experience.

본 개시에서 비밀 메시지(Secret Message)는 컨텐츠 식별자(Contents ID)를 포함할 수 있다. 상기 컨텐츠 식별자는 저장부(237)로부터 해당 컨텐츠를 구별하고 추출하기 위해 사용될 수 있다. 상기 컨텐츠는 광고, 로고, 영상 출력 장치(120)에서 재생 중인 영상과 관련된 부가 정보, 영상 출력 장치(120)에서 재생 중인 영상과 관련이 없는 부가 정보 등이 될 수 있다.In the present disclosure, a secret message may include a content identifier (Contents ID). The content identifier may be used to distinguish and extract the corresponding content from the storage (237). The content may be an advertisement, a logo, additional information related to a video being played on the video output device (120), additional information unrelated to a video being played on the video output device (120), etc.

본 개시에서 비밀 메시지는 시간 정보를 포함할 수 있다. 상기 시간 정보는 영상 출력 장치(120)에서 재생 중인 영상과 관련된 시간 정보(예, 재생 시점) 및/또는 비밀 메시지에 포함된 컨텐츠 식별자에 의해 식별된 컨텐츠와 관련된 시간 정보를 포함할 수 있다. 실시예들에 따르면, 컨텐츠 식별자에 의해 식별된 컨텐츠와 관련된 시간 정보는 해당 컨텐츠의 재생 시점, 재생 시간 등을 포함할 수 있다. 예를 들어, 시간 정보는 은닉 데이터 복원 장치(130)에서 비밀 메시지를 복원하는 시간을 기준으로 몇 초 후에 몇 초 동안 컨텐츠 식별자(contents ID)에 의해 식별되는 컨텐츠(예, 광고)를 저장부(237)로부터 읽어 와 재생하라는 정보일 수도 있다. 또한, 시간 정보를 통해 현재 재생중인 영상의 재생 시점을 파악할 수 있다. In the present disclosure, the secret message may include time information. The time information may include time information (e.g., playback time) related to a video being played on the video output device (120) and/or time information related to a content identified by a content identifier included in the secret message. According to embodiments, the time information related to the content identified by the content identifier may include a playback time, a playback time, etc. of the corresponding content. For example, the time information may be information instructing the secret data restoration device (130) to read and play content (e.g., an advertisement) identified by a content identifier (contents ID) from the storage unit (237) for a few seconds after a time at which the secret message is restored. In addition, the playback time of the currently played video can be identified through the time information.

본 개시에서 비밀 메시지는 저장부(237)를 거치지 않고 출력부(239)를 통해 바로 표출할 수 있는 정보를 포함할 수 있다. 예를 들어, 회사 로고, UI(User Interface), 웹 사이트를 방문할 수 있는 URL(Uniform Resource Locator), 영상 출력 장치(120)에서 재생 중인 영상과 관련된 제품이나 장소 등의 특별 할인 코드 등이 될 수 있다. 하지만 이런 정보는 저장부(237)에 저장되어 있고, 복원된 비밀 메시지에 포함된 컨텐츠 ID에 의해 식별되어 출력부(239)로 제공될 수도 있다. In the present disclosure, the secret message may include information that can be displayed directly through the output unit (239) without going through the storage unit (237). For example, it may be a company logo, a UI (User Interface), a URL (Uniform Resource Locator) that can visit a website, a special discount code for a product or location related to a video being played on the video output device (120), etc. However, such information may be stored in the storage unit (237) and provided to the output unit (239) by being identified by a content ID included in the restored secret message.

전술한 바와 같이 본 개시에서 비밀 메시지는 컨텐츠 ID, 시간 정보, 직접 출력 가능한 정보 중 하나 이상을 포함할 수 있다. As described above, in the present disclosure, the secret message may include one or more of content ID, time information, and directly printable information.

도 4는 실시예들에 따른 인코더에서 커버 비디오에 비밀 메시지를 은닉하여 스테고 비디오를 생성하는 방법의 일 예시를 보인 도면이다. 도 4에서 인코더는 데이터 은닉 장치(110)에 포함되는 도 2의 인코더(212) 또는 도 3의 인코더(314)가 될 수 있다. 그리고, 데이터 은닉 장치(110)는 서버(140)에서 인공신경망 딥러닝 모델을 적용하여 생성한 인코더를 제공받는 것을 일 실시예로 한다.FIG. 4 is a diagram showing an example of a method for generating a stego video by hiding a secret message in a cover video in an encoder according to embodiments. In FIG. 4, the encoder may be the encoder (212) of FIG. 2 or the encoder (314) of FIG. 3 included in the data hiding device (110). In addition, according to an embodiment, the data hiding device (110) receives an encoder generated by applying an artificial neural network deep learning model from a server (140).

도 4에서 인코더는 입력되는 커버 비디오를 복수개의 커버 이미지로 분할한다(S411). 즉, 커버 비디오가 실시간 또는 비실시간 동영상이라면, 동영상은 복수개의 정지 영상(또는 프레임 또는 이미지라 함)들로 구성되므로, 커버 비디오는 복수개의 커버 이미지로 분할할 수 있다. 여기서, 각 커버 이미지는 색상 정보와 명암 정보를 포함한다.In Fig. 4, the encoder divides the input cover video into multiple cover images (S411). That is, if the cover video is a real-time or non-real-time video, the video is composed of multiple still images (or frames or images), so the cover video can be divided into multiple cover images. Here, each cover image includes color information and brightness information.

즉, 단계 S411은 가로의 크기가 W이고, 세로의 크기가 H인 커버 비디오를 구성하는 모든 커버 이미지를 추출한다. 실시예들에 따르면, 각 커버 이미지의 픽셀들은 가로 W * 세로 H * 3개의 색상 채널(또는 RGB 채널이라 칭함)로 구성될 수 있다. 실시예들에 따르면, 각 커버 이미지의 픽셀들은 가로 W * 세로 H * 3개의 명암 채널(또는 YCbCr/YUV 채널이라 함)로 구성될 수 있다. That is, step S411 extracts all cover images constituting a cover video having a horizontal size of W and a vertical size of H. According to embodiments, pixels of each cover image may be composed of three color channels (or RGB channels) in the width W * height H. According to embodiments, pixels of each cover image may be composed of three brightness channels (or YCbCr/YUV channels) in the width W * height H.

그리고, 각 커버 이미지를 복수개의 서브 이미지들로 분할할 수 있다(S412). 예를 들어, 단계 S412에서 각 커버 이미지는 가로의 크기가 M이고, 세로의 크기가 N인 복수개의 서브 이미지들로 분할된다. 여기서, 서브 이미지들의 개수는 서브 이미지들의 크기(예, M, N)에 따라 달라질 수 있다. 예를 들어, M과 N의 크기는 200*200에 가깝도록 선정할 수 있다. 이는 하나의 실시예이며, M과 N의 크기로 다른 값이 선택될 수도 있다. 도 4는 당업자의 이해를 돕기 위해 커버 이미지가 가로로 3개, 세로로 4개로 분할되어 12개의 서브 이미지를 포함하는 예를 보이고 있다.And, each cover image can be divided into multiple sub-images (S412). For example, in step S412, each cover image is divided into multiple sub-images having a horizontal size of M and a vertical size of N. Here, the number of sub-images may vary depending on the sizes of the sub-images (e.g., M, N). For example, the sizes of M and N may be selected to be close to 200*200. This is one embodiment, and other values may be selected as the sizes of M and N. FIG. 4 shows an example in which a cover image is divided into 3 horizontally and 4 vertically to include 12 sub-images to help those skilled in the art understand.

본 개시에서 비밀 메시지는 서브 이미지들 중 하나 이상에 삽입될 수 있다. 즉, 이미지에 비밀 메시지를 삽입한다는 것은 그 이미지를 훼손한다는 의미이다. 그리고, 이미지에 훼손이 발생했을 때, 이미지의 특성에 따라 어떤 영역은 사용자에 의해 훼손이 쉽게 인지되고 어떤 영역은 사용자에 의해 훼손이 쉽게 인지되지 않을 수 있다. 따라서, 본 개시는 이미지 내에서 사용자에 의해 비밀 메시지가 쉽게 인지되지 않은 영역을 검출하기 위해서, 각 커버 이미지를 복수개의 서브 이미지들로 나눈다.In the present disclosure, a secret message can be inserted into one or more of the sub-images. That is, inserting a secret message into an image means damaging the image. And, when the image is damaged, depending on the characteristics of the image, some areas may be easily recognized as damaged by the user, and some areas may not be easily recognized as damaged by the user. Therefore, the present disclosure divides each cover image into a plurality of sub-images in order to detect areas in the image where the secret message is not easily recognized by the user.

전술한 바와 같이, 단계 S412에서 커버 이미지가 복수개의 서브 이미지들로 분할되면, 복수개의 서브 이미지들 중 비밀 메시지를 삽입할 하나 이상의 서브 이미지들을 선택한다(S413). 본 개시에서는 최대 K개의 서브 이미지를 선택하는 것을 일 실시예로 한다.As described above, when the cover image is divided into multiple sub-images in step S412, one or more sub-images are selected from among the multiple sub-images in which a secret message is to be inserted (S413). In the present disclosure, one embodiment is to select up to K sub-images.

그리고, 단계 S413는 비밀 메시지를 삽입하기 위해 선택된 서브 이미지는 T로 표시하고, 선택되지 않은 서브 이미지는 F로 표시한다. 만일 K개의 서브 이미지가 비밀 메시지 삽입을 위해 선택되었다면, K개의 서브 이미지에 T가 표시되고, 나머지 서브 이미지에 F가 표시된다.And, in step S413, the sub-images selected for inserting the secret message are indicated by T, and the non-selected sub-images are indicated by F. If K sub-images are selected for inserting the secret message, T is indicated on K sub-images, and F is indicated on the remaining sub-images.

즉, 단계 S413는 각 서브 이미지별로 비밀 메시지를 삽입할지 안 할지를 결정하고, 삽입하기로 결정된 서브 이미지에는 T를 표시하고, 삽입하지 않기로 결정된 서브 이미지에는 F를 표시한다. That is, step S413 determines whether or not to insert a secret message for each sub-image, and marks T in the sub-images that are determined to be inserted, and marks F in the sub-images that are determined not to be inserted.

다시 말해, 비밀 메시지를 이미지에 삽입하는 것은 이미지의 데이터가 변경되는 것이므로 이미지의 왜곡이 발생한다. 따라서 비밀 메시지의 삽입 여부의 비인지성을 강화하기 위해 서브 이미지들 중 사람이 인지하기 어려운 서브 이미지를 선택한다. In other words, inserting a secret message into an image causes distortion of the image because the data of the image is changed. Therefore, in order to enhance the non-recognition of whether a secret message is inserted, a sub-image that is difficult for a person to recognize is selected among the sub-images.

일 실시예로, 단색으로 구성된 서브 이미지는 이미지의 일부가 변경되면 사람이 쉽게 인식 가능하므로 이러한 서브 이미지에는 비밀 메시지를 삽입하지 않기로 결정할 수 있다.In one embodiment, it may be decided not to embed secret messages in sub-images that consist of a single color, since such sub-images are easily recognizable to humans when part of the image is changed.

다른 실시 예로, 다양한 객체가 많은 그림은 이미지의 일부 변경되어도 사람이 인식하기 어려우므로, 다양한 객체가 많은 서브 이미지는 비밀 메시지를 삽입하기로 결정할 수 있다. In another embodiment, since images with many different objects are difficult for humans to recognize even when some parts of the image are changed, it may be decided to embed secret messages in sub-images with many different objects.

그리고, 비밀 메시지를 삽입하는 인코딩을 적용할 서브 이미지는 T, 인코딩을 미 적용할 서브 이미지는 F로 표시한다. 이때, 비밀 메시지를 삽입한 서브 이미지의 개수는 최대 K(K는 1 이상)까지 가능하며, K는 가변적이다.And, the sub-image to which encoding for inserting a secret message is to be applied is denoted as T, and the sub-image to which encoding is not to be applied is denoted as F. At this time, the number of sub-images with inserted secret messages can be up to K (K is 1 or more), and K is variable.

전술한 바와 같이, 단계 S413에서 비밀 메시지를 삽입할 하나 이상의 서브 이미지가 결정되면, 실제 비밀 메시지를 삽입할 채널을 선택한다(S414). 즉, 단계 S414는 비밀 메시지를 삽입할 각 서브 이미지에 대해 어떤 데이터에 비밀 메시지를 적용할지 결정한다. As described above, when one or more sub-images into which a secret message is to be inserted are determined in step S413, a channel into which an actual secret message is to be inserted is selected (S414). That is, step S414 determines to which data the secret message is to be applied for each sub-image into which the secret message is to be inserted.

본 개시에서는 서브 이미지의 특성을 고려하여 YUV 채널의 Y 데이터 또는 RGB 채널의 B 데이터 중 선택하는 것을 일 실시예로 한다. 도 4는 YUV 채널의 Y 데이터를 선택하는 예시를 보이고 있다. 이는 하나의 실시예이며, 다른 색상 체계와 데이터를 선택할 수도 있다. 즉, T로 표시된 서브 이미지의 하나 이상의 픽셀의 Y 데이터를 변경하여 비밀 메시지를 삽입한다.In this disclosure, one embodiment selects Y data of a YUV channel or B data of an RGB channel by considering the characteristics of a sub-image. Fig. 4 shows an example of selecting Y data of a YUV channel. This is one embodiment, and other color systems and data may be selected. That is, a secret message is inserted by changing Y data of one or more pixels of a sub-image indicated by T.

예를 들어, 이미지에 파란색 계열의 색이 많은 경우, RGB 채널의 B 데이터를 일부 변경하더라도 비인지성이 높다. 또는 이미지에 많은 선이 있는 경우 YUV 채널의 Y를 변경하더라도 비인지성이 높다.For example, if there are a lot of blue colors in the image, even if you change some of the B data of the RGB channel, it is highly unperceivable. Or, if there are a lot of lines in the image, even if you change the Y data of the YUV channel, it is highly unperceivable.

단계 S413과 S414를 통해 비밀 메시지를 삽입할 서브 이미지와 채널의 선택이 완료되면, 비밀 메시지를 삽입할 K개의 서브 이미지들과 K개의 서브 이미지들에서 선택된 채널의 데이터 정보를 기반으로 가로 W/M * 세로 H/N * K의 데이터 매트릭스를 생성한다(S415). 즉, 가로 W/M * 세로 H/N를 갖는 K개의 서브 이미지들에서 선택된 채널의 데이터가 인코딩 과정에서 비밀 메시지 삽입으로 인해 변경된다.Once the selection of sub-images and channels into which secret messages are to be inserted is completed through steps S413 and S414, a data matrix of width W/M * height H/N * K is generated based on data information of K sub-images into which secret messages are to be inserted and the channels selected from the K sub-images (S415). That is, data of the selected channels from the K sub-images having width W/M * height H/N are changed due to insertion of the secret message during the encoding process.

또한, 인코더는 입력되는 비트 배열 형태의 비밀 메시지를 여러 번 복사하여 서브 이미지의 크기와 동일하게 설정한다(S416). 즉, 단계 S416은 입력되는 비밀 메시지를 바이너리 배열로 변경한 후 단계 S415에서 생성한 데이터와 같은 크기로 복사하여 가로 W/M * 세로 H/N를 갖는 K개의 서브 비밀 메시지를 생성한다. 다시 말해, 비밀 메시지에 대해서도 데이터 복사 등을 이용하여 가로 W/M * 세로 H/N * K의 데이터 매트릭스를 만든다. 이는 서브 이미지의 크기와 비밀 메시지의 크기가 다르기 때문이다. 예를 들어, 서브 이미지의 데이터 크기가 500바이트이고, 비밀 메시지의 데이터 크기가 10 바이트라면, 비밀 메시지를 50번 복사하여 500바이트로 만들 수 있다. 만일, 서브 이미지의 크기와 비밀 메시지의 크기가 동일하다면 단계 S416은 생략될 수 있다.In addition, the encoder copies the secret message in the form of an input bit array multiple times to set it to be the same size as the sub-image (S416). That is, step S416 changes the input secret message into a binary array and then copies it to be the same size as the data generated in step S415 to generate K sub-secret messages having a width of W/M * height of H/N. In other words, a data matrix of a width of W/M * height of H/N * K is created for the secret message by using data copying, etc. This is because the sizes of the sub-image and the secret message are different. For example, if the data size of the sub-image is 500 bytes and the data size of the secret message is 10 bytes, the secret message can be copied 50 times to be 500 bytes. If the sizes of the sub-image and the secret message are the same, step S416 can be omitted.

단계 S415에서 생성한 K개의 서브 이미지의 데이터와 S416에서 생성한 K개의 비밀 메시지(또는 서브 비밀 메시지)의 데이터에 학습된 인코딩 모델을 적용하여 비밀 메시지가 삽입된 스테고 서브 이미지를 생성한다(S417). 즉, 가로 W/M * 세로 H/N의 크기를 갖는 K개의 스테고 서브 이미지가 생성된다.The learned encoding model is applied to the data of the K sub-images generated in step S415 and the data of the K secret messages (or sub-secret messages) generated in step S416 to generate a stego sub-image with a secret message inserted (S417). That is, K stego sub-images having a size of width W/M * height H/N are generated.

그리고 나서, 커버 이미지 중 단계 S413에서 T로 표시된 K개의 서브 이미지들을 단계 S417에서 생성된 K개의 스테고 서브 이미지로 대체하면, 스테고 이미지를 생성된다(S418). 즉, 커버 이미지 중 T로 표시된 서브 이미지들에는 비밀 메시지가 은닉되고, F로 표시된 서브 이미지들에는 은닉된 비밀 메시지가 없는 완성된 스테고 이미지가 생성된다.Then, by replacing the K sub-images marked as T in step S413 among the cover images with the K stego sub-images generated in step S417, a stego image is generated (S418). That is, a secret message is hidden in the sub-images marked as T among the cover images, and a completed stego image without a hidden secret message is generated in the sub-images marked as F.

이렇게 생성된 스테고 이미지들을 모으면 스테고 비디오(또는 스테고 비디오 스트리밍)가 되고, 이러한 스테고 비디오(또는 스테고 비디오 스트리밍)는 영상 출력 장치(120)로 제공되어 재생된다. 이때, 비밀 메시지는 커버 비디오의 모든 커버 이미지들에 삽입될 수도 있고 또는 일부 커버 이미지에 삽입될 수도 있다. 그러므로, 스테고 비디오에 포함되는 이미지들 중 일부는 스테고 이미지이고, 일부는 비밀 메시지가 삽입되지 않은 원본 이미지일 수 있다.When the stego images generated in this manner are collected, a stego video (or stego video streaming) is generated, and this stego video (or stego video streaming) is provided to and played by a video output device (120). At this time, the secret message may be inserted into all cover images of the cover video or may be inserted into some of the cover images. Therefore, some of the images included in the stego video may be stego images, and some may be original images in which the secret message is not inserted.

도 5는 실시예들에 따른 디코더에서 커버 비디오에 은닉된 비밀 메시지를 복원하는 방법의 일 예시를 보인 도면이다. 도 5에서 디코더는 은닉 데이터 복원 장치(130)에 포함되는 도 2의 디코더(235) 또는 도 3의 디코더(235)가 될 수 있다. 그리고, 은닉 데이터 복원 장치(130)는 서버(140)에서 인공신경망 딥러닝 모델을 적용하여 생성한 디코더를 제공받는 것을 일 실시예로 한다. 도 5에서 은닉 데이터 복원 장치(130)는 AR 글래스와 같은 스마트 글래스인 것을 일 실시예로 설명한다. 하지만, 본 개시에서 은닉 데이터 복원 장치(130)는 스마트 글래스로 한정되지 않는다. 즉, 하나 이상의 카메라와 디스플레이 기능을 갖춘 장치는 어느 것이나 은닉 데이터 복원 장치가 될 수 있다.FIG. 5 is a diagram showing an example of a method for restoring a secret message hidden in a cover video in a decoder according to embodiments. In FIG. 5, the decoder may be the decoder (235) of FIG. 2 or the decoder (235) of FIG. 3 included in the hidden data restoration device (130). In addition, the hidden data restoration device (130) receives a decoder generated by applying an artificial neural network deep learning model from a server (140), as an example. In FIG. 5, the hidden data restoration device (130) is described as a smart glass such as AR glasses, as an example. However, the hidden data restoration device (130) in the present disclosure is not limited to smart glasses. That is, any device having one or more cameras and display functions can be a hidden data restoration device.

본 개시에서 스테고 이미지로부터 비밀 메시지를 복원하는 디코딩 과정은 도 4의 커버 비디오(또는 비디오 스트리밍)에 비밀 메시지를 은닉하는 인코딩 과정의 역순으로 수행된다.In the present disclosure, the decoding process for recovering a secret message from a stego image is performed in the reverse order of the encoding process for hiding the secret message in the cover video (or video streaming) of FIG. 4.

즉, 은닉 데이터 복원 장치(130)의 하나 이상의 카메라들로 구성된 영상 입력부(231)는 스테고 비디오를 재생하고 있는 영상 입력 장치(120)(예, TV)를 촬영한다(S511). 이때, 촬영은 자동으로 수행될 수도 있고, 사용자의 지시에 의해 수동으로 수행될 수도 있다. 예를 들어, 은닉 데이터 복원 장치(130)가 스마트 글래스라고 가정하면, 사용자가 스마트 글래스를 착용하고 바라보는 곳 즉, 영상 출력 장치(120)와 그 주변이 자동으로 촬영될 수 있다.That is, the image input unit (231) composed of one or more cameras of the hidden data recovery device (130) captures the image input device (120) (e.g., TV) that is playing the stego video (S511). At this time, the capture may be performed automatically or may be performed manually by a user's instruction. For example, assuming that the hidden data recovery device (130) is a smart glass, the place where the user is looking while wearing the smart glass, i.e., the image output device (120) and its surroundings, may be automatically captured.

이와 같이, 영상 입력부(231)에 의해 촬영된 이미지는 영상 출력 장치(120)에서 재생되고 있는 영상 뿐만 아니라 영상 출력 장치(120) 및 그 주변 상황도 함께 포함될 수 있다. 즉, 영상 입력부(231)는 스테고 비디오를 재생하는 영상 출력 장치(120)를 포함한 주변과 그 영상 출력 장치(120)에서 재생되고 있는 영상의 장면들을 촬영할 수 있다. 이때, 영상 입력부(231)는 초당 수십 장의 이미지들을 촬영할 수 있다(S512). 그리고, 촬영에 의해 획득된 이미지는 스테고 비디오를 구성하는 스테고 이미지들과 영상 출력 장치(120) 및 그 주변 배경을 포함할 수 있다. 즉, 도 5에서와 같이 촬영에 의해 획득된 각 이미지는 배경과 스테고 이미지로 구성된다.In this way, the image captured by the image input unit (231) may include not only the image being played back on the image output device (120), but also the image output device (120) and its surroundings. That is, the image input unit (231) may capture scenes of the surroundings including the image output device (120) that plays back the stego video and the image being played back on the image output device (120). At this time, the image input unit (231) may capture several tens of images per second (S512). In addition, the image acquired by shooting may include stego images constituting the stego video and the image output device (120) and its surrounding background. That is, as shown in FIG. 5, each image acquired by shooting is composed of a background and a stego image.

단계 S512 이후는 은닉 데이터 복원 장치(130)에 설치된 어플리케이션에 의해 수행되는 것을 일 실시예로 한다.Step S512 and thereafter is performed by an application installed in the hidden data restoration device (130), as an example.

즉, 분석부(233)는 단계 S512에서 촬영한 이미지로부터 배경과 영상 출력 장치(120)의 경계를 인식하여 영상 출력 장치(120) 내에 있는 스테고 이미지를 분리해낸다(S513). 영상 출력 장치(120)가 TV인 경우를 예로 들면, 영상 분석부(233)는 영상 입력부(231)에 의해 촬영된 이미지로부터 배경과 TV의 경계선을 인식한 후 TV에서 재생 중인 스테고 이미지를 분리해낸다. 단계 S513에서 분리된 각 스테고 이미지는 가로 W * 세로 H * 3개의 색상 채널(RGB)로 구성되는 것을 일 실시예로 한다. 실시예들에 따르면, 각 스테고 이미지는 가로 W * 세로 H * 3개의 명암 채널(또는 YCbCr/YUV 채널이라 함)로 구성될 수 있다.That is, the analysis unit (233) recognizes the boundary between the background and the image output device (120) from the image captured in step S512 and separates the stego image within the image output device (120) (S513). For example, if the image output device (120) is a TV, the image analysis unit (233) recognizes the boundary between the background and the TV from the image captured by the image input unit (231) and then separates the stego image being played on the TV. In one embodiment, each stego image separated in step S513 is composed of three color channels (RGB) in the width W * height H. According to embodiments, each stego image may be composed of three brightness channels in the width W * height H (or YCbCr/YUV channels).

상기 분석부(233에서 TV 경계를 추출하는 내용은 뒤에서 상세히 설명하기로 한다.The details of extracting the TV boundary in the above analysis section (233) will be explained later.

단계 S513에서 스테고 이미지가 분리되면, 복수개의 서브 이미지들로 분할한다(S514). 이때, 분리되는 서브 이미지들의 개수 및 각 서브 이미지의 크기는 도 4의 인코딩 과정의 각 서브 이미지의 크기 및 분할되는 서브 이미지들의 개수 정보와 동일한 것을 일 실시예로 한다. 즉, 단계 S514에서 각 스테고 이미지는 가로의 크기가 M이고, 세로의 크기가 N인 12개의 서브 이미지들로 분할된다. In step S513, when the stego image is separated, it is divided into multiple sub-images (S514). At this time, the number of sub-images to be separated and the size of each sub-image are, in one embodiment, the same as the size of each sub-image and the number of sub-images to be divided in the encoding process of Fig. 4. That is, in step S514, each stego image is divided into 12 sub-images, each of which has a horizontal size of M and a vertical size of N.

단계 S514에서 스테고 이미지가 복수개의 서브 이미지들로 분할되면, 도 4의 단계 S413에서 사용한 것과 같은 알고리즘으로 비밀 메시지가 삽입된 서브 이미지들을 선택한다(S515). 즉, 도 4에서와 같이 비밀 메시지가 삽입된 최대 K개의 서브 이미지들이 선택될 수 있다. 이때, 비밀 메시지가 삽입된 서브 이미지는 T로, 비밀 메시지가 삽입되지 않은 서브 이미지는 F로 표시되는데, 디코더는 별도의 정보가 없어도 이미지를 분석하면 해당 서브 이미지가 T인지 F인지 알 수 있다.In step S514, when the stego image is divided into multiple sub-images, the sub-images with inserted secret messages are selected (S515) using the same algorithm as that used in step S413 of FIG. 4. That is, as in FIG. 4, up to K sub-images with inserted secret messages can be selected. At this time, the sub-image with inserted secret messages is indicated as T, and the sub-image without inserted secret messages is indicated as F. Even without separate information, the decoder can determine whether the corresponding sub-image is T or F by analyzing the image.

단계 S515에서 비밀 메시지가 삽입된 서브 이미지들이 선택되면, 각 서브 이미지에 대해, 도 4의 단계 S415에서 사용한 것과 같은 알고리즘으로 비밀 메시지가 삽입된 채널을 선택한다(S516). 도 4에서 YUV 채널의 Y 데이터를 선택하였으므로, 도 5에서도 YUV 채널의 Y 데이터를 선택하는 것을 일 실시예로 한다. 만일, 도 4에서 RGB 채널의 B 데이터를 선택하였다면, 도 5에서도 RGB 채널의 B 데이터를 선택한다.In step S515, when sub-images with inserted secret messages are selected, for each sub-image, a channel with inserted secret messages is selected using the same algorithm as used in step S415 of Fig. 4 (S516). Since Y data of the YUV channel is selected in Fig. 4, as an example, Y data of the YUV channel is selected in Fig. 5 as well. If B data of the RGB channel is selected in Fig. 4, B data of the RGB channel is selected in Fig. 5 as well.

단계 S516에서 디코딩 채널이 선택되면, 비밀 메시지가 삽입된 K개의 서브 이미지들과 K개의 서브 이미지들에서 선택된 채널의 데이터 정보를 기반으로 가로 W/M * 세로 H/N * K의 데이터 매트릭스를 생성한다(S517). When a decoding channel is selected in step S516, a data matrix of width W/M * height H/N * K is generated based on K sub-images with secret messages inserted and data information of the selected channel from the K sub-images (S517).

그리고, 단계 S517에서 생성한 가로 W/M * 세로 H/N * K의 데이터 매트릭스에 학습된 디코딩 모델을 적용하여 K개의 서브 이미지들로부터 비밀 메시지를 획득한다(S518). 즉, 비밀 메시지가 삽입된 서브 이미지들로부터 비밀 메시지를 획득할 수 있다.Then, the learned decoding model is applied to the data matrix of width W/M * height H/N * K generated in step S517 to obtain a secret message from K sub-images (S518). That is, a secret message can be obtained from sub-images into which a secret message is inserted.

이렇게 획득된 비밀 메시지는 컨텐츠 식별자와 시간 정보를 포함할 수 있다. 그러면, 디코더(235)는 컨텐츠 식별자에 해당하는 컨텐츠를 저장부(237)로부터 추출하여 출력부(239)로 제공하고, 출력부(239)는 입력되는 컨텐츠를 시간 정보를 기반으로 디스플레이 및/또는 소리로 표출한다. The secret message obtained in this way may include a content identifier and time information. Then, the decoder (235) extracts the content corresponding to the content identifier from the storage unit (237) and provides it to the output unit (239), and the output unit (239) displays and/or expresses the input content as sound based on the time information.

예를 들어, 영상 출력 장치(120)에서 여행 영상이 재생되고 있다면, 스마트 글래스는 재생 중인 여행 영상과 관련된 부가 정보 즉, 여행 영상에 보이는 건물이나 장소의 상세 정보(또는 구체적인 정보)를 디스플레이할 수 있다.For example, if a travel video is being played on the video output device (120), the smart glasses can display additional information related to the travel video being played, that is, detailed information (or specific information) of a building or place shown in the travel video.

다른 예로, 영상 출력 장치(120)에서 스포츠 영상이 재생되고 있다면, 스마트 글래스는 재생 중인 스포츠 영상과 관련된 부가 정보 즉, 스포츠 영상에 보이는 선수들 중 특정 전수의 상세 정보(또는 구체적인 정보)를 디스플레이할 수 있다.As another example, if a sports video is being played on the video output device (120), the smart glasses can display additional information related to the sports video being played, i.e., detailed information (or specific information) of a specific number of players appearing in the sports video.

도 4와 도 5에서, 커버 이미지(또는 스테고 이미지)의 크기 정보, 커버 이미지(또는 스테고 이미지)로부터 분할되는 각 서브 이미지의 크기 정보 및 서브 이미지들의 개수 정보, 및 비밀 메시지의 삽입 및 복원을 위한 채널 정보 등은 서버(140)에서 인공 신경망 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 학습 과정에서 정해지는 것을 일 실시예로 한다.In FIGS. 4 and 5, information on the size of the cover image (or stego image), information on the size of each sub-image divided from the cover image (or stego image), information on the number of sub-images, and channel information for inserting and restoring a secret message are determined in a learning process in which an artificial neural network deep learning model is applied in a server (140) to create an encoder and a decoder, as an example.

도 6은 실시예들에 따른 서버에서 인공 신경망 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 학습 과정의 일 예시를 보인 도면이다. 도 6에서 서버는 도 1의 서버(140)가 될 수 있으며, 인공 신경망 딥러닝 모델을 적용하여 인코더와 디코더를 만든 후, 인코더는 데이터 은닉 장치(110)로 제공하고, 디코더는 은닉 데이터 복원 장치(130)로 제공한다. 일 실시예로, 인코더는 영상 출력 장치(120)로 제공될 수도 있다. 이 경우, 영상 출력 장치(120)에서 영상에 비밀 메시지를 은닉하는 과정을 실시간 또는 비실시간으로 수행한다. 즉, 서버(140)에서 만들어지는 인코더와 디코더는 한쌍(즉, 한 셋트)이다. 다시 말해, 인코더와 디코더는 쌍으로 생성되며, 인코더에서 사용되는 변수(또는 파라미터)들과 디코더에서 사용되는 변수(또는 파라미터)들은 동일하다. 이때, 인코더와 디코더는 각각 파일 형태로 서버(140)에 저장되며, 또한 파일 형태의 인코더는 데이터 은닉 장치(110) 및/또는 영상 출력 장치(120)로 제공되고, 파일 형태의 디코더는 은닉 데이터 복원 장치(130)로 제공된다.FIG. 6 is a diagram showing an example of a learning process for creating an encoder and a decoder by applying an artificial neural network deep learning model in a server according to embodiments. In FIG. 6, the server may be the server (140) of FIG. 1, and after creating an encoder and a decoder by applying an artificial neural network deep learning model, the encoder is provided to a data hiding device (110), and the decoder is provided to a hidden data restoration device (130). As an embodiment, the encoder may be provided as an image output device (120). In this case, the process of hiding a secret message in an image is performed in real time or non-real time in the image output device (120). That is, the encoder and decoder created in the server (140) are a pair (i.e., a set). In other words, the encoder and decoder are created as a pair, and the variables (or parameters) used in the encoder and the variables (or parameters) used in the decoder are the same. At this time, the encoder and decoder are each stored in the server (140) in the form of a file, and the encoder in the form of a file is provided to a data hiding device (110) and/or an image output device (120), and the decoder in the form of a file is provided to a hidden data restoration device (130).

도 6의 단계 S611 내지 단계 S615는 도 4의 단계 S411 내지 단계 S415와 동일하게 동작하는 것을 일 실시예로 한다.In one embodiment, steps S611 to S615 of FIG. 6 operate in the same manner as steps S411 to S415 of FIG. 4.

즉, 도 6에서 서버(140)는 입력되는 커버 비디오를 복수개의 커버 이미지들로 분할한다(S611). 여기서, 커버 비디오는 영상 출력 장치(120)에서 재생할 영상과 아무런 관련이 없는 임의의 랜덤 이미지들로 이루어진다. 예를 들어, 커버 비디오는 인터넷 등에서 랜덤으로 수집한 이미지들의 모음일 수 있다. 다시 말해, 현 단계는 컨텐츠 제공부에서 컨텐츠를 만들기 전으로서, 인코더와 디코더를 만들기 위한 학습 단계이므로, 커버 이미지는 영상 출력 장치(120)에서 재생할 영상과 아무런 관련이 없다.That is, in Fig. 6, the server (140) divides the input cover video into a plurality of cover images (S611). Here, the cover video is composed of random images that have nothing to do with the video to be played back on the video output device (120). For example, the cover video may be a collection of images randomly collected from the Internet, etc. In other words, the current step is before the content provider creates the content, and is a learning step for creating an encoder and decoder, so the cover images have nothing to do with the video to be played back on the video output device (120).

이와 같이, 단계 S611은 랜덤하게 입력되는 커버 비디오로부터 가로의 크기가 W이고, 세로의 크기가 H인 커버 이미지들을 추출한다. 실시예들에 따르면, 각 커버 이미지는 가로 W * 세로 H * 3개의 색상 채널(또는 RGB 채널이라 칭함)로 구성될 수 있다. 실시예들에 따르면, 각 커버 이미지는 가로 W * 세로 H * 3개의 명암 채널(또는 YCbCr/YUV 채널이라 함)로 구성될 수 있다. In this way, step S611 extracts cover images having a width of W and a height of H from a randomly input cover video. According to embodiments, each cover image may be composed of a width of W * height of H * 3 color channels (or referred to as RGB channels). According to embodiments, each cover image may be composed of a width of W * height of H * 3 brightness channels (or referred to as YCbCr/YUV channels).

그리고, 각 커버 이미지를 복수개의 서브 이미지들로 분할한다(S612). 도 4에서와 같이, 단계 S612에서 각 커버 이미지는 가로의 크기가 M이고, 세로의 크기가 N인 복수개의 서브 이미지들로 분할된다. And, each cover image is divided into multiple sub-images (S612). As in Fig. 4, in step S612, each cover image is divided into multiple sub-images having a horizontal size of M and a vertical size of N.

단계 S612에서 커버 이미지가 복수개의 서브 이미지들로 분할되면, 복수개의 서브 이미지들 중 비밀 메시지를 삽입할 최대 K개의 서브 이미지들을 선택한다(S613). 그리고, 도 4에서와 같이 비밀 메시지를 삽입하기 위해 선택된 서브 이미지(들)은 T로 표시하고, 선택되지 않은 서브 이미지(들)은 F로 표시한다. In step S612, when the cover image is divided into multiple sub-images, at most K sub-images are selected from the multiple sub-images into which a secret message is to be inserted (S613). Then, as in Fig. 4, the sub-image(s) selected to insert the secret message are indicated by T, and the non-selected sub-image(s) are indicated by F.

단계 S613에서 비밀 메시지를 삽입할 하나 이상의 서브 이미지가 결정되면, 실제 비밀 메시지를 삽입할 채널을 선택한다(S614). When one or more sub-images into which a secret message is to be inserted are determined in step S613, a channel into which an actual secret message is to be inserted is selected (S614).

도 6에서는 도 4에서와 같이 YUV 채널의 Y 데이터를 선택하는 것을 일 실시예로 한다. 또는 RGB 채널의 B 데이터를 선택할 수도 있다. In Fig. 6, as an example, Y data of a YUV channel is selected as in Fig. 4. Alternatively, B data of an RGB channel may be selected.

단계 S613과 S614를 통해 비밀 메시지를 삽입할 서브 이미지와 채널의 선택이 완료되면, 비밀 메시지를 삽입할 K개의 서브 이미지들과 K개의 서브 이미지들에서 선택된 채널의 데이터 정보를 기반으로 가로 W/M * 세로 H/N * K의 데이터 매트릭스를 생성한다(S615). 즉, 가로 W/M * 세로 H/N를 갖는 K개의 서브 이미지들의 선택된 채널의 데이터가 인코딩 과정에서 비밀 메시지 삽입으로 인해 변경된다.Once the selection of sub-images and channels into which secret messages are to be inserted is completed through steps S613 and S614, a data matrix of width W/M * height H/N * K is generated based on the data information of the K sub-images into which secret messages are to be inserted and the channels selected from the K sub-images (S615). That is, the data of the selected channels of the K sub-images having width W/M * height H/N are changed due to the insertion of the secret message during the encoding process.

이와 동시에, 서버(140)는 임의의 비밀 메시지를 생성하고, 생성된 비밀 메시지를 바이너리 형태(또는 비트 배열 형태)로 변환한 후, 변환된 비밀 메시지를 여러 번 복사하여 단계 S615에서 생성한 서브 이미지의 크기와 동일하게 만든다(S616). 즉, 단계 S616은 입력되는 비밀 메시지를 바이너리 배열로 변경한 후 단계 S615에서 생성한 서브 이미지의 데이터와 같은 크기로 복사하여 가로 W/M * 세로 H/N를 갖는 K개의 서브 비밀 메시지를 생성한다. 다시 말해, 랜덤하게 입력되는 임의의 비밀 메시지에 대해서도 데이터 복사 등을 이용하여 가로 W/M * 세로 H/N * K의 데이터 매트릭스를 만든다. At the same time, the server (140) generates a random secret message, converts the generated secret message into a binary format (or a bit array format), and then copies the converted secret message multiple times to make it the same size as the sub-image generated in step S615 (S616). That is, step S616 converts the input secret message into a binary array and then copies it to a size the same as the data of the sub-image generated in step S615 to generate K sub-secret messages having a width of W/M * a height of H/N. In other words, for a randomly input random secret message, a data matrix of a width of W/M * a height of H/N * K is created by using data copying, etc.

그리고, 단계 S615에서 생성한 K(예, 6)개의 서브 이미지의 데이터와 S616에서 생성한 K개의 비밀 메시지(또는 서브 비밀 메시지)의 데이터에 현 단계(즉, 현재)까지 학습된 인코딩 모델을 적용하여 비밀 메시지가 삽입된 스테고 서브 이미지를 생성한다(S617). 즉, 가로 W/M * 세로 H/N의 크기를 갖는 K(예, 6)개의 스테고 서브 이미지가 생성된다.Then, the encoding model learned up to the current step (i.e., present) is applied to the data of the K (e.g., 6) sub-images generated in step S615 and the data of the K secret messages (or sub-secret messages) generated in S616 to generate a stego sub-image with a secret message inserted (S617). That is, K (e.g., 6) stego sub-images having a size of width W/M * height H/N are generated.

그리고 나서, 커버 이미지 중 단계 S613에서 T로 표시된 K개의 서브 이미지들을 단계 S617에서 생성된 K개의 스테고 서브 이미지들로 대체하면, 프레임 단위의 스테고 이미지가 생성된다(S618). 즉, 커버 이미지 중 T로 표시된 서브 이미지들에는 비밀 메시지가 은닉되고, F로 표시된 서브 이미지들에는 은닉된 비밀 메시지가 없는 완성된 스테고 이미지가 생성된다.Then, by replacing the K sub-images marked as T in step S613 among the cover images with the K stego sub-images generated in step S617, a stego image in frame units is generated (S618). That is, a secret message is hidden in the sub-images marked as T among the cover images, and a completed stego image without a hidden secret message is generated in the sub-images marked as F.

이렇게 생성된 스테고 이미지는 판별기(651), 손실함수 계산부(653), 디코딩을 위한 시작 단계(S619)로 제공된다. 즉, 단계 S618에서 생성된 스테고 이미지는 커버 이미지와 스테고 이미지의 이미지 해쉬(image hash) 차이를 최소화하고, 디스크리미네이터(discriminator) 최소화 방향으로 학습이 진행된다.The stego image generated in this way is provided to a discriminator (651), a loss function calculation unit (653), and a start step (S619) for decoding. That is, the stego image generated in step S618 is trained to minimize the difference in image hash between the cover image and the stego image, and to minimize the discriminator.

단계 S619는 디코딩의 시작 단계로서, 단계 S618에서 생성된 스테고 이미지의 일부를 훼손시킴에 의해 훼손된 스테고 이미지를 생성한다.Step S619 is a starting step of decoding, which generates a corrupted stego image by corrupting a part of the stego image generated in step S618.

즉, 데이터 은닉 장치(110)에서 스테고 이미지를 영상 출력 장치(120)에서 재생하고, 은닉 데이터 복원 장치(130)에서 이를 카메라로 촬영하는 과정에서 발생하는 이미지의 왜곡을 디코딩 과정에 반영하기 위하여, 단계 S619는 임의로 스테고 이미지를 변경한다. 예를 들어, 스테고 이미지에 흐림(Blur), 랜덤 노이즈 추가, 랜덤 밝기, 대조, 휘도 변경, 회전, 이미지 압축 해제 등을 적용하여 스테고 이미지를 일정 범위 내에서 강제 훼손한다. 이는 카메라에 의해 촬영된 이미지와 영상 출력 장치(120)에서 디스플레이되는 이미지가 동일하더라도 인식되는 색상 등에 차이가 있을 수 있기 때문이다. 예를 들어, 같은 초록색이더라도 카메라는 더 진한 초록색으로 인식하고, 영상 출력 장치(120)에서는 더 연한 초록색으로 인식할 수 있다. That is, in order to reflect the distortion of the image that occurs during the process of reproducing the stego image in the image output device (120) in the data hiding device (110) and capturing it with a camera in the hidden data restoration device (130) in the decoding process, step S619 arbitrarily changes the stego image. For example, the stego image is forcibly damaged within a certain range by applying blur, random noise addition, random brightness, contrast, luminance change, rotation, image decompression, etc. to the stego image. This is because even if the image captured by the camera and the image displayed on the image output device (120) are the same, there may be a difference in the recognized color, etc. For example, even if the color is the same green, the camera may recognize it as a darker green, and the image output device (120) may recognize it as a lighter green.

단계 S619에서 스테고 이미지를 훼손하면, 단계 S620는 훼손된 스테고 이미지로부터 비밀 메시지가 삽입된 K개의 서브 이미지들과 K개의 서브 이미지들에서 선택된 채널의 데이터 정보를 기반으로 가로 W/M * 세로 H/N * K의 데이터 매트릭스를 생성(또는 구성)한다. If the stego image is corrupted in step S619, step S620 generates (or configures) a data matrix of width W/M * height H/N * K based on K sub-images into which secret messages are inserted and data information of channels selected from the K sub-images from the corrupted stego image.

그리고, 단계 S620에서 생성한 가로 W/M * 세로 H/N * K의 데이터 매트릭스에 현 단계(또는 현재)까지 학습된 디코딩 모델을 적용하여 K개의 서브 이미지들로부터 비밀 메시지를 획득한다(S621). Then, the decoding model learned up to the current step (or present) is applied to the data matrix of width W/M * height H/N * K generated in step S620 to obtain a secret message from K sub-images (S621).

실시예들에 따르면, 본 개시에서 손실 함수 계산부(653)는 현 학습 단계의 수준을 확인하고 다음 학습 단계로 진행하기 위한 손실 함수를 정의하는 단계를 수행할 수 있다. 실시예들에 따르면, 손실 함수를 정의하는 단계는 다음 3가지 함수로 구성된다. According to embodiments, the loss function calculation unit (653) in the present disclosure may perform a step of checking the level of the current learning stage and defining a loss function for proceeding to the next learning stage. According to embodiments, the step of defining the loss function consists of the following three functions.

1) 커버 이미지에서 생성된 스테고 이미지의 비밀 메시지 삽입으로 인한 이미지의 손실 비인지성을 평가하는 함수(즉, 커버 이미지와 스테고 이미지의 품질 차이를 평가하는 함수). 즉, 커버 이미지와 스테고 이미지를 RGB 각각에 대해 픽셀별로 비교하여 그 차이가 최소화되는 방향으로 인코더를 업데이트한다. 즉, RGB 픽셀의 차 값이 작아지는 방향으로 계속하여 반복 학습한다.1) A function that evaluates the loss of image imperceptibility due to the secret message insertion of the stego image generated from the cover image (i.e., a function that evaluates the quality difference between the cover image and the stego image). That is, the cover image and the stego image are compared pixel by pixel for each RGB, and the encoder is updated in the direction where the difference is minimized. That is, continuous iterative learning is performed in the direction where the difference value of the RGB pixels decreases.

2) 생성적 적대 신경망(Generative Adversarial Networks)의 구분자 역할로 스테고 이미지로부터 실제 이미지의 가짜 여부를 판단하는 평가 함수(즉, 커버 이미지가 AI(인공지능)가 만든 가짜 이미지인지 평가하는 함수). 즉, AI가 만든 가짜 이미지를 제외시키기 위한 함수이다.2) An evaluation function that determines whether a real image is fake or not from a stego image as a discriminator for the Generative Adversarial Networks (i.e., a function that evaluates whether the cover image is a fake image created by AI). In other words, it is a function for excluding fake images created by AI.

3) 입력 비밀 메시지와 출력 비밀 메시지의 차이를 평가하는 함수. 즉, 입력 비밀 메시지와 출력 비밀 메시지(즉, 강제 훼손시킨 스테고 이미지로부터 획득된 비밀 메시지)와의 차이가 최소화되는 방향으로 디코더를 업데이트한다. 즉, 입력 비밀 메시지와 출력 비밀 메시지와의 차이를 바이너리로 비교하고 그 차 값이 작아지는 방향으로 계속하여 반복 학습한다.3) A function that evaluates the difference between the input secret message and the output secret message. That is, the decoder is updated in the direction in which the difference between the input secret message and the output secret message (i.e., the secret message obtained from the forcibly corrupted stego image) is minimized. That is, the difference between the input secret message and the output secret message is compared in binary, and continuous iterative learning is performed in the direction in which the difference value becomes smaller.

즉, 손실 함수 계산부(653)는 3개의 함수의 결과 값을 각각 스케일 팩터를 통해 정규화를 적용하고 하나의 부동 소수로 만들어 손실 함수의 값을 계산한다. 그리고 이를 최소화하기 위해 인코더, 디코더, 판별기(651)를 업데이트 하고 다음 단계의 학습으로 진행한다.That is, the loss function calculation unit (653) calculates the value of the loss function by applying normalization to the result values of the three functions through a scale factor and converting them into a single floating point number. Then, to minimize this, the encoder, decoder, and discriminator (651) are updated and the next stage of learning is proceeded.

이를 위해 손실 함수 계산부(653)는 랜덤으로 입력되는 커버 비디오로부터 추출된 커버 이미지와 단계 S618에서 생성된 스테고 이미지를 제공받는다(S623). 또한, 판별기(651)로부터 생성적 적대 신경망의 구분자의 결과를 제공받는다(S624). 그리고, 랜덤으로 입력되는 비밀 메시지와 단계 S621에서 획득된 출력 비밀 메시지를 제공받는다(S625). 즉, 손실 함수 계산부(653)는 손실 함수를 최소화하는 방향으로 인코더와 디코더를 계속 업데이트한다.To this end, the loss function calculation unit (653) receives a cover image extracted from a randomly input cover video and a stego image generated in step S618 (S623). In addition, the result of the discriminator of the generative adversarial neural network is received from the discriminator (651) (S624). In addition, the secret message that is randomly input and the output secret message obtained in step S621 are received (S625). That is, the loss function calculation unit (653) continuously updates the encoder and decoder in the direction of minimizing the loss function.

전술한 바와 같이 업데이트 과정(즉, 학습 과정)을 반복하여 커버 이미지와 스테고 이미지의 품질 차이가 최소(예, 제1 임계값 이하)가 되고, 입력 비밀 메시지와 출력 비밀 메시지의 차이가 최소(예, 제2 임계값 이하)가 되면, 이때의 인코더와 디코더를 파일 형태로 저장한다. 그리고, 파일 형태의 인코더는 데이터 은닉 장치(110) 및/또는 영상 출력 장치(120)로 제공하고, 파일 형태의 디코더는 은닉 데이터 복원 장치(130)로 제공한다.As described above, by repeating the update process (i.e., learning process), when the quality difference between the cover image and the stego image becomes minimal (e.g., below the first threshold value) and the difference between the input secret message and the output secret message becomes minimal (e.g., below the second threshold value), the encoder and decoder at this time are saved in the form of a file. Then, the encoder in the form of a file is provided to the data hiding device (110) and/or the image output device (120), and the decoder in the form of a file is provided to the hidden data restoration device (130).

이상에서와 같이 본 개시는 인공 신경망을 사용하여 비밀 메시지를 커버 이미지에 삽입하기 위해, 각 프레임(즉, 커버 이미지)을 M x N 크기의 서브 이미지들로 분할하고, 서브 이미지의 특성을 고려하여 텍스쳐가 있는 서브 이미지와 단색에 가까운 서브 이미지로 분류하고, 텍스쳐가 있는 서브 이미지에 비밀 메시지를 삽입한다. 이를 위해, 텍스쳐가 있는 서브 이미지는 T로 표시하고, 단색에 가까운 서브 이미지는 F로 표시한다. 즉, 텍스쳐가 있는 서브 이미지는 이미지가 상대적으로 복잡하기 때문에 그 서브 이미지에 비밀 메시지를 숨기더라도 스테고 데이터와 커버 데이터의 차이의 인지가 어려워 비인지성을 향상시킬 수 있다. 또한, 프레임에 대응하는 커버 이미지 중 최대 K개의 서브 이미지들만 인코딩을 하므로 커버 이미지 전체에 왜곡이 발생하지 않아, 비인지성이 향상되고, 인코딩 속도도 향상되므로 이를 통해 실시간 인코딩이 가능한 효과가 있다. As described above, in order to insert a secret message into a cover image using an artificial neural network, the present disclosure divides each frame (i.e., a cover image) into sub-images of M x N size, classifies the sub-images into textured sub-images and monochrome sub-images in consideration of the characteristics of the sub-images, and inserts the secret message into the textured sub-images. To this end, the textured sub-images are denoted as T, and the monochrome sub-images are denoted as F. That is, since the textured sub-images are relatively complex images, even if a secret message is hidden in the sub-images, it is difficult to recognize the difference between stego data and cover data, thereby improving unrecognizability. In addition, since only a maximum of K sub-images among the cover images corresponding to the frames are encoded, distortion does not occur throughout the cover image, thereby improving unrecognizability, and the encoding speed is also improved, thereby enabling real-time encoding.

또한, 디코딩 과정도 인코딩 과정과 로직이 동일하며, 비밀 메시지가 삽입된 서브 이미지들만 디코딩 과정을 진행하므로, 디코딩 과정이 빠르고, 간단해지는 효과가 있다. 따라서, 본 개시는 경량 AR 디바이스에 적합하다.In addition, the decoding process has the same logic as the encoding process, and since only the sub-images with inserted secret messages undergo the decoding process, the decoding process becomes faster and simpler. Therefore, the present disclosure is suitable for lightweight AR devices.

도 7은 실시예들에 따른 분석부에서 영상 출력 장치의 경계를 추출하는 방법의 일 예시를 보인 도면이다. FIG. 7 is a diagram showing an example of a method for extracting a boundary of an image output device in an analysis unit according to embodiments.

도 8(a) 내지 도 8(f)는 실시예들에 따른 분석부에서 영상 출력 장치의 경계를 추출하는 과정을 그림으로 보이고 있다.Figures 8(a) to 8(f) illustrate the process of extracting the boundary of an image output device in an analysis unit according to embodiments.

도 7과 도 8(a) 내지 도 8(f)에서 분석부는 은닉 데이터 복원 장치(130)에 포함되는 분석부(233)가 될 수 있다. 그리고, 도 7과 도 8(a) 내지 도 8(f)에서 영상 출력 장치(120)는 TV인 경우를 일 실시예로 하고 있다. 즉, 분석부(233)는 영상 입력부(231)에 의해 촬영된 이미지로부터 TV 경계를 추출한다. 이는 촬영된 이미지 중 영상 출력 장치(120)에서 재생 중인 영상에 해당하는 이미지만 디코더(235)로 제공하기 위해서이다.In FIG. 7 and FIG. 8(a) to FIG. 8(f), the analysis unit may be an analysis unit (233) included in the hidden data restoration device (130). In addition, in FIG. 7 and FIG. 8(a) to FIG. 8(f), the image output device (120) is a TV as an example. That is, the analysis unit (233) extracts a TV boundary from an image captured by the image input unit (231). This is to provide only the image corresponding to the image being played back in the image output device (120) among the captured images to the decoder (235).

본 개시에서 영상 입력부(231)에 의해 촬영된 이미지는 하나 이상의 영상 출력 장치들이 포함될 수도 있고, 또는 영상 출력 장치에서 재생 중인 영상 뿐만 아니라 영상 출력 장치 및 그 주변도 함께 포함될 수 있다.In the present disclosure, an image captured by the image input unit (231) may include one or more image output devices, or may include not only an image being played back on the image output device, but also the image output device and its surroundings.

본 개시에서 분석부(233)는 영상 입력부(231)에 의해 획득된 입력 이미지에 대해 딥러닝 기반의 객체 감지 (Object Detection) 기술을 도 8(a)와 같이 이용하여 영상 출력 장치의 경계를 찾는다(S711). 본 개시에서 영상 출력 장치는 TV, 모니터, 태블릿, 사이니지 등과 같은 장치가 될 수 있으며, 분석부(233)는 입력되는 이미지로부터 TV, 모니터, 태블릿, 사이니지와 같은 영상 출력 장치의 경계를 찾는다. In the present disclosure, the analysis unit (233) finds the boundary of an image output device by using a deep learning-based object detection technology for an input image acquired by the image input unit (231), as shown in Fig. 8(a) (S711). In the present disclosure, the image output device may be a device such as a TV, a monitor, a tablet, a signage, etc., and the analysis unit (233) finds the boundary of an image output device such as a TV, a monitor, a tablet, a signage, etc. from an input image.

이때, 영상 입력부(231)에 의해 획득된 이미지에 하나 또는 복수개의 영상 출력 장치가 포함될 수 있다. 예를 들어, TV와 모니터가 하나의 이미지에 포함될 수 있다. At this time, one or more image output devices may be included in the image acquired by the image input unit (231). For example, a TV and a monitor may be included in one image.

본 개시는 입력된 이미지에서 두 개 이상의 영상 출력 장치가 감지되는 경우, 이 중 한 개를 선택한다(S712). 본 개시에서 분석부(233)는 사용자의 시선을 고려하여 입력 이미지의 중심에서 가장 가까운 영상 출력 장치를 선택하는 것을 일 실시예로 한다. 예를 들어, 입력 이미지에 모니터와 TV가 모두 포함되고, 이 중 TV가 모니터보다 입력 이미지의 중심에서 더 가깝다면, 분석부(233)는 TV를 선택한다. 즉, 분석부(233)는 촬영된 이미지에 포함된 복수개의 영상 입력 장치들 중 신뢰도(confidence)가 가장 높은 1개의 영상 출력 장치를 선택할 수 있다.In the present disclosure, if two or more image output devices are detected in an input image, one of them is selected (S712). In the present disclosure, the analysis unit (233) selects the image output device closest to the center of the input image by considering the user's line of sight, as an example. For example, if the input image includes both a monitor and a TV, and the TV is closer to the center of the input image than the monitor, the analysis unit (233) selects the TV. That is, the analysis unit (233) can select one image output device with the highest confidence among a plurality of image input devices included in the captured image.

이때, 객체 감지(object detection)의 기술은 객체의 경계를 픽셀 단위로 정확하게 탐지하지 못하여, 분석부(233)는 객체의 외부를 더 포함하거나, 객체의 일부만 포함한 경계를 찾을 수 있다. 즉, 객체 감지 기술은 객체의 경계를 빠르게 찾는 장점이 있지만, 인식된 객체의 경계가 정확하지 않은 단점이 존재한다. 따라서, 분석부(233)는 탐지된 객체의 경계에 상하 좌우 마진을 적용하여 더 넓은 경계를 만들고, 더 넓은 경계 내의 이미지를 추출한다(S713). 이때 좌우 마진과 상하 마진은 각각 감지된 객체의 너비와 높이 각각 10%를 기본으로 할 수 있다. 하지만 이러한 마진은 변경될 수 있다.At this time, since the object detection technology cannot accurately detect the boundary of the object in pixel units, the analysis unit (233) may find a boundary that includes more of the outside of the object or includes only a part of the object. In other words, the object detection technology has the advantage of quickly finding the boundary of the object, but has the disadvantage that the boundary of the recognized object is not accurate. Therefore, the analysis unit (233) applies upper, lower, left, and right margins to the boundary of the detected object to create a wider boundary, and extracts an image within the wider boundary (S713). At this time, the left and right margins and the upper and lower margins may be based on 10% of the width and height of the detected object, respectively. However, these margins may be changed.

본 개시에서 객체 감지 기술은 생략될 수 있다. 즉, 본 개시에서 객체 감지 방법의 적용 여부는 선택적(optional)인 것을 일 실시예로 한다. In the present disclosure, the object detection technology may be omitted. That is, in one embodiment, the application of the object detection method in the present disclosure is optional.

단계 S713에서 마진을 추가하여 만든 경계 내에서 이미지가 추출되면, 추출된 이미지의 외곽선을 추출하여야 한다. 본 개시는 도 8(b)와 같이 그레이 스케일(Grey Scale) 및 캐니(Canny) 알고리즘을 통해 단계 S713에서 추출된 이미지의 외곽선을 추출하는 것을 일 실시예로 한다(S714). When an image is extracted within a boundary created by adding a margin in step S713, the outline of the extracted image must be extracted. The present disclosure extracts the outline of the image extracted in step S713 using a gray scale and Canny algorithm as shown in FIG. 8(b) (S714).

이때, 도 8(a)와 같이 객체 감지 기술이 적용되었다면, 탐지된 객체의 경계에 상하좌우 마진을 추가하여 만든 경계 내에서 추출한 이미지에 그레이 스케일 및 캐니 알고리즘을 적용하고, 객체 감지 기술이 생략되었다면 이미지 전체에 대해 그레이 스케일 및 캐니 알고리즘을 적용하여 이미지의 외곽선을 추출하는 것을 일 실시예로 한다.At this time, if object detection technology is applied as in Fig. 8(a), grayscale and Canny algorithm are applied to the image extracted within the boundary created by adding upper, lower, left, and right margins to the boundary of the detected object, and if object detection technology is omitted, grayscale and Canny algorithm are applied to the entire image to extract the outline of the image.

실시예들에 따르면, 이미지의 외곽선을 추출하기 위해 적용되는 그레이 스케일 및 캐니 알고리즘은 이미지 처리 기능으로서, 그레이 스케일은 이미지를 흑백으로 변환하는 과정이고, 캐니 알고리즘은 흑백으로 변환된 이미지에서 모든 객체의 외곽선(또는 윤곽선이라 함)을 찾아내는 엣지 검출 알고리즘이다. According to the embodiments, the grayscale and Canny algorithms applied to extract the outline of an image are image processing functions, where grayscale is a process of converting an image to black and white, and the Canny algorithm is an edge detection algorithm that finds the outline (or contour) of all objects in an image converted to black and white.

단계 S714에서 이미지 내 모든 객체의 외곽선이 추출되면, 도 8(c)에서와 같이 추출된 외곽선에서 닫힌 폴리곤(closed polygon)들을 획득(또는 추출)한다(S715). 본 개시에서 닫힌 폴리곤은 폐쇄된 경계를 가지며, 시작점과 끝점이 연결되어 완전히 닫혀있는 형태로서, 예를 들어 삼각형, 사각형, 오각형, 원 등이 있다.In step S714, when the outlines of all objects in the image are extracted, closed polygons are obtained (or extracted) from the extracted outlines as in Fig. 8(c) (S715). In the present disclosure, a closed polygon has a closed boundary and is a completely closed shape with the start and end points connected, such as a triangle, a square, a pentagon, a circle, etc.

이때, 본 개시는 영상 출력 장치의 경계를 빠르게 추출하기 위해, 단계 S715에서 추출된 다수의 닫힌 폴리곤들 중 다음과 같은 닫힌 폴리곤은 배제할 수 있다. At this time, in order to quickly extract the boundary of the image output device, the following closed polygons among the multiple closed polygons extracted in step S715 can be excluded.

예를 들어, 닫힌 폴리곤의 넓이가 기 설정된 임계값(예, Area_Threshold) 보다 작은 도형이면, 그 닫힌 폴리곤은 배제할 수 있다. 즉, 너무 작은 폴리곤들은 TV 엣지일 가능성이 없으므로 버린다.For example, if a closed polygon has an area smaller than a preset threshold (e.g. Area_Threshold), the closed polygon can be excluded. That is, polygons that are too small are discarded as they are unlikely to be TV edges.

본 개시에서 임계값(Area_Threshold)은 단계 S712에서 선택된 영상 입력 장치의 경계의 넓이의 0.0005배로 사용하는 것을 일 실시예로 한다. 이는 하나의 실시예이며, 임계값(Area_Threshold)은 변경 가능하다. In the present disclosure, the threshold value (Area_Threshold) is set to 0.0005 times the width of the boundary of the image input device selected in step S712, as an example. This is just one example, and the threshold value (Area_Threshold) can be changed.

그러면, 임계값(Area_Threshold)에 따라 닫힌 폴리곤들 중 일부를 배제하더라도, 도 8(d)와 같이 복수개의 닫힌 폴리곤들이 존재할 수 있다.Then, even if some of the closed polygons are excluded according to the threshold value (Area_Threshold), multiple closed polygons may exist as in Fig. 8(d).

따라서, 이 경우 다음과 같은 순서로 닫힌 폴리곤들을 병합한다(S716). 단계 S716은 닫힌 폴리곤의 필터링 및 병합 단계이다.Therefore, in this case, closed polygons are merged in the following order (S716). Step S716 is a filtering and merging step of closed polygons.

즉, 단계 S712에서 선택된 영상 출력 장치 경계의 중심점부터, 각 닫힌 폴리곤의 무게중심 거리까지 가까운 순서대로 누적하면서 닫힌 폴리곤 집합을 모두 포함하는 최소 넓이의 사각형을 구한다. 다시 말해, TV 중심점에서 가장 가까운 닫힌 폴리곤부터 병합을 진행한다. 이때, 닫힌 폴리곤의 위치는 무게 중심점이고, 영역 기준으로 임계값보다 작은 도형은 버린다. 그리고, 병합 후 바운딩 사각형(bounding rectangle)을 구한다. That is, from the center point of the boundary of the image output device selected in step S712, the distance of the center of gravity of each closed polygon is accumulated in the order of proximity, and a rectangle with the minimum area that includes all closed polygon sets is obtained. In other words, merging is performed from the closed polygon closest to the center point of the TV. At this time, the position of the closed polygon is the center of gravity, and a shape smaller than the threshold value in terms of area is discarded. Then, the bounding rectangle is obtained after merging.

이를 위해, 중심점에 가장 가까운 하나 이상의 닫힌 폴리곤들을 찾는다. 만일 객체 감지 기술이 적용되지 않았다면 이미지 전체에서 중심점에 가장 가까운 닫힌 폴리곤을 찾고, 객체 감지 기술이 적용되었다면 이미지 중 TV 중심점에서 가장 가까운 닫힌 폴리곤을 찾는다.To do this, we find one or more closed polygons closest to the center point. If object detection technology is not applied, we find the closed polygon closest to the center point in the entire image, and if object detection technology is applied, we find the closed polygon closest to the center point of the TV in the image.

이와 같이, 닫힌 폴리곤들은 중심점에서 가장 가까운 순서대로 찾고, 찾은 닫힌 폴리곤들을 포함할 수 있는 사각형(즉, 닫힌 폴리곤들 중 사각형)을 찾는다. 이러한 과정을 닫힌 폴리곤의 집합을 모두 포함하는 최소 넓이의 사각형을 찾을 때까지 반복된다. 예를 들어, 중심점에서 가까운 순서대로 찾은 2개의 닫힌 폴리곤들을 다 포함하는 사각형이 있으면, 2개의 닫힌 폴리곤들은 그 사각형으로 병합된다. 그리고, 이 사각형과 다른 닫힌 폴리곤들을 포함하는 더 넓은 사각형이 있으면, 이들은 더 넓은 사각형으로 병합된다. 이러한 과정을 반복하면 사각형의 넓이가 점점 넓어진다. 즉, 폴리곤 머지를 통해 닫힌 폴리곤들 중 복수개의 사각형들(즉, 사각형 집합)만 남게 된다.In this way, closed polygons are found in order of their proximity to the center point, and rectangles that can contain the found closed polygons (i.e., rectangles among the closed polygons) are found. This process is repeated until a rectangle with the minimum area that contains all the closed polygons is found. For example, if there is a rectangle that contains both two closed polygons found in order of proximity to the center point, the two closed polygons are merged into that rectangle. Then, if there is a wider rectangle that contains this rectangle and other closed polygons, they are merged into the wider rectangle. By repeating this process, the area of the rectangle gradually increases. In other words, through polygon merging, only multiple rectangles (i.e., a set of rectangles) among the closed polygons remain.

단계 S716에서 폴리곤 머지가 수행되면, 폴리곤 머지의 결과인 사각형들을 영상 출력 장치(예, TV 에지)로 판단할지 결정하기 위해 TV 통과 테스트(TV Acceptance test)를 수행한다(S717). When polygon merging is performed in step S716, a TV Acceptance test is performed (S717) to determine whether the resulting rectangles of the polygon merging are to be judged as image output devices (e.g., TV edges).

단계 S717은 단계 S716에서 구한 사각형의 집합에 대해 도 8(e) 와 같이 영상 출력 장치(예, TV 에지)로 판단할지 결정하는 단계로, 다음과 같은 조건을 만족하는 사각형만 영상 출력 장치로 판단하기 위해 선택한다. Step S717 is a step for determining whether to determine the set of rectangles obtained in step S716 as an image output device (e.g., TV edge) as in Fig. 8(e), and only rectangles satisfying the following conditions are selected to be determined as image output devices.

즉, 단계 S712에서 선택된 영상 출력 장치 경계의 중심점과 사각형의 중심점의 차이가 중심 임계값(Acceptance_Center_Threshold) 이하이거나(예, 객체 감지 기술 적용된 경우) 및/또는 단계 S712에서 선택된 영상 출력 장치 경계의 넓이 대비 사각형의 넓이가 영역 임계값(Acceptance_Area_Threshold) 이상이면(예, 객체 감지 기술이 적용되지 않은 경우), 그 사각형은 영상 출력 장치로 판단하기 위해 선택하고, 이 조건을 만족하지 않는 사각형은 버린다. 예를 들어, 객체 감지 기술이 적용된 경우, 경계(boundary)의 중심과 사각형의 중심점의 차이가 임계값(Acceptance_Center_Threshold)을 만족하는 경우, 즉 그 차이가 임계값(Acceptance_Center_Threshold)보다 작은 경우, 그 사각형은 TV 에지로 판단하기 위해 선택된다. 또는 TV 넓이와 객체 감지의 넓이 비율이 임계값(Acceptance_Area_Threshold) 이상이면, 그 사각형은 TV 에지로 판단하기 위해 선택된다. 따라서, 본 개시에서는 하나 이상의 사각형들이 영상 출력 장치로 판단하기 위해 선택될 수 있다.That is, if the difference between the center point of the boundary of the image output device selected in step S712 and the center point of the rectangle is less than or equal to a center threshold (Acceptance_Center_Threshold) (e.g., when object detection technology is applied) and/or the area of the rectangle compared to the area of the boundary of the image output device selected in step S712 is greater than or equal to an area threshold (Acceptance_Area_Threshold) (e.g., when object detection technology is not applied), the rectangle is selected to be determined as an image output device, and rectangles that do not satisfy this condition are discarded. For example, if the object detection technology is applied and the difference between the center of the boundary and the center point of the rectangle satisfies the threshold (Acceptance_Center_Threshold), that is, if the difference is less than the threshold (Acceptance_Center_Threshold), the rectangle is selected to be determined as a TV edge. Alternatively, if the ratio of the TV width to the area of the object detection is greater than or equal to the threshold (Acceptance_Area_Threshold), the rectangle is selected to be determined as a TV edge. Therefore, in the present disclosure, one or more squares can be selected to be judged as an image output device.

본 개시에서 중심 임계값(Acceptance_Center_Threshold)은 0.333으로 설정하는 것을 일 실시예로 한다. 이는 하나의 실시예이면, 중심 임계값(Acceptance_Center_Threshold)은 변경 가능하다. 그리고, 영역 임계값(Acceptance_Area_Threshold)은 0.7로 설정하는 것을 일 실시예로 한다. 이는 하나의 실시예이며, 영역 임계값(Acceptance_Area_Threshold)은 변경 가능하다. In the present disclosure, the center threshold (Acceptance_Center_Threshold) is set to 0.333 as an example. This is an example, and the center threshold (Acceptance_Center_Threshold) is changeable. And, the area threshold (Acceptance_Area_Threshold) is set to 0.7 as an example. This is an example, and the area threshold (Acceptance_Area_Threshold) is changeable.

단계 S717에서 TV 통과 테스트를 통과한 하나 이상의 사각형들 즉, 영상 출력 장치(예, TV 에지)로 판단되기 위해 선택된 하나 이상의 사각형들은 영상 출력 장치(예, TV 에지)의 하나 이상의 후보들이다. In step S717, one or more of the rectangles that passed the TV pass test, i.e., one or more rectangles selected to be determined as a video output device (e.g., a TV edge), are one or more candidates for a video output device (e.g., a TV edge).

즉, 단계 S717은 폴리곤 머지 결과인 하나 이상의 사각형들 중, 이미지 전체의 중심점 또는 객체 감지 기술이 적용된 경우 영상 입력 장치 경계의 중심점과 사각형의 중심점의 차이가 너무 크면(즉, 임계값(Acceptance_Center_Threshold) 이상), 그 사각형을 영상 출력 장치(예, TV 에지) 후보에서 제외한다. 이는, 하나 이상의 사각형들 중 이미지 전체의 중심점 또는 영상 입력 장치 경계의 중심점 또는 그 근처에 있지 않은 사각형들은 영상 출력 장치(예, TV 에지) 후보로 선택하지 않고 버리겠다는 것을 의미한다. 또한, 단계 S717은 폴리곤 머지 결과인 하나 이상의 사각형들 중 넓이가 너무 작은 사각형(즉, 임계값(Acceptance_Area_Threshold) 이하)을 영상 출력 장치(예, TV 에지) 후보에서 제외한다. 이는, 하나 이상의 사각형들 중 넓이가 너무 작은 사각형들은 영상 출력 장치(예, TV 에지) 후보로 선택하지 않고 버리겠다는 것을 의미한다.That is, in step S717, if, among one or more rectangles resulting from the polygon merge, the difference between the center point of the entire image or the center point of the boundary of the image input device when object detection technology is applied and the center point of the rectangle is too large (i.e., greater than or equal to the threshold (Acceptance_Center_Threshold)), the rectangle is excluded from the candidates for the image output device (e.g., TV edge). This means that, among the one or more rectangles, rectangles that are not located at or near the center point of the entire image or the center point of the boundary of the image input device will not be selected as candidates for the image output device (e.g., TV edge) and will be discarded. In addition, in step S717, among one or more rectangles resulting from the polygon merge, rectangles that have an area that is too small (i.e., less than or equal to the threshold (Acceptance_Area_Threshold)) will be excluded from the candidates for the image output device (e.g., TV edge). This means that, among the one or more rectangles, rectangles that have an area that is too small will not be selected as candidates for the image output device (e.g., TV edge) and will be discarded.

만일, S717에서 TV 통과 테스트를 통과한 사각형이 하나이면, 그 사각형은 영상 출력 장치(즉, TV 에지)로 판단되고, 그 사각형에 대응하는 이미지는 비밀 메시지 복원을 위해 디코더(235)로 제공된다. If there is only one square that passes the TV pass test in S717, that square is determined to be a video output device (i.e., TV edge), and the image corresponding to that square is provided to the decoder (235) for secret message restoration.

만일, S717에서 TV 통과 테스트를 통과한 사각형이 둘 이상이면, 둘 이상의 사각형들을 넓이가 큰 순으로 정렬한 후, 정렬된 순서대로 각 사각형의 이미지를 디코더(235)로 제공하여 스테가노그래피 디코딩을 적용시킨다. 그 결과, 둘 이상의 사각형들 중 비밀 메시지가 추출되는 사각형이 최종 영상 출력 장치(예, TV 에지)로 선택된다. 그러면, 디코더(235)는 선택된 사각형의 이미지로부터 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및 시간 정보를 기반으로 저장부(237)에서 해당 컨텐츠를 읽어 와 출력부(239)에 사용자 경험을 제공한다.If there are two or more squares that have passed the TV pass test in S717, the two or more squares are sorted in order of their area, and then the images of each square are provided to the decoder (235) in the sorted order to apply steganographic decoding. As a result, the square from which the secret message is extracted among the two or more squares is selected as the final image output device (e.g., TV edge). Then, the decoder (235) reads the corresponding content from the storage unit (237) based on the content identifier and time information included in the secret message restored from the image of the selected square and provides the user experience to the output unit (239).

즉, 단계 S717를 통과한 사각형의 집합은 TV 경계의 후보이며, 다수의 사각형들이 추출되는 경우는 도 8(f) 와 같이 각 후보에 대해 모두 스테가노그래피 디코딩 적용하여 가장 적합한 사각형을 선택할 수 있다. That is, the set of rectangles that passed through step S717 are candidates for the TV boundary, and in cases where multiple rectangles are extracted, steganographic decoding can be applied to all candidates to select the most appropriate rectangle, as shown in Fig. 8(f).

또한, 본 개시는 인코더에서 에러 정정 코드(Error Correction Code, ECC)를 적용하여 커버 비디오에 비밀 메시지를 삽입하는 인코딩을 수행하고, 디코더에서 ECC를 이용하여 에러 검출 및 에러 정정을 수행하고 비밀 메시지를 복원하는 디코딩을 수행할 수 있다. 이를 단계 S718에서 둘 이상의 사각형들에 적용하면, 이 중 하나의 사각형만 에러 없이 비밀 메시지를 복원할 수 있다. 그러므로, 본 개시는 이 방법을 이용하여 둘 이상의 영상 출력 장치 후보들 중 하나를 선택할 수 있다. In addition, the present disclosure can perform encoding to insert a secret message into a cover video by applying an Error Correction Code (ECC) in an encoder, perform error detection and error correction using the ECC in a decoder, and perform decoding to restore the secret message. When this is applied to two or more squares in step S718, only one of the squares can restore the secret message without an error. Therefore, the present disclosure can select one of two or more video output device candidates by using this method.

이상에서와 같이 본 개시에서 인코더는 관리자(정보 제공자 또는 컨텐츠 제공자 또는 컨텐츠 광고주)가 입력한 비밀 메시지를 커버 비디오(Video Source)의 매 프레임마다 인공신경망 스테가노그래피 딥러닝 모델을 통해 인코딩 후 새로운 스테고 영상을 재생성하고, 영상 출력 장치(예, TV, 노트북, 사이니지 등)의 스크린으로 출력한다. 그리고, AR 글래스는 카메라를 통해 영상 출력 장치의 스크린을 인식하고 스크린 내에 재생되고 있는 영상을 실시간으로 분석하여 인공신경망 스테가노그래피 딥러닝 모델을 통해 은닉된 비밀 메시지를 재생되고 있는 영상으로부터 복원(decoding) 한다. 이어서, AR 글래스는 복원한 비밀 메시지를 데이터 베이스에 저장된 데이터와 비교하여 서로 일치되면 AR 글래스 화면에 이에 상응하는 UI를 표시해 주거나 소리를 들려준다.As described above, in the present disclosure, the encoder encodes a secret message input by an administrator (information provider, content provider, or content advertiser) for each frame of a cover video (Video Source) through an artificial neural network steganography deep learning model, regenerates a new stego image, and outputs it to the screen of a video output device (e.g., TV, laptop, signage, etc.). Then, the AR glasses recognize the screen of the video output device through a camera, analyze the video being played on the screen in real time, and decode the hidden secret message from the video being played through an artificial neural network steganography deep learning model. Then, the AR glasses compare the decoded secret message with data stored in a database, and if they match, display a corresponding UI on the AR glasses screen or make a sound.

본 개시에서 비밀 메시지는 컨텐츠 식별자(Contents ID)와 시간 정보(Timestamp)를 포함하고 있으며, AR 글래스는 컨텐츠 식별자를 통해 데이터 베이스에 저장된 컨텐츠를 구별하고, 시간 정보를 통해 데이터베이스에 저장된 컨텐츠의 재생 시점을 파악할 수 있다.In the present disclosure, the secret message includes a content identifier (Contents ID) and time information (Timestamp), and the AR glasses can distinguish content stored in a database through the content identifier and determine the playback time of the content stored in the database through the time information.

따라서, 본 개시는 사용자가 별도 조작 없이 글래스를 착용한 상태에서 영상을 보는 것 만으로 유익한 정보를 얻을 수 있다. 예를 들어, 자동차 극장과 같은 야외 영화관에서 글래스를 착용한 상태에서 영화 자막과 소리를 글래스를 통해 보고 들을 수 있다. 또한, 박물관, 미술관 같은 전시회에서 글래스를 착용한 상태에서 작품에 대한 추가 설명이나 부가 정보를 글래스를 통해 보고 들을 수 있다.Accordingly, the present disclosure allows a user to obtain useful information simply by watching a video while wearing the glasses without any separate operation. For example, in an outdoor movie theater such as a drive-in theater, the user can see and hear movie subtitles and sounds through the glasses while wearing the glasses. In addition, in an exhibition such as a museum or art gallery, the user can see and hear additional explanations or additional information about the work through the glasses while wearing the glasses.

도 9 내지 14는 본 개시에서 복원된 비밀 메시지에 따라 제공되는 사용자 경험(UX)의 예시들을 보인 도면이다.FIGS. 9 to 14 are diagrams showing examples of user experiences (UX) provided according to secret messages restored in the present disclosure.

도 9(a)는 실시예들에 따른 영상 출력 장치(120)에서 여행 영상이 재생되는 일 예시를 보이고 있고, 도 9(b)는 도 9(a)의 영상 출력 장치(120)에서 재생 중인 여행 영상과 관련된 부가 정보가 은닉 데이터 복원 장치(130) 예, 스마트 글래스에서 디스플레이되는 일 예시를 보인 도면이다. 본 개시에서 여행 영상과 관련된 부가 정보는 여행지에 대한 지리 정보, 건축물, 교통, 숙박, 맛집 정보 등이 해당될 수 있다. FIG. 9(a) shows an example of a travel video being played on an image output device (120) according to embodiments, and FIG. 9(b) is a drawing showing an example of additional information related to a travel video being played on an image output device (120) of FIG. 9(a) being displayed on a hidden data restoration device (130), for example, smart glasses. In the present disclosure, additional information related to a travel video may include geographical information, buildings, transportation, accommodations, restaurant information, etc. for a travel destination.

예를 들어, 도 9(a)에서와 같이 영상 출력 장치(120)에서 여행 영상이 재생되고 있다고 가정할 때, 사용자는 스마트 글래스를 통해 영상 출력 장치(120)를 바라보는 것만으로, 영상 출력 장치(120)에서 재생 중인 여행 영상과 관련된 부가 정보 예를 들어, 여행 영상에 보이는 건물이나 장소(예, 관광지)의 상세 정보(또는 구체적인 정보)를 스마트 글래스를 통해 볼 수 있다. 즉, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)에서 재생 중인 여행 영상을 보면, 스마트 글래스는 영상 출력 장치(120)에서 재생 중인 여행 영상으로부터 비밀 메시지를 복원하고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및/또는 시간 정보를 인식한다. 그리고, 스마트 글래스의 이웃-오브-스크린을 통해 시간 정보에 포함된 타임스탬프에 따라 컨텐츠 식별자에 대응되는 컨텐츠(예, 관광지 상세 정보)를 데이터베이스로부터 불러와 보여준다. 아웃-오브-스크린은 스마트 글래스에서 사용자의 시야 밖에 있는 스크린을 의미한다.For example, assuming that a travel video is being played on the video output device (120) as in FIG. 9(a), the user can view additional information related to the travel video being played on the video output device (120), for example, detailed information (or specific information) of a building or place (e.g., a tourist attraction) shown in the travel video, through the smart glasses simply by looking at the video output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the travel video being played on the video output device (120), the smart glasses restore the secret message from the travel video being played on the video output device (120) and recognize the content identifier and/or time information included in the restored secret message. Then, the smart glasses retrieve and display the content (e.g., detailed information on a tourist attraction) corresponding to the content identifier from the database according to the timestamp included in the time information through the neighbor-of-screen of the smart glasses. The out-of-screen refers to a screen outside the user's field of view in the smart glasses.

이를 위해, 은닉 데이터 복원 장치(130)의 저장부(237)는 재생되는 여행 영상과 관련된 부가 정보를 저장하고 있고, 은닉 데이터 복원 장치(130)에서 복원된 비밀 메시지는 상기 재생되는 여행 영상과 관련된 부가 정보를 저장부(237)에서 추출하기 위해 컨텐츠 식별자를 포함한다. 또한, 복원된 비밀 메시지는 상기 부가 정보와 관련된 시간 정보(예, 타임스탬프)를 더 포함할 수 있다. 상기 시간 정보는 부가 정보의 재생 시작 시점, 재생 시간 또는 재생 종료 시점 등을 포함할 수 있다. 예를 들어, 스마트 글래스는 상기 시간 정보에 따라 상기 부가 정보를 비밀 메시지가 복원된 순간부터 수 초(예, 5초) 동안 디스플레이할 수 있다. 상기 부가 정보는 그림, 사진, 또는 텍스트와 같은 정지 영상일 수도 있고 또는 움직이는 동영상일 수도 있다. 또한, 상기 재생되는 여행 영상과 관련된 부가 정보가 복수개이면 컨텐츠 식별자와 시간 정보도 복수개일 수 있고, 또는 하나의 컨텐츠 식별자와 시간 정보를 기반으로 나머지 부가 정보의 컨텐츠 식별자와 시간 정보를 유추할 수도 있다. 또는 부가 정보의 개수만큼 비밀 메시지가 상기 재생되는 여행 영상에 은닉될 수도 있다.To this end, the storage unit (237) of the hidden data restoration device (130) stores additional information related to the travel video being played, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the travel video being played from the storage unit (237). In addition, the restored secret message may further include time information (e.g., a timestamp) related to the additional information. The time information may include a playback start time, a playback time, or a playback end time of the additional information. For example, the smart glasses may display the additional information for several seconds (e.g., 5 seconds) from the moment the secret message is restored according to the time information. The additional information may be a still image such as a picture, a photograph, or text, or may be a moving image. In addition, if there is a plurality of additional information related to the travel video being played, there may also be a plurality of content identifiers and time information, or the content identifiers and time information of the remaining additional information may be inferred based on one content identifier and time information. Alternatively, secret messages may be hidden in the travel video being played, as many as the number of additional information.

즉, 데이터 은닉 장치(110)의 인코더에서는 커버 비디오에 컨텐츠 식별자와 시간 정보를 포함하는 비밀 메시지를 실시간 또는 비실시간으로 삽입하여 스테고 비디오를 생성하고, 영상 출력 장치(120)는 상기 스테고 비디오를 처리하여 재생(또는 디스플레이)한다. 그리고, 은닉 데이터 복원 장치(130)에서는 영상 출력 장치(120)에서 재생 중인 스테고 비디오를 촬영하고, 디코더를 이용하여 촬영된 이미지로부터 비밀 메시지를 복원한 후, 복원된 비밀 메시지에 포함된 컨텐츠 식별자와 시간 정보를 기반으로 해당 컨텐츠를 저장부(237)로부터 가져와 출력부(239)에 표출한다.That is, the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video. Then, the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).

도 9에서 설명되지 않은 서버(140)에서 인공신경망 스테가노그래피 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 방법, 은닉 데이터 복원 장치(130)에서 영상 출력 장치의 에지를 분석하는 방법 등은 위에서 상세히 설명하였으므로, 여기서는 중복 설명을 피하기 위해 생략하기로 한다.The method of creating an encoder and decoder by applying an artificial neural network steganography deep learning model in a server (140) not described in Fig. 9, the method of analyzing the edge of an image output device in a hidden data restoration device (130), etc. have been described in detail above, so they will be omitted here to avoid redundant explanation.

도 10(a)는 실시예들에 따른 영상 출력 장치(120)에서 스포츠 경기 영상이 재생되는 일 예시를 보이고 있고, 도 10(b)는 도 10(a)의 영상 출력 장치(120)에서 재생 중인 스포츠 경기 영상과 관련된 부가 정보가 은닉 데이터 복원 장치(130) 예, 스마트 글래스에서 디스플레이되는 일 예시를 보인 도면이다. 본 개시에서 스포츠 경기 영상과 관련된 부가 정보는 스포츠 팀의 구단 정보, 리그 순위, 주전 선수 명단, 경기 주요 장면, 특정 선수의 상세 정보 등이 해당될 수 있다. FIG. 10(a) shows an example of a sports game video being played on an image output device (120) according to embodiments, and FIG. 10(b) is a diagram showing an example of additional information related to a sports game video being played on an image output device (120) of FIG. 10(a) being displayed on a hidden data restoration device (130), for example, smart glasses. In the present disclosure, additional information related to a sports game video may include information on a sports team's club, league rankings, a list of starting players, key scenes from a game, detailed information on a specific player, and the like.

예를 들어, 도 10(a)에서와 같이 영상 출력 장치(120)에서 스포츠 경기 영상이 재생되고 있다고 가정할 때, 사용자는 스마트 글래스를 통해 영상 출력 장치(120)를 바라보는 것만으로, 영상 출력 장치(120)에서 재생 중인 스포츠 경기 영상과 관련된 부가 정보 예를 들어, 해당 경기의 주요 장면이나 특정 선수의 상세 정보(또는 구체적인 정보) 등을 스마트 글래스를 통해 볼 수 있다. 즉, 사용자는 스마트 글래스를 착용하고 영상 출력 장치(120)에서 재생 중인 스포츠 경기(또는 스포츠 중계)를 보면, 스마트 글래스는 영상 출력 장치(120)에서 재생 중인 스포츠 경기 영상으로부터 비밀 메시지를 복원하고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및/또는 시간 정보를 인식한다. 그리고, 이웃-오브-스크린을 통해 상기 시간 정보에 포함된 타임스탬프에 따라 상기 컨텐츠 식별자에 의해 식별되는 컨텐츠(예, 특정 선수의 상세 정보)를 데이터베이스로부터 불러와 보여준다.For example, assuming that a sports game video is being played on the video output device (120) as in FIG. 10(a), the user can view additional information related to the sports game video being played on the video output device (120), such as key scenes of the game or detailed information (or specific information) of a specific player, through the smart glasses simply by looking at the video output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the sports game (or sports broadcast) being played on the video output device (120), the smart glasses restore the secret message from the sports game video being played on the video output device (120) and recognize the content identifier and/or time information included in the restored secret message. Then, the content (e.g., detailed information of a specific player) identified by the content identifier is retrieved from the database and displayed according to the timestamp included in the time information through the neighbor-of-screen.

이를 위해, 은닉 데이터 복원 장치(130)의 저장부(237)는 재생되는 스포츠 경기 영상과 관련된 부가 정보를 저장하고 있고, 은닉 데이터 복원 장치(130)에서 복원된 비밀 메시지는 상기 재생되는 스포츠 경기 영상과 관련된 부가 정보를 저장부(237)에서 추출하기 위해 컨텐츠 식별자를 포함한다. 또한, 복원된 비밀 메시지는 상기 부가 정보와 관련된 시간 정보(예, 타임스탬프)를 더 포함할 수 있다. 상기 시간 정보는 상기 부가 정보의 재생 시점, 재생 시간 등을 포함할 수 있다. 예를 들어, 스마트 글래스는 상기 시간 정보에 따라 상기 부가 정보를 수 초(예, 5초) 동안 디스플레이할 수 있다. 상기 부가 정보는 그림, 사진, 또는 텍스트와 같은 정지 영상일 수도 있고 또는 움직이는 동영상일 수도 있다. 또한, 상기 재생 영상과 관련된 부가 정보가 복수개이면 컨텐츠 식별자와 시간 정보도 복수개일 수 있고, 또는 하나의 컨텐츠 식별자와 시간 정보를 기반으로 나머지 부가 정보의 컨텐츠 식별자와 시간 정보를 유추할 수도 있다. 또는 부가 정보의 개수만큼 비밀 메시지가 상기 재생되는 스포츠 경기 영상에 은닉될 수도 있다.To this end, the storage unit (237) of the hidden data restoration device (130) stores additional information related to the sports game video being played, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the sports game video being played from the storage unit (237). In addition, the restored secret message may further include time information (e.g., a timestamp) related to the additional information. The time information may include a playback time, a playback time, etc. of the additional information. For example, the smart glasses may display the additional information for several seconds (e.g., 5 seconds) according to the time information. The additional information may be a still image such as a picture, a photograph, or text, or may be a moving image. In addition, if there is a plurality of additional information related to the played video, there may also be a plurality of content identifiers and time information, or the content identifiers and time information of the remaining additional information may be inferred based on one content identifier and time information. Alternatively, secret messages could be hidden in the sports game footage being played, as long as there is additional information.

즉, 데이터 은닉 장치(110)의 인코더에서는 커버 비디오에 컨텐츠 식별자와 시간 정보를 포함하는 비밀 메시지를 실시간 또는 비실시간으로 삽입하여 스테고 비디오를 생성하고, 영상 출력 장치(120)는 상기 스테고 비디오를 처리하여 재생(또는 디스플레이)한다. 그리고, 은닉 데이터 복원 장치(130)에서는 영상 출력 장치(120)에서 재생 중인 스테고 비디오를 촬영하고, 디코더를 이용하여 촬영된 이미지로부터 비밀 메시지를 복원한 후, 복원된 비밀 메시지에 포함된 컨텐츠 식별자와 시간 정보를 기반으로 해당 컨텐츠를 저장부(237)로부터 가져와 출력부(239)에 표출한다.That is, the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video. Then, the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).

도 10에서 설명되지 않은 서버(140)에서 인공신경망 스테가노그래피 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 방법, 은닉 데이터 복원 장치(130)에서 영상 출력 장치의 에지를 분석하는 방법 등은 위에서 상세히 설명하였으므로, 여기서는 중복 설명을 피하기 위해 생략하기로 한다.The method of creating an encoder and decoder by applying an artificial neural network steganography deep learning model in a server (140) not described in Fig. 10, the method of analyzing the edge of an image output device in a hidden data restoration device (130), etc. have been described in detail above, so they will be omitted here to avoid redundant explanation.

도 11(a)는 실시예들에 따른 영상 출력 장치(120)에서 뮤직 비디오 영상이 재생되는 일 예시를 보이고 있고, 도 11(b)는 도 11(a)의 영상 출력 장치(120)에서 재생 중인 뮤직 비디오와 관련된 부가 정보가 은닉 데이터 복원 장치(130) 예, 스마트 글래스에서 디스플레이되는 일 예시를 보인 도면이다. 본 개시에서 뮤직 비디오와 관련된 부가 정보는 소속사 정보, 그룹 멤버 소개, 공연 소식, 노래 가사 자막 정보 등이 해당될 수 있다.FIG. 11(a) shows an example of a music video being played on an image output device (120) according to embodiments, and FIG. 11(b) is a diagram showing an example of additional information related to a music video being played on an image output device (120) of FIG. 11(a) being displayed on a hidden data restoration device (130), for example, smart glasses. In the present disclosure, additional information related to a music video may include information on an affiliated company, introduction of group members, performance news, song lyric subtitle information, and the like.

예를 들어, 도 11(a)에서와 같이 영상 출력 장치(120)에서 아이돌 걸 그룹의 뮤직 비디오가 재생되고 있다고 가정할 때, 사용자는 스마트 글래스를 통해 영상 출력 장치(120)를 바라보는 것만으로, 영상 출력 장치(120)에서 재생 중인 뮤직 비디오와 관련된 부가 정보 예를 들어, 특정 멤버의 상세 정보(또는 구체적인 정보), 뮤직 비디오의 노래 가사 자막 정보 등을 스마트 글래스를 통해 볼 수 있다. 즉, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)에서 재생 중인 뮤직 비디오를 보면, 스마트 글래스는 영상 출력 장치(120)에서 재생 중인 뮤직 비디오로부터 비밀 메시지를 복원하고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및/또는 시간 정보를 인식한다. 그리고, 이웃-오브-스크린을 통해 상기 시간 정보에 포함된 타임스탬프에 따라 상기 컨텐츠 식별자에 대응되는 컨텐츠(예, 뮤직 비디오의 노래 가사 자막 정보)를 보여준다. 만일, 노래 가사 자막 정보가 디스플레이된다면, 노래 가사는 영상 출력 장치(120)에서 재생 중인 뮤직 비디오의 노래와 동기되어 디스플레이될 수 있다.For example, assuming that a music video of an idol girl group is being played on the video output device (120) as in FIG. 11(a), the user can view additional information related to the music video being played on the video output device (120), such as detailed information (or specific information) of a specific member, song lyric subtitle information of the music video, etc., through the smart glasses simply by looking at the video output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the music video being played on the video output device (120), the smart glasses restore the secret message from the music video being played on the video output device (120) and recognize the content identifier and/or time information included in the restored secret message. Then, the smart glasses display the content (e.g., song lyric subtitle information of the music video) corresponding to the content identifier according to the timestamp included in the time information through the neighbor-of-screen. If the song lyric subtitle information is displayed, the song lyrics can be displayed in synchronization with the song of the music video being played on the video output device (120).

이를 위해, 은닉 데이터 복원 장치(130)의 저장부(237)는 재생되는 뮤직 비디오 영상과 관련된 부가 정보를 저장하고 있고, 은닉 데이터 복원 장치(130)에서 복원된 비밀 메시지는 상기 재생되는 뮤직 비디오 영상과 관련된 부가 정보를 저장부(237)에서 추출하기 위해 컨텐츠 식별자를 포함한다. 또한, 복원된 비밀 메시지는 상기 부가 정보와 관련된 시간 정보(예, 타임스탬프)를 더 포함할 수 있다. 상기 시간 정보는 상기 부가 정보의 재생 시점, 재생 시간 등을 포함할 수 있다. 상기 부가 정보는 그림, 사진, 또는 텍스트와 같은 정지 영상일 수도 있고 또는 움직이는 동영상일 수도 있다. 또한, 상기 재생 영상과 관련된 부가 정보가 복수개이면 컨텐츠 식별자와 시간 정보도 복수개일 수 있고, 또는 하나의 컨텐츠 식별자와 시간 정보를 기반으로 나머지 부가 정보의 컨텐츠 식별자와 시간 정보를 유추할 수도 있다. 또는 부가 정보의 개수만큼 비밀 메시지가 상기 재생되는 뮤직 비디오 영상에 은닉될 수도 있다.To this end, the storage unit (237) of the hidden data restoration device (130) stores additional information related to the music video being played, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the music video being played from the storage unit (237). In addition, the restored secret message may further include time information (e.g., a timestamp) related to the additional information. The time information may include a playback time, a playback time, etc. of the additional information. The additional information may be a still image such as a picture, a photograph, or text, or may be a moving image. In addition, if there is a plurality of additional information related to the played image, the content identifier and the time information may also be a plurality, or the content identifier and the time information of the remaining additional information may be inferred based on one content identifier and the time information. Alternatively, as many secret messages as the number of additional information may be hidden in the music video being played.

즉, 데이터 은닉 장치(110)의 인코더에서는 커버 비디오에 컨텐츠 식별자와 시간 정보를 포함하는 비밀 메시지를 실시간 또는 비실시간으로 삽입하여 스테고 비디오를 생성하고, 영상 출력 장치(120)는 상기 스테고 비디오를 처리하여 재생(또는 디스플레이)한다. 그리고, 은닉 데이터 복원 장치(130)에서는 영상 출력 장치(120)에서 재생 중인 스테고 비디오를 촬영하고, 디코더를 이용하여 촬영된 이미지로부터 비밀 메시지를 복원한 후, 복원된 비밀 메시지에 포함된 컨텐츠 식별자와 시간 정보를 기반으로 해당 컨텐츠를 저장부(237)로부터 가져와 출력부(239)에 표출한다.That is, the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video. Then, the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).

도 11에서 설명되지 않은 서버(140)에서 인공신경망 스테가노그래피 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 방법, 은닉 데이터 복원 장치(130)에서 영상 출력 장치의 에지를 분석하는 방법 등은 위에서 상세히 설명하였으므로, 여기서는 중복 설명을 피하기 위해 생략하기로 한다.The method of creating an encoder and decoder by applying an artificial neural network steganography deep learning model in a server (140) not described in Fig. 11, the method of analyzing the edge of an image output device in a hidden data restoration device (130), etc. have been described in detail above, so they will be omitted here to avoid redundant explanation.

도 12(a)는 실시예들에 따른 영상 출력 장치(120)에서 드라마가 재생되는 일 예시를 보이고 있고, 도 12(b)는 도 12(a)의 영상 출력 장치(120)에서 재생 중인 드라마와 관련된 부가 정보가 은닉 데이터 복원 장치(130) 예, 스마트 글래스에서 디스플레이되는 일 예시를 보인 도면이다. 본 개시에서 드라마와 관련된 부가 정보는 특정 배우의 상세 정보, 특정 배우가 착용한 옷, 액세서리, 신발 등과 같은 제품 광고 정보 등이 해당될 수 있다. FIG. 12(a) shows an example of a drama being played on an image output device (120) according to embodiments, and FIG. 12(b) is a diagram showing an example of additional information related to a drama being played on an image output device (120) of FIG. 12(a) being displayed on a hidden data restoration device (130), for example, smart glasses. In the present disclosure, additional information related to a drama may correspond to detailed information on a specific actor, product advertisement information such as clothes, accessories, and shoes worn by a specific actor, and the like.

예를 들어, 도 12(a)에서와 같이 영상 출력 장치(120)에서 드라마가 재생되고 있다고 가정할 때, 사용자는 스마트 글래스를 통해 영상 출력 장치(120)를 바라보는 것만으로, 영상 출력 장치(120)에서 재생 중인 드라마와 관련된 부가 정보 예를 들어, 특정 배우가 착용한 선글라스의 구매 정보, 특정 배우의 상세 정보(또는 구체적인 정보) 등을 스마트 글래스를 통해 볼 수 있다. 즉, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)에서 재생 중인 드라마를 보면, 스마트 글래스는 영상 출력 장치(120)에서 재생 중인 드라마 영상으로부터 비밀 메시지를 복원하고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및/또는 시간 정보를 인식한다. 그리고, 이웃-오브-스크린을 통해 시간 정보에 포함된 타임스탬프에 따라 컨텐츠 식별자에 대응되는 컨텐츠(예, 특정 배우가 착용한 제품의 구매 정보)를 보여준다. 예를 들면, 제품의 구매 정보는 제품의 가격, 제품의 이미지, 제품을 구매할 수 있는 링크 정보 등을 포함할 수 있으며, 사용자가 디스플레이 중인 부가 정보를 선택하면 해당 제품의 쇼핑몰로 이동할 수 있다. For example, assuming that a drama is being played on the image output device (120) as in Fig. 12(a), the user can view additional information related to the drama being played on the image output device (120), such as purchase information on sunglasses worn by a specific actor, detailed information (or specific information) of a specific actor, etc., through the smart glasses, simply by looking at the image output device (120) through the smart glasses. That is, when the user wears the smart glasses and watches the drama being played on the image output device (120), the smart glasses restore a secret message from the drama video being played on the image output device (120) and recognize a content identifier and/or time information included in the restored secret message. Then, the smart glasses display content (e.g., purchase information on a product worn by a specific actor) corresponding to the content identifier according to a timestamp included in the time information through the neighbor-of-screen. For example, the purchase information on a product may include a price of the product, an image of the product, link information for purchasing the product, etc., and when the user selects the additional information being displayed, the user can move to the shopping mall for the corresponding product.

이를 위해, 은닉 데이터 복원 장치(130)의 저장부(237)는 재생되는 드라마 영상과 관련된 부가 정보를 저장하고 있고, 은닉 데이터 복원 장치(130)에서 복원된 비밀 메시지는 상기 재생되는 드라마 영상과 관련된 부가 정보를 저장부(237)에서 추출하기 위해 컨텐츠 식별자를 포함한다. 또한, 복원된 비밀 메시지는 상기 부가 정보와 관련된 시간 정보(예, 타임스탬프)를 더 포함할 수 있다. 상기 시간 정보는 상기 부가 정보의 재생 시점, 재생 시간 등을 포함할 수 있다. 예를 들어, 스마트 글래스는 상기 시간 정보에 따라 상기 부가 정보를 수 초(예, 5 초) 동안 디스플레이할 수 있다. 상기 부가 정보는 그림, 사진, 또는 텍스트와 같은 정지 영상일 수도 있고 또는 움직이는 동영상일 수도 있다. 또한, 상기 재생 영상과 관련된 부가 정보가 복수개이면 컨텐츠 식별자와 시간 정보도 복수개일 수 있고, 또는 하나의 컨텐츠 식별자와 시간 정보를 기반으로 나머지 부가 정보의 컨텐츠 식별자와 시간 정보를 유추할 수도 있다. 또는 부가 정보의 개수만큼 비밀 메시지가 상기 재생되는 드라마 영상에 은닉될 수도 있다.To this end, the storage unit (237) of the hidden data restoration device (130) stores additional information related to the drama video being played, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the drama video being played from the storage unit (237). In addition, the restored secret message may further include time information (e.g., a timestamp) related to the additional information. The time information may include a playback time, a playback time, etc. of the additional information. For example, the smart glass may display the additional information for several seconds (e.g., 5 seconds) according to the time information. The additional information may be a still image such as a picture, a photograph, or text, or may be a moving image. In addition, if there is a plurality of additional information related to the playback video, the content identifier and the time information may also be a plurality, or the content identifier and the time information of the remaining additional information may be inferred based on one content identifier and the time information. Alternatively, the number of secret messages may be hidden in the drama video being played as many as the number of additional information.

즉, 데이터 은닉 장치(110)의 인코더에서는 커버 비디오에 컨텐츠 식별자와 시간 정보를 포함하는 비밀 메시지를 실시간 또는 비실시간으로 삽입하여 스테고 비디오를 생성하고, 영상 출력 장치(120)는 상기 스테고 비디오를 처리하여 재생(또는 디스플레이)한다. 그리고, 은닉 데이터 복원 장치(130)에서는 영상 출력 장치(120)에서 재생 중인 스테고 비디오를 촬영하고, 디코더를 이용하여 촬영된 이미지로부터 비밀 메시지를 복원한 후, 복원된 비밀 메시지에 포함된 컨텐츠 식별자와 시간 정보를 기반으로 해당 컨텐츠를 저장부(237)로부터 가져와 출력부(239)에 표출한다.That is, the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video. Then, the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).

도 12에서 설명되지 않은 서버(140)에서 인공신경망 스테가노그래피 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 방법, 은닉 데이터 복원 장치(130)에서 영상 출력 장치의 에지를 분석하는 방법 등은 위에서 상세히 설명하였으므로, 여기서는 중복 설명을 피하기 위해 생략하기로 한다.The method of creating an encoder and decoder by applying an artificial neural network steganography deep learning model in a server (140) not described in Fig. 12, the method of analyzing the edge of an image output device in a hidden data restoration device (130), etc. have been described in detail above, so they will be omitted here to avoid redundant explanation.

도 13(a)는 실시예들에 따른 영상 출력 장치(120)에서 홈쇼핑 또는 광고가 재생되는 일 예시를 보이고 있고, 도 13(b)는 도 13(a)의 영상 출력 장치(120)에서 재생 중인 홈쇼핑 또는 광고와 관련된 부가 정보가 은닉 데이터 복원 장치(130) 예, 스마트 글래스에서 디스플레이되는 일 예시를 보인 도면이다. 본 개시에서 영상 출력 장치(120)는 홈쇼핑 또는 광고(예, 예능/스포츠 브레이크 타임에 재생되는 지상파 광고 방송) 등을 재생할 수 있고, 홈쇼핑 또는 광고와 관련된 부가 정보는 재생 중인 홈쇼핑 제품 또는 광고 제품의 상세 정보나 해당 제품의 할인 쿠폰(또는 할인 코드), 구매 링크 정보 등이 해당될 수 있다. FIG. 13(a) shows an example of a home shopping or advertisement being played on an image output device (120) according to embodiments, and FIG. 13(b) is a diagram showing an example of a home shopping or advertisement being played on an image output device (120) of FIG. 13(a) being displayed on a hidden data restoration device (130), for example, smart glasses. In the present disclosure, the image output device (120) can play home shopping or an advertisement (for example, a terrestrial advertisement played during a variety/sports break time), and the additional information related to the home shopping or advertisement may correspond to detailed information on the home shopping product or advertisement product being played, a discount coupon (or discount code) for the product, purchase link information, and the like.

예를 들어, 도 13(a)에서와 같이 영상 출력 장치(120)에서 광고(예, 엘지의 오브제 건조기)가 재생되고 있다고 가정할 때, 사용자는 스마트 글래스를 통해 영상 출력 장치(120)를 바라보는 것만으로, 영상 출력 장치(120)에서 재생 중인 광고와 관련된 부가 정보 즉, 광고 중인 오브제 건조기의 할인 쿠폰(또는 할인 코드), 구매 링크 정보 등을 스마트 글래스를 통해 볼 수 있다. 즉, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)에서 재생 중인 광고를 보면, 스마트 글래스는 영상 출력 장치(120)에서 재생 중인 광고 영상으로부터 비밀 메시지를 복원하고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및/또는 시간 정보를 인식한다. 그리고, 이웃-오브-스크린을 통해 시간 정보에 포함된 타임스탬프에 따라 컨텐츠 식별자에 대응되는 컨텐츠(예, 광고 중인 제품의 할인 쿠폰이나 할인 코드, 구매 링크 정보)를 보여준다. 예를 들면, 사용자가 스마트 글래스를 통해 구매 링크 정보를 선택하면, 해당 제품의 쇼핑몰로 이동할 수 있고, 해당 쇼핑몰에서 해당 제품을 구매할 때 부가 정보로 제공되었던 할인 쿠폰(또는 할인 코드)을 사용할 수 있다. 즉, 할인 쿠폰(또는 할인 코드)는 스마트 글래스를 통해서만 제공할 수 있다. 이와 같이, 본 개시는 홈쇼핑이나 광고 방송 중 특별 할인 코드가 삽입된 프로모션을 진행할 수 있다. 따라서, 스마트 글래스를 판매하는 회사의 경우 프로모션을 적용 받기 위한 스마트 글래스의 판매 수요가 증가할 수 있으며, 한시적인 마케팅 포인트로 활용 가능하다. 또한, 홈쇼핑/스포츠 중계시 할인 코드가 언제 노출될 지 모르기 때문에 시청자가 해당 채널을 고정하는 효과를 얻을 수 있다. 즉, 시청률 상승 효과를 얻을 수 있다. For example, assuming that an advertisement (e.g., LG's object dryer) is being played on the image output device (120) as in FIG. 13(a), the user can view additional information related to the advertisement being played on the image output device (120), such as a discount coupon (or discount code) for the object dryer being advertised, purchase link information, etc., through the smart glasses simply by looking at the image output device (120) through the smart glasses. That is, when the user wears the smart glasses and views the advertisement being played on the image output device (120), the smart glasses restore the secret message from the advertisement video being played on the image output device (120) and recognize the content identifier and/or time information included in the restored secret message. Then, the smart glasses display the content (e.g., a discount coupon or discount code for the product being advertised, purchase link information) corresponding to the content identifier according to the timestamp included in the time information through the neighbor-of-screen. For example, if a user selects purchase link information through smart glasses, he or she can move to the shopping mall for the corresponding product and use the discount coupon (or discount code) provided as additional information when purchasing the corresponding product at the shopping mall. In other words, the discount coupon (or discount code) can only be provided through smart glasses. In this way, the present disclosure can conduct a promotion with a special discount code inserted during home shopping or commercial broadcasting. Accordingly, in the case of a company selling smart glasses, the sales demand for smart glasses to apply the promotion can increase, and it can be utilized as a temporary marketing point. In addition, since it is not known when the discount code will be exposed during home shopping/sports broadcasting, the effect of viewers fixating on the corresponding channel can be obtained. In other words, the effect of increasing viewership can be obtained.

이를 위해, 은닉 데이터 복원 장치(130)의 저장부(237)는 재생되는 홈쇼핑/광고 영상과 관련된 부가 정보를 저장하고 있고, 은닉 데이터 복원 장치(130)에서 복원된 비밀 메시지는 상기 부가 정보를 저장부(237)에서 추출하기 위해 컨텐츠 식별자를 포함한다. 또한, 복원된 비밀 메시지는 상기 부가 정보와 관련된 시간 정보(예, 타임스탬프)를 더 포함할 수 있다. 상기 시간 정보는 재생 영상과 관련된 부가 정보의 재생 시점, 재생 시간 등을 포함할 수 있다. 상기 부가 정보는 그림, 사진, 또는 텍스트와 같은 정지 영상일 수도 있고 또는 움직이는 동영상일 수도 있다. 또한, 상기 재생 영상과 관련된 부가 정보가 복수개이면 컨텐츠 식별자와 시간 정보도 복수개일 수 있고, 또는 하나의 컨텐츠 식별자와 시간 정보를 기반으로 나머지 부가 정보의 컨텐츠 식별자와 시간 정보를 유추할 수도 있다. 또는 부가 정보의 개수만큼 비밀 메시지가 상기 재생되는 홈쇼핑/광고 영상에 은닉될 수도 있다.To this end, the storage unit (237) of the hidden data restoration device (130) stores additional information related to the home shopping/advertisement video being played, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information from the storage unit (237). In addition, the restored secret message may further include time information (e.g., a timestamp) related to the additional information. The time information may include a playback time, a playback time, etc. of the additional information related to the played video. The additional information may be a still image such as a picture, a photograph, or text, or may be a moving video. In addition, if there is a plurality of additional information related to the played video, the content identifier and the time information may also be a plurality, or the content identifier and the time information of the remaining additional information may be inferred based on one content identifier and the time information. Alternatively, as many secret messages as the number of additional information may be hidden in the home shopping/advertisement video being played.

즉, 데이터 은닉 장치(110)의 인코더에서는 커버 비디오에 컨텐츠 식별자와 시간 정보를 포함하는 비밀 메시지를 실시간 또는 비실시간으로 삽입하여 스테고 비디오를 생성하고, 영상 출력 장치(120)는 상기 스테고 비디오를 처리하여 재생(또는 디스플레이)한다. 그리고, 은닉 데이터 복원 장치(130)에서는 영상 출력 장치(120)에서 재생 중인 스테고 비디오를 촬영하고, 디코더를 이용하여 촬영된 이미지로부터 비밀 메시지를 복원한 후, 복원된 비밀 메시지에 포함된 컨텐츠 식별자와 시간 정보를 기반으로 해당 컨텐츠를 저장부(237)로부터 가져와 출력부(239)에 표출한다.That is, the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video. Then, the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).

도 13에서 설명되지 않은 서버(140)에서 인공신경망 스테가노그래피 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 방법, 은닉 데이터 복원 장치(130)에서 영상 출력 장치의 에지를 분석하는 방법 등은 위에서 상세히 설명하였으므로, 여기서는 중복 설명을 피하기 위해 생략하기로 한다.The method of creating an encoder and decoder by applying an artificial neural network steganography deep learning model in a server (140) not described in Fig. 13, the method of analyzing the edge of an image output device in a hidden data restoration device (130), etc. have been described in detail above, so they will be omitted here to avoid redundant explanation.

도 14(a) 내지 도 14(d)에서 영상 출력 장치(120)는 지하철 내, 건물 옥외, 지하철 역, 버스 정류장, 공항, 터미널, 쇼핑몰 등에 설치되는 디지털 사이니지일 수 있다. 디지털 사이니지는 디지털 디스플레이 기술을 사용하여 정보를 표시하는 장치로서, 주로 광고, 정보 전달, 상업적 목적, 브랜드 홍보 등을 목적으로 정지 영상 또는 동영상을 재생한다.The image output device (120) in FIGS. 14(a) to 14(d) may be a digital signage installed in a subway, outdoors of a building, a subway station, a bus stop, an airport, a terminal, a shopping mall, etc. Digital signage is a device that displays information using digital display technology, and mainly plays still images or moving images for the purpose of advertising, information delivery, commercial purposes, brand promotion, etc.

도 14(a) 내지 도 14(d)와 같이 디지털 사이니지에서 광고가 재생될 때, 스마트 글래스를 착용한 사용자가 그 광고를 보게 되면 그 광고와 관련된 부가 정보가 스마트 글래스를 통해 디스플레이될 수 있다. 예를 들어, 버스 정류장, 지하철, 터미널, 공항 등에 설치된 디지털 사이니지 화면에 광고 영상이 재생될 때, 사용자가 스마트 글래스를 착용한 상태로 길을 지나다가 그 광고 영상을 보게 되면, 그 광고와 관련된 부가 정보가 스마트 글래스 스크린에 디스플레이되고 및/또는 광고 소리가 스마트 글래스를 통해 들릴 수 있다.When an advertisement is played on a digital signage as shown in FIGS. 14(a) to 14(d), if a user wearing smart glasses sees the advertisement, additional information related to the advertisement may be displayed through the smart glasses. For example, when an advertisement video is played on a digital signage screen installed at a bus stop, subway, terminal, airport, etc., if a user wearing smart glasses passes by and sees the advertisement video, additional information related to the advertisement may be displayed on the smart glasses screen and/or the advertisement sound may be heard through the smart glasses.

즉, 사용자가 스마트 글래스를 착용하고 영상 출력 장치(120)에서 재생 중인 광고를 보면, 스마트 글래스는 영상 출력 장치(120)에서 재생 중인 광고 영상으로부터 비밀 메시지를 복원하고, 복원된 비밀 메시지에 포함된 컨텐츠 식별자 및/또는 시간 정보를 인식한다. 그리고, 이웃-오브-스크린을 통해 시간 정보에 포함된 타임스탬프에 따라 컨텐츠 식별자에 대응되는 컨텐츠(예, 광고 중인 제품과 관련된 구매 링크 정보)를 보여준다. 이때, 사용자가 스마트 글래스를 통해 구매 링크 정보를 선택하면, 해당 제품의 쇼핑몰로 이동할 수 있다. That is, when a user wears smart glasses and watches an advertisement being played on an image output device (120), the smart glasses restore a secret message from the advertisement video being played on the image output device (120) and recognize a content identifier and/or time information included in the restored secret message. Then, the smart glasses display content corresponding to the content identifier (e.g., purchase link information related to the advertised product) according to a timestamp included in the time information through neighbors-of-screen. At this time, when the user selects the purchase link information through the smart glasses, the user can move to the shopping mall for the corresponding product.

예를 들어, 스마트 글래스는 비밀 메시지에 포함된 시간 정보를 참조하여 사용자가 디지털 사이니지에서 재생 중인 광고 영상을 보기 시작한 시점부터 일정 시간 후에 비밀 메시지에 포함된 컨텐츠 식별자에 해당하는 컨텐츠를 디스플레이할 수 있다. For example, smart glasses can display content corresponding to a content identifier included in a secret message a certain amount of time after the user starts watching an advertisement video playing on a digital signage by referencing the time information included in the secret message.

이를 위해, 은닉 데이터 복원 장치(130)의 저장부(237)는 재생 영상과 관련된 부가 정보를 저장하고 있고, 은닉 데이터 복원 장치(130)에서 복원된 비밀 메시지는 상기 재생 영상과 관련된 부가 정보를 저장부(237)에서 추출하기 위해 컨텐츠 식별자를 포함한다. 또한, 복원된 비밀 메시지는 상기 재생 영상과 관련된 부가 정보와 관련된 시간 정보(예, 타임스탬프)를 더 포함할 수 있다. 상기 시간 정보는 재생 영상과 관련된 부가 정보의 재생 시점, 재생 시간 등을 포함할 수 있다. 예를 들어, 스마트 글래스는 상기 시간 정보에 따라 상기 재생 영상을 보기 시작한 시점부터 10초 정도 후에 상기 재생 영상과 관련된 부가 정보를 디스플레이할 수 있다. 상기 부가 정보는 그림, 사진, 또는 텍스트와 같은 정지 영상일 수도 있고 또는 움직이는 동영상일 수도 있다. 또한, 상기 재생 영상과 관련된 부가 정보가 복수개이면 컨텐츠 식별자와 시간 정보도 복수개일 수 있고, 또는 하나의 컨텐츠 식별자와 시간 정보를 기반으로 나머지 부가 정보의 컨텐츠 식별자와 시간 정보를 유추할 수도 있다.To this end, the storage unit (237) of the hidden data restoration device (130) stores additional information related to the playback video, and the secret message restored by the hidden data restoration device (130) includes a content identifier to extract the additional information related to the playback video from the storage unit (237). In addition, the restored secret message may further include time information (e.g., a timestamp) related to the additional information related to the playback video. The time information may include a playback time, a playback time, etc. of the additional information related to the playback video. For example, the smart glasses may display the additional information related to the playback video about 10 seconds after the time from when the playback video is started to be viewed according to the time information. The additional information may be a still image such as a picture, a photograph, or text, or may be a moving video. In addition, if there is a plurality of additional information related to the playback video, there may also be a plurality of content identifiers and time information, or the content identifiers and time information of the remaining additional information may be inferred based on one content identifier and time information.

즉, 데이터 은닉 장치(110)의 인코더에서는 커버 비디오에 컨텐츠 식별자와 시간 정보를 포함하는 비밀 메시지를 실시간 또는 비실시간으로 삽입하여 스테고 비디오를 생성하고, 영상 출력 장치(120)는 상기 스테고 비디오를 처리하여 재생(또는 디스플레이)한다. 그리고, 은닉 데이터 복원 장치(130)에서는 영상 출력 장치(120)에서 재생 중인 스테고 비디오를 촬영하고, 디코더를 이용하여 촬영된 이미지로부터 비밀 메시지를 복원한 후, 복원된 비밀 메시지에 포함된 컨텐츠 식별자와 시간 정보를 기반으로 해당 컨텐츠를 저장부(237)로부터 가져와 출력부(239)에 표출한다.That is, the encoder of the data hiding device (110) inserts a secret message including a content identifier and time information into the cover video in real time or non-real time to generate a stego video, and the image output device (120) processes and plays (or displays) the stego video. Then, the hidden data restoration device (130) captures the stego video being played in the image output device (120), restores the secret message from the captured image using a decoder, and then retrieves the corresponding content from the storage unit (237) based on the content identifier and time information included in the restored secret message and displays it on the output unit (239).

도 14에서 설명되지 않은 서버(140)에서 인공신경망 스테가노그래피 딥러닝 모델을 적용하여 인코더와 디코더를 만드는 방법, 은닉 데이터 복원 장치(130)에서 영상 출력 장치의 에지를 분석하는 방법 등은 위에서 상세히 설명하였으므로, 여기서는 중복 설명을 피하기 위해 생략하기로 한다.The method of creating an encoder and decoder by applying an artificial neural network steganography deep learning model in a server (140) not described in Fig. 14, the method of analyzing the edge of an image output device in a hidden data restoration device (130), etc. have been described in detail above, so they will be omitted here to avoid redundant explanation.

이상에서와 같이 본 개시는 다양한 기기의 카메라를 통해 영상 출력 장치에서 재생(또는 디스플레이) 중인 동영상을 촬영하고, 촬영된 동영상의As described above, the present disclosure captures a video being played (or displayed) on a video output device through a camera of various devices, and

이미지로부터 비밀 메시지(즉, 스테가노그래피 데이터)를 추출할 수 있으므로, 동영상을 보는 즉시 비밀 메시지를 복원하는 디코딩이 필요한 AR 디바이스에 적합하다.Since it can extract secret messages (i.e. steganographic data) from images, it is suitable for AR devices that require decoding to restore secret messages immediately after viewing the video.

또한, 본 개시에서는 각 프레임 별로 서로 다른 비밀 메시지의 삽입이 가능하고, 각 프레임의 디코딩은 서로 독립적으로 동작하므로 시청 중인 프레임별로 맞춤형 사용자 경험(UX)를 제공할 수 있다. 특히, 비밀 메시지의 삽입 및 복원은 인공신경망 딥러닝 모델을 기반으로 수행하므로, 학습 과정에서 다양한 압축률을 사용한 손실 압축을 시행할 수 있고, 이로 인해 이미지가 압축되더라도 비밀 메시지의 추출이 가능하다.In addition, since the present disclosure allows insertion of different secret messages for each frame and decoding of each frame operates independently, a customized user experience (UX) can be provided for each frame being viewed. In particular, since the insertion and restoration of secret messages are performed based on an artificial neural network deep learning model, lossy compression using various compression ratios can be performed during the learning process, and thus, even if the image is compressed, extraction of the secret message is possible.

그리고, 은닉 데이터 복원 장치 예, 글래스의 카메라를 통해 촬영한 영상으로부터 스테고 이미지를 인식하기 위해, 영상 출력 장치(예, TV)의 인식, 해당 장치로부터 스테고 이미지 영역의 추출, 카메라 장치와 주변 환경의 왜곡을 고려한 학습을 실시함으로써, 스테고 이미지가 왜곡되더라도 비밀 메시지의 추출이 가능하다.And, in order to recognize a stego image from an image captured through the camera of the glass, for example, a hidden data restoration device, recognition of an image output device (e.g., TV), extraction of a stego image area from the device, and learning that takes into account the distortion of the camera device and the surrounding environment are performed, so that extraction of a secret message is possible even if the stego image is distorted.

또한, 커버 비디오에 비밀 메시지를 삽입하는 방법에 있어, 눈에 보이는 마커를 사용하지 않고 인공 신경망 학습에 기반한 딥러닝 모델을 사용하기 때문에 영상 자체에 눈에 보이지 않는 비밀 메시지를 삽입할 수 있다. 따라서 커버 비디오와 비밀 메시지가 삽입된 스테고 비디오와의 차이를 인지함에 있어, 마커에 비해 월등히 비인지성이 우수하다. 그리고, 시청 중인 영상으로부터 비밀 메시지를 획득함에 있어 영상 자체에 비밀 메시지가 삽입되기 때문에 카메라를 장착한 기기가 서버와의 통신이 필요 없으며, 방송중인 영상만이 아니라 저장된 형태의 비디오, 스트리밍 비디오, 라이브 방송에 모두 적용 가능하다.In addition, since a deep learning model based on artificial neural network learning is used without using visible markers for the method of inserting a secret message into the cover video, an invisible secret message can be inserted into the video itself. Therefore, the non-recognition ability is far superior to that of markers in recognizing the difference between the cover video and the stego video with the secret message inserted. In addition, since the secret message is inserted into the video itself when obtaining the secret message from the video being watched, the device equipped with the camera does not need to communicate with the server, and it can be applied not only to the video being broadcast but also to the stored video, streaming video, and live broadcast.

이와 같이 본 개시는 커버 영상에 눈에 보이지 않는 비밀 메시지를 인공 신경망 딥러닝 모델을 사용하여 은닉(encoding)하고, AR 글래스와 같은 스마트 글래스에서 카메라를 통해서 전달된 스테고 영상으로부터 비밀 메시지를 인공신경망 딥러닝 모델을 사용하여 복원(decoding)한다. 따라서, 본 개시는 로컬에 저장된 비디오 뿐만 아니라 스트리밍 비디오, 라이브 방송에도 비밀 메시지를 은닉한 후 스마트 글래스를 통해 복원할 수 있으며, 메타버스 기기 간 다양한 UX를 제공할 수 있다. In this way, the present disclosure encodes an invisible secret message in a cover image using an artificial neural network deep learning model, and decodes the secret message from a stego image transmitted through a camera in smart glasses such as AR glasses using the artificial neural network deep learning model. Accordingly, the present disclosure can hide a secret message in not only a locally stored video but also a streaming video and a live broadcast, and then restore the same through smart glasses, and can provide various UXs between metaverse devices.

전술한 각각의 파트, 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 소프트웨어, 프로세서, 하드웨어 파트일 수 있다. 전술한 실시예에 기술된 각 단계들은 프로세서, 소프트웨어, 하드웨어 파트들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 프로세서, 소프트웨어, 하드웨어로서 동작할 수 있다. 또한, 실시예들이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다. Each of the parts, modules or units described above may be software, processor or hardware parts that execute sequential execution processes stored in a memory (or storage unit). Each of the steps described in the above-described embodiments may be performed by processor, software or hardware parts. Each of the modules/blocks/units described in the above-described embodiments may operate as a processor, software or hardware. In addition, the methods presented in the embodiments may be executed as code. The code may be written in a processor-readable storage medium and thus may be read by a processor provided by an apparatus.

본 명세서는 설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 개시의 권리범위에 속한다. Although this specification has described each drawing separately for convenience of explanation, it is also possible to design a new embodiment by combining the embodiments described in each drawing. In addition, designing a computer-readable recording medium in which a program for executing the previously described embodiments is recorded according to the needs of a person skilled in the art is also within the scope of the present disclosure.

본 개시에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. The device and method according to the present disclosure are not limited to the configuration and method of the embodiments described above, but the embodiments may be configured by selectively combining all or part of the embodiments so that various modifications can be made.

본 개시에서 제1, 제2 등과 같은 용어는 본 개시의 다양한 구성요소들을 설명하기 위해 사용될 수 있다. 하지만 본 개시에 따른 다양한 구성요소들은 위 용어들에 의해 해석이 제한되어서는 안 된다. 이러한 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것에 불과하다. 예를 들어, 제1 사용자 인풋 시그널은 제2 사용자 인풋 시그널로 지칭될 수 있다. 이와 유사하게, 제2 사용자 인풋 시그널은 제1 사용자 인풋 시그널로 지칭될 수 있다. 이러한 용어의 사용은 다양한 실시예들의 범위 내에서 벗어나지 않는 것으로 해석되어야만 한다. 제1 사용자 인풋 시그널 및 제2 사용자 인풋 시그널은 모두 사용자 인풋 시그널들이지만, 문맥 상 명확하게 나타내지 않는 한 동일한 사용자 인풋 시그널들을 의미하지 않는다.In this disclosure, terms such as first, second, etc. may be used to describe various components of the present disclosure. However, the various components according to the present disclosure should not be limited in interpretation by the above terms. These terms are merely used to distinguish one component from another. For example, a first user input signal may be referred to as a second user input signal. Similarly, a second user input signal may be referred to as a first user input signal. The use of these terms should be construed as not departing from the scope of various embodiments. Although the first user input signal and the second user input signal are both user input signals, they do not mean the same user input signals unless the context clearly indicates otherwise.

본 개시를 설명하기 위해 사용된 용어는 특정 실시예들을 설명하기 위한 목적으로 사용되고, 실시예들을 제한하기 위해서 의도되지 않는다. 실시예들의 설명 및 청구항에서 사용된 바와 같이, 문맥 상 명확하게 지칭하지 않는 한 단수는 복수를 포함하는 것으로 의도된다. 그리고, “및/또는” 표현은 용어 간의 모든 가능한 결합을 포함하는 의미로 사용된다. “포함한다” 표현은 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들이 존재하는 것을 설명하고, 추가적인 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들을 포함하지 않는 것을 의미하지 않는다. 본 개시를 설명하기 위해 사용되는, ~인 경우, ~때 등의 조건 표현은 선택적인 경우로만 제한 해석되지 않는다. 특정 조건을 만족하는 때, 특정 조건에 대응하여 관련 동작을 수행하거나, 관련 정의가 해석되도록 의도되었다.The terminology used to describe the present disclosure is used for the purpose of describing particular embodiments and is not intended to be limiting of the embodiments. As used in the description of the embodiments and in the claims, the singular is intended to include the plural unless the context clearly dictates otherwise. In addition, the expression “and/or” is used to mean including all possible combinations of the terms. The expression “comprises” or “includes” describes the presence of features, numbers, steps, elements, and/or components, but does not mean that additional features, numbers, steps, elements, and/or components are not included. Conditional expressions such as “if,” “when,” etc., used to describe the present disclosure are not to be construed as being limited to only optional cases. When a particular condition is satisfied, a related action is performed in response to a particular condition, or a related definition is intended to be interpreted.

발명의 실시를 위한 최선의 형태에서 구체적으로 설명되었다.The best mode for carrying out the invention has been specifically described.

본 실시예들의 사상이나 범위를 벗어나지 않고 본 실시예들에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 실시예들은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 실시예들의 변경 및 변형을 포함하는 것으로 의도된다.It will be apparent to those skilled in the art that various changes and modifications can be made to the present embodiments without departing from the spirit or scope of the present embodiments. Accordingly, the embodiments are intended to include the modifications and variations of the present embodiments provided they come within the scope of the appended claims and their equivalents.

Claims (18)

제1 비디오 내 제1 이미지에 비밀 메시지를 은닉하여 제2 이미지를 생성하는 인코더를 포함하고, 상기 제2 이미지를 포함하는 제2 비디오를 전송하는 데이터 은닉 장치;A data hiding device comprising an encoder for generating a second image by hiding a secret message in a first image within a first video, and transmitting a second video including the second image; 상기 제2 비디오를 수신하여 재생하는 영상 출력 장치;A video output device that receives and plays the second video; 상기 비밀 메시지를 복원하기 위한 디코더를 포함하며, 적어도 하나의 카메라로 상기 제2 비디오가 재생 중인 영상 출력 장치를 촬영하고, 상기 촬영된 이미지로부터 상기 비밀 메시지가 상기 디코더에 의해 복원되고, 상기 복원된 비밀 메시지를 기반으로 사용자 경험을 제공하는 은닉 데이터 복원 장치; 및 A hidden data restoration device comprising a decoder for restoring the secret message, wherein the device captures an image output device on which the second video is being played by at least one camera, and the secret message is restored from the captured image by the decoder, and provides a user experience based on the restored secret message; and 인공신경망 딥러닝 모델을 적용하여 상기 인코더와 상기 디코더를 생성하고, 상기 인코더를 상기 데이터 은닉 장치로 제공하고, 상기 디코더를 상기 은닉 데이터 복원 장치로 제공하는 서버를 포함하는 영상 처리 시스템.An image processing system including a server that generates the encoder and the decoder by applying an artificial neural network deep learning model, provides the encoder to the data hiding device, and provides the decoder to the hidden data restoration device. 제 1 항에 있어서, 상기 데이터 은닉 장치에 포함된 인코더는 In the first paragraph, the encoder included in the data hiding device 상기 제1 이미지를 복수개의 서브 이미지들로 분할하고, Divide the above first image into multiple sub-images, 상기 복수개의 서브 이미지들 중 상기 비밀 메시지를 삽입할 하나 이상의 제1 서브 이미지들을 선택하고, Select one or more first sub-images among the above multiple sub-images into which the secret message is to be inserted, 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지를 삽입할 채널을 선택하고, Selecting a channel in which to insert the secret message among the channels constituting pixels of one or more of the selected first sub-images, 상기 하나 이상의 제1 서브 이미지들의 개수 및 크기와 동일하게 상기 비밀 메시지를 복사하여 하나 이상의 서브 비밀 메시지들을 생성하고, Generating one or more sub secret messages by copying the secret message in the same number and size as the one or more first sub images, 상기 하나 이상의 제1 서브 이미지들의 선택된 채널의 데이터와 상기 하나 이상의 서브 비밀 메시지들의 데이터로부터 학습된 인코딩 모델을 적용하여 상기 비밀 메시지가 삽입된 하나 이상의 제2 서브 이미지들을 생성하며,Generating one or more second sub-images with the secret message inserted by applying an encoding model learned from data of a selected channel of one or more of the first sub-images and data of one or more of the sub-secret messages, 상기 제1 이미지의 복수개의 서브 이미지들 중 하나 이상의 제1 서브 이미지들을 상기 하나 이상의 제2 서브 이미지들로 대체하여 상기 비밀 메시지가 삽입된 상기 제2 이미지를 생성하는 영상 처리 시스템.An image processing system that generates the second image having the secret message inserted therein by replacing one or more first sub-images among the plurality of sub-images of the first image with one or more second sub-images. 제 2 항에 있어서, 상기 인코더는In the second paragraph, the encoder 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들이 RGB 채널이면, 상기 비밀 메시지를 삽입할 채널로 B 채널을 선택하는 영상 처리 시스템.An image processing system for selecting a B channel as a channel into which to insert the secret message, when the channels constituting the pixels of the one or more selected first sub-images are RGB channels. 제 2 항에 있어서, 상기 인코더는 In the second paragraph, the encoder 상기 선택된 하나 이상의 제1 서브 이미지들의 픽셀들을 구성하는 채널들이 YUV 채널이면, 상기 비밀 메시지를 삽입할 채널로 Y 채널을 선택하는 영상 처리 시스템.An image processing system for selecting a Y channel as a channel into which to insert the secret message, when the channels constituting the pixels of the one or more selected first sub-images are YUV channels. 제 2 항에 있어서, In the second paragraph, 상기 비밀 메시지는 컨텐츠 식별 정보를 포함하며,The above secret message contains content identification information, 상기 컨텐츠 식별 정보는 상기 사용자 경험을 제공하기 위한 컨텐츠를 식별하기 위해 사용되는 영상 처리 시스템.The above content identification information is an image processing system used to identify content for providing the above user experience. 제 5 항에 있어서, In paragraph 5, 상기 비밀 메시지는 시간 정보를 더 포함하며,The above secret message further includes time information, 상기 시간 정보는 상기 컨텐츠 식별 정보에 의해 식별되는 컨텐츠의 재생 시점을 식별하기 위한 정보, 재생 시간을 식별하기 위한 정보, 또는 재생 종료 시점을 식별하기 위한 정보 중 적어도 하나를 포함하는 영상 처리 시스템.An image processing system in which the time information includes at least one of information for identifying a playback time of content identified by the content identification information, information for identifying a playback time, or information for identifying a playback end time. 제 6 항에 있어서, 상기 은닉 데이터 복원 장치는,In the sixth paragraph, the hidden data restoration device, 상기 사용자 경험을 제공할 하나 이상의 컨텐츠들을 저장하는 저장부;A storage unit storing one or more contents to provide the above user experience; 상기 제2 비디오가 재생되는 영상 출력 장치를 촬영하는 영상 입력부;A video input unit for shooting a video output device on which the second video is played; 상기 영상 입력부에 의해 촬영된 이미지로부터 상기 영상 출력 장치의 에지를 검출하는 분석부;An analysis unit that detects the edge of the image output device from an image captured by the image input unit; 상기 분석부에서 검출된 영상 출력 장치의 에지에 해당하는 이미지로부터 상기 비밀 메시지를 복원하는 상기 디코더; 및The decoder that restores the secret message from the image corresponding to the edge of the image output device detected in the above analysis unit; and 상기 복원된 비밀 메시지에 포함된 컨텐츠 식별 정보를 기반으로 상기 저장부로부터 컨텐츠를 추출하여 사용자 경험을 제공하는 출력부를 포함하는 영상 처리 시스템.An image processing system including an output unit for extracting content from the storage unit and providing a user experience based on content identification information included in the restored secret message. 제 7 항에 있어서, 상기 분석부는In the 7th paragraph, the analysis unit 상기 촬영된 이미지의 외곽선을 추출하고,Extract the outline of the captured image above, 상기 추출된 외곽선을 기반으로 닫힌 폴리곤들을 추출하고,Extract closed polygons based on the extracted outlines above, 상기 이미지의 중심에서 가까운 닫힌 폴리곤들부터 병합을 수행하여 하나 이상의 닫힌 폴리곤들을 포함하는 하나 이상의 사각형들을 선택하고,Select one or more rectangles containing one or more closed polygons by performing a merge from the closed polygons near the center of the image above, 상기 하나 이상의 사각형들을 하나 이상의 임계값들과 비교하여 상기 하나 이상의 사각형들 중 적어도 하나를 상기 영상 출력 장치의 에지 후보로 결정하고,comparing said one or more rectangles with one or more threshold values to determine at least one of said one or more rectangles as an edge candidate of said image output device; 상기 영상 출력 장치의 에지 후보가 복수개이면, 사각형의 넓이가 큰 순서로 정렬한 후 각각에 대해 디코딩을 적용하여 상기 영상 출력 장치의 에지를 최종 결정하는 영상 처리 시스템.An image processing system that, when there are multiple edge candidates for the image output device, arranges them in order of increasing area of the rectangle and then applies decoding to each of them to finally determine the edge of the image output device. 제 8 항에 있어서, 상기 은닉 데이터 복원 장치의 디코더는In the 8th paragraph, the decoder of the hidden data restoration device 상기 영상 출력 장치의 에지에 해당하는 이미지를 복수개의 서브 이미지들로 분할하고, Dividing an image corresponding to an edge of the above image output device into multiple sub-images, 상기 복수개의 서브 이미지들 중 상기 비밀 메시지가 삽입된 하나 이상의 제3 서브 이미지들을 선택하고, Select one or more third sub-images from among the above multiple sub-images, in which the secret message is inserted, 상기 선택된 하나 이상의 제3 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지가 삽입된 채널을 선택하고, Selecting a channel in which the secret message is inserted among the channels constituting pixels of one or more of the selected third sub-images, 상기 하나 이상의 제3 서브 이미지들의 선택된 채널의 데이터로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 획득하는 영상 처리 시스템.An image processing system for obtaining the secret message by applying a decoding model learned from data of selected channels of one or more of the third sub-images. 제 9 항에 있어서,In Article 9, 상기 데이터 은닉 장치의 인코더에서 상기 비밀 메시지의 삽입을 위해 선택되는 하나 이상의 제1 서브 이미지들의 개수와 크기 및 선택된 채널은 상기 은닉 데이터 복원 장치의 디코더에서 상기 비밀 메시지가 삽입된 하나 이상의 제3 서브 이미지들의 개수와 크기 및 선택된 채널과 동일한 영상 처리 시스템.An image processing system, wherein the number and size of one or more first sub-images and the selected channel selected for insertion of the secret message in the encoder of the data hiding device are the same as the number and size and the selected channel of one or more third sub-images into which the secret message is inserted in the decoder of the hidden data restoration device. 제 1 항에 있어서, 상기 서버는 In the first paragraph, the server 인코더, 디코더 및 손실 함수 계산부를 포함하고,It includes an encoder, decoder and loss function calculation unit, 상기 인코더는, The above encoder, 랜덤으로 입력되는 비디오 내 제3 이미지를 복수개의 서브 이미지들로 분할하고, Splitting a third image in a randomly input video into multiple sub-images, 상기 복수개의 서브 이미지들 중 랜덤으로 입력되는 입력 비밀 메시지를 삽입할 하나 이상의 제4 서브 이미지들을 선택하고, Select one or more fourth sub-images from among the above multiple sub-images into which to insert a randomly input secret message, 상기 선택된 하나 이상의 제4 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 입력 비밀 메시지를 삽입할 채널을 선택하고, Select a channel in which to insert the input secret message among the channels constituting the pixels of one or more of the fourth sub-images selected above, 상기 하나 이상의 제4 서브 이미지들의 개수 및 크기와 동일하게 상기 입력 비밀 메시지를 복사하여 하나 이상의 서브 비밀 메시지들을 생성하고, Generate one or more sub-secret messages by copying the input secret message to the same number and size as the one or more fourth sub-images, 상기 하나 이상의 제4 서브 이미지들의 선택된 채널의 데이터와 상기 하나 이상의 서브 비밀 메시지들의 데이터로부터 현재까지 학습된 인코딩 모델을 적용하여 상기 입력 비밀 메시지가 삽입된 하나 이상의 제5 서브 이미지들을 생성하고,Generating one or more fifth sub-images with the input secret message inserted by applying an encoding model learned so far from data of a selected channel of one or more of the fourth sub-images and data of one or more of the sub-secret messages, 상기 제3 이미지의 복수개의 서브 이미지들 중 하나 이상의 제4 서브 이미지들을 상기 하나 이상의 제5 서브 이미지들로 대체하여 상기 입력 비밀 메시지가 삽입된 상기 제4 이미지를 생성하며,Generating the fourth image with the input secret message inserted by replacing one or more fourth sub-images among the plurality of sub-images of the third image with the one or more fifth sub-images, 상기 디코더는,The above decoder, 상기 제4 이미지의 데이터를 일정한 범위 내에서 변경하여 제5 이미지를 생성하고,The data of the fourth image is changed within a certain range to generate a fifth image, 상기 제5 이미지의 복수개의 서브 이미지들 중 상기 입력 비밀 메시지가 삽입된 하나 이상의 서브 이미지들의 선택된 채널의 데이터로부터 현재까지 학습된 디코딩 모델을 적용하여 출력 비밀 메시지를 획득하며, An output secret message is obtained by applying a decoding model learned so far from data of a selected channel of one or more sub-images in which the input secret message is inserted among a plurality of sub-images of the fifth image, 상기 손실 함수 계산부는,The above loss function calculation section is, 상기 데이터 은닉 장치로 제공할 인코더와 상기 은닉 데이터 복원 장치로 제공할 디코더를 결정하기 위해, 상기 입력 비밀 메시지와 상기 출력 비밀 메시지의 차이를 평가하고, 상기 제3 이미지와 상기 제4 이미지와의 차이를 평가하는 손실 함수를 계산하고, 상기 손실 함수가 최소가 되는 방향으로 상기 인코더와 상기 디코더를 계속 업데이트하는 영상 처리 시스템.An image processing system that determines an encoder to be provided as the data hiding device and a decoder to be provided as the hidden data restoration device, evaluates the difference between the input secret message and the output secret message, calculates a loss function that evaluates the difference between the third image and the fourth image, and continuously updates the encoder and the decoder in a direction in which the loss function is minimized. 제 1 항에 있어서, In paragraph 1, 상기 은닉 데이터 복원 장치는 스마트 글래스인 영상 처리 시스템.The above hidden data restoration device is an image processing system that is a smart glass. 적어도 하나의 카메라에 의해 비밀 메시지가 삽입된 비디오가 재생되는 영상 출력 장치를 촬영하는 단계;A step of filming a video output device in which a video with a secret message inserted therein is played by at least one camera; 상기 촬영된 이미지로부터 상기 영상 출력 장치의 에지를 검출하는 단계;A step of detecting an edge of the image output device from the captured image; 상기 검출된 영상 출력 장치의 에지에 해당하는 이미지로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 복원하는 단계; 및A step of restoring the secret message by applying a decoding model learned from an image corresponding to the edge of the detected image output device; and 사용자 경험을 제공할 하나 이상의 컨텐츠들이 저장된 저장부로부터 상기 복원된 비밀 메시지에 포함된 컨텐츠 식별 정보에 의해 식별되는 컨텐츠를 추출하여 상기 사용자 경험을 제공하는 단계를 포함하는 영상 처리 시스템에서의 디코딩 방법.A decoding method in an image processing system, comprising the step of extracting content identified by content identification information included in the restored secret message from a storage unit storing one or more contents for providing a user experience, thereby providing the user experience. 제 13 항에 있어서, 상기 영상 출력 장치의 에지 검출 단계는,In the 13th paragraph, the edge detection step of the image output device, 상기 촬영된 이미지의 외곽선을 추출하는 단계;A step of extracting the outline of the above captured image; 상기 추출된 외곽선을 기반으로 닫힌 폴리곤들을 추출하는 단계;A step of extracting closed polygons based on the extracted outlines; 상기 이미지의 중심에서 가까운 닫힌 폴리곤들부터 병합을 수행하여 하나 이상의 닫힌 폴리곤들을 포함하는 하나 이상의 사각형들을 선택하는 단계;A step of selecting one or more rectangles containing one or more closed polygons by performing merging from closed polygons near the center of the image; 상기 하나 이상의 사각형들을 하나 이상의 임계값들과 비교하여 상기 하나 이상의 사각형들 중 적어도 하나를 상기 영상 출력 장치의 에지 후보로 결정하는 단계; 및A step of comparing said one or more squares with one or more threshold values to determine at least one of said one or more squares as an edge candidate of said image output device; and 상기 영상 출력 장치의 에지 후보가 복수개이면, 사각형의 넓이가 큰 순서로 정렬한 후 각각에 대해 학습된 디코딩 모델을 적용하여 상기 영상 출력 장치의 에지를 최종 결정하는 단계를 포함하는 영상 처리 시스템에서의 디코딩 방법.A decoding method in an image processing system, comprising the step of, when there are multiple edge candidates of the image output device, arranging them in order of increasing area of the rectangle and then applying a learned decoding model to each of them to finally determine the edge of the image output device. 제 14 항에 있어서, 상기 비밀 메시지 복원 단계는In the 14th paragraph, the secret message restoration step 상기 영상 출력 장치의 에지에 해당하는 이미지를 복수개의 서브 이미지들로 분할하는 단계; A step of dividing an image corresponding to an edge of the image output device into a plurality of sub-images; 상기 복수개의 서브 이미지들 중 상기 비밀 메시지가 삽입된 하나 이상의 서브 이미지들을 선택하는 단계; A step of selecting one or more sub-images having the secret message inserted therein among the plurality of sub-images; 상기 선택된 하나 이상의 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지가 삽입된 채널을 선택하는 단계; 및 A step of selecting a channel in which the secret message is inserted among the channels constituting pixels of one or more of the selected sub-images; and 상기 하나 이상의 서브 이미지들의 선택된 채널의 데이터로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 획득하는 영상 처리 시스템에서의 디코딩 방법.A decoding method in an image processing system for obtaining the secret message by applying a decoding model learned from data of selected channels of one or more of the sub-images. 사용자 경험을 제공할 하나 이상의 컨텐츠들을 저장하는 저장부;A storage unit that stores one or more contents that provide a user experience; 적어도 하나의 카메라에 의해 비밀 메시지가 삽입된 비디오가 재생되는 영상 출력 장치를 촬영하는 영상 입력부;A video input unit for filming a video output device in which a video with a secret message inserted therein is played by at least one camera; 상기 촬영된 이미지로부터 상기 영상 출력 장치의 에지를 검출하는 분석부;An analysis unit that detects the edge of the image output device from the captured image; 상기 검출된 영상 출력 장치의 에지에 해당하는 이미지로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 복원하는 디코더; 및A decoder that restores the secret message by applying a decoding model learned from an image corresponding to an edge of the detected image output device; and 상기 복원된 비밀 메시지에 포함된 컨텐츠 식별 정보를 기반으로 상기 저장부로부터 컨텐츠를 추출하여 사용자 경험을 제공하는 출력부를 포함하는 은닉 데이터 복원 장치.A hidden data restoration device including an output unit for extracting content from the storage unit and providing a user experience based on content identification information included in the restored secret message. 제 16 항에 있어서, 상기 분석부는In the 16th paragraph, the analysis unit 상기 촬영된 이미지의 외곽선을 추출하고,Extract the outline of the captured image above, 상기 추출된 외곽선을 기반으로 닫힌 폴리곤들을 추출하고,Extract closed polygons based on the extracted outlines above, 상기 이미지의 중심에서 가까운 닫힌 폴리곤들부터 병합을 수행하여 하나 이상의 닫힌 폴리곤들을 포함하는 하나 이상의 사각형들을 선택하고,Select one or more rectangles containing one or more closed polygons by performing a merge from the closed polygons near the center of the image above, 상기 하나 이상의 사각형들을 하나 이상의 임계값들과 비교하여 상기 하나 이상의 사각형들 중 적어도 하나를 상기 영상 출력 장치의 에지 후보로 결정하고,comparing said one or more rectangles with one or more threshold values to determine at least one of said one or more rectangles as an edge candidate of said image output device; 상기 영상 출력 장치의 에지 후보가 복수개이면, 사각형의 넓이가 큰 순서로 정렬한 후 각각에 대해 디코딩을 적용하여 상기 영상 출력 장치의 에지를 최종 결정하는 은닉 데이터 복원 장치.A hidden data restoration device that, when there are multiple edge candidates of the image output device, sorts them in order of increasing area of the rectangle and then applies decoding to each of them to finally determine the edge of the image output device. 제 17 항에 있어서, 상기 디코더는In the 17th paragraph, the decoder 상기 영상 출력 장치의 에지에 해당하는 이미지를 복수개의 서브 이미지들로 분할하고, Dividing an image corresponding to an edge of the above image output device into multiple sub-images, 상기 복수개의 서브 이미지들 중 상기 비밀 메시지가 삽입된 하나 이상의 서브 이미지들을 선택하고, Select one or more sub-images from among the above multiple sub-images in which the secret message is inserted, 상기 선택된 하나 이상의 서브 이미지들의 픽셀들을 구성하는 채널들 중 상기 비밀 메시지가 삽입된 채널을 선택하고, Selecting a channel in which the secret message is inserted among the channels constituting the pixels of one or more of the selected sub-images, 상기 하나 이상의 서브 이미지들의 선택된 채널의 데이터로부터 학습된 디코딩 모델을 적용하여 상기 비밀 메시지를 획득하는 은닉 데이터 복원 장치.A hidden data restoration device that obtains the secret message by applying a decoding model learned from data of selected channels of one or more of the sub-images.
PCT/KR2023/019432 2023-11-29 2023-11-29 Image processing system and method therefor Pending WO2025116067A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/019432 WO2025116067A1 (en) 2023-11-29 2023-11-29 Image processing system and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/019432 WO2025116067A1 (en) 2023-11-29 2023-11-29 Image processing system and method therefor

Publications (1)

Publication Number Publication Date
WO2025116067A1 true WO2025116067A1 (en) 2025-06-05

Family

ID=95896792

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/019432 Pending WO2025116067A1 (en) 2023-11-29 2023-11-29 Image processing system and method therefor

Country Status (1)

Country Link
WO (1) WO2025116067A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364517A1 (en) * 2018-10-18 2020-11-19 Panasonic Intellectual Property Corporation Of America Information processing device, information processing method, and recording medium
US20230005052A1 (en) * 2013-04-05 2023-01-05 Digimarc Corporation Imagery and annotations
KR20230086388A (en) * 2021-12-08 2023-06-15 고려대학교 산학협력단 Method for hiding and extracting data utilizing artificial intelligence

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230005052A1 (en) * 2013-04-05 2023-01-05 Digimarc Corporation Imagery and annotations
US20200364517A1 (en) * 2018-10-18 2020-11-19 Panasonic Intellectual Property Corporation Of America Information processing device, information processing method, and recording medium
KR20230086388A (en) * 2021-12-08 2023-06-15 고려대학교 산학협력단 Method for hiding and extracting data utilizing artificial intelligence

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LI CHUANLONG, SUN XINGMING, LI YUQIAN: "Information hiding based on Augmented Reality", MATHEMATICAL BIOSCIENCES AND ENGINEERING : MBE OCT 2010, vol. 16, no. 5, 1 January 2019 (2019-01-01), pages 4777 - 4787, XP093321977, ISSN: 1551-0018, DOI: 10.3934/mbe.2019240 *
WANG JIE, YANG CHUNFANG, ZHU MA, SONG XIAOFENG, LIU YUAN, LIAN YUEMENG: "JPEG image steganography payload location based on optimal estimation of cover co-frequency sub-image", EURASIP JOURNAL ON IMAGE AND VIDEO PROCESSING, vol. 2021, no. 1, 1 December 2021 (2021-12-01), XP093321979, ISSN: 1687-5281, DOI: 10.1186/s13640-020-00542-2 *

Similar Documents

Publication Publication Date Title
WO2022071647A1 (en) Video quality assessment method and apparatus
WO2020145668A1 (en) Method for processing and transmitting three-dimensional content
WO2019017579A1 (en) Display device, display method and display system
WO2018034462A1 (en) Image display apparatus and method of operating the same
WO2022025423A1 (en) Video quality assessing method and apparatus
WO2017164640A1 (en) System and method for editing video contents automatically technical field
WO2015111833A1 (en) Apparatus and method for providing virtual advertisement
WO2023033587A1 (en) Display device and operation method thereof
WO2017007206A1 (en) Apparatus and method for manufacturing viewer-relation type video
WO2022075738A1 (en) Mr providing apparatus for providing immersive mixed reality and control method thereof
WO2018088700A1 (en) Apparatus for producing mr content and method therefor
WO2022177211A1 (en) Video quality assessment method and device on basis of existence and non-existence of audio
WO2019112182A1 (en) Display device and sound output method
WO2022050785A1 (en) Display device and operating method therefor
WO2015105372A1 (en) Method and system for synchronizing usage information between device and server
WO2018004317A1 (en) Image bitstream generation method and device for high resolution image streaming
WO2025116067A1 (en) Image processing system and method therefor
WO2022163949A1 (en) Content expansion device using code embedded in image
WO2014054925A1 (en) Apparatus for reproducing recording medium and method thereof
WO2016200059A1 (en) Method and apparatus for providing advertisement content and recording medium
WO2020080701A1 (en) Electronic apparatus and control method thereof
EP3178235A1 (en) Video display device and method of controlling the device
WO2021141300A1 (en) Electronic device and method of operating the same
WO2023282425A2 (en) Electronic device, system, and method for intelligent horizontal-vertical image transform
WO2016080583A1 (en) Video display apparatus and operating method thereof

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

Country of ref document: EP

Kind code of ref document: A1