KR101874922B1 - 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램 - Google Patents

비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101874922B1
KR101874922B1 KR1020157020987A KR20157020987A KR101874922B1 KR 101874922 B1 KR101874922 B1 KR 101874922B1 KR 1020157020987 A KR1020157020987 A KR 1020157020987A KR 20157020987 A KR20157020987 A KR 20157020987A KR 101874922 B1 KR101874922 B1 KR 101874922B1
Authority
KR
South Korea
Prior art keywords
prediction
enhancement layer
layer
types
bitstream
Prior art date
Application number
KR1020157020987A
Other languages
English (en)
Other versions
KR20150104143A (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 KR20150104143A publication Critical patent/KR20150104143A/ko
Application granted granted Critical
Publication of KR101874922B1 publication Critical patent/KR101874922B1/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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

방법은 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하는 단계와, 비트스트림 내의 제 2 강화 계층을 위한 예측을 위해 사용되는 베이스 계층 및 제 1 강화 계층 모두의 표시를 인코딩하는 단계와, 비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 단계와, 비트스트림에서, 베이스 계층 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 단계를 포함한다.

Description

비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램{AN APPARATUS, A METHOD AND A COMPUTER PROGRAM FOR VIDEO CODING AND DECODING}
본 발명은 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
비디오 코덱은 입력 비디오를 저장 및/또는 전송에 적합한 압축된 표현으로 변환하는 인코더 및 압축된 비디오 표현을 다시 시청 가능한 형태로 복원할 수 있는 디코더를 포함할 수 있다. 전형적으로 인코더는 비디오를 더 밀집한 형태(즉, 더 낮은 비트레이트)로 표현하기 위하여 원(original) 비디오 시퀀스에서 약간의 정보를 버린다.
스케일러블 비디오 코딩은 하나의 비트스트림이 콘텐츠의 복수개의 표현을 상이한 비트율, 해상도 및/또는 프레임 레이트로 담고 있을 수 있는 코딩 구조를 말한다. 전형적으로 스케일러블 비트스트림은 이용 가능한 최저 품질의 비디오를 제공하는 "베이스 계층(base layer)" 및 하위 계층과 함께 수신되고 디코딩될 때 비디오 품질을 강화시키는 하나 이상의 강화 계층(enhancement layer)으로 구성될 수 있다. 강화 계층의 코딩 효율을 개선하기 위하여, 그 계층의 코딩된 표현은 전형적으로 하위 계층에 좌우될 수 있다.
많은 하이브리드 코덱은 비디오 정보를 두 가지 국면, 즉 예측된 픽셀 블록을 구하기 위한 예측 코딩과, 그런 다음 예측된 픽셀 블록과 원 픽셀 블록 간의 오차를 코딩하는 두 가지 국면으로 인코딩한다. 예측 코딩은 다양한 방식의 샘플 예측(예를 들면, 움직임 보상 메커니즘, 인터뷰(interview), 인터-계층(inter-layer), 인트라 및 뷰 합성 예측) 및 신택스 예측(예를 들면, 움직임 벡터 예측, 블록 분할(block partitioning), 필터 파라미터 예측)을 비롯한, 여러 방법으로 달성될 수 있다. 더욱이, 예측 디펜던시(prediction dependencies)는 상이한 도메인(예를 들면, 텍스처 및 깊이) 및 확장성(scalability) 타입 전반에 적용될 수 있다.
그러므로, 인코딩 및/또는 디코딩 체계는 다중 타입의 확장성 및/또는 동일한 타입의 예측을 위한 다중 참조를 사용할 수 있게 하는 것이 가능하다. 그러나, 압축 효율 관점에서 볼 때, 모든 예측 타입을 계층들 간의 예측에 사용할 수 있게 하는 것은 비효율적일 수 있다고 판명되었다.
본 발명은 다중 타입의 확장성 및/또는 동일한 타입의 예측을 위한 다중 참조가 (디)코딩 체계에 의해 가능해지는 경우에 압축 효율을 개선하기 위하여, 다중-참조 스케일러블 (디)코딩 체계에 적용된 예측 타입이 적응적으로 선택되고 그리고/또는 시그널링될 수 있다는 고려에서 비롯된다.
제 1 실시예에 따른 방법은,
베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하는 단계를 포함하며, 이 방법은,
비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하는 단계와,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 단계와,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 또는 제 2 세트의 예측 타입의 표시에 대신하여 또는 그에 부가하여,
비트스트림에서, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 인코딩하는 단계를 포함한다.
실시예에 따르면, 제 2 강화 계층은 베이스 계층에 대해 제 1 확장성 타입을 그리고 제 1 강화 계층에 대해 제 2 확장성 타입을 강화한다.
실시예에 따르면, 방법은,
베이스 및/또는 제 1 강화 계층 및 제 2 강화 계층의 하나 이상의 각각의 조합마다의 표시를 연관시키는 단계와,
특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능한지 또는 특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 표시하기 위해 비트스트림에서 상기 표시 중 한 가지 이상의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 방법은,
표시를 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 임의의 다른 타입의 파라미터 세트, 시퀀스 헤더, 픽처 헤더 그룹, 픽처 헤더, 슬라이스 헤더, 및/또는 추가적 강화 정보 메시지(supplemental enhancement information message)와 같은 구조 중 적어도 하나의 구조에서 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나를 포함한다.
실시예에 따르면, 방법은,
여러 타입의 예측의 적용 가능성을 한 가지 값의 신택스 요소로 표시하는 표시를 연관시키는 단계를 더 포함한다.
실시예에 따르면, 방법은,
신택스 구조에서, 특정한 예측 타입에 대한 표시를 인코딩하는 단계와, 신택스 구조에서, 예측 타입이 적용 가능한 참조 계층과 강화 계층 쌍의 리스트를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, RAP 픽처와 같은 제 1 타입의 픽처에 대한 하나 이상의 표시를 인코딩하는 단계와, 논-RAP 픽처와 같은 제 2 타입의 픽처에 대한 하나 이상의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 상이한 타입의 확장성, 상이한 세트의 확장성 계층, 및/또는 상이한 세트의 시간 서브-계층에 대한 표시를 개별적으로 인코딩하는 단계를 더 포함한다.
제 2 실시예에 따른 장치는,
베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하도록 구성된 비디오 인코더를 포함하며, 상기 비디오 인코더는 또한 비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하고,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하고,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하기 위해 구성된다.
제 3 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되는 컴퓨터 판독가능한 저장 매체가 제공되며, 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하는 것과,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 것과,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 과정을 수행하게 한다.
제 4 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하고, 상기 적어도 하나의 메모리에는 코드가 저장되고, 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
상기 비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하는 것과,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 것과,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 과정을 수행하게 한다.
제 5 실시예에 따른 방법은 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하는 단계를 포함하고, 이 방법은
비트스트림으로부터, 제 2 강화 계층에 대한 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하는 단계와,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 단계와,
비트스트림으로부터, 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 단계와,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터의 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하는 단계를 포함한다.
실시예에 따르면, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 또는 제 2 세트의 예측 타입의 표시에 대신하여 또는 그에 부가하여, 방법은,
비트스트림으로부터, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 제 2 강화 계층은 베이스 계층에 대해 제 1 확장성 타입을 그리고 제 1 강화 계층에 대해 제 2 확장성 타입을 강화한다.
실시예에 따르면, 비트스트림은 베이스 및/또는 제 1 강화 계층 및 제 2 강화 계층의 하나 이상의 각각의 조합마다의 연관된 표시를 포함하며, 방법은,
특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능한지 또는 특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 해석하기 위해 비트스트림으로부터 상기 표시 중 한 가지 이상을 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 방법은,
표시를 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 임의의 다른 타입의 파라미터 세트, 시퀀스 헤더, 픽처 헤더 그룹, 픽처 헤더, 슬라이스 헤더, 및/또는 추가적 강화 정보 메시지(supplemental enhancement information message)와 같은 구조 중 적어도 하나의 구조로부터 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나를 포함한다.
실시예에 따르면, 방법은,
여러 타입의 예측의 적용 가능성을 한 가지 값의 신택스 요소로 표시하는 표시를 해석하는 단계를 더 포함한다.
실시예에 따르면, 방법은,
신택스 구조로부터, 특정한 예측 타입에 대한 표시를 디코딩하는 단계와, 신택스 구조로부터, 예측 타입이 적용 가능한 참조 계층 및 강화 계층의 쌍의 리스트를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, RAP 픽처와 같은 제 1 타입의 픽처에 대한 하나 이상의 표시를 디코딩하는 단계와, 논-RAP 픽처와 같은 제 2 타입의 픽처에 대한 하나 이상의 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 상이한 타입의 확장성, 상이한 세트의 확장성 계층, 및/또는 상이한 세트의 시간 서브-계층에 대한 표시를 개별적으로 디코딩하는 단계를 더 포함한다.
제 6 실시예에 따른 장치는,
베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하기 위해 구성된 비디오 디코더를 포함하고, 이 비디오 디코더는,
비트스트림으로부터, 제 2 강화 계층에 대한 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하고,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터의 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하기 위해 구성된다.
제 7 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되는 컴퓨터 판독가능한 저장 매체가 제공되며, 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림으로부터 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하는 것과,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하는 과정을 수행하게 한다.
제 8 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되고, 상기 적어도 하나의 메모리에는 코드가 저장되고, 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림으로부터 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하는 것과,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하는 과정을 수행하게 한다.
제 9 실시예에 따르면, 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하기 위해 구성되는 비디오 인코더가 제공되며, 비디오 인코더는 또한,
비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하고,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하고,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하기 위해 구성된다.
제 10 실시예에 따르면, 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하기 위해 구성되는 비디오 디코더로서, 상기 비디오 디코더는 또한,
비트스트림으로부터, 제 2 강화 계층에 대한 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하고,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터의 상기 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하기 위해 구성된다.
본 발명의 더 나은 이해를 위해, 이제 예를 들어 첨부 도면이 참조될 것이다.
도 1은 본 발명의 일부 실시예를 채용하는 전자 디바이스를 개략적으로 도시한다.
도 2는 본 발명의 일부 실시예를 채용하는데 적합한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 연결을 이용하여 연결된 본 발명의 실시예를 채용하는 전자 디바이스를 추가적으로 개략적으로 도시한다.
도 4는 본 발명의 일부 실시예를 구현하기에 적합한 인코더를 개략적으로 도시한다.
도 5는 두 개의 타일로 이루어지는 픽처의 일 예를 도시한다.
도 6은 백워드 뷰 합성 예측(backward view synthesis prediction, B-VSP)의 개념을 예시한다.
도 7은 두 가지 뷰를 표현하고 하나의 뷰 컴포넌트당 두 가지 디펜던시 표현을 갖는, 두 코딩된 텍스처 및 깊이를 포함하는 액세스 유닛의 일 예를 도시한다.
도 8은 본 발명의 실시예에 따른 인코딩 프로세스의 플로우차트를 도시한다.
도 9는 본 발명의 실시예에 따른 디코딩 프로세스의 플로우차트를 도시한다.
도 10은 본 발명의 일부 실시예에 따른 디코더의 개략적인 다이어그램을 도시한다.
아래에서는 코딩 효율을 두드러지게 희생하지 않고도 강화 계층 서브-픽처를 인코딩하는데 적합한 장치 및 가능한 메커니즘을 더 상세하게 기술한다. 이와 관련하여, 본 발명의 실시예에 따른 코덱을 포함할 수 있는 예시적인 장치 또는 전자 디바이스(50)의 개략적인 블록도를 도시하는 도 1이 참조된다.
전자 디바이스(50)는 예를 들면, 무선 통신 시스템의 이동 단말 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지를 인코딩하고 디코딩하는 또는 인코딩하거나 디코딩을 필요로 할 수 있는 모든 전자 디바이스 또는 장치 내에서 구현될 수 있다는 것이 인식될 것이다.
장치(50)는 이 디바이스를 내장하고 보호하는 하우징(30)을 포함할 수 있다. 장치(50)는 또한 액정 디스플레이 형태의 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 디스플레이하는데 적합한 임의의 적절한 디스플레이 기술일 수 있다. 장치(50)는 키패드(34)를 더 포함할 수 있다. 본 발명의 다른 실시예에서, 임의의 적절한 데이터 또는 사용자 인터페이스 메커니즘이 채용될 수 있다. 예를 들면, 사용자 인터페이스는 터치-감응식 디스플레이의 일부로서 가상 키보드 또는 데이터 입력 시스템으로 구현될 수 있다. 장치는 마이크로폰(36) 또는 디지털 또는 아날로그 신호 입력일 수 있는 임의의 적절한 오디오 입력을 포함할 수 있다. 장치(50)는 또한 본 발명의 실시예에서 수화기(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 출력 연결(connection) 중 임의의 하나일 수 있는 오디오 출력 디바이스를 포함할 수 있다. 장치(50)는 배터리(40)를 또한 포함할 수 있다(또는 본 발명의 다른 실시예에서 장치는 태양 전지, 연료 전지 또는 태엽작동 발전기와 같은 임의의 적절한 모바일 에너지 디바이스에 의해 전력을 공급받을 수 있다). 장치는 다른 디바이스와의 단거리 시선 통신을 위한 적외선 포트(42)를 더 포함할 수 있다. 다른 실시예에서, 장치(50)는 예를 들면 블루투스 무선 접속 또는 USB/파이어와이어 유선 연결과 같은 임의의 적절한 단거리 통신 솔루션을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 컨트롤러(56) 또는 프로세서를 포함할 수 있다. 컨트롤러(56)는 본 발명의 실시예에서 이미지 및 오디오 데이터 형태의 두 가지 데이터를 저장할 수 있는 그리고/또는 컨트롤러(56)에서 실행을 위한 명령어를 또한 저장할 수 있는 메모리(58)에 연결될 수 있다. 컨트롤러(56)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 실행하기에 적합하거나 컨트롤러(56)에 의해 실행되는 코딩 및 디코딩 시에 보조하는데 적합한 코덱 회로(54)에 또한 연결될 수 있다.
장치(50)는 카드 리더(48) 및 스마트 카드(46), 예를 들면, 사용자 정보를 제공하고 네트워크에서 사용자의 인증 및 인가에 필요한 인증 정보를 제공하는데 적합한 UICC 및 UICC 리더를 더 포함할 수 있다.
장치(50)는 컨트롤러에 연결되며 그리고, 예를 들면, 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 네트워크와 통신을 위한 무선 통신 신호를 발생하기에 적합한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에 연결되어 무선 인터페이스 회로(52)에서 발생된 무선 주파수 신호를 다른 장치(들)에 전송하고 다른 장치(들)로부터 무선 주파수 신호를 수신하기 위한 안테나(44)를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 장치(50)는 개개의 프레임을 기록 또는 검출한 다음 이를 처리를 위해 코덱(54) 또는 컨트롤러에 전달할 수 있는 카메라를 포함할 수 있다. 본 발명의 다른 실시예에서, 장치는 다른 디바이스로부터 처리를 위한 비디오 이미지 데이터를 수신한 다음 전송 및/또는 저장할 수 있다. 본 발명의 다른 실시예에서, 장치(50)는 코딩/디코딩을 위한 이미지를 무선으로 또는 유선 연결을 통해 수신할 수 있다.
도 3에 대해, 본 발명의 실시예가 활용될 수 있는 시스템의 일 예가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 복수의 통신 디바이스를 포함한다. 시스템(10)은 이것으로 한정되지 않지만 (GSM, UMTS, CDMA 네트워크 등과 같은) 무선 셀룰러 텔레폰 네트워크, IEEE 802.x 표준 중 임의의 표준에 의해 정의된 바와 같은 무선 근거리 네트워크(WLAN), 블루투스 개인 영역 네트워크, 이더넷 근거리 네트워크, 토큰 링 근거리 네트워크, 광역 네트워크, 및 인터넷을 포함하는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하기에 적합한 유선 및 무선 통신 기기 또는 장치(50)를 둘 다 포함할 수 있다.
예를 들면, 도 3에 도시된 시스템은 모바일 텔레폰 네트워크(11) 및 인터넷(28)의 표현을 보여준다. 인터넷(28)과의 연결은 이것으로 제한되지 않지만 장거리 무선 연결, 단거리 무선 연결 및 이것으로 제한되지 않지만 전화선, 케이블선, 전력선, 및 유사 통신 경로를 비롯한 각종 유선 연결을 포함할 수 있다.
시스템(10)에서 도시된 예시적인 통신 디바이스는 이것으로 한정되지 않지만, 전자 디바이스 또는 장치(50), 개인 휴대정보 단말(a personal digital assistant, PDA)과 모바일 텔레폰(14)의 겸용, PDA(16), 통합 메시징 디바이스(integrated messaging device (IMD))(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있다. 장치(50)는 고정형일 수 있거나 아니면 이동하는 개인이 휴대할 때는 이동형일 수 있다. 장치(50)는 또한 이것으로 한정되지 않지만 차, 트럭, 택시, 버스, 열차, 보트, 비행기, 자전거, 모터사이클 또는 임의의 유사하고 적절한 수송 방식을 비롯하여 수송 방식 내에 배치될 수 있다.
실시예는 또한 세트-톱 박스, 즉 디스플레이 또는 무선 기능을 가질 수 있는/없는 디지털 TV 수신기 내 또는 인코더/디코더 구현예의 하드웨어나 소프트웨어 또는 그 조합을 가질 수 있는 태블릿 또는 (랩톱) 개인용 컴퓨터(PC) 내, 각종 오퍼레이팅 시스템 내, 그리고 칩세트, 프로세서, 하드웨어/소프트웨어 기반 코딩을 제공하는 DSP 및/또는 임베디드 시스템 내에서 구현될 수도 있다.
일부의 또는 다른 장치는 기지국(24)과의 무선 연결(25)을 통하여 서비스 제공자와 호 및 메시지를 송수신하고 통신할 수 있다. 기지국(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 및 임의의 유사한 무선 통신 기술을 포함하는 각종 전송 기술을 이용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는데 연루되는 통신 디바이스는 이것으로 한정되지 않지만 무선, 적외선, 레이저, 케이블 연결, 및 임의의 적절한 연결을 비롯한 각종 미디어를 이용하여 통신할 수 있다.
비디오 코덱은 입력 비디오를 저장/전송에 적합한 압축된 표현으로 변환하는 인코더 및 압축된 비디오 표현을 다시 시청 가능한 형태로 복원할 수 있는 디코더로 구성된다. 전형적으로 인코더는 비디오를 더 밀집한 형태(즉, 더 낮은 비트레이트)로 표현하기 위하여 원 비디오 시퀀스에서 약간의 정보를 버린다.
예를 들면, ITU-T H.263 및 H.264의 전형적인 하이브리드 비디오 코덱은 비디오 정보를 두 가지 국면으로 인코딩한다. 첫째로, 소정 픽처 영역(또는 "블록") 내 픽셀 값은, 예를 들면 (코딩되는 블록에 밀접하게 대응하는 이전에 코딩된 비디오 프레임 중 한 프레임 내에서 영역을 찾아 표시하는) 움직임 보상 수단에 의해 또는 (명시된 방식으로 코딩되는 블록 주변의 픽셀 값을 이용하는) 공간 수단에 의해 예측될 수 있다. 두 번째로, 예측 오차, 즉 예측된 픽셀 블록과 원 픽셀 블록 간의 차가 코딩된다. 전형적으로 이것은 명시된 변환(예를 들면, 이산 코사인 변환(Discrete Cosine Transform, DCT) 또는 그의 변형방식)을 이용하여 픽셀 값의 차를 변환하고, 계수를 양자화하고 양자화된 계수를 엔트로피 인코딩함으로써 이루어진다. 양자화 프로세스의 충실도를 변화시킴으로써, 인코더는 픽셀 표현의 정확도(픽처 품질)와 결과적으로 코딩된 비디오 표현의 크기(파일 크기 또는 전송 비트율) 간의 균형을 조절할 수 있다.
비디오 코딩은 전형적으로 2-단 프로세스이다. 즉, 첫째로, 이전에 코딩된 데이터에 기초하여 비디오 신호의 예측이 발생된다. 두 번째로, 예측된 신호와 소스 신호 간의 잔차(residual)가 코딩된다. 시간 예측, 움직임 보상, 또는 움직임-보상된 예측이라고도 지칭될 수 있는 인터 예측은 시간 중복성을 줄여준다. 인터 예측에서, 예측의 소스는 이전에 디코딩된 픽처이다. 인트라 예측은 동일한 픽처 내 인접한 픽셀은 아마도 상관 가능성이 있을 것 같다라는 사실을 활용한다. 인트라 예측은 공간 또는 변환 도메인에서 수행될 수 있다. 즉, 샘플 값 또는 변환 계수 중 어느 하나가 예측될 수 있다. 전형적으로 인트라 예측은 인트라 코딩에서 사용되며, 이 경우 아무런 인터 예측이 적용되지 않는다.
코딩 절차의 한가지 결과는 움직임 벡터 및 양자화된 변환 계수와 같은 일련의 코딩 파라미터이다. 많은 파라미터는 만일 이 파라미터가 공간적으로 또는 시간적으로 이웃 파라미터로부터 먼저 예측되면 더 효과적으로 엔트로피-코딩될 수 있다. 예를 들면, 움직임 벡터는 공간적으로 인접한 움직임 벡터로부터 예측될 수 있고 움직임 벡터 예측기에 대비한 차만이 코딩될 수 있다. 코딩 파라미터의 예측 및 인트라 예측은 일괄하여 인-픽처 예측(in-picture prediction)이라 지칭될 수 있다.
도 4에 대하여, 본 발명의 실시예를 실행하기에 적합한 비디오 인코더의 블록도가 도시된다. 도 4는 두 계층에 사용하기 위한 인코더를 제시하지만, 제시된 인코더는 둘보다 많은 계층을 인코딩하도록 마찬가지로 확장될 수 있다는 것이 인식될 것이다. 도 4는 베이스 계층용 제 1 인코더 섹션(500) 및 강화 계층용 제 2 인코더 섹션(502)를 포함하는 비디오 인코더의 실시예를 도시한다. 제 1 인코더 섹션(500) 및 제 2 인코더 섹션(502)는 각기 입력 픽처를 인코딩하는 유사한 구성요소를 포함할 수 있다. 인코더 섹션(500, 502)은 픽셀 예측기(302, 402), 예측 오차 인코더(303, 403) 및 예측 오차 디코더(304, 404)를 포함할 수 있다. 도 4는 또한 픽셀 예측기(302, 402)의 실시예를 인터-예측기(306, 406)), 인트라-예측기(308, 408), 모드 선택기(310, 410), 필터(316, 416), 및 참조 프레임 메모리(318, 418)를 포함하는 것으로서 도시한다. 제 1 인코더 섹션(500)의 픽셀 예측기(302)는 비디오 스트림의 베이스 계층 이미지를 수신(300)하며, 베이스 계층 이미지는 (이미지와 움직임 보상된 참조 프레임(318) 간의 차를 결정하는) 인터-예측기(306)와 (현재 프레임 또는 픽처의 이미 처리된 부분만을 기초로 하여 이미지 블록에 대한 예측을 결정하는) 인트라-예측기(308)의 양측에서 인코딩된다. 두 인터-예측기와 인트라-예측기의 출력은 모드 선택기(310)로 전달된다. 인트라-예측기(308)는 하나보다 많은 인트라-예측 모드를 가질 수 있다. 그러므로, 각 모드는 인트라-예측을 수행하고 예측된 신호를 모드 선택기(310)로 제공할 수 있다. 모드 선택기(310)는 또한 베이스 계층 픽처(300)의 카피를 수신한다. 대응적으로, 제 2 인코더 섹션(502)의 픽셀 예측기(402)는 비디오 스트림의 강화 계층 이미지를 수신(400)하며, 강화 계층 이미지는 (이미지와 움직임 보상된 참조 프레임(418) 간의 차를 결정하는) 인터-예측기(406)와 (현재 프레임 또는 픽처의 이미 처리된 부분만을 기초로 하여 이미지 블록에 대한 예측을 결정하는) 인트라-예측기(408)의 양측에서 인코딩된다. 두 인터-예측기와 인트라-예측기의 출력은 모드 선택기(410)로 전달된다. 인트라-예측기(408)는 하나보다 많은 인트라-예측 모드를 가질 수 있다. 그러므로, 각 모드는 인트라-예측을 수행하고 예측된 신호를 모드 선택기(410)로 제공할 수 있다. 모드 선택기(410)는 또한 베이스 계층 픽처(400)의 카피를 수신한다.
현재 블록을 인코딩하기 위해 어느 인코딩 모드가 선택되는지에 따라서, 인터-예측기(306, 406)의 출력 또는 선택사양의 인트라 예측기 모드 중 한 가지 모드의 출력 또는 모드 선택기 내 서피스 인코더(a surface encoder)의 출력이 모드 선택기(310, 410)의 출력에 전달된다. 모드 선택기의 출력은 제 1 합산기(321, 421)로 전달된다. 제 1 합산기는 픽셀 예측기(302, 402)의 출력을 베이스 계층 픽처(300)/강화 계층 픽처(400)로부터 감산하여 제 1 예측 오차 신호(320, 420)를 생성하며, 이 신호는 예측 오차 인코더(303, 403)로 입력된다.
픽셀 예측기(302, 402)는 또한 예비 재구성기(339, 439)로부터 이미지 블록의 예측 표현(312, 412)과 예측 오차 디코더(304, 404)의 출력(338, 438)의 조합을 수신한다. 예비 재구성된 이미지(314, 414)는 인트라-예측기(308, 408) 및 필터(316, 416)로 전달될 수 있다. 예비 표현을 수신하는 필터(316, 416)는 예비 표현을 필터하고 최종의 재구성된 이미지(340, 440)를 출력할 수 있으며, 이 최종의 재구성된 이미지는 참조 프레임 메모리(318, 418)에 저장될 수 있다. 참조 프레임 메모리(318, 418)는 참조 이미지로서 사용되기 위해 인터-예측기(306)에 연결될 수 있으며 이 참조 이미지에 대비하여 미래 계층 픽처(300)가 인터-예측 동작에서 비교된다. 일부 실시예에 따라 베이스 계층이 강화 계층의 인터-계층 샘플 예측 및/또는 인터-계층 움직임 정보 예측을 위한 소스인 것으로 선택되고 표시되면, 참조 프레임 메모리(318)는 또한 참조 이미지로서 사용되기 위해 인터-예측기(406)에 연결될 수 있으며 이 참조 이미지에 대비하여 미래 강화 계층 픽처(400)가 인터-예측 동작에서 비교된다. 더욱이, 참조 프레임 메모리(418)는 참조 이미지로서 사용되기 위해 인터-예측기(406)에 연결될 수 있으며 이 참조 이미지에 대비하여 미래 강화 계층 픽처(400)가 인터-예측 동작에서 비교된다.
제 1 인코더 섹션(500)의 필터(316)로부터의 필터링 파라미터는 일부 실시예에 따라서 베이스 계층이 강화 계층의 필터링 파라미터를 예측하기 위한 소스로 선택되고 표시되면 제 2 인코더 섹션(502)에 제공될 수 있다.
예측 오차 인코더(303, 304)는 변환 유닛(342, 442) 및 양자화기(344, 444)를 포함한다. 변환 유닛(342, 442)은 제 1 예측 오차 신호(320, 420)를 변환 도메인으로 변환한다. 변환은, 예를 들면, DCT 변환이다. 양자화기(344, 444)는 변환 도메인 신호, 예를 들면 DCT 계수를 변환하여 양자화된 계수를 형성한다.
예측 오차 디코더(304, 404)는 예측 오차 인코더(303, 403)로부터의 출력을 수신하고 예측 오차 인코더(303, 403)의 프로세스를 반대로 수행하여 디코딩된 예측 오차 신호(338, 438)를 생성하며, 이 디코딩된 예측 오차 신호는 제 2 합산기(339, 439)에서 이미지 블록(312, 412)의 예측 표현과 조합될 때, 예비 재구성된 이미지(314, 414)를 생성한다. 예측 오차 디코더는 양자화된 계수 값, 예를 들면 DCT 계수를 역양자화하여 변환 신호를 재구성하는 역양자화기(361) 및 재구성된 변환 신호로 역변환을 수행하는 역변환 유닛(363, 463)을 포함하는 것으로 간주할 수 있으며, 이때 역변환 유닛(363, 463)의 출력은 재구성된 블록(들)을 포함하고 있다. 예측 오차 디코더는 추가로 디코딩된 정보 및 필터 파라미터에 따라서 재구성된 블록(들)을 필터링할 수 있는 블록 필터를 또한 포함할 수 있다.
엔트로피 인코더(330, 430)는 예측 오차 인코더(303, 403)의 출력을 수신하며 신호에 대해 적합한 엔트로피 인코딩/가변 길이 인코딩을 수행하여 오차 검출 및 정정 기능을 제공할 수 있다. 엔트로피 인코더(330, 430)의 출력은 예를 들면, 멀티플렉서(509)에 의해 비트스트림 내에 삽입될 수 있다.
H.264/AVC 표준은 국제 전기통신 연합(International Telecommunication Union, ITU-T)의 전기통신 표준화 부분의 비디오 코딩 전문가 그룹(Video Coding Experts Group, VCEG)과 국제 표준화 기구(International Standardization Organization, ISO)/국제 전기 기술위원회(International Electrotechnical Commission, IEC)의 동화상 전문가 그룹(Moving Picture Experts Group, MPEG)의 합동 비디오 팀(Joint Video Team, JVT)에 의해 개발되었다. H.264/AVC 표준은 양 부모 표준화 기구에 의해 공표되며, 이것은 ITU-T 권고안 H.264 및 ISO/IEC 국제 표준 14496-10이라고도 지칭되며, 또한 MPEG-4 파트 10 최신 비디오 코딩(Advanced Video Coding, AVC)이라고도 알려져 있다. H.264/AVC 표준의 복수개 버전이 있는데, 각각의 버전은 사양의 새로운 확장 또는 특징을 통합하고 있다. 이러한 확장은 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 및 멀티뷰 비디오 코딩(Multiview Video Coding, MVC)을 포함한다. 현재 진행 중인 표준화 프로젝트로는 합동 협업 팀(Joint Collaborative Team)에 의한 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) - VCEG 및 MPEG의 Video Coding (JCT-VC)이 있다.
이 단원에서 몇 가지 주요 정의, 비트스트림 및 코딩 구조, 그리고 H.264/AVC의 개념이 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법, 및 비트스트림 구조의 예로서 설명되며, 이 단원에서 실시예가 구현될 수 있다. 주요 정의, 비트스트림 및 코딩 구조의 일부, 그리고 H.264/AVC의 개념은 초안 HEVC 표준에서와 동일하며, 그러므로 아래에서는 연대하여 설명된다. 본 발명의 양태는 H.264/AVC 또는 HEVC으로 한정되지 않고, 오히려 본 발명이 부분적으로 또는 전체적으로 실현될 수 있는 것 이외에 한가지 가능한 근거에 대하여 설명이 제공된다.
초기의 많은 비디오 코딩 표준과 유사하게, 비트스트림 신택스 및 시맨틱뿐만 아니라 오류 없는 비트스트림을 위한 디코딩 프로세스가 H.264/AVC 및 HEVC에서 명시되어 있다. 인코딩 프로세스는 명시되어 있지 않지만, 인코더는 순응하는 비트스트림을 발생하여야 한다. 비트스트림 및 디코더 순응성은 가상 참조 디코더(Hypothetical Reference Decoder, HRD)를 이용하여 검증될 수 있다. 표준은 전송 오류 및 손실에 대처하는데 도움이 되는 코딩 툴을 포함하고 있지만, 인코딩 시에 툴을 사용하는 것은 선택사양이며 오류가 발생한 비트스트림의 처리를 위한 아무런 디코딩 프로세스도 명시되어 있지 않다.
기존의 표준에 관한 설명에서뿐만 아니라 예시적인 실시예의 설명에서, 신택스 요소는 비트스트림에서 표현된 데이터의 요소로서 정의될 수 있다. 신택스 구조는 명시된 순서대로 비트스트림에서 함께 존재하는 영(0)개 이상의 신택스 요소라고 정의될 수 있다.
프로파일은 디코딩/코딩 표준이나 사양서에 의해 명시되는 전체 비트스트림 신택스의 서브세트가라고 정의될 수 있다. 주어진 프로파일의 신택스에 의해 도입된 경계 내에서는 디코딩된 픽처의 명시된 크기와 같이 비트스트림 내 신택스 요소가 가진 값에 따라서 인코더 및 디코더의 성능에서 아주 큰 변동을 요구하는 것이 여전히 가능하다. 많은 응용 예에서, 특정 프로파일 내 신택스의 모든 가상적 사용에 대처할 수 있는 디코더를 구현하는 것이 실용적이지도 않고 경제적이 아닐 수도 있다. 이러한 문제에 대처하기 위하여, 레벨이 사용될 수 있다. 레벨은 비트스트림 내 신택스 요소의 값 및 디코딩/코딩 표준이나 사양서에서 명시된 값에 대해 부과된 제약사항의 명시된 집합이라고 정의될 수 있다. 이러한 제약 사항은 값에 관한 간단한 한정일 수 있다. 대안으로 또는 부가적으로, 이러한 제약 사항은 값의 산술적인 조합(예를 들면, 픽처 폭 곱하기 픽처 높이 곱하기 초당 디코딩된 픽처의 수)에 관한 제약 사항의 형태를 가질 수 있다. 레벨의 제약 사항을 명시하기 위한 다른 수단이 또한 사용될 수 있다. 레벨에서 명시된 제약 사항 중 일부는 예를 들면 초(second)와 같은 기간 당, 매크로블록과 같은 코딩 유닛의 관점에서 최대 픽처 크기, 최대 비트레이트 및 최대 데이터 레이트에 관련할 수 있다. 모든 프로파일에 대해 동일한 레벨 세트가 정의될 수 있다. 예를 들면, 각 레벨의 정의의 대부분 또는 모든 양상이 여러 프로파일 전반에 공통적일 수 있는 여러 프로파일을 구현하는 단말의 상호운용성을 높이는 것이 바람직할 수 있다.
H.264/AVC 또는 HEVC 인코더로의 입력 그리고 H.264/AVC 또는 HEVC 디코더의 출력의 기본 단위는 각기 픽처이다. H.264/AVC 및 HEVC에서, 픽처는 프레임이거나 필드 중 어느 하나일 수 있다. 프레임은 전형적으로 루마 샘플(luma samples) 및 아마도 대응하는 크로마 샘플(chroma samples)의 행렬을 포함한다. 필드는, 소스 신호가 인터레이스될 때, 프레임의 일련의 교번하는 샘플 로우들(alternate sample rows)이며 인코더 입력으로서 사용될 수 있다. 크로마 픽처는 루마 픽처와 비교될 때 서브샘플링될 수 있다. 예를 들면, 4:2:0 샘플링 패턴에서, 크로마 픽처의 공간 해상도는 두 좌표 축을 따라서 놓인 루마 픽처의 공간 해상도의 절반이다.
H.264/AVC에서, 매크로블록(MB)은 루마 샘플의 16x16 블록 및 크로마 샘플의 대응 블록이다. 예를 들면, 4:2:0 샘플링 패턴에서, 매크로블록은 각 크로마 컴포넌트 당 하나의 8x8의 크로마 샘플 블록을 포함한다. H.264/AVC에서, 픽처는 하나 이상의 슬라이스 그룹으로 분할되고, 슬라이스 그룹은 하나 이상의 슬라이스를 포함한다. H.264/AVC에서, 슬라이스는 특정 슬라이스 그룹 내에서 래스터 스캔에서 연속하여 정렬되는 정수개의 매크로블록으로 이루어진다.
고 효율 비디오 코딩(High Efficiency Video Coding, HEVC) 코덱과 같은 일부 비디오 코덱에서, 비디오 픽처는 픽처의 영역을 뒤덮은 코딩 유닛(coding units, CU)으로 나누어진다. CU는 CU 내 샘플들에 대한 예측 프로세스를 정의하는 하나 이상의 예측 유닛(prediction units, PU) 및 상기 CU 내 샘플들에 대한 예측 오차 코딩 프로세스를 정의하는 하나 이상의 변환 유닛(transform units, TU)으로 구성된다. 전형적으로, CU는 사전에 정의된 일련의 가능한 CU 크기들로부터 선택 가능한 크기를 가진 정방형(square)의 샘플 블록으로 구성된다. 최대로 허용된 크기를 갖는 CU는 통상 LCU(largest coding unit)(최대 코딩 유닛)라고 명명되며 비디오 픽처는 중첩하지 않는 LCU로 나누어진다. LCU는, 예를 들면, LCU를 나누고 그 결과 생긴 CU들을 반복적으로 나눔으로써 더 작은 CU들의 조합으로 더 나누어질 수 있다. 결과로 생긴 각각의 CU는 전형적으로 적어도 하나의 PU 및 그와 연관된 적어도 하나의 TU를 갖는다. 각각의 PU 및 TU는 각기 예측 프로세스 및 예측 오차 코딩 프로세스의 그래뉴러리티(granularity)를 높이기 위해 더 작은 PU 및 TU로 더 나누어질 수 있다. 각각의 PU는 무슨 종류의 예측이 그 PU 내 픽셀들에 적용될 것인지를 정의하는 것과 연관된 예측 정보(예를 들면, 인터 예측된 PU의 움직임 벡터 정보 및 인트라 예측된 PU의 인트라 예측 방향성 정보)를 가지고 있다.
인트라 예측을 위한 예측 모드의 방향성, 즉 특정 예측 모드에서 적용될 예측 방향은 수직, 수평, 직각일 수 있다. 예를 들면, 현재의 HEVC의 초안 코덱에서, 통일된 인트라 예측은 PU의 크기에 따라서 34개까지의 방향 예측 모드를 제공하며, 인트라 예측 모드는 각기 그에 할당된 예측 방향을 가지고 있다.
유사하게, 각각의 TU는 (예를 들면, DCT 계수 정보를 비롯하여) 상기 TU 내 샘플에 대한 예측 오차 디코딩 프로세스를 기술하는 정보와 연관된다. 예측 오차 코딩이 각 CU마다 적용될지 적용되지 않을지를 CU 레벨에서 시그널링되는 것이 전형적이다. CU와 연관된 예측 오차 잔차가 없는 경우, 상기 CU에 대해 아무런 TU도 없는 것으로 간주될 수 있으며 CU를 PU 및 TU로 나눈 것은 전형적으로 비트스트림에서 시그널링되어 디코더가 이러한 유닛들의 의도된 구조를 재생할 수 있게 해준다.
초안의 HEVC 표준에서, 픽처는 장방형(rectangular)이고 정수개의 LCU를 포함하는 타일(tile)로 분할될 수 있다. 초안의 HEVC 표준에서, 타일로 분할하면 규칙적인 그리드가 형성되며, 이 경우 타일의 높이와 폭은 최대한 하나의 LCU 만큼 서로 다르다. 초안 HEVC에서, 슬라이스는 동일한 액세스 유닛 내에서 (만일 있다면) 다음 번의 독립 슬라이스 세그먼트에 선행하는 (만일 있다면) 하나의 독립 슬라이스 세그먼트 및 모든 후속하는 종속 슬라이스 세그먼트에 포함되어 있는 정수개의 코딩 트리 유닛(coding tree units)인 것으로 정의된다. 초안 HEVC 표준에서, 슬라이스 세그먼트는 타일 스캔(tile scan)에서 연속하여 정렬되어 있고 단일의 NAL 유닛에 포함되어 있는 정수개의 코딩 트리 유닛인 것으로 정의된다. 각 픽처를 슬라이스 세그먼트로 나눈 것이 분할(partitioning)이다. 초안 HEVC 표준에서, 독립 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 신택스 요소의 값이 선행 슬라이스 세그먼트의 값으로부터 추론되지 않는 슬라이스 세그먼트인 것으로 정의되며, 종속 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 일부 신택스 요소의 값이 디코딩 순서에서 선행하는 독립 슬라이스 세그먼트의 값으로부터 추론되는 슬라이스 세그먼트인 것으로 정의된다. 초안 HEVC 표준에서, 슬라이스 헤더는 현재 슬라이스 세그먼트인 독립 슬라이스 세그먼트 또는 현재의 종속 슬라이스 세그먼트에 선행하는 독립 슬라이스 세그먼트의 슬라이스 세그먼트 헤더인 것으로 정의되며, 슬라이스 세그먼트 헤더는 슬라이스 세그먼트에서 표현된 첫 또는 모든 코딩 트리 유닛에 관련하는 데이터 요소를 갖고 있는 코딩된 슬라이스 세그먼트의 일부분인 것으로 정의될 수 있다. CU는 타일 내에서 또는 타일이 사용되지 않는 경우에는 픽처 내에서 LCU의 래스터 스캔 순서로 스캔된다. LCU 내에서, CU는 특정한 스캔 순서를 갖는다. 도 5는 정방형 코딩 유닛(실선)으로 분할된 두 개의 타일로 이루어지고, 그 코딩 유닛이 정방형의 예측 유닛(점선)으로 추가로 분할되는 픽처의 일 예를 도시한다.
디코더는 (인코더에 의해 생성되어 이미지의 압축된 표현으로 저장된 움직임 또는 공간 정보를 이용하여) 픽셀 블록의 예측된 표현을 형성하는 인코더와 유사한 예측 수단 및 예측 오차 디코딩(공간 픽셀 도메인에서 양자화된 예측 오차 신호를 복원하는 예측 오차 코딩의 역 동작)을 적용함으로써 출력 비디오를 재구성한다. 예측 및 예측 오차 디코딩 수단을 적용한 후, 디코더는 예측 및 예측 오차 신호(픽셀 값)를 합하여 출력 비디오 프레임을 형성한다. 디코더(및 인코더)는 또한 부가적인 필터링 수단을 적용하여 출력 비디오의 품질을 개선한 다음 출력 비디오를 디스플레이하기 위해 전달할 수 있으며 그리고/또는 출력 비디오를 비디오 시퀀스에서 다음에 오는 픽처에 대한 예측 참조로서 저장할 수 있다.
필터링은 예를 들면, 다음 중 하나 이상, 즉 디블록킹(deblocking), 샘플 적응적 옵세트(sample adaptive offset, SAO), 및/또는 적응적 루프 필터링(adaptive loop filtering, ALF) 중 하나 이상을 포함할 수 있다.
SAO에서, 픽처는 영역으로 나누어지며, 각 영역마다 개별적인 SAO가 결정된다. 영역에서 SAO 정보는 SAO 파라미터 적응 유닛(SAO parameters adaptation unit)(SAO unit) 내에 캡슐화되며, HEVC에서, SAO 파라미터에 적응을 위한 기본 유닛은 CTU이다 (그러므로 SAO 영역은 대응하는 CTU로 뒤덮이는 블록이다).
SAO 알고리즘에서, CTU 내 샘플은 일련의 룰에 따라서 분류되며 각기 분류된 샘플 세트는 옵세트 값을 추가함으로써 강화된다. 옵세트 값은 비트스트림에서 시그널링된다. 두 가지 유형의 옵세트, 즉, 1) 대역 옵세트(Band offset) 2) 에지 옵세트(Edge offset)이 있다. CTU의 경우, 어떤 SAO도 사용되지 않거나 아니면 대역 옵세트 또는 에지 옵세트가 사용된다. SAO를 사용하지 않거나 대역 옵세트가나 에지 옵세트를 사용하는 여부의 선택은 예를 들면, 레이트 왜곡 최적화(rate distortion optimization, RDO)를 가진 인코더에 의해 결정되고 디코더로 시그널링된다.
대역 옵세트에서, 샘플 값의 전체 범위는 일부 실시예에서 32개의 동일 폭의 대역으로 나누어진다. 예를 들면, 8-비트 샘플의 경우, 대역의 폭은 8(=256/32)이다. 32 대역 중에서, 그 중 4개가 선택되며 선택된 각 대역마다 상이한 옵세트가 시그널링된다. 선택은 인코더에 의해 결정되며 다음과 같이 시그널링된다. 즉, 제 1 대역의 인덱스가 시그널링되고 그런 다음 후속하는 4개 대역이 선택된 대역이라고 추론된다. 대역 옵세트는 통상 잔잔한 영역에서 오류를 정정할 때 유용하다.
에지 옵세트 유형에서, 먼저, 에지 옵세트(EO) 유형은 네 가지 가능한 유형(또는 에지 분류) 중에서 선택되는데, 각 유형은 방향, 즉 1) 수직, 2) 수평, 3) 135도 직각, 및 4) 45도 직각과 연관된다. 방향의 선택은 인코더에 의해 제공되며 디코더로 시그널링된다. 각각의 유형은 각도에 기초하여 주어진 샘플의 두 이웃 샘플의 위치를 정의한다. 그런 다음 CTU 내 각 샘플은 샘플 값을 두 이웃 샘플의 값에 대비하여 비교함에 따라서 다섯 카테고리 중 하나로 분류된다. 다섯 카테고리는 다음과 같이 기술된다:
1. 현재 샘플 값은 두 이웃 샘플보다 작다
2. 현재 샘플 값은 이웃 중 한 이웃보다 작고 다른 이웃과 같다.
3. 현재 샘플 값은 이웃 중 한 이웃보다 크고 다른 이웃과 같다.
4. 현재 샘플 값은 두 이웃 샘플보다 크다
5. 앞의 것 해당 없음
이러한 다섯 카테고리는 디코더로 시그널링될 필요가 없는데, 이것은 이 분류가 오직 재구성된 샘플에만 기초한 것이고, 이 샘플은 인코더 및 디코더 양측에서 이용 가능하고 동일하기 때문이다. 에지 옵세트 유형의 CTU 내 각 샘플이 다섯 카테고리 중 한 카테고리로서 분류된 후, 첫 네 개 카테고리 각각의 옵세트 값이 결정되고 디코더로 시그널링된다. 각 카테고리의 옵세트는 대응하는 카테고리와 연관된 샘플 값에 추가된다. 에지 옵세트는 링잉 아티팩트를 수정하는데 효과적일 수 있다.
SAO 파라미터는 CTU 데이터 내에 인터리빙되어 시그널링될 수 있다. CTU 위쪽, 슬라이스 헤더는 SAO가 슬라이스에서 사용되는지를 명시하는 신택스 요소를 갖고 있다. 만일 SAO가 사용되면, 두 개의 부가적인 신택스 요소는 SAO가 Cb 및 Cr 컴포넌트에 적용되는지를 명시한다. 각 CTU 마다, 세 가지 옵션: 1) SAO 파라미터를 좌측 CTU로부터 복사하기 2) SAO 파라미터를 위쪽 CTU로부터 복사하기 또는 3) 새로운 SAO 파라미터를 시그널링하기가 있다.
적응적 루프 필터(adaptive loop filter, ALF)는 재구성된 샘플의 품질을 강화하는 또 다른 방법이다. 이 방법은 루프에서 샘플 값을 필터링함으로써 달성된다. 일부 실시예에서, 인코더는 어느 픽처 영역이 필터링될 것이지 그리고 예를 들면, RDO에 기초하여 필터 계수 및 이러한 정보가 디코더로 시그널링되는지를 결정한다.
전형적인 비디오 코덱에서, 움직임 정보는 각각의 움직임 보상된 이미지 블록과 연관된 움직임 벡터로 표시된다. 각각의 이러한 움직임 벡터는 (인코더 측에서) 코딩될 또는 (디코더 측에서) 디코딩될 픽처 내 이미지 블록과 이전에 코딩된 또는 디코딩된 픽처 중 한 픽처 내 예측 소스 블록의 변위를 나타낸다. 움직임 벡터를 효과적으로 표현하기 위하여, 움직임 벡터는 전형적으로 블록 별로 예측된 움직임 벡터에 대하여 다르게 코딩된다. 전형적인 비디오 코덱에서, 예측된 움직임 벡터는 사전에 정의된 방식으로, 예를 들면 인접한 블록의 인코딩된 또는 디코딩된 움직임 벡터의 중간 값을 계산함으로써 생성된다. 움직임 벡터 예측을 생성하는 다른 방식은 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록으로부터 후보 예측들의 리스트를 만들고 선택된 후보를 움직임 벡터 예측기로서 시그널링하는 것이다. 움직임 벡터 값을 예측하는 것 이외에도, 어느 참조 픽처(들)가 움직임-보상된 예측을 위해 사용된다는 것이 예측될 수 있으며 이러한 예측 정보는 예를 들면, 이전에 코딩된/디코딩된 픽처의 참조 인덱스로 표현될 수 있다. 참조 인덱스는 전형적으로 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록으로부터 예측된다. 더욱이, 전형적인 고 효율 비디오 코덱은 종종 머징 모드(merging mode)/병합 모드(merge mode)라고 불리는 부가적인 움직임 정보 코딩/디코딩 메커니즘을 사용하며, 이 모드에서 각각의 이용 가능한 참조 픽처 리스트마다 움직임 벡터 및 대응하는 참조 픽처 인덱스를 포함하는 모든 움직임 필드 정보가 어떠한 수정/정정 없이 예측되고 사용된다. 유사하게, 움직임 필드 정보를 예측하는 것은 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록의 움직임 필드 정보를 이용하여 실행되며 이용된 움직임 필드 정보는 이용 가능한 인접/동일-위치의 블록의 움직임 필드 정보로 채워진 움직임 필드 후보 리스트의 리스트 중에서 시그널링된다.
전형적인 비디오 코덱에서, 움직임 보상 이후 예측 잔차가 일차로 (DCT와 같은) 변환 커널로 변환된 다음 코딩된다. 그 이유는 종종 잔차 중에서 약간의 상관이 여전히 존재한다는 것이며 많은 사례에서 변환은 이러한 상관을 줄이는데 도움이 될 수 있고 더 효과적인 코딩을 제공할 수 있다.
전형적인 비디오 인코더는 라그랑지안 비용 함수(Lagrangian cost function)를 활용하여 최적한 코딩 모드, 예를 들면, 희망하는 매크로블록 모드 및 연관된 움직임 벡터를 찾는다. 이러한 유형의 비용 함수는 가중 인수(λ)를 이용하여 손실 코딩 방법(lossy coding methods)으로 인한 (정확한 또는 추정된) 이미지 왜곡 및 이미지 영역 내 픽셀 값을 표현하는데 필요한 (정확한 또는 추정된) 양의 정보를 함께 결합한다.
Figure 112015075116730-pct00001
여기서 C는 최소화될 라그랑지안 비용이고, D는 모드 및 움직임 벡터가 고려된 이미지 왜곡(예를 들면, 평균 제곱 오차)이고, R은 (후보 움직임 벡터를 표현하는 데이터의 양을 포함하는) 디코더에서 이미지 블록을 재구성하는데 요구된 데이터를 표현하는데 필요한 비트 수이다.
비디오 코딩 표준 및 사양서는 인코더가 코딩된 픽처를 코딩된 슬라이스 또는 그와 유사한 것으로 나누게 할 수 있다. 인-픽처 예측(in-picture prediction)은 전형적으로 슬라이스 경계 전체에서 불능화된다. 그래서, 슬라이스는 코딩된 픽처를 독립적으로 디코딩 가능한 조각으로 나누는 방법으로 간주될 수 있다. H.264/AVC 및 HEVC에서, 인-픽처 예측은 슬라이스 경계 전체에서 불능화될 수 있다. 그러므로, 슬라이스는 코딩된 픽처를 독립적으로 디코딩 가능한 조각으로 나누는 방법으로 간주될 수 있으며, 슬라이스는 그러므로 종종 전송을 위한 기본 단위라고 간주된다. 많은 사례에서, 인코더는 인-픽처 예측의 타입이 슬라이스 경계 전체에서 턴오프된다는 것을 비트스트림에서 표시할 수 있으며, 디코더는 예를 들어 예측 소스를 이용할 수 있다고 결론지을 때 이 정보를 고려하여 동작한다. 예를 들면, 만일 이웃 매크로블록 또는 CU가 다른 슬라이스에서 존재한다면, 그 이웃하는 매크로블록 또는 CU로부터의 샘플은 인트라 예측에는 이용할 수 없는 것이라고 간주될 수 있다.
코딩된 슬라이스는 세 가지 부류: 래스터-스캔-순서 슬라이스(raster-scan-order-slice), 장방형 슬라이스(rectangular slice), 그리고 플렉시블 슬라이스(flexible slice)로 분류될 수 있다.
래스터-스캔-순서-슬라이스는 래스터 스캔 순서에서 연이은 매크로블록 또는 그와 유사한 것으로 구성된 코딩된 세그먼트이다. 예를 들면, MPEG-4 파트 2의 비디오 패킷 및 H.263에서 비어있지 않은 GOB 헤더에서 시작하는 매크로블록의 그룹(groups of macroblocks, GOBs)은 래스터-스캔-순서-슬라이스의 예이다.
장방형 슬라이스는 매크로블록 또는 그와 유사한 것의 장방형 영역으로 구성되는 코딩된 세그먼트이다. 장방형 슬라이스는 하나의 매크로블록 또는 그와 유사한 것의 로우(row) 보다 높고 전체 픽처 폭보다는 좁을 수 있다. H.263은 선택사양의 장방형 슬라이스 서브모드를 포함하며, H.261 GOB 또한 장방형 슬라이스라고 간주될 수 있다.
플렉시블 슬라이스는 임의의 사전-정의된 매크로블록(또는 그와 유사한 것) 위치(location)를 포함하고 있을 수 있다. H.264/AVC 코덱은 매크로블록을 하나보다 많은 슬라이스 그룹으로 그룹화하게 해준다. 슬라이스 그룹은 인접하지 않은 매크로블록 위치를 비롯하여, 임의의 매크로블록 위치를 포함하고 있을 수 있다. H.264/AVC의 일부 프로파일에서 슬라이스는 래스터 스캔 순서에서 특정 슬라이스 그룹 내 적어도 하나의 매크로블록으로 구성된다.
H.264/AVC 또는 HEVC 인코더의 출력 및 H.264/AVC 또는 HEVC 디코더의 입력의 기본 단위는 각기 네트워크 추상 계층(Network Abstraction Layer, NAL) 유닛이다. 패킷-지향의 네트워크를 통한 전송하거나 구조화된 파일로의 저장을 위해, NAL 유닛은 패킷 또는 유사한 구조로 캡슐화될 수 있다. H.264/AVC 및 HEVC에서 프레이밍 구조를 제공하지 않는 전송 또는 저장 환경을 위해 바이트스트림 포맷은 명시되었다. 바이트스트림 포맷은 각 NAL 유닛의 앞 단에다 시작 코드를 붙임으로써 NAL 유닛을 서로 구분한다. NAL 유닛 경계의 오검출을 방지하기 위해, 인코더는 바이트-지향의 시작 코드 에뮬레이션 방지 알고리즘(byte-oriented start code emulation prevention algorithm)을 가동하는데, 이는 알고리즘을 가동하지 않았을 경우에 시작 코드가 발생하였다면 에뮬레이션 방지 바이트를 NAL 유닛 페이로드에 첨가하는 알고리즘이다. 패킷-지향 시스템과 스트림-지향 시스템 사이에서 수월한 게이트웨이 동작을 가능하게 하기 위해, 바이트스트림 포맷이 사용 중이든 그렇지 않든 간에, 시작 코드 에뮬레이션 방지가 항시 수행될 수 있다. NAL 유닛은 뒤이어 나오는 데이터의 타입의 표시를 갖고 있는 신택스 구조 및 에뮬레이션 방지 바이트를 필요에 따라 산재시킨 RBSP 형태로 된 데이터를 포함하는 신택스 구조라고 정의될 수 있다. 원시 바이트 시퀀스 페이로드(raw byte sequence payload, RBSP)는 NAL 유닛에서 캡슐화된 정수 개의 바이트를 갖고 있는 신택스 구조라고 정의될 수 있다. RBSP는 비어 있거나 아니면 신택스 요소를 포함하는 데이터 비트에 뒤이은 RBSP 스톱 비트 그리고 그 뒤를 이은 0개 이상의 0과 같은 후속 비트의 스트링의 형태를 갖는다.
NAL 유닛은 헤더와 페이로드로 구성된다. H.264/AVC 및 HEVC에서, NAL 유닛 헤더는 NAL 유닛의 타입을 표시한다. H.264/AVC에서, NAL 유닛 헤더는 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처 또는 비-참조 픽처(non-reference picture)의 일부인지를 표시할 수 있다.
H.264/AVC NAL 유닛 헤더는 2-비트의 nal_ref_idc 신택스 요소를 포함하는데, 이 요소가 0일 때는 NAL 유닛에 포함된 코딩된 슬라이스가 비-참조 픽처의 일부임을 표시하고 0보다 클 때는 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처의 일부임을 표시한다. 초안 HEVC 표준은 nal_ref_flag라고도 알려진 1-비트 nal_ref_idc 신택스 요소를 포함하며, 이 신택스 요소가 0일 때는 NAL 유닛에 포함된 코딩된 슬라이스가 비-참조 픽처의 일부임을 표시하며 1일 때는 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처의 일부임을 표시한다. SVC 및 MVC NAL 유닛의 헤더는 확장성 및 멀티뷰 계층구조(multiview hierarchy)에 관련된 각종 표시를 부가적으로 포함할 수 있다.
초안 HEVC 표준에서, 2-바이트의 NAL 유닛 헤더는 명시된 모든 NAL 유닛 타입에 대해 사용된다. NAL 유닛 헤더는 하나의 예약된 비트, 6-비트의 NAL 유닛 타입 표시, (1보다 크거나 같다고 요구될 수 있는) 시간 레벨에 대한 3-비트의 nuh_temporal_id plus1 표시, 및 6-비트의 예약된 필드(reserved_zero_6bits라고도 불려짐)를 포함한다. temporal_id 신택스 요소는 NAL 유닛의 시간 식별자(temporal identifier)라고 간주될 수 있으며, 제로-기반의 TemporalId 변수는 다음과 같이 도출될 수 있다: TemporalId = temporal_id_plusl - 1. TemporalId가 0이면, 이는 최저 시간 레벨에 해당한다. temporal_id_plus1의 값은 두 NAL 유닛 헤더 타입이 연루되는 시작 코드 에뮬레이션을 방지하기 위해 제로가 아니어야 한다.
6-비트의 예약된 필드는 미래의 스케일러블 및 3D 비디오 확장과 같은 확장에 의해 사용될 것으로 예상된다. 이러한 여섯 비트는 quality_id 또는 유사한 것, dependency_id 또는 유사한 것, 임의의 다른 타입의 계층 식별자, 뷰 순서 인덱스 또는 유사한 것, 뷰 식별자, 특정 식별자 값보다 큰 모든 NAL 유닛이 비트스트림으로부터 제거된 경우라면 유효한 서브-비트스트림 추출을 표시하는 SVC의 priority_id와 유사한 식별자와 같은 확장성 계층구조에 관한 정보를 담고 있을 것이라고 예상된다. 보편성을 잃지 않고, 일부 예의 실시예에서, 변수 LayerId는 예를 들면 다음과 같이 reserved_zero_6bits의 값으로부터 도출된다: LayerId = reserved_zero_6bits.
NAL 유닛은 비디오 코딩 계층(Video Coding Layer, VCL) NAL 유닛 및 논(non)-VCL NAL 유닛으로 분류될 수 있다. VCL NAL 유닛은 일반적으로 코딩된 슬라이스 NAL 유닛이다. H.264/AVC에서, 코딩된 슬라이스 NAL 유닛은 하나 이상의 코딩된 매크로블록을 표현하는 신택스 요소를 포함하며, 각각의 매크로블록은 복원된 픽처 내 샘플들의 블록에 대응한다. HEVC에서, 코딩된 슬라이스 NAL 유닛은 하나 이상의 CU를 나타내는 신택스 요소를 갖고 있다.
H.264/AVC에서, 코딩된 슬라이스 NAL 유닛은 순간 디코딩 리플레쉬(Instantaneous Decoding Refresh, IDR) 픽처 내 코딩된 슬라이스 및 논-IDR 픽처 내 코딩된 슬라이스인 것으로 표시될 수 있다.
HEVC에서, 코딩된 슬라이스 NAL 유닛은 다음과 같은 타입 중 한 가지 타입인 것으로 표시될 수 있다.
[테이블 1]
Figure 112015075116730-pct00002
초안 HEVC 표준에서, 픽처 타입의 약어는 다음과 같이 정의될 수 있다: 트레일링(trailing, TRAIL) 픽처, 시간 서브-계층 액세스(Temporal Sub-layer Access, TSA), 단계적 시간 서브-계층 액세스(Step-wise Temporal Sub-layer Access, STSA), 랜덤 액세스 디코더블 리딩(Random Access Decodable Leading, RADL) 픽처, 랜덤 액세스 스킵드 리딩(Random Access Skipped Leading, RASL) 픽처, 브로큰 링크 액세스(Broken Link Access, BLA) 픽처, 순간 디코딩 리플레쉬(Instantaneous Decoding Refresh, IDR) 픽처, 클린 랜덤 액세스(Clean Random Access, CRA) 픽처.
랜덤 액세스 포인트(Random Access Point, RAP) 픽처는 각 슬라이스 또는 슬라이스 세그먼트가 16부터 시작하여 23을 포함하는 범위 내에서 nal_unit 타입을 갖는 픽처이다. RAP 픽처는 인트라-코딩된 슬라이스만을 포함하며, BLA 픽처, CRA 픽처 또는 IDR 픽처일 수 있다. 비트스트림 내 첫 픽처는 RAP 픽처이다. 필요한 파라미터 세트가 활성화될 필요가 있을 때 이들을 이용할 수 있다면, 디코딩 순서에서 RAP 픽처 및 후속하는 모든 RASL 픽처는 디코딩 순서에서 RAP 픽처에 선행하는 임의의 픽처에 대해 디코딩 프로세스를 수행하지 않고도 정확하게 디코딩될 수 있다. 비트스트림에는 RAP 픽처가 아닌 인트라-코딩된 슬라이스만을 포함하는 픽처가 있을 수 있다.
HEVC에서, CRA 픽처는 디코딩 순서에서 비트스트림의 첫 픽처일 수 있거나, 비트스트림에서 나중에 나올 수 있다. HEVC에서 CRA 픽처는 디코딩 순서에서 CRA 픽처를 뒤따라 나오지만 출력 순서에서는 그에 앞서는 소위 리딩 픽처(leading picture)를 허용한다. 리딩 픽처 중 일부, 소위 RASL 픽처는 CRA 픽처에 앞서 디코딩되는 픽처를 참조로서 이용할 수 있다. 디코딩 순서와 출력 순서 모두에서 CRA 픽처를 뒤따라 나오는 픽처는 CRA 픽처에서 랜덤 액세스가 수행된다면 디코딩 가능하며, 그래서 IDR 픽처의 클린 랜덤 액세스 기능과 유사한 클린 랜덤 액세스가 성취될 수 있다.
CRA 픽처는 연관된 RADL 픽처 또는 RASL 픽처를 가질 수 있다. CRA 픽처가 디코딩 순서에서 비트스트림의 첫 픽처일 때, CRA 픽처는 디코딩 순서에서 코딩된 비디오 시퀀스의 첫 픽처이며, 연관된 어떠한 RASL 픽처도 이 픽처가 비트스트림에서 존재하지 않는 픽처의 참조를 포함하고 있으므로 디코더에 의해 출력되지 않으며 디코딩되지 않을 수 있다.
리딩 픽처는 출력 순서에서 연관된 RAP 픽처에 선행하는 픽처이다. 연관된 RAP 픽처는 (존재한다면) 디코딩 순서에서 이전의 RAP 픽처이다. 리딩 픽처는 RADL 픽처 또는 RASL 픽처 중 하나이다.
모든 RASL 픽처는 연관된 BLA 픽처 또는 CRA 픽처의 리딩 픽처이다. 연관된 RAP 픽처가 BLA 픽처일 때 또는 비트스트림에서 코딩된 첫 픽처일 때, RASL 픽처가 비트스트림에서 존재하지 않는 픽처의 참조를 포함할 수 있으므로, RASL 픽처는 출력되지 않으며 정확하게 디코딩되지 않을 수 있다. 그러나, RASL 픽처의 연관된 RAP 픽처에 앞서 RAP 픽처부터 디코딩이 시작되었다면 RASL 픽처는 정확하게 디코딩될 수 있다. RASL 픽처는 논-RASL 픽처의 디코딩 프로세스에 대해 참조 픽처로서 사용되지 않는다. 존재할 때, 모든 RASL 픽처는 디코딩 순서에서, 같은 연관된 RAP 픽처의 모든 트레일링 픽처에 선행한다. HEVC 표준의 일부 초기의 초안에서, RASL 픽처는 폐기 표시(Tagged for Discard, TFD) 픽처라고 지칭되었다.
RADL 픽처는 모두 리딩 픽처이다. RADL 픽처는 같은 연관된 RAP 픽처의 트레일링 픽처의 디코딩 프로세스 동안 참조 픽처로서 사용되지 않는다. 존재할 때, 모든 RADL 픽처는 디코딩 순서에서, 같은 연관된 RAP 픽처의 모든 트레일링 픽처에 선행한다. RADL 픽처는 디코딩 순서에서 연관된 RAP 픽처에 선행하는 어느 픽처도 언급하지 않으며 그래서 연관된 RAP 픽처로부터 디코딩이 시작할 때 정확하게 디코딩될 수 있다. HEVC 표준의 일부 초기의 초안에서, RADL 픽처는 디코딩 가능한 리딩 픽처(Decodable Leading Picture, DLP)라고 지칭되었다.
CRA 픽처로부터 시작하는 비트스트림의 일부가 다른 비트스트림에 포함되어 있을 때, CRA 픽처와 연관된 RASL 픽처는 정확하게 디코딩되지 않을 수 있는데, 이는 이 픽처의 참조 픽처의 일부가 조합되어 있는 비트스트림에서 존재하지 않을 수 있기 때문이다. 그러한 스플리싱 작업을 똑바로 하기 위해, CRA 픽처의 NAL 유닛 타입은 이것이 BLA 픽처라고 표시하도록 변경될 수 있다. BLA 픽처와 연관된 RASL 픽처는 정확하게 디코딩되지 않을 수 있고 그래서 출력/디스플레이되지 않는다. 뿐만 아니라, BLA 픽처와 연관된 RASL 픽처는 디코딩에서 빠질 수 있다.
BLA 픽처는 디코딩 순서에서 비트스트림의 첫 픽처일 수 있거나, 비트스트림에서 나중에 나타날 수 있다. 각각의 BLA 픽처는 새로이 코딩된 비디오 시퀀스를 시작하며, 디코딩 프로세스에서 IDR 픽처와 유사한 결과를 갖는다. 그러나, BLA 픽처는 비어 있지 않은 참조 픽처 세트를 명시하는 신택스 요소를 포함하고 있다. BLA 픽처는, BLA_W_LP와 동일한 nal_unit_type을 가질 때, 이는 연관된 RASL 픽처를 가질 수 있으며, 이 RASL 픽처는 이 픽처가 비트스트림에 존재하지 않는 픽처로의 참조를 갖고 있을 수 있으므로, 디코더에 의해 출력되지 않으며 디코딩되지 않을 수 있다. BLA 픽처가 BLA_W_LP와 동일한 nal_unit_type을 가질 때, BLA 픽처는 또한 디코딩되는 것으로 명시된 연관된 RADL 픽처를 가질 수 있다. BLA 픽처가 BLA_W_DLP와 동일한 nal_unit_type을 가질 때, BLA 픽처는 연관된 RASL 픽처를 갖지 않고, 디코딩되는 것으로 명시된 연관된 RADL 픽처를 가질 수 있다. BLA 픽처가 BLA_N_LP와 동일한 nal_unit_type을 가질 때, BLA 픽처는 어느 연관된 선두 픽처도 갖지 않는다.
IDR_N_LP와 동일한 nal_unit_type을 가진 IDR 픽처는 비트스트림에서 존재하는 연관된 리딩 픽처를 갖지 않는다. IDR_W_LP와 동일한 nal_unit_type을 가진 IDR 픽처는 비트스트림에서 존재하는 연관된 RASL 픽처를 갖지 않지만 비트스트림에서 연관된 RADL 픽처를 가질 수 있다.
nal_unit_type의 값이 TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14와 동일할 때, 디코딩된 픽처는 동일한 시간 서브-계층의 어떠한 다른 픽처에 대한 참조로서 사용되지 않는다. 즉, 초안 HEVC 초안에서, nal_unit_type의 값이 TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14와 동일할 때, 디코딩된 픽처는 TemporalId의 값과 동일한 임의의 픽처의 RefPicSetStCurrBefore, RefPicSetStCurrAfter 및 RefPicSetLtCurr 중 어느 것에도 포함되지 않는다. TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14와 동일한 nal_unit_type을 가진 코딩된 픽처는 TemporalId의 값과 동일한 다른 픽처의 디코딩가능성에 영향을 주지 않고 폐기될 수 있다.
트레일링 픽처는 출력 순서에서 연관된 RAP 픽처에 뒤이어 나오는 픽처라고 정의될 수 있다. 트레일링 픽처인 어느 픽처도 RADL_N, RADL_R, RASL_N 또는 RASL_R과 동일한 nal_unit_type를 갖지 않는다. 리딩 픽처인 모든 픽처는 디코딩 순서에서, 동일 RAP 픽처와 연관된 모든 트레일링 픽처에 선행하는 것으로 제약될 수 있다. BLA_W_DLP 또는 BLA_N_LP와 동일한 nal_unit_type를 가진 BLA 픽처와 연관된 어느 RASL 픽처도 비트스트림에 존재하지 않는다. BLA_N_LP와 동일한 nal_unit_type를 가진 BLA 픽처와 연관된 또는 IDR_N_LP와 동일한 nal_unit_type를 가진 IDR 픽처와 연관된 어느 RADL 픽처도 비트스트림에 존재하지 않는다. CRA 또는 BLA 픽처와 연관된 모든 RASL 픽처는 출력 순서에서 CRA 또는 BLA 픽처와 연관된 모든 RADL 픽처에 선행하는 것으로 제한될 수 있다. CRA 픽처와 연관된 모든 RASL 픽처는 디코딩 순서에서 CRA 픽처에 선행하는 다른 모든 RAP 픽처에 출력 순서에서 뒤이어 나오는 것으로 제약될 수 있다.
HEVC에는 시간적 서브-계층 스위칭 포인트(temporal sub-layer switching points)를 표시하는데 사용될 수 있는 TSA 및 STSA 픽처 타입이라는 두 가지 픽처 타입이 있다. N까지의 TemporalId를 갖는 시간 서브-계층이 TSA 또는 STSA 픽처(배타적임) 및 TSA 또는 STSA 픽처가 N+1과 같은 TemporalId를 가질 때까지 디코딩되었다면, TSA 또는 STSA 픽처는 N+1과 같은 TemporalId를 갖는 (디코딩 순서에서) 모든 후속 픽처가 디코딩될 수 있게 한다. TSA 픽처 타입은 TSA 픽처 자체 및 디코딩 순서에서 TSA 픽처에 뒤이은 동일 서브-계층에 속한 모든 픽처에만 제약을 부과할 수 있다. 이러한 픽처 중 어느 픽처도 디코딩 순서에서 TSA 픽처에 선행하는 동일 서브-계층에 속한 모든 픽처로부터 인터 예측을 사용하도록 허용되지 않는다. TSA의 정의에 따르면 디코딩 순서에서 TSA 픽처에 뒤이은 상위의 서브-계층에 속한 픽처에도 또한 제약을 부과할 수 있다. 이러한 픽처 중 어느 픽처도 그 픽처가 TSA 픽처와 동일하거나 상위의 서브-계층에 속한다면 디코딩 순서에서 TSA 픽처에 선행하는 픽처를 언급하도록 허용되지 않는다. TSA 픽처는 0보다 큰 TemporalId를 갖는다. STSA는 TSA 픽처와 유사하지만 디코딩 순서에서 STSA 픽처에 뒤이은 상위의 서브-계층에 속한 픽처에 제약을 부과하지 않으며 그래서 STSA 픽처가 상주하는 서브-계층으로만 업-스위칭이 가능해진다.
논-VCL NAL 유닛(a non-VCL NAL unit)은 예를 들면, 다음과 같은 타입, 시퀀스 파라미터 세트(a sequence parameter set), 픽처 파라미터 세트, 추가적 강화 정보(a supplemental enhancement information, SEI) NAL 유닛, 액세스 유닛 구분자(an access unit delimiter), 시퀀스 NAL 유닛의 끝, 스트림 NAL 유닛의 끝, 또는 필러 데이터(filler data) NAL 유닛 중 한 가지 타입일 수 있다. 파라미터 세트는 디코딩된 픽처의 재구성을 위해 필요할 수 있으며, 반면 다른 논-VCL NAL 유닛 중 많은 유닛은 디코딩된 샘플 값의 재구성에는 필요하지 않다.
코딩된 비디오 시퀀스를 통해 변동 없이 남아 있는 파라미터는 시퀀스 파라미터 세트에 포함된다. 디코딩 프로세스에 의해 필요할 수 있는 파라미터 이외에도, 시퀀스 파라미터 세트는 선택사양으로 비디오 유용성 정보(video usability information, VUI)를 포함할 수 있는데, 이 정보는 버퍼링, 픽처 출력 타이밍, 렌더링, 및 자원 예약하는데 중요한 파라미터를 포함한다. H.264/AVC에는 시퀀스 파라미터 세트를 운반하는 세 가지 NAL 유닛, 즉 시퀀스에서 H.264/AVC VCL NAL 유닛의 모든 데이터를 포함하는 시퀀스 파라미터 세트 NAL 유닛과, 보조 코딩된 픽처(auxiliary coded picture)의 데이터를 포함하는 시퀀스 파라미터 세트 확장 NAL 유닛과, 그리고 MVC 및 SVC VCL NAL 유닛의 서브세트 시퀀스 파라미터 세트가 명시되어 있다. 초안의 HEVC 표준에서, 시퀀스 파라미터 세트 RBSP는 하나 이상의 픽처 파라미터 세트 RBSP 또는 버퍼링 주기 SEI 메시지를 갖고 있는 하나 이상의 SEI NAL 유닛에 의해 언급될 수 있는 파라미터를 포함한다. 픽처 파라미터 세트는 여러 코딩된 픽처에서 변동되지 않을 것 같은 그러한 파라미터를 갖고 있다. 픽처 파라미터 세트 RBSP는 하나 이상의 코딩된 픽처의 코딩된 슬라이스 NAL 유닛에 의해 언급될 수 있는 파라미터를 포함할 수 있다.
초안 HEVC에서, 본 발명에서 적응 파라미터 세트(an Adaptation Parameter Set, APS)라고 지칭되는 제3 타입의 파라미터 세트가 또한 존재하는데, 이 파라미터 세트는 여러 코딩된 슬라이스에서 변경되지 않을 것 같지만, 예를 들면 각 픽처 또는 몇 개의 각 픽처에 대해서는 변할 수 있는 파라미터를 포함한다. 초안 HEVC에서, APS 신택스 구조는 양자화 행렬(quantization matrices, QM), 적응적 샘플 옵세트(adaptive sample offset, SAO), 적응적 루프 필터링(adaptive loop filtering, ALF), 및 디블록킹 필터링(deblocking filtering)과 관련된 파라미터 또는 신택스 요소를 포함한다. 초안 HEVC에서, APS는 NAL 유닛이며 임의의 다른 NAL 유닛으로부터 참조 또는 예측 없이 코딩된다. aps_id 신택스 요소라고 지칭되는 식별자는 APS NAL 유닛에 포함되며, 특정 APS를 언급하기 위해 슬라이스 헤더에 포함되어 사용된다. 다른 초안 HEVC 표준에서, APS 신택스 구조는 ALF 파라미터를 갖고 있을 뿐이다. 초안 HEVC 표준에서, 적응 파라미터 세트 RBSP는 sample_adaptive_offset_enabled_flag 또는 adaptive_loop_filter_enabled_flag 중 적어도 하나가 1일 때 하나 이상의 코딩된 픽처의 코딩된 슬라이스 NAL 유닛에 의해 언급될 수 있는 파라미터를 포함한다. HEVC의 향후 일부의 초안에서, APS 신택스 구조는 사양서 본문에서 제거되었다.
초안 HEVC 표준은 또한 비디오 파라미터 세트(video parameter set, VPS)이라 불리는 제 4 타입의 파라미터 세트를 포함하는데, 이 파라미터 세트는 예를 들면, 문서 JCTVC-H0388 (http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wgll/JCTVC-H0388-v4.zip)에서 제안되었다. 비디오 파라미터 세트 RBSP는 하나 이상의 시퀀스 파라미터 세트 RBSP에 의해 언급될 수 있는 파라미터를 포함할 수 있다.
비디오 파라미터 세트(video parameter set, VPA), 시퀀스 파라미터 세트(sequence parameter set, SPS), 그리고 픽처 파라미터 세트(picture parameter set, PPS) 간의 관계 및 계층구조는 아래와 같이 기술될 수 있다. VPS는 파라미터 세트 계층 구조 및 확장성 및/또는 3DV의 콘텍스트에서 SPS보다 한 레벨 위에 상주한다. VPS는 코딩된 전체 비디오 시퀀스에서 모든 (확장성 또는 뷰) 계층 전반의 모든 슬라이스에 공통적인 파라미터를 포함할 수 있다. SPS는 코딩된 전체 비디오 시퀀스에서 특정 (확장성 또는 뷰) 계층에 있는 모든 슬라이스에 공통적이며, 다중 (확장성 또는 뷰) 계층에 의해 공유될 수 있는 파라미터를 포함한다. PPS는 특정한 계층 표현(하나의 액세스 유닛에서 하나의 확장성 또는 뷰 계층의 표현)에서 모든 슬라이스에 공통적이며 다중 계층 표현의 모든 슬라이스에 의해 공유될 것 같은 파라미터를 포함한다.
VPS는 비트스트림에서 계층들의 디펜던시 관계에 관한 정보를 제공할 뿐만 아니라, 코딩된 전체 비디오 시퀀스에서 모든 (확장성 또는 뷰) 계층 전반의 모든 슬라이스에 적용 가능한 다른 많은 정보를 제공할 수 있다. HEVC의 스케일러블 확장에서, VPS는 예를 들면, NAL 유닛 헤더로부터 도출되는 LayerId 값의 예를 들면, SVC 및 MVC와 유사하게 정의된 계층에 대한 dependency_id, quality_id, view_id, 및 depth_flag에 대응하는, 하나 이상의 확장성 차원 값과의 매핑을 포함할 수 있다. VPS는 하나 이상의 계층에 대한 프로파일 및 레벨 정보를 포함할 뿐만 아니라, 계층 표현 중 (소정의 TemporalId 값의 그리고 그 이하의 VCL NAL 유닛으로 이루어지는) 하나 이상의 시간 서브-계층에 대한 프로파일 및/또는 레벨을 포함할 수 있다.
H.264/AVC 및 HEVC 신택스는 많은 인스턴스의 파라미터 세트를 허용하며, 각각의 인스턴스는 고유한 식별자로 식별된다. 파라미터 세트에 필요한 메모리 사용을 제한하기 위해, 파라미터 세트 식별자에 대한 값의 범위는 한정되어 왔다. H.264/AVC 및 초안 HEVC 표준에서, 각각의 슬라이스 헤더는 슬라이스를 포함하는 픽처의 디코딩에 활성적인 픽처 파라미터 세트의 식별자를 포함하며, 각각의 픽처 파라미터 세트는 활성적인 시퀀스 파라미터 세트의 식별자를 갖는다. 초안 HEVC 표준에서, 향후 HEVC 표준의 일부 초안에서 APS 식별자가 슬라이스 헤더로부터 제거되었을지라도, 슬라이스 헤더는 부가적으로 APS 식별자를 갖는다. 따라서, 픽처 및 시퀀스 파라미터 세트의 전송은 슬라이스의 전송과 정확하게 동기되어야 하는 것은 아니다. 그 대신, 활성적인 시퀀스 및 픽처 파라미터 세트는 이들이 참조되기 전 어느 때라도 수신되면 그것으로 충분하며, 이로써 슬라이스 데이터를 위해 사용된 프로토콜과 비교하여 더욱 신뢰할 수 있는 전송 메커니즘을 이용하여 파라미터 세트의 "대역외(out-of-band)" 전송이 가능해진다. 예를 들면, 파라미터 세트는 실시간 전송 프로토콜(Real-time Transport Protocol, RTP) 세션에 대한 세션 서술(session description)에서 파라미터로서 포함될 수 있다. 파라미터 세트가 대역 내(in-band) 전송되면, 파라미터 세트는 오류 강인성(error robustness)을 개선하기 위해 반복전송될 수 있다.
파라미터 세트는 슬라이스로부터 또는 다른 활성적인 파라미터 세트으로부터, 또는 일부 사례에서는 버퍼링 주기 SEI 메시지와 같은 다른 신택스 구조로부터의 참조에 의해 활성화될 수 있다.
SEI NAL 유닛은 하나 이상의 SEI 메시지를 포함하는데, 이 SEI 메시지는 출력 픽처의 디코딩에 필요하지 않고, 픽처 출력 타이밍, 렌더링, 오류 검출, 오류 은닉, 및 자원 예약과 같은 관련된 프로세스에서 보조할 수 있다. H.264/AVC 및 HEVC에서 여러 SEI 메시지가 명시되어 있으며, 사용자 데이터 SEI 메시지는 조직 및 회사가 자체적인 사용을 위해 SEI 메시지를 명시할 수 있게 한다. H.264/AVC 및 HEVC은 명시된 SEI 메시지에 대한 신택스 및 시맨틱을 포함하지만, 수신 측에서 이 메시지를 다루기 위한 어느 프로세스도 정의되어 있지 않다. 따라서, 인코더는 SEI 메시지를 생성할 때 H.264/AVC 표준 또는 HEVC 표준을 따르는 것이 필요하며, H.264/AVC 표준 또는 HEVC 표준에 순응하는 디코더는 각기 출력 순서 순응성에 맞추어 SEI 메시지를 처리하는 것이 필요하지 않다. SEI 메시지의 신택스 및 시맨틱을 H.264/AVC 및 HEVC에 포함시키는 이유 중 하나는 다양한 시스템 사양들이 보충 정보를 동일하게 해석할 수 있게 하고 그래서 상호 정보교환(interoperate)할 수 있게 해주기 위함이다. 이것은 시스템 사양이 인코딩 측 및 디코딩 측에서 모두 특정 SEI 메시지의 사용을 필요로 할 수 있고, 부가적으로는 특정 SEI 메시지를 수신 측에서 다루기 위한 프로세스가 명시될 수 있도록 하기 함이다.
코딩된 픽처는 픽처의 코딩된 표현이다. H.264/AVC에서 코딩된 픽처는 픽처의 디코딩에 필요한 VCL NAL 유닛을 포함한다. H.264/AVC에서, 코딩된 픽처는 기본 코딩된 픽처(primary coded picture) 또는 중복 코딩된 픽처(redundant coded picture)일 수 있다. 기본 코딩된 픽처는 유효 비트스트림의 디코딩 프로세스에서 사용되는 반면, 중복 코딩된 픽처는 기본 코딩된 픽처가 성공적으로 디코딩될 수 없을 때 디코딩만이라도 되어야 하는 중복 표현이다. 초안 HEVC에서, 아무런 중복 코딩된 픽처도 명시되어 있지 않다.
H.264/AVC 및 HEVC에서, 액세스 유닛은 기본 코딩된 픽처 및 이와 연관된 NAL 유닛을 포함한다. H.264/AVC에서, 액세스 유닛 내 NAL 유닛의 출현 순서는 다음과 같이 제한된다. 선택사양의 액세스 유닛 구분자 NAL 유닛은 액세스 유닛의 시작을 표시할 수 있다. 이것 다음에는 0개 이상의 SEI NAL 유닛이 이어진다. 기본 코딩된 픽처의 코딩된 슬라이스는 다음에 나온다. H.264/AVC에서, 기본 코딩된 픽처의 코딩된 슬라이스 다음에는 0개 이상의 중복 코딩된 픽처의 코딩된 슬라이스가 이어진다. 중복 코딩된 픽처는 픽처 또는 픽처의 일부분의 코딩된 표현이다. 중복 코딩된 픽처는 기본 코딩된 픽처가 예를 들어 전송시의 손실 또는 물리적 저장 매체의 손상으로 인해 디코더에서 수신되지 않는 경우에 디코딩될 수 있다.
H.264/AVC에서, 액세스 유닛은 또한 보조 코딩된 픽처(auxiliary coded picture)를 포함할 수 있는데, 이 픽처는 기본 코딩된 픽처를 보충하며 그리고 예를 들면 디스플레이 프로세스에서 사용될 수 있는 픽처이다. 보조 코딩된 픽처는 예를 들면 디코딩된 픽처 내 샘플의 투명도(transparency level)를 명시하는 알파 채널(alpha channel) 또는 알파 평면(alpha plane)으로서 사용될 수 있다. 알파 채널 또는 알파 평면은 적어도 부분적으로 투명해지는 픽처를 서로의 상단에 중첩시킴으로써 출력 픽처가 형성되는 계층화된 구성 또는 렌더링 시스템에서 사용될 수 있다. 보조 코딩된 픽처는 단색 중복 코딩된 픽처(a monochrome redundant coded picture)와 동일한 신택스 및 시맨틱 제약을 갖는다. H.264/AVC에서, 보조 코딩된 픽처는 기본 코딩된 픽처와 동일한 개수의 매크로블록을 포함한다.
H.264/AVC에서, 코딩된 비디오 시퀀스는 IDR 액세스 유닛을 포함하여 이 유닛부터 다음 IDR 액세스 유닛을 제외한 이 유닛까지, 또는 비트스트림의 끝까지의, 어느 것이든 먼저 나오는, 디코딩 순서에서 연속하는 액세스 유닛들의 시퀀스로 정의된다. 초안 HEVC 표준에서, 디코딩 순서에서, 비트스트림의 첫 액세스 유닛인 CRA 액세스 유닛, IDR 액세스 유닛 또는 BLA 액세스 유닛, 그 뒤를 이어 모든 후속 액세스 유닛까지는 포함하되 임의의 후속 IDR 또는 BLA 액세스 유닛을 포함하지 않는 0개 이상의 논-IDR 및 논-BLA 액세스 유닛으로 이루어지는 액세스 유닛들의 시퀀스인 것으로 정의된다.
픽처 그룹(a group of pictures, GOP) 및 그의 특성은 다음과 같이 정의될 수 있다. GOP는 이전의 어느 픽처가 디코딩되었는지에 무관하게 디코딩될 수 있다. 오픈 GOP(open GOP)는 오픈 GOP의 초기 인트라 픽처로부터 디코딩이 시작할 때 출력 순서에서 초기 인트라 픽처에 선행하는 픽처가 정확하게 디코딩될 수 없을 수도 있는 그런 픽처 그룹이다. 다시 말해서, 오픈 GOP의 픽처는 (인터 예측에서) 이전의 GOP에 속하는 픽처를 참조할 수 있다. H.264/AVC 디코더는 H.264/AVC 비트스트림에서 복구 지점(recovery point) SEI 메시지로부터 오픈 GOP를 시작하는 인트라 픽처를 인식할 수 있다. HEVC 디코더는 오픈 GOP를 시작하는 인트라 픽처를 인식할 수 있는데, 그 이유는 특정 NAL 유닛 타입인 CRA NAL 유닛 타입이 그의 코딩된 슬라이스에 사용되기 때문이다. 클로즈드 GOP(closed GOP)는 클로즈드 GOP의 초기 인트라 픽처로부터 디코딩이 시작할 때 모든 픽처가 정확하게 디코딩될 수 있는 그런 픽처 그룹이다. 다시 말해서, 클로즈드 GOP 내 어느 픽처도 이전 GOP 내 어느 픽처도 참조하지 않는다. H.264/AVC및 HEVC에서, 클로즈드 GOP는 IDR 액세스 유닛으로부터 시작한다고 간주될 수 있다. 그 결과, 클로즈드 GOP 구조는 오픈 GOP 구조와 비교하여 더 많은 오류 내성 잠재성을 갖지만, 그 대가로 아마도 압축 효율이 낮아진다. 오픈 GOP 코딩 구조는 참조 픽처의 선택 시 융통성이 더 많으므로 압축 시 잠재적으로 더 효율적이다.
H.264/AVC 및 HEVC의 비트스트림 신택스는 특정 픽처가 임의의 다른 픽처의 인터 예측을 위한 참조 픽처인지 여부를 표시한다. 임의의 코딩 타입(I, P, B)의 픽처는 H.264/AVC 및 HEVC에서 참조 픽처 또는 비-참조 픽처일 수 있다.
H.264/AVC은 디코더에서 메모리 소비량을 제어하기 위하여 디코딩된 참조 픽처를 표기하는 프로세스를 명시하고 있다. 인터 예측에 사용된, M이라 불리는, 참조 픽처의 최대 수(maximum number)는 시퀀스 파라미터 세트에서 정해진다. 참조 픽처가 디코딩될 때, 참조 픽처는 "참조용으로 사용됨"이라고 표기된다. 참조 픽처가 "참조용으로 사용됨"이라 표기된 M개 픽처보다 많이 디코딩되었다면, 적어도 하나의 픽처는 "참조용으로 사용되지 않음"이라고 표기된다. 디코딩된 참조 픽처를 표기하는 동작은 적응적 메모리 제어(adaptive memory control) 및 슬라이딩 윈도우(sliding window)라는 두 가지 방식이 있다. 디코딩된 참조 픽처를 표기하는 동작 모드는 픽처 단위로 선택된다. 적응적 메모리 제어는 픽처를 "참조용으로 사용되지 않음"이라고 표기하는 명시적 시그널링을 가능하게 하며 그리고 장기간 인덱스를 단기간 참조 픽처에 할당할 수 있다. 적응적 메모리 제어는 비트스트림에서 메모리 관리 제어 동작(memory management control operation, MMCO) 파라미터의 존재를 필요로 한다. MMCO 파라미터는 디코딩된 참조 픽처 표기 신택스 구조에 포함될 수 있다. 슬라이딩 윈도우 동작 모드가 사용 중에 있고 M 픽처가 "참조용으로 사용됨"이라고 표기되어 있으면, "참조용으로 사용됨"이라 표기된 단기간 참조 픽처들 중 처음 디코딩된 픽처이었던 단기간 참조 픽처는 "참조용으로 사용되지 않음"이라고 표기된다. 다시 말해서, 슬라이딩 윈도우 동작 모드는 결과적으로 단기간 참조 픽처들이 선입선출 버퍼링 동작을 수행하게 만든다.
H.264/AVC에서 메모리 관리 제어 동작 중 한 동작은 현재 픽처를 제외한 모든 참조 픽처를 "참조용으로 사용되지 않음"이라고 표기되게 한다. 순간 디코딩 리플레시(instantaneous decoding refresh, IDR) 픽처는 인트라-코딩된 슬라이스만을 가지고 있으며 참조 픽처의 유사한 "리세트"을 일으킨다.
초안 HEVC에서, 참조 픽처 표기 신택스 구조 및 관련한 디코딩 프로세스는 사용되지 않고, 대신 유사한 목적을 위해 참조 픽처 세트(reference picture set, RPS) 신택스 구조 및 디코딩 프로세스가 사용된다. 픽처에 대해 유효한 또는 활성 상태의 참조 픽처 세트는 픽처에 대해 참조로서 사용된 모든 참조 픽처 및 디코딩 순서에서 임의의 후속 픽처에 대해 "참조용으로 사용됨"이라고 표기된 채로 유지되는 모든 참조 픽처를 포함한다. 참조 픽처 세트에는 RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFo111, RefPicSetLtCurr, 및 RefPicSetLtFoll 라고 지칭되는 여섯 서브세트가 있다. 여섯 서브세트의 주석은 다음과 같다. "Curr"은 현재 픽처의 참조 픽처 리스트에 포함되어 있는 참조 픽처를 말하며 그래서 현재 픽처의 인터 예측 참조로서 사용될 수 있다. "Foll"은 현재 픽처의 참조 픽처 리스트에는 포함되어 있지 않지만 디코딩 순서에서 후속 픽처에서 참조 픽처로서 사용될 수 있는 참조 픽처를 말한다. "St"는 단기간 참조 픽처를 말하는 것으로, 이 픽처는 일반적으로 이들의 POC 값의 최하위 비트들의 소정 개수를 통해 식별될 수 있다. "Lt"는 장기간 참조 픽처를 말하는 것으로, 이 픽처는 특별하게 식별되며 일반적으로는 최하위 비트들의 언급된 소정 개수로 표현될 수 있는 것보다 더 큰 차의 현재 픽셀에 대한 POC 값을 갖는다. "0"는 현재 픽처의 POC 값보다 작은 POC 값을 갖는 참조 픽처를 말한다. "1"은 현재 픽처의 POC 값보다 큰 POC 값을 갖는 참조 픽처를 말한다. RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, 및 RefPicSetStFoll1는 일괄하여 참조 픽처 세트의 단기간 서브세트가라고 지칭된다. RefPicSetLtCurr 및 RefPicSetLtFoll는 일괄하여 참조 픽처 세트의 장기간 서브세트가라고 지칭된다.
초안 HEVC 표준에서, 참조 픽처 세트는 시퀀스 파라미터 세트에서 명시될 수 있으며 참조 픽처 세트에 붙은 인덱스를 통해 슬라이스 헤더에서 사용하게 될 수 있다. 참조 픽처 세트는 또한 슬라이스 헤더에서도 명시될 수 있다. 참조 픽처 세트의 장기간 서브세트는 일반적으로 슬라이스 헤더에서만 명시되며, 반면 동일 참조 픽처 세트의 단기간 서브세트는 픽처 파라미터 세트 또는 슬라이스 헤더에서 명시될 수 있다. 참조 픽처 세트는 독립적으로 코딩될 수 있거나 다른 참조 픽처 세트으로부터 예측될 수 있다(인터-RPS 예측이라고 알려져 있음). 참조 픽처 세트가 독립적으로 코딩될 때, 신택스 구조는 상이한 타입의 참조 픽처들, 즉 현재 픽처보다 낮은 POC 값을 가진 단기간 참조 픽처, 현재 픽처보다 높은 POC 값을 가진 단기간 참조 픽처, 및 장기간 참조 픽처를 전체적으로 세 번 반복하는 루프를 포함한다. 각각의 루프 엔트리는 "참조용도로 사용됨"이라고 표기되는 픽처를 명시한다. 일반적으로, 픽처는 차분 POC 값으로 명시된다. 인터-RPS 예측은 현재 픽처의 참조 픽처가 이전에 디코딩된 픽처의 참조 픽처 세트으로부터 예측될 수 있다는 사실을 이용한다. 이것은 현재 픽처의 모든 참조 픽처가 이전 픽처의 참조 픽처거나 이전에 디코딩된 픽처 그 자체이기 때문이다. 이들 픽처 중 어느 픽처가 참조 픽처가 되어야 하는지 그리고 현재 픽처의 예측에 사용되어야 하는지를 표시하는 것만이 필요할 뿐이다. 참조 픽처 세트를 코딩하는 두 가지 방식에서, 플래그(used_by_curr_pic_X_flag)는 참조 픽처가 (*Curr 리스트에 포함된) 현재 픽처에 의해 참조용으로 사용되는지 또는 (*Foll 리스트에 포함된) 현재 픽처에 의해 참조용으로 사용되는지를 표시하는 각 참조 픽처 마다 부가적으로 송신된다. 현재 슬라이스에 의해 사용되는 참조 픽처 세트에 포함된 픽처는 "참조용으로 사용됨"이라고 표기되며, 현재 슬라이스에 의해 사용되는 참조 픽처 세트에 포함되지 않은 픽처는 "참조용으로 사용되지 않음"이라고 표기된다. 현재 픽처가 IDR 픽처이면, RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr, 및 RefPicSetLtFoll은 모두 비어있음(empty)로 설정된다.
디코딩된 픽처 버퍼(Decoded Picture Buffer, DPB)는 인코더에서 및/또는 디코더에서 사용될 수 있다. 디코딩된 픽처를 버퍼하는 두 가지 이유는 인터 예측에서 참조하기 위한 것과 디코딩된 픽처를 출력 순서로 재배열하기 위함이다. H.264/AVC 및 HEVC은 참조 픽처 표기하기 위한 그리고 출력을 재배열하기 위한 두 가지 목적에 상당한 융통성을 제공하고 있으므로, 참조 픽처 버퍼링 및 출력 픽처 버퍼링을 위한 별개의 버퍼는 메모리 자원을 낭비할 수 있다. 그래서, DPB는 참조 픽처 및 출력 재배열을 위한 통일화된 디코딩된 픽처 버퍼링 프로세스를 포함할 수 있다. 디코딩된 픽처는 이 픽처가 더 이상 참조로서 사용되지 않고 출력할 필요 없을 때 DPB로부터 제거될 수 있다.
H.264/AVC 및 HEVC의 많은 코딩 모드에서, 인터 예측을 위한 참조 픽처는 참조 픽처 리스트에 붙은 인덱스로 표시된다. 인덱스는 통상적으로 인덱스가 작을 수록 대응하는 신택스 요소가 더 짧은 값을 갖는 가변 길이 코딩으로 코딩된다. H.264/AVC 및 HEVC에서, 두 참조 픽처 리스트(참조 픽처 리스트 0 및 참조 픽처 리스트 1)는 각각의 양방향-예측 (B) 슬라이스마다 생성되며, 하나의 참조 픽처 리스트(참조 픽처 리스트 0)는 각각의 인터-코딩된 (P) 슬라이스마다 형성된다. 게다가, 초안 HEVC 표준에서 B 슬라이스의 경우, 결합된 리스트(리스트 C)는 최종 참조 픽처 리스트(리스트 0 및 리스트 1)가 구성된 이후에 구성된다. 결합된 리스트는 B 슬라이스 내에서 단방향 예측(단일-방향 예측이라고도 알려짐)에 사용될 수 있다. HEVC 표준의 향후 일부 초안에서, 조합된 리스트가 제거되었다.
참조 픽처 리스트 0 및 참조 픽처 리스트 1과 같은 참조 픽처 리스트는 전형적으로 두 단계로 구성된다. 즉, 첫 번째로, 초기의 참조 픽처 리스트가 생성된다. 초기의 참조 픽처 리스트는 예를 들면 frame_num, POC, temporal_id, 또는 GOP 구조와 같은 예측 계층구조에 관한 정보, 또는 이들의 임의의 조합에 기초하여 생성될 수 있다. 두 번째로, 초기의 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조(reference picture list modification syntax structure)라고도 알려진, 슬라이스 헤더에 포함될 수 있는, 참조 픽처 리스트 재배열(reference picture list reordering, RPLR) 커맨드에 의해 재배열될 수 있다. H.264/AVC에서, RPLR 커맨드는 각각의 참조 픽처 리스트의 시작 부분에 배열되는 픽처를 표시한다. 이러한 두 번째 단계는 또한 참조 픽처 리스트 수정 프로세스라고도 지칭될 수 있으며, RPLR 커맨드는 참조 픽처 리스트 수정 신택스 구조에 포함될 수 있다. 참조 픽처 세트가 사용되면, 참조 픽처 리스트 0은 처음에 RefPicSetStCurr0을, 뒤이어 RefPicSetStCurr1을, 뒤이어 RefPicSetLtCurr을 포함하도록 초기화될 수 있다. 참조 픽처 리스트 1은 먼저 RefPicSetStCurr1을, 뒤이어 RefPicSetStCurr0을 포함하도록 초기화될 수 있다. HEVC에서, 초기의 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조를 통해 수정될 수 있는데, 이 구조에서 초기의 참조 픽처 리스트 내 픽처는 리스트의 엔트리 인덱스를 통해 식별될 수 있다. 다시 말해서, HEVC에서, 참조 픽처 리스트 수정은 최종 참조 픽처 리스트 내 각 엔트리에 걸친 루프를 포함하는 신택스 구조로 인코딩되며, 여기서 각 루프 엔트리는 초기 참조 픽처 리스트에 대한 고정-길이 코딩된 인덱스이며 최종 참조 픽처 리스트 내 내림차순의 순서대로 위치하는 픽처를 표시한다.
스케일러블 비디오 코딩은 하나의 비트스트림이 콘텐츠의 여러 가지 표현을 상이한 비트 레이트, 해상도, 또는 프레임 레이트로 포함하고 있을 수 있는 코딩 구조를 말한다. 이러한 경우에, 수신기는 그의 특성(예를 들면, 디스플레이 디바이스에 가장 어울리는 해상도)에 따라 희망하는 표현을 추출할 수 있다. 대안으로, 서버 또는 네트워크 요소는 예를 들면, 네트워크 특성 또는 수신기의 처리 능력에 따라 수신기로 전송될 비트스트림의 일부분을 추출할 수 있다. 전형적으로 스케일러블 비트스트림은 이용할 수 있는 최저 품질의 비디오를 제공하는 베이스 계층(a base layer) 및 하위 계층과 함께 수신되어 디코딩될 때 비디오 품질을 강화시키는 하나 이상의 강화 계층(enhancement layers)으로 이루어진다. 강화 계층의 코딩 효율 개선하기 위하여, 그 계층의 코딩된 표현은 전형적으로 하위 계층에 달려 있을 수 있다. 예를 들면, 강화 계층의 움직임 및 모드 정보는 하위 계층으로부터 예측될 수 있다. 유사하게, 하위 계층의 픽셀 데이터는 강화 계층의 예측을 생성하기 위해 사용될 수 있다.
일부 스케일러블 비디오 코딩 체계에서, 비디오 신호는 베이스 계층과 하나 이상의 강화 계층으로 인코딩될 수 있다. 강화 계층은 시간 해상도(즉, 프레임 레이트), 공간 해상도, 또는 단순히 다른 계층이나 그의 부분에 의해 표현되는 비디오 콘텐츠의 품질을 강화할 수 있다. 각 계층과 함께 그의 종속하는 모든 계층은 어떤 공간 해상도, 시간 해상도, 및 품질 레벨에서 비디오 신호의 한가지 표현이다. 본 개시에서, 발명자들은 스케일러블 계층과 함께 그의 모든 종속 계층들을 "스케일러블 계층 표현(scalable layer representation)"이라고 지칭한다. 스케일러블 계층 표현에 대응하는 스케일러블 비트스트림의 부분이 추출되고 디코딩되어 원래 신호의 표현을 특정 충실도로 생성할 수 있다.
일부 코딩 표준은 스케일러블 비트 스트림을 생성할 수 있게 한다. 중요한 디코딩된 표현은 스케일러블 비트 스트림의 특정 부분만을 디코딩함으로써 생성될 수 있다. 스케일러블 비트 스트림은 예를 들면, 스트리밍 서버에서 미리-인코딩된 유니캐스트 스트림의 레이트 적응(rate adaptation)을 위해 그리고 단일 비트 스트림을 상이한 성능 및/또는 상이한 네트워크 조건을 가진 단말로 전송하기 위해 사용될 수 있다. 스케일러블 비디오 코딩의 일부 다른 사용 사례의 리스트는 2003년 3월 10일 내지 14일, 태국 파타야, 64th MPEG 미팅, ISO/IEC JTC1 SC29 WG11 (MPEG)의 출력 서류 N5540, "Applications and Requirements for Scalable Video Coding (스케일러블 비디오 코딩의 응용 및 요건)"에서 찾아볼 수 있다.
일부 사례에서, 강화 계층의 데이터는, 특정 위치 다음에, 또는 심지어 임의의 위치에서도 절단될 수 있는데, 각각의 절단 위치에는 점차적으로 강화되는 시각 품질을 나타내는 부가 데이터가 포함될 수 있다. 그러한 확장성은 화인-그레인드 (그래뉴러리티) 확장성 (fine-grained (granularity) scalability, FGS)라고 지칭된다.
스케일러블 비디오 코딩 및/또는 디코딩 체계는 다음과 같이 특징지을 수 있는 멀티-루프 코딩 및/또는 디코딩을 사용할 수 있다. 인코딩/디코딩에서, 베이스 계층 픽처는 코딩/디코딩 순서에서, 동일 계층 내 후속 픽처에 대한 움직임-보상 참조 픽처로서 또는 인터-계층 (또는 인터-뷰 또는 인터-컴포넌트) 예측을 위한 참조로서 사용되도록 재구성/디코딩될 수 있다. 재구성된/디코딩된 베이스 계층 픽처는 DPB에 저장될 수 있다. 마찬가지로 강화 계층 픽처는 코딩/디코딩 순서에서, 동일 계층 내에서 후속 픽처에 대한 움직임-보상 참조 픽처로서 또는 만일 있다면, 상위의 강화 계층을 위한 인터-계층 (또는 인터-뷰 또는 인터-컴포넌트) 예측을 위한 참조로서 사용되도록 재구성/디코딩될 수 있다. 재구성된/디코딩된 샘플 값 이외에도, 베이스/참조 계층의 신택스 요소 값 또는 베이스/참조 계층의 신택스 요소 값으로부터 도출되는 변수는 인터-계층/인터-컴포넌트/인터-뷰 예측에서 사용될 수 있다.
품질 확장성(신호-대-잡음 비 또는 SNR로도 알려짐) 및/또는 공간 확장성을 위한 스케일러블 비디오 인코더는 다음과 같이 구현될 수 있다. 베이스 계층에 대하여, 통상의 논-스케일러블 비디오 인코더 및 디코더가 사용될 수 있다. 베이스 계층의 재구성된/디코딩된 픽처는 강화 계층에 대한 참조 픽처 버퍼 및/또는 참조 픽처 리스트에 포함된다. 공간 확장성의 경우, 재구성된/디코딩된 베이스-계층 픽처는 업샘플된 다음 강화-계층 픽처의 참조 픽처 리스트에 삽입될 수 있다. 베이스 계층의 디코딩된 픽처는 강화 계층의 디코딩된 참조 픽처와 유사하게 강화 계층 픽처의 코딩/디코딩을 위해 참조 픽처 리스트(들)에 삽입될 수 있다. 따라서, 인코더는 베이스-계층 참조 픽처를 인터 예측 참조로서 선택할 수 있고 코딩된 비트스트림에서 이것의 사용을 참조 픽처 인덱스로 표시할 수 있다. 디코더는 비트스트림으로부터, 예를 들면 베이스-계층 픽처가 강화 계층에 대한 인터 예측 참조로서 사용되는 참조 픽처 인덱스로부터 디코딩한다. 디코딩된 베이스-계층 픽처가 강화 계층에 대한 예측 참조로서 사용될 때, 이것은 인터-계층 참조 픽처라고 지칭된다.
이전의 문단에서는 스케일러블 비디오 코덱을 강화 계층과 베이스 계층으로 된 두 확장성 계층으로 설명하였지만, 이 설명은 확장성 계층 구조에서 둘 이상의 계층을 가진 어떠한 두 계층에도 일반화될 수 있다는 것을 이해하여야 한다. 이러한 경우, 제 2의 강화 계층은 인코딩 및/또는 디코딩 프로세스에서 제 1의 강화 계층에 종속할 수 있으며, 그러므로 제 1의 강화 계층은 제 2의 강화 계층의 인코딩 및/또는 디코딩을 위한 베이스 계층이라고 간주될 수 있다. 뿐만 아니라, 인터-계층 참조 픽처는 참조 픽처 버퍼 또는 강화 계층의 참조 픽처 리스트 내 하나보다 많은 계층으로부터 생길 수 있다는 것을 이해하여야 하며, 이러한 인터-계층 참조 픽처는 각기 인코딩되는 및/또는 디코딩되는 강화 계층을 위한 베이스 계층 또는 참조 계층에 상주하는 것으로 간주될 수 있다.
SVC는 인터-계층 예측 메커니즘(inter-layer prediction mechanism)을 사용하는데, 이 메커니즘에서 특정 정보는 현재 재구성된 계층 또는 다음 번 하위 계층과 다른 계층으로부터 예측될 수 있다. 인터-계층 예측될 수 있는 정보는 인트라 텍스처, 움직임 및 잔차 데이터를 포함한다. 인터-계층 움직임 예측은 블록 코딩 모드, 헤더 정보, 블록 분할 등의 예측을 포함하는데, 여기서 하위 계층으로부터의 움직임은 상위 계층의 예측을 위해 사용될 수 있다. 인트라 코딩의 경우, 하위 계층의 주변 매크로블록으로부터 또는 동일-위치에 있는 매크로블록으로부터 예측이 가능하다. 이러한 예측 기술은 초기에 코딩된 액세스 유닛으로부터 생성된 정보를 이용하지 않으며, 그래서 인트라 예측 기술이라고 지칭된다. 뿐만 아니라, 하위 계층으로부터 발생한 잔차 데이터는 현재 계층을 예측할 때도 이용될 수 있다. SVC 강화 계층의 경우, 동일-위치의 참조 계층 블록이 인트라-코딩될 때 IntraBL이라고 지칭될 수 있는 부가적인 매크로블록 코딩 모드가 있으며, 이 모드에서 예측은 참조 계층 내 동일-위치의 블록으로부터 추론된다. IntraBL에서, 예측 신호는 (공간 스케일러블 코딩을 위해) 잠재적으로 업-샘플링되고 재구성되고 디코딩된 참조 계층 블록에 의해 구성된다. 뿐만 아니라, 인터-계층 잔차 예측에서, 하위 계층으로부터의 잔차 데이터가 현재 계층의 예측을 위해 사용될 수 있다.
SVC는 싱글-루프 디코딩(single-loop decoding)이라고 알려진 개념을 명시하고 있다. 이것은 제한된 인트라 텍스처 예측 모드를 이용함으로써 가능할 수 있으며, 이에 따라서 인터-계층 인트라 텍스처 예측은 베이스 계층의 대응 블록이 인트라-매크로블록(MB) 내부에 위치되어 있는 매크로블록에 적용될 수 있다. 동시에, 베이스 계층에 있는 그러한 인트라-MB은 (예를 들면, 1이라는 신택스 요소 "constrained_intra_pred_flag"를 갖는) 제한된 인트라-예측을 사용한다. 싱글-루프 디코딩에서, 디코더는 재생을 희망하는 스케일러블 계층("희망하는 계층" 또는 "타겟 계층"이라 함)에 대해서만 움직임 보상 및 전체적인 픽처 재구성을 수행하며, 그럼으로써 디코딩 복잡성을 크게 줄일 수 있다. 희망하는 계층과 다른 계층이 모두 전체적으로 디코딩될 필요가 없는데, 그 이유는 (인터-계층 인트라 텍스처 예측, 인터-계층 움직임 예측 또는 인터-계층 잔차 예측이든 아니든) 인터-계층 예측에 사용되지 않은 MB의 모든 데이터 또는 일부 데이터가 희망하는 계층의 재구성에 필요하지 않기 때문이다.
단일의 디코딩 루프는 대부분의 픽처를 디코딩하는데 필요한 반면, 제 2 디코딩 루프는 선택적으로 베이스 표현을 구성하기 위해 적용되며, 이는 예측 참조로서 필요하지만 출력이나 디스플레이를 위한 것이 아니며, ("store_ref_base_pic_flag"가 1과 같은) 소위 키 픽처를 위해서만 재구성된다.
FGS는 SVC 표준의 일부 초안 버전에 포함되었으나, 결국 최종 SVC 표준에서 제외되었다. FGS는 나중에 SVC 표준의 몇몇 초안 버전의 맥락에서 논의된다. 절단될 수 없는 그러한 강화 계층에 의해 제공되는 확장성은 커스-그레인드(그래뉴러리티) 확장성(coarse-grained (granularity) scalability, CGS)라고 지칭된다. 이것은 전통적인 품질 (SNR) 확장성 및 공간 확장성을 일괄 포함한다. SVC 표준은 소위 미디엄-그레인드 확장성(medium-grained scalability, MGS)를 지원하는데, 여기서 품질 강화 픽처는 0보다 큰 quality_id 신택스 요소를 가짐으로써, SNR 스케일러블 계층 픽처와 유사하게 코딩되지만 FGS 계층 픽처와 유사하게 상위-레벨 신택스 요소에 의해 표시된다.
SVC 초안에서 확장성 구조는 세 가지의 신택스 요소, 즉 "temporal_id", "dependency_id" 및 "quality_id"를 특징으로 한다. 신택스 요소 "temporal_id"는 시간 확장성 계층구조 또는 간접적으로는 프레임 레이트를 표시하는데 사용된다. 더 작은 최대 "temporal_id" 값의 픽처를 포함하는 스케일러블 계층 표현은 더 큰 최대 "temporal_id"의 픽처를 포함하는 스케일러블 계층 표현보다 작은 프레임 레이트를 갖는다. 특정 시간 계층은 전형적으로 하위의 시간 계층(즉, "temporal_id" 값이 더 작은 시간 계층)에 의존하지만 임의의 상위 시간 계층에는 의존하지 않는다. 신택스 요소 "dependency_id"는 (앞에서도 언급한 바와 같이, SNR 및 공간 확장성 둘 다를 포함하는) CGS 인터-계층 코딩 디펜던시 계층구조(CGS inter-layer coding dependency hierarchy)를 표시하는데 사용된다. 임의의 시간 레벨 위치에서, "dependency_id" 값이 더 작은 픽처는 "dependency_id" 값이 더 큰 픽처를 코딩하기 위해 인터-계층 예측에 사용될 수 있다. 신택스 요소 "quality_id"는 FGS 또는 MGS 계층의 품질 레벨 계층구조를 표시하는데 사용된다. 임의의 시간 위치에서, 그리고 "dependency_id" 값이 동일한 경우, QL과 동일한 "quality_id"를 갖는 픽처는 인터-계층 예측을 위해 QL-1과 동일한 "quality_id"를 가진 픽처를 사용한다. 0보다 큰 "quality_id"를 가진 코딩된 슬라이스는 절단 가능한 FGS 슬라이스 또는 절단 불가능한 MGS 슬라이스 중 어느 한 슬라이스로서 코딩될 수 있다.
간략화를 위해, "dependency_id"라는 동일한 값을 갖는 하나의 액세스 유닛의 모든 데이터 유닛(예를 들면, SVC 맥락에서는 네트워크 추상 계층(Network Abstraction Layer) 유닛 또는 NAL 유닛)은 디펜던시 유닛(dependency unit) 또는 디펜던시 표현(dependency representation)이라고 지칭된다. 하나의 디펜던시 유닛 내에서, "quality_id"라는 동일한 값을 갖는 모든 데이터 유닛은 품질 유닛(quality unit) 또는 계층 표현(layer representation)이라고 지칭된다.
디코딩된 베이스 픽처(decoded base picture)라고도 알려진 베이스 표현(base representation)은 "quality_id"가 0이고 "store_ref_base_pic_flag"가 1로 설정된 디펜던시 유닛의 비디오 코딩 계층(Video Coding Layer, VCL) NAL 유닛을 디코딩함으로써 생성된 디코딩된 픽처이다. 디코딩된 픽처라고도 지칭되는 강화 표현은 최고의 디펜던시 표현을 위해 존재하는 모든 계층 표현이 디코딩되는 정규 디코딩 프로세스로부터 발생된다.
앞에서 언급된 바와 같이, CGS는 공간 확장성 및 SNR 확장성 양쪽을 다 포함한다. 공간 확장성은 해상도가 상이한 비디오의 표현을 지원하기 위해 초기에 설계된 것이다. 시간 인스턴스마다, VCL NAL 유닛은 동일한 액세스 유닛에서 코딩되며 이들 VCL NAL 유닛은 상이한 해상도에 대응할 수 있다. 디코딩 동안, 저해상도 VCL NAL 유닛은 고해상도 픽처의 최종 디코딩 및 재구성에 의해 선택사양으로 이어받을 수 있는 움직임 필드 및 잔차를 제공한다. 구(old) 비디오 압축 표준과 비교할 때, SVC의 공간 확장성은 베이스 계층이 강화 계층의 일부 삭제되고 확대된 버전으로 구성될 수 있도록 일반화되었다.
MGS 품질 계층은 FGS 품질 계층과 유사하게 "quality id"를 가지고 표시된다. (동일한 "quality id"를 갖는) 각 디펜던시 유닛마다, 0과 같은 "quality id"를 갖는 계층이 있으며 0보다 큰 "quality id"를 갖는 다른 계층이 있을 수 있다. 0보다 큰 "quality id"를 갖는 이런 계층은 슬라이스가 절단 가능한 슬라이스로서 코딩되는지 여부에 따라, MGS 계층 또는 FGS 계층 중 한 계층이다.
FGS 강화 계층의 기본 형태에서는 오직 인터-계층 예측만이 사용된다. 그러므로, FGS 강화 계층은 디코딩된 시퀀스에서 어떠한 오류 전파도 일으키지 않고 자유로이 절단될 수 있다. 그러나, FGS의 기본 형태는 압축 효율이 낮다. 이러한 문제는 저품질 픽처만이 인터 예측 참조를 위해서 사용되기 때문에 발생한다. 그러므로 FGS-강화된 픽처를 인터 예측 참조로서 사용하는 것이 제안되었다. 그러나, 이것은 일부 FGS 데이터가 폐기될 때, 드리프트(drift)라고도 불리는 인코딩-디코딩 부조화를 일으킬 수 있다.
초안 SVC 표준의 한 가지 특징은 FGS NAL 유닛이 자유로이 삭제 또는 절단될 수 있다는 것이며, SVCV 표준의 특징은 MGS NAL 유닛이 비트스트림의 순응성에 영향을 미치지 않고 자유로이 삭제(단 절단될 수는 없음)될 수 있다는 것이다. 앞에서 논의한 바와 같이, 이러한 FGS 또는 MGS 데이터가 인코딩 동안 인터 예측 참조를 위해 사용되었을 때, 데이터의 삭제 또는 절단은 디코더 측과 인코더 측에서 디코딩된 픽처들 사이에서 부조화의 결과를 초래할 것이다. 이러한 부조화는 드리프트라고도 지칭된다.
FGS 또는 MGS 데이터의 삭제 또는 절단으로 인한 드리프트를 조절하기 위하여, SVC는 다음과 같은 해결책을 적용하였다. 즉, 특정 디펜던시 유닛에서, ("quality_id"가 0인 CGS 픽처 및 종속하는 모든 하위 계층 데이터만을 디코딩함으로써) 베이스 표현이 디코딩된 픽처 버퍼에 저장된다. "dependency_id"라는 동일한 값을 가진 후속하는 디펜던시 유닛을 인코딩할 때, FGS 또는 MGS NAL 유닛을 비롯한 모든 NAL 유닛이 인터 예측 참조를 위해 베이스 표현을 사용한다. 결과적으로, 초기의 액세스 유닛에서 FGS 또는 MGS NAL 유닛의 삭제 또는 절단으로 인한 모든 드리프트가 이러한 액세스 유닛에서 중단된다. "dependency_id"라는 동일한 값을 가진 다른 디펜던시 유닛의 경우, 모든 NAL 유닛은 코딩 효율을 높이기 위해 인터 예측 참조를 위해 디코딩된 픽처를 사용한다.
각각의 NAL 유닛은 NAL 유닛 헤더에서 신택스 요소 "use_ref_base_pic_flag"를 포함한다. 이 요소의 값이 1일 때, NAL 유닛의 디코딩은 인터 예측 프로세스 동안 참조 픽처의 베이스 표현을 사용한다. 신택스 요소 "store_ref_base_pic_flag"는 인터 예측에 사용할 미래의 픽처를 위해 현재 픽처의 베이스 표현을 저장할지(1일 때) 또는 저장하지 말지(0일 때)의 여부를 명시한다.
"quality_id"가 0보다 큰 NAL 유닛은 참조 픽처 리스트 구성 및 가중된 예측과 관련한 신택스 요소를 갖고 있지 않다. 즉, 신택스 요소 "num_ref_active_lx_minus1" (x=0 또는 1), 참조 픽처 리스트 재배열 신택스 테이블, 및 가중된 예측 신택스 테이블은 존재하지 않는다. 결과적으로, MGS 또는 FGS 계층은 이러한 신택스 요소를, 필요할 때, 같은 디펜던시 유닛의 "quality_id"가 0인 NAL 유닛으로부터 이어받아야 한다.
SVC에서, 참조 픽처 리스트는 오직 베이스 표현("use_ref_base_pic_flag"가 1일 때)만으로 아니면 "베이스 표현"으로 표기되지 않은 오직 디코딩된 픽처("use_ref_base_pic_flag"가 0일 때)만으로 이루어지지만, 결코 동시에 두 가지로 이루어지지 않는다.
다른 형태의 확장성 및 스케일러블 비디오 코딩은 베이스 계층 픽처가 강화 계층 픽처(예를 들면 10 또는 12 비트)보다 낮은 루마 및/또는 크로마 샘플 당 비트-깊이(예를 들면, 8 비트)로 코딩되는 비트-깊이 확장성(bit-depth scalability)와, 베이스 계층 픽처가 강화 계층 픽처(예를 들면, 4:2:0 포맷)보다 높은 충실도 및/또는 그 보다 높은 크로마에서의 공간 해상도(예를 들면, 4:4:4 크로마 포맷으로 코딩됨)를 제공하는 크로마 포맷 확장성(chroma format scalability)와, 강화 계층 픽처가 베이스 계층 픽처의 것보다 풍부한/넓은 컬러 표현 범위 - 예를 들면, 강화 계층은 UHDTV (ITU-R BT.2020) 컬러 공간을 가질 수 있고 베이스 계층은 ITU-R BT.709 컬러 공간을 가질 수 있음 - 를 갖는 컬러 공간 확장성(color gamut scalability)를 포함한다.
멀티뷰 비디오 코딩에서, 하나보다 많은 뷰가 코딩되고, 코딩된 비트스트림에서 표현되며, 비트스트림으로부터 디코딩될 수 있다. 뷰는 예를 들면, 멀티뷰 카메라 세트업 시 카메라에 대응한다.
H.264/AVC은 멀티뷰 코딩의 확장, MVC를 포함한다. MVC에서, 인터 예측과 인터-뷰 예측 모두가 유사한 움직임-보상된 예측 프로세스를 사용한다. 인터-뷰 참조 픽처(뿐만 아니라 시간 움직임-보상된 예측에 사용되지 않는 인터-뷰 전용 참조 픽처(inter-view only reference pictures)는 참조 픽처 리스트에 포함되며 일부 제한을 받으면서 통상의 ("인터-뷰") 참조 픽처와 유사하게 처리된다. MV-HEVC라고 지칭되고, 기능면에서 MVC와 유사한 것으로, HEVC으로의 멀티뷰 확장을 명시하는 진행 중인 표준화 활동이 있다.
텍스처 뷰 및 깊이 뷰가 둘 다 코딩되는 깊이-강화된 비디오 코딩을 위해 진행 중인 표준화 활동이 있다.
텍스처 뷰(texture view)는 보통의 비디오 콘텐츠를 표현하는, 예를 들면, 보통의 카메라를 이용하여 촬영된 뷰를 말하며, 통상 디스플레이 상에서 렌더링하는데 적합하다. 텍스처 뷰는 전형적으로 세 가지 컴포넌트, 즉 하나의 루마 컴포넌트 및 두 개의 크로마 컴포넌트를 갖는 픽처를 포함한다. 아래에서, 예를 들어, 루마 텍스처 픽처 및 크로마 텍스처 픽처라는 용어로 달리 표시하지 않는 한, 텍스처 픽처는 전형적으로 그의 모든 컴포넌트 픽처 또는 컬러 컴포넌트를 포함한다.
특정 뷰의 범위 정보(ranging information)는 카메라 센서로부터 텍스처 샘플의 거리 정보, 텍스처 샘플과 다른 뷰 내 각 텍스처 샘플 간의 디스패리티 또는 시차 정보, 또는 이와 유사한 정보를 나타낸다. 실 세계 3D 장면의 범위 정보는 콘텐츠에 좌우되며 예를 들면 0부터 무한대까지 변할 수 있다. 그러한 범위 정보의 상이한 형태의 표현이 활용될 수 있다. 깊이 뷰(depth view)는 카메라 센서로부터 구한 텍스처 샘플의 범위 정보, 텍스처 샘플과 다른 뷰 내 각 텍스처 샘플 간의 디스패리티 또는 시차 정보, 또는 이와 유사한 정보를 나타내는 뷰를 말한다. 깊이 뷰는 텍스처 뷰의 루마 컴포넌트와 유사한, 하나의 컴포넌트를 가진 깊이 픽처(깊이 맵이라고도 알려짐)를 포함할 수 있다. 깊이 맵은 픽셀마다 깊이 정보(per-pixel depth information) 또는 유사한 것을 가진 이미지이다. 예를 들면, 깊이 맵에서 각 샘플은 각 텍스처 샘플 또는 카메라가 놓여 있는 평면으로부터의 샘플의 거리를 나타낸다. 다시 말해서, z 축이 카메라의 슈팅 축을 따라서 놓여 있으면 (그래서 카메라가 놓여 있는 평면에 직교하면), 깊이 맵에서 샘플은 z 축 상의 값을 나타낸다.
깊이-강화된 비디오(depth-enhanced video)는 하나 이상의 깊이 뷰를 갖는 깊이 비디오와 연관된 하나 이상의 뷰를 갖는 텍스처 비디오를 말한다. 비디오 플러스 깊이(video plus depth, V+D), 멀티뷰 비디오 플러스 깊이(multiview video plus depth, MVD), 및 계층적 깊이 비디오(layered depth video, LDV)를 비롯하여, 깊이-강화된 비디오를 표현하는 다수의 접근 방법이 사용될 수 있다. 비디오 플러스 깊이(V+D) 표현에서, 텍스처의 단일 뷰 및 각각의 깊이 뷰는 제각기 텍스처 픽처의 시퀀스 및 깊이 픽처의 시퀀스로서 표현된다. MVD 표현은 복수개의 텍스처 뷰 및 각각의 깊이 뷰를 포함한다. LDV 표현에서, 중앙 뷰(central view)의 텍스처 및 깊이는 관례적으로 표현되는 한편, 다른 뷰의 텍스처 및 깊이는 부분적으로 표현되고 중간 뷰(intermediate views)의 정확한 뷰 합성에 필요한 비폐색 영역(dis-occluded areas) 만을 포함한다.
쌍을 이루지 않는 멀티뷰 비디오-플러스-깊이(unpaired multiview video-plus-depth, MVD)라고 지칭되는 체계에서, 텍스처 및 깊이 뷰의 개수가 같지 않을 수 있으며, 그리고/또는 텍스처 뷰 중 일부가 동일-위치의 깊이 뷰를 갖지 않을 수 있거나, 깊이 뷰 중 일부가 동일-위치의 텍스처 뷰를 갖지 않을 수 있거나, 깊이 뷰 컴포넌트 중 일부가 시간적으로 텍스처 뷰 컴포넌트와 일치하지 않을 수 있거나, 그 반대로도 가능할 수 있고, 동일-위치의 텍스처 뷰 및 깊이 뷰가 상이한 공간 영역을 뒤덮을 수 있고, 그리고/또는 한 가지보다 많은 타입의 깊이 뷰 컴포넌트가 있을 수 있다. 쌍을 이루지 않는 MVD 신호의 인코딩, 디코딩, 및/또는 처리는 깊이-강화된 비디오 코딩, 디코딩, 및/또는 처리 체계에 의해 용이해질 수 있다.
텍스처 뷰 컴포넌트는 단일의 액세스 유닛에서 하나의 뷰의 텍스처의 코딩된 표현이라고 정의될 수 있다. 깊이-강화된 비디오 비트스트림에서 텍스처 뷰 컴포넌트는 단일-뷰 텍스처 비트스트림 또는 멀티-뷰 텍스처 비트스트림과 호환 가능하도록 하여 단일-뷰 디코더 또는 멀티-뷰 디코더가 깊이 뷰를 디코딩하는 능력이 없을지라도 텍스처 뷰를 디코딩할 수 있게 하는 방식으로 코딩될 수 있다. 예를 들면, H.264/AVC 디코더는 깊이-강화된 H.264/AVC 비트스트림으로부터 단일의 텍스처 뷰를 디코딩할 수 있다. 텍스처 뷰 컴포넌트는 단일-뷰 또는 멀티-뷰 텍스처 디코딩할 수 있는 디코더, 이를 테면, H.264/AVC 디코더 또는 MVC 디코더가 예를 들어 깊이-기반 코딩 툴을 사용하기 때문에, 텍스처 뷰 컴포넌트를 디코딩할 수 없다는 방식으로 대안으로 코딩될 수 있다. 깊이 뷰 컴포넌트는 단일의 액세스 유닛 내 하나의 뷰의 깊이의 코딩된 표현이라고 정의될 수 있다. 뷰 컴포넌트 쌍은 동일한 액세스 유닛 내 동일한 뷰의 텍스처 뷰 컴포넌트 및 깊이 뷰 컴포넌트라고 정의될 수 있다.
깊이-강화된 비디오는 텍스처 및 깊이가 서로와 독립적으로 코딩되는 방식으로 코딩될 수 있다. 예를 들면, 텍스처 뷰는 하나의 MVC 비트스트림으로서 코딩될 수 있으며 깊이 뷰는 다른 하나의 MVC 비트스트림으로서 코딩될 수 있다. 깊이-강화된 비디오는 또한 텍스처 및 깊이가 함께 코딩되는 방식으로도 코딩될 수 있다. 텍스처 및 깊이의 합동 코딩의 형태에서, 텍스처 픽처의 디코딩을 위한 텍스처 픽처 또는 데이터 요소의 디코딩된 일부 샘플은 깊이 픽처의 디코딩 프로세스에서 획득된 깊이 픽처 또는 데이터 요소의 디코딩된 일부 샘플로부터 예측되거나 도출된다. 대안으로 또는 부가적으로, 깊이 픽처의 디코딩을 위한 깊이 픽처 또는 데이터 요소의 디코딩된 일부 샘플은 텍스처 픽처의 디코딩 프로세스에서 획득된 텍스처 픽처 또는 데이터 요소의 디코딩된 일부 샘플로부터 예측되거나 도출된다. 다른 옵션으로, 텍스처의 코딩된 비디오 데이터 및 깊이의 코딩된 비디오 데이터는 서로로부터 예측되지 않거나, 또는 하나가 다른 하나를 기초로 하여 코딩되거나/디코딩되지 않으나, 코딩된 텍스처 및 깊이 뷰가 인코딩에서 동일한 비트스트림으로 멀티플렉싱되고 디코딩에서는 비트스트림으로부터 디멀티플렉싱될 수 있다. 또 다른 옵션으로, 텍스처의 코딩된 비디오 데이터가 예를 들면, 아래쪽 슬라이스 계층에서 깊이의 코딩된 비디오 데이터로부터 예측되지 않지만, 텍스처 뷰 및 깊이 뷰의 하이-레벨 코딩 구조의 일부는 공유되거나 서로로부터 예측될 수 있다. 예를 들면, 코딩된 깊이 슬라이스의 슬라이스 헤더는 코딩된 텍스처 슬라이스의 슬라이스 헤더로부터 예측될 수 있다. 더욱이, 파라미터 세트 중 일부 파라미터 세트는 코딩된 텍스처 뷰 및 코딩된 깊이 뷰 양쪽에서 사용될 수 있다.
깊이-강화된 비디오 포맷은 코딩된 뷰 중 임의의 뷰에 의해 표현되지 않은 카메라 위치에서 가상의 뷰 또는 픽처를 발생할 수 있다. 일반적으로, 임의의 깊이-이미지-기반 렌더링(depth-image-based rendering, DIBR) 알고리즘이 뷰를 합성하기 위해 사용될 수 있다.
다음의 몇몇 예에서, 인터-컴포넌트 리던던시를 이용하고 본 발명의 다양한 실시예에서 사용되거나 본 발명의 다양한 실시예와 함께 사용될 수 있는 코딩 및 디코딩 방법이 설명된다. 이러한 코딩 및 디코딩 방법은 예로서 주어지며 본 발명의 실시예는 다른 유사한 코딩 방법 및/또는 인터-컴포넌트 리던던시 또는 디펜던시를 활용하는 다른 코딩 방법과 함께 적용될 수 있다.
조인트 멀티뷰 비디오 플러스 깊이 코딩(joint multiview video plus depth coding, JMVDC)이라고 알려진 코딩 툴에서, 멀티뷰 텍스처 비디오와 연관된 깊이 뷰 시퀀스 간의 상관이 이용된다. 비록 픽셀 값이 텍스처 비디오와 그의 깊이 맵 시퀀스 사이에서 아주 다르지만, 텍스처 비디오 및 연관된 깊이 맵 시퀀스에서 객체의 실루엣과 움직임은 통상적으로 유사하다. JMVDC 체계는 MVC와 SVC 코딩 방식의 조합 또는 MVC와 유사한 인터-뷰 예측 및 SVC와 유사한 인터-계층 움직임 예측을 포함하는 유사 코딩 체계의 조합으로 실현될 수 있다. 구체적으로, JMVDC는 SVC의 인터-계층 움직임 예측 메커니즘을 MVC의 예측 구조로 구현함으로써 실현될 수 있다. 각각의 뷰가 코딩될 수 있고 그리고/또는 두-계층 표현을 갖는 것으로 간주될 수 있는데, 여기서 텍스처는 베이스 계층에 상주하고 깊이는 강화 계층에 상주하며, 이는 허용된 인터-계층 움직임 예측만을 이용하여 SVC의 커스 그래뉴러 확장성(coarse granular scalability, CGS)를 이용하여 코딩될 수 있다. 또한, 인터-뷰 예측은 베이스 계층(텍스처)에서 그리고 논-베이스 뷰의 경우 강화 계층(깊이)에서 양측 모두 가능할 수 있다. JMVDC의 인터-계층 움직임 예측은 베이스 계층용으로 사용되는 임의의 인터-뷰 예측 구조에 사용될 수 있지만, 인코더 및 디코더는 복잡도와 압축 효율 사이를 합당하게 절충할 수 있고 JMVDC의 구현 노력을 손쉽게 할 수 있으므로, IDR 및 앵커 액세스 유닛에서만 인터-뷰 예측이 일어나게 하는 식으로 실현될 수 있다. 아래에서, 인터-뷰 예측이 IDR/앵커 액세스 유닛에서만 허용되고 논-IDR/논-앵커 액세스 유닛에서는 허용되지 않을 때 IDR/앵커 및 논-앵커 액세스 유닛에 대한 JMVDC 체계가 설명된다.
IDR 및 앵커 픽처의 경우, JMVDC 체계는 다음과 같이 적용될 수 있다. 인터-뷰 예측에서 사용되는 움직임 벡터는 디스패리티 벡터라고 부른다. 멀티뷰 텍스처 비디오의 디스패리티 벡터는 인터-계층 움직임 예측 프로세스에서 멀티뷰 깊이 맵의 디스패리티 벡터의 도출을 위한 예측 참조로서 사용된다. 일 예의 코딩 방식에서, 이러한 예측 메커니즘은 인터-계층 디스패리티 예측이라고 지칭된다. JMVDC에서 논-IDR/논-앵커 픽처의 코딩을 위해, 인터 예측하기 위한 깊이 움직임 벡터가 각 텍스처 움직임 벡터로부터 인터-계층 움직임 예측 프로세스를 이용하여 예측될 수 있다.
강화 계층 매크로블록에 대한 모드 결정 프로세스는 앵커 픽처 및 논-앵커 픽처 둘 다에 대해 동일할 수 있다. 베이스 모드가 모드 결정 프로세스에 추가될 수 있으며 베이스 계층 내 동일-위치의 매크로블록의 움직임/디스패리티 벡터가 각 강화 계층 매크로블록의 움직임/디스패리티 벡터 예측기로서 선택될 수 있다.
JMVDC 툴은 깊이 뷰가 베이스 계층으로 간주되고 각 텍스처 뷰가 강화 계층으로서 간주되는 구성에서도 또한 사용될 수 있으며, 그 외 코딩 및 디코딩은 전술한 바와 같이 이루어질 수 있다.
인사이드-뷰 움직임 예측(inside-view motion prediction, IVMP)이라고 알려진 코딩 툴은 다음과 같이 동작할 수 있다. IVMP 모드에서, 예를 들면, 텍스처 뷰 컴포넌트 내 동일-위치의 블록(예를 들면, 동일-위치의 매크로블록)의 모드 정보(예를 들면, mb-type 및 sub_mb_type), 참조 인덱스 및 움직임 벡터를 포함하는 움직임 정보는 동일 뷰의 깊이 뷰 컴포넌트로 재사용될 수 있다. 블록이 IVMP 모드를 사용하는지 여부가 시그널링될 수 있다. 예를 들면, 각 매크로블록 또는 매크로블록 파티션에서 IVMP를 사용하는지를 표시하는 플래그가 시그널링될 수 있다. 깊이 뷰 컴포넌트의 공간 해상도가 텍스처 뷰 컴포넌트의 공간 해상도와 다르면, 깊이 뷰 컴포넌트의 움직임 벡터는 이 움직임 벡터가 동일-위치의 블록 또는 텍스처 뷰 컴포넌트의 매크로블록의 움직임 벡터로서 사용될 때, 텍스처 뷰 컴포넌트와 깊이 뷰 컴포넌트의 공간 해상도 간의 비율로 비례적으로 조절될 수 있다.
깊이-강화된 비디오의 텍스처 및 깊이의 조인트 코딩의 경우에 있어서, 뷰 합성이 코덱의 루프에서 활용될 수 있고, 그래서 뷰 합성 예측(view synthesis prediction, VSP)을 제공할 수 있다. VSP에서, VSP 참조 픽처와 같은 예측 신호는 텍스처 및 깊이 정보를 활용하는 DIBR 또는 뷰 합성 알고리즘을 이용하여 형성된다. 예를 들면, 합성된 픽처(예를 들면, VSP 참조 픽처)는 이 합성된 픽처가 인터뷰 참조 픽처 및 인터-뷰 전용 참조 픽처와 함께 도입되는 것과 유사한 방법으로 참조 픽처 리스트에 도입될 수 있다. 대안으로 또는 부가적으로, 소정의 예측 블록의 특정한 VSP 예측 모드는 인코더에 의해 결정되고, 인코더에 의해 비트스트림에서 표시되며, 디코더에 의해 비트스트림으로부터 정해진 것처럼 사용될 수 있다.
MVC에서, 인터 예측 및 인터-뷰 예측은 모두 유사한 움직임-보상된 예측 프로세스를 사용한다. 예를 들면, 인터-뷰 참조 픽처 및 인터-뷰 전용 참조 픽처는 본질적으로 여러 예측 프로세스에서 장기간 참조 픽처로서 다루어진다. 유사하게, 뷰 합성 예측은 본질적으로 인터 예측 및 인터-뷰 예측과 동일한 움직임-보상된 예측 프로세스를 사용하는 방식으로 실현될 수 있다. 단일의 뷰 내에서만 어떠한 VSP도 없이 일어나는 움직임-보상된 예측과 구분하기 위해, 인터 예측, 인터-예측, 및/또는 뷰 합성 예측의 혼합을 포함하고 이를 융통성 있게 선택할 수 있는 움직임-보상된 예측은 본 발명에서 혼합식 움직임-보상된 예측(mixed-direction motion-compensated prediction)이라고 지칭된다.
스케일러블, 멀티뷰, 및 깊이-강화된 비디오 코딩 및 이들의 임의의 조합에서 참조 픽처 리스트가 한 가지보다 많은 타입의 참조 픽처, 예를 들면, 인터 참조 픽처, 인터-뷰 참조 픽처, 및 VSP 참조 픽처를 포함하고 있으므로, 예를 들면, 인트라-뷰 참조 픽처(시간 예측), 인터-뷰 예측, 또는 VSP의 사용을 표시하는 기간 예측 방향이 정의될 수 있다. 예를 들면, 인코더는 특정 블록마다 인터-뷰 참조 픽처를 가리키고, 그래서 그 블록의 예측 방향이 인터-뷰가 되는 참조 인덱스를 선택할 수 있다. 일부 사례에서, 인터-뷰 및 VSP는 둘 다 다른 뷰(들)를 참조로서 사용하므로 동일한 예측 방향을 갖는 것으로 간주될 수 있다.
VSP 참조 픽처는 또한 합성 참조 컴포넌트라고도 지칭될 수 있는데, 이는 뷰 합성 예측을 위한 참조 픽처로서 사용될 수 있으나 통상적으로 출력이나 디스플레이되지 않는 샘플을 포함하고 있는 것으로 정의될 수 있다. 코딩 또는 디코딩되는 픽처에 대해 카메라 파라미터가 동일하다고 가정하면 동일한 카메라 위치에서 새로운 합성 픽처가 생성될 수 있다.
뷰-합성된 픽처는 인터-뷰 참조 픽처에 대해 수행된 바와 유사한 방식으로 참조 픽처 리스트 내에 도입될 수 있다. 뷰 합성 예측의 경우에 참조 픽처와의 시그널링 및 동작은 H.264/AVC 또는 HEVC에서 명시된 바와 동일하거나 유사하게 유지될 수 있다.
VSP로부터 발생되는 합성된 픽처는 예를 들면, 시간 및 인터-뷰 참조 프레임에 뒤이은 초기 참조 픽처 리스트 List0 및 List1에 포함될 수 있다. 그러나, 참조 픽처 리스트 수정 신택스(reference picture list modification syntax) (즉, RPLR 커맨드)는 VSP 참조 픽처를 지원하도록 확장될 수 있고, 그래서 인코더는 참조 픽처 리스트를 임의의 순서로 정렬할 수 있고, RPLR 커맨드에 따른 최종 순서를 비트스트림에 표시할 수 있어, 디코더로 하여금 동일한 최종 순서를 갖는 참조 픽처 리스트를 재구성할 수 있게 한다.
움직임 정보 도출과 같이 뷰 합성 참조 픽처로부터 예측하기 위한 프로세스는 H.264/AVC 또는 HEVC의 인터, 인터-계층, 및 인터-뷰 예측을 위해 명시된 프로세스와 동일하거나 유사하게 유지할 수 있다. 대안으로 또는 부가적으로, 뷰 합성 예측을 위한 특정한 코딩 모드는 디코더에 의해 비트스트림에서 명시되고 시그널링될 수 있다. 다시 말해서, VSP는 대안으로 또는 일부 인코딩 및 디코딩 구성에서 인트라, 인터, 인터-뷰와 별개의 모드 및 다른 코딩 모드로서도 사용될 수 있다. 예를 들면, VSP 스킵/직접 모드(VSP skip/direct mode)에서, 움직임 벡터 차 (디)코딩 및 예를 들면, 변환-기반 코딩을 이용하는 잔차 예측 오차의 (디)코딩이 또한 생략될 수 있다. 예를 들면, 매크로블록이 스킵/직접 모드를 이용하여 코딩될 것이라고 비트스트림에서 표시될 수 있으면, 비트스트림 내에는 VSP 프레임이 참조로서 사용되는지 여부가 추가로 표시될 수 있다. 대안으로 또는 부가적으로, 뷰 합성 참조 픽처를 완전하게 구비시키기 보다 또는 그렇게 하는 것에 추가하여, 인코더 및/또는 디코더에 의해 뷰-합성된 참조 블록이 발생되어 각종 예측 프로세스를 위한 예측 참조로서 사용될 수 있다.
현재 텍스처 뷰 컴포넌트의 코딩을 위해 뷰 합성 예측을 가능하게 하기 위해, 동일 액세스 유닛의 이전에 코딩된 텍스처 및 깊이 뷰 컴포넌트가 뷰 합성을 위해 사용될 수 있다. 동일 액세스 유닛의 이전에 코딩된 텍스처 및 깊이 뷰 컴포넌트를 사용하는 그러한 뷰 합성은 포워드 뷰 합성(forward view synthesis) 또는 포워드-프로젝티드 뷰 합성(forward-projected view synthesis)이라고 지칭될 수 있으며, 마찬가지로 그러한 뷰 합성을 이용하는 뷰 합성 예측은 포워드 뷰 합성 예측 또는 포워드-프로젝티드 뷰 합성 예측이라고 지칭될 수 있다.
포워드 뷰 합성 프로세스는 두 가지 개념적 단계, 포워드 와핑(forward warping) 및 홀 필링(hole filling)을 포함할 수 있다. 포워드 와핑에서, 참조 이미지의 각 픽셀은 합성된 이미지에 매핑된다. 참조 프레임의 복수개 픽셀은 합성된 뷰 내 동일한 샘플 위치에 매핑되고, (카메라에 더 가까운) 더 큰 깊이 값과 연관된 픽셀이 매핑 경쟁에서 선택될 수 있다. 모든 픽셀을 와핑한 다음, 참조 프레임으로부터 매핑된 어떠한 샘플 값도 갖지 않고 남은 몇 개의 홀 픽셀이 있을 수 있고, 이러한 홀 픽셀은 예를 들면, "홀"이 두 개의 논-홀 픽셀(non-hole pixels) 사이의 수평 라인에 있는 연이은 홀 픽셀로서 정의되는 라인-기반 지향성 홀 필링(line-based directional hole filling)을 이용하여 채워질 수 있다. 홀 픽셀은 (카메라에서 더 멀리 떨어진) 더 작은 깊이 샘플 값을 가진 두 개의 인접한 논-홀 픽셀 중 하나로 채워질 수 있다.
백워드 뷰 합성 또는 백워드-프로젝티드 뷰 합성이라고 지칭되는 체계에서, 합성 뷰와 동일-위치에 있는 깊이 맵이 뷰 합성 프로세스에서 사용된다. 그러한 백워드 뷰 합성을 이용하는 뷰 합성 예측은 백워드 뷰 합성 예측 또는 백워드-프로젝티드 뷰 합성 예측 또는 B-VSP라고 지칭될 수 있다. 현재 텍스트 뷰 컴포넌트의 코딩을 위해 백워드 뷰 합성 예측을 가능하게 하기 위해, 현재 코딩된/디코딩된 텍스처 뷰 컴포넌트의 깊이 뷰 컴포넌트가 이용 가능해지는 것이 필요하다. 다시 말해서, 깊이 뷰 컴포넌트의 코딩/디코딩 순서가 각 텍스처 뷰 컴포넌트의 코딩/디코딩 순서에 앞설 때, 백워드 뷰 합성 예측이 텍스처 뷰 컴포넌트의 코딩/디코딩에서 사용될 수 있다.
B-VSP에 따르면, 종속하는 뷰의 텍스처 픽셀은 합성된 VSP-프레임이 아니라 베이스 또는 참조 뷰의 텍스처 픽셀로부터 직접 예측될 수 있다. 이러한 프로세스에 필요한 변위 벡터는 종속하는 뷰의 깊이 맵 데이터, 즉 현재 코딩/디코딩되는 텍스처 뷰 컴포넌트에 대응하는 깊이 뷰 컴포넌트로부터 생성될 수 있다.
B-VSP의 개념은 도 6을 참조하여 아래와 같이 설명될 수 있다. 다음과 같은 코딩 순서(T0, D0, T1, D1)가 활용된다고 가정한다. 텍스처 컴포넌트 T0는 베이스 뷰이고 T1은 한 가지 예측 툴로서 B-VSP를 이용하여 코딩된/디코딩된 종속하는 뷰이다. 깊이 맵 컴포넌트 D0 및 D1은 각기 T0 및 T1과 연관된 각각의 깊이 맵이다. 종속하는 뷰 T1에서, 현재 코딩된 블록 Cb의 샘플 값은 베이스 뷰 T0의 샘플 값으로 구성되는 참조 영역 R(Cb)으로부터 예측될 수 있다. 코딩된 샘플과 참조 샘플 간의 변위 벡터(움직임 벡터)는 현재 코딩된 텍스처 샘플과 연관된 깊이 맵 값으로부터 T1과 T0 사이의 디스패리티로서 발견될 수 있다.
앞에서 설명한 바와 같이, H.264/AVC 및 HEVC을 비롯한 많은 하이브리드 비디오 코덱은 비디오 정보를 두 가지 국면에서 인코딩한다. 첫 번째 국면에서, 예측 코딩이 예를 들면, 소위 샘플 예측으로서 또는 소위 신택스 예측으로서 적용된다. 샘플 예측에서, 특정 픽처 영역 또는 "블록" 내 픽셀 또는 샘플 값이 예측된다. 이러한 픽셀 또는 샘플 값은 예를 들면, 다음과 같은 방식 중 한 가지 이상을 이용하여 예측될 수 있다:
- 움직임 보상 메커니즘 (이 메커니즘은 시간 예측 또는 움직임-보상된 시간 예측이라고도 지칭됨). 움직임 보상 메커니즘은 코딩되는 블록에 밀접하게 대응하는 이전에 인코딩된 비디오 프레임 중 한 프레임 내 영역을 찾아 표시하는 과정을 포함한다.
- 인터-뷰 예측. 인터-뷰 예측은 코딩되는 블록에 밀접하게 대응하는 이전에 인코딩된 뷰 컴포넌트 중 한 뷰 컴포넌트 내 영역을 찾아 표시하는 과정을 포함한다.
- 뷰 합성 예측. 뷰 합성 예측은 재구성된/디코딩된 범위 정보를 기반으로 하여 예측 블록이 도출되는 예측 블록 또는 이미지 영역을 합성하는 과정을 포함한다.
- 인터-계층 예측. 인터-계층 예측은 소위 SVC의 인트라BL(base layer) 모드와 같이 재구성된/디코딩된 샘플을 이용한다.
- 인터-계층 잔차 예측.
- 인트라 예측. 인트라 예측에서는 공간 영역 관계를 찾아 표시하는 공간 메커니즘에 의해 픽셀 또는 샘플 값이 예측될 수 있다.
파라미터 예측이라고도 지칭될 수 있는 신택스 예측에서, 신택스 요소 및/또는 신택스 요소로부터 도출되는 신택스 요소 값 및/또는 변수는 앞서 (디)코딩된 신택스 요소 및/또는 앞서 도출된 변수로부터 예측된다. 신택스 예측의 한정하지 않는 예는 아래와 같이 제공된다:
- 움직임 벡터 예측에서, 인터 및/또는 인터-뷰 예측을 위한 움직임 벡터는 블록별 예측된 움직임 벡터에 대해 상이하게 코딩될 수 있다. 많은 비디오 코덱에서, 예측된 움직임 벡터는 미리-정의된 방법으로, 예를 들면, 인접한 블록의 인코딩된 또는 디코딩된 움직임 벡터의 중간 값을 계산함으로써 생성된다. 움직임 벡터 예측을 생성하는 다른 방식은 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록으로부터 후보 예측 리스트를 만들고 선택한 후보를 움직임 벡터 예측기(motion vector predictor)로서 시그널링하는 것이다. 움직임 벡터 값을 예측하는 것 이외에도, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 통상적으로 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록으로부터 예측된다. 움직임 벡터의 차분 코딩은 전형적으로 슬라이스 경계에서 전반적으로 불능화된다.
- CTU로부터 CTU로 그리고 하향하여 PU로의 블록 분할이 예측될 수 있다.
- 필터 파라미터 예측에서, 예를 들면 샘플 적응적 옵세트를 위한 필터링 파라미터가 예측될 수 있다.
여러 형태의 예측을 분류하는 다른 상호보완적인 방법은 어느 도메인 또는 확장성 타입에 예측이 겹쳐지는지를 고려하는 것이다. 이러한 분류는 때로는 예측 방향이라고 지칭될 수도 있는 다음과 같은 형태의 예측 중 한 가지 이상으로 이어질 수 있다.
- 예를 들면, 동일한 확장성 계층, 뷰 및 컴포넌트 타입(텍스처 또는 깊이)를 가진 보통 앞의 픽처로부터 샘플 값 또는 움직임 벡터의 시간적 예측.
- 동일한 시간 순간이나 액세스 유닛 및 동일한 컴포넌트 타입의 보통 뷰 컴포넌트들 사이에서 일어나는 예측을 말하는 인터-뷰 예측(크로스-뷰 예측이라고도 지칭될 수 있음).
- 동일한 시간 순간의, 동일한 컴포넌트 타입의, 그리고 동일한 뷰의 보통 계층들 사이에서 일어나는 예측을 말하는 인터-계층 예측.
- 인터-컴포넌트 예측은 디코딩 프로세스에서 사용되는 신택스 요소 값, 샘플 값, 변수 값, 또는 한 가지 타입의 컴포넌트 픽처로부터 다른 타입의 컴포넌트 픽처에 이르기까지 어떤 유사한 것의 예측을 포함하는 것이라고 정의될 수 있다. 예를 들면, 인터-컴포넌트 예측은 깊이 뷰 컴포넌트로부터 텍스처 뷰 컴포넌트를 예측하는 것 또는 그 반대의 것을 포함할 수 있다.
도 7은 하나의 뷰 컴포넌트(두 깊이 및 텍스처/샘플) 당 두 가지 디펜던시 표현의 사례에서 액세스 유닛(즉, 한 번의 시간 인스턴스의 코딩된 데이터)의 일 예를 도시한다. 코딩된 뷰의 개수는 한 개 이상이며 샘플이나 텍스처 픽처의 계층 또는 디펜던시 표현의 개수는 한 개 이상일 수 있다는 것을 주목하여야 한다. 도 7의 예에서, 그저 예시적인 목적을 위해 뷰의 개수는 2개이고 샘플 픽처에 대한 계층의 개수는 2개이다. 사각형은 뷰 0를 예시하고 원은 뷰 1을 예시한다. 도 7의 하단에서 사각형 및 원은 베이스 계층을 나타내고 베이스 계층의 사각형과 원 위쪽의 사각형 및 원은 제 1 강화 계층을 나타낸다.
도 7에서, 강화 텍스처/샘플 디펜던시 표현은 공간 확장성을 사용하며 베이스 텍스처/샘플 디펜던시 표현으로부터 움직임, 텍스처(인트라 BL), 및/또는 잔차 예측과 같은 인터-계층 예측을 사용할 수 있다. 베이스 및 강화 계층의 깊이 뷰 컴포넌트는 각각의 텍스처/샘플 뷰 컴포넌트로부터 인사이드 뷰 움직임 예측 또는 유사한 것과 같은 인터-컴포넌트 예측을 사용할 수 있다. 뷰 1의 뷰 컴포넌트는 뷰 0의 각 뷰 컴포넌트로부터 인터-뷰 예측을 사용할 수 있다.
이전에 코딩된 이미지로부터의 이미지 정보를 이용하는 예측 접근 방법은 인터 예측 방법이라고도 불려질 수 있다. 인터 예측은 때로는 움직임-보상된 시간 예측을 포함할 뿐이라고 간주될 수 있지만, 때로는 샘플의 재구성된/디코딩된 블록이 예측 소스로서 사용되는 모든 형태의 예측을 포함하고, 그래서 예를 들면 통상적인 인터-뷰 예측을 포함하는 것이라고 간주될 수 있다. 인터 예측은 오로지 샘플 예측만을 포함하는 것으로 간주될 수 있지만 대안으로 샘플 예측 및 신택스 예측 둘 다를 포함하는 것으로 간주될 수 있다. 신택스 및 샘플 예측의 결과로서, 샘플의 픽셀의 예측된 블록이 구해질 수 있다.
많은 비디오 인코딩 방식에서 두 번째 국면은 예측된 픽셀 또는 샘플 블록과 원래의 픽셀 또는 샘플 블록 간의 오차를 코딩하는 것이다. 이것은 픽셀 값 또는 샘플 값에서의 차분을 명시된 변환을 이용하여 변환함으로써 달성될 수 있다. 이러한 변환은 이산 코사인 변환(Discrete Cosine Transform, DCT) 또는 그의 변형일 수 있다. 차분을 변환한 후, 변환 계수가 양자화되고 엔트로피 인코딩된다.
양자화 프로세스의 충실도를 변화시킴으로써, 인코더는 픽셀 또는 샘플 표현의 정확도(즉, 픽처의 시각적 품질)와 결과적으로 인코딩된 비디오 표현의 크기(즉, 파일 크기 또는 전송 비트 레이트) 간의 균형을 조절할 수 있다.
디코더는 인코더에 의해 생성되어 이미지의 압축된 표현으로 저장되는 예측 정보를 이용하여 픽셀 또는 샘플 블록의 예측된 표현을 형성하기 위하여 인코더에 의해 사용된 것과 유사한 예측 메커니즘 및 및 예측 오차 코딩의 역동작으로 공간 도메인에서 양자화된 예측 오차 신호를 복구하는 예측 오차 디코딩을 적용함으로써 출력 비디오를 재구성한다. 픽셀 또는 샘플 예측 및 오차 디코딩 프로세스를 적용한 후, 디코더는 예측 및 예측 오차 신호(픽셀 또는 샘플 값)를 결합하여 출력 비디오 프레임을 형성한다.
디코더 (및 인코더)는 또한 출력 비디오의 품질을 개선하기 위하여 부가적인 필터링 프로세스를 적용한 다음 이를 디스플레이하기 위해 전달하고 그리고/또는 비디오 시퀀스에서 다음에 오는 픽처를 위한 예측 참조로서 저장할 수 있다. 필터링은 참조 이미지로부터 블록킹(blocking), 링잉 등과 같은 각종 아티팩트를 줄이기 위해 사용될 수 있다. 움직임 보상한 다음 역 변환된 잔차를 가산한 후, 재구성된 픽처가 취득된다. 이 픽처는 블록킹, 링잉 등과 같은 각종 아티팩트를 가질 수 있다. 아티팩트를 제거하기 위하여, 각종 후-처리 작업이 적용될 수 있다. 후-처리된 픽처가 움직임 예측 루프에서 참조로서 사용되면, 후처리 동작/필터는 통상 루프 필터라고 불린다. 루프 필터를 채용함으로써, 참조 픽처의 품질이 증가한다. 결과로서, 양호한 코딩 효율이 성취될 수 있다.
다시 도 7의 예를 참조하면, 컴포넌트 픽처들 사이에서 예측의 타입이 미리-결정된다는 것이 주시될 수 있다. 더욱이, 예측을 위한 참조는 미리-결정된 확장성 식별자 중에서 선택된다. 예를 들면, 인터-계층 예측은 (코딩/디코딩되는 컴포넌트 픽처의 dependency_id와 비교하여) dependency_id의 더 낮은 값을 갖는 컴포넌트 픽처로부터 적용된다. 예를 들면, 도 7에서 상단-우측 컴포넌트, 즉 뷰 1의 깊이 픽처의 공간 강화는 각 텍스처/샘플 픽처, 즉 뷰 1의 텍스처 픽처의 공간 강화 또는 베이스 계층 깊이 픽처, 즉 뷰 1의 베이스 계층 깊이 픽처 중 어느 하나로부터 움직임 예측을 가질 수도 있다.
다중 타입의 확장성 및/또는 동일한 예측 방식의 다중 참조가 (디) 코딩 체계에 의해 가능해질 때, 예측 참조가 적응적으로 선택될 수 있을 때 압축이 개선될 수 있다. 그러므로, 다중-참조 스케일러블 (디)코딩 체계에서 적용되는 예측 타입을 적응적으로 선택하고 그리고/또는 시그널링하는 메커니즘이 필요하다.
아래에서, 뷰 확장성 및 깊이 강화를 비롯한, 임의의 타입의 확장성의 맥락에서 기간 계층(term layer)이 사용된다. 강화 계층은 SNR, 공간, 멀티뷰, 깊이, 비트-깊이, 크로마 포맷, 및/또는 컬러 공간 강화와 같은 임의의 형태의 강화를 말한다. 베이스 계층은 또한 베이스 뷰, SNR/공간 확장성에 대한 베이스 계층, 깊이-강화된 비디오 코딩에 대한 텍스처 베이스 뷰와 같은 임의의 형태의 베이스 동작점을 말한다.
일부 실시예에서, 강화 계층은 하나보다 많은 참조 계층, 예를 들면 제 1 참조 계층 및 제 2 참조 계층을 가질 수 있으며, 강화 계층은 그의 참조 계층에 관련한 상이한 확장성을 가질 수 있다. 다시 말해서, 강화 계층은 그의 제 1 참조 계층에 대한 제 1 확장성 타입의 강화 및 그의 제 2 참조 계층에 대한 제 2 확장성 타입의 강화일 수 있다. 예를 들면, 강화 계층은 논-베이스 뷰에 대한 공간 강화 계층일 수 있으며 강화 계층은 예를 들면 두 참조 계층, 예를 들면, 동일 뷰에 대한 공간 베이스 계층 및 (예를 들면, 논-베이스 뷰의 강화 계층의 해상도와 동일한 해상도를 갖는) 베이스 뷰의 공간 강화 계층을 가질 수 있다. 다른 예로, 강화 계층은 논-베이스 깊이 뷰일 수 있으며 강화 계층은 두 참조 계층, 예를 들면, 동일 뷰포인트의 텍스처 뷰 및 베이스 깊이 뷰를 가질 수 있다.
일부 실시예에서, 인코더는 강화 계층의 하나보다 많은 참조 계층으로부터 제 1 타입의 인터-계층 예측을 사용하도록 선택될 수 있고, 이 때 강화 계층은 상기 하나보다 많은 참조 계층과 관련한 상이한 확장성을 가질 수 있다. 예를 들면, 인코더는 공간 베이스 계층 픽처로부터 및 다른 뷰의 뷰 컴포넌트로부터 (예를 들면, 인터-계층 참조 픽처를 하나 이상의 참조 픽처 리스트에 포함시킴으로써 인터 예측과 유사한) 샘플 예측을 적용할 수 있다. 뿐만 아니라, 인코더는 상기 하나보다 많은 참조 계층의 서브세트으로부터 인터-계층 예측의 제 2 타입을 턴오프하도록 선택할 수 있다. 예를 들면, 인코더는 다른 뷰의 뷰 컴포넌트로부터가 아니고 공간 베이스 계층 픽처로부터 움직임 정보 예측을 적용할 수 있다. 인코더는 어느 타입의 인터-계층 예측이 이용 가능하다는 것 또는 강화 계층과 어떤 표시된 하나 이상의 참조 계층 사이에 적용될 수 있다는 것을 비트스트림에서 표시할 수 있고 그리고/또는 어느 타입의 인터-계층 예측이 강화 계층과 어떤 표시된 하나 이상의 참조 계층 사이에서 사용되지 않는다는 것을 비트스트림에서 표시할 수 있다. 디코더는 상기 표시를 비트스트림으로부터 디코딩할 수 있으며 디코더의 디코딩 동작을 아래에서 기술되는 한 가지 이상의 방법으로 적응할 수 있다.
아래에서, 컴포넌트 픽처는 동일 액세스 유닛 또는 동일 시간 인스턴스의 다른 컴포넌트 픽처와 차이 나는 특정한 확장성 차원 또는 식별자 값을 갖는 코딩된 픽처라고 정의될 수 있다. 다시 말해서, 컴포넌트 픽처는 컴포넌트 픽처의 적어도 확장성 차원 식별자의 값이 동일 시간의 다른 컴포넌트 픽처 및/또는 동일 액세스 유닛 내 적어도 확장성 차원 식별자의 값과 차이 난다는 식으로 명시될 수 있다. 컴포넌트 픽처는 디펜던시 표현, 계층 표현, 텍스처 뷰 컴포넌트, 깊이 뷰 컴포넌트, 깊이 맵, 또는 그와 같은 어떤 것의 집합적인 용어라고 간주될 수 있다. 액세스 유닛은 코딩된 픽처 및 깊이 뷰 컴포넌트는 물론이고 디펜던시 표현 및 계층 표현과 같은 비교적 많은 개수의 컴포넌트 픽처로 구성될 수 있다. 디코딩된 컴포넌트 픽처는 컴포넌트 픽처의 디코딩된 표현이라고 정의될 수 있다. 단일-루프 디코딩에서, 비트스트림에서 존재하는 타겟 계층 또는 최고 계층에서 유일한 컴포넌트 픽처가 디코딩될 수 있다. 멀티-루프 디코딩에서, 각 계층 당 컴포넌트 픽처는 디코딩되고 디코더로부터 출력될 수 있다. 예를 들면, 디코딩된 텍스처 뷰 컴포넌트는 디코딩된 컴포넌트 픽처일 수 있다.
어떤 양상에 따르면, 인코더가 비트스트림 내 강화 계층에 대한 참조 계층을 표시하는(850) 도 8에 도시된 방법에 의해 필요한 것이 해결된다. 표시는 예를 들면, 비디오 파라미터 세트에 포함될 수 있다. 또한, 인코더는 참조 계층으로부터 강화 계층으로 적용될 수 있는 적어도 한가지 타입의 예측을 비트스트림에서 표시하도록 구성될 수 있으며, 여기서 적어도 한 가지 타입의 예측은 계층들 간의 예측을 위해 이용 가능한 모든 예측 타입의 서브세트가다(852). 적용되거나 적용될 수 있는 적어도 한가지 타입의 예측의 표시에 대한 대안으로, 또는 그에 부가하여, 인코더는 어느 타입의 예측이 참조 계층으로부터 강화 계층으로 적용되지 않는다는 것을 표시하도록 구성될 수 있다.
그래서, 인코더는 인코딩 프로세스를 참조 계층으로부터 강화 계층으로의 표시된 예측 타입만을 사용하도록 적응될 수 있다.
실시예에 따르면, 플래그가 참조 계층과 강화 계층의 조합을 위해 연관될 수 있고 이 플래그는 특정한 예측 타입이 참조 계층으로부터 강화 계층으로의 예측을 위해 사용될 수 있는지 또는 그 특정한 예측 타입이 참조 계층으로부터 강화 계층으로의 예측을 위해 사용되지 않는지를 표시하는데 사용될 수 있다. 예를 들면, 상이한 예측 타입마다 각기 하나 이상의 플래그가 비디오 파라미터 세트에서 각 강화 계층마다 각기 표시된 참조 계층마다 포함될 수 있다.
실시예를 예시할 때, 다음과 같은 서술자(descriptors)가 각 신택스 요소의 파싱 프로세스를 명시하는데 사용될 수 있다.
- b(8): 임의 패턴의 비트 스트링을 갖는 바이트(8비트).
- se(v): 좌측 비트 먼저 나오는 부호 붙임 정수형 Exp-Golomb-코딩된 신택스 요소.
- u(n): n 비트를 이용한 무부호 정수. n이 신택스 테이블에서 "v"일 때, 비트의 개수는 타 신택스 요소의 값에 의존하는 방식으로 변동한다. 이러한 서술자의 파싱 프로세스는 첫 번째로 쓰여진 최상위 비트로서 부호 없는 정수의 이진 표현으로서 해석되는 비트스트림으로부터 n개 다음 비트로 명시된다.
- ue(v): 좌측 첫 번째 비트로서 무부호 정수형 Exp-Golomb-코딩된 신택스 요소.
Exp-Golomb 비트 스트링은 예를 들면 하기 테이블 2을 이용하여 코드 번호(codeNum)로 변환될 수 있다.
[테이블 2]
Figure 112015075116730-pct00003
Exp-Golomb 비트 스트링에 대응하는 코드 번호는 예를 들면 하기 테이블 3을 이용하여 se(v)로 변환될 수 있다.
[테이블 3]
Figure 112015075116730-pct00004
예시적인 실시예를 기술할 때, 신택스 구조, 신택스 요소의 시맨틱, 및 디코딩 프로세스는 다음과 같이 명시될 수 있다. 비트스트림에서 신택스 요소는 볼드체로 표시된다. 각각의 신택스 요소는 그의 명칭(모두 밑줄표시 문자를 가진 소문자), 옵션으로 하나 또는 두 개의 그의 신택스 카테고리, 및 그의 코딩된 표현 방법에 대한 하나 또는 두 개의 서술자로 기술된다. 디코딩 프로세스는 신택스 요소의 값 및 이전에 디코딩된 신택스 요소의 값에 따라서 수행된다. 신택스 요소의 값이 신택스 테이블이나 텍스트에서 사용될 때, 이 값은 정규(즉, 볼드체 아닌) 형태로 나타난다. 일부 사례에서, 신택스 테이블은 신택스 요소 값으로부터 도출되는 다른 변수의 값을 이용할 수 있다. 그러한 변수는 소문자와 대문자의 혼합이라고 명명된 그리고 어떠한 밑줄표시 문자도 없는 신택스 테이블이나 텍스트에서 나타난다. 대문자로 시작하는 변수는 현재 신택스 구조 및 종속하는 모든 신택스 구조를 디코딩하기 위해 도출된다. 대문자로 시작하는 변수는 변수의 원래 신택스 구조를 언급하지 않고 나중의 신택스 구조의 디코딩 프로세스에서 사용될 수 있다. 소문자로 시작하는 변수는 그 변수가 도출된 컨텍스트 내에서만 사용될 뿐이다. 일부 사례에서, 신택스 요소 값 또는 변수 값에 대한 "연상 기호" 명칭은 이들의 수치 값과 같은 의미로 사용된다. 때때로 "연상 기호" 명칭은 임의의 수치 값과 연관되지 않고 사용된다. 값과 명칭의 연관 관계는 텍스트에서 명시된다. 명칭은 밑줄표시 문자에 의해 분리된 하나 이상의 문자 그룹으로 구성된다. 각 그룹은 대문자로 시작하며 더 많은 대문자를 포함할 수 있다.
예시적인 실시예를 기술할 때, 신택스 구조는 다음과 같은 것을 이용하여 명시될 수 있다. 중괄호로 둘러싸인 스테이트먼트 그룹은 복합 스테이트먼트(compound statement)이며 기능적으로 단일의 스테이트먼트로 취급된다. "while" 구조는 조건이 참(true)인지 여부의 테스트를 명시하며, 만일 참이면, 그 조건이 더 이상 참이 아닐 때까지 스테이트먼트(또는 복합 스테이트먼트)의 평가를 반복적으로 명시한다. "do ... while" 구조는 한번의 스테이트먼트 평가에 뒤이어, 조건이 참인지 여부의 테스트를 명시하며, 만일 참이면, 그 조건이 더 이상 참이 아닐 때까지 스테이트먼트의 반복된 평가를 명시한다. "if ... else" 구조는 조건이 참인지 여부의 테스트를 명시하며, 만일 조건이 참이면, 기본 스테이트먼트의 평가를 명시하고, 그렇지 않으면 대안의 스테이트먼트의 평가를 명시한다. 만일 어느 대안의 스테이트먼트 평가도 필요하지 않으면 그 구조 및 연관된 대안의 스테이트먼트의 "else" 부분은 생략된다. "for" 구조는 초기 스테이트먼트의 평가에 뒤이어, 조건의 테스트를 명시하며, 만일 조건이 참이면, 그 조건이 더 이상 참이 아닐 때까지 일차 스테이트먼트에 뒤이어 후속 스테이트먼트의 반복된 평가를 명시한다.
HEVC, JCTVC-K1007에 대한 초안 비디오 파라미터 세트 확장(Video Parameter Set Extension) 신택스는 특정 계층의 확장성 특성(예를 들면, depth_flag 및/또는 view_id 및/또는 dependency_id) 및 특정 계층이 종속하는 계층의 융통성 있는 시그널링을 가능하게 한다. 이 신택스는 어느 타입의 예측이 참조 계층으로부터 발생한다는 것을 명시하지 않는다. 실시예에 따르면, HEVC 코딩에 적용될 때, 표시는 JCTVC-K1007에서 기술된 비디오 파라미터 세트에 포함될 수 있다. 아래에서, 상기 표시를 위한 새로운 신택스 요소를 가진 비디오 파라미터 세트의 일 예가 테이블 4에 도시된다.
[테이블 4]
Figure 112015075116730-pct00005
새로운 신택스 요소, prediction_type_mask_len prediction_type_mask[i][j], 는 테이블 4에서 이탤리체로 도시된다. 상기 신택스 요소의 시맨틱은 아래와 같이 명시될 수 있다:
prediction_type_mask_len은 prediction_type_mask[ i ][ j ] 신택스 요소 내 비트 수를 명시한다.
prediction_type_mask[ i ] [ j ]은 어느 타입의 디펜던시 또는 예측이 ref_layer_id[ i ] [ j ]와 같은 layer_id를 갖는 컴포넌트로부터 layer_id_in_nuh[ i ]와 같은 layer_id를 갖는 컴포넌트 픽처까지 사용된다는 것을 명시한다.
prediction_type_mask[ i ] [ j ]에서 예측의 타입 및 그의 비트 수는 아래의 테이블 5에 따라서 명시될 수 있다. 비트 넘버 0는 prediction_type_mask[ i ][ j ]에서 최하위 비트이다.
[테이블 5]
Figure 112015075116730-pct00006
prediction_type_mask[ i ][ j ]가 존재하지 않을 때는 4와 같다고 추론될 수 있다.
변수 SamplePredictionFlag[ i ][ j ]는 (prediction_type_mask[ i ][ j ] & l)과 같게 설정될 수 있다.
변수 MotionInformationPredictionFlag[i][j]는 ((prediction_type_mask[ i ] [ j ] & 2 ) >> 1)과 같게 설정될 수 있다.
변수 SAOParameterPredictionFlag[ i ] [ j ]는 ((prediction_type_mask[ i ] [ j ] & 4 ) >> 2)와 같게 설정될 수 있다.
변수 IntraModeInformationPredictionFlag[i][j]는 ((prediction_type_mask[ i ] [ j ] & 8 ) >> 3)와 같게 설정될 수 있다.
실시예에 따르면, SAOParameterPredictionFlag[ i ][ j ]는 i라는 임의의 특정 값에 대해, j의 값이 0부터 num_direct_layers[ i ] - 1까지 포함하는 경우 최대 한번 정도 1과 같게 되도록 제약될 수 있다. 다시 말해서, 일부 실시예는 SAO 파라미터의 예측이 오직 하나의 참조 계층으로부터 가능할 수 있도록 (또는 SAO 파라미터가 HEVC 버전 1에서처럼 코딩될 수 있도록) SAO 파라미터 예측을 제약할 수 있다.
본 기술에서 통상의 지식을 가진 자들이라면 전술한 신택스 및 시맨틱은 그저 일부의 비-한정적인 실시예를 기술한다는 것을 알고 있다. 아래에서 기술되는 실시예와 같은 다른 실시예가 가능하다는 것이 이해될 것이다.
실시예에 따르면, 표시(들)는 추가적으로 또는 대안으로 다른 신택스 구조, 예를 들면, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 임의의 다른 형태의 파라미터 세트, 시퀀스 헤더, 픽처 헤더 그룹, 픽처 헤더, 슬라이스 헤더, 및/또는 추가적 강화 정보 메시지 내에 존재할 수 있다.
실시예에 따르면, 전술한 신택스 및 시맨틱 내의 예측 타입에 부가하여 또는 그에 대한 대안으로, 절차는 다른 예측 타입에 적용될 수 있다.
실시예에 따르면, 표시(들)는 플래그될 필요는 없으나, 무부호 정수형 Exp-Golomb-코딩된 신택스 요소, 즉 ue(v)와 같은 일부 다른 형태를 가질 수 있다. 표시(들)는 예를 들면, 여러 예측 타입의 사용(또는 사용할 가능성)을 한 가지 값의 신택스 요소로 연관시킬 수 있다.
실시예에 따르면, 특정한 예측 타입에 대한 표시의 다음에는 예측 타입이 그 사이에 놓이거나 사용될 수 있는 참조 계층과 강화 계층의 쌍의 리스트가 (신택스 내에서) 나올 수 있다. 대안으로 또는 부가적으로, 특정한 예측 타입의 표시의 다음에는 예측 타입이 그 사이에서 사용되지 않는 참조 계층과 강화 계층 쌍의 리스트가 (신택스 내에서) 나올 수 있다.
실시예에 따르면, 표시(들)는 상이한 픽처 타입, 예를 들면, RAP 픽처(Random Access Picture)에 대한 표시(들) 세트 및 논-RAP 픽처에 대한 다른 하나의 표시(들) 세트 별로 개별적으로 제공될 수 있다. 대안으로 또는 부가적으로, 표시(들)는 상이한 타입의 확장성, 상이한 확장성 계층 세트, 및/또는 상이한 시간 서브-계층 세트 별로 개별적으로 제공될 수 있다.
실시예에 따르면, 참조 계층은 예측을 위해 참조 계층을 이용하는 강화 계층의 코딩 포맷과 상이한 코딩 포맷을 가질 수 있거나 또는 마찬가지로 참조 계층은 예측을 위해 참조 계층을 이용하는 강화 계층이 순응하는 코딩 표준과 상이한 코딩 표준에 순응할 수 있다. 예를 들면, 비트스트림 또는 파일은 H.264/AVC에 순응하는 베이스 계층을 가질 수 있고, 반면 비트스트림 또는 파일의 강화 계층은 HEVC 표준의 스케일러블 확장에 순응할 수 있다. 인코더는 표시된 예측 타입을 그러한 계층들 사이에서 선택하여 참조 계층 디코더 또는 디코딩 프로세스가 출력하는 예측 타입만을 포함시킬 수 있다. 예를 들면, 인코더는 샘플 예측, 또는 일부 사례에서는 샘플 예측 및 움직임 정보 예측만을 포함하도록 표시된 예측 타입을 선택할 수 있다.
다른 양상은 디코더가 전술한 것처럼 인코딩된 비트스트림을 수신할 때, 디코더의 동작이다. 실시예의 디코딩 동작은 인코딩 동작의 반대이며, 도 9에 도시된다. 디코더는 비트스트림으로부터 강화 계층의 참조 계층을 해석하고(900) 비트스트림으로부터, 참조 계층으로부터 강화 계층으로 적용된 적어도 한가지 예측 타입 - 적어도 한가지 예측 타입은 계층 간의 예측에 이용 가능한 모든 예측 타입의 서브세트임 - 을 해석한다(902). 그런 다음 디코더는 상기 적어도 한가지 예측 타입만을 이용하여 참조 계층으로부터 상기 강화 계층을 디코딩한다(904).
그러므로, 디코더는 참조 계층에서 강화 계층으로의 해석된 예측 타입만을 이용하도록 디코딩 프로세스를 적응시킬 수 있다.
도 10은 본 발명의 실시예를 채용하기에 적합한 비디오 디코더의 블록도를 도시한다. 비디오 디코더(550)는 베이스 뷰 컴포넌트용 제 1 디코더 섹션(552) 및 논-베이스 뷰 컴포넌트용 제 2 디코더 섹션(554)을 포함한다. 블록(556)은 베이스 뷰 컴포넌트에 관한 정보를 제 1 디코더 섹션(552)로 전달하고 논-베이스 뷰 컴포넌트를 제 2 디코더 섹션(554)로 전달하는 디멀티플렉서를 예시한다. 참조부호(P'n)는 이미지 블록의 예측된 표현을 나타낸다. 참조부호(D'n)는 재구성된 예측 오차 신호를 나타낸다. 블록(704, 804)은 예비 재구성된 이미지(I'n)를 예시한다. 참조부호(R'n)는 최종 재구성된 이미지를 나타낸다. 블록(703, 803)은 역변환(T-1)을 예시한다. 블록(702, 802)은 역양자화(Q-1)를 예시한다. 블록(701, 801)은 엔트로피 디코딩(E-1)을 예시한다. 블록(705, 805)은 참조 프레임 메모리(reference frame memory, RFM)를 예시한다. 블록(706, 806)은 예측(P)(인터 예측 또는 인트라 예측 중 어느 하나)을 예시한다. 블록(707, 807)은 필터링(F)을 예시한다. 블록(708, 808)은 디코딩된 예측 오차 정보를 예측된 베이스 뷰/논-베이스 뷰 컴포넌트와 결합하여 예비 재구성된 이미지(I'n)를 취득하는데 사용된다. 예비 재구성되고 필터링된 베이스 뷰 이미지는 제 1 디코더 섹션(552)으로부터 출력(709)될 수 있고 예비 재구성되고 필터링된 베이스 뷰 이미지는 제 2 디코더 섹션(554)로부터 출력(809)될 수 있다.
실시예에 따르면, 표시된 예측 타입은 인코딩 및/또는 디코딩 프로세스에서 변동을 일으킬 수 있다. 몇 가지 비-한정적인 실시예가 아래에 기술된다.
실시예에 따르면, 샘플 예측을 위해 표시된 참조 계층 또는 참조 뷰가 없다면, (논-스케일러블 코딩을 위한) 통상의 인트라 예측이 사용될 수 있다. 샘플 예측을 위해 표시된 계층이 단 하나이면, 이 계층은 IntraBL 또는 일부 실시예에서는 유사한 샘플-기반 예측 모드의 소스로서 사용될 수 있다. 강화 계층의 샘플 예측을 위해 표시된 계층이 하나보다 많으면, 인코더 및/또는 디코더는 예를 들면, 다음과 같은 방법 중 한 가지 이상을 수행할 수 있다:
- 일부 실시예에서, 비트스트림으로 코딩될 수 있는 그리고 비트스트림으로부터 디코딩될 수 있는 파라미터들 또는 파라미터 값은 표시된 계층 중 어느 계층이 샘플 예측을 위해 사용될 수 있는지 결정하는데 사용될 수 있다. 파라미터들 또는 파라미터 값은 코딩 유닛 또는 예측 유닛과 같은 블록에 특유할 수 있다.
- 일부 실시예에서, 샘플 예측을 위해 표시된 계층 중 한 계층이 인코더 및/또는 디코더에 의해 IntraBL 또는 유사한 것과 같은 특정한 예측 모드를 위해 선택된다. 이러한 선택은 미리-결정될 수 있는데, 예를 들면, 제 1의 표시된 계층이 선택될 수 있거나, 인코더에 의해 비트스트림 내에 예를 들면, 특정 신택스 요소를 이용하여 표시되고 신택스 요소의 값으로서 코딩될 수 있다. 일부 실시예에서, 샘플 예측을 위한 소스라고 표시된 나머지 계층은 하나 이상의 초기 또는 최종 참조 픽처 리스트에 삽입될 수 있고 그리고/또는 아래에 기술된 바와 같이 참조 픽처 리스트 구성을 위한 인코딩 및/또는 디코딩 동작 중 한 가지 이상의 동작이 수행될 수 있다.
- 일부 실시예에서, 샘플 예측을 위한 소스라고 표시된 모든 계층은 하나 이상의 초기 또는 최종 참조 픽처 리스트에 삽입될 수 있고 그리고/또는 아래에 기술된 바와 같이 참조 픽처 리스트 구성을 위한 인코딩 및/또는 디코딩 동작 중 한 가지 이상의 동작이 수행될 수 있다.
실시예에 따르면, 인코더에 의해 표시된다면 움직임 정보는 다른 컴포넌트 픽처로부터 예측될 수 있다. 예를 들면, 참조 인덱스 및 예를 들어 다른 계층의 다른 컴포넌트 픽처로부터 움직임 벡터는 병합 후보 리스트 및/또는 ANVP 후보 리스트와 같은 움직임 벡터 예측 내 후보로서 포함될 수 있다. 움직임 필드는 컴포넌트 픽처의 움직임 정보를 포함하는 것으로 정의될 수 있다. 만일 참조 컴포넌트 픽처가 현재 컴포넌트 픽처의 공간 해상도와 상이한 공간 해상도를 가지고 있다면 또는 참조 컴포넌트 픽처의 움직임 필드가 현재 컴포넌트 픽처의 공간 해상도와 상이한 공간 해상도를 가지고 있다면, 참조 컴포넌트 픽처의 움직임 필드는 다시 샘플링되거나 현재 컴포넌트 픽처에 적용될 수 있게 매핑될 수 있다.
실시예에 따르면, 만일 샘플 예측 또는 움직임 정보 예측 또는 이들 두 가지가 모두 표시되어 있으면, 참조된 컴포넌트 픽처는 현재 컴포넌트 픽처의 하나 이상의 참조 픽처 리스트에 포함될 수 있다. 아래에서 기술되는 바와 같이 여러 계층으로부터의 컴포넌트 픽처를 이용한 참조 픽처 리스트의 구성과 관련된 인코딩 및/또는 디코딩 동작 중 한 가지 이상의 동작이 수행될 수 있다. 인코더는 움직임 정보 예측만을 위한 것으로 의도된 컴포넌트 픽처가 샘플 예측을 위해서는 사용되지 않는다는 식으로 코딩된 파라미터 값을 선택할 수 있다. 마찬가지로, 인코더는 샘플 예측만을 위한 것으로 의도된 컴포넌트 픽처가 움직임 예측을 위해서는 사용되지 않는다는 식으로 코딩된 파라미터 값을 선택할 수 있다. 예를 들면, 만일 멀티뷰-비디오-플러스-깊이(multiview-video-plus-depth) 비트스트림이 인코딩되면, 인코더는 텍스처 뷰 컴포넌트가 샘플 예측을 위한 것이 아니고 깊이 뷰 컴포넌트를 위한 움직임 정보 예측을 위한 참조가 되도록 표시할 수 있다.
실시예에 따르면, 인터-뷰 및/또는 인터-계층 방향으로 샘플 예측 및/또는 움직임 정보 예측은 상이한 뷰 및/또는 상이한 계층으로부터의 참조 픽처를 현재 뷰 및/또는 계층의 하나 이상의 참조 픽처 리스트에 포함시킴으로써 수행될 수 있다. 만일 샘플 예측 및/또는 움직임 정보 예측이 표시되어 있으면, 참조된 컴포넌트 픽처는 현재 컴포넌트 픽처의 하나 이상의 참조 픽처 리스트에 포함될 수 있다. 표시된 예측 표시는 예를 들면, 인코딩 및/또는 디코딩 프로세스에서 다음과 같은 한 가지 이상의 영향을 일으킬 수 있다:
- 예를 들면, 인터-뷰 및/또는 인터-계층 예측 방향으로 샘플 예측 및/또는 움직임 정보 예측을 위한 참조 픽처는 하나 이상의 참조 픽처 세트으로 분류될 수 있다. 예를 들면, 인터-뷰 예측을 위한 참조 픽처는 인터-뷰 예측을 위한 참조 픽처 세트 및 예를 들면, 인터-뷰 참조 픽처를 표시하는 view_id, view_order_index, 또는 layer_id 값의 리스트를 포함하는 것으로 할당되는, 예를 들면, InterViewLtCurr 이라 불리는 변수로 분류될 수 있다.
- 참조 픽처 리스트는 예를 들면, HEVC 참조 픽처 리스트 초기화 프로세스에 따라서 움직임-보상된 시간 예측을 위한 참조 픽처를 포함시킴으로써 초기화될 수 있다. 부가적으로 또는 대안으로, 초기 참조 픽처 리스트는 샘플 예측을 위해 사용되는 인터-뷰 및/또는 인터-계층 참조 픽처와 같은 샘플 예측을 위한 다른 참조 픽처를 포함하기 위해 초기화될 수 있다. 실시예에 따르면, 예를 들면, InterViewLtCurr라고 표시된 인터-뷰 예측을 위한 참조 픽처 세트과 같은 특정한 참조 픽처 세트 내 픽처는 하나 이상의 참조 픽처 리스트에 첨부되거나 포함될 수 있다.
- 인코더는 비트스트림으로 인코딩할 수 있고 그리고/또는 디코더는 비트스트림으로부터 참조 픽처 리스트 배열(reference picture list ordering) 또는 수정 명령어를 디코딩할 수 있다. 참조 픽처 리스트 배열 또는 수정 명령어는 예를 들면, 샘플 예측 및/또는 움직임 정보 예측을 위해 사용되도록 추론되거나 표시되는 참조 픽처만을 관련시키도록 제약될 수 있고, 한편으로 참조 픽처 리스트 명령어는 다른 픽처를 생략하거나 무시할 수 있다. 예를 들면, 참조 픽처 리스트 배열 또는 수정 명령어는 특정한 예측 타입이 현재 픽처에 적용될 수 있다는 참조 픽처의 인덱스를 포함할 수 있다. 예를 들면, 샘플 예측 및/또는 움직임 정보 예측을 위해 참조되도록 표시되는 컴포넌트 픽처만이 인덱싱될 수 있고, 이 때 인덱스는 예를 들면, 샘플 예측 및/또는 움직임 정보 예측을 위한 제 1의 표시된 참조 픽처에 대해 0으로부터 시작하고 샘플 예측 및/또는 움직임 정보 예측을 위한 각각의 후속의 표시된 참조 픽처마다 1씩 증분된다.
실시예에 따르면, 매핑 테이블 또는 매핑 프로세스가 참조 픽처 리스트마다 사용된다. 그러면, 다른 계층으로부터 움직임 벡터 예측의 참조 인덱스는 다른 계층에서 움직임 벡터의 참조 인덱스를 카피하는 대신, 매핑 테이블 또는 매핑 프로세스를 이용하여 도출될 수 있다. 여기서, 참조 픽처 리스트에 필요한 매핑 테이블 또는 매핑 프로세스는 2012년 9월 27일 출원된 미국 가출원 제 61/706,727 호에 기술된 바와 유사할 수 있고, 이 가출원은 참조문헌으로 인용된다.
실시예에 따르면, CTU의 CTU들로의 분할과 같은 분할은 인코더에 의해 표시되는 것처럼, 다른 컴포넌트 픽처로부터 카피되거나 예측될 수 있다. 만일 분할이 예측되면, 어느 파티션이 더 나누어지는지 및/또는 어느 파티션이 병합되는지 더 세분화될 수 있다. 그러한 추가적인 세분화에 관한 표시는 비트스트림으로 인코딩될 수 있고 비트스트림으로부터 디코딩될 수 있다.
실시예에 따르면, SAO 파라미터와 같은 필터링 파라미터는 인코더에 의해 표시되는 것처럼 다른 컴포넌트 픽처로부터 카피되거나 예측될 수 있다.
실시예에 따르면, 예를 들면, 비트스트림 순응성을 보장하는 한정이 예측 타입 마스크에 부과될 수 있다. 그러한 한정은 예를 들면, 코딩 표준에서 미리-정의될 수 있고 그리고/또는 코딩 표준이나 시스템의 코딩 프로파일 및/또는 코딩 표준이나 시스템의 레벨에 특유할 수 있다. 대안으로 또는 부가적으로, 인코더는 적용되는 하나 이상의 그러한 제한 표시를 인코딩할 수 있다. 이러한 하나 이상의 표시는 예를 들면, 시퀀스 파라미터 세트 및/또는 비디오 파라미터 세트과 같은 하나 이상의 시퀀스-레벨의 신택스 구조 내에 존재할 수 있다. 대안으로 또는 부가적으로, 이러한 하나 이상의 표시는 예를 들면, 전체 비트스트림에 적용되는 비디오 파라미터 세트과 같은 하나 이상의 비트스트림-레벨의 신택스 구조에 존재할 수 있다.
상기 신택스 구조는 비디오 비트스트림에서 대역 내(in-band) 존재할 수 있고 그리고/또는 이와 같이 도출될 수 있고 그리고/또는 예를 들면, 세션 서술 프로토콜(Session Description Protocol, SDP)과 같은 시그널링 프로토콜을 이용하여 다른 표현 포맷(예를 들면, 신택스 구조의 베이스-64 표현 또는 ASCII-코딩된 키-값 쌍의 리스트) 대역 외(out-of band)로 변환될 수 있다. 대안으로 또는 부가적으로, 상기 신택스 구조 등은 예를 들면, 실시간 스트리밍 프로토콜(Real-time Streaming Protocol, RTSP) 또는 미디어 프리젠테이션 서술(Media Presentation Description, MPD) 또는 예를 들면, HTTP를 통한 적응적 스트리밍을 위한 비트스트림의 매니페스트 파일(manifest file)을 이용하여 비트스트림의 속성을 선언하는데 사용될 수 있다. 대안으로 또는 부가적으로, 상기 신택스 구조 등은 예를 들면 SDP 제안/응답(Offer/Answer) 모델에 따라서 세션 또는 모드 협상에서 사용될 수 있다.
다중 공간/품질 계층의 사례의 경우, 샘플 예측은 그러한 계층들 사이에서 사용될 수도 있으며, 결과적으로 각 계층마다 샘플을 재구성하는데 복수개의 움직임 보상 루프가 필요할 것이고, 이는 매우 복잡해진다. 실시예에 따르면, 복잡성을 한정하기 위해, 신택스 예측은 계층들 사이에서 사용될 수도 있으되, 단일 계층의 재구성된 샘플은 다른 계층을 예측하는데 사용될 수 있다. 이것은 예를 들면, 특정한 코딩 프로파일에 따른 임의의 동작 포인트는 세 개보다 많은 움직임 보상 루프를 요구하지 않아야 하지만, 신택스 예측 참조의 개수는 한정되지 않는다고 명시될 수 있다. 다시 말해서, 요건은 출력 계층에 대해 샘플 예측을 위한 참조 계층의 개수와 합쳐진 출력 계층의 수가 3보다 적거나 같다는 제약 사항으로서 공식화될 수 있고, 이 경우 총합에서 참조 계층은 역시 출력 계층인 것들을 배제하고 참조 계층의 (샘플 예측을 위한) 모든 참조 계층을 반복적인 방식으로 포함한다.
앞에서, 일부 실시예는 특정 타입의 파라미터 세트에 관련하여 기술되었다. 그러나, 실시예는 비트스트림 내 임의의 타입의 파라미터 세트 또는 다른 신택스 구조로 실현될 수도 있다는 것이 이해되어야 한다.
앞에서, 일부 실시예는 표시, 신택스 요소, 및/또는 신택스 구조를 비트스트림으로 또는 코딩된 비디오 시퀀스로 인코딩하는 것과 관련하여 기술되었고 그리고/또는 비트스트림으로부터 또는 코딩된 비디오 시퀀스로부터 신택스 구조를 디코딩하는 것과 관련하여 기술되었다. 그러나, 실시예는 표시, 신택스 요소, 및/또는 신택스 구조를 비트스트림의 외부에 존재하는 신택스 구조나 데이터 유닛 또는 코딩된 슬라이스와 같은 비디오 코딩 계층 데이터를 포함하는 코딩된 비디오 시퀀스로 인코딩할 때, 및/또는 표시, 신택스 구조, 및/또는 신택스 구조를 비트스트림의 외부에 존재하는 신택스 구조나 데이터 유닛 또는 코딩된 슬라이스와 같은 비디오 코딩 계층 데이터를 포함하는 코딩된 비디오 시퀀스로부터 디코딩할 때 실현될 수도 있다는 것이 이해되어야 한다. 예를 들면, 일부 실시예에서, 상기 임의의 실시예에 따른 표시는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트으로 코딩될 수 있고, 이는 코딩된 비디오 시퀀스로부터 예를 들면 SDP와 같은 제어 프로토콜을 이용하여 외부로 전달된다. 동일한 예를 계속 참조하면, 수신기는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 예를 들면, 제어 프로토콜을 이용하여 취득할 수 있고, 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 디코딩을 위해 제공할 수 있다.
앞에서, 예시적인 실시예는 비트스트림의 신택스의 도움을 받아 기술되었다. 그러나, 대응하는 구조 및/또는 컴퓨터 프로그램은 그 비트스트림을 생성하기 위해 인코더에서 그리고/또는 그 비트스트림을 디코딩하기 위해 디코더에서 상주할 수 있다는 것을 이해하여야 한다. 마찬가지로, 예시적인 실시예가 인코더를 참조로 하여 기술된 경우, 결과적인 비트스트림 및 디코더는 대응하는 구성요소를 갖고 있다고 이해하여야 한다. 마찬가지로, 예시적인 실시예가 디코더를 참조로 하여 기술된 경우, 인코더는 디코더에 의해 디코딩될 비트스트림을 생성하기 위한 구조 및/또는 컴퓨터 프로그램을 갖고 있다고 이해하여야 한다.
전술한 본 발명의 실시예는 연루된 프로세스의 이해를 돕기 위하여 별개의 인코더와 디코더 장치의 관점에서 기술되었다. 그러나, 장치, 구조 및 동작은 단일의 인코더-디코더 장치/구조/동작으로서 구현될 수 있다는 것이 인식될 것이다. 뿐만 아니라, 본 발명의 일부 실시예에서, 코더 및 디코더는 일부 또는 모든 공통 요소를 공유할 수 있다.
비록 전술한 예가 전자 디바이스 내 코덱 내부에서 동작하는 본 발명의 실시예를 기술할지라도, 아래에 기술되는 바와 같이 본 발명은 임의의 비디오 코덱의 일부로서 구현될 수 있다고 인식될 것이다. 그래서, 예를 들면, 본 발명의 실시예는 고정 또는 유선 통신 경로를 통해 비디오 코딩을 실시할 수 있는 비디오 코덱에서 구현될 수 있다.
그러므로, 사용자 장비는 상기 본 발명의 실시예에서 기술된 바와 같은 비디오 코덱을 포함할 수 있다. 사용자 장비라는 용어는 모바일 텔레폰, 휴대용 데이터 처리 디바이스 또는 휴대용 웹 브라우저와 같은 임의의 적합한 형태의 무선 사용자 장비를 망라하는 것으로 의도하는 것이 인식될 것이다.
뿐만 아니라 공중 육상 모바일 네트워크(public land mobile network, PLMN)의 요소 또한 전술한 바와 같은 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들면, 비록 본 발명이 이것으로 한정되지 않지만, 일부 양태는 하드웨어로 구현될 수 있는 한편, 다른 양태는 컨트롤러, 마이크로프로세서 또는 다른 컴퓨팅 디바이스에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있다. 본 발명의 다양한 양태가 블록도, 플로우 차트로서 또는 일부 다른 회화적 표현을 이용하여 묘사되고 기술될 수 있지만, 본 출원에 기술된 이러한 블록, 장치, 시스템, 기술 또는 방법은, 비-한정적인 예로서, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로나 로직, 범용 하드웨어나 컨트롤러나 다른 컴퓨팅 디바이스, 또는 이들의 일부 조합으로 구현될 수 있다는 것 또한 이해될 것이다.
본 발명의 실시예는 프로세서 엔티티에서와 같은 모바일 디바이스의 데이터 프로세서에 의해 실행가능한 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 또한, 이와 관련하여, 도면에서처럼 로직 흐름의 임의의 블록은 프로그램 단계, 또는 상호연결된 로직 회로, 블록 및 기능, 또는 프로그램 단계와 로직 회로, 블록 및 기능과의 조합을 표현할 수 있다는 것을 주목하여야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내부에서 구현된 메모리 블록과 같은 물리적 매체, 하드 디스크나 플로피 디스크와 같은 자기 매체, 그리고 예를 들면, DVD 및 그의 데이터 변형방식인 CD와 같은 광학 매체 상에 저장될 수 있다.
메모리는 지엽적인 기술 환경에 적합한 임의의 형태를 가질 수 있으며 반도체-기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정 메모리 및 제거가능한 메모리와 같은 임의의 적합한 데이터 저장 기술을 이용하여 구현될 수 있다. 데이터 프로세서는 지엽적인 기술 환경에 적합한 임의의 형태를 가질 수 있으며, 비-한정적인 예로서 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSPs) 및 멀티-코어 프로세서 아키텍처에 기반한 프로세서 중 하나 이상을 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 각종 컴포넌트에서 실시될 수 있다. 집적 회로의 디자인은 전반적으로 고도로 자동화된 프로세스이다. 복잡하고 강력한 소프트웨어 툴은 로직 레벨 디자인을 반도체 기판 상에서 에칭되어 형성되게 준비된 반도체 회로 디자인으로 변환하는데 이용할 수 있다.
캘리포니아, 마운틴 뷰 소재의 시놉시스 Synopsys Inc.와 캘리포니아 산호세 소재의 Cadence Design에 의해 제공된 것과 같은 프로그램은 자동적으로 전도체를 경로설정하고 잘 설정된 디자인 룰 및 기-저장된 디자인 모듈의 라이브러리를 이용하여 반도체 칩상에 컴포넌트를 배치한다. 일단 반도체 회로의 디자인이 완성되면, 표준화된 전자 포맷(예를 들면, Opus 또는 GDSII 등)의 결과적인 디자인은 반도체 제조 설비 또는 제조용 "팹(fab)"으로 전달될 수 있다.
전술한 설명은 본 발명의 예시적인 실시예의 풍부하고 유익한 설명을 예시적이고 비-한정적인 예로서 제공하였다. 그러나, 첨부 도면 및 첨부의 청구범위와 함께 읽어볼 때 전술한 설명의 관점에서 보아 관련 기술에서 통상의 지식을 가진 자들에게는 여러 가지 수정과 적응이 자명해질 수 있다. 그러나, 본 발명의 가르침의 그러한 모든 변형 및 유사한 변형은 그럼에도 본 발명의 범주 내에 속할 것이다.
제 1 실시예에 따른 방법은 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하는 단계를 포함하며, 이 방법은,
비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하는 단계와,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 단계와,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 또는 제 2 세트의 예측 타입의 표시에 대신하여 또는 그에 부가하여,
비트스트림에서, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 인코딩하는 단계를 포함한다.
실시예에 따르면, 제 2 강화 계층은 베이스 계층에 대해 제 1 확장성 타입을 그리고 제 1 강화 계층에 대해 제 2 확장성 타입을 강화한다.
실시예에 따르면, 방법은,
베이스 및/또는 제 1 강화 계층 및 제 2 강화 계층의 하나 이상의 각각의 조합마다의 표시를 연관시키는 단계와,
상기 비트스트림에서 상기 표시 중 한 가지 이상의 표시를 인코딩하여
특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능한지 또는 특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 표시하기 위해 비트스트림에서 상기 표시 중 한 가지 이상의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 방법은,
표시를 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 임의의 다른 타입의 파라미터 세트, 시퀀스 헤더, 픽처 헤더 그룹, 픽처 헤더, 슬라이스 헤더, 및/또는 추가적 강화 정보 메시지(supplemental enhancement information message)와 같은 구조 중 적어도 하나의 구조에서 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나를 포함한다.
실시예에 따르면, 방법은,
여러 타입의 예측의 적용 가능성을 한 가지 값의 신택스 요소로 표시하는 표시를 연관시키는 단계를 더 포함한다.
실시예에 따르면, 방법은,
신택스 구조에서, 특정한 예측 타입에 대한 표시를 인코딩하는 단계와, 신택스 구조에서, 예측 타입이 적용 가능한 참조 계층과 강화 계층 쌍의 리스트를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, RAP 픽처와 같은 제 1 타입의 픽처에 대한 하나 이상의 표시를 인코딩하는 단계와, 논-RAP 픽처와 같은 제 2 타입의 픽처에 대한 하나 이상의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 상이한 타입의 확장성, 상이한 세트의 확장성 계층, 및/또는 상이한 세트의 시간 서브-계층에 대한 표시를 개별적으로 인코딩하는 단계를 더 포함한다.
제 2 실시예에 따른 장치는,
베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하도록 구성된 비디오 인코더를 포함하며, 상기 비디오 인코더는 또한 비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하고,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하고,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하기 위해 구성된다.
제 3 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되는 컴퓨터 판독가능한 저장 매체가 제공되며, 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하는 것과,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 것과,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 과정을 수행하게 한다.
제 4 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하고, 상기 적어도 하나의 메모리에는 코드가 저장되고, 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
상기 비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하는 것과,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 것과,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하는 과정을 수행하게 한다.
제 5 실시예에 따른 방법은 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하는 단계를 포함하고, 방법은,
비트스트림으로부터, 제 2 강화 계층에 대한 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하는 단계와,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 단계와,
비트스트림으로부터, 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 단계와,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터의 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하는 단계를 포함한다.
실시예에 따르면, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 또는 제 2 세트의 예측 타입의 표시에 대신하여 또는 그에 부가하여, 방법은,
비트스트림으로부터, 베이스 또는 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 제 2 강화 계층은 베이스 계층에 대해 제 1 확장성 타입을 그리고 제 1 강화 계층에 대해 제 2 확장성 타입을 강화한다.
실시예에 따르면, 비트스트림은 베이스 및/또는 제 1 강화 계층 및 제 2 강화 계층의 하나 이상의 각각의 조합마다의 연관된 표시를 포함하며, 방법은,
특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능한지 또는 특정 세트의 예측 타입이 베이스 및/또는 제 1 강화 계층으로부터 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 해석하기 위해 상기 비트스트림으로부터 상기 표시 중 한 가지 이상을 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 방법은,
표시를 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 임의의 다른 타입의 파라미터 세트, 시퀀스 헤더, 픽처 헤더 그룹, 픽처 헤더, 슬라이스 헤더, 및/또는 추가적 강화 정보 메시지(supplemental enhancement information message)와 같은 구조 중 적어도 하나의 구조로부터 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나를 포함한다.
실시예에 따르면, 방법은,
여러 타입의 예측의 적용 가능성을 한 가지 값의 신택스 요소로 표시하는 표시를 해석하는 단계를 더 포함한다.
실시예에 따르면, 방법은,
신택스 구조로부터, 특정한 예측 타입에 대한 표시를 디코딩하는 단계와, 신택스 구조로부터, 예측 타입이 적용 가능한 참조 계층 및 강화 계층의 쌍의 리스트를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, RAP 픽처와 같은 제 1 타입의 픽처에 대한 하나 이상의 표시를 디코딩하는 단계와, 논-RAP 픽처와 같은 제 2 타입의 픽처에 대한 하나 이상의 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 상이한 타입의 확장성, 상이한 세트의 확장성 계층, 및/또는 상이한 세트의 시간 서브-계층에 대한 표시를 개별적으로 디코딩하는 단계를 더 포함한다.
제 6 실시예에 따른 장치는,
베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하기 위해 구성된 비디오 디코더를 포함하고, 이 비디오 디코더는,
비트스트림으로부터, 제 2 강화 계층에 대한 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하고,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터의 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하기 위해 구성된다.
제 7 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되는 컴퓨터 판독가능한 저장 매체가 제공되며, 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림으로부터 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하는 것과,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하는 과정을 수행하게 한다.
제 8 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되고, 상기 적어도 하나의 메모리에는 코드가 저장되고, 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림으로부터 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하는 것과,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하는 것과,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하는 과정을 수행하게 한다.
제 9 실시예에 따르면, 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하기 위해 구성되는 비디오 인코더가 제공되며, 비디오 인코더는 또한,
비트스트림 내 제 2 강화 계층의 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 인코딩하고,
비트스트림에서, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하고,
비트스트림에서, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 인코딩하기 위해 구성된다.
제 10 실시예에 따르면, 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하기 위해 구성되는 비디오 디코더로서, 상기 비디오 디코더는 또한,
비트스트림으로부터, 제 2 강화 계층에 대한 예측을 위해 사용된 두 개의 베이스 계층 및 제 1 강화 계층의 표시를 해석하고,
비트스트림으로부터, 베이스 계층으로부터 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입 - 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
비트스트림으로부터, 제 1 강화 계층으로부터 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입 - 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 의 표시를 해석하고,
베이스 계층으로부터 제 1 세트의 예측 타입 및 제 1 강화 계층으로부터의 상기 제 2 세트의 예측 타입만을 이용하여 제 2 강화 계층을 디코딩하기 위해 구성된다.

Claims (44)

  1. 비디오를 비트스트림으로 인코딩하는 방법으로서,
    베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하는 단계와,
    상기 비트스트림 내 상기 제 2 강화 계층의 예측을 위해 사용되는 상기 베이스 계층 및 상기 제 1 강화 계층 모두의 표시를 인코딩하는 단계와,
    상기 비트스트림에서, 상기 베이스 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입의 표시를 인코딩하는 단계 - 상기 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 와,
    상기 비트스트림에서, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입의 표시를 인코딩하는 단계 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 와,
    상기 비트스트림에서, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 인코딩하는 단계를 포함하며,
    상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나로 적응적으로 선택가능한(adaptively selectable)
    인코딩 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 베이스 계층 및/또는 상기 제 1 강화 계층과 상기 제 2 강화 계층의 하나 이상의 조합의 각각에 표시를 연관시키는 단계와,
    특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능한지 또는 상기 특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 표시하기 위해 상기 비트스트림에서 상기 표시 중 한 가지 이상의 표시를 인코딩하는 단계를 더 포함하는
    인코딩 방법.
  4. 제 1 항에 있어서,
    여러 타입의 예측의 적용 가능성을 신택스 요소의 하나의 값으로 표시하는 표시를 연관시키는 단계를 더 포함하는
    인코딩 방법.
  5. 제 1 항에 있어서,
    상기 인코딩 방법은,
    신택스 구조에서, 특정한 예측 타입에 대한 표시를 인코딩하는 단계와,
    상기 신택스 구조에서, 상기 예측 타입이 적용 가능한 참조 계층과 강화 계층 쌍의 리스트를 인코딩하는 단계를 더 포함하는
    인코딩 방법.
  6. 비디오를 비트스트림으로 인코딩하는 장치로서,
    베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하는 수단과,
    상기 비트스트림 내의 상기 제 2 강화 계층의 예측을 위해 사용되는 상기 베이스 계층 및 상기 제 1 강화 계층 모두의 표시를 인코딩하는 수단과,
    상기 비트스트림에서, 상기 베이스 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입의 표시를 인코딩하는 수단 - 상기 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 과,
    상기 비트스트림에서, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입의 표시를 인코딩하는 수단 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 과,
    상기 비트스트림에서, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 인코딩하는 수단을 포함하며,
    상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나로 적응적으로 선택가능한
    인코딩 장치.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 베이스 계층 및/또는 상기 제 1 강화 계층과 상기 제 2 강화 계층의 하나 이상의 조합의 각각에 대해 표시를 연관시키는 수단과,
    특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능한지 또는 상기 특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 표시하기 위해 상기 비트스트림에서 상기 표시 중 한 가지 이상의 표시를 인코딩하는 수단을 더 포함하는
    인코딩 장치.
  9. 제 6 항에 있어서,
    여러 타입의 예측의 적용 가능성을 신택스 요소의 하나의 값으로 표시하는 표시를 연관시키는 수단을 더 포함하는
    인코딩 장치.
  10. 제 6 항에 있어서,
    신택스 구조에서, 특정한 예측 타입에 대한 표시를 인코딩하는 수단과,
    상기 신택스 구조에서, 상기 예측 타입이 적용 가능한 참조 계층과 강화 계층 쌍의 리스트를 인코딩하는 수단을 더 포함하는
    인코딩 장치.
  11. 인코딩된 비디오 비트스트림을 디코딩하는 방법으로서,
    베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하는 단계를 포함하고, 상기 방법은,
    상기 비트스트림으로부터, 상기 제 2 강화 계층에 대한 예측을 위해 사용되는 상기 베이스 계층 및 상기 제 1 강화 계층 모두의 표시를 해석하는 단계와,
    상기 비트스트림으로부터, 상기 베이스 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입의 표시를 해석하는 단계 - 상기 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 와,
    상기 비트스트림으로부터, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입의 표시를 해석하는 단계 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 와,
    상기 베이스 계층으로부터의 상기 제 1 세트의 예측 타입 및 상기 제 1 강화 계층으로부터의 상기 제 2 세트의 예측 타입만을 이용하여 상기 제 2 강화 계층을 디코딩하는 단계와,
    상기 비트스트림으로부터, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 디코딩하는 단계를 포함하며,
    상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나로 적응적으로 선택가능한
    디코딩 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 비트스트림은 상기 베이스 계층 및/또는 상기 제 1 강화 계층과 상기 제 2 강화 계층의 하나 이상의 조합의 각각에 대해 연관된 표시를 포함하며, 상기 방법은,
    특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능한지 또는 상기 특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 해석하기 위해 상기 비트스트림으로부터 상기 표시 중 한 가지 이상의 표시를 디코딩하는 단계를 더 포함하는
    디코딩 방법.
  14. 제 11 항에 있어서,
    상기 디코딩 방법은,
    여러 타입의 예측의 적용 가능성을 신택스 요소의 하나의 값으로 표시하는 표시를 해석하는 단계를 더 포함하는
    디코딩 방법.
  15. 제 11 항에 있어서,
    상기 디코딩 방법은,
    신택스 구조로부터, 특정한 예측 타입에 대한 표시를 디코딩하는 단계와,
    상기 신택스 구조로부터, 상기 예측 타입이 적용 가능한 참조 계층과 강화 계층 쌍의 리스트를 디코딩하는 단계를 더 포함하는
    디코딩 방법.
  16. 인코딩된 비디오 비트스트림을 디코딩하는 장치로서,
    베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하는 수단을 포함하고, 상기 장치는
    상기 비트스트림으로부터, 상기 제 2 강화 계층에 대한 예측을 위해 사용되는 상기 베이스 계층 및 상기 제 1 강화 계층 모두의 표시를 해석하는 수단과,
    상기 비트스트림으로부터, 상기 베이스 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입의 표시를 해석하는 수단 - 상기 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 과,
    상기 비트스트림으로부터, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입의 표시를 해석하는 수단 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 과,
    상기 베이스 계층으로부터의 상기 제 1 세트의 예측 타입 및 상기 제 1 강화 계층으로부터의 상기 제 2 세트의 예측 타입만을 이용하여 상기 제 2 강화 계층을 디코딩하는 수단과,
    상기 비트스트림으로부터, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 디코딩하는 수단을 포함하며,
    상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나로 적응적으로 선택가능한
    디코딩 장치.
  17. 삭제
  18. 제 16 항에 있어서,
    상기 비트스트림은 상기 베이스 계층 및/또는 상기 제 1 강화 계층과 상기 제 2 강화 계층의 하나 이상의 조합의 각각에 대해 연관된 표시를 포함하며, 상기 장치는,
    특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능한지 또는 상기 특정 세트의 예측 타입이 상기 베이스 계층 및/또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로의 예측에 적용 가능하지 않은지를 해석하기 위해 상기 비트스트림으로부터 상기 표시 중 한 가지 이상의 표시를 디코딩하는 수단을 더 포함하는
    디코딩 장치.
  19. 제 16 항에 있어서,
    여러 타입의 예측의 적용 가능성을 신택스 요소의 하나의 값으로 표시하는 표시를 해석하는 수단을 더 포함하는
    디코딩 장치.
  20. 제 16 항에 있어서,
    신택스 구조로부터, 특정한 예측 타입에 대한 표시를 디코딩하는 수단과,
    상기 신택스 구조로부터, 상기 예측 타입이 적용 가능한 참조 계층과 강화 계층 쌍의 리스트를 디코딩하는 수단을 더 포함하는
    디코딩 장치.
  21. 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 인코딩하기 위해 구성되는 비디오 인코더로서,
    상기 비디오 인코더는 또한,
    상기 비트스트림 내의 상기 제 2 강화 계층의 예측을 위해 사용되는 상기 베이스 계층 및 상기 제 1 강화 계층 모두의 표시를 인코딩하고,
    상기 비트스트림에서, 상기 베이스 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입의 표시를 인코딩 - 상기 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 하고,
    상기 비트스트림에서, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입의 표시를 인코딩 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 하고,
    상기 비트스트림에서, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 인코딩하기 위해 구성되며,
    상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나로 적응적으로 선택가능한
    비디오 인코더.
  22. 베이스 계층, 제 1 강화 계층 및 제 2 강화 계층을 포함하는 비트스트림을 디코딩하기 위해 구성되는 비디오 디코더로서, 상기 비디오 디코더는 또한,
    상기 비트스트림으로부터, 상기 제 2 강화 계층에 대한 예측을 위해 사용되는 상기 베이스 계층 및 상기 제 1 강화 계층 모두의 표시를 해석하고,
    상기 비트스트림으로부터, 상기 베이스 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 1 세트의 예측 타입의 표시를 해석 - 상기 제 1 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 하고,
    상기 비트스트림으로부터, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능한 제 2 세트의 예측 타입의 표시를 해석 - 상기 제 2 세트의 예측 타입은 계층들 간의 예측에 이용 가능한 모든 예측 타입들의 서브세트임 - 하고,
    상기 베이스 계층으로부터의 상기 제 1 세트의 예측 타입 및 상기 제 1 강화 계층으로부터의 상기 제 2 세트의 예측 타입만을 이용하여 상기 제 2 강화 계층을 디코딩하고,
    상기 비트스트림으로부터, 상기 베이스 계층 또는 상기 제 1 강화 계층으로부터 상기 제 2 강화 계층으로 적용 가능하지 않은 적어도 한 세트의 예측 타입의 표시를 디코딩하기 위해 구성되며,
    상기 예측 타입은 샘플 예측, 움직임 정보 예측, 필터링 파라미터 예측 중 적어도 하나로 적응적으로 선택가능한
    비디오 디코더.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
KR1020157020987A 2013-01-04 2013-12-31 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램 KR101874922B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361748938P 2013-01-04 2013-01-04
US61/748,938 2013-01-04
PCT/FI2013/051216 WO2014106685A1 (en) 2013-01-04 2013-12-31 An apparatus, a method and a computer program for video coding and decoding

Publications (2)

Publication Number Publication Date
KR20150104143A KR20150104143A (ko) 2015-09-14
KR101874922B1 true KR101874922B1 (ko) 2018-07-05

Family

ID=51062172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020987A KR101874922B1 (ko) 2013-01-04 2013-12-31 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (5) US9900609B2 (ko)
EP (1) EP2941877B1 (ko)
KR (1) KR101874922B1 (ko)
CN (1) CN105027569B (ko)
SG (1) SG11201505278TA (ko)
WO (1) WO2014106685A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2839660B1 (en) * 2012-04-16 2020-10-07 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US9900609B2 (en) 2013-01-04 2018-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
CN104919803B (zh) * 2013-01-15 2017-09-12 华为技术有限公司 一种用于解码视频比特流的方法
US10194146B2 (en) * 2013-03-26 2019-01-29 Qualcomm Incorporated Device and method for scalable coding of video information
US10708588B2 (en) * 2013-06-19 2020-07-07 Apple Inc. Sample adaptive offset control
US20150016503A1 (en) * 2013-07-15 2015-01-15 Qualcomm Incorporated Tiles and wavefront processing in multi-layer context
US9826232B2 (en) * 2014-01-08 2017-11-21 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
EP3107290B1 (en) * 2014-03-14 2021-07-28 Samsung Electronics Co., Ltd. Method and device for configuring merge candidate list for decoding and encoding of interlayer video
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
EP3177025A4 (en) * 2014-07-31 2018-01-10 Sony Corporation Transmission apparatus, transmission method, reception apparatus and reception method
GB2538531A (en) * 2015-05-20 2016-11-23 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2017073360A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
DE102017126447A1 (de) 2017-11-10 2019-05-16 CHT Germany GmbH Beschichtung von Faserprodukten mit wässrigen Polymerdispersionen
SG11202012940XA (en) 2018-06-26 2021-01-28 Huawei Tech Co Ltd High-level syntax designs for point cloud coding
CN114424535A (zh) * 2019-09-23 2022-04-29 交互数字Vc控股法国有限公司 使用外部参考对视频编码和解码进行预测
KR20220156829A (ko) * 2020-03-20 2022-11-28 바이트댄스 아이엔씨 이웃 서브픽처의 코딩

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089411A1 (en) * 2006-10-16 2008-04-17 Nokia Corporation Multiple-hypothesis cross-layer prediction

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006009344A1 (en) * 2004-07-22 2006-01-26 Electronics And Telecommunications Research Institute Saf synchronization layer packet structure and server system therefor
US7564652B2 (en) * 2005-07-06 2009-07-21 Sae Magnetics (H.K.) Ltd. Head gimbal assembly including a one-piece structural suspension and an accessory plate, and method of manufacturing the same
US20070014346A1 (en) * 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
JP2009512306A (ja) * 2005-10-11 2009-03-19 ノキア コーポレイション スケーラブルビデオコーディングのためのデコードされたピクチャーの効率的なバッファマネージメント
JP2008003520A (ja) * 2006-06-26 2008-01-10 Toshiba Corp フォトマスク及び半導体装置の製造方法
EP2009160B1 (de) * 2007-06-26 2016-09-28 Groz-Beckert KG Schneidnadel mit wechselbarem messer
CN101420609B (zh) 2007-10-24 2010-08-25 华为终端有限公司 视频编码、解码方法及视频编码器、解码器
KR20120081022A (ko) 2009-05-01 2012-07-18 톰슨 라이센싱 3d 비디오 코딩 포맷
EP2619985A4 (en) 2010-09-24 2015-03-11 Nokia Corp PROCESSES, DEVICES AND COMPUTER PROGRAMS FOR VIDEO ENCRYPTION
EP2684293A4 (en) 2011-03-10 2014-10-29 Vidyo Inc SET OF DEPENDENCY PARAMETERS FOR EVOLVING VIDEO CODING
JP2014514833A (ja) 2011-06-10 2014-06-19 メディアテック インコーポレイテッド スケーラブルビデオコーディングの方法及び装置
US9860528B2 (en) 2011-06-10 2018-01-02 Hfi Innovation Inc. Method and apparatus of scalable video coding
US10205961B2 (en) * 2012-04-23 2019-02-12 Qualcomm Incorporated View dependency in multi-view coding and 3D coding
US20130287093A1 (en) 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
US9900609B2 (en) 2013-01-04 2018-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089411A1 (en) * 2006-10-16 2008-04-17 Nokia Corporation Multiple-hypothesis cross-layer prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H. Schwarz, et al. Overview of the Scalable Video Coding Extension of the H.264/AVC Standard. IEEE Trans. on CSVT. Sep. 2007, Vol.17, No.9, pp.1103-1120*

Also Published As

Publication number Publication date
KR20150104143A (ko) 2015-09-14
US20140205021A1 (en) 2014-07-24
US20180176591A1 (en) 2018-06-21
US11153592B2 (en) 2021-10-19
US20220038733A1 (en) 2022-02-03
US20240056595A1 (en) 2024-02-15
US11800131B2 (en) 2023-10-24
US9900609B2 (en) 2018-02-20
CN105027569A (zh) 2015-11-04
CN105027569B (zh) 2019-12-31
WO2014106685A1 (en) 2014-07-10
EP2941877A4 (en) 2016-07-13
US10506247B2 (en) 2019-12-10
US20200092572A1 (en) 2020-03-19
EP2941877A1 (en) 2015-11-11
SG11201505278TA (en) 2015-08-28
EP2941877B1 (en) 2020-05-27

Similar Documents

Publication Publication Date Title
KR101874922B1 (ko) 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
KR101881677B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101767331B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101713005B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR102224703B1 (ko) 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
KR101790156B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101851479B1 (ko) 파라미터 세트 코딩
KR101825575B1 (ko) 비디오 코딩 및 디코딩 방법 및 장치
US20140254681A1 (en) Apparatus, a method and a computer program for video coding and decoding
GB2516424A (en) A method, an apparatus and a computer program product for video coding and decoding
GB2519750A (en) An apparatus, a method and a computer program for video coding and decoding

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)