KR20230115028A - Method and apparatus for determining region with high complexity from image of contents to insert identification information therein - Google Patents
Method and apparatus for determining region with high complexity from image of contents to insert identification information therein Download PDFInfo
- Publication number
- KR20230115028A KR20230115028A KR1020220011502A KR20220011502A KR20230115028A KR 20230115028 A KR20230115028 A KR 20230115028A KR 1020220011502 A KR1020220011502 A KR 1020220011502A KR 20220011502 A KR20220011502 A KR 20220011502A KR 20230115028 A KR20230115028 A KR 20230115028A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- complexity
- determining
- tile
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000013136 deep learning model Methods 0.000 claims description 19
- 238000013145 classification model Methods 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims 3
- 238000012545 processing Methods 0.000 description 21
- 239000000284 extract Substances 0.000 description 18
- 230000001667 episodic effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100008046 Caenorhabditis elegans cut-2 gene Proteins 0.000 description 2
- 101100008047 Caenorhabditis elegans cut-3 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 101100008044 Caenorhabditis elegans cut-1 gene Proteins 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4385—Multiplex stream processing, e.g. multiplex stream decrypting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Human Resources & Organizations (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Molecular Biology (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Processing (AREA)
Abstract
Description
본 개시는 콘텐츠의 이미지로부터 복잡도가 높은 영역을 결정하는 방법 및 장치에 관한 것으로, 보다 자세하게는, 복수의 컷들을 포함하는 웹툰 콘텐츠와 같은 콘텐츠의 이미지로부터 식별 정보를 삽입하기에 적합한 복잡도가 높은 영역을 결정하는 방법 및 장치와 관련된다.The present disclosure relates to a method and apparatus for determining a region of high complexity from an image of content, and more particularly, to a region of high complexity suitable for inserting identification information from an image of content such as webtoon content including a plurality of cuts. It relates to a method and apparatus for determining.
최근 만화 및 카툰과 같은 콘텐츠를 온라인으로 제공하는 소위 웹툰 콘텐츠 제공 서비스에 대한 관심이 높아지고 있다. 이러한, 웹툰 콘텐츠는 인물, 동물, 사물 등의 모습을 캐릭터로서 표현하여 나타내고, 지문이나 대사를 통해 유머나 풍자 또는 일정한 줄거리를 담음으로써 독자들에게 읽을거리를 제공한다. Recently, interest in a so-called webtoon content providing service that provides content such as cartoons and cartoons online is increasing. These webtoon contents express characters, animals, objects, etc. as characters, and provide readers with something to read by including humor, satire, or a certain plot through fingerprints or lines.
이러한 웹툰 콘텐츠는 독자가 해당 웹툰 콘텐츠를 스크롤링하는 것에 의해 독자에게 읽힐 수 있다. 웹툰 콘텐츠는 복수의 컷들을 포함하며, 독자는 스크롤링을 통해 복수의 컷들을 순차적으로 확인함으로써 웹툰 콘텐츠를 열람할 수 있다. These webtoon contents can be read by the reader by scrolling the corresponding webtoon contents. The webtoon content includes a plurality of cuts, and the reader can browse the webtoon content by sequentially checking the plurality of cuts through scrolling.
웹툰 콘텐츠는 디지털화된 콘텐츠로서 예컨대, 이미지와 같은 형태로 제공되며, 이러한 이미지와 같은 형태의 웹툰 콘텐츠는 2차적인 복제 및 가공이 상대적으로 쉽다. 웹툰 콘텐츠에 대한 불법적인 복제 및 가공을 방지하기 위해, 웹툰 콘텐츠 내에는 소정의 식별 정보가 삽입될 수 있고, 불법적인 복제 및 가공된 웹툰 콘텐츠로부터 이러한 식별 정보를 추출함으로써 불법적인 복제 및 가공을 수행한 주체를 탐지해 낼 수 있다. Webtoon content is digitized content and is provided in the form of, for example, an image, and secondary copying and processing of webtoon content in the form of such an image is relatively easy. In order to prevent illegal copying and processing of webtoon contents, predetermined identification information can be inserted into webtoon contents, and illegal copying and processing are performed by extracting such identification information from illegally copied and processed webtoon contents. One subject can be detected.
웹툰 콘텐츠에 삽입되는 이러한 식별 정보는 불법적인 복제 및 가공에 효과적으로 대처할 수 있도록 강인성을 가져야 하며, 불법 복제자나 불법적인 복제 및 가공된 웹툰 콘텐츠를 열람하는 열람자에 의해 용이하게 인식되지 않아야 한다. Such identification information inserted into webtoon contents must have toughness to effectively cope with illegal copying and processing, and must not be easily recognized by pirates or readers of illegally copied and processed webtoon contents.
한편, 한국공개특허 제10-2011-0123393호(공개일 2011년 11월 15일)에는 온라인 상의 직거래를 통해 모바일 디지털 콘텐츠 형태의 만화를 제공하는 기술이 개시되어 있다.On the other hand, Korean Patent Publication No. 10-2011-0123393 (published on November 15, 2011) discloses a technology for providing cartoons in the form of mobile digital contents through direct online transactions.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.The information described above is for illustrative purposes only and may include material that does not form part of the prior art, and may not include what the prior art may suggest to those skilled in the art.
일 실시예는, 복수의 단위 컷(즉, 장면 컷)들을 포함하는 콘텐츠의 이미지로부터 해당 이미지에 포함된 단위 컷을 추출하고, 단위 컷 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역을 콘텐츠와 연관된 식별 정보(예컨대, 콘텐츠를 열람한 사용자의 식별 정보를 포함하는 워터마크)가 삽입될 영역으로 결정하는 방법을 제공할 수 있다.In one embodiment, a unit cut included in a corresponding image is extracted from an image of content including a plurality of unit cuts (ie, scene cuts), and at least one complex region having a higher complexity is selected from among regions within the unit cut. It is possible to provide a method for determining an area where identification information associated with (eg, a watermark including identification information of a user who browses content) is to be inserted.
일 실시예는, 식별 정보를 삽입하기 위한 영역을 결정하기 위해 콘텐츠의 이미지 내에서 단위 컷을 추출함에 있어서, 이미지의 픽셀 분석에 기반하는 룰-기반의(rule-based) 방법 또는 오브젝트 또는 장면 컷을 검출하도록 학습된 딥러닝 모델을 사용하는 방법을 제공할 수 있다. In one embodiment, in extracting a unit cut in an image of content to determine a region for inserting identification information, a rule-based method based on pixel analysis of an image or an object or scene cut It is possible to provide a method of using a deep learning model trained to detect .
일 실시예는, 식별 정보를 삽입하기 위한 영역으로서, 추출된 단위 컷 내에서 복잡도 점수가 높은 복잡 영역을 결정하기 위해, 이미지의 다양한 파라미터 분석에 기반하는 룰-기반의 방법, 룰-기반의 방법에 따라 결정되는 복잡도를 추정하도록 학습된 딥러닝 모델을 사용하는 방법, 또는 이미지의 분류 모델을 통해 획득되는 어텐션 맵을 사용하는 방법을 사용하는 방법을 제공할 수 있다.An embodiment is a rule-based method based on analyzing various parameters of an image to determine a complex region having a high complexity score within an extracted unit cut as a region for inserting identification information, a rule-based method A method of using a deep learning model trained to estimate the complexity determined according to , or a method of using an attention map obtained through a classification model of an image may be provided.
일 측면에 있어서, 컴퓨터 시스템에 의해 수행되는, 복수의 단위 컷들을 포함하는 콘텐츠의 이미지로부터 복잡 영역을 결정하는 방법에 있어서, 상기 이미지로부터, 상기 이미지에 포함된 단위 컷을 추출하는 단계 및 상기 단위 컷 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역을 상기 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정하는 단계를 포함하는, 복잡 영역을 결정하는 방법이 제공된다. In one aspect, a method for determining a complex region from an image of content including a plurality of unit cuts, performed by a computer system, comprising: extracting unit cuts included in the image from the image; A method for determining a complicated region is provided, comprising determining at least one complex region having a higher complexity among regions within the cut as a region into which identification information associated with the content is to be inserted.
상기 복잡 영역에 삽입될 상기 콘텐츠와 연관된 식별 정보는, 상기 콘텐츠에 삽입되는 워터마크로서 상기 콘텐츠를 열람한 사용자를 식별하기 위한 정보를 포함할 수 있다. The identification information associated with the content to be inserted into the complex area may include information for identifying a user who viewed the content as a watermark inserted into the content.
상기 이미지는, 상기 콘텐츠가 사용자에게 제공될 시에 상기 사용자에게 제공되는 단위 이미지인 서비스 컷 이미지이고, 상기 서비스 컷 이미지는 상기 복수의 단위 컷들 중 적어도 하나의 단위 컷을 포함할 수 있다. The image is a service cut image that is a unit image provided to the user when the content is provided to the user, and the service cut image may include at least one unit cut among the plurality of unit cuts.
상기 이미지는 상기 복수의 단위 컷들을 포함하는 단일한 에피소드 이미지이고, 상기 에피소드 이미지는 복수의 상기 서비스 컷 이미지가 연결되어 생성되고, 상기 추출하는 단계는, 상기 에피소드 이미지를 적어도 하나의 단위 컷을 포함하되 소정의 중복도를 갖는 복수의 분할 이미지들로 분할하는 단계 및 상기 분할 이미지들의 각각으로부터 단위 컷 및 단위 컷의 일부를 추출함으로써, 상기 복수의 단위 컷들의 각각을 추출하는 단계를 포함할 수 있다. The image is a single episodic image including the plurality of unit cuts, the episodic image is generated by connecting a plurality of the service cut images, and the extracting includes the episodic image including at least one unit cut. However, it may include dividing into a plurality of divided images having a predetermined degree of overlap, and extracting each of the plurality of unit cuts by extracting a unit cut and a part of the unit cut from each of the divided images. .
상기 추출하는 단계는, 상기 이미지의 가로축 방향으로의 픽셀 값들이 동일하지 않은 영역을 상기 단위 컷으로 추출하는 단계를 포함할 수 있다. The extracting may include extracting, as the unit cut, a region having unequal pixel values in a horizontal axis direction of the image.
상기 단위 컷을 추출하는 단계는, 상기 이미지의 가로축 방향으로의 픽셀 값들이 동일한 영역을 배경으로 결정하는 단계 및 상기 이미지의 가로축 방향으로의 픽셀 값들이 동일하지 않은 영역의 세로축 방향으로의 길이가 소정의 값 이상인 경우, 상기 픽셀 값들이 동일하지 않은 영역을 상기 단위 컷으로 추출하는 단계를 포함할 수 있다. The extracting of the unit cut may include determining a region having the same pixel values in the horizontal axis direction of the image as a background, and determining a predetermined length in the vertical axis direction of the region having unequal pixel values in the horizontal axis direction of the image. If it is equal to or greater than the value of , extracting a region having unequal pixel values as the unit cut may be included.
상기 추출하는 단계는, 이미지로부터 오브젝트 또는 장면 컷을 검출하도록 미리 학습된 딥러닝 모델을 사용하여, 상기 이미지로부터 오브젝트 또는 장면 컷이 포함된 영역을 추출함으로써 상기 단위 컷을 추출할 수 있다. In the extracting, the unit cut may be extracted by extracting a region including the object or scene cut from the image using a deep learning model pretrained to detect the object or scene cut from the image.
상기 결정하는 단계는, 상기 추출된 단위 컷을 복수의 타일들로 분할하는 단계, 상기 분할된 타일들의 각 타일의 복잡도를 결정하는 단계, 결정된 상기 각 타일의 복잡도에 기반하여, 상기 단위 컷 내에서 복잡도 점수가 상위인 적어도 하나의 패치를 결정하는 단계 - 상기 패치의 각각은 상기 타일들 중 소정의 수의 타일들로 구성됨 - 및 상기 결정된 패치에 대응하는 상기 단위 컷의 영역을 상기 복잡 영역으로 결정하는 단계를 포함할 수 있다. The determining may include dividing the extracted unit cut into a plurality of tiles, determining a complexity of each tile of the divided tiles, and determining a complexity of each tile within the unit cut based on the determined complexity of each tile. Determining at least one patch having a higher complexity score, wherein each of the patches is composed of a predetermined number of tiles among the tiles, and determining an area of the unit cut corresponding to the determined patch as the complex area. steps may be included.
상기 패치를 결정하는 단계는, 상기 각 타일의 복잡도에 기반하여, 상기 각 타일의 크기를 스트라이드(stride)로 하는 슬라이딩 윈도우(sliding window) 방식으로, 각각의 패치의 상기 복잡도 점수를 계산하는 단계 및 계산된 상기 복잡도 점수가 상위인 적어도 하나의 패치를 결정하는 단계를 포함할 수 있다. The determining of the patch may include calculating the complexity score of each patch based on the complexity of each tile in a sliding window method in which a size of each tile is a stride; and and determining at least one patch having a higher calculated complexity score.
상기 타일들 중 소정의 수의 타일들로 구성되는 각 패치의 상기 복잡도 점수는 상기 각 패치에 속하는 타일들의 각각의 상기 복잡도의 합에 기반하여 계산될 수 있다. The complexity score of each patch composed of a predetermined number of tiles among the tiles may be calculated based on the sum of the complexity of each of the tiles belonging to each patch.
상기 패치를 결정하는 단계는, 상기 타일들 중 소정의 수의 타일들로 구성되는 각 패치가, i) 상기 단위 컷에 포함된 말풍선 영역과 교차하는지 여부, ii) 상기 단위 컷에 포함된 식자 영역과 교차하는지 여부, 및 iii) 상기 단위 컷에 포함된 얼굴 영역과 교차하는지 여부 중 적어도 하나의 조건에 더 기반하여, 상기 복잡도 점수가 상위인 적어도 하나의 패치를 결정하는 단계를 포함할 수 있다. The determining of the patch may include determining whether each patch composed of a predetermined number of tiles among the tiles intersects a speech bubble area included in the unit cut, and ii) a composing area included in the unit cut. The method may further include determining at least one patch having a higher complexity score based on at least one condition of intersecting with and iii) intersecting with a face region included in the unit cut.
상기 각 타일의 복잡도를 결정하는 단계는, i) 상기 각 타일과 연관된 엔트로피, ii) 상기 각 타일과 연관된 엣지 밀도(edge density), iii) 상기 각 타일과 연관된 이산 코사인 변환(DCT) 계수의 NZR (non-zero-rate) 및 iv) 상기 각 타일과 연관된 분산 중 적어도 2개에 기반하여 상기 각 타일의 복잡도를 결정할 수 있다. Determining the complexity of each tile comprises: i) entropy associated with each tile, ii) edge density associated with each tile, iii) NZR of a discrete cosine transform (DCT) coefficient associated with each tile The complexity of each tile may be determined based on at least two of (non-zero-rate) and iv) variance associated with each tile.
상기 각 타일의 복잡도를 결정하는 단계는, 상기 i) 내지 iv)를 기 설정된 평균 및 표준편차에 기반하여 표준화하는 단계 및 표준화된 상기 i) 내지 iv) 중 최대값 및 최소값을 배제하여 선택된 중간의 2개의 값에 기반하여 상기 각 타일의 복잡도를 결정하는 단계를 포함할 수 있다. The step of determining the complexity of each tile may include standardizing i) to iv) based on a preset mean and standard deviation, and excluding the maximum and minimum values among the normalized i) to iv), and The step of determining the complexity of each tile based on two values may be included.
상기 각 타일의 복잡도를 결정하는 단계는, 룰-기반(rule-based)의 결정 모델을 사용하여 결정되는 상기 각 타일의 복잡도를 정답(Ground Truth)으로서 추정하도록 미리 학습된 딥러닝 모델을 사용하여 상기 각 타일의 복잡도를 결정할 수 있다.In the step of determining the complexity of each tile, a deep learning model pretrained to estimate the complexity of each tile determined using a rule-based decision model as a ground truth is used. The complexity of each tile may be determined.
상기 룰-기반의 결정 모델은, i) 상기 각 타일과 연관된 엔트로피, ii) 상기 각 타일과 연관된 엣지 밀도(edge density), iii) 상기 각 타일과 연관된 이산 코사인 변환(DCT) 계수의 NZR (non-zero-rate) 및 iv) 상기 각 타일과 연관된 분산 중 적어도 2개에 기반하여 상기 각 타일의 복잡도를 결정하도록 구성된 것일 수 있다. The rule-based decision model is: i) the entropy associated with each tile, ii) the edge density associated with each tile, iii) the NZR of the discrete cosine transform (DCT) coefficient associated with each tile (non -zero-rate) and iv) the complexity of each tile based on at least two of the variance associated with each tile.
상기 결정하는 단계는, 상기 추출된 단위 컷을 이미지를 분류하도록 미리 학습된 분류 모델에 입력시키는 단계, 상기 분류 모델의 복수의 중간층(middle layer)들의 상기 단위 컷과 연관된 피쳐맵들을 획득하는 단계, 상기 피쳐맵들을 시각화하는, 상기 피쳐맵들에 대응하는 어텐션 맵(attention map)들을 생성하는 단계 및 상기 어텐션 맵들을 평균 또는 합(sum)한 어텐션 맵으로부터, 활성화도가 상위인 영역을 나타내는 적어도 하나의 패치에 대응하는 상기 단위 컷의 영역을 상기 복잡 영역으로 결정하는 단계를 포함할 수 있다. The determining step may include inputting the extracted unit cut to a classification model pretrained to classify an image, obtaining feature maps associated with the unit cut of a plurality of middle layers of the classification model, Visualizing the feature maps, generating attention maps corresponding to the feature maps, and at least one indicating a region having a higher activation degree from the attention map obtained by averaging or summing the attention maps. and determining an area of the unit cut corresponding to a patch of the complex area.
상기 콘텐츠는 웹툰 콘텐츠이고, 상기 단위 컷들의 각각은 상기 웹툰 콘텐츠를 구성하는 장면 컷일 수 있다. The content is webtoon content, and each of the unit cuts may be a scene cut constituting the webtoon content.
다른 일 측면에 있어서, 복수의 단위 컷들을 포함하는 콘텐츠의 이미지로부터 복잡 영역을 결정하는 컴퓨터 시스템에 있어서, 상기 컴퓨터 시스템에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 이미지로부터, 상기 이미지에 포함된 단위 컷을 추출하고, 상기 단위 컷 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역을 상기 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정하는, 컴퓨터 시스템이 제공된다.In another aspect, a computer system for determining a complex region from an image of content including a plurality of unit cuts includes at least one processor implemented to execute instructions readable by the computer system, The processor of extracts, from the image, a unit cut included in the image, and determines at least one complex region having a higher complexity among regions within the unit cut as a region into which identification information associated with the content is to be inserted. A computer system is provided.
콘텐츠의 이미지에 포함된 장면 컷 내의 복잡도가 높은 복잡 영역을 결정하여, 결정된 복잡 영역에 워터마크와 같은 식별 정보가 삽입되도록 함으로써, 콘텐츠에 대한 리드로잉(re-drawing) 공격 및/또는 신호 공격(signal attack)과 같은 콘텐트의 불법 복제 및 가공 행위에 대해 식별 정보의 강인성을 보장할 수 있다. A re-drawing attack and/or a signal attack ( It is possible to guarantee robustness of identification information against illegal copying and processing of contents such as signal attack.
장면 컷 내의 복잡도가 높은 복잡 영역에 워터마크와 같은 식별 정보가 삽입됨으로써, 삽입된 식별 정보가 불법 복제자나 불법 복제 및 가공된 웹툰 콘텐츠를 열람하는 열람자에 의해 인식하기 어렵게 될 수 있다. By inserting identification information, such as a watermark, into a complicated area with high complexity in a scene cut, it may be difficult for an illegal copyer or a viewer to read pirated and processed webtoon content to recognize the inserted identification information.
장면 컷 내에서 복잡도 점수가 높은 복잡 영역을 결정하기 위해, 이미지의 다양한 파라미터 분석에 기반하는 룰-기반의 방법이 사용됨으로써, 복잡 영역 결정의 정교성을 높일 수 있다. In order to determine a complex region with a high complexity score within a scene cut, a rule-based method based on analysis of various parameters of an image is used, thereby increasing the sophistication of the complexity region determination.
또한, 장면 컷 내에서 복잡도 점수가 높은 복잡 영역을 결정하기 위해, 룰-기반의 방법에 따라 결정되는 복잡도를 추정하도록 학습된 딥러닝 모델을 사용하는 방법 또는 이미지의 분류 모델을 통해 획득되는 어텐션 맵을 사용하는 방법이 사용됨으로써, 복잡 영역 결정의 속도를 높일 수 있다. In addition, in order to determine a complex region with a high complexity score within a scene cut, a method using a deep learning model learned to estimate complexity determined according to a rule-based method or an attention map obtained through a classification model of an image By using a method using , it is possible to increase the speed of complex region determination.
도 1은 일 실시예에 따른, 콘텐츠의 이미지에 대해 복잡 영역을 결정하여 식별 정보를 삽입하는 방법을 나타낸다.
도 2는 일 실시예에 따른, 식별 정보를 삽입하기 위한 콘텐츠의 이미지에 대해 복잡 영역을 결정하는 방법을 수행하는 컴퓨터 시스템을 나타낸다.
도 3은 일 실시예에 따른, 식별 정보를 삽입하기 위한 콘텐츠의 이미지에 대해 복잡 영역을 결정하는 방법을 나타내는 흐름도이다.
도 4는 일 예에 따른, 에피소드 이미지인 콘텐츠의 이미지로부터 단위 컷을 추출하는 방법을 나타내는 흐름도이다.
도 5는 일 예에 따른, 룰-기반의 방법을 통해 콘텐츠의 이미지로부터 단위 컷을 추출하는 방법을 나타내는 흐름도이다.
도 6은 일 예에 따른, 콘텐츠의 이미지를 복수의 타일들로 분할하여 각 타일의 복잡도를 계산하고, 복잡도 점수가 상위인 패치를 결정하는 방법을 나타내는 흐름도이다.
도 7은 일 예에 따른, 복잡도 점수가 상위인 패치를 결정하는 방법을 나타내는 흐름도이다.
도 8은 일 예에 따른, 콘텐츠의 이미지의 각 타일의 복잡도를 결정하는 방법을 나타내는 흐름도이다.
도 9는 일 예에 따른, 어텐션 맵 기반의 방법을 통해 콘텐츠의 이미지의 복잡 영역을 결정하는 방법을 나타내는 흐름도이다.
도 10은 일 예에 따른, 콘텐츠의 이미지로부터 단위 컷을 추출하고, 단위 컷으로부터 식별 정보를 삽입하기 위한 복잡 영역을 결정하는 방법을 나타낸다.
도 11은 일 예에 따른, 에피소드 이미지인 콘텐츠의 이미지로부터 단위 컷을 추출하는 방법을 나타낸다.
도 12는 일 예에 따른, 룰-기반의 방법을 사용하여 콘텐츠의 이미지의 각 타일의 복잡도를 결정하는 방법을 나타낸다.
도 13은 일 예에 따른, 슬라이딩 윈도우 방식을 사용하여 콘텐츠의 이미지의 복잡 영역에 대응하는 패치를 결정하는 방법을 나타낸다.
도 14는 일 예에 따른, 어텐션 맵 기반의 방법을 사용하여 콘텐츠의 이미지의 복잡 영역을 결정하는 방법을 나타내는 흐름도이다.1 illustrates a method of determining a complex region and inserting identification information into an image of content, according to an exemplary embodiment.
2 illustrates a computer system performing a method of determining a complex region for an image of content for embedding identification information, according to one embodiment.
3 is a flowchart illustrating a method of determining a complex region for an image of content for embedding identification information, according to an exemplary embodiment.
4 is a flowchart illustrating a method of extracting a unit cut from an image of content that is an episodic image, according to an example.
5 is a flowchart illustrating a method of extracting a unit cut from an image of content through a rule-based method according to an example.
6 is a flowchart illustrating a method of dividing an image of content into a plurality of tiles, calculating a complexity of each tile, and determining a patch having a higher complexity score, according to an example.
7 is a flowchart illustrating a method of determining a patch having a higher complexity score according to an example.
8 is a flowchart illustrating a method of determining a complexity of each tile of an image of content, according to an example.
9 is a flowchart illustrating a method of determining a complex region of an image of content through an attention map-based method according to an example.
10 illustrates a method of extracting a unit cut from an image of content and determining a complex region for inserting identification information from the unit cut, according to an example.
11 illustrates a method of extracting a unit cut from an image of content that is an episodic image, according to an example.
12 illustrates a method of determining a complexity of each tile of an image of content using a rule-based method, according to an example.
13 illustrates a method of determining a patch corresponding to a complex region of an image of content using a sliding window method according to an example.
14 is a flowchart illustrating a method of determining a complex region of an image of content using an attention map-based method according to an example.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른, 콘텐츠의 이미지에 대해 복잡 영역을 결정하여 식별 정보를 삽입하는 방법을 나타낸다.1 illustrates a method of determining a complex region and inserting identification information into an image of content, according to an exemplary embodiment.
도 1을 참조하여, 복수의 단위 컷(즉, 장면 컷)들을 포함하여 구성되는, 예컨대, 웹툰 콘텐츠와 같은 콘텐츠의 이미지에 대해 워터마크와 같은 식별 정보를 삽입하기 위한 영역을 결정하는 방법에 대해 설명한다. Referring to FIG. 1, for a method of determining a region for inserting identification information such as a watermark in an image of content, for example, webtoon content, including a plurality of unit cuts (ie, scene cuts), Explain.
콘텐츠는 복수의 단위 컷들을 포함할 수 있다. 이러한 단위 컷들의 각각은 웹툰 콘텐츠와 같은 콘텐츠의 장면을 구성하는 장면 컷으로서, 사용자 단말과 같은 단말을 통해 콘텐츠가 열람될 때 순차적으로 노출됨으로써 의미적 연관성을 가질 수 있다. 콘텐츠의 단위 컷들은 순차적으로 배열될 수 있고, 단위 컷들은 순차적으로 노출될 때 유기적으로 연결되는 스토리를 형성할 수 있다. 콘텐츠를 열람하는 사용자는 이러한 콘텐츠의 스토리를 이해하는 것을 통해, 콘텐츠를 즐길 수 있다. Content may include a plurality of unit cuts. Each of these unit cuts is a scene cut constituting a scene of content such as webtoon content, and may have a semantic relationship by being sequentially exposed when content is viewed through a terminal such as a user terminal. Unit cuts of content may be sequentially arranged, and when the unit cuts are sequentially exposed, organically connected stories may be formed. A user viewing the content can enjoy the content by understanding the story of the content.
일례로, 콘텐츠는 웹툰 콘텐츠로서, 유/무선 네트워크를 기반으로 인터넷을 통해 제공되는 디지털 콘텐츠 형태의 만화를 포함할 수 있다. 콘텐츠의 단위 컷들은, 예컨대, 사용자가 사용자 단말의 화면을 스크롤링함에 따라 순차적으로 제공될 수 있다. 다만, 실시예의 콘텐츠는 이러한 웹툰 콘텐츠에 그치지 않고 이미지의 형태로 구성되는 여하한 콘텐츠를 포함할 수 있다. For example, the content is webtoon content, and may include digital content type cartoons provided over the Internet based on a wired/wireless network. Unit cuts of content may be sequentially provided as the user scrolls the screen of the user terminal, for example. However, the content of the embodiment may include any content configured in the form of an image, not just such webtoon content.
콘텐츠는 콘텐츠 제공 서버를 통해 클라이언트(client)인 사용자 단말에 제공되는 것일 수 있다. 콘텐츠 제공 서버는 웹툰 콘텐츠인 콘텐츠를 제공하는 서비스 플랫폼일 수 있다. Content may be provided to a user terminal, which is a client, through a content providing server. The content providing server may be a service platform providing webtoon content.
후술될 상세한 설명에서 "단위 컷"은 콘텐츠의 하나의 장면을 나타내는 "장면 컷"으로서, 장면이 들어가는 블록 이미지(즉, 장면 컷 이미지)를 의미할 수 있다.In a detailed description to be described later, a “unit cut” is a “scene cut” representing one scene of content, and may mean a block image (ie, a scene cut image) into which the scene is included.
콘텐츠는 사용자(즉, 사용자 단말)에 소정의 단위 이미지로 제공될 수 있으며, 이러한 콘텐츠를 제공하는 서비스에서 제공되는 기본 이미지는 서비스 컷 이미지로 지칭될 수 있다. 이러한 서비스 컷 이미지는 적어도 하나의 단위 컷을 포함하도록 구성될 수 있고, 또는/추가적으로, 적어도 하나의 단위 컷의 일부를 포함하도록 구성될 수 있다.Content may be provided to a user (ie, a user terminal) as a predetermined unit image, and a basic image provided from a service providing such content may be referred to as a service cut image. This service cut image may be configured to include at least one unit cut, and/or may additionally include a portion of at least one unit cut.
한편, 이러한 서비스 컷 이미지들이 연결되어 구성(생성)되는 이미지는 에피소드 이미지로 지칭될 수 있다. 에피소드 이미지는 복수의 단위 컷들을 포함하는 단일한 이미지일 수 있고, 예컨대, 웹툰 콘텐츠와 같은 콘텐츠의 한 회차의 서비스 컷 이미지들을 연결함으로써 구성되는 것일 수 있다. Meanwhile, an image configured (created) by connecting these service cut images may be referred to as an episodic image. The episode image may be a single image including a plurality of unit cuts, and may be configured by connecting service cut images of one episode of content, such as webtoon content, for example.
도 1에서 도시된 실시예에서의 콘텐츠의 이미지(10)는 단위 컷(들)을 포함하는 이미지로서, 이러한 서비스 컷 이미지 또는 에피소드 이미지일 수 있다.The
컴퓨터 시스템(100)은 이러한 이미지(10)로부터 단위 컷(20)을 추출할 수 있고, 단위 컷(20) 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역(30)을 결정할 수 있고, 결정된 복잡 영역(30)에 콘텐츠와 연관된 식별 정보가 삽입되도록 할 수 있다. The
결정된 복잡 영역(30)에 삽입될 콘텐츠와 연관된 식별 정보는, 해당 콘텐츠에 삽입되는 워터마크로서 콘텐츠를 열람한 사용자(사용자 단말 및/또는 사용자 계정)를 식별하기 위한 정보를 포함할 수 있다. The identification information associated with the content to be inserted into the determined
구체적으로, 식별 정보는, 예컨대, 콘텐츠에 대한 콘텐츠 열람자 정보를 포함할 수 있다. 콘텐츠 열람 정보는 콘텐츠를 열람한 또는 구매한(혹은, 열람 또는 구매 요청한) 사용자에 대한 정보를 포함할 수 있다. 콘텐츠 열람 정보는 해당 사용자를 식별하기 위한 정보로서, 사용자 ID 를 포함할 수 있다. 이 때, 사용자 ID 는 콘텐츠를 열람하기 위해 콘텐츠 제공 서비스에 가입할 때 등록한 사용자 식별 ID 일 수 있다. 이러한 사용자 식별 ID는 콘텐츠 열람 시 사용자가 로그인한 ID 일 수 있다. 말하자면, 식별 정보는 트랜잭션 트래킹(transaction tracking)을 위한 정보일 수 있다. Specifically, the identification information may include, for example, content viewer information for content. Content viewing information may include information about a user who has viewed or purchased (or requested to view or purchase) content. Content viewing information is information for identifying a corresponding user and may include a user ID. In this case, the user ID may be a user identification ID registered when subscribing to a content providing service in order to view content. This user identification ID may be an ID logged in by a user when browsing content. In other words, the identification information may be information for transaction tracking.
또는, 식별 정보는 전술한 트랜잭션 트래킹을 위한 정보 외에 상이한 형태의 정보를 포함하도록 구성될 수 있다. 예컨대, 식별 정보는 콘텐츠에 대한 저작권자 정보를 포함할 수 있다. 식별 정보에 저작권자 정보가 포함됨으로써, 식별 정보를 포함하는 콘텐츠와 관련하여 분쟁이 발생할 시 식별 정보에 의해 저작권자가 확인될 수 있다. Alternatively, the identification information may be configured to include different types of information in addition to the information for transaction tracking described above. For example, the identification information may include copyright holder information for content. By including the copyright owner information in the identification information, the copyright owner can be confirmed by the identification information when a dispute arises in relation to content including the identification information.
또는, 식별 정보는 콘텐츠를 제공하거나 제공자 및/또는 이용하는 사용자 측에서 사용 가능한 기타 콘텐츠와 관련된 정보를 포함하도록 구성될 수도 있다. Alternatively, the identification information may be configured to provide the content or include information related to other content available from the provider and/or user side.
웹툰과 같은 콘텐츠는 이미지로 구성된다는 점에서, 불법적인 복제나 가공이 용이하게 이루어질 수 있다. 따라서, 상기 식별 정보는 이러한 불법적인 복제 및 가공을 방지하고 불법 복제자(유출자, 가공자)를 식별하기 위한 정보를 포함할 수 있다. 워터마크와 같은 식별 정보는 일반적인 콘텐츠의 열람자의 콘텐츠 열람을 방해하지 않고, 불법 복제자가 식별 정보의 삽입 위치를 알 수 없도록 콘텐츠의 이미지 내에 삽입되어야 할 수 있다. Since contents such as webtoons are composed of images, illegal copying or processing can be easily performed. Accordingly, the identification information may include information for preventing such illegal copying and processing and identifying an illegal copyer (a leaker or a processor). Identification information such as a watermark may be inserted into an image of content so that a general content viewer does not interfere with viewing the content and an illegal copyer cannot know where the identification information is inserted.
또한, 불법 복제자는 콘텐츠를 재편집하여 공유하는 경우가 많은 바, 식별 정보는 불법 복제자에 의한 리드로잉 공격이나, 신호 공격에 대해 강인성을 갖도록 콘텐츠의 이미지 내에 삽입되어야 할 필요가 있다. 리드로잉 공격은 예컨대, 콘텐츠의 이미지에 포함되어 있는 말풍선 영역 및/또는 식자 영역을 재편집 또는 재번역하는 행위, 이미지 리사이징 행위, 이미지 크롭(여백 제거 등) 행위 등을 포함할 수 있다. 신호 공격은 예컨대, 콘텐츠의 이미지에 대해 노이즈를 추가하거나, 필터를 적용하거나, 블러링 처리를 하거나, 색상을 변환하거나, 해상도를 변경하거나, 디노이징 처리를 수행하거나, 이미지 압축 처리를 하는 등의 이미지의 재편집 행위를 포함할 수 있다. In addition, since illegal copyers often re-edit and share content, identification information needs to be inserted into an image of content to have robustness against a redraw attack or a signal attack by illegal copyers. A redrawing attack may include, for example, an act of re-editing or re-translating a speech bubble area and/or a typeface area included in an image of content, an act of resizing an image, an act of cropping an image (removing blank space, etc.), and the like. Signal attacks include, for example, adding noise to the image of the content, applying a filter, performing blurring processing, converting color, changing resolution, performing denoising processing, image compression processing, and the like. It may include the act of re-editing the image.
실시예에서는, 콘텐츠의 이미지(10) 내의 색상이 단조로운 영역, 즉, 복잡도가 낮은 영역(5)이 아니라, 복잡도가 상위인 복잡 영역(30)을 결정하여, 식별 정보를 삽입하기 위한 영역으로 결정할 수 있다. 식별 정보가 복잡도가 낮은 영역(5)에 삽입되면, 이러한 식별 정보는, 식별 정보에 의한 노이즈에 의해, 콘텐츠의 열람자에게 쉽게 인식될 수 있고, 불법 복제자의 리드로잉 공격 및 신호 공격에 취약하게 될 수 있다. In the embodiment, an area in which the color of the
복잡 영역(30)은 전술한 불법 복제자의 리드로잉 공격에 대한 식별 정보의 강인성을 확보하기 위해 단위 컷(20)의 말풍선 영역 및 식자 영역 이외의 영역으로 결정될 수 있다. 또한, 복잡 영역(30)은 전술한 불법 복제자의 신호 공격에 대한 식별 정보의 강인성을 확보하고, 식별 정보의 비가시성을 확보하기 위해 단위 컷(20) 내에서 복잡도가 높은 영역으로 결정될 수 있다. The
이처럼, 실시예에서는, 단위 컷(20)이나 이미지(10)의 고정된 영역이 아니라, 단위 컷(20) 내의 복잡도가 상위인 복잡 영역(30)을 결정하여 해당 영역(30)에 식별 정보가 삽입되도록 함으로써, 불법 복제가가 식별 정보의 삽입 패턴을 파악하거나, 식별 정보를 제거하기 위한 공격 행위를 하는 것을 어렵게 할 수 있다. As such, in the embodiment, rather than the unit cut 20 or a fixed area of the
컴퓨터 시스템(100)이 이미지(10)로부터 단위 컷(20)을 추출하여, 단위 컷(20) 내에서 복잡 영역(30)을 결정하는 구체적인 방법에 대해서는 후술될 도 2 내지 도 14를 참조하여 더 자세하게 설명한다. The
도 2는 일 실시예에 따른, 식별 정보를 삽입하기 위한 콘텐츠의 이미지에 대해 복잡 영역을 결정하는 방법을 수행하는 컴퓨터 시스템을 나타낸다.2 illustrates a computer system performing a method of determining a complex region for an image of content for embedding identification information, according to one embodiment.
컴퓨터 시스템(100)은 전술한 워터마크와 같은 식별 정보를 삽입하기 위한 영역으로서, 콘텐츠의 이미지(10)의 단위 컷(20) 내에서 복잡 영역(30)을 결정하기 위한 동작을 수행하는 장치일 수 있다. The
컴퓨터 시스템(100)은 이미지(10)로부터 단위 컷(20)을 추출하고, 단위 컷(20) 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역(30)을 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정할 수 있다. The
컴퓨터 시스템(100)은 적어도 하나의 컴퓨팅 장치를 포함하도록 구성될 수 있고, 컴퓨팅 장치는 콘텐츠를 관리하는 사용자나 관리자의 단말 또는 서버로 구현될 수 있다. The
컴퓨터 시스템(100)은 도시된 것처럼, 메모리(130), 프로세서(120), 통신부(110) 및 입출력 인터페이스(140)를 포함할 수 있다.As shown, the
메모리(130)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(130)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(130)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(130)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(110)를 통해 메모리(130)에 로딩될 수도 있다. The memory 130 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive. Here, the ROM and the non-perishable mass storage device may be separated from the memory 130 and included as a separate permanent storage device. Also, an operating system and at least one program code may be stored in the memory 130 . These software components may be loaded from a computer-readable recording medium separate from the memory 130 . The separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card. In another embodiment, software components may be loaded into the memory 130 through the communication unit 110 rather than a computer-readable recording medium.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(130) 또는 통신부(110)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어, 프로세서(120)는 메모리(130)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. The processor 120 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processor 120 by the memory 130 or the communication unit 110 . For example, processor 120 may be configured to execute instructions received according to program code loaded into memory 130 .
통신부(110)는 컴퓨터 시스템(100)이 다른 장치(사용자 단말 또는 다른 서버 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(110)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 컴퓨터 시스템(100)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.The communication unit 110 may be a component for the
입출력 인터페이스(140)는 키보드 또는 마우스 등과 같은 입력 장치 및 디스플레이나 스피커와 같은 출력 장치와의 인터페이스를 위한 수단일 수 있다.The input/output interface 140 may be a means for interfacing with an input device such as a keyboard or mouse and an output device such as a display or speaker.
프로세서(120)는 컴퓨터 시스템(100)의 구성 요소들을 관리할 수 있고, 전술한 단위 컷(20)의 추출 및 복잡 영역(30)의 결정을 수행하기 위한 프로그램 또는 어플리케이션을 실행할 수 있고, 상기 프로그램 또는 어플리케이션의 실행 및 데이터의 처리 등에 필요한 연산을 처리할 수 있다. 프로세서(120)는 컴퓨터 시스템(100)의 적어도 하나의 프로세서(CPU 또는 GPU 등) 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다.The processor 120 may manage components of the
또한, 실시예들에서 컴퓨터 시스템(100) 및 프로세서(120)는 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 프로세서가 포함하는 구성요소들 전술한 프로세서(120)의 일부이거나 프로세서(120)에 의해 구현되는 기능일 수 있다. 말하자면, 프로세서(120)가 포함하는 구성요소들은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 프로세서(120)가 수행하는 서로 다른 기능들(different functions)의 표현일 수 있다.Also, in embodiments,
컴퓨터 시스템(100)의 프로세서(120)의 동작에 따라, 이미지(10)로부터 단위 컷(20)을 추출하여, 단위 컷(20) 내에서 복잡 영역(30)을 결정하는 구체적인 방법에 대해서는 후술될 도 2 내지 도 14를 참조하여 더 자세하게 설명한다. A specific method of extracting the unit cut 20 from the
이상 도 1을 참조하여 전술된 기술적 특징에 대한 설명은, 도 2에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.Since descriptions of the technical features described above with reference to FIG. 1 may be applied as they are to FIG. 2 , duplicate descriptions will be omitted.
후술될 상세한 설명에서, 컴퓨터 시스템(100)이나, 프로세서(120) 또는 그 구성요소들에 의해 수행되는 동작은 설명의 편의상 컴퓨터 시스템(100)에 의해 수행되는 동작으로 설명될 수 있다. In the detailed description to be described later, an operation performed by the
도 3은 일 실시예에 따른, 식별 정보를 삽입하기 위한 콘텐츠의 이미지에 대해 복잡 영역을 결정하는 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a method of determining a complex region for an image of content for embedding identification information, according to an exemplary embodiment.
도 3을 참조하여, 컴퓨터 시스템(100)이 콘텐츠의 이미지(10)로부터 단위 컷(20)을 추출하고, 단위 컷(20) 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역(30)을 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정하는 방법에 대해 더 자세하게 설명한다. Referring to FIG. 3 , the
전술한 것처럼, 콘텐츠의 이미지(10)는 복수의 단위 컷들을 포함할 수 있다. As described above, the
단계(310)에서, 컴퓨터 시스템(100)은 이미지(10)로부터, 이미지(10)에 포함된 단위 컷(20)을 추출할 수 있다. 컴퓨터 시스템(100)은 콘텐츠의 이미지(10)로부터 복수의 단위 컷들의 각 단위 컷을 추출해 낼 수 있다. In operation 310 , the
컴퓨터 시스템(100)은, 예컨대, 콘텐츠가 사용자에게 제공될 시에 사용자(사용자 단말 또는 사용자 계정)에게 제공되는 단위 이미지인 서비스 컷 이미지인 이미지(10)로부터, 서비스 컷 이미지가 포함하는 적어도 하나의 단위 컷(20)을 추출할 수 있다. 서비스 컷 이미지는 적어도 하나의 단위 컷 및/또는 적어도 하나의 단위 컷의 일부를 포함하도록 구성될 수 있다. The
한편, 이미지(10)는 복수의 서비스 컷 이미지들일 수 있고, 이 때, 컴퓨터 시스템(100)은 복수의 서비스 컷 이미지들로부터 콘텐츠가 포함하는 복수의 단위 컷들의 각 단위 컷을 추출해 낼 수 있다. Meanwhile, the
추출된 각 단위 컷(20)은 식별 정보를 삽입할 복잡 영역(30)의 결정을 위한 대상이 될 수 있다. Each extracted unit cut 20 may be a target for determining a
단계(320)에서, 컴퓨터 시스템(100)은, 단계(310)에서 추출된 단위 컷(20) 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역(30)을 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정할 수 있다. 컴퓨터 시스템(100)은 단위 컷(20)이 포함하는 영역들 중에서 단위 컷(20)의 말풍선 영역 및 식자 영역을 제외한 영역을 복잡 영역(30)으로 결정할 수 있고, 말풍선 영역 및 식자 영역을 제외한 영역 중 복잡도가 상위인 영역을 복잡 영역(30)으로 결정할 수 있다. 식자 영역은 단위 컷(20) 내에 텍스트가 삽입된 영역일 수 있다. 단위 컷(20) 내에서 장면의 배경에 해당하거나 단일색인 영역과 같이 복잡도가 낮은 영역은 복잡 영역(30)으로 결정되지 않을 수 있다. In step 320, the
단계(330)에서, 컴퓨터 시스템(100)은, 결정된 복잡 영역(30)에 콘텐츠와 연관된 식별 정보를 삽입할 수 있다. 복잡 영역에 삽입되는 식별 정보는, 콘텐츠에 삽입되는 워터마크로서 콘텐츠를 열람한 사용자를 식별하기 위한 정보를 포함할 수 있다. 식별 정보에 대해서는 도 1을 참조하여 설명된 내용이 그대로 적용될 수 있는 바 중복되는 설명은 생략한다. In step 330 , the
컴퓨터 시스템(100)은, 이미지(10)로부터 추출된 단위 컷들의 각각에 대해 복잡 영역(30)을 결정하여, 결정된 복잡 영역(30)에 식별 정보를 삽입할 수 있다. 또는, 컴퓨터 시스템(100)은 단위 컷들 중 일부의 단위 컷(들)에 대해서만 복잡 영역(30)을 결정하여, 결정된 복잡 영역(30)에 식별 정보를 삽입할 수도 있다.The
복잡 영역(30)은 복수일 수 있고, 복수의 복잡 영역들 각각에 대해 식별 정보가 삽입될 수도 있다. There may be a plurality of
실시예에서는, 이미지(10) 내의 고정된 위치가 아니라, 이미지(10)의 복잡도, 즉, 이미지(10)가 포함하는 단위 컷(20) 내의 복잡도를 고려하여 결정된 복잡 영역(30)에 식별 정보가 삽입될 수 있음으로써, 콘텐츠의 불법 복제자가 식별 정보를 인식하거나 식별 정보의 삽입 패턴을 파악하기가 어렵게 될 수 있다. In the embodiment, the identification information is provided in the
관련하여, 도 10은 일 예에 따른, 콘텐츠의 이미지로부터 단위 컷을 추출하고, 단위 컷으로부터 식별 정보를 삽입하기 위한 복잡 영역을 결정하는 방법을 나타낸다.In this regard, FIG. 10 illustrates a method of extracting a unit cut from an image of content and determining a complex region for inserting identification information from the unit cut, according to an example.
도시된 것처럼, 콘텐츠는 복수의 서비스 컷 이미지들(1000)로 구성될 수 있다. 전술한 이미지(10)는 이러한 복수의 서비스 컷 이미지들(1000) 또는 서비스 컷 이미지들(1000) 각각일 수 있다. 각 서비스 컷 이미지는 적어도 하나의 단위 컷을 포함하되, 적어도 하나의 단위 것의 일부를 더 포함할 수도 있다. As shown, the content may be composed of a plurality of
컴퓨터 시스템(100)은 복수의 서비스 컷 이미지들(1000)로부터 단위 컷들(1010-1 내지 1010-3)을 추출할 수 있다. 단위 컷들(1010-1 내지 1010-3)의 각각은 캐릭터, 인물, 및 사물 등과 같은 오브젝트, 말풍선 영역 및 식자 영역 중 적어도 하나를 포함할 수 있다. The
컴퓨터 시스템(100)은 추출된 단위 컷들(1010-1 내지 1010-3) 각각으로부터 말풍선 영역과 식자 영역을 검출할 수 있다. 예컨대, 단위 컷(1010-1)에서 말풍선 영역(1020-1)이, 단위 컷(1010-3)에서 식자 영역(1020-2)이 검출될 수 있다.The
컴퓨터 시스템(100)은 검출된 말풍선 영역(1020-1) 및 식자 영역(1020-2)을 배제하여 각 단위 컷에 대해 복잡 영역을 결정할 수 있다. 도시된 것처럼, 단위 컷(1010-1)에 대해서는 복잡 영역(1030-1)이, 단위 컷(1010-2)에 대해서는 복잡 영역(1030-2)이, 단위 컷(1010-3)에 대해서는 복잡 영역(1030-3)이, 식별 정보를 삽입하기 위한 영역으로서 결정될 수 있다. 각 단위 컷에서 결정된 복잡 영역은 소정의 크기의 영역으로서 해당 단위 컷에서 복잡도가 가장 높은 영역일 수 있다.The
컴퓨터 시스템(100)이 이미지(10)로부터 단위 컷(20)을 추출하는 보다 구체적인 방법이나, 단위 컷(20) 내에서 복잡도가 상위인 복잡 영역(30)을 결정하는 보다 구체적인 방법에 대해서는 후술될 도 4 내지 도 9 및 도 11 내지 도 14를 참조하여 더 자세하게 설명된다. A more specific method for the
이상, 도 1 및 도 2를 참조하여 전술된 기술적 특징에 대한 설명은, 도 3 및 도 10에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The above description of the technical features described above with reference to FIGS. 1 and 2 may be applied to FIGS. 3 and 10 as it is, and thus duplicate descriptions are omitted.
도 4는 일 예에 따른, 에피소드 이미지인 콘텐츠의 이미지로부터 단위 컷을 추출하는 방법을 나타내는 흐름도이다. 4 is a flowchart illustrating a method of extracting a unit cut from an image of content that is an episodic image, according to an example.
전술한 콘텐츠의 이미지(10)는 콘텐츠의 복수의 단위 컷들을 포함하는 단일한 에피소드 이미지일 수 있고, 컴퓨터 시스템(100)은 이러한 에피소드 이미지로부터 단위 컷(20)을 추출하여, 단위 컷(20)으로부터 복잡 영역(30)을 결정할 수 있다. The above-described
관련하여, 도 11은 일 예에 따른, 에피소드 이미지인 콘텐츠의 이미지로부터 단위 컷을 추출하는 방법을 나타낸다.In relation to this, FIG. 11 illustrates a method of extracting a unit cut from an image of content that is an episodic image, according to an example.
단계(410)에서, 컴퓨터 시스템(100)은 에피소드 이미지(1100)를 구성할 수 있다. 예컨대, 컴퓨터 시스템(100)은 전술한 복수의 서비스 컷 이미지들(1000)을 연결함으로써, 콘텐츠의 복수의 단위 컷들을 포함하는 단일한 에피소드 이미지(1100)를 구성(생성)할 수 있다. 또는, 컴퓨터 시스템(100)은 직접 에피소드 이미지(1100)를 구성하지 않고, 이미 생성된 에피소드 이미지(1100)로부터 단위 컷들을 추출할 수도 있다. At step 410 ,
단계(420)에서, 컴퓨터 시스템(100)은 에피소드 이미지(1100)를 적어도 하나의 단위 컷을 포함하되 소정의 중복도를 갖는 복수의 분할 이미지들로 분할할 수 있다. 분할 이미지의 각각은 적어도 하나의 단위 컷 및/또는 적어도 하나의 단위 컷의 일부(즉, 단위 컷의 일부분)를 포함할 수 있고, 인접하는 분할 이미지와 상기 소정의 중복도에 따라 중복되는 영역을 포함할 수 있다. 소정의 중복도는 컴퓨터 시스템(100)에 의해 적절하게 설정될 수 있다. In step 420, the
컴퓨터 시스템(100)은 에피소드 이미지(1100)에 포함된 단위 컷이 소정의 중복도에 따라 중복되도록 분할 이미지를 생성함으로써, 전술한 서비스 컷 이미지들(1000)의 각각에서 잘려진 단위 컷(즉, 각 서비스 컷 이미지에 일부만이 포함된 단위 컷)으로부터도 단위 컷이 추출될 수 있도록 할 수 있다. The
단계(430)에서, 컴퓨터 시스템(100)은 단계(420)의 분할 이미지들의 각각으로부터 각 분할 이미지에 포함된 단위 컷 및 상기 단위 컷의 일부를 추출함으로써, 에피소드 이미지(1100)에 포함된 복수의 단위 컷들의 각각을 추출할 수 있다. 이 때, 추출된 각 단위 컷이 전술한 복잡 영역(30)을 결정하기 위한 대상이 될 수 있다. In step 430, the
도 11에서 도시된 것처럼, 에피소드 이미지(1100)가 단위 컷들(단위 컷 1, 2, 3 ...)을 포함하는 경우에 있어서, 에피소드 이미지(1100)는 복수의 분할 이미지들로 소정의 중복도를 가지고 분할될 수 있고, 분할 이미지들의 각각으로부터 단위 컷 및 단위 컷의 일부가 추출될 수 있고, 추출된 단위 컷의 일부들이 조합됨에 따라, 단위 컷들(단위 컷 1, 2, 3 ...)의 각각이 추출될 수 있다. As shown in FIG. 11 , in the case where the episode image 1100 includes unit cuts (unit cuts 1, 2, 3...), the episode image 1100 is composed of a plurality of divided images with a predetermined degree of overlap. , unit cuts and parts of the unit cuts can be extracted from each of the divided images, and as parts of the extracted unit cuts are combined, unit cuts (unit cuts 1, 2, 3...) Each of can be extracted.
즉, 도 11에서 도시된 예시에서 첫 번째 분할 이미지로부터 단위 컷 1 및 단위 컷 2의 일부가 추출되고, 두 번째 분할 이미지로부터 단위 컷 2의 일부 및 단위 컷 3의 일부가 추출되고, 세 번째 분할 이미지로부터 단위 컷 3의 일부가 추출됨으로써, 단위 컷들(단위 컷 1, 2, 3 ...)이 모두 추출될 수 있다. 분할 이미지가 중복도를 가짐으로써 일부만 추출된 분할 컷들이 하나의 분할 컷들로 합쳐질 수 있다.That is, in the example shown in FIG. 11 , parts of unit cut 1 and unit cut 2 are extracted from the first divided image, part of unit cut 2 and part of unit cut 3 are extracted from the second divided image, and third division By extracting a part of unit cut 3 from the image, all unit cuts (unit cuts 1, 2, 3...) can be extracted. Since the divided image has overlap, the divided cuts from which only part of the image is extracted may be merged into one divided cut.
이 때, 추출된 단위 컷들(단위 컷 1, 2, 3 ...)은 원래의 에피소드 이미지(1100)가 가지는 연결성(즉, 순서)를 가질 수 있다. In this case, the extracted unit cuts (unit cuts 1, 2, 3, ...) may have connectivity (ie, order) that the original episode image 1100 has.
추출된 각 단위 컷은 전술한 도 10에서와 같이 복잡 영역(30)을 결정하기 위한 각각의 대상이 될 수 있다.Each extracted unit cut may be each target for determining the
이상, 도 1 내지 도 3 및 도 10을 참조하여 전술된 기술적 특징에 대한 설명은, 도 4 및 도 11에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.Above, the description of the technical features described above with reference to FIGS. 1 to 3 and 10 may be applied to FIGS. 4 and 11 as it is, and thus duplicate descriptions are omitted.
도 5는 일 예에 따른, 룰-기반의 방법을 통해 콘텐츠의 이미지로부터 단위 컷을 추출하는 방법을 나타내는 흐름도이다. 5 is a flowchart illustrating a method of extracting a unit cut from an image of content through a rule-based method according to an example.
도 5를 참조하여, 전술한 서비스 컷 이미지(들)(1000) 또는 에피소드 이미지(1000)와 같은 콘텐츠의 이미지(10)로부터 룰-기반의 방법을 사용하여 단위 컷(20)을 추출하는 방법에 대해 더 자세하게 설명한다. Referring to FIG. 5, a method of extracting a unit cut 20 using a rule-based method from an
룰-기반의 방법은 이미지(10)의 픽셀 분석에 기반한 방법일 수 있다.A rule-based method may be a method based on pixel analysis of
단계(510)에서, 컴퓨터 시스템(100)은 이미지(10)의 픽셀 값들에 기반하여 이미지(10)의 배경 및 단위 컷(20)을 결정할 수 있다. 이미지(10)의 배경은 단위 컷(20)과는 구분되는 이미지(10) 내의 단색 영역일 수 있다.At step 510 ,
구체적으로, 단계(512)에서, 컴퓨터 시스템(100)은 이미지(10)의 가로축 방향으로의 픽셀 값들이 동일한 영역을 이미지(10)의 배경으로 결정할 수 있다. 말하자면, 컴퓨터 시스템(100)은 이미지(10)의 가로줄 전체의 픽셀 값이 동일하여 동일한 색상을 나타내는 영역을 이미지(10)의 배경으로 결정할 수 있다.Specifically, in operation 512 , the
단계(514)에서, 컴퓨터 시스템(100)은 이미지(10)의 가로축 방향으로의 픽셀 값들이 동일하지 않은 영역을 단위 컷(20)으로 추출할 수 있다. 말하자면, 컴퓨터 시스템(100)은 이미지(10)의 가로줄 전체의 픽셀 값이 동일하지 않아서 가로줄에서 여러 색상이 나타내는 영역을 단위 컷(20)으로 결정할 수 있다. 이 때, 컴퓨터 시스템(100)은 가로축 방향으로의 픽셀 값들이 동일하지 않은 영역의 세로축 방향으로의 길이가 소정의 값 이상인 경우에만, 해당 픽셀 값들이 동일하지 않은 영역을 단위 컷(20)으로 추출할 수 있다. In operation 514 , the
이처럼, 룰-기반의 방법을 통해서는, 컴퓨터 시스템(100)은 이미지(10)의 가로줄에 존재하는 픽셀들의 색이 모두 동일한 영역을 이미지(10)의 배경으로 결정할 수 있고, 이미지(10)의 가로줄에 존재하는 픽셀들의 색이 동일하지 않은 영역을 단위 컷(20)으로 결정할 수 있다. 말하자면, 이미지(10)의 배경이 아니게 되는 이미지(10)의 가로줄로부터 다시 이미지(10)의 배경이 되는 가로줄까지의 영역이 단위 컷(20)으로 결정될 수 있다. 다만, 컴퓨터 시스템(100)은 가로줄에 존재하는 픽셀들의 색이 동일하지 않은 영역이라고 하더라도 세로축 방향으로의 길이가 소정의 값 이하인 경우에는 복잡 영역(30)의 결정을 위한 단위 컷(20)으로 추출하지 않을 수 있다. 즉, 세로축 방향으로의 길이가 너무 짧게 되면 식별 정보를 삽입하기 부적절하므로, 이러한 영역은 단위 컷(20)으로 추출되지 않을 수 있다.In this way, through the rule-based method, the
또한, 컴퓨터 시스템(100)은 컴퓨터 시스템(100)은 가로줄에 존재하는 픽셀들의 색이 동일하지 않은 영역(제1 장면)과 그 다음의 가로줄에 존재하는 픽셀들의 색이 동일하지 않은 영역(제2 장면) 간의 세로축 방향으로의 거리가 일정 값 이하인 경우에는 "제1 장면 + 제2 장면"을 하나의 단위 컷(20)으로서 추출할 수 있다. 말하자면, 컴퓨터 시스템(100)은 장면들 간의 이미지(10)의 배경(즉, 이미지(10)의 가로줄에 존재하는 픽셀들의 색이 동일한 영역)이 짧은 경우 장면들을 통합하여 통합된 장면을 단위 컷(20)으로 추출할 수 있다. In addition, the
한편, 컴퓨터 시스템(100)은 전술한 룰-기반의 방법이 아닌 딥러닝 모델을 사용하는 방법을 통해 서비스 컷 이미지(들)(1000) 또는 에피소드 이미지(1000)와 같은 콘텐츠의 이미지(10)로부터 단위 컷(20)을 추출할 수 있다.On the other hand, the
이 때, 컴퓨터 시스템(100)은 이미지로부터 오브젝트 또는 장면 컷을 검출하도록 미리 학습된 딥러닝 모델을 사용하여, 이미지(10)로부터 오브젝트 또는 장면 컷이 포함된 영역을 추출함으로써 단위 컷(20)을 추출할 수 있다. 오브젝트는 캐릭터, 인물, 또는 사물일 수 있다. 또한, 오브젝트는 말풍선 또는 식자일 수도 있다. 장면 컷을 검출하도록 미리 학습된 딥러닝 모델은 복수의 장면 컷들을 포함하는 웹툰 콘텐츠들을 훈련 데이터로서 사용하여 웹툰 콘텐츠로부터 장면 컷(단위 컷)을 검출하도록 훈련된 것일 수 있다. At this time, the
컴퓨터 시스템(100)은 이러한 미리 학습된 딥러닝 모델을 사용하여 이미지(10)로부터 단위 컷(20)을 추출할 수 있다. 컴퓨터 시스템(100)은 딥러닝 모델을 사용하는 방법을 통해, 룰-기반의 방법에 비해 단위 컷(20)을 더 빠르게 추출할 수 있다.
이상, 도 1 내지 도 4, 도 10 및 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 5에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 4, 10 and 11 may be applied to FIG. 5 as it is, and thus duplicate descriptions are omitted.
도 6은 일 예에 따른, 콘텐츠의 이미지를 복수의 타일들로 분할하여 각 타일의 복잡도를 계산하고, 복잡도 점수가 상위인 패치를 결정하는 방법을 나타내는 흐름도이다.6 is a flowchart illustrating a method of dividing an image of content into a plurality of tiles, calculating a complexity of each tile, and determining a patch having a higher complexity score, according to an example.
도 6을 참조하여, 컴퓨터 시스템(100)이 추출된 단위 컷(20)(혹은 이미지(10))의 영역들에 대해 복잡도를 계산하여 복잡 영역(30)을 결정하는 방법에 대해 더 자세하게 설명한다. Referring to FIG. 6, a method for determining a
단계(610)에서, 컴퓨터 시스템(100)은 이미지(10)로부터 추출된 단위 컷(20)을 복수의 타일들로 분할할 수 있다. 예컨대, 컴퓨터 시스템(100)은 단위 컷(20)을 일정한 크기의 직사각형 또는 정사각형의 타일들로 분할할 수 있다. 타일들은 서로 겹치지 않을 수 있다. In step 610, the
단계(620)에서, 컴퓨터 시스템(100)은 분할된 타일들의 각 타일의 복잡도를 결정할 수 있다. 컴퓨터 시스템(100)은 분할된 타일들을 분석함으로써 각 타일의 복잡도를 계산할 수 있다. At step 620, the
단계(630)에서, 컴퓨터 시스템(100)은 결정된 각 타일의 복잡도에 기반하여, 단위 컷(20) 내에서 복잡도 점수가 상위인 적어도 하나의 패치를 결정할 수 있다. 컴퓨터 시스템(100)은 단위 컷(20)의 타일들 중 소정의 수의 타일들로 구성되는 패치 각각에 대해 복잡도 점수를 결정하여, 복잡도 점수가 상위가 되는 적어도 하나의 패치를 결정할 수 있다. 즉, 컴퓨터 시스템(100)은 복잡도 점수가 최고인 하나의 패치를 결정하거나, 복잡도 점수가 상위인 2 이상인 n개의 패치들을 결정할 수 있다.In operation 630, the
단계(640)에서, 컴퓨터 시스템(100)은 단계(630)에서 결정된 패치에 대응하는 단위 컷(20)의 영역을 복잡 영역(30)으로 결정할 수 있다. 컴퓨터 시스템(100)은 결정된 복잡 영역(30)에 전술한 식별 정보가 삽입되도록 할 수 있다.In step 640 , the
단계(630)에서, 복잡도 점수가 상위인 적어도 하나의 패치를 결정함에 있어서, 컴퓨터 시스템(100)은 소정의 우선순위 조건을 더 고려할 수 있다. 예컨대, 컴퓨터 시스템(100)은 각 패치에 대해 복잡도 점수를 계산함에 있어서 상기 소정의 우선순위 조건을 고려할 수 있다. 또는, 컴퓨터 시스템(100)은 결정된 n개의 패치들 중에서 복잡 영역(30)에 해당하는 패치(들)을 선정하기 위해 상기 소정의 우선순위 조건을 고려할 수 있다.In operation 630, in determining at least one patch having a higher complexity score, the
일례로, 복잡도 점수가 상위인 적어도 하나의 패치를 결정함에 있어서, 컴퓨터 시스템(100)은, 단위 컷(20)의 타일들 중 소정의 수의 타일들로 구성되는 각 패치가, i) 단위 컷(20)에 포함된 말풍선 영역과 교차하는지 여부, ii) 단위 컷(20)에 포함된 식자 영역과 교차하는지 여부, 및 iii) 단위 컷(20)에 포함된 얼굴 영역, 캐릭터 또는 기타 오브젝트와 교차하는지 여부 중 적어도 하나의 조건에 더 기반하여, 복잡도 점수가 상위인 적어도 하나의 패치를 결정할 수 있다. For example, in determining at least one patch having a higher complexity score, the
i)과 관련하여, 컴퓨터 시스템(100)은 패치가 단위 컷(20)에 포함된 말풍선 영역과 교차하는 경우 해당 패치의 복잡도 점수를 낮추거나, 해당 패치를 전술한 n개의 패치들 중에서 최종적인 복잡 영역(30)을 결정하기 위한 패치로 결정되지 않도록 배제할 수 있다. In relation to i), the
ii)와 관련하여, 또한, 컴퓨터 시스템(100)은 패치가 단위 컷(20)에 포함된 식자 영역과 교차하는 경우 해당 패치의 복잡도 점수를 낮추거나, 해당 패치를 전술한 n개의 패치들 최종적인 복잡 영역(30)을 결정하기 위한 패치로 결정되지 않도록 배제할 수 있다.In relation to ii), the
iii)과 관련하여, 또한, 컴퓨터 시스템(100)은 패치가 단위 컷(20)에 포함된 얼굴 영역, 캐릭터 또는 기타 오브젝트와 교차하는 경우 해당 패치의 복잡도 점수를 높일 수 있다.In relation to iii), the
또는, 복잡 영역(30)을 결정하기 위한 패치를 결정함에 있어서 전술한 우선순위 조건들 중 적어도 하나는 각 타일의 복잡도에 기반하여 계산되는 복잡도 점수에 우선하여 적용될 수 있다. 일례로, 복잡 영역(30)을 결정하기 위한 패치를 결정할 시, i)에 따라 말풍선 영역과 교차하지 않는 제1 패치들이 우선적으로 결정되고(즉, 말풍선 영역과 교차하는 패치들이 우선적으로 배제되고), 제1 패치들 중에서 ii)에 따라 식자 영역과 교차하지 않는 제2 패치들이 결정된 후 제2 패치들 중에서(즉, 그 다음으로 식자 영역과 교차하는 패치들이 배제된 후 남은 패치들 중에서), 각 타일의 복잡도에 기반하여 계산되는 복잡도 점수가 상위인 패치(들)이 복잡 영역(30)을 결정하기 위한 패치로 결정될 수 있다. Alternatively, in determining a patch for determining the
또는, 상기 결정된 n개의 패치들 중에서 i)에 따라 말풍선 영역과 교차하지 않는 제1 패치들이 우선적으로 결정되고, 제1 패치들 중에서 ii)에 따라 식자 영역과 교차하지 않는 제2 패치(들)이 복잡 영역(30)을 결정하기 위한 패치로 결정될 수 있다.Alternatively, among the determined n patches, first patches that do not intersect the speech bubble area according to i) are preferentially determined, and among the first patches, the second patch(s) that do not intersect the composing area according to ii) are determined. It may be determined as a patch for determining the
이처럼, 실시예에서는, 다양하게 설정될 수 있는 우선순위 조건들의 정책에 따라, 컴퓨터 시스템(100)이 복잡 영역(30)을 결정하기 위한 패치를 결정할 수 있다.As such, in the embodiment, the
이상, 도 1 내지 도 5, 도 10 및 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 6에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 5, 10 and 11 may be applied to FIG. 6 as it is, and thus duplicate descriptions are omitted.
도 7은 일 예에 따른, 복잡도 점수가 상위인 패치를 결정하는 방법을 나타내는 흐름도이다. 7 is a flowchart illustrating a method of determining a patch having a higher complexity score according to an example.
도 7을 참조하여, 각 타일의 복잡도에 기반하여 패치의 복잡도 점수를 계산하고, 이에 따라, 복잡 영역(30)을 결정하기 위한 패치를 결정하는 방법을 더 자세하게 설명한다. Referring to FIG. 7 , a method of calculating a complexity score of a patch based on the complexity of each tile and, accordingly, determining a patch for determining the
단계(710)에서, 컴퓨터 시스템(100)은, 각 타일의 복잡도에 기반하여, 각 타일의 크기를 스트라이드(stride)로 하는 슬라이딩 윈도우(sliding window) 방식으로, 각각의 패치의 복잡도 점수를 계산할 수 있다. In step 710, the
단계(720)에서, 컴퓨터 시스템(100)은, 각 패치에 대해 계산된 복잡도 점수가 상위인 적어도 하나의 패치를 결정할 수 있다. 결정된 패치는 복잡 영역(30)을 결정하기 위한 패치가 될 수 있다. In step 720, the
관련하여, 도 13은 일 예에 따른, 슬라이딩 윈도우 방식을 사용하여 콘텐츠의 이미지의 복잡 영역에 대응하는 패치를 결정하는 방법을 나타낸다. 이러한 슬라이딩 윈도우 방식은 전체 패치들에 대한 복잡도 점수들을 고속으로 계산할 수 있도록 할 수 있다. In this regard, FIG. 13 illustrates a method of determining a patch corresponding to a complex region of an image of content using a sliding window method according to an example. This sliding window method can calculate complexity scores for all patches at high speed.
도시된 것처럼, 단위 컷(1300)은 복수의 타일들로 분할될 수 있다. 컴퓨터 시스템(100)은 분할된 타일들의 각 타일(1310)의 복잡도를 계산할 수 있다. 패치(1320)는 소정의 개수의 타일들로 구성될 수 있고, 예컨대, 도시된 것처럼 4개의 타일들이 하나의 패치(1320)를 구성할 수 있다. 패치(1320)의 크기는 실시예에 따라 상이하게 될 수 있다. 패치(1320)의 복잡도 점수는 해당 패치(1320)에 속하는 타일들의 각각의 복잡도 합 또는 평균에 기반하여 계산될 수 있고, 상가 복잡도 합 또는 평균이 패치(1320)의 복잡도 점수가 될 수도 있다. As shown, the unit cut 1300 may be divided into a plurality of tiles. The
컴퓨터 시스템(1320)은 도 13에서 도시된 것과 같은 방향으로 슬라이딩 윈도우 방식으로 각각의 패치의 복잡도 점수를 계산할 수 있고, 계산된 복잡도 점수가 상위인 패치(들)을 결정할 수 있다 The computer system 1320 may calculate the complexity score of each patch in a sliding window manner in the direction shown in FIG. 13 and determine patch(s) having a higher calculated complexity score.
슬라이딩 윈도우(sliding window) 방식으로 각각의 패치의 복잡도 점수를 계산함에 있어서, 전술한 우선순위 조건들(예컨대, i) 또는 ii))에 해당하는 패치는 복잡 영역(30)을 결정하기 위한 패치로부터 배제될 수 있다. In calculating the complexity score of each patch in a sliding window method, a patch corresponding to the above-described priority conditions (eg, i) or ii)) is selected from patches for determining the
이상, 도 1 내지 도 6, 도 10 및 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 7 및 도 13에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 6, 10, and 11 may be applied to FIGS. 7 and 13 as they are, and thus duplicate descriptions are omitted.
아래에서는, 도 8 및 도 12를 참조하여, 단위 컷(1300)의 각 타일의 복잡도를 계산하는 방법에 대해 더 자세하게 설명한다. Below, a method of calculating the complexity of each tile of the unit cut 1300 will be described in detail with reference to FIGS. 8 and 12 .
먼저, 룰-기반의 방법을 사용하여 각 타일의 복잡도를 계산하는 방법에 대해 설명한다.First, a method of calculating the complexity of each tile using a rule-based method will be described.
관련하여, 도 8은 일 예에 따른, 콘텐츠의 이미지의 각 타일의 복잡도를 결정하는 방법을 나타내는 흐름도이다. 도 12는 일 예에 따른, 룰-기반의 방법을 사용하여 콘텐츠의 이미지의 각 타일의 복잡도를 결정하는 방법을 나타낸다. In this regard, FIG. 8 is a flowchart illustrating a method of determining a complexity of each tile of an image of content, according to an example. 12 illustrates a method of determining a complexity of each tile of an image of content using a rule-based method, according to an example.
컴퓨터 시스템(100)은, 단위 컷(1300)의 각 타일의 복잡도를 계산함에 있어서, i) 각 타일과 연관된 엔트로피, ii) 각 타일과 연관된 엣지 밀도(edge density), iii) 각 타일과 연관된 이산 코사인 변환(DCT) 계수의 NZR (non-zero-rate) 및 iv) 각 타일과 연관된 분산 중 적어도 하나에 기반하여 각 타일의 복잡도를 결정할 수 있다. 또는, 컴퓨터 시스템(100)은 상기 i) 내지 iv) 중 적어도 2개의 조합에 기반하여 기반하여 각 타일의 복잡도를 결정할 수 있다.
i)과 관련하여, 각 타일과 연관된 엔트로피는 해당 타일 내에서 사용된 색이 다양할수록 높게 될 수 있다. 다만, 이러한 엔트로피는 그라데이션이 포함된 영역에서도 높은 값을 나타낼 수 있다. Regarding i), the entropy associated with each tile can be higher as the colors used within that tile vary. However, such entropy may exhibit a high value even in a region including a gradation.
ii)와 관련하여, 각 타일과 연관된 엣지 밀도는 타일 내에 존재하는 엣지의 양이 많을수록 높게 될 수 있다. 다만, 이러한 엣지 밀도는 그라데이션이 포함된 영역에서 지나치게 낮은 값을 나타낼 수 있다.Regarding ii), the edge density associated with each tile may become higher as the amount of edges present in the tile increases. However, such an edge density may represent an excessively low value in a region including a gradation.
iii)와 관련하여, 각 타일과 연관된 DCT-NZR은 타일의 이미지를 표현하기 위해 사용되는 주파수 개수가 많을수록 크게 될 수 있다. 다만, 이러한 DCT-NZR은 단순한 곡선을 포함하는 영역에서 높은 값을 나타낼 수 있다.Regarding iii), the DCT-NZR associated with each tile may increase as the number of frequencies used to represent the image of the tile increases. However, this DCT-NZR may show a high value in a region including a simple curve.
iv)와 관련하여, 각 타일과 연관된 분산은 타일 내에서의 색 분포를 나타낼 수 있다. 다만, 이러한 분산은 단순하게 색이 분할되어 있는 영역에서 높은 값을 나타낼 수 있다. Regarding iv), the variance associated with each tile may represent the color distribution within the tile. However, such dispersion may exhibit a high value in a region where colors are simply divided.
전술한 것처럼, i) 내지 iv)는 각각 타일의 복잡도를 나타낼 수 있으나, 복잡도를 정확하게 반영하지 못할 가능성이 있는 바, 적어도 2개의 조합이 타일의 복잡도를 계산하기 위해 사용될 수 있다. As described above, i) to iv) may represent the complexity of each tile, but there is a possibility that the complexity may not be accurately reflected, so a combination of at least two may be used to calculate the tile complexity.
단계(810)에서, 컴퓨터 시스템(100)은 각 타일과 연관된 i) 내지 iv)를 기 설정된 평균 및 표준편차에 기반하여 표준화할 수 있다. 말하자면, i) 내지 iv)의 각각은 표준화된 값으로 변환될 수 있다. 기 설정된 평균 및 표준편차는 복수의 콘텐츠들(즉, 다른 웹툰 콘텐츠들)의 타일들을 분석함으로써 미리 계산된 기준 값일 수 있다. 이러한 기준 값의 계산에 있어서 흰색 단색과 검정색 단색의 타일은 계산에서 배제될 수 있다. At step 810,
단계(820)에서, 컴퓨터 시스템(100)은 표준화된 i) 내지 iv) 중 최대값 및 최소값을 배제하여 선택된 중간의 2개의 값에 기반하여 각 타일의 복잡도를 결정할 수 있다. 예컨대, 중간의 2개의 값의 평균 또는 합에 기반하여 각 타일의 복잡도가 계산될 수 있다. In step 820, the
도 12a의 예시에서 도시된 것처럼, 일 타일의 중간 값은, 최대값인 분산과 최소값인 DCT-NZR이 배제되고, 중간 값인 엔트로피와 엣지 밀도를 사용하여 결정될 수 있고, 엔트로피와 엣지 밀도의 합 또는 평균으로 계산될 수 있다. 또는, 도 12b의 예시에서 도시된 것처럼, 일 타일의 중간 값은, 최대값인 엣지 밀도와 최소값인 엔트로피가 배제되고, 중간 값인 DCT-NZR와 분산을 사용하여 결정될 수 있고, DCT-NZR와 분산의 합 또는 평균으로 계산될 수 있다. As shown in the example of FIG. 12A, the median value of one tile may be determined using the median entropy and edge density, excluding the maximum value of variance and the minimum value of DCT-NZR, and the sum of entropy and edge density or can be calculated as an average. Alternatively, as shown in the example of FIG. 12B, the median value of one tile may be determined using DCT-NZR and variance, which are median values, excluding edge density, which is the maximum value, and entropy, which is the minimum value, and DCT-NZR and variance, which are median values. can be calculated as the sum or average of
이에 따라, i) 내지 iv) 중에서 벗어나는 2개의 값을 배제하고 타일의 복잡도를 계산함으로써, 타일의 복잡도가 보다 정확하게 계산될 수 있고, 따라서, 타일의 복잡도에 기반하여 결정되는 패치의 복잡도 점수 역시 단위 컷(20) 내의 복잡한 정도를 정확하게 반영할 수 있게 된다. Accordingly, by excluding two values that deviate from i) to iv) and calculating the complexity of the tile, the complexity of the tile can be more accurately calculated. Therefore, the complexity score of the patch determined based on the complexity of the tile is also a unit The degree of complexity within the
요컨대, 컴퓨터 시스템(100)은 전술한 i) 내지 iv)의 파라미터들을 사용하여 각 타일의 복잡도를 결정하는 룰-기반의 결정 모델을 포함할 수 있다. In short,
한편, 도 12a 및 도 12b에서 예시된 그래프에서, x축은 표준화된 복잡도 값을 나타낼 수 있다. 말하자면, x축은 i) 내지 iv)의 파라미터들을 표준화한 값을 나타낼 수 있다. y축은 이미지(또는 타일)의 개수를 나타낼 수 있다. Meanwhile, in the graphs illustrated in FIGS. 12A and 12B , the x-axis may represent a standardized complexity value. In other words, the x-axis may represent a standardized value of parameters i) to iv). The y-axis may represent the number of images (or tiles).
다음으로, 딥러닝 모델을 사용하여 각 타일의 복잡도를 결정하는 방법을 설명한다. Next, we describe how to determine the complexity of each tile using a deep learning model.
컴퓨터 시스템(100)은 전술한 룰-기반의 결정 모델에 의해 결정되는 각 타일의 복잡도를 정답(Ground Truth; GT)으로서 추정하도록 미리 학습된 딥러닝 모델을 사용하여 각 타일의 복잡도를 결정할 수 있다. 상기 딥러닝 모델은 전술한 룰-기반의 결정 모델에 의해 결정되는 각 타일의 복잡도를 레이블로 설정하여, 이를 추정하도록 훈련된 것일 수 있다.The
전술한 것처럼, 룰-기반의 결정 모델은, i) 각 타일과 연관된 엔트로피, ii) 각 타일과 연관된 엣지 밀도, iii) 각 타일과 연관된 DCT-NZR 및 iv) 각 타일과 연관된 분산 중 적어도 2개에 기반하여 각 타일의 복잡도를 결정하도록 구성된 것일 수 있다. As described above, a rule-based decision model can be used to determine at least two of i) the entropy associated with each tile, ii) the edge density associated with each tile, iii) the DCT-NZR associated with each tile, and iv) the variance associated with each tile. It may be configured to determine the complexity of each tile based on.
딥러닝 모델은 예컨대, EfficientNet 기반의 모델일 수 있다. The deep learning model may be, for example, an EfficientNet-based model.
컴퓨터 시스템(100)은 전술한 룰-기반의 결정 모델 대신에 딥러닝 모델을 사용하여 각 타일의 복잡도를 결정함으로써, 각 타일에 대한 복잡도 결정을 고속으로 수행할 수 있다. The
한편, 도 6 내지 도 8을 참조하여 전술한 복잡도 계산과 복잡 영역(30) 결정의 대상이 되는 단위 컷(20 또는 1300)은 실시예에 따라서는 이미지(10) 자체일 수도 있으며, 이 때, 이미지(10)로부터 단위 컷(20)을 추출하는 동작은 수행되지 않을 수 있다. 이에 대해서도 전술한 것과 유사한 설명이 적용될 수 있을 것인 바, 중복되는 설명은 생략한다.Meanwhile, the unit cut 20 or 1300, which is the object of complexity calculation and determination of the
이상, 도 1 내지 도 7, 도 10, 도 11 및 도 13을 참조하여 전술된 기술적 특징에 대한 설명은, 도 8 및 도 12에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 7, 10, 11, and 13 may also be applied to FIGS. 8 and 12 as they are, and thus duplicate descriptions are omitted.
아래에서는, 도 9 및 도 14를 참조하여, 어텐션 맵을 사용하여 단위 컷(20) 또는 이미지(10) 내의 복잡 영역을 결정하는 방법에 대해 더 자세하게 설명한다. Hereinafter, a method of determining a complex region in the unit cut 20 or
관련하여, 도 9는 일 예에 따른, 어텐션 맵 기반의 방법을 통해 콘텐츠의 이미지의 복잡 영역을 결정하는 방법을 나타내는 흐름도이다. 도 14는 일 예에 따른, 어텐션 맵 기반의 방법을 사용하여 콘텐츠의 이미지의 복잡 영역을 결정하는 방법을 나타내는 흐름도이다.In this regard, FIG. 9 is a flowchart illustrating a method of determining a complex region of an image of content through an attention map-based method according to an example. 14 is a flowchart illustrating a method of determining a complex region of an image of content using an attention map-based method according to an example.
단계(910)에서, 컴퓨터 시스템(100)은 단위 컷(20)을 이미지를 분류하도록 미리 학습된 분류 모델에 입력시킬 수 있다. 한편, 분류 모델으로 입력되는 것은 단위 컷(20)이 아닌 이미지(10)일 수도 있다. 이 때, 이미지(10)로부터 단위 컷(20)을 추출하는 동작은 수행되지 않을 수 있다. 말하자면, 단계들(910 내지 950)에 의해서는 서비스 컷 이미지 또는 에피소드 이미지로부터 바로 복잡 영역(30)이 결정될 수 있다. 분류 모델은 이미지 분류를 위한 딥러닝 모델로서 예컨대, VGG일 수 있다. At step 910, the
단계(920)에서, 컴퓨터 시스템(100)은 상기 분류 모델의 복수의 중간층(middle layer)들의 단위 컷과 연관된 피쳐맵들을 획득할 수 있다. In step 920, the
단계(930)에서, 컴퓨터 시스템(100)은 피쳐맵들을 종합하여 피쳐맵들에 대응하는 어텐션 맵(attention map)들을 생성할 수 있다. 말하자면, 컴퓨터 시스템(100)은 상기 피쳐맵들을 시각화하는, 어텐션 맵들을 생성할 수 있다. In operation 930, the
단계(940)에서, 컴퓨터 시스템(100)은 생성된 어텐션 맵들을 평균 또는 합(sum)한 어텐션 맵으로부터, 활성화도가 상위인(예컨대, 밝게 표시되는 상위의) 영역을 나타내는 패치를 결정할 수 있다. 패치는 소정의 크기를 가질 수 있다. In step 940, the
단계(950)에서, 컴퓨터 시스템(100)은 결정된 패치에 대응하는 단위 컷(10) 또는 이미지(10)의 영역을 복잡 영역(30)으로 결정할 수 있다. In operation 950 , the
도 14에서 Original 은 원본 이미지(10) 또는 단위 컷(20)에 대응하는 것으로서, 분류 모델에 대한 입력을 나타낼 수 있다. Pool 1 내지 Pool 5는 분류 모델의 중간층들의 피쳐맵들로부터 생성된 어텐션 맵들을 나타낼 수 있다. Pool 1으로부터 Pool 5으로 갈수록 어텐션 맵의 이미지의 크기는 작게 될 수 있는 바, Pool 1으로부터 Pool 5는 동일한 크기를 갖도록 리사이징될 수 있다. In FIG. 14, Original corresponds to the
리사이징된 어텐션 맵들을 합한 어텐션 맵이 Sum으로 도시되었다. 컴퓨터 시스템(100)은 Sum 어텐션 맵으로부터 가장 활성화된 영역에 대응하는 단위 컷(10) 또는 이미지(10)의 영역을 복잡 영역(30)으로 결정할 수 있다. An attention map combining resized attention maps is shown as Sum. The
컴퓨터 시스템(100)은 활성화된 영역(패치)을 컨볼루션 연산(컨볼루션 함수)를 사용하여 결정할 수 있으며, 활성화도가 상위인 복수인 n개의 패치들를 결정할 수도 있다. 이와 같이 결정된 복잡 영역(30)에는 전술된 식별 정보가 삽입될 수 있다. The
실시예의 어텐션 맵을 사용하는 방법을 통해서는, 전술한 룰-기반의 방법이나 딥러닝 모델을 이용한 방법에 비해, 이미지(10)로부터 복잡 영역(30)을 더 빠르게 결정해 낼 수 있다. Through the method using the attention map of the embodiment, it is possible to more quickly determine the
이상, 도 1 내지 도 8 및 도 10 내지 도 13을 참조하여 전술된 기술적 특징에 대한 설명은, 도 9 및 도 14에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 8 and 10 to 13 may be applied to FIGS. 9 and 14 as they are, and thus duplicate descriptions are omitted.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable PLU (programmable logic unit). logic unit), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에서 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. can be embodied in Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. In this case, the medium may continuously store a program executable by a computer or temporarily store the program for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.
Claims (19)
상기 이미지로부터, 상기 이미지에 포함된 단위 컷을 추출하는 단계; 및
상기 단위 컷 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역을 상기 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.A method for determining a complex region from an image of content including a plurality of unit cuts, performed by a computer system, comprising:
extracting unit cuts included in the image from the image; and
Determining at least one complex region having a higher complexity among regions within the unit cut as a region into which identification information associated with the content is to be inserted.
Including, how to determine the complex area.
상기 복잡 영역에 삽입될 상기 콘텐츠와 연관된 식별 정보는, 상기 콘텐츠에 삽입되는 워터마크로서 상기 콘텐츠를 열람한 사용자를 식별하기 위한 정보를 포함하는, 복잡 영역을 결정하는 방법.According to claim 1,
The identification information associated with the content to be inserted into the complex area includes information for identifying a user who has viewed the content as a watermark inserted into the content.
상기 이미지는, 상기 콘텐츠가 사용자에게 제공될 시에 상기 사용자에게 제공되는 단위 이미지인 서비스 컷 이미지이고,
상기 서비스 컷 이미지는 상기 복수의 단위 컷들 중 적어도 하나의 단위 컷을 포함하는, 복잡 영역을 결정하는 방법.According to claim 1,
The image is a service cut image that is a unit image provided to the user when the content is provided to the user,
The method of determining a complex region, wherein the service cut image includes at least one unit cut among the plurality of unit cuts.
상기 이미지는 상기 복수의 단위 컷들을 포함하는 단일한 에피소드 이미지이고,
상기 에피소드 이미지는 복수의 상기 서비스 컷 이미지가 연결되어 생성되고,
상기 추출하는 단계는,
상기 에피소드 이미지를 적어도 하나의 단위 컷을 포함하되 소정의 중복도를 갖는 복수의 분할 이미지들로 분할하는 단계; 및
상기 분할 이미지들의 각각으로부터 단위 컷 및 단위 컷의 일부를 추출함으로써, 상기 복수의 단위 컷들의 각각을 추출하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.According to claim 3,
The image is a single episode image including the plurality of unit cuts,
The episode image is generated by connecting a plurality of the service cut images,
The extraction step is
dividing the episode image into a plurality of divided images including at least one unit cut and having a predetermined degree of overlap; and
Extracting each of the plurality of unit cuts by extracting a unit cut and a portion of the unit cut from each of the divided images.
Including, how to determine the complex area.
상기 추출하는 단계는,
상기 이미지의 가로축 방향으로의 픽셀 값들이 동일하지 않은 영역을 상기 단위 컷으로 추출하는 단계
를 포함하는, 복잡 영역을 결정하는 방법. According to claim 1,
The extraction step is
Extracting, as the unit cut, a region in which pixel values in the horizontal axis direction of the image are not the same
Including, how to determine the complex area.
상기 단위 컷을 추출하는 단계는,
상기 이미지의 가로축 방향으로의 픽셀 값들이 동일한 영역을 배경으로 결정하는 단계; 및
상기 이미지의 가로축 방향으로의 픽셀 값들이 동일하지 않은 영역의 세로축 방향으로의 길이가 소정의 값 이상인 경우, 상기 픽셀 값들이 동일하지 않은 영역을 상기 단위 컷으로 추출하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.According to claim 5,
The step of extracting the unit cut,
determining a region having the same pixel values in a horizontal axis direction of the image as a background; and
extracting, as the unit cut, an area having unequal pixel values when a length in a vertical axis direction of an area having unequal pixel values in the horizontal axis direction of the image is equal to or greater than a predetermined value;
Including, how to determine the complex area.
상기 추출하는 단계는,
이미지로부터 오브젝트 또는 장면 컷을 검출하도록 미리 학습된 딥러닝 모델을 사용하여, 상기 이미지로부터 오브젝트 또는 장면 컷이 포함된 영역을 추출함으로써 상기 단위 컷을 추출하는, 복잡 영역을 결정하는 방법. According to claim 1,
The extraction step is
A method for determining a complex region, wherein the unit cut is extracted by extracting a region including the object or scene cut from the image using a deep learning model pretrained to detect the object or scene cut from the image.
상기 결정하는 단계는,
상기 추출된 단위 컷을 복수의 타일들로 분할하는 단계;
상기 분할된 타일들의 각 타일의 복잡도를 결정하는 단계;
결정된 상기 각 타일의 복잡도에 기반하여, 상기 단위 컷 내에서 복잡도 점수가 상위인 적어도 하나의 패치를 결정하는 단계 - 상기 패치의 각각은 상기 타일들 중 소정의 수의 타일들로 구성됨 -; 및
상기 결정된 패치에 대응하는 상기 단위 컷의 영역을 상기 복잡 영역으로 결정하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.According to claim 1,
The determining step is
Dividing the extracted unit cut into a plurality of tiles;
determining a complexity of each tile of the divided tiles;
determining at least one patch having a higher complexity score within the unit cut, based on the determined complexity of each tile, wherein each patch is composed of a predetermined number of tiles among the tiles; and
Determining an area of the unit cut corresponding to the determined patch as the complex area
Including, how to determine the complex area.
상기 패치를 결정하는 단계는,
상기 각 타일의 복잡도에 기반하여, 상기 각 타일의 크기를 스트라이드(stride)로 하는 슬라이딩 윈도우(sliding window) 방식으로, 각각의 패치의 상기 복잡도 점수를 계산하는 단계; 및
계산된 상기 복잡도 점수가 상위인 적어도 하나의 패치를 결정하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.According to claim 8,
The step of determining the patch is,
calculating the complexity score of each patch, based on the complexity of each tile, using a sliding window method in which a size of each tile is a stride; and
Determining at least one patch having a higher calculated complexity score
Including, how to determine the complex area.
상기 타일들 중 소정의 수의 타일들로 구성되는 각 패치의 상기 복잡도 점수는 상기 각 패치에 속하는 타일들의 각각의 상기 복잡도의 합에 기반하여 계산되는, 복잡 영역을 결정하는 방법.According to claim 8,
The complexity score of each patch consisting of a predetermined number of tiles among the tiles is calculated based on the sum of the complexity of each of the tiles belonging to each patch.
상기 패치를 결정하는 단계는,
상기 타일들 중 소정의 수의 타일들로 구성되는 각 패치가, i) 상기 단위 컷에 포함된 말풍선 영역과 교차하는지 여부, ii) 상기 단위 컷에 포함된 식자 영역과 교차하는지 여부, 및 iii) 상기 단위 컷에 포함된 얼굴 영역과 교차하는지 여부 중 적어도 하나의 조건에 더 기반하여, 상기 복잡도 점수가 상위인 적어도 하나의 패치를 결정하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.According to claim 8,
The step of determining the patch is,
Each patch composed of a predetermined number of tiles among the tiles, i) whether or not it intersects the speech bubble area included in the unit cut, ii) whether or not it intersects the composing area included in the unit cut, and iii) Determining at least one patch having a higher complexity score, further based on at least one condition of whether the patch intersects a face region included in the unit cut.
Including, how to determine the complex area.
상기 각 타일의 복잡도를 결정하는 단계는,
i) 상기 각 타일과 연관된 엔트로피, ii) 상기 각 타일과 연관된 엣지 밀도(edge density), iii) 상기 각 타일과 연관된 이산 코사인 변환(DCT) 계수의 NZR (non-zero-rate) 및 iv) 상기 각 타일과 연관된 분산 중 적어도 2개에 기반하여 상기 각 타일의 복잡도를 결정하는, 복잡 영역을 결정하는 방법. According to claim 8,
The step of determining the complexity of each tile,
i) the entropy associated with each tile, ii) the edge density associated with each tile, iii) the non-zero-rate (NZR) of the discrete cosine transform (DCT) coefficient associated with each tile, and iv) the A method for determining complexity regions, wherein the complexity of each tile is determined based on at least two of the variances associated with each tile.
상기 각 타일의 복잡도를 결정하는 단계는,
상기 i) 내지 iv)를 기 설정된 평균 및 표준편차에 기반하여 표준화하는 단계; 및
표준화된 상기 i) 내지 iv) 중 최대값 및 최소값을 배제하여 선택된 중간의 2개의 값에 기반하여 상기 각 타일의 복잡도를 결정하는 단계
를 포함하는, 복잡 영역을 결정하는 방법.According to claim 12,
The step of determining the complexity of each tile,
standardizing the i) to iv) based on a preset mean and standard deviation; and
Determining the complexity of each tile based on the middle two values selected by excluding the maximum value and the minimum value among the normalized i) to iv)
Including, how to determine the complex area.
상기 각 타일의 복잡도를 결정하는 단계는,
룰-기반(rule-based)의 결정 모델을 사용하여 결정되는 상기 각 타일의 복잡도를 정답(Ground Truth)으로서 추정하도록 미리 학습된 딥러닝 모델을 사용하여 상기 각 타일의 복잡도를 결정하는, 복잡 영역을 결정하는 방법.According to claim 8,
The step of determining the complexity of each tile,
A complexity region in which the complexity of each tile is determined using a deep learning model pretrained to estimate the complexity of each tile determined using a rule-based decision model as a ground truth. How to determine.
상기 룰-기반의 결정 모델은, i) 상기 각 타일과 연관된 엔트로피, ii) 상기 각 타일과 연관된 엣지 밀도(edge density), iii) 상기 각 타일과 연관된 이산 코사인 변환(DCT) 계수의 NZR (non-zero-rate) 및 iv) 상기 각 타일과 연관된 분산 중 적어도 2개에 기반하여 상기 각 타일의 복잡도를 결정하도록 구성된 것인, 복잡 영역을 결정하는 방법. According to claim 14,
The rule-based decision model is: i) the entropy associated with each tile, ii) the edge density associated with each tile, iii) the NZR of the discrete cosine transform (DCT) coefficient associated with each tile (non -zero-rate) and iv) determining the complexity of each tile based on at least two of the variance associated with each tile.
상기 결정하는 단계는,
상기 추출된 단위 컷을 이미지를 분류하도록 미리 학습된 분류 모델에 입력시키는 단계;
상기 분류 모델의 복수의 중간층(middle layer)들의 상기 단위 컷과 연관된 피쳐맵들을 획득하는 단계;
상기 피쳐맵들을 시각화하는, 상기 피쳐맵들에 대응하는 어텐션 맵(attention map)들을 생성하는 단계; 및
상기 어텐션 맵들을 평균 또는 합(sum)한 어텐션 맵으로부터, 활성화도가 상위인 영역을 나타내는 적어도 하나의 패치에 대응하는 상기 단위 컷의 영역을 상기 복잡 영역으로 결정하는 단계
를 포함하는, 복잡 영역을 결정하는 방법. According to claim 1,
The determining step is
inputting the extracted unit cuts to a pre-learned classification model to classify images;
obtaining feature maps associated with the unit cut of a plurality of middle layers of the classification model;
generating attention maps corresponding to the feature maps, which visualize the feature maps; and
Determining a region of the unit cut corresponding to at least one patch representing a region having a higher activation degree, as the complex region, from an attention map obtained by averaging or summing the attention maps.
Including, how to determine the complex area.
상기 콘텐츠는 웹툰 콘텐츠이고,
상기 단위 컷들의 각각은 상기 웹툰 콘텐츠를 구성하는 장면 컷인, 복잡 영역을 결정하는 방법. According to claim 1,
The content is webtoon content,
Each of the unit cuts is a scene cut constituting the webtoon content, a method for determining a complex region.
상기 컴퓨터 시스템에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상기 이미지로부터, 상기 이미지에 포함된 단위 컷을 추출하고,
상기 단위 컷 내의 영역들 중에서 복잡도가 상위인 적어도 하나의 복잡 영역을 상기 콘텐츠와 연관된 식별 정보가 삽입될 영역으로 결정하는, 컴퓨터 시스템.A computer system for determining a complex region from an image of content including a plurality of unit cuts,
at least one processor implemented to execute instructions readable by the computer system
including,
The at least one processor,
Extracting unit cuts included in the image from the image;
A computer system that determines at least one complex region having a higher complexity among regions within the unit cut as a region into which identification information associated with the content is to be inserted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220011502A KR102689412B1 (en) | 2022-01-26 | 2022-01-26 | Method and apparatus for determining region with high complexity from image of contents to insert identification information therein |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220011502A KR102689412B1 (en) | 2022-01-26 | 2022-01-26 | Method and apparatus for determining region with high complexity from image of contents to insert identification information therein |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230115028A true KR20230115028A (en) | 2023-08-02 |
KR102689412B1 KR102689412B1 (en) | 2024-07-29 |
Family
ID=87566619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220011502A KR102689412B1 (en) | 2022-01-26 | 2022-01-26 | Method and apparatus for determining region with high complexity from image of contents to insert identification information therein |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102689412B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070030997A1 (en) * | 2005-08-04 | 2007-02-08 | Microsoft Corporation | Imput complexity adaptive quantization watermarking |
KR102096893B1 (en) * | 2018-11-22 | 2020-04-06 | 주식회사 데이터코볼트 | Apparatus and method for inserting an identification code for tracking a duplicated image |
KR20200040739A (en) * | 2018-06-19 | 2020-04-20 | 네이버웹툰 주식회사 | Method, apparatus and computer program for prevent content leakage |
-
2022
- 2022-01-26 KR KR1020220011502A patent/KR102689412B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070030997A1 (en) * | 2005-08-04 | 2007-02-08 | Microsoft Corporation | Imput complexity adaptive quantization watermarking |
KR20200040739A (en) * | 2018-06-19 | 2020-04-20 | 네이버웹툰 주식회사 | Method, apparatus and computer program for prevent content leakage |
KR102096893B1 (en) * | 2018-11-22 | 2020-04-06 | 주식회사 데이터코볼트 | Apparatus and method for inserting an identification code for tracking a duplicated image |
Also Published As
Publication number | Publication date |
---|---|
KR102689412B1 (en) | 2024-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502984B (en) | Drawing review method and device, computer equipment and storage medium | |
CN110276349B (en) | Video processing method, device, electronic equipment and storage medium | |
US8141146B2 (en) | Authentication server, authentication method and authentication program | |
CN108648132B (en) | Method, system, terminal and medium for generating watermark according to image | |
CN109316747B (en) | Game auxiliary information prompting method and device and electronic equipment | |
EP3114601B1 (en) | Access control for a resource | |
US20210303905A1 (en) | Method, system, and non-transitory computer readable record medium for extracting and providing text color and background color in image | |
CN110765893B (en) | Drawing file identification method, electronic equipment and related product | |
CN112257729B (en) | Image recognition method, device, equipment and storage medium | |
US8929684B2 (en) | Image display apparatus and control method thereof | |
CN111626222A (en) | Pet detection method, device, equipment and storage medium | |
KR102412135B1 (en) | Image synthesizing apparatus and method for inserting watermark | |
WO2021011333A1 (en) | Methods for determining data integrity using overlapping regions | |
GB2555168A (en) | Using labels to track high-frequency offsets for patch-matching algorithms | |
CN110097071A (en) | The recognition methods in the breast lesion region based on spectral clustering in conjunction with K-means and device | |
CN110766068A (en) | Verification code identification method and computing device | |
CN117745589A (en) | Watermark removing method, device and equipment | |
CN113887375A (en) | Text recognition method, device, equipment and storage medium | |
CN114067324A (en) | Identifying method, device, equipment and storage medium for identifying verification code picture | |
CN111803956B (en) | Method and device for determining game plug-in behavior, electronic equipment and storage medium | |
US20200387730A1 (en) | Image Processing Apparatus, Image Forming Apparatus, Display Apparatus, Image Processing Method, and Storage Medium | |
KR102689412B1 (en) | Method and apparatus for determining region with high complexity from image of contents to insert identification information therein | |
KR101764998B1 (en) | Method and system for filtering image | |
CN115294162B (en) | Target identification method, device, equipment and storage medium | |
CN114881836A (en) | Picture watermark processing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |