KR101990689B1 - 클라우드 서버의 이미지 데이터 제공 방법 - Google Patents

클라우드 서버의 이미지 데이터 제공 방법 Download PDF

Info

Publication number
KR101990689B1
KR101990689B1 KR1020170110952A KR20170110952A KR101990689B1 KR 101990689 B1 KR101990689 B1 KR 101990689B1 KR 1020170110952 A KR1020170110952 A KR 1020170110952A KR 20170110952 A KR20170110952 A KR 20170110952A KR 101990689 B1 KR101990689 B1 KR 101990689B1
Authority
KR
South Korea
Prior art keywords
data
metadata
cloud server
image data
terminal
Prior art date
Application number
KR1020170110952A
Other languages
English (en)
Other versions
KR20190024201A (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 KR1020170110952A priority Critical patent/KR101990689B1/ko
Publication of KR20190024201A publication Critical patent/KR20190024201A/ko
Application granted granted Critical
Publication of KR101990689B1 publication Critical patent/KR101990689B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

클라우드 서버의 이미지 데이터 제공 방법은, 클라우드 서버가, 단말로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지에 저장하는 단계, 상기 클라우드 서버가, 상기 원본 데이터로부터 상기 이미지 데이터를 추출하여 압축 이미지 데이터를 생성하는 단계, 상기 클라우드 서버가, 상기 원본 데이터로부터 상기 메타 데이터를 추출하는 단계, 상기 클라우드 서버가, 상기 압축 이미지 데이터 및 상기 추출된 메타 데이터를 병합하여 압축 데이터를 생성하는 단계 및 상기 단말로부터 상기 원본 데이터에 대한 요청이 수신된 경우, 상기 단말로 상기 압축 데이터를 전송하는 단계를 포함한다.

Description

클라우드 서버의 이미지 데이터 제공 방법{APPARATUS FOR PROVIDING IMAGE DATA AND METHOD THEREOF}
이미지 데이터를 가공하는 방법 및 장치가 개시된다.
기존의 이미지 제공 방법은 압축 이미지와 함께 메타 데이터를 제공하기 어렵다.
기존의 메타 데이터 추출 방법은 XMP 데이터를 추출하기 어렵다.
관련 선행기술로, 한국 공개특허공보 제10-2016-0142163호(발명의 명칭: 전자 장치 및 전자 장치의 이미지 파일 생성 방법, 출원인: 삼성전자 주식회사)가 있다. 해당 공개특허공보에는 선택된 이미지를 조합하여 선택된 이미지가 연속적으로 재생되는 형태의 이미지 조합 파일을 생성하는 전자 장치가 개시된다.
압축 이미지와 메타 데이터를 함께 제공할 수 있는 방법 및 장치가 개시된다.
XMP 데이터를 포함하는 메타 데이터를 추출할 수 있는 방법 및 장치가 개시된다.
클라우드 서버의 이미지 데이터 제공 방법은, 클라우드 서버가, 단말로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지에 저장하는 단계, 상기 클라우드 서버가, 상기 원본 데이터로부터 상기 메타 데이터를 추출하는 단계, 상기 클라우드 서버가, 상기 원본 데이터로부터 상기 이미지 데이터를 추출하여 압축 이미지 데이터를 생성하는 단계, 상기 클라우드 서버가, 상기 추출된 메타 데이터 및 상기 압축 이미지 데이터를 병합하여 압축 데이터를 생성하는 단계 및 상기 단말로부터 수신된 요청에 따라, 상기 단말로 상기 원본 데이터 또는 상기 압축 데이터를 전송하는 단계를 포함한다.
상기 추출된 메타 데이터는 XMP(Extensible Metadata Platform) 데이터를 포함할 수 있다.
상기 메타 데이터 추출은, 상기 원본 데이터의 코드를 판독함으로써 수행될 수 있다.
상기 원본 데이터의 코드를 판독하는 것은, 상기 메타 데이터의 미리 정해진 위치의 코드 값을 읽어 상기 코드 값만큼 다음 코드로 건너뛰면서(hopping) 수행될 수 있다.
상기 메타 데이터 추출은, 상기 코드 내의 미리 정해진 메타 데이터 추출 종료 식별자(identifier)가 판독될 경우 종료될 수 있다.
상기 생성된 압축 데이터를 클라우드 스토리지에 저장하는 단계를 더 포함할 수 있다.
상기 원본 데이터에 포함된 메타 데이터와 상기 압축 데이터에 포함된 추출 메타 데이터는 동일한 코드를 포함할 수 있다.
상기 전송하는 단계는, 상기 단말로부터 수신된 요청이 이미지 편집 또는 로컬 스토리지(storage)로의 백업(back-up)인 경우, 상기 단말로 상기 원본 데이터를 전송할 수 있고, 그 외의 경우 상기 단말로 상기 압축 데이터를 전송할 수 있다.
이미지 데이터를 처리하는 클라우드 서버는, 제어 프로그램을 기록하는 메모리, 상기 단말로부터 수신된 원본 데이터를 저장하는 클라우드 스토리지, 상기 제어 프로그램에 따라 동작하는 프로세서 및 상기 단말과 통신을 수행하는 통신 인터페이스를 포함하고, 상기 제어 프로그램은, 단말로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지에 저장하는 단계, 상기 클라우드 서버가, 상기 원본 데이터로부터 상기 메타 데이터를 추출하는 단계, 상기 클라우드 서버가, 상기 원본 데이터로부터 상기 이미지 데이터를 추출하여 압축 이미지 데이터를 생성하는 단계, 상기 클라우드 서버가, 상기 추출된 메타 데이터 및 상기 압축 이미지 데이터를 병합하여 압축 데이터를 생성하는 단계 및 상기 단말로부터 수신된 요청에 따라, 상기 단말로 상기 원본 데이터 또는 상기 압축 데이터를 전송하는 단계를 수행한다.
상기 추출된 메타 데이터는 XMP(Extensible Metadata Platform) 데이터를 포함할 수 있다.
상기 메타 데이터 추출은, 상기 원본 데이터의 코드를 판독함으로써 수행될 수 있다.
상기 원본 데이터의 코드를 판독하는 것은, 상기 메타 데이터의 미리 정해진 위치의 코드 값을 읽어 상기 코드 값만큼 다음 코드로 건너뛰면서(hopping) 수행될 수 있다.
상기 메타 데이터 추출은, 상기 코드 내의 미리 정해진 메타 데이터 추출 종료 식별자(identifier)가 판독될 경우 종료될 수 있다.
상기 생성된 압축 데이터를 클라우드 스토리지에 저장하는 단계를 더 포함할 수 있다.
상기 원본 데이터에 포함된 메타 데이터와 상기 압축 데이터에 포함된 추출 메타 데이터는 동일한 코드를 포함할 수 있다.
상기 전송하는 단계는, 상기 단말로부터 수신된 요청이 이미지 편집 또는 로컬 스토리지(storage)로의 백업(back-up)인 경우, 상기 단말로 상기 원본 데이터를 전송할 수 있고, 그 외의 경우 상기 단말로 상기 압축 데이터를 전송할 수 있다.
압축 이미지 데이터와 메타 데이터를 함께 제공할 수 있는 방법 및 장치가 개시된다.
XMP 데이터를 포함하는 메타 데이터를 추출할 수 있는 방법 및 장치가 개시된다.
도 1은 단말과 클라우드 서버 간의 정보 송수신을 도시한다.
도 2는 클라우드 서버의 블록도이다.
도 3은 이미지 데이터 제공 방법의 흐름도이다.
도 4a 및 도4b는 원본 데이터로부터 압축 데이터를 생성하는 과정을 도시한다.
도 5는 메타 데이터 추출방법을 도시한다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 단말(200)과 클라우드 서버(100) 간의 정보 송수신을 도시한다.
도 1을 참조하면, 클라우드 서버(100)는 단말(200)로부터 수신한 원본 데이터로부터 추출, 압축 및 병합 과정을 거쳐 압축 데이터를 생성하고, 단말(200)로부터 원본 데이터 요청이 수신된 경우, 상기 생성한 압축 데이터를 단말(200)로 전송할 수 있다. 상기 원본 데이터는 정지 영상을 포함하는 데이터일 수 있다. 구체적으로, 원본 데이터로부터 추출되는 메타 데이터는 XMP(Extensible Metadata Platform) 데이터를 포함할 수 있다. 클라우드 서버(100)는 원본 데이터의 코드를 판독함으로써 메타 데이터를 추출할 수 있다. 클라우드 서버(100)는 메타 데이터의 미리 정해진 위치의 코드 값만큼 다음 코드로 건너뛰면서(hopping) 메타 데이터를 추출할 수 있다. 클라우드 서버(100)는 건너뛰기 코드를 이용함으로써 XMP 데이터를 포함한 메타 데이터를 오류 없이 추출할 수 있다. 클라우드 서버(100)는 생성된 압축 데이터를 클라우드 스토리지(120)에 저장할 수 있다.
일실시예에 있어서, 클라우드 서버(100)는 클라우드 스토리지(120)에 원본 데이터를 저장하고, 단말(200)로부터 원본 데이터 요청이 수신된 경우, 생성된 압축 데이터를 클라우드 스토리지(120)에 저장하지 않고 바로 단말(200)로 전송하도록 구성될 수 있다.
다른 일실시예에 있어서, 클라우드 서버(100)는 단말(200)로부터 원본 데이터가 수신된 경우, 압축 데이터를 생성하여 클라우드 스토리지(120)에 저장하고, 원본 데이터 요청이 단말(200)로부터 수신된 경우, 클라우드 스토리지(120)에 저장된 압축 데이터를 단말(200)로 전송하도록 구성될 수도 있다.
단말(200)은, 클라우드 서버(100)와 유무선 네트워크 통신이 가능한 데스크탑, 노트북, 휴대폰 및 태블릿 PC 중 적어도 하나일 수 있다.
도 2는 클라우드 서버(100)의 블록도이다.
도 2를 참조하면, 클라우드 서버(100)는 제어 프로그램을 기록하는 메모리(110), 상기 단말(200)로부터 수신된 원본 데이터를 저장하는 클라우드 스토리지(120), 상기 제어 프로그램에 따라 동작하는 프로세서(130) 및 상기 단말(200)과 통신을 수행하는 통신 인터페이스(140)를 포함하고, 상기 제어 프로그램은 단말(200)로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지(120)에 저장하는 단계, 상기 원본 데이터로부터 상기 이미지 데이터를 추출하여 압축 이미지 데이터를 생성하는 단계, 상기 원본 데이터로부터 상기 메타 데이터를 추출하는 단계, 상기 압축 이미지 데이터 및 상기 추출된 메타 데이터를 병합하여 압축 데이터를 생성하는 단계 및 상기 단말(200)로부터 상기 원본 데이터에 대한 요청이 수신된 경우, 상기 단말(200)로 상기 압축 데이터를 전송하는 단계를 수행한다.
도 3은 이미지 데이터 제공 방법의 흐름도이다.
도 4a 및 도4b는 원본 데이터로부터 압축 데이터를 생성하는 과정을 도시한다.
도 5는 메타 데이터 추출방법을 도시한다.
우선, 도 3을 참조하면, 클라우드 서버(100)는 단말(200)로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지(120)에 저장한다(S100).
상기 원본 데이터의 포맷(format)은, JPEG/JPG, EXIF, TIFF, GIF, BMP, PNG, WEBP, PPM, HDR, HEIF, BPG 등 다양한 포맷 중 하나일 수 있다. 일례에 있어서, 클라우드 서버(100)는 단말(200)로부터 "doubleY0809.jpg"라는 원본 데이터를 수신하여 클라우드 스토리지(120)에 저장할 수 있다.
도 4a를 함께 참조하면, 단말(200)로부터 수신된 원본 데이터 "doubleY0809.jpg"는 메타 데이터 및 이미지 데이터를 포함한다. 메타 데이터는 속성 정보라고 지칭되기도 하는 것으로, 대량의 정보 중 원하는 정보를 효율적으로 검색하기 위해 일정한 규칙에 따라 콘텐츠 데이터(이미지, 사운드 등)에 부여되는 부가 데이터를 의미한다.
다시 도 3을 참조하면, 클라우드 서버(100)는 원본 데이터로부터 메타 데이터를 추출한다(S110).
클라우드 서버(100)는 원본 데이터에서 먼저 메타 데이터를 추출한 후, 이미지 데이터를 추출하도록 구성될 수 있고, 반대로 이미지 데이터를 먼저 추출한 후 메타 데이터를 추출하도록 구성될 수도 있다.
도 4a를 함께 참조하면, 원본 데이터 "doubleY0809.jpg"는 메타 데이터 및 이미지 데이터를 포함할 수 있다. 또한, 추출된 메타 데이터는 원본 데이터에 포함된 메타 데이터와 동일하다. 즉, 원본 데이터에 포함된 메타 데이터와 추출된 메타 데이터는 동일한 코드를 포함할 수 있다. 압축 이미지 데이터는 원본 데이터에 포함된 이미지 데이터에 비해 용량이 작을 수 있다.
도 5를 함께 참조하면, 원본 데이터는 메타 데이터 및 이미지 데이터를 포함한다. 클라우드 서버(100)는 원본 데이터의 코드를 판독함으로써 메타 데이터를 추출할 수 있다. 원본 데이터를 구성하는 코드는 여러 가지 방식(예를 들어, binary, quaternary, octonary, hexadecimal 등)을 이용할 수 있다. 메타 데이터 및 이미지 데이터는 식별자를 인식하기 위한 시그니처(signature) 코드 및 다음 추출 위치를 판단하기 위한 건너뛰기(hopping) 코드를 포함할 수 있다. 클라우드 서버(100)는 메타 데이터 및 이미지 데이터에 포함된 식별자를 통해 메타 데이터 또는 이미지 데이터의 추출 시작 지점 및 추출 종료 지점을 판단할 수 있다.
일례에 있어서, 클라우드 스토리지(120)에 저장된 원본 데이터 "doubleY0809.jpg"는 SOI(Start Of Image), APP0 Marker, APP1 Marker, ..., APPN Marker라는 식별자들을 포함하는 메타 데이터 및 DQT(Define Quantization Tables) 및 EOI(End Of Image)라는 식별자들을 포함하는 이미지 데이터를 포함할 수 있다.
식별자 SOI는 원본 데이터가 시작되는 지점을 의미한다. 따라서, 클라우드 서버(100)는 식별자 SOI 다음의 식별자부터 메타 데이터가 시작되는 것으로 인식하여 메타 데이터 추출을 개시할 수 있다. 도 5를 참조하면, 원본 데이터 "doubleY0809.jpg"에 포함된 메타 데이터는 식별자 APP0 Marker, 식별자 APP1 Marker, ..., 식별자 APP15 Marker를 포함할 수 있고, 이미지 데이터는 식별자 DQT 및 EOI 등을 포함할 수 있다. 여기에서 상기 식별자 DQT는 이미지 데이터가 시작되는 지점(즉, 메타 데이터 추출의 종료 지점)을 의미할 수 있다. 따라서, 클라우드 서버(100)는, 메타 데이터 추출 중 식별자 DQT가 판독된 경우, 메타 데이터 추출을 종료하고 이미지 데이터 추출을 개시할 수 있다. 또한, 식별자 EOI는 이미지 데이터가 종료되는 지점을 의미할 수 있다. 따라서, 클라우드 서버(100)는 식별자 DQT에서 식별자 EOI까지의 식별자들을 이미지 데이터로 추출할 수 있다.
일례에 있어서, 시그니처 코드 및 건너뛰기 코드는 16진수(hexadecimal)로 표현될 수 있고, 상기 건너뛰기 코드는 2byte, 즉 16bit로 구성될 수 있다.
도 5를 참조하면, 식별자 SOI는 시그니처 코드 FFD8 및 건너뛰기 코드 XXXX를 포함할 수 있고, 식별자 APP0 Marker는 시그니처 코드 FFE0 및 건너뛰기 코드 XXX0을 포함할 수 있으며, 식별자 APP1 Marker는 시그니처 코드 FFE1 및 건너뛰기 코드 XXX1을 포함할 수 있고, 식별자 APP2 Marker는 시그니처 코드 FFE2 및 건너뛰기 코드 XXX2를 포함할 수 있고, 식별자 APP3 Marker는 시그니처 코드 FFE3 및 건너뛰기 코드 XXX3을 포함할 수 있고, 식별자 APP15 Marker는 시그니처 코드 FFEF 및 건너뛰기 코드 XXXY를 포함할 수 있고, 식별자 DQT는 시그니처 코드 FFDB 및 건너뛰기 코드 XXXZ를 포함할 수 있고, 식별자 EOI는 시그니처 코드 FFD9를 포함할 수 있다. 그 중, 식별자 EOI는 데이터의 종료점을 의미하므로 건너뛰기 코드를 포함하지 않을 수 있다.
클라우드 서버(100)는 건너뛰기 코드의 값만큼 건너뛰면서(hopping) 메타 데이터의 추출을 진행하고, 미리 설정된 메타 데이터 추출 메타 데이터 추출 종료 식별자(예를 들어, DQT)가 판독될 경우, 메타 데이터 추출을 종료할 수 있다.
예를 들어, 클라우드 서버(100)는 식별자 SOI의 코드를 판독한 후, 메타 데이터의 추출 위치를 식별자 SOI의 건너뛰기 코드 XXXX만큼 뒤에 위치한 식별자 APP0 Marker로 이동시킬 수 있다. 식별자 SOI는 데이터의 시작을 의미하므로, 메타 데이터에 포함되지 않을 수 있다. 계속해서, 클라우드 서버(100)는 메타 데이터의 추출 위치를 식별자 APP0 Marker의 건너뛰기 코드 XXX0만큼 뒤에 위치한 식별자 APP1 Marker로 이동시킬 수 있다. 그 다음, 클라우드 서버(100)는 메타 데이터의 추출 위치를 식별자 APP1 Marker의 건너뛰기 코드 XXX1만큼 뒤에 위치한 식별자 APP2 Marker로 이동시킬 수 있다. 위의 방법을 반복하여 메타 데이터를 추출해 나갈 경우, 메타 데이터의 추출 위치가 메타 데이터 중의 마지막 식별자 (예를 들어, APP15 Marker)로 이동될 수 있다.
그 다음, 클라우드 서버(100)는 메타 데이터의 추출 위치를 마지막 식별자 APP15 Marker의 건너뛰기 코드 XXXY만큼 뒤에 위치한 식별자 DQT로 이동시킬 수 있다. 메타 데이터 추출 위치가 식별자 DQT에 위치하고, 식별자 DQT가 미리 정해진 메타 데이터 추출 종료 식별자인 경우, 클라우드 서버(100)는 메타 데이터 추출을 종료할 수 있다. 식별자 DQT에서 메타 데이터 추출이 종료된 경우, 클라우드 서버(100)는 식별자 SOI 다음의 식별자 APP0 Marker부터 식별자 APP15 Marker 이내에 존재하는 식별자들을 포함하는 메타 데이터를 추출할 수 있다. 이 때, 추출된 메타 데이터는 원본 데이터의 메타 데이터와 동일하다.
클라우드 서버(100)는 위 실시예와 같이 메타 데이터 추출에 건너뛰기 코드를 이용함으로써, 어떠한 XMP(Extensible Metadata Platform)를 포함하는 메타 데이터라 하더라도 손실 없이 원본 데이터에 포함된 메타 데이터를 모두 추출할 수 있다. XMP는 통상적으로 메타 데이터에 포함되지 않는 식별자(예를 들어, SOI, DQT 및 EOI 등) 및 그 식별자와 대응되는 시그니처 코드를 의미할 수 있다.
메타 데이터와 이미지 데이터는 동일한 값을 가진 시그니처 코드를 포함할 수 있다. 이 경우, 기존의 메타 데이터 추출 방법은 파싱(parsing)을 이용하므로 메타 데이터 추출 중 메타 데이터가 상기와 같은 XMP(예를 들어, 실제로는 식별자 SOI, DQT 또는 EOI가 아니지만 식별자 SOI, DQT 또는 EOI의 시그니처 코드와 동일한 값을 가지는 코드 등)를 포함할 경우, 상기 XMP 판독에 따라 메타 데이터가 종료된 것으로 오판하여 메타 데이터 추출을 비정상적으로 종료할 가능성이 있다. 이렇게 메타 데이터 추출이 비정상적으로 종료될 경우, 기존의 메타 데이터 추출 방법은 원본 데이터와 동일한 메타 데이터를 추출하기 어렵다. 반면, 본원 발명과 같이 건너뛰기 코드를 이용할 경우, XMP를 직접 스캔하지 않고 스킵(Skip)함으로써 메타 데이터가 어떠한 XMP를 포함하더라도 클라우드 서버(100)는 메타 데이터 추출의 비정상 종료를 방지할 수 있다.
다시 도 3을 참조하면, 클라우드 서버(100)는 원본 데이터로부터 이미지 데이터를 추출하여 압축 이미지 데이터를 생성한다(S120).
도 4a를 함께 참조하면, 클라우드 서버(100)는 원본 데이터 "doubleY0809.jpg"로부터 메타 데이터를 추출한 후, 이미지 데이터를 추출하여 압축한 압축 데이터를 생성할 수 있다. 상기 압축 이미지 데이터는 썸네일(thumbnail)일 수 있다. 압축 이미지 데이터는 이미지 데이터에 비해 용량이 작으므로, 클라우드 서버(100)가 이미지 데이터를 단말(200)로 제공할 때 다운로드 속도의 제한을 적게 받는 효과가 있다.
도 5를 함께 참조하면, 클라우드 서버(100)는 원본 데이터 "doubleY0809.jpg"의 메타 데이터 추출이 종료된 후, 이어서 원본 데이터 "doubleY0809.jpg"의 이미지 데이터를 추출할 수 있다. 메타 데이터와 이미지 데이터의 추출 순서는 설정에 따라 달라질 수 있다. 즉, 클라우드 서버(100)는 이미지 데이터를 먼저 추출한 후, 메타 데이터를 추출할 수도 있다.
클라우드 서버(100)는, 이미지 데이터 추출 시에도 메타 데이터 추출 시와 같이 건너뛰기 코드를 이용하도록 구성될 수 있고, 이미지 데이터 추출 시에는, 메타 데이터 추출 시와 달리 건너뛰기 코드를 이용하지 않도록 설정될 수 있다. 클라우드 서버(100)는, 이미지 데이터 추출 시 미리 정해진 이미지 데이터 추출 종료 식별자(예를 들어, EOI)가 판독된 경우 이미지 데이터 추출을 종료할 수 있다. 도 5를 참조하면, 클라우드 서버(100)는 식별자 DQT부터 식별자 EOI 까지의 식별자들 포함하는 이미지 데이터를 추출할 수 있다. 이 때, 추출된 이미지 데이터는 원본 데이터 "doubleY0809.jpg"의 이미지 데이터와 동일할 수 있다. 클라우드 서버(100)는, 추출된 이미지 데이터를 압축한다. 압축된 이미지 데이터는 썸네일(thumbnail) 이미지일 수 있다.
다시 도 3을 참조하면, 클라우드 서버(100)는 압축 이미지 데이터 및 추출된 메타 데이터를 병합하여 압축 데이터를 생성한다(S130).
도 4b를 함께 참조하면, 클라우드 서버(100)는 도 4b 좌측의 메타 데이터 및 압축 이미지 데이터를 병합하여 도 4b 우측과 같은 압축 데이터 "Ab_doubleY0809.jpg"를 생성할 수 있다.
일례에 있어서, 클라우드 서버(100)는 압축 이미지 데이터 및 추출된 메타 데이터를 병합하여 원본 데이터 원본 데이터 "doubleY0809.jpg"와 독립적인 압축 데이터 "Ab_doubleY0809.jpg"를 생성할 수 있다. 즉, 새로 생성된 압축 데이터 "Ab_doubleY0809.jpg"는 원본 데이터의 메타 데이터와 동일한 메타 데이터를 포함하고, 원본 데이터 "doubleY0809.jpg"의 이미지 데이터를 압축한 압축 이미지 데이터를 포함할 수 있다. 이와 같이, 압축 데이터가 원본 데이터의 메타 데이터를 포함하도록 함으로써, 클라우드 서버(100)는 원본 데이터의 속성 정보를 단말(200)로 함께 제공할 수 있다.
일실시예에 있어서, 상기 생성된 압축 데이터 "Ab_doubleY0809.jpg"는 원본 이미지 "doubleY0809.jpg"와 대응되도록 클라우드 스토리지(120)에 저장될 수 있다. 이 경우, 압축 데이터가 이미 생성되어 클라우드 스토리지(120)에 저장되어 있으므로 단말(200)의 원본 데이터 요청이 수신되는 경우, 압축 데이터 생성과정을 거치지 않고 바로 압축 데이터를 제공함으로써 신속한 이미지 데이터 제공이 가능하다. 또한, 압축 데이터를 원본 이미지와 대응되도록 클라우드 스토리지(120)에 저장함으로써, 압축 데이터를 신속히 검색할 수 있다.
다른 일실시예에 있어서, 클라우드 서버(100)는 생성한 압축 데이터 "Ab_doubleY0809.jpg"를 단말(200)로 전송할 뿐, 클라우드 스토리지(120)에 저장하지 않을 수 있다. 이 경우, 압축 데이터 "Ab_doubleY0809.jpg"를 클라우드 스토리지(120)에 저장하지 않으므로 클라우드 스토리지(120)의 용량을 효율적으로 이용할 수 있다.
클라우드 서버(100)는 단말(200)로부터 수신된 요청에 따라, 단말(200)로 원본 데이터 또는 압축 데이터를 전송한다(S140).
일실시예에 있어서, 클라우드 서버(100)는 단말(200)로부터 원본 데이터 "doubleY0809.jpg"에 대한 요청이 수신된 경우, 클라우드 스토리지(120)에 저장된 원본 데이터 "doubleY0809.jpg"를 단말(200)로 전송할 수 있다.
다른 일실시예에 있어서, 클라우드 서버(100)는 단말(200)로부터 압축 데이터 "Ab_doubleY0809.jpg"에 대한 요청이 수신된 경우, 압축 데이터 "Ab_doubleY0809.jpg"를 생성하여 단말(200)로 전송할 수 있다. 클라우드 서버(100)는 상기 압축 데이터를 생성하여 단말(200)로 전송하기 전 저장할 수 있다.
단말(200)은 클라우드 서버(100)로부터 압축 데이터를 수신한 경우라 하더라도, 상기 압축 데이터가 원본 데이터와 동일한 메타 데이터를 포함하므로, 필요에 따라 압축 이미지 데이터와 함께 메타 데이터를 출력할 수 있다.
기존의 방법과 같이 원본 데이터로부터 이미지 데이터와 메타 데이터를 추출하여 저장하되, 상기 추출된 메타 데이터를 원본 데이터로부터 추출하여 압축한 압축 이미지 데이터와 별도로 저장하는 경우, 단말(200)이 원본 데이터를 요청하더라도 압축 이미지 데이터를 제공할 수 있을 뿐, 상기 메타 데이터를 압축 이미지 데이터와 함께 단말(200)로 제공하기 어렵다. 반면, 클라우드 원본 데이터로부터 압축 데이터를 생성하는 본원의 클라우드 서버(100)는 메타 데이터를 압축 이미지 데이터와 함께 저장하므로 압축 데이터에 포함된 메타 데이터를 단말(200)로 더 제공할 수 있다.
또 다른 일실시예에 있어서, 클라우드 서버(100)는 단말(200)로부터 수신된 요청이 이미지 편집이거나 로컬 스토리지(storage)로의 백업(back-up)인 경우, 단말(200)로 원본 데이터를 전송하되, 그 외의 경우 단말(200)로 압축 데이터를 전송할 수 있다. 즉, 클라우드 서버(100)는 단말(200)로 전송하는 기본(default) 데이터를 압축 데이터로 설정하고, 단말(200)로부터 예외적인 요청이 수신된 경우 원본 데이터를 단말(200)로 전송할 수 있다.
압축 이미지로 이미지를 편집하고자 할 경우, 압축 이미지의 크기가 작고 손상이 발생한 경우가 많아 편집이 어려운 문제점이 있다. 따라서, 위와 같이 클라우드 서버(100)가 단말(200)의 이미지 편집 요청에 따라 원본 데이터를 단말(200)로 전송할 경우, 고화질의 이미지 영상을 편집할 수 있다.
또한, 클라우드 스토리지의 이미지를 로컬 스토리지(storage)로 백업(또는 이동)은 원본 이미지의 보존을 위한 것이므로, 클라우드 서버(100)가 단말(200)로 압축 데이터를 전송할 경우, 원본 이미지를 보존하기 어렵다. 따라서, 위와 같이 클라우드 서버(100)가 단말(200)의 로컬 스토리지로의 백업에 요청 따라 원본 데이터를 단말(200)로 전송할 경우, 원본 이미지를 보존할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 클라우드 서버
110: 메모리
120: 클라우드 스토리지
130: 프로세서
140: 통신 인터페이스
200: 단말

Claims (17)

  1. 클라우드 서버가, 단말로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지에 저장하는 단계;
    상기 클라우드 서버가, 상기 원본 데이터로부터 상기 메타 데이터를 추출하는 단계;
    상기 클라우드 서버가, 상기 원본 데이터로부터 상기 이미지 데이터를 추출하여 압축 이미지 데이터를 생성하는 단계;
    상기 클라우드 서버가, 상기 추출된 메타 데이터 및 상기 압축 이미지 데이터를 병합하여 압축 데이터를 생성하는 단계; 및
    상기 단말로부터 수신된 요청에 따라, 상기 단말로 상기 원본 데이터 또는 상기 압축 데이터를 전송하는 단계,
    를 포함하고,
    상기 메타 데이터를 추출하는 단계는,
    추출 위치에 해당하는 제1 식별자 내의 건너뛰기 코드의 값을 확인하고 상기 추출 위치를 상기 확인된 값만큼 뒤에 위치한 식별자로 이동시키는 단계
    를 포함하는,
    이미지 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 추출된 메타 데이터는 XMP(Extensible Metadata Platform) 데이터를 포함하는,
    이미지 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 메타 데이터 추출은,
    상기 원본 데이터의 코드를 판독함으로써 수행되는,
    이미지 데이터 처리 방법.
  4. 제3항에 있어서,
    상기 원본 데이터의 코드를 판독하는 것은,
    상기 메타 데이터의 미리 정해진 위치의 코드 값을 읽어 상기 코드 값만큼 다음 코드로 건너뛰면서(hopping) 수행되는,
    이미지 데이터 처리 방법.
  5. 제4항에 있어서,
    상기 메타 데이터 추출은,
    상기 코드 내의 미리 정해진 메타 데이터 추출 종료 식별자(identifier)가 판독될 경우 종료되는,
    이미지 데이터 처리 방법.
  6. 제1항에 있어서,
    상기 생성된 압축 데이터를 클라우드 스토리지에 저장하는 단계를 더 포함하는,
    이미지 데이터 처리 방법.
  7. 제1항에 있어서,
    상기 원본 데이터에 포함된 메타 데이터와 상기 압축 데이터에 포함된 추출 메타 데이터는 동일한 코드를 포함하는,
    이미지 데이터 처리 방법.
  8. 제1항에 있어서,
    상기 전송하는 단계는,
    상기 단말로부터 수신된 요청이 이미지 편집 또는 로컬 스토리지(storage)로의 백업(back-up)인 경우, 상기 단말로 상기 원본 데이터를 전송하고,
    그 외의 경우 상기 단말로 상기 압축 데이터를 전송하는,
    이미지 데이터 처리 방법.
  9. 이미지 데이터를 처리하는 클라우드 서버에 있어서,
    제어 프로그램을 기록하는 메모리;
    단말로부터 수신된 원본 데이터를 저장하는 클라우드 스토리지;
    상기 제어 프로그램에 따라 동작하는 프로세서; 및
    상기 단말과 통신을 수행하는 통신 인터페이스를 포함하고,
    상기 제어 프로그램은,
    단말로부터 이미지 데이터 및 메타 데이터를 포함하는 원본 데이터를 수신하여 클라우드 스토리지에 저장하는 단계;
    상기 클라우드 서버가, 상기 원본 데이터로부터 상기 메타 데이터를 추출하는 단계;
    상기 클라우드 서버가, 상기 원본 데이터로부터 상기 이미지 데이터를 추출하여 압축 이미지 데이터를 생성하는 단계;
    상기 클라우드 서버가, 상기 추출된 메타 데이터 및 상기 압축 이미지 데이터를 병합하여 압축 데이터를 생성하는 단계; 및
    상기 단말로부터 수신된 요청에 따라, 상기 단말로 상기 원본 데이터 또는 상기 압축 데이터를 전송하는 단계,
    를 수행하고,
    상기 메타 데이터를 추출하는 단계는,
    추출 위치에 해당하는 제1 식별자 내의 건너뛰기 코드의 값을 확인하고 상기 추출 위치를 상기 확인된 값만큼 뒤에 위치한 식별자로 이동시키는 단계
    를 포함하는,
    클라우드 서버.
  10. 제9항에 있어서,
    상기 추출된 메타 데이터는 XMP(Extensible Metadata Platform) 데이터를 포함하는,
    클라우드 서버.
  11. 제9항에 있어서,
    상기 메타 데이터 추출은,
    상기 원본 데이터의 코드를 판독함으로써 수행되는,
    클라우드 서버.
  12. 제11항에 있어서,
    상기 원본 데이터의 코드를 판독하는 것은,
    상기 메타 데이터의 미리 정해진 위치의 코드 값을 읽어 상기 코드 값만큼 다음 코드로 건너뛰면서(hopping) 수행되는,
    클라우드 서버.
  13. 제12항에 있어서,
    상기 메타 데이터 추출은,
    상기 코드 내의 미리 정해진 메타 데이터 추출 종료 식별자(identifier)가 판독될 경우 종료되는,
    클라우드 서버.
  14. 제9항에 있어서,
    상기 생성된 압축 데이터를 클라우드 스토리지에 저장하는 단계
    를 더 포함하는,
    클라우드 서버.
  15. 제9항에 있어서,
    상기 원본 데이터에 포함된 메타 데이터와 상기 압축 데이터에 포함된 추출 메타 데이터는 동일한 코드를 포함하는,
    클라우드 서버.
  16. 제9항에 있어서,
    상기 전송하는 단계는,
    상기 단말로부터 수신된 요청이 이미지 편집 또는 로컬 스토리지(storage)로의 백업(back-up)인 경우, 상기 단말로 상기 원본 데이터를 전송하고,
    그 외의 경우 상기 단말로 상기 압축 데이터를 전송하는,
    클라우드 서버.
  17. 제1항의 방법을 수행하기 위한 제어 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
KR1020170110952A 2017-08-31 2017-08-31 클라우드 서버의 이미지 데이터 제공 방법 KR101990689B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170110952A KR101990689B1 (ko) 2017-08-31 2017-08-31 클라우드 서버의 이미지 데이터 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170110952A KR101990689B1 (ko) 2017-08-31 2017-08-31 클라우드 서버의 이미지 데이터 제공 방법

Publications (2)

Publication Number Publication Date
KR20190024201A KR20190024201A (ko) 2019-03-08
KR101990689B1 true KR101990689B1 (ko) 2019-10-01

Family

ID=65800476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170110952A KR101990689B1 (ko) 2017-08-31 2017-08-31 클라우드 서버의 이미지 데이터 제공 방법

Country Status (1)

Country Link
KR (1) KR101990689B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533731A (ja) 2006-04-07 2009-09-17 データ ストレージ グループ データ圧縮技術およびデータ格納技術
JP2014056297A (ja) * 2012-09-11 2014-03-27 Dainippon Printing Co Ltd データ管理システム、データ管理方法、及びデータ管理処理プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102322031B1 (ko) * 2014-07-31 2021-11-08 삼성전자주식회사 메타 데이터를 관리하는 시스템 및 방법
KR102411281B1 (ko) * 2015-06-02 2022-06-21 삼성전자주식회사 전자 장치 및 전자 장치의 이미지 파일 생성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533731A (ja) 2006-04-07 2009-09-17 データ ストレージ グループ データ圧縮技術およびデータ格納技術
JP2014056297A (ja) * 2012-09-11 2014-03-27 Dainippon Printing Co Ltd データ管理システム、データ管理方法、及びデータ管理処理プログラム

Also Published As

Publication number Publication date
KR20190024201A (ko) 2019-03-08

Similar Documents

Publication Publication Date Title
TWI554893B (zh) 資料傳輸方法及系統
WO2016155635A1 (zh) 一种数据处理方法和设备
US20130067237A1 (en) Providing random access to archives with block maps
US20140317418A1 (en) Server, client device, and usb redirection method
JP6443173B2 (ja) 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム
JP2013500535A (ja) ブロック単位データ圧縮及び復元方法及びその装置
CN112948340A (zh) 数据同步方法、装置、电子设备及可读存储介质
KR102152346B1 (ko) 이미지 파일의 블록 간 차이를 통한 압축율 향상 방법 및 시스템
US9355108B2 (en) Storing data files in a file system
WO2021139132A1 (zh) 一种文件上传方法及相关产品
US10817470B2 (en) Cloud file transmission method, terminal, and cloud server
CN112632008A (zh) 一种数据分片的传输方法、装置及计算机设备
WO2021027252A1 (zh) 块链式账本中的数据存储方法、装置及设备
CN114337678A (zh) 数据压缩方法、装置、设备及存储介质
CN114020522A (zh) 数据备份方法、装置、电子设备及系统
JP6943008B2 (ja) 制御プログラム、制御方法、及び情報処理装置
KR101990689B1 (ko) 클라우드 서버의 이미지 데이터 제공 방법
US10162832B1 (en) Data aware deduplication
CN110740138B (zh) 数据传输方法和装置
CN109960731B (zh) 一种数据处理方法、设备及存储介质
US10719256B1 (en) Performance of deduplication storage systems
CN113542422B (zh) 数据存储方法、装置、存储介质及电子装置
EP3293647B1 (en) Methods of storing essence data in media file systems
US20210209152A1 (en) Image data storage device, image data storage method, and a non-transitory computer-readable storage medium
US8751548B2 (en) Data processing apparatus and method thereof, and information processing apparatus and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant