KR102014628B1 - 이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR102014628B1
KR102014628B1 KR1020177025144A KR20177025144A KR102014628B1 KR 102014628 B1 KR102014628 B1 KR 102014628B1 KR 1020177025144 A KR1020177025144 A KR 1020177025144A KR 20177025144 A KR20177025144 A KR 20177025144A KR 102014628 B1 KR102014628 B1 KR 102014628B1
Authority
KR
South Korea
Prior art keywords
group
image
item
media
file
Prior art date
Application number
KR1020177025144A
Other languages
English (en)
Other versions
KR20170113657A (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 노키아 테크놀로지스 오와이
Publication of KR20170113657A publication Critical patent/KR20170113657A/ko
Application granted granted Critical
Publication of KR102014628B1 publication Critical patent/KR102014628B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/309Table of contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications

Abstract

비디오 인코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 실시예에 따라, 인코딩 방법은, 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 단계와, 하나 이상의 미디어 트랙을 컨테이너 파일 내에 포함시키는 단계와, 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 파일 내에 표시하는 단계와, 그룹에 대한 그룹화 유형을 파일 내에 표시하는 단계를 포함한다. 실시예에 따라, 디코딩 방법은, 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 컨테이너 파일로부터 파싱하는 단계, 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 단계, 그룹 및 그룹화 유형에 기반하여 개체 중의 하나 이상 및 정적 미디어 아이템에 대한 처리를 결정하는 단계를 포함한다.

Description

이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
본 출원은 이미지 파일 포맷(image file format)에 관련되고, 특히 의미론적으로(semantically) 관련된 이미지 시퀀스 트랙을 처리하는 것에 관련된다.
이 절은 청구항에 언급된 발명에 배경 또는 맥락을 제공하도록 의도된다. 여기서의 설명은 추구될 수 있는 개념을 포함할 수 있으나, 반드시 이전에 안출되거나 추구된 것은 아니다. 따라서, 여기에서 명확히 표시되지 않는 한, 이 절에서 기술된 것은 이 출원 내의 설명 및 청구항에 대한 선행 기술이 아니며 이 절에의 포함에 의해 선행 기술이라고 자인되지 않는다.
MPEG-H 이미지 파일 포맷은 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format: ISOBMFF)의 파생된 사양이다. 그것은 현재 HEVC 코딩된 스틸(still) 이미지 및 이미지 시퀀스를 (포함에 의해 및/또는 참조에 의해) 포함하도록 명시되었다. ISOBMFF와 유사한 이미지 파일 포맷은 객체 지향형(object oriented) 메커니즘을 사용하는데, 여기서 각각의 객체는 박스(box)로 칭해진다. 모든 미디어 데이터(media data) 및 그것의 관련된 메타데이터(metadata)가 박스 내로 캡슐화된다(encapsulated). 각각의 박스는 4개 문자 코드(four character code)(4CC)에 의해 식별되며, 박스의 유형과 크기에 대해 알리는 헤더(header)로 시작한다.
ISOBMFF는 대체 그룹(alternate group) 메커니즘, 트랙 그룹(track group) 메커니즘 및 샘플 그룹화(sample grouping) 메커니즘을 포함한다. 대체 그룹 메커니즘은 트랙이 서로에 대해 대안임을 나타내는 데에 사용될 수 있다. 트랙 그룹화 메커니즘은 표시된 그룹화 기준에 따라 트랙이 그룹화됨을 나타내는 데에 사용될 수 있다. 샘플 그룹화 메커니즘은 트랙 내의 샘플의 표시 그룹에 어떤 속성이 적용됨을 나타내는 데에 사용될 수 있다.
아이템, 아이템 및 트랙의 조합, 또는 더 작은 그룹을 더 큰 그룹으로 그룹화하기 위한 개선된 방안에 대한 필요성이 있다.
몇몇 실시예는 비디오 정보를 인코딩하고 디코딩하기 위한 방법을 제공한다.
발명의 예의 다양한 양상이 상세한 설명에 제공된다.
제1 양상에 따라, 다음을 포함하는 방법이 제공된다:
- 정적 미디어 아이템(static media item)을 컨테이너 파일(container file) 내에 포함시키는 것,
- 하나 이상의 미디어 트랙(media track)을 컨테이너 파일 내에 포함시키는 것,
- 정적 미디어 아이템 및 하나 이상의 개체(entity)가 그룹을 형성함을 파일 내에 표시하는 것,
- 그룹에 대한 그룹화 유형(grouping type)을 파일 내에 표시하는 것.
제2 양상에 따라, 적어도 하나의 프로세서, 그리고 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되되, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로써, 장치로 하여금 적어도 이하를 수행하게 하도록 구성된다:
- 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 것,
- 하나 이상의 미디어 트랙을 컨테이너 파일 내에 포함시키는 것,
- 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 파일 내에 표시하는 것,
- 그룹에 대한 그룹화 유형을 파일 내에 표시하는 것.
제3 양상에 따라, 컴퓨터에 의해 실행되는 경우, 다음을 수행하는 명령어로써 인코딩된 비일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)가 제공된다
- 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 것,
- 하나 이상의 미디어 트랙을 컨테이너 파일 내에 포함시키는 것,
- 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 파일 내에 표시하는 것,
- 그룹에 대한 그룹화 유형을 파일 내에 표시하는 것.
실시예에 따라, 하나 이상의 개체는 이하로부터 선택된다:
- 하나 이상의 트랙 중의 표시된(indicated) 트랙,
- 하나 이상의 트랙의 표시된 그룹,
- 표시된 서브트랙(sub-track),
- 표시된 샘플 그룹화(sample grouping)로서, 샘플 그룹화의 임의의 샘플 그룹 서술 엔트리에 맵핑된(mapped) 모든 샘플을 참조하는 트랙의 표시된 샘플 그룹화,
- 표시된 트랙의 표시된 샘플 그룹화의 특정한 표시된 샘플 그룹 서술 엔트리 또는 엔트리들에 맵핑된 샘플,
- 다른 정적 미디어 아이템.
실시예에 따라, 하나 이상의 트랙의 표시된 그룹은 이하 중 하나이다: 트랙의 대체 그룹(alternate group) 또는 어떤 표시된 유형의 트랙 그룹(track group).
실시예에 따라, 그룹화는 이하 중 하나 이상을 나타낸다: 그룹화된 아이템 및 트랙은 서로에 대한 대안임, 식별된 아이템 또는 트랙은 다른 식별된 아이템 또는 트랙을 위한 미리 보기(preview) 목적으로 사용됨, 아이템 또는 트랙은 동일한 기원(origin)을 가짐, 그룹화된 아이템 또는 트랙은 상이한 관점으로부터 동일한 장면(scene)을 표현함, 그룹화된 파생 이미지 아이템(derived image item)은 그룹화된 코딩된 이미지 아이템의 인코딩을 위해 입력으로서 사용되었음, 그룹화된 아이템 및 트랙은 동일함.
실시예에 따라, 서로에 대한 대안인 그룹화된 아이템 및 트랙은 이하 중 하나 이상을 나타낸다: 애니메이션(animation)과 스틸 이미지(still image)는 대안임, 파생 이미지를 위한 선택적 동작, 사전계산된 파생 이미지와 각 파생 이미지는 대안임.
실시예에 따라, 대안적인 픽처의 정보는 컨테이너 파일 내에 포함된다.
실시예에 따라, 식별자는 개체에 할당된다.
실시예에 따라, 제1 식별자 값은 제1 개체에 할당되고, 제2 식별자 값은 제2 개체에 할당된다.
실시예에 따라, 대안적인 픽처의 정보는, 이하의 특성 중 하나에 기반하여, 픽처의 대체 그룹에 관련된다: 상이한 공간적 해상도(spatial resolution), 상이한 픽처 종횡비(picture aspect ratio), 상이한 비트 깊이(bit depth), 상이한 색역(color gamut).
제4 양상에 따라, 다음을 포함하는 디코딩 방법이 제공된다
- 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것(parsing),
- 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것,
- 그룹 및 그룹화 유형에 기반하여 개체 중의 하나 이상 및 정적 미디어 아이템에 대한 처리를 결정하는 것.
제5 양상에 따라, 적어도 하나의 프로세서, 그리고 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되되, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로써, 장치로 하여금 적어도 이하를 수행하게 하도록 구성된다:
- 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것,
- 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것,
- 그룹 및 그룹화 유형에 기반하여 개체 중의 하나 이상 및 정적 미디어 아이템에 대한 처리를 결정하는 것.
제5 양상에 따라, 컴퓨터에 의해 실행되는 경우, 다음을 수행하는 명령어로써 인코딩된 비일시적 컴퓨터 판독가능 매체가 제공된다
- 정적 미디어 아이템 및 하나 이상의 개체가 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것,
- 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것,
- 그룹 및 그룹화 유형에 기반하여 개체 중의 하나 이상 및 정적 미디어 아이템에 대한 처리를 결정하는 것.
실시예에 따라, 개체는 이하 중 하나이다:
ㆍ 하나 이상의 트랙 중의 표시된 트랙,
ㆍ 하나 이상의 트랙의 표시된 그룹,
ㆍ 표시된 서브트랙,
ㆍ 표시된 샘플 그룹화로서, 샘플 그룹화의 임의의 샘플 그룹 서술 엔트리에 맵핑된 모든 샘플을 참조하는 트랙의 표시된 샘플 그룹화,
ㆍ 표시된 트랙의 표시된 샘플 그룹화의 특정한 표시된 샘플 그룹 서술 엔트리 또는 엔트리들에 맵핑된 샘플,
ㆍ 다른 정적 미디어 아이템.
실시예에 따라, 그룹화는 이하 중 하나 이상을 나타낸다: 그룹화된 아이템 및 트랙은 서로에 대한 대안임, 식별된 아이템 또는 트랙은 다른 식별된 아이템 또는 트랙을 위한 미리 보기 목적으로 사용됨, 아이템 또는 트랙은 동일한 기원을 가짐, 그룹화된 아이템 또는 트랙은 상이한 관점으로부터 동일한 장면을 표현함, 그룹화된 파생 이미지 아이템은 그룹화된 코딩된 이미지 아이템의 인코딩을 위해 입력으로서 사용되었음, 그룹화된 아이템 및 트랙은 동일함.
실시예에 따라, 상기 그룹화 유형은 그룹화된 아이템 및 트랙은 서로에 대한 대안임을 나타내고 상기 결정하는 것은 디스플레이하기 위해 개체 중의 하나 이상 및 정적 미디어 아이템 중 하나를 선택하는 것을 포함한다.
실시예에 따라, 서로에 대한 대안인 그룹화된 아이템 및 트랙은 이하 중 하나 이상을 나타낸다: 애니메이션과 스틸 이미지는 대안임, 파생 이미지를 위한 선택적 동작, 사전계산된 파생 이미지와 각 파생 이미지는 대안임.
실시예에 따라, 대안적인 픽처의 정보는 컨테이너 파일로부터 파싱된다.
실시예에 따라, 제1 픽처와 연관된 제1 값 및 제2 픽처와 연관된 제2 값이 동일한 값을 가짐을 파싱함으로써 제1 픽처와 제2 픽처는 대안임이 결정된다.
실시예에 따라, 미디어 파일 특성(미디어 파일 특성에 따라 대체 그룹이 형성됨)과, 특성에 관련된 픽처 특정적(picture-specific) 정보가 컨테이너 파일로부터 파싱된다.
본 발명의 예시적 실시예의 더욱 완벽한 이해를 위하여, 첨부된 도면과 관련하여 취해진 이하의 설명에 대한 언급이 이제 행해지는데,
도 1은 실시예에 따른 비디오 코딩 시스템의 블록도를 예시하고,
도 2는 실시예에 따른 장치의 레이아웃을 예시하며,
도 3은 실시예에 따라 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 구성을 예시하고,
도 4는 실시예에 따른 비디오 인코더(video encoder)의 블록도를 예시하며,
도 5는 실시예에 따른 비디오 디코더(video decoder)의 블록도를 예시하고,
도 6a 내지 도 6b는 이미지 및 그것의 아이템-id(item-id), 그리고 아이템의 상이한 그룹화를 예시하며,
도 7은 실시예에 따른 'grpl' 박스의 콘텐트(content)를 예시하고,
도 8은 트랙 베이스 미디어(track base media) 및 아이템 기반 미디어(item based media) 및 그것들의 관계의 예를 예시하며,
도 9는 실시예에 따른 'grpl' 박스의 콘텐트를 예시하고,
도 10은 이미지 아이템의 그룹화의 예를 예시하며,
도 11은 실시예에 따른 'grpl' 박스의 콘텐트를 예시하고,
도 12는 유효한 디스플레이가능한 이미지(valid displayable image)를 출력하는 파생 이미지(derived image) 아이템 및 미디어 아이템의 그룹화의 예를 예시하며,
도 13은 실시예에 따른 'grpl' 박스의 콘텐트를 예시하고,
도 14는 파생 이미지에 속하는 아이템 및 사전계산된(precomputed) 파생 이미지 아이템의 그룹화의 예를 예시하며,
도 15는 실시예에 따른 'grpl' 박스의 콘텐트를 예시하고,
도 16은 실시예에 따른 인코딩을 위한 방법의 흐름도이며,
도 17은 실시예에 따른 디코딩을 위한 방법의 흐름도이다.
도 1은 실시예에 따른 장치 또는 전자 디바이스(50)의 개략적인 블록도로서 비디오 코딩 시스템을 도시한다. 전자 디바이스(50)는 실시예에 따른 코덱(codec)을 포함할 수 있다. 도 2는 실시예에 따른 장치의 레이아웃을 도시한다. 도 1 및 도 2의 구성요소가 다음에서 설명될 것이다.
전자 디바이스(50)는 예컨대 무선 통신 시스템의 모바일 단말(mobile terminal) 또는 사용자 장비(user equipment)일 수 있다. 그러나, 발명의 실시예는 비디오 이미지를 인코딩하고 디코딩하는 것 또는 인코딩하는 것 또는 디코딩하는 것을 요구할 수 있는 임의의 전자 디바이스 또는 장치 내에 구현될 수 있음이 인식된다.
장치(50)는 디바이스를 포함하고 보호하기 위한 하우징(housing)(30)을 포함할 수 있다. 장치(50)는 또한 액정 디스플레이(liquid crystal display)의 형태로 된 디스플레이(32)를 포함할 수 있다. 다른 실시예에서 디스플레이는 이미지 또는 비디오를 디스플레이하기에 적합한 임의의 적합한 디스플레이 기술일 수 있다. 장치(50)는 키패드(keypad)(34)를 더 포함할 수 있다. 실시예에 따라, 임의의 적합한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예컨대, 사용자 인터페이스는 터치 감응 디스플레이(touch-sensitive display)의 일부로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 마이크(microphone)(36) 또는 임의의 적합한 오디오 입력부(audio input)(디지털 또는 아날로그 신호 입력부일 수 있음)를 포함할 수 있다. 장치(50)는 - 실시예에 따라 - 수화기(earpiece)(38), 스피커(speaker), 또는 아날로그 오디오 또는 디지털 오디오 출력 연결부 중의 임의의 것일 수 있는 오디오 출력 디바이스(audio output device)를 더 포함할 수 있다. 장치(50)는 또한 배터리(40)를 포함할 수 있(거나 실시예에서, 디바이스에는 임의의 적합한 모바일 에너지 디바이스(mobile energy device), 예를 들어 태양광 전지(solar cell), 연료 전지(fuel cell) 또는 태엽 발전기(clockwork generator)에 의해 전력이 공급될 수 있)다. 장치는 이미지 및/또는 비디오를 기록하는 것(recording) 또는 포착하는 것(capturing)이 가능한 카메라(42)를 더 포함할 수 있다. 실시예에 따라, 장치(50)는 다른 디바이스로의 단거리 가시선 통신(short range line of sight communication)을 위한 적외선 포트(infrared port)를 더 포함할 수 있다. 실시예에 따라, 장치(50)는 예컨대 블루투스(Bluetooth) 무선 연결 또는 USB/파이어와이어(firewire) 유선 연결과 같은 임의의 적합한 단거리 통신 방안을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 제어기(56) 또는 프로세서를 포함할 수 있다. 제어기(56)는 실시예에 따라 이미지 및 오디오 데이터의 형태로 양 데이터 모두를 저장할 수 있고/있거나 제어기(56) 상의 구현을 위한 명령어를 또한 저장할 수 있는 메모리(58)에 연결될 수 있다. 제어기(56)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 제어기에 의해 수행되는 코딩 및 디코딩을 돕는 데에 적합한 코덱 회로(54)에 또한 연결될 수 있다.
장치(56)는 카드 판독기(card reader)(48) 및 스마트 카드(smart card)(46), 예컨대 사용자 정보를 제공하는, 그리고 네트워크에서 사용자의 인증(authentication) 및 인가(authorization)를 위한 인증 정보를 제공하는 데에 적합한 UICC 및 UICC 판독기를 더 포함할 수 있다.
장치(50)는 제어기에 연결된, 그리고 예컨대 셀룰러 통신 네트워크(cellular communications network), 무선 통신 시스템 또는 무선 로컬 영역 네트워크(wireless local area network)와의 통신을 위한 무선 통신 신호를 생성하는 데 적합한 무선 인터페이스 회로(radio interface circuitry)(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에서 생성된 무선 주파수(radio frequency) 신호를 다른 장치(들)에 송신하기 위해 그리고 무선 주파수 신호를 다른 장치(들)로부터 수신하기 위해 무선 인터페이스 회로(52)에 연결된 안테나(44)를 더 포함할 수 있다.
실시예에 따라, 장치(50)는 이후에 처리를 위해 코덱(54) 또는 제어기에 전달되는 개별 프레임을 기록하거나 검출하는 것이 가능한 카메라를 포함한다. 실시예에 따라, 장치는 송신 및/또는 저장 전에 다른 디바이스로부터 처리를 위해 비디오 이미지 데이터를 수신할 수 있다. 실시예에 따라, 장치(50)는 또한 코딩/디코딩을 위해 이미지를 무선으로든 또는 유선 연결에 의해서든 수신할 수 있다.
도 3은 실시예에 따라 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 구성을 도시한다. 도 3에 관하여, 발명의 실시예가 활용될 수 있는 시스템의 예가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 여러 통신 디바이스를 포함한다. 시스템(10)은 (GSM, UMTS, CDMA 네트워크 등등과 같은) 무선 셀룰러 전화 네트워크, IEEE 802.x 표준 중 임의의 것에 의해 정의된 바와 같은 무선 로컬 영역 네트워크(Wireless Local Area Network: WLAN), 블루투스 개인 영역 네트워크(Bluetooth personal area network), 이더넷 로컬 영역 네트워크(Ethernet local area network), 토큰 링 로컬 영역 네트워크(token ring local area network), 광역 네트워크(wide area network) 및 인터넷을 포함하나 이에 한정되지 않는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다.
시스템(10)은 실시예를 구현하는 데 적합한 유선 및 무선 양자 모두의 통신 디바이스 및/또는 장치(50)를 포함할 수 있다. 예컨대, 도 3에 도시된 시스템은 인터넷(28)의 표현 및 모바일 전화 네트워크(mobile telephone network)(11)를 도시한다. 인터넷(28)으로의 연결성(connectivity)은 장거리 무선 연결과, 단거리 무선 연결과, 전화선, 케이블 선, 전력선 및 유사한 통신 경로를 포함하나 이에 한정되지 않는 다양한 유선 연결을 포함할 수 있으나, 이에 한정되지 않는다.
시스템(10) 내에 도시된 예시적 통신 디바이스는 전자 디바이스 또는 장치(50), 개인용 디지털 보조기기(Personal Digital Assistant: PDA)와 모바일 전화의 임의의 조합(14), PDA(16), 통합 메시징 디바이스(Integrated Messaging Device: IMD)(18), 데스크톱 컴퓨터(desktop computer)(20), 노트북 컴퓨터(notebook computer)(22)를 포함할 수 있으나, 이에 한정되지 않는다. 장치(50)는 움직이고 있는 개인에 의해 소지될 경우 이동식(mobile)이거나 고정식(stationary)일 수 있다. 장치(50)는, 차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 오토바이 또는 임의의 유사한 적합한 운송수단(mode of transport)을 포함하나 이에 한정되지 않는 운송수단 내에 또한 위치될 수 있다.
몇몇 또는 추가의 장치는 기지국(base station)(24)으로 무선 연결(25)을 통해 호출(call) 및 메시지를 발신하고 수신하고 서비스 제공자와 통신할 수 있다. 기지국(24)은 모바일 전화 네트워크(11) 및 인터넷(28) 간의 통신을 가능하게 하는 네트워크 서버(26)에 연결될 수 있다. 시스템은 추가적인 통신 디바이스 및 다양한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는, 코드 분할 다중 액세스(Code Division Multiple Access: CDMA), 모바일 통신을 위한 글로벌 시스템(Global Systems for Mobile communications: GSM), 범용 모바일 전기통신 시스템(Universal Mobile Telecommunications System: UMTS), 시분할 다중 액세스(Time Divisional Multiple Access: TDMA), 주파수 분할 다중 액세스(Frequency Division Multiple Access: FDMA) 송신 제어 프로토콜-인터넷 프로토콜(Transmission Control Protocol-Internet Protocol: TCP-IP), 단문 서비스(Short Messaging Service: SMS), 멀티미디어 메시징 서비스(Multimedia Messaging Service: MMS) 이메일, 인스턴트 메시징 서비스(Instant Messaging Service: IMS), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하나 이에 한정되지 않는 다양한 송신 기술을 사용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는 데에 수반되는 통신 디바이스는, 무선 연결, 적외선 연결, 레이저 연결, 케이블 연결 및 임의의 적합한 연결을 포함하나 이에 한정되지 않는 다양한 매체를 사용하여 통신할 수 있다.
비디오 코더는 입력 비디오를 저장/송신에 적합한 압축된 표현(compressed representation)으로 변환하는 인코더(encoder)와, 압축된 비디오 표현을 도로 가시적 형태(viewable form)로 압축을 풀(uncompress) 수 있는 디코더(decoder)를 포함할 수 있다. 인코더는 비디오를 더욱 조밀한 형태로(즉 더 낮은 비트율(bitrate)로) 표현하기 위해서 원래의 비디오 시퀀스 내의 어떤 정보를 폐기할(discard) 수 있다. 나중에 정의되는 바와 같이, 이미지 시퀀스를 인코딩하는 데에 비디오 인코더가 사용될 수 있고, 코딩된 이미지 시퀀스를 디코딩하는 데에 비디오 디코더가 사용될 수 있다. 이미지를 인코딩하는 데에 이미지 인코더 또는 비디오 인코더의 인트라 코딩(intra coding) 부분 또는 비디오 인코더가 사용될 수 있고, 코딩된 이미지를 디코딩하는 데에 이미지 디코더 또는 비디오 디코더의 인터 디코딩(inter decoding) 부분 또는 비디오 디코더가 사용될 수 있다.
인코딩 프로세스는 도 4에 예시된다. 도 4는 비디오 인코더의 일례를 예시하는데, 여기서 I n : 인코딩될 이미지; P' n : 이미지 블록의 예측된 표현; D n : 예측 에러 신호(Prediction error signal); D' n : 재구성된 예측 에러 신호(Reconstructed prediction error signal); I' n : 예비적 재구성된 이미지(Preliminary reconstructed image); R' n : 최종 재구성된 이미지(Final reconstructed image); T, T -1 : 변환(transform) 및 역변환(inverse transform); Q, Q -1 : 양자화(quantization) 및 역양자화(inverse quantization); E: 엔트로피 인코딩(Entropy encoding); RFM: 참조 프레임 메모리(Reference frame memory); P inter : 인터 예측(Inter prediction); P intra : 인트라 예측(Intra prediction); MS: 모드 선택(Mode selection); F: 필터링(Filtering)이다.
디코딩 프로세스는 도 5에 예시된다. 도 5는 비디오 디코더의 블록도를 예시하는데 여기서 P' n : 이미지 블록의 예측된 표현; D' n : 재구성된 예측 에러 신호; I' n : 예비적 재구성된 이미지; R' n : 최종 재구성된 이미지; T -1 : 역변환; Q -1 : 역양자화; E -1 : 엔트로피 디코딩(Entropy decoding); RFM: 참조 프레임 메모리; P: 예측(인터든 또는 인트라든); F: 필터링이다.
고급 비디오 코딩(Advanced Video Coding)(AVC로도 알려진 H.264/AVC) 표준은 국제 전기통신 연합 전기통신 표준화 섹터(Telecommunications Standardization Sector of International Telecommunication Union)(ITU-T)의 비디오 코딩 전문가 그룹(Video Coding Experts Group: VCEG) 및 국제 표준화 기구(International Organisation for Standardization: ISO)/국제 전기기술 위원회(International Electrotechnical Commission: IEC)의 동화상 전문가 그룹(Moving Picture Experts Group: MPEG)의 공동 비디오 팀(Joint Video Team: JVT)에 의해 개발되었다. H.264/AVC 표준은 두 모체 표준화 기구에 의해 발행되고, 그것은 ITU-T 권장(Recommendation) H.264 및 ISO/IEC 국제 표준(International Standard) 14496-10으로 지칭되는데, MPEG-4 Part 10 고급 비디오 코딩(Advanced Video Coding: AVC)으로도 알려져 있다. H.264/AVC 표준의 버전이 여럿 있었는데, 새로운 확장 또는 특징을 사양에 통합한다. 이들 확장은 스케일가능 비디오 코딩(Scalable Video Coding: SVC) 및 멀티뷰 비디오 코딩(Multiview Video Coding: MVC)을 포함한다.
고효율 비디오 코딩(High Efficiency Video Coding)(HEVC라고도 알려진 H.265/HEVC) 표준의 버전 1은 VCEG 및 MPEG의 비디오 코딩 공동 협력 팀(Joint Collaborative Team - Video Coding: JCT-VC)에 의해 개발되었다. 표준은 두 모체 표준화 기구에 의해 발행되었고, 그것은 ITU-T Recommendation H.265 및 ISO/IEC International Standard 23008-2로 지칭되는데, MPEG-H Part 2 고효율 비디오 코딩(High Efficiency Video Coding: HEVC)으로도 알려져 있다. H.265/HEVC의 버전 2는 스케일가능, 멀티뷰 및 충실도(fidelity) 범위 확장을 포함하였는데, 이는 각각 SHVC, MV-HEVC 및 REXT로 약칭될 수 있다. H.265/HEVC의 버전 2는 ITU-T Recommendation H.265 (10/2014)로서 사전발행되었고 2015년에 ISO/IEC 23008-2의 에디션(Edition) 2로서 발행될 가능성이 있다. 각각 3D-HEVC 및 SCC로 약칭될 수 있는 3차원(three-dimensional) 및 스크린 콘텐트 코딩(screen content coding) 확장을 비롯하여, H.265/HEVC에 대한 추가 확장을 개발하기 위해 현재 진행 중인 표준화 프로젝트가 있다.
동형 리소스 식별자(Uniform Resource Identifier: URI)는 리소스의 이름을 식별하는 데에 사용되는 문자의 스트링으로서 정의될 수 있다. 그러한 식별은 특정 프로토콜을 사용하는, 네트워크 상에서의 리소스의 표현과의 상호작용(interaction)을 가능하게 한다. URI는 URI를 위한 구체적인 구문론(syntax) 및 연관된 프로토콜을 명시하는 방안을 통해 정의된다. 동형 리소스 로케이터(Uniform Resource Locator: URL) 및 동형 리소스 명칭(Uniform Resource Name: URN)은 URI의 형태이다. URL은, 웹 리소스(web resoure)를 식별하고 리소스의 표현에 따라 작동하거나 이를 획득하는 수단을 명시하여, 그것의 주요 액세스 메커니즘 및 네트워크 위치 양자 모두를 명시하는 URI로서 정의될 수 있다. URN은 특정한 이름공간(namespace) 내의 이름에 의해 리소스를 식별하는 URI로서 정의될 수 있다. URN은 리소스를, 그것의 위치 또는 어떻게 그것을 액세스하는지를 암시하지 않고서 식별하기 위해 사용될 수 있다.
이용가능한 미디어 파일 포맷 표준은 ISO 베이스 미디어 파일 포맷(ISO/IEC 14496-12, 이는 ISOMBFF로 약칭될 수 있음)은 물론, ISOBMFF로부터 파생된 표준, 예를 들어 MPEG-4 파일 포맷(ISO/IEC 14496-14, MP4 포맷으로도 알려짐), NAL 단위 구조화된 비디오(NAL unit structured video)를 위한 파일 포맷(ISO/IEC 14496-15) 및 3GPP 파일 포맷(3GPP TS 26.244, 3GP 포맷으로도 알려짐)을 포함한다. ISO/IEC 14496-15는 ISOBMFF 준수 파일로 H.264/AVC 및/또는 HEVC 및/또는 그것의 확장의 비트스트림을 저장하는 것을 명시한다. (ISO 파일 포맷 자체를 포함하는) 언급된 파일 포맷은 물론 ISOBMFF로부터 파생된 다른 파일 포맷은 ISO 계통(family)의 파일 포맷으로 칭해질 수 있다.
컨테이너 파일 포맷(container file format)(이에 기반하여 실시예가 구현될 수 있음)의 예로서 ISOBMFF의 몇몇 개념, 구조 및 사양이 아래에 기술된다. 발명의 양상은 ISOBMFF에 한정되지 않고, 오히려 설명은 발명이 의거해서 부분적으로 또는 전적으로 실현될 수 있는 하나의 가능한 기준을 위해 주어진다.
ISO 베이스 미디어 파일 포맷 내의 하나의 빌딩 블록(building block)은 박스로 칭해진다. 각각의 박스는 헤더 및 페이로드를 가질 수 있다. 박스 헤더는 박스의 유형 및 바이트(byte)의 측면에서의 박스의 크기를 나타낸다. 박스는 다른 박스를 둘러쌀(enclose) 수 있고, ISO 파일 포맷은 소정의 유형의 박스 내에 어느 박스 유형이 허용되는지를 명시한다. 나아가, 몇몇 박스의 존재는 각각의 파일 내에서 의무적일 수 있으나, 다른 박스의 존재는 선택적일 수 있다. 추가적으로, 몇몇 박스 유형에 대해, 파일 내에 존재하는 하나보다 많은 박스를 갖는 것이 허용가능할 수 있다. 그러므로, ISO 베이스 미디어 파일 포맷은 박스의 계층구조적인(hierarchical) 구조를 명시한다고 간주될 수 있다. ISO 베이스 미디어 파일의 각각의 박스는 4개 문자 코드(four-character code)(4CC, fourCC)에 의해 식별될 수 있다. 4개 문자 코드는 (8비트 값으로의 문자의 어떤 변환, 어떤 비트 엔디언(bit endianness) 및 어떤 바이트 엔디언(byte endianness)을 가정함으로써) 32비트 무부호(unsigned) 정수에 의해 교환가능하게 표현될 수 있다. 헤더는 박스의 유형과 크기에 대한 정보를 제공할 수 있다.
ISO 계통의 파일 포맷에 따르면, 파일은 별개의 박스 내에 둘러싸일 수 있는 미디어 데이터와 메타데이터를 포함할 수 있다. 예시적 실시예에서, 미디어 데이터는 미디어 데이터 (mdat) 박스 내에 제공될 수 있고 무비(movie) (moov) 박스는 메타데이터를 둘러싸는 데에 사용될 수 있다. 몇몇 경우에, 파일이 동작가능하기 위해, mdat 및 moov 박스 양자 모두가 존재하여야 한다. 무비(moov) 박스는 하나 이상의 트랙을 포함할 수 있고, 각각의 트랙은 하나의 대응하는 트랙 (trak) 박스 내에 상주할(reside) 수 있다. 각각의 트랙은 트랙 유형을 명시하는, 4개 문자 코드에 의해 식별되는 핸들러(handler)와 연관된다. 비디오, 오디오 및 이미지 시퀀스 트랙은 집합적으로 미디어 트랙으로 칭해질 수 있고, 그것은 기초 미디어 스트림(elementary media stream)을 포함한다. 다른 트랙 유형은 힌트 트랙(hint track) 및 시간맞춤 메타데이터 트랙(timed metadata track)을 포함한다. 트랙은 오디오 또는 비디오 프레임과 같은 샘플을 포함한다. 미디어 트랙은 미디어 압축 포맷(그리고 ISO 베이스 미디어 파일 포맷으로의 그것의 캡슐화)에 따라 포맷화된 (미디어 샘플로도 지칭될 수 있는) 샘플을 나타낸다. 힌트 트랙은 표시된 통신 프로토콜 상에서의 송신을 위한 패킷을 구성하기 위한 쿡북(cookbook) 명령어를 포함하는 힌트 샘플을 나타낸다. 쿡북 명령어는 패킷 헤더 구성을 위한 안내를 포함할 수 있고 패킷 페이로드 구성을 포함할 수 있다. 패킷 페이로드 구성에서, 다른 트랙 또는 아이템 내에 상주하는 데이터가 참조될 수 있다. 이와 같이, 예컨대, 다른 트랙 또는 아이템 내에 상주하는 데이터는 패킷 구성 프로세스 동안에 특정한 트랙 또는 아이템 내의 데이터 중 어느 부분이 패킷 내로 복사되도록 지시되는지에 관한 참조에 의해 나타내어질 수 있다. 시간맞춤 메타데이터 트랙은 언급된 미디어 및/또는 힌트 샘플을 서술하는 샘플을 나타낼 수 있다. 하나의 미디어 유형의 제시(presentation)를 위해, 하나의 미디어 트랙이 선택될 수 있다. 트랙의 샘플은 샘플의 표시된 디코딩 순서에서 가령 1만큼 증분될(incremented) 수 있는 샘플 번호와 묵시적으로 연관될 수 있다. 트랙 내의 첫 번째 샘플은 샘플 번호 1과 연관될 수 있다.
'trak' 박스는 샘플 테이블(Sample Table) 박스를 포함한다. 샘플 테이블 박스는 가령 트랙 내의 미디어 샘플의 모든 시간 및 데이터 색인화(indexing)를 포함한다. 샘플 테이블 박스는 샘플 서술(Sample Description) 박스를 포함하도록 요구된다. 샘플 서술 박스는 박스 내에 포함된 샘플 엔트리의 수를 명시하는 엔트리 카운트 필드(entry count field)를 포함한다. 샘플 서술 박스는 적어도 하나의 샘플 엔트리를 포함하도록 요구된다. 샘플 엔트리 포맷은 트랙을 위한 핸들러 유형에 의존한다. 샘플 엔트리는 사용되는 코딩 유형에 대한 상세 정보와, 그 코딩에 필요한 임의의 초기화 정보를 준다.
ISO 베이스 미디어 파일 포맷은 제시를 하나의 파일 내에 포함되도록 한정하지 않는다. 이와 같이, 제시는 몇 개의 파일 내에 포함될 수 있다. 일례로서, 하나의 파일은 전체 제시를 위한 메타데이터를 포함할 수 있고 이로써, 제시가 자족적(self-contained)이게 하기 위해 모든 미디어 데이터를 포함할 수 있다. 다른 파일은, 만일 사용되는 경우, ISO 베이스 미디어 파일 포맷으로 포맷화될 것이 요구되지 않을 수 있고, 미디어 데이터를 포함하는 데에 사용될 수 있으며, 사용되지 않는 미디어 데이터, 또는 다른 정보를 또한 포함할 수 있다. ISO 베이스 미디어 파일 포맷은 오직 제시 파일(presentation file)의 구조에 관계한다. 미디어 데이터 파일의 포맷은 미디어 파일 내의 미디어 데이터가 ISO 베이스 미디어 파일 포맷 또는 그것의 파생 포맷에 명시된 바와 같이 포맷화된다는 점에서만 ISO 베이스 미디어 파일 포맷 또는 그것의 파생 포맷에 의해 제한될 수 있다.
외부의 파일을 참조할 능력은 데이터 참조를 통해 실현될 수 있다. 몇몇 예에서, 각각의 트랙 내에 포함된 샘플 서술 박스는 샘플 엔트리의 리스트를 제공할 수 있는데, 각각은 사용되는 코딩 유형에 대한 상세 정보와, 그 코딩에 필요한 임의의 초기화 정보를 제공한다. 청크(chunk)의 모든 샘플 및 트랙 단편(track fragment)의 모든 샘플은 동일한 샘플 엔트리를 사용할 수 있다. 청크는 하나의 트랙을 위한 샘플의 인접 세트(contiguous set)로서 정의될 수 있다. 각각의 트랙 내에 또한 포함될 수 있는 데이터 참조(Data Reference) (dref) 박스는 동형 리소스 로케이터(Uniform Resource Locator: URL), 동형 리소스 명칭(Uniform Resource Name: URN), 그리고/또는 메타데이터를 포함하는 파일에 대한 자기참조(self-reference)의 색인된 리스트(indexed list)를 정의할 수 있다. 샘플 엔트리는 데이터 참조 박스의 하나의 인덱스(index)를 가리킬 수 있는바, 이로써 각 청크 또는 트랙 단편의 샘플을 포함하는 파일을 나타낸다.
무비 단편은 가령 만일 기록 애플리케이션이 고장 나거나, 메모리 공간을 다 써버리거나, 몇몇 다른 사건이 일어나는 경우 데이터를 잃어버리는 것을 피하기 위해서 ISO 파일로 콘텐트를 기록하는 경우에 사용될 수 있다. 무비 단편이 없으면, 파일 포맷은 모든 메타데이터, 가령, 무비 박스가 파일의 하나의 인접 영역(contiguous area) 내에 기입될 것을 요구할 수 있기 때문에 데이터 손실이 발생할 수 있다. 나아가, 파일을 기록하는 경우, 이용가능한 스토리지의 크기에 대해 무비 박스를 버퍼링할 충분한 양의 메모리 공간(가령, 랜덤 액세스 메모리(Random Access Memory: RAM))이 있지 않을 수 있고, 무비가 닫힌 경우에 무비 박스의 내용을 재계산하는 것은 너무 느릴 수 있다. 더욱이, 무비 단편은 정규의 ISO 파일 파서(parser)를 사용하여 파일의 동시적인 기록 및 플레이백(playback)을 가능하게 할 수 있다. 나아가, 무비 단편이 사용되고 무비 단편 없이 구조화되나 동일한 미디어 콘텐트를 갖는 파일에 비해 초기 무비 박스가 더 작은 경우, 점진적인 다운로딩, 가령 파일의 동시적인 수신 및 플레이백을 위해 초기 버퍼링의 더 작은 지속기간(duration)이 요구될 수 있다.
무비 단편 특징은 그렇지 않으면 무비 박스 내에 상주할 수 있는 메타데이터를 여러 조각으로 나누는 것을 가능하게 할 수 있다. 각각의 조각은 트랙의 어떤 시간 구간에 대응할 수 있다. 다시 말해, 무비 단편 특징은 파일 메타데이터 및 미디어 데이터를 인터리빙하는 것(interleaving)을 가능하게 할 수 있다. 결과적으로, 무비 박스의 크기는 한정될 수 있고 위에 언급된 용례가 실현될 수 있다.
몇몇 예에서, 무비 단편을 위한 미디어 샘플은, 만일 그것이 moov 박스와 동일한 파일 내에 있는 경우, mdat 박스 내에 상주할 수 있다. 그러나, 무비 단편의 메타데이터를 위해, moof 박스가 제공될 수 있다. moof 박스는 이전에 moov 박스 내에 있었을 것인 플레이백 시간의 어떤 지속기간을 위한 정보를 포함할 수 있다. moov 박스는 혼자서 유효한 무비를 여전히 표현할 수 있지만, 추가로, 그것은 동일한 파일 내에 무비 단편이 후속할 것임을 나타내는 mvex 박스를 포함할 수 있다. 무비 단편은 제때에 moov 박스에 연관된 제시를 확장할 수 있다.
무비 단편 내에는, 트랙당 0부터 복수 개까지 아무 데든 포함하여, 트랙 단편의 세트가 있을 수 있다. 트랙 단편은 결국 0부터 복수까지 아무 데의 트랙 런(track run)을 포함할 수 있는데, 그 문서 각각은 그 트랙을 위한 샘플의 인접 런(contiguous run)이다. 이들 구조 내에서, 많은 필드가 선택적이며 디폴트화될(defaulted) 수 있다. moof 박스 내에 포함될 수 있는 메타데이터는 몇몇 경우에 상이하게 코딩될 수 있고 moov 박스 내에 포함될 수 있는 메타데이터의 서브세트로 한정될 수 있다. moof 박스 내에 포함될 수 있는 박스에 관한 세부사항은 ISO 베이스 미디어 파일 포맷 사양으로부터 찾아볼 수 있다. 자족적인 무비 단편은 파일 순서에 있어서 연속적인 moof 박스 및 mdat 박스로 이루어진다고 정의될 수 있고 여기서 mdat 박스는 (moof 박스가 메타데이터를 제공하는) 무비 단편의 샘플을 포함하며, 임의의 다른 무비 단편(즉 임의의 다른 moof 박스)의 샘플을 포함하지 않는다.
ISO 베이스 미디어 파일 포맷은 특정한 샘플과 연관될 수 있는 시간맞춤 메타데이터를 위한 세 개의 메커니즘을 포함한다: 샘플 그룹, 시간맞춤 메타데이터 트랙, 그리고 샘플 보조적 정보(sample auxiliary information). 파생된 사양은 이들 세 메커니즘 중 하나 이상과 유사한 기능을 제공할 수 있다.
ISO 베이스 미디어 파일 포맷 및 그것의 파생물, 예를 들어 AVC 파일 포맷 및 SVC 파일 포맷 내의 샘플 그룹화(sample grouping)는, 그룹화 기준에 기반하여, 하나의 샘플 그룹의 멤버(member)이도록 트랙 내의 각각의 샘플을 할당하는 것으로 정의될 수 있다. 샘플 그룹화 내의 샘플 그룹은 인접 샘플인 것으로 한정되지 않으며 접하지 않는(non-adjacent) 샘플을 포함할 수 있다. 트랙 내의 샘플을 위한 하나보다 많은 샘플 그룹화가 있을 수 있으므로, 각각의 샘플 그룹화는 그룹화의 유형을 나타내는 유형 필드(type field)를 가질 수 있다. 샘플 그룹화는 두 개의 링크된(linked) 데이터 구조에 의해 표현될 수 있다: (1) SampleToGroup 박스(sbgp 박스)는 샘플 그룹으로의 샘플의 할당을 표현하고, (2) SampleGroupDescription 박스(sgpd 박스)는 그룹의 특질을 서술하는 각각의 샘플 그룹을 위한 샘플 그룹 엔트리를 포함한다. 상이한 그룹화 기준에 기반하여 SampleToGroup 및 SampleGroupDescription 박스의 여러 인스턴스가 있을 수 있다. 이들은 그룹화의 유형을 나타내는 데에 사용되는 유형 필드에 의해 구별될 수 있다. 'sbgp' 및 'sgpd' 박스는 grouping_type의 값을, 그리고 박스의 몇몇 버전에서, 또한 grouping_type_parameter의 값을 사용하여 링크될 수 있다. 'sbgp' 박스는 특정한 샘플이 속한 샘플 그룹 서술 엔트리의 인덱스를 나타낸다.
ISOBMFF에 합치하는 파일은 메타 박스(4개 문자 코드: 'meta') 내에 임의의 비시간맞춤 객체(non-timed object)(아이템, 메타 아이템 또는 메타데이터 아이템으로 지칭됨)을 포함할 수 있다. 메타 박스의 이름은 메타데이터를 나타내나, 아이템은 일반적으로 메타데이터 또는 미디어 데이터를 포함할 수 있다. 메타 박스는 무비 박스(4개 문자 코드: 'moov') 내에, 그리고 트랙 박스(4개 문자 코드 'trak') 내에, 파일의 최상위 레벨에 상주할 수 있지만, 기껏해야 하나의 메타 박스가 파일 레벨, 무비 레벨 또는 트랙 레벨 각각에서 생길 수 있다. 메타 박스는 'meta' 박스 내용의 구조 또는 포맷을 나타내는 'hdlr' 박스를 포함하도록 요구될 수 있다. 메타 박스는 참조될 수 있는 임의의 수의 아이템을 열거하고 특징지을 수 있고 그것들 각각은 파일 이름과 연관될 수 있고 정수 값인 아이템 식별자(item_id)에 의해 파일과 고유하게 식별된다. 메타데이터 아이템은 예컨대 메타 박스의 'idat' 박스 내에 또는 'mdat' 박스 내에 저장되거나 별개의 파일 내에 상주할 수 있다. 만일 메타데이터가 파일의 외부에 위치되면 그것의 위치는 DataInformationBox(4개 문자 코드: 'dinf')에 의해 선언될 수 있다. 메타데이터가 XML 구문론을 사용하여 포맷화되고, MetaBox 내에 직접 저장되도록 요구되는 특정한 경우에, 메타데이터는 XMLBox(4개 문자 코드: 'xml') 내로든 또는 BinaryXMLBox(4개 문자 코드: 'bxml') 내로든 캡슐화될 수 있다. 아이템은 인접 바이트 범위(contiguous byte range)로서 저장될 수 있거나, 그것은 각각이 인접 바이트 범위인 몇 개의 구역 내에 저장될 수 있다. 다시 말해, 아이템은, 가령 인터리빙을 가능하게 하기 위해, 구역 내로 단편화되어(fragmented) 저장될 수 있다. 구역(extent)은 리소스의 바이트의 인접 서브세트(contiguous subset)인데, 리소스는 구역들을 결부시킴(concatenating)으로써 형성될 수 있다.
계층구조의 임의의 레벨(파일, 무비 또는 트랙)에서 하나보다 많은 메타 박스를 지원하기 위해서, 메타 박스 컨테이너 박스(meta box container box)('meco')가 하나의 ISO 베이스 미디어 파일 포맷으로서 사용될 수 있다. 메타 박스 컨테이너 박스는 계층구조의 임의의 레벨(파일, 무비 또는 트랙)에서 임의의 수의 추가적인 메타 박스를 지닐 수 있다. 이것은 가령 동일한 메타데이터가 두 개의 상이한, 대안적인 메타데이터 시스템 내에 제시되고 있는 것을 허용할 수 있다. 메타 박스 관계 박스(meta box relation box)('mere')는 얼마나 상이한 메타 박스가 서로 관련되는지, 가령 그것들이 정확히 동일한 (그러나 상이한 방안으로써 서술된) 메타데이터를 포함하는지 또는 하나가 다른 것의 수퍼세트(superset)를 표현하는지 서술하는 것을 가능하게 할 수 있다.
(URL 형태로도 지칭될 수 있는) URL 단편 식별자는 (단편 식별자 없이) URL의 기본 부분(base part)에 의해 표시되는, 파일과 같은 리소스의 일부를 액세스하기 위해 특정한 콘텐트 유형에 대해 지정될 수 있다. URL 단편 식별자는 예컨대 URL 내의 해쉬(hash)('#') 문자에 의해 식별될 수 있다. ISOBMFF를 위해, URL 단편 "#X"는 X와 동일한 track_ID를 갖는 트랙을 나타냄, "#item_ID=" 및 "#item_name="은 파일 레벨 메타 박스(들)를 나타냄, "#/item_ID=" 및 "#/item_name="은 무비 박스 내의 메타 박스(들)를 나타냄, 그리고 "#track_ID=X/item_ID=" 및 "#track_ID=X/item_name="은 X와 동일한 track_ID를 갖는 트랙 내의 메타 박스를 나타냄(무비 단편 내에서 잠재적으로 발견되는 메타 박스를 포함함)이 명시될 수 있다.
마트로스카(Matroska) 파일 포맷은 하나의 파일 내에 비디오, 오디오, 픽처 또는 서브타이틀(subtitle) 트랙 중 임의의 것을 저장하는 것이 가능하(나 이에 한정되지 않는)다. 마트로스카는 파생된 파일 포맷, 예를 들어 WebM을 위한 기준 포맷(basis format)으로서 사용될 수 있다. 마트로스카는 기준으로서 확장가능 이진 메타 언어(Extensible Binary Meta Language: EBML)를 사용한다. EBML은 XML의 원리에 의해 인도된 이진 및 옥텟(octet)(바이트) 정렬된(aligned) 포맷을 명시한다. EBML 그 자체는 이진 마크업(markup)의 기법의 일반화된 서술이다. 마트로스카 파일은 EBML "문서"(document)를 이루는 요소로 이루어진다. 요소는 요소 ID(Element ID), 요소의 크기를 위한 서술자(descriptor) 및 이진 데이터 그 자체를 포함한다. 요소는 중첩될(nested) 수 있다. 마트로스카의 세그먼트 요소(Segment Element)는 다른 최상위 레벨(레벨 1) 요소를 위한 컨테이너(container)이다. 마트로스카 파일은 하나의 세그먼트(Segment)를 포함할 수 있(으나 하나의 세그먼트로 이루어지도록 한정되지 않는)다. 마트로스카 파일 내의 멀티미디어 데이터는 각각 전형적으로 몇 초의 멀티미디어 데이터를 포함하는 클러스터(Cluster)(또는 클러스터 요소(Cluster Element)) 내에 조직화된다. 클러스터는 블록그룹(BlockGroup) 요소를 포함하는데, 이는 결국 블록 요소(Block Element)를 포함한다. 단서 요소(Cues Element)는 랜덤 액세스 또는 조사에서 도움이 될 수 있고 조사점(seek point)을 위한 파일 포인터(file pointer) 또는 각 타임스탬프(timestamp)를 포함할 수 있는 메타데이터를 포함한다.
MPEG-H 이미지 파일 포맷(Image File Format)(ISO/IEC 23008-12)은 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format: ISOBMFF)의 파생 사양이다. 이 특허 출원을 쓰는 시기에, ISO/IEC 23008-12는 초안 표준(draft standard)이었고 따라서 표준의 이름 및/또는 별명은 따라서 표준의 최종 버전에서 바뀔 수 있음이 이해될 필요가 있다. ISO 이미지 파일 포맷(ISO Image File Format: ISOIFF) 및 MPEG 이미지 파일 포맷과 같은 이름이 고려되었다. 표준 사양 자체 내에서(또는 아니면 문맥이 명확한 경우에), 이름 "이미지 파일 포맷"(Image File Format)은 ISO/IEC 23008-12를 나타내는 데에 사용될 수 있다.
MPEG-H 이미지 파일 포맷의 몇몇 개념, 구조 및 사양이 컨테이너 파일 포맷의 예로서 아래에 기술되는데, 이에 기반하여 실시예가 구현될 수 있다. 발명의 양상은 MPEG-H 이미지 파일 포맷에 한정되지 않고, 오히려 설명은 발명이 의거해서 부분적으로 또는 전적으로 실현될 수 있는 하나의 가능한 기준을 위해 주어진다.
MPEG-H 이미지 파일 포맷은 그것의 기본적 구조를 ISOBMFF로부터 도출한다. 그러므로, ISOBMFF와 유사한 MPEG-H 이미지 파일 포맷은 객체 지향형 메커니즘을 사용하는데, 여기서 각각의 객체는 박스로 칭해진다. 모든 미디어 데이터 및 그것의 관련된 메타데이터가 박스 내로 캡슐화된다. 각각의 박스는 4개 문자 코드(4CC)에 의해 식별되며, 박스의 유형과 크기에 대해 알리는 헤더로 시작한다.
MPEG-H 이미지 파일 포맷에 따르면, 스틸 이미지는 아이템으로서 저장된다. 코딩된 이미지를 포함하는 이미지 아이템은 독립적으로 코딩되고 그것의 디코딩에서 어떤 다른 아이템에도 의존하지 않는 것이 요구될 수 있다.
MPEG-H 이미지 파일 포맷의 맥락 내에서, 이하의 박스는 루트 레벨(root-level) 'meta' 박스 내에 포함될 수 있고 이하에 기술된 바와 같이 사용될 수 있다. MPEG-H 이미지 파일 포맷에서, 'meta' 박스의 핸들러(Handler) 박스의 핸들러 값은 'pict'이다. 코딩된 미디어 데이터를 포함하는 리소스(동일한 파일 내에 있든, 또는 동형 리소스 식별자에 의해 식별된 외부 파일 내에 있든)는 데이터 정보(Data Information)('dinf') 박스를 통해 리졸브되는(resolved) 반면, 아이템 위치(Item Location)('iloc') 박스는 참조된 파일 내의 매 아이템의 위치와 크기를 저장한다. 아이템 참조(Item Reference)('iref') 박스는 유형화된 참조(typed referencing)를 사용하여 아이템 간의 관계를 문서화한다(document). 만일 아이템의 모음(collection) 중에서 어떤 점에서 다른 것에 비해 가장 중요하다고 간주될 아이템이 있으면 이 아이템은 주요 아이템(Primary Item)('pitm') 박스에 의해 시그널링된다(signaled). 여기서 언급된 박스 외에, 'meta' 박스는 또한 아이템을 기술하는 데에 필요할 수 있는 다른 박스를 포함하도록 융통성이 있다.
'meta' 박스 접근법을 사용함으로써 저장된 모음 이미지가 주어지면, 이미지 간의 어떤 관계를 적합화하는(qualify) 것이 때때로 필수적이다. 그러한 관계의 예는 모음을 위한 커버 이미지를 표시하는 것, 모음 내의 이미지 중 일부 또는 전부를 위한 썸네일(thumbnail) 이미지를 제공하는 것, 그리고 모음 내의 이미지 중 일부 또는 전부를 알파 평면(alpha plane)과 같은 보조적 이미지와 연관시키는 것을 포함한다. 이미지의 모음 중의 커버 이미지는 'pitm' 박스를 사용하여 표시된다. 썸네일 이미지 또는 보조적 이미지는 각각 유형 'thmb' 또는 'auxl'의 아이템 참조를 사용하여 주요 이미지 아이템에 링크된다.
MPEG-H 이미지 파일 포맷은 파생 이미지를 지원한다. 아이템은 그것이 다른 아이템에 대한 'dimg' 아이템 참조를 포함하는 경우 파생 이미지이다. 파생 이미지는 명시된 입력 이미지에 대해 명시된 동작, 예를 들어 회전을 수행함으로써 획득된다. 파생 이미지를 획득하기 위해 수행되는 동작은 아이템의 item_type에 의해 식별된다. 파생 이미지에 대한 입력으로서 사용되는 이미지 아이템은, 가령 아이템 유형 'hvc1'을 갖는, 코딩된 이미지일 수 있거나, 그것은 다른 파생 이미지 아이템일 수 있다.
MPEG-H 이미지 파일 포맷 사양은 클린 어퍼처(clean aperture)(즉 크로핑(cropping)) 동작, 90도 배수(multiple-of-90-degree) 회전을 위한 회전 동작 및 이미지 오버레이(image overlay) 동작의 사양을 포함한다. 이미지 오버레이 'iovl' 파생 이미지는 더 큰 캔버스(canvas) 내에서 주어진 계층화 순서(layering order)로 하나 이상의 입력 이미지를 위치시킨다.
MPEG-H 이미지 파일 포맷의 파생 이미지 특징은 MPEG-H 이미지 파일 포맷 자체의 나중의 버전뿐만 아니라 외부의 사양이 새로운 동작을 명시할 수 있도록 확장가능하다.
이하의 정의는 가령 MPEG-H 이미지 파일 포맷 또는 유사한 파일 포맷의 맥락에서 사용될 수 있다. 코딩된 이미지는 이미지의 코딩된 표현(coded representation)으로서 정의될 수 있다. 파생 이미지는, 표시된 이미지에 대한 표시된 동작에 의해 파일 내에 표현되는 이미지로서 정의될 수 있고 표시된 동작을 표시된 이미지에 대해 수행함으로써 획득될 수 있다. 이미지는, 용어 이미지가 사용되는 맥락에 따라, 코딩된 이미지, 파생 이미지, 또는 상이한 컬러 컴포넌트의 픽셀의 하나 이상의 어레이(array)로서 정의될 수 있다. 이미지 모음은 MPEG-H 이미지 파일 포맷(또는 비슷한 것)에 따라 단일 파일의 아이템으로서 저장된 이미지의 세트로서 정의될 수 있다. 보조적 이미지(auxiliary image)는, 디스플레이되도록 의도되지 않을 수 있으나 보충적인 정보, 예를 들어 투명성 데이터(transparency data)를 제공하여, 각자의 주요 이미지(primary image)를 보완하는 이미지로서 정의될 수 있다. 커버 이미지는, 이미지 모음 또는 이미지 시퀀스를 나타내며 이미지 모음 또는 이미지 시퀀스의 선호되는 디스플레이 방법에 대해 어떤 다른 정보도 이용가능하지 않은 경우에 디스플레이되어야 하는 이미지로서 정의될 수 있다. 사전계산된 파생 이미지(pre-computed derived image)는 하나 이상의 다른 이미지로부터 파생된 코딩된 이미지로서 정의될 수 있다. 주요 이미지는, 아이템으로서 저장되며 보조적 이미지 또는 썸네일 이미지가 아닌 이미지로서 정의될 수 있다. 썸네일 이미지는 주요 이미지의 더 작은 해상도 표현으로서 정의될 수 있다.
이미지 시퀀스는, 권고 타이밍(advisory timing)과 연관될 수 있고 이미지가 인터 예측될 수 있는 이미지의 시퀀스로서 정의될 수 있다. MPEG-H 이미지 파일 포맷에서, 이미지 시퀀스는 ISOBMFF의 트랙 메커니즘에 따라 저장된다. 이미지 시퀀스 트랙은 이미지 간에 코딩 종속성(coding dependency)이 있는 경우 또는 이미지의 플레이백이 시간맞춤된 경우에 사용된다. 이미지 시퀀스 트랙 내의 타이밍(timing)은 플레이어(player)를 위한 권고라고 정의될 수 있다. 이미지 시퀀스 및 모션 비디오(motion video) 간을 구별하기 위해서, 새로운 핸들러 유형 'pict'가 MPEG-H 이미지 파일 포맷 내에 도입되었다.
MPEG-H 이미지 파일 포맷은 MPEG-H 이미지 파일 포맷에 합치하는 파일 내로 HEVC 코딩된 스틸 이미지 및 이미지 시퀀스를 (포함에 의해 및/또는 참조에 의해) 캡슐화하기 위한 사양을 포함한다. 다른 코딩 포맷으로써 코딩된 이미지 및 이미지 시퀀스를 MPEG-H 이미지 파일 포맷에 합치하는 파일 내로 캡슐화하는 것을 명시하는 것이 가능하다.
그룹화 메커니즘은 'meta' 박스 내의 아이템을 위해 아직 이용가능하게 되지 않았다. 나아가, 'meta' 박스 구조를 사용하여 정의된 이미지의 세트 및 트랙 구조를 사용하여 정의된 이미지 시퀀스(또는 다른 시간맞춤 미디어)가 의미론적으로 링크될 수 있는 용례가 있다. 상이하게 코딩된 구조 간의 이 의미론적 링크를 표시하는 방식은 MPEG-H 이미지 파일 포맷에 의해 정의되지 않았다.
MPEG-H 이미지 파일 포맷의 현재의 사양 내에, 의미론적으로 관련된 이미지 시퀀스 트랙 및 스틸 이미지의 그룹을 취급하는 어떤 일관적인 방식도 없다. 예컨대, 이미지 포착 디바이스는 고품질 이미지의 포착과 더불어 이미지의 짧은 버스트(burst)를 또한 기록할 수 있다. 이미지 버스트 및 고품질 이미지 양자 모두는 이미지 파일 포맷으로 저장될 수 있다. 그러나, 이미지 버스트 및 고품질 이미지가 의미론적으로 관련됨을 암시할 어떤 방식도 현재 없고 그래서 파일의 내용을 어떻게 제시할지를 정하는 것이 가능하다.
다른 예에서, 콘텐트 제공기(content provider)는 멀티뷰 이미지(multi-view image)를 독립적으로 코딩된 이미지의 세트로서 저장할 것을 판단할 수 있다. 이것을 MPEG-H 이미지 파일 포맷 내에 저장하는 경우, 이들 뷰 각각은 HEVC 스틸 이미지 프로파일을 사용하여 코딩될 수 있다. 그러나, 파일 내에 저장된 이미지의 세트가 멀티뷰 이미지로서 렌더링될(rendered) 수 있음을 판독기(reader)에게 알려주는 어떤 방식도 현재 없다.
현재, 트랙이 서로에 대한 대안임을 나타내는 데에 ISOBMFF의 대체 그룹 메커니즘이 사용될 수 있다. 트랙 헤더(Track Header) 박스는 alternate_group 구문론 요소를 포함한다. alternate_group의 값이 둘 이상의 트랙에 대해 동일한 경우, 이들 트랙은 트랙의 동일한 대체 그룹에 속하며, 서로에 대한 대안이라고 정의될 수 있다. 대체 그룹 내의 오직 하나의 트랙은 플레이백을 위해 선택되어야 한다.
대체 그룹 내의 모든 트랙은 미디어 선택을 위한 후보이나, 세션(sessino) 동안에 또는 플레이백 동안에 그 트랙 중 몇몇 간에 전환하는(switch) 것은 타당하지 않을 수 있다. 한 가지는 예를 들어 상이한 비트율의 비디오 트랙 간에 전환하는 것을 허용하고 프레임 크기를 유지하나 상이한 프레임 크기의 트랙 간에 전환하는 것을 허용하지 않을 수 있다. 동일한 방식으로 상이한 비디오 코덱 또는 상이한 오디오 언어의 트랙 간의 선택 - 그러나 전환은 아님 - 을 가능하게 하는 것이 바람직할 수 있다. 선택 및 전환을 위한 트랙 간의 구분은 대체 그룹뿐 아니라 전환 그룹(switch group)에 트랙을 할당함으로써 다루어질 수 있다. 하나의 대체 그룹은 하나 이상의 전환 그룹을 포함할 수 있다. 대체 그룹 내의 모든 트랙은 미디어 선택을 위한 후보이나, 전환 그룹 내의 트랙은 세션 동안에 전환하기 위해 또한 이용가능하다. 상이한 전환 그룹은 상이한 동작점(point of operation), 예를 들어 상이한 프레임 크기, 고/저품질 등등을 표현한다고 간주될 수 있다.
ISOBMFF의 서브트랙(sub-track) 특징은, (전체) 트랙이 그런 트랙들이 서로에 대한 대안인지 그리고 세션 동안에 그것들 간에 전환하는 것이 타당한지를 나타내기 위해 대체 및 전환 그룹에 할당될 수 있는 것과 동일한 방식으로 트랙의 부분을 대체 및 전환 그룹에 할당하는 데에 사용될 수 있다. 서브트랙은 계층화된(layered) 미디어에 적합한데, 여기서 서브트랙은 트랙에 의해 표현된 계층의 서브세트를 둘러쌀 수 있다. 서브트랙 레벨에서 대체 및 전환 그룹을 정의함으로써 그러한 계층화된 코덱을 위한 미디어 선택 및 전환을 위해 기존의 규칙을 사용하는 것이 가능할 수 있다. 서브트랙 레벨 대체 및 전환 그룹은 트랙 레벨 그룹과 동일한 번호 매김(numbering)를 사용한다. 번호 매김은 그룹이 트랙 및 서브트랙 경계에 걸쳐서 정의될 수 있도록 모든 트랙 상에서 전역적(global)이다. 서브트랙으로의 코딩된 데이터의 맵핑은 사용 중인 미디어 코딩에 의존할 수 있다.
ISOBMFF의 트랙 그룹화 메커니즘은 표시된 그룹화 기준에 따라 트랙이 그룹화됨을 나타내는 데에 사용될 수 있다. 트랙 박스 내에 포함된 트랙 그룹(Track Group) 박스는 트랙의 그룹의 표시를 가능하게 하는데, 각각의 그룹은 특정한 특성을 공유하거나 그룹 내의 트랙은 특정한 관계를 가진다. 박스는 0개 이상의 박스를 포함하고, 특정한 특성 또는 관계는 포함된 박스의 박스 유형에 의해 표시된다. 포함된 박스는 식별자(32비트 무부호 정수)를 포함하는데, 이는 동일한 트랙 그룹에 속하는 트랙을 판단하는 데에 사용될 수 있다. 트랙 그룹 박스 내에 동일한 유형의 포함된 박스를 포함하고 이들 포함된 박스 내에 동일한 식별자 값을 가진 트랙은 동일한 트랙 그룹에 속한다.
그러나, 트랙의 대체 그룹 메커니즘도 트랙 그룹화 메커니즘도 트랙에 대한 아이템의 관계를 표시하는 것이 가능하지 않다.
또한, ISOBMFF의 샘플 그룹화 메커니즘은 트랙 내의 샘플의 표시 그룹에 어떤 특질이 적용됨을 나타내는 데에 사용될 수 있다. 이 메커니즘은 정적(static) 아이템을 위해 이용가능하지 않다.
이하에서 몇몇 예가 제공될 것이다.
본 실시예에 따라, 컨테이너 파일 포맷은, 트랙 내에 논리적으로 배열될(arranged) 수 있는, 정적 미디어 아이템(가령 이미지) 및 시간맞춤 미디어(가령 비디오)의 그룹화를 가능하게 하는 메커니즘을 포함한다.
실시예에 따른 방법이 도 16에 흐름도로서 예시된다. 방법은 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 것, 미디어 트랙을 컨테이너 파일 내에 포함시키는 것, 정적 미디어 아이템 및 미디어 트랙이 그룹을 형성함을 파일 내에 표시하는 것, 그리고 그룹에 대한 그룹화 유형(grouping type)을 파일 내에 표시하는 것을 포함한다.
다른 실시예에 따른 방법이 도 17에 흐름도로서 예시된다. 방법은 정적 미디어 아이템 및 미디어 트랙이 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것(parsing), 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것, 그룹 및 그룹화 유형에 기반하여 정적 미디어 아이템 및 미디어 트랙을 위한 처리를 결정하는 것을 포함한다.
실시예에서, 방법은 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 것, 하나 이상의 트랙을 컨테이너 파일 내에 포함시키는 것, 정적 미디어 아이템 및 이하의 개체 중 하나 이상이 그룹을 형성함을 파일 내에 표시하는 것:
- 하나 이상의 트랙 중의 표시된 트랙,
- 하나 이상의 트랙의 표시된 그룹, 이는 가령 트랙의 대체 그룹(일 수 있고 가령 ISOBMFF의 alternate_group 구문론 요소 또는 유사한 구문론 요소의 값에 의해 식별될 수 있음) 또는 어떤 표시된 유형의 트랙 그룹일 수 있음,
- 표시된 서브트랙,
- 표시된 샘플 그룹화로서, 그 샘플 그룹화의 임의의 샘플 그룹 서술 엔트리에 맵핑된(mapped) 모든 샘플을 참조하는 트랙의 표시된 샘플 그룹화,
- 표시된 트랙의 표시된 샘플 그룹화의 특정한 표시된 샘플 그룹 서술 엔트리 또는 엔트리들에 맵핑된 샘플,
- 다른 정적 미디어 아이템,
그리고 그룹에 대한 그룹화 유형을 파일 내에 표시하는 것을 포함한다.
실시예에서, 방법은 정적 미디어 아이템 및 이하의 개체 중 하나 이상이 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것:
- 하나 이상의 트랙 중의 표시된 트랙,
- 하나 이상의 트랙의 표시된 그룹, 이는 가령 트랙의 대체 그룹(일 수 있고 가령 ISOBMFF의 alternate_group 구문론 요소 또는 유사한 구문론 요소의 값에 의해 식별될 수 있음) 또는 어떤 표시된 유형의 트랙 그룹일 수 있음,
- 표시된 서브트랙,
- 표시된 샘플 그룹화로서, 그 샘플 그룹화의 임의의 샘플 그룹 서술 엔트리에 맵핑된 모든 샘플을 참조하는 트랙의 표시된 샘플 그룹화,
- 표시된 트랙의 표시된 샘플 그룹화의 특정한 표시된 샘플 그룹 서술 엔트리 또는 엔트리들에 맵핑된 샘플,
- 다른 정적 미디어 아이템,
그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것, 그리고 그룹 및 그룹화 유형에 기반하여 정적 미디어 아이템 및 그 이하의 개체 중 하나 이상을 위한 처리를 결정하는 것을 포함한다.
용어 개체(entity)는 아이템, 트랙, 트랙의 그룹, 서브트랙, 샘플 그룹화에 맵핑된 샘플 세트, 그리고 샘플 그룹화의 특정한 샘플 그룹 서술 엔트리에 맵핑된 샘플의 세트의 임의의 서브세트를 집합적으로 나타낼 수 있다. 하나의 개체는 아이템일 수 있고, 다른 개체는 트랙일 수 있다. 각각의 개체는 식별자, 예를 들어 32비트 무부호 정수 값을 가질 수 있다. 개체는 다른 개체의 세트를 포함할 수 있다.
실시예에서, 개체는 정적 미디어 아이템, 트랙, 트랙의 그룹, 트랙의 샘플의 그룹, 또는 서브트랙을 포함하고, 방법은 제1 객체를 컨테이너 파일 내에 포함시키는 것, 제2 개체를 컨테이너 파일 내에 포함시키는 것, 제1 개체와 제2 개체가 그룹을 형성함을 파일 내에 표시하는 것, 그리고 그룹에 대한 그룹화 유형을 파일 내에 표시하는 것을 포함한다.
실시예에서, 개체는, 가령 개체의 데이터 구조 내에 식별자를 포함시킴으로써, 식별자, 예를 들어 32비트 무부호 정수와 연관된다. 방법은 제1 식별자 값을 제1 개체에, 그리고 제2 식별자 값을 제2 개체에 할당하는 것을 더 포함하는데, 제1 개체 및 제2 개체의 유형과 무관하게 제1 식별자 값은 제2 식별자 값과 상이하다. 개체 그룹화가 파일 내에 표시되는 경우, 개체를 위한 식별자 값은 개체의 유형과 무관하게 동일한 값 공간(value space)을 사용한다고 간주될 수 있다.
실시예에서, 개체는 정적 미디어 아이템, 트랙, 트랙의 그룹, 트랙의 샘플의 그룹, 또는 서브트랙을 포함하는데, 방법은 제1 개체와 제2 개체가 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것, 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것, 그리고 그룹 및 그룹화 유형에 기반하여 제1 개체 및 제2 개체를 위한 처리를 결정하는 것을 포함한다.
실시예에서, URL 단편 식별자는 그룹 및/또는 개체를 나타내도록 지정된다. 예컨대, URL 단편 "#entity_ID="는 아이템 또는 트랙과 같은, 앞서 기술된 임의의 유형을 가질 수 있는 개체를 나타낸다. #entity_ID 단편을 포함하는 URL의 예는 다음과 같을 수 있다: http://www.example.com/file.mp4#entity_ID=100. 다른 예에서, URL 단편 "#group=4cc.id"는 유형 4cc를 갖고 group_id id를 갖는 개체 그룹화를 나타낸다. #entity_ID 단편을 포함하는 URL의 예는 다음과 같을 수 있다: http://www.example.com/file.mp4#group=altr.99. 클라이언트(client)는, 예컨대 HTTP GET 요청 내에서, 전술된 URL 단편을 사용하여 어떤 개체 또는 개체의 어떤 그룹을 포함하는 파일의 서브세트를 요청할 수 있다. 서버(server), 발신기(sender), 게이트웨이(gateway) 또는 비슷한 것은, 가령 HTTP GET 응답의 페이로드 내에, 리졸브되는 URL 내의 파일의 서브세트(요청된 개체 또는 개체의 요청된 그룹을 포함함)를 포함시킴으로써 전술된 URL 단편을 포함하는 URL을 리졸브할 수 있다.
이미지 및 이미지 시퀀스를 캡슐화하는 데에 이미지 파일 포맷(가령 MPEG-H)이 사용되는 경우, 독립적으로 코딩된 이미지 아이템의 그룹화(오직 메타 박스 구성이 사용되는 경우) 아니면 독립적으로 코딩된 이미지 아이템 및 이미지 시퀀스의 트랙의 그룹화가 요구되는 용례가 있다. 본 실시예는 그러한 그룹화 메커니즘을 가능하게 하는 시그널링 구조를 갖는 이미지 파일 포맷을 제공한다. 시그널링 구조는 현재와 장래의 용례에 의해 요구되는 임의의 안출가능한 그룹화를 허용하도록 사실상 포괄적이다.
그룹화 메커니즘은 그룹화의 유형을 나타내는 방식을 포함한다. 그룹화의 유형은 이하 중 하나 이상일 수 있(으나 이에 한정되지 않는)다:
- 그룹화된 아이템 및 트랙이 서로에 대한 대안이고, 보통 그것들 중 오직 하나가 처리(가령 디코딩 및 디스플레이)되어야 함을 나타내는 대체 그룹화(alternate grouping).
- 식별된 아이템 또는 트랙이 다른 식별된 아이템 또는 트랙을 위한 미리 보기 목적으로 사용됨을 나타내는 미리 보기 그룹화(preview grouping). 예컨대, 비디오 트랙 및 스틸 이미지 양자 모두가 귀착(consequent) 또는 중복(overlapping) 방식으로 포착될 수 있고, 비디오 트랙이 스틸 이미지를 위한 미리 보기로서 사용될 수 있음, 또는 거꾸로 스틸 이미자가 비디오 트랙을 위한 미리 보기 또는 커버 픽처로서 사용될 수 있음이 표시될 수 있다.
- 아이템 또는 트랙이 동일한 기원(origin)을 가짐, 가령 사전계산된 파생 이미지의 모음이 동일한 입력 이미지로부터 파생되었음을 나타내는 그룹화. 이것은 가령 상이한 노출 시간을 갖는 동일한 장면(scene)의 이미지의 동일한 세트의 상이한 버전을 위해 사용될 수 있다.
- 그룹화된 아이템 또는 트랙이 상이한 관점(viewpoint)으로부터 동일한 장면을 표현함을 나타내는 멀티뷰 그룹화.
- 동등한 아이템 또는 트랙, 즉 동일한 이미지 콘텐트를 표현하는 아이템 또는 트랙을 나타내는 그룹화. 이 그룹화는 정확히 하나의 파생 이미지가 이 그룹화에 맵핑되고 이미지 그룹화의 하나의 각각의 코딩된 이미지는 인코딩에 대한 입력으로서 파생 이미지를 사용함으로써 인코딩되었고 따라서 파생 이미지의 코딩된 표현인 경우를 위해서만 사용되거나 허용될 수 있다.
- 그룹에 맵핑된 아이템 또는 트랙이 정확히 동일한 코딩된 이미지 데이터를 포함함을 나타내는 그룹화. 이 그룹화는 파일 내로 트랙의 샘플(하나의 샘플을 포함할 뿐임)과 아이템으로서 이미지가 포함된 경우에 사용될 수 있는데, 이는 파일 내에 포함된 시간맞춤 미디어에 관해 이미지의 타이밍을 나타내는 데에 사용될 수 있다.
대체 그룹화는 이하의 목적 또는 용례 중 하나 이상을 위해 사용될 수 있(으나 이에 한정되지 않는)다:
대체 그룹(이로부터 정확히 하나의 개체(가령 하나의 아이템 또는 트랙)이 디코딩되고 디스플레이되도록 선택됨)을 나타내는 것.
애니메이션(animation)(또는 비슷한 것)과 스틸 이미지는 대안임을 나타내는 것: 대체는 예컨대 만일 애니메이션과 스틸 이미지가 디스플레이될 대안인 경우 사용될 수 있고, 플레이어는 디스플레이될 애니메이션 아니면 스틸 이미지를 가령 애니메이션을 디코딩할 그것의 능력에 기반하여 고를 수 있다.
파생 이미지를 위한 선택적 동작을 나타내는 것: 제1 파생 이미지 및 제2 파생 이미지가 서로에 대한 대안이라고 표시될 수 있으나, 제1 파생 이미지 및 제2 파생 이미지는 단지, 제1 파생 이미지가 제2 파생 이미지보다 더 적은 동작을 갖도록 입력과 동작의 측면에서 상이하다. 따라서 제2 파생 이미지와 비교해서 제1 파생 이미지에서 지나치는 동작은 상기 지나치는 동작을 수행하지 않고서 용인가능한 이미지(제2 파생 이미지)가 획득될 수 있다는 의미에서 선택적 동작으로 간주될 수 있다. 따라서 대체 그룹화 메커니즘은 파생 이미지를 위한 선택적 동작을 나타내기 위해 사용될 수 있다.
사전계산된 파생 이미지 및 각 파생 이미지는 대안임을 나타내는 것: 파생 이미지 및 각 코덱 이미지(이를 위해 파생 이미지 또는 파생 이미지와 근본적으로 유사한 이미지가 인코딩을 위한 입력이었음)의 그룹화. 사전계산된 파생 이미지는 파생 이미지보다 그것의 재구성에서 더 적은 처리를 요구할 수 있으나, 그것은 몇몇 코딩 아티팩트(coding artefact)를 수반할 수 있다. 다른 한편으로는, 파생 이미지는 어떻게 사전계산된 파생 이미지가 구성되었고 (사전계산된 파생 이미지의 코딩 아티팩트를 그 안에서 방지하기 위해서) 추가 파생이 필요하면 입력으로서 사용될 수 있는지 메타데이터로서의 역할을 할 수 있다.
실시예에서, (가령 그룹화된 아이템 및/또는 트랙을 열거하는 데이터 구조 내에) 아이템 및/또는 트랙을 그룹화하는 것의 순서는 의미론(semantics), 예를 들어 선호 순서(preference order)를 지닐 수 있다. 의미론은 그룹화 유형에 의존할 수 있다.
개체 그룹화 메커니즘(Entity Grouping Mehanisms)의 실시예에 따라, GroupsList 박스('grpl')로 칭해지는 새로운 컨테이너 박스가, 가령 파일 레벨 'meta' 박스 내의 선택적 박스 중의 하나로서, 파일 내에 포함된다. 기껏해야 하나의 'grpl' 박스가 존재함이 요구될 수 있다. 이 박스의 기능은 파일 내에서 사용되는 모든 상이한 개체 그룹화를 온전히 정의한, EntityToGroup 박스로 칭해지는 하나 이상의 다른 박스를 포함하는 것이다. 각각의 EntityToGroup 박스는 고유한 4개 문자 코드 값에 의해 구별되는 하나의 특정한 그룹화를 위해 특수화된다. 파일 내에 동일한 유형의 그룹화를 갖는 개체의 여러 많은 세트가 있음을 나타내는 'grpl" 박스 내에 포함된 동일한 4개 문자 코드 값을 갖는 여러 박스가 있을 수 있다.
실시예에서, 그룹 자체는 group_id를 사용하여 식별될 수 있다. 이 group_id는 훨씬 더 큰 그룹 내에 이 그룹 내의 개체를 포함시키는 데에 그것이 사용될 수 있으므로 유용하다. 그룹의 멤버는 식별자의 리스트인데 식별자 각각은 가령 item_id, track_id 또는 group_id일 수 있는 유효 개체 식별자 값이다.
GroupsListBox 및 EntityToGroupBox의 구문론은 예컨대 다음과 같이 명시될 수 있다. 이 예에서 group_id 구문론 요소가 EntityToGroupBox 내에 포함된다. 실시예는 group_id 구문론 요소 없이 유사하게 실현될 수가 있음이 이해될 필요가 있다.
Figure 112017086797098-pct00001
실시예에서, EntityToGroupBox의 의미론은 예컨대 다음과 같이 명시될 수 있다:
- grouping_type은 그룹화 유형을 표현하는 4개 문자 코드이다. 각각의 grouping_type 코드는 그룹화를 기술하는 의미론과 연관된다.
- group_id는 특정한 그룹화에 할당된 고유한, 음이 아닌 정수(unique non-negative integer)이다. group_id는 item_id 또는 track_id와 동일한 번호 공간(number space)로부터 선택된다.
- entity_id는 이 그룹에 속하는 각각 트랙, 이미지 또는 다른 그룹의 track_id, item_id, 또는 다른 group_id이다.
실시예에서, EntityToGroupBox의 의미론은 예컨대 다음과 같이 명시될 수 있다:
- grouping_type은 그룹화 유형을 표현하는 4개 문자 코드이다. 각각의 grouping_type 코드는 그룹화를 기술하는 의미론과 연관된다.
- group_id는 특정한 그룹화에 할당된, 음이 아닌 정수이다.
- entity_id는 다음과 같이 아이템 또는 트랙의 대체 그룹 또는 서브트랙으로 리졸브된다:
° entity_id와 동일한 item_id를 갖는 아이템이 있는 경우, 그 아이템은 이 특정한 그룹화에 맵핑되어 있다.
° grouping_type이 'altr'와 동일한 경우, entity_id와 동일한 alternate_group을 갖는 각각의 트랙 또는 서브트랙은 이 그룹의 일부이다.
실시예에서, 추가적인 파라미터가 파일 내에 포함되거나 그룹화를 위해 파일로부터 파싱될 수 있는데 그것의 본질을 온전히 특징짓기 위해서이다. 이 목적을 위해, 하나의 예시적 구현에서, 추상 기본 클래스(abstract base class) GroupingParameters의 상속된 객체(inherited object)인 grouping_parameters 필드는 EntityToGroup 박스 내에 포함된다. grouping_parameters 객체 내의 필드는 그룹화별로(on a per groupoing basis)(즉 각각의 고유한 grouping_type 값에 대해) 정의될 수 있고, EntityToGroup 박스에 의해 정의된 그 grouping_type을 위해 요구되는 경우에만 그것이 EntityToGroup 박스 내에 포함된다는 점에서 선택적이다. 예컨대, 이하의 구문론이 사용될 수 있다. 이 예에서 group_id 구문론 요소가 EntityToGroupBox 내에 포함된다. 실시예는 group_id 구문론 요소 없이 유사하게 실현될 수가 있음이 이해될 필요가 있다.
Figure 112017086797098-pct00002
다른 예시적 구현에서, 추가적인 파라미터가 EntityToGroup 박스 내에 포함된 속성의 리스트로서 포함될 수 있다. 속성의 리스트의 존재는 그룹화 유형에 조건부일 수 있는바, 가령 오직 대체 그룹화(가령 'altr' 4개 문자 코드에 의해 표시됨)를 위해 존재할 수 있다. 속성의 수는 EntityToGroup 박스 내에 포함될 수 있는데(가령 아래의 구문론 내의 num_attributes), 가령 이 그룹화의 의미론을 기술하는 서술적(descriptive) 또는 구별(differentiating) 속성의 수를 나타낸다. 리스트 내의 각각의 속성은 예컨대 4개 문자 코드일 수 있다. 예컨대, 이하의 구문론이 사용될 수 있다:
Figure 112017086797098-pct00003
파일 기입기(file writer)는 이미지 아이템이 디스플레이를 위해 의도되는지의 정보를 파일 내에 포함시킬 수 있다. 예컨대, 이미지 아이템에 링크된 메타데이터 아이템 또는 초기화 아이템 내의, 가령 item_in_presentation으로 칭해질 수 있는 플래그(flag)가 이 목적으로 사용될 수 있다. item_in_presentation이 0과 동일한 경우, 이미지 아이템은 제시의 일부가 아닌바, 즉 디스플레이되어서는 안 된다. item_in_presentation이 0보다 더 큰 경우, 이미지 아이템은 제시의 일부인바, 즉 디스플레이될 수 있다. 0과 동일한 item_in_presentation은 디스플레이를 위해 의도된 다른 파생 이미지를 도출하기 위해 입력으로서 사용된 중간 이미지(intermediate image)인 그러한 파생 이미지를 위해 사용될 수 있다. 파일 판독기(file reader)는 이미지 아이템이 디스플레이를 위해 의도되는지의 정보를 파일로부터 파싱할 수 있다. 예컨대, 가령 item_in_presentation으로 칭해질 수 있는 플래그가 이미지 아이템에 링크된 메타데이터 아이템 또는 초기화 아이템으로부터 파싱될 수 있다.
실시예에서, 그룹 및 그룹화 유형에 기반하여 처리를 상기 결정하는 것은 다양한 실시예에서 어느 개체, 예를 들어 아이템 또는 트랙이 디코딩되고 디스플레이되는지의 결정을 포함한다. 예시적 실시예에서, 이미지 아이템을 처리하는 것이 가능하나 이미지 시퀀스 트랙은 그렇지 않은 판독기는 이하의 순서화된 단계 중 하나 이상에 따라 동작한다. 이 예시적 실시예에서 위의 예시적 구문론 내의 entity_id는 표시된 item_id 아니면 alternate_group이라고 가정된다. 디스플레이될 개체를 결정하는 유사한 프로세스가, 허용된 개체 유형의 다른 옵션, 구문론의 다른 옵션, 그리고 결정 단계를 위한 다른 순서 또는 내용에 대해 형성될 수 있음이 이해될 필요가 있다.
- 만일, 예컨대 파일 탐색기 애플리케이션(file explorer application) 내에서, 파일이 미리 보기가 되는 경우, 커버 이미지의 썸네일 이미지(만일 있다면) 아니면 커버 이미지, 어느 쪽이든 애플리케이션 또는 용례에 가장 적합한 것이 디스플레이된다.
- 그렇지 않은 경우, 만일 판독기가 오직 하나의 이미지의 디스플레이를 지원하는 경우 또는 만일 애플리케이션 또는 용례가 오직 하나의 이미지가 디스플레이되는 그러한 경우, 커버 이미지가 디스플레이된다.
- 그렇지 않은 경우(판독기가 하나보다 많은 이미지의 디스플레이를 지원하고 애플리케이션 또는 용례가 하나보다 많은 이미지가 디스플레이될 수 있는 그러한 경우), 디스플레이되는 이미지의 세트가 다음과 같이 리졸브되고 이후 애플리케이션 또는 용례에 가장 적합한 바와 같이 디스플레이되는바, 가령 이미지의 그리드(grid)를 디스플레이한다:
° 모든 이미지 아이템은 디스플레이되는 이미지의 세트 내에 우선 포함된다.
° 썸네일 이미지 및 보조적 이미지는 디스플레이되는 이미지의 세트로부터 배제된다.
° 0과 동일한 item_in_presentation을 갖는 이미지 아이템은 디스플레이되는 이미지의 세트로부터 배제된다.
° 이미지 아이템의 대체 그룹이 리졸브된다. 판독기가 디코딩하고 재생할 수 있고 애플리케이션 또는 용례에 적합한 각각의 대체 그룹의 첫 번째 이미지 아이템만이 디스플레이되는 이미지의 세트 내에 유지되는 반면, 대체 그룹의 다른 이미지는 디스플레이되는 이미지의 세트로부터 배제된다.
예시적 실시예에서, 이미지 아이템 및 이미지 시퀀스 트랙을 처리하는 것이 가능한 판독기는 이미지 아이템(들) 및 이미지 시퀀스 트랙(들) 양자 모두를 포함하는 파일이 입력으로서 주어지는 경우 이하의 순서화된 단계 중 하나 이상에 따라 동작한다. 이 예시적 실시예에서 위의 예시적 구문론 내의 entity_id는 표시된 item_id 아니면 alternate_group이라고 가정된다. 디스플레이될 개체를 결정하는 유사한 프로세스가, 허용된 개체 유형의 다른 옵션, 구문론의 다른 옵션, 그리고 결정 단계를 위한 다른 순서 또는 내용에 대해 형성될 수 있음이 이해될 필요가 있다.
- 만일, 예컨대 파일 탐색기 애플리케이션 내에서, 파일이 미리 보기가 되고, 애플리케이션 또는 용례가 미리 보기 내에서 시간맞춤 플레이백(timed playback)을 지원하지 않는 경우, 커버 이미지의 썸네일 이미지 아니면 커버 이미지, 어느 쪽이든 애플리케이션 또는 용례에 가장 적합한 것이 디스플레이되어야 한다.
- 그렇지 않은 경우, 만일 파일이 미리 보기가 되고, 애플리케이션 또는 용례가 미리 보기 내에서 시간맞춤 플레이백을 지원하는 경우, 이하가 적용된다:
° 만일 커버 이미지가 대체 그룹('altr')의 일부인 경우, 커버 이미지의 썸네일 아니면 디코딩되고 디스플레이될 수 있는 대체 그룹으로부터의 첫 번째 개체, 어느 쪽이든 애플리케이션 또는 용례의 목적에 가장 적합한 것이 디스플레이되어야 한다.
° 그렇지 않은 경우, 커버 이미지의 썸네일 이미지 아니면 커버 이미지, 어느 쪽이든 애플리케이션 또는 용례에 가장 적합한 것이 디스플레이되어야 한다.
- 그렇지 않은 경우, 디스플레이되는 개체의 세트가 다음과 같이 리졸브되고 이후 애플리케이션 또는 용례에 가장 적합한 바와 같이 디스플레이되는데,
° 모든 이미지 아이템 및 이미지 시퀀스 트랙은 디스플레이되는 개체의 세트 내에 우선 포함된다.
° 썸네일 이미지 및 보조적 이미지는 디스플레이되는 개체의 세트로부터 배제된다.
° 0과 동일한 item_in_presentation을 갖는 이미지 아이템은 디스플레이되는 개체의 세트로부터 배제된다.
° 디스플레이되도록 의도되지 않은 이미지 시퀀스 트랙은 디스플레이되는 개체의 세트로부터 배제된다. 예컨대, 1과 동일한 Track_in_preview를 갖는 ISOBMFF 트랙에서, 0과 동일한 Track_in_movie 또는 0과 동일한 Track_enabled는 디스플레이되는 개체의 세트로부터 배제된다. 보조적 비디오 또는 이미지 시퀀스 트랙이 0과 동일한 Track_in_movie를 가지는 것이 요구될 수 있거나, 보조적 비디오 또는 이미지 시퀀스 트랙은 디스플레이되는 개체의 세트로부터 명시적으로 배제될 수 있다.
° 트랙의 대체 그룹이 리졸브된다. 애플리케이션 또는 용례에 가장 적합한 대체 그룹당 오직 하나의 트랙이 디스플레이되는 개체의 세트 내에 유지되는 반면, 다른 것은 디스플레이되는 개체의 세트로부터 배제된다.
° 개체의 대체 그룹이 리졸브된다. 판독기가 디코딩하고 재생할 수 있고 애플리케이션 또는 용례에 적합한 각각의 대체 그룹의 첫 번째 이미지 아이템만이 디스플레이되는 개체의 세트 내에 유지되는 반면, 대체 그룹의 다른 개체는 디스플레이되는 이미지의 세트로부터 배제된다. 만일 디스플레이되는 개체가 트랙의 대체 그룹인 경우, 그것은 이전의 중요 사항(bullet point)의 결과로서 단일 트랙 내로 이미 리졸브되었다.
아이템이 가시적(viewable)인지를 나타내기 위해 플래그, 가령 item_in_presentation을 사용하는 것 대신에 또는 이에 더하여, 주요 아이템이 아니고 유형 'altr'의 어떤 그룹화에도 맵핑되지 않은 이미지 아이템은 디스플레이되지 않을 것이 요구되거나 권장될 수 있다.
실시예에서, 그룹 및 그룹화 유형에 기반하여 처리를 상기 결정하는 것은 다양한 실시예에서 어느 개체, 예를 들어 아이템 또는 트랙이 디코딩되고 디스플레이되는지의 결정을 포함한다. 예시적 실시예에서, 이미지 아이템을 처리하는 것이 가능하나 이미지 시퀀스 트랙은 그렇지 않은 판독기는 이하의 순서화된 단계 중 하나 이상에 따라 동작한다. 이 예시적 실시예에서 위의 예시적 구문론 내의 entity_id는 표시된 item_id 아니면 alternate_group이라고 가정된다. 디스플레이될 개체를 결정하는 유사한 프로세스가, 허용된 개체 유형의 다른 옵션, 구문론의 다른 옵션, 그리고 결정 단계를 위한 다른 순서 또는 내용에 대해 형성될 수 있음이 이해될 필요가 있다.
- 만일 판독기가 오직 하나의 이미지의 디스플레이를 지원하는 경우 또는 만일 애플리케이션 또는 용례가 오직 하나의 이미지가 디스플레이되는 그러한 경우, 이하의 이미지 또는 그것의 썸네일 이미지 중 하나, 어느 쪽이든 디코딩될 수 있고 애플리케이션 또는 용례에 가장 적합한 것이 디스플레이되어야 한다:
° 주요 아이템,
° 주요 아이템을 포함하는 대체 그룹('altr')으로부터의 이미지.
- 그렇지 않은 경우(판독기가 하나보다 많은 이미지의 디스플레이를 지원하고 애플리케이션 또는 용례가 하나보다 많은 이미지가 디스플레이될 수 있는 그러한 경우), 디스플레이되는 이미지의 세트가 다음과 같이 리졸브되고 이후 애플리케이션 또는 용례에 가장 적합한 바와 같이 디스플레이되는바, 가령 이미지의 그리드를 디스플레이한다:
° 이미지 아이템의 대체 그룹이 리졸브된다. 판독기가 디코딩하고 재생할 수 있고 애플리케이션 또는 용례에 적합한 각각의 대체 그룹의 첫 번째 이미지 아이템만이 디스플레이되는 이미지의 세트 내에 포함된다.
° 주요 아이템이 어떤 대체 그룹 중에도 있지 않은 경우, 그것은 디스플레이되는 이미지의 세트 내에 포함된다.
예시적 실시예에서, 이미지 아이템 및 이미지 시퀀스 트랙을 처리하는 것이 가능한 판독기는 이미지 아이템(들) 및 이미지 시퀀스 트랙(들) 양자 모두를 포함하는 파일이 입력으로서 주어지는 경우 이하의 순서화된 단계 중 하나 이상에 따라 동작한다. 이 예시적 실시예에서 위의 예시적 구문론 내의 entity_id는 표시된 item_id 아니면 alternate_group이라고 가정된다. 디스플레이될 개체를 결정하는 유사한 프로세스가, 허용된 개체 유형의 다른 옵션, 구문론의 다른 옵션, 그리고 결정 단계를 위한 다른 순서 또는 내용에 대해 형성될 수 있음이 이해될 필요가 있다.
- 만일 판독기가 오직 하나의 이미지 또는 이미지 시퀀스의 디스플레이를 지원하는 경우, 또는 만일 애플리케이션 또는 용례가 오직 하나의 이미지 또는 이미지 시퀀스가 디스플레이되는 그러한 경우, 이하의 이미지 또는 그것의 썸네일 이미지 중 하나, 어느 쪽이든 디코딩될 수 있고 애플리케이션 또는 용례에 가장 적합한 것이 디스플레이되어야 한다:
° 주요 아이템,
° 주요 아이템을 포함하는 대체 그룹('altr')으로부터의 이미지.
- 그렇지 않은 경우, 디스플레이되는 개체의 세트가 다음과 같이 리졸브되고 이후 애플리케이션 또는 용례에 가장 적합한 바와 같이 디스플레이되는데,
° 개체의 대체 그룹이 리졸브된다. 판독기가 디코딩하고 재생할 수 있고 애플리케이션 또는 용례에 적합한 각각의 대체 그룹의 첫 번째 개체만이 디스플레이되는 개체의 세트 내에 포함되는 반면, 대체 그룹의 다른 개체는 디스플레이되는 이미지의 세트로부터 배제된다. 만일 디스플레이되는 개체가 트랙의 대체 그룹인 경우, 그것은 다음의 중요 사항의 결과로서 단일 트랙 내로 리졸브된다.
° 개체의 어떤 대체 그룹 내에도 포함되지 않았거나 디스플레이될 개체로서 이전의 중요 사항에서 선택된 트랙의 그런 대체 그룹이 리졸브된다. 애플리케이션 또는 용례에 가장 적합한 대체 그룹당 오직 하나의 트랙이 디스플레이되는 개체의 세트 내에 포함된다.
° 주요 아이템이 어떤 대체 그룹 중에도 있지 않고 디코딩될 수 있는 경우, 그것은 디스플레이되는 이미지의 세트 내에 포함된다.
° 트랙이 트랙의 임의의 대체 그룹의 일부라고 표시되지 않고(즉 ISOBMFF에서 0과 동일한 alternate_group을 가짐), 재생가능하고(즉 ISOBMFF에서 1과 동일한 Track_in_movie 및 1과 동일한 Track_enabled를 가짐), 디코딩될 수 있는 경우, 그것은 디스플레이되는 이미지의 세트 내에 포함된다.
제1 용례의 예로서, 이미지 아이템의 대안적 표현의 시그널링이 개시된다. 서로의 대체인 이미지는 그룹 내의 아이템이 서로의 대체임을 파일 판독기에 나타내기 위해 item-groups를 사용할 수 있고 그것은 그것이 가장 잘 렌더링할 수 있는 그룹 내의 아이템 중 임의의 것을 선택할 수 있다.
예컨대, 도 6a에 도시된 바와 같이 세 개의 상이한 공간적 해상도(Res 0, Res 1, Res 2)로 각각의 이미지가 코딩되는 세 개의 이미지(Image 0, Image 1, Image 2)의 세트를 고려하자. 이들 이미지는 'meta' 구조를 사용하여 아이템(I0, I1, I2, I3, I4, I5, I6, I7, I8)으로서 저장된다. 이미지의 상이한 공간적 해상도가 파일 내에 저장되는데 콘텐트 제공기는 판독기가 그것의 디스플레이 능력에 가장 적합한 이미지를 사용하기를 원하기 때문이다. 도 6b에 도시된 바와 같은 그룹화(G0, G1, G2)는 대안적 표현을 시그널링하는 데에 사용될 수 있는데 그룹 자체의 시그널링이 본 실시예를 사용한다.
이 출원에 제시된 그룹화 메커니즘을 사용하여 아이템의 전술된 그룹화는 4개 문자 코드값 'alti'를 갖는 새로운 그룹화를 사용함으로써 구현될 수 있다. 각각의 'alti' 박스는 서로에 대한 대체 표현인 아이템을 그룹화한다. 모든 'alti' 박스는 이후 'grpl' 박스 내로 수집된다. 이것은 'grpl' 박스의 콘텐트를 도시하는 도 7에 예시된다.
제2 용례의 예로서, 대안적 미디어 표현의 시그널링이 개시된다. 그룹화 메커니즘은 또한 두 상이한 미디어 유형을 그룹화하는 데에 사용될 수 있다. 카메라가 장면을 포착하기 위해 고해상도 이미지와 더불어 작은 이미지 시퀀스를 찍는 예를 고려하자. 이미지 시퀀스 및 고해상도 이미지 양자 모두는 동일한 파일 내에 저장된다. 이후 판독기는 그것이 가장 잘 렌더링하는 미디어 유형을 선택하거나 사용자에게 그가 렌더링되기를 원하는 미디어를 선택할 옵션을 제공한다. 이 예의 예시가 도 8에 도시되는데, 여기서 트랙 기본 미디어(track base media)(Track T0) 및 아이템 기반 미디어(item based media)(Item I0)는 서로 관련되며 그룹(Group G0)으로 간주될 수 있다.
이 출원에 제시된 그룹화 메커니즘을 사용하여, 아이템 및 트랙의 조합의 그룹화는 4개 문자 코드 값 'altm'를 갖는 새로운 그룹화를 사용함으로써 구현될 수 있다. 각각의 'altm' 박스는 서로에 대한 대체 표현인 아이템과 트랙을 그룹화한다. 모든 'altm' 박스는 이후 'grpl' 박스 내로 수집된다. 이것은 'grpl' 박스의 내용을 도시하는 도 9에 예시된다.
제3 용례의 예로서, 멀티뷰 그룹의 시그널링이 개시된다. 이미지 아이템(Item-I0, Item-I1, Item-I2, Item-I3)은 그것이 멀티뷰 그룹에 속함을 시그널링하기 위해 또한 그룹화될 수 있다(Group-G0). 이미지 자체는 모두 독립적으로 코딩되어서, 그것은 모두 보통의 이미지 렌더러(image renderer)에 의해 개별적으로 렌더링될 수 있다. 그러나, 만일 판독기가 (뷰 보간(view interpolation) 기법을 사용함으로써) 이미지의 모음의 멀티뷰 렌더링을 제공하는 것이 가능하면 이 출원에 제시된 그룹화 방법이 사용될 수 있다. 도 10은 그러한 그룹화를 예시한다. 상이한 뷰 각도에서 동일한 장면을 포착하는 이미지 아이템의 그룹화이다. 이들 이미지 아이템은 모두 출력 이미지를 렌더링하는 데에 멀티뷰 이미지 렌더러가 사용할 수 있는 그룹을 형성한다.
이 출원에 제시된 그룹화 메커니즘을 사용하여, 여러 각도에서 동일한 장면을 렌더링하는 이미지 모음은 4개 문자 코드 값 'mlvw'를 갖는 새로운 그룹화를 사용하여 멀티뷰 그룹이라고 시그널링될 수 있다. 각각의 'mlvw' 박스는 멀티뷰 그룹에 속하는 아이템을 그룹화한다. 모든 'mlvw' 박스는 이후 'grpl' 박스 내로 수집된다. 이것은 'grpl' 박스의 내용을 도시하는 도 11에 예시된다.
이 그룹화는 내재적인 카메라 파라미터를 시그널링하기 위해 grouping_parameters 필드를 요구한다. 내재적인 카메라 파라미터는 이미지 포인트(image point)의 픽셀 좌표를 카메라 참조 프레임 내의 대응하는 좌표와 연관시킨다. 카메라 광학(camera optics)으로 인한 기하학적 왜곡(geometric distortion)에 관련된 파라미터 및 초점 길이(focal length)의 사양이 ISO/IEC 14496-10의 부록(Annex) H 내에 주어진다.
Figure 112017086797098-pct00004
의미론:
- prec_focal_length는 2- prec _focal_length에 의해 주어진 바와 같이 focal_length_x 및 focal_length_y에 대한 최대 허용가능 절단 에러(maximum allowable truncation error)의 지수(exponent)를 명시한다. prec_focal_length의 값은 0부터 31까지의(이들을 포함함) 범위 내에 있을 것이다.
- prec_principal_point는 2- prec _principal_point에 의해 주어지는 바와 같이 principal_point_x 및 principal_point_y에 대한 최대 허용가능 절단 에러의 지수를 명시한다. prec_principal_point의 값은 0부터 31까지의(이들을 포함함) 범위 내에 있을 것이다.
- prec_skew_factor는 2- prec _skew_factor에 의해 주어지는 바와 같이 스큐 인자(skew factor)에 대한 최대 허용가능 절단 에러의 지수를 명시한다. prec_skew_factor의 값은 0부터 31까지의(이들을 포함함) 범위 내에 있을 것이다.
- exponent_focal_length_x는 수평 방향에서의 초점 길이의 지수 부분을 명시한다. exponent_focal_length_x의 값은 0부터 62까지의(이들을 포함함) 범위 내에 있을 것이다. 값 63은 ITU-T | ISO/IEC에 의한 장래의 사용을 위해 보류된다(reserved). 디코더는 값 63을 명시되지 않은 초점 길이를 나타내는 것으로 취급할 것이다.
- mantissa_focal_length_x는 수평 방향에서의 i번째 카메라의 초점 길이의 가수(mantissa) 부분을 명시한다.
- exponent_focal_length_y는 수직 방향에서의 초점 길이의 지수 부분을 명시한다. exponent_focal_length_y의 값은 0부터 62까지의(이들을 포함함) 범위 내에 있을 것이다. 값 63은 ITU-T | ISO/IEC에 의한 장래의 사용을 위해 보류된다. 디코더는 값 63을 명시되지 않은 초점 길이를 나타내는 것으로 취급할 것이다.
- mantissa_focal_length_y는 수직 방향에서의 초점 길이의 가수 부분을 명시한다.
- mantissa_principal_point_x는 수평 방향에서의 주점(principal point)의 가수 부분을 명시한다.
- exponent_principal_point_y는 수직 방향에서의 주점의 지수 부분을 명시한다. exponent_principal_point_y의 값은 0부터 62까지의(이들을 포함함) 범위 내에 있을 것이다. 값 63은 ITU-T | ISO/IEC에 의한 장래의 사용을 위해 보류된다. 디코더는 값 63을 명시되지 않은 주점을 나타내는 것으로 취급할 것이다.
- mantissa_principal_point_y는 수직 방향에서의 주점의 가수 부분을 명시한다.
- exponent_skew_factor는 스큐 인자의 지수 부분을 명시한다. exponent_skew_factor의 값은 0부터 62까지의(이들을 포함함) 범위 내에 있을 것이다. 값 63은 ITU-T | ISO/IEC에 의한 장래의 사용을 위해 보류된다. 디코더는 값 63을 명시되지 않은 스큐 인자를 나타내는 것으로 취급할 것이다.
- mantissa_skew_factor는 스큐 인자의 가수 부분을 명시한다.
카메라를 위한 내재적 행렬(intrinsic matrix) A는 다음과 같이 표현될 수 있다:
Figure 112017086797098-pct00005
변수 x가 다음과 같이 계산될 때 표 1에 명시된 변수로부터 내재적 행렬의 각각의 컴포넌트가 획득된다:
- 만일
Figure 112017086797098-pct00006
인 경우,
Figure 112017086797098-pct00007
이되,
Figure 112017086797098-pct00008
이다
- 만일 e가 0과 동일한 경우,
Figure 112017086797098-pct00009
이되,
Figure 112017086797098-pct00010
이다
아래의 표 1은 카메라 파라미터 변수 및 구문론 요소 간의 연관을 보여준다:
Figure 112017086797098-pct00011
제4 용례의 예로서, 제시가능한 이미지 아이템 그룹의 시그널링이 개시된다.
이 출원에 제시된 그룹화 메커니즘에서, 코딩된 이미지 아이템 및 다른 이미지를 파생시키기 위한 명령을 제공하는 아이템은, 만일 판독기가 그렇게 하기를 바라는 경우 디스플레이될 수 있는 이미지를 그룹 내의 아이템이 형성함을 시그널링하기 위해 그룹화될 수 있다. 이 그룹화는 이미지 파생의 체인을 따른 아이템의 어떤 조합이 제시되도록 의도되지 않음을 판독기에게 나타내는 데에 유용하다. 그러한 그룹화는 다층화될(multi-layered) 수 있는바, 즉 더 큰 그룹은 더 작은 그룹으로 이루어질 수 있다.
도 12는 유효한 디스플레이가능 이미지를 출력하는 이미지 아이템 및 파생 이미지 아이템의 그룹화를 도시한다. 이 예에서 item-I0 및 item I1은 코딩된 이미지라고 가정한다. Item-I2는 (파생 이미지 아이템 유형 'clap'을 사용하여) item-I0의 이미지를 크로핑함으로써 item-I0를 수정한다. Item-I3는 (파생 이미지 아이템 유형 'irot'을 사용하여) Item-I1으로부터 회전된 이미지를 파생시켰다. Item-I4는 (아이템 유형 'iovl'을 사용하여) 오버레이 이미지를 형성하기 위해 item-I2 및 item-I3의 출력에서 획득된 파생 이미지를 조합한다. 아이템의 어느 조합이 제시가능 이미지를 야기하는지를 판독기에 나타내기 위하여, 그룹이 형성될 수 있다.
제시가능한 픽처를 야기하는 아이템 조합을 시그널링하기 위해 그룹화 메커니즘을 사용하는 이 예에서, 4개 문자 코드 값 'oput'을 갖는 새로운 그룹화가 구성될 수 있다. 각각의 'oput' 박스는 출력에서 픽처를 산출하도록 조합되는 아이템을 그룹화한다. 모든 'oput' 박스는 이후 'grpl' 박스 내로 수집된다. 이것은 'grpl' 박스의 내용을 도시하는 도 13에 예시된다.
제5 용례의 예로서, 파생 이미지 및 그것의 사전계산된 이미지 대체를 통지하기 위한 그룹화가 개시된다.
몇몇 용례에서, 파생 이미지(다른 이미지를 파생시키는 데에 사용되는 명령어와 조합된 이미지 아이템) 및 이미 사전계산된 버전이 동일한 파일 내에 포함될 수 있다. 이것은 원래의 이미지에 대해 적용된 편집의 단계를 되짚어가고(retrace) 가능하다면 여전히 (복잡한 파생 프로세스를 방지하기 위해) 간단한 이미지 렌더러가 사전계산된 이미지를 취하고 디스플레이할 수 있게 하면서 파생 프로세스 내의 단계를 수정하는 기능을 편집기가 가질 수 있게 하는 것이다. 이 출원에 기술된 그룹화 방법은 파일 내에 포함된 대체에 대해 파일 판독 개체에 시그널링하는 데에 사용될 수 있다.
이를 예로써 보여주기 위하여, 제시가능 아이템 그룹의 이전의 예는 다른 이미지 아이템 item-I5를 포함하도록 확장되는데, 이는 item-I4에서의 오버레이 동작 후에 획득되는 파생 이미지를 사전계산한다. 이것은 도 14에 도시된다. 도 15는 'grpl' 박스의 내용을 열거한다.
다른 실시예에 독립적으로 또는 이와 함께 적용될 수 있는 실시예는, 파일 생성기(file creator)가 대안적 픽처의 정보를 파일 내에 포함시킬 수 있고/있거나 파일 플레이어(file player)가 대안 픽처에 대한 정보를 파일로부터 파싱할 수 있다.
파일 플레이어 중 오직 하나가 둘 이상의 픽처 중 오직 하나를 디스플레이하여야 하는 경우, 둘 이상의 픽처는 서로에 대한 대안으로서 정의될 수 있다.
픽처의 대체 그룹은 서로에 대한 대안인 픽처의 세트로서 정의될 수 있다.
대체 그룹은 제2 픽처 및 제1 픽처를 구별하는 특성 및/또는 기준을 나타내는 서브유형(sub-type)을 가질 수 있다.
실시예에 따라, 제1 픽처는 파일 내에서, 대체 그룹 식별자의 제1 값과 연관될 수 있고 제2 픽처는 파일 내에서, 대체 그룹 식별자의 제2 값과 연관될 수 있다. 파일 생성기는 제1 값 및 제2 값을 동일한 값으로 설정함으로써 제1 픽처 및 제2 픽처가 대안임을 나타낼 수 있다. 파일 생성기는 제1 값 및 제2 값을 서로 상이한 값으로 설정함으로써 제1 픽처 및 제2 픽처가 대안이 아님을 나타낼 수 있다. 파일 플레이어는 제1 값이 제2 값과 동일함을 파일로부터 파싱함으로써 제1 픽처 및 제2 픽처가 대안임을 결정할 수 있다. 파일 플레이어는 제1 값이 제2 값과 동일하지 않음을 파일로부터 파싱함으로써 제1 픽처 및 제2 픽처가 대안이 아님을 결정할 수 있다.
실시예에 따라, 파일 생성기는 픽처의 대체 그룹보다 많은 것에 대한 정보를 파일 내에 포함시킬 수 있다. 실시예에서, 픽처는 하나보다 많은 대체 그룹에 속할 수 있다. 실시예에서, 파일 생성기는 특성 및/또는 기준(이에 따라 대체 그룹이 형성됨)을 파일 내에 포함시킬 수 있다. 예컨대, 대체 그룹이 동일한 픽처 콘텐트의 상이한 공간적 해상도(spatial resolution) 및/또는 픽처 종횡비(picture aspect ratio)를 표현함이 표시될 수 있다. 다른 예에서, 대체 그룹이 동일한 픽처 콘텐트의 상이한 비트 깊이(bit depth) 및/또는 색역(color gamut)을 표현함이 표시될 수 있다. 실시예에서, 파일 플레이어는 특성 및/또는 기준(이에 따라 대체 그룹이 형성됨)을 파일로부터 파싱할 수 있고, 만일 특성 및/또는 기준이 파일 플레이어가 대체 그룹 내의 픽처 중에서 픽처를 선택하는 데 문제가 될 수 있는 그러한 경우, 파일 플레이어는 특성 및/또는 기준에 관련된 픽처 특정적(picture-specific) 정보를 파일로부터 파싱하고 픽처 특정적 정보에 따라 대체 그룹 중에서 픽처를 선택할 수 있다.
실시예에 따라, 파일 생성기는 하나 이상의 (개별) 픽처 및 하나 이상의 이미지 시퀀스가 대안임을 나타낼 수 있다. 예컨대, 파일 생성기는 시네마그래프(cinemagraph)와 같은 애니메이션이 스틸 픽처에 대한 대안임을 나타낼 수 있다. 이미지 파일 포맷 또는 다른 ISOBMFF 파생 포맷에서, 파일 생성기는 픽처를 표현하는 하나 이상의 메타 아이템이 하나 이상의 트랙(전형적으로 이미지 시퀀스 또는 비디오를 표현함)에 대한 대안임을 나타낼 수 있다.
실시예에 따라, 파일 플레이어는 하나 이상의 (개별) 픽처 및 하나 이상의 이미지 시퀀스가 대안임을 파일로부터 파싱할 수 있다. 예컨대, 파일 파서는 시네마그래프와 같은 애니메이션이 스틸 픽처에 대한 대안임을 파일로부터 파싱할 수 있다. 이미지 파일 포맷 또는 다른 ISOBMFF 파생 포맷에서, 파일 파서는 픽처를 표현하는 하나 이상의 메타 아이템이 하나 이상의 트랙(전형적으로 이미지 시퀀스 또는 비디오를 표현함)에 대한 대안임을 파일로부터 파싱할 수 있다.
이미지 파일 포맷 또는 다른 ISOBMFF 파생 포맷에 적용가능한 실시예에서, 메타 아이템 및 트랙과 같은 개체는 동일한 값 공간으로부터 보류된 식별자 값(각각 item_id 및 track_id 값)을 가진다고 표시될 수 있다. 다시 말해, 표시되는 경우, item_id 값 및 track_id 값은 동일하도록 허용되지 않는다. 표시는 예컨대 브랜드 요건(brand requirement) 내에 포함될 수 있어서, 예컨대, 이미지 파일 포맷(Image File Format) 브랜드가 주 브랜드(major brand)로서 또는 호환가능 브랜드(compatible brand)로서 포함될 때마다, 메타 아이템 및 트랙은 동일한 값 공간으로부터 보류된 식별자 값(각각 item_id 및 track_id 값)을 가진다고 표시될 수 있다.
실시예에 따라, 메타 아이템 및 트랙이 동일한 값 공간으로부터 보류된 식별자 값(각각 item_id 및 track_id 값)을 가진다고 표시될 수 있다면, 대체 그룹은 item_id 값 아니면 track_id 값이도록 리졸브될 수 있는 식별자 값의 세트로서 표시될 수 있다.
실시예에 따라, 대안적인 픽처 또는 픽처 시퀀스에 대한 참조가, 하나 이상의 식별자 값으로서 표시된다. 메타 아이템 및 트랙이 동일한 값 공간으로부터 보류된 식별자 값(각각 item_id 및 track_id 값)을 가진다고 표시될 수 있다면, 식별자 값(들)은 item_id 값 아니면 track_id 값이도록 리졸브될 수 있다. 몇몇 실시예에서, 참조는 트랙에 또한 적용되도록 일반화된 아이템 참조(item reference)이고, 몇몇 실시예에서 참조는 아이템에 또한 적용되도록 일반화된 트랙 참조(track reference)이며, 몇몇 실시예에서 참조는 아이템 참조 및 트랙 참조 양자 모두일 수 있다.
본 실시예는 이점을 제공한다. 실시예는 몇몇 공통적인 의미론을 표현하는 아이템, 아이템 및 트랙의 조합, 또는 더 작은 그룹을 더 큰 그룹으로 그룹화하는 메커니즘을 제공한다. 그룹화는 파일의 최선의 사용을 정하기 위해 파일 판독기에 의해 사용될 수 있다.
위에서, 몇몇 실시예는 특정한 구문론 및/또는 특정한 의미론을 참조하여 기술되었다. 실시예는 구문론 및/또는 의미론의 이들 특정한 부분에 한정되지 않되 다른 구문론 또는 의미론으로써 유사하게 실현될 수 있음이 이해될 필요가 있다.
위에서, 몇몇 실시예는 MPEG-H 이미지 파일 포맷 및/또는 ISO 베이스 미디어 파일 포맷을 위해 기술되었다. 실시예는 이들 파일 포맷에 한정되지 않되 다른 파일 포맷, 예를 들어 마트로스카에 대해 유사하게 기술될 수 있음이 이해될 필요가 있다.
위에서, 몇몇 실시예는 이미지 아이템에 관해 기술되었다. 실시예는 임의의 유형의 아이템 및/또는 다른 개체에 적용될 수 있음이 이해될 필요가 있다. 예컨대, 사진 메타데이터(photographic metadata)는 교환가능 이미지 파일 포맷(Exchangeable image file format: Exif) 메타데이터에 따라 포맷화된 메타데이터를 포함하는 제1 아이템 및 확장가능 메타데이터 플랫폼(Extensible Metadata Platform: XMP) 사양에 따라 포맷화된 메타데이터를 포함하는 제2 아이템을 사용하여 저장될 수 있다. 제1 아이템 및 제2 아이템이 동일한 메타데이터를 표현하는 경우, 그것들은 개체 그룹화 메커니즘(가령 전술된 바와 같은 'eqvl' 그룹화 유형)을 사용하여 동등하다고 표시될 수 있다. 다른 그룹화 유형, 가령 수퍼세트 관계(여기서 제1 열거된 아이템은 의미론적으로 동일 그룹화 내의 제2 열거된 아이템의 수퍼세트임)로써 다른 관계가 명시될 수 있다.
위에서, 몇몇 실시예는 플레이어 또는 파일 플레이어에 관해 기술되었다. 판독기, 파서, 사용자 에이전트(user agent) 또는 클라이언트와 같은 다른 용어가 교환가능하게 사용될 수 있음이 이해될 필요가 있다. 플레이어는 독립형 애플리케이션(standalone application)일 수 있으나 그럴 필요가 있는 것은 아님이 이해될 필요가 있다. 플레이어는 예컨대 웹 브라우저 내에 임베딩될 수 있고/있거나 미디어 처리의 체인 또는 필터 그래프 내의 컴포넌트일 수 있다.
위에서, 몇몇 실시예는 파일 생성기에 관해 기술되었다. 기입기, 파일 기입기, 파일 발생기 또는 콘텐트 제공기와 같은 다른 용어가 교환가능하게 사용될 수 있음이 이해될 필요가 있다. 생성기는 독립형 애플리케이션일 수 있으나 그럴 필요가 있는 것은 아님이 이해될 필요가 있다. 파일 생성기는, 가령 스크립트(script)를 사용하여, 예컨대 웹 서버 내에 임베딩될 수 있고/있거나 미디어 처리의 체인 또는 필터 그래프 내의 컴포넌트일 수 있다.
발명의 다양한 실시예는 메모리 내에 상주하고 관련 장치로 하여금 발명을 수행하게 하는 컴퓨터 프로그램 코드의 도움으로써 구현될 수 있다. 예컨대, 디바이스는 데이터를 취급, 수신 및 송신하기 위한 회로 및 전자기기, 메모리 내의 컴퓨터 프로그램 코드, 그리고 컴퓨터 프로그램을 구동하는 경우 디바이스로 하여금 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 또 나아가, 서버와 같은 네트워크 디바이스는 데이터를 취급, 수신 및 송신하기 위한 회로 및 전자기기, 메모리 내의 컴퓨터 프로그램 코드, 그리고 컴퓨터 프로그램을 구동하는 경우 네트워크 디바이스로 하여금 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다.
다양한 실시예는 컴퓨터와의 사용을 위해 내부에 실체화된 컴퓨터 프로그램 코드를 함유한 컴퓨터 판독가능 매체(computer-readable medium)를 포함하는 컴퓨터 프로그램 제품에 의해 또한 구현될 수 있는데, 컴퓨터 프로그램 코드는, 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 것, 미디어 트랙을 컨테이너 파일 내에 포함시키는 것, 정적 미디어 아이템 및 미디어 트랙이 그룹을 형성함을 파일 내에 표시하는 것, 그리고 그룹에 대한 그룹화 유형을 파일 내에 표시하는 것을 포함한다. 또, 다양한 실시예는 컴퓨터와의 사용을 위해 내부에 실체화된 컴퓨터 프로그램 코드를 함유한 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품에 의해 또한 구현될 수 있는데, 컴퓨터 프로그램 코드는, 정적 미디어 아이템 및 미디어 트랙이 그룹을 형성함을 컨테이너 파일로부터 파싱하는 것, 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 것, 그룹 및 그룹화 유형에 기반하여 정적 미디어 아이템 및 미디어 트랙을 위한 처리를 결정하는 것을 포함한다.
다양한 실시예는, 처리 수단, 인코딩 수단, 정적 미디어 아이템을 컨테이너 파일 내에 포함시키는 수단, 미디어 트랙을 컨테이너 파일 내에 포함시키는 수단, 정적 미디어 아이템 및 미디어 트랙이 그룹을 형성함을 파일 내에 표시하는 수단, 그리고 그룹에 대한 그룹화 유형을 파일 내에 표시하는 수단을 포함하는 장치에 의해 또한 구현될 수 있다. 또, 다양한 실시예는, 처리 수단, 디코딩 수단, 정적 미디어 아이템 및 미디어 트랙이 그룹을 형성함을 컨테이너 파일로부터 파싱하는 수단, 그룹에 대한 그룹화 유형을 컨테이너 파일로부터 파싱하는 수단, 그리고 그룹 및 그룹화 유형에 기반하여 정적 미디어 아이템 및 미디어 트랙을 위한 처리를 결정하는 수단을 포함하는 장치에 의해 또한 구현될 수 있다.
본 발명은 오로지 위에 제시된 실시예에 한정되지 않되, 그것은 부기된 청구항의 범주 내에서 수정될 수 있음은 명백하다.

Claims (30)

  1. 인코딩 방법으로서,
    적어도 하나의 정적 미디어 아이템(static media item)을 컨테이너 파일(container file) 내에 포함시키는 단계와,
    적어도 하나의 미디어 트랙(media track)을 상기 컨테이너 파일 내에 포함시키는 단계와,
    상기 컨테이너 파일 내에서, 식별자 값의 리스트에 의해, 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙의 서브세트가 그룹의 개체임을 표시하는 단계 - 각각의 식별자 값은 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙으로부터의 정적 미디어 아이템 또는 미디어 트랙 중 하나를 식별함 - 와,
    상기 컨테이너 파일 내에서, 상기 그룹에 대한 그룹화 유형(grouping type)을 표시하는 단계 - 상기 그룹화 유형은 상기 그룹의 개체가 디코딩 및 디스플레이에 대한 서로의 대안임을 나타내고, 상기 식별자 값의 리스트는 디코딩 및 디스플레이에 대한 선호 순서를 나타냄 - 를 포함하는
    인코딩 방법.
  2. 제1항에 있어서,
    대안적인 픽처의 정보를 상기 컨테이너 파일 내에 포함시키는 단계를 포함하는
    인코딩 방법.
  3. 제2항에 있어서,
    상기 대안적인 픽처의 정보는, 상이한 공간적 해상도(spatial resolution), 상이한 픽처 종횡비(picture aspect ratio), 상이한 비트 깊이(bit depth), 상이한 색역(color gamut) 특성 중 하나에 기반하여, 픽처의 대체 그룹에 관련되는
    인코딩 방법.
  4. 디코딩 방법으로서,
    컨테이너 파일로부터, 적어도 하나의 정적 미디어 아이템 및 적어도 하나의 미디어 트랙의 서브세트가 그룹의 개체임을 나타내는 식별자 값의 리스트를 파싱하는(parsing) 단계 - 각각의 식별자 값은 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙으로부터의 정적 미디어 아이템 또는 미디어 트랙 중 하나를 식별함 - 와,
    상기 컨테이너 파일로부터, 상기 그룹에 대한 그룹화 유형을 파싱하는 단계와,
    상기 그룹 및 상기 그룹화 유형에 기반하여 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙에 대한 처리를 결정하는 단계 - 상기 그룹화 유형은 상기 그룹의 개체가 디코딩 및 디스플레이에 대한 서로의 대안임을 나타내고, 상기 식별자 값의 리스트는 디코딩 및 디스플레이에 대한 선호 순서를 나타냄 - 를 포함하는
    디코딩 방법.
  5. 제4항에 있어서,
    상기 컨테이너 파일로부터 대안적인 픽처의 정보를 파싱하는 단계를 포함하는
    디코딩 방법.
  6. 제5항에 있어서,
    제1 픽처와 연관된 제1 값 및 제2 픽처와 연관된 제2 값이 동일한 값을 가짐을 파싱함으로써 상기 제1 픽처와 상기 제2 픽처는 대안임을 판정하는
    디코딩 방법.
  7. 제5항에 있어서,
    상기 컨테이너 파일로부터, 미디어 파일 특성 - 상기 미디어 파일 특성에 따라 대체 그룹이 형성됨 - 및 상기 특성에 관련된 픽처 특정적(picture-specific) 정보를 파싱하는
    디코딩 방법.
  8. 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서,
    상기 적어도 하나의 메모리와 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서를 통해 상기 장치로 하여금,
    적어도 하나의 정적 미디어 아이템(static media item)을 컨테이너 파일(container file) 내에 포함시키는 단계와,
    적어도 하나의 미디어 트랙(media track)을 상기 컨테이너 파일 내에 포함시키는 단계와,
    상기 컨테이너 파일 내에서, 식별자 값의 리스트에 의해, 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙의 서브세트가 그룹의 개체임을 표시하는 단계 - 각각의 식별자 값은 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙으로부터의 정적 미디어 아이템 또는 미디어 트랙 중 하나를 식별함 - 와,
    상기 컨테이너 파일 내에서, 상기 그룹에 대한 그룹화 유형(grouping type)을 표시하는 단계 - 상기 그룹화 유형은 상기 그룹의 개체가 디코딩 및 디스플레이에 대한 서로의 대안임을 나타내고, 상기 식별자 값의 리스트는 디코딩 및 디스플레이에 대한 선호 순서를 나타냄 -
    를 수행하게 하도록 구성된 장치.
  9. 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서,
    상기 적어도 하나의 메모리와 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서를 통해 상기 장치로 하여금,
    컨테이너 파일로부터, 적어도 하나의 정적 미디어 아이템 및 적어도 하나의 미디어 트랙의 서브세트가 그룹의 개체임을 나타내는 식별자 값의 리스트를 파싱하는(parsing) 단계 - 각각의 식별자 값은 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙으로부터의 정적 미디어 아이템 또는 미디어 트랙 중 하나를 식별함 - 와,
    상기 컨테이너 파일로부터, 상기 그룹에 대한 그룹화 유형을 파싱하는 단계와,
    상기 그룹 및 상기 그룹화 유형에 기반하여 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙에 대한 처리를 결정하는 단계 - 상기 그룹화 유형은 상기 그룹의 개체가 디코딩 및 디스플레이에 대한 서로의 대안임을 나타내고, 상기 식별자 값의 리스트는 디코딩 및 디스플레이에 대한 선호 순서를 나타냄 -
    를 수행하게 하도록 구성된 장치.
  10. 명령어들이 인코딩되어 있는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은, 컴퓨터에 의해 실행될 경우,
    적어도 하나의 정적 미디어 아이템(static media item)을 컨테이너 파일(container file) 내에 포함시키는 단계와,
    적어도 하나의 미디어 트랙(media track)을 상기 컨테이너 파일 내에 포함시키는 단계와,
    상기 컨테이너 파일 내에서, 식별자 값의 리스트에 의해, 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙의 서브세트가 그룹의 개체임을 표시하는 단계 - 각각의 식별자 값은 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙으로부터의 정적 미디어 아이템 또는 미디어 트랙 중 하나를 식별함 - 와,
    상기 컨테이너 파일 내에서, 상기 그룹에 대한 그룹화 유형(grouping type)을 표시하는 단계 - 상기 그룹화 유형은 상기 그룹의 개체가 디코딩 및 디스플레이에 대한 서로의 대안임을 나타내고, 상기 식별자 값의 리스트는 디코딩 및 디스플레이에 대한 선호 순서를 나타냄 -
    를 수행하는 컴퓨터 판독가능 매체.
  11. 명령어들이 인코딩되어 있는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은, 컴퓨터에 의해 실행될 경우,
    컨테이너 파일로부터, 적어도 하나의 정적 미디어 아이템 및 적어도 하나의 미디어 트랙의 서브세트가 그룹의 개체임을 나타내는 식별자 값의 리스트를 파싱하는(parsing) 단계 - 각각의 식별자 값은 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙으로부터의 정적 미디어 아이템 또는 미디어 트랙 중 하나를 식별함 - 와,
    상기 컨테이너 파일로부터, 상기 그룹에 대한 그룹화 유형을 파싱하는 단계와,
    상기 그룹 및 상기 그룹화 유형에 기반하여 상기 적어도 하나의 정적 미디어 아이템 및 상기 적어도 하나의 미디어 트랙에 대한 처리를 결정하는 단계 - 상기 그룹화 유형은 상기 그룹의 개체가 디코딩 및 디스플레이에 대한 서로의 대안임을 나타내고, 상기 식별자 값의 리스트는 디코딩 및 디스플레이에 대한 선호 순서를 나타냄 -
    를 수행하는 컴퓨터 판독가능 매체.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020177025144A 2015-02-10 2016-02-02 이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품 KR102014628B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/618,650 US9922680B2 (en) 2015-02-10 2015-02-10 Method, an apparatus and a computer program product for processing image sequence tracks
US14/618,650 2015-02-10
PCT/FI2016/050064 WO2016128613A1 (en) 2015-02-10 2016-02-02 A method, an apparatus and a computer program product for processing image sequence tracks

Publications (2)

Publication Number Publication Date
KR20170113657A KR20170113657A (ko) 2017-10-12
KR102014628B1 true KR102014628B1 (ko) 2019-08-26

Family

ID=56567004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177025144A KR102014628B1 (ko) 2015-02-10 2016-02-02 이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품

Country Status (9)

Country Link
US (1) US9922680B2 (ko)
EP (1) EP3257261B1 (ko)
JP (1) JP6496033B2 (ko)
KR (1) KR102014628B1 (ko)
CN (1) CN107534801B (ko)
ES (1) ES2888673T3 (ko)
PH (1) PH12017501443B1 (ko)
PL (1) PL3257261T3 (ko)
WO (1) WO2016128613A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
JP7239029B2 (ja) * 2017-09-15 2023-03-14 ソニーグループ株式会社 画像処理装置およびファイル生成装置
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
JP2019054417A (ja) * 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
EP3777221A1 (en) 2018-04-05 2021-02-17 Canon Kabushiki Kaisha Method and apparatus for encapsulating images in a file
EP3777225A4 (en) * 2018-04-11 2021-12-08 Nokia Technologies Oy METHOD AND APPARATUS FOR REPORTING TYPES OF GROUPINGS IN AN IMAGE-CONTAINING FILE
JP7218105B2 (ja) * 2018-06-20 2023-02-06 キヤノン株式会社 ファイル生成装置、ファイル生成方法、処理装置、処理方法、及びプログラム
GB2575074B (en) 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
EP3857904A4 (en) * 2018-09-28 2022-06-22 Nokia Technologies Oy METHOD AND APPARATUS FOR ENABLING MULTIPLE TIMELINE SUPPORT FOR OMNIDIRECTIONAL CONTENT PLAYBACK
CN113170088B (zh) * 2018-10-08 2023-10-03 三星电子株式会社 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置
EP3895438A4 (en) * 2018-12-10 2022-07-20 Nokia Technologies Oy APPARATUS AND METHOD FOR REPORTING INFORMATION IN A CONTAINER FILE FORMAT
JP7303625B2 (ja) * 2018-12-18 2023-07-05 キヤノン株式会社 画像ファイル生成装置、画像ファイル生成方法、及びプログラム
WO2020188142A1 (en) * 2019-03-15 2020-09-24 Nokia Technologies Oy Method and apparatus for grouping entities in media content
US11457231B2 (en) 2019-03-15 2022-09-27 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
US11245926B2 (en) * 2019-03-19 2022-02-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for track derivation for immersive media data tracks
KR102647336B1 (ko) 2019-04-01 2024-03-14 구글 엘엘씨 동적 깊이 이미지를 캡처 및 편집하는 기술
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
EP3992916A4 (en) * 2019-07-01 2023-06-21 Canon Kabushiki Kaisha DEVICE, METHOD AND PROGRAM FOR GENERATION OF IMAGE FILES
JP2023504097A (ja) * 2019-11-29 2023-02-01 中興通訊股▲ふん▼有限公司 マルチビュービデオ処理方法および装置
CN113542907B (zh) * 2020-04-16 2022-09-23 上海交通大学 多媒体数据收发方法、系统、处理器和播放器
CN115022715B (zh) * 2020-06-04 2023-07-25 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法及设备
US11743441B2 (en) * 2020-08-31 2023-08-29 Mediatek Singapore Pte. Ltd. Methods and apparatus for selecting and switching input video tracks using track derivations
CN112804256B (zh) * 2021-02-09 2022-05-24 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
CN115883871A (zh) * 2021-08-23 2023-03-31 腾讯科技(深圳)有限公司 媒体文件封装与解封装方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052306A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5466918A (en) * 1993-10-29 1995-11-14 Eastman Kodak Company Method and apparatus for image compression, storage, and retrieval on magnetic transaction cards
US6405283B1 (en) * 1999-11-23 2002-06-11 Roxio, Inc. Method for handling buffer under-run during disc recording
KR101068658B1 (ko) * 2002-12-10 2011-09-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 정보를 판독하기 위한 틸트 제어
SE0302778D0 (sv) * 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
JP4203812B2 (ja) * 2003-12-29 2009-01-07 ソニー株式会社 ファイル記録装置、ファイル記録方法、ファイル記録方法のプログラム、ファイル記録方法のプログラムを記録した記録媒体、ファイル再生装置、ファイル再生方法、ファイル再生方法のプログラム及びファイル再生方法のプログラムを記録した記録媒体
EP2055107B1 (en) * 2006-08-24 2013-05-15 Nokia Corporation Hint of tracks relationships for multi-stream media files in multiple description coding MDC.
KR101242472B1 (ko) * 2008-07-16 2013-03-12 노키아 코포레이션 트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치
EP2332337A4 (en) * 2008-10-07 2014-01-01 Ericsson Telefon Ab L M MEDIA CONTAINER FILE
CN103957448B (zh) * 2009-04-09 2017-05-17 瑞典爱立信有限公司 生成媒体容器文件的方法、媒体内容服务器、以及媒体处理方法和媒体处理服务器
JP2011049927A (ja) * 2009-08-28 2011-03-10 Sanyo Electric Co Ltd 画像処理装置、およびそれを搭載した撮像装置
EP2477415A3 (en) * 2010-11-21 2013-11-06 Human Monitoring Ltd Method and system of encoding and decoding media content
US10791315B2 (en) * 2013-01-04 2020-09-29 Qualcomm Incorporated Signaling of spatial resolution of depth views in multiview coding file format

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052306A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Also Published As

Publication number Publication date
JP2018513574A (ja) 2018-05-24
PH12017501443A1 (en) 2018-01-15
EP3257261B1 (en) 2021-08-25
US9922680B2 (en) 2018-03-20
ES2888673T3 (es) 2022-01-05
PL3257261T3 (pl) 2021-12-13
WO2016128613A1 (en) 2016-08-18
JP6496033B2 (ja) 2019-04-03
EP3257261A4 (en) 2018-12-26
US20160232939A1 (en) 2016-08-11
CN107534801A (zh) 2018-01-02
PH12017501443B1 (en) 2018-01-15
EP3257261A1 (en) 2017-12-20
KR20170113657A (ko) 2017-10-12
CN107534801B (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
KR102014628B1 (ko) 이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
US10979743B2 (en) Method, an apparatus, a computer program for video coding
KR101949071B1 (ko) 이미지 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
CA2730543C (en) Method and apparatus for track and track subset grouping
EP3207711B1 (en) An apparatus, a method and a computer program for image sequence coding and decoding
CN110089126B (zh) 处理视频数据的方法、设备及计算机可读媒体
US11553258B2 (en) Apparatus, a method and a computer program for video coding and decoding
WO2023057903A1 (en) Method, apparatus and computer program product for implementing mechanisms for carriage of renderable text

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