WO2022005060A1 - 유해 동영상 파일을 필터링 하기 위한 장치 및 방법 - Google Patents

유해 동영상 파일을 필터링 하기 위한 장치 및 방법 Download PDF

Info

Publication number
WO2022005060A1
WO2022005060A1 PCT/KR2021/007612 KR2021007612W WO2022005060A1 WO 2022005060 A1 WO2022005060 A1 WO 2022005060A1 KR 2021007612 W KR2021007612 W KR 2021007612W WO 2022005060 A1 WO2022005060 A1 WO 2022005060A1
Authority
WO
WIPO (PCT)
Prior art keywords
video file
file
harmful
key frame
harmfulness
Prior art date
Application number
PCT/KR2021/007612
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 WO2022005060A1 publication Critical patent/WO2022005060A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Definitions

  • the present invention relates to a technology for filtering harmful video files, and more particularly, to a technology for filtering by determining the degree of harmfulness at the start or during reproduction of a video file.
  • the communication service is expanding its service area to a wireless data service based on a voice call service, which is a unique service area.
  • the wireless data service is evolving from a text-oriented service to a multimedia service according to the development of network technologies such as the multi-functionalization of smart communication terminals and improvement of data transmission speed.
  • VOD video on demand
  • the VOD service is a service that allows video media to be downloaded or displayed in real time regardless of time, and various video download services and real-time relay services are representative VOD services.
  • VOD transmission methods There are two types of VOD transmission methods: a download method and a streaming method, but in recent years, a streaming service is widely used due to the development of smart communication terminals and communication networks.
  • VOD service can receive digital images provided by communication service providers and image providers through communication networks regardless of time and place by using smart communication terminals, it is expected that the VOD service will be further activated through the expansion of color terminals.
  • Patent Document Korean Patent Registration No. 10-0725544 "Smart communication terminal and its harmful information blocking method"
  • An object of the present invention is to provide a fundamental blocking technology for harmful moving pictures by processing filtering, etc. when playing or reproducing a moving picture file when it is determined to be harmful.
  • An object of the present invention is to fundamentally block the corresponding image through filtering when it is determined that the corresponding image is harmful using the full screen image captured from the moving picture file.
  • An object of the present invention is to process filtering for harmful images based on a captured image.
  • An apparatus for filtering harmful video files includes a key frame extraction unit for extracting a key frame from a video file in which an open event occurs, an image classification unit for calculating a degree of harm by providing the extracted key frame to a classifier, and the calculation and a content blocking unit that compares the harmfulness level and the harmfulness threshold value, and when the harmfulness level is equal to or greater than the harmfulness threshold value, determines the video file as a harmful video file and processes the determined harmful video file to be blocked.
  • the key frame extractor may extract the key frame based on at least one of a weight for each reproduction section and a weight within a frame of the video file in which the open event occurs.
  • the key frame extractor may include some frames disposed at a beginning part, some other frames disposed at an end part, and the rest except for the start part and the end part among the playback section of the video file in which the open event occurs.
  • the key frame can be extracted by giving different weights to the frames of the part.
  • the key frame extractor may determine the key frame by applying a weight to each sub-block in the frame among adjacent frames.
  • the key frame extractor calculates a Hamming distance by applying a weight to the image hash value between the adjacent frames for each sub-block, and selects a key frame with a Hamming distance greater than the threshold value for each section as a candidate key It is classified into frames, and a candidate key frame having the smallest threshold value among the classified candidate key frames may be extracted as the key frame.
  • the key frame extracting unit may include, among the frames of the video file in which the open event occurs, a change amount of which is greater than or equal to a standard, except for some frames at the beginning and some other frames disposed at the end.
  • Candidate key frames may be extracted, and from among the extracted candidate key frames, at least one key frame may be extracted for each section using at least one of sharpness and brightness.
  • the harmful moving image file filtering apparatus may further include a database manager configured to update a database by recording cache information of a result of inspection on the determined harmful moving image file.
  • An apparatus for filtering harmful video files further includes a harmfulness check preprocessor for checking a degree of harmfulness of a video file before extraction of a key frame, wherein the harmfulness check preprocessor is configured to detect an open event in a file
  • the harmfulness check preprocessor is configured to detect an open event in a file
  • An apparatus for filtering harmful video files further includes a harmfulness check preprocessor for checking a degree of harmfulness of a video file before extraction of a key frame, wherein the harmfulness check preprocessor includes: It may be determined whether a video file is executed through a video player, and the key frame extractor may extract the key frame when the video file is executed through the video player.
  • the harmful video file filtering apparatus further includes a harmfulness check preprocessor for checking a degree of harmfulness of a video file before extraction of a key frame, wherein the harmfulness check preprocessor includes: the video file in which the open event occurs It may be determined whether or not the check result cache is recorded in the database, and the key frame extractor may extract the key frame when the check result cache is not recorded in the database.
  • the harmful video file filtering apparatus further includes a harmfulness check preprocessor for checking a degree of harmfulness of a video file before extraction of a key frame, wherein the harmfulness check preprocessor includes: the video file in which the open event occurs , and the key frame extraction unit may extract the key frame when the file hash is not harmful as a result of checking the file hash.
  • An apparatus for filtering harmful video files includes an offset collecting unit that collects read offset information for a video file during a buffering time when a read event for a video file occurs, the collected read offset information and the video file Thumbnail image extraction unit that calculates the number of thumbnail images to be extracted in consideration of the buffering speed, and extracts at least one thumbnail image for the video file in consideration of the calculated number of extractions, the extracted at least one thumbnail image an image classifier providing a classifier to calculate a degree of harm, and comparing the calculated degree of harm with a harmful threshold, and determining the video file as a harmful video file when the degree of harmfulness is greater than or equal to the harmful threshold It may include a content blocking unit that processes to block the video file.
  • the harmful video file filtering apparatus may further include a database manager configured to update cache information of the determined harmful video file in the database.
  • the harmful video file filtering apparatus may start the harmfulness check at the buffering time after the reproduction time of the video file.
  • a harmfulness check preprocessor that checks whether a video player is running , when the video player is executed, an image generating unit that captures the entire screen output through the video player, provides the generated image to a classifier to request image classification for harmfulness calculation, and the calculated harmfulness It may include an image classification unit that collects the image classification result including the diagram, and a content blocking unit that determines whether to block the video file in consideration of the collected image classification result.
  • the harmful video file filtering device may drive the capture cycle timer to repeat the process of determining whether to block the video file while the capture cycle timer is running when an open event for the video file occurs. have.
  • the harmful video file filtering method includes the steps of determining whether the file is the video file when an open event occurs in the file, and when the file is the video file, the video file in which the open event occurs Determining whether the video file is executed through the video player, if the video file is executed through the video player, determining whether a cache of the inspection result for the video file is recorded in a database, inspection of the video file If the result cache is not recorded in the database, performing a file hash check on the moving picture file, if the file hash for the moving picture file is not harmful, extracting a key frame for the moving picture file, the Calculating the harmfulness level by providing the extracted key frame to a classifier, comparing the calculated harmfulness level with a harmfulness threshold, and determining the moving image file as a harmful moving image file when the harmfulness level is equal to or greater than the harmfulness threshold and processing to block the determined harmful video file.
  • the step of extracting the key frame may include excluding some frames at the beginning and some other frames disposed at the end among the frames of the video file in which the open event occurs, and the amount of change among the remaining frames.
  • the method may include extracting candidate key frames equal to or greater than this criterion, and extracting at least one key frame for each section using at least one of sharpness and brightness from among the extracted candidate key frames.
  • filtering or the like may be processed to provide a fundamental blocking technology for the harmful video file.
  • the corresponding image may be fundamentally blocked through filtering.
  • filtering of harmful images may be processed based on the captured image.
  • FIG. 1 is a view for explaining an apparatus for filtering harmful video files according to an embodiment.
  • FIG. 2 is a diagram for explaining the structure of a harmful image classification model.
  • FIG. 3 is a diagram for explaining an embodiment of determining whether a file is harmful by extracting a hash.
  • FIG. 4 is a diagram illustrating a check result cache according to an exemplary embodiment.
  • FIG. 5 is a diagram for explaining a method of extracting a key frame.
  • FIG. 6 is a view for explaining a specific embodiment of extracting a key frame.
  • FIG. 7 is a view for explaining a method of filtering harmful video files according to an embodiment.
  • FIG. 8 is a diagram for explaining a weight for each reproduction section or a weight for each region within a frame.
  • FIG. 9 is a view for explaining an embodiment of extracting an actual key frame by applying a weight for each region within a frame.
  • FIG. 10 is a diagram for explaining a method of extracting a key frame according to an embodiment.
  • 11 is a view for explaining an apparatus for filtering harmful video files according to another embodiment.
  • FIG. 12 is a view for explaining an embodiment of processing image classification in the case where an open event and a read event for a moving picture file occur.
  • 13 is an embodiment for explaining an operation in the case of classifying a harmful image.
  • 14A to 14C are diagrams for explaining an embodiment of determining a reproduction time and a buffering time by collecting read offset information.
  • 15 is a view for explaining an apparatus for filtering harmful video files according to another embodiment.
  • 16 is a view for explaining an image classification process for determining whether an image is harmful by using a classifier.
  • first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, a first component may be named a second component, Similarly, the second component may also be referred to as the first component.
  • FIG. 1 is a diagram for explaining a harmful video file filtering apparatus 100 according to an embodiment.
  • the harmful video file filtering apparatus 100 By using the harmful video file filtering apparatus 100 according to an embodiment, it is possible to provide a fundamental blocking technology for harmful videos by processing filtering or the like when a video file is played or determined to be harmful during playback.
  • the harmful video file filtering apparatus 100 includes a file system monitoring unit 110 , a harmfulness test preprocessing unit 120 , a key frame extraction unit 130 , an image classification unit 140 , and a content blocking unit 150 . , and a database management unit 160 .
  • the file system monitoring unit 110 may monitor create, play, and close events for the video file at the kernel level.
  • the harmfulness test preprocessor 120 may determine whether it is necessary to calculate the harmfulness level prior to calculating the harmfulness level for the moving picture file.
  • the harmfulness test preprocessor 120 determines whether the file is a video file, and performs a series of processes for determining the degree of harm in the case of a video file. can do.
  • the harmfulness test preprocessor 120 may determine whether a video file in which an open event has occurred in the file is actually executed through a video player. If, after the open event, only when it is played through a video player, a series of processes for determining the degree of harmfulness may be performed.
  • the harmfulness test preprocessor 120 may determine whether a cache of a test result for a video file in which an open event has occurred is recorded in the database. If the inspection result cache is recorded in the database, the video file may be immediately classified as a harmful video. Also, if the check result cache is not recorded in the database, it is necessary to check whether the video file is harmful or not. In this case, the harmful video file filtering apparatus 100 may perform a series of processes for determining the degree of harmfulness.
  • the harmfulness test preprocessor 120 may check a file hash of a video file in which an open event has occurred. As a result of checking the file hash, if the file hash is harmful, the video file can be directly classified as a harmful video. On the other hand, if the file hash is not harmful, it is necessary to check whether it is a harmful video. In this case, the harmful video file filtering apparatus 100 may perform a series of processes for determining the degree of harmfulness.
  • the key frame extractor 130 selects a key frame from frames constituting the video file for the video file in which the open event has occurred. can be extracted.
  • the key frame extractor 130 may exclude some frames at the beginning and some other frames disposed at the end of the frames of the video file in which the open event occurs.
  • a blank screen, advertisement, and distributor screen may be disposed at the beginning of the video file, and a blank screen, cast information, etc. may be disposed at the end of the video file. Accordingly, it is possible to extract a key frame from the remaining parts except for the start part and the end part where the part corresponding to the actual content is highly likely to appear.
  • the beginning and the end can be divided into approximately 10 minutes, but can be adjusted in various ways.
  • the key frame extractor 130 may extract candidate key frames in which the amount of change is equal to or greater than a reference among the remaining frames except for the start and end portions.
  • a frame in which the amount of change exceeds the standard is highly likely to be the beginning of a new scene. Accordingly, a frame in which a corresponding scene starts may be extracted as a candidate key frame.
  • the key frame extractor 130 may extract at least one key frame for each section by using at least one of sharpness and brightness from among the extracted candidate key frames.
  • the key frame extracting unit 130 may extract a frame having a variation greater than or equal to a reference among the remaining frames except for the start part and the end part as the key frame.
  • the key frame extracting unit 130 may include some frames disposed at the beginning, some other frames disposed at the end, and the rest except for the beginning and the end of the playback section of the video file in which the open event occurs.
  • a key frame can be extracted by giving different weights to frames of .
  • the key frame extractor 130 may determine a key frame by applying a weight to each sub-block in the frame among adjacent frames.
  • the key frame extraction unit 130 calculates a Hamming distance by applying a weight to the image hash value between adjacent frames for each sub-block, and uses a key frame with a greater Hamming distance than the threshold value for each section as a candidate key frame. classification, and a candidate key frame having the smallest threshold value among the classified candidate key frames may be extracted as the key frame.
  • the key frame extraction unit 130 may start the process of extracting the key frame.
  • the key frame extraction unit 130 extracts the key frame. You can start the extraction process.
  • the key frame extraction unit 130 can start the process of extracting keyframes.
  • the inspection result of the harmfulness inspection preprocessor 110 determines the file hash of the video file in which the open event has occurred, and extracts the key frame when the inspection result of the file hash and the file hash are not harmful. You can start the process.
  • the image classifier 140 may calculate the harmfulness level by providing the extracted key frame to the classifier.
  • the classifier may determine whether the image is harmful by collecting images or text. Such judgment can be implemented through deep learning such as CNN (Convolutional Neural Network), RNN (Recurrent Neural Networks), or DNN (Deep Neural Network), and various research results or software, You can use modules, etc.
  • CNN Convolutional Neural Network
  • RNN Recurrent Neural Networks
  • DNN Deep Neural Network
  • the classifier is based on deep learning, image classification with localization for sub-images (meta tag thumbnail images, etc.), object detection, object segmentation, and image style transfer), image colorization, image reconstruction, image super-resolution, image synthesis, etc. may be performed, and the degree of harmfulness may be determined based on this.
  • the content blocking unit 150 may compare the calculated harmfulness level with the harmfulness threshold, and when the harmfulness level is equal to or greater than the harmfulness threshold, determine the video file as a harmful video file and block the determined harmful video file.
  • the database manager 160 may update the database by recording the cache information of the inspection result for the determined harmful video file.
  • FIG. 2 is a diagram for explaining the structure 200 of a harmful image classification model.
  • a harmful image classification model is created by training a deep-layered CNN model with a large amount of data set collected for each harmful image category.
  • the harmful image classification model includes a feature extraction unit 210 and a classification unit 220 .
  • the feature extraction unit 210 extracts features having abstract main pattern information from the input image by repeatedly performing the convolution layer while increasing the number of filters.
  • a harmful image classification model with deep layers uses a method of skipping layers to solve the gradient vanishing problem.
  • the classification unit 220 outputs image classification results for each category, such as sensationalism, violence, and fear, based on the characteristic information extracted by the feature extraction unit 210 .
  • FIG. 3 is a diagram for explaining an embodiment of determining whether a file is harmful by extracting a hash.
  • the harmfulness test preprocessor 310 may use a hash value extracted from a part or all of a video file. In addition, the harmfulness test preprocessor 310 may extract a hash value from the collected harmful video file and store it in the database 320 .
  • the harmfulness test preprocessor 330 may determine whether the video file is harmful by inquiring by transmitting the extracted file hash to the local or remote server 340 .
  • FIG. 4 is a diagram illustrating a check result cache 400 according to an exemplary embodiment.
  • the inspection result cache 400 may include a file hash value, whether it is harmful, and an inspection start field.
  • the check result cache corresponding to the file hash value '9122082c4d8c37a28bafd03b661e5d81101a4305a3302d9df4e28c8029db207e' corresponds to a non-harmful cache as 'N', and it can be confirmed that it was checked at 10:11 on December 30, 2019. have. Thereafter, when a cache is found as a result of inspection having the same file hash value in the video file, the video file may be determined as a non-harmful video. In addition, the process of extracting the key frame and determining whether the extracted key frame is harmful regardless of the determination result of the check result cache may be performed again.
  • the check result cache corresponding to the file hash value '2f11e139cb0d417307b0f6e6421090dba04d0e9083d37ade2649b07cd6c68e76' corresponds to the harmful cache as 'Y' whether it is harmful or not.
  • the video file in which the cache is found may be judged to be harmful regardless of key frame extraction and may be blocked.
  • FIG. 5 is a diagram for explaining a method of extracting a key frame.
  • the key frame extracting unit of the harmful video file filtering apparatus may extract a frame having a large amount of inter-frame variation among all sections except for the front and rear sections as candidate key frames (step 510). Also, from among the extracted candidate key frames, candidate key frames having sharpness or brightness equal to or greater than a standard may be extracted as key frames for each section (step 520).
  • FIG. 6 is a view for explaining a specific embodiment 600 for extracting a key frame.
  • the key frame is effective for extraction segment can be determined.
  • a frame having a large amount of inter-frame variation may be extracted as a candidate key frame, and a frame having the sharpest and appropriate brightness among the extracted candidate key frames may be extracted as a key frame.
  • FIG. 7 is a view for explaining a method of filtering harmful video files according to an embodiment.
  • the harmful video file filtering method when an open event occurs in the file, it may be determined whether the file is a video file (step 701).
  • step 701 if the video file is not a video file, there is no need to determine whether the video file is a harmful video file, so the process can be ended.
  • step 701 when the file as a result of the determination in step 701 is the video file, it may be determined whether the video file in which the open event has occurred is executed through the video player (step 702).
  • step 703 if the video file is executed through the video player, it may be determined whether a cache of the inspection result for the video file is recorded in the database (step 703).
  • step 703 If it is determined in step 703 that the check result cache is recorded in the database, it is possible to branch to step 707 to determine whether the harmfulness of the corresponding moving picture file is equal to or greater than the harmful threshold.
  • a file hash check may be performed on the video file to determine whether the file hash is harmful (step 704).
  • step 704 If it is determined in step 704 that the file hash is harmful, it may branch to step 707 to determine whether the harmfulness of the corresponding moving picture file is equal to or greater than a harmful threshold.
  • a key frame for the video file may be extracted (step 705).
  • candidate key frames with a variation greater than or equal to the standard are selected from among the remaining frames, excluding some frames at the beginning and some other frames disposed at the end among the frames of the video file in which the open event has occurred. can be extracted.
  • the harmful video file filtering method may extract at least one key frame for each section by using at least one of sharpness and brightness among the extracted candidate key frames.
  • the harmful video file filtering method may perform an image classification process for calculating the harmfulness level by providing the extracted key frame to the classifier ( 706 ).
  • the harmful video file filtering method compares the calculated harmfulness level with a harmful threshold value (step 707), and if the harmfulness level is higher than the harmful threshold value, the video file is determined as a harmful video file and the determined harmful video file is blocked may (step 708).
  • the cache information may be updated by reflecting this in the cache (step 710).
  • step 707 If, as a result of the determination in step 707, the harmfulness is equal to or less than the harmful threshold, the video file is bypassed without determining the harmful video file (step 709), and the process of updating cache information may be processed (step 710). .
  • FIG. 8 is a diagram for explaining a weight for each reproduction section or a weight for each region within a frame.
  • weights may be assigned to each playback section of a moving picture file.
  • the playback section of a video file is divided into sections 0 to 7, the distribution of frames not significantly related to the subject of the video is found in section 0 corresponding to the beginning and section 7 corresponding to the end. It is highly probable that Accordingly, by assigning a weight to 0 in sections 0 and 7, it can be effectively excluded from key frame candidates.
  • Reference numeral 820 denotes a weight for subblocks within one frame. Similarly, the region of interest within a frame is more likely to be in the center than at the edges.
  • weights may be set in the following order: weight in section 3, weight in section 2, weight in section 1, and weight in section 0.
  • a Hamming distance can be calculated through [Equation 1] by applying a weight to each sub-block to an image hash value between adjacent frames.
  • image hash methods include Average Hash, Perceptual Hash, Difference Hash, and Wavelet Hash.
  • H t is the weighted Hamming distance in the t section
  • h t (x, y) is the Hamming distance between x and y
  • b t (i) is the image hash value of the i-th subblock in the t section indicates
  • G i corresponds to the weight of the i-th sub-block.
  • the harmful moving picture file filtering apparatus may classify a frame having a Hamming distance greater than the threshold (T t ) value for each section calculated using Equation 2 as a candidate key frame.
  • T t represents the Hamming distance threshold of the section t
  • represents the total sum of the weights of the sub-blocks
  • W t represents the weight of the reproduction section t.
  • FIG. 9 is a view for explaining an embodiment of extracting an actual key frame by applying a weight for each region within a frame.
  • FIG. 9 corresponds to an embodiment in which a frame is divided into 8 ⁇ 8 sub-blocks.
  • the weight of the playback section below (W t ) is set low in the middle part, so that more candidate key frames can be extracted than the first and last parts.
  • Candidate keyframes may include images with no object of interest, such as monochrome images or background landscapes.
  • an edge can be detected to remove such a frame from the extracted candidate key frame.
  • An edge means a boundary line or a contour line, and edge detection can detect the boundary of an object in an image based on brightness information.
  • edge detectors Canny, Sobel, Prewitt, Roberts, Compass, Laplacian, etc. can be used.
  • the harmful video file filtering apparatus may classify the detected edge as the final key frame when the amount of the detected edge is greater than the threshold value.
  • FIG. 10 is a diagram for explaining a method of extracting a key frame according to an embodiment.
  • the harmful video file filtering method may calculate an image hash between adjacent frames in order to extract a key frame (step 1001).
  • the harmful video file filtering method may calculate the Hamming distance (H t ) between the calculated image hashes (step 1002 ).
  • the harmful video file filtering method compares the calculated Hamming distance (H t ) with the threshold value (T t ) for each section to determine whether the Hamming distance (H t ) is greater than or equal to the threshold value (T t ) for each section. may (step 1003).
  • step 1003 If, as a result of the determination in step 1003, the Hamming distance H t is equal to or less than the threshold value T t for each section, the process is terminated without extracting the candidate key frame.
  • the harmful video file filtering method may detect an edge from the extracted candidate key frame (step 1005).
  • the harmful video file filtering method compares the detected edge amount with the edge threshold value (T e ) (step 1006), and when the amount of edges is equal to or greater than the edge threshold value (T e ), the final key frame can be extracted. (Step 1007).
  • step 1006 If, as a result of the comparison in step 1006, the amount of edges is equal to or less than the edge threshold value (T e ), the process may be terminated.
  • FIG. 11 is a view for explaining an apparatus 1100 for filtering harmful video files according to another embodiment.
  • FIG. 11 illustrates a filtering process in a system that can obtain read offset information, such as a window.
  • the harmful video file filtering apparatus 1100 includes an offset collecting unit 1110, a thumbnail image extracting unit 1120, an image classifying unit 1130, a content blocking unit 1140, and a database management unit ( 1150) may be included.
  • the harmful video file filtering apparatus 1100 may detect a read event for the video file in order to filter the harmful video file during file playback at the kernel stage.
  • the offset collecting unit 1110 may collect read offset information for the moving picture file during the buffering time.
  • the thumbnail image extractor 1120 may calculate the number of thumbnail images to be extracted in consideration of the collected read offset information and a buffering speed for the moving picture file. In addition, at least one thumbnail image of the moving picture file may be extracted in consideration of the calculated number of extractions.
  • the image classification unit 1130 may calculate the harmfulness level by providing the extracted one or more thumbnail images to the classifier.
  • the content blocking unit 1140 may compare the calculated harmfulness level with the harmfulness threshold value, and when the harmfulness level is equal to or greater than the harmfulness threshold value, the video file may be determined as the harmful video file. Also, the content blocking unit 1140 may process to block the determined harmful video file.
  • the database manager 1150 may update the cache information of the determined harmful video file in the database.
  • FIG. 12 is a view for explaining an embodiment of processing image classification in the case where an open event and a read event for a moving picture file occur.
  • the file system event monitoring unit 1210 located at the kernel stage may detect an open event for a video file. Accordingly, the harmful video file filtering apparatus 1220 may examine the entire key frame.
  • whether the video file is harmful may be determined, and if it is not determined that the video file is harmful, the degree of harmfulness may be determined while the video file is being reproduced.
  • the file system event monitoring unit 1210 may detect a read event for the moving picture file. Accordingly, the harmful video file filtering apparatus 1220 may calculate the number of thumbnails to be extracted according to the buffering speed, and extract N thumbnails from the file offset information.
  • the harmful video file filtering apparatus 1220 may request image classification by providing the extracted N thumbnails to the classifier 1230, and may return a harmfulness level to the image as a result of the classification request.
  • the corresponding video file may be determined as a harmful video.
  • 13 is an embodiment for explaining an operation in the case of classifying a harmful image.
  • the file system event monitoring unit 1310 located at the kernel stage may detect a read event for a moving picture file. Accordingly, the harmful video file filtering apparatus 1320 may extract N thumbnails from the file offset information.
  • the harmful video file filtering apparatus 1320 may request image classification by providing the extracted N thumbnails to the classifier 1330, and may return a harmfulness level of the image as a result of the classification request.
  • the harmful video file filtering device 1320 does not immediately determine the corresponding video file as a harmful video, but adds it to the thumbnail extracted from the file offset as shown in reference numeral 1340 .
  • the key frame may be further extracted, and the degree of harm may be recalculated through the classifier 1330 up to the extracted key frame.
  • the corresponding video file may be determined as a harmful video, or additional key frames may be further extracted to calculate the degree of harmfulness again.
  • the harmful video file filtering device 1320 may update cache information for the video file and block the video file.
  • 14A to 14C are diagrams for explaining an embodiment of determining a reproduction time and a buffering time by collecting read offset information.
  • the read offset information is a hardware specification for reproducing a moving picture file, and may include CPU information, RAM information, and OS information. In addition, information on a program for reproducing a moving picture file may also be included.
  • the read offset information may further include a frame size for each frame constituting the moving picture file, a total playback time, and a file size.
  • a table 1420 in which a reproduction time, an offset, and a buffering time are correlated and recorded is shown.
  • FIG. 14C is a diagram illustrating a reproduction time and an offset according to the table 1420 of FIG. 14B .
  • the offset corresponding to the playback time of 4 seconds is '13,107,200 bytes', and it can be seen that 118 seconds are required for the check after buffering.
  • the offset corresponding to the playback time of 10 seconds is '13,762,560 bytes', and the buffering time is 124 seconds, and the test starts after the buffering time elapses after the playback time.
  • 15 is a view for explaining an apparatus for filtering harmful video files according to another embodiment.
  • the harmful video file filtering apparatus 1500 if it is determined that the corresponding video is harmful using the full screen image captured from the video file, the corresponding video may be fundamentally blocked through filtering.
  • the harmful video file filtering apparatus 1500 may include a harmfulness test preprocessor 1510 , an image generation unit 1520 , an image classification unit 1530 , and a content blocking unit 1540 .
  • the harmfulness test preprocessor 1510 may check whether the video player is running.
  • the image generating unit 1520 may generate an image by capturing the entire screen output through the video player.
  • the image classification unit 1530 may provide the generated image to a classifier to request image classification for calculating the harmfulness level, and collect image classification results including the calculated harmfulness level.
  • the content blocking unit 1540 may determine whether to block the video file in consideration of the collected image classification result.
  • the harmful moving image file filtering device 1500 repeats the process of determining whether to block the moving image file while the capturing period timer is running. can drive
  • the harmful video file filtering apparatus 1500 may extract a sub-image from the entire image captured by the entire screen.
  • the harmful video file filtering apparatus 1500 may identify at least one sub-image area from among the images of the entire screen.
  • the sub-image area is an area in which the browser allocates a part of the entire screen to display the sub-image.
  • One sub-image may be inserted into one sub-image area, and a plurality of related sub-images may be inserted.
  • the present specification describes the invention through an example in which the sub-image area is divided into a plurality of sub-image areas in the entire screen, an example in which one sub-image area is allocated in the entire screen may also be considered.
  • the harmful video file filtering apparatus 1500 may extract at least one or more sub-images inserted into the identified at least one or more sub-image areas.
  • the sub-image area and the sub-image may be interpreted as the same meaning.
  • the process of identifying a sub-image area in the entire screen and extracting a sub-image from the identified sub-image area is not divided, and may be processed as one process.
  • a sub image may be directly extracted from the entire screen.
  • the harmful video file filtering apparatus 1500 may determine whether at least one extracted sub-image is currently being reproduced.
  • the harmful video file filtering apparatus 1500 may compare sub-images extracted at regular time intervals from the same sub-image area.
  • sub-images are extracted from the same sub-image area at intervals of 1 second, and the degree of similarity of the extracted sub-images is checked.
  • the harmful video file filtering apparatus 1500 may check at least one or more preset blocking conditions. For reference, when capturing an image, a sub-image may be generated. Accordingly, the reproduced sub-image used throughout this specification may be interpreted as an image or a moving image.
  • the harmful video file filtering apparatus 1500 may control to block the currently playing sub-image when the currently playing sub-image meets at least one or more of the predetermined blocking conditions.
  • the blocking condition may be set in advance and recorded in the database for each user.
  • the blocking condition may include a viewable category, a viewable time period, a viewable day of the week, a total viewing time, and the like.
  • the harmful video file filtering apparatus 1500 may control to block the currently playing sub-image.
  • 16 is a view for explaining an image classification process for determining whether an image is harmful by using a classifier.
  • 16 is a view for explaining an image classification process for determining whether a captured image is harmful by using a classifier.
  • the installed app 1610 may implement a harmful streaming image filtering method in conjunction with the classifier 1620 .
  • the app 1610 may capture the entire screen, extract an image from the captured full screen, and transmit it to the classifier 1620 to request image classification for calculating the degree of harmfulness.
  • the classifier 1620 may reply to the app 1610 by analyzing the delivered image by deep learning to calculate the degree of harmfulness.
  • the app 1610 may determine whether to block the corresponding image in comparison with the pre-set harmful threshold and the degree of harmfulness calculated by the classifier 1620 .
  • This series of processes processed by the app 1610 and the classifier 1620 may be repeatedly processed at preset time intervals.
  • the process of capturing the entire screen at an interval of 1 second and determining whether to block the image by classifying the image may be repeatedly performed.
  • this repeating process may be repeated until the time when the playback of the image is terminated or the execution of the app 1610 is terminated.
  • the corresponding image can be fundamentally blocked through filtering, and filtering of the harmful image can be processed based on the captured image.
  • the device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component.
  • devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may process an operating system (OS) and one or more software applications processed on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
  • Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave.
  • the software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be processed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
  • - includes magneto-optical media, and hardware devices specially configured to store and process program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to handle the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 스마트 TV 동영상 시간 제어 및 유해동영상 필터링을 위한 장치 및 방법에 관한 것으로서, 일실시예에 따른 유해 동영상 파일 필터링 장치는 오픈 이벤트가 발생한 동영상 파일로부터 키 프레임을 추출하는 키 프레임 추출부, 상기 추출된 키 프레임을 분류기로 제공하여 유해도를 산출하는 이미지 분류부, 및 상기 산출된 유해도와 유해 임계값을 비교하고, 상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 콘텐츠 차단부를 포함할 수 있다.

Description

유해 동영상 파일을 필터링 하기 위한 장치 및 방법
본 발명은 유해 동영상 파일을 필터링 하기 위한 기술에 관한 것으로서, 보다 상세하게는 동영상 파일의 재생 시작 시 또는 재생 중에 유해도를 판단하여 필터링 하는 기술에 관한 것이다.
최근의 통신 서비스는 고유의 서비스영역인 음성통화 서비스를 기반으로 무선 데이터 서비스로 그 서비스영역을 확장하고 있다. 무선 데이터 서비스는 스마트 통신 단말기의 다기능화, 데이터 전송속도의 향상 등 네트워크 기술의 발전에 따라, 텍스트 위주의 서비스에서 멀티미디어 서비스로 진화하고 있는 추세이다.
이러한 멀티미디어 서비스 중 하나가 주문형 영상 서비스(Video On Demand: VOD)이다. VOD 서비스는 영상매체를 시간에 구애받지 않고 다운로드 하거나 실시간으로 디스플레이할 수 있도록 하는 서비스로서, 각종 동영상 다운로드 서비스, 실시간 중계 서비스 등이 대표적 VOD 서비스이다.
VOD 전송방식은 다운로드 방식과 스트리밍 방식이 있으나, 근래에는 스마트 통신 단말기와 통신망의 발달로 인해 스트리밍 방식의 서비스가 널리 이용되고 있다.
이러한 VOD 서비스는 스마트 통신 단말기를 이용하여 시간과 장소에 관계없이 통신 서비스 사업자 및 영상 제공자가 제공하는 디지털 영상을 통신망을 통해 수신할 수 있으므로, 컬러 단말기의 보급 확대를 통해 더욱 활성화될 것으로 전망된다.
한편, 스마트 통신 단말기의 사용이 대중화되면서 많은 아동과 청소년들이 스마트 통신 단말기를 소지하고 있으며, 이에 따라, 성인 뿐만 아니라 스마트 통신 단말기를 소지한 아동과 청소년까지 VOD 서비스, 스마트 TV에서동영상을 제공하는 웹사이트를 이용할 수 있다.
그런데, 관련된 서비스를 통해 제공되는 콘텐츠 중에는 아동과 청소년이 시청하더라도 무해한 콘텐츠가 있는 반면, 폭력, 성, 비어나 속어 등의 언어 등을 담고 있는 성인용 콘텐츠가 있다.
따라서, 현재의 스마트 통신 서비스에서는 성인용 콘텐츠가 아동과 청소년에게 무분별하게 노출될 수 있으며, 이에 따라, 아동과 청소년의 정신건강을 해칠 우려가 있는 것이다.
한편, 텔레비전 방송의 경우, 아동과 청소년의 시청이 불가한 프로그램의 경우, 프로그램의 방송 전에 아동과 청소년의 시청 제한을 요구하는 메시지를 표시하고, 프로그램의 방송 중에는 시청제한되는 나이를 나타내는 마크를 표시하고 있다. 그러나, 이러한 시청제한용 마크를 표시한다고 해서 아동과 청소년의 시청을 방지할 수 있는 것은 아니며, 부모나 보호자가 부재하는 중에는 아동과 청소년의 시청을 차단할 방법이 없다.
또한, 컴퓨터의 경우, 아동과 청소년이 인터넷을 통해 무분별한 콘텐츠에 접하는 것을 방지하기 위해, 미리 설정한 특정 사이트에 접속하지 못하게 하는 프로그램이 개발되어 있다. 그러나, 접속이 금지되는 금지사이트는 사용자에 의해 일일이 설정되어야 하므로, 아동과 청소년에게 유해한 사이트가 새로이 생성되면, 추가로 금지사이트로 설정해야 할 뿐만 아니라, 금지 설정이 되지 아니한 사이트의 경우에는 접속을 차단할 방법이 없다는 단점이 있다.
[특허문헌] 한국등록특허 제10-0725544호 "스마트 통신 단말기 및 그의 유해정보 차단방법"
한국등록특허 제10-2022014호 "유해 콘텐츠 탐지 장치"
한국등록특허 제10-1496632호 "안심 콘텐츠 서비스를 위한 시스템 및 이를 위한 방법"
본 발명은 동영상 파일의 재생 시 또는 재생 중에 유해하다고 판단 되는 경우에 필터링 등을 처리하여 유해 동영상에 대한 원천적인 차단 기술을 제공하는 것을 목적으로 한다.
본 발명은 동영상 파일로부터 캡쳐된 전체 화면 이미지를 이용해서, 해당 영상이 유해하다고 판단되면, 필터링을 통해 해당 영상을 원천적으로 차단하는 것을 목적으로 한다.
본 발명은 캡쳐 이미지를 기반으로 유해한 영상에 대한 필터링을 처리하는 것을 목적으로 한다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 오픈 이벤트가 발생한 동영상 파일로부터 키 프레임을 추출하는 키 프레임 추출부, 상기 추출된 키 프레임을 분류기로 제공하여 유해도를 산출하는 이미지 분류부, 및 상기 산출된 유해도와 유해 임계값을 비교하고, 상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 콘텐츠 차단부를 포함할 수 있다.
일실시예에 따른 상기 키 프레임 추출부는, 상기 오픈 이벤트가 발생한 동영상 파일의 재생 구간 별 가중치 및 프레임 내 가중치 중에서 적어도 하나에 기초하여, 상기 키 프레임을 추출할 수 있다.
일실시예에 따른 상기 키 프레임 추출부는, 상기 오픈 이벤트가 발생한 동영상 파일의 재생 구간 중에서 시작 부분에 배치된 일부 프레임들, 종료 부분에 배치된 또 다른 일부 프레임들, 시작 부분과 종료 부분을 제외한 나머지 부분의 프레임들에 대한 가중치를 다르게 부여하여 상기 키 프레임을 추출할 수 있다.
일실시예에 따른 상기 키 프레임 추출부는, 인접한 프레임들 중에서 프레임 내 서브 블록별로 가중치를 적용하여 상기 키 프레임을 결정할 수 있다.
일실시예에 따른 상기 키 프레임 추출부는, 상기 인접한 프레임 간의 이미지 해시값에 서브 블록 별로 가중치를 적용하여 해밍 거리(Hamming Distance)를 계산하고, 구간 별 임계값보다 큰 해밍 거리의 키 프레임을 후보 키 프레임으로 분류하며, 분류된 후보 키 프레임들 중에서 임계값이 가장 작은 후보 키 프레임을 상기 키 프레임으로 추출할 수 있다.
일실시예에 따른 상기 키 프레임 추출부는, 오픈 이벤트가 발생한 동영상 파일의 프레임들 중에서 시작 부분의 일부 프레임들과, 종료 부분에 배치된 또 다른 일부 프레임들을 제외하고, 나머지 프레임들 중에서 변화량이 기준 이상인 후보 키 프레임들을 추출하고, 상기 추출된 후보 키 프레임들 중에서, 선명도 및 밝기 중에서 적어도 하나를 이용해서 구간 별로 적어도 하나 이상의 키 프레임을 추출할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 상기 결정된 유해 동영상 파일에 대한 검사 결과 캐시 정보를 기록하여 데이터베이스를 업데이트하는 데이터베이스 관리부를 더 포함할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부를 더 포함하고, 상기 유해도 검사 전처리부는, 파일에 오픈 이벤트가 발생하는 경우, 상기 파일이 상기 동영상 파일인지 여부를 판단하고, 상기 키 프레임 추출부는, 상기 동영상 파일인 경우에 상기 키 프레임을 추출하는 것을 특징으로 할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부를 더 포함하고, 상기 유해도 검사 전처리부는, 파일에 오픈 이벤트가 발생한 상기 동영상 파일이 동영상 플레이어를 통해 실행되는지 여부를 판단하고, 상기 키 프레임 추출부는, 상기 동영상 플레이어를 통해 실행되는 경우에 상기 키 프레임을 추출할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부를 더 포함하고, 상기 유해도 검사 전처리부는, 상기 오픈 이벤트가 발생한 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단하고, 상기 키 프레임 추출부는, 상기 검사 결과 캐시가 데이터베이스에 기록되어 있지 않은 경우에 상기 키 프레임을 추출할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부를 더 포함하고, 상기 유해도 검사 전처리부는, 상기 오픈 이벤트가 발생한 동영상 파일에 대한 파일 해시를 검사하고, 상기 키 프레임 추출부는, 상기 파일 해시의 검사 결과, 상기 파일 해시가 유해하지 않은 경우에 상기 키 프레임을 추출할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 동영상 파일에 대한 리드 이벤트가 발생하면, 버퍼링 시간 동안 동영상 파일에 대한 리드 오프셋 정보를 수집하는 오프셋 수집부, 상기 수집된 리드 오프셋 정보와 상기 동영상 파일에 대한 버퍼링 속도를 고려하여 섬네일 이미지의 추출 개수를 계산하고, 상기 계산된 추출 개수를 고려하여, 상기 동영상 파일에 대한 적어도 하나 이상의 섬네일 이미지를 추출하는 섬네일 이미지 추출부, 상기 추출된 적어도 하나 이상의 섬네일 이미지를 분류기로 제공하여 유해도를 산출하는 이미지 분류부, 및 상기 산출된 유해도와 유해 임계값을 비교하고, 상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 콘텐츠 차단부를 포함할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 상기 결정된 유해 동영상 파일에 대한 검사 결과 캐시 정보를 데이터베이스에 업데이트하는 데이터베이스 관리부를 더 포함할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 버퍼링 과정에서 파일 오프셋을 확인하는 경우, 동영상 파일의 재생 시각 이후, 버퍼링 시각에서 유해도에 대한 검사를 시작할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 버퍼링 시간 동안 동영상 파일에 대한 리드 오프셋 정보를 제공하지 않는 시스템에서 동영상 파일에 대한 오픈 이벤트가 발생하면, 동영상 플레이어의 실행 여부를 확인하는 유해도 검사 전처리부, 상기 동영상 플레이어가 실행되는 경우, 상기 동영상 플레이어를 통해 출력되는 전체 화면을 캡쳐하는 이미지 생성부, 상기 상기 생성된 이미지를 분류기로 제공하여 유해도 산출을 위한 이미지 분류를 요청하고, 상기 산출된 유해도를 포함하는 이미지 분류 결과를 수집하는 이미지 분류부, 및 상기 수집된 이미지 분류 결과를 고려하여 상기 동영상 파일에 대한 차단 여부를 결정하는 콘텐츠 차단부를 포함할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치는 동영상 파일에 대한 오픈 이벤트가 발생하면, 캡쳐 주기 타이머가 구동되는 동안에 상기 동영상 파일에 대한 차단 여부를 결정하는 과정을 반복하도록 상기 캡쳐 주기 타이머를 구동할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 방법은 파일에 오픈 이벤트가 발생하는 경우, 상기 파일이 상기 동영상 파일인지 여부를 판단하는 단계, 상기 파일이 상기 동영상 파일인 경우, 오픈 이벤트가 발생한 상기 동영상 파일이 동영상 플레이어를 통해 실행되는지 여부를 판단하는 단계, 상기 동영상 파일이 상기 동영상 플레이어를 통해 실행되는 경우, 상기 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단하는 단계, 상기 동영상 파일의 검사 결과 캐시가 데이터베이스에 기록되어 있지 않은 경우, 상기 동영상 파일에 대해 파일 해시 검사를 수행하는 단계, 상기 동영상 파일에 대한 파일 해시가 유해하지 않은 경우, 상기 동영상 파일에 대한 키 프레임을 추출하는 단계, 상기 추출된 키 프레임을 분류기로 제공하여 유해도를 산출하는 단계, 상기 산출된 유해도와 유해 임계값을 비교하는 단계, 및 상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 단계를 포함할 수 있다.
일실시예에 따른 상기 키 프레임을 추출하는 단계는, 오픈 이벤트가 발생한 동영상 파일의 프레임들 중에서 시작 부분의 일부 프레임들과, 종료 부분에 배치된 또 다른 일부 프레임들을 제외하고, 나머지 프레임들 중에서 변화량이 기준 이상인 후보 키 프레임들을 추출하는 단계, 및 상기 추출된 후보 키 프레임들 중에서, 선명도 및 밝기 중에서 적어도 하나를 이용해서 구간 별로 적어도 하나 이상의 키 프레임을 추출하는 단계를 포함할 수 있다.
일실시예에 따르면, 동영상 파일의 재생 시 또는 재생 중에 유해하다고 판단 되는 경우에 필터링 등을 처리하여 유해 동영상에 대한 원천적인 차단 기술을 제공할 수 있다.
일실시예에 따르면, 동영상 파일로부터 캡쳐된 전체 화면 이미지를 이용해서, 해당 영상이 유해하다고 판단되면, 필터링을 통해 해당 영상을 원천적으로 차단할 수 있다.
일실시예에 따르면, 캡쳐 이미지를 기반으로 유해한 영상에 대한 필터링을 처리할 수 있다.
도 1은 일실시예에 따른 유해 동영상 파일 필터링 장치를 설명하는 도면이다.
도 2는 유해 이미지 분류 모델의 구조를 설명하는 도면이다.
도 3은 파일 해시를 추출하여 유해 여부를 판단하는 실시예를 설명하는 도면이다.
도 4는 일실시예에 따른 검사 결과 캐시를 나타내는 도면이다.
도 5는 키 프레임을 추출하는 방법을 설명하는 도면이다.
도 6은 키 프레임을 추출하는 구체적인 실시예를 설명하는 도면이다.
도 7은 일실시예에 따른 유해 동영상 파일 필터링 방법을 설명하는 도면이다.
도 8은 재생 구간 별 가중치 또는 프레임 내 영역별 가중치를 설명하는 도면이다.
도 9는 프레임 내 영역별 가중치를 적용하여 실제 키 프레임을 추출하는 실시예를 설명하는 도면이다.
도 10은 일실시예에 따른 키 프레임 추출 방법에 대해서 설명하는 도면이다.
도 11은 다른 일실시예에 따른 유해 동영상 파일 필터링 장치를 설명하는 도면이다.
도 12는 동영상 파일에 대한 오픈 이벤트와 리드 이벤트가 발생하는 경우에 대해 이미지 분류를 처리하는 실시예를 설명하는 도면이다.
도 13은 유해한 이미지로 분류한 경우의 동작을 설명하는 실시예이다.
도 14a 내지 도 14c는 리드 오프셋 정보를 수집하여 재생 시각 및 버퍼링 시각을 결정하는 실시예를 설명하는 도면이다.
도 15는 또 다른 일실시예에 따른 유해 동영상 파일 필터링 장치를 설명하는 도면이다.
도 16은 분류기를 활용하여 이미지에 대한 유해 여부를 판단하는 이미지 분류 과정을 설명하는 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 유해 동영상 파일 필터링 장치(100)를 설명하는 도면이다.
일실시예에 따른 유해 동영상 파일 필터링 장치(100)를 이용하면, 동영상 파일의 재생 시 또는 재생 중에 유해하다고 판단 되는 경우에 필터링 등을 처리하여 유해 동영상에 대한 원천적인 차단 기술을 제공할 수 있다.
이를 위해, 유해 동영상 파일 필터링 장치(100)는 파일 시스템 감시부(110), 유해도 검사 전처리부(120), 키 프레임 추출부(130), 이미지 분류부(140), 콘텐츠 차단부(150), 및 데이터베이스 관리부(160)를 포함할 수 있다.
파일 시스템 감시부(110)는 동영상 파일에 대한 생성(create), 재생(open), 종료(close) 이벤트를 커널 레벨에서 감시할 수 있다.
유해도 검사 전처리부(120)는 동영상 파일에 대한 유해도를 산출하는데 앞서 유해도를 산출할 필요가 있는지 여부를 확인할 수 있다.
예를 들어, 유해도 검사 전처리부(120)는 파일에 오픈 이벤트가 발생하는 경우, 상기 파일이 동영상 파일인지 여부를 판단하고, 동영상 파일인 경우에 대해서 유해도를 판별하기 위한 일련의 과정을 수행할 수 있다.
또 다른 예로, 유해도 검사 전처리부(120)는 파일에 오픈 이벤트가 발생한 동영상 파일이 실제로 동영상 플레이어를 통해 실행되는지 여부를 판단할 수 있다. 만약, 오픈 이벤트 이후 동영상 플레이어를 통해 재생되는 경우에만 유해도를 판별하기 위한 일련의 과정을 수행할 수 있다.
또 다른 예로, 유해도 검사 전처리부(120)는 오픈 이벤트가 발생한 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단할 수 있다. 만약, 검사 결과 캐시가 데이터베이스에 기록되어 있다면 해당 동영상 파일은 유해 동영상으로 바로 분류될 수 있다. 또한, 검사 결과 캐시가 데이터베이스에 기록되어 있지 않다면 해당 동영상 파일은 유해 동영상인지 여부를 확인해야 한다. 이 경우, 유해 동영상 파일 필터링 장치(100)는 유해도를 판별하기 위한 일련의 과정을 수행할 수 있다.
또 다른 예로, 유해도 검사 전처리부(120)는 오픈 이벤트가 발생한 동영상 파일에 대한 파일 해시를 검사할 수 있다. 파일 해시의 검사 결과, 파일 해시가 유해한 경우에는 동영상 파일을 유해 동영상으로 바로 분류할 수 있다. 한편, 파일 해시가 유해하지 않은 경우에는 유해 동영상인지 여부를 확인해야 한다. 이 경우, 유해 동영상 파일 필터링 장치(100)는 유해도를 판별하기 위한 일련의 과정을 수행할 수 있다.
유해 동영상 파일 필터링 장치(100)는 유해도를 판별하기 위한 일련의 과정을 수행하기 위해, 키 프레임 추출부(130)는 오픈 이벤트가 발생한 동영상 파일에 대해, 동영상 파일을 구성하는 프레임들로부터 키 프레임을 추출할 수 있다.
특히, 키 프레임 추출부(130)는 오픈 이벤트가 발생한 동영상 파일의 프레임들 중에서 시작 부분의 일부 프레임들과, 종료 부분에 배치된 또 다른 일부 프레임들을 제외할 수 있다.
일반적으로 동영상의 시작 부분과 끝 부분에는 콘텐츠와 관련이 크지 않은 내용이 등장할 가능성이 높다. 예를 들어, 동영상 파일의 초반에는 빈 화면, 광고, 배급사 화면 등이 배치될 수 있고, 동영상 파일의 마지막 부분에는 빈화면, 출연진 정보 등이 배치될 수 있다. 따라서, 실질적인 내용에 해당하는 부분이 등장할 가능성이 높은 시작 부분과 끝 부분을 제외한 나머지 부분들에서 키 프레임을 추출할 수 있다.
시작 부분과 끝 부분은 대략 10분 내외의 분량으로 구분할 수 있지만, 다양하게 조절될 수 있다.
키 프레임 추출부(130)는 시작 부분과 끝 부분을 제외한 나머지 프레임들 중에서 변화량이 기준 이상인 후보 키 프레임들을 추출할 수 있다. 변화량이 기준 이상인 프레임은 새로운 장면이 시작되는 부분일 가능성이 높다. 따라서, 해당 장면이 시작되는 프레임을 후보 키 프레임으로 추출할 수 있다.
또한, 키 프레임 추출부(130)는 추출된 후보 키 프레임들 중에서, 선명도 및 밝기 중에서 적어도 하나를 이용해서 구간 별로 적어도 하나 이상의 키 프레임을 추출할 수 있다.
일실시예에 따르면, 키 프레임 추출부(130)는 시작 부분과 끝 부분을 제외한 나머지 프레임들 중에서 변화량이 기준 이상인 프레임을 키 프레임으로 추출할 수도 있다.
일례로, 키 프레임 추출부(130)는 오픈 이벤트가 발생한 동영상 파일의 재생 구간 중에서 시작 부분에 배치된 일부 프레임들, 종료 부분에 배치된 또 다른 일부 프레임들, 시작 부분과 종료 부분을 제외한 나머지 부분의 프레임들에 대한 가중치를 다르게 부여하여 키 프레임을 추출할 수 있다.
또한, 키 프레임 추출부(130)는 인접한 프레임들 중에서 프레임 내 서브 블록별로 가중치를 적용하여 키 프레임을 결정할 수도 있다.
또한, 키 프레임 추출부(130)는 인접한 프레임 간의 이미지 해시값에 서브 블록 별로 가중치를 적용하여 해밍 거리(Hamming Distance)를 계산하고, 구간 별 임계값보다 큰 해밍 거리의 키 프레임을 후보 키 프레임으로 분류하며, 분류된 후보 키 프레임들 중에서 임계값이 가장 작은 후보 키 프레임을 상기 키 프레임으로 추출할 수 있다.
일실시예에 따르면 유해도 검사 전처리부(110)의 검사 결과, 파일이 동영상 파일인지 여부를 판단하고 동영상 파일인 경우에 키 프레임 추출부(130)는 키 프레임을 추출하는 과정을 시작할 수 있다.
일실시예에 따르면 유해도 검사 전처리부(110)의 검사 결과, 동영상 파일이 동영상 플레이어를 통해 실행되는지 여부를 판단하고, 동영상 플레이어를 통해 실행되는 경우에 키 프레임 추출부(130)는 키 프레임을 추출하는 과정을 시작할 수 있다.
일실시예에 따르면 유해도 검사 전처리부(110)의 검사 결과, 오픈 이벤트가 발생한 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단하고, 기록된 경우에 키 프레임 추출부(130)는 키 프레임을 추출하는 과정을 시작할 수 있다.
일실시예에 따르면 유해도 검사 전처리부(110)의 검사 결과, 오픈 이벤트가 발생한 동영상 파일에 대한 파일 해시를 판단하고, 파일 해시의 검사 결과, 파일 해시가 유해하지 않은 경우에 키 프레임을 추출하는 과정을 시작할 수 있다.
이미지 분류부(140)는 추출된 키 프레임을 분류기로 제공하여 유해도를 산출할 수 있다.
분류기는 이미지나 텍스트 등을 수집하여 유해한 영상인지 여부를 판단할 수 있다. 이러한 판단은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Networks), 또는 DNN(Deep Neural Network) 등의 딥러닝을 통해서 구현이 가능하며, 유해 여부를 판단할 수 있는 기존에 다양한 연구 결과나 소프트웨어, 모듈 등을 활용할 수 있다.
분류기는 딥러닝을 기반으로, 서브 이미지(메타 태그 섬네일 이미지 등)에 대한 로컬화 이미지 분류(Image classification with localization), 객체 탐지(Object detection), 객체 분할(Object segmentation), 이미지 스타일 전이(Image style transfer), 이미지 색상화(Image colorization), 이미지 재구성(Image reconstruction), 이미지 슈퍼레졸루션(Image super-resolution), 이미지 합성(Image synthesis) 등을 수행하고, 이를 기반으로 유해 정도를 판단할 수 있다.
콘텐츠 차단부(150)는 산출된 유해도와 유해 임계값을 비교하고, 유해도가 유해 임계값 이상인 경우에 동영상 파일을 유해 동영상 파일로 결정하여 결정된 유해 동영상 파일을 차단하도록 처리할 수 있다.
데이터베이스 관리부(160)는 결정된 유해 동영상 파일에 대한 검사 결과 캐시 정보를 기록하여 데이터베이스를 업데이트할 수 있다.
도 2는 유해 이미지 분류 모델의 구조(200)를 설명하는 도면이다.
최신 CNN 알고리즘은 높은 이미지 인식 정확도를 얻기 위해 깊은 계층의 모델을 선호한다. 유해 이미지 카테고리 별로 수집한 대량의 데이터 셋으로 깊은 계층을 갖는 CNN 모델을 학습시켜 유해 이미지 분류 모델을 생성한다.
유해 이미지 분류 모델은 특징 추출부(210)와 분류부(220)로 구성된다. 특징 추출부(210)는 필터의 개수를 늘리면서 컨볼루션 계층을 반복적으로 수행함으로써 입력 이미지로부터 추상화된 주요 패턴 정보를 가진 특징을 추출한다. 깊은 계층을 갖는 유해 이미지 분류 모델은 경사 소실(gradient vanishing) 문제를 해결하기 위해 계층을 건너 뛰어 연산하는 방법을 사용한다. 분류부(220)는 특징 추출부(210)에서 추출한 특징 정보를 바탕으로 선정성, 폭력성, 공포성과 같은 카테고리 별 이미지 분류 결과를 출력한다.
도 3은 파일 해시를 추출하여 유해 여부를 판단하는 실시예를 설명하는 도면이다.
도 3에서 보는 바와 같이, 유해도 검사 전처리부(310)는 동영상 파일의 일부 또는 전체에서 추출한 해시 값 이용할 수 있다. 또한, 유해도 검사 전처리부(310)는 수집한 유해 동영상 파일에서 해시값을 추출하여 데이터베이스(320)에 저장할 수 있다.
또한, 유해도 검사 전처리부(330)는 추출한 파일 해시를 로컬 또는 원격의 서버(340)에 전송하는 방식으로 질의해 해당 동영상 파일에 대한 유해 여부를 판별할 수 있다.
도 4는 일실시예에 따른 검사 결과 캐시(400)를 나타내는 도면이다.
검사 결과 캐시(400)는 파일 해시값, 유해 여부, 검사 시작 필드를 포함할 수 있다.
예를 들어, 파일 해시값 '9122082c4d8c37a28bafd03b661e5d81101a4305a3302d9df4e28c8029db207e'에 해당하는 검사 결과 캐시는 유해 여부가 'N'으로서 유해하지 않은 캐시에 해당하고, 이는 2019년12월30일의 10시11분에 검사된 것으로 확인할 수 있다. 이후, 동영상 파일에 동일한 파일 해시값을 갖는 검사 결과 캐시가 발견되면 해당 동영상 파일은 유해하지 않은 동영상으로 판단될 수 있다. 또한, 검사 결과 캐시의 판단 결과에 상관 없이 키 프레임을 추출하고 추출된 키 프레임에 대한 유해 여부를 판단하는 과정은 다시 수행될 수 있다.
한편, 파일 해시값 '2f11e139cb0d417307b0f6e6421090dba04d0e9083d37ade2649b07cd6c68e76'에 해당하는 검사 결과 캐시는 유해 여부가 'Y'으로서 유해한 캐시에 해당한다. 이 검사 결과 캐시가 발견된 동영상 파일은 키 프레임의 추출과 관계없이 유해한 것으로 판단되어 차단될 수 있다.
도 5는 키 프레임을 추출하는 방법을 설명하는 도면이다.
도 5를 살펴보면, 유해 동영상 파일 필터링 장치의 키 프레임 추출부는 맨 앞과 뒤 구간을 제외한 전체 구간 중 프레임 간 변화량이 큰 프레임을 후보 키 프레임으로 추출할 수 있다(단계 510). 또한, 추출된 후보 키 프레임들 중에서 선명도 또는 밝기가 기준 이상인 후보 키 프레임들에 대해 구간 별 키 프레임으로 추출할 수 있다(단계 520).
도 6은 키 프레임을 추출하는 구체적인 실시예(600)를 설명하는 도면이다.
실시예(600)에서 보는 바와 같이, t0 내지 tn의 길이에 해당하는 동영상 파일에 대해 t0에 해당하는 시작 부분과, tn에 해당하는 종료 부분을 제외하고 나머지 부분에 대해서만 키 프레임의 추출을 위한 유효 구간으로 결정할 수 있다.
이에, 실시예(600)에서는 프레임 간 변화량이 큰 프레임을 후보 키 프레임으로 추출하고, 추출된 후보 키 프레임 중에서 가장 선명하고, 적정 밝기의 프레임을 키 프레임으로 추출할 수 있다.
도 7은 일실시예에 따른 유해 동영상 파일 필터링 방법을 설명하는 도면이다.
일실시예에 따른 유해 동영상 파일 필터링 방법은 파일에 오픈 이벤트가 발생하는 경우, 파일이 동영상 파일인지 여부를 판단할 수 있다(단계 701).
단계 701의 판단 결과, 동영상 파일이 아니라면 유해 동영상 파일인지 여부를 판단할 필요가 없으므로 프로세스를 종료할 수 있다.
한편, 단계 701의 판단 결과 파일이 상기 동영상 파일인 경우, 오픈 이벤트가 발생한 동영상 파일이 동영상 플레이어를 통해 실행되는지 여부를 판단할 수 있다(단계 702).
동영상 플레이어를 통해 실행되지 않는다면, 화면을 통해 보여지지 않는 것이므로 유해 동영상 파일인지 여부를 판단할 필요가 없다. 이 경우에도 프로세스를 종료할 수 있다.
단계 702의 판단 결과 동영상 파일이 동영상 플레이어를 통해 실행되는 경우, 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단할 수 있다(단계 703).
만약, 단계 703의 판단 결과 검사 결과 캐시가 데이터베이스에 기록돼 있다면, 단계 707로 분기하여 해당 동영상 파일에 대한 유해도가 유해 임계값 이상인지 여부를 판단할 수 있다.
만약, 단계 703의 판단 결과 동영상 파일의 검사 결과 캐시가 데이터베이스에 기록되어 있지 않은 경우, 동영상 파일에 대해 파일 해시 검사를 수행하여, 파일 해시가 유해한지 여부를 판단할 수 있다(단계 704).
단계 704의 판단 결과, 파일 해시가 유해하다면 단계 707로 분기하여 해당 동영상 파일에 대한 유해도가 유해 임계값 이상인지 여부를 판단할 수 있다.
단계 704의 판단 결과, 동영상 파일에 대한 파일 해시가 유해하지 않은 경우, 동영상 파일에 대한 키 프레임을 추출할 수 있다(단계 705).
키 프레임을 추출하기 위해, 오픈 이벤트가 발생한 동영상 파일의 프레임들 중에서 시작 부분의 일부 프레임들과, 종료 부분에 배치된 또 다른 일부 프레임들을 제외하고, 나머지 프레임들 중에서 변화량이 기준 이상인 후보 키 프레임들을 추출할 수 있다.
또한, 유해 동영상 파일 필터링 방법은 추출된 후보 키 프레임들 중에서, 선명도 및 밝기 중에서 적어도 하나를 이용해서 구간 별로 적어도 하나 이상의 키 프레임을 추출할 수 있다.
이후, 유해 동영상 파일 필터링 방법은 추출된 키 프레임을 분류기로 제공하여 유해도를 산출하는 이미지 분류 과정을 수행할 수 있다(706).
다음으로, 유해 동영상 파일 필터링 방법은 산출된 유해도와 유해 임계값을 비교하고(단계 707), 유해도가 유해 임계값 이상인 경우에 동영상 파일을 유해 동영상 파일로 결정하여 결정된 유해 동영상 파일을 차단하도록 처리할 수 있다(단계 708). 또한, 유해 동영상 파일로 결정하고 해당 동영상 파일을 차단한 경우 이를 캐시에 반영하여 캐시 정보를 업데이트할 수 있다(단계 710).
만약, 단계 707의 판단 결과, 유해도가 유해 임계값 이하인 경우에 동영상 파일을 유해 동영상 파일로 결정하지 않고 바이패스하여(단계 709), 캐시 정보를 업데이트 하는 과정을 처리할 수 있다(단계 710).
도 8은 재생 구간 별 가중치 또는 프레임 내 영역별 가중치를 설명하는 도면이다.
먼저, 도면부호 810에서 보는 바와 같이, 동영상 파일의 재생구간 별로 서로 다른 가중치가 부여될 수 있다.
영상의 주제에 가까운 키 프레임은 재생 구간의 시작과 끝보다는 중앙에 분포되어 있을 가능성이 높다.
예를 들어, 동영상 파일의 재생구간을 0~7까지의 구간으로 구분한다면, 시작부분에 해당하는 0구간과, 종료부분에 해당하는 7구간에는 영상의 주제와는 큰 관련이 없는 프레임들이 분포가 되어있을 가능성이 높다. 따라서, 0구간과 7구간에서는 가중치를 0으로 부여하여 사실상 키 프레임의 후보에서 제외시킬 수 있다.
도면부호 820는 하나의 프레임 내에서의 서브블록들에 대한 가중치를 나타낸다. 마찬가지로 한 프레임 내 관심 영역은 가장자리보다는 가운데 영역에 있을 가능성이 높다.
따라서, 본 발명에서는 재생 구간의 중앙에 가까울수록 가중치를 두어 더 많은 프레임을 추출할 수 있다.
한 프레임 내의 영역이 중앙에 가까울수록 더 많은 가중치를 두어 더 민감하게 프레임 간 변화를 감지한다.
아래의
Figure PCTKR2021007612-appb-I000001
는 n구간 프레임 내 위치에 따른 가중치를 나타내며, 아래와 같이 3구간에서의 가중치, 2구간에서의 가중치, 1구간에서의 가중치, 0구간에서의 가중치 순서로 가중치가 설정될 수 있다.
Figure PCTKR2021007612-appb-I000002
본 발명에 따르면, 인접한 프레임 간의 이미지 해시값에 서브 블록 별로 가중치를 적용하여 [수학식 1]을 통해 해밍 거리(Hamming Distance)를 계산할 수 있다.
예를 들어, 이미지 해시 방법은 Average Hash, Perceptual Hash, Difference Hash, Wavelet Hash 등이 있다.
[수학식 1]
Figure PCTKR2021007612-appb-I000003
[수학식 1]에서 Ht는 t구간의 가중치 해밍 거리이고, ht(x, y)는 x와 y 간 해밍 거리이며, bt(i)는 t구간의 i번째 서브 블럭의 이미지 해시값을 나타낸다. 또한, Gi는 i번째 서브 블록의 가중치에 해당한다.
또한, 유해 동영상 파일 필터링 장치는 [수학식 2]를 이용하여 산출하는 구간 별 임계(Tt)값보다 큰 해밍 거리의 프레임을 후보 키 프레임으로 분류할 수 있다.
이때, 임계값이 작을 수록 더 많은 키 프레임 추출할 수 있다.
[수학식 2]
Figure PCTKR2021007612-appb-I000004
[수학식 2]에서 Tt는 t구간의 해밍 거리 임계값을 나타내고, α는 서브 블록의 가중치의 전체 합을 나타내며, Wt는 재생 구간 t의 가중치를 나타낸다.
도 9는 프레임 내 영역별 가중치를 적용하여 실제 키 프레임을 추출하는 실시예를 설명하는 도면이다.
보다 구체적으로, 도 9는 프레임을 8 X 8의 서브 블록으로 나눈 실시예에 해당한다.
만약, P0=0, P1=1, P2=2, P3=3일 경우를 고려할 수 있다. 이때의 전체 서브 블럭 수는 64이고 α(서브 블록의 가중치의 전체 합)은 [수학식 3]에 의해 56으로 산출될 수 있다.
[수학식 3]
Figure PCTKR2021007612-appb-I000005
전체 재생 시간을 8개의 구간으로 나눈 경우의 예시를 살펴보면, 아래 재생 구간 가중치(Wt)는 가운데 부분을 낮게 설정하여 처음과 끝 부분보다 후보 키 프레임을 상대적으로 많이 추출할 수 있다.
[수학식 4]
Figure PCTKR2021007612-appb-I000006
[수학식 4]에 의해서, 동영상 파일에 대해, 재생구간, 재생구간의 가중치, 해밍거리 임계값을 [표 1]와 같이 산출할 수 있다.
[표 1]
Figure PCTKR2021007612-appb-I000007
후보 키 프레임에는 단색의 이미지나 배경 풍경과 같은 관심 객체가 없는 이미지가 포함될 수 있다.
이러한 경우에는, 추출된 후보 키 프레임에서 그러한 프레임을 제거하기 위해 에지(edge)를 검출할 수 있다. 에지는 경계선, 윤곽선을 의미하며, 에지 검출은 밝기 정보를 바탕으로 영상 안에 있는 객체의 경계를 탐지할 수 있다.
에지 검출기로는 Canny, Sobel, Prewitt, Roberts, Compass, Laplacian 등을 사용할 수 있다.
결국, 일실시예에 따른 유해 동영상 파일 필터링 장치는 검출된 에지의 양이 임계값보다 클 경우 최종 키 프레임으로 분류할 수 있다.
도 10은 일실시예에 따른 키 프레임 추출 방법에 대해서 설명하는 도면이다.
일실시예에 따른 유해 동영상 파일 필터링 방법은 키 프레임을 추출하기 위해, 인접한 프레임들 간의 이미지 해시를 계산할 수 있다(단계 1001).
다음으로, 유해 동영상 파일 필터링 방법은 계산한 이미지 해시 간 해밍 거리(Ht)를 계산할 수 있다(단계 1002).
또한, 유해 동영상 파일 필터링 방법은 계산한 해밍 거리(Ht)와 구간 별 임계값(Tt)을 비교하여, 해밍 거리(Ht)가 구간 별 임계값(Tt) 이상인지 여부를 판단할 수 있다(단계 1003).
판단 결과, 해밍 거리(Ht)가 구간 별 임계값(Tt) 이상이라면, 후보 키 프레임 추출할 수 있다(단계 1004).
만약, 단계 1003의 판단 결과, 해밍 거리(Ht)가 구간 별 임계값(Tt) 이하라면, 후보 키 프레임 추출하지 않고 프로세스를 종료한다.
다음으로, 유해 동영상 파일 필터링 방법은 추출된 후보 키 프레임으로부터 엣지를 검출할 수 있다(단계 1005).
또한, 유해 동영상 파일 필터링 방법은 검출한 엣지의 양과 엣지 임계값(Te)을 비교하고(단계 1006), 엣지의 양이 엣지 임계값(Te) 이상인 경우에 최종 키 프레임을 추출할 수 있다(단계 1007).
만약, 단계 1006의 비교 결과, 엣지의 양이 엣지 임계값(Te) 이하라면, 프로세스를 종료할 수 있다.
도 11은 다른 일실시예에 따른 유해 동영상 파일 필터링 장치(1100)를 설명하는 도면이다.
도 11은 윈도우와 같이 리드 오프셋 정보를 얻을 수 있는 시스템에서의 필터링 과정을 권리화한다.
이를 위해, 일실시예에 따른 유해 동영상 파일 필터링 장치(1100)는 오프셋 수집부(1110), 썸네일 이미지 추출부(1120), 이미지 분류부(1130), 콘텐츠 차단부(1140), 및 데이터베이스 관리부(1150)를 포함할 수 있다.
일실시예에 따른 유해 동영상 파일 필터링 장치(1100)는 커널단에서 파일 재생 중 유해 동영상 파일을 필터링 하기 위해 동영상 파일에 대한 리드 이벤트를 감지할 수 있다.
이에, 오프셋 수집부(1110)는 동영상 파일에 대한 리드 이벤트가 발생하면, 버퍼링 시간 동안 동영상 파일에 대한 리드 오프셋 정보를 수집할 수 있다.
섬네일 이미지 추출부(1120)는 수집된 리드 오프셋 정보와 상기 동영상 파일에 대한 버퍼링 속도를 고려하여 섬네일 이미지의 추출 개수를 계산할 수 있다. 또한, 계산된 추출 개수를 고려하여, 동영상 파일에 대한 적어도 하나 이상의 섬네일 이미지를 추출할 수 있다.
다음으로, 이미지 분류부(1130)는 추출된 적어도 하나 이상의 섬네일 이미지를 분류기로 제공하여 유해도를 산출할 수 있다.
콘텐츠 차단부(1140)는 산출된 유해도와 유해 임계값을 비교하고, 유해도가 유해 임계값 이상인 경우에 동영상 파일을 유해 동영상 파일로 결정할 수 있다. 또한, 콘텐츠 차단부(1140)는 결정된 유해 동영상 파일을 차단하도록 처리할 수 있다.
데이터베이스 관리부(1150)는 결정된 유해 동영상 파일에 대한 검사 결과 캐시 정보를 데이터베이스에 업데이트할 수 있다.
도 12는 동영상 파일에 대한 오픈 이벤트와 리드 이벤트가 발생하는 경우에 대해 이미지 분류를 처리하는 실시예를 설명하는 도면이다.
커널단에 위치하는 파일 시스템 이벤트 감시부(1210)는 동영상 파일에 대한 오픈 이벤트를 감지할 수 있다. 이에, 유해 동영상 파일 필터링 장치(1220)는 전체 키 프레임을 검사할 수 있다.
이 과정에서 동영상 파일에 대한 유해 여부가 결정될 수 있고, 유해하다고 판단되지 않는 경우, 동영상 파일의 재생 중 유해도를 판단할 수 있다.
이를 위해, 파일 시스템 이벤트 감시부(1210)는 동영상 파일에 대한 리드 이벤트를 감지할 수 있다. 이에, 유해 동영상 파일 필터링 장치(1220)는 버퍼링 속도에 따른 섬네일 추출 개수를 계산하고, 파일 오프셋 정보로부터 섬네일을 N장 추출할 수 있다.
또한, 유해 동영상 파일 필터링 장치(1220)는 추출된 N장의 섬네일을 분류기(1230)로 제공하여 이미지 분류를 요청하고, 분류 요청에 따른 결과로서 이미지에 대한 유해도를 회신할 수 있다.
도 12의 실시예에서는 이미지에 대한 유해도가 유해 임계값 이상인 경우라면, 해당 동영상 파일을 유해 동영상으로 결정할 수 있다.
도 13에서는 이미지에 대한 유해도가 유해 임계값 이상인 경우라도, 다른 키 프레임들을 다양한 방법으로 추가로 확인한 후 유해 동영상 여부를 결정할 수 있다.
도 13은 유해한 이미지로 분류한 경우의 동작을 설명하는 실시예이다.
커널단에 위치하는 파일 시스템 이벤트 감시부(1310)는 동영상 파일에 대한 리드 이벤트를 감지할 수 있다. 이에, 유해 동영상 파일 필터링 장치(1320)는 파일 오프셋 정보로부터 섬네일을 N장 추출할 수 있다.
또한, 유해 동영상 파일 필터링 장치(1320)는 추출된 N장의 섬네일을 분류기(1330)로 제공하여 이미지 분류를 요청하고, 분류 요청에 따른 결과로서 이미지에 대한 유해도를 회신할 수 있다.
만약, 회신된 유해도가 유해 임계값 이상인 경우라면, 유해 동영상 파일 필터링 장치(1320)는 해당 동영상 파일을 유해 동영상으로 바로 결정하지 않고, 도면부호 1340에서 보는 바와 같이 파일 오프셋으로부터 추출된 섬네일에 더해 키 프레임을 더 추출하고, 추출된 키 프레임까지 분류기(1330)를 통해 유해도를 다시 산출할 수 있다.
이 과정에서 산출된 유해도가 유해 임계값 이상이라면, 해당 동영상 파일을 유해 동영상으로 결정할 수도 있고, 추가적인 키 프레임을 더 추출하여 유해도를 또 다시 산출할 수도 있다.
동영상 파일이 유해하다고 판단되는 경우, 유해 동영상 파일 필터링 장치(1320)는 해당 동영상 파일에 대한 캐시 정보를 업데이트 하고, 동영상 파일을 차단할 수 있다.
도 14a 내지 도 14c는 리드 오프셋 정보를 수집하여 재생 시각 및 버퍼링 시각을 결정하는 실시예를 설명하는 도면이다.
도 14a를 살펴보면, 리드 오프셋 정보는 동영상 파일의 재생을 위한 하드웨어 사양으로서, CPU 정보, RAM 정보, OS 정보를 포함할 수 있다. 또한, 동영상 파일을 재생하는 프로그램에 대한 정보도 함께 포함할 수 있다.
또한, 리드 오프셋 정보는 동영상 파일을 구성하는 각 프레임에 대한 프레임 사이즈, 전체 재생 시간, 파일 사이즈를 더 포함할 수 있다.
도 14b를 살펴보면, 재생 시각, 오프셋, 버퍼링 시각을 서로 연관지어 기록한 테이블(1420)을 도시한다.
도 14c는 도 14b의 테이블(1420)에 따라 재생 시각과 오프셋을 나타내는 도면이다.
예를 들어, 재생시각 4초에 해당하는 오프셋은 '13,107,200 bytes'로서 버퍼링 후 검사를 위해서는 118초가 필요함을 알 수 있다.
또한, 재생시각 10초에 해당하는 오프셋은 '13,762,560 bytes'로서 버퍼링 시각은 124초가 필요하며, 재생 시각 이후 버퍼링 시각이 경과한 뒤에 검사가 시작됨을 알 수 있다.
도 15는 또 다른 일실시예에 따른 유해 동영상 파일 필터링 장치를 설명하는 도면이다.
일실시예에 따른 유해 동영상 파일 필터링 장치(1500)를 이용하면, 동영상 파일로부터 캡쳐된 전체 화면 이미지를 이용해서, 해당 영상이 유해하다고 판단되면, 필터링을 통해 해당 영상을 원천적으로 차단할 수 있다.
이를 위해, 일실시예에 따른 유해 동영상 파일 필터링 장치(1500)는 유해도 검사 전처리부(1510), 이미지 생성부(1520), 이미지 분류부(1530), 및 콘텐츠 차단부(1540)를 포함할 수 있다.
먼저, 유해도 검사 전처리부(1510)는 버퍼링 시간 동안 동영상 파일에 대한 리드 오프셋 정보를 제공하지 않는 시스템에서 동영상 파일에 대한 오픈 이벤트가 발생하면, 동영상 플레이어의 실행 여부를 확인할 수 있다.
다음으로, 이미지 생성부(1520)는 동영상 플레이어가 실행되는 경우, 동영상 플레이어를 통해 출력되는 전체 화면을 캡쳐하여 이미지를 생성할 수 있다.
이미지 분류부(1530)는 상기 생성된 이미지를 분류기로 제공하여 유해도 산출을 위한 이미지 분류를 요청하고, 산출된 유해도를 포함하는 이미지 분류 결과를 수집할 수 있다.
콘텐츠 차단부(1540)는 수집된 이미지 분류 결과를 고려하여 동영상 파일에 대한 차단 여부를 결정할 수 있다.
일실시예에 따르면, 유해 동영상 파일 필터링 장치(1500)는 동영상 파일에 대한 오픈 이벤트가 발생하면, 캡쳐 주기 타이머가 구동되는 동안에 상기 동영상 파일에 대한 차단 여부를 결정하는 과정을 반복하도록 상기 캡쳐 주기 타이머를 구동할 수 있다.
일실시예에 따르면, 유해 동영상 파일 필터링 장치(1500)는 전체 화면을 캡쳐한 전체 이미지에 서브 이미지를 추출할 수도 있다.
이를 위해, 유해 동영상 파일 필터링 장치(1500)는 전체 화면의 이미지 중에서 적어도 하나 이상의 서브 이미지 영역을 식별할 수 있다.
서브 이미지 영역은, 서브 이미지를 표시하기 위해서 브라우저에서 전체 화면 중에서 일부를 할당하는 영역으로서, 하나의 서브 이미지 영역에는 하나의 서브 이미지가 삽입될 수도 있고, 연관된 복수 개의 서브 이미지들이 삽입될 수도 있다.
또한, 본 명세서에서는 전체 화면에서 서브 이미지 영역이 복수 개로 분할된 예시를 통해 발명을 설명하고 있지만, 전체 화면에서 서브 이미지 영역이 하나로 할당되는 예시도 고려할 수 있다.
유해 동영상 파일 필터링 장치(1500)는 식별된 적어도 하나 이상의 서브 이미지 영역 내에 삽입된 적어도 하나 이상의 서브 이미지를 추출할 수 있다.
일실시예에 따르면, 서브 이미지 영역과 서브 이미지가 동일한 의미로 해석될 수도 있다. 이 경우, 전체 화면에서 서브 이미지 영역을 식별하고, 식별된 서브 이미지 영역에서 서브 이미지를 추출하는 과정이 구분되지 않고, 하나의 프로세스로 처리될 수도 있다. 예를 들면, 전체 화면에서 서브 이미지가 바로 추출될 수 있다.
유해 동영상 파일 필터링 장치(1500)는 추출된 적어도 하나 이상의 서브 이미지가 현재 재생 중인지 여부를 판단할 수 있다.
서브 이미지가 현재 재생 중인지 여부를 판단하기 위해, 유해 동영상 파일 필터링 장치(1500)는 동일한 서브 이미지 영역에서 일정 시간 간격으로 추출된 서브 이미지를 비교할 수 있다.
예를 들어, 동일한 서브 이미지 영역에서 1초 간격으로 서브 이미지들을 추출하고, 추출된 서브 이미지들의 유사도를 확인하여 기준 이하로 유사도가 낮은 경우 해당 서브 이미지가 재생 중이라고 판단할 수 있다.
유해 동영상 파일 필터링 장치(1500)는 추출된 적어도 하나 이상의 서브 이미지가 현재 재생 중인 경우, 기설정된 적어도 하나 이상의 차단 조건을 확인할 수 있다. 참고로, 영상을 캡쳐하는 경우 서브 이미지가 생성될 수 있다. 따라서 본 명세서의 전반에서 사용되는 재생되는 서브 이미지는 영상, 또는 동영상으로 해석될 수 있다.
또한, 유해 동영상 파일 필터링 장치(1500)는 현재 재생 중인 서브 이미지가 상기 기설정된 적어도 하나 이상의 차단 조건에 부합되는 경우, 재생 중인 서브 이미지를 차단하도록 제어할 수 있다.
예를 들어, 차단 조건은 사전에 설정되어 사용자 별로 데이터베이스에 기록될 수 있다. 구체적으로, 차단 조건은 시청 가능한 카테고리, 시청가능 시간대, 시청가능 요일, 전체 시청시간 등을 포함할 수 있다.
만약, 서브 이미지가 현재 재생 중이나, 현재가 차단 조건에 부합되는 시간대라면 유해 동영상 파일 필터링 장치(1500)는 현재 재생 중인 서브 이미지를 차단하도록 제어할 수 있다.
도 16은 분류기를 활용하여 이미지에 대한 유해 여부를 판단하는 이미지 분류 과정을 설명하는 도면이다.
도 16은 분류기를 활용하여 캡쳐 이미지의 유해 여부를 판단하는 이미지 분류 과정을 설명하는 도면이다.
설치된 앱(1610)은 분류기(1620)와 연동하여 유해 스트리밍 영상 필터링 방법을 구현할 수 있다.
앱(1610)은 전체 화면을 캡쳐하고, 캡쳐된 전체 화면에서 이미지를 추출하여 분류기(1620)에 전달하여, 유해 정도를 산출하기 위한 이미지 분류를 요청할 수 있다.
분류기(1620)는 전달된 이미지를 딥러닝으로 분석하여 유해 정도를 산출하여 앱(1610)에 회신할 수 있다.
이에, 앱(1610)은 사전에 설정된 유해 임계값과, 분류기(1620)가 산출한 유해 정도를 대비하여 해당 영상에 대한 차단 여부를 결정할 수 있다.
앱(1610)과 분류기(1620)가 처리하는 이러한 일련의 과정은 미리 설정된 시간 간격으로 반복해서 처리될 수 있다. 일실시예에서는 1초 간격으로 전체 화면을 캡쳐하고, 이미지를 분류하여 차단 여부를 결정하는 과정을 반복해서 수행할 수 있다.
또한, 이러한 반복 과정은 영상의 재생이 종료되는 시점 또는 앱(1610)의 실행이 종료되는 시점까지 반복될 수 있다.
결국, 본 발명을 이용하면, 동영상 파일의 재생 시 또는 재생 중에 유해하다고 판단 되는 경우에 필터링 등을 처리하여 유해 동영상에 대한 원천적인 차단 기술을 제공할 수 있다.
또한, 동영상 파일로부터 캡쳐된 전체 화면 이미지를 이용해서, 해당 영상이 유해하다고 판단되면, 필터링을 통해 해당 영상을 원천적으로 차단할 수 있고, 캡쳐 이미지를 기반으로 유해한 영상에 대한 필터링을 처리할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 처리되는 하나 이상의 소프트웨어 애플리케이션을 처리할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 처리될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 처리하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 처리하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 처리되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (18)

  1. 파일 재생 시작 시 유해 동영상 파일을 필터링 하는 장치에 있어서,
    오픈 이벤트가 발생한 동영상 파일로부터 키 프레임을 추출하는 키 프레임 추출부;
    상기 추출된 키 프레임을 분류기로 제공하여 유해도를 산출하는 이미지 분류부; 및
    상기 산출된 유해도와 유해 임계값을 비교하고, 상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 콘텐츠 차단부
    를 포함하는 유해 동영상 파일 필터링 장치.
  2. 제1항에 있어서,
    상기 키 프레임 추출부는,
    상기 오픈 이벤트가 발생한 동영상 파일의 재생 구간 별 가중치 및 프레임 내 가중치 중에서 적어도 하나에 기초하여, 상기 키 프레임을 추출하는 유해 동영상 파일 필터링 장치.
  3. 제2항에 있어서,
    상기 키 프레임 추출부는,
    상기 오픈 이벤트가 발생한 동영상 파일의 재생 구간 중에서 시작 부분에 배치된 일부 프레임들, 종료 부분에 배치된 또 다른 일부 프레임들, 시작 부분과 종료 부분을 제외한 나머지 부분의 프레임들에 대한 가중치를 다르게 부여하여 상기 키 프레임을 추출하는 유해 동영상 파일 필터링 장치.
  4. 제2항에 있어서,
    상기 키 프레임 추출부는,
    인접한 프레임들 중에서 프레임 내 서브 블록별로 가중치를 적용하여 상기 키 프레임을 결정하는 유해 동영상 파일 필터링 장치.
  5. 제4항에 있어서,
    상기 키 프레임 추출부는,
    상기 인접한 프레임 간의 이미지 해시값에 서브 블록 별로 가중치를 적용하여 해밍 거리(Hamming Distance)를 계산하고, 구간 별 임계값보다 큰 해밍 거리의 키 프레임을 후보 키 프레임으로 분류하며, 분류된 후보 키 프레임들 중에서 임계값이 가장 작은 후보 키 프레임을 상기 키 프레임으로 추출하는 유해 동영상 파일 필터링 장치.
  6. 제1항에 있어서,
    상기 키 프레임 추출부는,
    오픈 이벤트가 발생한 동영상 파일의 프레임들 중에서 시작 부분의 일부 프레임들과, 종료 부분에 배치된 또 다른 일부 프레임들을 제외하고, 나머지 프레임들 중에서 변화량이 기준 이상인 후보 키 프레임들을 추출하고,
    상기 추출된 후보 키 프레임들 중에서, 선명도 및 밝기 중에서 적어도 하나를 이용해서 구간 별로 적어도 하나 이상의 키 프레임을 추출하는 유해 동영상 파일 필터링 장치.
  7. 제1항에 있어서,
    상기 결정된 유해 동영상 파일에 대한 검사 결과 캐시 정보를 기록하여 데이터베이스를 업데이트하는 데이터베이스 관리부
    를 더 포함하는 유해 동영상 파일 필터링 장치.
  8. 제1항에 있어서,
    키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부
    를 더 포함하고,
    상기 유해도 검사 전처리부는,
    파일에 오픈 이벤트가 발생하는 경우, 상기 파일이 상기 동영상 파일인지 여부를 판단하고,
    상기 키 프레임 추출부는,
    상기 동영상 파일인 경우에 상기 키 프레임을 추출하는 것을 특징으로 하는 유해 동영상 파일 필터링 장치.
  9. 제1항에 있어서,
    키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부
    를 더 포함하고,
    상기 유해도 검사 전처리부는,
    파일에 오픈 이벤트가 발생한 상기 동영상 파일이 동영상 플레이어를 통해 실행되는지 여부를 판단하고,
    상기 키 프레임 추출부는,
    상기 동영상 플레이어를 통해 실행되는 경우에 상기 키 프레임을 추출하는 것을 특징으로 하는 유해 동영상 파일 필터링 장치.
  10. 제1항에 있어서,
    키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부
    를 더 포함하고,
    상기 유해도 검사 전처리부는,
    상기 오픈 이벤트가 발생한 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단하고,
    상기 키 프레임 추출부는,
    상기 검사 결과 캐시가 데이터베이스에 기록되어 있지 않은 경우에 상기 키 프레임을 추출하는 것을 특징으로 하는 유해 동영상 파일 필터링 장치.
  11. 제1항에 있어서,
    키 프레임의 추출 이전에 동영상 파일에 대한 유해도를 검사하기 위한 유해도 검사 전처리부
    를 더 포함하고,
    상기 유해도 검사 전처리부는,
    상기 오픈 이벤트가 발생한 동영상 파일에 대한 파일 해시를 검사하고,
    상기 키 프레임 추출부는,
    상기 파일 해시의 검사 결과, 상기 파일 해시가 유해하지 않은 경우에 상기 키 프레임을 추출하는 것을 특징으로 하는 유해 동영상 파일 필터링 장치.
  12. 파일 재생 중 유해 동영상 파일을 필터링 하는 장치에 있어서,
    동영상 파일에 대한 리드 이벤트가 발생하면, 버퍼링 시간 동안 동영상 파일에 대한 리드 오프셋 정보를 수집하는 오프셋 수집부;
    상기 수집된 리드 오프셋 정보와 상기 동영상 파일에 대한 버퍼링 속도를 고려하여 섬네일 이미지의 추출 개수를 계산하고, 상기 계산된 추출 개수를 고려하여, 상기 동영상 파일에 대한 적어도 하나 이상의 섬네일 이미지를 추출하는 섬네일 이미지 추출부; 및
    상기 추출된 적어도 하나 이상의 섬네일 이미지를 분류기로 제공하여 유해도를 산출하는 이미지 분류부; 및
    상기 산출된 유해도와 유해 임계값을 비교하고, 상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 콘텐츠 차단부
    를 포함하는 유해 동영상 파일 필터링 장치.
  13. 제12항에 있어서,
    상기 결정된 유해 동영상 파일에 대한 검사 결과 캐시 정보를 데이터베이스에 업데이트하는 데이터베이스 관리부
    를 더 포함하는 유해 동영상 파일 필터링 장치.
  14. 제12항에 있어서,
    버퍼링 과정에서 파일 오프셋을 확인하는 경우, 동영상 파일의 재생 시각 이후, 버퍼링 시각에서 유해도에 대한 검사를 시작하는 유해 동영상 파일 필터링 장치.
  15. 파일 재생 중 유해 동영상 파일을 필터링 하는 장치에 있어서,
    버퍼링 시간 동안 동영상 파일에 대한 리드 오프셋 정보를 제공하지 않는 시스템에서 동영상 파일에 대한 오픈 이벤트가 발생하면, 동영상 플레이어의 실행 여부를 확인하는 유해도 검사 전처리부;
    상기 동영상 플레이어가 실행되는 경우, 상기 동영상 플레이어를 통해 출력되는 전체 화면을 캡쳐하는 이미지 생성부;
    상기 상기 생성된 이미지를 분류기로 제공하여 유해도 산출을 위한 이미지 분류를 요청하고, 상기 산출된 유해도를 포함하는 이미지 분류 결과를 수집하는 이미지 분류부; 및
    상기 수집된 이미지 분류 결과를 고려하여 상기 동영상 파일에 대한 차단 여부를 결정하는 콘텐츠 차단부
    를 포함하는 유해 동영상 파일 필터링 장치.
  16. 제15항에 있어서,
    동영상 파일에 대한 오픈 이벤트가 발생하면, 캡쳐 주기 타이머가 구동되는 동안에 상기 동영상 파일에 대한 차단 여부를 결정하는 과정을 반복하도록 상기 캡쳐 주기 타이머를 구동하는 유해 동영상 파일 필터링 장치.
  17. 파일 재생 시작 시 유해 동영상 파일을 필터링 하는 방법에 있어서,
    파일에 오픈 이벤트가 발생하는 경우, 상기 파일이 상기 동영상 파일인지 여부를 판단하는 단계;
    상기 파일이 상기 동영상 파일인 경우, 오픈 이벤트가 발생한 상기 동영상 파일이 동영상 플레이어를 통해 실행되는지 여부를 판단하는 단계;
    상기 동영상 파일이 상기 동영상 플레이어를 통해 실행되는 경우, 상기 동영상 파일에 대한 검사 결과 캐시가 데이터베이스에 기록되어 있는지 여부를 판단하는 단계;
    상기 동영상 파일의 검사 결과 캐시가 데이터베이스에 기록되어 있지 않은 경우, 상기 동영상 파일에 대해 파일 해시 검사를 수행하는 단계;
    상기 동영상 파일에 대한 파일 해시가 유해하지 않은 경우, 상기 동영상 파일에 대한 키 프레임을 추출하는 단계;
    상기 추출된 키 프레임을 분류기로 제공하여 유해도를 산출하는 단계;
    상기 산출된 유해도와 유해 임계값을 비교하는 단계; 및
    상기 유해도가 상기 유해 임계값 이상인 경우에 상기 동영상 파일을 유해 동영상 파일로 결정하여 상기 결정된 유해 동영상 파일을 차단하도록 처리하는 단계
    를 포함하는 유해 동영상 파일 필터링 방법.
  18. 제17항에 있어서,
    상기 키 프레임을 추출하는 단계는,
    오픈 이벤트가 발생한 동영상 파일의 프레임들 중에서 시작 부분의 일부 프레임들과, 종료 부분에 배치된 또 다른 일부 프레임들을 제외하고, 나머지 프레임들 중에서 변화량이 기준 이상인 후보 키 프레임들을 추출하는 단계; 및
    상기 추출된 후보 키 프레임들 중에서, 선명도 및 밝기 중에서 적어도 하나를 이용해서 구간 별로 적어도 하나 이상의 키 프레임을 추출하는 단계
    를 포함하는 유해 동영상 파일 필터링 방법.
PCT/KR2021/007612 2020-06-29 2021-06-17 유해 동영상 파일을 필터링 하기 위한 장치 및 방법 WO2022005060A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200078984A KR102189482B1 (ko) 2020-06-29 2020-06-29 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
KR10-2020-0078984 2020-06-29

Publications (1)

Publication Number Publication Date
WO2022005060A1 true WO2022005060A1 (ko) 2022-01-06

Family

ID=73786254

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/007612 WO2022005060A1 (ko) 2020-06-29 2021-06-17 유해 동영상 파일을 필터링 하기 위한 장치 및 방법

Country Status (3)

Country Link
KR (1) KR102189482B1 (ko)
TW (1) TWI793657B (ko)
WO (1) WO2022005060A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102189482B1 (ko) * 2020-06-29 2020-12-11 김태주 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
KR102454230B1 (ko) * 2021-01-28 2022-10-14 김민석 영상 컨텐츠 실시간 유해성 검사 장치 및 방법
CN115062186B (zh) * 2022-08-05 2022-10-28 北京远鉴信息技术有限公司 一种视频内容检索方法、装置、设备以及存储介质
KR20240065830A (ko) 2022-11-07 2024-05-14 ㈜기억 유해 콘텐츠 처리 장치

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100016713A (ko) * 2008-08-05 2010-02-16 구진국 Tv 방송 중의 유해 컨텐츠 대체 방법 및 시스템
KR101428037B1 (ko) * 2007-07-03 2014-08-07 엘지전자 주식회사 유해정보 차단 방법 및 시스템
KR101551879B1 (ko) * 2013-11-19 2015-09-10 경운대학교 산학협력단 비교데이터 프루닝과 가우시안 혼합 모델의 유사도 추정을 이용한 유해 동영상 필터링 시스템 및 방법
KR101574027B1 (ko) * 2014-12-19 2015-12-03 (주) 이비즈네트웍스 스마트폰 유해 차단 시스템
KR20160107734A (ko) * 2015-03-05 2016-09-19 한국전자통신연구원 동영상의 시간정보를 이용한 유해 동영상 분류방법 및 장치
KR20160107417A (ko) * 2015-03-03 2016-09-19 한국전자통신연구원 유해 동영상 탐지 방법 및 장치
KR102189482B1 (ko) * 2020-06-29 2020-12-11 김태주 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
KR102240018B1 (ko) * 2020-10-26 2021-04-14 김태주 유해 동영상 파일을 필터링 하기 위한 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100725544B1 (ko) 2006-05-01 2007-06-08 삼성전자주식회사 이동통신 단말기 및 그의 유해정보 차단방법
KR101496632B1 (ko) 2010-11-04 2015-03-03 한국전자통신연구원 안심 콘텐츠 서비스를 위한 시스템 및 이를 위한 방법
KR102022014B1 (ko) 2017-07-12 2019-09-17 최갑천 유해 콘텐츠 탐지 장치

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428037B1 (ko) * 2007-07-03 2014-08-07 엘지전자 주식회사 유해정보 차단 방법 및 시스템
KR20100016713A (ko) * 2008-08-05 2010-02-16 구진국 Tv 방송 중의 유해 컨텐츠 대체 방법 및 시스템
KR101551879B1 (ko) * 2013-11-19 2015-09-10 경운대학교 산학협력단 비교데이터 프루닝과 가우시안 혼합 모델의 유사도 추정을 이용한 유해 동영상 필터링 시스템 및 방법
KR101574027B1 (ko) * 2014-12-19 2015-12-03 (주) 이비즈네트웍스 스마트폰 유해 차단 시스템
KR20160107417A (ko) * 2015-03-03 2016-09-19 한국전자통신연구원 유해 동영상 탐지 방법 및 장치
KR20160107734A (ko) * 2015-03-05 2016-09-19 한국전자통신연구원 동영상의 시간정보를 이용한 유해 동영상 분류방법 및 장치
KR102189482B1 (ko) * 2020-06-29 2020-12-11 김태주 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
KR102240018B1 (ko) * 2020-10-26 2021-04-14 김태주 유해 동영상 파일을 필터링 하기 위한 장치 및 방법

Also Published As

Publication number Publication date
TW202201969A (zh) 2022-01-01
TWI793657B (zh) 2023-02-21
KR102189482B1 (ko) 2020-12-11

Similar Documents

Publication Publication Date Title
WO2022005060A1 (ko) 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
WO2017164640A1 (en) System and method for editing video contents automatically technical field
WO2018026162A1 (en) Electronic apparatus and method of operating the same
WO2017099444A1 (en) Content processing apparatus, content processing method thereof, server, information providing method of server and information providing system
WO2016024806A1 (en) Method and apparatus for providing image contents
WO2015111833A1 (ko) 가상 광고 제공 장치 및 방법
WO2016060486A1 (en) User terminal apparatus and iris recognition method thereof
WO2018034462A1 (en) Image display apparatus and method of operating the same
WO2016076540A1 (en) Electronic apparatus of generating summary content and method thereof
WO2017007206A1 (ko) 관람자 관계형 동영상 제작 장치 및 제작 방법
EP3430811A1 (en) Electronic apparatus and method of operating the same
WO2018117619A1 (en) Display apparatus, content recognizing method thereof, and non-transitory computer readable recording medium
WO2018080180A1 (en) System and method for providing augmented reality service associated with broadcasting
WO2015126044A1 (ko) 이미지를 처리하기 위한 방법 및 그 전자 장치
WO2020235852A1 (ko) 특정 순간에 관한 사진 또는 동영상을 자동으로 촬영하는 디바이스 및 그 동작 방법
WO2015163555A1 (ko) 자막 삽입 시스템 및 방법
WO2019045521A1 (ko) 전자 장치 및 그 제어 방법
WO2021137671A1 (en) Video generation apparatus and video generation method performed by the video generation apparatus
WO2016072538A1 (ko) 유저 인터페이스를 통한 카메라 장치의 동작 방법
WO2019088627A1 (en) Electronic apparatus and controlling method thereof
WO2016021762A1 (en) Video display device and method of controlling the device
WO2022045613A1 (ko) 비디오 품질 향상 방법 및 장치
WO2016200078A1 (ko) 멀티미디어 컨텐츠를 공유하는 방법 및 장치
WO2013015614A2 (ko) 코덱 기반 및 클러스터 검색을 통한 동영상 복구 방법
WO2020111567A1 (en) Electronic device and operation 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: 21834206

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

Country of ref document: EP

Kind code of ref document: A1