KR100551669B1 - 파일 포맷 호환성 허용 방법 - Google Patents

파일 포맷 호환성 허용 방법 Download PDF

Info

Publication number
KR100551669B1
KR100551669B1 KR1020027015737A KR20027015737A KR100551669B1 KR 100551669 B1 KR100551669 B1 KR 100551669B1 KR 1020027015737 A KR1020027015737 A KR 1020027015737A KR 20027015737 A KR20027015737 A KR 20027015737A KR 100551669 B1 KR100551669 B1 KR 100551669B1
Authority
KR
South Korea
Prior art keywords
delete delete
file
bitwise
encoded digital
encoding
Prior art date
Application number
KR1020027015737A
Other languages
English (en)
Other versions
KR20030007666A (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
Priority claimed from AUPQ7833A external-priority patent/AUPQ783300A0/en
Priority claimed from AUPQ7863A external-priority patent/AUPQ786300A0/en
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20030007666A publication Critical patent/KR20030007666A/ko
Application granted granted Critical
Publication of KR100551669B1 publication Critical patent/KR100551669B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Processing Or Creating Images (AREA)

Abstract

비트스트림을 화상 데이터로 디코딩 및 확장하기 위해 필요한 기능을 지정하는 데에 활용가능한 식이 공개된다. 바람직하게는, 식은 비트스트림의 오버헤드 정보내에 포함된다. 또한, 화상 파일 구조가 공개된다. 파일(800)은 이진 파일로 순차적으로 팩된 다수의 엘리먼트(802 내지 808)들을 포함한다. 파일내의 초기 엘리먼트들은, 파일(800)내에 포함된 화상 데이터의 파라미터를 설명하는 정보뿐만 아니라 파일 유형을 식별하는 정보를 포함할 수 있는 헤더 정보(802)(즉, 오버헤드 정보)를 포함한다.

Description

파일 포맷 호환성 허용 방법{A METHOD FOR ENABLING FILE FORMAT COMPATIBILITY}
본 발명은 파일 포맷팅에 관한 것으로서, 특히 파일 포맷 데이터를 파일에 제공되도록 하여 판독기(reader)가 파일 내의 데이터와 호환 가능한지를 판단하는데 유익하도록 전자 파일을 인코딩 및 디코딩하는 방법 및 장치에 관한 것이다.
컴퓨터 네트워크 시스템을 통한 전송 및/또는 특정 컴퓨터상의 저장을 위해 데이터를 포함한 상이한 유형(type)의 파일들을 식별하는 많은 방법들이 알려져 있다. 특정 파일을 식별하는 데에 사용된 방법은 통상적으로 상기 파일에 관련된 파일 확장자에 의해 식별가능하다. JPEG (Joint Photographics Expert Group) 및 TIF(Tagged Image File) 표준은 화상 파일을 식별하기 위해, 파일 확장자로 ".jpg" 와 ".tif"를 각각 사용한다. 다른 공지의 방법은, 파일을 식별하는 이진 데이터인 매킨토시 리소스 포크 (MacintoshTM Resource Fork)라는, 파일내의 정보를 이용한다.
상기 방법들에는 많은 단점들이 있다. 예컨대, 일부 컴퓨터 네트워크 시스템에 사용된 파일 확장자 방식은 다른 시스템에서는 무시되어, 결과적으로 파일간의 호환성은 없게 된다.
또한, 많은 조건에서, 서로 동일한 것으로 식별된 파일들이 실질적으로는 상이하게 구성될 수 있다. 예컨대, JPEG 및 TIF 표준은 모든 파일 판독기가 반드시 지원하는 것은 아니지만 다양한 옵션을 허용한다. 또한, 여전히 개별 컴퓨터 네트워크 시스템은 식별자에 의존적인 특정 파일을 판독해야하는 애플리케이션이 어떤 것이지를 결정하고, 많은 경우에 있어, 선택된 애플리케이션은 상기 특정 옵션을 포함하는 파일을 판독하지 못한다.
일부 컴퓨터 네트워크 시스템은, 파일을 구성하는데 사용된 성분에 대한 빠른 식별을 허용하기 위해 다양한 색인들을 사용하는 파일을 색인하려고 시도한다. 이러한 다양한 색인들이 일반적인 것은 아니며, 상기 색인들이 일부 애플리케이션에서는 동작하더라도, 다른 애플리케이션에는 부적절할 수 있다. 또한, 색인이 항상 파일의 시작부에 저장되는 것은 아니며, 그로 인해, 효율적으로 판독되지 못할 수 있다. 또한, 파일 포맷의 새로운 버전이 생성됨에 따라, 색인들이 변경되고, 또다시, 일반적으로 호환가능한 시스템은 이루어지지 않게 된다.
일부 파일 포맷은 단일 파일내 데이터의 많은 사본이, 개별 포맷으로 구성되는 각 파일에 저장되는 것을 허용한다. 이러한 파일 포맷은, 파일을 판독하는 컴퓨터 네트워크 시스템이 특정 환경, 파일 판독기의 성능, 및 사용자의 요구에 따라서 어떤 데이터를 판독할지를 결정할 수 있게 한다. 이러한 파일 포맷을 사용하는 시스템들은, 파일을 판독하기 위해 어떤 특징들의 조합이 요구되는 지에 대해 상세하지는 않지만, 파일의 다양한 성분을 리스트한다.
데이터가 전자 메일(e-mail) 메시지의 콘텐츠로서 전송되도록 허용하는 데에 사용되는 것으로, 다목적 인터넷 메시지 확장 (Multipurpose Internet Messaging Extensions (MIME)) 시스템이라고 하는 공지된 한 시스템은 파일을 식별하기 위해 파일 래퍼(file wrapper)를 사용한다. 또한, MIME 시스템은 파일을 전체적으로 식별하며, 파일내에 사용된 옵션에 따르지는 않는다.
다중 계층(multi-layer) (또는 다중 페이지(multi-page)) 화상은, 표시를 위해 어쨌든 결합되는, 모든 화상들이 항상 필연적으로 같은 크기인 것은 아닌 화상들의 집합으로 생각될 수 있다. 따라서, 다중 화상(계층) 파일 포맷은, 파일내의 각 화상을 계층이라 하는 단일 파일내의 다중 화상과 관련된다. 다층 파일의 계층들을 결합하기 위해 디코더에 의해 사용된 데이터는 반드시 파일 포맷 확장자 형식을 취한다.
예컨대, 그래픽 교환 형식 (Graphics Interchange Format(GIF)) 표준에 따르면, 그래픽 제어 확장자라 칭하는 부가적인 제어 구조가, 각 화상층에 선행하는 정보(즉, 오버헤드 정보)의 일부로서 파일내에 포함된다. 이러한 정보는, 다른 것들 가운데에서, 글로벌 파일 헤더내에서 정의되는 전 화상 영역에 대해서 계층의 좌상단 구석 좌표와, 계층을 표시하고 파일내의 다음 계층을 표시하기 전에 대기하는 시간의 양을 포함한다. 또한, GIF도 순차적으로 합성되는 계층(또는 다중 화상)을 포함한다.
GIF 파일의 각 계층은, 작은 영역만이 하나의 계층과 다음 계층간에서 변경이 있는 경우에 저장 효율을 향상시키기 위해, 서로 상이한 크기일 수 있으며 오프셋 좌표를 이용하여 위치 지정될 수도 있다. GIF 표준은 각 계층이 합성되는 가상 화면을 정의한다. 그것은 파일내의 계층들이 어떻게 표시되는 지를 지시하기 위해 제어 블럭 구조를 사용한다. 가상 화면내의 좌상단 구석위치에 관한 정보, 파일내의 다음 계층으로 진행하기 전에 표시되어야 할 계층이 얼마나 오랫동안 표시되어야 하는 지에 관한 정보, 및 파일내의 다음 계층을 표시하기에 앞서서 계층이 제거되어야하는 지에 관한 정보를 포함하는 제어 블럭은 파일 포맷내의 각 계층에 선행한다.
GIF는 많은 수의 독립적인 개발자들이 GIF 화상을 다룰 수 있는 파일 뷰어(file viewer)를 용이하게 구현할 수 있도록 하는 단순하고도 제한된 디자인 구조를 가진다. 그러나, GIF의 단순성은 코딩의 효율성을 희생으로 한다. 예컨대, GIF 파일내의 각 계층은 단일 화상에 대응하기 때문에, 스프라이트(sprite)와 오버레이(overlay)들은 효율적으로 코딩되지 못한다. 이는 각 프레임이 개별적인 화상 계층으로 표시되어야만 하기 때문이다. 화상 순차 과정을 통해 재사용되는 화상들은 화상이 나타나는 각 프레임마다 파일내에 한차례 나타나야만 한다.
최근에, 상기 문제점들에 역점을 두고 다루는 시도에서, "다중 화상" 파일 포맷이 개발되어 왔다. 다중 화상 파일 포맷은 단일 파일내의 다중 화상으로 이루어지며, 파일 내의 각 화상은 적어도 하나의 계층과 관련되어 있다. 한 가지 알려진 다중 화상 (계층) 파일 포맷은 휴대용 네트워크 그래픽 (Portable Network Graphics (PNG)) 파일 포맷으로의 확장 기능에 기초하여 화상 프레임워크를 정의한다. 그러나, 다중 화상 파일 포맷의 인코딩 및 디코딩 효율성은 특정 파일내의 각 계층에 대한 표시 정보의 요구 수준에 의해 절충되게 된다.
본 발명의 목적은 현존하는 구성(arrangements)들의 하나 또는 그 이상의 단점들을 실질적으로 극복하거나 적어도 개선하는 것이다.
본 발명의 제 1 특징에 따르면, 인코딩된 디지털 화상 데이터, 및 복수의 불 연산(boolean operation)을 표시하는 식(expression)을 포함하되, 상기 식은 상기 인코딩된 디지털 화상 데이터를 판독하는 데에 필요한 기능의 특징(aspects of functionality)들을 식별하는 것을 특징으로 하는 전자 파일이 제공된다.
본 발명의 다른 특징에 따르면, 적어도 하나의 인코딩된 디지털 화상을 포함하는 전자 파일을 인코딩하는 방법에 있어서, 상기 인코딩된 디지털 화상 데이터를 판독하는 데에 필요한 기능의 특징들을 식별하는 식으로서, 복수의 불 연산을 표현하는 식을 결정하는 단계, 및 상기 전자 파일의 지원 데이터 영역내에 상기 식을 부가하는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 또 다른 특징에 따르면, 적어도 하나의 인코딩된 디지털 화상을 포함하는 전자 파일을 인코딩하기 위한 장치에 있어서, 상기 인코딩된 디지털 화상 데이터를 판독하는 데에 필요한 기능의 특징들을 식별하는 식으로서 복수의 불 연산을 표현하는 식을 수신하는 수단, 및 상기 전자 파일의 지원 데이터 영역내에 상기 식을 부가하는 수단을 포함하는 것을 특징으로 하는 장치가 제공된다.
본 발명의 또 다른 특징에 따르면, 프로그램이 기록된 컴퓨터 판독가능 매체(computer readable medium)에 있어서, 상기 프로그램은 적어도 하나의 컴퓨터 플랫폼상에서의 대화형 연산용으로 채택된 복수의 소프트웨어 모듈을 포함하고, 적어도 하나의 인코딩된 디지털 화상을 포함하는 전자 파일을 인코딩하기 위해 채택되며, 상기 프로그램은, 상기 인코딩된 디지털 화상 데이터를 판독하는 데에 필요한 기능의 특징들을 식별하는 식으로서 복수의 불 연산을 표시하는 식을 결정하기 위한 코드, 및 상기 전자 파일의 지원 데이터 영역내에 상기 식을 부가하기 위한 코드를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 코딩된 표현(coded representation)내에서 디지털 화상을 인코딩하는 방법에 있어서, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항들(descriptions)을 결정하는 단계, 및 상기 기재 사항 및 상기 디지털 화상들을 비트스트림(bitstream)으로 인코딩하되, 상기 기재 사항들 중 적어도 어느 하나는 복수의 상기 디지털 화상들과 순차적으로 관련되는 것을 특징으로 하는 단계를 포함하는 방법이 제공된다.
본 발명의 또 다른 특징에 따르면, 각각이 관련 기재 사항을 갖는 디지털 화상의 코딩된 표현을 디코딩하는 방법에 있어서, 상기 기재 사항들을 이용하여 상기 디지털 화상을 출력하는 단계를 포함하되, 상기 기재 사항들 중 적어도 어느 하나는 복수의 상기 디지털 화상들과 순차적으로 관련되는 것을 특징으로 하는 방법이 제공된다.
본 발명의 또 다른 특징에 따르면, 코딩된 표현내에서의 하나 또는 그 이상의 디지털 화상을 인코딩하는 방법에 있어서, 상기 코딩된 표현내의 디지털 화상의 수를 결정하는 단계, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하는 단계, 상기 디지털 화상의 기재 사항들을 비교하여 유사 기재 사항들 을 갖는 여러 화상을 결정하는 단계, 상기 디지털 화상의 표시 순서를 결정하는 단계, 및 상기 기재 사항의 집합과 상기 디지털 화상을 비트스트림으로 인코딩하는 단계를 포함하되, 상기 유사 기재 사항들 중 어느 하나만이 상기 비트스트림내에 포함되고, 상기 유사 기재 사항들을 갖는 상기 디지털 화상이 상기 순서의 끝부분에 순차적으로 배치되는 방법이 제공된다.
본 발명의 또 다른 특징에 따르면, 각각이 관련 기재 사항을 갖는 하나 또는 그 이상의 디지털 화상의 코딩된 표현을 디코딩하는 방법에 있어서, 상기 코딩된 표현내의 기재 사항의 수를 결정하는 단계, 상기 코딩된 표현내의 디지털 화상의 수를 결정하는 단계, 및 상기 기재 사항들과 상기 디지털 화상을 비트스트림으로 출력하는 단계를 포함하되, 상기 디지털 화상의 수가 상기 기재 사항의 수보다 큰 경우에는 상기 기재 사항의 첫번째 수가 상기 디지털 화상의 두번째 수와 순차적으로 관련되고 상기 기재 사항의 나머지는 임의의 나머지 디지털 화상과 관련되는 방법이 제공된다.
본 발명의 또 다른 특징에 따르면, 코딩된 표현내의 디지털 화상을 인코딩하는 방법에 있어서, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하는 단계, 및 상기 기재 사항과 상기 디지털 화상을 비트스트림으로 인코딩하는 단계를 포함하되, 상기 기재 사항 중 적어도 어느 하나는 복수의 상기 디지털 화상과 순차적으로 관련되고, 상기 기재 사항은 상기 기재 사항이 관련된 디지털 화상의 수를 지정하는 지시자(indicator)를 포함하는 방법이 제공된다.
본 발명의 또 다른 특징에 따르면, 코딩된 표현내의 디지털 화상을 인코딩하기 위한 장치에 있어서, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하기 위한 수단, 및 상기 기재 사항과 상기 디지털 화상을 비트스트림으로 인코딩하기 위한 수단을 포함하되 상기 기재 사항 중 적어도 하나는 적어도 어느 하나가 복수의 상기 디지털 화상과 순차적으로 관련되는 장치가 제공된다.
본 발명의 또 다른 특징에 따르면, 각각이 관련 기재 사항을 갖는 디지털 화상의 코딩된 표현을 디코딩하기 위한 장치에 있어서, 상기 기재 사항을 이용하여 상기 디지털 화상을 출력하기 위한 수단을 포함하며, 상기 기재 사항 중 적어도 어느 하나는 복수의 상기 디지털 화상과 순차적으로 관련되는 것을 특징으로 하는 장치가 제공된다.
본 발명의 또 다른 특징에 따르면, 코딩된 표현내의 하나 또는 그 이상의 디지털 화상을 인코딩하기 위한 장치에 있어서, 상기 코딩된 표현내의 디지털 화상의 수를 결정하기 위한 수단, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하기 위한 수단, 상기 디지털 화상의 기재 사항들을 비교하여 유사 기재 사항을 갖는 여러 화상을 결정하는 수단, 상기 디지털 화상의 표시 순서를 결정하기 위한 수단, 및 상기 기재 사항의 집합과 상기 디지털 화상을 비트스트림으로 인코딩하기 위한 수단을 포함하되, 상기 유사 기재 사항들 중 어느 하나만이 상기 비트스트림내에 포함되고, 상기 유사 기재 사항들을 갖는 상기 디지털 화상은 상기 순서의 끝부분에 순차적으로 배치되는 장치가 제공된다.
본 발명의 또 다른 특징에 따르면, 각각이 관련 기재 사항을 갖는 하나 또는 그 이상의 디지털 화상의 코딩된 표현을 디코딩하기 위한 장치에 있어서, 상기 코딩된 표현내의 기재 사항의 수를 결정하기 위한 수단, 상기 코딩된 표현내의 디지털 화상의 수를 결정하기 위한 수단, 및 상기 기재 사항들과 상기 디지털 화상을 비트스트림으로 출력하기 위한 수단을 포함하되, 상기 디지털 화상의 수가 상기 기재 사항의 수보다 큰 경우에는 상기 기재 사항의 첫번째 수가 상기 디지털 화상의 두번째 수와 순차적으로 관련되고 상기 기재 사항의 나머지는 임의의 나머지 디지털 화상과 관련되는 장치가 제공된다.
본 발명의 또 다른 특징에 따르면, 코딩된 표현내의 디지털 화상을 인코딩하기 위한 장치에 있어서, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하기 위한 수단, 및 상기 기재 사항과 상기 디지털 화상을 비트스트림으로 인코딩하기 위한 수단을 포함하되, 상기 기재 사항 중 적어도 어느 하나는 복수의 상기 디지털 화상과 순차적으로 관련되고, 상기 기재 사항은 상기 기재 사항이 관련된 디지털 화상의 수를 지정하는 지시자를 포함하는 장치가 제공된다.
본 발명의 또 다른 특징에 따르면, 프로그램이 기록된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은 적어도 하나의 컴퓨터 플랫폼상에서의 대화형 연산용으로 채택된 복수의 소프트웨어 모듈을 포함하고, 코딩된 표현내의 디지털 화상을 인코딩하기 위해 채택되며, 상기 프로그램은, 상기 코딩된 표현내의 상기 디지털 화상에 대한 기재 사항을 결정하기 위한 코드, 및 상기 기재 사항 및 상기 디지털 화상을 비트스트림으로 표시하기 위한 코드를 포함하되, 상기 기재 사항 중 적어도 어느 하나는 복수의 상기 디지털 화상과 순차적으로 관련되는 컴퓨터 판독가능 매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 프로그램이 기록된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은 적어도 하나의 컴퓨터 플랫폼상에서의 대화형 동작에 적합한 복수의 소프트웨어 모듈을 포함하고, 각각이 관련 기재 사항을 갖는 디지털 화상의 코딩된 표현을 디코딩하는데 적합하며, 상기 프로그램은, 상기 기재 사항들을 이용하여 상기 디지털 화상을 출력하기 위한 코드를 포함하되, 상기 적어도 하나의 기재 사항은 복수의 상기 디지털 화상과 순차적으로 관련되는 컴퓨터 판독가능 매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 프로그램이 기록된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은 적어도 하나의 컴퓨터 플랫폼상에서의 대화형 동작에 적합한 복수의 소프트웨어 모듈을 포함하고, 코딩된 표현내의 하나 또는 그 이상의 디지털 화상을 인코딩하기 위해 채택되며, 상기 프로그램은, 상기 코딩된 표현내의 디지털 화상의 수를 결정하기 위한 코드, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하기 위한 코드, 상기 디지털 화상의 기재 사항들을 비교하여 유사 기재 사항들을 갖는 화상의 수를 결정하기 위한 코드, 상기 디지털 화상의 표시 순서를 결정하기 위한 코드, 및 상기 기재 사항과 상기 디지털 화상 세트를 비트스트림으로 인코딩하기 위한 코드를 포함하되, 상기 유사 기재 사항들 중 하나만이 상기 비트스트림내에 포함되고, 상기 유사 기재 사항들을 갖는 상기 디지털 화상은 상기 순서의 끝부분에 순차적으로 배치되는 컴퓨터 판독가능 매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 프로그램이 기록된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은 적어도 하나의 컴퓨터 플랫폼상에서의 대화형 동작에 적합한 복수의 소프트웨어 모듈을 포함하고, 각각이 관련 기재 사항을 갖는 하나 이상의 디지털 화상의 코딩된 표현을 디코딩하는데 적합하며, 상기 프로그램은, 상기 코딩된 표현내의 기재 사항의 수를 결정하기 위한 코드, 상기 코딩된 표현내의 디지털 화상의 수를 결정하기 위한 코드, 및 상기 기재 사항들과 상기 디지털 화상을 비트스트림으로 출력하기 위한 코드를 포함하되, 상기 디지털 화상의 수가 상기 기재 사항의 수보다 큰 경우에는 상기 기재 사항의 첫번째 수가 상기 디지털 화상의 두번째 수와 순차적으로 관련되고 상기 기재 사항의 나머지는 임의의 나머지 디지털 화상과 관련되는 컴퓨터 판독가능 매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 프로그램이 기록된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은 적어도 하나의 컴퓨터 플랫폼상에서의 대화형 동작에 적합한 복수의 소프트웨어 모듈을 포함하고, 코딩된 표현내의 디지털 화상을 인코딩하는데 적합하며, 상기 프로그램은, 상기 코딩된 표현내의 상기 디지털 화상 각각에 대한 기재 사항을 결정하기 위한 코드, 및 상기 기재 사항과 상기 디지털 화상을 비트스트림으로 인코딩하기 위한 코드를 포함하되, 상기 기재 사항 중 적어도 어느 하나는 복수의 상기 디지털 화상과 순차적으로 관련되고, 상기 기재 사항은 상기 기재 사항이 관련된 디지털 화상의 수를 지정하는 지시자를 포함하는 컴퓨터 판독가능 매체가 제공된다.
본 발명의 또 다른 특징에 따르면, 인코딩된 디지털 화상 데이터 및 복수의 불 연산을 표시하는 식을 포함하고, 상기 식은 상기 인코딩된 디지털 화상 데이터를 판독하는 방식을 정의하는 전자 파일이 제공된다.
도 1은 비트 마스크와 호환성 박스를 구성하는 방법을 나타내는 흐름도이다.
도 2는 예시적인 기능식(expression)에 대한 마스크 테이블을 나타낸다.
도 3은 또 다른 예시적인 기능식에 대한 다른 마스크 테이블을 나타낸다.
도 4는 호환성 박스에 대한 바람직한 포맷을 나타낸다.
도 5는 또 다른 예시적인 기능식에 대한 마스크 테이블을 나타낸다.
도 6은 파일이 판독기와 호환되는지를 결정하는 방법을 나타내는 흐름도이다.
도 7은 기재된 구성(arrangements)이 실시될 수도 있는 컴퓨터 시스템의 개략적인 블럭도이다.
도 8은 화상 파일 구조를 나타낸다.
도 9는 다른 화상 파일 구조를 나타낸다.
도 10은 단일 컬러 표준과 함께 단일 계층 파일이 처리되는 경우의, 도 9의 화상 파일 구조를 나타낸다.
도 11은 코딩된 표현내의 디지털 화상을 도 8의 파일 포맷에 따라서 인코딩하는 방법을 나타내는 흐름도이다.
도 12는 하나 또는 그 이상의 화상을 도 8 및 도 9의 파일 포맷에 따라서 인코딩하는 방법을 나타내는 흐름도이다.
하나 또는 그 이상의 첨부 도면들에 있어서, 단계 및/또는 특징들에 대해 동일한 참조 번호가 매겨지는 경우에, 이러한 단계 및/또는 특징들은, 상반된 의도가 있지 않는 한, 설명을 위해 동일한 기능 또는 연산을 가지는 것으로 한다.
화상 데이터는 통상적으로 이차원 값 배열로서 표시되며, 각 값은 디스플레이 스크린상에서 랜더링(render)될 픽셀의 속성을 나타낸다. 상기 속성은, 그레이 스케일 화상인 경우에 화상의 픽셀의 휘도(intensity) 또는 그 픽셀의 하나의 컬러 성분의 휘도를 나타낸다. 통상적으로, 컬러 화상은 몇개의 성분들 즉, 컬러 성분(예컨대, 적, 녹, 및 청), 휘도 성분 및 불투명도 성분과 같은 일부 보조 성분들을 가진다. 따라서, 화상 데이터의 표시는 사용된 컬러 모델에 매우 의존적이다.
통상적으로, 화상은 비트스트림을 형성하도록 인코딩되며, 이러한 비트스트림 중 하나 또는 그 이상은 통상 관련 오버헤드 정보와 결합되어 코드스트림 (codestream)을 형성할 수 있으며, 그런 다음 화상을 저장 및/또는 전송하는 데에 사용된다. 상기 관련 오버헤드 정보는, 비트스트림을 디코딩하고 비트스트림을 화상 데이터로 확장하기 위해 판독기에 의해 요구되는 정보이다.
비트스트림을 디코딩하고 화상 데이터로 확장하기 위해 요구되는 기능을 지정하는데 활용가능한 식에 대해 아래에서 설명한다. 식은 비트스트림용으로 오버헤드 정보내에 포함되는 것이 바람직하다. 컬러 모델을 코딩하고 디코딩하는 여러 방법들에서의 복잡성으로 인해, 비트스트림을 디코딩 및 확장하기 위해 요구되는 기능을 지정하는데에는 비트스트림 오버헤드 정보내에 가능한 옵션 리스트를 포함하는 것만으로는 충분하지 않다. 비트스트림이 여러 상이한 컬러 모델을 포함할 수도 있을 뿐만 아니라, 비트스트림을 코딩하기 위한 많은 가용 방법들도 있다. 또한, 동일한 화상 데이터는 동일한 파일내에 여러 상이한 방식으로 저장될 수도 있다. 예를 들면, 모션 프레임(motion frame)을 포함하는 화상 데이터 파일, 상기 모션 프레임을 판독하기 위한 제 1 컬러 모델뿐만 아니라 제 1 인코더와 호환되는 디코더가 주어지고, 상기 디코더가 키프레임(keyframe)을 판독하기 위한 제 2 컬러 모델과도 호환되는 것으로 가정하면, 코더를 이용하여 모션 파일을 이해하지만 제 1 컬러 모델을 이해할 수 없는 판독기는 단지 키프레임을 표시할 수 있을 뿐이다.
파일을 판독하기 위해 요구되는 기능을 지정하기 위해 파일용으로 오버헤드 정보내에 포함될 수 있는 식의 일 예가 다음과 같다.
(A OR B) AND (C OR D) (1)
여기에서, 각 문자는 요구되는 기능들의 특징(aspects)을 나타낸다. 따라서 파일을 판독하기 위해, 판독기는 기능C나 또는 기능D를 지원할 뿐만 아니라 기능 A 또는 기능 B도 지원할 필요가 있다.
상기 기능식(functionality expression)은 비트 마스크를 이용하여 표시되는 것이 바람직하며, 호환성 박스(compatibility box)로 인코딩된다. 도 1은 비트 마스크와 호환성 박스를 구성하는 방법을 나타내는 흐름도(200)이다. 흐름도(200)의 프로세스는, 기능식이 입력으로 수신되는 제 1 단계(210)에서 시작한다. 다음 단계(220)에서, 기능식은 AND 문에 의해 분리된 직렬의 OR 부분식(sub-expression)으로 확장된다.
다음 단계(230)에서, 마스크 테이블이 생성되며, 마스크 테이블의 각 열은 요구되는 기능의 일 특징을 표시한다. OR 부분식들은 마스크 테이블의 열내에 위치한다. 도 2는, 식(1)의 기능식에 대한 마스크 테이블(300)로서, 필수 기능 (required functionality)(310)(예컨대, A, B, C, 및 D)의 특징들을 행으로 가지는 마스크 테이블(300)을 나타낸다. 마스크 테이블(300)의 열(320 및 330) 각각은 OR 부분식들 중 어느 하나를 표시한다. 제 1 OR 부분식(예컨대, A OR B)은 OR 부분식내에 제시된 각 특징을 1비트로 나타내고, 나머지는 0비트로 표시하는 것으로 열(320)내에 배치된다. 따라서, A 및 B 특징만이 OR 부분식(A OR B) 내에 제시되기 때문에, 열(320)은 비트 스트링"1100"을 엔트리로 가진다. 마찬가지로, 제 2 OR 부분식(C OR D)은 열(330)내에 엔트리"0011"로 위치한다.
또한, 필수 마스크 행(340)은, 파일을 판독하기 위해 요구되는 마스크 테이블(300)내의 모든 행들에 대한 비트와이즈(bitwise) OR 연산자의 수행 결과를 포함하도록 제공된다. 도 2의 일 예와 관련하여, 비트와이즈 OR 연산자는 행(310)의 엔트리, 즉 10 OR 10 OR 01 OR 01로 수행되어, 필수 마스크를 11로 생성한다.
더 복잡한 기능식에 관한 일 예는 다음과 같다.
(A AND B) OR (C AND D) (2)
식(2)는 판독기가 기능 특징(A 및 B)이나 또는 선택적으로 기능 특징(C 및 D)을 지원해야한다는 것을 나타낸다.
식(2)는 지정된 포맷(즉, AND 문에 의해 분리된 일련의 OR 부분식)은 아니므로, 단계(220)에서 확장되어 다음 형식을 제공한다.
(A AND B)OR(C AND D)=(A OR C)AND(A OR D)AND(B OR C)AND(B OR D) (3)
다음 단계(230)에서, 마스크(350)는 도 3에 도시된 바와 같이 생성된다. 마스크(350)의 OR 부분식 각각은, 필수 기능의 특징이 OR 부분식내에 제시되는 경우에, 하나의 열내에 단일 1 비트로서 각 열내에 위치한다. 확장 식내에 4개의 OR 부분식이 있기 때문에, 마스크(350)는 4개의 열을 가진다. 필수 마스크 엔트리는 1111이다.
흐름도(200)의 다음 단계(240)에서, 호환성 박스는, 파일을 액세스하기 위해 필요한 기능에 관한 정보를 지정하기 위해 마스크 테이블에서 생성된다. 이러한 기능은 공급자에 특유한 것일 수도 있고 또는 인정된 표준에 의해 정의될 수도 있다. 호환성 박스가 파일의 시작부 주변에 위치함으로써, 파일이 해석가능한 지를 판독기가 신속하게 결정할 수 있도록 한다. 호환성 정보는, 필수 기능의 감소된 특징들의 집합이 파일의 일부를 해석하는데 적절하다는 것을 지정할 수 있다. 예컨대, 호환성 박스내의 정보는, 정지 화상 판독기가 활성화된 파일의 정지 버전을 표시하는 데에 적절하다는 것을 지정할 수 있다.
도 4는, ML 필드(410), RM 필드(420), Flagi 필드(430), EFi 필드(440), 및 MSi 필드(450)를 포함하는 호환성 박스(400)에 대한 바람직한 포맷을 나타낸다. 이러한 필드들은 아래와 같이 정의된다.
ML: 본 필드는 바이트로서, 호환성 마스크용으로 사용된 바이트의 수를 지정하며, 그리고 필수 기능의 특징들 각각에 대한 마스크와 함께 필수 마스크를 포함 한다. 유효값들은 1, 2, 4, 및 8이다.
RM: 본 필드는 필수 마스크를 지정한다.
Flagi: 본 필드는 필수 기능의 각 특징의 의미를 판독기에 알려주는 호환성 플래그를 제공한다. "표준(standard)" 플래그와 "확장(extended)" 플래그 두 유형의 호환성 플래그가 있다. 단일 바이트를 사용하여 표준 플래그를 저장할 수 있으며, 64비트 범용 유니크 식별자(UUID)를 사용하여 확장 플래그를 지정할 수 있다. Flagi 필드는 표준 플래그가 필수 기능의 특징을 표시하기 위해 사용된 것임을 지정하는 단일 바이트이다. 그러나, 필드의 최상위 비트가 설정되면, 필드의 나머지는 UUID 확장 플래그의 최상위 바이트가 된다.
EFi: 본 필드는 UUID 확장 플래그의 하위 순위 15바이트를 표시하는 선택적 필드이다.
MSi: 본 필드는 필수 기능의 특징들에 대한 마스크를 지정한다.
따라서, 호환성 박스는 다음 필드를 가지며, 각각은 아래의 표 1에 도시된 지정 크기 및 가능한 값들을 가진다.
필드 명칭 크기(비트) 값(value)
ML 8 1,2,4,8
RM 8 1,2,4,8
Flagi 8 0-127
EFi 128(플래그 포함) 2127 - (2128 - 1)
MSi 8 1,2,4,8
추가 정보는 UUID를 UUID에 관한 추가 정보를 지정하는 URL에 연결하는 파일 내에서 지정될 수 있다.
다음 표들(즉, 표2, 표3, 및 표4)은 바람직한 호환성 플래그를 리스트한다. 상기 표들은 코드스트림, 컬러 플래그 및 메타데이터 플래그로 그룹화된다.
코드스트림 플래그
플래그 기재 사항
1 코드스트림 인덱스
2 복수의 코드스트림
3 단일 코드스트림
4 단편화된 코드스트림
5 압축 스킴 X
6 압축 스킴 Y
컬러 플래그
플래그 기재 사항
16 sRGB 컬러 모델
17 제한 ICC 프로파일
18 풀ICC 프로파일
19 팰릿화된 컬러
메타데이터 플래그
플래그 주(Notes)
64 지적 재산권 권리 정보
65 내용 기재 사항
66 생성 정보
67 이력 정보
많은 표준 파일 포맷(예컨대, JPEG 2000)에 의해, 지정되는 확장 플래그는 없지만, 공급자들이 UUID를 이용하여 그들 자신의 호환성 플래그를 생성하도록 제공한다. 예를 들면, 공급자가 그들 자신의 공급자 지정 컬러 모델을 지정하기를 원한다면, 이러한 컬러 모델은 UUID에 의해 식별된다. 바람직하게는, 신규 컬러 모델을 지정하기 위해 파일 전체를 통해 단일 UUID가 사용된다.
일 예로서, 단일 압축된 코드스트림, 제한 ICC 프로파일 컬러 모델과 sRGB 컬러 모델 모두와, 지적 재산권 권리 정보를 포함하는 메타데이터를 포함하는 파일용 호환성 박스는 흐름도(200)의 방법을 이용하여 다음과 같이 구성될 수 있다.
단계(210)에서, 파일의 호환성 정보는 식으로 입력된다. 상기 정보로부터, 적절한 기능식은,
(A AND B AND C AND E) OR (A AND B AND D AND E) (4)
이고, 여기에서, A는 단일 코드스트림을 표시하고, B는 압축 스킴 X 코드스트림을 표시하고, C는 sRGB 컬러 모델을 표시하고, D는 제한 ICC 프로파일을 표시하고, E는 지적 재산권 권리 정보를 포함하는 메타데이터를 표시한다.
다음 단계(220)에서, 식(4)의 기능식은 아래와 같이, AND문에 의해 분리된 직렬의 OR 부분식으로 확장된다.
A AND B AND (C OR D) AND E (5)
다음 단계(230)에서, 마스크 테이블(500)은 도 5에 도시된 바와 같이, 식(5)의 기능식으로 생성된다. 테이블(500)의 각 행은 필수 기능의 특징을 표시한다. 각각 A, B, C, D, 및 E에 의해 표시되는 필수 기능의 5개 특징들이 있다. OR 부분식은 마스크 테이블(500)의 열내에 위치한다. 식(5)에서 대부분의 OR 부분식은 실질적인 OR 연산자를 포함하지는 않으며, AND 연산자에 의한 이들의 분리에 의해 식별된다.
필수 마스크 열(510)은 모든 행에서의 OR 연산자의 수행 결과를 포함한다. 도 5의 일 예에 따라서, OR 연산자는 아래와 같이 수행된다.
0001 OR 0010 OR 0100 OR 0100 OR 1000 = 1111 (6)
다음 단계(240)에서, 호환성 박스는 마스크 테이블(500)로부터 아래와 같이 생성된다. ML 필드 엔트리는 호환성 마스크용으로 사용될 1 바이트를 허용하는 것에 의해 1로서 선택된다. RM 필드 엔트리는 단순히 ML 필드에 의해 지정된 바이트의 수를 채우기 위해 부가된 0 비트를 가진 행(510)이다. 따라서, RM 필드 엔트리는 00001111 또는 십진수 15이다.
그런 다음, 호환성 플래그와 이들 각각의 마스크를 한정할 수 있다. 모든 호환성 플래그들은 표준 플래그이며, 이들 각각은 단일 바이트에 의해 표시된다. 호환성 플래그 테이블로부터 필수 기능의 특징 각각을 조사해보면, 상기 예들에 대한 각 호환성 플래그들은 아래와 같이 지정된다.
단일 코드스트림 3;
압축 방식 X 코드스트림 5;
sRGB 컬러 모델 16;
제한 ICC 프로파일 17; 및
지적 재산권 권리 정보를 포함하는 메타데이터 64.
단지 표준 플래그들만이 사용되기 때문에, EFi 필드는 제시되지 않았다. 결과적으로, 필수 기능의 각 특징들에 대해, 마스크 MSi가 결정된다. 이러한 마스크 MSi들은 본질적으로, ML 필드에 의해 지정된 바이트의 수를 채우기 위해 부가된 0 비트들을 가진 마스크 테이블(500)의 행(필수 마스크 행(510) 제외)들이다.
요약하면, 상기 예에 대한 호환성 박스는 아래와 같이 지정된다.
ML=1
RM=00001111
Flag1=3 MS1=0000 0001
Flag2=5 MS2=0000 0010
Flag3=16 MS3=0000 0100
Flag4=17 MS4=0000 0100
Flag5=64 MS5=0000 1000
호환성 박스는,
"0x010F03010502100411044008" (7)
와 같은 다양한 필드를 결합함으로써 HEX 스트링으로 파일내의 오버헤드 정보내에 포함될 수 있다.
상기 예들에 대한 호환성 박스는, 판독기가 단일 압축 방식 X 코드스트림을 이해하여야 한다는 것과 sRGB 컬러 모델이나 제한 ICC가 필요하다는 것을 지정한다. 또한, sRGB 컬러 모델이나 제한 ICC 프로파일이 동일한 기능을 제공한다는 것도 지정한다.
도 6은 파일이 특정 판독기와 호환되는지를 결정하는 방법을 나타내는 흐름도(600)이다. 파일은 호환성 박스를 포함하며, 차례로 상기 지정된 바의 플래그 리스트와 플래그 마스크를 포함한다. 제 1 단계(610)에서, 변수 compat는 0으로 설정된다. 다음 단계(620)에서, 변수 flag는 파일의 호환성 박스내에 포함된 플래그 리스트에서 다음 플래그의 값으로 할당된다.
흐름도(600)의 프로세스는, 판독기에 의해 플래그(Flagi)가 지원되는 지를 결정하는 다음 단계(630)로 진행된다. 플래그가 지원되는 경우에는, 플래그에 대응하는 필수 기능의 특징을 위해, 다음 단계(640)에서 변수 compat와 마스크간의 비트와이즈 OR 연산이 수행된다. 예컨대, 플래그가 Flagi인 경우에, 플래그_마스크는 마스크 MS3=0000 0100이다. 이러한 비트와이즈 OR 연산의 결과는 변수 compat의 새로운 값으로 할당된다.
단계(630)에서 플래그가 판독기에 의해 지원되지 않는 경우에는, 흐름도(600)의 프로세스는, 호환성 박스에 기재된 플래그 리스트내에 임의의 잔존 플래그가 있는 지를 결정하는 단계(650)로 진행된다. 단계(650)에서 플래그가 있다면, 프로세스는 다음 플래그가 판독되는 단계(620)로 회귀한다.
선택적으로, 호환성 박스내에 포함된 모든 플래그가 단계(650)에서 고려되어 지는 경우에는, 흐름도(600)의 프로세스는, 변수 compat와 호환성 박스내의 필수 마스크 필드의 값간에 AND 연산이 수행되는 단계(680)로 진행된다. 이러한 연산의 결과는 호환성 박스내의 필수 마스크 필드와 비교된다. 값이 부합하는 경우에는, 단계(690)에서 호환성이 보고된다. 이와 달리, 단계(695)에서 파일이 판독기와 호환되지 않는 것으로 보고되는 경우에는, 파일은 열리지 않는다.
상기한 방법은 판독기가 주어진 파일이 판독가능한지를 결정하는 것뿐만 아니라 파일내의 기능의 어떤 특징이 판독되어야 하는 지를 결정하는 것도 허용한다. 또한, 상기 방법은 판독기가 장래에 생성될 모든 호환가능한 파일들을 이해하도록 함으로써, 장래의 판독기가 호환가능한 현재의 파일들을 판독할 수 있도록 한다. 이것은 각 파일이 제공하는 기능을 판독기가 결정하도록 하기 보다는 판독기 자체가 그 기능을 지정하기 때문에 가능한 것이다.
도 8은 본 발명의 다른 특징에 따른 화상 파일 구조를 나타낸다. 파일(800)은 이진 파일로 순차적으로 팩된(packed) 많은 엘리먼트들(802-808)을 포함한다. 파일내의 초기 엘리먼트는, 파일(800)내에 포함된 화상 데이터의 파라미터들을 기술하는 정보뿐만 아니라 파일 유형을 식별하는 정보를 포함할 수 있는 헤더 정보(802)(즉, 오버헤드 정보)를 포함한다.
바람직하게는, 파일(800)은, 하나 이상의 화상 계층들(806-808) 또는 화상 데이터에 대한 참조들 각각에 저장된 유형과 채널 정보를 리스트하는 코드스트림 헤더 박스(805)를 포함한다. 코드스트림 헤더 박스(805)는 본 명세서에서 다음에 상세히 설명된다.
상기한 바와 같이, 파일내에 포함되거나 또는 참조되는 수개의 개별 정지 화상(예를 들어, 화상 계층들(806-808))이 존재할 수 있고, 이들 각각은 계층으로 참조된다. 이들 계층들 중 일부는, 표시를 위해서는 파일내의 다른 화상 계층들과 겹쳐지도록 되어있거나 또는 그렇지 않은 경우에도 결합되도록 되어있기 때문에, 개별적으로 보는 경우에는 시각적으로 불완전할 수도 있다. 그러나, 각 계층은 독립적으로 디코딩될 수 있는 완전한 코드스트림 또는 코드스트림의 집합이고, 각 계층은 이러한 설명의 범위내에서 개별적인 것으로 고려된다. 애니메이션은 화상 계층(806-808) 중 어느 하나 또는 그 이상의 단독으로 또는 결합되어 수행될 수 있다. 이러한 경우에, 파일(800)은 애니메이션 제어 정보를 포함하는 애니메이션 제어 블럭(804)을 포함한다.
각 화상 계층(예컨대, 806)은 파일(800)내에 포함되거나, 참조되거나, 또는 룩업테이블을 통해 화상 엘리먼트와 맵핑(mapping)에 의해 유도되는 하나 또는 그 이상의 코드스트림으로 제시될 수 있는 하나 또는 그 이상의 채널을 포함한다. 파일(800)내에 포함된 각 코드스트림 또는 참조는 하나 또는 그 이상의 파일 엘리먼트내에 제시된다. 헤더 엘리먼트내의 정보는, 완전한 코드스트림을 회복하고 이들을 화상 계층으로 디코딩하기 위해, 파일 판독기에 의해 사용된다. 예컨대, 상기한 바와 같이, 헤더 엘리먼트내의 정보는 코드스트림 플래그(예컨대, 코드스트림 인덱스, 코드스트림의 수, 코드스트림의 유형), 컬러 플래그(예컨대, sRGB 컬러 스페이스, 제한 ICC 프로파일, 팰릿화된 컬러), 및 메타데이터 플래그(예컨대, 지적 재산권 권리 정보, 내용 기재 사항, 생성 정보, 및 역사 정보)를 포함할 수 있다.
각 계층(예컨대, 806)의 채널은 픽셀값 배열을 포함한다. 이들은 파일(800)의 헤더(802)내에 정의되는 컬러 스페이스에 특유한 컬러 정보의 표본들에 대응한다. 또한, 단일 채널은 그레이스캐일(greyscale) 화상에서와 같은 세기 표본에 대응할 수 있다. 또한, 하나 또는 그 이상의 채널은, 계층내의 다른 채널을 랜더링하는데 사용되도록, 불투명 정보의 표본을 포함할 수 있다. 이러한 채널은 보통 알파 채널이라 한다. 알파 채널 데이터는, 완전히 투명한 경우와 완전히 불투명한 경우에 대응하는 두개의 가능한 값들 중 단지 하나만을 취하는 각 표본들을 갖는 이진(또는 양레벨(bi-level))일 수 있다. 이진 알파 데이터는, 고유 컬러를 완전히 투명한 모든 픽셀에 할당하는 것에 의해, 컬러 채널로 인코딩될 수도 있다.
파일(800)에 의해 표시된 도 8에 따라서 디지털 화상을 파일 포맷으로 인코딩하는 방법을 아래에서 설명한다. 파일(800)은, 파일내에 포함된 임의의 화상 계층을 표시하기 위해 요구되는 스크린 영역으로 제한되지 않지만 전역 파라미터를 가진 헤더(802)를 포함하는 파일 또는 코드스트림(800), 코드스트림 유형 및 채널 정보를 표시하며, 코드스트림 헤더 박스로 알려진 블럭(805), 및 임의의 적절한 방식(예컨대, RGB, L*a'b')을 이용하여 인코딩된 일련의 화상 계층(806-808)을 포함한다.
선택적으로, 코드스트림 헤더 박스(805)는 헤더(802)에 삽입될 수 있다.
도 11은, 도 8의 파일 포맷에 따라서, 코딩된 표현내의 디지털 화상을 인코딩하는 방법을 나타내는 흐름도이다. 프로세스는, 기재 사항(description)이 파일(800)(즉, 코딩된 표현)내의 디지털 화상(계층) 각각에 대해 결정되는 단계(1101)에서 시작한다. 단계(1103)에서, 기재 사항과 디지털 화상은 비트스트림으로 인코딩되며, 기재 사항들 중 적어도 어느 하나는 복수의 디지털 화상과 순차적으로 관련된다.
도 8로 돌아가면, 코드스트림 헤더 박스(805)는 파일(800)내의 화상 계층(806-808) 각각에 저장된 유형 및 채널 정보를 열거한다. 도 8의 파일 포맷과 함께 사용되기에 적절한 것으로서, 한가지 공지의 코드스트림 헤더 박스(Codestream Header Box) 유형으로는 'jcsh'(X'6A637368')이 있다.
코드스트림 헤더 박스(805)는, 도 8의 전개도에 도시된 바와 같이, 다수의 필드(901-917)를 포함한다. 코드스트림 헤더 박스(805)는 화상 계층(806-808) 각각과 관련된 각 코드스트림의 코드스트림 기재 사항을 포함한다. 예컨대, 계층이 두개의 코드스트림을 가지는 경우에, 코드스트림 헤더 박스(805)는 그 특정 계층에 대해 두개의 코드스트림 기재 사항을 포함하게 된다. 도 8의 파일 포맷에 따라서, 코드스트림 기재 사항은 필드(905 내지 907)를 포함하며, 이는 도 8에 도시된 바와 같다.
NL 문자로 표시된 필드(901)는 파일내의 계층의 수를 포함한다. NC 문자로 표시된 필드(903)는 파일내의 코드스트림의 수를 포함한다. CTi 문자로 표시된 필드(905)는 현재 처리된 코드스트림(i) 에 대해서 코드스트림의 유형을 지정한다. 예컨대, 코드스트림(i)은 JPEG 표준, EZW(Embedded Zerotree Wavelet) 압축, SPIHT(Set Partitioning in Hierarchical Trees) 알고리즘, 확장 가능 화상 압축(Scalable Image Compression), 또는 임의의 다른 적절한 화상 압축 방법에 따라서 인코딩될 수 있다. CSi 문자로 표시된 필드(907)는 현재 처리된 코드스트림(i)의 컬러 명세 수(colour specification number)를 기술한다. 필드(907)내의 0값은 코드스트림(i)에 대해 사용된 컬러 명세가 없다는 것을 지정한다. PLTi 문자로 표시된 필드(909)는 코드스트림(i)의 팰릿 수(palette number)를 기술한다. 필드(909)의 0값은 코드스트림(i)에 대해 사용된 팰릿이 없다는 것을 지정한다. LYRi 문자로 표시된 필드(911)는 코드스트림(i)이 대응하는 계층을 지정한다. 바람직하게도, 계층들은 파일(800)내의 제 1 계층(806)을 표시하는 1부터 마지막 계층(808)을 표시하는 n까지 분류된다. NLCi 문자로 표시된 필드(913)는 코드스트림(i) 내의 논리 성분의 수를 지정한다. CLTi 문자로 표시된 필드(915)는 i번째 코드스트림 내의 x번째 논리 성분내의 데이터의 속성을 정의한다. 필드(915)는 네개의 수'0,1,2,또는 3' 중 어느 하나를 가진다. 필드(915)의 0-3 각각의 값에 관한 의미는 아래의 표 5에 도시되어있다.
유형 의미
0 컬러 스페이스 명세(그레이스캐일 포함)의 특정 채널에 직접적으로 관련될 수 있는 세기 데이터
1 0-1의 범위에서 표시되는 불투명 데이터
2 관련(사전에 곱해진) 불투명 데이터
3 관련 데이터의 상대적인 주파수. 이것은 파일 판독기가 컬러를 재양자화(requantizing)할 때 유용한 결정을 하도록하기위해 제안된 팰릿들과 함께 주로 사용된다.
CLAiX 문자로 표시된 필드(917)는 현재 계층의 데이터가 관련되는 컬러 채널을 표시하는 인덱스를 포함한다. 필드(917)는 수치적인 값이 바람직하며, 네트워크 바이트 순서를 사용하여 16비트 비할당 정수로 인코딩되는 것이 바람직하다. 필드(917)의 값은 i번째 코드스트림의 x번째 논리 성분을 지정된 컬러 스페이스내의 채널과 관련시킨다. 컬러 공간 내의 채널들은 1에서 m으로 숫자가 매겨지는 것이 바람직하며, 여기에서 m은 채널의 수를 표시한다. 예컨대, 컬러 사양이 sRGB인 경우에, 1값은 그 성분을 빨강 채널(Red channel)과 관련시킨다. 또한, 특정값(0)은 성분을 지정된 컬러 스페이스의 모든 컬러 채널과 관련시킨다. 휘도로 (0)을 사용하는 것은 코드스트림이 그레이스캐일 표본을 포함한다는 것을 지정하기 위해 사용될 수 있다.
도 8의 파일 포맷에 따라서, 필드(901-917) 각각의 크기 및 각 필드가 설정될 값은 아래의 표 6에 도시되어 있다.
필드 명칭 크기(비트)
NL 32 1-(232-1)
NC 32 1-(232-1)
CT 64(UUID) 0-(264-1)
CS 32 0-(232-1)
PLT 32 0-(232-1)
LYR 32 1-(232-1)
NLC 32 1-(232-1)
CLT 32 0-(232-1)
CLA 32 0-(232-1)
코드스트림 헤더 박스(805)의 마지막 계층 기재 사항은 파일(800)내의 모든 잔여 계층을 기술하는 데에 사용되는 것이 바람직하다. 예컨대, 파일(800)이 200개의 계층과 3개의 계층 기재 사항을 포함한다면, 첫번째 두개의 계층 기재 사항들은 첫번째 두개의 계층을 기술하고, 세번째 계층 기재 사항은 파일(800)내의 나머지 198개의 계층을 기술하는 것이다. 즉, 마지막 비지정 계층은 필요할 때 반복되는 것이다. 따라서, 동일한 기재 사항을 갖는 많은 계층이 단일 기재 사항에 의해 표시될 수 있어서, 보다 효율적인 파일 포맷이 가능하게 되는데, 이는 각 계층에 대응하는 기재 사항을 갖도록 할 필요가 없기 때문이다. 또한, 도 8의 파일 포맷 에 따라서 인코딩된 파일을 처리하기 위해 파일 판독기에 의해 요구되는 시간이 감소하게 된다.
일 예로서, 파일(800)이 아래의 표 7에 의해 정의된 바와 같은 다음 헤더 정보를 포함한 것으로 가정하자.
계층 코드스트림 컬러 정보
1 1 RGB
2 2 RGB
2 3 A
3 4 RGBA
4 5 RGBA
표 7에 있어서, 'RGB'는 RGB컬러 스페이스를 표시하며, 'A'는 알파 채널을 표시한다. 표 7의 예에 따라서, 코드스트림 헤더 박스(805)는 아래의 정보를 포함하며, 괄호로 표시된 '계층 기재 사항 수"는 설명의 편의상 부가된 것이다.
NL=4
NC=5
(계층 기재 사항 1)
CT1=EZW
CS1=1
PLT1=0
LYR1=1
NLC1=3
CLT11=0 CLT12=0 CLT13=0
CLA11=1 CLA12=2 CLA13=3
(계층 기재 사항 2)
CT2=EZW
CS2=1
PLT2=0
LYR2=2
NLC2=3
CLT21=0 CLT22=0 CLT23=0
CLA21=1 CLA22=2 CLA23=3
CT3=EZW
CS3=1
PLT3=0
LYR3=2
NLC3=1
CLT31=0
CLA31=1
(계층 기재 사항 3)
CT4=EZW
CS4=1
PLT4=0
LYR4=3
NLC4=4
CLT41=0 CLT42=0 CLT43=0 CLT44=1
CLA41=1 CLA42=2 CLA43=3 CLA44=0
계층 4는 지정되지 않았으며, 본 예에 따라서, 계층 3과 동일하다는 것을 의 미한다. 또한, 계층 기재 사항 2는, 계층 2가 두개의 코드스트림(즉, RGB 및 알파 채널 A)을 포함하는 것과 같이, 두개의 코드스트림 기재 사항을 포함하며, 이는 표 7로부터 알 수 있다. 표 7의 상기 예에 있어서, 파일(800)이 디코딩되는 경우에, 파일 판독기는 계층 기재 사항(즉, NL=4, 계층 기재 사항=3)보다 더 많은 계층이 있다는 것을 결정하고, 계층 4(및 임의의 나머지 계층들)를 기술하기 위해 계층 기재 사항 3을 활용한다.
본 발명의 또 다른 특징에 따라서, 파일(1000)용 헤더(1002)는, 도 9에서 알 수 있는 바와 같이, 파일(1000)내의 계층들(1006-1008) 각각에 대한 정의에 따른 계층의 수뿐만 아니라 표시된 화상의 폭과 높이를 포함하는 적어도 하나의 박스(1001)를 포함한다. 박스(1001)는 화상 크기 사양(1003), 계층 기재 사항(예컨대, 1005)(또는 계층 사양), 성분 맵핑 및 성분 변환 리스트를 통합(merge)한다. 이것은 헤더(1002)가 판독하기 용이하게 한다. 박스(1001)의 필드는 아래에서 보다 더 상세히 설명된다.
도 9의 파일 포맷에 따라서, 계층 기재 사항(예컨대, 1005)은 계층 기재 사항(1005)이 적용되는 연속 계층의 수를 지정하는 '반복' 플래그(925)를 포함한다. 반복 플래그는, 바람직하게는, '0-65535'의 범위에서 값을 가질 수 있다. '65535' 값을 갖는 반복 플래그(925)는 특정 계층 기재 사항이 파일(1000)내의 모든 나머지 계층들에 적용된다는 것을 암시한다. 반복 플래그(925)는 연속하는 계층들 그룹들이 유사한 계층 기재 사항을 가지게 허용한다. 따라서, 동일한 기재 사항을 갖는 많은 계층들이 단일 기재 사항에 의해 반복적으로 표시될 수 있어서 결과적으로 보 다 효율적인 파일 포맷이 가능하다.
도 9의 파일 포맷에 따라서, 각 계층 기재 사항(예컨대, 1005)은, 도 9의 전개도에서 알 수 있는 바와 같이, 코드스트림(1007)과 이들의 관련 코드스트림 기재 사항(1009)의 수를 포함한다. 각 코드스트림은 압축 유형(1011), 컬러 사양(1013), 팰릿에 의해 정의되는 성분 변환 또는 맵핑(1015), 및 성분 정의(1017)(유형 관련 쌍들)의 집합들 -성분마다 하나- 을 포함한다.
도 9의 파일 포맷에 따라서, 컬러 스페이스와 팰릿 모두는, 헤더(1002)내의 헤더 박스(921 및 919) 각각에 나타나는 컬러 명세들과 팰릿들의 집합으로 인덱스에 의해 지정된다. 성분 변환이나 팰릿 룩업은, 제 1 단계와 결과적인 픽셀들이 공용의 컬러 사양(colour spec)(예컨대, 제한 ICC 프로파일에 의해 정의되는 sRGB 또는 스페이스)에 의해 정의되는 컬러 스페이스에 할당되는 바와 같이, 디코딩된 화상 데이터에 적용되는 것이 바람직하다.
단일 계층 파일을 단일 컬러 사양 등에 의해 처리하는 경우에, 도 9의 헤더(1002)는, 도 10에 도시된 바와 같이, 헤더 박스(1019)로 단순화한다. 도 10은 도 9의 헤더(1002)에 의해 조장되는 모든 부가적인 성능들에 대해서 기준선 구문(baseline syntax)이 복잡하지 않다는 것을 나타낸다.
헤더 박스(1001, 1021)내의 필드들은 아래의 표 8에서 정의된다.
라벨(label) 인코딩 기재 사항
폭 (Width) 네트워크 바이트 순서내의 비부호 32비트 정수 파일을 표시하기 위해 필요한 표시 영역의 픽셀의 폭
높이 (Height) 네트워크 바이트 순서내의 비부호 32비트 정수 파일을 표시하기 위해 필요한 표시 영역의 픽셀의 높이
N계층 (Nlayers) 네트워크 바이트 순서내의 비부호 16비트 정수 파일내의 계층들의 수
계층 사양(1) (Layer spec(1)) 표 9 참조 파일내에 포함된 하나 또는 그 이상의 계층들에 대한 사양(즉, 기재 사항)
계층 사양 박스(923, 1023)내의 필드들은 아래의 표 9에서 정의된다.
라벨 인코딩 기재 사항
반복 (repeat) 네트워크 바이트 순서내의 비부호 16비트 정수 본 계층 사양(즉, 기재 사항)이 적용되는 연속하는 계층들의 수. 65535의 값은 파일내의 모든 나머지 계층들을 암시한다. 박스이후의 파일내의 반복 카운트에 의한 부가적인 계층 사양은 아무런 영향이 없다.
N코드스트림 (Ncodestream) 네트워크 바이트 순서내의 비부호 16비트 정수 본 계층을 포함하는 파일내의 연속하는 코드스트림의 수
코드스트림 명세(c) (Codestream spec(c)) 표 10 참조 본 계층을 포함하는 각 코드스트림에 대한 명세(즉, 기재 사항)
코드스트림(1009)내의 필드는 아래의 표 10에서 정의된다.
라벨 인코딩 기재 사항
유형 네트워크 바이트 순서내의 비부호 32 비트 정수 본 특정 코드스트림(예컨대, JPEG, EZW 등)으로 사용된 인코딩 방법
컬러 명세(colour spec) 네트워크 바이트 순서내의 비부호 16비트 정수 헤더 박스내에 정의된 컬러 사양의 집합들에 대한 인덱스
성분 맵핑 (component mapping) 표 11 참조 소망하는 컬러 표본을 복원하기 위해 수행될 팰릿 또는 성분 변환
성분 정의 (component definitions) 성분들을 컬러 명세의 채널들에 결합시키는 일련의 유형의 관련 쌍
성분 변환/맵핑 명세(1015)에 의해 정의되는 정보는 아래의 표 11, 표 12, 및 표 13에서 정의된다.
라벨 인코딩 기재 사항
변환 유형 (transform type) UUID(즉, Universal Unique Identifier)/enum 0=지정된 성분 변환 없음 1=매트릭스 변환 2=감마 조정(gamma adjustment) 3=매트릭스 변환 및 감마 조 정 4=팰릿
파라미터 (parameters) 표 12-13 참조 변환 유형에 적용가능한 파라미터
라벨 인코딩 기재 사항
N 네트워크 바이트 순서내의 비부호(insigned) 16비트 정수 변환된 성분의 수
매트릭스 네트워크 바이트 순서를 사용하는 16.16 고정 소수점 수의 벡터 N이 변환될 성분의 수를 나타내는 경우에, NxN+1매트릭스의 컬럼와이즈 스캔. 본 매트릭스의 마지막 열을 픽셀 데이터의 0 포인트를 변경하는 데에 사용할 수 있다.
라벨 인코딩 기재 사항
N 네트워크 바이트 순서내의 비부호 16비트 정수 변환될 성분의 수
감마(Gamma) 네트워크 바이트 순서를 사용하는 16.16 고정 소수점 수의 벡터 역변환에 사용될 지수부
맥스(Max) 네트워크 바이트 순서를 사용하는 16.16 고정 소수점 수의 벡터 최대 정수(maxint)가 맵핑될 값
0(Zero) 네트워크 바이트 순서를 사용하는 16.16 고정 소수점 수의 벡터 0 이 맵핑될 값
폭(Width) 네트워크 바이트 순서를 사용하는 16.16 고정 소수점 수의 벡터 0 주변의 선형 영역의 폭. 감마가 0 주변에서 대칭적으로 적용되더라도 양(positive)의 폭만이 지정된다.
슬로프(Slope) 네트워크 바이트 순서를 사용하는 16.16 고정 소수점 수의 벡터 선형 영역에 사용하기 위한 슬로프
도 12는 도 8 및 도 9의 파일 포맷(즉, 코딩된 표현)으로 하나 또는 그 이상의 화상을 인코딩하는 방법을 나타내는 흐름도이다. 프로세스는 필수 계층의 수가 결정되는 단계(1201)에서 시작한다. 다음 단계(1203), 계층 기재 사항이 각 계층에 대해 사용된 인코딩 유형과 각 계층내의 코드스트림의 수에 의존하는 각 계층에 대해 결정된다. 프로세스는 유사 기재 사항을 갖는 계층의 수를 결정하기 위해 계층 기재 사항들이 비교되는 다음 단계(1205)로 진행한다. 다음 단계(1207)에서, 계층의 제시 순서가 결정된다. 프로세스는, 기재 사항과 계층들이 비트스트림으로서 바람직한 파일 포맷이나 또는 선택적인 것으로 인코딩됨으로써, 유사 기재 사항 중 적어도 어느 하나가 바람직한 파일 포맷에 포함되는 다음 단계(1209)로 진행한다. 또한, 유사 기재 사항들을 갖는 이들 계층들은 특정 파일의 끝부분에 순차적으로 위치한다.
여기에 설명된 방법들은 JPEG 표준내에서 특별한 응용성을 가진다. 특히, JPEG2000 파트 원 표준(part one standard)은 파일이 순응할 이러한 표준들내에서 상기 표준들이나 프로파일들을 설명하는 4바이트 코드 리스트를 포함하는 프로파일 박스를 정의한다. 그러나, 여기에 설명된 방법들에 의해 어드레싱되는 JPEG2000 파트 원 표준에 대한 많은 제한들이 있다. 먼저, 개별적인 호환성을 설명하는 데에 동일한 4바이트 코드가 사용되지 못한다는 것을 보장하기 위해서는, JPEG2000 파트 원 표준에 대한 코드는 중앙의 관할 관청에 의해 지원되어야만 한다. 개별 공급자에 의해 생성될 수 있는 UUID들을 사용함에 있어서, 여기에 설명된 방법들은 개별적인 호환성을 설명하는데에 유일 코드가 사용되는 것을 보장한다.
두번째로, JPEG2000 파트 원 표준은, 어떤 기능들의 그룹이 필수적인 것인가에 대해서는 아무런 지시없이, 코드스트림에 대해서는 선택적인 일 그룹의 기능들을 리스트한다. 예컨대, JPEG2000 파트 투 표준과 결합된 복잡한 컬러 정의가 특정 코드스트림 전송을 위해 필요하다는 것을 정의할 아무런 방법이 없다. 여기에 기술된 방법들은 기능 그룹들을 정의할 수 있도록 해준다.
세번째로, 표준 또는 표준내의 프로파일에 대한 참조는 매우 조잡하여 특정 기능을 정의할 수 없다. 또한, 이러한 참조는 두개의 상이한 표준들간의 오버랩(overlap)을 허용하지 않는다. 예컨대, JPEG2000 파일은 제한 ICC 프로파일을 사용한다. 여기에 설명된 방법들은 단일 기능의 지정을 가능하게 하므로, 그 결과, 파일 포맷을 이해하고 제한 ICC 프로파일을 판독할 수 있는 것이라면, 여기에 설명된 방법에 따라서 포맷된 파일을 판독할 수 있게 된다.
네번째로, 파일이 JPEG2000 파트 원 표준 코드스트림, 헤더, 및 컬러 지정을 포함하는 경우, 상기 제안된 방식으로 파일을 기술함으로서 파일이 JPEG2000 호환성이라는 것을 파일이 지정할 필요없이 JPEG2000 호환가능 판독기가 파일을 판독할 수 있다.
다섯째로, 특정 파일이 많은 프로파일을 지정하고, 특정 기능을 지정하지 않는 경우에는, 판독기는 미래의 파일을 판독할 수 없을 수도 있다. 판독기가 미래의 파일을 판독하지 못하지만, 상기한 바와 같이, 프로파일에 의해 제공된 특정 기능을 이해하는 경우에는, 판독기는 여전히 파일을 판독할 수 있다.
상기한 호환성 박스내의 특징은 JPEG2000 파일에 널리 사용될 수 있다. JPEG2000 파일내의 다른 곳에서 참조되는 특징은, 열거된 값이나 또는 UUID를 이용하는 동일한 방식으로 식별가능하다. 예컨대, sRGB(값 16을 사용하는 것으로 정의 됨)는 컬러 지정내에서 사용할 수 있으며, 바람직하게는 호환성 박스내에서 동일한 값을 가진다.
또한, JPEG2000 표준내에 사용된 현행 UUID 리스트 박스는, UUID에 관한 더 많은 정보를 지정하기 위해 링크로 사용된 URL을 지정한다. JPEG2000 파트 원 표준에 따라서, 이러한 URL은 UUID 박스를 정의하기 위해 사용된다. 또한, UUID 리스트 박스는 상기한 호환성 박스내의 기능을 설명하기 위해 사용된 UUID들을 정의하는 데에 사용될 수 있다.
상기한 방법들은, 도 7에 도시한 바와 같이, 종래의 범용 컴퓨터 시스템(700)을 이용하여 실습하는 것이 바람직하며, 여기에서, 도 1 내지 도 6 및 도 8 내지 도 11의 프로세서들은 컴퓨터 시스템(700)내에서 실행하는 응용 프로그램과 같은 소프트웨어로서 구현될 수도 있다. 특히, 상기한 방법들은, 컴퓨터에 의해 수행되는 소프트웨어내의 명령문들에 의해 영향을 받는다. 소프트웨어는 두 개의 독립된 부분으로 나눌 수 있으며, 그 중 한 부분은 상기한 방식을 수행하기 위한 것이고, 다른 부분은 후자(latter)와 사용자간의 사용자 인터페이스를 관리하기 위한 것이다. 소프트웨어는, 상기한 바와 같은 저장 장치를 포함하는, 컴퓨터 판독가능 매체내에 저장될 수도 있다. 소프트웨어는 컴퓨터 판독가능 매체로부터 컴퓨터로 로딩된 다음, 컴퓨터에 의해 실행된다. 이러한 소프트웨어나 또는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 매체는 컴퓨터 프로그램 제품이다. 컴퓨터에서 컴퓨터 프로그램 제품을 사용함으로써 본 발명의 실시예에 따라서 디지털 화상을 인코딩하는 장치를 구현하는 것이 바람직하다.
컴퓨터 시스템(700)은 컴퓨터 모듈(701), 키보드(702) 및 마우스(703)와 같은 입력 장치, 및 프린터(715) 및 표시 장치(714)를 포함하는 출력 장치를 포함한다. 모듈레이터-디모듈레이터(Modem) 송수신기 장치(716)는 컴퓨터 모듈(701)에 의해, 예컨대, 전화선(721)이나 기타 기능 매체를 통해 접속가능한 컴퓨터 네트워크(720)간의 통신에 사용된다. 모뎀(716)은 인터넷과, 근거리 통신망(LAN)이나 또는 원거리 통신망(WAN)과 같은 기타 통신망 시스템에 대한 액세스를 얻는 데 사용될 수 있다.
컴퓨터 모듈(701)은, 통상적으로 적어도 하나의 프로세스 장치(705), 반도체 랜덤 액세스 메모리(RAM)와 읽기 전용 메모리(ROM)와 같은 것에 의해 형성되는 기억 장치(706), 비디오 인터페이스(707)를 포함하는 입력/출력(I/O) 인터페이스, 키보드(702)와 마우스(703) 및 선택적으로 조이스틱(미도시)용 I/O 인터페이스, 및 모뎀(716)용 인터페이스(708)를 포함한다. 저장 장치(709)가 제공되며, 통상적으로 하드디스크 드라이브(710) 및 플로피 디스크 드라이브(711)를 포함한다. 또한, 자기 테이프 드라이브(미도시)가 사용될 수도 있다. CD-ROM 드라이브(712)는 통상적으로 비휘발성 데이터 소오스로 제공된다. 컴퓨터(701)의 성분들(705 내지 713)은 통상적으로 상호 접속된 버스(704)에 의해, 그리고 당업자에게는 공지인 컴퓨터 시스템(700)의 통상적인 동작 모드로 귀결되는 방식으로 통신한다. 실시예가 실행된 컴퓨터의 예들로는 인텔 프로세스 기반의 PC들 및 그 호환기종, 선 스팍스테이션 또는 이들로부터 발전된 유사 컴퓨터 시스템을 포함한다.
통상적으로, 바람직한 실시예의 응용 프로그램은 하드디스크 드라이브(710)에 상주하며, 프로세서(705)에 의해 실행되는 동안에 판독되고 제어된다. 네트워크(720)로부터 추출된 프로그램 및 기타 데이터의 중간 저장은, 가능한 하드디스크 드라이브(710)와 공동으로 하되, 반도체 메모리(706)를 이용하여 달성될 수도 있다. 일부 예에 있어서, 응용 프로그램은 CD-ROM이나 플로피 디스크상에 인코딩된 사용자에게 공급될 수도 있으며, 대응 드라이브(712 또는 711)를 통해 네트워크(720)로부터 판독될 수도 있으며, 선택적으로는, 모뎀 장치(716)에 의해 네트워크(720)로부터 사용자에 의해 판독될 수도 있다. 또한, 소프트웨어는, 자기 테이프, ROM이나 집적 회로를 포함하는 기타 컴퓨터 판독가능 매체, 자기-광학 디스크, 컴퓨터 모듈(701)과 다른 장치간의 라디오나 적외선 전송 채널, PCMCIA 카드와 같은 컴퓨터 판독가능 카드, 및 웹사이트 등에 기록된 이메일 전송 및 정보를 포함하는 인터넷과 인트라넷으로부터 컴퓨터 시스템(700)에 로딩될 수 있다. 전술한 것은 관련 컴퓨터 판독가능 매체들의 단순한 예에 불과할 뿐이다. 본 발명의 범위와 사상으로부터 벗어나지 않고도, 다른 컴퓨터 판독가능 매체들이 실습될 수도 있다.
상기한 방법은, 선택적으로, 상기한 방법들의 기능들이나 또는 부기능들을 수행하는 하나 또는 그 이상의 집적 회로들과 같은 특정 하드웨어에서 실현될 수 있다. 이러한 특정 하드웨어는 그래픽 처리기, 디지털 신호 처리기, 또는 하나 또는 그 이상의 마이크로프로세서 및 관련 메모리를 포함할 수도 있다.
본 발명의 실시예는 컴퓨터와 데이터 처리 산업, 및 특히 이들 산업들의 개 별 분야에 응용될 수 있다는 것은 상기한 내용으로부터 자명하다. 또한, 본 발명의 실시예는 광고 및 오락 산업에도 응용될 수 있다.
전술한 것은 단지 본 발명의 일부 실시예들을 설명하는 것이며, 본 발명의 범위와 사상을 벗어나지 않은 채, 이에 대한 변경 및/또는 변화가 가능하고, 실시예들은 예시적인 것일 뿐 본 발명을 제한하려는 것은 아니다.

Claims (56)

  1. 전자 파일을 기록하고 있는 컴퓨터 판독가능 기록 매체이며,
    상기 전자 파일은:
    인코딩된 디지털 화상 데이터; 및
    복수의 불 연산(boolean operation)을 표시하는 식(expression) - 상기 식은 상기 인코딩된 디지털 화상 데이터가 판독될 수 있도록 하기 위해 상기 인코딩된 디지털 화상 데이터를 디코딩하기 위한 방법을 적어도 식별함 - 을 포함하는
    컴퓨터 판독가능 기록 매체.
  2. 제1항에 있어서,
    상기 복수의 불 연산은 적어도 하나의 비트와이즈 AND 연산자를 포함하는 컴퓨터 판독가능 기록 매체.
  3. 제1항에 있어서,
    상기 식은 비트와이즈 AND 연산자에 의해 분리된 직렬 비트와이즈 OR 연산을 나타내는 컴퓨터 판독가능 기록 매체.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 식은 적어도 하나의 식별 플래그(identification flag) 및 관련 마스크(associated mask)를 포함하도록 코딩되는 컴퓨터 판독가능 기록 매체.
  5. 제4항에 있어서,
    상기 식별 플래그는 열거 수치(enumerated value) 또는 범용 유니크 식별자(Universal Unique Identifier) 중 어느 하나를 지정하는 컴퓨터 판독가능 기록 매체.
  6. 제5항에 있어서,
    상기 열거 수치의 제1 비트는 상기 식별 플래그가 범용 유니크 식별자를 지정하는 것임을 나타내는 데 사용되는 컴퓨터 판독가능 기록 매체.
  7. 적어도 하나의 인코딩된 디지털 화상을 포함하는 전자 파일을 인코딩하는 방법이며,
    복수의 불 연산을 표시하는 식 - 상기 식은 상기 인코딩된 디지털 화상 데이터가 판독될 수 있도록 하기 위해 상기 인코딩된 디지털 화상 데이터를 디코딩하기 위한 방법을 적어도 식별함 - 을 결정하는 단계; 및
    상기 전자 파일의 지원 데이터 영역 내에 상기 식을 부가하는 단계
    를 포함하는 전자 파일 인코딩 방법.
  8. 제7항에 있어서,
    상기 복수의 불 연산은 적어도 하나의 비트와이즈 AND 연산자를 포함하는 전자 파일 인코딩 방법.
  9. 제7항에 있어서,
    상기 식은 비트와이즈 AND 연산자에 의해 분리된 직렬 비트와이즈 OR 연산을 나타내는 전자 파일 인코딩 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    상기 식은 적어도 하나의 식별 플래그 및 관련 마스크를 포함하도록 코딩되는 전자 파일 인코딩 방법.
  11. 제10항에 있어서,
    상기 식별 플래그는 열거 수치 또는 범용 유니크 식별자 중 어느 하나를 지정하는 전자 파일 인코딩 방법.
  12. 제11항에 있어서,
    상기 열거 수치의 제1 비트는 상기 식별 플래그가 범용 유니크 식별자를 지정하는 것임을 나타내는 데 사용되는 전자 파일 인코딩 방법.
  13. 적어도 하나의 인코딩된 디지털 화상을 포함하는 전자 파일을 인코딩하기 위한 장치이며,
    복수의 불 연산을 표시하는 식 - 상기 식은 상기 인코딩된 디지털 화상 데이터가 판독될 수 있도록 하기 위해 상기 인코딩된 디지털 화상 데이터를 디코딩하기 위한 방법을 적어도 식별함 - 을 수신하기 위한 수단; 및
    상기 전자 파일의 지원 데이터 영역 내에 상기 식을 부가하기 위한 수단
    을 포함하는 전자 파일 인코딩 장치.
  14. 제13항에 있어서,
    상기 복수의 불 연산은 적어도 하나의 비트와이즈 AND 연산자를 포함하는 전자 파일 인코딩 장치.
  15. 제13항에 있어서,
    상기 식은 비트와이즈 AND 연산자에 의해 분리된 직렬 비트와이즈 OR 연산을 나타내는 전자 파일 인코딩 장치.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서,
    상기 식은 적어도 하나의 식별 플래그 및 관련 마스크를 포함하도록 코딩되는 전자 파일 인코딩 장치.
  17. 제16항에 있어서,
    상기 식별 플래그는 열거 수치 또는 범용 유니크 식별자 중 어느 하나를 지정하는 전자 파일 인코딩 장치.
  18. 제17항에 있어서,
    상기 열거 수치의 제1 비트는 상기 식별 플래그가 범용 유니크 식별자를 지정하는 것임을 나타내는 데 사용되는 전자 파일 인코딩 장치.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 제7항에 있어서,
    상기 방법의 단계들은 컴퓨터 판독가능 기록 매체 상에 상주하는 프로그램의 하나 이상의 소프트웨어 모듈로서 구현되는 전자 파일 인코딩 방법.
  54. 제53항에 있어서,
    상기 프로그램은 프로세서에 의해 실행되는 전자 파일 인코딩 방법.
  55. 제54항에 있어서,
    상기 컴퓨터 판독가능 기록 매체 및 상기 프로세서는 컴퓨터 상에서 구성되는 전자 파일 인코딩 방법.
  56. 제13항에 있어서,
    상기 장치는 컴퓨터인 전자 파일 인코딩 장치.
KR1020027015737A 2000-05-29 2001-05-29 파일 포맷 호환성 허용 방법 KR100551669B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
AUPQ7833A AUPQ783300A0 (en) 2000-05-29 2000-05-29 A method for encoding an image file
AUPQ7833 2000-05-29
AUPQ7863A AUPQ786300A0 (en) 2000-05-31 2000-05-31 A method for enabling file format compatibility
AUPQ7863 2000-05-31
PCT/AU2001/000626 WO2001093200A1 (en) 2000-05-29 2001-05-29 A method for enabling file format compatibility

Publications (2)

Publication Number Publication Date
KR20030007666A KR20030007666A (ko) 2003-01-23
KR100551669B1 true KR100551669B1 (ko) 2006-02-13

Family

ID=25646343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015737A KR100551669B1 (ko) 2000-05-29 2001-05-29 파일 포맷 호환성 허용 방법

Country Status (7)

Country Link
US (1) US20040015491A1 (ko)
EP (1) EP1287493A4 (ko)
JP (1) JP3768959B2 (ko)
KR (1) KR100551669B1 (ko)
CN (1) CN1179304C (ko)
AU (2) AU6189701A (ko)
WO (1) WO2001093200A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954215B2 (en) 2002-06-28 2005-10-11 Microsoft Corporation System and method for employing non-alpha channel image data in an alpha-channel-aware environment
US8244663B2 (en) * 2009-05-27 2012-08-14 Sandisk Technologies Inc. Method and host device for enforcing a rule associated with a media file
CN102236881A (zh) * 2010-04-23 2011-11-09 卡西欧计算机株式会社 图像处理装置和图像处理方法
US10931968B2 (en) 2017-07-31 2021-02-23 Nokia Technologies Oy Method and apparatus for encoding or decoding video content including regions having looping videos of different loop lengths
WO2022205157A1 (zh) * 2021-03-31 2022-10-06 西门子(中国)有限公司 一种图像传输方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US95489A (en) * 1869-10-05 Improvement in dolls
US129203A (en) * 1872-07-16 Improvement in animal-traps
US250021A (en) * 1881-11-22 William a
US172149A (en) * 1876-01-11 Improvement in wire picket-fences
US103261A (en) * 1870-05-17 Improvement in saw-mills
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5457776A (en) * 1992-09-10 1995-10-10 Motorola, Inc. Compact memory for mixed text in graphics
US5768424A (en) * 1993-01-15 1998-06-16 Canon, Inc. Compression factor adjustment to facilitate image display
JP3203290B2 (ja) * 1994-03-31 2001-08-27 富士写真フイルム株式会社 ディジタル電子スチル・カメラおよびメモリ・カードへの記録方法
US5692155A (en) * 1995-04-19 1997-11-25 International Business Machines Corporation Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US6199074B1 (en) * 1997-10-09 2001-03-06 International Business Machines Corporation Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption
US6504571B1 (en) * 1998-05-18 2003-01-07 International Business Machines Corporation System and methods for querying digital image archives using recorded parameters
SE521021C2 (sv) * 1998-06-18 2003-09-23 Ericsson Telefon Ab L M Förfarande och anordning vid överförande av bilder
US6308284B1 (en) * 1998-08-28 2001-10-23 Emc Corporation Method and apparatus for maintaining data coherency
US6370626B1 (en) * 1999-04-30 2002-04-09 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6539462B1 (en) * 1999-07-12 2003-03-25 Hitachi Data Systems Corporation Remote data copy using a prospective suspend command
US6754682B1 (en) * 2000-07-10 2004-06-22 Emc Corporation Method and apparatus for enabling consistent ancillary disk array storage device operations with respect to a main application
AUPR110400A0 (en) * 2000-10-30 2000-11-23 Canon Kabushiki Kaisha Image transfer optimisation
US6799258B1 (en) * 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6708285B2 (en) * 2001-03-15 2004-03-16 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having system and method for handling controller resets
US6697881B2 (en) * 2001-05-29 2004-02-24 Hewlett-Packard Development Company, L.P. Method and system for efficient format, read, write, and initial copy processing involving sparse logical units
US6721851B2 (en) * 2001-08-07 2004-04-13 Veritas Operating Corporation System and method for preventing sector slipping in a storage area network

Also Published As

Publication number Publication date
KR20030007666A (ko) 2003-01-23
US20040015491A1 (en) 2004-01-22
AU2001261897B2 (en) 2004-12-16
JP3768959B2 (ja) 2006-04-19
EP1287493A1 (en) 2003-03-05
WO2001093200A1 (en) 2001-12-06
CN1432171A (zh) 2003-07-23
EP1287493A4 (en) 2006-08-16
CN1179304C (zh) 2004-12-08
JP2003535537A (ja) 2003-11-25
AU6189701A (en) 2001-12-11

Similar Documents

Publication Publication Date Title
Miano Compressed image file formats: Jpeg, png, gif, xbm, bmp
KR101137082B1 (ko) 사전-페이지화된 문서들을 포함하는 패키지들을 구성하는 방법들 및 시스템들
US20080048044A1 (en) Barcode Encoding and Decoding
JPH11161782A (ja) カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
KR20070011055A (ko) 문서의 부분들을 인터리빙하는 방법 및 장치
US6404930B2 (en) Signal processing equipment
KR100551669B1 (ko) 파일 포맷 호환성 허용 방법
US6320592B1 (en) Method and apparatus for separating image data from a color system in image processing
US8081093B2 (en) Code transforming apparatus and code transforming method
AU2001261897A1 (en) A method for enabling file format compatibility
JPH11308465A (ja) カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
US6912305B1 (en) Computer animation
Houchin et al. File format technology in JPEG 2000 enables flexible use of still and motion sequences
Frery et al. Image data formats and color representation
Takao et al. An image-oriented database system
CN1154363C (zh) 图象信息的编码方法及解码方法和装置
JPH01112377A (ja) 画像処理装置
Triantaphillidou et al. Digital image file formats
Burroughs et al. Data compression technology in ASIC cores
Callaghan et al. Structures and metrics for image storage and interchange
Bitstreams SMPTE REGISTERED DISCLOSURE DOCUMENT
AU760492B2 (en) Computer animation
AWARE et al. FAST-TRACK PROCEDURE
Ferilli et al. Digital Formats
KR950007129B1 (ko) 컴퓨터 그래픽 환경에서의 칼라 화상 표시방법 및 회로

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
FPAY Annual fee payment

Payment date: 20130123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150127

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160121

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee