KR102115323B1 - 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치 - Google Patents

영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치 Download PDF

Info

Publication number
KR102115323B1
KR102115323B1 KR1020147021851A KR20147021851A KR102115323B1 KR 102115323 B1 KR102115323 B1 KR 102115323B1 KR 1020147021851 A KR1020147021851 A KR 1020147021851A KR 20147021851 A KR20147021851 A KR 20147021851A KR 102115323 B1 KR102115323 B1 KR 102115323B1
Authority
KR
South Korea
Prior art keywords
nal unit
decoder setting
setting record
type
nal
Prior art date
Application number
KR1020147021851A
Other languages
English (en)
Other versions
KR20140140016A (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 KR20140140016A publication Critical patent/KR20140140016A/ko
Application granted granted Critical
Publication of KR102115323B1 publication Critical patent/KR102115323B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상 정보 저장 방법 및 영상 정보 파싱 방법과 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 영상 정보 저장 방법은 영상 정보를 인코딩 하는 단계 및 인코딩된 영상 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 디코더 설정 기록에 저장하는 단계를 포함하며, 상기 디코더 설정 기록은, 상기 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.

Description

영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치{METHOD FOR STORING IMAGE INFORMATION, METHOD FOR PARSING IMAGE INFORMATION AND APPARATUS USING SAME}
본 발명은 영상 압축에 관한 기술로서, 더 구체적으로는 압축된 영상 정보의 파일 포맷에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다.
따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우에는, 정보의 전송 비용과 저장 비용이 증가하게 된다.
고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
예컨대, 영상 압축의 효율을 높이기 위해, 인터 예측과 인트라 예측을 이용할 수 있다. 인터 예측(inter prediction) 방법에서는 다른 픽처의 정보를 참조하여 현재 픽처(picture)의 픽셀값을 예측하며, 인트라 예측(intra prediction) 방법에서는 동일한 픽처 내에서 픽셀 간 연관 관계를 이용하여 픽셀값을 예측한다.
비디오 정보를 압축 처리하고 재생하는 인코딩 장치와 디코딩 장치에서는 상술한 바와 같이 다양한 방법으로 대용량의 비디오 정보를 압축하여 처리한다.
하지만, 비디오 정보가 압축 처리된다고 하더라도, 상술한 바와 같이 고품질 영상에 대한 요구가 높아짐에 따라서, 처리되는 영상 정보의 양이 크게 증가하고 있으며, 압축된 영상 정보의 양도 종래에 비해 증가할 것으로 예상된다.
따라서, 고해상도의 대용량 비디오 정보들을 처리하기 위해, 비디오 정보 파일과 이를 처리하기 위한 정보를 포함하는 파일들의 포맷(format)을 어떻게 규정하여, 효과적으로 미디어들이 처리되도록 할 것인지가 문제된다.
본 발명은 대용량 고품질의 영상 정보를 인코딩하고, 이를 복원(디코딩)하기 위한 정보를 효과적으로 저장하여 전달하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에서는 HEVC(High Efficiency Video Coding)를 지원하여 이용할 수 있는 파일 포맷을 구성하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에서는 파일 포맷 내 디코딩 설정 기록을 효과적으로 구성하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태는 영상 정보 저장 방법으로서, 영상 정보를 인코딩 하는 단계 및 인코딩된 영상 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 디코더 설정 기록에 저장하는 단계를 포함하며, 상기 디코더 설정 기록은, 상기 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.
본 발명의 다른 실시형태는 상기 영상 정보 저장 방법에 따라서 저장된 영상 정보를 파싱하는 방법으로서, 디코더 설정 기록을 파싱하는 단계 및 상기 파싱된 디코더 설정 기록을 기반으로, NAL 유닛을 파싱하는 단계를 포함하며, 상기 디코더 설정 기록은, 상기 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.
본 발명의 또 다른 실시형태는 상기 영상 정보 저장 방법을 이용하는 영상 정보 저장 장치로서, 영상 정보를 인코딩 하는 인코딩부 및 인코딩된 영상 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 디코더 설정 기록에 저장하는 저장부를 포함하며, 상기 디코더 설정 기록은, 상기 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.
본 발명의 또 다른 실시형태는 상기 영상 정보 파싱 방법을 이용하는 영상 정보 파싱 장치로서, 디코더 설정 기록을 파싱하는 파싱부 및 상기 파싱된 디코더 설정 기록을 기반으로, NAL 유닛을 파싱하는 디코딩부를 포함하며, 상기 디코더 설정 기록은, 상기 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.
본 발명에 의하면, 대용량 고품질의 영상 정보를 인코딩하고, 이를 복원(디코딩)하기 위한 정보를 효과적으로 저장하여 전달할 수 있다.
본 발명에 의하면, HEVC(High Efficiency Video Coding)를 지원하여 이용할 수 있는 파일 포맷을 구성할 수 있다.
본 발명에 의하면, NAL 유닛의 정보를 시스템 레벨에서 확일할 수 있도록 파일 포맷 내 디코딩 설정 기록을 효과적으로 구성할 수 있다.
도 1은 본 발명에 따른 미디어 파일 포맷의 일 예를 나타낸 것이다.
도 2는 본 발명에 따라서 영상 정보를 저장하는 방법을 개략적으로 설명하는 순서도이다.
도 3은 본 발명에 따라서 영상 정보를 파싱하는 방법을 개략적으로 설명하는 순서도이다.
도 4는 본 발명에 따른 영상 정보 저장 장치의 구성을 개략적으로 설명하는 블록도이다.
도 5는 본 발명에 따른 영상 정보 파싱 장치의 구성을 개략적으로 설명하는 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
최근 고해상도, 고용량의 비디오 정보를 처리하는 방법에 관한 논의가 이어지고 있으며, 이를 반영한 표준의 제정도 논의되고 있다. 이와 관련하여, 고용량, 고해상도의 비디오를 처리하는 방법에 대응하여, 어떤 포맷의 파일들을 이용할 것인지를 고려할 필요가 있다.
따라서, 종래의 비디오 정보를 처리하기 위한 파일 포맷들이, 대용량/고화질의 비디오 정보를 처리하기 위해 수정 또는 갱신될 필요가 있다.
상술한 바와 같이, 고화질/고용량에 대한 비디오 코딩/디코딩 방법에 관한 논의와 표준 제정 시도가 진행되고 있다. 이 과정에서 코딩 효율을 높이고 강건성(robustness)을 향상시키는 방법 외에도 시스템에서 사용할 여러 특징들이 논의되고 있다.
이와 관련하여, 압축 효율과 영상의 품질을 높이기 위해 논의되고 있는 비디오 인코딩/디코딩 방법을 효과적으로 지원할 수 있는, 비디오 스트림에 대한 저장 포맷이 문제된다.
고품질/대용량의 비디오 콘텐츠에 대하여 기존의 ISO 기반 미디어 파일 포맷이 이용될 수 있지만, 파라미터 세트의 구성을 고려하면 수정이 필요할 수 있다.
이하, 본 발명에 따른 디코더 설정 기록(decoder configuration record)과 디코더 설정 기록에 기반한 비디오 정보 및 파일 포맷에 관해 구체적으로 설명한다.
본 명세서에서는 대용량 고품질의 비디오 코딩 방법을 설명의 편의를 위해 HEVC(High Efficiency Video Coding)라고 하며, HEVC를 적용하여 처리하는 대용량 고품질의 콘텐츠(contents)를 HEVC 콘텐츠라고 한다.
HEVC 콘텐츠의 저장(storage)에는 ISO(the International Organization for Standardization) 기반 미디어 파일 포맷의 기존 용량에 HEVC에 이용되는 파라미터 세트(parameter set)를 고려한 파일 포맷을 추가적으로 확장하여 이용할 수 있다.
도 1은 본 발명에 따른 미디어 파일 포맷의 일 예를 나타낸 것이다.
상술한 바와 같이, 본 발명에 따른 미디어 파일 포맷은 ISO 기반 미디어 파일 포맷의 확장일 수 있다.
HEVC를 지원하는 파일(100)은 재귀적인 박스들을 포함할 수 있다. 예컨대, 파일(100)은 박스라고 불리는 객체들의 시리즈로 구성되는 객체 지향적 구조를 가진다. 모든 데이터들은 박스에 포함되며(containing), 각 박스들은 고유의 식별자와 길이로 정의될 수 있다.
도 1을 참조하면, 파일(100)은 최상위 단 레벨(top level)에서 FTYP(110), MOOV(120), MDAT(130)을 포함할 수 있다. 또한, 파일(100)은 도시되지 않았으나, 각 샘플에 대응하는 트랙들을 포함할 수 있다.
FTYP(110)는 파일 타입(File Type)으로서, 파일 타입에 관한 정보를 포함한다. FTYP(110)는 파일(100)의 시작(beginning)에 위치한다.
MOOV(120)는 파일(100)의 헤더 정보들을 포함하는 박스이다. MOOV(120)는 디코더 설정 정보(Decoder Configuration Information)로서 디코더 설정 기록(Decoder Configuration Record)을 포함할 수 있다. 예컨대, HEVC 비주얼 샘플 엔트리는 HEVC 설정 박스를 포함하며, HEVC 설정 박스는 HEVC 디코더 설정 기록을 포함할 수 있다.
이때, MOOV(120)는 HEVC 비주얼 샘플 엔트리 혹은 HEVC 설정 박스를 포함할 수 있다. 또한, MOOV(120)가 HEVC 비주얼 샘플 엔트리 혹은 HEVC 설정 박스일 수도 있다. 따라서, 도 1의 예에서는 설명의 편의를 위해, MOOV(120)이 HEVC 디코더 설정 기록(140)을 포함하는 것으로 설명한다.
MDAT(130)는 페이로드(payload) 데이터를 포함하다. 따라서, 비디오 파일에 대하여, 코딩된 데이터는 이 박스에서 전달된다. 도 1을 참조하면, MDAT(130)는 샘플들을 포함한다.
샘플은 액세스 유닛(Access Unit)을 의미할 수 있다. 샘플 X는, 예컨대, X 번째 픽처라고 할 수 있다.
한편, 상술한 디코더 설정 기록은 디코더의 초기 설정에 관한 기록으로서, 디코더는 해당 설정에 대응하는 정보를 파싱하게 된다.
디코더 설정 기록이 샘플 엔트리에 포함되는 경우에, 디코더 설정 기록은 각 샘플이 속하는 NAL(Network Abstraction Layer) 유닛과 파라미터 세트의 길이를 지시하기 위한 길이 필드(length field)의 사이즈를 포함한다.
NAL 유닛은 이어지는 데이터의 타입에 대한 지시자, 경쟁을 방지하는 바이트와 함께 필요한 경우에 배치되는 RSRP(Raw Byte Sequence Payload) 형태의 데이터를 포함하는 바이트들(bytes) 등을 포함하는 신택스 스트럭처(syntax structure)일 수 있다.
디코더 설정 기록은 외부에서 프레임(externally framed)될 수 있다. 따라서, 파일 헤더와 파일의 페이로드는 물리적으로 구분될 수 있다.
HEVC를 지원하기 위한 파라미터 세트로는 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트 등이 있다.
비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트를 이용함으로써 자주 변하지 않는 정보의 전송은 서로 결합되지 않는다(decoupled). 예컨대, 코딩된 블록 데이터를 포함하는 슬라이스가 디코딩 파라미터들을 포함하는 픽처 파라미터 세트를 참조할 수 있고, 픽처 파라미터 세트는 시퀀스 레벨의 파라미터를 참조하기 위해 시퀀스 파라미터 세트를 참조할 수 있다. 시퀀스 파라미터 세트는 마찬가지로, 비디오 레벨의 파라미터를 참조하기 위해 비디오 파라미터 세트를 참조할 수 있다.
비디오 스트림은 파일 내의 한 비디오 트랙에 의해 표현(represent)될 수 있다.
기본 스트림(elementary stream)은 NAL 유닛의 어레이 혹은 집합으로서, 비디오 기본 스트림(video elementary stream)과 비디오 및 파라미터 세트 기본 스트림(video and parameter set elementary stream)이 정의될 수 있다.
비디오 기본 스트림은 파라미터 세트를 포함하지 않으며, 모든 파라미터 세트는 샘플 엔트리(들)에 포함된다. 비디오 및 파라미터 세트 기본 스트림은 파라미터 세트를 포함할 수 있으며, 샘플 엔트리(들)에 포함된 파라미터 세트들을 포함할 수도 있다.
픽처에 사용되는 파라미터 세트는 픽처를 포함하는 샘플 또는 픽처에 대한 샘플보다 먼저 전송된다. 특정 샘플 엔트리가 적용되는 비디오 스트림에 대하여, 비디오 파라미터 세트, 시퀀스 파라미터 세트 그리고 픽처 파라미터 세트가 샘플 엔트리에만 저장될 수 있는 경우의 샘플 엔트리를 hvc1라고 하고, 비디오 파라미터 세트, 시퀀스 파라미터 세트 그리고 픽처 파라미터 세트가 샘플 엔트리와 샘플들에 저장될 수 있는 경우의 샘플 엔트리를 hev1이라고 하여 필요에 따라 두 경우를 구별할 수도 있다.
상술한 바와 같이, HEVC를 지원하기 위해, 파일 포맷의 수정이 필요하며, 특히 디코더의 초기 설정에 관한 디코더 설정 기록에 관한 수정이 필요하다.
표 1은 종래의 비디오 인코딩/디코딩을 지원하기 위해 사용하는 디코더 설정 기록의 일 예를 나타낸 것이다. 본 명세서에서는 HEVC와 구별하기 위해, 종래의 비디오 인코딩/디코딩 방법을 AVC(Advanced Video Coding)라고 한다.
Figure 112014073888317-pct00001
AVC를 지원하는 디코더 설정 기록을 AVCDecoderConfigurationRecord라고 한다.
표 1을 참조하면, AVCDecoderConfigurationRecord는 설정 버전을 지시하는 정보(configyrationVersion), 프로파일을 지시하는 정보(AVCProfileIndication), 프로파일의 호환성을 나타내는 정보(profile compatibility), 레벨을 지시하는 정보(AVCLevelIdication)를 포함한다.
프로파일은 코딩 기술들 중에서 디코더 설정이 적용되는 서브 그룹을 나타내며, 레벨은 그에 따른 제한 사항을 나타낸다.
디코더 설정 기록에는 각 정보에 대하여 할당된 길이(비트 수)가 특정된다.
표 2는 HEVC를 지원하는 디코더 설정 기록의 일 예를 나타낸 것이다. 설명의 편의를 위해, HEVC를 지원하는 디코더 설정 기록을 HEVCDecoderConfigurationRecord라 한다.
Figure 112014073888317-pct00002
표 2를 참조하면, HEVCDecoderConfigurationRecord는 설정 버전을 지시하는 정보(configyrationVersion)를 포함한다.
HEVCDecoderConfigurationRecord는 HEVC에서 적용 가능한 기술/툴(tool)의 서브 그룹과 기술/툴에 적용되는 제한에 관한 정보를 포함한다. 표 2에서는, 프로파일을 지시하는 정보로서 profileIndication, 프로파일의 호환성을 나타내는 정보로서 profileCompatibility, 레벨을 지시하는 정보로서 LevelIdication를 포함하는 경우를 예로서 설명하고 있다.
프로파일(profile)은 HEVC 중에서 이용 가능한 툴(tool)이나 알고리즘을 지시한다. 레벨(level)은 비트스트림의 특정 파라미터들에 대한 한정 사항(constraints)을 지시한다.
표 2에서는 나타내지 않았으나, HEVCDecoderConfigurationRecord는 HEVC에 대한 제한/한정 혹은 설정 사항으로서, 프로파일과 레벨 외에 티어(tier)에 관한 정보를 포함할 수도 있다. 티어는 맥시멈 비트 레이트(maximum bit rate)와 CPB(Coded Picture Buffer) 용량(CPB capacities)에 관한 정보를 지시한다.
비트스트림은 디코더 설정 기록(HEVCDecoderConfigurationRecord)에 포함된 프로파일 정보, 레벨 정보와 상이한 값을 가지지 않는다.
프로파일의 호환성을 지시하는 정보 profileCompatibility는 코딩된 비디오 시퀀스(Coded Vided Sequence: CVS)가 프로파일에 부합하는지를 지시한다.
HEVCDecoderConfigurationRecord는 크로마 성분에 대한 포맷을 지시하는 정보(chromaFormat), 루마 성분에 대한 비트 뎁스를 지시하는 정보(bitDepthLumaMinus8), 크로마 성분에 대한 비트 뎁스를 지시하는 정보(bitDepthChromaMinus8)를 포함한다.
chromaFormat은 해당 디코더 설정 기록이 적용되는 스트림에 대한 크로마 포맷을 지시하는 정보를 포함한다. 스트림 내 비디오에 대한 크로마 코맷은 크로마 포맷 지시자에 의해 지시될 수 있다. 예컨대, 크로마 포맷 지시자의 값이 0이면, 모노크롬(monochrome), 1이면 색차의 세 성분(Y, Cr, Cb)에 대한 4:2:0 샘플링, 2이면 색차의 세 성분(Y, Cr, Cb)에 대한 4:2:2 샘플링, 3이면 색차의 세 성분(Y, Cr, Cb)에 대한 4:4:4 샘플링을 지시할 수 있다.
bitDepthLumaMinus8은 해당 디코더 설정 기록이 적용되는 스트림에 대한 루마 샘플 어레이의 비트 뎁스를 특정하는 정보를 포함한다. 이때, 루마 샘플 어레이의 비트 뎁스를 특정하는 정보를 기반으로 루마 샘플의 양자화 파라미터의 범위에 대한 오프셋(the luma quantization parameter range offset)의 비트 뎁스가 특정될 수도 있다.
bitDepthChromaMinus8은 해당 디코더 설정 기록이 적용되는 스트림에 대한 크로마 샘플 어레이의 비트 뎁스를 특정하는 정보를 포함한다. 이때, 크로마 샘플 어레이의 비트 뎁스를 특정하는 정보를 기반으로 크로마 샘플의 양자화 파라미터의 범위에 대한 오프셋의 비트 뎁스가 특정될 수도 있다.
HEVCDecoderConfigurationRecord는 프레임 레이트에 관한 정보를 포함한다. 예컨대, HEVCDecoderConfigurationRecord는 프레임 레이트의 평균 값을 지시하는 정보(avgFrameRate)와 일정하게 영상이 재생되도록 프레임 레이트의 값을 설정하는 일정 프레임 레이트 정보(constantFrameRate) 그리고, 시간적 레이어의 개수를 지시하는 정보(numTemporalLayers)를 포함할 수 있다.
avgFrameRate는 해당 디코더 설정 기록이 적용되는 스트림에 대하여, 평균 프레임 레이트를 알려준다. 0의 값을 갖는 avgFrameRate는 특정되지 않은 평균 프레임 레이트를 지시한다.
constantFrameRate는 해당 디코더 설정 기록이 적용되는 스트림에 대해서, 프레임 레이트가 일정한지를 지시한다. 예컨대, constantFrameRate의 값이 0이면 스트림이 일정한 프레임 레이트를 가질 수도 있고 일정한 프레임 레이트를 갖지 않을 수도 있다는 것을 지시한다. constantFrameRate의 값이 1이면, 스트림이 일정한 프레임 레이트를 갖는다는 것을 지시한다. constantFrameRate의 값이 2면 스트림의 각 시간 계층(temporal layer)의 표현(representation)이 일정 프레임 레이트를 갖는다는 것을 지시한다.
numTemporalLayers는 해당 디코더 설정 기록이 적용되는 스트림의 시간 계층 계수를 특정하는 정보를 포함한다. 예컨대, numTemporalLayers의 값이 0이면, 스트림이 시간적으로 스케일러블(temporally scalable)한지가 알려지지 않았음을 지시하며, numTemporalLayers의 값이 1이면 스트림이 시간적으로 스케일러블 하지 않다는 것을 지시한다. numTemporalLayers의 값이 1보다 크면, 스트림이 시간적으로 스케일러블하며, numTemporalLayers의 값과 동일한 개수의 시간 계층을 포함한다는 것을 지시할 수 있다.
HEVCDecoderConfigurationRecord는 해당 디코더 설정 기록이 적용되는 스트림 내 HEVC 비디오 샘플의 NAL 유닛 길이에 관한 정보 lengthSizeMinusOne를 포함할 수 있다. 예컨대, lengthSizeMinusOne는 스트림 내 HEVC 비디오 샘플의 NAL 유닛 길이(NALUnitLength) 필드의 길이를 바이트(byte) 단위로 나타낼 수 있다. 예컨대, 1 비트의 사이즈는 lengthSizeMinusOne의 값 0으로 지시될 수 있다.
HEVCDecoderConfigurationRecord는 NAL 유닛의 개수에 관한 정보를 포함할 수 있다. 표 2의 예에서는, numInitializationNalus를 통해 해당 디코더 설정 기록이 적용되는 스트림의 NAL 유닛 개수를 특정할 수 있다.
HEVCDecoderConfigurationRecord에서 각 NAL 유닛과 NAL 유닛의 길이는 nalUnit과 nalUnitLength에 의해 특정된다. 이때, NAL 유닛의 길이는 바이트 단위로 특정될 수 있다.
한편, 표 1에 예시된 AVC에 대한 디코더 설정 기록과 표 2에 예시된 HEVC에 대한 디코더 설정 기록을 간에는 몇 가지 차이가 존재한다.
AVCDecoderConfigurationRecord에서 신택스 요소(syntax element) 중 크로마 포맷에 관한 정보 chroma_format, 루마 샘플의 비트 뎁스에 관한 정보 bit_depth_luma_minus8, 크로마 샘플의 비트 뎁스에 관한 정보 bit_depth_luma_minus8이 프로파일 정보에 따라서 조건부로 전송된다.
반면에, HEVCDEcoderConfigurationRecord에서 신택스 요소 chroma_format, bit_depth_luma_minus8, bit_depth_luma_minus8를 조건 없이 항상 시그널링한다.
또한, AVCDecoderConfigurationRecord와 달리, HEVCDecoderConfigurationRecord는 SPS 확장(Sequence Parameter Set extension: SequenceParameterSetExt)을 지원하지 않는다.
비(非)-VCL(Non-Video Coding Layer) NAL 유닛은 페이로드에 VCL NAL 유닛과 함께 저장될 수도 있고, 디코더 설정 기록에 저장될 수 있다. 비-VCL NAL 유닛이 디코더 설정 기록에 저장되는 경우에, AVCDecoderConfigurationRecord에서는 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set)가 서로 다른 어레이에서 별개로 시그널링된다. 이때, SEI(Supplemental Enhancement Information) 메시지는 SPS와 PPS 에서 시그널링될 수 있다.
반면에, HEVCDecoderConfigurationRecord에서는, 모든 비-VCL NAL 유닛들(예컨대, SPS, PPS, APS(Adaptation Parameter Set), SEI 등)이 하나의 어레이 혹은 하나의 초기 NAL 유닛(initialization NAL unit)에서 함께 섞여 있다.
이처럼, HEVCDecoderConfigurationRecord는 AVCDecoderConfigurationRecord와는 다른 점을 가지고 있다.
하지만, HEVC에 대한 디코더 설정 기록 HEVCDecoderConfigurationRecord에서도 효과적인 비디오 코딩(인코딩/디코딩)을 위해 개선될 부분이 존재한다.
이하, 구체적인 실시예를 통해, 본 발명에 따른 HEVCDecoderConfigurationRecord와 그에 따른 효과에 대하여 설명한다.
1. HEVC 디코더 설정 기록( HEVCDecoderConfigurationRecord ) 에서 요소( element ) 들을 시그널링 하는 방법
표 2의 HEVCDecoderConfigurationRecord에서는 신택스 요소들이 아래 표 3과 같이 시그널링 되고 있다.
표 3은 표 2에서 신택스 요소 constantFrameRate, numTemporalLayers, lengthSizeMinusOne의 시그널링만을 나타낸 것이다.
Figure 112014073888317-pct00003
표 3을 참조하면, constantFrameRate에 1 비트가 할당되고, numTemporalLayers에 3비트가 할당되며, 2 비트의 예비 비트(reserved bits)와 함께, lengthSizeMinusOne에 2 비트가 할당된다.
따라서, 8 비트 파서(parser)를 사용하여, 스트림을 8 비트씩 읽는 경우를 가정하면, 표 3의 경우 하나의 8 비트 스트링 데이터가 3 이상의 신택스 요소를 포함하게 된다.
따라서, 원활한 파싱이 수행되기 어려워지고, 8 비트 단위 파싱의 간결성도 유지하기 어려워진다.
이 문제를 해결하기 위해 다음과 같은 2 가지 실시예 중 어느 하나를 이용할 수 있다.
(실시예 1-1) 모든 신택스 요소에 8 비트 정렬 시그널링을 적용하는 방법.
실시예 1-1에서는, HEVCDecoderConfigurationRecord에서 시그널링되는 모든 신택스 요소가 8 비트 단위로 정렬된다. 이때, 8 비트 단위의 사이즈가 아닌 신택스 요소에 대해서는 패딩 비트를 사용할 수 있다.
예컨대, 8 비트 또는 8 비트의 배수가 되기에 부족한 사이즈의 신택스 요소에 대해서는 패딩 비트를 신택스 요소의 앞 또는 뒤에 추가할 수 있다. 패딩 비트로는 예비 비트(reserved bits)를 이용할 수 있다.
표 4는 실시예 1-1에 따른 HEVCDecoderConfigurationRecord의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00004
표 3에서는 8 비트 단위의 사이즈를 갖지 못하는 신택스 요소 앞에 예비 비트를 추가하여 해당 신택스 요소에 대한 전송이 8 비트 단위로 이루어지도록, 해당 신택스 요소에 대한 파싱이 8 비트 단위로 이루어지도록 하고 있다.
다시 말하면, 실시예 1-1에서는 신택스 요소 앞에 예비 비트를 추가함으로써, 파싱/전송이 한 신택스 요소씩 8 비트 단위로 수행되게 할 수 있다.
예컨대, 표 3의 예에서는 6 비트의 예비 비트를 추가하여 constantFrameRate에 대한 전송/파싱이 8 비트 단위가 되도록 한다. numTemporalLayers 의 경우에는, 5 비트의 예비 비트가 추가되어 전송/파싱이 8 비트 단위가 된다. 또한, 6 비트의 예비 비트를 추가하여 lengthSizeMinusOne에 대한 전송/파싱이 8 비트 단위가 되도록 한다.
표 2에서 설명한 바와 같이, constantFrameRate의 값이 0이면 스트림이 일정한 프레임 레이트를 가질 수도 있고 일정한 프레임 레이트를 갖지 않을 수도 있다는 것을 지시한다. constantFrameRate의 값이 1이면, 스트림이 일정한 프레임 레이트를 갖는다는 것을 지시한다. constantFrameRate의 값이 2면 스트림의 각 시간 계층(temporal layer)의 표현(representation)이 일정 프레임 레이트를 갖는다는 것을 지시한다.
따라서, constantFrameRate에는 1 비트가 아니라 2 비트가 할당된다.
실시예 1-1에 의하면, 파싱이 심플하게 수행될 수 있다. 단순히 8 비트 단위로 신택스 요소를 파싱할 수 있으므로, 파서를 간단하게 구현할 수 있다.
또한, 8 비트 파서로 1 패스/1 사이클 파싱이 가능하게 된다. 예컨대, 8 비트 파서가 종래의 HEVCDecoderConfigurationRecord 내 신택스 요소를 파싱하는 경우라면, 신택스 요소들 constantFrameRate, numTemporalLayers, lengthSizeMinusOne 을 추출하는데 추가 프로세스가 필요했지만, 실시예 1-1을 적용하는 경우에는 추가 프로세스가 필요없다.
표 4에서는 예비 비트를 신택스 요소 앞에 추가하여 전송/파싱이 8 비트 단위가 되도록 하였으나, 본 발명은 이에 한정되지 않으며, 예비 비트를 신택스 요소 뒤에 추가하여 해당 신택스 요소에 대한 전송/파싱이 8 비트 단위가 되도록 할 수도 있다.
또한, 표 4에서는 8 비트 단위로 파싱하는 경우를 예로서 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 8 비트 단위로 파싱하는 파서가 아니라, X 비트 단위로 파싱하는 파서를 사용하는 경우에는, 신택스 요소가 X 비트 단위로 전송/파싱되도록 할 수 있다. 이때는 예비 비트를 신택스 요소의 앞 또는 뒤에 추가하여 전송/파싱이 한 신택스 요소씩 8 비트 단위로 수행되게 할 수 있다.
(실시예 1-2) 신택스 요소의 시그널링에서 예비 비트 사용의 최소화
실시예 1-2의 HEVCDecoderConfigurationRecord에서는 컴팩트한 폼으로 신택스 요소가 시그널링되며, 예비 비트의 사용이 최소화된다. 예비 비트는 전체 HEVCDecoderConfigurationRecord 길이가 바이트 정렬되도록 하기 위해 마지막 수단으로 사용될 수 있다.
표 5는 실시예 1-2에 따른 HEVCDecoderConfigurationRecord의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00005
표 5의 예에서는, 전체 HEVCDecoderConfigurationRecord를 바이트 정렬하기 위해 1 비트의 예비 비트만을 사용한다.
예비 비트는 단일 신택스 요소들이 8 비트 단위로 전송/파싱될 수 있게 필요한 부분에서 최소 한도로 사용된다. 예컨대, 예비 비트는 8 비트에 모자라는 신택스 요소(들)에 더해져서 8 비트 단위로 신택스 요소들이 전송/파싱되도록 할 수 있다.
실시예 1-2에 따른 HEVCDecoderConfigurationRecord를 이용하면 종래의 HEVCDecoderConfigurationRecord를 이용하는 것보다 컴팩트한 시그널링이 가능하며 더 적은 비트 수로 시그널링할 수 있게 된다.
2. HEVC 디코더 설정 기록( HEVCDecoderConfigurationRecord )에서 NAL 유닛을 시그널링 하는 방법
상술한 파싱/전송 단위에 따른 신택스 요소의 조정과 함께 혹은 별도로 HEVCDecoderConfigurationRecord에서 초기 NAL 유닛을 시그널링하는 방법이 문제된다.
표 1의 AVCDecoderConfigurationRecord 내에는 SPS, PPS, APS, SEI 메시지 등이 개별 어레이에서 시그널링 되고 있으며, 표 2의 HEVCDecoderConfigurationRecord 내에서는 VPS(Video Parameter Set), SPS(Sequence Parameter Set), PPS(Picture Parameter Set)의 NAL 유닛이 혼재되어(be mixed) 시그널링되고 있다.
이때, 적응적으로 사용 가능한 APS(Adaptation Parameter Set)이 필요에 따라 HEVCDecoderConfigurationRecord에서 전송될 수도 있다.
HEVCDecoderConfigurationRecord가 디코더의 초기 설정을 특정하는 정보이므로, 설명의 편의를 위해 본 명세서에서는 HEVCDecoderConfigurationRecord에서 전송되는 NAL 유닛을 초기 NAL 유닛이라고 한다.
표 2의 HEVCDecoderConfigurationRecord에서와 같이 초기 NAL 유닛이 혼재하는 경우에, HEVCDecoderConfigurationRecord의 파서는 파싱하는 초기 NAL 유닛의 타입을 알기 위해서 NAL 유닛 헤더를 참조해야 한다.
이 경우, 파서의 동작과 HEVC 파일 포맷의 전체 구조가 복잡해지며, 파서의 부담이 가중될 수 있다.
따라서, HEVC 파일 포맷이 HEVC 인코딩/디코딩의 세부적인 사항에까지 관여하지 않도록, 다시 말하면, 파서의 부담을 줄이고 시스템에서 처리되는 파일 포맷 레벨에서 필요한 정보들이 간단하게 처리될 수 있도록 할 필요가 있다.
본 발명에서는 HEVC 파일을 다루기 위해 필요한 정보들이 파일 포맷 레벨에서 이용 가능하도록 HEVCDecoderConfigurationRecord를 구성한다. 구체적으로, 본 발명에 따른 HEVCDecoderConfigurationRecord에서는 파서가 NAL 유닛 헤더의 정보 혹은 더 하위 레벨의 정보를 참조하지 않고, HEVCDecoderConfigurationRecord의 정보만을 이용해서 NAL 유닛의 타입을 파악할 수 있다.
이를 위해, 아래 두 실시예 중 어느 하나를 사용하거나 혹은 두 방법을 혼합하여 사용할 수 있다.
(실시예 2-1) 각 초기 NAL 유닛을 구분하기 위한 타입 정보의 부가
초기 NAL 유닛의 타입은 초기 NAL 유닛의 헤더 정보 중 첫 번째 바이트(byte)를 파싱함으로써 확인할 수는 있지만, 상술한 바와 같이 HEVC 파일을 다루기 위해 필요한 정보들을 시스템 레벨(예컨대, 파일 포맷 레벨)에서 이용하지 못하고 하위 레벨의 정보를 참조하여 획득하게 된다.
실시예 2-1에서는 초기 NAL 유닛의 타입을 HEVCDecoderConfigurationRecord에서 시그널링 한다. 구체적으로, HEVCDecoderConfigurationRecord에서는 초기 NAL 유닛별로 초기 NAL 유닛의 타입과 길이에 관한 정보를 전송하고, 이어서 해당 초기 NAL 유닛을 전송한다.
표 6은 실시예 2-1에 따른 HEVCDecoderConfigurationRecord의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00006
표 6에서, 초기 NAL 유닛 타입 지시자 initializationNalUnitType은 연관된 초기 NAL 유닛의 타입을 특정한다.
예컨대, HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛 타입이 SPS, PPS, APS, SEI 인 경우에, initializationNalUnitType은 각 초기 NAL 유닛별로 해당 NAL 유닛의 타입이 그 중 어떤 것인지를 지시할 수 있다.
표 7은 HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛 타입이 SPS, PPS, APS, SEI 인 경우에, 본 발명에 따라서 initializationNalUnitType의 값과 초기 NAL 유닛 타입을 대응시키는데 이용되는 테이블의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00007
표 7에서는 HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛 타입이 SPS, PPS, APS, SEI 인 경우를 예시했지만, 본 발명은 이에 한정되지 않는다. 예컨대, 적응적으로 사용되는 파라미터 세트인 APS가 사용되지 않고, VPS의 전송이 필요할 수도 있다.
표 8은 HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛 타입이 SPS, PPS, VPS, SEI 인 경우에, 본 발명에 따라서 initializationNalUnitType의 값과 초기 NAL 유닛 타입을 대응시키는데 이용되는 테이블의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00008
또한, HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛 타입이 ?, SPS, PPS, APS, SEI 중 어느 하나일 수도 있다.
표 9는 HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛 타입이 VPS, SPS, PPS, APS, SEI인 경우에, 본 발명에 따라서 initializationNalUnitType의 값과 초기 NAL 유닛 타입을 대응시키는데 이용되는 테이블의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00009
표 7 내지 표 9에서, PPS(Picture Parameter Set)는 0 또는 그보다 많은 개수의 픽처들에 적용되는 파라미터 정보를 지시하는 신택스 요소를 포함하는 신택스 구조(syntax structure)이다. PPS에 포함된 신택스 요소는 슬라이스 시그먼트 헤더의 신택스 요소에 의해 필요한 경우에 참조될 수 있다.
SPS(Sequence Parameter Set)는 0 또는 그보다 많은 코딩된 비디오 시퀀스에 적용되는 파라미터 정보를 지시하는 신택스 요소를 포함하는 신택스 구조이다. SPS에 포함된 신택스 요소는 PPS 내 신택스 요소에 의해 필요한 경우에 참조될 수 있다.
VPS(Video Parameter Set)는 0 또는 그보다 많은 코딩된 비디오 시퀀스에 적용되는 파라미터 정보를 지시하는 신택스 요소를 포함하는 신택스 구조이다. VPS에 포함된 신택스 요소는 SPS 내 신택스 요소에 의해 필요한 경우에 참조될 수 있다.
SEI(Supplemental Enhancement Information) 메시지는 비디오를 다양한 목적에 맞게 효과적으로 이용하기 위해 비트스트림에 추가되는 정보이다.
HEVCDecoderConfigurationRecord에서는 표 7 내지 표 9와 같은 테이블 중 어느 하나를 사용하여, HEVCDecoderConfigurationRecord에서 전송되는 NAL 유닛마다 해당 NAL 유닛의 타입이 무엇인지를 시스템 레벨에서 지시할 수 있다.
예컨대, 수신단(디코더 측의 시스템)에서는 HEVCDecoderConfigurationRecord 내에서 initializationNalUnitType을 파싱하여 initializationNalUnitType의 값에 따라 대응하는 NAL 유닛의 타입을 파악할 수 있다.
표 6에서, nalUnitLength은 initializationNalUnitType이 지시하는 초기 NAL 유닛의 길이를 지시한다.
표 6에서, nalUnit은 initializationNalUnitType이 지시하는 초기 NAL 유닛이다. 표 7이 사용되는 경우에, nalUnit은 SPS, PPS, APS, SEI 중 어느 하나일 수 있다. 표 8이 사용되는 경우에, nalUnit은 VPS, SPS, PPS, SEI 중 어느 하나일 수 있다. 또한, 표 9가 사용되는 경우에, nalUnit은 VPS, SPS, PPS, APS, SEI 중 어느 하나일 수 있다.
표 6을 참조하면, numInitializationNalus에 의해 HEVCDecoderConfigurationRecord에 포함된 초기 NAL 유닛의 개수가 특정되면, 초기 NAL 유닛의 개수만큼, 순서대로 초기 NAL 유닛의 타입과 길이를 지시하고 해당 초기 NAL 유닛을 전송한다.
표 6에서는 initializationNalUnit과 nalUnit을 혼용 기재하였으나, 이는 HEVCDecoderConfigurationRecord에서 전송되는 NAL 유닛이 초기 NAL 유닛이라는 점을 나타내면서 HEVCDecoderConfigurationRecord를 간단히 설명하기 위한 것으로서, 관련된 표현들을 통일할 수도 있다.
표 10은 HEVCDecoderConfigurationRecord에서 전송되는 초기 NAL 유닛에 관한 정보를 ‘initializationNalUnit’ 대신 ‘nalUnit’을 이용하여 간단히 표현하는 경우에, 실시예 2-1에 따른 HEVCDecoderConfigurationRecord의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00010
표 10에서는 initializationNalUnit’ 대신 ‘nalUnit’을 이용하여 NAL 유닛에 관한 정보들을 표현하였으나, 구체적인 내용은 표 6과 동일하다.
표 6과 표 10에서는 HEVCDecoderConfigurationRecord에서 초기 NAL 유닛별로 NAL 유닛 타입을 지시하고 있으나, 본 발명은 이에 한정되지 않는다. 예컨대, HEVCDecoderConfigurationRecord에서 NAL 유닛 타입별로 각 초기 NAL 유닛의 길이를 지시하고 초기 NAL 유닛을 전송할 수도 있다.
표 11은 실시예 2-1에 따른 HEVCDecoderConfigurationRecord의 다른 예를 나타낸 것이다.
Figure 112014073888317-pct00011
표 11에서, numOfNalUnitType는 HEVCDecoderConfigurationRecord에서 지시되는 NAL 유닛 타입의 개수를 지시하며, NAL_unit_type는 NAL 유닛 타입을 특정한다.
numNalus는 NAL_unit_type에 의해 특정되는 NAL 유닛 타입에 해당하는 초기 NAL 유닛의 개수를 지시한다.
표 11을 참조하면, NAL_unit_type에 의해 특정되는 NAL 유닛 타입에 해당하는 초기 NAL 유닛들의 개수만큼, 순서대로 해당 NAL 유닛 타입에 속하는 각 초기 NAL 유닛의 길이를 지시하고, 해당 초기 NAL 유닛을 전송한다.
표 6과 표 10 그리고 표 11에서는 HEVCDecoderConfigurationRecord에서 NAL 유닛 타입(들)에 대응하는 초기 NAL 유닛(들)이 하나의 NAL 유닛 어레이에 있는 경우에 대하여 설명하고 있으나, 본 발명은 이에 한정되지 않는다. 예컨대, 본 발명은 NAL 유닛 타입(들)에 대응하는 초기 NAL 유닛들이 하나 이상의 NAL 유닛 어레이에 있는 경우에 대해서도 동일하게 적용될 수 있다.
표 12은 실시예 2-1에 따른 HEVCDecoderConfigurationRecord의 또 다른 예를 나타낸 것이다.
Figure 112014073888317-pct00012
표 12를 참조하면, numArrays는 HEVCDecoderConfigurationRecord에서 지시되는 타입(들)의 초기 NAL 유닛들의 어레이(array) 개수를 지시한다.
array_completeness는 HEVCDecoderConfigurationRecord에서 해당 초기 NAL 유닛 타입에 대응하는 초기 NAL 유닛(들)이 하나의 (NAL 유닛들의) 어레이 내에 있는지를 지시한다. 예컨대, array_completeness의 값이 1이면, 주어진 타입의 모든 NAL 유닛들이 다음 어레이(following array)에 있다는 것을 지시하고, array_completeness의 값이 0이면 주어진 타입의 초기 NAL 유닛들 중에서 다음 어레이에 있지 않은 초기 NAL 유닛들이 스트림에 존재한다는 것을 지시한다.
numNalus는 HEVCDecoderConfigurationRecord가 적용되는 스트림에 대하여, HEVCDecoderConfigurationRecord에서 해당 NAL 유닛 타입의 초기 NAL 유닛 개수를 지시한다.
표 12를 참조하면, 초기 NAL 유닛의 어레이별로 NAL 유닛 타입과 해당 NAL 유닛 타입에 해당하는 초기 NAL 유닛의 개수를 지시한다. 이때, 해당 NAL 유닛 타입에 해당하는 초기 NAL 유닛의 개수만큼, 순서대로 각 초기 NAL 유닛의 길이를 지시하고 초기 NAL 유닛을 전송한다.
(실시예 2-2) 서로 다른 타입의 초기 NAL 유닛을 서로 다른 어레이에서 전송
실시예 2-2에서는 HEVCDecoderConfigurationRecord에서, 초기 NAL 유닛을 NAL 유닛 타입별로 전송한다. 구체적으로, HEVCDecoderConfigurationRecord에서 서로 다른 NAL 유닛 타입의 초기 NAL 유닛은 NAL 유닛 타입별로 서로 다른 어레이에서 전송될 수 있다.
예컨대, HEVCDecoderConfigurationRecord에서 전송되는 NAL 유닛의 타입이 VPS, SPS, PPS, SEI, APS 중 일부 또는 전부라면, 각 파라미터 세트/메시지에 해당하는 NAL 유닛을 파라미터 세트/메시지 별로 서로 다른 어레이에서 초기 NAL 유닛이 전송된다. 따라서, VPS에 해당하는 NAL 유닛들을 모아서 전송하고, SPS에 해당하는 초기 NAL 유닛들은 다른 어레이(들)에서 전송되며, PPS에 해당하는 초기 NAL 유닛들은 또 다른 어레이(들)에서 전송될 수 있다.
이때, DecoderConfigurationRecord 내에서 어레이들의 순서는 각 NAL 유닛 타입별 초기 유닛의 예상 개수를 기반으로 결정될 수 있다.
예컨대, NAL 유닛 타입이 SPS인 초기 NAL 유닛(SPS NAL 유닛)들을 시그널링하는 어레이(들)이 다른 타입의 초기 NAL 유닛들을 시그널링하는 어레이(들)보다 먼저 나타날 수 있다. 이어서, NAL 유닛 타입이 PPS인 초기 NAL 유닛(PPS NAL 유닛)들을 시그널링하는 어레이(들)이 위치할 수 있다.
그리고 나서, NAL 유닛 타입이 SEI 메시지인 초기 NAL 유닛(SEI NAL 유닛)들을 시그널링하는 어레이(들)이 위치할 수 있다.
APS가 이용되는 경우라면, NAL 유닛 타입이 APS인 초기 NAL 유닛(APS NAL 유닛)들을 시그널링하는 어레이(들)이 마지막에 위치할 수도 있다.
또한, VPS가 이용되는 경우라면, NAL 유닛 타입이 VPS인 초기 NAL 유닛(VPS NAL 유닛)들을 시그널링하는 어레이(들)이 제일 처음에 위치할 수도 있다.
표 13은 실시예 2-2에 따른 DecoderConfigurationRecord의 일 예를 나타낸 것이다.
Figure 112014073888317-pct00013
표 13에서, numOfSequenceParameterSets는 해당 디코더 설정 기록이 적용되는 스트림을 디코딩하기 위해 이용되는 SPS들의 개수를 지시한다. numOfSequenceParameterSets의 값이 0이면, 스트림의 샘플들에 SPS가 없다는 것을 지시하고, numOfSequenceParameterSets의 값이 0 보다 크면, 적어도 하나의 SPS(예컨대, 해당 값과 같은 개수만큼의 SPS)가 스트림의 샘플들에 포함되어 있다는 것을 지시한다.
sequenceParameterSetLength는 SPS NAL 유닛들의 길이를 바이트 단위로 지시한다.
numOfPictureParameterSets는 해당 디코더 설정 기록이 적용되는 스트림을 디코딩하기 위해 이용되는 PPS의 개수를 지시한다. numOfPictureParameterSets의 값이 0이면, 스트림의 샘플들에 PPS가 없다는 것을 지시하고, numOfPictureParameterSets의 값이 0 보다 크면, 적어도 하나의 PPS(예컨대, 해당 값과 같은 개수만큼의 PPS)가 스트림의 샘플들에 포함되어 있다는 것을 지시한다.
pictureParameterSetLength는 PPS NAL 유닛들의 길이를 바이트 단위로 지시한다.
numOfDeclarativeSEIs는 해당 디코더 설정 기록이 적용되는 스트림을 디코딩하기 위해 이용되는 선언적 SEI(declarative SEI)의 개수를 지시한다. numOfDeclarativeSEIs의 값이 0이면, 스트림의 샘플들에 선연적 SEI가 없다는 것을 지시하고, numOfDeclarativeSEIs의 값이 0 보다 크면, 적어도 하나의 선언적 SEI(예컨대, 해당 값과 같은 개수만큼의 선연적 SEI)가 스트림의 샘플들에 포함되어 있다는 것을 지시한다.
declarativeSeiLength는 SEI 유닛들의 길이를 바이트 단위로 지시한다.
numOfAdaptationParameterSets는 해당 디코더 설정 기록이 적용되는 스트림을 디코딩하기 위해 이용되는 APS의 개수를 지시한다. numOfAdaptationParameterSets의 값이 0이면, 스트림의 샘플들에 APS가 없다는 것을 지시하고, numOfAdaptationParameterSets의 값이 0 보다 크면, 적어도 하나의 APS가 스트림의 샘플들에 포함되어 있다는 것을 지시한다.
adaptationParameterSetLength는 APS NAL 유닛들의 길이를 바이트 단위로 지시한다.
지금까지 본 명세서에서는 NAL 유닛이 DecoderConfigurationRecord에 포함되어 전송된다고, 이는 설명의 편의를 위한 것으로서, 본 발명은 이에 한정되지 않는다. 상술한 바와 같이, NAL 유닛은 DecoderConfigurationRecord에 저장되어 네트워크 상으로 전송될 수도 있다. 또한, NAL 유닛은 DecoderConfigurationRecord에 저장되고, DecoderConfigurationRecord가 저장 매체에 저장되어 전달될 수도 있다.
또한, 본 명에서에서는 DecoderConfigurationRecord 혹은 DecoderConfigurationRecord를 포함하는 스트림을 수신한다고 표현하였으나, 이는 설명의 편의를 위한 것으로서, 본 발명은 이에 한정되지 않는다. 본 명세서에서 DecoderConfigurationRecord 혹은 DecoderConfigurationRecord를 포함하는 스트림을 수신한다는 것은 네트워크 상으로 DecoderConfigurationRecord 혹은 DecoderConfigurationRecord를 포함하는 스트림을 수신한다는 것을 의미할 수도 있고, DecoderConfigurationRecord 혹은 DecoderConfigurationRecord를 포함하는 스트림을 저장 매체 등으로부터 획득한다는 것을 의미할 수도 있다
도 2는 본 발명에 따라서 영상 정보를 저장하는 방법을 개략적으로 설명하는 순서도이다. 도 2에서 영상 정보는 도 1에서 설명한 미디어 파일 포맷의 일부 또는 전부에 대응하는 정보일 수 있으며, 디코더 설정 정보(DecorderConfigurationRecord)를 포함한다.
여기서는 설명의 편의를 위해, 영상 정보 저장 장치가 도 2의 각 단계를 수행하는 것으로 설명한다.
도 2를 참조하면, 영상 정보 저장 장치는 영상 정보를 인코딩할 수 있다(S210). 예컨대, 영상 정보 저장 장치는 영상 콘텐츠를 HEVC에 기반하여 인코딩할 수 있다. 영상 정보 저장 장치는 인코딩된 영상 콘텐츠와 디코딩에 필요한 정보를 포함하는 NAL 유닛을 생성할 할 있다.
영상 정보 저장 장치는 NAL 유닛을 디코더 설정 기록에 저장할 수 있다(S220). 디코더 설정 기록은 저장되는 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다. 이때, NAL 유닛의 타입은 VPS, SPS, PPS, SEI 등일 수 있다.
디코더 설정 기록의 구체적인 내용은 앞서 도 1과 표들을 이용하여 설명한 바와 같다. 예컨대, 디코더 설정 기록은 소정의 정해진 비트 단위로 파싱될 수 있기 때문에, 신택스 요소들이 8 비트 단위가 아닌 경우에 영상 정보 저장 장치는 예비 비트를 추가하여 예비 비트와 상기 신택스 요소에 할당된 비트가 8 비트 또는 8 비트의 배수가 되도록 구성할 수도 있다.
또한, 디코더 설정 기록은 NAL 유닛의 타입을 지시하는 정보와 함께, 해당 NAL 유닛의 길이를 지시하는 정보를 해당 NAL 유닛과 함께 포함할 수 있다.
또한, 디코더 설정 기록에 포함되는 NAL 유닛의 어레이는 하나 또는 복수일 수 있다. NAL 유닛의 어레이가 복수인 경우에, 디코더 설정 기록은 어레이별로 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.
디코더 설정 기록에서, 한 어레이에 대한 저장이 끝나면 다음 어레이에 대하여 NAL 유닛 및 대응하는 정보가 저장될 수 있다.
이 경우에도 디코더 설정 기록은 해당 NAL 유닛 타입에 속하는 NAL 유닛들을 NAL 유닛의 길이 정보와 함께 포함할 수 있다. 이때, 디코더 설정 기록은 NAL 유닛 타입을 지시하는 정보와 함께 상기 NAL 유닛 타입에 속하는 NAL 유닛들의 정보와 NAL 유닛을 저장할 수도 있다. 한 어레이에서 하나의 NAL 유닛 타입에 속하는 모든 NAL 유닛들과 대응하는 정보가 배치(저장)된 후에, 다음 NAL 유닛 타입에 속하는 NAL 유닛과 대응하는 정보가 저장될 수 있다.
여기서는 설명의 편의를 위해, S210 및 S220의 동작과 디코더 설정 기록의 구성을 영상 정보 저장 장치가 수행하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 각 단계의 동작은 영상 정보 저장 장치 내 개별 유닛에서 수행될 수도 있다.
도 3은 본 발명에 따라서 영상 정보를 파싱하는 방법을 개략적으로 설명하는 순서도이다. 도 3에서 영상 정보는 도 1에서 설명한 미디어 파일 포맷의 일부 또는 전부에 대응하는 정보일 수 있으며, 디코더 설정 정보(DecorderConfigurationRecord)를 포함한다.
여기서는 설명의 편의를 위해 영상 정보 파싱(parsing) 장치가 도 3의 각 단계를 수행하는 것으로 설명한다.
도 3을 참조하면, 영상 정보 파싱 장치는 디코더 설정 기록을 파싱할 수 있다(S310). 디코더 설정 기록은 파일 포맷에 속하는 정보로서, 시스템 레벨에서 파싱이 수행될 수 있다. 디코더 설정 기록을 파싱하여, 영상 정보 파싱 장치는 해당 영상 정보의 프로파일, 레벨, 포맷, 비트 뎁스 등에 관한 정보를 획득할 수 있다. 영상 정보 파싱 장치는 디코더 설정 기록에 포함된 NAL 유닛의 길이와 타입에 관한 정보를 획득할 수 있다.
또한, 본 발명에 따른 디코더 설정 기록의 경우에는 NAL 유닛의 타입을 지시하는 정보를 포함하므로, 영상 정보 파싱 장치는 디코더 설정 기록을 파싱하여, NAL 유닛의 타입을 지시하는 정보를 획득할 수 있다. 따라서, 영상 정보 파싱 장치는 시스템 레벨에서 디코더 설정 기록에 포함된 NAL 유닛의 타입이 무엇인지 판단하고, 그에 따라서 파싱을 수행할 수 있다.
파싱은 신택스 요소 및/또는 데이터(정보)의 구체적인 값을 획득하는 것을 의미할 수 있다. 디코더 설정 기록에 대한 파싱은 소정의 비트 단위로 수행될 수 있다. 예컨대, 영상 정보 파싱 장치에서 파싱을 수행하는 파서가 8 비트 파서라면 파싱은 8 비트 단위로 수행될 수 있다.
한편, 디코더 설정 기록은 앞서 도 1과 표들을 통해 설명한 바와 같다. 예컨대, 디코더 설정 기록은 NAL 유닛의 타입을 지시하는 정보와 함께, 해당 NAL 유닛의 길이를 지시하는 정보를 해당 NAL 유닛과 함께 포함할 수 있다.
또한, 디코더 설정 기록에 포함되는 NAL 유닛의 어레이는 하나 또는 복수일 수 있다. NAL 유닛의 어레이가 복수인 경우에, 디코더 설정 기록은 어레이별로 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다.
NAL 유닛의 어레이가 복수인 경우에, 디코더 설정 기록에는 한 어레이에 대한 정보들이 저장되어 있고, 그 다음에 다음 어레이에 대한 NAL 유닛 및 대응하는 정보가 저장되어 있을 수 있다.
이 경우에도 디코더 설정 기록은 해당 NAL 유닛 타입에 속하는 NAL 유닛들을 NAL 유닛의 길이 정보와 함께 포함할 수 있다. 이때, 디코더 설정 기록은 NAL 유닛 타입을 지시하는 정보와 함께 상기 NAL 유닛 타입에 속하는 NAL 유닛들의 정보와 NAL 유닛을 저장하고 있을 수도 있다. 한 어레이에서 하나의 NAL 유닛 타입에 속하는 모든 NAL 유닛들과 대응하는 정보가 저장되어 있고, 그 뒤에, 다음 NAL 유닛 타입에 속하는 NAL 유닛과 대응하는 정보가 저장되어 있을 수 있다.
디코더 설정 기록에 저장되어 있는 정보들은, 저장된 순서에 기반에서 차례대로 파싱될 수 있다.
영상 정보 파싱 장치는 파싱된 디코더 설정 기록에 기반하여 영상 정보를 디코딩할 수 있다(S320). 영상 정보 파싱 장치는 파싱된 디코더 설정 기록에 기반하여, 디코더 설정 기록에 대응하는 정보들을 처리하며, 디코더 설정 기록에 매치되지 않는 정보는 처리하지 않거나 인식하지 않을 수 있다.
여기서는 설명의 편의를 위해 디코딩이 파싱과 영상 정보의 복원을 포함하는 것으로 설명한다. 또한, 영상 정보의 복원은 영상 정보 파싱 장치에서 수행될 수도 있고, 영상 정보 파싱 장치에서 수행된 파싱의 결과를 기반으로 별도의 디코더에서 수행될 수도 있다.
영상 정보 파싱 장치는 파싱된 디코더 설정 기록을 기반으로, 각 NAL 유닛 타입별로 NAL 유닛들을 파싱할 수 있다. 디코더 설정 기록에서 NAL 유닛의 어레이가 복수인 경우에는, 각 어레이별로 NAL 유닛의 타입에 따라서 NAL 유닛을 파싱할 수도 있다.
도 2와 도 3에서는 NAL 유닛으로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 디코더 설정 기록에 포함된 NAL 유닛은 앞서 설명한 바와 같이 초기 NAL 유닛일 수 있다.
도 4는 본 발명에 따른 영상 정보 저장 장치의 구성을 개략적으로 설명하는 블록도이다. 도 4에서 영상 정보는 도 1에서 설명한 미디어 파일 포맷의 일부 또는 전부에 대응하는 정보일 수 있으며, 디코더 설정 정보(DecorderConfigurationRecord)를 포함한다.
도 4를 참조하면, 영상 정보 저장 장치(400)는 인코딩부(410)와 저장부(420)를 포함한다.
인코딩부(410)는 입력된 영상 정보를 인코딩할 수 있다. 예컨대, 인코딩부(410)는 HEVC를 지원하는 방법을 이용하여 영상 정보를 인코딩 할 수 있다. 인코딩부(410)는 또한 인코딩된 영상 콘텐츠와 디코딩에 필요한 정보를 포함하는 NAL 유닛을 생성할 할 있다.
저장부(420)는 생성된 NAL 유닛을 디코더 설정 기록에 저장할 수 있다. 디코더 설정 기록은 저장되는 NAL 유닛의 타입을 지시하는 정보를 포함할 수 있다. 이때, NAL 유닛의 타입은 VPS, SPS, PPS, SEI 등일 수 있다. 디코더 설정 기록의 구체적인 내용은 앞서 설명한 바와 같다.
도 5는 본 발명에 따른 영상 정보 파싱 장치의 구성을 개략적으로 설명하는 블록도이다. 도 5에서 영상 정보는 도 1에서 설명한 미디어 파일 포맷의 일부 또는 전부에 대응하는 정보일 수 있으며, 디코더 설정 정보(DecorderConfigurationRecord)를 포함한다.
도 5를 참조하면, 영상 정보 파싱 장치(500)는 파싱부(510)와 디코딩부(520)를 포함한다.
파싱부(510)는 파일 포맷 내 디코더 설정 기록을 파싱할 수 있다. 파싱부(510)는 시스템 레벨에서 디코더 설정 기록을 파싱할 수 있다. 디코더 설정 기록은 NAL 유닛을 포함하며, 또한 해당 NAL 유닛의 타입을 지시하는 정보를 포함한다.
파싱부(510)는 디코더 설정 기록을 파싱하여, 해당 영상 정보의 프로파일, 레벨, 포맷, 비트 뎁스 등에 관한 정보를 획득할 수 있다. 또한, 파싱부(510)는 디코더 설정 기록에 포함된 NAL 유닛의 길이와 타입에 관한 정보를 획득할 수 있다.
디코더 설정 기록에 대해서는 앞서 설명한 바와 동일하다.
디코딩부(520)는 디코더 설정 기록에 기반하여 영상 정보를 디코딩할 수 있다. 디코딩부(520)는 파싱된 디코더 설정 기록에 기반하여, 디코더 설정 기록에 대응하는 정보들을 처리하며, 디코더 설정 기록에 매치되지 않는 정보는 처리하지 않거나 인식하지 않을 수 있다.
도 5에서는 설명의 편의를 위해 디코딩이 파싱과 영상 정보의 복원을 포함하는 것으로 설명하였다. 또한, 영상 정보의 복원은 영상 정보 파싱 장치(500) 내 디코딩부(520)에서 수행될 수도 있고, 영상 정보 파싱 장치(500)에서 수행된 파싱의 결과를 기반으로 영상 정보 파싱 장치(500)와는 별도의 디코더에서 수행될 수도 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (20)

  1. 영상 정보를 인코딩 하는 단계; 및
    인코딩된 영상 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 디코더 설정 기록에 저장하는 단계를 포함하며,
    상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 저장 방법.
  2. 제1항에 있어서, 상기 저장 단계에서는,
    상기 디코더 설정 기록에 포함된 신택스 요소들이 8 비트 단위가 아닌 경우에,
    예비 비트를 추가하여 예비 비트와 상기 신택스 요소에 할당된 비트가 8 비트 또는 8 비트의 배수가 되도록 조정하는 것을 특징으로 하는 영상 정보 저장 방법.
  3. 제2항에 있어서, 상기 예비 비트는 상기 신택스 요소 앞에 추가되는 것을 특징으로 하는 영상 정보 저장 방법.
  4. 제1항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보와 함께 상기 NAL 유닛의 길이를 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 저장 방법.
  5. 제1항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보와 함께 상기 NAL 유닛의 타입에 대응하는 NAL 유닛을 포함하는 것을 특징으로 하는 영상 정보 저장 방법.
  6. 제1항에 있어서, 상기 디코더 설정 기록에서 NAL 유닛들의 어레이가 복수인 경우에,
    상기 디코더 설정 기록은 어레이별로 상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 저장 방법.
  7. 제6항에 있어서, 상기 디코더 설정 기록은,
    어레이별로 NAL 유닛의 각 타입에 속하는 NAL 유닛을 상기 NAL 유닛의 길이를 지시하는 정보와 함께 포함하는 것을 특징으로 하는 영상 정보 저장 방법.
  8. 제6항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛과 상기 NAL 유닛의 길이를 지시하는 정보들을, 동일한 NAL 유닛의 타입 별로 저장하는 것을 특징으로 하는 영상 정보 저장 방법.
  9. 디코더 설정 기록을 파싱하는 단계; 및
    상기 파싱된 디코더 설정 기록을 기반으로, NAL 유닛을 파싱하는 단계를 포함하며,
    상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 파싱 방법.
  10. 제9항에 있어서, 상기 디코더 설정 기록을 파싱하는 단계에서는,
    상기 디코더 설정 기록을 8 비트 단위로 파싱하며,
    상기 디코더 설정 기록에 포함된 신택스 요소들 중 8 비트 단위가 아닌 신택스 요소들은,
    예비 비트와 함께 파싱되는 것을 특징으로 하는 영상 정보 파싱 방법.
  11. 제9항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보와 함께 상기 NAL 유닛의 길이를 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 파싱 방법.
  12. 제9항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보와 함께 상기 NAL 유닛의 타입에 대응하는 NAL 유닛을 포함하는 것을 특징으로 하는 영상 정보 파싱 방법.
  13. 제9항에 있어서, 상기 디코더 설정 기록에서 NAL 유닛들의 어레이가 복수인 경우에,
    상기 디코더 설정 기록은 어레이별로 상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 파싱 방법.
  14. 제13항에 있어서, 상기 디코더 설정 기록은,
    어레이별로 NAL 유닛의 각 타입에 속하는 NAL 유닛을 상기 NAL 유닛의 길이를 지시하는 정보와 함께 포함하는 것을 특징으로 하는 영상 정보 파싱 방법.
  15. 제14항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛과 상기 NAL 유닛의 길이를 지시하는 정보들을, 동일한 NAL 유닛의 타입 별로 저장하는 것을 특징으로 하는 영상 정보 파싱 방법.
  16. 영상 정보를 인코딩 하는 인코딩부; 및
    인코딩된 영상 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 디코더 설정 기록에 저장하는 저장부를 포함하며,
    상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 저장 장치.
  17. 제16항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보와 함께 상기 NAL 유닛의 타입에 대응하는 NAL 유닛을 포함하는 것을 특징으로 하는 영상 정보 저장 장치.
  18. 디코더 설정 기록을 파싱하는 파싱부; 및
    상기 파싱된 디코더 설정 기록을 기반으로, NAL 유닛을 파싱하는 디코딩부를 포함하며,
    상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 파싱 장치.
  19. 제18항에 있어서, 상기 디코더 설정 기록은,
    상기 NAL 유닛의 타입을 지시하는 정보와 함께 상기 NAL 유닛의 타입에 대응하는 NAL 유닛을 포함하는 것을 특징으로 하는 영상 정보 파싱 장치.
  20. 제18항에 있어서, 상기 디코더 설정 기록에서 NAL 유닛들의 어레이가 복수인 경우에,
    상기 디코더 설정 기록은 어레이별로 상기 NAL 유닛의 타입을 지시하는 정보를 포함하는 것을 특징으로 하는 영상 정보 파싱 장치.
KR1020147021851A 2012-03-16 2013-03-18 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치 KR102115323B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261611594P 2012-03-16 2012-03-16
US61/611,594 2012-03-16
PCT/KR2013/002190 WO2013137697A1 (ko) 2012-03-16 2013-03-18 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치

Publications (2)

Publication Number Publication Date
KR20140140016A KR20140140016A (ko) 2014-12-08
KR102115323B1 true KR102115323B1 (ko) 2020-05-26

Family

ID=49161511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147021851A KR102115323B1 (ko) 2012-03-16 2013-03-18 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치

Country Status (3)

Country Link
US (1) US10313696B2 (ko)
KR (1) KR102115323B1 (ko)
WO (1) WO2013137697A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022225306A1 (ko) * 2021-04-19 2022-10-27 엘지전자 주식회사 Eos 샘플 그룹에 기반한 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9854333B2 (en) 2013-10-29 2017-12-26 Lg Electronics Inc. Method and apparatus for transmitting and receiving broadcast signal for providing HEVC based IP broadcast service
US10194182B2 (en) 2014-02-03 2019-01-29 Lg Electronics Inc. Signal transmission and reception apparatus and signal transmission and reception method for providing trick play service
CN107872716B (zh) * 2016-09-23 2019-12-06 杭州海康威视数字技术股份有限公司 一种后置封装的流式数据解析方法、装置及电子设备
CN107979783B (zh) * 2016-10-25 2020-03-24 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
KR20210134771A (ko) * 2019-03-08 2021-11-10 지티이 코포레이션 디지털 비디오의 파라미터 세트 시그널링
US11375219B2 (en) * 2019-09-24 2022-06-28 Tencent America LLC Coding method and system with improved dynamic internal bit depth

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177672A1 (en) 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
US20100020884A1 (en) 2007-01-04 2010-01-28 Thomson Licensing Methods and Apparatus for Multi-View Information Conveyed in High Level Syntax

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503541B2 (en) * 2004-01-16 2013-08-06 Motorola Mobility Llc Method and apparatus for determining timing information from a bit stream
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20090123066A1 (en) * 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
WO2007081150A1 (en) 2006-01-09 2007-07-19 Electronics And Telecommunications Research Institute Method defining nal unit type and system of transmission bitstream and redundant slice coding
KR20110115087A (ko) 2010-04-14 2011-10-20 삼성전자주식회사 3차원 영상 데이터를 부호화하는 방법 및 장치와 복호화 방법 및 장치
EP2664075A4 (en) * 2011-01-14 2015-08-19 Vidyo Inc ENHANCED NAL UNIT HEADER
US10958915B2 (en) * 2012-01-30 2021-03-23 Qualcomm Incorporated Method of coding video and storing video content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177672A1 (en) 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
US20100020884A1 (en) 2007-01-04 2010-01-28 Thomson Licensing Methods and Apparatus for Multi-View Information Conveyed in High Level Syntax

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022225306A1 (ko) * 2021-04-19 2022-10-27 엘지전자 주식회사 Eos 샘플 그룹에 기반한 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법

Also Published As

Publication number Publication date
US10313696B2 (en) 2019-06-04
WO2013137697A1 (ko) 2013-09-19
US20150063467A1 (en) 2015-03-05
KR20140140016A (ko) 2014-12-08

Similar Documents

Publication Publication Date Title
KR102115323B1 (ko) 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치
US11546622B2 (en) Image decoding method and apparatus using same
US10097841B2 (en) Method for storing image data, method for parsing image data, and an apparatus for using the same
US10841619B2 (en) Method for decoding a video bitstream
WO2015102044A1 (en) Signaling and derivation of decoded picture buffer parameters
US20230145618A1 (en) High level syntax for video coding and decoding
KR20220141794A (ko) 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN115398481A (zh) 对图像执行人工智能编码和人工智能解码的设备和方法
US20230108509A1 (en) High level syntax for video coding and decoding
US20130272371A1 (en) Extension of hevc nal unit syntax structure
US20220345725A1 (en) Level Indicator For Sub-Picture Entity Group
EP4266689A1 (en) Method and device for generating/receiving media file including nal unit information, and method for transmitting media file
US20230319374A1 (en) Method and device for creating/receiving media file containing layer information, and media file transfer method
US20230336751A1 (en) Method and apparatus for generating/receiving media file which signals output layer set information, and computer-readable recording medium storing media file
US20230379481A1 (en) Media file generation/reception method and device for signaling operating point information and output layer set information, and computer-readable recording medium in which media file is stored
US20230269384A1 (en) Roll sample group in vvc video coding
US20230336783A1 (en) Method and device for generating/receiving media file including output layer set information, and method for transmitting media file
US20230179802A1 (en) High level syntax for video coding and decoding
US20230089002A1 (en) High level syntax for video coding and decoding
CN116601963A (zh) 生成/接收包括nal单元阵列信息的媒体文件的方法和装置及发送媒体文件的方法
JP2023518991A (ja) 混成nalユニットタイプに基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存する記録媒体

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