KR101744163B1 - An application for managing images and method of managing images - Google Patents

An application for managing images and method of managing images Download PDF

Info

Publication number
KR101744163B1
KR101744163B1 KR1020160013385A KR20160013385A KR101744163B1 KR 101744163 B1 KR101744163 B1 KR 101744163B1 KR 1020160013385 A KR1020160013385 A KR 1020160013385A KR 20160013385 A KR20160013385 A KR 20160013385A KR 101744163 B1 KR101744163 B1 KR 101744163B1
Authority
KR
South Korea
Prior art keywords
image
cluster
images
clusters
feature
Prior art date
Application number
KR1020160013385A
Other languages
Korean (ko)
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 김현철
Priority to KR1020160013385A priority Critical patent/KR101744163B1/en
Application granted granted Critical
Publication of KR101744163B1 publication Critical patent/KR101744163B1/en

Links

Images

Classifications

    • G06F17/30256
    • G06F17/3028
    • G06F17/3071
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

이미지 관리용 애플리케이션 및 이를 위한 방법이 제공된다.
하드웨어와 결합되어 매체에 저장된 이미지 관리용 애플리케이션은 소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하며, 최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터로 분류하고, 후속 이미지의 특징 벡터와 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하며, 상기 복수의 이미지들이 복수의 클러스터로 분류되고, 2 개의 클러스터에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합한다.
An application for image management and a method therefor are provided.
An image management application stored in a medium coupled with hardware generates a feature vector composed of feature values including at least code stream and time information of a header related to color information for each of a plurality of images within a predetermined period, If the distance between the feature vectors of the adjacent image is less than or equal to the threshold value, the images are classified into the same cluster, and if the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, And merges the two clusters into a single cluster when the plurality of images are classified into a plurality of clusters and the distance between the cluster representative values in the two clusters is equal to or less than the threshold value.

Figure P1020160013385
Figure P1020160013385

Description

이미지 관리용 애플리케이션 및 이미지 관리 방법{An application for managing images and method of managing images}[0001] The present invention relates to an image management application and an image management method,

본 발명은 이미지 관리용 애플리케이션 및 이미지 관리 방법에 관한 것으로서, 보다 상세하게는 제한된 성능의 기기에서 사용자의 분류 의도에 최대한 부합하도록 방대한 양의 이미지를 용이하게 그룹핑함과 아울러, 사용자의 피드백에 따라 개인화된(personalized) 분류 기준 및 이미지의 품질 평가를 실현하는 이미지 관리용 애플리케이션 및 이미지 관리 방법에 관한 것이다.The present invention relates to an image management application and an image management method, and more particularly, to an image management application and an image management method, which are capable of easily grouping a large amount of images so as to maximally match a classification intention of a user in a limited performance device, To an image management application and an image management method for realizing quality evaluation of personalized classification standards and images.

태블릿(tablet) 컴퓨터, 스마트 폰 등 스마트 기기나 디지털 카메라 등의 촬영 장치에서 촬영된 사진은 각 장치별로 별도의 저장 폴더에 저장된다. 촬영 사진을 사용자 기준에 따라 분류하기 위해서는 사진을 하나씩 확인해가며 분류해야 하므로 많은 시간과 노력이 소모된다.Photos taken by smart devices such as tablet computers, smart phones, and digital cameras are stored in separate storage folders for each device. In order to classify the photographs according to the user's criteria, it takes a lot of time and effort to check the pictures one by one.

촬영 장치에 저장된 사진을 다른 장치로 전송하는 경우에도, 사진을 사용자 기준에 따라 분류하기 위해서는 사진을 모두 확인하면서 분류해야 하는 불편이 있다.Even when the photographs stored in the photographing apparatus are transmitted to other apparatuses, there is an inconvenience that the photographs should be classified while checking all the photographs in order to classify the photographs according to the user's criteria.

본 발명이 이루고자 하는 기술적 과제는 제한된 성능의 기기에서 사용자의 분류 의도에 최대한 부합하도록 방대한 양의 이미지를 용이하게 그룹핑함과 아울러, 사용자의 피드백에 따라 개인화된 분류 기준 및 이미지의 품질 평가를 실현하는 이미지 관리용 애플리케이션 및 이미지 관리 방법을 제공하는데 있다. An object of the present invention is to provide a method and apparatus for easily grouping a large amount of images so as to match a classification intention of a user in a limited performance device and realize personalized classification criteria and image quality evaluation according to user feedback An image management application and an image management method.

본 발명의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다. The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 이루기 위한 본 발명의 일 양태에 따르면, 이미지 관리용 애플리케이션은 하드웨어와 결합되며, 소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림(code stream) 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하는 단계와, 최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터(cluster)로 분류하고, 상기 이미지들의 특징 벡터들에 근거하여 클러스터 대표값을 산출하는 단계와, 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하고, 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값에 근거하여 상기 클러스터 대표값을 갱신하는 단계, 및 상기 복수의 이미지들이 복수의 클러스터로 분류되고, 상기 복수의 클러스터들 중 2 개의 클러스터들에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우, 상기 복수의 클러스터를 유지하는 단계를 실행시키기 위하여 매체에 저장된다. According to an aspect of the present invention, there is provided an image management application, which is combined with hardware and includes a code stream and a time information of a header related to color information for each of a plurality of images within a predetermined period, The method comprising the steps of: generating a feature vector composed of at least a feature value including at least one feature vector of a plurality of neighboring images; classifying the images into the same cluster if the distance between the feature vectors of the first image and the adjacent image is equal to or less than a threshold; If the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, classifying the subsequent image into the same cluster as the cluster, The cluster representative value is updated based on the cluster representative value And when the plurality of images are classified into a plurality of clusters and a distance between the cluster representative values in two of the plurality of clusters is equal to or less than the threshold value, Merging, and if the threshold is exceeded, maintaining the plurality of clusters.

다른 실시예에서, 상기 특징 벡터를 생성하는 단계 전에, 상기 임계값은 기 분류된 클러스터들에서 이용된 임계값들에 근거하여 추정될 수 있다. In another embodiment, prior to the step of generating the feature vector, the threshold may be estimated based on thresholds used in pre-classified clusters.

또 다른 실시예에서, 상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산시에, 상기 특징 벡터를 구성하는 특징값에 따라 클러스터링 가중치가 부여될 수 있다. In another embodiment, a clustering weight may be given according to a feature value constituting the feature vector, in calculating the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value.

또 다른 실시예에서, 상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에, 사용자가 상기 동일한 클러스터로 분류된 이미지들 중 적어도 하나의 이미지에 대한 신규 클러스터를 생성하거나, 복수의 클러스터를 선택하여 하나의 클러스터로 군집화하는 경우에, 상기 클러스터 대표값을 갱신하는 단계와, 상기 갱신된 클러스터 대표값에 근거하여 상기 임계값을 추정하는 단계를 더 포함한다. In another embodiment, after merging into the single cluster if the threshold is less than or equal to the threshold and maintaining the plurality of clusters if the threshold is exceeded, Updating the cluster representative value when a plurality of clusters are selected and clustered into one cluster; and a step of estimating the threshold value based on the updated cluster representative value .

또한, 상기 추정된 임계값을 이용하여 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류할 수 있다. Further, the estimated threshold value may be used to classify the clusters for a plurality of images in the subsequent period.

이에 더하여, 상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산에서 상기 특징 벡터를 구성하는 특징값에 따라 부여되는 클러스터링 가중치가 설정되면, 상기 갱신된 클러스터 대표값 및 상기 추정된 임계값에 기초하여 상기 클러스터링 가중치를 갱신하는 단계를 더 포함하고, 상기 추정된 임계값 및 상기 갱신된 클러스터링 가중치에 의해, 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류할 수 있다. In addition, when a cluster weight is assigned according to a feature value constituting the feature vector in the calculation of the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value, And updating the clustering weight based on the estimated threshold, wherein the estimated threshold and the updated clustering weight may classify clusters for a plurality of images in a subsequent time period.

또 다른 실시예에서, 상기 이미지는 디지털 형태로 저장되고, 상기 이미지의 포맷이 JPEG(Joint Photographic Experts Group)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블(huffman table)에 저장된 DC 코드 및 AC 코드이며, 상기 이미지의 포맷이 PNG(Portable Network Graphic)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블에 저장된 색상 데이터 관련 코드이고, 상기 이미지가 GIF(Graphic Interchange Format)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 LZW(Lempei-Ziv-Welch) 부호에 저장된 색상 데이터 관련 코드일 수 있다. In another embodiment, the image is stored in digital form, and if the format of the image is JPEG (Joint Photographic Experts Group), the code stream of the header associated with the color information is stored in a Huffman table Code and an AC code, and when the image format is PNG (Portable Network Graphic), a code stream of a header related to the color information is a color data related code stored in a Huffman table, the image is a GIF (Graphic Interchange Format) , The code stream of the header associated with the color information may be the color data related code stored in the LZW (Lempei-Ziv-Welch) code.

또 다른 실시예에서, 상기 클러스터 대표값은 동일한 클러스터로 분류된 이미지들의 특징 벡터를 구성하는 특징값마다의 평균값으로 구성될 수 있다. In another embodiment, the cluster representative value may be composed of an average value for each feature value constituting a feature vector of images classified into the same cluster.

또 다른 실시예에서, 상기 매체는 모바일 단말, 컴퓨터, 클라우드 서버 및 소셜 네트워크 서버 중 어느 하나일 수 있다.In yet another embodiment, the medium may be any of a mobile terminal, a computer, a cloud server, and a social network server.

또 다른 실시예에서, 상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에, 각 클러스터로 분류된 이미지들 각각에 대하여 복수의 품질 특징값들을 산출하는 단계와, In another embodiment, merging into the single cluster, when the threshold is below the threshold, and maintaining the plurality of clusters if the threshold is exceeded, Calculating characteristic values,

품질 가중치가 부여된 복수의 품질 특징값들에 근거하여 상기 이미지들을 평가한 결과에 따라, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계를 더 포함할 수 있다. Ranking the images in the cluster according to a result of evaluating the images based on a plurality of quality-weighted quality feature values, and selecting representative images in the cluster .

또한, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에, 상기 클러스터 내에서 상기 이미지들의 순위를 직접적으로 재배치하는 사용자의 지시에 응답하여 대표 이미지를 획득하는 단계와, 상기 재배치된 순위에 근거하여 상기 품질 가중치를 산출하는 단계, 및 다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함할 수 있다. Further comprising the steps of: ranking the images in the cluster and, after selecting the representative image, obtaining a representative image in response to an instruction of a user to directly relocate the images in the cluster; Calculating the quality weight based on the rearranged rank, and evaluating the quality feature values by applying the calculated quality weight to images of other clusters.

이에 더하여, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에, 상기 클러스터 내에서 상기 이미지들에 대한 사용자의 간접적인 액티비티(activity)가 있는 경우에, 상기 액티비티의 개입 정도(intervening degree)에 근거하여 상기 클러스터 내의 상기 이미지들의 순위를 재배치하고, 상기 순위에 따라 대표 이미지를 획득하는 단계와, 상기 액티비티의 개입 정도에 근거하여 상기 품질 가중치를 산출하는 단계, 및 다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함할 수 있다. In addition, in the event that there is an indirect activity of the user for the images in the cluster, after ranking the images in the cluster and selecting the representative image, the intervention of the activity Rearranging the order of the images in the cluster based on the degree of intervening and obtaining a representative image according to the ranking; calculating the quality weight based on the degree of intervention of the activity; And evaluating the quality feature values by applying the calculated quality weights to the quality feature values.

이 경우에, 상기 액티비티의 개입 정도는 소셜 네트워크 서비스에서의 상기 이미지의 공유 횟수, 상기 이미지의 수정 횟수, 상기 이미지의 열람 횟수 및 상기 이미지의 열람 시간 중 적어도 하나를 포함하여 산출될 수 있다. In this case, the degree of intervention of the activity may be calculated to include at least one of the number of sharing of the image in the social network service, the number of times the image is modified, the number of times the image is browsed, and the viewing time of the image.

상기 품질 특징값들은 상기 이미지 내의 얼굴 유무, 얼굴을 기준으로 하는 상기 이미지의 소정 영역에서의 선명도, 얼굴이 상기 이미지에서 차지하는 상대 면적, 눈(eye)의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 상기 이미지의 중심으로부터 상기 얼굴 중심까지의 거리 중 적어도 2개를 포함할 수 있다. The quality characteristic values may include at least one of a presence or absence of a face in the image, a sharpness in a predetermined area of the image based on the face, a relative area occupied by the face in the image, an openness of an eye, a signal- ) Or face distortion due to lens distortion, and a distance from the center of the image to the center of the face.

또한, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에, 소정 상위의 순위의 이미지들만을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함할 수 있다. The method may further include the step of ranking the images in the cluster and selecting only representative images in the cluster, and then storing only images of a predetermined higher ranking on the medium or uploading to other external media can do.

아울러, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에, 소정 하위의 순위의 이미지들을 상기 이미지들보다 낮은 압축율을 가진 이미지들로 변환하는 단계, 및 상기 낮은 압축율을 가진 이미지들을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함할 수 있다. Further comprising the steps of: ranking the images in the cluster and selecting representative images in the cluster; converting the images of a predetermined lower rank into images having a lower compression ratio than the images; Storing the images having the compression ratio in the medium or uploading them to another external medium.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. The details of other embodiments are included in the detailed description and drawings.

본 발명에 따르면, 제한된 자원을 갖는 모바일 단말 및 클라우드(cloud) 환경에서 과도한 연산량 및 복잡한 이미지 처리를 수반하지 않으면서, 연속적인 시간 구간 내에 있으나 서로 상이한 구도를 갖는 이미지들을 다른 클러스터로 정확하게 그룹핑함으로써, 사용자의 분류 의도에 부합한 클러스터링이 실현될 수 있다. 또한, 클러스터링 후에 유사한 클러스터들을 병합함으로써, 연속적인 유사한 이미지들 내에 외란(disturbance)이 있는 이미지로 인해 유사한 이미지들이 다른 클러스터들로 분류되는 오버 클러스터링(over clustering)을 방지할 수 있다. According to the present invention, it is possible to precisely group images, which are in a continuous time interval but have different compositions, into different clusters without involvement of excessive computational complexity and complex image processing in a mobile terminal and a cloud environment with limited resources, Clustering that meets the user's classification intent can be realized. In addition, by merging similar clusters after clustering, it is possible to prevent over clustering in which similar images are classified into different clusters due to images with disturbance in successive similar images.

또한, 사용자의 클러스터의 병합 혹은 생성에 따라, 클러스터들을 구분하는 기준인 임계값 및 클러스터링 가중치를 갱신함으로써, 후속 이미지들의 클러스터링시에 개인화된 분류 기준이 생성되어 사용자의 의도에 부합된 분류가 구현될 수 있다. In addition, according to the merging or creation of the user's clusters, the threshold value and the clustering weight, which are the criteria for distinguishing the clusters, are updated, so that a personalized classification criterion is generated at the time of clustering of the subsequent images to implement classification corresponding to the user's intention .

이에 더하여, 사용자는 품질 평가에 의해 클러스터 내의 이미지들의 순위들을 직접적으로 변경하거나 소셜 네트워크 서비스 등의 액티비티를 통해, 평가 요소들에 부여된 품질 가중치들을 산출함으로써, 산출된 품질 가중치가 후속의 이미지 평가에 반영될 수 있다. In addition, the user can directly change the ranking of the images in the cluster by quality evaluation, or by calculating the quality weights assigned to the evaluation elements through activities such as social network services, Can be reflected.

도 1은 본 발명의 일 실시예에 따른 이미지 관리용 애플리케이션이 구현된 모바일 단말을 포함하는 전체 네트워크를 개략적으로 도시한 도면이다.
도 2는 모바일 단말의 개략적인 구성도이다.
도 3은 이미지 관리용 애플리케이션의 기능을 모듈 별로 나타낸 도면이다.
도 4는 데이터베이스부에 저장된 이미지의 정보를 나타내는 도면이다.
도 5는 이미지 파일의 포맷을 예시한 도면이다.
도 6a 및 도 6b는 이미지들의 클러스터링 프로세스에 관한 흐름도이다.
도 7은 오버 클러스터링을 방지하기 위한 클러스터의 병합을 나타낸 도면이다.
도 8a 내지 도 8d는 이미지들의 클러스터링 프로세스에 대한 유저 인터페이스(user interface)를 예시한 도면이다.
도 9는 사용자의 조작에 의해 클러스터를 편집하는 경우에 관한 흐름도이다.
도 10a 및 도 10b는 사용자에 의해 클러스터를 편집하는 경우의 유저 인터페이스를 예시한 도면이다.
도 11은 이미지들의 품질 평가 및 사용자의 직접적인 조작에 의한 이미지 순위의 변경에 관한 흐름도이다.
도 12는 이미지들의 품질 평가 및 액티비티 개입 정도에 의한 이미지 순위의 변경에 관한 흐름도이다.
도 13은 클러스터의 분류 및 이미지의 품질 평가에 사용되는 파라미터들을 조정하기 위한 유저 인터페이스를 예시한 도면이다.
도 14은 매체에 보존하기 위한 이미지들의 선정 및 저장 형태를 결정하기 위한 유저 인터페이스를 예시한 도면이다.
1 is a schematic view of an entire network including a mobile terminal in which an image management application according to an embodiment of the present invention is implemented.
2 is a schematic configuration diagram of a mobile terminal.
3 is a diagram showing functions of an image management application by module.
4 is a view showing information of an image stored in the database unit.
5 is a diagram illustrating the format of an image file.
6A and 6B are flowcharts of the clustering process of images.
7 is a diagram showing the merging of clusters to prevent overclustering.
Figures 8A-8D illustrate a user interface for the clustering process of images.
9 is a flowchart related to a case where a cluster is edited by a user's operation.
10A and 10B are diagrams illustrating a user interface when a cluster is edited by a user.
11 is a flow chart for evaluating the quality of images and changing the image ranking by direct manipulation of the user.
Figure 12 is a flow chart of the quality evaluation of images and the change of image ranking by degree of activity intervention.
13 is a diagram illustrating a user interface for adjusting parameters used for classifying a cluster and evaluating the quality of an image.
FIG. 14 is a diagram illustrating a user interface for determining the selection and storage form of images to be stored in a medium.

이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 그러나, 본 발명은 여기서 설명되어지는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 “포함한다(comprises)” 및/또는 “포함하는(comprising)”은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and the following description. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. Rather, the embodiments disclosed herein are being provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Like reference numerals designate like elements throughout the specification. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. &Quot; comprises " and / or " comprising ", as used herein, unless the recited element, step, operation, and / Or additions.

또한, “부”내지 “모듈” 이란, 일반적으로 논리적으로 분리 가능한 소프트웨어(컴퓨터 프로그램), 하드웨어 등의 부품을 가리킨다. 따라서, 본 실시형태에 있어서의 모듈은 컴퓨터 프로그램에 있어서의 모듈뿐만 아니라, 하드웨어 구성에 있어서의 모듈도 가리킨다. 그 때문에, 본 실시형태는, 그것들을 모듈로서 기능시키기 위한 컴퓨터 프로그램(컴퓨터에 각각의 단계를 실행시키기 위한 프로그램, 컴퓨터를 각각의 수단으로서 기능시키기 위한 프로그램, 컴퓨터에 각각의 기능을 실현시키기 위한 프로그램), 시스템 및 방법의 설명도 겸하고 있다. 다만, 설명의 형편상, “저장한다”, “저장시킨다”, 이것들과 동등한 문언을 이용하지만, 이들 문언은, 실시형태가 컴퓨터 프로그램일 경우에는, 기억 장치에 기억시키는, 또는 기억 장치에 기억시키는 것과 같이 제어하는 것을 의미한다. 또한, “부” 내지 “모듈”은 기능에 일대일로 대응하고 있어도 되지만, 실장에 있어서는, 1 모듈을 1 프로그램으로 구성해도 되고, 복수 모듈을 1프로그램으로 구성해도 되고, 반대로 1 모듈을 복수 프로그램으로 구성해도 된다. 또한, 복수 모듈은 1 컴퓨터에 의해 실행되어도 되고, 분산 또는 병렬 환경에 있어서의 컴퓨터에 의해 1 모듈이 복수 컴퓨터로 실행되어도 된다. 또한, 1개의 모듈에 다른 모듈이 포함되어 있어도 된다. 또한, 이하, “접속”이란 물리적인 접속 외에, 논리적인 접속(데이터의 주고받기, 지시, 데이터간의 참조 관계 등)일 경우에도 채용한다. “소정의” 또는 “미리 정해진” 이란, 대상으로 하고 있는 처리 전에 정해져 있음을 말하고, 본 실시형태에 의한 처리가 개시되기 전은 물론이고, 본 실시형태에 의한 처리가 개시된 후에도, 대상으로 하고 있는 처리 전이면, 그 때의 상황·상태에 따라, 또는 그때까지의 상황·상태에 따라 정해지는 것의 의미를 포함해서 이용한다.Also, the terms " part " to " module " refer generally to components such as logically separable software (computer program), hardware and the like. Therefore, the module in the present embodiment indicates not only the module in the computer program but also the module in the hardware configuration. Therefore, the present embodiment is applicable to a computer program for causing the computer to function as a module (a program for causing each step to be executed in a computer, a program for causing a computer to function as each means, ), And also explains systems and methods. It should be noted that, for convenience of description, the words " store ", " store ", and words equivalent to these words are used, but these words may be stored in a storage device, As well as control. In addition, the modules may correspond to one-to-one functions, but in the case of mounting, one module may be constituted by one program, or a plurality of modules may be constituted by one program. Alternatively, one module may be constituted by a plurality of programs . Further, a plurality of modules may be executed by one computer, and one module may be executed by a plurality of computers by a computer in a distributed or parallel environment. Further, another module may be included in one module. Hereinafter, the term " connection " is used also in the case of logical connection (data transfer, instruction, reference relationship between data, etc.) in addition to physical connection. The term " predetermined " or " predetermined " means that the processing is determined before the processing to be performed. It is also possible that, even after the processing according to the present embodiment is started, If it is before the processing, it is used including the meaning of what is decided according to the situation / condition at that time, or the situation / state up to that time.

또한, 시스템 또는 장치란, 복수의 컴퓨터, 하드웨어, 장치 등이 네트워크(일대 일 대응의 통신 접속을 포함함) 등의 통신 수단에 의해 접속되어 구성되는 것 외에, 1개의 컴퓨터, 하드웨어, 장치 등에 의해 실현될 경우도 포함된다. The system or device is not limited to being configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including a one-to-one correspondence communication connection) This includes cases where it is realized.

또한, 각 부 내지 각 모듈에 의한 처리마다 또는 각 부 내지 모듈 내에서 복수의 처리를 행할 경우는 그 처리마다, 대상이 되는 정보를 기억 장치(메모리)로부터 판독 입력하고, 그 처리를 행한 후에, 처리 결과를 기억 장치에 기입하는 것이다. 따라서, 처리 전의 기억 장치로부터의 판독 입력, 처리 후의 기억 장치에의 기입에 관해서는, 설명을 생략할 경우가 있다. 또한, 여기에서의 기억 장치로서는, 하드디스크, RAM(RandoM Access Memory), 외부 기억 매체, 통신 회선을 통한 기억 장치, CPU(Central Processing Unit) 내의 레지스터 등을 포함하고 있어도 된다.In addition, when a plurality of processes are performed for each process by each module or each module, or when a plurality of processes are performed in each module, the target information is read from the memory device (memory) And writes the processing result into the storage device. Therefore, the description of the reading and writing from the storage device before processing and the writing into the storage device after processing may be omitted. The storage device here may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

이하, 도 1 내지 도 3을 참조하여, 본 발명의 일 실시예에 따른 이미지 관리용 애플리케이션에 대하여 상세히 설명하기로 한다. 도 1은 본 발명의 일 실시예에 따른 이미지 관리 애플리케이션이 구현된 모바일 단말을 포함하는 전체 네트워크를 개략적으로 도시한 도면이고, 도 2는 모바일 단말의 개략적인 구성도이며, 도 3은 이미지 관리 애플리케이션의 기능을 모듈 별로 나타낸 도면이다.도 4는 데이터베이스부에 저장된 이미지의 정보를 나타내는 도면이고, 도 5는 이미지 파일의 포맷을 예시한 도면이다. Hereinafter, an image management application according to an embodiment of the present invention will be described in detail with reference to FIG. 1 to FIG. FIG. 1 is a schematic diagram of an entire network including a mobile terminal in which an image management application according to an embodiment of the present invention is implemented. FIG. 2 is a schematic configuration diagram of a mobile terminal, FIG. 4 is a view showing information of an image stored in a database unit, and FIG. 5 is a view illustrating a format of an image file.

이하에서는 설명의 편의상 이미지 관리용 애플리케이션이 모바일 단말에 내장되는 것을 일례로 기술하기로 한다. 그러나, 이미지 관리용 애플리케이션은 클라우드 서버 또는 소셜 네트워크 서버 등에 내장되어 실행되고, 상기 애플리케이션과 연동된 모바일 단말용 프로그램을 통해 모바일 단말에 서비스할 수 있다. 클라우드 서버 또는 소셜 네트워크 서버에 내장되더라도, 이미지 관리용 애플리케이션은 이하의 설명한 사항과 실질적으로 동일하게 구현될 수 있다. 또한, 이미지 관리용 애플리케이션은 단순히 개인용 데스크탑(desktop) 컴퓨터에 내장되어 이하와 같이 구현될 수 있다. Hereinafter, an image management application is embedded in a mobile terminal for convenience of description. However, the image management application can be embedded in a cloud server, a social network server, or the like, and can be serviced to the mobile terminal through a program for the mobile terminal associated with the application. Even if it is embedded in a cloud server or a social network server, the image management application can be implemented substantially the same as the following description. In addition, the image management application can be simply built in a personal desktop computer and can be implemented as follows.

이미지 관리용 애플리케이션을 통해 순위화된 이미지들로 클러스터링하여 클러스터로 그룹핑된 이미지를 업로드하기 위해, 복수의 모바일 단말들(100), 클라우드 서버(140), 소셜 네트워크 서버(300) 및 네트워크(400)가 제공된다. 이들 구성요소는 유, 무선 접속에 의한 네트워크(400)를 통해 연결되고, 이들 구성요소 간의 데이터 교환은 네트워크(400)를 경유하여 수행된다. A plurality of mobile terminals 100, a cloud server 140, a social network server 300, and a network 400 for uploading images grouped into clusters to images ranked by the image management application, Is provided. These components are connected via a network 400 by wire and wireless connections, and the exchange of data between these components is performed via the network 400.

본 실시예에 의하면, 모바일 단말(100)은 이미지 관리용 애플리케이션을 내장할 수 있다. 모바일 단말(100)은 외부와 통신 가능한 단말로서, 피사체를 촬영할 수 있으며, 예를 들면 셀룰러(cellular) 폰, 스마트 폰, 태블릿 컴퓨터, 랩탑(laptop) 컴퓨터 또는 디지털 카메라일 수 있다. According to the present embodiment, the mobile terminal 100 can embed an image management application. The mobile terminal 100 is a terminal capable of communicating with the outside, and can photograph a subject. The mobile terminal 100 can be, for example, a cellular phone, a smart phone, a tablet computer, a laptop computer, or a digital camera.

클라우드 서버(140)는 모바일 단말(100)과 통신하여 모바일 단말(100)에 저장된 데이터, 예컨대 문서, 이미지, 비디오, 오디오 등을 저장할 수 있고, 모바일 단말(100)의 요청에 의해 저장된 데이터를 다른 모바일 단말(100) 또는 소셜 네트워크 서버(300)에 제공할 수 있다. The cloud server 140 may communicate with the mobile terminal 100 to store data stored in the mobile terminal 100, such as documents, images, video, audio, etc., To the mobile terminal (100) or the social network server (300).

소셜 네트워크 서버(300)는 모바일 단말들(100)의 상호 간에 행해지는 디지털 액티비티(activity), 예를 들면 메시지 교환, 텍스트, 이미지, 비디오, 오디오 및 각종 데이터 의 공유 등을 구현할 수 있다.The social network server 300 may implement a digital activity performed between the mobile terminals 100, for example, message exchange, text, image, video, audio, and sharing of various data.

모바일 단말(100)은 구체적으로, 조작부(102), 이미지 입력부(104), 오디오 입력부(106), 외부 접속부(124)를 포함할 수 있다. The mobile terminal 100 may specifically include an operation unit 102, an image input unit 104, an audio input unit 106, and an external connection unit 124. [

조작부(102)는 사용자의 입력을 위한 인터페이스로서, 디스플레이부(112)에 제공되는 터치 패드와 같은 소프트 키 및/또는 하드 키일 수 있다. 이미지 입력부(104)는 피사체의 정지 화상 또는 영상이 입력되는 부분으로서, 예들 들면 CCD 또는 CMOS 이미지 센서로 구성될 수 있다. 오디오 입력부(106)는 모바일 단말(100) 주변의 음성을 수신하는 부분으로서, 마이크로 폰일 수 있다. 외부 접속부(124)는 컴퓨팅 장치, 외장 메모리 등의 외부의 전자 디바이스와 접속되는 부재로서, 모바일 단말(100)과 외부 디바이스 간의 데이터 통신을 수행할 수 있다. The operation unit 102 may be a soft key and / or a hard key, such as a touch pad, provided on the display unit 112 as an interface for a user's input. The image input unit 104 is a portion into which a still image or an image of a subject is input, and may be constituted by, for example, a CCD or a CMOS image sensor. The audio input unit 106 is a part for receiving voice around the mobile terminal 100, and may be a microphone. The external connection unit 124 is a member connected to an external electronic device such as a computing device, an external memory, etc., and can perform data communication between the mobile terminal 100 and an external device.

모바일 단말(100)은 오디오 처리부(108), 이미지 처리부(110), 디스플레이부(112) 및 오디오 출력부(126)를 포함할 수 있다. The mobile terminal 100 may include an audio processing unit 108, an image processing unit 110, a display unit 112, and an audio output unit 126.

오디오 처리부(108)는 오디오 입력부(106)로부터 입력되는 음성을 디지털 압축 형태의 오디오 파일로 인코딩하고, 메모리부(118)에 저장된 오디오 파일을 디코딩하여 오디오 출력부(126)를 통해 재생할 수 있다. The audio processing unit 108 encodes the audio input from the audio input unit 106 into an audio file in digital compression format and decodes the audio file stored in the memory unit 118 and reproduces the audio file through the audio output unit 126.

이미지 처리부(110)는 이미지 입력부(104)로부터 입력된 피사체 화상, 영상을 디지털 압축 형태의 이미지 또는 비디오로 인코딩하고, 메모리부(118)에 저장된 이미지 또는 비디오를 디코딩하여 디스플레이부(112)를 통해 이미지 혹은 비디오를 표시할 수 있다. 압축된 이미지의 포맷은 JPEG(Joint Picture Expert Group), PNG(Portable Network Graphic), GIF(Graphic Interchange Format), TIFF(Tag Image File Format) 등일 수 있으나, 디지털 압축 형태라면 종류에 관계없이 가능하다. The image processing unit 110 encodes an object image and an image input from the image input unit 104 into an image or video of digital compression type and decodes the image or video stored in the memory unit 118 and transmits the decoded image or video through the display unit 112 Images or video can be displayed. The format of the compressed image may be a Joint Picture Expert Group (JPEG), a Portable Network Graphic (PNG), a Graphic Interchange Format (GIF), a Tag Image File Format (TIFF), or the like.

모바일 단말(100)은 통신부(114), 위치 센서부(116), 메모리부(118) 및 각 부의 기능을 제어하는 제어부(120)를 포함할 수 있다. The mobile terminal 100 may include a communication unit 114, a position sensor unit 116, a memory unit 118, and a controller 120 for controlling functions of the respective units.

통신부(114)는 유, 무선 통신을 위한 인터페이스로서, LTE, WCDMA, 블루투스, WIFI, WIBRO, 이더넷 등일 수 있으나, 이에 제한되지 않는다. The communication unit 114 may be, for example, LTE, WCDMA, Bluetooth, WIFI, WIBRO, Ethernet, and the like, but is not limited thereto.

위치 센서부(116)는 모바일 단말(100)의 현 위치에 대한 위치 정보를 인식하는 부재이고, 예를 들면 GPS 센서일 수 있다. 위치 센서부(116)는 이미지가 촬영된 장소에 관한 위치 정보를 파악하여 저장된 이미지의 메타 데이터로 제공할 수 있다. 도 2에서는 위치 센서부(116)만을 도시하였으나, 모바일 단말(100)의 주변의 다양한 상황을 감지하기 위한 복수의 센서들이 구비될 수 있다. The position sensor unit 116 is a member that recognizes position information on the current position of the mobile terminal 100, and may be, for example, a GPS sensor. The position sensor unit 116 may acquire positional information about a place where the image is captured and provide the stored positional information as metadata of the stored image. Although only the position sensor unit 116 is shown in FIG. 2, a plurality of sensors for sensing various situations around the mobile terminal 100 may be provided.

메모리부(118)는 이미지 처리부(110)에서 압축 처리된 이미지 파일, 오디오 파일 등을 포함한 다양한 멀티미디어 데이터, 운영 체제 관련 데이터 및 다양한 형태의 데이터를 저장할 수 있다. The memory unit 118 may store various multimedia data including image files, audio files, and the like compressed by the image processing unit 110, operating system related data, and various types of data.

애플리케이션부(122)는 메모리부(118)의 프로그램 메모리와 별도로, 사용자가 이용하는 다양한 응응 기능을 구동시키기 위한 서로 다른 프로그램인 애플리케이션들 및 이미지 관리용 애플리케이션(200)을 저장할 수 있으나, 본 실시예와 달리, 메모리부(118)에 편입될 수도 있다. 이러한 애플리케이션은 모바일 단말(100)에 초기에 내장될 수도 있으며, 외부의 앱 마켓 등으로부터 다운로드되어 설치될 수도 있다. Apart from the program memory of the memory unit 118, the application unit 122 may store applications and image management application 200, which are different programs for driving various adaptive functions used by the user, Alternatively, it may be incorporated into the memory unit 118. Such an application may be initially embedded in the mobile terminal 100 or may be downloaded and installed from an external app market.

이미지 관리용 애플리케이션(200)은 메모리부(118)에 압축 형태의 파일로 저장된 이미지들을 유사한 이미지들로 클러스터링하고, 클러스터 내의 이미지들을 순위화하는 기능을 구현한다. The application 200 for image management implements the function of clustering images stored in a compressed file in the memory unit 118 into similar images and ranking the images in the cluster.

이미지 관리용 애플리케이션(200)은 구체적으로, 데이터베이스부(202), 특징값 추출부(204), 이미지 클러스터링부(206), 이미지 평가부(218), 클래스 제시부(224) 및 업로드부(236)를 포함할 수 있다. Specifically, the image management application 200 includes a database unit 202, a feature value extraction unit 204, an image clustering unit 206, an image evaluation unit 218, a class presentation unit 224, and an upload unit 236, . ≪ / RTI >

데이터베이스부(202)는 도 4에 도시된 바와 같이, 이미지들 각각에 대한 클러스터링 및 품질 평가 완료 여부, 클러스터 정보, 복수의 품질 특징값의 각각의 스코어, 클러스터링을 위한 특징 벡터를 구성하는 특징값들, 각 특징값에 부여되는 클러스터링 가중치, 클러스터링을 위한 임계값, 품질 특정값에 부여되는 품질 가중치, 품질 평가에 따른 순위를 저장할 수 있다. As shown in Fig. 4, the database unit 202 stores clustering and quality evaluation of each of the images, cluster information, scores of each of a plurality of quality feature values, feature values constituting a feature vector for clustering A clustering weight given to each feature value, a threshold for clustering, a quality weight given to a quality specific value, and a ranking according to quality evaluation.

데이터베이스부(202)는 초기에 혹은 사용자가 설정한 기간 내의 이미지들로 그룹핑될 수 있으며, 구체적으로 소정 기간 별로 클러스터링 및 품질 평가를 완료 여부를 파악하도록, 클러스터링 등이 완료된 이미지 그룹(502)과 미완료된 이미지 그룹(504)를 구별하여 저장한다. 이에 따라, 이미지 관리용 애플리케이션(200)은 미완료된 이미지 그룹(502)에 속한 이미지들에 대하여 처리를 수행할 수 있다. The database unit 202 can be initially or grouped into images within a period set by the user. To be specific, clustering and quality evaluation are completed for each predetermined period, an image group 502 in which clustering has been completed, And stores the image group 504 separately. Accordingly, the image management application 200 can perform processing on images belonging to the incomplete image group 502. [

또한, 모바일 단말(100)이 이미지 관리용 애플리케이션(200)을 실행하는 중에 정지되어, 설정한 기간에 속한 모든 이미지들을 처리하지 못하는 경우에, 데이터베이스부(202)는 설정한 기간까지의 모든 이미지들을 그룹핑하지 않고, 실행 완료된 이미지들만을 처리 완료된 이미지 그룹(502)으로 저장할 수 있다. When the mobile terminal 100 is stopped while executing the image management application 200 and fails to process all the images belonging to the set period, the database unit 202 stores all the images up to the set period Only grouped images can be stored in the processed image group 502 without grouping.

이미지 관리용 애플리케이션(200)이 클라우드 서버(140)에 내장되어, 클라우드 서버(140)가 상기 애플리케이션이 실행 중에, 네트워크의 장애로 모바일 단말(100)로부터 소정 기간 내의 모든 이미지들을 수신하지 못한 경우에도, 전술한 사항과 실질적으로 동일하다. Even when the image management application 200 is embedded in the cloud server 140 so that the cloud server 140 can not receive all the images within a predetermined period from the mobile terminal 100 due to a failure of the network while the application is running , Substantially the same as the above.

특징값 추출부(204)는 데이터베이스부(202)에서 미완료된 이미지 그룹(504)의 복수의 이미지들의 각각에 대하여 압축 형태의 이미지의 포맷을 분석하여, 색상 정보와 관련된 헤더의 코드 스트림(code stream) 및 시간 정보를 적어도 포함하는 특징값들을 추출한다. 특징값 추출부(204)는 각 이미지마다 추출된 특징값들로 구성된 특징 벡터를 생성한다. The feature value extracting unit 204 analyzes the format of the compressed image for each of the plurality of images of the imperfect image group 504 in the database unit 202 to extract a code stream ) And time information. The feature value extracting unit 204 generates a feature vector composed of extracted feature values for each image.

압축 형태의 이미지는 이미지 압축 과정에서 생성된 압축 파라미터와 메타 데이터를 포함하는 헤더와 이미지의 화소들의 압축 데이터를 포함하는 본체로 구성될 수 있다. 압축 파라미터는 압축 데이터로 인코딩하는 과정에서 생성된 색상 정보, 명도 정보, 샘플링에 관한 계수와 테이블을 포함할 수 있고, 메타 데이터는 이미지의 생성 시간 정보 및 촬영 위치 정보 등을 포함할 수 있다. The compressed image may be composed of a header including compressed parameters and metadata generated in the image compression process, and a main body including compressed data of pixels of the image. The compression parameters may include color information, brightness information, coefficients related to sampling, and a table generated in the process of encoding with compressed data, and the metadata may include information on the generation time of the image, photographing position information, and the like.

특징값의 색상 정보와 관련된 헤더의 코드 스트림은 압축 파라미터에 포함된 색상 정보에 관한 계수와 테이블을 의미한다. The code stream of the header related to the color information of the feature value means a coefficient and a table relating to the color information included in the compression parameter.

예를 들면, 이미지가 JPEG인 경우에, 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블(huffman table)에 저장된 코드 혹은 양자화 테이블이고, 이미지가 GIF인 경우에, 색상 정보와 관련된 헤더의 코드 스트림은 LZW(Lempei-Ziv-Welch) 부호일 수 있다. 이미지가 PNG 또는 TIFF인 경우에, 상기 코드 스트림은 JPEG과 유사한 허프만 테이블의 코드일 수 있다.For example, in the case where the image is JPEG, the code stream of the header related to the color information is a code or a quantization table stored in a Huffman table, and when the image is a GIF, LZW (Lempei-Ziv-Welch) code. If the image is PNG or TIFF, the code stream may be code in a Huffman table similar to JPEG.

이미지 표준으로 통상적으로 사용되는 JPEG 이미지의 포맷을 도 5를 참조하여 설명하면, JPEG 이미지는 헤더, 이미지 화소들의 색상 정보를 샘플링, DCT(Discrete Cosine Tranformation), 양자화, 허프만 코딩 등의 일련의 과정에 의해 생성된 데이터를 포함하는 JPEG 압축 데이터(616) 및 이미지 파일의 종료를 통지하는 EOI(End OF Image)(618)을 포함한다. Referring to FIG. 5, the format of a JPEG image, which is typically used as an image standard, is a JPEG image, which is obtained by sampling color information of a header and image pixels, performing a DCT (Discrete Cosine Transformation) JPEG compressed data 616 containing the data generated by the image file 616 and End Of Image (EOI) 618 for reporting the end of the image file.

헤더는 이미지 파일의 시작을 통지하는 SOI(Start Of Image)(602), 메타 데이터를 기록한 응용 영역인 APP(604), 양자화 테이블을 보관하는 DQT(Define Quantization Tables)(606), 허프만 테이블의 코드를 저장하는 DHT(Define Huffman Tables)(608), JPEG 압축 데이터(616) 내에 존재하는 마커(marker)로 손상된 압축 데이터를 복원함에 있어서 재시작 간격을 정의하는 DRI(Define Restart Interval)(610), 이미지의 사이즈와 샘플링 정보를 보관하는 SOF(Start Of Frame)(612) 및 각 성분들이 사용할 허프만 테이블을 식별하기 위한 SOS(Start Of Scan)(614)를 포함한다. The header includes an SOI (Start Of Image) 602 for notifying the start of an image file, an APP 604 as an application area in which metadata is recorded, a DQT (Define Quantization Tables) 606 for holding a quantization table, A Define Restart Interval (DRI) 610 for defining a restart interval in restoring compressed data corrupted by a marker existing in the JPEG compressed data 616, a DHT (Define Huffman Tables) (Start Of Frame) 612 for storing the size and sampling information of each component, and an SOS (Start Of Scan) 614 for identifying the Huffman table to be used by each component.

JPEG 이미지에서 추출되는 특징값은 DQT(406)에 저장된 양자화 테이블 또는 DHT(608)에 기록된 허프만 테이블에서의 색상 정보와 관련된 코드 스트림과 함께, APP(604)에 보관되는 이미지의 시간 정보일 수 있다. The feature value extracted from the JPEG image may be the quantization table stored in the DQT 406 or the code information associated with the color information in the Huffman table recorded in the DHT 608, have.

본 실시예는 색상 정보와 관련된 코드 스트림으로서 허프만 테이블의 DC 코드 및 AC 코드를 채용하는 것을 예로 들어 설명한다. 이 경우에, DC 코드, AC 코드 및 시간 정보와 같은 특징값들은 각 이미지 Fi(i는 i 번째 이미지임)마다 하기의 [식 1]과 같은 특징 벡터로 구성될 수 있다. In the present embodiment, a DC code and an AC code of a Huffman table are employed as a code stream related to color information. In this case, the feature values such as the DC code, the AC code, and the time information may be constituted by the feature vector as shown in [Formula 1] below for each image F i (i is the i-th image).

Figure 112016011645402-pat00001
[식 1]
Figure 112016011645402-pat00001
[Formula 1]

(DCi는 i 번째 이미지의 DC 코드이며, ACi는 i 번째 이미지의 AC 코드이고, Timei는 시간 정보임) (DC i is the DC code of the i-th image, AC i is the AC code of the i-th image, and Time i is time information)

이상에서는 특징값에 이용되는 메타 데이터로서 시간 정보만을 이용하고 있으나, 이미지의 촬영 장소와 관련된 위치 정보가 위치 센서부(116)로부터 획득되어 이미지의 메타 데이터에 첨부되고, 특징값은 위치 정보를 추가적으로 포함할 수 있다. In the above description, only the time information is used as the meta data used for the feature value, but the position information related to the image capturing place of the image is acquired from the position sensor unit 116 and attached to the metadata of the image, .

본 실시예에서 이미지의 포맷에 기 저장된 헤더 내의 색상 정보의 코드 스트림과 시간 정보를 유사도 판정을 위한 특징값들로 활용함으로써, 단순히 시간 정보와 위치 정보와 같은 메타 데이터만의 클러스터링에 비해 클러스터화된 이미지들의 유사도가 향상될 수 있다. In this embodiment, by using the code stream and the time information of the color information in the header previously stored in the format of the image as the feature values for determining the degree of similarity, The similarity of the images can be improved.

또한, 이미지 압축 방식을 재차 변형 가공하여 유사도 판정을 진행하면, 이미지 내의 파라미터를 재계산하거나 반복적인 가공을 수행해야 하는 많은 연산량이 요구되므로, 상기 방식은 제한된 성능의 모바일 단말(100)에 적합하지 않다. 그러나, 본 실시예는 별도의 이미지 파일의 가공없이 헤더 내의 정보를 이용하므로, 적은 연산량으로 효율적인 유사도 판정이 가능하다. In addition, if the image compression method is processed again to determine the degree of similarity, a large amount of computation is required to recalculate the parameters in the image or to perform repetitive processing. Therefore, the method is suitable for the mobile terminal 100 with limited performance not. However, since the present embodiment uses information in the header without processing an additional image file, efficient similarity determination can be performed with a small amount of computation.

이미지 클러스터링부(206)는 이미지들의 특징 벡터들과 임계값을 비교하여 이미지들 간의 유사도를 판정하여, 판정 결과에 따라 이미지들을 클러스터링한다. 또한, 이미지 클러스터링부(206)는 오버 클러스터링을 방지하기 위해, 클러스터들과 임계값을 비교하여 양자 간의 유사도를 판정한다. 이미지 클러스터링부(206)는 사용자의 클러스터에 대한 편집을 통하여 개인화된 임계값과 클러스터링 가중치를 산출하여 후속 기간 내의 클러스터링 또는 기 완료된 클러스터의 재분류에 반영할 수 있다. The image clustering unit 206 compares the feature vectors of the images with a threshold value to determine the degree of similarity between the images, and clusters the images according to the determination result. In addition, the image clustering unit 206 compares clusters with thresholds to prevent overclustering, and determines similarities between the clusters. The image clustering unit 206 may calculate the personalized threshold value and the clustering weight through editing of the user's cluster, and may reflect the clustering in the subsequent period or the reclassification of the completed cluster.

구체적으로, 이미지 클러스터링부(206)는 이미지 판정부(208), 클러스터 분류부(210), 클러스터 판정부(212), 임계값 추정부(214) 및 클러스터링 가중치 산출부(216)를 포함할 수 있다. Specifically, the image clustering unit 206 may include an image determining unit 208, a cluster classifying unit 210, a cluster determining unit 212, a threshold value estimating unit 214, and a clustering weight calculating unit 216 have.

이미지 판정부(208)는 클러스터링 및 품질 평가가 미완료된 이미지 그룹(504)에서 최초 이미지와 다음 이미지의 특징 벡터들 간의 거리를 산출하고, 거리가 임계값 이하이면 양 이미지를 동일 클러스터로 판단하고, 거리가 임계값을 초과하면 양 이미지를 상이한 클러스터로 분류하는 것으로 판정한다. The image determining unit 208 calculates the distance between the feature vectors of the first image and the next image in the image group 504 in which the clustering and quality evaluation are not completed. If the distance is less than or equal to the threshold value, If the distance exceeds the threshold value, it is determined to classify both images into different clusters.

임계값은 이미지 관리용 애플리케이션(200)에서 초기 지정되거나, 클러스터링 등이 완료된 이미지 그룹(502)의 기 분류된 클러스터들에서 이용된 임계값에 근거하여 추정될 수 있다. 기 분류된 클러스터들이 있는 경우에, 각 클러스터 내의 이미지들의 특징 벡터들의 평균값인 클러스터 대표값을 클러스터마다 획득하고, 클러스터 대표값 평균 간의 차이에 기초하여 임계값으로 추정할 수 있다. 클러스터 대표값들 간의 차이로도 임계값을 추정할 수 있으나, [식 2]에서와 같이, 상기 차이에 임계 정의 계수, 예컨대 2를 나눔으로써, 유사성이 높은 이미지들이 동일한 클러스터로 분류될 수 있다. 이에 의하면, 생일 축하 파티, 졸업식 등과 같은 이벤트와 관련된 이미지들 또는 동일한 배경에서 다른 사람들이 있는 이미지들보다 더 유사한 이미지들을 하나의 클러스터로 분류될 수 있다. 유사성이 높은 이미지들은 동일 이벤트와 배경에서 동일한 사람들을 연속 촬영하여 획득된 이미지들일 수 있으며, 이미지 판정부(208)는 연속 촬영된 이미지들로만 동일한 클러스터로 분류되는 임계값을 이용할 수 있다. 그러나, 임계 정의 계수가 2로 한정되지 않고, 이미지들 간의 유사성을 더 엄격하게 판단하는 경우에는, 임계 정의 계수가 클 수 있으며, 단순히 동일 이벤트와 배경의 이미지들을 하나의 클러스터로 분류한다면, 임계 정의 계수는 작을 수 있다. The threshold value may be initially designated in the application 200 for image management, or may be estimated based on the threshold value used in the pre-classified clusters of the image group 502 in which clustering has been completed. In the case where there are pre-classified clusters, a cluster representative value, which is an average value of the feature vectors of the images in each cluster, is obtained for each cluster and can be estimated as a threshold value based on the difference between cluster representative value averages. The threshold values can also be estimated by the difference between the cluster representative values. However, by dividing the difference by the threshold definition coefficient, for example, 2, as in the expression (2), images with high similarity can be classified into the same cluster. According to this, images related to an event such as a birthday party, a graduation ceremony, or the like, or images that are more similar than those with other people in the same background, can be classified into one cluster. Images having high similarity may be images obtained by successively photographing the same people in the same event and background, and the image determining unit 208 may use a threshold value that is classified into the same cluster only with consecutively captured images. However, when the threshold definition coefficient is not limited to 2 and the similarity between images is more strictly judged, the threshold definition coefficient may be large. If the images of the same event and background are simply classified into one cluster, The coefficient can be small.

Figure 112016011645402-pat00002
[식 2]
Figure 112016011645402-pat00002
[Formula 2]

(T0은 추정된 임계값이며,

Figure 112016011645402-pat00003
,
Figure 112016011645402-pat00004
은 완료된 이미지 그룹(502)에 속한 클러스터 m, n에 대한 클러스터 대표값임) (T 0 is an estimate and a threshold,
Figure 112016011645402-pat00003
,
Figure 112016011645402-pat00004
Is a cluster representative value for cluster m, n belonging to the completed image group 502)

특징 벡터들 간의 거리는 [식 1]에 나타난 특징값들 간의 유클리드(euclidean) 거리 또는 커널(kernel) 거리에 기반하는 선형 결정 모델에 의해 계산되거나, 비선형 결정 모델에 의해 계산될 수 있다. The distance between feature vectors can be calculated by a linear decision model based on the euclidean distance or kernel distance between the feature values shown in [Equation 1], or can be calculated by a nonlinear decision model.

선형 결정 모델에 기반하여 특징 벡터들 간의 거리를 구하는 경우에, 각 특징값마다 클러스터링 가중치가 부여될 수 있다. 즉, 특징 벡터를 구성하는 요소에 대한 클러스터링 가중 벡터로서의 클러스터링 가중치가 이용될 수 있다. In the case of finding the distance between feature vectors based on the linear decision model, a clustering weight can be given for each feature value. That is, a clustering weight as a clustering weight vector for the elements constituting the feature vector may be used.

클러스터링 가중치도 임계값과 마찬가지로, 초기 지정되거나, 클러스터링 등이 완료된 이미지 그룹(502)에서의 기 분류된 클러스터들에서 이용된 클러스터 대표값 및 임계값에 근거하여 추정할 수 있다. 클러스터 대표값에 대한 의미는 후술할 사항을 참조하면 이해될 수 있다. Clustering weights may also be estimated based on the cluster representative values and thresholds used in the pre-classified clusters in the image group 502 that were initially designated, clustering, or the like, as well as the threshold values. The meaning of the cluster representative value can be understood by referring to the following description.

기 분류된 클러스터들에 의해 클러스터링 가중치를 획득하는 경우에는, 클러스터링 가중치는 예를 들어, 하기의 [식들 3] 및 [식 4]에 의해 획득될 수 있다. 이에 의하면, 사용자가 만족한 기존의 클러스터링의 결과를 반영하므로, 사용자의 분류 의도에 더 부합하도록 이미지들이 클러스터링될 수 있다. In the case of obtaining the clustering weights by the pre-classified clusters, the clustering weights can be obtained, for example, by [Equation 3] and [Equation 4] below. According to this, since the result of the existing clustering satisfied by the user is reflected, the images can be clustered so as to better match the classification intention of the user.

Figure 112016011645402-pat00005
[식들 3]
Figure 112016011645402-pat00005
[Equation 3]

(

Figure 112016011645402-pat00006
는 클러스터 p에서의 클러스터 대표값이며, W는 클러스터링 가중 벡터이고, T0는 임계값임)(
Figure 112016011645402-pat00006
Is a cluster representative value in cluster p, W is a clustering weighted vector, and T 0 is a threshold value)

[식들 3]에서 p개의 방정식을 매트릭스 형태인

Figure 112016011645402-pat00007
로 나타낼 수 있으며, 클러스터링 가중 벡터 W는 [식 4]를 통해 산출될 수 있다. In Equation 3, p equations are expressed in matrix form
Figure 112016011645402-pat00007
, And the clustering weight vector W can be calculated by [Equation 4].

Figure 112016011645402-pat00008
[식 4]
Figure 112016011645402-pat00008
[Formula 4]

(W는 클러스터링 가중 벡터이고, T는 임계값임)(Where W is a clustering weighted vector and T is a threshold)

클러스터 분류부(210)는 최초 이미지와 다음 이미지의 특징 벡터들 간의 거리가 임계값 이하로 판정되면, 비교된 이미지들을 동일 클러스터로 분류하여 데이터베이스부(202)에 기록하고, 임계값을 초과한 것으로 판정되면, 각 이미지를 상이한 클러스터로 분류하여 데이터베이스부(202)에 기록할 수 있다. When it is determined that the distance between the feature vectors of the first image and the next image is less than or equal to the threshold value, the cluster classifying unit 210 classifies the compared images into the same cluster and records them into the database unit 202. If the threshold value is exceeded If so, each image can be classified into different clusters and recorded in the database unit 202.

이미지 판정부(208)는 최초 및 다음 이미지들이 동일 클러스터로 분류되면, 최초 이미지와 다음 이미지의 특징 벡터들에 근거하여 클러스터 대표값을 산출한다. 클러스터 대표값은 특징 벡터들의 평균으로 획득될 수 있다. 만약 다음 이미지가 상이한 클러스터로 분류되면, 첫 번째 이미지의 클러스터 대표값은 해당 특징 벡터일 수 있다. If the first and subsequent images are classified into the same cluster, the image determining unit 208 calculates the cluster representative value based on the feature vectors of the first image and the next image. The cluster representative value may be obtained as an average of the feature vectors. If the next image is classified as a different cluster, the cluster representative value of the first image may be the feature vector.

이미지 판정부(208)는 유사도 판정이 완료된 이미지와 인접한 후속 이미지의 특징 벡터와 클러스터 대표값 간의 거리를 산출하고, 거리가 임계값 이하이면 후속 이미지를 동일 클러스터로 판단하고, 거리가 임계값을 초과하면 후속 이미지를 상이한 클러스터로 분류하는 것으로 판정한다. The image determining unit 208 calculates the distance between the cluster representative value and the feature vector of the subsequent image adjacent to the image for which the degree of similarity determination is completed. If the distance is less than or equal to the threshold value, the subsequent image is determined to be the same cluster. It is determined to classify the subsequent image into different clusters.

클러스터 분류부(210)는 후속 이미지의 특징 벡터와 클러스터 대표값 간의 거리가 임계값 이하로 판정되면, 후속 이미지를 동일 클러스터로 분류하여 데이터베이스부(202)에 기록하고, 임계값을 초과한 것으로 판정되면, 후속 이미지를 상이한 클러스터로 분류하여 데이터베이스부(202)에 기록할 수 있다. If it is determined that the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, the cluster classifying unit 210 classifies the subsequent image into the same cluster and records it in the database unit 202, , The subsequent image may be classified into different clusters and recorded in the database unit 202. [

이미지 판정부(208)와 클러스터 분류부(210)는 상술한 바와 같이 후속 이미지가 동일 클러스터로 분류된 이미지와 비유사한 것으로 판정될 때까지, 유사한 이미지들을 동일 클러스터로 분류하고, 비유사한 이미지부터 신규 클러스터를 할당하는 과정을 반복한다. The image judging section 208 and the cluster classifying section 210 classify similar images into the same cluster until the subsequent images are judged to be dissimilar to the images classified into the same cluster as described above, Repeat the process of allocating clusters.

클러스터 판정부(212)는 소정 기간 내의 복수의 이미지들에 대한 클러스터링이 1차적으로 완료되어 복수의 클러스터들이 생성된 경우, 복수의 클러스터들 중 2 개 클러스터들을 선정하여 양자의 클러스터 대표값들 간의 거리가 임계값 이하인지 여부를 판단한다. 클러스터들 간의 비교는 2 개로 조합가능한 모든 클러스터들에 대하여 진행될 수 있다. When a plurality of clusters are primarily created by clustering a plurality of images within a predetermined period, the cluster determining unit 212 selects two clusters out of a plurality of clusters and calculates a distance Is less than or equal to the threshold value. The comparison between the clusters can be performed for all the clusters that can be combined into two.

클러스터 판정부(212)는 임계값 이하이면, 비교된 클러스터들을 단일 클러스터로 병합하고, 상기 병합을 데이터베이스부(202)에 통지하고, 임계값을 초과하면 1차적으로 완료된 클러스터들을 유지할 수 있다. 병합인 경우, 데이터베이스부(202)는 2차적으로 병합된 클러스터에 대하여 동일한 클러스터 번호를 부여할 수 있다. 이에 의하면, 연속적인 유사한 이미지들 내에 외란이 있는 이미지로 인해 유사한 이미지들이 다른 클러스터들로 분류되는 오버 클러스터링이 방지될 수 있다. If the cluster determination unit 212 is below the threshold value, the compared clusters may be merged into a single cluster, the merge may be notified to the database unit 202, and the clusters may be maintained primarily when the threshold is exceeded. In the case of merge, the database unit 202 can assign the same cluster number to the secondary merged clusters. This can prevent overclustering in which similar images are classified into different clusters due to disturbing images in successive similar images.

임계값 추정부(214)는 초기에 지정되거나 [식 2]에서 추정된 임계값을 이미지 판정부(208)에 제공할 수 있음과 아울러서, 사용자의 클러스터에 대한 편집이 있는 경우에, 임계값을 추정할 수 있다. 클러스터의 편집은 사용자가 분류가 완료된 클러스터들을 병합하거나 또는 클러스터 내의 이미지들을 복수의 클러스터들로 분할하는 것일 수 있다. 임계값은 상기 편집이 있는 경우에, [식 2]과 유사한 방식으로 하기의 [식 5]로 추정될 수 있다. 이에 의하면, 상기 편집을 통해, 사용자가 하나의 클러스터로 분류되길 원하는 이미지 내의 피사체 구도 및 상황을 정확히 추정할 수 있으며, 후속 기간의 이미지의 클러스터링 또는 이미 완료된 클러스터의 재분류에서 개인화된 분류 기준이 반영될 수 있다. [식 5]에서 임계 정의 계수의 일례인 2를 나누는 것은 [식 2]와 관련된 부분에서 설명되었으므로, 상세한 내용은 생략하기로 한다. 임계 정의 계수는 도 13에 도시된 유저 인터페이스에 나타난 임계값(702) 등의 사용자 조정에 의해 설정될 수 있다. The threshold value estimating unit 214 may provide the threshold value initially designated or estimated in [Equation 2] to the image determining unit 208, and may also set the threshold value Can be estimated. Editing of the clusters may be to merge the clusters for which the user has completed classification or to divide the images in the clusters into a plurality of clusters. The threshold value can be estimated in the following Equation 5 in a similar manner to Equation 2, when there is the above-mentioned editing. According to the editing, it is possible to accurately estimate the object composition and the situation in the image that the user desires to be classified as one cluster through the editing, and the personalized classification criterion is reflected in the clustering of the image of the subsequent period or the reclassification of the already completed cluster . The division of 2, which is an example of the critical definition coefficient in [Equation 5], has been described in the section related to [Equation 2], and therefore, detailed description thereof will be omitted. The threshold defining coefficient may be set by user adjustment such as threshold 702 shown in the user interface shown in FIG.

Figure 112016011645402-pat00009
[식 5]
Figure 112016011645402-pat00009
[Formula 5]

(T1은 재추정된 임계값이며,

Figure 112016011645402-pat00010
,
Figure 112016011645402-pat00011
은 편집에 분류된 클러스터 m, n의 갱신된 클러스터 대표값임) (T 1 is the re-estimated threshold value,
Figure 112016011645402-pat00010
,
Figure 112016011645402-pat00011
Is the updated cluster representative value of the cluster m, n classified for editing)

클러스터링 가중치 산출부(216)는 상술한 클러스터의 편집이 있는 경우에, 갱신된 클러스터 대표값 및 재추정된 임계값에 기초하여 산출될 수 있다. 예를 들어, 클러스터링 가중치는 [식들 3], [식 4]와 유사한 방식으로 하기의 [식들 6] 및 [식 7]을 통해 클러스터 가중 벡터로서의 클러스터링 가중치를 산출하여 갱신할 수 있다. 이에 의하면, 사용자가 하나의 클러스터로 분류되길 원하는 이미지 내의 피사체 구도 및 상황을 정확히 추정할 수 있으며, 개인화된 분류 기준이 클러스터링에 반영될 수 있다. The clustering weight calculation unit 216 can be calculated based on the updated cluster representative value and the re-estimated threshold value in the case of editing of the cluster described above. For example, the clustering weights can be updated by computing the clustering weights as a cluster weight vector through [Equation 6] and [Equation 7] below in a manner similar to [Equation 3] and [Equation 4]. According to this, the user can accurately estimate the object composition and the situation in the image desired to be classified as one cluster, and the personalized classification criterion can be reflected in the clustering.

Figure 112016011645402-pat00012
[식들 6]
Figure 112016011645402-pat00012
[Equation 6]

(

Figure 112016011645402-pat00013
는 편집된 클러스터가 있는 경우의 p'에서의 클러스터 대표값이며, W'는 갱신할 클러스터링 가중 벡터이고, T1는 재추정된 임계값이고,
Figure 112016011645402-pat00014
는 p'개의 방정식을 매트릭스 형태로 나타낸 것임)(
Figure 112016011645402-pat00013
Is the cluster representative value at p 'when there is an edited cluster, W' is the clustering weight vector to update, T 1 is the re-estimated threshold value,
Figure 112016011645402-pat00014
Is a matrix representation of p 'equations)

Figure 112016011645402-pat00015
[식 7]
Figure 112016011645402-pat00015
[Equation 7]

(W'는 클러스터링 가중 벡터이고, T'는 임계값임)(W 'is a clustering weighted vector and T' is a threshold)

한편, 이미지 평가부(218)는 순위 판정부(220) 및 품질 가중치 산출부(222)를 포함할 수 있다. Meanwhile, the image evaluation unit 218 may include a ranking determination unit 220 and a quality weight calculation unit 222.

순위 판정부(220)는 각 클러스터로 분류된 이미지 각각에 대하여 복수의 품질 특징값들 산출하고, 품질 가중치들이 부여된 품질 특징값들에 근거하여 이미지들의 품질을 평가하여, 평가 결과에 따라 이미지들의 순위를 부여하고, 클러스터 내의 대표 이미지를 선정할 수 있다. The ranking determination unit 220 calculates a plurality of quality feature values for each of the images classified into the respective clusters, evaluates the quality of the images based on the quality feature values to which the quality weights are assigned, Ranking, and representative images in the cluster can be selected.

품질 특징값들은 이미지 내의 얼굴 유무, 얼굴을 기준으로 이미지의 소정 영역에서의 선명도, 얼굴이 이미지에서 차지하는 상대 면적, 눈(eye)의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 이미지의 중심으로부터 얼굴 중심까지의 거리 중 적어도 2개를 포함할 수 있으며, 상술한 항목에 제한되지 않는다. The quality feature values are determined by the presence or absence of a face in the image, the sharpness in a predetermined area of the image with respect to the face, the relative area occupied by the face in the image, the openness of the eye, the signal to noise ratio, HDR (High Dynamic Range) The distance from the center of the image to the center of the face, and is not limited to the above-described items.

이미지들의 품질 평가는 적은 연산량이 수반되는 가중 선형 결합 방법, 정확한 평가를 위한 신경망 네트워크 기법 또는 SVM(Support Vector Machine) 방법을 이용할 수 있다. Quality evaluation of images can use a weighted linear combination method accompanied by a small amount of computation, a neural network technique for accurate evaluation, or a SVM (Support Vector Machine) method.

가중 선형 결합 방법의 경우에, i 번째 클러스터의 이미지 열 중 j 번째 이미지에 대한 품질 평가 스코어는 하기의 [식 8]에 의해 계산될 수 있다. In the case of the weighted linear combination method, the quality evaluation score for the jth image among the image series of the i-th cluster can be calculated by the following equation (8).

Figure 112016011645402-pat00016
[식 8]
Figure 112016011645402-pat00016
[Equation 8]

(Feat1(j), Feat2(j)…FeatN(j)은 품질 특징값들이고, a1, a2…aN은 품질 가중치들임) (Feat 1 (j), Feat 2 (j) ... Feat N (j) is deulyigo quality characteristic value, a 1, a 2 ... a N are weights quality deulim)

또한, 클러스터 내에 총 j 개의 이미지가 있는 경우, 전체 이미지들의 품질 평가는 하기의 [식 9]에 의해 이루어질 수 있다. In addition, if there are a total of j images in the cluster, the quality evaluation of the entire images can be made by the following equation (9).

Figure 112016011645402-pat00017
[식 9]
Figure 112016011645402-pat00017
[Equation 9]

(FS는 j 개의 총 이미지들의 품질 점수의 벡터로서, (FS is a vector of quality scores of j total images,

Figure 112016011645402-pat00018
이며,
Figure 112016011645402-pat00018
Lt;

F는 [식 8]을 j개의 총 이미지들의 벡터로 표현한 것으로서, F is the expression of [Expression 8] as a vector of j total images,

Figure 112016011645402-pat00019
이고,
Figure 112016011645402-pat00019
ego,

A는 품질 가중치들의 벡터로서,

Figure 112016011645402-pat00020
임)A is a vector of quality weights,
Figure 112016011645402-pat00020
being)

품질 가중치 산출부(222)는 초기에 지정된 값을 순위 판정부(220)에 제공하고, 사용자의 직접적인 순위 변경 지시 혹은 간접적인 액티비티(activity)가 있는 경우에, 순위 변경 지시에 따라 재배치된 이미지들의 순위들 또는 액티비티의 개입 정도(intervening degree)에 근거하여, 품질 가중치를 산출하여 갱신할 수 있다. 다른 클러스터의 이미지들을 평가할 때에, 갱신된 품질 가중치는 품질 특징값들에 적용됨으로써, 사용자의 개인화된 의도에 부합되도록 이미지들을 정렬할 수 있다. The quality weight calculation unit 222 initially supplies the designated value to the ranking determination unit 220 and, when there is a direct ranking change instruction or an indirect activity of the user, Based on the ranking or intervening degree of activity, the quality weight can be calculated and updated. When evaluating images in other clusters, the updated quality weight is applied to the quality feature values, thereby aligning the images to match the user's personalized intentions.

간접적인 액티비티는 직접적인 순위 변경 조작과 구별되는 것으로서, 디스플레이부(112)에 순위화되어 제시된 이미지들의 배치를 변경하는 것이 아니라, 특정 이미지의 관심에 의한 행위를 의미한다. 예를 들면, 간접적인 액티비티와 관련된 개입 정도는 이미지의 소셜 네트워크 서비스에 대한 공유 횟수, 외부의 다른 매체로의 이미지 전송 여부와 횟수, 이미지의 수정 횟수(필터, 크롭 등의 적용 횟수 등), 열람 횟수 및 열람 시간 중 적어도 하나에 의해 평가될 수 있으며, 전술한 의미에 부합되는 행위라면 어떠한 행위라도 포함할 수 있다. The indirect activity is distinguished from the direct ranking change operation and does not change the arrangement of the displayed images ranked on the display unit 112 but refers to an action due to the interest of a specific image. For example, the degree of intervention associated with indirect activities may include the number of times an image is shared with a social network service, whether or not an image is sent to another external medium, the number of times the image is modified (number of times the filter is applied, The number of times, and the browse time, and may include any action that matches the above-described meaning.

직접적인 순위 변경 혹은 액티비티가 있는 경우에, 순위 판정부(220)는 순위를 재평가하여 대표 이미지를 재선정할 수 있고, 디스플레이부(112)는 재순위화된 이미지들을 클러스터 내에서 제시할 수 있다. In the case of a direct ranking change or activity, the ranking determining unit 220 may re-evaluate the ranking to reselect the representative image, and the display unit 112 may present the re-ranked images in the cluster.

직접적인 순위 변경인 경우에, 순위 판정부(220)는 소정의 규칙에 따라 해당 클러스터의 이미지의 품질 점수([식 9] 참조)를 재조정하고, 품질 가중치 산출부(222)는 재조정된 품질 점수를 [식 9]에 입력하여 품질 가중치들의 벡터를 산출할 수 있다. In the case of a direct ranking change, the ranking determining unit 220 readsjust the quality score of the image of the corresponding cluster (see [Expression 9]) according to a predetermined rule, and the quality weight calculating unit 222 calculates the re- The vector of the quality weights can be calculated by inputting in Equation (9).

액티비티인 경우에, 순위 판정부(220)는 누적된 행위에 근거하여 클러스터의 품질 점수([식 9] 참조)를 재계산하고, 품질 가중치 산출부(222)는 재계산된 품질 점수에 기초하여 품질 가중치들의 벡터를 산출할 수 있다. The ranking determining unit 220 recalculates the quality score of the cluster (see [Expression 9]) based on the accumulated behavior, and the quality weight calculating unit 222 calculates the quality score based on the recalculated quality score A vector of quality weights can be calculated.

한편, 클래스 제시부(224)는 클래스 제공부(226), 클러스터 변경부(228), 순위 변경부(230), 파라미터 변경부(232) 및 이미지 편집부(234)를 포함할 수 있다. The class presenting unit 224 may include a class providing unit 226, a cluster changing unit 228, a ranking changing unit 230, a parameter changing unit 232, and an image editing unit 234.

클래스 제공부(226)는 이미지 클러스터링부(206) 및 이미지 평가부(218)에 의해 수행된 이미지들의 클러스터링과 순위들을 기록한 데이터베이스부(202)를 참조하여, 메모리부(118)에 저장된 이미지들을 디스플레이부(112)에 클러스터화하도록 표시함과 동시에, 각 클러스터마다 대표 이미지의 썸 네일(thumb nail)을 클러스터의 직관적인 징표(symbol)로서 표시할 수 있다. 또한, 클래스 제공부(226)는 사용자가 디스플레이부(112)에 표시된 클러스터를 선택하는 경우에, 클러스터 내의 이미지들을 순위에 따라 확장 정렬하도록 표시할 수 있다. The class providing unit 226 refers to the database unit 202 that records the clustering and ranking of the images performed by the image clustering unit 206 and the image evaluating unit 218 to display the images stored in the memory unit 118 And displays a thumbnail of the representative image as an intuitive symbol of the cluster for each cluster. In addition, the class providing unit 226 may display the images in the cluster in an order of expanded sorting when the user selects the cluster displayed on the display unit 112. [

클러스터 변경부(228)는 분류 완료된 클러스터들의 병합 혹은 단일 클러스터의 분할과 같은 사용자의 편집 지시를 수신하고, 편집 지시에 따른 클러스터들의 변경 정보를 클러스터 분류부(210), 이미지 판정부(208), 임계값 추정부(214) 및 클러스터링 가중치 산출부(216)에 피드백 전송할 수 있다. The cluster changing unit 228 receives the editing instruction of the user such as the merging of classified clusters or the division of a single cluster, and transmits the change information of the clusters according to the editing instruction to the cluster classifying unit 210, the image determining unit 208, To the threshold value estimating unit 214 and the clustering weight calculating unit 216. [

순위 변경부(230)는 사용자의 순위 변경에 따른 정보 혹은 간접적인 액티비티에 따른 누적된 행위를 접수하여, 순위 변경 정보 또는 누적된 행위 관련 정보를 순위 판정부(220)에 피드백 전송할 수 있다. The ranking changing unit 230 may receive accumulated change information or information related to the accumulated activity based on the information related to the change in rank of the user or the indirect activity, and may feedback the ranking change information to the ranking determining unit 220.

파라미터 변경부(232)는 사용자가 직접 클러스터링의 분류 기준(예를 들면 임계값, 클러스터링 가중치)과 품질 특징값들의 반영 정도(가중치)를 조절하기 위해, 도 13과 같은 유저 인터페이스를 통해 값을 입력하고, 임계값 추정부(214), 클러스터링 가중치 산출부(216) 및 품질 가중치 산출부(222)에 전달할 수 있다. The parameter changing unit 232 inputs a value through the user interface as shown in FIG. 13 to adjust the degree of clustering (for example, threshold value, clustering weight) and the degree of reflection (weighting) To the threshold value estimating unit 214, the clustering weight calculating unit 216, and the quality weight calculating unit 222.

이미지 편집부(234)는 클러스터 내에 저장될 이미지들의 개수 및 저장 형태를 접수하여, 디스플레이부(112)를 통해 표시하도록 할 수 있다. 이미지들의 개수는 도 14와 같이 사용자가 희망하는 소정 상위의 순위들로 결정될 수 있으며, 도 14에 도시된 이미지의 저장 형태와 관련하여 지시를 접수하면, 소정 하위의 순위의 이미지들은 해당 이미지보다 낮은 압축율로 가공되어 저장될 수 있다. The image editing unit 234 may receive the number and the storage format of the images to be stored in the cluster and display the images on the display unit 112. The number of images may be determined as a predetermined upper rank desired by the user as shown in FIG. 14, and when an instruction is received regarding the storage form of the image shown in FIG. 14, It can be processed and stored at a compression ratio.

또한, 이미지 편집부(234)는 클러스터를 외부 장치로서의 다른 매체, 예컨대 클라우드 서버(140) 또는 소셜 네트워크 서버(300)에 업로딩하는 경우, 소정 상위 순위의 이미지들만을 저장하거나, 소정 하위의 순위의 이미지들을 낮은 압축률로 가공하여 저장할 수 있도록, 도 14에 나타난 유저 인터페이스를 통해 해당 지시를 접수할 수 있다. 물론, 이미지 편집부(234)는 소정 상위 순위의 이미지들을 압축하여 저장할 수 있다. When the cluster is uploaded to another medium such as the cloud server 140 or the social network server 300 as an external device, the image editing unit 234 may store only images of a predetermined high rank, It is possible to receive a corresponding instruction through the user interface shown in Fig. Of course, the image editing unit 234 may compress and store images of a predetermined high rank order.

업로드부(236)는 사용자의 요청 또는 동기화에 의해 클러스터화된 이미지들을 외부의 다른 매체, 예컨대 클라우드 서버(140) 또는 소셜 네트워크 서버(300)에 업로딩할 수 있다. 이미지 관리용 애플리케이션(200)이 클라우드 서버(140)에 내장된 경우에, 클라우드 서버(140)에 저장된 클러스터화된 이미지들이 모바일 단말(100)로 전송되어 저장될 수 있다. 소셜 네트워크 서버(300)로 소정 상위 또는 하위 순위의 이미지들을 전송하는 경우에, 업로드부(236)는 이미지의 압축 가공없이 전송할 수 있으나, 소셜 네트워크에서 제시되는 압축 사이즈 등에 적합하거나 전송 부하를 감소하도록, 이미지 편집부(234)에 의해 압축된 이미지를 전송할 수 있다. The uploading unit 236 may upload the clustered images to another external medium, such as the cloud server 140 or the social network server 300, by the request or synchronization of the user. The clustered images stored in the cloud server 140 may be transmitted to the mobile terminal 100 and stored when the image management application 200 is embedded in the cloud server 140. [ In the case of transmitting predetermined upper or lower ranking images to the social network server 300, the uploading unit 236 may transmit the image without compression processing of the image, but may be adapted to the compression size presented in the social network or the like, , The image editing unit 234 can transmit the compressed image.

소셜 네트워크는 업로드부(236)로부터 각 클러스터마다 소정 순위의 이미지들만을 제공받을 수 있으나, 각 클러스터 내의 이미지들을 순위로 정렬하여 제시하도록, 업로드부(236)로부터 순위 관련 정보도 함께 제공받을 수 있다. 이에 따르면, 소셜 네트워크 서비스에 접근하는 다른 사용자는 클러스터화된 이미지들 중에서도 양호한 품질의 이미지부터 열람할 수 있어, 사용자의 편의성이 증대된다. The social network can receive only images of a predetermined rank for each cluster from the upload unit 236. However, the ranking information may also be provided from the upload unit 236 so that the images in each cluster are sorted and presented . According to this, other users accessing the social network service can browse images of good quality among the clustered images, thereby enhancing the user's convenience.

이하, 도 1 내지 도 8d를 참조하여, 이미지 관리용 애플리케이션(200)에서 수행되는 본 발명의 실시예인 이미지 관리용 방법에 관하여 설명하기로 한다. Hereinafter, a method for image management, which is an embodiment of the present invention performed in the image management application 200, will be described with reference to Figs. 1 to 8D.

도 6a 및 도 6b는 이미지들의 클러스터링 프로세스에 관한 흐름도이며, 도 7은 오버 클러스터링을 방지하기 위한 클러스터의 병합을 나타낸 도면이고, 도 8a 내지 도 8d는 이미지들의 클러스터링 프로세스에 대한 유저 인터페이스(user interface)를 예시한 도면이다. 6A and 6B are flow charts of a clustering process of images, FIG. 7 is a view showing merging of clusters to prevent over-clustering, FIGS. 8A to 8D show a user interface Fig.

먼저, 도 8a에 도시된 바와 같이, 사용자가 소정 기간의 복수의 이미지들이 각각 표시된 디스플레이부(112)에서 조작부(102)를 통해 클러스터링을 활성화하면, 이미지 관리용 애플리케이션(200)이 구동된다. 클러스터링 및 품질 평가의 진행 정도는 디스플레이부(112)에 표시된 상태 바(status bar)를 통해 확인할 수 있다. First, as shown in FIG. 8A, when the user activates the clustering through the operation unit 102 in the display unit 112 in which a plurality of images for a predetermined period are respectively displayed, the image management application 200 is driven. The progress of the clustering and the quality evaluation can be confirmed through the status bar displayed on the display unit 112.

이와 같이 이미지 관리용 애플리케이션(200)이 구동되면, 도 4에 도시된 데이터베이스부(202)를 검색하여 클러스터링 및 품질 평가가 미완료된 이미지 그룹(504)이 존재하는 여부를 확인한다. 확인 결과, 미완료된 소정 기간의 이미지 그룹(504)이 존재하면, 특징값 추출부(204)는 메모리부(118)에 저장된 해당 이미지들의 각각에 대하여 압축 형태의 이미지의 포맷을 분석하여, 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 적어도 포함하는 특징값들을 추출한다. 특징값 추출부(204)는 각 이미지마다 추출된 특징값들로 구성된 특징 벡터(Fi~Fn)를 생성한다(S402).When the application 200 for image management is operated as described above, the database unit 202 shown in FIG. 4 is searched to check whether there is an image group 504 in which the clustering and quality evaluation are incomplete. If it is determined that there is an image group 504 of an incomplete predetermined period, the feature value extracting unit 204 analyzes the compression format image format for each of the corresponding images stored in the memory unit 118, And extracts feature values including at least the code stream and time information of the header associated with the header. The feature value extraction unit 204 generates feature vectors F i to F n composed of extracted feature values for each image (S 402).

이하에서는 설명의 편의상 이미지의 포맷이 JPEG인 것을 예로 설명하나, 상술한 바와 같이 다른 이미지의 포맷에서 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 추출할 수 있다. Hereinafter, the JPEG image format is described as an example for convenience of explanation, but the code stream and the time information of the header related to the color information can be extracted in the other image format as described above.

특징값 추출부(204)는 구체적으로, 색상 정보와 관련된 헤더의 코드 스트림으로서 도 5에 도시된 DHT에 기록된 허프만 테이블에 포함된 DC 코드와 AC 코드와 함께, APP(604)에 보관된 이미지의 시간 정보를 추출한다. 특징값 추출부(204)는 DC 코드, AC 코드 및 시간 정보와 같은 특징값들을 각 이미지(Fi~Fn)마다 [식 1]과 같은 특징 벡터로 생성한다. Specifically, the feature value extracting unit 204 extracts the image stored in the APP 604 together with the DC code and the AC code included in the Huffman table recorded in the DHT shown in FIG. 5 as a code stream of the header related to the color information, And the time information of the time information. The feature value extracting unit 204 generates feature vectors such as a DC code, an AC code, and time information for each of the images F i to F n as [Formula 1].

이상에서는 특징값에 이용되는 메타 데이터로서 시간 정보만을 이용하고 있으나, 이미지의 촬영 장소와 관련된 위치 정보가 위치 센서부(116)로부터 획득되어 이미지의 메타 데이터에 첨부되고, 특징값은 위치 정보를 추가적으로 포함할 수 있다. In the above description, only the time information is used as the meta data used for the feature value, but the position information related to the image capturing place of the image is acquired from the position sensor unit 116 and attached to the metadata of the image, .

다음으로, 임계값 추정부(214)는 초기 지정되거나, 클러스터링 등이 완료된 이미지 그룹(502)의 기 분류된 클러스터들에서 이용된 임계값에 근거하여 추정되는 값을 해당 유사도 판정의 임계값으로 제공한다(S404). 도 4와 같이 기 분류된 클러스터들이 있는 경우에, 각 클러스터 내의 이미지들의 특징 벡터들의 평균값인 클러스터 대표값을 클러스터마다 획득하고, [식 2]를 통해 산출된 클러스터 대표값 평균의 차이에 근거하여 임계값으로 추정할 수 있다. 이에 따라, 사용자가 원하는 이미지 구도 및 상황에 부합하도록 이미지들이 클러스터링될 수 있다. Next, the threshold value estimating unit 214 provides a value estimated based on the threshold used in the pre-classified clusters of the image group 502, which is initially designated or clustering has been completed, as a threshold value of the similarity determination (S404). In the case where there are pre-classified clusters as shown in FIG. 4, a cluster representative value, which is an average value of the feature vectors of the images in each cluster, is obtained for each cluster, and based on the difference of the cluster representative value average calculated through [Formula 2] Value. ≪ / RTI > Accordingly, images can be clustered to match the image composition and situation desired by the user.

클러스터 분류부(210)는 특징 벡터 Fi와 관련된 최초 이미지에 대하여 신규 클러스터 Cm을 생성하고, 이미지 판정부(208)는 클러스터 Cm과 연관된 Fi로서 특징 벡터 F(Cm, i)를 부여한다(S406). 클러스터 분류부(210)는 최초 이미지를 클러스터 Cm으로 분류하도록 데이터베이스부(202)에 기록하고, 이미지 판정부(208)는 특징 벡터 F(Cm, i)를 클러스터 대표값으로 설정한다. The cluster classifier 210 generates a new cluster C m for the original image associated with the feature vector F i and the image determination unit 208 generates the feature vector F (C m , i) as F i associated with the cluster C m (S406). The cluster classifying unit 210 records the initial image into the cluster unit C m so as to classify it into the cluster unit C m and the image determining unit 208 sets the feature vector F (C m , i) as the cluster representative value.

이어서, 이미지 판정부(208)는 특징 벡터를 구성하는 특징값들에 따라 클러스터링 가중치가 부여된 특징 벡터 F(Cm, i)와 다음 이미지의 특징 벡터 Fi+1 간의 거리가 임계값 이하인지 여부를 판정한다(S408).Then, the image determining unit 208 determines whether the distance between the feature vector F (C m , i) to which the clustering weight is assigned and the feature vector Fi + 1 of the next image is equal to or less than the threshold value according to the feature values constituting the feature vector (S408).

여기서, 특징 벡터들 간의 거리는 선형 결정 모델의 일종인 유클리드 거리에 기반하여 특징 벡터들 간의 거리를 구하는 경우에, 각 특징값마다 클러스터링 가중 벡터로서의 클러스터링 가중치가 부여될 수 있다. Here, when the distances between the feature vectors are calculated based on the Euclidean distance, which is a kind of linear decision model, a clustering weight value as a clustering weight vector may be given for each feature value.

클러스터링 가중치도 임계값과 마찬가지로, 초기 지정되거나, 도 4에서와 같이 클러스터링 등이 완료된 이미지 그룹(502)에서의 기 분류된 클러스터들에서 이용된 클러스터 대표값 및 임계값에 근거하여 추정할 수 있다. 기 분류된 클러스터들에 의해 클러스터링 가중치를 획득하는 경우에는, 클러스터링 가중치는 예를 들어, 하기의 [식들 3] 및 [식 4]에 의해 획득될 수 있다. 이에 의하면, 사용자가 만족한 기존의 클러스터링의 결과를 반영하므로, 사용자의 분류 의도에 더 부합하도록 이미지들이 클러스터링될 수 있다. The clustering weights may be estimated based on cluster representative values and thresholds used in the pre-classified clusters in the image group 502 that are initially designated or clustering completed as shown in FIG. 4, as well as the threshold values. In the case of obtaining the clustering weights by the pre-classified clusters, the clustering weights can be obtained, for example, by [Equation 3] and [Equation 4] below. According to this, since the result of the existing clustering satisfied by the user is reflected, the images can be clustered so as to better match the classification intention of the user.

이미지 판정부(208)는 거리가 임계값 이하이면 특징 벡터 Fi + 1와 관련된 다음 이미지를 동일한 클러스터 Cm으로 판정하고, 클러스터 Cm과 연관된 Fi +1로서 특징 벡터 F(Cm, i+1)를 부여한다(S410). 또한, 이미지 판정부(208)는 특징 벡터들 F(Cm, i)과 F(Cm, i+1)의 평균을 구하여 클러스터 대표값을 산출하여 갱신한다. Image determining unit 208 determines if the distance is below the threshold value then the image related to the feature vector F i + 1 in the same cluster C m, and characterized as F i +1 is associated with the cluster vector C m F (C m, i +1) (S410). The image determining unit 208 calculates an average of the feature vectors F (C m , i) and F (C m , i + 1) to calculate and update the cluster representative value.

거리가 임계값을 초과하면, 이미지 판정부(208)는 특징 벡터들 Fi, Fi +1과 관련된 최초 이미지와 다음 이미지를 각각 상이한 클러스터 Cm, Cm+1로 분류하도록 판정한다(S412). 클러스터 분류부(210)는 최초 및 다음 이미지들을 상이한 클러스터로 데이터베이스부(202)에 기록하고, 이미지 판정부(208)는 Cm +1과 연관된 Fi +1의 특징 벡터 F(Cm +1, i+1)를 생성하여, 특징 벡터들 F(Cm, i), F(Cm +1, i+1)을 각 클러스터의 대표값으로 설정한다. S412 단계 후에 후속 이미지가 더 존재하면, S408 단계부터 프로세스를 반복한다.If the distance exceeds the threshold value, the image determining unit 208 determines to classify the first image associated with the feature vectors F i , F i +1 and the next image into different clusters C m , C m + 1 , respectively (S412 ). Cluster classification unit 210 and the first record in the database 202, the next image in a different cluster, the image determining unit 208 of the F i +1 is associated with the C m +1 feature vector F (C m +1 , i + 1), and sets the feature vectors F (C m , i) and F (C m +1 , i + 1) as representative values of each cluster. If there are more subsequent images after step S412, the process is repeated from step S408.

다음으로, 이미지 판정부(208)는 후속 이미지의 특징 벡터 Fi +2와 특징 벡터들 F(Cm, i), F(Cm, i+1)에 근거한 클러스터 대표값 간의 거리가 임계값 이하인지 여부를 판정한다(S414). 판정 과정에서도 S408 단계에서 이용된 클러스터링 가중치가 특징 벡터 Fi+2와 클러스터 대표값에 동일하게 부여될 수 있다. Next, the image judging unit 208 judges whether the distance between the cluster representative value based on the feature vector F i +2 of the subsequent image and the feature vectors F (C m , i), F (C m , i + (S414). The clustering weight used in step S408 may be equally assigned to the feature vector F i + 2 and the cluster representative value.

이미지 판정부(208)는 거리가 임계값 이하이면 특징 벡터 Fi +2와 관련된 후속 이미지를 동일한 클러스터 Cm으로 판정하고, 클러스터 Cm과 연관된 Fi +2로서 특징 벡터 F(Cm, i+2)를 부여한다(S416). 또한, 이미지 판정부(208)는 이전의 대표값과 특징 벡터 F(Cm, i+2)의 평균을 구하여 클러스터 대표값을 산출하여 갱신한다. Image determining unit 208 determines the distance a subsequent image related to the threshold value than if the feature vector F i +2 in the same cluster C m, and characterized as F i +2 associated with the cluster vector C m F (C m, i +2) (S416). Further, the image determining unit 208 calculates an average of the previous representative value and the feature vector F (C m , i + 2) to calculate and update the cluster representative value.

거리가 임계값을 초과하면, 이미지 판정부(208)는 특징 벡터들 F(Cm, i), F(Cm, i+1)과 관련된 이미지들을 클러스터 Cm으로 분류하도록 판정하고, 특징 벡터 Fi+2와 관련된 이미지를 Cm +1로 분류하도록 판정한다(S418). 클러스터 분류부(210)는 2 이미지들과 후속 이미지를 상이한 클러스터로 데이터베이스부(202)에 기록하고, 이미지 판정부(208)는 Cm +1과 연관된 Fi +2의 특징 벡터 F(Cm +1, i+2)를 생성하여, 특징 벡터들 F(Cm, i)과 F(Cm, i+1)의 평균값과 F(Cm +1, i+2)을 각 클러스터의 대표값으로 설정한다. S418 단계 후에 후속 이미지가 더 존재하면, S408 단계부터 프로세스를 반복한다.If the distance exceeds the threshold value, the image determining unit 208 determines to classify the images related to the feature vectors F ( Cm , i) and F ( Cm , i + 1) into the cluster Cm , It is determined to classify the image related to F i + 2 as C m +1 (S418). Cluster classification unit 210 and the second image recorded in the database unit 202, the subsequent image in a different cluster, the image determining unit 208 of the feature F i +2 +1 vector associated with the C m F (C m +1, to generate the i + 2), the feature vector F (C m, i) and F (C m, and the average value of F i + 1) (C m +1 , i + 2) representative of each cluster Value. If there are more subsequent images after step S418, the process is repeated from step S408.

S416 단계 후에, 이미지가 더 존재하면(S420), S 414 단계로 이동하여, 후속 이미지의 특징 벡터와 후속 이미지 이전까지의 이미지들의 클러스터 대표값의 거리와 임계값을 서로 비교하는 과정을 반복한다. If there are more images (S420), the process goes to step 414 to repeat the process of comparing the distance between the cluster representative value of the images up to the next image and the threshold value.

이상에서와 클러스터 대표값과 후속 이미지의 특징 벡터 간의 거리에 따른 유사도 판정은 인접한 이미지들의 특징 벡터들 간의 거리에 의한 판정에 비해, 보다 유사한 구도 및 상황을 갖는 이미지들로 클러스터링할 수 있다. The above determination of similarity based on the distance between the cluster representative value and the feature vector of the subsequent image can be performed by clustering the images having similar composition and situation, as compared with the determination by the distance between the feature vectors of adjacent images.

이미지가 더 존재하지 않으면, 클러스터 분류부(210)는 복수의 이미지들마다 클러스터를 분류하여 데이터베이스부(202)에 1차적으로 저장한다(S424).If there are no more images, the cluster classifier 210 classifies the clusters for each of the plurality of images and primarily stores the clusters in the database unit 202 (S424).

클러스터 판정부(212)는 데이터베이스부(202)를 검색한 결과, 클러스터링이 완료된 이미지들에 대하여 복수의 클러스터들이 존재하는 여부를 판단한다(S426).As a result of searching the database unit 202, the cluster determination unit 212 determines whether a plurality of clusters exist for the clustering-completed images (S426).

복수의 클러스터들이 존재하면, 클러스터 판정부(212)는 복수의 클러스터들 중 2 개 클러스터들 Cm, Cm+1을 선정하여 양자의 클러스터 대표값들 간의 거리가 임계값 이하인지 여부를 판단한다(S428). 클러스터들 간의 비교는 2 개로 조합가능한 모든 클러스터들에 대하여 진행될 수 있다.If there are a plurality of clusters, the cluster determining unit 212 selects two clusters C m and C m + 1 among the plurality of clusters, and determines whether the distance between the cluster representative values of the clusters is less than or equal to a threshold value (S428). The comparison between the clusters can be performed for all the clusters that can be combined into two.

클러스터 판정부(212)는 임계값 이하이면, 비교된 클러스터들 Cm, Cm+1을 단일 클러스터로 병합하고, 상기 병합을 데이터베이스부(202)에 통지한다(S430). 클러스터 판정부(212)는 임계값을 초과하면 1차적으로 완료된 현재의 클러스터들을 유지한다(S432).The cluster determining unit 212 merges the compared clusters C m and C m + 1 into a single cluster, and notifies the merging to the database unit 202 (S430). The cluster determination unit 212 maintains current clusters that are primarily completed when the threshold value is exceeded (S432).

클러스터 판정부(212)에서 임계값 이하의 클러스터들 Cm, Cm+1을 단일 클러스터로 병합하는 예는 도 7과 같으며. 이에 의하면, 연속적인 유사한 이미지들 내에 외란이 있는 이미지로 인해 유사한 이미지들이 다른 클러스터들로 분류되는 오버 클러스터링이 방지될 수 있다. An example of merging the clusters C m and C m + 1 below the threshold value into a single cluster in the cluster determination unit 212 is shown in FIG. This can prevent overclustering in which similar images are classified into different clusters due to disturbing images in successive similar images.

이상의 클러스터링이 완료된 후, 품질 평가가 수행되지 않는 실시예에 의할 때, 클래스 제공부(226)는 데이터베이스부(202)의 클러스터 정보 등을 참조하여, 도 8b에 도시된 바와 같이, 메모리부(118)에 저장된 복수의 이미지들을 디스플레이부(112)에 클러스터화하도록 표시함과 동시에, 각 클러스터마다 대표 이미지의 썸 네일(thumb nail)을 클러스터의 직관적인 징표(symbol)로서 표시할 수 있다. 또한, 사용자가 디스플레이부(112)에 표시된 클러스터를 선택하는 경우에, 클래스 제공부(226)는 도 8c에서와 같이, 클러스터 내의 이미지들을 임의로 정렬하도록 표시할 수 있다. 사용자가 정렬된 이미지들 중 하나의 이미지를 선택하면, 도 8D에서와 같이 원래의 이미지를 열람할 수 있다. 8B, the class providing unit 226 refers to the cluster information and the like of the database unit 202, and sends the result of the quality evaluation to the memory unit (not shown) 118 are displayed on the display unit 112 so as to be clustered, and a thumbnail of the representative image can be displayed as an intuitive symbol of the cluster for each cluster. Further, when the user selects a cluster displayed on the display unit 112, the class providing unit 226 can display to arbitrarily arrange the images in the cluster, as in Fig. 8C. When the user selects one of the sorted images, the original image can be browsed as shown in FIG. 8D.

도 9 내지 도 10b를 참조하여, 이미지 관리 방법의 추가 실시예인 클러스터의 편집 및 이에 따른 임계값과 클러스터링 가중치의 산출에 대하여 설명한다. 도 9는 사용자의 조작에 의해 클러스터를 편집하는 경우에 관한 흐름도이고, 도 10a 및 도 10b는 사용자에 의해 클러스터를 편집하는 경우의 유저 인터페이스를 예시한 도면이다. With reference to Figs. 9 to 10B, the editing of the cluster, which is a further embodiment of the image management method, and the calculation of the threshold value and the clustering weight according to the editing will be described. FIG. 9 is a flowchart of a case where a cluster is edited by a user's operation, and FIGS. 10A and 10B are diagrams illustrating a user interface when a cluster is edited by a user.

도 10a에 나타난 바와 같이, 사용자가 특정 클러스터 Cm(이하 설명에서는 C1으로 칭함)를 선택하여 클러스터 C1에 속한 이미지들을 열람한 후, 이미지들 중 적어도 하나의 이미지를 선택한다(S902). As shown in FIG. 10A, the user selects a specific cluster C m (referred to as C 1 in the following description) to browse images belonging to the cluster C 1 , and then selects at least one image among the images (S 902).

클러스터 변경부(228)는 이미지가 선택되면, 클러스터 C1을 분할하는 지시를 수신하여, 클러스터 분류부(210), 이미지 판정부(208), 임계값 추정부(214) 및 클러스터링 가중치 산출부(216)에 피드백 전송한다. When an image is selected, the cluster changing unit 228 receives an instruction to divide the cluster C 1 and outputs the cluster dividing unit 210, the image determining unit 208, the threshold value estimating unit 214 and the clustering weight calculating unit 216).

클러스터 분류부(210)는 선택된 이미지들(2, 3)을 신규 클러스터 C6으로 분류하고, 미선택된 이미지들(1, 4, 5)을 기존 클러스터 C1으로 분류하고, 분류 결과를 데이터베이스부(202)에 저장한다(S904). The cluster classifying unit 210 classifies the selected images 2 and 3 into a new cluster C 6 , classifies the unselected images 1 to 4 into an existing cluster C 1 , 202 (S904).

클래스 제공부(226)는 데이터베이스부(202)의 변경된 클러스터 정보 등을 참조하여, 도 10b에서와 같이, 기존 및 신규 클러스터들 C1, C6로 분류되는 것을 디스플레이부(112)에 제공한다. The class providing unit 226 refers to the changed cluster information and the like of the database unit 202 and provides the display unit 112 to classify the existing and new clusters C 1 and C 6 as shown in FIG.

다음으로, 이미지 판정부(208)는 기존 및 신규 클러스터들 C1, C6의 대표값들을 재산출하고, 임계값 추정부(214)는 클러스터 대표값들에 기초하여 임계값을 재추정하여 갱신한다(S906). 임계값의 재추정은 [식 5]에 의해 수행될 수 있다. Next, the image determining unit 208 recalculates the representative values of the existing and new clusters C 1 and C 6 , and the threshold estimating unit 214 re-estimates the threshold value based on the cluster representative values to update (S906). The re-estimation of the threshold value can be performed by [Equation 5].

이어서, 클러스터링 가중치 산출부(216)는 재추정된 임계값과 변경된 클러스터들을 포함한 모든 클러스터들의 대표값들에 의거하여 클러스터링 가중치를 산출하여 갱신한다. 클러스터링 가중치는 [식들 6], [식 7]에 의해 계산될 수 있다. Then, the clustering weight calculation unit 216 calculates and updates the clustering weight based on the representative values of all the clusters including the re-estimated threshold value and the changed clusters. Clustering weights can be calculated by [Equation 6] and [Equation 7].

이 실시예에 의하면, 사용자가 하나의 클러스터로 분류되길 원하는 이미지 내의 피사체 구도 및 상황을 정확히 추정할 수 있으며, 개인화된 분류 기준이 후속 기간의 이미지들 등의 클러스터링에 반영될 수 있다. According to this embodiment, the user can accurately estimate the object composition and situation in the image desired to be classified as one cluster, and the personalized classification criterion can be reflected in the clustering of the images of the subsequent period and the like.

상술한 실시예에서는 클러스터의 분할과 같은 편집을 설명하였으나, 사용자가 도 10a에 도시된 클러스터들 C2, C3을 병합하는 경우도 S906 및 S908의 과정이 수행됨으로써, 임계값 및 클러스터링 가중치가 산출되어 갱신된다. In the above-described embodiment, editing such as division of clusters has been described. However, when the user merges the clusters C 2 and C 3 shown in FIG. 10A, the process of S 906 and S 908 is also performed, whereby the threshold value and the clustering weight are calculated And is updated.

도 8a 내지 도 8d 및 도 11을 참조하여, 이미지 관리 방법의 다른 추가 실시예인 이미지들의 품질 평가, 직접적인 이미지 순위 변경 및 품질 가중치의 갱신에 대하여 설명하기로 한다. 도 11은 이미지들의 품질 평가 및 사용자의 직접적인 조작에 의한 이미지 순위의 변경에 관한 흐름도이다. 8A to 8D and 11, description will be given of quality evaluation of images, change of direct image rank, and updating of quality weights, which is another further embodiment of the image management method. 11 is a flow chart for evaluating the quality of images and changing the image ranking by direct manipulation of the user.

순위 판정부(220)는 클러스터 Cm으로 분류된 이미지 각각에 대하여 복수의 품질 특징값들 산출한다(S1102). The ranking determination unit 220 calculates a plurality of quality feature values for each of the images classified into the cluster C m (S1102).

품질 특징값들은 이미지 내의 얼굴 유무, 얼굴을 기준으로 이미지의 소정 영역에서의 선명도, 얼굴이 이미지에서 차지하는 상대 면적, 눈의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 이미지의 중심으로부터 얼굴 중심까지의 거리 중 적어도 2개를 포함할 수 있으며, 상술한 항목에 제한되지 않는다. The quality feature values include face presence in the image, sharpness in a predetermined area of the image with respect to the face, relative area occupied by the face in the image, eye openness, signal to noise ratio, face distortion due to HDR (High Dynamic Range) The distance from the center of the image to the center of the face, and is not limited to the above-described items.

순위 판정부(220)는 품질 가중치들이 부여된 품질 특징값들에 근거하여 이미지들의 품질을 평가하여, 평가 결과에 따라 이미지들의 순위를 부여하고, 클러스터 내의 대표 이미지를 선정한다(S1104). The ranking determining unit 220 evaluates the quality of images based on the quality feature values to which the quality weights are assigned, assigns the images according to the evaluation results, and selects representative images in the cluster (S1104).

여기서, 이미지들의 품질 평가는 가중 선형 결합 방법에 의해 수행되는 것을 예로 들어 설명하며, 상기 방법에 의하면, [식 8], [식 9]에 의해 진행될 수 있다. Here, the quality evaluation of images is performed by the weighted linear combination method as an example, and according to the method, it can be proceeded by [Expression 8] and [Expression 9].

품질 가중치 산중부(222)는 초기에 지정되거나, 도 4에 도시된 클러스터링이 완료된 이미지 그룹(502)에서 사용된 값을 순위 판정부(220)에 품질 가중치로 제공할 수 있다. The quality weighting center 222 may be initially specified or may provide the ranking determiner 220 with a quality weight as the value used in the clustering completed image group 502 shown in FIG.

클러스터 Cm의 이미지들에 대한 품질 평가가 완료된 후에, 다음 클러스터 Cm+1이 존재하면(S1106), S1102 및 S1104 단계들을 반복하다. After the quality evaluation of the images of the cluster C m is completed, if the next cluster C m + 1 exists (S1106), steps S1102 and S1104 are repeated.

이상의 과정이 모든 클러스터에 대해 완료된 후에, 순위 판정부(220)는 클러스터 별로 이미지들의 순위를 데이터베이스부(202)에 제공하고, 클래스 제공부(226)는 데이터베이스부(202)의 클러스터 정보 및 순위 정보 등을 참조하여, 도 8b에 도시된 바와 같이, 복수의 이미지들을 디스플레이부(112)에 클러스터화하도록 표시할 수 있다. 또한, 클래스 제공부(226)는 사용자가 디스플레이부(112)에 표시된 클러스터 C1을 선택하는 경우에, 도 8c에서 같이, 클러스터 C1내의 이미지들을 순위에 따라 정렬하도록 표시하고, 대표 이미지를 1 순위로 배치할 수 있다. After the above process is completed for all the clusters, the ranking determining unit 220 provides the ranking of images to the database unit 202 for each cluster, and the class providing unit 226 supplies cluster information of the database unit 202, 8B, a plurality of images may be displayed on the display unit 112 to be clustered. 8C, when the user selects the cluster C 1 displayed on the display unit 112, the class providing unit 226 displays the images in the cluster C 1 in order of ranking, Can be placed in order.

다음으로, 순위 변경부(230)는 사용자가 클러스터 Cm 내의 특정 이미지의 순위를 직접적으로 변경하는지 여부를 검출한다(S1108). Next, the ranking changing section 230 detects whether the user directly changes the ranking of a specific image in the cluster C m (S1108).

사용자가 이미지의 순위를 변경하는 조작하는 방법은 클러스터 C1의 특정 이미지를 도 8b에 도시된 클러스터 C1의 화면 영역 내에서 이동하는 것일 수 있다. 이와 같이 순위가 직접적으로 변경됨을 검출하면, 순위 변경부(230)는 클러스터 Cm 내에서 이미지들을 순위에 따라 재배치함과 아울러서, 대표 이미지를 획득한다(S1110). 순위 변경부(230)는 순위 변경 정보를 데이터베이스부(202)에 제공하고, 사용자가 당해 클러스터 Cm의 이미지들을 열람할 때, 변경된 순위에 따라 이미지들이 정렬된다. Method for operating a user to change the order of images may be to move around the screen area of the cluster C 1 shown in Figure 8b for a particular image in the cluster C 1. If it is determined that the rank is directly changed, the rank change unit 230 relocates the images in the cluster C m in order and acquires a representative image (S 1110). The rank changing unit 230 provides rank change information to the database unit 202, and when the user browses the images of the cluster C m , the images are sorted according to the changed rank.

순위 판정부(220)는 재배치된 순위를 참조하여 소정의 규칙에 따라 클러스터 Cm 내에서 순위 변경된 이미지들의 품질 점수를 재조정하고, 품질 가중치 산출부(222)는 재조정된 품질 점수를 [식 9]에 입력하여 품질 가중치들의 벡터를 산출한다(S1112). Ranking determining section 220 is a reference to the relocated ranking readjust the ranking quality score of the altered image in the cluster C m in accordance with a predetermined rule, and the quality weight calculation section 222 is re-quality score [Equation 9] To calculate a vector of quality weights (S1112).

도 8a 내지 도 8d 및 도 12를 참조하여, 이미지 관리 방법의 또 다른 추가 실시예인 이미지들의 품질 평가, 간접적인 액티비티에 따른 순위 변경 및 품질 가중치의 갱신에 대하여 설명하기로 한다. 도 12는 이미지들의 품질 평가 및 액티비티 개입 정도에 의한 이미지 순위의 변경에 관한 흐름도이다. 8A to 8D and 12, description will be made of quality evaluation of images, ranking change according to indirect activity, and update of quality weight, which is still another embodiment of the image management method. Figure 12 is a flow chart of the quality evaluation of images and the change of image ranking by degree of activity intervention.

품질 특징값들의 산출(S1202), 이미지의 평가와 순위 부여(S1204) 및 모든 클러스터에 대한 품질 평가의 진행(S1206)은 전술한 S1102, S1104 및 S1106의 단계와 실질적으로 동일하다. Evaluation of image quality values (S1202), evaluation and ranking of images (S1204), and progress of quality evaluation for all clusters (S1206) are substantially the same as those of S1102, S1104 and S1106 described above.

다음으로, 순위 변경부(230)는 클러스터 Cm 내의 순위화된 이미지들 중 적어도 하나의 이미지에 대한 사용자의 간접적인 액티비티가 존재하는지 여부를 검출한다(S1208). Next, the ranking changing unit 230 detects whether there is an indirect activity of the user for at least one of the ranked images in the cluster C m (S1208).

순위 변경부(230)는 액티비티에 따른 누적된 행위가 단 1회이어도 액티비티가 존재하는 것으로 판단할 수 있고, 사용자의 지정에 따라 수 회이상인 경우에 액티비티가 있는 것으로 판단할 수 있다. The ranking changing unit 230 can determine that there is an activity even if the accumulated activity is only once according to the activity and can determine that the activity exists when the activity is several times or more depending on the user's designation.

다음으로, 순위 판정부(220)는 액티비티의 개입 정도에 근거하여 클러스터의 품질 점수를 재계산하여 이미지들의 순위를 재배치하고, 재배치된 순위에 따라 클러스터 Cm 내에서 1 순위로 설정할 대표 이미지를 획득한다(S1210).Next, the ranking determining unit 220 re-calculates the quality score of the cluster based on the degree of intervention of the activity to rearrange the ranking of the images, obtains a representative image to be ranked first in the cluster C m according to the rearranged ranking (S1210).

간접적인 액티비티의 개입 정도는 예를 들면, 이미지의 소셜 네트워크 서비스에 대한 공유 횟수, 외부 다른 매체로의 이미지 전송 여부와 횟수, 도 8d에서와 같은 특정 이미지의 수정 횟수, 열람 횟수 및 열람 시간 중 적어도 하나를 포함하여 산출될 수 있으며, 액티비티의 의미에 부합되는 행위라면 어떠한 행위라도 포함할 수 있다. The degree of the indirect activity intervention may be, for example, at least one of the number of times the image is shared with the social network service, whether or not the image is transmitted to another external medium, the number of times of modification of the specific image, Can be calculated including one, and can include any action that is consistent with the meaning of the activity.

품질 가중치 산출부(222)는 재계산된 품질 점수에 기초하여 품질 가중치를 산출한다(S1212). 품질 가중치는 [식 9]에 의해 계산된다.  The quality weight calculation unit 222 calculates a quality weight based on the recalculated quality score (S1212). The quality weight is calculated by [Equation 9].

이미지의 순위 변경에 따라 갱신된 품질 가중치를 후속 이미지들의 품질 평가에 반영하면, 사용자가 희망하는 구도와 색채를 갖는 이미지가 우선되도록 조정될 수 있다. 아울러, 사용자의 이미지의 관심과 관련된 액티비티에 따른 개입 정도에 따라 이미지의 품질 평가를 수행할 수 있으므로, 직접적인 순위 조작없이도 수시로 변하는 사용자의 선호도를 능동적으로 반영할 수 있다. If the updated quality weight is reflected in the quality evaluation of the subsequent images in accordance with the change in the ranking of the images, the user can adjust the image having the desired composition and color to be prioritized. In addition, since the quality of the image can be evaluated according to the degree of intervention according to the activity related to the interest of the user's image, the preference of the user, which changes from time to time, can be actively reflected without direct ranking operation.

도 13은 클러스터의 분류 및 이미지의 품질 평가에 사용되는 파라미터들을 조정하기 위한 유저 인터페이스를 예시한 도면이다. 13 is a diagram illustrating a user interface for adjusting parameters used for classifying a cluster and evaluating the quality of an image.

사용자가 직접 임계 정의 계수 등에 영향을 주는 클러스터링의 임계값(702), 클러스터링 가중치(704)과 품질 특징값들(706)의 반영 정도(가중치)를 조절하기 위해, 도 13과 같은 유저 인터페이스를 통해 값을 접수할 수 있다. 이러한 값은 파라미터 변경부(232)로 입력되어, 임계값 추정부(214), 클러스터링 가중치 산출부(216) 및 품질 가중치 산출부(222)에 전달될 수 있다. In order to adjust the threshold 702, the clustering weight 704 and the quality feature values 706 of the clustering that directly affect the threshold definition coefficient or the like by the user, The value can be accepted. These values may be input to the parameter changing unit 232 and transmitted to the threshold value estimating unit 214, the clustering weight calculating unit 216 and the quality weight calculating unit 222.

도 14를 참조하여, 이미지 관리 방법의 또 다른 실시예인 매체에 저장 혹은 업로드되는 이미지들의 선정 및 저장 형태를 결정하는 것을 설명한다. Referring to FIG. 14, the determination of the selection and storage form of images stored or uploaded to the medium, which is another embodiment of the image management method, will be described.

도 14은 매체에 보존하기 위한 이미지들의 선정 및 저장 형태를 결정하기 위한 유저 인터페이스를 예시한 도면이다. FIG. 14 is a diagram illustrating a user interface for determining the selection and storage form of images to be stored in a medium.

사용자는 환경 설정을 통해 도 14와 같은 유저 인터페이스를 접할 수 있으며, 이 유저 인터페이스에서 모바일 단말(100)과 관련된 항목(802)은 모바일 단말(100)의 클러스터 내에 저장될 이미지들의 비율, 삭제할 비율 및 해당 이미지보다 낮은 압축율로 가공될 이미지의 비율 등을 제공한다. 클라우드 서버(140) 혹은 소셜 네트워크 서버(300)와 관련된 항목(804) 역시 모바일 단말(100)의 항목(802)과 실질적으로 동일하다. The user can access the user interface as shown in FIG. 14 through the environment setting. In this user interface, the item 802 related to the mobile terminal 100 can be displayed on the screen of the mobile terminal 100 according to the ratio of images to be stored in the cluster of the mobile terminal 100, A ratio of images to be processed at a compression ratio lower than that of the image, and the like. Items 804 associated with the cloud server 140 or the social network server 300 are also substantially the same as items 802 of the mobile terminal 100.

이 항목들(802, 804)를 통해 입력받으면, 이미지 편집부(234)는 클러스터에 저장된 이미지들의 개수 및 저장 형태를 접수하여, 사용자가 희망하는 소정 상위의 순위들로 저장된 이미지들의 개수를 결정할 수 있으며, 소정 하위의 순위의 이미지들은 해당 이미지보다 낮은 압축율로 저장될 수 있다. 이에 따라 이미지 관리의 효율성이 극대화될 수 있다.When the image editing unit 234 receives the input through the items 802 and 804, the image editing unit 234 can receive the number and the storage format of the images stored in the cluster, and determine the number of images stored in the predetermined higher rank order desired by the user , Images of a predetermined lower rank can be stored at a compression ratio lower than that of the corresponding image. As a result, the efficiency of image management can be maximized.

또한, 이미지 편집부(234)는 클러스터를 외부의 다른 매체, 예컨대 클라우드 서버(140) 또는 소셜 네트워크 서버(300)에 업로딩하는 경우, 소정 상위 순위의 이미지들만을 원래의 형태 또는 더 압축된 형태로 저장하거나, 소정 하위의 순위의 이미지들을 낮은 압축률로 가공하여 저장할 수 있도록, 도 14에 나타난 유저 인터페이스를 통해 해당 지시를 접수할 수 있다. When the clusters are uploaded to another external medium such as the cloud server 140 or the social network server 300, the image editing unit 234 may store only images of a predetermined high rank in the original form or in a more compressed form Alternatively, a corresponding instruction can be received through the user interface shown in FIG. 14 so that images of a predetermined lower rank can be processed and stored at a low compression ratio.

사용자의 요청 또는 동기화에 의해, 클러스터화된 이미지들이 업로드부(236)에 의해 소셜 네트워크 서버(300) 등에 업로딩되는 경우에, 소정 상위 또는 하위 순위의 이미지들이 압축 가공없이 전송될 수 있으나, 소셜 네트워크에서 제시되는 압축 사이즈 등에 적합하거나 전송 부하를 감소하도록, 압축된 이미지들이 전송될 수 있다. When the clustered images are uploaded to the social network server 300 or the like by the uploading unit 236 by a request or a synchronization of the user, images of a predetermined upper or lower ranking can be transmitted without compression processing, The compressed images may be transmitted so as to conform to the compression size or the like and to reduce the transmission load.

소셜 네트워크는 업로드부(236)로부터 각 클러스터마다 소정 순위의 이미지들만을 제공받을 수 있으나, 각 클러스터 내의 이미지들을 순위로 정렬하여 제시하도록, 업로드부(236)로부터 순위 관련 정보도 함께 제공받을 수 있다. 이에 따르면, 소셜 네트워크의 서비스에 접근하는 다른 사용자는 클러스터화된 이미지들 중에서도 양호한 품질의 이미지부터 열람할 수 있어, 사용자의 편의성이 증대된다. The social network can receive only images of a predetermined rank for each cluster from the upload unit 236. However, the ranking information may also be provided from the upload unit 236 so that the images in each cluster are sorted and presented . According to this, other users accessing the service of the social network can browse images of good quality among the clustered images, thereby increasing convenience for users.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by all changes or modifications derived from the scope of the appended claims and the appended claims.

100: 모바일 단말 140: 클라우드 서버
200: 이미지 관리용 애플리케이션 202: 데이터베이스부
204: 특징값 추출부 206: 이미지 클러스터링부
218: 이미지 평가부 224: 클래스 제시부
236: 업로드부 300: 소셜 네트워크 서버
100: mobile terminal 140: cloud server
200: image management application 202: database part
204: Feature value extraction unit 206: Image clustering unit
218: image evaluation unit 224: class presentation unit
236: Upload unit 300: Social network server

Claims (17)

하드웨어와 결합되어 매체에 저장된 이미지 관리용 애플리케이션에 있어서,
소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림(code stream) 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하는 단계;
최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터(cluster)로 분류하고, 상기 이미지들의 특징 벡터들에 근거하여 클러스터 대표값을 산출하는 단계;
후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하고, 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값에 근거하여 상기 클러스터 대표값을 갱신하는 단계; 및
상기 복수의 이미지들이 복수의 클러스터로 분류되고, 상기 복수의 클러스터들 중 2 개의 클러스터들에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우, 상기 복수의 클러스터를 유지하는 단계를 실행시키기 위하여 매체에 저장된 이미지 관리용 애플리케이션.
1. An image management application stored in a medium in combination with hardware,
Generating a feature vector composed of feature values including at least code stream and time information of a header related to color information for each of a plurality of images within a predetermined period;
Classifying the images into the same cluster and calculating cluster representative values based on the feature vectors of the images when the distance between the feature vectors of the first image and the adjacent image is less than or equal to a threshold value;
If the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, classifies the subsequent image as same as the cluster, and based on the feature vector of the subsequent image and the cluster representative value, Updating; And
Merging the two clusters into a single cluster when the plurality of images are classified into a plurality of clusters and a distance between the cluster representative values in two of the plurality of clusters is equal to or less than the threshold, And if the threshold is exceeded, maintaining the plurality of clusters.
제 1 항에 있어서,
상기 특징 벡터를 생성하는 단계 전에, 상기 임계값은 기 분류된 클러스터들에서 이용된 임계값들에 근거하여 추정되는 이미지 관리용 애플리케이션.
The method according to claim 1,
Wherein the threshold value is estimated based on thresholds used in the pre-classified clusters before the step of generating the feature vector.
제 1 항에 있어서,
상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산시에, 상기 특징 벡터를 구성하는 특징값에 따라 클러스터링 가중치가 부여되는 이미지 관리용 애플리케이션.
The method according to claim 1,
Wherein a clustering weight is given according to a feature value constituting the feature vector at the time of calculating the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value.
제 1 항에 있어서,
상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에,
사용자가 상기 동일한 클러스터로 분류된 이미지들 중 적어도 하나의 이미지에 대한 신규 클러스터를 생성하거나, 복수의 클러스터를 선택하여 하나의 클러스터로 군집화하는 경우에, 상기 클러스터 대표값을 갱신하는 단계; 및
상기 갱신된 클러스터 대표값에 근거하여 상기 임계값을 추정하는 단계를 더 포함하는 이미지 관리용 애플리케이션.
The method according to claim 1,
Merging into the single cluster if the threshold is less than or equal to the threshold and maintaining the plurality of clusters if the threshold is exceeded,
Updating a cluster representative value when a user creates a new cluster for at least one image among the images classified into the same cluster, or clusters a plurality of clusters into one cluster; And
And estimating the threshold value based on the updated cluster representative value.
제 4 항에 있어서,
상기 추정된 임계값을 이용하여 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류하는 이미지 관리용 애플리케이션.
5. The method of claim 4,
And classifies clusters for a plurality of images in a subsequent period using the estimated threshold value.
제 4 항에 있어서,
상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산에서 상기 특징 벡터를 구성하는 특징값에 따라 부여되는 클러스터링 가중치가 설정되면, 상기 갱신된 클러스터 대표값 및 상기 추정된 임계값에 기초하여 상기 클러스터링 가중치를 갱신하는 단계를 더 포함하고,
상기 추정된 임계값 및 상기 갱신된 클러스터링 가중치에 의해, 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류하는 이미지 관리용 애플리케이션.
5. The method of claim 4,
If a clustering weight assigned according to a feature value constituting the feature vector in the calculation of the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value is set, Further comprising updating the clustering weight based on the threshold value,
And classifying clusters for a plurality of images in a subsequent period by the estimated threshold and the updated clustering weight.
제 1 항에 있어서,
상기 이미지는 디지털 형태로 저장되고, 상기 이미지의 포맷이 JPEG(Joint Photographic Experts Group)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블(huffman table)에 저장된 DC 코드 및 AC 코드이며, 상기 이미지의 포맷이 PNG(Portable Network Graphic)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블에 저장된 색상 데이터 관련 코드이고, 상기 이미지가 GIF(Graphic Interchange Format)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 LZW(Lempei-Ziv-Welch) 부호에 저장된 색상 데이터 관련 코드인 이미지 관리용 애플리케이션.
The method according to claim 1,
The code stream of the header related to the color information is a DC code and an AC code stored in a Huffman table when the image is stored in a digital form and the format of the image is Joint Photographic Experts Group (JPEG) In the case where the image format is PNG (Portable Network Graphic), a code stream of a header related to the color information is a color data related code stored in a Huffman table, and when the image is a GIF (Graphic Interchange Format) Wherein the code stream of the header associated with the information is a color data related code stored in an LZW (Lempei-Ziv-Welch) code.
제 1 항에 있어서,
상기 클러스터 대표값은 동일한 클러스터로 분류된 이미지들의 특징 벡터를 구성하는 특징값마다의 평균값으로 구성되는 이미지 관리용 애플리케이션.
The method according to claim 1,
Wherein the cluster representative value comprises an average value for each feature value constituting a feature vector of images classified into the same cluster.
제 1 항에 있어서,
상기 매체는 모바일 단말, 컴퓨터, 클라우드 서버 및 소셜 네트워크 서버 중 어느 하나인 이미지 관리용 애플리케이션.
The method according to claim 1,
Wherein the medium is any one of a mobile terminal, a computer, a cloud server, and a social network server.
제 1 항에 있어서,
상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에,
각 클러스터로 분류된 이미지들 각각에 대하여 복수의 품질 특징값들을 산출하는 단계; 및
품질 가중치가 부여된 복수의 품질 특징값들에 근거하여 상기 이미지들을 평가한 결과에 따라, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계를 더 포함하는 이미지 관리용 애플리케이션.
The method according to claim 1,
Merging into the single cluster if the threshold is less than or equal to the threshold and maintaining the plurality of clusters if the threshold is exceeded,
Calculating a plurality of quality feature values for each of the images classified into each cluster; And
Further comprising: ranking the images in the cluster according to a result of evaluating the images based on a plurality of quality-weighted quality feature values, and selecting a representative image in the cluster Applications.
제 10 항에 있어서,
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에,
상기 클러스터 내에서 상기 이미지들의 순위를 직접적으로 재배치하는 사용자의 지시에 응답하여 대표 이미지를 획득하는 단계;
상기 재배치된 순위에 근거하여 상기 품질 가중치를 산출하는 단계; 및
다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함하는 이미지 관리용 애플리케이션.
11. The method of claim 10,
Ranking the images in the cluster, and after selecting the representative image,
Obtaining a representative image in response to an instruction of a user to directly relocate the images in the cluster;
Calculating the quality weight based on the relocated rank; And
And applying the calculated quality weight to the quality feature values when evaluating images of other clusters.
제 10 항에 있어서,
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에,
상기 클러스터 내에서 상기 이미지들에 대한 사용자의 간접적인 액티비티(activity)가 있는 경우에, 상기 액티비티의 개입 정도(intervening degree)에 근거하여 상기 클러스터 내의 상기 이미지들의 순위를 재배치하고, 상기 순위에 따라 대표 이미지를 획득하는 단계;
상기 액티비티의 개입 정도에 근거하여 상기 품질 가중치를 산출하는 단계; 및
다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함하는 이미지 관리용 애플리케이션.
11. The method of claim 10,
Ranking the images in the cluster, and after selecting the representative image,
If there is an indirect activity of the user for the images in the cluster, relocating the ranking of the images in the cluster based on an intervening degree of the activity, Acquiring an image;
Calculating the quality weight based on the degree of intervention of the activity; And
And applying the calculated quality weight to the quality feature values when evaluating images of other clusters.
제 12 항에 있어서,
상기 액티비티의 개입 정도는 소셜 네트워크 서비스에서의 상기 이미지의 공유 횟수, 상기 이미지의 수정 횟수, 상기 이미지의 열람 횟수 및 상기 이미지의 열람 시간 중 적어도 하나를 포함하여 산출되는 이미지 관리용 애플리케이션.
13. The method of claim 12,
Wherein the degree of involvement of the activity is calculated by including at least one of a number of times the image is shared in the social network service, a number of times the image is modified, a number of times the image is viewed, and a viewing time of the image.
제 10 항에 있어서,
상기 품질 특징값들은 상기 이미지 내의 얼굴 유무, 얼굴을 기준으로 하는 상기 이미지의 소정 영역에서의 선명도, 얼굴이 상기 이미지에서 차지하는 상대 면적, 눈의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 상기 이미지의 중심으로부터 상기 얼굴 중심까지의 거리 중 적어도 2개를 포함하는 이미지 관리용 애플리케이션.
11. The method of claim 10,
The quality feature values may include at least one of a presence or absence of a face in the image, a sharpness in a predetermined region of the image based on the face, a relative area occupied by the face in the image, an openness of the eye, a SNR, The presence or absence of face distortion due to distortion, and the distance from the center of the image to the center of the face.
제 10 항에 있어서,
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에,
소정 상위의 순위의 이미지들만을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함하는 이미지 관리용 애플리케이션.
11. The method of claim 10,
Ranking the images in the cluster, and after selecting representative images in the cluster,
Further comprising the steps of: storing only images of a predetermined higher rank on the medium or uploading the images to another external medium.
제 10 항에 있어서,
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에,
소정 하위의 순위의 이미지들을 상기 이미지들보다 낮은 압축율을 가진 이미지들로 변환하는 단계; 및
상기 낮은 압축율을 가진 이미지들을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함하는 이미지 관리용 애플리케이션.
11. The method of claim 10,
Ranking the images in the cluster, and after selecting representative images in the cluster,
Converting images of a predetermined lower rank into images having a lower compression ratio than the images; And
Further comprising the step of storing the images having the low compression ratio on the medium or uploading them to another external medium.
소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하는 단계;
최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터로 분류하고, 상기 이미지들의 특징 벡터들에 근거하여 클러스터 대표값을 산출하는 단계;
후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하고, 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값에 근거하여 상기 클러스터 대표값을 갱신하는 단계;
상기 복수의 이미지들이 복수의 클러스터로 분류되고, 상기 복수의 클러스터들 중 2 개의 클러스터에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우, 상기 복수의 클러스터를 유지하는 단계를 포함하는 이미지 관리 방법.
Generating a feature vector including feature values including at least code stream and time information of a header related to color information for each of a plurality of images within a predetermined period;
Classifying the images into the same clusters and calculating cluster representative values based on the feature vectors of the images when the distance between the feature vectors of the first image and the adjacent image is less than or equal to a threshold value;
If the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, classifies the subsequent image as same as the cluster, and based on the feature vector of the subsequent image and the cluster representative value, Updating;
Merging the two clusters into a single cluster when the plurality of images are classified into a plurality of clusters and the distance between the cluster representative values in two of the plurality of clusters is less than or equal to the threshold value, The method comprising the steps of: maintaining the plurality of clusters.
KR1020160013385A 2016-02-03 2016-02-03 An application for managing images and method of managing images KR101744163B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160013385A KR101744163B1 (en) 2016-02-03 2016-02-03 An application for managing images and method of managing images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160013385A KR101744163B1 (en) 2016-02-03 2016-02-03 An application for managing images and method of managing images

Publications (1)

Publication Number Publication Date
KR101744163B1 true KR101744163B1 (en) 2017-06-07

Family

ID=59223880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160013385A KR101744163B1 (en) 2016-02-03 2016-02-03 An application for managing images and method of managing images

Country Status (1)

Country Link
KR (1) KR101744163B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088673A3 (en) * 2017-11-01 2019-06-20 주식회사 안랩 Image classification device and method
CN114187557A (en) * 2021-12-15 2022-03-15 北京字节跳动网络技术有限公司 Method, device, readable medium and electronic equipment for determining key frame
EP4435627A1 (en) * 2023-03-23 2024-09-25 Ricoh Company, Ltd. Information processing system, method for processing information, and carrier medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101145278B1 (en) 2011-11-08 2012-05-24 (주)올라웍스 Method, apparatus and computer-readable recording medium for choosing representative images among similar images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101145278B1 (en) 2011-11-08 2012-05-24 (주)올라웍스 Method, apparatus and computer-readable recording medium for choosing representative images among similar images

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088673A3 (en) * 2017-11-01 2019-06-20 주식회사 안랩 Image classification device and method
CN114187557A (en) * 2021-12-15 2022-03-15 北京字节跳动网络技术有限公司 Method, device, readable medium and electronic equipment for determining key frame
EP4435627A1 (en) * 2023-03-23 2024-09-25 Ricoh Company, Ltd. Information processing system, method for processing information, and carrier medium

Similar Documents

Publication Publication Date Title
US11677963B2 (en) Method and system for optimized delta encoding
JP5170961B2 (en) Image processing system, image processing apparatus and method, program, and recording medium
US9135278B2 (en) Method and system to detect and select best photographs
CN102939630B (en) Method for determining key video frames
CN102428466B (en) Data processing equipment and data processing method
US20120189284A1 (en) Automatic highlight reel producer
US20130117366A2 (en) Saving device for image sharing, image sharing system, and image sharing method
JP2007206919A (en) Display control device, method, program and storage medium
CN103608835B (en) Content processing apparatus, content processing method and integrated circuit
KR20080080106A (en) Method, computer program, and apparatus for transmitting digital images
CN101287089B (en) Image capturing apparatus, image processing apparatus and control methods thereof
EP2577506A2 (en) Determining key video snippets using selection criteria
US8619150B2 (en) Ranking key video frames using camera fixation
US9113173B2 (en) Data processing device and data processing method which compresses image data
US20080085032A1 (en) Supplying digital images from a collection
KR101744163B1 (en) An application for managing images and method of managing images
US20060039478A1 (en) Image decoding and reducing apparatus and method
JP6109118B2 (en) Image processing apparatus and method, information processing apparatus and method, and program
US20140379704A1 (en) Method, Apparatus and Computer Program Product for Management of Media Files
KR20150096552A (en) System and method for providing online photo gallery service by using photo album or photo frame
KR20090044313A (en) Method and system of photography service using robot
US9451275B2 (en) System and method for storing and moving graphical image data sets with reduced data size requirements
JP2013061974A (en) Image processing apparatus and method, information processing apparatus and method, program, and image processing system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160203

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20161031

Patent event code: PE09021S01D

PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20170228

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20170531

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20170601

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20210311