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

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

Info

Publication number
KR20150065763A
KR20150065763A KR1020157010909A KR20157010909A KR20150065763A KR 20150065763 A KR20150065763 A KR 20150065763A KR 1020157010909 A KR1020157010909 A KR 1020157010909A KR 20157010909 A KR20157010909 A KR 20157010909A KR 20150065763 A KR20150065763 A KR 20150065763A
Authority
KR
South Korea
Prior art keywords
picture
inter
layer
nal unit
bitstream
Prior art date
Application number
KR1020157010909A
Other languages
English (en)
Other versions
KR101775250B1 (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 KR20150065763A publication Critical patent/KR20150065763A/ko
Application granted granted Critical
Publication of KR101775250B1 publication Critical patent/KR101775250B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 코딩 및 디코딩을 위한 각종 방법, 장치 및 컴퓨터 프로그램 제품이 기술된다. 다른 실시예에서, 스케일러블 비트스트림을 인코딩하기 위하여 인코딩 구성을 표시하는 과정을 제공하는 방법, 장치, 장치에 의해 사용하기 위한 코드가 저장된 컴퓨터 판독가능한 저장 매체, 및 비디오 인코더가 제공되며, 여기서 베이스 계층의 인트라 코딩된 픽처로부터 오직 샘플 및 신택스만이 강화 계층 픽처를 코딩하는데 사용된다. 다른 실시예에서, 스케일러블 비트스트림을 디코딩하기 위하여 인코딩 구성의 표시를 수신하는 장치, 장치에 의해 사용하기 위한 코드가 저장된 컴퓨터 판독가능한 저장 매체, 및 비디오 디코더가 제공되며, 여기서 베이스 계층의 인트라 코딩된 픽처로부터 오직 샘플 및 신택스만이 강화 계층 픽처를 코딩하는데 사용된다.

Description

비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램{AN APPARATUS, A METHOD AND A COMPUTER PROGRAM FOR VIDEO CODING AND DECODING}
본 발명은 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
비디오 코덱은 입력 비디오를 저장 및/또는 전송에 적합한 압축된 표현으로 변환하는 인코더와 압축된 비디오 표현을 다시 시청 가능한 형태로 복원할 수 있는 디코더를 포함하거나 이들 중 어느 하나를 포함할 수 있다. 전형적으로, 인코더는 비디오를 더 밀집한 형태로, 예를 들면, 더 낮은 비트율로 표현하기 위하여 원 비디오 시퀀스(original video sequence)에서 일부의 정보를 버린다.
스케일러블 비디오 코딩(scalable video coding)은 하나의 비트스트림이 콘텐츠의 여러 표현을 상이한 비트율, 해상도 또는 프레임율로 갖고 있을 수 있는 코딩 구조를 말한다. 스케일러블 비트스트림은 전형적으로 최저 품질의 이용 가능한 비디오를 제공하는 "베이스 계층(base layer)"과 낮은 계층과 함께 수신되고 디코딩될 때 비디오 품질을 강화하는 하나 이상의 강화 계층(enhancement layers)으로 구성된다. 강화 계층의 코딩 효율을 개선하기 위하여, 강화 계층의 코딩된 표현은 일반적으로 하위 계층에 의존한다.
비디오 코딩 방법은 보통 움직임 보상된 예측을 활용하는데, 움직임 보상된 예측에서는 코딩되는 블록에 밀접하게 대응하는 이전에 코딩된 비디오 프레임 중 한 프레임 내 어떤 영역이 현재 프레임을 인코딩하기 위한 참조로서 사용된다. 움직임 보상 이후 획득되는 재구성된 픽처는 일반적으로 블록화(blocking), 링잉(ringing) 등과 같은 각종 아티팩트를 가지고 있다. 아티팩트를 제거하기 위하여, 루프 필터링과 같은 다양한 사후 처리 동작이 적용된다. 예를 들어 H.264/SVC 비디오 코딩에서 사용되는 단일 루프 디코딩 시, 강화 계층의 픽처는 베이스 계층으로부터 인트라 코딩된 샘플 그리고 또한 디코딩된 신택스 요소를 참조하여서만 코딩된다. 다시 말해서, 시간적으로 예측된 블록은 베이스 계층에서 디코딩되지 않으며 강화 계층 픽처를 디코딩하는데는 단일의 움직임 보상된 루프만이 필요하다.
그럼에도 불구하고, 단일 루프 코딩은 주로 인터 픽처에 관련된 신택스 요소가 그래도 디코딩되어야 한다는 사실로 인한 단점을 가지고 있다. 다시 말해서, 설령 강화 계층 디코딩 프로세서에서 픽처 내 작은 부분의 데이터만이 필요할지라도, 인터 베이스 계층 픽처 전체가 스케일러블 디코더로 전송되어야 한다. 더욱이 단일 루프 디코딩은, 예를 들면 강화 계층이 스케일러블 HEVC 코딩으로 코딩되는 반면 베이스 계층은 H.264/AVC 코딩으로 코딩되는 표준의 스케일러블 사용 사례에 적용하기가 어려운데, 이것은 베이스 계층의 신택스 요소가 필요하기 때문이다.
본 발명은 인코딩 구성을 표시할 수 있는 새로운 시퀀스 레벨 표시(a new sequence level indication)가 제공되는 고려 사항에서 비롯되며, 이러한 코딩 구조에서는 베이스 계층의 인트라 코딩된 픽처로부터의 샘플과 신택스만이 강화 계층 픽처를 코딩하는데 사용된다.
제 1 실시예에 따르면, 방법은,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 단계와,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 단계와,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 단계를 포함한다.
실시예에 따르면, 방법은 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 정제하는(refining) 하나 이상의 부가적인 표시를 특정 계층에 특정되게 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 인트라-코딩된 픽처로 제한한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한한다.
실시예에 따르면, 방법은 가용 계산 자원, 참조 프레임의 저장을 위한 가용 메모리, 가용 메모리 액세스 대역폭, 및/또는 구현된 계층 간 코딩 툴을 기반으로 하여 계층 간 예측의 사용에 관련한 정보를 결정하는 단계를 더 포함한다.
실시예에 따르면, 방법은 하나 이상의 신택스 요소 내 상기 하나 이상의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함된다.
제 2 실시예에 따른 장치는,
베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 인코딩하기 위해 구성된 비디오 인코더를 포함하며, 상기 비디오 인코더는,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하기 위해 더 구성된다.
제 3 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되어 있는 컴퓨터 판독가능한 저장 매체가 제공되며, 이 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 과정과,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 과정을 수행하게 한다.
제 4 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되며, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 과정과,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 과정을 수행하게 한다.
제 5 실시예에 따른 방법은 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위한 방법을 포함하며, 이 방법은,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시 또는 상기 비트스트림 내 하나 이상의 코딩된 비디오 시퀀스를 수신하는 단계 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 와,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 단계와,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하는 단계를 포함한다.
실시예에 따르면, 방법은 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 상기 하나 이상의 표시를 특정 계층에 특정되도록 정제하는 하나 이상의 부가적인 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 방법은 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 생략하는 단계를 더 포함한다.
실시예에 따르면, 방법은 가용 계산 자원, 참조 프레임의 저장을 위한 가용 메모리, 가용 메모리 액세스 대역폭, 및/또는 디코딩 장치의 구현된 계층 간 코딩 툴을 기반으로 하여 디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 단계를 더 포함한다.
실시예에 따르면, 하나 이상의 타겟 출력 계층은 하나보다 많은 계층 식별자를 특징으로 한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 인트라-코딩된 픽처로 제한한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한한다.
실시예에 따르면, 방법은 하나 이상의 신택스 요소로부터 상기 하나 이상의 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함된다.
제 6 실시예에 따른 장치는,
베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위해 구성된 비디오 디코더를 포함하며, 비디오 디코더는,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림과 연관된 하나 이상의 표시 정보로부터 디코딩하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하기 위해 구성된다.
제 7 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되어 있는 컴퓨터 판독가능한 저장 매체가 제공되며, 이 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신하는 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 과정과,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시 정보로부터 디코딩하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하는 과정을 수행하게 한다.
제 8 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되며, 적어도 하나의 메모리에는 코드가 저장되고, 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신하는 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 과정과,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시로부터 디코딩하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하는 과정을 수행하게 한다.
제 9 실시예에 따른 방법은 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 수정하기 위한 방법을 포함하며, 이 방법은,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신하는 단계 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 와,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 단계와,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합을 결정하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 상기 NAL 유닛을 포워딩하는 단계를 포함한다.
제 10 실시예에 따른 장치는,
베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 수정하기 위해 구성된 비트스트림 수정자를 포함하며, 이 비트스트림 수정자는,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하고,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합을 결정하고,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 상기 NAL 유닛을 포워딩하기 위해 구성된다.
제 11 실시예에 따르면, 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 인코딩하기 위해 구성된 비디오 인코더가 제공되며, 상기 비디오 인코더는,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
계층 간 예측을 위한 상기 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하기 위해 더 구성된다.
제 12 실시예에 따르면, 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위해 구성된 비디오 디코더가 제공되며, 상기 비디오 디코더는,
비트스트림의 적어도 일부 및 상기 비트스트림과 연관된 하나 이상의 표시를 수신 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하기 위해 구성된다.
본 발명의 더 나은 이해를 위해, 이제 첨부 도면이 예를 들어 참조될 것이다.
도 1은 본 발명의 일부 실시예를 사용하는 전자 장치를 개략적으로 도시한다.
도 2는 본 발명의 일부 실시예를 사용하기에 적합한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 연결을 이용하여 연결된 본 발명의 실시예를 사용하는 전자 장치를 개략적으로 더 도시한다.
도 4는 본 발명의 일부 실시예를 실시하기에 적합한 인코더를 개략적으로 도시한다.
도 5는 AVMP 프로세스에서 움직임 예측 후보를 결정하는 일 예를 도시한다.
도 6은 HEVC 코덱에서 사용 가능한 필터 블록을 개략적으로 도시한다.
도 7은 공간 스케일러빌리티 인코더의 구조를 개략적으로 도시한다.
도 8은 공간 스케일러빌리티 디코더의 구조를 개략적으로 도시한다.
도 9는 본 발명의 일부 실시예에 따른 인코딩 프로세스의 흐름도를 도시한다.
도 10은 본 발명의 일부 실시예에 따른 비트스트림 수정 프로세스의 흐름도를 도시한다.
도 11은 본 발명의 일부 실시예에 따른 디코더의 개요도를 도시한다.
도 12는 본 발명의 일부 실시예에 따른 디코딩 프로세스의 흐름도를 도시한다.
도 13은 두 개의 타일로 구성된 픽처의 일 예를 도시한다.
코딩 효율을 심각하게 훼손하지 않고 강화 계층 서브-픽처를 인코딩하기에 적합한 장치 및 가능한 메커니즘이 아래에서 더 상세히 설명된다. 이와 관련하여, 먼저 본 발명의 실시예에 따른 코덱을 포함하는 예시적인 장치 또는 전자 기기(50)의 개략적인 블록도를 도시하는 도 1이 참조된다.
전자 기기(50)는 예를 들면, 무선 통신 시스템의 모바일 단말 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지를 인코딩 및 디코딩 또는 인코딩이나 디코딩하는 것을 필요로 할 수 있는 임의의 전자 기기 또는 장치 내에서 구현될 수 있다.
장치(50)는 장치를 내장하고 보호하는 하우징(30)을 포함할 수 있다. 장치(50)는 또한 액정 디스플레이 형태의 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 디스플레이하는데 적절한 임의의 적절한 디스플레이 기술일 수 있다. 장치(50)는 키패드(34)를 더 포함할 수 있다. 본 발명의 다른 실시예에서, 임의의 적절한 데이터 또는 사용자 인터페이스 메커니즘이 사용될 수 있다. 예를 들면, 사용자 인터페이스는 접촉 감응식 디스플레이의 부분으로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 입력되는 마이크로폰(36) 또는 디지털이나 아날로그 신호일 수 있는 임의의 적절한 오디오 입력을 포함할 수 있다. 장치(50)는 본 발명의 실시예에서, 수화기(an earpiece)(38), 스피커, 또는 유사 오디오 또는 디지털 오디오 출력 접속부 중 임의의 것일 수 있는 오디오 출력 장치를 더 포함할 수 있다. 장치(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), 개인 휴대정보 단말(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 비디오 코덱은 비디오 정보를 두 가지 국면으로 인코딩한다. 첫째로, 소정 픽처 영역 또는 "블록" 내 픽셀 값은, 예를 들면 (코딩되는 블록에 밀접하게 대응하는 이전에 코딩된 비디오 프레임들 중 한 프레임 내에서 영역을 찾아 표시하는) 움직임 보상 수단에 의해 또는 (특정한 방식으로 코딩되는 블록 주변의 픽셀 값을 이용하는) 공간 수단에 의해 예측될 수 있다. 두 번째로, 예측 오차, 즉 예측된 픽셀 블록과 원 픽셀 블록 간의 차가 코딩된다. 전형적으로 이것은 명시된 변환(예를 들면, 이산 코사인 변환(DCT) 또는 그의 변형)을 이용하여 픽셀 값들의 차를 변환하고, 계수를 양자화하고 양자화된 계수를 엔트로피 인코딩함으로써 이루어진다. 양자화 프로세스의 충실도를 변화시킴으로써, 인코더는 픽셀 표현의 정확도(픽처 품질)와 결과적으로 코딩된 비디오 표현의 크기(파일 크기 또는 전송 비트율) 간의 균형을 제어할 수 있다.
비디오 코딩은 전형적으로 2-단 프로세스이다. 즉, 처음에, 이전에 코딩된 데이터에 기초하여 비디오 신호의 예측이 발생된다. 그 다음으로, 예측된 신호와 소스 신호 간의 잔차(residual)가 코딩된다. 시간 예측, 움직임 보상, 또는 움직임-보상된 예측이라고도 부를 수 있는 인터 예측은 시간 리던던시를 줄여준다. 인터 예측 시, 예측의 소스는 이전에 디코딩된 픽처이다. 인트라 예측은 동일한 픽처 내 인접한 픽셀은 아마도 상관 가능성이 있다라는 사실을 활용한다. 인트라 예측은 공간 또는 변환 도메인에서 수행될 수 있다. 즉, 샘플 값 또는 변환 계수가 예측될 수 있다. 전형적으로 인트라 예측은 인트라 코딩에서 사용되며, 이 경우 아무런 인터 예측이 적용되지 않는다.
코딩 절차의 한가지 결과는 움직임 벡터 및 양자화된 변환 계수와 같은 일련의 코딩 파라미터이다. 많은 파라미터는 만일 이들이 공간적으로 또는 시간적으로 이웃 파라미터로부터 처음 예측되면 더욱 효과적으로 엔트로피-코딩될 수 있다. 예를 들면, 움직임 벡터는 공간적으로 인접한 움직임 벡터로부터 예측될 수 있고 움직임 벡터 예측기에 대비한 차만이 코딩될 수 있다. 코딩 파라미터의 예측 및 인트라 예측은 일괄하여 인-픽처 예측(in-picture prediction)이라 지칭될 수 있다.
도 4에 대하여, 본 발명의 실시예를 실행하기에 적합한 비디오 인코더의 블록도가 도시된다. 도 4는 인코더가 픽셀 예측기(302), 예측 오차 인코더(303) 및 예측 오차 디코더(304)를 포함하는 것으로 도시된다. 도 4는 또한 픽셀 예측기(302)의 실시예가 인터-예측기(306), 인트라-예측기(308), 모드 선택기(310), 필터(316), 및 참조 프레임 메모리(318)를 포함하는 것으로 도시된다. 픽셀 예측기(302)는 (이미지와 움직임 보상 참조 프레임(318) 간의 차를 결정하는) 인터-예측기(306) 및 (오직 현재 프레임 또는 픽처의 이미 처리된 부분에만 기초하여 이미지 블록에 대한 예측을 결정하는) 인트라-예측기(308)에서 인코딩될 이미지(300)를 수신한다. 두 인터-예측기 및 인트라-예측기의 출력은 모드 선택기(310)로 전달된다. 인트라-예측기(308)는 하나보다 많은 인트라-예측 모드를 가지고 있을 수 있다. 그래서, 각 모드는 인트라-예측을 수행하고 예측된 신호를 모드 선택기(310)로 제공할 수 있다. 모드 선택기(310)는 또한 이미지(300)의 카피를 수신한다.
현재 블록을 인코딩하기 위해 어느 인코딩 모드가 선택되는지에 따라서, 인터-예측기(306)의 출력 또는 선택사양의 인트라 예측기 모드 중 한 가지 모드의 출력 또는 모드 선택기 내 서피스 인코더(a surface encoder)의 출력이 모드 선택기(310)의 출력에 전달된다. 모드 선택기의 출력은 제 1 합산기(321)로 전달된다. 제 1 합산기는 픽셀 예측기(302)의 출력을 이미지(300)로부터 감산하여 제 1 예측 오차 신호(320)를 생성하며, 이 신호는 예측 오차 인코더(303)로 입력된다.
픽셀 예측기(302)는 또한 일차 재구성기(339)로부터 이미지 블록(312)의 예측 표현과 예측 오차 디코더(304)의 출력(338)의 조합을 수신한다. 일차 재구성된 이미지(314)는 인트라-예측기(308) 및 필터(316)로 전달될 수 있다. 일차 표현을 수신하는 필터(316)는 일차 표현을 필터하고 최종의 재구성된 이미지(340)를 출력할 수 있으며, 이 이미지는 참조 프레임(318)에 저장될 수 있다. 참조 프레임 메모리(318)는 참조 이미지로서 사용되기 위해 인터-예측기(306)에 연결될 수 있으며 참조 이미지에 대비하여 미래 이미지(300)가 인터-예측 동작에서 비교된다.
픽셀 예측기(302)의 동작은 본 기술에서 공지된 임의의 공지된 픽셀 예측 알고리즘을 실행하도록 구성될 수 있다.
예측 오차 인코더(303)는 변환 유닛(342) 및 양자화기(344)를 포함한다. 변환 유닛(342)은 제 1 예측 오차 신호(320)를 변환 도메인으로 변환한다. 변환은, 예를 들면, DCT 변환이다. 양자화기(344)는 변환 도메인 신호, 예를 들면 DCT 계수를 변환하여 양자화된 계수를 형성한다.
예측 오차 디코더(304)는 예측 오차 인코더(303)로부터의 출력을 수신하고 예측 오차 인코더(303)의 프로세스를 반대로 수행하여 디코딩된 예측 오차 신호(338)를 생성하며, 이 디코딩된 예측 오차 신호가 제 2 합산기(339)에서 이미지 블록(312)의 예측 표현과 조합될 때, 일차 재구성된 이미지(314)를 생성한다. 예측 오차 디코더는 양자화된 계수 값, 예를 들면 DCT 계수를 역 양자화하여 변한 신호를 재구성하는 역 양자화기(361) 및 재구성된 변환 신호의 역변환을 수행하는 역변환 유닛(363)을 포함하는 것으로 간주할 수 있으며, 이때 역변환 유닛(363)의 출력은 재구성된 블록(들)을 포함하고 있다. 예측 오차 디코더는 추가로 디코딩된 정보 및 필터 파라미터에 따라서 재구성된 매크로블록을 필터링할 수 있는 매크로블록 필터를 또한 포함한다.
엔트로피 인코더(330)는 예측 오차 인코더(303)의 출력을 수신하고 적절한 엔트로피 인코딩/가변 길이 인코딩을 신호에 대해 수행하여 오차 검출 및 정정 기능을 제공할 수 있다.
H.264/AVC 표준은 국제 전기통신 연합(ITU-T)의 전기통신 표준화 부분의 비디오 코딩 전문가 그룹(Video Coding Experts Group (VCEG))과 국제 표준화 기구(International Standardisation Organisation (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))를 이용하여 사실확인될 수 있다. 표준은 전송 오류 및 손실에 대처하는데 도움이 되는 코딩 툴을 포함하고 있지만, 인코딩 시에 툴을 사용하는 것은 선택사양이며 오류가 발생한 비트스트림의 처리를 위한 아무런 디코딩 프로세스도 명시되어 있지 않다.
기존의 표준에 관한 설명에서뿐만 아니라 일 예의 실시예의 설명에서, 신택스 요소는 비트스트림에서 표현된 데이터의 요소로서 정의될 수 있다. 신택스 구조는 특정 순서로 비트스트림에서 함께 존재하는 제로 이상의 신택스 요소로서 정의될 수 있다.
프로파일은 디코딩/코딩 표준 또는 사양에 의해 명시되는 전체 비트스트림 신택스의 서브세트로서 정의될 수 있다. 주어진 프로파일의 신택스에 의해 정해지는 경계 내에서는 디코딩된 픽처의 명시된 크기와 같이 비트스트림 내 신택스 요소가 가진 값에 따라서 인코더 및 디코더의 성능에서 아주 큰 변동을 요구하는 것이 여전히 가능하다. 많은 애플리케이션에서, 특정 프로파일 내 신택스의 모든 가설적 사용에 대처할 수 있는 디코더를 구현하는 것이 실용적이지도 않고 경제적이지 아닐 수도 있다. 이러한 문제에 대처하기 위하여, 레벨이 사용될 수 있다. 레벨은 비트스트림 내 신택스 요소의 값 및 디코딩/코딩 표준 또는 사양에서 명시된 값에 대해 정해진 제약사항의 명시된 집합으로서 정의될 수 있다. 이러한 제약 사항은 값에 관한 간단한 제약 사항이다. 대안으로 또는 부가적으로, 이러한 제약 사항은 값들의 산술적인 조합(예를 들면, 픽처 높이를 곱하고 초당 디코딩된 픽처의 수를 곱한 픽처 폭)에 관한 제약 사항의 형태를 가질 수 있다. 레벨의 제약 사항을 명시하기 위한 다른 수단이 또한 사용될 수 있다. 레벨에서 명시된 일부 제약 사항은 예를 들면 초(second)와 같은 기간 당, 매크로블록과 같은, 코딩 단위의 관점에서 최대 픽처 크기, 최대 비트레이트 및 최대 데이터 레이트에 관련할 수 있다. 레벨의 동일한 집합은 모든 프로파일에 대해 정의될 수 있다. 예를 들면, 각 레벨의 정의에 관한 대부분의 또는 모든 양태가 다양한 프로파일 전반에 공통적일 수 있는 다양한 프로파일을 실시하는 단말의 상호운용성을 높이는 것이 바람직할 수 있다.
H.264/AVC 또는 HEVC 인코더로의 입력 그리고 H.264/AVC 또는 HEVC 디코더의 출력의 기본 단위(elementary unit)는 각기 픽처이다. H.264/AVC 및 HEVC에서, 픽처는 프레임이거나 필드일 수 있다. 프레임은 전형적으로 루마 샘플(luma samples) 및 대응하는 크로마 샘플(chroma samples)의 행렬을 포함한다. 필드는, 소스 신호가 인터레이스될 때, 프레임의 일련의 교번하는 샘플 로우들(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 크기들로부터 선택 가능한 한 가지 크기의 정방형의 샘플 블록으로 구성된다. 최대 허용 크기를 갖는 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 표준에서, 픽처는 타일(tile)로 분할될 수 있으며, 이 타일은 장방형(rectangular)이며 정수개의 LCU를 포함하고 있다. 초안의 HEVC 표준에서, 타일로의 분할은 규칙적인 그리드를 형성하는데, 그리드에서 타일의 높이와 폭은 최대한 LCU 별로 서로 다르다. 초안 HEVC에서, 슬라이스는 정수개의 CU로 구성된다. CU는 타일 내 또는 타일이 사용되지 않는 경우에는 픽처 내 LCU의 래스터 스캔 순서대로 스캔된다. LCU 내에서, CU는 특정한 스캔 순서를 갖는다. 도 13은 분할된 두 타일로 구성되는 픽처가 정방형 코딩 유닛(실선)으로 분할되고, 정방형 코딩 유닛이 장방형 예측 유닛으로 더 분할되는 일 예를 도시한다.
디코더는 인코더와 유사하게 (인코더에 의해 생성되어 이미지의 압축된 표현으로 저장된 움직임 또는 공간 정보를 이용하여) 픽셀 블록의 예측된 표현을 형성하는 예측 수단 및 예측 오차 디코딩(공간 픽셀 도메인에서 양자화된 예측 오차 신호를 복원하는 예측 오차 코딩의 역 동작)을 적용함으로써 출력 비디오를 재구성한다. 예측 및 예측 오차 디코딩 수단을 적용한 후, 디코더는 예측 및 예측 오차 신호(픽셀 값)를 합하여 출력 비디오 프레임을 형성한다. 디코더(및 인코더)는 또한 부가적인 필터링 수단을 적용하여 출력 비디오의 품질을 개선한 다음 출력 비디오를 디스플레이하기 위해 전달할 수 있으며/있거나 이를 비디오 시퀀스에서 다음에 오는 픽처에 대한 예측 참조로서 저장할 수 있다.
전형적인 비디오 코덱에서, 움직임 정보는 각각의 움직임 보상된 이미지 블록과 연관된 움직임 벡터로 표시된다. 각각의 이러한 움직임 벡터는 (인코더 측에서) 코딩될 또는 (디코더 측에서) 디코딩될 픽처 내 이미지 블록과 이전에 코딩된 또는 디코딩된 픽처 중 하나의 픽처 내 예측 소스 블록의 변위를 나타낸다. 움직임 벡터를 효과적으로 표현하기 위하여, 움직임 벡터는 전형적으로 블록 특정 예측된 움직임 벡터에 대하여 다르게 코딩된다. 전형적인 비디오 코덱에서, 예측된 움직임 벡터는 사전에 정의된 방식으로, 예를 들면 인접한 블록의 인코딩된 또는 디코딩된 움직임 벡터의 중간 값을 계산함으로써 생성된다. 움직임 벡터 예측을 생성하는 다른 방식은 때때로 진보된 움직임 벡터 예측(advanced motion vector prediction (AMVP))이라고 지칭되는 방식으로, 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록으로부터 후보 예측들의 리스트를 만들고 선택된 후보를 움직임 벡터 예측기라고 신호를 보내는 것이다. 움직임 벡터 값을 예측하는 것 이외에도, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 통상 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록으로부터 예측된다. 더욱이, 전형적인 고 효율 비디오 코덱은 종종 머징/머지 모드라고 불리는 부가적인 움직임 정보 코딩/디코딩 메커니즘을 사용하며, 이 모드에서 각각의 이용 가능한 참조 픽처 리스트마다 움직임 벡터 및 대응하는 참조 픽처 인덱스를 포함하는 모든 움직임 필드 정보는 어떠한 수정/정정 없이 예측되고 사용된다. 유사하게, 움직임 필드 정보를 예측하는 것은 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록의 움직임 필드 정보를 이용하여 실행되며 이용된 움직임 필드 정보는 이용 가능한 인접/동일-위치의 블록의 움직임 필드 정보로 채워진 움직임 필드 후보 리스트의 리스트 중에 표시된다.
전형적인 비디오 코덱에서, 움직임 보상 이후 예측 잔차가 일차로 (DCT와 같은) 변환 커널로 변환된 다음 코딩된다. 그 이유는 종종 잔차 중에서 약간의 상관이 여전히 존재한다는 것이며 많은 사례에서 변환은 이러한 상관을 줄이는데 도움이 될 수 있고 더 효과적인 코딩을 제공할 수 있다.
전형적인 비디오 인코더는 라그랑지안 비용 함수(Lagrangian cost function)를 활용하여 최적한 코딩 모드, 예를 들면, 원하는 매크로블록 모드 및 연관된 움직임 벡터를 찾는다. 이러한 유형의 비용 함수는 가중 인수 λ를 이용하여 손실 코딩 방법(lossy coding methods)으로 인한 (정확한 또는 추정된) 이미지 왜곡 및 이미지 영역 내 픽셀 값을 표현하는데 필요한 (정확한 또는 추정된) 양의 정보를 함께 결합한다. 즉,
Figure 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 유닛의 타입을 표시하며 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 유닛 헤더의 첫 바이트는 하나의 예약된 비트와, 이 액세스 유닛에 실린 픽처가 참조 픽처 또는 비-참조 픽처인지를 기본적으로 표시하는 1-비트 표시의 nal_ref_flag, 및 6-비트의 NAL 유닛 타입 표시를 갖고 있다. NAL 유닛 헤더의 두 번째 바이트는 시간 레벨에 대한 3-비트의 temporal_id 표시 및 초안 HEVC 표준에서 1이라는 값을 갖도록 요구된 5-비트의 예약 필드(reserved_one_5bits 라고 부름)를 포함한다. temporal_id_syntax 요소는 NAL 유닛의 시간 식별자로 간주될 수 있다.
5-비트의 예약 필드는 미래의 스케일러블 및 3D 비디오 확장과 같은 확장에 의해 사용될 것으로 예상된다. 이러한 다섯 비트는 quality_id 또는 유사한 것, dependency_id 또는 유사한 것, 임의의 다른 형태의 계층 식별자, 보는 순서 색인 또는 유사한 것, 뷰 식별자, 만일 특정 식별자 값보다 큰 NAL 유닛이 모두 비트스트림으로부터 제거된 경우라면 유효 서브-비트스트림 추출을 표시하는 SVC의 priority_id와 유사한 식별자와 같은 스케일러빌리티 계층구조에 관한 정보를 전달할 것으로 예상된다. 보편성을 잃지 않고, 일부 예의 실시예에서, 변수 LayerId는 예를 들면 layer_id_plus 1이라 지칭될 수도 있는, reserved_one_5bits의 값으로부터 다음과 같이 유도된다. 즉, LayerId = reserved_one_5bits - 1.
최근의 초안 HEVC 표준에서, 2-바이트 NAL 유닛은 명시된 모든 NAL 유닛 타입 용도로 사용된다. NAL 유닛 헤더는 하나의 예약 비트, 6-비트의 NAL 유닛 타입 표시, (예약된 zero_6bits라고 부르는) 6-비트의 예약 필드 및 시간 레벨에 대한 3-비트의 temporal_id_plus l 표시를 포함한다. temporal_id_plus l 신택스 요소는 NAL 유닛의 시간 식별자로 간주될 수 있으며, 제로-기반의 TemporalId 변수는 다음과 같이 유도될 수 있다. 즉 TemporalId = temporal_id_plus l - 1. 0이라는 TemporalId 는 최저의 시간 레벨에 대응한다. temporal_id_plus 1의 값은 두 NAL 유닛 헤더 바이트를 포함하는 시작 코드 에뮬레이션을 방지하기 위해 논-제로가 되도록 하는 것이 필요하다. 보편성을 잃지 않고, 일부 예의 실시예에서, 변수 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 및 HEVC에서, 코딩된 슬라이스 NAL 유닛은 동시 디코딩 리플레시(Instantaneous Decoding Refresh (IDR)) 픽처 내 코딩된 슬라이스 또는 논(non)-IDR 픽처 내 코딩된 슬라이스가 되도록 표시될 수 있다. HEVC에서, 코딩된 슬라이스 NAL 유닛은 (클린 랜덤 액세스 픽처(a Clean Random Access picture) 또는 CRA 픽처라고도 지칭할 수 있는) 클린 디코딩 리플레시 픽처(a Clean Decoding Refresh (CDR) picture)가 되도록 표시될 수 있다.
논-VCL NAL 유닛은 다음과 같은 타입 중 하나, 즉 시퀀스 파라미터 세트, 픽처 파라미터 세트, 보충 강화 정보(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 유닛, 보조 코딩된 픽처의 데이터를 갖고 있는 시퀀스 파라미터 세트 확장 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 표준은 또한 비디오 파라미터 세트(a video parameter set (VPS))라 불리는 것으로, 예를 들면, 문서 JCTVC-H0388 (http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H0388-v4.zip)에서 제안된 제 4 타입의 파라미터 세트를 포함한다. 비디오 파라미터 세트 RBSP는 하나 이상의 시퀀스 파라미터 세트 RBSP에 의해 참조될 수 있는 파라미터를 포함할 수 있다.
비디오 파라미터 세트(VPA), 시퀀스 파라미터 세트(SPS), 그리고 픽처 파라미터 세트(PPS) 간의 관계 및 계층구조는 아래와 같이 기술될 수 있다. VPS는 파라미터 세트 계층구조 및 스케일러빌리티 및/또는 3DV의 컨텍스트에서 한 레벨 상위 SPS에 상주한다. VPS는 코딩된 전체 비디오 시퀀스에서 모든 (스케일러빌리티 또는 뷰) 계층 전체의 모든 슬라이스에 공통인 파라미터를 포함할 수 있다. SPS는 코딩된 전체 비디오 시퀀스에서 특정 (스케일러빌리티 또는 뷰) 계층 내 모든 슬라이스에 공통인 파라미터를 포함하며, 복수의 (스케일러빌리티 또는 뷰) 계층에 의해 공유될 수 있다. PPS는 특정 계층 표현(하나의 스케일러빌리티 또는 뷰 계층을 하나의 액세스 유닛으로 표현) 내 모든 슬라이스에 공통이면서 복수의 계층 표현 내 모든 슬라이스에 의해 공유될 것 같은 파라미터를 포함한다.
VPS는 비트스트림 내 계층들의 디펜던시 관계에 관한 정보뿐만 아니라, 코딩된 전체 비디오 시퀀스 내 모든 (스케일러빌리티 또는 뷰) 계층 전체의 모든 슬라이스에 적용 가능한 많은 다른 정보를 제공할 수 있다. HEVC의 스케일러블 확장에서, VPS는 NAL 유닛 헤더로부터 유도된 LayerId 값의, 예를 들면 SVC 및 MVC에 유사하게 정의된 계층에 대한 dependency_id, quality_id, view_id, 및 depth_flag 에 대응하는 하나 이상의 스케일러빌리티 차원 값에의 매핑을 포함할 수 있다. VPS는 하나 이상의 계층에 대한 프로파일 및 레벨 정보뿐만 아니라 계층 표현의 (VCL NAL 유닛 및 그 아래의 특정 temporal_id 값으로 구성되는) 하나 이상의 시간 서브계층에 대한 프로파일 및/또는 레벨을 포함할 수 있다.
초안의 HEVC 표준에서, 코딩된 슬라이스 NAL 유닛은 다음과 같은 타입 중 하나로 표시될 수 있다.
Figure pct00002
초안 HEVC 표준에서, 픽처 타입의 약자는 다음과 같이 정의될 수 있다. Broken Link Access (단절된 링크 액세스)(BLA), Clean Random Access (클린 랜덤 액세스(CRA)), Decodable Leading Picture (디코딩 가능한 선두 픽처)(DLP), Instantaneous Decoding Refresh (동시 디코딩 리플레시)(IDR), Random Access Point (랜덤 액세스 포인트)(RAP), Step-wise Temporal Sub-layer Access (단계별 시간 서브-계층 액세스)(STSA), Tagged For Discard (폐기를 위해 태깅됨)(TFD), Temporal Sub-layer Access (시간 서브-계층 액세스)(TSA).
BLA_W_TFD라는 nal_unit_type을 가진 BLA 픽처는 비트스트림에 존재하는 연관된 TFD 픽처를 갖는 것이 허용된다. BLA_W_DLP라는 nal_unit_type을 가진 BLA 픽처는 비트스트림에 존재하는 연관된 TFD 픽처를 갖지 않지만, 비트스트림 내 연관된 DLP 픽처를 가질 수 있다. BLA_N_LP라는 nal_unit_type 을 가진 BLA 픽처는 비트스트림에 존재하는 연관된 선두 픽처(leading picture)를 갖지 않는다.
IDR_N_LP라는 nal_unit_type을 가진 IDR 픽처는 비트스트림에 존재하는 연관된 선두 픽처를 갖지 않는다. IDR_W_LP라는 nal_unit_type을 가진 IDR 픽처는 비트스트림에 존재하는 연관된 TFD 픽처를 갖지 않지만, 비트스트림 내 연관된 DLP 픽처를 가질 수 있다.
nal_unit_type의 값이 TRAIL_N, TSA_N 또는 STSA_N과 같을 때, 디코딩된 픽처는 동일한 시간 서브-계층의 임의의 다른 픽처에 대한 참조로서 사용되지 않는다. 즉, 초안 HEVC 표준에서, nal_unit_type의 값이 TRAIL_N, TSA_N 또는 STSA_N과 같을 때, 디코딩된 픽처는 TemporalId의 값과 동일한 값의 임의의 픽처 중 임의의 RefPicSetStCurrBefore, RefPicSetStCurrAfter 및 RefPicSetLtCurr에 포함되지 않는다. TRAIL_N, TSA_N 또는 STSA_N과 같은 nal_unit_type를 가진 코딩된 픽처는 TemporalID의 값과 동일한 값을 가진 다른 픽처의 디코딩 가능성에 영향을 주지 않고 폐기될 수 있다.
앞의 표 1에서, RAP 픽처는 7 내지 12를 포함하여 그 범위 내에서 nal_unit_type을 갖는 픽처이다. 비트스트림 내 첫 픽처 이외의 각각의 픽처는 디코딩 순서에서 이전의 RAP 픽처와 연관되는 것으로 간주된다. 선두 픽처는 출력 순서에서 연관된 RAP 픽처에 선행하는 픽처로서 정의될 수 있다. 선두 픽처인 임의의 픽처는 DLP_NUT 또는 TFD_NUT라는 nal_unit_type을 갖는다. 말미 픽처(a trailing picture)는 출력 순서에서 연관된 RAP 픽처에 뒤에 나오는 픽처라고 정의될 수 있다. 말미 픽처인 임의의 픽처는 DLP_NUT 또는 TFD_NUT라는 nal_unit_type을 갖지 않는다. 선두 픽처인 임의의 픽처는 디코딩 순서에서 동일한 RAP 픽처와 연관된 모든 말미 픽처들에 1 선행하는 것으로 제한될 수 있다. 어떠한 TFD 픽처도 BLA_W_DLP 또는 BLA_N_LP라는 nal_unit_type을 가진 BLA 픽처와 연관된 비트스트림에 존재하지 않는다. 어떠한 DLP 픽처도 BLA_N_LP라는 nal_unit_type을 가진 BLA 픽처와 연관된 비트스트림에 존재하지 않거나 또는 IDR_N_LP라는 nal_unit_type을 가진 IDR 픽처와 연관된 비트스트림에 존재하지 않는다. CRA 또는 BLA 픽처와 연관된 임의의 TFD 픽처는 출력 순서에서 CRA 또는 BLA 픽처와 연관된 임의의 DLP 픽처에 선행하는 것으로 제한될 수 있다. CRA 픽처와 연관된 임의의 TFD 픽처는 출력 순서에서, 디코딩 순서에서 CRA 픽처에 선행하는 임의의 다른 RAP 픽처에 뒤이어 나오는 것으로 제한될 수 있다.
초안 HEVC 표준의 픽처 타입을 기술하는 다른 수단은 다음에 제공된다. 아래의 표에서 예시된 바와 같이, 픽처 타입은 HEVC에서 다음과 같은 그룹, 즉 a) 랜덤 액세스 포인트(random access point (RAP)) 픽처, b) 선두 픽처 c) 서브-계층 액세스 픽처, 및 d) 언급한 세 가지 그룹에 속하지 않는 픽처로 분류될 수 있다. 아래의 표에서 기술된 것처럼 픽처 타입 및 그의 서브-타입은 HEVC에서 NAL 유닛 타입에 의해 식별된다. RAP 픽처 타입은 IDR 픽처, BLA 픽처, 및 CRA 픽처를 포함하며, 아래의 표 2에서 표시된 것처럼 이들과 연관된 선두 픽처에 기초하여 추가로 특징지을 수 있다.
Figure pct00003
HEVC에서 CRA 픽처는 픽처가 디코딩 순서에서는 CRA 픽처 뒤에 나오게 하지만 출력 순서에서는 CRA 픽처보다 먼저 나오게 하여 CRA 픽처에 앞서 디코딩된 픽처를 참조로서 사용하게 하며 여전히 IDR 픽처와 유사한 클린 랜덤 액세스 기능을 가능하게 한다. 디코딩 순서와 출력 순서에서 모두 CRA 픽처 뒤에 나오는 픽처는 만일 CRA 픽처에서 랜덤 액세스가 수행된다면 디코딩 가능하며, 그래서 클린 랜덤 액세스가 성취된다.
디코딩 순서에서 CRA 픽처에 선행하는 임의의 픽처를 참조하지 않는 CRA 픽처의 선두 픽처는 디코딩이 CRA 픽처로부터 시작할 때 정확하게 디코딩될 수 있으며 그래서 DLP 픽처이다. 대조적으로, TFD 픽처는 디코딩이 TFD 픽처와 연관된 CRA 픽처에서부터 시작할 때는 정확하게 디코딩될 수 없다(다만 TFD 픽처는 디코딩이 CRA 픽처에 앞서 RAP 픽처에서 시작되었다면 정확하게 디코딩될 수 있다). 따라서 CRA와 연관된 TFD 픽처는 디코딩이 CRA 픽처에서부터 시작할 때는 보통 폐기된다.
CRA 픽처에서부터 시작하는 비트스트림의 일부가 다른 비트스트림에 포함되어 있을 때, CRA 픽처와 연관된 TFD 픽처는 디코딩될 수 없는데, 이것은 이들의 참조 픽처 중 일부가 조합되어 있는 비트스트림에 존재하지 않기 때문이다. 그러한 이어붙임 동작(splicing operation)을 간결하게 하기 위하여, CRA 픽처의 NAL 유닛 타입은 BLA 픽처라고 표시하도록 변경될 수 있다. BLA 픽처와 연관된 TFD 픽처는 전형적으로 정확하게 디코딩될 수 없고 그래서 출력/디스플레이되지 않아야 한다. BLA 픽처와 연관된 TFD 픽처는 디코딩에서 생략될 수 있다.
HEVC에는 두 픽처 타입, 즉 시간적 서브-계층 스위칭 포인트를 표시하도록 사용될 수 있는 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 픽처가 상주하는 서브-계층으로만 업-스위칭을 가능하게 해준다.
H.264/AVC 및 HEVC 신택스는 파라미터 세트의 많은 사례를 허용하며, 각각의 사례는 고유의 식별자로 식별된다. 파라미터 세트에 필요한 메모리 사용을 제한하기 위하여, 파라미터 세트 식별자의 값 범위는 제한되어 있다. H.264/AVC 및 초안 HEVC 표준에서, 각각의 슬라이스 헤더는 슬라이스를 포함하는 픽처의 디코딩을 위해 활성 상태에 있는 픽처 파라미터 세트의 식별자를 포함하며, 각각의 픽처 파라미터 세트는 활성 상태의 시퀀스 파라미터 세트의 식별자를 갖고 있다. HEVC 표준에서, 슬라이스 헤더는 부가적으로 APS 식별자를 갖고 있다. 따라서, 픽처 및 시퀀스 파라미터 세트의 전송은 슬라이스의 전송과 정확하게 동기되어야 하는 것은 아니다. 그 대신에, 활성 상태의 시퀀스 및 픽처 파라미터 세트는 이들이 참조되기 전 어느 때라도 수신되면 그것으로 충분하며, 이로써 슬라이스 데이터를 위해 사용된 프로토콜과 비교하여 더욱 신뢰성 있는 전송 메커니즘을 이용하여 파라미터 세트의 "대역외(out-of-band)" 전송이 가능해진다. 예를 들면, 파라미터 세트는 실시간 전송 프로토콜(Real-time Transport Protocol (RTP)) 세션을 위한 세션 디스크립션에서 파라미터로서 포함될 수 있다. 만일 파라미터 세트가 대역 내(in-band) 전송되면, 파라미터 세트는 오류 강인성(error robustness)을 개선하기 위해 반복 전송될 수 있다.
파라미터 세트는 슬라이스로부터 또는 다른 활성 상태의 파라미터 세트로부터 또는 일부 사례에서는 버퍼링 주기 SEI 메시지와 같은 다른 신택스 구조로부터 참조에 의해 활성 상태로 될 수 있다.
SEI NAL 유닛은 하나 이상의 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에서, 코딩된 픽처는 일차 코딩된 픽처 또는 리던던트 코딩된 픽처일 수 있다. 일차 코딩된 픽처는 유효 비트스트림의 디코딩 프로세스에서 사용되는 반면, 리던던트 코딩된 픽처는 일차 코딩된 픽처가 성공적으로 디코딩될 수 없을 때 디코딩만이라도 되어야 하는 리던던트 표현이다. 초안 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)으로서 사용될 수 있다. 알파 채널 또는 알파 평면은 적어도 부분적으로 투명해지는 픽처를 서로의 상단에 중첩시킴으로써 출력 픽처가 형성되는 계층화된 구성 또는 렌더링 시스템에서 사용될 수 있다. 보조 코딩된 픽처는 모노크롬 리던던트 코딩된 픽처와 동일한 신택스 및 시맨틱 제약 사항을 갖는다. H.264/AVC에서, 보조 코딩된 픽처는 일차 코딩된 픽처와 동일한 개수의 매크로블록을 갖고 있다.
코딩된 비디오 시퀀스는 IDR 액세스 유닛을 포함하여 이 유닛부터 다음 IDR 액세스 유닛을 제외한 이 유닛까지, 또는 비트스트림의 끝까지의, 어느 것이든 먼저 나오는, 디코딩 순서에서 연속하는 액세스 유닛들의 시퀀스로 정의된다.
픽처 그룹(GOP) 및 그의 특성은 다음과 같이 정의될 수 있다. GOP는 어느 이전의 픽처가 디코딩되었는지와 무관하게 디코딩될 수 있다. 오픈 GOP(an open GOP)는 오픈 GOP의 첫 인트라 픽처로부터 디코딩이 시작할 경우에 출력 순서에서 첫 인트라 픽처에 선행하는 픽처가 정확하게 디코딩될 수 없을 수도 있는 그러한 픽처 그룹이다. 다시 말해서, 오픈 GOP의 픽처는 (인터 예측에서) 이전의 GOP에 속하는 픽처를 참조할 수 있다. H.264/AVC 디코더는 H.264/AVC 비트스트림에서 복구 지점(recovery point) SEI 메시지로부터 오픈 GOP를 시작하는 인트라 픽처를 인식할 수 있다. HEVC 디코더는 오픈 GOP를 시작하는 인트라 픽처를 인식할 수 있는데, 이것은 특정 NAL 유닛 타입, 즉 CRA NAL 유닛 타입이 그의 코딩된 슬라이스를 위해 사용되기 때문이다. 클로즈드 GOP(a closed GOP)는 클로즈드 GOP의 초기 인트라 픽처로부터 디코딩이 시작할 경우에 모든 픽처가 정확하게 디코딩될 수 있는 그러한 픽처 그룹이다. 다시 말해서, 클로즈드 GOP 내 어느 픽처도 이전 GOP 내 어느 픽처도 참조하지 않는다. H.264/AVC에서, 클로즈드 GOP는 IDR 액세스 유닛에서부터 시작한다. HEVC에서, 클로즈드 GOP는 IDR 또는 BLA 액세스 유닛에서부터 시작한다. 그 결과, 클로즈드 GOP 구조는 오픈 GOP 구조와 비교하여 더 많은 오류 내성 잠재성을 갖지만, 그 대가로 아마도 압축 효율이 낮아진다. 오픈 GOP 코딩 구조는 참조 픽처의 선택 시 융통성이 더 많으므로 압축 시 잠재적으로 더 효율적이다.
H.264/AVC및 HEVC의 비트스트림 신택스는 특정 픽처가 임의의 다른 픽처의 인터 예측을 위한 참조 픽처인지 아닌지를 표시한다. 임의의 코딩 타입(I, P, B)의 픽처는 H.264/AVC및 HEVC에서 참조 픽처 또는 비-참조 픽처일 수 있다. NAL 유닛 헤더는 NAL 유닛의 타입을 표시하며 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처 또는 비-참조 픽처의 일부분인지 여부를 표시한다.
H.264/AVC은 디코더에서 메모리 소모량을 제어하기 위하여 디코딩된 참조 픽처를 표기하는(marking) 프로세스를 명시하고 있다. 인터 예측에 사용되는, 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, RefPicSetStFoll1, 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 슬라이스 내에서 단방향 예측(단일-방향 예측이라고도 알려짐)에 사용될 수 있다.
참조 픽처 리스트 0 및 참조 픽처 리스트 1과 같은 참조 픽처 리스트는 통상 두 단계로 구성된다. 첫 번째 단계로, 초기의 참조 픽처 리스트가 생성된다. 초기의 참조 픽처 리스트는 예를 들면 frame_num, POC, temporal_id, 또는 GOP 구조와 같은 예측 계층구조에 관한 정보, 또는 이들의 임의의 조합에 기초하여 생성될 수 있다. 두 번째 단계로, 초기의 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조(reference picture list modification syntax structure)라고도 알려진, 슬라이스 헤더에 포함될 수 있는, 참조 픽처 리스트 재배열(reference picture list reordering (RPLR)) 커맨드에 의해 재배열될 수 있다. RPLR 커맨드는 각각의 참조 픽처 리스트의 시작 부분에 배열되는 픽처를 표시한다. 이러한 두 번째 단계는 또한 참조 픽처 리스트 수정 프로세스라고도 지칭될 수 있으며, RPLR 커맨드는 참조 픽처 리스트 수정 신택스 구조에 포함될 수 있다. 만일 참조 픽처 세트가 사용되면, 참조 픽처 리스트 0은 처음에 RefPicSetStCurr0을, 뒤이어 RefPicSetStCurr1을, 뒤이어 RefPicSetLtCurr을 포함하도록 초기화될 수 있다. 참조 픽처 리스트 1은 먼저 RefPicSetStCurr1을, 뒤이어 RefPicSetStCurr0을 포함하도록 초기화될 수 있다. 초기의 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조를 통해 수정될 수 있는데, 이 구조에서 초기의 참조 픽처 리스트 내 픽처는 리스트의 엔트리 인덱스를 통해 식별될 수 있다.
많은 코딩 표준은 복수의 참조 픽처를 사용하여 인터 예측을 수행하게 한다. H.264/AVC 및 HEVC과 같은 많은 코딩 표준은 하나보다 많은 참조 픽처가 사용될 때 디코더로 하여금 인터 예측에서 사용될 하나 이상의 참조 픽처 리스트를 생성할 수 있게 하는 신택스 구조를 비트스트림에 포함시킨다. 참조 픽처 리스트의 참조 픽처 인덱스는 복수의 참조 픽처 중 어느 픽처가 특정 블록에 대한 인터 예측을 위해 사용되는지를 표시하기 위해 사용될 수 있다. 그러므로 참조 픽처를 식별하는 참조 픽처 인덱스 또는 임의의 다른 유사 정보는 움직임 벡터와 연관되거나 그의 일부로 간주될 수 있다. 참조 픽처 인덱스는 몇몇 인터 코딩 모드에서 인코더에 의해 코딩될 수 있거나 또는 예를 들면 몇몇 다른 인터 코딩 모드에서 이웃 블록을 이용하여 (인코더 및 디코더에 의해) 유도될 수 있다. H.264/AVC 및 HEVC의 많은 코딩 모드에서, 인터 예측을 위한 참조 픽처는 참조 픽처 리스트의 인덱스로 표시된다. 인덱스는 통상적으로 인덱스가 작을수록 대응하는 신택스 요소가 더 짧은 값을 갖게 하는 가변 길이 코딩으로 코딩될 수 있다. H.264/AVC 및 HEVC에서, 두 참조 픽처 리스트(참조 픽처 리스트 0 및 참조 픽처 리스트 1)는 각각의 양방향-예측 (B) 슬라이스마다 생성되며, 하나의 참조 픽처 리스트(참조 픽처 리스트 0)는 각각의 인터-코딩된 (P) 슬라이스마다 형성된다. 게다가, 초안 HEVC 표준에서 B 슬라이스의 경우, 결합된 리스트(리스트 C)는 최종 참조 픽처 리스트(리스트 0 및 리스트 1)가 구성된 이후에 구성된다. 결합된 리스트는 B 슬라이스 내에서 단방향 예측(단일-방향 예측이라고도 알려짐)에 사용될 수 있다.
AMVP는, 예를 들면 상이한 후보 자리(position) 집합 및 그 후보 자리 집합을 가진 후보 위치에 따라서 AMVP의 다른 유사한 실현 또한 가능하겠지만, 예를 들면, 다음과 같이 동작할 수 있다. 두 개의 공간 움직임 벡터 예측기(spatial motion vector predictors (MVPs))가 유도될 수 있으며 시간 움직임 벡터 예측기(a temporal motion vector predictor (TMVP))가 유도될 수 있다. 이들 예측기는 도 5에 도시된 자리 중에서 선택되는데, 도 5에서 세 개의 공간 MVP 후보 자리(B0, B1, B2)는 현재 예측 블록(B0, B1, B2) 위에 위치하고 있고 두 개(A0, A1)는 좌측에 위치하고 있다. 각각의 후보 자리 집합(B0, B1, B2) 또는 (A0, A1)의 사전-정의된 순서대로 이용 가능한(예를 들면, 동일한 슬라이스 내에 상주하는, 인터-코딩된, 등등) 제 1 움직임 벡터 예측기는 움직임 벡터 경쟁에서 그 예측 방향(위 또는 왼쪽)을 나타내기 위해 선택될 수 있다. TMVP의 참조 인덱스는 인코더에 의해 슬라이스 헤더 내에서 (예를 들면, collocated_ref_idx 신택스 요소로서) 표시될 수 있다. 동일 위치에 있는 픽처로부터 획득되는 움직임 벡터는 TMVP의 참조 픽처, 동일 위치에 있는 픽처, 및 현재 픽처의 픽처 순서 카운트 차의 비율에 따라서 크기 조정될 수 있다. 더욱이, 후보들 사이에서 리던던시 검사가 수행되어 동일한 후보를 제거할 수 있는데, 이로써 후보 리스트에 MV가 하나도 포함되지 않도록 할 수 있다. 움직임 벡터 예측기는 예를 들면 공간 MVP의 방향(위 또는 왼쪽) 또는 TMVP 후보의 선택을 표시함으로써 비트스트림에서 표시될 수 있다.
움직임 벡터 값을 예측하는 것 이외에, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 시간 참조 픽처 내 인접한 블록으로부터 및/또는 동일 위치에 있는 블록으로부터 예측될 수 있다.
더욱이, 많은 고효율 비디오 코덱은 종종 머징(merging)/머지(merge) 모드 모드라고 부르는 부가적인 움직임 정보 코딩/디코딩 메커니즘을 이용하는데, 이 메커니즘에서 각각의 이용 가능한 참조 픽처 리스트마다 움직임 벡터 및 대응하는 참조 픽처 인덱스를 포함하는 모든 움직임 필드 정보가 예측되고 임의의 수정/정정 없이 사용된다. 유사하게, 움직임 필드 정보를 예측하는 것은 시간 참조 픽처 내 인접 블록 및/또는 동일 위치에 있는 블록의 움직임 필드 정보를 이용하여 실행되며 사용된 움직임 필드 정보는 이용 가능한 인접 블록/동일 위치에 있는 블록의 움직임 필드 정보로 채워진 움직임 필드 후보 리스트의 리스트 사이에서 신호로 보내진다.
머지 모드에서, 블록/PU의 모든 움직임 정보가 예측되고 임의의 수정/정정 없이 사용될 수 있다. PU의 전술한 움직임 정보는,
1) 'PU가 오직 참조 픽처 리스트0만을 이용하여 단방향-예측되는지' 또는 'PU가 오직 참조 픽처 리스트1만을 이용하여 단방향-예측되는지' 또는 'PU가 두 참조 픽처 리스트0 및 리스트1을 이용하여 양방향-예측되는지'에 관한 정보
2) 참조 픽처 리스트0에 대응하는 움직임 벡터 값
3) 참조 픽처 리스트0 내 참조 픽처 인덱스
4) 참조 픽처 리스트1에 대응하는 움직임 벡터 값
5) 참조 픽처 리스트1 내 참조 픽처 인덱스의 정보
를 포함할 수 있다.
유사하게, 움직임 정보를 예측하는 것은 시간 참조 픽처 내 인접 블록 및/또는 동일-위치에 있는 블록의 움직임 정보를 이용하여 수행된다. 전형적으로, 종종 머지 리스트라 불리는 리스트는 이용 가능한 인접 블록/동일 위치에 있는 블록과 연관된 움직임 예측 후보를 포함시킴으로써 구성되며 리스트 내에서 선택된 움직임 예측 후보의 인덱스는 신호로 전달된다. 그러면, 선택된 후보의 움직임 정보는 현재 PU의 움직임 정보에 복사된다. 머지 메커니즘이 CU 전체에서 사용되고 CU에 대한 예측 신호가 재구성 신호로서 사용될 때, 즉, 예측 잔차가 처리되지 않을 때, 이러한 방식으로 CU를 코딩/디코딩하는 것은 통상적으로 스킵 모드(skip mode) 또는 머지 기반 스킵 모드라고 말한다. 스킵 모드 이외에도, 머지 메커니즘은 또한 개개의 PU에 대해서도 사용되며(스킵 모드처럼 반드시 CU 전체에 대해서는 아님) 이 경우, 예측 잔차는 예측 품질을 개선하기 위해 활용될 수 있다. 이러한 방식의 예측 모드는 전형적으로 인터-머지 모드(inter-merge mode)라고 명명된다.
스케일러블 비디오 코딩은 하나의 비트스트림이 콘텐츠의 복수 가지의 표현을 상이한 비트율, 해상도 및/또는 프레임 율로 갖고 있을 수 있는 코딩 구조를 말한다. 이러한 경우, 수신기는 그의 특성(예를 들면, 디스플레이 장치에 가장 어울리는 해상도)에 따라서 원하는 표현을 추출할 수 있다. 대안으로, 서버 또는 네트워크 요소는 예를 들면, 수신기의 네트워크 특성 또는 수신기의 처리 역량에 따라서 수신기로 전송될 비트스트림의 부분을 추출할 수 있다. 전형적으로 스케일러블 비트스트림은 최저 품질의 이용 가능한 비디오를 제공하는 "베이스 계층" 및 수신되어 하위 계층과 함께 디코딩될 때 비디오 품질을 강화시키는 하나 이상의 강화 계층으로 구성될 수 있다. 강화 계층의 코딩 효율을 개선하기 위하여, 그 계층의 코딩된 표현은 전형적으로 하위 계층에 좌우될 수 있다. 예를 들면, 강화 계층의 움직임 및 모드 정보는 하위 계층으로부터 예측될 수 있다. 유사하게, 하위 계층의 픽셀 데이터는 강화 계층에 필요한 예측을 생성하는데 사용될 수 있다.
일부의 스케일러블 비디오 코딩 방식에서, 비디오 신호는 베이스 계층과 하나 이상의 강화 계층으로 인코딩될 수 있다. 강화 계층은 시간 해상도(즉, 프레임 레이트), 공간 해상도, 또는 간략히 다른 하나의 계층 또는 그의 일부에 의해 표현된 비디오 콘텐츠의 품질을 강화시킬 수 있다. 각각의 계층과 함께 그의 모든 종속 계층은 비디오 신호를 소정의 공간 해상도, 시간 해상도 및 품질 레벨에서 한가지로 표현한다. 본 명세서에서, 발명자들은 스케일러블 계층과 함께 그의 모든 종속 계층을 "스케일러블 계층 표현(scalable layer representation)"이라고 지칭한다. 스케일러블 계층 표현에 대응하는 스케일러블 비트스트림의 부분이 추출되고 디코딩되어 원 신호(original signal)의 표현을 소정 충실도로 생성할 수 있다.
일부 코딩 표준은 스케일러블 비트 스트림을 생성할 수 있게 한다. 중요한 디코딩된 표현은 스케일러블 비트 스트림의 특정 부분만을 디코딩함으로써 생성될 수 있다. 스케일러블 비디오 스트림은 예를 들면, 스트리밍 서버에서 사전-인코딩된 유니캐스트 스트림의 율 적응(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))라고 지칭된다.
SVC는 계층-간 예측 메커니즘(inter-layer prediction mechanism)을 사용하는데, 이 메커니즘에서 소정 정보는 현재 재구성된 계층 또는 다음 번 하위 계층과 다른 계층으로부터 예측될 수 있다. 계층-간 예측될 수 있는 정보는 인트라 텍스처, 움직임 및 잔차 데이터를 포함한다. 계층-간 움직임 예측은 블록 코딩 모드, 헤더 정보 등의 예측을 포함하는데, 여기서 하위 계층으로부터의 움직임은 상위 계층의 예측을 위해 사용될 수 있다. 인트라 코딩의 경우, 하위 계층의 주변 매크로블록으로부터 또는 동일 위치에 있는 매크로블록으로부터 예측이 가능하다. 이러한 예측 기술은 초기에 코딩된 액세스 유닛으로부터 생성된 정보를 이용하지 않으며, 그래서 인트라 예측 기술이라고 지칭된다. 뿐만 아니라, 하위 계층으로부터 발생한 잔차 데이터는 현재 계층을 예측할 때도 이용될 수 있다.
움직임 보상한 다음 역 변환된 잔차를 가산한 후, 재구성된 픽처가 획득된다. 이러한 픽처는 보통 블록화(blocking), 링잉(ringing) 등과 같은 아티팩트를 갖는다. 이러한 아티팩트를 제거하기 위하여, 다양한 사후-처리 동작이 적용된다. 만일 사후-처리된 픽처가 움직임 보상 루프에서 참조로서 사용되면, 사후-처리 동작/필터는 통상 루프 필터라고 부른다. 루프 필터를 이용함으로써, 참조 픽처의 품질이 높아진다. 그 결과로서, 더 나은 코딩 효율이 성취될 수 있다.
SVC는 단일-루프 디코딩이라고 알려진 개념을 명시하고 있다. 이것은 제한된 인트라 텍스처 예측 모드를 이용함으로써 가능해질 수 있으며, 이에 따라서 계층-간 인트라 텍스처 예측은 베이스 계층의 대응 블록을 인트라-MB 내부에서 찾는 매크로블록(MB)에 적용될 수 있다. 동시에, 베이스 계층 내 이러한 인트라-MB은 (예를 들면, 1이라는 신택스 요소 "constrained_intra_pred_flag"를 갖는) 제한된 인트라-예측을 사용한다. 단일-루프 디코딩에서, 디코더는 재생을 희망하는 스케일러블 계층(소위 "희망 계층" 또는 "타겟 계층"이라 함)에 대해서만 움직임 보상 및 전체적인 픽처 재구성을 수행하며, 그럼으로써 디코딩 복잡성을 크게 줄일 수 있다. 희망하는 계층과 다른 모든 계층은 전체적으로 디코딩될 필요가 없는데, 이것은 (계층-간 인트라 텍스처 예측, 계층-간 움직임 예측 또는 계층-간 잔차 예측이든지 간에) 계층-간 예측에 사용되지 않은 MB의 모든 데이터 또는 일부 데이터가 희망하는 계층의 재구성에 필요하지 않기 때문이다.
단일-루프 디코딩과 대조적으로, 스케일러블 비디오 비트스트림을 디코딩하기 위한 많은 디코딩 방법은 스케일러블 계층의 픽처가 디코딩되고 디코딩된 샘플 값이 계층 간 예측에 사용될 수 있는 다중-루프 디코딩을 사용한다. 예를 들면, ITU-T 권고 H.263의 부속 문서 O에는 다중-루프 스케일러블 디코딩 동작이 명시되어 있다. 디코딩된 픽처는 또한 동일한 스케일러블 계층에서 전형적으로 다른 픽처의 인터 예측을 위한 참조 픽처로서 저장될 수 있다.
루프 필터 중 하나는 블록화 제거(deblocking) 필터이다. 블록화 제거 필터는 H.264/AVC 및 HEVC 표준 양쪽에서 이용 가능하다. 블록화 제거 필터의 목적은 블록의 경계에서 발생하는 블록화 아티팩트를 제거하는 것이다. 이것은 블록 경계를 따라서 필터링함으로써 달성된다.
HEVC에서, 두 개의 신규 루프 필터, 즉 샘플 적응 옵셋(Sample Adaptive Offset (SAO)) 및 적응 루프 필터(Adaptive Loop Filter (ALF))가 도입된다. SAO는 블록화 제거 필터링 이후 적용되며 ALF는 SAO 이후에 적용된다. 루프 필터는 도 6에 예시되며, 도 6에서 전체 필터링 블록 F는 도 4의 필터링 블록 F(316)에 대응한다.
SAO에서, 픽처는 영역들로 나누어지며, 각 영역마다 개별적인 SAO 판단이 이루어진다. 영역에서 SAO 정보는 SAO 파라미터 적응 유닛(SAO 유닛) 내에 캡슐화되며 HEVC에서, SAO 파라미터에 적응하기 위한 기본 유닛은 CTU이다(그러므로 SAO 영역은 대응하는 CTU에 의해 커버되는 블록이다).
SAO 알고리즘에서, CTU 내 샘플은 일련의 룰에 따라서 분류되며 각기 분류된 샘플 집합은 옵셋 값을 추가함으로써 강화된다. 옵셋 값은 비트스트림에서 신호로 전달된다. 두 가지 유형의 옵셋, 즉, 1) 밴드 옵셋(Band offset) 2) 에지 옵셋(Edge offset)이 있다. CTU의 경우, SAO가 사용되지 않거나 밴드 옵셋 또는 에지 옵셋이 사용된다. SAO를 사용하지 않거나 밴드나 에지 옵셋을 사용하는 여부의 선택은 전형적으로 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에 기초하여 필터 계수를 결정하며 이 정보는 디코더로 신호된다.
코딩 표준은 서브-비트스트림 추출 프로세스를 포함할 수 있고, 이러한 것은 예를 들면, SVC, MVC, 및 HEVC에서 명시되어 있다. 서브-비트스트림 추출 프로세스는 NAL 유닛을 제거함으로써 비트스트림을 서브-비트스트림으로 변환하는 것과 관련된다. 서브-비트스트림은 여전히 표준을 준수한다. 예를 들면, 초안 HEVC 표준에서, temporal_id가 선택된 값보다 큰 모든 VCL NAL 유닛을 제외시키고 다른 모든 NAL 유닛을 포함시킴으로써 생성된 비트스트림은 그대로 순응성을 유지한다. 다른 버전의 초안 HEVC 표준에서, 서브-비트스트림 추출 프로세스는 TemporalId 및/또는 LayerId 값의 리스트를 입력으로서 취하고 입력 TemporalId 값 또는 LayerId 값의 입력 리스트 내 값 중에서 속하지 않는 layer_id 값보다 큰 TemporalId를 가진 모든 NAL 유닛을 비트스트림으로부터 제거함으로써 서브-비트스트림(또는 비트스트림 서브세트라고도 알려짐)을 유도한다.
초안 HEVC 표준에서, 디코더가 사용하는 동작점은 변수 TargetDecLayerIdSet 및 HighestTid를 통해 다음과 같이 설정될 수 있다. 디코딩된 VCL NAL 유닛의 layer_id에 대한 값의 집합을 명시하는 리스트 TargetDecLayerIdSet는 디코더 제어 로직과 같은 외부의 수단에 의해 명시될 수 있다. 만일 외부의 수단에 의해 명시되지 않으면, 리스트 TargetDecLayerIdSet는 베이스 계층(즉 초안 HEVC 표준에서 0과 같음)을 나타내는 layer_id에 대해 한 가지 값을 갖는다. 최고의 시간 서브계층을 식별하는 변수 HighestTid는 외부의 수단에 의해 명시될 수 있다. 만일 외부의 수단에 의해 명시되지 않으면, HighestTid는 코딩된 비디오 시퀀스 또는 비트스트림에서 존재할 수 있는, 초안 HEVC 표준에서 sps_max_sub_layers_minus1이라는 값과 같은, 최고의 TemporalId 값으로 설정된다. 서브-비트스트림 추출 프로세스는 입력으로서 argetDecLayerIdSet 및 HighestTid 그리고 BitstreamToDecode이라 지칭되는 비트스트림에 할당된 출력과 함께 적용될 수 있다. 디코딩 프로세스는 BitstreamToDecode에서 코딩된 각 픽처에 대해 동작할 수 있다.
비트스트림에 의해 인에이블되는 0개 이상의 동작점은 예를 들면 비디오 파라미터 세트 또는 시퀀스 파라미터 세트에서 명시될 수 있다. 동작점은 예를 들면 디코딩된 계층의 리스트(예를 들어 이 계층의 LayerId 값으로 식별된 것)를 이용하여 명시될 수 있으며 동작점은 비디오 파라미터 세트 또는 시퀀스 파라미터 세트와 같은 담는 구조에서 이들의 출현 순서로 인덱싱될 수 있다. 리스트된 계층이 속한 계층과 함께 리스트된 계층은 동작점에 속한다. 디코더는 리스트된 동작점(이하 타겟 동작점이라 함) 중 한 동작점에서 동작할 수 있다. 동작점 내 리프 층(a leaf layer)은 동작점 내 어느 다른 계층에도 의존하지 않는 계층이라고 정의될 수 있다.
많은 비디오 코딩 표준은 비트 스트림에 대해 버퍼링 모델 및 버퍼링 파라미터를 명시하고 있다. 그러한 버퍼링 모델은 가상 참조 디코더(Hypothetical Reference Decoder (HRD)) 또는 비디오 버퍼 검증기(Video Buffer Verifier (VBV))라고 부를 수 있다. 표준을 준수하는 비트 스트림은 해당 표준에서 명시되는 일련의 버퍼링 파라미터를 가진 버퍼링 모델을 준수한다. 비트 스트림에 대한 그러한 버퍼링 파라미터는 명시적으로 또는 묵시적으로 신호된다. '묵시적으로 신호되는'이라는 것은 프로파일 및 레벨에 따른 디폴트 파라미터 값이 적용됨을 의미한다. HRD/VBV 파라미터는 다른 것들 중에서, 준수하는 비트 스트림의 비트 레이트 변형에 대해 제약 사항을 부과하는데 사용된다.
HRD 순응성 검사는 예를 들면 다음과 같은 두 가지 타입의 비트스트림에 관련한다. 즉 타입 I 비트스트림이라 부르는 제 1 타입의 비트스트림은 비트스트림 내 모든 액세스 유닛에 대한 VCL NAL 유닛 및 필러 데이터(filler data) NAL 유닛만을 포함하는 NAL 유닛 스트림이다. 타입 II 비트스트림이라 부르는 제 2 타입의 비트스트림은 비트스트림 내 모든 액세스 유닛에 대한 VCL NAL 유닛 및 필러 데이터 NAL 유닛 이외에, 필러 데이터 NAL 유닛과 다른 논-VCL NAL 유닛 및/또는 NAL 유닛 스트림으로부터 바이트 스트림을 구성하는 leading_zero_8bits, zero_byte, start_code_prefix_one_3bytes, 및 trailing_zero_8bits와 같은 신택스 요소를 포함할 수 있다.
두 가지 타입의 HRD 파라미터(NAL HRD 파라미터 및 VCL HRD 파라미터)가 사용될 수 있다. HRD 파라미터는 시퀀스 파라미터 세트 신택스 구조에 포함되는 비디오 유용성 정보를 통해 표시될 수 있다.
VCL NAL 유닛에서 언급되는 시퀀스 파라미터 세트 및 픽처 파라미터 세트, 그리고 대응하는 버퍼링 주기 및 픽처 타이밍 SEI 메시지는 예를 들면, 세션 서술 프로토콜(Session Description Protocol (SDP))에 따라서 포맷된 세션 서술의 미디어 라인에 포함되는 미디어 파라미터와 같은, 예를 들면 시그널링 메커니즘을 이용하여, (논-VCL NAL 유닛에 의한) 비트스트림 내에서 또는 그 비트스트림으로부터 외부의 아웃-오브-밴드(out-of-band) 수단에 의해, 적시에 HRD로 전달될 수 있다. HRD에서 비트를 카운팅할 목적으로, 실제로 비트스트림에 존재하는 적절한 비트만이 카운트될 수 있다. 논-VCL NAL 유닛의 콘텐츠가 비트스트림 내에 존재하지 않는 어떤 수단에 의한 애플리케이션 동안 전달될 때, 논-VCL NAL 유닛의 콘텐츠의 표현은 만일 논-VCL NAL 유닛이 비트스트림에 있었다면 사용되었을 것과 동일한 신택스를 사용하거나 사용하지 않을 수 있다.
HRD는 코딩된 픽처 버퍼(a coded picture buffer (CPB)), 동시 디코딩 프로세스, 디코딩된 픽처 버퍼(a decoded picture buffer (DPB)), 및 출력 크로핑(output cropping)을 갖고 있을 수 있다.
CPB는 디코딩 유닛 기반으로 동작할 수 있다. 디코딩 유닛은 액세스 유닛일 수 있거나 아니면 정수개의 NAL 유닛과 같은 액세스 유닛의 서브세트일 수 있다. 디코딩 유닛의 선택은 인코더에 의해 비트스트림에서 표시될 수 있다.
HRD는 다음과 같이 동작할 수 있다. 명시된 도착 스케줄에 따라서 CPB 쪽으로 흐르는 디코딩 유닛과 연관된 데이터는 가상 스트림 스케줄러(Hypothetical Stream Scheduler (HSS))에 의해 배달될 수 있다. 도착 스케줄은 인코더에 의해 결정되고 예를 들면 픽처 타이밍 SEI 메시지를 통해 표시될 수 있으며, 그리고/또는 도착 스케줄은 예를 들면 비디오 유용성 정보 내 HRD 파라미터의 부분으로서 표시될 수 있는 예를 들면 비트율에 기초하여 유도될 수 있다. 비디오 유용성 정보 내 HRD 파라미터는 각기 상이한 비트율 또는 배달 스케줄마다 많은 파라미터 세트를 갖고 있을 수 있다. 각각의 디코딩 유닛과 연관된 데이터는 CPB 제거 시간에서 동시 디코딩 프로세스에 의해 동시에 제거되고 디코딩될 수 있다. CPB 제거 시간은 인코더에 의해 결정되고 예를 들면 버퍼링 주기 SEI 메시지에 의해 표시될 수 있는 초기 CPB 버퍼링 지연, 및 예를 들면 픽처 타이밍 SEI 메시지를 통해 매 픽처마다 표시되는 예를 들어 차등 제거 지연을 이용하여 결정될 수 있다. 각각의 디코딩된 픽처는 DPB 내에 놓인다. 디코딩된 픽처는 DPB 출력 시간 또는 더 이상 인터-예측 참조에 필요하지 않게 되는 시간 중 더 늦은 시간에서 DPB로부터 제거될 수 있다. 그래서, HRD의 CPB의 동작은 비트스트림 도착의 타이밍, 디코딩 유닛 제거의 타이밍 및 디코딩 유닛의 디코딩을 포함할 수 있다. DPB의 동작은 예를 들면 픽처 디코딩, 픽처 출력, (예를 들면 "참조용으로 사용됨" 및 "참조용으로 사용되지 않음"과 같은) 픽처 표기 및 DPB로부터 픽처 제거를 포함할 수 있다. 픽처 출력은 비트스트림 내에 표시될 수 있거나 또는 외부의 수단에 의해 표시될 수 있는 픽처 출력 시간에 기초할 수 있거나, 아니면 모든 가용 프레임 버퍼가 점유되었을 때 DPB의 자유 버퍼 또는 할당되지 않은 프레임 버퍼일 수 있는, "범핑(bumping)" 프로세스에 기초할 수 있다.
인코더 및/또는 디코더 및/또는 HRD는 가변 제어 픽처 출력 PicOutputFlag을 다음과 같이 결정지을 수 있다. 즉, 만일 현재 픽처가 TFD 픽처이고 디코딩 순서에서 이전의 RAP 픽처가 BLA 픽처이거나 또는 비트스트림에서 최초로 디코딩된 픽처인 CRA 픽처이면, PicOutputFlag는 (픽처가 출력용으로 계획되지 않은 것임을 표시하는) 0으로 설정된다. 그렇지 않으면, PicOutputFlag는 초안 HEVC 표준에서 pic_outout_flag와 같이, 픽처가 출력용으로 계획된 것임을 표시하는, 신택스 요소의 값과 같게 설정된다.
DPB는 예를 들면 다음과 같이 동작할 수 있다. 디코딩된 픽처 버퍼는 픽처 저장 버퍼를 포함한다. 픽처 저장 버퍼는 각기 "참조용으로 사용됨"이라고 표기되거나 미래의 출력을 위해 보유되는 디코딩된 픽처를 갖고 있을 수 있다. 초기화에 앞서, DPB는 비워진다(DPB 충만도(fullness)는 제로로 설정된다). DPB 동작은 다음과 같이 아래에서 열거된 순서대로 일어날 수 있는 동작 중 한 가지 이상의 동작을 포함할 수 있다:
1. DPB로부터 픽처의 제거, 이 동작은 다음 동작 중 하나 이상의 동작을 포함할 수 있다: 현재 픽처의 디코딩에 앞서 (단 현재 픽처의 제 1 슬라이스의 슬라이스 헤더를 파싱한 후) DPB로부터 픽처를 제거하는 것은 (현재 픽처를 포함하고 있는) 액세스 유닛 n의 제 1 디코딩 유닛의 CPB 제거 시간에서 동시에 발생하며 다음과 같이 선행한다. 현재 픽처에 대한 참조 픽처 집합은 첫 번째로 디코딩된다. 만일 현재 픽처가 IDR 또는 BLA 픽처이면, 그리고 IDR 또는 BLA 픽처에서 픽처 확장(즉, 수평 및/또는 수직 샘플 카운트) 변동 또는 과거 픽처의 출력이 (no_output_of_prior_pics_flag 또는 유사한 것이 1이 되는) IDR 또는 BLA 픽처에서 생략되는 것으로 표시되면, DPB 내 모든 픽처 저장 버퍼는 이들이 갖고 있는 픽처를 출력하지 않고 비워지며, DPB 충만도는 0으로 설정된다. 다음과 같은 조건 중 두 가지가 참이면 DPB 내 모든 픽처 k는 DPB로부터 제거된다:
- 픽처 k가 "참조용으로 사용되지 않음"으로 표기됨,
- 픽처 k가 출력되는 것으로 계획되지 않거나(예를 들면, PictOutputFlag가 0과 같음) 또는 그의 DPB 출력 시간이 현재 픽처 n의 (디코딩 유닛 m으로 표시된) 제 1 디코딩 유닛의 CPB 제거 시간보다 적거나 같음.
픽처가 DPB로부터 제거될 때, DPB 충만도는 1씩 증분된다.
2. 픽처 출력, 이 동작은 다음과 같은 동작 중 한 가지 이상의 동작을 포함할 수 있다: 액세스 유닛 n의 CPB 제거 시간, tτ(n)에서 다음과 같은 일이 동시에 발생한다. 픽처 n이 출력용으로 계획되어 있을 때(예를 들면, PicOutputFlag가 1과 같음), 그의 DPB 출력 시간은 예를 들면 초안 HEVC 표준에서 pic_dpb_output_delay와 같이, 초안 HEVC 표준에서 픽처 타이밍 SEI 메시지와 같은 신택스 구조에서 제공되는, 출력 지연 값에 기초하여 유도될 수 있다. 만일 픽처 n이 출력용으로 계획되고 그의 출력 시간이 그의 CPB 제거 시간과 같으면, 픽처는 출력된다. 그렇지 않고, 만일 픽처 n이 출력용으로 계획되지 않으면, 이 픽처는 단계 3에서 기술되는 것처럼 DPB에 저장된다. 그렇지 않으면 (픽처 n이 출력용으로 계획되고 그의 출력 시간이 그의 CPB 제거 시간보다 크면), 픽처는 단계 3에서 기술된 것처럼 DPB에 저장되고 (단계 1에 따라서 나중에 출력되지 않는 것으로 추론되지 않는 한) 나중에 출력된다. 출력될 때, 픽처는 활성 상태의 시퀀스 파라미터 세트에서 명시된 크로핑 장방형을 이용하여 크로핑된다.
3. 현재 디코딩된 픽처를 표기하고 저장, 이 동작은 다음과 같은 동작 중 한 가지 이상을 포함할 수 있다: 액세스 유닛 n의 CPB 제거 시간, tτ(n)에서 다음과 같은 일이 동시에 일어난다: 현재 디코딩된 픽처는 비어있는 픽처 저장 버퍼 내 DPB에 저장되고, DPB 충만도는 1씩 증분되며, 현재 픽처는 "단기간 참조용으로 사용됨"이라고 표기된다.
HRD는 비트스트림 및 디코더의 순응성을 검사하기 위해 사용될 수 있다. HRD의 비트스트림 순응성 요건은 예를 들면 다음과 같은 것 및/또는 그와 유사한 것을 포함할 수 있다. CPB는 (예를 들면 비디오 유용성 정보의 HRD 파라미터 내에서 표시될 수 있는 크기에 비해) 오버플로우 또는 언더플로우하지 않아야 한다(즉, 디코딩 유닛의 제거 시간은 그 디코딩 유닛의 마지막 비트의 도착 시간보다 작을 수 없다). DPB 내 픽처의 개수는 예를 들면 시퀀스 파라미터 세트에서 표시될 수 있는 소정의 최대 개수보다 적거나 같게 하는 것이 필요할 수 있다. 예측 참조로서 사용되는 모든 픽처는 DPB 내에 존재하는 것이 필요할 수 있다. DPB로부터 연이는 픽처를 출력하기 위한 간격은 어떤 최소 간격보다 작지 않은 것이 필요할 수 있다.
HRD의 디코더 순응성 요건은 예를 들면 다음과 같은 것 및/또는 그와 유사한 것을 포함할 수 있다. 특정 프로파일 및 레벨에 맞추도록 요청하는 디코더 요청 순응성은 모든 시퀀스 파라미터 세트 및 픽처 파라미터 세트가 VCL NAL 유닛에서 참조되었다면 디코더 순응성에 대해 명시된 모든 순응하는 비트스트림을 성공적으로 디코딩하는 것이 필요할 수 있고, 적절한 버퍼링 주기 및 픽처 타이밍 SEI 메시지는 적절한 시기에 (논-VCL NAL 유닛에 의해) 비트스트림 내에서 또는 외부의 수단에 의해 디코더로 전달된다. 디코더에 의해 요청될 수 있는 두 가지 방식의 순응성, 즉 출력 타이밍 순응성 및 출력 순서 순응성이 있을 수 있다.
디코더의 순응성을 검사하기 위하여, 요청된 프로파일 및 레벨에 순응하는 테스트 비트스트림은 가상 스트림 스케줄러(a hypothetical stream scheduler (HSS))에 의해 HRD 및 테스트 중인 디코더(decoder under test (DUT))로 전달될 수 있다. HRD에 의해 출력된 모든 픽처는 또한 DUT에 의해 출력되는 것이 필요할 수 있고, HRD에 의해 출력된 각 픽처마다 해당 픽처에 대해 DUT에 의해 출력되는 모든 샘플의 값 또한 HRD에 의해 출력되는 샘플의 값과 같게 하는 것이 필요할 수 있다.
출력 타이밍 디코더 순응성을 위해, HSS는 예를 들면 비디오 유용성 정보의 HRD 파라미터에서 표시된 스케줄 중에서 선택된 배달 스케줄에 따라서 또는 "보간된" 전달 스케줄에 따라서 동작할 수 있다. HRD 및 DUT 둘 다에 대해 동일한 배달 스케줄이 사용될 수 있다. 출력 타이밍 디코더 순응성을 위해, 출력된 픽처의 (첫 비트의 배달 시간에 대비한) 타이밍은 HRD 및 DUT 둘 다에 대해 정해진 지연까지도 동일하게 적용되는 것이 필요할 수 있다.
출력 순서 디코더 순응성을 위해, HSS는 DUT로부터의 "요구에 의해" 비트스트림을 DUT로 전달할 수 있는데, 이것은 DUT가 더 많은 비트를 계속 처리하여야 할 때만 HSS가 비트를 (디코딩 순서대로) 배달하는 것을 의미한다. HSS는 비트율 및 CPB 크기가 제한되도록 비트스트림 내에 명시된 스케줄 중 하나의 스케줄에 의해 비트스트림을 HRD로 전달할 수 있다. 출력되는 픽처의 순서는 HRD 및 DUT 모두에게 동일하게 적용하는 것이 필요할 수 있다.
수정된 HRD는 예를 들면 출력 순서 순응성을 확인하기 위해 사용될 수 있다. 수정된 HRD는 출력 순서 DPB를 포함할 수 있으며 DPB가 완전히 점유될 때 DPB로부터 픽처를 제거하는 범핑 프로세스를 사용할 수 있다.
초안 HEVC 표준과 같은 일부 비디오 코딩 방식에서, 인코더는 디코딩된 픽처 버퍼링 요건 또는 특성이 디코더 및/또는 HRD에서 사용되도록 표시할 수 있다. 예를 들면, 초안 HEVC 표준에서, 비디오 파라미터 세트 신택스 구조는 앞에서 기술한 것처럼 vps_max_dec_pic_buffering[i], vps_max_num_reorder_frames[i] 및 vps_max_latency_increase[i] 신택스 요소를 포함한다. 초안 HEVC 표준에서, 각각의 신택스 요소 sps_max_dec_pic_buffering[i], sps_max_num_reorder_frames[i] 및 sps_max_latency_increase[i]는 시퀀스 파라미터 세트 신택스 구조에 존재하며 시퀀스 파라미터 세트가 활성 상태에 있는 코딩된 비디오 시퀀스 내에서 실제 값을 명시한다.
(신호 대 잡음 또는 SNR이라고도 알려진) 품질 스케일러빌리티 및/또는 공간 스케일러빌리티를 위한 스케일러블 비디오 코덱은 다음과 같이 실시될 수 있다. 베이스 계층에 대해, 통상의 논-스케일러블 비디오 인코더 및 디코더가 사용된다. 베이스 계층의 재구성된/디코딩된 픽처는 강화 계층의 참조 픽처 버퍼에 포함된다. 인터 예측을 위해 참조 픽처 리스트(들)을 이용하는 H.264/AVC, HEVC 및 유사 코덱에서, 베이스 계층의 디코딩된 픽처는 강화 계층의 디코딩된 참조 픽처와 유사하게 강화 계층 픽처의 코딩/디코딩을 위한 참조 픽처 리스트(들)에 삽입될 수 있다. 그 결과, 인코더는 베이스-계층 참조 픽처를 인터 예측 참조로서 선택할 수 있고 일반적으로 그 사용을 코딩된 비트스트림 내에서 참조 픽처 인덱스로 표시할 수 있다. 디코더는 비트스트림으로부터, 예를 들면 베이스-계층 픽처가 강화 계층에 대한 인터 예측 참조로서 사용되는 참조 픽처 인덱스로부터 디코딩한다. 디코딩된 베이스-계층 픽처가 강화 계층에 대한 예측 참조로서 사용될 때는 계층 간 참조 픽처라고 지칭된다. 전형적인 스케일러블 인코더/디코더의 구조 및 동작 원리는 도 7 및 도 8에 도시된다.
품질 스케일러빌리티 이외에, 스케일러빌리티는 베이스 계층 픽처가 강화 계층 픽처보다 높은 해상도로 코딩되는 공간 스케일러빌리티(spatial scalability), 베이스 계층 픽처가 강화 계층 픽처보다 낮은 비트-깊이로 코딩되는 비트-깊이 스케일러빌리티(bit-depth scalability), 또는 베이스 계층 픽처가 강화 계층 픽처보다 높은 크로마 충실도를 제공하는 크로마 포맷 스케일러빌리티(chroma format scalability)로서 성취될 수 있다.
다른 유형의 스케일러빌리티는 표준 스케일러빌리티(standard scalability)이다. 이 유형에서, 베이스 계층 및 강화 계층은 상이한 비디오 코딩 표준에 속한다. 일 예의 사례는 베이스 계층이 H.264/AVC으로 코딩되는 반면 강화 계층은 HEVC으로 코딩되는 것이다. 이러한 유형의 스케일러빌리티의 숨은 배경은 이러한 방법으로, 같은 비트스트림이 레거시 H.264/AVC 기반 시스템뿐만 아니라 신규 HEVC 기반 시스템 둘 다에 의해 디코딩될 수 있다는 것이다.
앞에서 언급한 바와 같이, H.264/SVC은 강화 계층 픽처가 베이스 계층으로부터 인트라 코딩된 샘플 및 디코딩된 신택스 요소를 참조하여서만 코딩되는 단일 루프 디코딩을 사용한다. 이것은, 시간적으로 예측된 블록은 베이스 계층에서 디코딩되지 않으며 강화 계층 픽처를 디코딩하는데는 단일의 움직임 보상된 루프만이 필요하다는 것을 의미한다.
그럼에도 불구하고, 단일 루프 디코딩은 주로 인터 픽처와 관련된 신택스 요소가 그래도 디코딩되어야 한다는 사실로 말미암은 단점을 가지고 있다. 다시 말해서, 픽처 내 작은 데이터 부분이 강화 계층 디코딩 프로세서에서 필요할지라도, 여전히 인터 베이스 계층 픽처 전체가 스케일러블 디코더로 전송되어야 한다. 만일 HEVC에 적용된다면, 움직임 벡터를 코딩하는 것이 AMVP 및 머지 모드 때문에 H.264/AVC보다 상당히 더 복잡하므로, 움직임 벡터를 재구성하는 작업은 사소한 작업이 아니다. 더욱이, 베이스 계층의 신택스 요소가 필요하기 때문에 단일 루프 디코딩은 간단하게 (예를 들면, 강화 계층은 스케일러블 HEVC으로 코딩되지만, 베이스 계층은 H.264/AVC으로 코딩되는 방식으로) 표준의 스케일러블 사용 사례에 적용 가능하지 않다.
한편, 다중-루프 코딩은 많은 스케일러블 계층에서 디코딩된 픽처가 디코딩 순서에서 후속 픽처의 계층 간 및/또는 인터 예측을 위해 저장될 수 있으므로, 비교적 큰 메모리 저장소 및 메모리 액세스 대역폭을 필요로 할 수 있다.
이러한 문제를 경감하기 위해, 일부 실시예에서 베이스 계층의 인트라 코딩된 픽처로부터의 샘플 및 신택스만이 강화 계층 픽처를 코딩하는데 사용된다는 인코딩 구성의 시퀀스 레벨 표시가 제공된다. 이러한 표시를 사용하면, 네트워크 요소는 베이스 계층의 인터 코딩된 픽처가 강화 계층을 디코딩하는데 필요하지 않으며 그리고 만일 수신기가 강화 계층의 디코딩만이 필요하다고 표시한다면 베이스 계층의 픽처를 폐기할 수도 있다는 것을 미리 알고 있을 것이다. 뿐만 아니라, 강화 계층 픽처를 디코딩하는데는 단일의 움직임 보상된 예측 루프가 필요하다. 게다가, 스케일러블 디코더는 베이스 계층 픽처에 대한 움직임 벡터 예측 프로세스를 계속 파악하고 있을 필요가 없다. 강화 계층 디코더는 베이스 계층의 움직임 관련된 신택스 요소에 대해서도 계속 알고 있을 필요도 없다.
실시예에 따르면, 표시된 타입의 베이스 계층 픽처로부터의 샘플 및 신택스만이 강화 계층 픽처를 코딩하는데 사용되는 인코딩 구성의 시퀀스 레벨 표시가 제공된다. 이러한 표시를 사용하면, 네트워크 요소는 앞에서 기술한 것처럼 베이스 계층에서 표시된 타입의 픽처가 강화 계층을 디코딩하는데 필요하지 않으며 그리고 만일 수신기가 강화 계층의 디코딩만이 필요하다고 표시한다면 베이스 계층의 픽처를 폐기할 수도 있다는 것을 미리 알고 있을 것이다.
실시예에 따르면, 앞에서 기술한 것처럼 인코딩 구성의 시퀀스 레벨 표시는 스케일러빌리티 차원의 특정 값이나 범위로 더 제한될 수 있다. 스케일러빌리티 차원의 이러한 값이나 범위는 인코더에 의해 인코딩 구성의 표시된 시퀀스 레벨을 따라 표시될 수 있다. 예를 들면, 앞에서 기술된 것처럼 인코딩 구성의 시퀀스 레벨 표시는 표시된 temporal_id 값에다 표시된 픽처 타입에 대해서만 실제로 제한될 수 있다.
제 1 양태는 표시 및 그 표시에 따라서 픽처의 관련 비트스트림을 인코딩하기 위한, 인코더 및/또는 프로세서에 의해 실행되는 컴퓨터 프로그램 코드를 전형적으로 포함하는 방법 및 연관된 장치를 포함한다. 방법은 도 9의 플로우차트에서 도시된다. 방법에서, 인코더는 스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 취득한다(900). 그 다음 인코더는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고(902), 계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩한다(904).
인코더는 스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를, 예를 들면 다음과 같은 수단 중 하나 이상의 수단을 통해 획득한다(900):
- 인코더는 인코딩된 비트스트림을 디코딩하는 디코더 또는 디코더들로부터인코딩 모드 선호 표시(an encoding mode preference indication) 또는 커맨드를 수신하도록 구성될 수 있다. 예를 들면, 디코더는 다중-루프 동작을 위해 메모리 저장소 또는 처리 능력을 제한하였을 수 있으며 다중-루프 디코딩이 선호되거나 지원될 수 있는 픽처 타입(들) 또는 NAL 유닛 타입 및 예를 들면 그러한 픽처 타입(들)을 가진 픽처의 최소 간격 또는 최대 주파수를 표시할 수 있다. 예를 들면, 비디오 텔레폰 또는 비디오 회의 응용에서, (디코딩 측이라고 지칭될 수도 있는) 수신기가 그러한 인코딩 모드 선호 표시 또는 커맨드를 표시하는 시그널링 메커니즘이 제공될 수 있다. 디코딩 선호는 (예를 들면, 다중 작업 운영 체제에서 이용 가능한 가변 자원으로 인하여) 시간의 함수로서 변할 수 있으므로, 수신기는 세션 중에 신규 인코딩 모드 선호 또는 커맨드를 신호하여 알려주는 수단을 가질 수 있다. 예를 들면, IETF RFC 5104에서 명시된 코덱 제어 명령과 유사하게 하나 이상의 신규 코덱 제어 메시지가 명시될 수 있다. 코덱 제어 메시지는 피드백 가능한 오디오-비주얼 프로파일(Audio-Visual Profile with Feedback (AVPF, IETF RFC 4585))을 이용하여 메시지를 실시간 전송 제어 프로토콜(Real-Time Transport Control Protocol (RTCP, IETF RFC 3550))을 통해 전송할 수 있다.
- 인코더 또는 인코더를 제어하는 애플리케이션 제어 로직은 예를 들면 인코딩 디바이스에서 이용 가능한 계산 및/또는 메모리 자원을 기반으로 하여 오직 특정 타입의 픽처로부터 계층 간 예측을 사용하도록 인코더를 제한할 수 있다.
- 인코더는 입력 비디오 데이터, 예를 들면, 그의 움직임 활동을 분석하고, 인코더가 특정 타입의 픽처 용도만으로 사용될 때와 비교하여 모든 픽처 타입에 대해 사용될 때 얼마나 많은 레이트-왜곡 향상 계층 간 예측이 제공될 수 있는지를 추정할 수 있다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 인트라-코딩된 픽처로 제한한다. 이것은 베이스 계층 신택스가 강화 계층 디코더에게 액세스될 수 없는 표준의 스케일러빌리티 시나리오에 유용할 수 있다.
일부 실시예에서, 인코더 및/또는 인코딩 프로세스 및/또는 디코더 및/또는 디코딩 프로세스 및/또 HRD는 베이스 계층의 재구성된 또는 디코딩된 픽처를 입력하는 제 1 인터페이스 또는 인터페이스들(예를 들면, 애플리케이션 프로그래밍 인터페이스 또는 API)을 포함할 수 있다. 제 1 인터페이스(들)는 다음과 같은 것으로 제한되지 않지만 다음과 같은 것들 중 몇 개를 포함하여, 재구성된/디코딩된 픽처를 특징으로 하거나 또는 그와 연관된 정보를 제공하는 메커니즘을 포함하거나 가질 수 있다:
- layer_id 값 또는 유사한 계층 식별자 또는 스케일러빌리티 차원 식별자 값(예를 들면, dependency_id 값 및 quality_id 값)의 조합
- 재구성된/디코딩된 컴포넌트 픽처가 속하는 시간 서브-계층을 표시하는 temporal_id 값 또는 유사한 것
- 공간 확장(예를 들면, 수평 및 수직 샘플 카운트)
- 인터페이스를 통해 제공되는 재구성된/디코딩된 컴포넌트 픽처에 대응하는 코딩된 컴포넌트 픽처의 코딩 모드, 블록 분할, 움직임 벡터 및 기타 신택스 요소 또는 유도된 값에 관련된 정보
- 출력 순서를 표시하는 픽처 순서 카운트 값 또는 유사한 값
- 디코딩 순서를 표시하는 프레임 번호 값 또는 유사한 값
- 출력 또는 재생 시간
- 디코딩 시간 및/또는 그와 유사한 것
실시예에 따르면, 계층 간 예측의 사용과 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(RAP) 픽처로 제한한다.
실시예에 따르면, 방법은 이용 가능한 계산 자원, 참조 프레임의 저장에 필요한 이용 가능한 메모리, 이용 가능한 메모리 액세스 대역폭, 및/또는 구현된 계층 간 코딩 툴을 기반으로 하여 계층 간 예측의 사용에 관련한 정보를 결정하는 과정을 더 포함한다.
실시예에 따르면, 방법은 하나 이상의 신택스 요소 내 상기 하나 이상의 표시를 인코딩하는 과정을 더 포함한다.
실시예에 따르면, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(SEI) 메시지 내에 포함된다.
하기 표 3에서, 초안 HEVC 표준의 비디오 파라미터 세트 구조에다 상기 신택스 요소를 포함시키는 예시적인 방식으로 도시된다. 신택스에서 추가된 것은 이태리체로 표시된다.
Figure pct00004
이 예에서, 신택스 요소 inter_layer_pred_only_rap_flag의 값이 0일 때, 이것은 계층 간 예측을 위한 참조가 임의의 픽처 타입을 가질 수 있다는 것을 명시한다. 신택스 요소 inter_layer_pred_only_rap_flag 의 값이 1일 때, 이것은 계층 간 예측을 위한 참조가 RAP 픽처이며 RAP 픽처가 아닌 다른 임의의 픽처 타입의 픽처이어서는 안된다는 것을 명시한다. 비디오 파라미터 세트 대신에 또는 그 이외에, 신택스 요소는 시퀀스 파라미터 세트 구조, 보충 강화 정보(SEI) 메시지 및/또는 임의의 다른 대응하는 신택스 구조 내에 포함될 수 있다.
계층 간 예측의 사용에 관련한 표시는 품질 스케일러빌리티, 비트-깊이 스케일러빌리티, 공간 스케일러빌리티 및 크로마 포맷 스케일러빌리티와 같은 각종 타입의 스케일러빌리티 용도로 사용될 수 있다.
실시예에 따르면, 하나 이상의 표시는 (계층 간 예측을 이용하는) 하나 이상의 타겟 계층 및 하나 이상의 참조 계층의 특정한 조합이나 조합들에 특정되도록 표시될 수 있다.
인코딩된 비디오 시퀀스 및 계층 간 예측의 사용에 관련한 연관된 정보는 수신 장치로 전송될 수 있거나, 또는 수신 장치는 계층 간 예측의 사용에 관련한 인코딩된 비디오 시퀀스 및 연관된 정보를 예를 들면 파일 다운로드처럼 또는 스트리밍을 통해 다운로드받을 수 있다. 전송 경로는 예를 들면 일반적인 네트워크 조건 또는 수신 장치의 속성에 따라서, 비디오 시퀀스의 비트스트림을 조정하기 위한 미디어-인지 네트워크 요소(a media-aware network element (MANE))와 같은 비트스트림 수정자(a bitstream modifier)를 포함할 수 있다. 예를 들면, 도 3의 네트워크 서버(26)는 비트스트림 수정자로서 동작할 수 있다.
그러므로, 다른 양태는 하나 이상의 표시에 따라서 픽처의 비트스트림을 수정하기 위한 방법 및 관련 장치를 포함한다. 이 방법은 도 10의 플로우차트에서 도시된다. 이 방법에서, 미디어-인지 네트워크 요소(MANE)와 같은 비트스트림 수정자는 비트스트림의 적어도 일부분을 수신하는데(1000), 예를 들면 스트리밍 방식으로 한번에 하나의 액세스 유닛, 코딩된 픽처, 또는 NAL 유닛을 수신한다. 비트스트림 수정자는 하나 이상의 타겟 출력 계층(들)을 결정하거나(1002) 또는 특정한 타겟 출력 계층(들)을 사용하도록 구성될 수 있다. 이 결정은 예를 들면, 네트워크의 다운링크 부분에서 일반적이거나 추정된 처리량 또는 혼잡 및/또는 공지되거나 예상된 수신기 역량에 기초할 수 있다. 타겟 출력 계층은 하나보다 많은 계층 식별자, 이를 테면 초안 HEVC 표준에서의 TemporalId 및 LayerId로 특징지어질 수 있다.
비트스트림 수정자는 비트스트림과 연관된 하나 이상의 표시를 수신하고 디코딩하며(1004), 이 표시는 픽처 타입 및/또는 NAL 유닛 타입 및 이들을 계층 간 예측 용도로 사용하는 것에 관련된다. 비트스트림 수정자는 계층 식별자 값 및 (NAL 유닛 타입 값으로 표시될 수 있는) 포워딩되지 않는 픽처 타입의 조합 및/또는 계층 식별자 값 및 (NAL 유닛 타입 값으로 표시될 수 있는) 포워딩되는 픽처 타입의 조합이라고 결정짓는다(1006). 계층 식별자 값 및 픽처 타입의 상기 조합에 기초하여, 비트스트림 수정자는 NAL 유닛을 포워딩하거나(1008) 폐기한다. 포워딩한다는 것은 대안으로 또는 부가적으로 비디오 시퀀스의 수정된 비트스트림의 저장 또는 전송을 의미할 수 있다는 것을 주목하여야 한다.
실시예에 따르면, 서브-비트스트림 추출 프로세스는 하나 이상의 표시를 이용하여 픽처 및/또는 NAL 유닛을 그 프로세스에 의해 출력되는 비트스트림 서브세트에서 제외시킬지를 결정한다. 서브-비트스트림 추출 프로세스는 비트스트림 서브세트에 포함되는 하나 이상의 타겟 출력 계층(들) 또는 비트스트림 서브세트로부터 생략되는 하나 이상의 배제된 계층(들)을 입력받을 수 있다. 타겟 출력 계층 및/또는 제외된 계층은 초안 HEVC 표준에서 TemporalId 및 LayerId와 같은 하나보다 많은 계층 식별자로 특징지어질 수 있다. 서브-비트스트림 추출은 비트스트림과 연관된 하나 이상의 표시를 수신하고 디코딩하며, 이 표시는 픽처 타입 및/또는 NAL 유닛 타입 및 이들의 계층 간 예측을 위한 사용에 관련한다. 서브-비트스트림 추출 프로세스는 계층 식별자 값 및 (NAL 유닛 타입 값으로 표시될 수 있는) 비트스트림 서브세트에 포함되지 않는 픽처 타입의 조합 및/또는 계층 식별자 값 및 (NAL 유닛 타입 값으로 표시될 수 있는) 비트스트림 서브세트에 포함되는 픽처 타입의 조합이라고 결정짓는다. 계층 식별자 값 및 픽처 타입의 상기 조합에 기초하여, 서브-비트스트림 추출 프로세스는 NAL 유닛을 비트스트림 서브세트에 포함시키거나 NAL 유닛을 비트스트림 서브세트에서 제외시킨다.
본 발명의 다른 양태는 비디오 시퀀스의 비트스트림 및 그 비트스트림과 연관된 하나 이상의 표시를 수신할 때 수신 장치 내 디코더의 동작이다. 도 11은 본 발명의 실시예를 구현하기에 적합한 비디오 디코더의 블록도를 도시한다.
디코더는 수신된 신호에 대하여 전술한 인코더의 엔트로피 인코더(330)의 역 동작으로서 엔트로피 디코딩을 수행하는 엔트로피 디코더(600)를 포함한다. 엔트로피 디코더(600)는 엔트로피 디코딩의 결과를 예측 오차 디코더(602) 및 픽셀 예측기(604)로 출력한다.
픽셀 예측기(604)는 엔트로피 디코더(600)의 출력을 수신한다. 픽셀 예측기(604) 내 예측기 선택기(614)는 인트라-예측, 인터-예측, 또는 보간 동작이 실행될지를 결정한다. 예측기 선택기는 뿐만 아니라 이미지 블록(616)의 예측된 표현을 제 1 결합기(613)로 출력할 수 있다. 이미지 블록(616)의 예측된 표현은 재구성된 예측 오차 신호(612)와 함께 사용되어 일차 재구성된 이미지(618)를 생성한다. 일차 재구성된 이미지(618)는 예측기(614)에서 사용되거나 필터(620)로 전달될 수 있다. 필터(620)는 필터링을 적용하여 최종 재구성된 신호(622)를 출력한다. 최종 재구성된 신호(622)는 참조 프레임 메모리(624)에 저장될 수 있고, 참조 프레임 메모리(624)는 또한 예측 동작을 위해 예측기(614)에 연결된다.
예측 오차 디코더(602)는 엔트로피 디코더(600)의 출력을 수신한다. 예측 오차 디코더(602)의 역양자화기(692)는 엔트로피 디코더(600)의 출력을 역양자화할 수 있으며 역변환 블록(693)은 역양자화기(692)에 의해 출력된 역양자화된 신호에 대해 역 변환 동작을 수행할 수 있다. 엔트로피 디코더(600)의 출력은 또한 예측 오차 신호가 적용되지 않음을 표시할 수 있으며 이 경우 예측 오차 디코더는 모두 제로의 출력 신호를 발생한다.
실시예의 디코딩 동작은 도 12의 플로우차트에서 도시된다. 이 방법에서, 디코더는 비트스트림의 적어도 일부를 수신(1200)하는데, 예를 들면 스트리밍 방식으로 한번에 하나의 액세스 유닛, 코딩된 픽처 또는 NAL 유닛을 수신한다. 디코더는 하나 이상의 타겟 출력 계층(들)을 결정하거나(1202) 또는 특정한 타겟 출력 계층(들)을 사용하도록 구성될 수 있다. 이 결정은 예를 들면, 이용 가능한 계산 역량에 기초할 수 있다. 타겟 출력 계층은 하나보다 많은 계층 식별자, 이를 테면 초안 HEVC 표준에서의 TemporalId 및 LayerId로 특징지어질 수 있다.
디코더는 비트스트림과 연관된 하나 이상의 표시를 수신하고 디코딩하며(1204), 이 표시는 픽처 타입 및/또는 NAL 유닛 타입 및 이들의 계층 간 예측을 위한 사용에 관련한다. 디코더는 계층 식별자 값 및 (NAL 유닛 타입 값으로 표시될 수 있는) 디코딩되지 않는 픽처 타입의 조합 및/또는 계층 식별자 값 및 (NAL 유닛 타입 값으로 표시될 수 있는) 디코딩되는 픽처 타입의 조합이라고 결정짓는다(1206). 계층 식별자 값 및 픽처 타입의 상기 조합에 기초하여, 디코더는 비트스트림의 NAL 유닛을 디코딩하거나(1208) 아니면 제외/무시한다.
실시예에 따르면, 인코더 및/또는 디코더는 픽처가 예를 들면 "참조용으로 사용됨" (또는 이와 대등하게 "인터 참조용으로 사용됨") 또는 "참조용으로 사용되지 않음" (또는 이와 대등하게 "인터 참조용으로 사용되지 않음")이라고 표기될 수 있음에 따라서, 픽처 표기 상태 또는 그와 유사한 상태를 유지한다. 실시예에서, 픽처는 부가적으로 "계층 간 참조용으로 사용됨" (또는 그와 유사한 것) 및 "계층 간 참조용으로 사용되지 않음" (또는 그와 유사한 것)이라고 표기될 수 있다. 실시예에 따르면, 디코더는 픽처의 표기를 "계층 간 참조용으로 사용됨" (또는 그와 유사한 것) 또는 "계층 간 참조용으로 사용되지 않음" (또는 그와 유사한 것)이라고 결정할 때 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛의 사용에 관련한 하나 이상의 표시를 사용한다. 실시예에 따르면, 인코더는 픽처의 표기를 "계층 간 참조용으로 사용됨" (또는 그와 유사한 것) 및 "계층 간 참조용으로 사용되지 않음" (또는 그와 유사한 것)으로 결정할 때 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 사용하거나 또는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛의 사용에 관련한 하나 이상의 표시를 사용한다.
인코더 및/또는 디코더 및/또는 HRD는 참조 계층(a reference layer (RL)) 픽처가 강화 계층(EL)에서 픽처의 계층 간 예측 참조로서 필요하다고 결정지을 때 RL 픽처의 계층 간 표기 상태를 "계층 간 참조용으로 사용됨" 또는 그와 유사한 것으로 설정하며 RL 픽처가 EL에서 픽처의 계층 간 예측 참조로서 필요하지 않다고 결정지을 때는 "계층 간 참조용으로 사용되지 않음" 또는 그와 유사한 것으로 설정할 수 있다.
픽처를 "계층 간 참조용으로 사용됨" (또는 그와 유사한 것)이라고 또는 "계층 간 참조용으로 사용되지 않음" (또는 그와 유사한 것)이라고 표기하는 것은 부가적으로 다음과 같은 양태 중 임의의 양태를 포함할 수 있다:
- 계층 간 예측 디펜던시, 이것은 예를 들면 비디오 파라미터 세트 또는 시퀀스 파라미터 세트에서 표시될 수 있다.
- 디코딩하기 위한 타겟 동작점, 이것은 어느 계층이 디코딩되는지를 결정하기 위해 사용될 수 있다.
- 픽처-별 표시, 이것은 예를 들면 다음과 같은 것 중 하나 이상을 표시할 수 있다: 픽처는 잠재적으로 계층 간 예측을 위한 참조로서 사용됨, 및/또는 픽처는 계층 간 예측을 위한 참조로서 사용되지 않음, 및/또는 픽처는 계층 간 예측을 위한 참조로서 다른 픽처를 사용함, 및/또는 픽처는 예측을 위한 참조로서 임의의 다른 픽처를 사용하지 않음.
일부 양태는 다음에서 더 상세히 기술된다.
인코더는 참조 계층(a reference layer (RL))에서 픽처가 강화 계층(EL)에서 픽처에 대한 계층 간 예측 참조로서 필요한지를 결정 또는 결정지을 수 있다. 이 결정 또는 결정짓는 것은 이것으로 제한되지 않지만 다음 중 하나 이상을 포함할 수 있다:
a. 인코더는 특정한 시간 서브-계층에 대하여 및/또는 인터 예측 계층구조의 특정한 계층구조 레벨에 대하여 및/또는 특정한 픽처 타입에 대하여 계층 간 예측을 제외하도록 사전에 정의될 수 있거나 구성될 수 있다.
b. 인코더는 EL 픽처를 정상적인 코딩 프로세스로, 예를 들면, 예측 모드 및/또는 참조의 율-왜곡-최적화된 선택을 이용하여 인코딩할 수 있으며, 나중에 RL 픽처가 계층 간 예측 참조로서 사용되었는지를 결정지을 수 있다.
인코더는 RL 픽처가 하나 이상의 EL 픽처에 대한 계층 간 참조로서 사용되는지에 관한 하나 이상의 표시를 비트스트림 내에 포함시킬 수 있다. 하나 이상의 표시는 RL 픽처의 하나 이상의 코딩된 데이터 유닛(예를 들면, NAL 유닛)의 일부로서 코딩될 수 있고, 그리고/또는 하나 이상의 표시는 하나 이상의 EL 픽처의 하나 이상의 코딩된 데이터 유닛의 일부로서 코딩될 수 있다. 예를 들면 하나 이상의 표시는 예를 들면, NAL 유닛 타입의 값 또는 특정한 값으로서 NAL 유닛 헤더 구조에 포함될 수 있다. 대안으로 또는 부가적으로, 하나 이상의 표시는 예를 들면, 프리픽스 NAL 유닛(a prefix NAL unit) 및/또는 슬라이스 확장(a slice extension)에 포함될 수 있다. 예를 들면, 슬라이스 확장에다 RL 픽처의 코딩된 슬라이스의 표시는 0일 때는 RL 픽처가 임의의 EL 픽처의 계층 간 예측에 사용되지 않는다는 것을 표시하고 1일 때는 RL 픽처가 계층 간 예측에 사용될 수 있다는 것을 표시하는 플래그를 포함할 수 있다.
디코더는 RL 픽처가 EL에서 픽처에 대한 계층 간 예측 참조로서 필요한지를 결정지을 수 있다. 디코더는 비트스트림으로부터, RL의 픽처가 하나 이상의 EL 픽처의 계층 간 예측 참조로서 사용되는지를 표시 또는 명시하는, 하나 이상의 표시를 수신하고 디코딩할 수 있다. 예를 들면, 디코더는 0일 때는 RL 픽처가 임의의 EL 픽처의 계층 간 예측에 사용되지 않는다는 것을 표시하고 1일 때는 RL 픽처가 계층 간 예측에 사용될 수 있다는 것을 표시하는, RL 픽처의 코딩된 슬라이스에 대한 슬라이스 확장 내의 표시를 수신하고 디코딩할 수 있다.
RL에서 픽처가 EL에서 픽처에 대한 계층 간 예측 참조로서 필요한지에 관한 결정 또는 결정짓는 것은, 예를 들면 RL에서 픽처가 EL에서 픽처에 대해 "컴포넌트간 예측용으로 사용됨/사용되지 않음" 및/또는 "저급의(coarse-granular) 계층 간 스케일러빌리티 참조용으로 사용됨/사용되지 않음"인지에 관한 결정 또는 결정짓는 것은 상이한 타입 또는 스케일러빌리티의 차원으로 분류하는 것을 더 포함할 수 있다.
픽처는 예를 들면 (인코더에서) 그의 재구성 직후 또는 (디코더에서) 디코딩 직후 "계층 간 참조용으로 사용됨" (또는 그와 유사한 것) 또는 "계층 간 참조용으로 사용되지 않음"이라고 표기될 수 있다.
실시예에서, 픽처를 계층 간 참조용으로 사용됨" (또는 그와 유사한 것) 또는 "계층 간 참조용으로 사용되지 않음"이라고 표기하는 것은 다음과 같은 것 중 하나 이상이 참일 때 수행될 수 있다:
- 픽처는 타겟 동작점의 계층 중 하나이고 타겟 동작점 내 리프 계층이 아닌 계층 상에 있다.
- 픽처-별 표시는 그 픽처가 잠재적으로 계층 간 참조로서 사용된다는 것을 표시한다.
- 픽처의 픽처 타입은 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시에 따라서 계층 간 예측에 사용될 수 있는 픽처들 중 하나이다. 또한, 픽처와 연관된 스케일러빌리티 식별자 값 또는 값들은 스케일러빌리티 차원의 특정 범위 또는 범위들 내에 들게 하는 것이 필요할 수 있다. 다른 실시예에서, 전술한 것의 상이한 조합은 픽처를 "계층 간 참조용으로 사용됨" (또는 그와 유사한 것)이라고 표기하기 위하여 참이 되게 하는 것이 필요할 수 있다. 만일 기준의 조합에 대해 상기 기준 중 하나 이상이 참이 아니면, 픽처는 "계층 간 참조용으로 사용되지 않음"이라고 표기될 수 있다.
"계층 간 참조용으로 사용됨"으로 표기된 픽처는, 예를 들면 픽처를 (예를 들면, 활성 상태의 VPS에서 제공되는 디펜던시에 따라서) 계층 간 참조로서 사용하는 (동일한 POC 값의 그리고 동일한 타겟 동작점 내의) 모든 픽처가 디코딩되었을 때 비로서 "계층 간 참조용으로 사용되지 않음"으로 표기될 수 있다.
DPB 프로세스는 각 계층마다 별도로 "중첩된(nested)" 방식으로 동작될 수 있다. 그러나, 계층 간 디펜던시 및/또는 예측 관계는 DPB 프로세스에서 고려될 수 있다. DPB 프로세스는 어떤 계층의 픽처가 그 계층 내 다른 픽처의 인터 예측 참조로서 필요한지를 계층별로 결정지을 수 있다. DPB 프로세스는 픽처를 "계층 간 참조용으로 사용됨" 및 "계층 간 참조용으로 사용되지 않음"이라고 표기하기 위한 인코더 동작 및/또는 디코더 동작과 마찬가지로 픽처가 더 이상 계층 간 참조로서 필요하지 않을 때를 결정지을 수 있다. 픽처가 계층 간 참조로서 필요하지 않거나 더 이상 필요하지 않다는 기준을 비롯한 일련의 기준이 충족될 때, DPB 프로세스는 픽처를 제거, 즉 프레임/픽처 버퍼 또는 픽처를 갖고 있는 프레임/픽처 버퍼의 일부를 점유 해제 또는 할당 해제처럼 비우거나 또는 그와 같이 표기할 수 있다. 일련의 기준은 그 외에도 픽처가 인터 예측 참조로서 필요하지 않거나 더 이상 필요하지 않다는 그리고/또는 픽처가 출력 용도로 필요하지 않거나 더 이상 필요하지 않다는 요건을 포함할 수 있다.
일부 실시예에서, 인코더 또는 버퍼 검증기는 특정 픽처 타입을 가진 픽처가 코딩되지 않게 하는 동작점 또는 계층의 조합에 대하여 스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 포함하는 비트스트림에 대한 HRD 파라미터를 결정한다. 일부 실시예에서, 부가적으로 또는 대안으로 인코더 또는 버퍼 검증기는 스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 사용하는 서브-비트스트림 추출 프로세스에 의해 생성된 서브-비트스트림에 대한 HRD 파라미터를 결정하며 동작점 또는 계층의 조합을 그 프로세스로의 입력으로서 취한다. HRD 파라미터는 예를 들면 초기의 CPB 제거 시간 및 초기의 DPB 제거 지연을 포함할 수 있다. HRD 파라미터는 예를 들면 VUI 내에서 및/또는 H.264/AVC 및 HEVC의 메시지와 유사한 버퍼링 주기 SEI 메시지 및 픽처 타이밍 SEI 메시지와 같은 적절한 SEI 메시지 내에서 표시될 수 있다. HRD 파라미터는 특히 특정한 픽처 타입이 (특정 계층에서) 디코딩되지 않는 디코더 동작 및 디코딩될 특정 타겟 동작점 또는 계층의 특정 조합에 관련되도록 표시될 수 있다. 대안으로 또는 부가적으로 HRD 파라미터는 특정 동작점 또는 서브-비트스트림 추출 프로세스로의 입력으로서 주어진 계층들의 특정 조합을 가진 서브-비트스트림에 관련되도록 표시될 수 있다. 일부 실시예에서, 인코더 또는 버퍼 검증기는 서브-비트스트림이 예를 들면 시퀀스 파라미터 세트 및/또는 비디오 파라미터 세트 및/또는 SEI 메시지에서 준수하는 하나 이상의 프로파일 및/또는 레벨을 표시할 수 있다.
전술한 표시를 이용하여 여러 장점이 얻어질 수 있다. 하나 이상의 표시를 이용하면, 수신기가 강화 계층 디코딩만이 필요하다고 표시하는 경우 네트워크 요소는 베이스 계층에서 인터 코딩된 픽처를 폐기할 수 있다. 뿐만 아니라, 단일의 움직임 보상된 예측 루프가 강화 계층 픽처를 디코딩하는데 필요할 수 있다. 게다가, 스케일러블 디코더는 베이스 계층 픽처에 대한 움직임 벡터 예측 프로세스를 계속 파악하고 있을 필요가 없다. 또한, CABAC(Context Adaptive Binary Arithmetic Coding) 파싱과 같은 엔트로피 디코딩이 인트라 픽처와 다른 베이스 계층 픽처에 필요하지 않을 수 있다.
앞에서, 일부 실시예는 강화 계층 및 베이스 계층을 참조하여 기술되었다. 베이스 계층은 강화 계층의 참조 계층으로 필요로 하는 한 마찬가지로 임의의 다른 계층일 수도 있다는 것을 이해할 필요가 있다. 인코더는 둘보다 많은 계층을 비트스트림으로 생성할 수 있고 디코더는 비트스트림으로부터 둘보다 많은 계층을 디코딩할 수 있다는 것을 또한 이해할 필요가 있다. 실시예는 강화 계층과 그의 참조 계층의 임의의 쌍으로 실현될 수도 있다. 마찬가지로, 많은 실시예는 둘보다 많은 계층을 고려하여 실현될 수도 있다.
앞에서, 일부 실시예는 특정 타입의 파라미터 세트에 관련하여 기술되었다. 그러나, 실시예는 비트스트림에서 임의 형태의 파라미터 세트 또는 다른 신택스 구조로 실현될 수도 있다는 것을 이해할 필요가 있다.
앞에서, 일부 실시예는 표시, 신택스 요소, 및/또는 신택스 구조를 비트스트림으로 또는 코딩된 비디오 시퀀스로 인코딩하는 것 그리고/또는 비트스트림으로부터 또는 코딩된 비디오 시퀀스로부터 표시, 신택스 요소, 및/또는 신택스 구조를 디코딩하는 것과 관련하여 기술되었다. 그러나, 실시예는 표시, 신택스 요소, 및/또는 신택스 구조를 신택스 구조로 인코딩할 때나 비트스트림과 무관한 데이터 유닛이나 코딩된 슬라이스와 같은 비디오 코딩 계층 데이터를 포함하는 코딩된 비디오 시퀀스로 인코딩할 때, 또는 신택스 구조나 비트스트림과 무관한 데이터 유닛으로부터 또는 코딩된 슬라이스와 같은 비디오 코딩 계층 데이터를 포함하는 코딩된 비디오 시퀀스로부터 표시, 신택스 요소, 및/또는 신택스 구조를 디코딩할 때 실현될 수도 있다는 것을 이해할 필요가 있다. 예를 들면, 일부 실시예에서, 앞의 임의의 실시예에 따른 표시는 예를 들면 SDP와 같은 제어 프로토콜을 이용하여 코딩된 비디오 시퀀스와 다르게 전달되는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트로 코딩될 수 있다. 동일한 예를 계속하여 설명하면, 수신기는 예를 들면 제어 프로토콜을 이용하여, 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 획득하고, 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 디코딩하기 위해 제공할 수 있다.
앞에서, 예시적인 실시예는 비트스트림의 신택스를 참조하여 기술되었다. 그러나, 대응하는 구조 및/또는 컴퓨터 프로그램은 비트스트림을 생성하는 인코더 및/또는 비트스트림을 디코딩하는 디코더에 상주할 수 있다는 것을 이해할 필요가 있다. 마찬가지로, 예시적인 실시예가 인코더를 참조하여 기술된 경우, 결과적인 비트스트림 및 디코더는 그 실시예에서 대응하는 요소를 갖는다는 것을 이해할 필요가 있다. 마찬가지로, 예시적인 실시예가 디코더를 참조하여 기술된 경우, 인코더는 디코더에 의해 디코딩되는 비트스트림을 생성하는 구조 및/또는 컴퓨터 프로그램을 갖는다는 것을 이해할 필요가 있다.
전술한 본 발명의 실시예는 연루되는 프로세스를 이해하는 데 도움을 주기 위해 별개의 인코더 및 디코더 장치의 관점에서 코덱을 기술하였다. 그러나, 장치, 구조 및 동작은 단일의 인코더-디코더 장치/구조/동작으로서 구현될 수 있다는 것이 인식될 것이다. 뿐만 아니라 본 발명의 일부 실시예에서, 코더 및 디코더는 일부 또는 모든 공용 요소를 공유할 수 있다.
비록 전술한 예가 전자 기기 내 코덱 내부에서 동작하는 본 발명의 실시예를 기술할지라도, 아래에 기술된 바와 같이 본 발명은 임의의 비디오 코덱의 일부로서 구현될 수 있다는 것이 인식될 것이다. 그러므로, 예를 들면, 본 발명의 실시예는 고정된 또는 유선의 통신 경로를 통해 비디오 코딩을 구현할 수 있는 비디오 코덱에서 구현될 수 있다.
그러므로, 사용자 장비는 전술한 본 발명의 실시예에서 기술된 것과 같은 비디오 코덱을 포함할 수 있다. 사용자 장비라는 용어는 모바일 텔레폰, 휴대용 데이터 처리 장치 또는 휴대용 웹 브라우저와 같은 임의의 적합한 형태의 무선 사용자 장비를 포함하는 것으로 의도하는 것이 인식될 것이다.
뿐만 아니라 공중 육상 모바일 네트워크(public land mobile network (PLMN))의 요소 또한 전술한 바와 같은 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 조합으로 구현될 수 있다. 예를 들면, 비록 본 발명이 이것으로 제한되지 않지만, 일부 양태는 하드웨어로 구현될 수 있는 반면, 다른 양태는 컨트롤러, 마이크로프로세서 또는 다른 컴퓨팅 장치에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있다. 본 발명의 다양한 양태가 블록도, 플로우 차트로서 또는 일부 다른 회화적 표현을 이용하여 묘사되고 기술될 수 있지만, 본 출원에 기술된 이러한 블록, 장치, 시스템, 기술 또는 방법은, 비제한적인 예로서, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로 또는 로직, 범용 하드웨어 또는 컨트롤러 또는 다른 컴퓨팅 디바이스, 또는 이들의 일부 조합으로 구현될 수 있다는 것 또한 물론이다.
본 발명의 실시예는 프로세서 엔티티에서와 같은 모바일 기기의 데이터 프로세서에 의해 실행가능한 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 또한, 이와 관련하여, 도면에서처럼 로직 흐름의 임의의 블록은 프로그램 단계, 또는 상호연결된 로직 회로, 블록 및 기능, 또는 프로그램 단계 및 로직 회로, 블록 그리고 기능의 조합을 표현할 수 있다는 것을 주목하여야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내부에 구현된 메모리 블록과 같은 그러한 물리적 매체, 하드 디스크나 플로피 디스크와 같은 자기 매체, 예를 들면, DVD 및 그의 데이터 이형체인 CD와 같은 광학 매체 상에 저장될 수 있다.
메모리는 국부적인 기술 환경에 적합한 임의의 형태를 가질 수 있으며 반도체-기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정 메모리 및 제거가능한 메모리와 같은 임의의 적합한 데이터 저장 기술을 이용하여 구현될 수 있다. 데이터 프로세서는 국부적인 기술 환경에 적합한 모든 형태를 가질 수 있으며, 비제한적인 예로서 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSPS) 및 멀티-코어 프로세서 아키텍처에 기반한 프로세서 중 하나 이상을 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 각종 컴포넌트에서 실시될 수 있다. 집적 회로의 디자인은 전반적으로 고도로 자동화된 프로세스이다. 복잡하고 강력한 소프트웨어 툴은 로직 레벨 디자인을 반도체 기판 상에서 에칭되고 형성되게 준비된 반도체 회로 디자인으로 변환하는데 이용 가능하다.
캘리포니아, 마운틴 뷰 소재의 Synopsys 인코포레이티드와 캘리포니아 산호세 소재의 Cadence Design에 의해 제공된 것과 같은 프로그램은 자동으로 전도체를 안내하고 잘 설정된 디자인 룰 및 사전-저장된 디자인 모듈의 라이브러리를 이용하여 반도체 칩 상에 컴포넌트를 배치한다. 일단 반도체 회로의 디자인이 완성되면, 표준화된 전자 포맷(예를 들면, Opus 또는 GDSII 등)으로 된 결과적인 디자인은 반도체 제조 설비 또는 제조용 "팹(fab)"으로 전달될 수 있다.
전술한 설명은 본 발명의 예시적인 실시예의 풍부하고 유익한 설명을 예시적이고 비제한적인 예로서 제공하였다. 그러나, 첨부 도면 및 첨부의 청구범위와 함께 읽어볼 때, 전술한 설명으로 보아 관련 기술에서 통상의 지식을 가진 자들에게는 여러 가지 수정과 적응이 자명해질 수 있다. 그러나, 본 발명의 가르침의 그러한 모든 변형 및 유사한 변형은 그럼에도 본 발명의 범주 내에 속할 것이다.
제 1 실시예에 따른 방법이 제공되며, 이 방법은,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 단계와,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 단계와,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 단계를 포함한다.
실시예에 따르면, 방법은 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 정제하는 하나 이상의 부가적인 표시를 특정 계층에 특정되게 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 인트라-코딩된 픽처로 제한한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한한다.
실시예에 따르면, 방법은 가용 계산 자원, 참조 프레임의 저장을 위한 가용 메모리, 가용 메모리 액세스 대역폭, 및/또는 구현된 계층 간 코딩 툴을 기반으로 하여 계층 간 예측의 사용에 관련한 정보를 결정하는 단계를 더 포함한다.
실시예에 따르면, 방법은 하나 이상의 신택스 요소 내 상기 하나 이상의 표시를 인코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함된다.
제 2 실시예에 따른 장치는,
베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 인코딩하기 위해 구성된 비디오 인코더를 포함하며, 상기 비디오 인코더는,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하기 위해 더 구성된다.
제 3 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되어 있는 컴퓨터 판독가능한 저장 매체가 제공되며, 이 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 과정과,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 과정을 수행하게 한다.
제 4 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되며, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 과정과,
계층 간 예측을 위한 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 과정을 수행하게 한다.
제 5 실시예에 따른 방법은 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위한 방법을 포함하며, 이 방법은,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시 또는 상기 비트스트림 내 하나 이상의 코딩된 비디오 시퀀스를 수신하는 단계 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 와,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 단계와,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하는 단계를 포함한다.
실시예에 따르면, 방법은 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 상기 하나 이상의 표시를 특정 계층에 특정되도록 정제하는 하나 이상의 부가적인 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 방법은 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 생략하는 단계를 더 포함한다.
실시예에 따르면, 방법은 가용 계산 자원, 참조 프레임의 저장을 위한 가용 메모리, 가용 메모리 액세스 대역폭, 및/또는 디코딩 장치의 구현된 계층 간 코딩 툴을 기반으로 하여 디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 단계를 더 포함한다.
실시예에 따르면, 하나 이상의 타겟 출력 계층은 하나보다 많은 계층 식별자를 특징으로 한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 인트라-코딩된 픽처로 제한한다.
실시예에 따르면, 계층 간 예측의 사용에 관련한 정보는 계층 간 예측의 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한한다.
실시예에 따르면, 방법은 하나 이상의 신택스 요소로부터 상기 하나 이상의 표시를 디코딩하는 단계를 더 포함한다.
실시예에 따르면, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함된다.
제 6 실시예에 따른 장치는,
베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위해 구성된 비디오 디코더를 포함하며, 비디오 디코더는,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림과 연관된 하나 이상의 표시 정보로부터 디코딩하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하기 위해 구성된다.
제 7 실시예에 따르면, 장치에 의해 사용하기 위한 코드가 저장되어 있는 컴퓨터 판독가능한 저장 매체가 제공되며, 이 코드는 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신하는 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 과정과,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시 정보로부터 디코딩하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하는 과정을 수행하게 한다.
제 8 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되며, 적어도 하나의 메모리에는 코드가 저장되고, 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신하는 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 과정과,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 과정과,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시로부터 디코딩하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 과정과,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하는 과정을 수행하게 한다.
제 9 실시예에 따른 방법은 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 수정하기 위한 방법을 포함하며, 이 방법은,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신하는 단계 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 와,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하는 단계와,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합을 결정하는 단계와,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 상기 NAL 유닛을 포워딩하는 단계를 포함한다.
제 10 실시예에 따른 장치는,
베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 수정하기 위해 구성된 비트스트림 수정자를 포함하며, 이 비트스트림 수정자는,
비트스트림의 적어도 일부 및 비트스트림과 연관된 하나 이상의 표시를 수신 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하고,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합을 결정하고,
픽처 타입 및/또는 NAL 유닛 타입과 포워딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 상기 NAL 유닛을 포워딩하기 위해 구성된다.
제 11 실시예에 따르면, 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 인코딩하기 위해 구성된 비디오 인코더가 제공되며, 상기 비디오 인코더는,
스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
계층 간 예측을 위한 상기 하나 이상의 표시에 따라서 픽처를 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하기 위해 더 구성된다.
제 12 실시예에 따르면, 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위해 구성된 비디오 디코더가 제공되며, 상기 비디오 디코더는,
비트스트림의 적어도 일부 및 상기 비트스트림과 연관된 하나 이상의 표시를 수신 - 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
디코딩하기 위한 하나 이상의 타겟 출력 계층을 결정하고,
계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 비트스트림 정보와 연관된 하나 이상의 표시 정보로부터 디코딩하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합에 의해 표시되는 비트스트림의 NAL 유닛을 디코딩하기 위해 구성된다.

Claims (22)

  1. 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림(scalable bitstream)을 디코딩하기 위한 방법으로서,
    상기 비트스트림의 적어도 일부 및 상기 비트스트림과 연관된 하나 이상의 표시 또는 상기 비트스트림 내 하나 이상의 코딩된 비디오 시퀀스를 수신하는 단계 - 상기 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 와,
    디코딩을 위한 하나 이상의 타겟 출력 계층을 결정하는 단계와,
    상기 하나 이상의 표시로부터 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 정보를 디코딩하는 단계 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 인트라-코딩된 픽처로 제한함 - 와,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합, 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하는 단계와,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 상기 조합에 의해 표시되는 상기 비트스트림의 상기 NAL 유닛을 디코딩하는 단계를 포함하는
    스케일러블 비트스트림 디코딩 방법.
  2. 제 1 항에 있어서,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 상기 하나 이상의 표시를 특정 계층에 특정되도록 정제하는 하나 이상의 부가적인 표시를 디코딩하는 단계를 더 포함하는
    스케일러블 비트스트림 디코딩 방법.
  3. 제 1 항에 있어서,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 상기 조합에 의해 표시되는 상기 비트스트림의 상기 NAL 유닛을 제외하는 단계를 더 포함하는
    스케일러블 비트스트림 디코딩 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한하는
    스케일러블 비트스트림 디코딩 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    하나 이상의 신택스 요소로부터 상기 하나 이상의 표시를 디코딩하는 단계를 포함하며, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함되는
    스케일러블 비트스트림 디코딩 방법.
  6. 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 디코딩하기 위해 구성된 비디오 디코더를 포함하는 장치로서, 상기 장치는,
    상기 비트스트림의 적어도 일부 및 상기 비트스트림과 연관된 하나 이상의 표시 또는 상기 비트스트림 내 하나 이상의 코딩된 비디오 시퀀스를 수신 - 상기 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
    디코딩을 위한 하나 이상의 타겟 출력 계층을 결정하고,
    상기 하나 이상의 표시로부터 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 정보를 디코딩 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 하고,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 상기 조합에 의해 표시되는 상기 비트스트림의 상기 NAL 유닛을 디코딩하기 위해 구성되는
    스케일러블 비트스트림 디코딩 장치.
  7. 제 6 항에 있어서,
    상기 장치는,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 상기 하나 이상의 표시를 특정 계층에 특정되도록 정제하는 하나 이상의 부가적인 표시를 디코딩하기 위해 더 구성되는
    스케일러블 비트스트림 디코딩 장치.
  8. 제 6 항에 있어서,
    상기 장치는,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 상기 조합에 의해 표시되는 상기 비트스트림의 상기 NAL 유닛을 제외하기 위해 더 구성되는
    스케일러블 비트스트림 디코딩 장치.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한하는
    스케일러블 비트스트림 디코딩 장치.
  10. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 장치는,
    하나 이상의 신택스 요소로부터 상기 하나 이상의 표시를 디코딩하기 위해 더 구성되며, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함되는
    스케일러블 비트스트림 디코딩 장치.
  11. 장치에 의해 사용하기 위한 코드가 저장되어 있는 컴퓨터 판독가능한 저장 매체로서, 상기 코드는 프로세서에 의해 실행될 때, 상기 장치로 하여금,
    상기 비트스트림의 적어도 일부 및 상기 비트스트림과 연관된 하나 이상의 표시 또는 상기 비트스트림 내 하나 이상의 코딩된 비디오 시퀀스를 수신 - 상기 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
    디코딩을 위한 하나 이상의 타겟 출력 계층을 결정하고,
    상기 하나 이상의 표시로부터 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 정보를 디코딩 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 하고,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 상기 조합에 의해 표시되는 상기 비트스트림의 상기 NAL 유닛 디코딩하는 것을 수행하게 하는
    컴퓨터 판독가능한 저장 매체.
  12. 적어도 하나의 프로세서 및 적어도 하나의 메모리로서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 상기 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
    상기 비트스트림의 적어도 일부 및 상기 비트스트림과 연관된 하나 이상의 표시 또는 상기 비트스트림 내 하나 이상의 코딩된 비디오 시퀀스를 수신 - 상기 표시는 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련함 - 하고,
    디코딩을 위한 하나 이상의 타겟 출력 계층을 결정하고,
    상기 하나 이상의 표시로부터 계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 정보를 디코딩 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 하고,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되지 않는 계층 식별자 값과의 조합 및/또는 픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 조합을 결정하고,
    픽처 타입 및/또는 NAL 유닛 타입과 디코딩되는 계층 식별자 값과의 상기 조합에 의해 표시되는 상기 비트스트림의 상기 NAL 유닛 디코딩하는 것을 수행하게 하는
    적어도 하나의 프로세서 및 적어도 하나의 메모리.
  13. 스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득하는 단계 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 상기 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 와,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하는 단계와,
    계층 간 예측을 위한 상기 하나 이상의 표시에 따라서 픽처를 상기 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 단계를 포함하는
    방법.
  14. 제 13 항에 있어서,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 상기 하나 이상의 표시를 특정 계층에 특정되도록 정제하는 하나 이상의 부가적인 표시를 인코딩하는 단계를 더 포함하는
    방법.
  15. 제 13 항에 있어서,
    계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한하는
    방법.
  16. 제 13 항에 있어서,
    하나 이상의 신택스 요소 내 상기 하나 이상의 표시를 인코딩하는 단계를 포함하며, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함되는
    방법.
  17. 베이스 계층 및 적어도 하나의 강화 계층을 포함하는 스케일러블 비트스트림을 인코딩하기 위해 구성된 비디오 인코더를 포함하는 장치로서, 상기 장치는,
    스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 상기 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 하고,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
    계층 간 예측을 위한 상기 하나 이상의 표시에 따라서 픽처를 상기 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하기 위해 더 구성되는
    스케일러블 비트스트림 인코딩 장치.
  18. 제 17 항에 있어서,
    상기 장치는,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 상기 하나 이상의 표시를 특정 계층에 특정되도록 정제하는 하나 이상의 부가적인 표시를 인코딩하기 위해 더 구성되는
    스케일러블 비트스트림 인코딩 장치.
  19. 제 17 항에 있어서,
    계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 스케일러블 비디오 시퀀스의 베이스 계층의 랜덤 액세스 포인트(random access point (RAP)) 픽처로 제한하는
    스케일러블 비트스트림 인코딩 장치.
  20. 제 17 항 내지 제 19 항 중 어느 한 항에 있어서,
    상기 장치는,
    하나 이상의 신택스 요소 내 상기 하나 이상의 표시를 인코딩하기 위해 더 구성되며, 상기 하나 이상의 신택스 요소는 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, 및/또는 보충 강화 정보(a supplemental enhancement information (SEI)) 메시지 내에 포함되는
    스케일러블 비트스트림 인코딩 장치.
  21. 장치에 의해 사용하기 위한 코드가 저장되어 있는 컴퓨터 판독가능한 저장 매체로서, 상기 코드는 프로세서에 의해 실행될 때, 상기 장치로 하여금,
    스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 상기 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 하고,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
    계층 간 예측을 위한 상기 하나 이상의 표시에 따라서 픽처를 상기 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 것을 수행하게 하는
    컴퓨터 판독가능한 저장 매체.
  22. 적어도 하나의 프로세서 및 적어도 하나의 메모리로서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 상기 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
    스케일러블 비디오 시퀀스의 베이스 계층의 오직 특정 타입의 픽처로부터 계층 간 예측의 사용에 관련한 정보를 획득 - 계층 간 예측의 사용에 관련한 상기 정보는 계층 간 예측의 상기 사용을 상기 스케일러블 비트스트림의 상기 베이스 계층의 인트라-코딩된 픽처로 제한함 - 하고,
    계층 간 예측을 위한 픽처 타입 및/또는 NAL 유닛 타입의 사용에 관련한 하나 이상의 표시를 인코딩하고,
    계층 간 예측을 위한 상기 하나 이상의 표시에 따라서 픽처를 상기 스케일러블 비디오 시퀀스의 비트스트림으로 인코딩하는 것을 수행하게 하는
    적어도 하나의 프로세서 및 적어도 하나의 메모리.
KR1020157010909A 2012-09-28 2013-09-25 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램 KR101775250B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261707185P 2012-09-28 2012-09-28
US61/707,185 2012-09-28
PCT/FI2013/050931 WO2014049205A1 (en) 2012-09-28 2013-09-25 An apparatus, a method and a computer program for video coding and decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177024189A Division KR101812615B1 (ko) 2012-09-28 2013-09-25 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20150065763A true KR20150065763A (ko) 2015-06-15
KR101775250B1 KR101775250B1 (ko) 2017-09-05

Family

ID=50385164

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177024189A KR101812615B1 (ko) 2012-09-28 2013-09-25 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR1020157010909A KR101775250B1 (ko) 2012-09-28 2013-09-25 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020177024189A KR101812615B1 (ko) 2012-09-28 2013-09-25 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (3) US9706199B2 (ko)
EP (1) EP2901688B1 (ko)
KR (2) KR101812615B1 (ko)
CN (1) CN104813660B (ko)
PL (1) PL2901688T3 (ko)
WO (1) WO2014049205A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133255A (ko) * 2016-05-25 2017-12-05 엑시스 에이비 레코딩된 비디오를 재생하기 위한 방법 및 장치
KR20170140084A (ko) * 2016-06-10 2017-12-20 에이알엠 리미티드 비디오 데이터 처리 시스템

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3879833A1 (en) 2011-05-31 2021-09-15 JVCKENWOOD Corporation Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program
US9313486B2 (en) * 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
BR112015000480B1 (pt) * 2012-07-09 2023-02-07 Vid Scale, Inc Arquitetura de codec para codificação de vídeo de camada múltipla, método e sistema
WO2014055805A1 (en) * 2012-10-04 2014-04-10 Vid Scale, Inc. Reference picture set mapping for standard scalable video coding
KR102091139B1 (ko) * 2012-10-08 2020-03-20 삼성전자주식회사 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 부호화 방법 및 그 장치, 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 복호화 방법 및 그 장치
WO2014106692A1 (en) * 2013-01-07 2014-07-10 Nokia Corporation Method and apparatus for video coding and decoding
US10194146B2 (en) * 2013-03-26 2019-01-29 Qualcomm Incorporated Device and method for scalable coding of video information
US8958477B2 (en) * 2013-04-05 2015-02-17 Vidyo, Inc. Multiple reference layer prediction signaling techniques
KR20140122202A (ko) * 2013-04-05 2014-10-17 삼성전자주식회사 계층 식별자 확장에 따른 비디오 스트림 부호화 방법 및 그 장치, 계층 식별자 확장에 따른 따른 비디오 스트림 복호화 방법 및 그 장치
US11438609B2 (en) * 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
CN105325003B (zh) * 2013-04-17 2019-05-28 诺基亚技术有限公司 用于视频编码和解码的装置、方法
JP6571314B2 (ja) * 2013-06-18 2019-09-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法
GB2516224A (en) 2013-07-11 2015-01-21 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
GB2516824A (en) 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
US20150036738A1 (en) 2013-07-30 2015-02-05 Texas Instruments Incorporated Method and apparatus for real-time sao parameter estimation
US9648333B2 (en) * 2013-10-11 2017-05-09 Vid Scale, Inc. High level syntax for HEVC extensions
WO2015098561A1 (ja) * 2013-12-27 2015-07-02 ソニー株式会社 復号装置および復号方法、並びに、符号化装置および符号化方法
US20150195564A1 (en) * 2014-01-03 2015-07-09 Qualcomm Incorporated Method for coding a reference picture set (rps) in multi-layer coding
US9832481B2 (en) * 2014-01-03 2017-11-28 Qualcomm Incorporated Support of base layer of a different codec in multi-layer video coding
US9794558B2 (en) * 2014-01-08 2017-10-17 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
JP2015136060A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US20160227229A1 (en) * 2015-02-04 2016-08-04 Harris Corporation Mobile ad hoc network media aware networking element
US10455242B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
MX2018003687A (es) * 2015-09-23 2018-04-30 Arris Entpr Llc Alto rango dinamico de señalizacion y contenido de amplia gama de colores en corrientes de transporte.
GB2544800A (en) * 2015-11-27 2017-05-31 V-Nova Ltd Adaptive bit rate ratio control
US9794574B2 (en) * 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
TWI762260B (zh) * 2016-02-09 2022-04-21 弗勞恩霍夫爾協會 用於圖像/視訊資料串流而允許有效可縮減性或有效隨機存取之技術
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
WO2018124957A1 (en) 2016-12-30 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Decoded picture buffer management for handling cross-picture data prediction
CN108989810A (zh) * 2017-06-03 2018-12-11 上海天荷电子信息有限公司 不同分量分别采用字节流或比特流的数据压缩方法和装置
EP3643062A1 (en) * 2017-07-04 2020-04-29 Huawei Technologies Co., Ltd. Decoder side intra mode derivation (dimd) tool computational complexity reduction
KR102468596B1 (ko) * 2017-07-31 2022-11-21 에스케이텔레콤 주식회사 360 영상을 부호화 또는 복호화하기 위한 방법 및 장치
GB201817783D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media for processing configuration data
US10917636B2 (en) 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
US11553210B2 (en) * 2018-12-07 2023-01-10 Interdigital Vc Holdings, Inc. Managing coding tools combinations and restrictions
KR20220003101A (ko) * 2019-05-06 2022-01-07 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서 새로운 코딩된 비디오 시퀀스를 시작하는 픽처에 대한 이전 픽처의 출력
US11303913B2 (en) * 2019-06-19 2022-04-12 Qualcomm Incorporated Decoded picture buffer indexing
WO2021006632A1 (ko) * 2019-07-08 2021-01-14 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
CN114365496A (zh) * 2019-07-08 2022-04-15 Lg电子株式会社 基于缩放列表数据的图像或视频编码
WO2021006631A1 (ko) * 2019-07-08 2021-01-14 엘지전자 주식회사 스케일링 리스트 데이터의 시그널링 기반 비디오 또는 영상 코딩
EP4026328A4 (en) * 2019-09-24 2022-10-19 Huawei Technologies Co., Ltd. HRD COMPLIANCE TESTING ON AN OLS
US20230045490A1 (en) * 2019-12-23 2023-02-09 Lg Electronics Inc. Image or video coding based on nal unit-associated information
EP4085622A1 (en) * 2019-12-31 2022-11-09 Koninklijke KPN N.V. Partial output of a decoded picture buffer in video coding
KR20220143936A (ko) * 2020-02-28 2022-10-25 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 파라미터 세트의 시그널링 및 의미론적 대응 방법
MX2022011207A (es) 2020-03-16 2022-09-19 Bytedance Inc Unidad de acceso de punto de acceso aleatorio en codificacion de video escalable.
CN115552903A (zh) * 2020-05-12 2022-12-30 Lg电子株式会社 处理图像/视频编码系统中的单层比特流内的参数集的参考的方法和装置
KR20220080489A (ko) 2020-12-07 2022-06-14 윤재호 글라스열성형금형용 랩핑툴
WO2022131845A1 (ko) * 2020-12-17 2022-06-23 엘지전자 주식회사 Nal 유닛 정보를 포함하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법
US20240007670A1 (en) * 2022-07-01 2024-01-04 Tencent America LLC Dynamic mesh vertex displacements coding
CN115802049B (zh) * 2023-02-09 2023-04-14 深流微智能科技(深圳)有限公司 视频数据编解码方法、装置以及视频数据传输系统

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7586924B2 (en) * 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US9124907B2 (en) * 2004-10-04 2015-09-01 Nokia Technologies Oy Picture buffering method
US20060120455A1 (en) * 2004-12-08 2006-06-08 Park Seong M Apparatus for motion estimation of video data
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
KR20060122671A (ko) 2005-05-26 2006-11-30 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US20070014346A1 (en) 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
KR20080066784A (ko) 2005-10-11 2008-07-16 노키아 코포레이션 규모가변적 비디오 코딩을 위한 효율적 디코딩 화상 버퍼관리
EP2375749B1 (en) * 2005-10-11 2016-11-23 Nokia Technologies Oy System and method for efficient scalable stream adaptation
US8619865B2 (en) * 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
JP2009540625A (ja) 2006-02-16 2009-11-19 ヴィドヨ,インコーポレーテッド スケーラブルビデオコーディングビットストリームのシニングのためのシステムおよび方法
US20070230567A1 (en) 2006-03-28 2007-10-04 Nokia Corporation Slice groups and data partitioning in scalable video coding
US20070230564A1 (en) 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
WO2007114612A1 (en) * 2006-03-30 2007-10-11 Lg Electronics Inc. A method and apparatus for decoding/encoding a video signal
JP5039142B2 (ja) * 2006-10-25 2012-10-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 品質スケーラブルな符号化方法
BRPI0710067A2 (pt) * 2006-11-09 2011-08-02 Lg Eletronics Inc método e aparelho para decodificar/codificar um sinal de vìdeo
US8576858B2 (en) * 2006-12-13 2013-11-05 Viasat, Inc. Multiple transmission paths for hierarchical layers
CN101617538A (zh) * 2007-01-08 2009-12-30 诺基亚公司 用于视频编码中扩展空间可分级性的改进层间预测
US8548056B2 (en) * 2007-01-08 2013-10-01 Qualcomm Incorporated Extended inter-layer coding for spatial scability
KR101635235B1 (ko) * 2008-07-26 2016-06-30 톰슨 라이센싱 스케일러블 비디오 코딩(svc)을 이용한 고속 채널 변경 응용을 위한 실시간 전송 프로토콜(rtp) 패킷화 방법
US8498330B2 (en) * 2009-06-29 2013-07-30 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for coding mode selection
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US9992456B2 (en) * 2010-02-24 2018-06-05 Thomson Licensing Dtv Method and apparatus for hypothetical reference decoder conformance error detection
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
US20110280311A1 (en) * 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US20120075436A1 (en) * 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
GB201100397D0 (en) * 2011-01-11 2011-02-23 Univ Gent Fast channel switching
JP5738434B2 (ja) * 2011-01-14 2015-06-24 ヴィディオ・インコーポレーテッド 改善されたnalユニットヘッダ
US9516379B2 (en) * 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs
JP5833682B2 (ja) 2011-03-10 2015-12-16 ヴィディオ・インコーポレーテッド スケーラブルなビデオ符号化のための依存性パラメータセット
US9706227B2 (en) * 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
EP3139611A1 (en) * 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US11496760B2 (en) * 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US10237565B2 (en) * 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US10205961B2 (en) * 2012-04-23 2019-02-12 Qualcomm Incorporated View dependency in multi-view coding and 3D coding
US20140010277A1 (en) * 2012-07-09 2014-01-09 Qualcomm, Incorporated Supplemental enhancement information (sei) messages having a fixed-length coded video parameter set (vps) id
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
WO2014072571A1 (en) * 2012-10-01 2014-05-15 Nokia Corporation Method and apparatus for scalable video coding
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
US10148983B2 (en) * 2015-09-25 2018-12-04 Qualcomm Incorporated Methods and systems of improved video stream switching and random access

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133255A (ko) * 2016-05-25 2017-12-05 엑시스 에이비 레코딩된 비디오를 재생하기 위한 방법 및 장치
KR20170140084A (ko) * 2016-06-10 2017-12-20 에이알엠 리미티드 비디오 데이터 처리 시스템
US11212540B2 (en) 2016-06-10 2021-12-28 Arm Limited Video data processing system

Also Published As

Publication number Publication date
KR20170102384A (ko) 2017-09-08
CN104813660B (zh) 2019-04-05
US10230977B2 (en) 2019-03-12
WO2014049205A1 (en) 2014-04-03
US20140092964A1 (en) 2014-04-03
US9706199B2 (en) 2017-07-11
EP2901688A4 (en) 2016-05-25
KR101812615B1 (ko) 2017-12-27
EP2901688B1 (en) 2019-10-23
PL2901688T3 (pl) 2020-05-18
US10771805B2 (en) 2020-09-08
KR101775250B1 (ko) 2017-09-05
EP2901688A1 (en) 2015-08-05
US20170310989A1 (en) 2017-10-26
US20190208222A1 (en) 2019-07-04
CN104813660A (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
US10771805B2 (en) Apparatus, a method and a computer program for video coding and decoding
US10659802B2 (en) Video encoding and decoding
US10506247B2 (en) Apparatus, a method and a computer program for video coding and decoding
KR102224703B1 (ko) 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
KR101881677B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR102077900B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
EP3058735B1 (en) Multi-layer hypothetical reference decoder
KR102474636B1 (ko) 크로스-채널 잔차 인코딩 및 디코딩을 위한 양자화 파라미터 도출
US20140254681A1 (en) Apparatus, a method and a computer program for video coding and decoding
US20160381385A1 (en) A method, an apparatus and a computer program product for video coding and decoding
KR20150063135A (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
EP3777195A1 (en) An apparatus, a method and a computer program for running a neural network
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
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right