WO2016171376A1 - 모바일 감성 콘텐츠 재생방법 및 이를 적용하는 플레이어 - Google Patents

모바일 감성 콘텐츠 재생방법 및 이를 적용하는 플레이어 Download PDF

Info

Publication number
WO2016171376A1
WO2016171376A1 PCT/KR2016/000939 KR2016000939W WO2016171376A1 WO 2016171376 A1 WO2016171376 A1 WO 2016171376A1 KR 2016000939 W KR2016000939 W KR 2016000939W WO 2016171376 A1 WO2016171376 A1 WO 2016171376A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
content
image
emotional
format
Prior art date
Application number
PCT/KR2016/000939
Other languages
English (en)
French (fr)
Inventor
이해나
김동근
Original Assignee
상명대학교서울산학협력단
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 상명대학교서울산학협력단 filed Critical 상명대학교서울산학협력단
Publication of WO2016171376A1 publication Critical patent/WO2016171376A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing

Definitions

  • the present invention provides a method for inducing emotion to a specific state according to the emotion of the user and a player applying the same.
  • a system that can recognize emotions and reflect emotions in real time within a system called a smartphone without a special sensor.
  • a real-time mobile emotional content player The user's emotion can be recognized by measuring and analyzing the PPG signal through the camera in the smartphone environment.
  • the emotion of the user may be reflected by changing the saturation and brightness of the content in real time according to the acquired emotion of the user.
  • Emotional content players which can sense emotions and reflect emotions in real time, can provide interactive content that allows users to interact with each other.
  • such a system may be used in the game field and the service field as well as contents.
  • the present invention provides a mobile emotional content playback method capable of inducing an emotional state and a player applying the same.
  • the video content has a YUV format.
  • the image conversion step converts the image content of the YUV format to HSV format on a frame basis, and converts the saturation and brightness to the image of the HSV format.
  • the HSV format image when converting an image of the HSV format into an RGB format, is first converted into an RGB format, and the first converted RGB format image is converted into an HSV format. To convert.
  • the image of the RGB format is reproduced by a display provided in the mobile device.
  • a rear camera detecting a PPG signal from the user
  • a processor configured to determine an emotional state of a user using the PPG signal from the rear camera, and convert saturation and brightness of the image content according to the emotional state;
  • a display for displaying the image content in which the saturation and the brightness are converted according to the emotional state of the user.
  • Emotional content refers to interactive content that not only affects the user's emotion but also reflects the user's emotion in the content. Recently, research on emotional content has been actively conducted, but in order to recognize user's emotion, a separate biosignal sensor is required. In addition, in order to reflect the emotion of the user was made by changing only the color elements of the content.
  • the present invention provides a real-time mobile emotional content player that is the emotional recognition and emotion reflection in real time within a system called a smartphone.
  • the emotion recognition part is a part that measures PPG, which is a biological signal, to recognize the emotion change when the emotion of the content affects the emotion change of the user. Without a separate sensor, the PPG signal was extracted as the red value of the image through the rear camera to measure the PPG in the smartphone. PPI and pulse were calculated from the PPG signal, and the user's emotion was classified as arousal or relaxation by changing the PPI.
  • the emotion reflection part is a part for changing the saturation and brightness leading the atmosphere of the content in order to reflect the user's emotion change in the content in real time. Since we need to change the saturation and brightness every frame, we used the FFmpegLibrary to demux and decode. After that, the color space of the image was converted to change the saturation and brightness according to the arousal or relaxation.
  • the real-time mobile emotional content player was used to implement awakening induction scenarios and relaxation induction scenarios.
  • the saturation and brightness decrease when watching the user's sentiment is awakening scenario
  • the corresponding sample T-test was conducted by comparing the average PPI.
  • the average PPI was significantly lower when watching according to the arousal-inducing scenario, compared to the general content, which can be judged to induce the emotion of the user.
  • the average PPI was significantly higher when watching according to the relaxation inducing scenario, which can be judged to induce the user's emotion to relaxation.
  • the system is an interactive system in which the content and the user are influenced in both directions, and it is expected that the content and the user can interact with each other.
  • FIG. 6 is a table showing PPI averages according to a plurality of subjects and tasks.
  • FIG. 9 illustrates a YUV-RGB conversion code applying the formula of FIG. 8.
  • FIG. 10 is a block diagram illustrating a process of receiving an image from a camera and displaying a view on a screen.
  • FIG. 12 shows a process of calculating a heart rate (HR) from a PPG signal and classifying it as arousal or relaxation.
  • HR heart rate
  • Figure 13 shows the concept of a Moving Average Filter used in the present invention.
  • FIG. 14A shows a PPG signal before applying the Moving Average Filter
  • (B) shows a PPG signal after applying the Moving Average Filter.
  • 15 is a view for explaining a sliding window method applied in the present invention.
  • 16 shows the sequence of peak detection in one window.
  • PPI 17 is a graph showing continuously the amount of change of Peak to Peak Inteval (PPI).
  • 19 shows a process of encoding and decoding video, muxing and demuxing.
  • FIG. 20 shows an example of a video file structure consisting of a video file and an audio file.
  • 21 shows a saturation and brightness process of the video.
  • Figure 23 shows the NDK compilation process of calling a native method of C and C ++ code through JNI in a Java class method of Java code and returning the result to Java through JNI.
  • Figure 25 is an example of C / C ++ code called through JNI in Java code.
  • Figure 26 shows the function name conventions used in the code called through JNI.
  • Fig. 27 shows the openMovie () function in the Native function.
  • Figure 28 shows the decodeFrame () function in the Native function.
  • Figure 29 shows the copyPixels () function in the Navtive function.
  • Fig. 30 shows the getWidth () function and the getHeight () function in the Native function.
  • Figure 31 shows the closeMovie () function in the Natve function.
  • 35 illustrates a user interface of an emotional content player according to the present invention.
  • FIG. 36 is a block diagram of a PPG measurement and analysis module of a real-time emotional content player according to the present invention.
  • 37 shows a block diagram of the video processing module.
  • Figure 44 shows content used in the experiments of the present invention.
  • Figure 47 shows a graph and data table comparing the PPI of generic content with that of a derivation scenario according to the present invention.
  • the present inventors have developed a real-time mobile emotional content player to provide interactive content in which the content and the user interactively influence each other when watching content in a smartphone environment.
  • the sensitivity of the content affects the user's emotional change.
  • the camera received the red value of the frame in real time from the smartphone camera and measured the PPG (PPG: Photoplethysmography) signal.
  • PPG Peak to Peak Interval
  • HR heart rate
  • the emotional state of the user was determined as awakening or relaxation through comparison with the current PPI.
  • the user's awakening and relaxation emotions thus acquired are reflected in the content in real time. Demuxing and decoding were performed by using FFmpegLibrary to acquire frame by frame of video. At this time, since FFmpegLibrary is coded based on C language, NDK method is used for Android. In this way, the user's emotion could be reflected by changing the saturation and brightness of each frame of the video content.
  • the developed real-time mobile emotional content player was applied to two scenarios.
  • the first is arousal-inducing scenarios, in which content is played with the purpose of further enhancing the sensitivity of the arousal. This player acquires the user's emotions in real time and increases the saturation and brightness of the content only when it is determined that the user's emotional state is relaxed.
  • the second is a relaxation induction scenario, in which content is played for the purpose of further enhancing the emotion of relaxation. This player acquires the user's emotion in real time and reduces the saturation and brightness of the content and leads to relaxation only when it is determined that the user's emotional state is awakening.
  • the present invention proposes a system called a real-time mobile emotional content player.
  • the real-time emotional content player is a system that can recognize emotions and reflect emotions in a smartphone without a special sensor, and it is determined that users and contents can interact with each other.
  • Autonomic nervous system responses mainly use ECG (Electrocardiography), PPG (Photoplethysmography) and SKT (Skin Temperature) signals.
  • ECG Electrocardiography
  • PPG Photoplethysmography
  • SKT Skin Temperature
  • PPG skin cardiovascular response
  • SKT skin temperature response
  • GSR skin resistance response
  • Emotion refers to a complex emotional state inside human beings (Kimchi Jung et al., 2010), and expresses various emotions mainly in two-dimensional space.
  • Russell proposed a two-dimensional emotional model as shown in Fig. 1, and said that the distribution of emotions can be expressed through two axes by setting the x-axis as pleasant-discomfort and the y-axis as awakening-relaxation.
  • the present invention since the PPG signal is measured by using a smartphone camera, the user's emotion is to be evaluated using the PPG signal.
  • Previous studies have verified that PPG signals can be used as an objective indicator of awakening and relaxation. (Kimchijung et al., 2009) Therefore, the present invention also intends to evaluate the awakening and relaxation, which is one axis of the two-dimensional model, through the PPG signal.
  • RGB Red, Green, Blue
  • HSV Hue, Saturation, Value
  • the RGB model is a method of expressing colors by applying the principle of additive mixing of three primary colors of light. (Song Ju-hwan, 2014) As shown in FIG. 2, R (Red: red), G (Green: green), and B (Blue: Blue) has a value between 0 and 255, respectively, and can represent all colors according to the ratio of RGB.
  • the HSV model is a model of how human vision perceives color.
  • H Hue: Hue
  • S saturated
  • V Value
  • Emotional content refers to a content that can recognize the user's emotional state as a pleasure, displeasure, awakening, relaxation, etc., thereby accelerating, maintaining, and reducing the user's existing emotional state by changing the audiovisual elements.
  • the content that understands the user's emotion and responds appropriately through the emotional communication between the content and the user can be referred to as the emotional content.
  • the development environment implementing the real-time mobile emotional content player based on the Android operating system is shown in Table 1.
  • the pulse wave signal measurement using the absorption rate of light follows the Beer-Lambert law, which is a law that indicates the correlation between the absorbed light and the intensity of the transmitted light when the light is projected and passes through a homogeneous medium. .
  • Beer-Lambert law is a law that indicates the correlation between the absorbed light and the intensity of the transmitted light when the light is projected and passes through a homogeneous medium.
  • ⁇ ( ⁇ ) is the extinction coefficient corresponding to the optical absorption rate of the tissue
  • c is the concentration at which the tissue absorbs light
  • d is the length of the optical path.
  • a general PPG signal graph is shown in FIG. 4, where various information can be obtained from such a PPG signal.
  • the intensity of the transmitted light in one period of the graph appears to increase.
  • the magnitude of trough, which is the lowest point of the previous period, from the peak of the current period in the PPG signal is called amplitude, and the distance between the peak of the current period and the peak of the previous period is called peak to peak interval (PPI). .
  • Amplitude and PPI values will continue to change depending on the user's condition. Particularly in the case of PPI, decreasing PPI means that the sympathetic nerve is activated and the heart beats faster, indicating a closer alert. In contrast, an increase in PPI means that the parasympathetic nerve is activated, resulting in a slow heart rate, which is close to a relaxed state. That is, the heart rate can be calculated by changing the PPI, and the psychological state of the user can be determined as the state of awakening or relaxation.
  • the transmissive sensor is composed of LED projecting light and photodiode measuring the intensity of light passing through the skin.
  • the transmissive part and the light receiving part face each other.
  • Reflective sensors consist of LEDs that project light and photodiodes that measure the intensity of light that is reflected on the skin and are arranged so that the light emitter and the light receiver are located side by side.
  • the LED of the sensor can be replaced by the flash of the smartphone, and the photodiode of the sensor can be replaced by the rear camera of the smartphone.
  • Flash and Camera are located side by side, so it can be regarded as a reflective sensor, and the same principle as the reflective sensor can measure PPG signals on a smartphone. That is, when the light of the flash is projected on the skin, part of the light is absorbed according to the change of blood flow, and part of the remaining light is reflected and reflected on the camera of the smartphone.
  • the PPG signal may be obtained from the finger image measured as described above. Therefore, since the image quality of the camera can be an important factor, the preliminary experiment was conducted considering the three properties of resolution (resolution), bit rate (flash rate), and flash (flash).
  • the smartphone used in the experiment is Samsung Galaxy Note 3, Android version is 4.4.2, Kernel version is 3.4.0.
  • Resolution is the number of pixels that make up an image. The higher the resolution, the clearer and clearer the image. However, as the number of pixels to be processed increases, a large amount of memory is required and processing speed is reduced.
  • Bitrate is the number of bits processed per specific unit of time. It is usually calculated using bits per second (bps). Flash was considered to control light, an environmental condition. In the experiment, the resolution was set to 176x144, 320x640, 640x480, and the bit rate was set by dividing the standard range for each resolution into three levels: minimum, center, and maximum. Flash was set to two cases, On and Off. Table 2 shows a total of 18 independent variables set in the experiment.
  • the experiment measured the smartphone and commercialized PPG signal measuring equipment (PPG, Biopac) at the same time, and evaluated the accuracy rate of the heart rate measured by the smartphone compared to the commercial equipment.
  • PPG commercialized PPG signal measuring equipment
  • the PPI of the PPG signal measured by the sensor and the PPG signal measured by the smartphone was calculated, and the correlation analysis was performed.
  • the condition that showed the highest correlation with the PPG sensor was Task 17, and it was confirmed that it showed a high correlation of 0.84.
  • FIG. 6 shows the PPI average according to the subject and the task, classified into smartphones and sensors
  • FIG. 7 shows the correlation results for 18 tasks.
  • the video quality of the smartphone camera to measure the accurate PPG signal was Resolution 640x480, Bitrate 5000, Flash on, and then the camera was set to 640x480, 5000bps, flash on.
  • the Surface Holder is used to take a preview image of a smartphone camera frame by frame and convert it from YUV format to RGB format in real time.
  • Surface Holder is a callback function that can be loaded every frame using a buffer called Surface.
  • Real-time image processing can be a burden on the application because of the large amount of computation.
  • Surface View reduces the burden on the application by floating it on the screen in the background.
  • 10 shows a process of receiving an image from a camera and displaying a view on a screen.
  • the signal processing is performed in the order as shown in FIG. 12.
  • Peak should be detected in the PPG signal.
  • the PPG signal extracted from the red value not only keeps the base line fluctuating but also noise in the signal itself. This noise can be caused by the user's breathing or other fine movement when measuring the PPG signal. (Kim Do-young, 2006) Since noise can cause errors in all processes from peak detection to pulse calculation, awakening or relaxation judgment, it must be removed before calculating PPI.
  • the PPG signal without noise is activated in the low frequency band, and the noise is mainly activated in the high frequency band.
  • a low pass filter can be used to remove noise mixed in the PPG signal, thereby making the PPG signal clean.
  • moving average filters are generally used. Moving Average Filter does not use all the measured data and calculates the average using only some data as much as the filter size from the latest measured value of the data. (Jung In-bok, 2014) The equation related to Moving Average Filter is shown in Equation (2) below.
  • a moving average filter having a filter size of 7 is used to compensate the baseline and remove noise, and a red value calculated for each frame in the camera image is used as input data.
  • Figure 13 shows the concept of a Moving Average Filter used in the present invention.
  • the average of the seven red value data as the filter size is calculated and filtered.
  • FIG. 14A shows a PPG signal before applying the Moving Average Filter
  • FIG. 14B shows a PPG signal after applying the Moving Average Filter.
  • the x-axis is time and the y-axis represents a Red value between 0 and 255.
  • the y-axis spacing was kept constant.
  • the base line is kept constant in FIG. 14B than in FIG. 14A, and that the noise is mostly removed.
  • the signal does not seem to come out properly, but when the interval is further divided in FIG. 14B, it can be seen that the signal comes out correctly.
  • a sliding window method is used to detect an accurate peak in real time.
  • the sliding window method is used to control the flow of packets in communication between two hosts. Instead of transmitting packets one by one, packets are transmitted at the same time as the window size. After that, move the window by the resolution and send the next packets.
  • the first derivative was performed in one window.
  • the point where the slope sign changes is considered as a peak.
  • the same peak can be detected within one window. Therefore, only a peak different from the previous peak was detected as a real peak, and the time was stored.
  • Figure 16 shows the sequence of the peak detection process.
  • a peak to peak interval which is a time interval between the peak and the peak.
  • PPI peak to peak interval
  • the graph continuously showing the variation of the calculated PPI is called PRV (Pulse Rate Variability) and can be represented by a graph as shown in FIG.
  • Heart rate is the number of times the heart repeats contraction and relaxation for 1 minute (60 seconds).
  • the PPI can determine the user's sensitivity and awareness. If the user is aroused, the sympathetic nerve is activated to increase the pulse, thereby reducing the PPI of the PPG signal. On the contrary, if the user is in a relaxed state, the parasympathetic nerve is activated to decrease the pulse, thereby increasing the PPI of the PPG signal. (Kim, Min-ho et al., 2013) Therefore, after setting the average PPI of the user as Reference, if the current PPI decreases below the average PPI, the emotional state of the user can be judged as arousal, and if the current PPI increases above the average PPI, the user's emotional state Can be regarded as relaxation. 18 shows a process in which a user's emotion is classified into arousal or relaxation from the PPI.
  • a moving image is a moving image, which is literally a sequence of images consisting of one and one still image.
  • a single still image is called a frame
  • the number of frames played per second is called a frame-rate.
  • the human visual system does not recognize individual still images from more than 12 frames per second, but perceives them as moving images. (Lee Seok-ho et al., 2013)
  • 19 illustrates a process of encoding, decoding, muxing, and demuxing of a video.
  • conversion of video pixel data, which is an original image, to video bit-stream, which is a compressed image, using a specific codec is called encoding, and vice versa.
  • decoding The process of decompressing is called decoding.
  • Codec used in this process refers to software or algorithm that can compress media information.
  • Typical video codecs include H.264 and DivX, and typical audio codecs include mp3.
  • Converting an encoded image into a specific file format into a video file is called muxing.
  • the process of extracting video and audio data from a format is called demuxing.
  • the format used in this process is often called a container, also called a file format or extension.
  • the container acts as a box that makes Video Codec and Audio Codec into a single file.
  • Typical container formats include AVI and mp4.
  • FIG. 20 shows an example of a video file structure consisting of a video file and an audio file.
  • the file format is AVI
  • the codec of the video file is DivX
  • the codec of the audio file is MP3.
  • Table 3 below shows the codecs and file formats officially supported by the Android platform.
  • the video player is implemented in the smartphone based on the Android operating system.
  • the two video players provided with Android are basically capable of reading and playing video files. In order to change the saturation and brightness of the video in real time, which is an object of the present invention, the video file must be received frame by frame through a demuxing process and a decoding process, and the saturation and brightness must be changed every frame. Therefore, one frame is continuously displayed in the user view as a bitmap, so that the video can be played.
  • FIG. 21 illustrates a process of processing saturation and lightness of a video. As shown in FIG. 21, a process of processing video saturation and lightness is performed.
  • the demuxing process is a process of extracting a video data stream from a video file
  • the decoding process is a process of extracting original pixel data from a video data stream using a specific video codec.
  • the FFmpeg Library is a cross-platform, open source multimedia framework with a full suite of multimedia features, including encoding and decoding, muxing and demuxing, and playback. Table 4 shows the detailed library of FFmpeg Library and its functions.
  • the video file is demuxed to the Video Bit-Stream through the libavformat library, and the Video Bit-Stream is decoded to the Pixel-Data through the libavcodec library.
  • Figure 22 shows the original pixel data access procedure.
  • FFmpeg Library is a C and C ++ based library
  • general Android development is Java based
  • NDK Native Development
  • JNI Java Native Interface
  • FFmpeg Library C, C ++ Kit
  • Java code for video playback is shown in Figure 24.
  • C and C ++ code named basicplayer in Java code, we used the system.LoadLibaray method. In addition, it was declared first to use six native functions existing in C and C ++ code. The native functions used and their functions are shown in Table 5.
  • Figure 24 is Java code implemented for video playback, as shown here, using the MoviePlayView class, the user view (View) for video playback, first check whether there is an error by loading the video from the storage space .
  • the width of the bitmap is set to the width of the video
  • the height of the bitmap is set to the height of the video
  • the pixel format of the bitmap is set to ARGB_8888.
  • onDraw () function the renderFrame () function's parameter value is called differently according to the user's emotional state, so the processed frame is continuously played in the Bitmap.
  • FIG. 1 C / C ++ code called through JNI in Java code is shown in FIG. This code connects Java code with C and C ++ code that will actually work.
  • the name of the function uses the rules as shown in FIG.
  • the openMovie () function in the Native function is as shown in FIG. After initializing FFmpeg Library, check the input file for errors. After that, the format and codec of the file are found, demuxed, and prepared for decoding. It also finds information about the video stream and allocates space to store the frames to be extracted after the decoding process.
  • the decodeFrame () function called from the Native function is as shown in FIG.
  • the decoding process is performed over the entire video stream, and the decoding result can be obtained one frame. Since this frame is in YUV format, it converts from YUV format to RGB format through FFmpegLibrary. After that, the rgbTohsv () function is used to convert to HSV format. The converted frame is copied in bitmap format through the copyPixels () function of FIG. 29.
  • the getWidth () and getHeight () functions in the Native function are shown in FIG. This function passes the width and height of the input video file.
  • the closeMovie () function is as shown in FIG. This function frees the space previously allocated and terminates the codec and format.
  • the Pixel-Data is YUV Pixel-Data, and in order to adjust the saturation and brightness of the content, it must be converted to HSV Pixel-Data. To do this, first convert to RGB Pixel-Data and then to HSV Pixel-Data to change the saturation (S) and brightness (V: Value). After that, it was converted into RGB Pixel-Data so that it could be played on the screen. This process can be seen in FIG.
  • the color space was changed from YUV format to RGB format through FFmpegLibrary in decodeFrame () function. After that, we changed the color space from RGB format to HSV format. 33 is a code related thereto. In this section, you can change the values of saturation and brightness. In order to play back the screen with the changed values, we changed the color space from HSV format to RGB format. 34 shows the hsvTorgb () function.
  • 35 shows a user interface (user interface) of the emotional content player of the present invention.
  • the upper part of the screen consists of the image that symbolizes the heart, the text that shows the pulse, the camera preview screen, and the measurement button.
  • a user places a finger on the smartphone rear camera and presses a measurement button, a video is played. While watching a video, the pulse is calculated and displayed in real time, and internally, the user's emotion is classified into awakening or relaxation in real time, and the saturation and brightness are changed accordingly.
  • the real-time mobile emotional content player proposed in the present invention is largely divided into two parts.
  • the first part is the PPG measurement and analysis module. From the smartphone camera, the R value is obtained as the best quality image and the PPG signal is extracted. After making the signal clean through the signal processing of Moving average filter, using the sliding window method, the point where the sign of the signal changes is detected as Peak, and the time at that time is stored to calculate the PPI. PPI is used in two places. The first one calculates and outputs HR through PPI. The second classifies the user's emotion into arousal or relaxation by comparing the current PPI with the average PPI. 36 shows the construction of the PPG measurement and analysis module.
  • the second part is the video processing module.
  • the video file is converted to video bit stream after demuxing, and the video bit stream is converted to pixel data after decoding. After converting YUV Pixel data to RGB Pixel Data, it is converted to HSV Pixel Data. At this time, the saturation and brightness of the video content are changed according to a predetermined rule according to arousal or relaxation. After applying the changed saturation and brightness, it converts the RGB pixel data and plays the video on the screen.
  • Fig. 37 shows the construction of the video processing module
  • Fig. 38 shows the overall construction of the real-time mobile emotional content player.
  • the user's emotion is determined according to the present invention, and the saturation and brightness of the video are converted and the converted image (video) is played.
  • the mobile emotional content player processes a camera used as a PPG sensor and data therefrom to determine a user's emotional state, and accordingly, the emotional content, that is, the saturation and brightness of the video is determined.
  • the UI User Interface
  • the first LinearLayout consists of an ImageView, TextView, FrameLayout, and Button.
  • the second LinearLayout consists of a custom view, MoviePlayView.
  • the video file is received from the resource and the video is played through the MoviePlayView.
  • This video is drawn as a bitmap every frame.
  • FFmpegLibrary the video can be acquired one frame.
  • the libbasicplayer.so file and makeFile necessary for building C and C ++ files are executed together.
  • the real-time mobile emotional content player measures and analyzes the PPG signal in the smartphone to classify the emotional state of the user as awakening or relaxation.
  • the content is reproduced by changing the saturation and brightness of the content according to the classified emotions.
  • Arousal-inducing scenarios play content that aims to further enhance the sensitivity of arousal.
  • 41 shows the progression of the awakening induction scenario. 1 While viewing content, the content affects the user's emotional change. 2 At the same time, it analyzes PPG signal measured by camera of smartphone and judges user's emotion awakening or relaxation. 3 Change the saturation and brightness of the content only when the emotional state is relaxed. (In the case of arousal, the content is played with no change in saturation and brightness.) 4 The changed content affects the user again, inducing a change in sensitivity to the arousal state.
  • Relaxation induction scenarios play content that aims to further enhance the emotion of relaxation.
  • the awakening induction scenario is intended to increase the saturation and brightness to arouse emotion when the user is in a relaxed state, so that the user can feel the arousal emotion more strongly while watching the content.
  • the relaxation induction scenario is intended to reduce the saturation and brightness to the relaxation sensibility when the user is aroused, thereby making the user feel stronger the relaxation sensibility while watching the content.
  • the purpose of this study is to examine the effectiveness of the relaxation induction scenario through the play of the relaxation induction scenario with the general player who does not change the content.
  • the experimental procedure is as shown in FIG. Before the experiment, the purpose, procedure, and method of the experiment were explained. Thereafter, the subject's left hand index finger was brought into contact with the smartphone's rear camera (light sensor). The subject's average PPI was measured for 2 minutes, and then watched for 2 minutes and 30 seconds in order of general play, awakening induction scenario play, and relaxation induction scenario play. Two minutes of rest between plays minimized the impact of previous viewing.
  • FIG. 47 compares the PPI of the general content and relaxation induction scenario.
  • the real-time mobile emotional content player consists of two types.
  • the sensitivity of the content affects the user's emotional change, and it is a module that measures PPG, which is a biosignal, to find out the emotional change.
  • PPG which is a biosignal
  • the camera of the smartphone was used to measure the PPG. Red values have been taken from camera image frames, and PPG signals have been extracted from these red values. PPI was calculated from the PPG signal and the pulse was output.
  • the user's emotion was classified as arousal or relaxation from the change of PPI.
  • Awakening induction scenarios and relaxation induction scenarios were implemented using real-time mobile emotional content players, and verification experiments were conducted for comparison with general contents.
  • Corresponding sample T-tests were performed on the average PPI for general content and arousal induction scenarios.
  • the average PPI was significantly lower when watching content according to the arousal inducing scenario than when watching general content, which can be said that the arousal inducing scenario induces arousal emotion of the user.
  • the average PPI was significantly higher than when watching general content, which can be said that the relaxation induction scenario induces a user's relaxation emotion.
  • the concentration of the content may be limited because the screen is viewed through a smartphone having a relatively small screen size.
  • the evaluation of arousal and relaxation was limited only to the measurement of PPG signals, future studies will have to measure various biosignals in smartphones for accurate judgment.
  • Not only content but also may be used in various fields such as game, virtual reality, and smart devices.

Landscapes

  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Public Health (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Epidemiology (AREA)
  • Human Resources & Organizations (AREA)
  • Medical Informatics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

모바일 기기에 마련되는 광 센서를 이용해 사용자의 PPG 정보를 획득하는 단계; 상기 PPG 정보로부터 사용자 감성을 판단하여 이완 상태 또는 각성 상태를을 판단하는 단계; 사용자의 감성 상태가 이완 상태인 경우 영상 콘텐츠의 채도와 명도를 증가시키고, 또는 각성 상태인 경우 영상 콘텐츠의 채도와 명도를 감소시키는 영상 변환 단계; 영상 변환 단계를 거친 영상 콘텐츠를 상기 모바일 기기의 디스플레이를 통해 사용자에게 제시하여 사용자의 감성을 이완에서 각성 또는 각성에서 이완 상태로 유도하는 단계;를 포함하는 모바일 감성 콘텐츠 재생방법

Description

모바일 감성 콘텐츠 재생방법 및 이를 적용하는 플레이어
본 발명은 사용자의 감성에 따라 감성을 특정 상태로 유도하는 방법 및 이를 적용하는 플레이어를 제공한다.
정보 기술의 발달과 함께 스마트폰이 발전되면서, 스마트폰 사용자는 대한민국 국민의 80% 이상이 될 정도로 대중화되었다. 이에 따라 사용자들은 스마트폰을 이용하여 다양한 서비스를 이용할 수 있게 되었고, 특히 멀티미디어 콘텐츠를 이용한 서비스가 증가되고 있다. 이러한 멀티미디어 콘텐츠는 사람에게 감성적 반응을 유발한다. 예를 들어, 공포와 관련된 콘텐츠는 사람에게 공포, 각성, 불쾌 등의 감성적 반응을 유발하고, 이완과 관련된 콘텐츠는 사람에게 이완, 평온, 안정 등의 감성적 반응을 유발한다. (음영지 외, 2012)
그러나 최근의 사용자들은 스마트폰에서 다른 방식으로 멀티미디어 콘텐츠를 이용하길 원한다. 사용자에 대한 고려 없이 획일적으로 콘텐츠를 제공받기 보다는, 사용자들은 각자 자신의 상태에 따라 멀티미디어 콘텐츠를 제공받기를 원한다. (이해나 외, 2014) 즉, 콘텐츠가 사용자에게 감성적 반응을 유발하는 것과 마찬가지로, 사용자도 콘텐츠에게 자신의 감성적 반응을 이입하고자 한다. 이렇게 콘텐츠가 사용자의 감성에 영향을 줄뿐만 아니라, 현재 사용자의 감성에 따라 콘텐츠에서 영상의 색조, 명암, 대비 또는 소리의 세기나 빠르기 등 시청각적 요소들을 변화시키는 콘텐츠를 감성콘텐츠라고 한다. (김민영 외, 2012) 이와 관련하여, 최근 사람의 감성 상태를 인식하여 이에 따라 콘텐츠의 요소를 변화시켜 콘텐츠와 사람간의 교감이 가능한 감성 콘텐츠에 대한 연구가 활발하게 진행되고 있다.
그러나 기존 연구에서는 사람의 감성 상태는 부착형 센서를 통한 생체 신호 분석으로 인식되었다. 이는 감성 인식을 위해서는 생체 신호를 측정하는 센서가 필요하다는 한계를 가진다. 한편, 감성을 반영시키기 위하여 콘텐츠에서 주로 색상 요소를 변화시켜 제공하였는데, 색상 요소는 사용자가 거부감을 느낄 수 있으며, 그 색상에서 연상되는 의미로 인해 콘텐츠가 원래 의도하는 의미가 상당히 바뀔 수 있다는 위험이 있다. (박지원, 2009) 또한, 실시간으로 스마트폰에서 콘텐츠의 채도와 명도 요소를 변화시킨 연구는 없다.
따라서 특별한 센서 없이 스마트폰이라는 하나의 시스템 내에서 실시간으로 감성 인식과 감성 반영이 되는 시스템이 필요하다. 이를 위해 본 논문에서는 실시간 모바일 감성 콘텐츠 플레이어를 개발하였다. 사용자의 감성은 스마트폰 환경에서 카메라를 통해 PPG 신호를 측정하고 분석하여 인식될 수 있다. 또한, 획득한 사용자의 감성에 따라 실시간으로 콘텐츠의 채도와 명도에 변화를 줌으로써 사용자의 감성이 반영될 수 있다. 실시간으로 감성 인식과 감성 반영이 되는 감성 콘텐츠 플레이어는 콘텐츠와 사용자가 서로 교감할 수 있는 인터랙티브한 콘텐츠를 제공할 수 있을 것이다. 또한, 이러한 시스템은 콘텐츠뿐만 아니라 게임 분야, 서비스 분야에서도 사용 가능할 것이다.
<선행기술>
[1] Bronckers, X. J. (2009), "The effects of colored light on atmosphere perception", Master Thesis, Eindhoven University, The Netherlands.
[2] Christopher M. Conway, Jean-Eric pelet, Panagiota Papadopoulou, Moez Limayem (2010), "Coloring in the lines : using color to change the perception of quality in e-commerce sites,"ICIS : 1-17
[3] Scheirer, J. and Picard, R. W. (2000), "Affective Objects", MIT Media Laboratory Perceptual Computing Section Technical Report No. 524
[4] 김도영. (2006), 생체 신호의 적응잡음 제거기 설계, 국내석사학위논문, 강원대학교 대학원
[5] 김래현. (2008), PPG 신호처리를 이용한 호흡수 검출 알고리즘, 국내석사 학위논문, 충북대학교 대학원
[6] 김민영, 김동근, 조용주. (2010), "인터랙티브 감성 콘텐츠 플레이어플랫폼 개발에 관한 연구", 한국해양정보통신학회, 14(7), 1572-1580
[7] 김민영, 박경신, 김동근, 조용주. (2012), "2차원과 3차원 감성영상콘텐츠가 사용자의 감성 변화에 미치는 효과에 관한 연구", 한국컴퓨터게임학회, 25(3), 165-174
[8] 김민호, 김태욱, 장성환, 반다희, 민병석, 권성오. (2013), "동잡음에 강건한 PPG 신호 측정 방안", 한국통신학회, 38(12), 1085-1094
[9] 김민희, 황성택, 이정년, 황민철, (2014), "스마트폰으로 취득한 영상을 이용하여 추출한 맥파 신호 검증," 한국HCI학회, 2014(2), 631-633
[10] 김종화, 안상민, 박재언, 황민철, 김동근. (2012), "생체신호를 이용한 XML 기반 실시간 감성정보공유 시스템", 한국정보기술학회, 10(3), 205-211
[11] 김진성, 김승훈. (2011), "사용자의 스트레스 완화를 위한 맞춤형 콘텐츠 서비스 시스템의 설계 및 구현", 한국콘텐츠학회, 11(2), 101-112
[12] 김창훈. (2013), HSV 색 좌표계를 이용한 OLED 디스플레이 채널 불균형보정 알고리즘 및 하드웨어 구현, 국내석사학위논문, 동아대학교 대학원
[13] 김치중, 황민철, 김종화, 우진철, 김용우, 김지혜. (2009), "심혈관 반응에 의한 각성도 평가에 관한 연구", 대한인간공학회, 2009(11), 444-447
[14] 김치중, 황민철, 김종화, 우진철, 김용우, 김지혜. (2010), "PPG(Photoplethysmography) 분석을 이용한 각성도 평가에 관한 연구", 대한인간공학회, 29(1), 113-120
[15] 박지원. (2009), 색의 상징과 연상 이미지를 응용한 장신구 디자인 연구, 국내석사학위논문, 홍익대학교 산업미술대학원
[16] 석현정. (2007), "색채 채도와 적극적 감성 반응의 상관관계 관한 연구 : 다양한 매체에 적용된 실험 연구를 바탕으로", 한국디자인학회: 188-189
[17] 송주환. (2014), "HSV 색상과 균일국부이진패턴을 이용한 내용 기반 영상 검색", 한국정보기술학회, 12(6), 169-174
[18] 안예진. (2007), 고객접점 공간에 있어서의 감성에 대한 색채 변화의 영향에 관한 연구 : 뉴미디어 시대의 조명을 이용한 색채변화를 중심으로, 국내석사학위논문, 홍익대학교대학원
[19] 안홍찬, 연제혁, 이원형. (2006), "동영상자극을 이용한 뇌파(EEG)의 감성 평가 분석", 한국인터넷정보학회, 7(2), 315-318
[20] 양희경, 양혁성, 민경하. (2012), "게임의 몰입도 증가를 위해 감성 모델에 기반을 둔 시각적 콘텐츠의 감성 강화 기법", 한국컴퓨터게임학회, 25(2), 171-176
[21] 오동기, 민병석, 권성오, 김현중. (2012), "감성 자극 판단을 위한 효과적인 PPG 신호 처리 방법", 한국통신학회, 37(5), 393-402
[22] 윤세용, 정경용. (2011), "생체 신호(ECG)를 이용한 감성음악 매칭 시스템 개발", 상지대학교 정보통신연구소, 7(2), 41-44
[23] 음영지, 엄진섭, 손진훈. (2012), "공포와 기쁨 정서 간 안면온도 반응의차이", 한국감성과학회, 15(1), 1-8
[24] 이경미, 차은미, 박우창, 이은옥. (2008), "감성 색상을 이용한 텍스타일 영상 검색", 덕성여자대학교 자연과학연구소, 14, 1-9
[25] 이돈수. (2012), 모바일 환경에서 효율적인 메타데이터 제공을 위한 비디오 플레이어의 설계 및 구현, 국내석사학위논문, 숭실대학교 대학원
[26] 이석호, 한정완. (2013), "디지털 동영상의 프레임레이트와 모션블러가 수용자의 시지각에 미치는 영향에 관한 연구", 서울과학기술대학교 과학문화전시디자인연구소, 12, 175-184
[27] 이수진. (2008), "색채를 통한 심리이해", 한국재활심리학회, 한국재활심리학회연수회, 147-155
[28] 이은솔, 석현정. (2012), "조명 색상에 대한 사용자 감성 평가 연구 : 휴식 및 집중 상황을 중심으로", 한국디자인학회, 25(2), 27-39
[29] 이한욱. (2009), 유비쿼터스 헬스케어 시스템을 위한 요골동맥파의 PPG 신호처리, 국내박사학위논문, 경상대학교 대학원
[30] 이현민, 김동준. (2008), "맥파를 이용한 감성평가 및 바이오피드백 시스템 개발", 대한전기학회, 57(6), 1087-1094
[31] 이해나, 김동근. (2014), "사용자의 감성을 유도하는 실시간 반응형 감성 이미지 콘텐츠 플레이어 시스템 개발", 한국정보통신학회, 18(1), 155-161
[32] 장재건, 류승택, 정민주. (2011), "맞춤형 콘텐츠 서비스를 위한 실시간 영상 감성 추출", 한국컴퓨터게임학회, 24(2), 169-176
[33] 전진홍. (2011), 혈류 특성 측정을 위한 PPG와 ECG 시스템 설계 및 구현, 국내석사학위논문, 부산대학교 대학원
[34] 정상훈. (2012), "감성기술 적용 성공사례 분석을 통한 감성콘텐츠 개발방향 연구", 한국감성과학회, 15(1), 121-132
[35] 정인복, 김경호. (2014), "디지털 가변저항과 지수가중 이동평균필터를 통한 요골동맥에서의 PPG 파형과 맥박 측정에 관한 연구", 대한전기학회, 63(7), 962-967
[36] 최원정. (2012), 방송영상의 색채감성에 관한 연구 : 지상파 3사의 뉴스 화면을 중심으로, 국내석사학위논문, 이화여자대학교 대학원
[37] 황세희, 박창현, 심귀보. (2005), "감성 인식을 위한 생체 신호 패턴 분류", 한국지능시스템학회, 15(2), 385-388
본 발명은 감성 상태의 유도가 가능한 모바일 감성 콘텐츠 재생 방법 및 이를 적용하는 플레이어를 제공한다.
본 발명에 따른 모바일 감성 콘텐츠 재생방법:은
모바일 기기에 마련되는 광 센서를 이용해 사용자의 PPG 정보를 획득하는 단계;
상기 PPG 정보로부터 사용자 감성을 판단하여 이완 상태 또는 각성 상태를을 판단하는 단계;
사용자의 감성 상태가 이완 상태인 경우 영상 콘텐츠의 채도와 명도를 증가시키고, 또는 각성 상태인 경우 영상 콘텐츠의 채도와 명도를 감소시키는 영상 변환 단계;
영상 변환 단계를 거친 영상 콘텐츠를 상기 모바일 기기의 디스플레이를 통해 사용자에게 제시하여 사용자의 감성을 이완에서 각성 또는 각성에서 이완 상태로 유도하는 단계;를 포함한다.
본 발명의 일 실시 예에 따르면, 상기 영상 콘텐츠는 YUV 포맷을 가진다.
본 발명의 일 실시 예에 따르면, 상기 영상 변환 단계는 상기 YUV 포맷의 영상 콘텐츠를 프레임 단위로 HSV 포맷으로 변환하고, HSV 포맷의 영상에 대해 채도와 명도를 변환시킨다.
상기 본 발명의 일 실시 예에 따르면, 상기 HSV 포맷의 영상을 RGB 포맷을 변환할 때에 상기 HSV 포맷의 영상을 RGB 포맷을 1차 변환하고, 1차 변환된 RGB 포맷의 영상을 HSV 포맷으로 2차 변환 한다.
본 발명의 일 실시 예에 따르면, 상기 HSV 포맷의 영상을 RGB 포맷으로 변환한 후, RGB 포맷의 영상을 상기 모바일 기기에 마련된 디스플레이로 재생한다.
본 발명에 따른 모바일 감성 콘텐츠 플레이어:는
상기 모바일 감성 콘텐츠 재생방법을 수행하는 모바일 감성 콘텐츠 플레이어에 있어서,
상기 사용자로부터 PPG 신호를 검출하는 후방 카메라;
상기 후방 카메라로부터 상기 PPG 신호를 이용해 사용자의 감성 상태를 판단하고, 감성 상태에 따라 영상 콘덴츠의 채도와 명도를 변환하는 프로세서; 그리고
사용자의 감성 상태에 따라 채도와 명도가 변환된 영상 콘텐츠를 표시하는 디스플레이;를 구비한다.
감성 콘텐츠는 콘텐츠가 사용자의 감성에 영향을 줄 뿐만 아니라, 사용자의 감성을 콘텐츠에 반영시키는 양방향 콘텐츠를 말한다. 최근 감성 콘텐츠에 관한 연구가 활발하게 진행되고 있지만, 사용자의 감성을 인식하기 위해서는 별도의 생체 신호 센서가 필요하다. 또한, 사용자의 감성을 반영시키기 위해 콘텐츠의 색상 요소만을 변경하는 방식으로 이루어졌다.
본 발명은 스마트폰이라는 하나의 시스템 내에서 실시간으로 감성 인식과 감성 반영이 되는 실시간 모바일 감성 콘텐츠 플레이어를 제공한다. 감성 인식 부분은 콘텐츠가 가지고 있는 감성이 사용자의 감성 변화에 영향을 미칠 때, 이 감성 변화를 인식하기 위해 생체 신호인 PPG를 측정하는 부분이다. 별도의 센서 없이, 스마트폰에서 PPG를 측정하기 위해 후방 카메라를 통해 영상의 Red값으로 PPG 신호를 추출하였다. PPG 신호로부터 PPI와 맥박을 계산하였고, PPI를 변화를 통해 사용자의 감성을 각성 또는 이완으로 분류하였다.
감성 반영 부분은 사용자의 감성 변화를 콘텐츠에 실시간으로 반영시키기 위해, 콘텐츠의 분위기를 이끄는 채도와 명도를 변화시키는 부분이다. 한 프레임마다 채도와 명도를 변경시켜야 하기 때문에, FFmpegLibrary를 이용하여 디먹싱 과정과 디코딩 과정을 거쳤다. 그 후에 영상의 색 공간을 변환하여, 각성 또는 이완에 따라 채도와 명도를 변경하였다.
실시간 모바일 감성 콘텐츠 플레이어를 활용하여, 각성 유도 시나리오와 이완 유도 시나리오로 구현하였고 그 유효성을 검증하고자 실험을 진행하였다. 사용자의 감성 변화에 따라 어떠한 변화도 없는 일반적인 콘텐츠로 시청할 때, 사용자의 감성이 이완일 때 채도와 명도가 증가하는 각성 유도 시나리오에 따라 시청할 때, 사용자의 감성이 각성일 때 채도와 명도가 감소하는 이완 유도 시나리오에 따라 시청할 때의 평균 PPI를 비교하여, 대응표본 T검정을 진행하였다. 그 결과, 일반 콘텐츠로 시청할 때에 비하여, 각성 유도 시나리오에 따라 시청할 때 평균 PPI가 유의하게 낮았으며 이는 사용자의 감성을 각성으로 유도했다고 판단할 수 있다. 일반 콘텐츠로 시청할 때에 비하여, 이완 유도 시나리오에 따라 시청할 때 평균 PPI가 유의하게 높았으며 이는 사용자의 감성을 이완으로 유도했다고 판단할 수 있다.
본 발명에 따른 모바일 콘텐츠 재생 방법 및 플레이어에 따르면, 콘텐츠와 사용자가 양방향으로 영향을 주는 인터랙티브한 시스템임을 확인하였고, 이 시스템을 통해 콘텐츠와 사용자가 서로 교감할 수 있을 것으로 기대된다.
도1은 러셀(Russell)이 제시한 2차원 감성 모델을 보여 준다.
도2는 RGB 색상 모델을 보여 준다.
도3은 HSV 모델 좌표를 보여 준다.
도4는 일반적인 특징을 가지는 PPG 신호 그래프이다.
도5는 두 가지 PPG 센서의 종류를 보여 준다.
도6은 복수의 피험자와 태스크(Task)에 따른 PPI 평균을 보이는 표이다.
도7은 피험자들에게 부여된 태스크의 상관성 결과를 보이는 그래프이다.
도8은 YUV 포맷의 영상을 RGB 포맷으로 변환하는 공식이다.
도9는 도8의 공식을 적용한 YUV-RGB 변환 코드를 예시한다.
도10은 카메라로부터 영상을 입력받아 화면에 뷰를 띄우는 것까지의 과정을 보여주는 블록다이어그램이다.
도11은 Red 값을 통해 추출된 PPG 신호를 보여준다.
도12는 PPG 신호로부터 맥박(HR: Heart Rate)을 계산하고, 각성 또는 이완으로 분류하는 과정을 보인다.
도13은 본 발명에서 사용한 Moving Average Filter의 개념을 보여준다
도14의 (A)는 Moving Average Filter를 적용하기 전의 PPG 신호를 보여주며, (B)는 Moving Average Filter를 적용한 후의 PPG 신호를 보여준다.
도15는 본 발명에서 적용한 슬라이딩 윈도우 방법을 설명하는 도면이다.
도16은 한 윈도우에서 peak 검출 과정의 순서를 보여준다.
도17은 PPI(Peak to Peak Inteval)의 변화량을 연속적으로 나타낸 그래프이다.
도18은 PPI로부터 사용자의 감성을 각성 또는 이완으로 분류되는 과정을 보여준다.
도19는 동영상의 인코딩과 디코디, 먹싱 과 디먹싱하는 과정을 보인다.
도20은 Video File과 Audio File로 구성된 동영상 파일 구조의 예를 보여준다.
도21은 동영상의 채도와 명도 처리 과정을 보인다.
도22는 코드에 의한 원본 픽셀 데이터 접근 과정을 보여준다.
도23은 Java code의 Java class Method에서 C, C++ code의 Native method를 JNI를 통해 호출하고, 그 결과를 JNI를 통해 Java로 리턴하는 NDK 컴파일 과정을 보여준다.
도24는 동영상 재생을 위해 구현된 Java code이다.
도25는 Java code에서 JNI를 통해 호출한 C/C++ code 의 일례이다.
도26은 JNI를 통해 호출한 코드에서 사용된 함수 이름 규칙을 보인다.
도27은 Native 함수에서 openMovie() 함수를 보인다.
도28은 Native 함수에서 decodeFrame() 함수를 보인다.
도29는 Navtive 함수에서 copyPixels() 함수를 보인다.
도30은 Native 함수에서, getWidth() 함수와 getHeight() 함수를 보인다.
도31은 Natve 함수에서, closeMovie() 함수를 보인다.
도32는 채도와 명도 변경을 위한 색 공간 변환 과정을 도시한다.
도33은 RGB format에서 HSV format으로 변환하는 코드이다.
도34는 HSV에서 RGB로 변환하는 hsvTorgb() 함수를 보인다.
도35는 본 발명에 따른 감성 콘텐츠 플레이어의 사용자 인터페이스를 예시한다.
도36은 본 발명에 따른 실시간 감성 콘텐츠 플레이어의 PPG 측정 및 분석 모듈의 구성도를 보여준다.
도37은 동영상 처리 모듈의 구성도를 보여준다.
도38은 실시간 모바일 감성 콘텐츠 플레이어의 전체 구성도를 보여준다.
도39는 실시간 모바일 감성 콘텐츠 플레이어의 전체 파일간의 연관관계를 보여준다.
도40은 2차원 공간 상에서 채도와 명도 규칙을 보여준다.
도41은 각성 유도 시나리오의 진행 과정을 보여준다.
도42는 이완 유도 시나리오의 진행 과정을 보여준다.
도43은 본 발명의 검증 실험의 모습이다.
도44는 본 발명의 실험에 사용된 콘텐츠를 도시한다.
도45는 본 발명의 실험 절차를 도시한다.
도46은 일반 콘텐츠와 본 발명에 따른 각성 유도 시나리오의 PPI 비교하는 그래프 및 데이터 표를 도시한다.
도47은 일반 콘텐츠와 본 발명에 따른 이와 유도 시나리오의 PPI 비교하는 그래프 및 데이터 표를 도시한다.
본 발명자는 스마트폰 환경에서 콘텐츠를 시청할 때, 콘텐츠와 사용자가 서로 양방향으로 영향을 주는 인터랙티브한 콘텐츠의 제공을 위해 실시간 모바일 감성 콘텐츠 플레이어를 개발하였다.
콘텐츠가 가지고 있는 감성은 사용자의 감성 변화에 영향을 준다. 사용자의 감성 인식을 위해 스마트폰 카메라에서 실시간으로 프레임의 Red값을 받아와서 PPG (PPG: Photoplethysmography) 신호를 측정하였다. PPG 신호로부터 슬라이딩 윈도우 기법으로 PPI(Peak to Peak Interval)를 계산하고, 맥박(HR : Heart Rate)을 계산하였다. 또한, 사용자의 평균 PPI를 기준으로, 현재 PPI와의 비교를 통해 사용자의 감성 상태를 각성 또는 이완으로 판단하였다. 이렇게 획득한 사용자의 각성과 이완의 감성을 실시간으로 콘텐츠에 반영시키도록 하였다. 동영상의 프레임별로 획득하기 위해 FFmpegLibrary를 이용하여 디먹싱 과정과 디코딩 과정을 진행하였다. 이때, FFmpegLibrary가 C언어 기반으로 코딩되어 있기 때문에, 안드로이드에서 이용하기 위해 NDK방법을 이용하였다. 이러한 방법으로 동영상 콘텐츠의 프레임마다 채도와 명도를 변화시켜 사용자의 감성을 반영시킬 수 있었다.
개발된 실시간 모바일 감성 콘텐츠 플레이어를 활용하여, 두 가지 시나리오로 적용시켜 보았다. 첫 번째는 각성 유도 시나리오로, 각성의 감성을 더 강화시키고 싶은 목적이 있는 콘텐츠를 플레이한다. 이 플레이어는 사용자의 감성을 실시간으로 획득하여 사용자의 감성 상태가 이완이라고 판단될 때만 콘텐츠의 채도와 명도를 증가시켜 사용자의 감성을 각성으로 유도하는 시스템이다. 두 번째는 이완 유도 시나리오로, 이완의 감성을 더 강화시키고 싶은 목적이 있는 콘텐츠를 플레이한다. 이 플레이어는 사용자의 감성을 실시간으로 획득하여 사용자의 감성 상태가 각성이라고 판단될 때만 콘텐츠의 채도와 명도를 감소시켜 이완으로 유도하는 시스템이다.
본 발명은 실시간 모바일 감성 콘텐츠 플레이어라는 하나의 시스템을 제시한다. 본 발명의 실험을 통하여 이 시스템을 활용한 적용 시나리오를 제시하고, 실험을 통해 검증하였다. 실시간 감성 콘텐츠 플레이어는 특별한 센서 없이 스마트폰 내에서 감성 인식과 감성 반영이 가능한 시스템으로, 이를 통해 사용자와 콘텐츠가 서로 교감할 수 있을 것으로 판단된다.
생체 신호와 감성인식
사람의 감성을 측정하고 판단하기 위한 방법으로 설문을 이용한 주관적 방법과 생리적 반응을 이용한 객관적 방법이 있다. 주관적 방법인 설문의 경우에는 개인이 자신의 판단을 조정할 수 있기 때문에 정량적, 객관적 측정이 어렵다. 객관적 방법인 생리적 반응의 경우에는 개인이 조정할 수 없는 불수의 반응이기 때문에 정량화하기 편리하며 객관적으로 측정이 가능하다. (김치중 외, 2010) 따라서 사람의 감성을 인식하고 판단하기 위해 생리적 반응인 생체 신호를 이용한 연구가 많이 진행되고 있다. 생체 신호에서는 신호의 특징을 추출함으로서 심리적인 감성 상태를 판단할 수 있다. (김민호 외, 2013)
생체 신호 중에서 중추 신경계 반응을 이용한 연구와 자율 신경계 반응을 이용한 연구가 있다. 중추 신경계 반응을 이용한 연구에서는 주로 EEG(Electro-encephalography : 뇌전도) 신호를 이용한다. 동영상 자극을 시청할 때의 뇌전도를 측정하고 분석 및 평가하여, 감성 추론 시스템을 구현한 연구가 있다. (안홍찬 외, 2006) 또한, EEG(뇌전도)와 ECG(Electro-cardiography : 심전도)의 생체 신호를 측정하여, 신호의 파워 스펙트럼 그래프를 통해 긴장, 짜증, 화남, 기쁨, 놀람의 감성 상태를 나타낸 연구도 있다. (황세희 외, 2005) 그러나 EEG 신호를 측정할 때, 머리에서 정해진 위치에 정확하게 센서를 부착해야만 뇌의 전기적 활동을 측정할 수 있고, 그만큼 사용자의 움직임에 제약이 있다는 불편함이 있다. (김민호 외, 2013)
한편, 생체 신호 중에서 자율 신경계 반응을 이용한 연구가 있다. 자율 신경계 반응에서는 주로 ECG(Electrocardiography: 심혈관 반응), PPG(Photoplethysmography : 심혈관 반응), SKT(Skin Temperature : 피부 온도 반응) 신호를 이용한다. 실시간으로 PPG(심혈관 반응), SKT(피부 온도 반응), GSR(피부 저항 반응)의 생체 신호를 측정하여 감성 정보를 획득하고, 감성 정보를 공유하기 위해 실시간 감성 정보 공유 시스템을 개발한 연구가 있다. (김종화 외, 2012) ECG의 생체 신호를 이용하여 사용자의 상태를 긍정, 보통, 부정으로 분류하여 이에 맞는 음악을 추천해주는 감성 음악 매칭 시스템을 제안한 연구도 있다. (윤세용 외, 2011) 그러나 ECG 신호를 측정하기 위해서는 심장과 가까운 흉부에 센서를 부착해야 하며, 이에 따라 사용자가 거부감을 가질 수 있으며, 활동에 제약이 있다는 단점이 있다. (김치중 외, 2010) PPG 신호와 SKT 신호는 비교적 간편하게 센서를 손끝에 부착하여 측정될 수 있으나, 마찬가지로 센서가 반드시 필요하다는 단점이 있다.
이전 연구들은 주로 센서를 통해서 생체 신호를 인식하였다. 이는 감성을 인식하기 위해 생체 신호를 획득해야 한다면, 센서가 반드시 필요하다는 한계를 지닌다. 따라서 본 논문에서는 이를 해결하기 위하여, 센서 대신 스마트폰 카메라를 이용하여 거부감 없이 간편하게 생체 신호를 획득하고자 한다. 생체 신호 중에서도 카메라 영상의 Red값을 통해 획득될 수 있는 PPG 신호를 측정하고자 한다.
감성모델과 HSV(Hue, Saturation, Value) 모델
감성은 인간 내부의 복합적인 감정 상태를 뜻하며, (김치중 외, 2010) 주로 2차원 공간에서 여러 가지의 감성들을 나타낸다. 특히 Russell은 도1에 도시된 바와 같이 2차원 감성 모델을 제안하였고, x축을 쾌-불쾌, y축을 각성-이완으로 설정하여 두 축을 통해 감정 분포를 나타낼 수 있다고 하였다.
본 발명에서는 스마트폰 카메라를 이용하여 PPG 신호를 측정하기 때문에, PPG 신호를 이용하여 사용자의 감성을 평가하고자 하였다. 이전 연구에서 PPG 신호가 각성과 이완을 판단하는 객관적인 지표로 사용할 수 있음을 검증하였다. (김치중 외, 2009) 따라서 본 발명에서도 PPG 신호를 통해, 2차원 모델의 한 축인 각성과 이완을 평가하고자 한다.
한편, 감성과 관련하여 연구되는 색상모델에는 크게 RGB(Red, Green, Blue) 모델과 HSV(Hue, Saturation, Value) 모델이 있다. RGB 모델은 빛의 3원색의 가산 혼합의 원리를 응용하여 색상을 표현하는 방법으로, (송주환, 2014) 도2에 도시된 바와 같이, R (Red: 빨강), G (Green: 녹색), B (Blue: 파랑)는 각각 0에서 255사이의 값을 가지며, RGB의 비율에 따라 모든 색상을 표현할 수 있다.
감성 상태와 RGB와의 관계를 살펴본 연구들이 있다. RGB 색상에 따른 감성 색상을 추출하여, 사용자가 질의한 텍스타일 영상과 유사도 기준을 만족하는 텍스타일 영상을 빠르고 효율적으로 검색해주는 시스템을 제안한 연구가 있다. (이경미 외, 2008) 또한, 콘텐츠의 감성을 강화시키기 위해, 특정 영역의 색상을 변환한 연구가 있다. (양희경 외, 2012) 그 결과 실제로 감성이 강화되고 몰입도가 증가한다는 결론을 얻었다.
HSV 모델은 인간의 시각이 색상을 지각하는 방식을 응용한 모델이다. HSV 모델에서 H (Hue: 색상)는 0 에서 360 의 범위를 가지며, 가시광선 스펙트럼에서 가장 파장이 긴 Red를 0 로 한 고리모양의 상대적인 배치 각도이다. (김창훈, 2013) S (Saturation: 채도)는 0%에서 100%의 범위를 가지며, 색상의 진한 정도를 나타낸다. V (Value: 명도)는 0%에서 100%의 범위를 가지며, 밝기를 나타낸다. 도3은 HSV 모델 좌표를 보여준다.
감성 상태와 HSV의 관계를 살펴본 연구들이 있다. 이미지가 가지는 내재정보(HSI)를 사용하여 특징 점을 추출하고, 그에 따라 감성을 분류하는 모델을 설계한 연구가 있다. (장재건 외, 2011) 조명의 색상의 변화를 통해 사용자의 감성적 측면에 영향을 주는지 확인하고, 조명 색상을 디자인 요소로 활용하기 위한 방향성을 도출한 연구가 있다. (이은솔 외, 2006) 또한, 색채의 채도 변화에 따른 감성적 반응의 특성을 세 가지 매체(종이, 섬유, 모니터)를 활용한 실험을 통해 채도와 기쁨, 그리고 채도와 흥분 간에 양의 상관관계가 있음을 밝힌 연구가 있다. (석현정, 2007)
이전 연구들은 주로 R, G, B, H와 같은 색상 요소에 중점을 두고 감성과의 관계에 대해 연구를 진행하였다. 그러나 색상 요소를 급격하게 변화시키면 오히려 사용자에게 거부감을 들게 할 수 있는 한계가 있다. (안예진, 2007) 또한, 색상은 색상 자체가 나타내는 의미와 연상되는 이미지 때문에, (박지원, 2009) 색상을 변경할 경우 콘텐츠가 의도한 원래의 의미가 상당히 바뀔 수 있다는 위험이 있다. 채도와 명도는 합쳐서 톤이라고 표현하는데, 주로 콘텐츠의 전체적으로 느껴지는 분위기와 관련이 있다. (최원정, 2012) 따라서 채도와 명도를 변경시키는 것이 콘텐츠가 의도한 의미를 바꾼다고 할 수 없으며, 오히려 콘텐츠의 분위기를 자연스럽게 이끌어낼 가능성이 있다. 따라서 본 논문에서는 상대적으로 거부감과 영향이 적고, 연구가 미비한 채도와 명도, 각성도와의 관계에 대해 연구를 진행하고자 한다.
감성 콘텐츠
감성 콘텐츠는 사용자의 감성 상태를 쾌, 불쾌, 각성, 이완 등으로 인식하여, 그에 따라 콘텐츠의 시청각적 요소를 변화시켜 사용자의 기존 감성 상태를 가속, 유지, 경감시킬 수 있는 콘텐츠를 일컫는다. (김민영 외, 2010) 즉, 콘텐츠와 사용자 간의 감성 소통을 통하여 사용자의 감성을 이해하고 적절하게 반응하는 콘텐츠를 감성 콘텐츠라고 할 수 있다. (정상훈, 2012)
감성 콘텐츠와 관련된 연구들이 많이 진행되고 있다. 감성 콘텐츠를 시청할 때, 피부온열반응(SKT), 피부전기저항(GSR), 심박반응(PPG), 뇌파(EEG)의 센서를 통해 사용자의 감성 변화를 측정하고, 그에 따라 콘텐츠에 시각적 피드백을 제공함으로써 더 큰 감성적 반응을 유도하는지 연구가 있다. (김민영 외, 2012) 그 결과, 2차원 영상보다는 3차원 영상에서, 어두운 영상보다는 밝은 영상에서 큰 감성적 반응을 유도하였다. 또한, 맥박(PPG), 피부온도(SKT), 피부전기저항(GSR)의 생체 신호를 통해 사용자의 감성을 분류하고, 이에 따라 미리 정해둔 색상 모델 규칙에 의거하여 이미지 콘텐츠를 변화시켜 제공함으로써, 실시간 반응형 감성 이미지 콘텐츠 플레이어의 효과를 검증한 연구가 있다. (이해나 외, 2014) 콘텐츠 감성을 강화하는 방향으로 영상의 일부분을 변형시켜서, 주관적 평가를 통해 일반 콘텐츠보다 감성 콘텐츠가 감성을 더 강화시키며 콘텐츠의 몰입도를 증가시키는 것을 확인한 연구도 있다. (양희경 외, 2012)
기존 연구에서는 사용자의 감성을 센서를 통해 인식하는 부분과 감성 콘텐츠를 시청하는 부분이 다른 시스템에서 진행되었다. 이는 두 시스템이 모두 존재해야 하며, 두 시스템간의 통신을 이용해야한다는 단점이 있다. 따라서 본 연구에서는 스마트폰이라는 하나의 시스템 안에서 사용자의 감성 상태를 각성 또는 이완으로 인식하고, 그에 따라 콘텐츠의 시각적 요소인 채도와 명도를 변화시키는 감성 콘텐츠를 재생할 수 있는 실시간 모바일 감성 콘텐츠 플레이어를 개발하고자 한다.
시스템 설계 및 구현
본 발명의 일 실시 예에 따라, 안드로이드 운영체제 기반에서 실시간 모바일 감성 콘텐츠 플레이어를 구현한 개발 환경은 표 1과 같다.
범위 환경
Smart Phone Galaxy note 3 (android)
PC-OS Windows 7, 64bit OS
Android SDK Android 4.0
Android NDK Android-ndk-r10-windows
Java JDK JDK 1.8.0
Virtual Environment Cygwin
Editor (JAVA) Eclipse
Editor (C/C++) Visual studio 2010
이하, 스마트 폰에서 PPG 측정 및 분석에 대해서 살펴본다.
PPG (Photoplethysmography)
심장이 수축할 때는 혈액이 온 몸에 공급되어 혈액의 양이 증가하고, 심장이 이완할 때는 혈액의 양이 상대적으로 감소한다. 손가락 끝이나 귓불과 같은 얇은 피부 부위에 빛을 투사했을 경우, 빛의 일부는 혈액, 뼈, 조직에서 흡수되고 나머지 빛의 일부는 피부를 투과한다. 따라서 투과된 빛의 강도 변화는 혈류량의 변화가 반영된 것이라고 할 수 있다. (김민호 외, 2013) 이때, 심장의 수축과 이완에 따른 혈류량의 변화로 인해 피부에 흡수되는 빛이 양이 다른 것을 이용하여 PPG (Photoplethysmography : 광전용 맥파) 신호를 측정할 수 있다.
이와 같이 빛의 흡수율을 이용한 맥파 신호 측정은 Beer-Lambert 법칙을 따르는데, 이 법칙은 빛이 투사되어 균질한 매질을 통과할 때 흡수된 빛과 통과된 빛의 강도에 대한 상관관계를 나타내는 법칙이다. (전진홍, 2011) 즉, 발광 다이오드에서 발생된 빛이 말초 부위의 피부에 투사될 때, 빛의 일부는 혈액을 통과되어 센서로 전달되고 나머지 빛의 일부는 혈액에 의해 흡수된다. 이 때, 센서로 전달된 빛의 강도와 혈액에 의해 흡수된 빛의 강도의 합은 처음 투사한 빛의 강도와 같다는 법칙이다. (김래현, 2008) 이 법칙은 아래 식(1)로 나타낼 수 있다.
Figure PCTKR2016000939-appb-M000001
이때 It는 투과 또는 반사되는 빛의 강도이며, Io는 흡수 또는 입사되는 빛의 강도이다. ε(λ)는 조직의 광학적인 흡수율에 해당하는 소멸계수이며, c는 조직이 빛을 흡수하는 농도이고, d는 광학적 경로의 길이이다. (이한욱, 2009) 고정된 자세에서 일정량의 빛을 말초 부위의 피부에 투사했을 경우, 심장의 수축과 이완 활동에 따라 ε(λ)와 c는 대개 일정하며 d는 변하는 특성이 있다. d를 변화시키는 요인은 말초 부위의 혈류량의 변화이며, 이를 이용하여 맥파를 검출할 수 있다. (이한욱, 2009)
일반적인 PPG 신호 그래프는 도4에 도시된 바와 같은데, 이러한 PPG 신호에서 여러 정보를 얻을 수 있다. 심장이 수축할 때에는 혈액의 양이 많아지기 때문에 더 많은 빛이 혈액에 흡수되어 투과된 빛의 강도는 감소된다. 따라서 그래프의 한 주기에서 감소하는 형태로 보이게 된다. 심장이 이완할 때에는 혈액의 양이 상대적으로 줄어들기 때문에 더 적은 빛이 혈액에 흡수된다. 따라서 그래프의 한 주기에서 투과된 빛의 강도가 증가하는 형태로 보이게 된다. 한편, PPG 신호에서 현재 주기의 최고점인 peak에서 이전 주기의 최저점인 trough의 크기를 진폭(Amplitude)이라고 하고, 현재 주기의 peak와 이전 주기의 peak 사이의 거리를 PPI(Peak to Peak Interval)라고 한다. Amplitude와 PPI 값은 사용자의 상태에 따라 그 값이 계속 변하게 된다. 특히 PPI의 경우, PPI가 감소한다는 것은 교감 신경의 활성화되어 심장 박동이 빨라진 것을 의미하고, 이는 각성 상태에 가깝다는 것을 나타낸다. 반대로, PPI가 증가한다는 것은 부교감 신경이 활성화되어 심장 박동이 느려진 것을 의미하고, 이는 이완 상태에 가깝다는 것을 나타낸다. (오동기, 2012) 즉, PPI의 변화를 통해 심장 박동 수를 계산할 수 있으며, 사용자의 심리적인 상태를 각성 또는 이완의 상태로 판단할 수 있다.
카메라 영상 기반 PPG 측정
PPG 신호를 측정하는 센서는 크게 투과 형 센서와 반사 형 센서로 나눠진다. 투과 형 센서는 빛을 투사하는 LED와 피부를 투과한 빛의 강도를 측정하는 광다이오드로 구성되며, 투광부와 수광부가 서로 마주보게 구성된다. 반사 형 센서는 빛을 투사하는 LED와 피부에 부딪혀 반사되는 빛의 강도를 측정하는 광다이오드로 구성되며, 투광부와 수광부가 나란히 위치하도록 구성된다. (김도영, 2006) 도5에서 (a)는 투과 형 센서이고, (b)는 반사 형 센서이다.
센서의 LED는 스마트폰의 Flash로 대체할 수 있으며, 센서의 광 다이오드는 스마트폰의 후방 Camera로 대체할 수 있다. 스마트폰에서 Flash와 Camera는 나란히 위치하여 있기 때문에 반사 형 센서라고 볼 수 있으며, 반사 형 센서와 같은 원리로 스마트폰에서 PPG 신호를 측정할 수 있다. 즉, Flash의 빛이 피부에 투사되면 빛의 일부는 혈류량의 변화에 따라 흡수되고, 나머지 빛의 일부는 반사되어 스마트폰의 카메라에 반영된다. 이렇게 측정된 손가락 영상에서 PPG 신호를 획득할 수 있다. 따라서 카메라의 영상 품질이 중요한 요소가 될 수 있기 때문에, 영상의 품질을 위해 Resolution(해상도), Bit rate(영상 재생 비트율), Flash(플래시)의 3가지 속성을 고려하여 사전 실험을 하였다.
No Resolution Bitrate (bps) Flash
1 176x144 200 On
2 176x144 200 Off
3 176x144 350 On
4 176x144 350 Off
5 176x144 500 On
6 176x144 500 Off
7 320x240 500 On
8 320x240 500 Off
9 320x240 1250 On
10 320x240 1250 Off
11 320x240 2000 On
12 320x240 2000 Off
13 640x480 2000 On
14 640x480 2000 Off
15 640x480 3500 On
16 640x480 3500 Off
17 640x480 5000 On
18 640x480 5000 Off
실험에 사용된 스마트폰은 Samsung Galaxy Note 3고, Android 버전은 4.4.2이며, Kernel 버전은 3.4.0이다. Resolution은 영상을 구성하는 픽셀 수로 Resolution이 높을수록 이미지가 깨끗하고 선명하게 보인다. 그러나 그만큼 처리해야 할 픽셀 수가 증가하여 많은 양의 메모리가 필요하며 처리 속도가 감소한다. Bitrate는 특정한 시간 단위마다 처리하는 비트 수로, 주로 초당 비트 수(bps: bit per seconds)를 사용하여 계산한다. Flash는 환경적 조건인 빛을 조절하기 위해 고려되었다. 실험에서 Resolution은 176x144, 320x640, 640x480으로 설정하였고, Bit rate는 각 Resolution에 맞는 표준 범위를 최소, 중앙, 최대값으로 3단계로 분류하여 설정하였다. Flash는 On, Off의 2가지 경우로 설정하였다. 표 2는 실험에서 설정한 총 18가지의 독립변수를 보여준다.
실험은 스마트폰과 상용화된 PPG 신호 측정 장비(PPG, Biopac)를 동시에 측정하여, 상용화 장비 대비 스마트폰으로 측정한 심박의 정확률을 평가하였다. 18가지 태스크에 대해 센서로 측정한 PPG신호와 스마트폰으로 측정한 PPG 신호의 PPI를 계산하고, 그 상관성 분석을 실시하였다. 사전 실험 결과, PPG 센서와 가장 높은 상관성을 보이는 조건은 Task 17인 경우로, 0.84의 높은 상관성을 보이는 것을 확인하였다.
도6은 피험자와 Task에 따른 PPI 평균을 스마트폰과 센서로 분류하여 보여주는 것이고, 도7은 18가지 Task에 대한 상관성 결과를 보여준다.
사전 실험의 결과에 따라 정확한 PPG 신호를 측정하기 위한 스마트폰 카메라의 영상 품질은 Resolution 640x480, Bitrate 5000, Flash on인 것을 확인할 수 있었으며, 이후 카메라의 설정은 640x480, 5000bps, flash on으로 진행하였다.
한편, 이전 연구에서 센서를 통해 획득한 PPG 신호와 스마트폰 카메라 영상의 R(Red), G(Green), B(Blue), H(Hue), S(Saturation), I(Intensity) 성분으로 획득한 PPG 신호의 상관성 분석 결과, 영상의 Red 성분을 통해 획득한 PPG 신호가 가장 상관성이 높았다. (김민희 외, 2014) 따라서 본 논문에서도 카메라 영상에서 Red값을 통해 PPG 신호를 측정하였다. 스마트폰 카메라로 들어오는 영상은 YUV420 포맷이기 때문에, 도8의 식으로 YUV 포맷을 RGB 포맷으로 변환하였고, 도9는 안드로이드 자바 코드에서 변환 과정을 보여준다.
스마트폰 카메라의 프리뷰 영상을 프레임별로 받아와서, 실시간으로 YUV 포맷에서 RGB 포맷으로 변환하기 위해 Surface Holder를 사용한다. Surface Holder는 콜백(Callback) 함수로, Surface라는 버퍼를 이용하여 매 프레임마다 불러올 수 있다. 실시간 영상 처리는 계산 량이 많기 때문에 어플리케이션에 부담이 될 수 있다. 따라서 Surface View를 통해 백그라운드에서 쓰레드(thread)를 통해 화면에 띄우는 방식으로 어플리케이션의 부담을 줄여주었다. 도10은 카메라로부터 영상을 입력 받아, 화면에 뷰를 띄우는 것까지의 과정을 보여준다.
위의 과정을 통해 한 프레임마다 Red 값을 추출하였고, 이 Red값을 실시간으로 추출하여 PPG 신호를 획득하였다. 도11은 Red 값을 통해 추출된 PPG 신호를 보여준다.
PPG 신호 처리
PPG 신호로부터 맥박(HR: Heart Rate)을 계산하고, 각성 또는 이완으로 분류하기 위해서는 도12와 같은 순서로 신호 처리 과정이 진행된다.
첫 번째 순서로, PPG 신호에서 Peak를 검출해야 한다. 그러나 Red값으로부터 추출된 PPG 신호는 기저라인이 계속 변동될 뿐만 아니라 신호 자체에 노이즈가 존재한다. 이러한 노이즈는 PPG 신호를 측정할 때 사용자의 호흡이나 다른 미세한 움직임에 의해 나타날 수 있다. (김도영, 2006) 노이즈는 Peak 검출부터 맥박 계산, 각성 또는 이완 판단의 모든 과정에 오차를 유발할 수 있으므로 PPI를 계산하기 전에 제거하는 과정을 거쳐야 한다.
노이즈가 발생하지 않은 PPG 신호는 저주파 대역에서 활성화되며, 노이즈는 주로 고주파 대역에서 활성화된다. (김민호 외, 2013) 따라서 저역 통과 필터 (Low Pass Filter)를 사용하여 PPG 신호에 섞여있는 노이즈를 제거할 수 있고, 이를 통해 PPG 신호를 깨끗하게 만들 수 있다. (오동기, 2012) 저역 통과 필터의 사용에 있어서 일반적으로 Moving Average Filter(이동 평균 필터)를 사용한다. Moving Average Filter는 측정된 모든 데이터를 사용하지 않고, 데이터의 최근 측정값부터 필터 크기만큼 일부 데이터만 사용하여 평균을 계산하는 방법이다. (정인복, 2014) Moving Average Filter와 관련된 식은 아래의 식(2)와 같다.
Figure PCTKR2016000939-appb-M000002
본 발명에서도 기저라인을 보상하고 노이즈를 제거하기 위해 필터 크기가 7인 Moving Average Filter를 사용하였고, 카메라 영상에서 프레임별로 계산되어지는 Red값을 입력 데이터로 사용하였다. 도13은 본 발명에서 사용한 Moving Average Filter의 개념을 보여준다
Red값으로부터 획득한 PPG 신호가 오른쪽에서 왼쪽으로 입력될 경우, 필터 크기만큼 7개의 Red값 데이터의 평균을 계산하여 필터링하게 된다.
도14의 (A)는 Moving Average Filter를 적용하기 전의 PPG 신호를 보여주며, 도14b는 Moving Average Filter를 적용한 후의 PPG 신호를 보여준다. 각 그래프에서 x축은 시간이며, y축은 0 ~ 255 사이의 Red 값을 나타낸다. 필터링 된 변화를 직관적으로 보기 위해 y축의 간격을 일정하게 유지하였다. 그 결과, 도14의 (A)에서 보다 도14의 (B)에서 기저라인이 일정하게 유지되는 것을 볼 수 있으며, 노이즈가 대부분 제거된 것을 볼 수 있다. 도14b에서는 신호가 제대로 나오지 않은 것처럼 보이나, 도14의 (B)에서 간격을 더 세세하게 나누어서 보면, 신호가 제대로 나온 것을 확인할 수 있다.
필터링 된 PPG 신호를 통하여 정확한 Peak를 검출할 수 있다. 본 발명에서는 실시간으로 정확한 Peak를 검출하기 위해 슬라이딩 윈도우(Sliding Window) 방법을 활용하였다. 일반적으로 Sliding Window 방법은 두 호스트간의 통신에서 패킷 흐름을 제어하기 위해 사용되는 방법으로, 패킷이 하나씩 전송되지 않고 패킷을 window size만큼 한 번에 전송한다. 그 후에, window를 Resolution만큼 옮기면서 그 다음 패킷들을 전송하는 방식이다. 이 원리를 활용하여, 본 논문에서는 Window size는 30, Resolution은 1로 한 Sliding Window 방법을 사용하였다. 필터링 된 PPG 신호를 window size만큼 읽어온 뒤, 하나의 window안에서 peak가 검출되도록 하였다. 도15에 도시된 바와 같이, Window는 1 Resolution 간격으로 옆으로 이동하면서 계속 peak가 검출될 수 있게 하였다.
peak를 검출하기 위해, 하나의 window내에서 일차 미분을 실시하였다. 일차 미분의 결과, 기울기 부호가 변하는 지점을 peak로 간주하였다. 그러나 1 Resolution간격으로 이동하기 때문에, 한 window 내에서 같은 peak가 검출될 수 있다. 따라서 이전 peak와 다른 peak일 경우에만 real peak라고 검출하였고, 이때의 시간을 저장하였다. 도16은 peak 검출 과정의 순서를 보여준다.
peak를 검출한 후에, peak와 peak의 시간 간격인 PPI(Peak to Peak Interval)를 계산할 수 있다. n+1번째 peak에서 n번째 peak값의 차를 n시점에서의 PPI로 결정하였다. (이현민 외, 2008) 이와 관련된 식은 아래의 식(3)과 같다.
Figure PCTKR2016000939-appb-M000003
이렇게 계산된 PPI의 변화량을 연속적으로 나타낸 그래프를 PRV(Pulse Rate Variability)라고 하며, (이현민, 2008) 도17과 같은 그래프로 나타낼 수 있다.
맥박(HR: Heart Rate)는 1분 (60초) 동안 심장이 수축과 이완을 반복하는 횟수를 말하며, 다음과 같이 식(4)으로 계산된다. (김진성 외, 2011)
Figure PCTKR2016000939-appb-M000004
한편, PPI를 통해 사용자의 감성을 각성과 이완의 판단할 수 있다. 만약에 사용자가 각성 상태라면, 교감신경이 활성화되면서 맥박을 증가시키므로 PPG신호의 PPI가 감소한다. 반대로 사용자가 이완 상태라면, 부교감 신경이 활성화되면서 맥박을 감소시키므로 PPG신호의 PPI가 증가한다. (김민호 외, 2013) 따라서 사용자의 평균 PPI를 Reference로 설정한 후에, 현재 PPI가 평균 PPI보다 감소하면 사용자의 감성 상태를 각성이라고 판단할 수 있으며, 현재 PPI가 평균 PPI보다 증가하면 사용자의 감성 상태를 이완이라고 판단할 수 있다. 도18은 PPI로부터 사용자의 감성을 각성 또는 이완으로 분류되는 과정을 보여준다.
이하에서는 스마트폰에서 동영상의 채도와 명도를 변경하는 방법에 대하여 살펴본다.
안드로이드 플랫폼에서 동영상 플레이어 개발
동영상은 말 그대로 움직이는 영상으로, 한 장, 한 장의 정지 영상으로 구성된 영상의 연속이라고 할 수 있다. 이때 한 장의 정지 영상을 프레임이라고 하며, 1초당 재생되는 프레임 수를 프레임-레이트(frame-rate)라고 한다. 인간의 시각 시스템은 1초당 12프레임 이상부터 개별 정지 영상으로 인지하지 못하고 동영상으로 인지하게 된다. (이석호 외, 2013) 프레임-레이트가 작을수록 용량은 작아지지만 화면이 끊어지면서 보이는 경향이 있고, 프레임-레이트가 클수록 부드럽게 보이지만 용량이 커지는 경향이 있다. 따라서 동영상을 고화질이면서 저용량으로 만들기 위해서는 압축이 필요하다.
도19는 동영상의 인코딩(Encoding)과 디코딩(Decoding), 먹싱(Muxing) 과 디먹싱(DeMuxing)하는 과정을 보인다.
도19에 도시된 바와 같이, 원본 영상인 비디오 픽셀 데이터(ideo Pixel data)에서 특정 코덱(CODEC)을 사용하여 압축 영상인 Video Bit-Stream으로 변환하는 것을 인코딩(Encoding)이라고 하며, 이와 반대 과정으로 압축을 해제하는 과정을 디코딩(Decoding)이라고 한다. 이 과정에서 사용되는 코덱은 미디어 정보를 압축할 수 있는 소프트웨어나 알고리즘을 말하며, 대표적인 비디오 코덱으로는 H.264, DivX 등이 있으며 대표적인 오디오 코덱으로는 mp3가 있다. 인코딩 된 영상을 특정 컨테이너 포맷(Format)에 담아 Video File로 변환하는 것을 먹싱(Muxing)이라고 하며, 이와 반대 과정으로 포맷에서 비디오 데이터와 오디오 데이터를 빼내는 과정을 디먹싱(Demuxing)이라고 한다. 이 과정에서 사용되는 포맷은 주로 컨테이너라고 부르며, 파일 형식 또는 확장자라고도 부른다. 컨테이너는 Video Codec과 Audio Codec을 하나의 파일로 만드는 상자 역할을 하며, 대표적인 컨테이너 포맷은 AVI, mp4 등이 있다.
도20은 Video File과 Audio File로 구성된 동영상 파일 구조의 예를 보여준다. 이 파일의 포맷은 AVI이고, Video file의 코덱은 DivX이며 Audio file의 코덱은 MP3인 것을 확인할 수 있다. 아래의 표 3은 안드로이드 플랫폼에서 공식적으로 지원하는 코덱과 파일 포맷을 나타낸다.
Codec Format
H.263 3gp, mp4
H.264 AVC 3gp, mp4, ts
MPEG-4 SP 3gp
VP8 Webm, mkv
한편, 스마트폰 운영체제 중에서 안드로이드가 가장 많은 시장 점유율을 가지고 있기 때문에, 안드로이드 운영체제 기반의 스마트폰에서 동영상 플레이어를 구현하였다. 안드로이드에서 기본적으로 제공되는 동영상 플레이어는 MediaPlayer를 사용하는 방법과 VideoView를 사용하는 방법으로 총 2가지이다. (이돈수, 2012) VideoView를 이용한 플레이어는 쉽게 구현될 수 있으며 단순한 재생을 위한 플레이어로 편리하게 사용된다. MediaPlayer는 VideoView보다 재생과 관련된 메서드가 더 많기 때문에, 섬세하게 동영상을 통제할 수 있는 장점이 있다. 그러나 안드로이드에서 기본적으로 제공하는 두 개의 동영상 플레이어는 동영상 파일을 읽어 와서 재생과 관련된 기능만 가능하다. 본 발명의 목적인 실시간으로 동영상의 채도와 명도를 변경시키려면, 디먹싱 과정과 디코딩 과정을 통해 동영상 파일을 프레임별로 받아와서, 한 프레임마다 채도와 명도를 변경시켜줘야 한다. 따라서 한 프레임이 Bitmap으로 사용자 뷰에 계속 디스플레이 되면서, 동영상을 플레이하도록 하였다.
동영상의 채도와 명도 처리
실시간으로 채도와 명도를 변경시키기 위해서, Video File을 한 프레임씩 읽어올 수 있도록 원본 픽셀 데이터에 접근해야 한다. 그 후에 픽셀 데이터의 색 공간 변환을 통해 채도와 명도를 변화시키고 화면에 보여주게 된다. 도21은 동영상의 채도와 명도 처리 과정을 보이는데, 이에 도시된 바와 같이 동영상 채도와 명도 처리 과정이 진행된다.
동영상에서 픽셀 데이터에 접근하기 위해서는 디먹싱 과정과 디코딩 과정을 거쳐야 한다. 디먹싱 과정은 비디오 파일에서 비디오 데이터 스트림을 추출하는 과정이고, 디코딩 과정은 비디오 데이터 스트림에서 특정 비디오 코덱을 사용하여 원본 픽셀 데이터를 추출하는 과정이다. 이를 위해 FFmpeg Library를 이용한다. FFmpeg Library는 크로스 플랫폼을 지원하는 오픈소스 멀티미디어 프레임워크로, 인코딩과 디코딩, 먹싱과 디먹싱, 재생 기능까지 멀티미디어와 관련된 모든 기능을 갖추고 있는 라이브러리이다. 표 4는 FFmpeg Library의 세부 라이브러리와 그 기능을 보여준다. 세부 라이브러리 중, libavformat library를 통해서 Video File이 Video Bit-Stream으로 디먹싱 과정을 거치며, libavcodec library를 통해서 Video Bit-Stream이 Pixel-Data로 디코딩 과정을 거친다. 도22는 원본 픽셀 데이터 접근 과정을 보여준다.
Figure PCTKR2016000939-appb-T000001
FFmpeg Library는 C, C++기반 라이브러리이고, 일반적인 안드로이드 개발은 Java 기반이기 때문에, 안드로이드 App(Java)과 FFmpeg Library (C, C++)를 연결해주는 매개체인 JNI(Java Native Interface)를 이용하여 NDK(Native Development Kit) 방법으로 컴파일 해야 한다. 도23은 Java code의 Java class Method에서 C, C++ code의 Native method를 JNI를 통해 호출(call)하고, 그 결과를 JNI를 통해 Java로 리턴(return)하는 NDK 컴파일 과정을 보여준다.
동영상 재생을 위한 Java code는 그림 24와 같다. Java code에서 basicplayer라는 이름의 C, C++ code를 사용하기 위해서, system.LoadLibaray 메서드를 이용하였다. 또한, C, C++ code에 존재하는 6개의 native 함수를 사용하기 위해 먼저 선언해 주었다. 사용된 native 함수와 그 기능은 표 5에서 확인할 수 있다.
Figure PCTKR2016000939-appb-T000002
한편, 도24는 동영상 재생을 위해 구현된 Java code인데, 여기에서 볼 수 있듯이, 동영상 재생을 위해 사용자 뷰(View)인 MoviePlayView 클래스를 이용하는데, 우선 동영상을 저장 공간으로부터 불러와서 오류가 없는지 확인한다. 동영상의 한 프레임마다 Bitmap으로 화면에 재생되기 위해, Bitmap의 가로는 동영상의 width, Bitmap의 세로는 동영상의 height으로 설정하고, Bitmap의 픽셀 포맷은 ARGB_8888로 설정하였다. onDraw()함수에서 사용자의 감성 상태에 따라 renderFrame() 함수의 매개 변수 값을 다르게 하여 호출하였고, 이에 따라 처리된 프레임을 계속해서 Bitmap에 재생하였다.
Java code에서 JNI를 통해 호출한 C/C++ code는 도25와 같다. 이 코드는 Java code와 실제로 동작할 C, C++ 코드를 연결시켜준다. 함수의 이름은 도26에 도시된 바와 같은 규칙을 이용한다.
Native 함수에서 openMovie() 함수는 도27에 도시된 바와 같다. FFmpeg Library를 초기화한 후에, 입력 받은 파일의 오류 여부를 검사한다. 그 후에 파일의 포맷과 코덱을 찾아서, 디먹싱 과정을 진행하고 디코딩 과정을 위한 준비가 진행된다. 또한 비디오 스트림에 대한 정보를 찾고, 디코딩 과정 후에 추출될 프레임을 저장할 공간을 할당한다.
Native 함수에서 호출한 decodeFrame() 함수는 다음 도28에 도시된 바와 같다. 이 함수에서 전체 비디오 스트림에 걸쳐서 디코딩 과정을 진행하게 되며, 디코딩 결과 하나의 프레임씩 얻어올 수 있다. 이 프레임은 YUV format이기 때문에, FFmpegLibrary를 통해 YUV format에서 RGB format으로 변환한다. 그 후에 rgbTohsv() 함수를 통해 HSV format으로 변환하게 된다. 변환된 프레임은 도29의 copyPixels() 함수를 통해 bitmap 형식으로 복사된다.
Native 함수에서 getWidth() 함수와 getHeight() 함수는 도30과 같다. 이 함수에서는 입력받은 동영상 파일의 Width와 Height을 전달해준다. 마지막으로 closeMovie() 함수는 도31에 도시된 바와 같다. 이 함수는 앞에서 할당했던 공간을 해제하며 코덱과 포맷을 종료한다.
한편, Pixel-Data는 YUV Pixel-Data이며, 콘텐츠의 채도와 명도를 조절하기 위해서는 HSV Pixel-Data로 변환시켜야 한다. 이를 위해 우선 RGB Pixel-Data로 변환시킨 후, HSV Pixel-Data로 변환시켜, 채도(S: Saturation)와 명도(V: Value)를 변화시킨다. 그 후에 다시 RGB Pixel-Data로 변환시켜서 Screen에 재생될 수 있도록 하였다. 이 과정을 도32에서 확인할 수 있다.
Native 함수 중, decodeFrame() 함수에서 FFmpegLibrary를 통해 YUV format에서 RGB format으로 색 공간을 변경하였다. 그 이후에 RGB format에서 HSV format으로 색 공간을 변경하였다. 도33은 이와 관련된 코드이다. 이 부분에서 채도와 명도의 값을 변경시킬 수 있다. 변경된 값으로 스크린에 재생되기 위해, HSV format에서 RGB format으로 색 공간을 변경하였다. 도34는 hsvTorgb() 함수를 보여준다.
이하에서, 실시간 모바일 감성 콘테츠 플레이어에 대해 살펴본다.
실시간 모바일 감성 콘텐츠 플레이어의 유저 인터페이스
본 발명이 제시하는 감성 콘텐츠 플레이어의 사용자 인터페이스(User Interface: 유저 인터페이스)는 도35과 같다. 화면 상단에는 심장을 상징하는 Image, 맥박을 표시하는 Text, 카메라 프리뷰 화면, 측정 버튼으로 구성되어 있다. 사용자가 스마트폰 후방 카메라에 손가락을 대고 측정버튼을 누르면, 동영상이 재생된다. 동영상을 보는 동안 실시간으로 맥박이 계산되어 나타나고, 내부적으로는 사용자의 감성을 실시간으로 각성 또는 이완으로 분류시켜서 그에 따라 채도와 명도가 변경되어 보이게 된다.
실시간 모바일 감성 콘텐츠 플레이어 구성
본 발명에서 제시하는 실시간 모바일 감성 콘텐츠 플레이어는 크게 두 부분으로 나누어진다.
첫 번째 부분은 PPG 측정 및 분석 모듈이다. 스마트폰 카메라에서 최상의 품질 영상으로 R값을 획득하여 PPG 신호를 추출한다. Moving average filter의 신호처리를 통해 신호를 깨끗하게 만든 후에, Sliding Window 기법을 이용하면서 신호의 부호가 바뀌는 지점을 Peak로 검출하고, 그 때의 시간을 저장하여 PPI를 계산한다. PPI는 두 곳에 이용되는데, 첫 번째는 PPI를 통해 HR을 계산하여 출력한다. 두 번째는 현재 PPI와 평균 PPI를 비교하여 사용자의 감성을 각성 또는 이완으로 분류한다. 도36은 PPG 측정 및 분석 모듈의 구성도를 보여준다.
두 번째 부분은 동영상 처리 모듈이다. Video File을 디먹싱 과정을 거쳐 Video Bit-Stream으로 변환하고, Video Bit-Stream을 디코딩 과정을 거쳐 Pixel data로 변환한다. YUV Pixel data에서 RGB Pixel Data로 변환한 후에, 이를 HSV Pixel Data로 변환한다. 이때, 각성 또는 이완에 따라 정해진 규칙에 맞게 동영상 콘텐츠의 채도와 명도를 변화시킨다. 변경된 채도와 명도를 적용하여 다시 RGB Pixel Data로 변환하여 Screen에 동영상을 재생한다.
도37은 동영상 처리 모듈의 구성도를 보여주며, 도38은 실시간 모바일 감성 콘텐츠 플레이어의 전체 구성도를 보여준다.
도37에 도시된 바와 같이, 본 발명에 따라 사용자의 감성이 판별되며, 이를 이용해 동영상의 채도 및 명도를 변환하고 변환된 영상(비디오)를 재생한다. 도38에 도시된 바와 같이 본 발명에 따른 모바일 감성 콘텐츠 플레이어는 PPG 센서로 사용되는 카메라와 이로부터의 데이터를 처리하여 사용자의 감성 상태를 판단하고, 이에 따라 감성 콘텐츠, 즉 동영상의 채도 및 명도를 변환하는 프로세서, 그리고 이를 표시하는 디스플레이를 구비한다.
도39는 실시간 모바일 감성 콘텐츠 플레이어의 전체 파일간의 연관관계를 보여준다.
UI(User Interface: 사용자 인터페이스)는 2개의 LinearLayout으로 구성된다. 첫 번째 LinearLayout은 ImageView, TextView, FrameLayout, Button으로 구성되며, 두 번째 LinearLayout은 사용자 정의 뷰인 MoviePlayView로 구성된다.
FmepgBaisc.java 파일에서 액티비티와 UI를 설정한 후에 버튼을 클릭하면, 카메라 녹화 속성이 설정되고, 녹화가 시작된다. 이와 동시에, FrameLayout에서 BackPreview.java 파일을 통해 카메라 프리뷰가 실행되고, 카메라 콜백 함수를 통해 매 프레임마다 YUV에서 RGB로 변환된다. 매 프레임마다 R값이 BeatData.java 파일로 전달되어, Peak를 검출하고 PPI와 HR을 계산된다. 이 과정에는 필터와 윈도우를 초기화하고, 업데이트하고, Peak를 비교하는 과정이 진행된다.
한편, 버튼을 클릭하는 순간 리소스로부터 비디오 파일을 입력받아 MoviePlayView를 통해 동영상이 재생된다. 이 동영상은 한 프레임마다 Bitmap으로 그려지게 되는데, FFmpegLibrary를 포팅을 통해 동영상을 한 프레임씩 획득 가능하다. JNI 폴더에 FFmpegLibrary와 Basicplayer 폴더가 있으며, Basicplayer 폴더 안에 있는 inferface.c 파일을 통해 FFmpegBasic.java 파일과 BasicPlayer.c 파일을 연결시켜준다. C, C++기반의 파일로 코딩 된 BasicPlayer.c에서 FFmpegLibrary를 이용하여 디먹싱 과정과 디코딩 과정이 진행되고, 채도와 명도가 변경되어 한 프레임씩 Bitmap으로 출력해준다. 이 과정에서 C, C++ 파일 빌드(build)시 필요한 libbasicplayer.so 파일과 makeFile이 함께 실행된다.
실시간 모바일 감성 콘텐츠 플레이어 적용 시나리오
실시간 모바일 감성 콘텐츠 플레이어는 스마트폰에서 PPG 신호를 측정 및 분석하여, 사용자의 감성 상태를 각성 또는 이완으로 분류한다. 분류된 감성에 따라 콘텐츠의 채도와 명도를 변경시켜서 재생한다. 이 시스템을 활용하여 각성 유도 시나리오와 이완 유도 시나리오를 구현하고, 실험을 통해 시스템의 유효성을 검증하고자 한다.
기존의 많은 연구에서 각성 상태일 때는 채도 증가와 명도 증가에 대응된다고 하였고, 이완 상태일 때는 채도 감소와 명도 감소에 대응된다고 하였다. (Bronckers, 2009; Conway, 2010; Scheirer et al, 2000; 양희경, 2012; 이수진, 2008) 이에 따라 본 발명에서는 각성 상태를 유도하기 위해서는 콘텐츠의 채도와 명도를 증가시키고, 이완 상태를 유도하기 위해서는 콘텐츠의 채도와 명도를 감소시키는 것으로 규칙을 설정하였다. 도40은 2차원 공간 상에서 채도와 명도 규칙을 보여준다.
각성 유도 시나리오
각성 유도 시나리오는 각성의 감성을 더 강화시키고 싶은 목적이 있는 콘텐츠를 플레이한다.
도41은 각성 유도 시나리오의 진행 과정을 보여준다. ① 콘텐츠를 보는 동안, 콘텐츠가 사용자의 감성 변화에 영향을 준다. ② 이와 동시에 스마트폰의 카메라 기반으로 측정된 PPG 신호를 분석하여 사용자의 감성을 각성 또는 이완을 판단한다. ③ 감성 상태가 이완일 경우에만 콘텐츠의 채도(Saturation)와 명도(Brightness)가 증가하도록 변화시킨다. (각성일 경우에는 채도와 명도의 변화가 없는 콘텐츠가 플레이된다.) ④ 변화된 콘텐츠는 다시 사용자에게 영향을 주어, 각성 상태로의 감성 변화를 유도한다.
이완 유도 시나리오
이완 유도 시나리오는 이완의 감성을 더 강화시키고 싶은 목적이 있는 콘텐츠를 플레이한다.
도42는 이완 유도 시나리오의 진행 과정을 보여준다. ① 콘텐츠를 보는 동안, 콘텐츠가 사용자의 감성 변화에 영향을 준다. ② 이와 동시에 스마트폰의 카메라 기반으로 측정된 PPG 신호를 분석하여 사용자의 감성을 각성 또는 이완으로 판단한다. ③ 감성 상태가 각성일 경우에만 콘텐츠의 채도(Saturation)와 명도(Brightness)가 감소하도록 변화시킨다. (이완일 경우에는 채도와 명도의 변화가 없는 콘텐츠가 플레이된다.) ④ 변화된 콘텐츠는 다시 사용자에게 영향을 주어, 이완 상태로의 감성 변화를 유도한다.
검증 실험
실시간 모바일 감성 콘텐츠 플레이어를 활용한 각성 유도 시나리오와 이완 유도 시나리오의 유효성을 검증하기 위해 실험을 진행하였다. 적용 시스템의 검증을 위해 참여한 피험자는 총 10명의 대학생으로, 남자 5명, 여자 5명으로 평균 연령은 25.5세이다. 모든 피험자는 심혈관계 질환이 없고, 실험 전날 음주 및 흡연을 하지 않도록 하였다. 도43에 도시된 바와 같이, 정확한 PPG의 측정을 위해 측정되는 손이 심장과 비슷한 위치에서 측정되도록 하였고, 피험자의 왼손 검지를 스마트폰(galaxy note 3) 후방 카메라에 대고 실험을 진행하였다. 카메라 영상 품질을 고려하기 위한 사전 실험에서 센서를 통해 측정한 PPG 신호와 스마트폰으로 측정한 PPG 신호의 사이의 상관성이 0.84로 높았다. 따라서 별도의 센서 없이, 스마트폰만 이용하여 PPG 신호를 획득하였다. 실험에서 사용된 콘텐츠는 감성적인 요소가 포함되지 않은 영상으로, 스토리가 없는 표준 데모 영상이다. 도44에 도시된 바와 같이, 이 영상은 컬러가 잘 표현되어 있는 자연적인 이미지로 이루어져 있으며, 2분 30초 동안 재생되었다.
각성 유도 시나리오는 사용자가 이완 상태일 경우 채도와 명도를 증가시켜 각성 감성으로 유도함으로써, 사용자가 콘텐츠를 시청하는 동안 각성 감성을 더욱 강하게 느끼게 하려는 목적이 있다. 콘텐츠에 아무런 변화를 주지 않는 일반 플레이와 각성 유도 시나리오 플레이를 통해, 각성 유도 시나리오의 유효성을 보고자 한다.
이완 유도 시나리오는 사용자가 각성 상태일 경우 채도와 명도를 감소시켜 이완 감성으로 유도함으로써, 사용자가 콘텐츠를 시청하는 동안 이완 감성을 더욱 강하게 느끼게 하려는 목적이 있다. 콘텐츠에 아무런 변화를 주지 않는 일반 플레이어와 이완 유도 시나리오 플레이를 통해, 이완 유도 시나리오의 유효성을 보고자 한다.
실험 절차는 도45에 도시된 바와 같다. 실험 시작 전에 실험의 목적과 절차, 실험 방법에 대해 설명하였다. 그 후 피험자의 왼손 검지가 스마트폰의 후방 카메라(광 센서)에 접촉되도록 하였다. 피험자의 평균 PPI를 2분 동안 측정한 후에, 일반 플레이, 각성 유도 시나리오 플레이, 이완 유도 시나리오 플레이 순으로 2분 30초간 시청하였다. 플레이 사이마다 2분씩 휴식을 주어 이전 시청의 영향을 최소화하였다.
PPI의 대응표본 T 검정 결과는 다음과 같다. 일반 콘텐츠와 본 발명에 따른 각성 유도 시나리오의 PPI 비교하는 그래프 및 데이터 표를 도시한다. 도46에 도시된 바와 같이, 일반 콘텐츠를 시청할 때의 PPI 평균값인 0.9158에 비하여, 각성 유도 시나리오에 따라 콘텐츠를 시청할 때의 PPI 평균값은 0.8758로 유의수준 99%에서 유의한 차이를 보였다. (p<.000, t=7.388, n=917) 즉, 일반 콘텐츠를 시청할 때보다 각성 유도 시나리오에 따라 콘텐츠를 시청할 때 PPI가 유의하게 낮은 경향을 보였다. 이를 통해 각성 유도 시나리오에 따라 콘텐츠를 시청하면 사용자의 감성을 각성으로 유도할 수 있는 것을 확인하였다.
또한, 도47은 일반 콘텐츠와 이완 유도 시나리오의 PPI 비교해 보인다.
도47에 도시된 바와 같이, 일반 콘텐츠를 시청할 때의 PPI 평균 값인 0.9158에 비하여, 이완 유도 시나리오에 따라 콘텐츠를 시청할 때의 PPI 평균 값은 0.9553으로 유의수준 99%에서 유의한 차이를 보였다. (p<.000, t=-5.856, n=917) 즉, 일반 콘텐츠를 시청할 때보다 이완 유도 시나리오에 따라 콘텐츠를 시청할 때 PPI가 유의하게 높은 경향을 보였다. 이를 통해 이완 유도 시나리오에 따라 콘텐츠를 시청하면 사용자의 감성을 이완으로 유도할 수 있다는 것을 확인하였다.
결론
일반적으로 콘텐츠를 시청할 경우, 콘텐츠와 사용자 사이에서 콘텐츠는 사용자의 감성 변화에 영향을 주었지만 사용자는 콘텐츠에 영향을 주지 않는 단방향 플레이어였다. 즉, 사용자의 감성 변화에 따라서 콘텐츠에 영향을 주는 플레이어는 없었다. 본 논문에서는 콘텐츠와 사용자가 서로 양방향으로 영향을 주는 인터랙티브한 콘텐츠를 제공하고자, 실시간 모바일 감성 콘텐츠 플레이어를 개발하였다.
실시간 모바일 감성 콘텐츠 플레이어는 크게 2가지로 구성된다. 첫째, 콘텐츠가 가지고 있는 감성이 사용자의 감성 변화에 영향을 주며, 이 감성 변화를 알아내기 위해 생체 신호인 PPG를 측정하는 모듈이다. PPG를 측정하기 위해서 스마트폰의 카메라를 이용하였다. 카메라 영상 프레임에서 Red값을 받아왔고 이 Red값으로 PPG 신호를 추출하였다. PPG 신호로부터 PPI를 계산하고, 맥박을 출력하였다. 또한 PPI의 변화로부터 사용자의 감성을 각성 또는 이완으로 분류하였다.
둘째, 사용자의 감성 변화에 따라 콘텐츠에 영향을 주기 위해, 콘텐츠의 채도와 명도를 변화시키는 모듈이다. 콘텐츠의 한 프레임씩 받아와서 채도와 명도를 변경해야하기 때문에 FFmpegLibrary를 이용하여 디먹싱 과정과 디코딩 과정을 거쳤다. 획득한 프레임에서 채도와 명도를 변경하기 위해 YUV에서 RGB로, RGB에서 HSV로 색 공간을 변환하였다. 이 포맷에서 채도와 명도의 값을 변경시켰고, 마지막으로 스크린에 출력하기 위해 다시 HSV에서 RGB로 색 공간을 변환하였다.
실시간 모바일 감성 콘텐츠 플레이어를 활용하여 각성 유도 시나리오와 이완 유도 시나리오를 구현하였고, 이를 일반 콘텐츠와의 비교를 위해 검증 실험을 진행하였다. 일반 콘텐츠와 각성 유도 시나리오의 PPI 평균에 대하여 대응표본 T검정을 실시하였고, 일반 콘텐츠와 이완 유도 시나리오의 PPI 평균에 대하여 대응표본 T검정을 실시하였다. 분석 결과, 각성 유도 시나리오에 따라 콘텐츠를 시청할 때, 일반 콘텐츠를 시청할 때보다 평균 PPI가 유의하게 낮았으며 이는 각성 유도 시나리오가 사용자의 각성 감성을 유도한다고 할 수 있다. 또한, 이완 유도 시나리오에 따라 콘텐츠를 시청할 때, 일반 콘텐츠를 시청할 때보다 평균 PPI가 유의하게 높았으며 이는 이완 유도 시나리오가 사용자의 이완 감성을 유도한다고 할 수 있다.
결론적으로 본 연구에서는 별도의 센서 없이 스마트폰이라는 하나의 시스템 내에서 PPG를 통해 감성을 측정하였고, 그 감성에 따라서 콘텐츠의 분위기를 자연스럽게 이끄는 채도와 명도를 변화시킴으로써 감성을 반영하는 실시간 모바일 감성 콘텐츠 플레이어를 개발하였다. 검증 실험을 통해 실시간 모바일 감성 콘텐츠 플레이어 시스템은 콘텐츠가 사용자의 감성에 영향을 주는 동시에 사용자의 감성이 콘텐츠에 영향을 주는 시스템으로 검증되었다. 실시간 모바일 감성 콘텐츠 플레이어는 사용자와 콘텐츠가 서로 교감할 수 있도록 해줄 것이다.
그러나 본 연구에서는 상대적으로 스크린의 크기가 작은 스마트폰을 통해 콘텐츠를 시청했기 때문에 집중도의 한계가 있을 수 있다. 또한, 각성과 이완의 평가를 PPG 신호의 측정으로만 국한하였기 때문에, 정확한 판단을 위해 향후 연구에서는 스마트폰에서 다양한 생체 신호를 측정해야 할 것이다. 또한, 다양한 생체 신호를 통해 각성과 이완뿐만 아니라 여러 감성을 인식하고 콘텐츠에 반영시킬 수 있을 것이며, 콘텐츠의 제공 목적에 따라 해당 감성을 강화시키거나 약화시키게 할 수 있을 것이다. 단지 콘텐츠뿐만 아니라 게임 분야, 가상 현실분야, 스마트 기기 분야 등에서 다양하게 활용될 수 있을 것이다.

Claims (7)

  1. 모바일 기기에 마련되는 광 센서를 이용해 사용자의 PPG 정보를 획득하는 단계;
    상기 PPG 정보로부터 사용자 감성을 판단하여 이완 상태 또는 각성 상태를을 판단하는 단계;
    사용자의 감성 상태가 이완 상태인 경우 영상 콘텐츠의 채도와 명도를 증가시키고, 또는 각성 상태인 경우 영상 콘텐츠의 채도와 명도를 감소시키는 영상 변환 단계;
    영상 변환 단계를 거친 영상 콘텐츠를 상기 모바일 기기의 디스플레이를 통해 사용자에게 제시하여 사용자의 감성을 이완에서 각성 또는 각성에서 이완 상태로 유도하는 단계;를 포함하는 모바일 감성 콘텐츠 재생방법.
  2. 제1항에 있어서,
    상기 영상 콘텐츠는 YUV 포맷을 가지는 것을 특징으로 하는 모바일 감성 콘텐츠 재생 방법.
  3. 제2항에 있어서,
    상기 영상 변환 단계는 상기 YUV 포맷의 영상 콘텐츠를 프레임 단위로 HSV 포맷으로 변환하고, HSV 포맷의 영상에 대해 채도와 명도를 변환시키는 것을 특징으로 하는 모바일 감성 콘텐츠 재생 방법.
  4. 제3항에 있어서,
    상기 HSV 포맷의 영상을 RGB 포맷을 변환할 때에 상기 HSV 포맷의 영상을 RGB 포맷을 1차 변환하고, 1차 변환된 RGB 포맷의 영상을 HSV 포맷으로 2차 변환 하는 것을 특징으로 하는 모바일 감성 콘텐츠 재생 방법.\
  5. 제3항 또는 제4항에 있어서,
    상기 HSV 포맷의 영상을 RGB 포맷으로 변환한 후, RGB 포맷의 영상을 상기 모바일 기기에 마련된 디스플레이로 재생하는 것을 특징으로 하는 모바일 감성 콘텐츠 재생 방법.
  6. 제1항 내지 제4항 중의 어느 한 항에 기재된 방법을 수행하는 모바일 감성 콘텐츠 플레이어에 있어서,
    상기 사용자로부터 PPG 신호를 검출하는 후방 카메라;
    상기 후방 카메라로부터 상기 PPG 신호를 이용해 사용자의 감성 상태를 판단하고, 감성 상태에 따라 영상 콘덴츠의 채도와 명도를 변환하는 프로세서; 그리고
    사용자의 감성 상태에 따라 채도와 명도가 변환된 영상 콘텐츠를 표시하는 디스플레이;를 구비하는 것을 특징으로 하는 모바일 감성 콘텐츠 플레이어.
  7. 제6항에 있어서,
    상기 HSV 포맷의 영상을 RGB 포맷으로 변환한 후, RGB 포맷의 영상을 상기 모바일 기기에 마련된 디스플레이로 재생하는 것을 특징으로 하는 모바일 감성 콘텐츠 플레이어.
PCT/KR2016/000939 2015-04-22 2016-01-28 모바일 감성 콘텐츠 재생방법 및 이를 적용하는 플레이어 WO2016171376A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0056823 2015-04-22
KR20150056823 2015-04-22

Publications (1)

Publication Number Publication Date
WO2016171376A1 true WO2016171376A1 (ko) 2016-10-27

Family

ID=57143240

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/000939 WO2016171376A1 (ko) 2015-04-22 2016-01-28 모바일 감성 콘텐츠 재생방법 및 이를 적용하는 플레이어

Country Status (1)

Country Link
WO (1) WO2016171376A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101039404B1 (ko) * 2010-02-16 2011-06-07 엠텍비젼 주식회사 이미지 시그널 프로세서, 스마트폰 및 자동 노출 제어 방법
KR20130054017A (ko) * 2011-11-16 2013-05-24 상명대학교 천안산학협력단 감성 디지털 액자 및 이를 이용한 디지털 이미지 표시 방법
JP2014529458A (ja) * 2011-09-02 2014-11-13 コーニンクレッカ フィリップス エヌ ヴェ 生体の生体測定信号を生成するカメラ
KR20150033833A (ko) * 2013-09-25 2015-04-02 아이유미디어 주식회사 색상보정을 이용한 입체 칼라특성의 일치 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101039404B1 (ko) * 2010-02-16 2011-06-07 엠텍비젼 주식회사 이미지 시그널 프로세서, 스마트폰 및 자동 노출 제어 방법
JP2014529458A (ja) * 2011-09-02 2014-11-13 コーニンクレッカ フィリップス エヌ ヴェ 生体の生体測定信号を生成するカメラ
KR20130054017A (ko) * 2011-11-16 2013-05-24 상명대학교 천안산학협력단 감성 디지털 액자 및 이를 이용한 디지털 이미지 표시 방법
KR20150033833A (ko) * 2013-09-25 2015-04-02 아이유미디어 주식회사 색상보정을 이용한 입체 칼라특성의 일치 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE, HAE NA ET AL.: "Development of Real-Time Reactive Emotion Image Contents Player System to Induce the User's Emotion", JOURNAL OF THE KOREA INSTITUTE OF INFORMATION AND COMMUNICATION ENGINEERING, vol. 18, no. 1, January 2014 (2014-01-01), pages 155 - 161, XP055324590 *

Similar Documents

Publication Publication Date Title
EP2748762B1 (en) Distortion reduced signal detection
Tsouri et al. On the benefits of alternative color spaces for noncontact heart rate measurements using standard red-green-blue cameras
Yang et al. Motion robust remote photoplethysmography in CIELab color space
Al-Naji et al. Remote monitoring of cardiorespiratory signals from a hovering unmanned aerial vehicle
van der Kooij et al. An open-source remote heart rate imaging method with practical apparatus and algorithms
Huang et al. Measurement of heart rate variability using off-the-shelf smart phones
Goffaux et al. Spatial scale contribution to early visual differences between face and object processing
WO2015047032A1 (ko) 생체 신호에 기초하여 컨텐츠를 처리하는 방법, 및 그에 따른 디바이스
Poh et al. Non-contact, automated cardiac pulse measurements using video imaging and blind source separation.
US9640218B2 (en) Physiological cue processing
EP4000505A1 (en) Device and method for extracting physiological information
US20130120114A1 (en) Biofeedback control system and method for human-machine interface
KR20160008171A (ko) 피부 다크닝 평가 장치 및 피부 다크닝 평가 방법
CN108304074B (zh) 显示控制方法及相关产品
Choi et al. PPGface: Like what you are watching? Earphones can" feel" your facial expressions
WO2018088187A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
Nooralishahi et al. Robust remote heart rate estimation from multiple asynchronous noisy channels using autoregressive model with Kalman filter
Wahl et al. Computer screen use detection using smart eyeglasses
Benlamine et al. Physiology-based recognition of facial micro-expressions using EEG and identification of the relevant sensors by emotion
WO2016171376A1 (ko) 모바일 감성 콘텐츠 재생방법 및 이를 적용하는 플레이어
KR100947639B1 (ko) 감성뇌파신호를 이용한 실시간 멀티미디어 컨텐츠출력시스템 및 방법
KR101798777B1 (ko) 동영상 콘텐츠에 대한 시청자의 정서적 흥분 측정 방법 및 평가 방법
EP4060617A1 (en) Image processing system and method
Guimard et al. On the link between emotion, attention and content in virtual immersive environments
Hieda Mobile brain-computer interface for dance and somatic practice

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16783311

Country of ref document: EP

Kind code of ref document: A1