KR20150050597A - 비디오 시퀀스의 픽처의 디코딩 및 인코딩 - Google Patents

비디오 시퀀스의 픽처의 디코딩 및 인코딩 Download PDF

Info

Publication number
KR20150050597A
KR20150050597A KR1020157010551A KR20157010551A KR20150050597A KR 20150050597 A KR20150050597 A KR 20150050597A KR 1020157010551 A KR1020157010551 A KR 1020157010551A KR 20157010551 A KR20157010551 A KR 20157010551A KR 20150050597 A KR20150050597 A KR 20150050597A
Authority
KR
South Korea
Prior art keywords
picture
output
decoded
pictures
marked
Prior art date
Application number
KR1020157010551A
Other languages
English (en)
Other versions
KR101561012B1 (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 KR20150050597A publication Critical patent/KR20150050597A/ko
Application granted granted Critical
Publication of KR101561012B1 publication Critical patent/KR101561012B1/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/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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 실시예는, 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼, DPB(125, 225, 325, 425, 525, 625), 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수(125, 225, 325, 425, 525, 625)를 결정함으로써 픽처에 대한 출력 지연을 감소시킨다. 이 수는, 현재 픽처가 디코딩되고 DPB(125, 225, 325, 425, 525, 625) 내에 기억된 후에, 비디오 시퀀스의 픽처를 나타내는 비트스트림(10) 내에 존재한 또는 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교된다. 이 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(125, 225, 325, 425, 525, 625) 내의 픽처의, 출력 순서로 제1픽처인, 픽처는, 바람직하게는 출력되고, 출력을 위해 필요하지 않는으로서 마크된다.

Description

비디오 시퀀스의 픽처의 디코딩 및 인코딩{decoding and encoding of pictures of a video sequence}
본 발명 실시예는 일반적으로 비디오 시퀀스의 픽처의 디코딩 및 인코딩 에 관한 것으로, 특히 픽처를 디코딩 및 인코딩하는 것과 관련해서 디코딩된 픽처 버퍼로부터의 픽처를 출력 또는 범핑하는 것과 관련된다.
H.264 비디오 압축
H.264((Moving Picture Experts Group-4 Advanced Video Coding (MPEG-4 AVC))는 종래 기술 비디오 코딩 표준의 상태이다. 이는, 시간적 및 공간적 리던던시를 탐색하는 블록-기반 하이브리드 비디오 코딩 방안으로 이루어진다. H.264/AVC 표준은, 디코더가 표준을 따르게(compliant) 하기 위해서, 특정된 시퀀스에서 실행되야 하는 많은 디코딩 처리를 포함하는 사양 텍스트로 규정된다. 디코더에 대한 요구조건은 없지만, 양호한 압축 효율을 달성하기 위해서 인코더가 또한 대부분의 처리를 실행하는 경우가 흔히 있다.
H.264/AVC는, 이들이 디코딩된 후 디코딩된 픽처를 기억하는 디코딩된 픽처 버퍼(DPB)를 규정한다. 이는, 디코더가 시퀀스를 디코딩하기 위해서 규정된 양의 메모리를 사용하도록 요구되는 것을 의미한다. DPB는 미래 픽처의 디코딩 동안 기준용으로 사용되는 픽처를 포함한다. "기준용으로 사용되는"은 본 명세서에서 다른 픽처가 디코딩될 때 특정 픽처가 예측을 위해 사용되는 것을 의미한다. 그 다음, 기준용으로 사용되는 픽처의 화소 값은 현재 디코딩되는 픽처의 화소 값을 예측하기 위해 사용될 수 있다. 이는, 또한 인터 예측로서 언급한다. 추가적으로, DPB는 출력을 기다리는 픽처들을 포함한다. "출력"은 본 명세서에서 디코더 외측에서 디코더가 픽처를 출력하는 기능을 의미한다. H.264 사양은, 어떻게 비트스트림이 디코딩된 픽처로 변환된 후 출력되는 지를 기술한다, 도 1 참조. 출력 픽처는, 예를 들어 디스크에 디스플레이 또는 기입된다.
DPB 내의 픽처가 출력을 기다리는 하나의 일반적인 이유는, 픽처 전에 출력되게 되는 아직 디코딩되지 않은 픽처가 있는 것이다.
도 2는 일례의 3개의 픽처: A, B 및 C를 나타낸다. 디코딩 순서는 압축된 포맷의 픽처가 디코더에 공급되는 순서이다. 이는, 전형적으로 픽처가 인코더에 의해 인코딩되는 동일한 순서이다. 도 2는 이 예에서의 디코딩 순서가 A, B 및 C인 것을 보인다. 출력 순서는, 디코딩된 픽처가 출력되는 순서이다. 출력 순서는, 출력 순서가 A, C, B인 도 2의 예에서 도시한 바와 같이 디코딩 순서와 동일하게 되지 않아야 한다. 도면 내의 화살표는 각각의 픽처에 대한 기준용으로 사용되는 어떤 픽처를 나타내며: 픽처 A는 픽처 B 및 C 양쪽에 대한 기준용으로 사용된다.
도 2에 있어서, 픽처 C는 B 후에 디코딩되지만 B 전에 출력된다. 픽처 B가 디코딩될 때, 이는, 픽처 C가 아직 디코딩되지 않고 픽처 B 전에 출력되므로, 즉시 출력될 수 없다. 그러므로, 픽처 B는, 이것이 소정의 다른 픽처에 의해 기준용으로 사용되지 않더라도, 디코딩된 후 DPB 내에 기억되어야 한다. 픽처 C를 디코딩할 때, 픽처 C가 기준을 위해 픽처 A를 사용하므로, 픽처 A는 DPB 내에 존재해야 한다.
출력 순서는 PictureOrderCount(POC) 값을 시그널링함으로써 제어된다. 픽처마다의 POC를 반송하기 위한 비트스트림 내의 신택스 엘리먼트(syntax element)들이 있고 이들 값들은 픽처의 출력 순서를 규정하기 위해서 사용된다.
DPB의 트랙을 유지하기 위해서, H.264/AVC는 픽처가 디코딩된 후에 발생하는 3개의 처리를 포함한다: 픽처 마킹 처리, 픽처 출력 처리 및 프리-업(free-up) 처리.
픽처 마킹 처리는 픽처를 "기준용으로 사용되는" 또는 "기준용으로 사용되지 않는"으로서 마크한다. "기준용으로 사용되는"으로 마크되는 픽처는 기준용으로 이용가능한데, 이는 디코딩 순서로 후속하는 픽처가 그 디코딩 처리에서 기준용의 픽처를 사용할 수 있는 것을 의미한다. "기준용으로 사용되지 않는"으로서 마크된 픽처는 후속하는 픽처들에 의해 기준용으로 사용될 수 없다. 이 처리는 비트스트림을 통해 인코더에 의해 제어된다. 존재할 때, "기준용으로 사용되지 않는"으로서 마크하기 위한 어떤 픽처를 가리키는, H.264/AVC 비트스트림 내의 옵션의 신택스가 있다. 이 동작은, 흔히 메모리 관리 제어 동작(MMCO)으로서 언급된다. 옵션의 MMCO 신택스가 없으면, "슬라이딩 윈도우" 처리로 불리는 선입 선출 메커니즘이 규정된다. 슬라이딩 윈도우 처리는, 마지막 디코딩된 픽처가 DPB 내의 너무 많은 픽처로 귀결될 때, 디코딩 순서로 가장 오래된 픽처가 "기준용으로 사용되지 않는"으로서 자동으로 마크된다.
픽처 마킹 처리 다음에 수행되는 픽처 출력 처리는, 픽처를 "출력을 위해 필요한" 또는 "출력을 위해 필요하지 않는"으로서 마크한다. "출력을 위해 필요한"으로 마크된 픽처는, "출력을 위해 필요하지 않는"으로서 마크된 픽처가 출력되었고 더 이상 출력을 기다리지 않는 동안, 아직 출력되지 않는다. 또한, 픽처 출력 처리가 픽처를 출력한다. 이는, 이 처리가 "출력을 위해 필요한"으로 마크된 픽처를 선택하고, 이들을 출력하며, 그 다음 이들을 "출력을 위해 필요하지 않는"으로서 마크하는 것을 의미한다. 픽처 출력 처리는 어떤 순서로 픽처가 출력되는지를 결정한다. 픽처 출력 처리는, 하나의 특정 픽처가 디코딩된 후에, 제로(zero), 하나의 또는 많은 픽처를 출력 및 마크할 수 있는 것에 유의한다.
이들 2개의 처리가 디코더에 의해 인보크(invok)된 후, 프리-업 처리가 인보크된다. "기준용으로 사용되지 않는" 및 "출력을 위해 필요하지 않는"으로서 모두 마크된 픽처는 엠프티(empty)되고 DPB로부터 제거된다. 이는, 때때로 DPB 픽처 슬롯 중 하나가 프리(free)된 것으로서 언급된다.
H.264/AVC 내의 DPB의 사이즈는 제한된다. 이는, 이들이 출력을 기다리는 또는 기준용으로 이용가능하게 될 수 있기 때문에, 기억될 수 있는 픽처의 수가 제한되는 것을 의미한다. 변수 max_dec_frame_bufferng는, 때때로 DPB 내에 있는 픽처 슬롯의 수로서 언급되는, DPB의 사이즈를 나타낸다. 인코더는, DPB 사이즈가 결코 오버플로하지 않도록 보장해야 한다.
3개의 처리가 표준에 기술된다. 이는, 디코더가 인코더에 의해 제어되고, 그러므로 디코더가 출력 순서에 관한 소정의 자유도를 갖지 않는 것을 의미한다. 이는, 픽처 출력 처리 및 인코더에 의해 송신된 비트스트림 내의 관련된 엘리먼트에 의해 모두 결정된다. H.264/AVC의 디코딩 단계를 위한 단순화된 흐름도가 도 3에 보인다.
H.264 내의 픽처 출력 처리는 픽처가 출력되는 순서를 규정한다. 교정 순서로 픽처를 출력하는 디코더는 출력 순서 컴플라이언트이다. 디코더는 H.264에 기술된 픽처 출력 처리를 따를 수 있지만, 때때로 픽처 출력 처리에 의해 주어진 것보다 더 빨리 픽처를 출력하기 위해서 변수 num_reorder_frames을 사용하는 것이 가능하다. num_reorder_frames는 디코딩 순서로 소정의 픽처에 선행하고 출력 순서로 이를 따르는 최대 수의 픽처를 가리킨다.
도 4는 픽처 B가 막 디코딩된 예를 나타낸다. 하지만, 픽처 B는, 픽처 C가 픽처 B 전후에 출력되는지를 알 수 없으므로, 출력될 수 없다. 출력 순서가 디코딩 순서와 동일한 것을 인코더가 결정하면, 이는 0의 num_reorder_frames 값을 디코더에 가리킬 수 있다. 이에 의해, 인코더는 이 예의 픽처 C가 픽처 B 후에 출력되고, 디코더는 디코딩될 때 픽처 B를 즉시 출력할 수 있는 것을 약속한다. 이 경우, num_reorder_frames이 0일 때, 디코더에서 추가적인 재순서화(reordering) 지연은 없게 된다. 이 예의 num_reorder_frames이 1로 설정되면, 픽처 C는 픽처 B 전에 출력되는 것이 가능하다. num_reorder_frames이 1과 등가임에 따라, num_reorder_frames을 갖는, 1 픽처의 추가적인 재순서화 지연이 있게 되고, num_reorder_frames이 2와 등가임에 따라, 재순서화 지연은 2 픽처가 되는 등이 된다.
HEVC 비디오 압축
H.265로서 또한 언급되는 고효율 비디오 코딩(HEVC)은, JCP(Joint Collaborative Team)에서 개발한 비디오 코딩 표준이다 - 비디오 코딩(JCT-VC). JCT-VC는 MPEG과 ITU-T(International Telegraph Union Telecommunication Standardization Section) 간의 공동 프로젝트이다. HEVC는 다수의 새로운 툴을 포함하고 H.264/AVC보다 상당히 효과적이다. 또한, HEVC는 픽처가 속하는 시간적 계층에 대응하는 각각의 픽처에 대한 temporal_id를 규정한다. 시간적 계층은 순서화되고(ordered) 더 낮은 시간적 계층이 더 높은 시간적 계층에 결코 의존하지 않는 성질을 갖는다. 따라서, 더 높은 시간적 계층은 더 낮은 시간적 계층에 영향을 주지 않고 제거될 수 있다. 시간적 계층의 제거는 시간적 스케일링으로서 언급된다. HEVC 비트스트림은 신택스 엘리먼트, max_sub_layers_minus1을 포함하며, 이는 비트스트림으로 존재할 수 있는 최대 수의 시간적 계층을 특정한다. 디코더는 모든 시간적 계층을 디코딩할 수 있고 또는 시간적 계층의 서브세트만을 디코딩할 수 있다. 디코더가 실제로 디코딩하는 가장 높은 시간적 계층은, 가장 높은 시간적 서브-계층으로서 언급되고, max_sub_layers_minus1로 특정된 바와 같은 최대 수 계층과 등가 또는 더 낮게 설정될 수 있다. 그 다음, 디코더는 가장 높은 시간적 서브-계층과 등가 또는 더 낮은 모든 계층을 디코딩한다. 가장 높은 시간적 서브-계층은 외부 수단에 의해 설정될 수 있다.
상기된 설명은 시간적 계층에 대해서만 특정하지 않고, 공간적 계층 및 품질 계층 등과 같은 다른 타입의 계층을 유지하는 것에 유의하자. 그 다음, 디코더가 디코딩하는 시간적 계층은 가장 높은 디코딩된 계층으로서 언급된다.
HEVC의 디코딩 흐름은 H.264/AVC와 약간 다르다. HEVC는 DPB, 픽처를 "기준용으로 사용되는" 및 "기준용으로 사용되지 않는"으로서 마크하는 픽처 마킹 처리, 픽처를 "출력을 위해 필요한" 및 "출력을 위해 필요하지 않는"으로서 마크하는 픽처 출력 처리 및 프리-업 처리를 갖는다. 또한, H.264/AVC와 같이, HEVC는 픽처 출력 순서를 규정하기 위해 POC 값을 사용한다. POC 값은 변수 PicOrdderCntVal로 나타낸 HEVC 내에 있고, 여기서 픽처는 증가하는 PicOrdderCntVal 순서로 출력된다.
그런데, HEVC는 MMCO 또는 슬라이딩 윈도우 처리를 갖지 않는다. 대신, HEVC는 "기준용으로 사용되는"으로서 마크된 픽처의 리스트가 각각의 슬라이스 헤더로 명확하게 송신되는 것을 특정한다. HEVC로 마킹하는 픽처는 이 리스트를 사용하고, 리스트된 DPB 내의 모든 픽처가 "기준용으로 사용되는"으로서 마크되고 리스트되지 않은 DPB 내의 모든 픽처가 "기준용으로 사용되지 않는"으로서 마크되는 것을 보장한다. 리스트는 기준 픽처 세트(RPS)로 불리고, 각각의 슬라이스 헤더로 송신하는 하나는, DPB에서 마킹하는 기준의 상태가 명백하고 각각의 슬라이스에서 반복되는 것을 의미하는데, 이는 H.264/AVC의 경우는 아니다.
RPS가 HEVC에서 사용되므로, 픽처 마킹 처리, 픽처 출력 처리 및 프리-업 처리는 픽처의 제1슬라이스 헤더의 파싱 후에 모두 수행된다, 도 5 참조.
또한, H.264/AVC에 대해서 기술된 바와 같이 num_reorder_frames 기능성이, HEVC 내에 존재한다. HEVC 비트스트림은 max_num_reorder_pics[ i ]로 나타낸 각각의 시간적 계층에 대한 신택스 엘리먼트를 포함하는데, 여기서 i는 시간적 계층이다. max_num_reorder_pics[ i ]의 기능은 num_reorder_frames와 동일하지만 본 명세서의 각각의 코드워드는, 디코딩 순서로 픽처에 선행하는 및 출력 순서로 픽처를 후속하는 동일한 또는 더 낮은 시간적 계층의 최대 허용된 수의 픽처를 가리킨다.
디코딩 순서가 A, B, C, D, E이고, 출력 순서가 A, D, C, E, B인 도 6의 예를 고려하자. 이는, 픽처 A 및 B가 최저의 시간적 계층(계층 0)에 속하고, 픽처 C가 중간 시간적 계층(계층 1)에 속하며, 픽처 D 및 E가 가장 높은 시간적 계층(계층 2)에 속하는 시간적 계층을 사용하는 픽처의 구조이다. 도면 내의 화살표는 다른 픽처에 의해 기준용으로 사용되는 어떤 픽처를 나타낸다. 예를 들어, 픽처 A로부터 픽처 B로의 화살표가 있으므로, 픽처 A는 픽처 B에 의해 기준용으로 사용되는다. HEVC에서 max_num_reorder_pics의 최상의 사용은 이를 가능한 낮게 설정해서 출력 지연을 가능한 많이 감소시키는 것이다. 각각의 시간적 계층에 대한 max_num_reorder_pics의 최저의 가능한 값이 도 6에 보인다. 최저의 계층에 대해서 이것이 0인 이유는, 디코딩 순서로 소정의 픽처에 선행하지만 출력 순서로 이것을 따르는 계층 0 내에 픽처가 없기 때문이다. 계층 1에 대해서, 디코딩 순서로 픽처 C에 선행하지만 출력 순서로 이것을 따르는 픽처 B를 갖고, 계층 2에 대해서 디코딩 순서로 모두가 픽처 D에 선행하지만 출력 순서로 이것을 따르는 픽처 B 및 C를 갖는다.
디코더는, 시간적 계층 0만을 디코딩하게 되는 것을 알게 되면, 이것이 디코딩되자마자 픽처 B를 잠재적으로 출력할 수 있지만, 디코더가 모든 계층을 디코딩하면, 할 수 없다. 그러면, 출력 순서로 B를 따르는 2개의 디코딩된 픽처가 있을 때까지 대기해야 한다.
2012년 9월 12일 공개됨에 따른, JCTVC-K0030_v3, Proposed Editorial Improvement for High efficiency video coding (HEVC) Text Specification Draft 8, B. Bross et al., JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting, Shanghai, 10-19 October 2012는, 페이지 62의 섹션 7.4.2.1 및 페이지 64의 섹션 7.4.2.2에서 max_num_reorder_pics의 사용법을 논의한다.
no _ output _ of _ prior _ pics_flag
H.264 및 HEVC 비트스트림 모두는 no_output_of_prior_pics_flag로 불리는 플래그를 특정한다. 이 플래그는 랜덤 액세스 픽처(RAP)의 슬라이스 헤더 내에 존재한다. 랜덤 액세스 픽처는, 이들로부터 스트림으로 튠(tune) 가능한 픽처들이다. 이들은, 미래 픽처의 디코딩이 디코더가 랜덤 액세스 포인트로부터 디코딩을 시작하면, 정확하게 수행될 수 있는 것을 개런티한다. 디코더에는, 튠-인 작업하기 위해 디코딩 순서로 랜덤 액세스 픽처에 선행하는 픽처를 포함하는 소정의 데이터를 공급하지 않아야 한다.
no_output_of_prior_pics_flag는 디코딩된 픽처 버퍼 내의 이전에-디코딩된 픽처가 랜덤 액세스 픽처의 디코딩 후에 어떻게 처리되는지를 특정한다. 간략해서, no_output_of_prior_pics_flag가 1과 등가이면, "출력을 위해 필요한"으로서 마크된 DPB 내의 픽처는 출력되지 않아야 하지만, no_output_of_prior_pics_flag 0과 등가이면 이들은 출력이 되어야 한다.
max_num_reorder_pics이 0이고 픽처 C가 1과 등가인 no_output_of_prior_pics_flag를 갖는 랜덤 액세스 픽처인 일례를 나타내는 도 7을 고려하자. H.264에서, 디코딩된 후 즉시 픽처 B를 출력하는 것은 가능하게 된다. 이는, 디코더가 픽처 B가 디코딩된 후, 픽처 C가 1과 등가인 no_output_of_prior_pics_flag를 갖는 RAP 픽처인지를 즉시 알지 못하므로, 현재의 HEVC 사양에서의 경우가 아니다. 픽처 C가 이러한 픽처가 아니면, 픽처 B는 디코딩된 후 즉시 출력될 수 있다. 하지만, 픽처 C가 실제로 1과 등가인 no_output_of_prior_pics_flag를 갖는 RAP 픽처이면, 픽처 B는, 픽처 C의 슬라이스 헤더가 디코딩될 때, 픽처 B가 "출력을 위해 필요한"으로서 마크되므로, 출력되지 않아야 한다.
HEVC에서의 픽처 출력 처리는 슬라이스 헤더가 파싱되고 no_output_of_prior_pics_flag가 중요 특징일 때 수행되므로, H.264/AVC에서 보다 현재의 HEVC 표준에서 더 높은 출력 지연이 있게 된다.
no_output_of_prior_pics_flag의 사용법의 정보는 JCTVC-K0030_v3의 페이지 75상의 섹션 7.4.7.1 및 페이지 26 상의 섹션 C.5.2에서 개시된다.
HEVC에서 RPS를 사용하는 장점은, 이것이 H.264/AVC 방법과 비교해서 매우 에러 허용(error resilient)적인 것이다. 또한, 시간적 확장성이 더 간단하다. HEVC 해결책이 갖는 문제점은, H.264/AVC와 비교해서 픽처 출력에 관한 추가적인 지연을 도입하는 것이다. H.264/AVC에서, 픽처는 픽처가 디코딩된 후에 출력될 수 있다. HEVC에서, 디코더는, 픽처가 출력될 때까지 파싱되는 다음 픽처의 슬라이스 헤더를 기다려야 한다. 이는 지연을 일으킨다.
그러므로, 종래 기술 비디오 코딩의 단점 및 특히 종래 기술의 비디오 코딩에서 발생될 수 있는 지연 문제점을 해결할 필요가 있다.
본 발명의 일반적인 목적은 비디오 시퀀스의 픽처의 개선된 디코딩 및 인코딩을 제공하는 것이다.
본 발명의 특정 목적은 픽처에 대한 낮은 출력 지연을 가능하게 하는 그러한 디코딩 및 인코딩을 제공하는 것이다.
이들 및 다른 목적들은 본 명세서에 개시된 실시예에 의해 충족된다.
실시예의 측면은 디코더에 의해 수행된 방법과 관련된다. 본 방법은, 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼(DPB) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하는 단계를 포함하여 구성된다. 또한, 본 방법은, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하는 단계를 포함하여 구성된다. 더욱이, 본 방법은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하는 단계를 포함하여 구성된다. 또한, 픽처는, 상기 수가 상기 값보다 크면, 출력을 위해 필요하지 않는으로서 마킹된다.
실시예의 관련된 측면은, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하도록 구성된 디코더를 규정한다. 또한, 디코더는, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된다. 더욱이, 디코더는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하고, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다.
실시예의 다른 관련된 측면은, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하기 위한 수 결정 모듈을 포함하여 구성되는 디코더를 규정한다. 또한, 디코더는, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하기 위한 비교 모듈을 포함하여 구성된다. 더욱이, 디코더는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하기 위한 출력 모듈을 포함하여 구성된다. 추가적으로, 디코더는, 상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마킹하기 위한 마킹 모듈을 포함하여 구성된다.
실시예의 다른 측면은, 인코더에 의해 수행된 방법과 관련된다. 본 방법은, 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하는 단계를 포함하여 구성된다. 또한, 본 방법은, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하는 단계를 포함하여 구성된다. 더욱이, 본 방법은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 단계를 포함하여 구성된다.
실시예의 관련된 측면은, 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하도록 구성된 인코더를 규정한다. 인코더는, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된다. 더욱이, 인코더는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다.
실시예의 다른 관련된 측면은, 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하기 위한 수 결정 모듈을 포함하여 구성되는 인코더를 규정한다. 인코더는, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하기 위한 비교 모듈을 포함하여 구성된다. 더욱이, 인코더는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하기 위한 마킹 유닛을 포함하여 구성된다.
실시예의 또 다른 측면은, 디코더에 의해 수행된 방법과 관련된다. 본 방법은, 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하는 단계를 포함하여 구성된다. 또한, 본 방법은, 상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트(RPS)를 결정하는 단계를 포함하여 구성된다. 더욱이, 본 발명은, 상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하는 단계를 포함하여 구성된다. 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고, 출력을 위해 필요하지 않는으로서 마킹한다. 또한, 본 방법은, 상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하는 단계를 포함하여 구성된다. 더욱이, 본 방법은, 상기 현재 픽처를 디코딩하는 단계 및 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하는 단계를 포함하여 구성된다. 상기 수는 비디오 시퀀스의 픽처를 나타내는 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교된다. 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하고, 출력을 위해 필요하지 않는으로서 마크한다. 실시예에 있어서, 픽처의 수를 결정하는 단계, 수를 비교하는 단계, 픽처를 출력 및 픽처를 마킹하는 단계는, 현재 픽처의 디코딩 후에, 수행된다.
실시예의 관련된 측면은, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하고, 상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트(RPS)를 결정하도록 구성된 디코더를 규정한다. 또한, 디코더는, 상기 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 구성된다. 또한, 디코더는, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고, 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 추가적으로, 디코더는, 상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하도록 구성된다. 이 실시예에서, 디코더는, 또한, 상기 현재 픽처를 디코딩하도록 구성된다. 더욱이, 디코더는, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하도록 구성된다. 추가적으로, 디코더는, 상기 수를 상기 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 구성된다. 이 실시예에서, 디코더는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하도록 더 구성된다. 디코더는, 바람직하게는, 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교, 상기 픽처를 출력 및 상기 픽처를 마크하도록 구성된다.
실시예의 다른 관련된 측면은, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하기 위한 파싱 모듈을 포함하여 구성되는 디코더를 규정한다. 또한, 디코더는, 상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트(RPS)를 결정하기 위한 기준 픽처 세트 결정 모듈을 포함하여 구성된다. 또한, 디코더는, 상기 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하기 위한 마킹 모듈과, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하기 위한 출력 모듈을 포함하여 구성된다. 상기 마킹 모듈은 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 더 마킹한다. 또한, 디코더는, 상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하기 위한 엠프티 모듈을 포함하여 구성된다. 또한, 디코더는, 상기 현재 픽처를 디코딩하기 위한 디코딩 모듈을 포함하여 구성된다. 또한, 디코더는, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하기 위한 수 결정 모듈과, 상기 수를 상기 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하기 위한 비교 모듈을 포함하여 구성된다. 이 실시예에서, 상기 출력 모듈은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 더 출력한다. 상기 마킹 모듈은, 상기 수가 상기 값보다 크면, 출력을 위해 필요하지 않는으로서 상기 픽처를 더 마킹한다. 이 실시예에서, 상기 디코딩 모듈이 상기 현재 픽처를 디코딩한 후에, 상기 수 결정 모듈은 픽처의 상기 수를 결정하고, 상기 비교 모듈은 상기 수를 비교하며, 상기 출력 모듈은 상기 픽처를 출력하고, 상기 마킹 모듈은 상기 픽처를 마킹한다.
실시예의 또 다른 측면은, 인코더에 의해 수행된 방법과 관련된다. 본 방법은, 비디오 시퀀스의 현재 픽처에 대해서 기준 픽처 세트(RPS) 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하는 단계와, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 단계를 포함하여 구성된다. 또한, 본 방법은, 상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하는 단계를 포함하여 구성된다. 또한, 본 방법은, 상기 현재 픽처를 디코딩하는 단계를 포함하여 구성된다. 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수가 결정되고, 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교된다. 또한, 본 방법은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 단계를 포함하여 구성된다. 바람직한 실시예에서, 픽처의 상기 수를 결정하는 단계, 상기 수를 비교하는 단계 및 상기 픽처를 마킹하는 단계가 상기 현재 픽처를 디코딩하는 단계 후에 수행된다.
실시예의 관련된 측면은, 비디오 시퀀스의 현재 픽처에 대해서 기준 픽처 세트(RPS) 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하도록 구성된 인코더를 규정한다. 또한, 본 인코더는, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하며, 상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하도록 구성된다. 또한, 본 인코더는, 상기 현재 픽처를 디코딩하도록 구성된다. 추가적으로, 본 인코더는, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하고, 상기 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 구성된다. 또한, 본 인코더는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되다. 바람직한 실시예에 있어서, 상기 인코더는, 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교 및 상기 픽처의 마크를 수행한다.
실시예의 다른 관련된 측면은, 비디오 시퀀스의 현재 픽처에 대해서 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하고, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 마킹 모듈을 포함하여 구성되는 인코더를 규정한다. 또한, 본 인코더는, 상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하는 엠프티 모듈을 포함하여 구성된다. 또한, 본 인코더는, 상기 현재 픽처를 디코딩하는 디코딩 모듈을 포함하여 구성된다. 또한, 본 인코더는, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하는 수 결정 모듈과, 상기 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하는 비교 모듈을 포함하여 구성된다. 상기 마킹 모듈은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 더 마킹한다. 바람직한 실시예에서, 상기 디코딩 모듈이 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정하는 상기 수 결정 모듈, 상기 수를 비교하는 상기 비교 모듈 및 상기 픽처를 마킹하는 상기 마킹 모듈이 수행된다.
실시예의 또 다른 측면은 상기에 따른 디코더 및/또는 상기에 따른 인코더를 포함하여 구성되는 모바일 단말 및, 상기에 따른 디코더 및/또는 상기에 따른 인코더를 포함하여 구성되는 네트워크 노드와 관련된다.
상기 구성에 의하면, 개선된 비디오 시퀀스의 픽처의 디코딩 및 인코딩이 제공된다.
본 실시예는, 상세한 설명 및 첨부 도면을 참조해서, 그 또 다른 목적 및 장점과 함께 최상으로 이해될 수 있으며:
도 1은 H.264/AVC 디코더의 개략적인 개관이고;
도 2는 일례의 멀티-계층 비디오 시퀀스에 대한 출력 및 디코딩 순서를 도시하며;
도 3은 H.264/AVC의 단순화된 디코딩 흐름도이고;
도 4는 일례의 멀티-계층 비디오 시퀀스에 대한 출력 및 디코딩 순서를 도시하며;
도 5는 HEVC의 단순화된 디코딩 흐름도이고;
도 6은 일례의 멀티-계층 비디오 시퀀스에 대한 출력 및 디코딩 순서 및 시간적 계층을 도시하며;
도 7은 일례의 비디오 시퀀스에 대한 출력 및 디코딩 순서를 도시하고;
도 8은 실시예에 따라 디코더에 의해 수행된 방법의 흐름도;
도 9는 도 8의 방법의 추가적인, 옵션의 단계의 흐름도;
도 10은 도 8의 방법의 추가적인, 옵션의 단계의 흐름도;
도 11은 다른 실시예에 따라 디코더에 의해 수행된 방법의 흐름도;
도 12는 도 9 또는 11의 방법의 추가적인, 옵션의 단계의 흐름도;
도 13은 도 8 또는 11의 방법의 추가적인, 옵션의 단계의 흐름도;
도 14는 실시예의 단순화된 디코딩 흐름도;
도 15는 다른 실시예의 단순화된 디코딩 흐름도;
도 16은 실시예에 따른 디코더의 개략적인 블록도;
도 17은 다른 실시예에 따른 디코더의 개략적인 블록도;
도 18은 또 다른 실시예에 따른 디코더의 개략적인 블록도;
도 19는 또 다른 실시예에 따른 디코더의 개략적인 블록도;
도 20은 또 다른 실시예에 따른 디코더의 개략적인 블록도;
도 21은 실시예에 따른 인코더에 의해 수행된 방법의 흐름도;
도 22는 다른 실시예에 따른 인코더에 의해 수행된 방법의 흐름도;
도 23은 실시예에 따른 인코더의 개략적인 블록도;
도 24는 다른 실시예에 따른 인코더의 개략적인 블록도;
도 25는 또 다른 실시예에 따른 인코더의 개략적인 블록도;
도 26은 또 다른 실시예에 따른 인코더의 개략적인 블록도;
도 27은 또 다른 실시예에 따른 인코더의 개략적인 블록도;
도 28은 실시예에 따른 모바일 단말의 개략적인 블록도;
도 29는 실시예에 따른 네트워크 노드의 개략적인 블록도;
도 30은 일례의 멀티-계층 비디오 시퀀스에 대한 출력 및 디코딩 순서를 도시한다.
도면을 통해서, 동일한 참조 번호가 유사한 또는 대응하는 엘리먼트에 대해서 사용된다.
본 발명 실시예는 일반적으로 픽처의 디코딩 및 인코딩과 관련되고, 특히 디코딩 및 인코딩 픽처와 관련해서 디코딩된 픽처 버퍼로부터 픽처를 출력 또는 범핑하는 것과 관련된다. 본 실시예는, 이에 의해 출력 지연의 감소를 가능하게 하고, 종래 기술 해결책의 상태보다 픽처의 더 빠른 출력을 허용한다.
일반적인 실시예에서, 픽처가 디코딩될 때, 디코더 또는 인코더(또한, 픽처 디코딩이 이전에 인코딩된 픽처로부터 재구성된 기준 픽처를 획득하기 위해서 인코딩 동안 수행된다)는 출력을 위해 필요한으로서 마크된 디코딩된 픽처 버퍼(DPB) 내의 픽처의 수를 결정하고, 그 수를 비트스트림 내의 신택스 엘리먼트로부터 도출된 값에 대해서 비교한다. 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 수정된 출력 처리가 수행되거나, 출력 순서로 제1픽처인, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처들 중의 픽처가 출력되어, 픽처 출력 처리 #2로 나타내고, 출력을 위해 필요하지 않는으로서 마크된다.
다양한 특정 실행 실시예 및 측면들이 이제 디코딩 측면으로 시작해서 그 다음 인코딩 측으로 계속해서 더 상세히 기술된다.
출력을 위해 필요한으로서 마크된 것은, 본 명세서에서 픽처가 디스플레이 또는 스토리지에 대해서와 같이 출력되기 위해 대기하는 것을 의미한다. 대응해서, 출력을 위해 필요하지 않는으로서 마크된 것은, 본 명세서에서 픽처가 출력하기 위해 기다리지 않고, 예를 들어, 이미 출력되었을 수 있는 것을 의미한다. 대응해서, 기준용으로 사용되는으로서 마크된 것은, 다른 픽처가 디코딩될 때, 픽처가 예측을 위해 사용되는 것을 의미한다. 기준용으로 사용되지 않는으로서 마크된 것은, 픽처가 후속하는 픽처에 의한 기준 또는 예측을 위해 사용될 수 없는 것을 의미한다. 상기 언급된 바와 같은 마킹은, 문자 그대로 라벨 "출력을 위해 필요한", "출력을 위해 필요하지 않는", "기준용으로 사용되는" 또는 "기준용으로 사용되지 않는"으로 픽처를 마킹하는 것으로 해석되어서는 안 된다. 오히려, 마킹은, 출력되어야/출력되지 않아야 하는 및 기준 픽처로서 사용/사용되지 않을 수 있는 몇몇 방식으로 픽처가 식별되는 것으로 해석되어야 한다. 마킹은 다양한 실시예로 실행될 수 있다. 예를 들어, 픽처는 출력되어야 하는 또는 출력되지 않아야 하는 픽처 또는 기준 픽처로서 사용될 수 있는 또는 기준 픽처로서 사용되지 않아야 하는 픽처에 대해서 전용인 DPB의 특정 부분 내에 기억될 수 있다. 한편, 픽처는 출력을 위해 필요한 대, 출력을 위해 필요하지 않는 및 기준용으로 사용되는 대, 기준용으로 사용되지 않는으로서 픽처를 식별하는 플래그 또는 다른 코드워드로 태그되거나 또는 그렇지 않으면 연관될 수 있다. 플래그 실행의 경우, 플래그는 대안 중 하나를 가리키기 위해서 제1값(0bin 또는 1bin)을 갖고, 그 다음 다른 대안을 가리키기 위해서 제2값(1bin 또는 0bin)을 가질 수 있다. 예를 들어, 제1플래그는 픽처의 출력에 관해서 사용될 수 있고, 제2플래그는 기준에 관해서 사용될 수 있다.
그러므로, 일반적인 측면은 디코더에 의해 수행된 방법과 관련된다. 이 방법에 있어서 디코더는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하고, 그 수를 비트스트림 내의 신택스 엘리먼트로부터 도출된 값에 대해서 비교한다. 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 수정된 출력 처리가 수행되거나 또는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처들 중의 픽처가, 출력 순서로 제1픽처로 출력되어, 픽처 출력 처리 #2로 나타내며, 출력을 위해 필요하지 않는으로서 마크된다.
바람직하게는, 이 일반적인 측면은 본 명세서에서 H.265 컴플라이언트 디코더로서도 언급되는 HEVC 컴플라이언트 디코더에서 실행된다. 이 경우, 실행 실시예는 HEVC 컴플라이언트 디코더에 의해 수행된 방법과 관련되고 다음의 단계들을 포함하여 구성된다. HEVC 컴플라이언트 디코더는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수를 결정한다. 또한, HEVC 컴플라이언트 디코더는 그 수를 비디오 시퀀스의 픽처를 나타내는 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교한다. HEVC 컴플라이언트 디코더는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 더 출력한다. 더욱이, HEVC 컴플라이언트 디코더는, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 출력된 픽처를 마크한다.
도 8은 실시예에 따라 디코더에 의해 수행된 방법의 흐름도이다. 방법은, 단계 S1에서, 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, 출력을 위해 필요한으로서 마크된, DPB 내의 픽처 수를 결정하는 단계를 포함하여 구성된다. 다음 단계 S2는 이 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하는 단계를 포함하여 구성된다. 수가 값보다 크면, 방법은 단계 S3으로 계속된다. 이 단계 S3은, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하는 단계를 포함하여 구성된다. 단계 S3에서 출력된 픽처는, 그 다음 단계 S4에서 출력을 위해 필요하지 않는으로서 마크된다. 그러므로, 이 단계 S4는 수가 값보다 크면, 수행된다.
이 실시예에서, sps_max_num_reorder_pics[ HighestTid ]은 비디오 시퀀스의 픽처를 나타내는 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값의 바람직한 표현으로서 사용된다. 더욱이, HighestTid는 비디오 시퀀스의 디코더에 의해 디코딩된 가장 높은 계층을 특정한다. 그러므로, HighestTid는, 비디오 시퀀스가 하나 이상의 시간적 계층을 포함하여 구성되면, 가장 높은 시간적 서브-계층을 가리키고, 비디오 시퀀스가 대신 하나 이상의 공간적 계층, 품질 계층 등과 같은 다른 타입의 계층을 포함하여 구성되면, 가장 높은 디코딩된 계층을 가리킨다.
실시예에 있어서, sps_max_num_reorder_pics[ i ]는 HighestTid가 i와 등가일 때 디코딩 순서로 코딩된 비디오 시퀀스 내의 소정의 픽처에 선행할 수 있고 출력 순서로 픽처를 따르는 최대 허용된 수의 픽처를 가리킨다. max_num_reorder_pics[ i ]의 접두어 sps는 신택스 엘리먼트가 바람직하게는 비트스트림의 시퀀스 파라미터 세트(SPS) 내에 존재하는 것을 가리킨다.
따라서, 이 실시예에서는 비트스트림 내의 계층 당 도출된 하나의 값이 있을 수 있고, 단계 S2에서 수행된 비교에서 사용하기 위한 값은 비디오 시퀀스의 디코더에 의해 실제로 디코딩된 가장 높은 계층에 대해서 도출된 값이다. 이 가장 높은 디코딩된 계층은, 신택스 엘리먼트가 비디오 파라미터 세트(VPS) 또는 SPS로부터 검색되는지에 의존해서, vps_max_sub_layers_minus1 또는 sps_max_sub_layers_minus1과 같은 max_sub_layers_minus1 신택스 엘리먼트에 의해 특정됨에 따라 비디오 시퀀스 내의 최대 수의 계층 이하가 될 수 있다.
그러므로, 특정 실시예에서 비디오 시퀀스는, 픽처의 다수의, 예를 들어 적어도 2개의, 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이다. 그 다음 바람직하게는, 다수의 계층의 각각의 계층은 각각의 값을 규정하는 연관된 신택스 엘리먼트를 갖는다. 그 다음, 단계 S2의 비교에서 사용된 값은, 이 실시예에서, 다수의 계층의 디코더에 의해 디코딩된 가장 높은 계층과 연관된 신택스 엘리먼트로부터 획득된 값이다.
특정 실시예에서, sps_max_num_reorder_pics[ i ]는, 계층 i와 비교함에 따라, 디코딩 순서로 픽처에 선행하고 출력 순서로 픽처를 뒤따르는 동일한 또는 더 낮은 시간적 계층과 같은, 동일한 또는 더 낮은 계층 내의 최대 허용된 수의 픽처를 가리킨다.
실시예에 있어서, 단계 S2의 비교에서 결정됨에 따라, 수가 값보다 크지 않으면, 방법은 바람직하게는 종료되고 픽처는 출력 또는 마크되지 않는다. 따라서, 이 경우, 단계 S3 및 S4는 생략되고 수행되지 않는다, 우측 해칭된 라인 참조.
실시예에 있어서, 단계 S2-S4는 현재 픽처가 디코딩되고 DPB 내에 기억된 후에만 수행될 수 있다. 한편, 단계 S2-S4에 의해 형성된 루프는, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 값 sps_max_num_reorder_pics[ HighestTid ]보다 더 이상 크지 않을 때까지 수행될 수 있다, 좌측 해칭된 라인 참조. 단계 S2-S4의 루프가 수행될 때마다, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수는 출력을 위해 필요하지 않는으로서, 단계 S3의 픽처 출력의, 단계 S4의 마킹을 통해, 하나 감소된다. 이는, 단계 S3 또는 S4이, 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, number≤ps_max_num_reorder_pics[ HighestTid ]이면 제로 회; number=sps_max_num_reorder_pics[ HighestTid ]+1이면 1회; 또는 number> sps_max_num_reorder_pics[ HighestTid ]+1이면 1회 이상, 예를 들어 number=sps_max_num_reorder_pics[ HighestTid ]+n이면 n회 수행될 수 있는 것을 의미한다. 단계 S2의 비교가, 수가 값 sps_max_num_reorder_pics[ HighestTid ]보다 더 이상 크지 않는 것을 결정하면, 방법은 종료한다.
단계 S1의 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수의 결정은, 바람직하게는 현재 픽처가 디코딩되고 DPB 내에 기억된 후에 수행된다.
바람직하게는, 상기 개시되고 도 8에 도시된 방법은, 디코딩되고 DPB 내에 기억된 비디오 시퀀스의 각각의 픽처에 대해서 1회 수행된다. 따라서, 방법은, 바람직하게는, 예를 들어 픽처의 마지막 디코딩 유닛이 디코딩되고 현재 디코딩된 픽처가 DPB 내의, 예를 들어 픽처 슬롯인 엠프티 픽처 스토리지 버퍼 내에 기억된 후, 즉시 현재 픽처가 디코딩된 것으로 고려되면, 수행된다.
도 9는 도 8의 방법의 추가적인, 옵션의 단계의 흐름도이다. 이 방법은 단계 S10에서 시작되는데, 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하는 단계를 포함하여 구성된다. 다음 단계 S11은 파싱된 슬라이스 헤더에 기반해서 현재 픽처에 대한 기준 픽처 세트(RPS)를 결정한다. RPS 내에 존재하지 않는 DPB 내의 모든 픽처는 단계 S12에서 기준용으로 사용되지 않는으로서 마크된다. 다음 단계 S13은, DPB 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은, 예를 들어 하나 이상의, 픽처를 출력하는 단계를 포함하여 구성된다. 또한, 이 단계 S13는, 출력을 위해 필요하지 않는으로서 출력된 제로, 하나의 또는 많은 픽처를 마킹하는 단계를 포함하여 구성된다. 단계 S14는, DPB로부터, DPB 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티 또는 제거하는 단계를 포함하여 구성된다. 그 다음, 현재 픽처는 단계 S15에서 디코딩된다. 그 다음, 방법은 도 8의 단계 S1으로 계속된다. 그러므로, 이 실시예에서, 단계 S1의 픽처의 수를 결정하는 단계, 단계 S2의 수를 비교하는 단계, 단계 S3의 픽처를 출력하는 단계 및 단계 S4의 픽처를 마킹하는 단계는 단계 S15의 현재 픽처의 디코딩 후에 수행된다.
단계 S15의 현재 픽처의 디코딩에 부가해서, 이 단계는, 바람직하게는, 또한, 현재 픽처를 기준용으로 사용되는으로서 마킹하는 단계 또는 옵션의 실시예에서 현재 픽처를 단기간 기준용으로 사용되는으로서 마킹하는 단계를 포함하여 구성된다. 또한, 바람직하게는, 현재 픽처는, 단계 S10에서 획득된 변수 PicOutFlag의 값에 따라, 출력을 위해 필요한 또는 출력을 위해 필요하지 않는으로서 마크된다.
일반적으로, 코딩된 비디오 시퀀스, 예를 들어 비트스트림은, 네트워크 관념 계층(NAL) 유닛을 포함하여 구성된다. 근본적으로, 하나의 NAL 유닛은 그 슬라이스에 대한 제어 정보 및 비디오 패이로드 데이터를 포함하는 대응하는 슬라이스 헤더를 갖는 슬라이스를 포함하여 구성되고 또는 NAL 유닛은 VPS, SPS 및 픽처 파라미터 세트(PPS)와 같은 파라미터 세트를 포함하여 구성된다. 파라미터 세트는 제어 정보를 포함하여 구성된다. 비디오 시퀀스의 픽처는 단일 슬라이스 또는 다수의 슬라이스로 이루어질 수 있다. 이에 의해, 도 9의 단계 S10은 픽처의 슬라이스를 포함하여 구성되는 NAL 유닛의 슬라이스 헤더 부분을 파싱하는 단계를 포함하여 구성된다. 픽처가 다수의 슬라이스를 포함하여 구성되고 이에 의해 각 슬라이스 헤더를 포함하여 구성되는 다수의 NAL 유닛 중에 분산되면, 단계 S10은 바람직하게는 픽처의 각각의 슬라이스에 대해서 수행된다. 그런데, 단계 S11 내지 S14는, 바람직하게는 픽처 내의 슬라이스 중 하나, 전형적으로 픽처 내의 제1슬라이스에 대해서만 수행될 수 있다.
단계 S10에서 파싱된 슬라이스 헤더는 디코더가 RPS를 생성할 수 있는 정보를 포함하여 구성된다. RPS는 현재 픽처와 연관되고 디코딩 순서로 현재 픽처에 우선하고, 디코딩 순서로 현재 픽처를 뒤따르는 비디오 시퀀스 내의 현재 픽처 또는 소정의 픽처의 기준, 예를 들어 인터 예측을 위해 사용될 수 있는 모든 기준 픽처로 이루어지는 기준 픽처의 세트이다.
단계 S10에서 획득되고 단계 S11에서 RPS를 결정하기 위해 사용된 정보는, 예를 들어, 현재의 슬라이스에 적용가능한 SPS와 같은 파라미터 세트 내에 포함된 RPS 신택스 구조에 대한 식별자를 포함하여 구성될 수 있다. HEVC에 대해서 적용가능한 일례의 이러한 식별자는 short_term_ref_pic_set_idx이다. 그 다음, 파라미터 세트는 SPS 내에 포함된 short_term_ref_pic_set( ) 신택스 엘리먼트의 수를 규정하는 num_short_term_ref_pic_sets와 같은 하나 이상의 RPS를 규정하는 신택스 엘리먼트를 포함하여 구성되며, 여기서 short_term_ref_pic_set( ) 신택스 엘리먼트는 현재 픽처에 대한 후보 RPS를 규정한다.
한편, 단계 S10에서 획득된 정보는 단계 S11에서 RPS를 결정하기 위해 직접 사용될 수 있다. 이 정보는, 예를 들어, short_term_ref_pic_set( ) 신택스 엘리먼트를 포함하여 구성되며, 여기서 short_term_ref_pic_set( ) 신택스 엘리먼트는 현재 픽처의 RPS를 규정한다.
RPS를 결정하는 더 많은 정보가 WO 2013/002700 및 JCTVC-J1003_d7 내의 섹션 7.3.2.2, 7.3.5.1, 7.3.5.2, 7.4.2.2, 7.4.5.1, 7.4.5.2 및 8.3.2, 고효율 비디오 코딩(HEVC) 텍스트 사양 드라프트 8, B. Bross et al., JCT-VC of ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 10th Meeting, Stockholm, 11-20 July 2012에서 발견할 수 있다.
RPS는, 상기된 바와 같이, 예를 들어 현재 픽처를 디코딩할 때 및/또는 디코딩 순서로 현재 픽처를 뒤따르는 픽처를 디코딩할 때 기준 픽처로서 사용하기 위해 이용가능한 DPB 내에 유지되는 비디오 시퀀스의 픽처를 특정한다. 이는, DPB 내에 기억되지만 RPS 내에 리스트되지 않은 소정의 기준 픽처가 더 이상 기준 픽처로서 사용되지 않게 되는 것을 의미한다. 그러므로, 이에 의해, 단계 S12는 DPB 내지만 RPS 내에서 식별되지 않는 이러한 픽처를 기준용으로 사용되지 않는으로서 마킹하는 단계를 포함하여 구성된다.
단계 S13의 픽처의 출력은, 출력을 위해 필요한으로서 마크된 하나의 픽처를 출력하거나, 출력을 위해 필요한으로서 마크된 하나 이상의 픽처를 출력하거나 또는 실제로 전혀 소정의 픽처를 출력하지 않는 단계를 포함하여 구성될 수 있다. 단계 S13에서 출력된 소정의 픽처는 출력 순서에 따라 출력되는데, 바람직하게는 픽처 순서 카운트(POC)의 가장 작은 값의 순서로 출력된다.
그 다음, 단계 S13에서 출력된 소정의 픽처는, 그 픽처는 출력되었으므로, 출력을 위해 필요하지 않는으로서 마크된다. 제로 픽처가 출력되면, 물론 이 단계 S13에서 마킹은 수행되지 않는다.
기준용으로 사용되지 않고 출력을 위해 필요하지 않는으로서 마크된 픽처는 기준 픽처로서 또는 출력을 위해서 더 이상 필요하지 않게 된다. 따라서, 단계 S14는 소정의 이러한 마크된 픽처를 DPB로부터 엠프티 또는 제거하여, 이에 의해 DPB 내의, 예를 들어 픽처 슬롯인 픽처 스토리지 버퍼를 프리(free)로 한다.
현재 픽처의 디코딩은 HEVC/H.265 표준에서 특정된 바와 같은 픽처 디코딩의 널리 공지된 방법에 따라 수행된다. 그러므로, 단계 S35의 디코딩은, 전형적으로 기준 픽처로서 DPB 내에 기억된 하나 이상의 이전에 디코딩된 픽처의 화소 값을 사용해서 현재 픽처 내의 화소 또는 샘플의 화소 값을 생성하는 단계를 수반한다.
도 9에 나타낸 바와 같은 실시예에 있어서, 도 8에 나타내고 단계 S1-S4를 포함하여 구성되는 방법은 추가적인 또는 또 다른 픽처 출력 처리로서 간주될 수 있는데, 이는 상기에서 픽처 출력 처리 #2로서 언급되었다. 이에 의해, 이 실시예는, 단계 S15에서 현재 픽처가 디코딩된 후에도, 비트스트림 내의 다음 픽처의 처리의 시작에 우선해서, 예를 들어 디코딩 순서로 다음 픽처에 대한 단계 S10의 수행에 우선해서, 단계 S3의 픽처의 출력이 가능하다.
도 14는 이 실시예를 요약한다. 그러므로, 하나의 실시예에 있어서는, 추가적인 픽처 출력 처리 단계가 픽처의 더 빠른 출력을 허용하기 위해서 픽처 디코딩 후에 부가된다, 도 14 참조. 디코더 방법 및/또는 디코더는 실시예에 따라 다음 순서의 단계를 포함 또는 수행하도록 구성될 수 있다:
1. 픽처 P의 제1슬라이스 헤더의, RPS를 포함하는, 슬라이스 헤더가 파싱된다.
2. 픽처 마킹 처리가 수행된다, 예를 들어 픽처는 슬라이스 헤더로부터의 RPS에 의해 기준용으로 사용되지 않는으로 마크될 수 있다.
3. 어떤 픽처가 출력될 수 있는 픽처 출력 처리가 수행된다.
4. 픽처 P가 디코딩된다.
5. 픽처 P가 디코딩된 후에, 디코더가 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하고, 수를 비트스트림 내의 sps_max_num_reorder_pics[ HighestTid ]로 예시된 신택스 엘리먼트로부터 도출된 값에 대해서 비교한다.
6. 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 출력 순서로 제1픽처인, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처들 중의 픽처가 출력되고, 출력을 위해 필요하지 않는으로서 마크된다. 따라서, 실시예에 따라 픽처 출력 처리 #2가 도입된다.
7. 다음 픽처 Q는 픽처 Q에 대해서 상기 단계 1-6을 반복함으로써 디코딩된다.
또한, 도 8에 개시된 바와 같은 방법은, HEVC에 대해서와 같이, 수정된 출력 처리의 부분으로서 수행될 수 있다. 이 접근에 있어서, 현존하는 픽처 출력 처리 단계는 픽처의 더 빠른 출력을 허용하기 위해서 수정된다.
수정은 배경 섹션에서 논의된 바와 같이, no_output_of_prior_pics_flag으로 문제점에 대한 해결책을 제공한다. 해결책은 상기 논의된 실시예와 유사하지만 추가적인 출력 처리를 부가하는 대신 no_output_of_prior_pics_flag가 1과 등가일 때, 현존하는 HEVC 출력 처리가 수정되는 변경을 갖는다.
도 10은 상기된 실시예를 실행할 때 도 8의 방법의 추가적인, 옵션의 단계의 흐름도이다. 단계 S20은, no_output_of_prior_pics_flag 플래그의 값을 획득하기 위해서 비디오 시퀀스의, 본 기술 분야에서 인트라 랜덤 액세스 포인트(IRAP) 픽처로서도 언급되는, 랜덤 액세스 픽처(RAP)의 슬라이스 헤더를 파싱하는 단계를 포함하여 구성된다. no_output_of_prior_pics_flag 플래그의 값이 1이면, 방법은 도 8의 단계 S1로 계속된다. 그러므로, 이 실시예에서, 단계 S1의 수를 결정하는 단계, 단계 S2의 수를 비교하는 단계, 단계 S3의 픽처를 출력하는 단계 및 단계 S4의 픽처를 마킹하는 단계는, no_output_of_prior_pics_flag의 값이 1이면 수행된다.
대응해서, no_output_of_prior_pics_flag의 값이 제로(0)이면, 방법은 종료되고 수정된 출력 처리는 수행되지 않는다.
이 실시예가 HEVC에 적용될 때, 본 방법은 바람직하게는 단계 S20에서 파싱된 슬라이스 헤더에 기반해서 랜덤 액세스 픽처에 대해서 RPS를 결정하는 추가적인 단계를 포함하여 구성된다(도 9의 단계 S11과 비교해서). 본 방법은, 또한, 기준용으로 사용되지 않는으로서 RPS 내에서 리스트되지 않은 DPB 내의 모든 픽처를 마킹하는 단계를 포함하여 구성된다(도 9의 단계 S12와 비교). 랜덤 액세스 픽처는 디코딩된다(도 9의 단계 S15와 비교). 이 실시예에서, 단계 S1의 수를 결정하는 단계, 단계 S2의 수를 비교하는 단계, 단계 S3의 픽처를 출력하는 단계 및 단계 S4의 픽처를 마킹하는 단계는, RPS 내에서 리스트되지 않지만 랜덤 액세스 픽처를 디코딩에 우선해서 픽처를 마킹한 후에 수행된다.
도 15는 이 실시예의 단순화된 디코딩 흐름도이다. 디코더 방법 및/또는 디코더는 실시예에 따라 다음 순서의 단계를 포함 또는 수행하도록 구성될 수 있다:
1) 픽처 P의 제1슬라이스 헤더 슬라이스 헤더가 파싱된다.
2) 픽처 마킹 처리가 수행된다.
3) 어떤 픽처가 출력될 수 있는 픽처 출력 처리가 수행된다. 픽처 출력 처리가 수정되어, no_output_of_prior_pics_flag가 1과 등가이면, 다음을 적용한다:
a. 디코더가 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하고, 그 수를 비트스트림 내의 신택스 엘리먼트로부터 도출된 값에 대해서 비교한다.
b. 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 출력 순서로 제1인, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처들 중의 픽처가 출력되고, 출력을 위해 필요하지 않는으로서 마크된다.
c. 출력을 위해 필요한으로서 마크된 DPB 내의 모든 나머지 픽처가 출력을 위해 필요하지 않는으로서 마크된다. 이들은 출력되지 않는다.
4) 픽처 P가 디코딩된다.
도 11은 다른 실시예에 따른 디코더에 의해 수행된 방법의 흐름도이다. 본 방법은, 단계 S30의 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하는 단계를 포함하여 구성된다. RPS은 단계 S31에서 파싱된 슬라이스 헤더에 기반해서 현재 픽처에 대해서 결정된다. 뒤따르는 단계 S32는 RPS 내에 존재하지 않는 DPB 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하는 단계를 포함하여 구성된다. 단계 S33에서, DPB 내의 픽처의, 출력을 위해 필요한으로서 마크된 제로, 하나의 또는 많은 픽처가 출력되고, 출력을 위해 필요하지 않는으로서 마크된다. 뒤따르는 단계 S34는, DPB로부터, DPB 내에서 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티 또는 제거하는 단계를 포함하여 구성된다. 그 다음, 현재 픽처는 S35에서 디코딩된다.
이들 단계 S30 내지 S35는 근본적으로 상기에서 논의되고 도 9에 도시된 단계 S10-S15에 대응한다.
그 다음, 방법은 단계 S36으로 계속되는데, 이 단계는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하는 단계를 포함하여 구성된다. 이 수는 단계 S37에서 비디오 시퀀스의 픽처를 나타내는 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교된다. 수가 값보다 크면, 본 방법은 단계 S38 및 S39로 계속된다. 단계 S38은 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하는 단계를 포함하여 구성된다. 단계 S39는 단계 S38에서 출력된 픽처를, 출력을 위해 필요하지 않는으로서 마킹하는 단계를 포함하여 구성된다.
이 실시예에서, 단계 S36에서의 픽처의 수를 결정하는 단계, 단계 S37에서의 수를 비교하는 단계, 단계 S38에서의 픽처를 출력하는 단계 및 단계 S39에서의 픽처를 마킹하는 단계는, S35의 현재 픽처의 디코딩 후에 단계 수행된다.
단계 S36 내지 S39는 상기 논의되고 도 8에 나타낸 단계 S1 내지 S4에 대응하지만, S37에서 결정된 수에 대해서 비교되는 값이 반듯이 sps_max_num_reorder_pics[ HighestTid ]를 가져야 할 필요가 없지만, 대신 비트스트림 내에 존재하는 다른 신택스 엘리먼트(들)로부터 도출된 값이 될 수 있는 차이점이 있는데, 이는 이하에 더 논의된다.
실시예에 있어서, 단계 S37의 비교에서 결정됨에 따라, 수가 값보다 크지 않으면, 본 방법은 바람직하게는 종료되고 픽처는 출력 또는 마크되지 않는다. 따라서, 이 경우, 단계 S38 및 S39는 생략되고 수행되지 않는다, 우측 해칭된 라인 참조.
실시예에 있어서, 단계 S37-S39는 현재 픽처가 디코딩되어, 바람직하게는 DPB 내에 기억된 후에, 한 번만 수행될 수 있다. 한편, 단계 S37-S39에 의해 형성된 루프는, 좌측 해칭된 라인 참조, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 값보다 더 이상 크지 않을 때까지, 수행될 수 있다. 단계 S37-S39의 루프가 수행될 때마다, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가, 단계 S38에서 출력된 픽처의 단계 S39에서의, 출력을 위해 필요하지 않는으로서의 마킹을 통해, 하나 감소된다.
도 12는 본 방법의 추가적인, 옵션의 단계의 흐름도이지만, 도 8 및 9에 나타낸 실시예에 적용될 수 있다. 본 방법은, 현재 픽처가 디코딩되었던 도 11의 단계 S35 또는 도 9의 단계 S15로부터 계속된다. 다음 단계 S40은 엠프티 픽처 스토리지 버퍼 내의 DPB, 예를 들어 픽처 슬롯 내에 디코딩된 현재 픽처를 기억하는 단계를 포함하여 구성된다. 디코딩된 현재 픽처는 출력을 위해 필요한 또는 출력을 위해 필요하지 않는으로서 단계 S41에서 마크된다. 픽처는, 옵션으로, 또한, 단기간 기준용으로 사용되는으로서, 예를 들어 기준 픽처로서 사용되는으로서 마크된다. 이 단계 S41는, 바람직하게는, PicOutputFlag에 기반해서, 현재 픽처에 할당된다. 따라서, 플래그가 1의 값을 가지면, 디코딩된 현재 픽처는 출력을 위해 필요한으로서 마크되고, 그렇지 않으면, 예를 들어 플래그가 0의 값을 가지면, 디코딩된 현재 픽처는 출력을 위해 필요하지 않는으로서 마크된다. PicOutputFlag는, 현재 픽처의 슬라이스 헤더 내에 존재할 수 있는 신택스 엘리먼트 pic_output_flag에 기반하는 것과 같이, 본 현재 픽처에 적용될 수 있는 비트스트림 내의 신택스 엘리먼트로부터 도출될 수 있다.
그 다음, 방법은 도 11의 단계 S36 또는 도 8의 단계 S1으로 계속되고, 여기서 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 결정된다.
이하, 도 11의 단계 S37 및 도 8의 단계 S2의 비교에서 사용된 값을 선택하는 다양한 실시예가 기술된다.
실시예에 있어서, 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스를 포함하여 구성된다. 그 다음, 다수의 계층의 각각의 계층은 출력 처리에서 사용된 각각의 값을 규정하는 연관된 신택스 엘리먼트를 갖는다. 더욱이, 본 방법은 도 13의 흐름도에 나타낸 바와 같은 추가적인, 옵션의 단계를 포함하여 구성된다. 본 방법은, 도 11의 단계 S35로부터 또는 도 8의 단계 S1으로부터 계속된다. 다음 단계 S50은 다수의 계층의 디코더에 의해 디코딩된 가장 높은 계층과 연관되는 신택스 엘리먼트로부터 도출된 값을 선택하는 단계를 포함하여 구성된다. 그 다음, 방법은 도 11의 단계 S37 또는 도 8의 단계 S2로 계속되는데, 여기서 이 선택된 값이 사용된다.
바람직하게는, 단계 S37 및 단계 S2는, 이 실시예에서, 단계 S36 또는 S1에서 결정된 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하는 단계를 포함하여 구성된다. 수가 값 sps_max_num_reorder_pics[ HighestTid ]보다 크면, 본 방법은 단계 S38 또는 S3으로 계속되는데, 이 단계는, 이 실시예에서, 출력을 위해 필요한으로서 마크된 DPB 내의 모든 픽처의 출력의 PicOrdderCntVal의 가장 작은 값을 갖는 DPB 내의 픽처를 출력하는 단계를 포함하여 구성된다. PicOrdderCntVal는 픽처의 픽처 순서 카운트 값을 나타내는데, 이는 차례로 바람직하게는 DPB 내에 기억된 픽처의 출력 순서를 규정한다.
이 실시예의 특정 실행 측면에 있어서, 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이다. 이 경우, 각각의 계층은 각각의 값, 예를 들어 계층 수 i에 대해서 sps_max_num_reorder_pics[ i ]를 갖는다. 그 다음, 사용하기 위한 값은 가장 높은 디코딩된 계층, 예를 들어 계층이 다른 시간적 계층이면, 가장 높은 서브-계층과 같은, 디코더에 의해 디코딩된 가장 높은 계층과 연관된 값이다.
다른 실시예에서, 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이다. 그 다음, 다수의 계층의 각각의 계층이 각각의 값을 규정하는 연관된 신택스 엘리먼트를 갖는다. 본 방법은 도 13의 흐름도에 나타낸 바와 같은 추가적인, 옵션의 단계를 더 포함하여 구성된다. 본 방법은 도 11의 단계 S36으로부터 계속된다. 다음 단계 S50은 다수의 계층의 가장 높은 계층과 연관된 신택스 엘리먼트로부터 도출된 값을 선택하는 단계를 포함하여 구성된다. 그 다음, 방법은 단계 S37로 계속되는데, 여기서 이 선택된 값이 사용된다.
바람직하게는, 단계 S37은, 이 실시예에서, 단계 S36에서 결정된 수를 sps_max_num_reorder_pics[ sps_max_sub_layers_minus1 ]의 값에 대해서 비교하는 단계를 포함하여 구성된다. 수가 sps_max_num_reorder_pics[ sps_max_sub_layers_minus1 ]의 값보다 크면, 본 방법은 단계 S38로 계속되는데, 이 단계는, 이 실시예에서, 출력을 위해 필요한으로서 마크된 DPB 내의 모든 픽처의 PicOrdderCntVal의 가장 작은 값을 갖는 DPB 내의 픽처를 출력하는 단계를 포함하여 구성된다. 신택스 엘리먼트 sps_max_sub_layers_minus1는 비디오 시퀀스의 최대 수의 계층을 특정한다.
이 실시예의 특정 실행 측면에 있어서, 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이다. 이 경우, 각각의 계층은 각각 값, 예를 들어 계층 수 i에 대해서 sps_max_num_reorder_pics[ i ]를 갖는다. 그 다음, 사용하기 위한 값은 비트스트림 내의 가장 높은 계층과 연관된 값이다.
또 다른 실시예에서, 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이다. 그 다음, 다수의 계층의 각각의 계층은, 각각의 값을 규정하는 연관된 신택스 엘리먼트를 갖는다. 본 방법은, 도 13의 흐름도에 나타낸 바와 같은 추가적인, 옵션의 단계를 더 포함하여 구성된다. 본 방법은 도 11의 단계 S36으로부터 계속된다. 다음 단계 S50은 디코딩된 현재 픽처가 속하는 다수의 계층의 계층과 연관 신택스 엘리먼트로부터 도출된 값을 선택하는 단계를 포함하여 구성된다. 그 다음, 방법은 단계 S37로 계속되는데, 여기서 이 선택된 값이 사용된다.
또 다른 실시예에 있어서, 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이다. 다수의 계층의 각각의 계층은, 그 다음, 각각의 값을 규정하는 연관된 신택스 엘리먼트를 갖는다. 본 방법은, 도 13의 흐름도에 나타낸 바와 같은 추가적인, 옵션의 단계를 더 포함하여 구성된다. 본 방법은 도 11의 단계 S36으로부터 계속된다. 다음 단계 S50은 각각의 값의 최대 값을 선택하는 단계를 포함하여 구성된다.
도 11에 나타낸 바와 같이, 본 방법은 비디오 시퀀스의 랜덤 액세스 픽처인 현재 픽처에 적용될 수 있다. 이 경우, 단계 S30은, 바람직하게는, no_output_prior_flag 플래그의 값을 획득하기 위해, 랜덤 액세스 픽처의 슬라이스 헤더를 파싱하는 단계를 포함하여 구성된다. 이 경우, 단계 S36의 수를 결정하는 단계, 단계 S37의 수를 비교하는 단계, 단계 S38의 픽처를 출력하는 단계 및 단계 S39의 픽처를 마킹하는 단계는, 이 플래그의 값에 기반해서 조건적이 될 수 있다. 그러므로, 옵션의 실시예에 있어서, 이들 단계 S36-S39는, no_output_prior_flag 플래그의 값이 1이면, 수행된다.
실시예에 있어서, 도 9의 단계 S12 및 도 11의 단계 S32에서 수행되는 바와 같은 픽처를 마킹하는 단계는, RPS 내에 존재하지 않는 DPB 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하는 단계를 포함하여 구성된다. 이들 단계는, 옵션으로, 또한, RPS 내에 존재하는 DPB 내의 모든 픽처를 기준용으로 사용되는으로서 마킹하는 단계를 포함하여 구성된다. 그런데, 일반적으로, 픽처는, 이것이 디코딩된 및 DPB 내에 기억되면, 기준용으로 사용되는으로서 마크된다. 그러므로, 단계 S12 및 S32는, 전형적으로, 더 이상 기준을 위해 필요로 되지 않는 픽처를 재마킹하는 단계를 포함한다.
실시예에 있어서, 도 8의 단계 S3 및 도 11의 단계 S38에서 수행되는 바와 같은 픽처를 출력하는 단계는, 바람직하게는, 단계 S2에서 또는 S37에서 결정된 바와 같이, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 가장 작은 픽처 순서 카운트 값을 갖는 픽처를 출력하는 단계를 포함하여 구성된다. 픽처 순서 카운트 값은, 바람직하게는, 파라미터 PicOrdderCntVal에 의해 나타낸다.
실시예에 있어서, 도 8의 단계 S3 및 도 11의 단계 S38에서 수행되는 바와 같은 픽처를 출력하는 단계는, 바람직하게는, 코딩된 비디오 시퀀스의 디코딩되는 다음 픽처의 슬라이스 헤더를 파싱하기 전에, 수행된다.
실시예에 있어서, 도 8 또는 도 11에서 수행되는 바와 같은 본 방법은, 비트스트림과 연관되고 PPS, SPS 및 VPS로 이루어지는 그룹으로부터 선택된 파라미터 세트로부터 적어도 하나의 신택스 엘리먼트를 검색하는 추가적인 단계를 포함하여 구성된다. PPS는 현재 픽처의 슬라이스 헤더 내에 존재하는 PPS 식별자에 기반해서 식별된다. 현재 픽처에 적용되는 SPS는, 현재 픽처의 슬라이스 헤더 내에 존재하는 PPS 식별자에 의해 식별된 PPS 내에 존재하는 SPS 식별자에 의해 식별된다. 대응해서, 현재 픽처에 적용하는 VPS는 현재 픽처에 적용하는 SPS 내에 존재하는 VPS 식별자에 의해 식별된다. 특정 실시예에서, 적어도 하나의 신택스 엘리먼트는 SPS로부터 검색된다.
no_output_prior_pics_flag를 사용하는 실행에 적용될 수 있는 특정 실시예는, 출력을 위해 필요한으로서 마크된 DPB 내의 모든 나머지 픽처를, no_output_prior_pics_flag 플래그가 1이면, 출력을 위해 필요하지 않는으로서 바람직하게 마킹하는 추가적인 단계를 포함하여 구성된다.
관련된 실시예에 있어서, 본 방법은, no_output_prior_pics_flag 플래그가 1이면, 소정의 픽처의 출력 없이, DPB 내의 모든 픽처를 엠프티하는 또 다른 단계를 포함하여 구성된다. 그 다음, DPB의 충만(fullness)은, DPB가 엠프티인 것을 가리키기 위해서 제로와 등가로 설정된다.
본 명세서에서 이하 다양한 예의 실시예가 더 논의된다.
예의 실시예 1
하나의 실시예에 있어서, 픽처의 더 빠른 출력을 허용하기 위해서 픽처 디코딩 후에 추가적인 픽처 출력 처리 단계가 부가된다, 도 14 참조.
디코더 방법 및/또는 디코더는 실시예에 따라 다음 순서의 단계를 포함 또는 수행하도록 구성될 수 있다:
1. 픽처 P의 제1슬라이스 헤더의 슬라이스 헤더가 파싱된다.
2. 픽처 마킹 처리가 수행된다.
3. 어떤 픽처가 출력될 수 있는 픽처 출력 처리가 수행된다.
4. 픽처 P가 디코딩된다.
5. 픽처 P가 디코딩된 후에, 디코더는 "출력을 위해 필요한"으로 마크되는 DPB 내의 픽처의 수 결정하고, 수를 비트스트림 내의 신택스 엘리먼트(실시예 9로 예시된)로부터 도출된 값에 대해서 비교한다.
6. "출력을 위해 필요한"으로 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 출력 순서로 제1픽처인 "출력을 위해 필요한"으로 마크된 DPB 내의 픽처들 중의 픽처가 출력되고, "출력을 위해 필요하지 않는"으로 마크된다. 따라서, 실시예에 따라서, 픽처 출력 처리 #2가 도입된다.
7. 다음 픽처 Q가 디코딩된다.
예의 실시예 2
예의 실시예 1과 동일하게, 값은 비트스트림 내의 신택스 엘리먼트의 단일 코드워드로 나타낸다.
예의 실시예 3
예의 실시예 2와 동일하게, 값은 시퀀스 파라미터 세트, 예를 들어 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS) 내의 코드워드로 나타낸다.
예의 실시예 4
실시예 1-3와 동일하게, 비트스트림 내의 계층 당 도출된 하나의 계층 의존적인 값이 있고, 비교에서 사용하기 위한 값은 픽처 P와 동일한 계층에 대해서 도출된 값이다.
예의 실시예 5
실시예 1-3와 동일하게, 비트스트림 내의 계층 당 도출된 하나의 값이 있고, 비교에서 사용하기 위한 값은 비트스트림 내의 가장 높은 계층에 대해서 도출된 값이다.
예의 실시예 6
실시예 1-3와 동일하게, 비트스트림 내의 계층 당 도출된 하나의 값이 있고, 비교에서 사용하기 위한 값은 모든 계층에 대한 최대 값이다.
예의 실시예 7
실시예 5와 동일하게, 가장 높은 계층은 가장 높은 서브-계층으로서 규정된다.
예의 실시예 8
실시예 1-7과 동일하게, 출력 순서로 제1픽처는 PicOrdderCntVal의 가장 작은 값을 갖는 DPB 내의 픽처로서 규정된다. PicOrdderCntVa는 POC를 규정하고 상기된다.
예의 실시예 9
실시예 4-8과 동일하게, 계층은 시간적 계층이다.
예의 실시예 10
실시예 1, 2, 3, 5, 8 및 9의 조합은 하나의 바람직한 실시예이다. 현재의 HEVC 사양(JCTVC-K0030_v3)에서 이 실시예를 표현하는 것은, 굵은 텍스트가 부가된 텍스트를 의미하는 섹션 C.5.3 내의 다음의 HEVC 사양 변경으로 귀결될 수 있다:
C.5.3 하나의 픽처의 픽처 디코딩, 마킹 및 스토리지 및 가능한 출력
다음은, 현재 픽처를 포함하는 액세스 유닛의 마지막 디코딩 유닛이 CPB로부터 제거될 때, 즉시 발생한다.
현재 픽처는, 픽처의 마지막 디코딩 유닛이 디코딩된 후에 디코딩되는 것으로 고려된다. 현재 디코딩된 픽처는 DPB 내의 엠프티 픽처 스토리지 버퍼 내에 기억되고, 다음을 적용한다.
1. - 현재 디코딩된 픽처가 1과 등가인 PicOutputFlag를 가지면, "출력을 위해 필요한"으로 마크된다.
2. - 그렇지 않으면(현재 디코딩된 픽처 0과 등가인 PicOutputFlag를 가지면), "출력을 위해 필요하지 않는"으로 마크된다.
현재 디코딩된 픽처가 기준 픽처이면, "기준용으로 사용되는"으로 마크되고, 그렇지 않으면(현재 디코딩된 픽처가 비-기준 픽처), "기준용으로 사용되지 않는"으로 마크된다.
현재 디코딩된 픽처가 DPB 내에 기억된 후에, "출력을 위해 필요한"으로 마크되는 DPB 내의 픽처의 수가 sps _ max _ num _ reorder _ pics [ sps _ max _ sub _ layers _ minus1 ]보다 클 때, DPB 내의 모든 픽처의 PicOrdderCntVal 의 가장 작은 값을 갖는 DPB 내의 픽처는 ( cropped ), 출력 및 "출력을 위해 필요하 지 않는"으로 마크된다.
예의 실시예 11
실시예 1, 2, 3, 7, 8 및 9의 조합은 다른 바람직한 실시예이다. 현재의 HEVC 사양(JCTVC-K0030_v3)에서 이 실시예를 표현하는 것은 굵은 텍스트가 부가된 텍스트를 의미하는 섹션 C.5.3 내의 다음의 HEVC 사양 변경으로 귀결될 수 있다:
C.5.3 하나의 픽처의 픽처 디코딩, 마킹 및 스토리지 및 가능한 출력
다음은, 현재 픽처를 포함하는 액세스 유닛 n의 마지막 디코딩 유닛이 CPB로부터 제거될 때, 즉시 발생한다.
현재 픽처는, 픽처의 마지막 디코딩 유닛이 디코딩된 후에 디코딩되는 것으로 고려된다. 현재 디코딩된 픽처는 DPB 내의 엠프티 픽처 스토리지 버퍼 내에 기억되고, 다음을 적용한다.
1. - 현재 디코딩된 픽처가 1과 등가인 PicOutputFlag를 가지면, "출력을 위해 필요한"으로 마크된다.
2. - 그렇지 않으면(현재 디코딩된 픽처가 0과 등가인 PicOutputFlag를 가지면), 이는 "출력을 위해 필요하지 않는"으로 마크된다.
현재 디코딩된 픽처가 기준 픽처이면, 이는 "기준용으로 사용되는"으로 마크되고, 그렇지 않으면(현재 디코딩된 픽처가 비-기준 픽처), 이는 "기준용으로 사용되지 않는"으로 마크된다.
현재 디코딩된 픽처가 DPB 내에 기억된 후에, "출력을 위해 필요한"으로 마크되는 DPB 내의 픽처의 수가 sps _ max _ num _ reorder _ pics [ HighestTid ]보다 클 때, DPB 내의 모든 픽처의 PicOrdderCntVal 의 가장 작은 값을 갖는 DPB 내의 픽처 크롭되고 , 출력 및 "출력을 위해 필요하지 않는"으로 마크된다.
예의 실시예 12
하나의 실시예에 있어서, 현존하는 픽처 출력 처리 단계는 픽처의 더 빠른 출력을 허용하기 위해서 수정된다, 도 15 참조.
수정은, 상기된 바와 같이 no_output_of_prior_pics_flag가 갖는 문제점에 대한 해결책을 제공한다. 해결책은 예의 실시예 1-11와 유사하지만, 추가적인 출력 처리를 부가하는 대신 현존하는 HEVC 출력 처리가, 이하에 나타낸 바와 같이, no_output_of_prior_pics_flag가 1과 등가일 때, 수정되는 변경을 갖는다.
디코더 방법 및/또는 디코더는 실시예에 따라 다음 순서의 단계를 포함 또는 수행하도록 구성될 수 있다:
1. 픽처 P의 제1슬라이스 헤더의 슬라이스 헤더가 파싱된다.
2. 픽처 마킹 처리가 수행된다.
3. 어떤 픽처가 출력될 수 있는 픽처 출력 처리가 수행된다. 픽처 출력 처리가 수정되어, no_output_of_prior_pics_flag가 1과 등가이면, 다음을 적용하도록 한다:
a. 디코더는 "출력을 위해 필요한"으로 마크되는 DPB 내의 픽처의 수를 결정하고, 그 수를 비트스트림 내의 신택스 엘리먼트로부터 도출된 값에 대해서 비교한다.
b. "출력을 위해 필요한"으로 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 출력 순서로 제1인 "출력을 위해 필요한"으로 마크된 DPB 내의 픽처들 중의 픽처가 출력 및 "출력을 위해 필요하지 않는"으로 마크된다.
c. "출력을 위해 필요한"으로 마크된 DPB 내의 모든 나머지 픽처는 "출력을 위해 필요하지 않는"으로 마크된다. 이들은 출력되지 않는다.
4. 픽처 P가 디코딩된다.
예의 실시예 2-12가 이 예의 실시예 12에 또한 적용된다.
예의 실시예 13
예의 실시예 12 및 예의 실시예 2, 3, 7, 8 및 9의 조합은 바람직한 실시예이다. 현재의 HEVC 사양(JCTVC-K0030_v3)에서 이 실시예를 표현하는 것은 굵은 텍스트가 부가된 텍스트를 의미하는 섹션 C.3.1 내의 다음의 HEVC 사양 변경으로 귀결될 수 있다:
C.3.1 DPB로부터의 픽처 제거
현재 픽처의 디코딩 전의(하지만 현재 픽처의 제1슬라이스의 슬라이스 헤더를 파싱한 후에) DPB로부터의 픽처 제거는, 액세스 유닛 n의 제1디코딩 유닛의 CPB 제거 시간(현재 픽처를 포함하는)에서 즉시 일어나고, 다음에 따라 진행한다.
서브클라우즈 8.3.2에서 특정된 바와 같이 설정된 기준 픽처를 위한 디코딩 처리는, 인보크된다.
현재 픽처가 IDR 또는 BLA 픽처이면, 다음을 적용한다:
1. IDR 또는 BLA 픽처가 디코딩된 제1픽처가 아니고, 액티브 시퀀스 파라미터 세트로부터 도출된 i의 소정의 가능한 값에 대해서 pic_width_in_luma_samples 또는 pic_height_in_luma_samples 또는 sps_max_dec_pic_bufferng[ i ]의 값이 선행하는 픽처에 대해서 액티브였던 시퀀스 파라미터 세트로부터 도출된 pic_width_in_luma_samples 또는 pic_height_in_luma_samples 또는 sps_max_dec_pic_bufferng[ i ]의 값과 각각 다를 때, no_output_of_prior_pics_flag는, no_output_of_prior_pics_flag의 실재 값에 관계없이, HRD에 의해 1과 등가가 되는 것으로 추론된다.
주의 - 디코더 실행은, 픽처 또는 DPB 사이즈 변경을, pic_width_in_luma_samples, pic_height_in_luma_samples, 또는 sps_max_dec_pic_bufferng[ i ]에서의 변경에 관한 HRD에서보다 더 적절하게 핸들링하려 해야 한다.
2. no_output_of_prior_pics_flag가 1과 등가일 때 또는 1과 등가인 것으로 추론될 때, 다음의 순서의 단계를 적용한다:
1. "출력을 위해 필요한"으로 마크되는 DPB 내의 픽처의 수가 sps_max_num_reorder_pics[ HighestTid ]보다 클 때, DPB 내의 모든 픽처의 PicOrdderCntVal의 가장 작은 값을 갖는 DPB 내의 픽처는 크롭되고 , 출력 및 "출력을 위해 필요하지 않는"으로 마크된다.
2. DPB 내의 모든 픽처 스토리지 버퍼는 이들이 포함하는 픽처의 출력 없이 엠프티되고, DPB 충만은 0으로 설정된다.
다음의 조건들 모두가 참이 되는 DPB 내의 모든 픽처 k가, DPB로부터 제거된다:
- 픽처 k가 "기준용으로 사용되지 않는"으로 마크되고,
- 픽처 k가 0과 등가인 PicOutputFlag를 갖거나 또는 그 DPB 출력 시간이 현재 픽처 n의 제1디코딩 유닛(디코딩 유닛 m으로 나타냄)의 CPB 제거 시간 이하; 예를 들어 to , dpb( k ) <= tr( m ).
픽처가 DPB로부터 제거될 때, DPB 충만은 하나 증분된다.
JCTVC-K0030_v3의 페이지 216-217 상의 섹션 C.5.1에 의해 나타낸 바와 같이, 종래 기술에 대한 본 명세서에 개시된 실시예의 장점이, 이하 도 30을 참조해서 기술된다. JCTVC-K0030_v3에서의 종래 기술 해결책은 파라미터 sps_max_num_reorder_pics[ TemporalID ]를 사용해서 소정의 픽처를 출력할지를 결정한다. 특히, JCTVC-K0030_v3은, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 sps_max_num_reorder_pics[ TemporalID ]보다 클 때, 그러면 서브클라우즈 C.5.2.1 내에 특정된 범핑 처리가, 현재 디코딩된 픽처를 기억하기 위해 엠프티 픽처 스토리지 버퍼가 있을 때까지, 반복적으로 인보크되는 것을 기술한다.
도 30 내에 존재하는 수는, 비디오 시퀀스 내의 픽처의 디코딩 순서를 가리킨다. 픽처는 좌측으로부터 우측으로, 예를 들어 I0, b5, B3, b6, B2, b7, B4, B8 및 P1로 출력되어야 한다. 도면은, 또한 다른 계층에 대한 계층 수, 예를 들어 TemporalId 및 각각의 계층에 대한 파라미터 sps_max_num_reorder_pics를 가리킨다. JCTVC-K0030_v3에서 제안된 바와 같이, sps_max_num_reorder_pics[ TemporalID ]를 사용해서 슬라이스 헤더의 파싱과 관련해서 픽처를 범프 또는 출력하게 되면, 출력 처리는 이하에 따르게 된다:
픽처 아직 출력 안함 sps_max_num_reorder_pics 액션
I0 - 0 노 액션
B1 I0 0 출력 I0
B2 B1 1 노 액션
B3 B1 B2 2 노 액션
B4 B1 B2 B3 2 출력 B3
그런데, 픽처 B4를 처리할 때, 픽처 B3의 출력은, b5가 픽처 B3에 우선해서 출력되어야 하므로, 부정확하다.
범핑으로 본 명세서에 개시된 바와 같은 실시예를 사용하면, 예를 들어 현재 픽처의 디코딩 및 HighesTId=3의 사용 후 출력하면, 다음 결과가 달성된다.
픽처 아직 출력 안함 sps_max_num_reorder_pics 액션
I0 I0 4 노 액션
B1 I0 B2 4 노 액션
B2 I0 B1 B2 4 노 액션
B3 I0 B1 B2 B3 4 노 액션
B4 I0 B1 B2 B3 B4 4 출력 I0
B5 B1 B2 B3 B4 b5 4 출력 b5
시간적 스케일링을 사용하고 계층 0-2만 디코딩하면, HighesTId는 2이고, 다음 결과가 실시예에 따라서 달성된다:
픽처 아직 출력 안함 sps_max_num_reorder_pics 액션
I0 I0 2 노 액션
B1 I0 B 2 노 액션
B2 I0 B1 B2 2 출력 I0
B3 B1 B2 B3 2 출력 B3
B4 B1 B2 B4 2 출력 B2
그러므로, 본 명세서에 개시된 바와 같은 실시예는 도 30에 도시된 바와 같은 예의 교정 순서로 픽처를 출력할 수 있는 반면, JCTVC-K0030_v3의 종래 기술 해결책은 슬라이스 헤더를 파싱한 후에 펌핑 처리를 인보크할 때, 교정 출력 순서를 주지 않는다.
도 8-15와 관련해서 상기된 단계, 기능, 과정, 모듈 및/또는 블록은, 일반적인-목적의 전자 회로 및 애플리케이션-특정 회로 모두를 포함하는 이산 회로 또는 집적 회로 기술과 같은 소정의 통상적인 기술을 사용해서 하드웨어로 실행될 수 있다.
특정 예는, 예를 들어 특화된 기능을 수행하기 위해서 상호 접속된 이산 논리 게이트 또는 애플리케이션 특정 집적 회로(ASIC)인, 하나 이상의 적합하게 구성된 디지털 신호 프로세서 및 다른 공지된 전자 회로를 포함한다.
한편, 도 8-15와 관련해서 상기된 적어도 몇몇의 단계, 기능, 과정, 모듈 및/또는 블록은, 하나 이상의 프로세서를 포함하는 적합한 처리 회로에 의한 실행을 위한 컴퓨터 프로그램과 같은 소프트웨어로 실행될 수 있다.
프로세서는, 예를 들어 메모리 형태로, 컴퓨터 프로그램 제품 내에 기억된 컴퓨터 프로그램에 포함된 소프트웨어 명령을 실행할 수 있다. 각 컴퓨터 프로그램 제품은 랜덤 액세스 메모리(RAM) 및 리드-온리 메모리(ROM)의 소정의 조합이 되는 메모리가 될 수 있다. 각 메모리는 영구 스토리지를 포함하여 구성될 수 있는데, 이는, 예를 들어 자기 메모리, 광학 메모리, 솔리드 상태 메모리 또는 심지어 원격 탑재된 메모리 중 소정의 단일의 하나 또는 이들의 조합이 될 수 있다.
상기 제시되고 도 8-15에 나타낸 흐름도 또는 도면들은, 그러므로 하나 이상의 프로세서에 의해 수행될 때, 컴퓨터 흐름도 또는 도면들로서 간주될 수 있다. 대응하는 장치는 기능 모듈의 그룹으로서 규정될 수 있는데, 여기서 프로세서에 의해 수행된 각각의 단계는 기능 모듈에 대응한다. 이 경우, 기능 모듈은 프로세서 상에서 구동하는 컴퓨터 프로그램으로서 실행된다.
예의 처리 회로는, 이에 제한되지 않지만, 하나 이상의 마이크로프로세서, 하나 이상의 디지털 신호 프로세서(DSP), 하나 이상의 중앙 처리 유닛(CPU), 비디오 가속 하드웨어, 및/또는 하나 이상의 필드 프로그램가능한 게이트 어레이(FPGA), 또는 하나 이상의 프로그램가능한 논리 제어기(PLC)와 같은 소정의 적합한 프로그램가능한 논리 회로를 포함한다.
또한, 제안된 기술이 실행되는 소정의 통상적인 장치 또는 유닛의 일반적인 처리 능력을 재사용할 수 있는 것으로, 이해해야 한다. 또한, 예를 들어, 현존하는 소프트웨어를 재프로그래밍함으로써 또는 새로운 소프트웨어 컴포넌트를 부가함으로써, 현존하는 소프트웨어를 재사용할 수 있다.
한 측면에 따라서, 소정의 상기 개시된 실시예에 따른 방법을 수행하도록 구성된 디코더가 제공된다. 디코더는, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하도록 구성된다. 또한, 디코더는, 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된다. 디코더는 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하도록 더 구성된다. 추가적으로, 디코더는 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 (출력된) 픽처를 마크하도록 구성된다.
디코더(100)는, 실시예에 있어서, 본 명세서에서 이전에 개시된 방법 단계를 수행하도록 구성된 프로세서(110)(도 8 및 옵션으로 도 9, 10 및 12-14 참조)를 포함하여 구성된다. 또한, 디코더(100)는 프로세서(110)에 접속된 메모리(120)를 포함하여 구성될 수 있다, 도 16 참조.
도 16은 실시예에 따른 디코더(100)의 개략적인 블록도이다. 디코더(100)는 비디오 시퀀스의 픽처를 나타내는 비트스트림(10)을 수신하고 비트스트림(10)을 디코딩하도록 구성된다. 디코더(100)는 프로세서(110) 및 DPB(125)를 포함하여 구성되는 메모리(120) 포함하여 구성된다. 프로세서(110)는, 현재 픽처가 디코딩되고 DPB(125) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 DPB(125) 내의 픽처의 수를 결정하도록 구성된다. 또한, 프로세서(110)는, 수를 값 sps_max_num_reorder_pics[ HighestTid ] 14의 값에 대해서 비교하도록 구성된다. 프로세서(110)는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(125) 내의 픽처의 출력 순서로 제1픽처인 픽처를 출력하도록 더 구성된다. 프로세서(110)는, 추가적으로 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마크하도록 구성된다.
도 16에 있어서, 디코더(100)는 프로세서(110)를 포함하여 구성되는 것으로서 도시된다. 이 프로세서(110)는 처리 회로의 형태와 같은 단일 프로세서 또는 다수의 프로세서로서 실행될 수 있다.
이에 의해, 도 16은 디코더(100)의 컴퓨터 실행을 도시한다. 이 특정 예에 있어서, 상기된 적어도 몇몇의 단계, 기능, 과정, 모듈 및/또는 블록은 컴퓨터 프로그램으로 실행되는데, 이는 프로세서(110)에 의한 실행을 위해 메모리(120) 내에 로드된다. 프로세서(110) 및 메모리(120)는 서로 상호 접속되어 정상적인 소프트웨어 실행을 할 수 있게 한다. 옵션의 입력/출력 장치(도시 생략)는 또한 프로세서(110) 및/또는 메모리(120)에 상호 접속될 수 있어서, 코딩된 픽처의 비트스트림(10)의 입력 및 디코딩된 픽처의 출력을 가능하게 한다.
용어 '컴퓨터'는, 일반적으로, 태스크의 특정 처리, 결정 또는 컴퓨팅을 수행하기 위해서, 프로그램 코드 또는 컴퓨터 프로그램 명령을 실행할 수 있는 소정의 시스템, 장치 또는 도구로서 해석되어야 한다.
실시예에 있어서, 프로세서(110)는, 바람직하게는 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더(12)를 파싱하도록 구성된다. 또한, 프로세서(110)는 파싱된 슬라이스 헤더(12)에 기반해서 현재 픽처에 대한 RPS를 결정하도록 구성된다. 프로세서(110)는 RPS 내에 존재하지 않는 DPB(125) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 더 구성된다. 추가적으로, 프로세서(110)는, DPB(125) 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 프로세서(110)는, 바람직하게는, 또한, DPB(125)로부터, DPB(125) 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되고 소정의 픽처를 엠프티 또는 제거하도록 구성된다. 프로세서(110)는, 바람직하게는, 코딩된 형태로 제공된 비디오 패이로드 데이터(16)를 사용해서, 현재 픽처를 디코딩하도록 더 구성된다. 이 실시예에서, 프로세서(110)는, 현재 픽처의 디코딩 후에, 픽처의 수를 결정, 수를 비교, 픽처를 출력 및 픽처를 마크하도록 구성된다.
실시예에 있어서, 프로세서(110)는, 옵션으로, 비디오 시퀀스의 랜덤 액세스 픽처의 슬라이스 헤더(12)를 파싱하도록 구성되어, no_output_prior_pics_flag 플래그의 값을 획득한다. 이 경우, 프로세서(110)는, 옵션으로, no_output_prior_pics_flag 플래그의 값이 1이면(및 하나만이면), 수를 결정, 수를 비교, 픽처를 출력 및 픽처를 마크하도록 구성된다.
실시예의 다른 측면은 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하도록 구성된 디코더와 관련된다. 또한, 디코더는, 파싱된 슬라이스 헤더에 기반해서 현재 픽처에 대한 RPS를 결정하도록 구성된다. 또한, 디코더는 RPS 내에 존재하지 않는 DPB 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 더 구성된다. 추가적으로, 디코더는, DPB 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 디코더는, 바람직하게는, 또한, DPB로부터, DPB 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되는 소정의 픽처를 엠프티 또는 제거하도록 구성된다. 디코더는 현재 픽처를 디코딩하도록 더 구성된다. 이 실시예에서, 디코더는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하도록 구성된다. 디코더는, 또한, 수를 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 구성된다. 디코더는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하도록 더 구성된다. 디코더는, 추가적으로, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마크하도록 구성된다. 이는, 이 실시예에서, 디코더가, 현재 픽처의 디코딩 후에, 픽처의 수를 결정, 수를 비교, 픽처를 출력 및 픽처를 마크하도록 구성되는 것을 의미한다.
디코더(100)는, 실시예에 있어서, 본 명세서에서 이전에 개시된 방법 단계를 수행하도록 구성된 프로세서(110)를 포함하여 구성된다, 도 11 및 옵션으로 도 12, 13 및 15 참조. 디코더(100)는, 또한, 프로세서(110)에 접속된 메모리(120)를 포함하여 구성될 수 있다, 도 16 참조.
그러므로, 이 실시예에서, 디코더(100)는 프로세서(110) 및 DPB(125)를 포함하여 구성되는 메모리(120)를 포함하여 구성된다. 프로세서(110)는 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더(12)를 파싱하도록 구성된다. 또한, 프로세서(110)는, 파싱된 슬라이스 헤더(12)에 기반해서 현재 픽처에 대한 RPS를 결정하도록 구성된다. 프로세서(110)는, RPS 내에 존재하지 않는 DPB(125) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 더 구성된다. 프로세서(110)는, 추가적으로, DPB(125) 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 프로세서(110)는, 바람직하게는, 또한, DPB(125)로부터, DPB(125) 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되고 소정의 픽처를, 엠프티 또는 제거하도록 구성된다. 프로세서(110)는 현재 픽처를 디코딩하도록 더 구성된다. 이 실시예에서, 프로세서(110)는 출력을 위해 필요한으로서 마크된 DPB(125) 내의 픽처의 수를 결정하도록 구성된다. 또한, 프로세서(110)는, 수를 비트스트림(10) 내에 존재하는 적어도 하나의 신택스 엘리먼트(14)로부터 도출된 값에 대해서 비교하도록 구성된다. 프로세서(110)는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(125) 내의 픽처의 출력 순서로 제1픽처인, 픽처를 출력하도록 더 구성된다. 프로세서(110)는, 추가적으로, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마크하도록 구성된다. 이는, 이 실시예에서, 프로세서(110)가, 현재 픽처의 디코딩 후에, 픽처의 수를 결정, 수를 비교, 픽처를 출력 및 픽처를 마크하도록 구성된 것을 의미한다.
실시예에 있어서, 프로세서(110)는, 바람직하게는, 본 명세서에 이전에 개시된 바와 같이, 디코딩된 현재 픽처를 DPB(125) 내에 기억하고, 디코딩된 현재 픽처를 출력을 위해 필요한 또는 출력을 위해 필요하지 않는으로서 마크하도록 구성된다.
프로세서(110)는, 실행 실시예에 있어서, 바람직하게는 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된다. 이 실행 실시예에 있어서, 프로세서(110)는, 수가 값 sps_max_num_reorder_pics[ HighestTid ]보다 크면, 출력을 위해 필요한으로서 마크된 DPB(125) 내의 모든 픽처의 PicOrdderCntVal의 가장 작은 값을 갖는 DPB(125) 내의 픽처를 출력하도록 구성된다.
다른 실행 실시예에 있어서, 현재 픽처는 비디오 시퀀스의 랜덤 액세스 픽처이다. 이 경우, 프로세서(110)는, 옵션으로, no_output_prior_pics_flag 플래그의 값을 획득하기 위해서, 랜덤 액세스 픽처의 슬라이스 헤더(12)를 파싱하도록 구성된다. 그 다음, 프로세서(110)는, no_output_prior_pics_flag 플래그의 값이 1이면, 옵션으로, 수를 결정, 수를 비교, 픽처를 출력 및 픽처를 마크하도록 구성된다.
다수의 계층의 각각의 계층이 각각의 값을 규정하는 연관된 신택스 엘리먼트인, 비디오 시퀀스가 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이면, 프로세서(110)는, 바람직하게는, 다수의 계층의 디코더(100)에 의해 디코딩된 가장 높은 계층과 연관된 신택스 엘리먼트로부터 도출된 값, 바람직하게는 sps_max_num_reorder_pics를 선택하도록 구성된다.
실시예에 있어서, 프로세서(110)는, 바람직하게는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(125) 내의 픽처의 가장 작은 픽처 순서 카운트 값을 갖는 픽처를 출력하도록 구성된다.
실시예에 있어서, 프로세서(110)는, 바람직하게는, 비디오 시퀀스의 디코딩되는 다음 픽처의 슬라이스 헤더를 파싱하기 전에, 픽처를 출력하도록 구성된다.
도 17은 디코더(200)의 다른 실행 예의 개략적인 블록도이다. 이 예는, 디코더(200)의 하드웨어 실행에 대해서 특히 적합하다. 디코더(200)는, 비디오 시퀀스의 픽처를 나타내는 비트스트림을 수신하고 비트스트림을 DPB(225)를 포함하여 구성되는 접속된 메모리(220) 내에 기억하는, 입력 유닛(210)을 포함하여 구성된다. 또한, 디코더는 메모리(220)에 접속된 수 결정 유닛(230)을 포함하여 구성된다. 이 수 결정 유닛(230)은, 현재 픽처가 디코딩되고 DPB(225) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 DPB(225) 내의 픽처의 수를 결정하도록 구성된다. 비교기(240)는 수 결정 유닛(230)에 접속되어, 수를 값 sps_max_num_reorder_pics[ HighesTId ]에 대해서 비교하도록 구성된다. 디코더(200)는, 또한 비교기(240) 및 바람직하게는 메모리(220)에 접속된 출력 유닛(250)을 포함하여 구성된다. 출력 유닛(250)은, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(225) 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하도록 구성된다. 마킹 유닛(260)은 메모리(220)에 접속되고, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마크하도록 구성된다.
비교기(240)는, 바람직하게는, 수 결정 유닛(230)에 의해 결정된 수의 픽처를 수신하기 위해 수 결정 유닛(230)에 접속된다. 대응해서, 출력 유닛(250)은, 바람직하게는, 결정된 수가 sps_max_num_reorder_pics[ HighesTId ]의 값보다 큰지의 정보를 비교기(240)로부터 수신하기 위해서 비교기(240)에 접속된다. 마킹 유닛(260)은, 바람직하게는, 출력 유닛(250)에 의해 출력되었던 어떤 픽처의 정보를 수신하기 위해서 출력 유닛(250)에 접속된다.
도 18은 디코더(300)의 또 다른 실행 예의 개략적인 블록도이다. 이 예는, 특히 디코더(300)의 하드웨어 실행에 대해서 적합하다. 디코더(300)는 비디오 시퀀스의 픽처를 나타내는 비트스트림을 수신하도록 구성된 입력 유닛(310) 및 DPB(325)를 포함하여 구성되는 접속된 메모리(320) 내에 비트스트림을 기억하도록 구성된다. 메모리(320)에 접속된 파싱 유닛(370)은 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하도록 구성된다. 디코더(300)는, 파싱 유닛(370) 및 바람직하게는 메모리(320)에 접속된 기준 픽처 세트 결정 유닛(380)을 포함하여 구성된다. 기준 픽처 세트 결정 유닛(380)은 파싱된 슬라이스 헤더에 기반해서 현재 픽처에 대한 RPS를 결정하도록 구성된다. 마킹 유닛(360)은 메모리(320)에 접속되고 RPS 내에 존재하지 않는 DPB(325) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 구성된다. 또한, 디코더(300)는 메모리(320) 및 바람직하게는 비교기(340)에 접속된 출력 유닛(350)을 포함하여 구성된다. 출력 유닛(350)은, DPB(325) 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하도록 구성되고, 여기서 마킹 유닛(360)은 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 픽처 엠프팅 유닛(390)은 메모리(320)에 접속되고, DPB(325)로부터, DPB(325) 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티 또는 제거하도록 구성된다. 디코딩 유닛(305)은 메모리(320)에 접속되고 현재 픽처를 디코딩하도록 구성된다.
또한, 도 18의 디코더(300)는 메모리(320) 및 바람직하게는 파싱 유닛(370) 및 비교기(340)에 접속된 수 결정 유닛(330)을 포함하여 구성된다. 수 결정 유닛(330)은 출력을 위해 필요한으로서 마크된 DPB(325) 내의 픽처의 수를 결정하도록 구성된다. 이전에 언급된 비교기(340)는 수를 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 구성된다. 이 실시예에서, 출력 유닛(350)은, 또한, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(325) 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하도록 구성된다. 마킹 유닛(360)은, 또한, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마크하도록 구성된다.
바람직한 실시예에 있어서, 디코딩 유닛(305)이 현재 픽처를 디코딩한 후에, 수 결정 유닛(330)은 픽처의 수를 결정하도록 구성되고, 비교기(340)는 수를 비교하도록 구성되며, 출력 유닛(350)은 픽처를 출력하도록 구성되고, 마킹 유닛(360)은 픽처를 마크하도록 구성된다.
기준 픽처 세트 결정 유닛(380)은, 바람직하게는, 파싱된 슬라이스 헤더 내에 존재하는 정보를 수신하기 위해 파싱 유닛(370)에 접속되고, RPS를 결정하기 위해 사용된다. 바람직하게는, 기준 픽처 세트 결정 유닛(380)는, RPS 또는 RPS 내에 리스트된 픽처의 정보를 마킹 유닛(360)에 제공하기 위해서, 또한 마킹 유닛(360)에 접속한다. 비교기(340)는, 바람직하게는, 수 결정 유닛(330)에 의해 결정된 픽처의 수를 수신하기 위해서 수 결정 유닛(330)에 접속된다. 대응해서, 출력 유닛(350)은, 바람직하게는, 결정된 수가 비교기(340)로부터의 값보다 큰지의 정보를 수신하기 위해서 비교기(340)에 접속된다. 마킹 유닛(360)은, 바람직하게는, 출력 유닛(350)에 의해 출력되었던 어떤 픽처의 정보를 수신하기 위해서, 출력 유닛(350)에 접속된다.
상기된 바와 같이, 디코더는, 대안적으로, 기능 모듈의 그룹으로서 규정될 수 있는데, 여기서 기능 모듈은 프로세서 상에서 구동하는 컴퓨터 프로그램으로서 실행된다.
도 16은 프로세서(110) 및 연관된 메모리(120)를 포함하여 구성되는 일례의 디코더(100)를 도시하는 개략적인 블록도이다.
따라서, 메모리(120) 내에 거주하는 컴퓨터 프로그램은 적절한 기능 모듈로서 수립될 수 있어, 프로세서(110)에 의해 실행될 때, 상기 단계 및/또는 태스크의 적어도 부분을 수행할 수 있다. 일례의 이러한 기능 모듈은 도 19에 도시된다. 도 19는 이에 의해 기능 모듈(410-440)의 그룹을 포함하여 구성되는 일례의 디코더(400)를 도시하는 개략적인 블록도이다. 이들 모듈은, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, 출력을 위해 필요한으로서 마크된, DPB 내의 픽처 수를 결정하기 위한 수 결정 모듈(410)을 포함하여 구성된다. 디코더(400)는, 또한, 수 결정 모듈(410)로부터 수신됨에 따라, 수를 값 sps_max_num_reorder_pics[ HighesTId ]에 대해서 비교하기 위한 비교 모듈(420)을 포함하여 구성된다. 디코더(400)의 출력 모듈(430)은, 옵션으로, 하지만, 바람직하게는 비교 모듈(420)에 의해 결정됨에 따라, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하기 위한 것이다. 더욱이, 디코더(400)는, 옵션으로, 하지만, 바람직하게는 비교 모듈(420)에 의해 결정됨에 따라, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마킹하기 위한 마킹 모듈(440)을 더 포함하여 구성된다.
도 20은 기능 모듈(510-580)의 그룹을 갖는 다른 예의 디코더(500)를 도시하는 개략적인 블록도이다. 디코더(500)는, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하기 파싱 모듈(510)을 포함하여 구성된다. 디코더(500)의 기준 픽처 세트 결정 모듈(520)은, 바람직하게는 파싱 모듈(510)에 의해 파싱됨에 따라, 슬라이스 헤더에 기반해서, 현재 픽처에 대한 RPS를 결정하기 위한 것이다. 디코더(500)는, 또한, 옵션으로, 하지만, 바람직하게는 기준용으로 사용되지 않는으로서 기준 픽처 세트 결정 모듈(520)에 의해 결정됨에 따라, RPS 내에 존재하지 않는 DPB 내의 모든 픽처를 마킹하기 위한 마킹 모듈(530) 및 DPB 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하기 위한 출력 모듈(540)을 포함하여 구성된다. 실시예에 있어서, 마킹 모듈(530)은, 출력을 위해 필요하지 않는으로서 제로, 하나의 또는 많은 픽처를 더 마킹하기 위한 것이다. 디코더(500)는, DPB로부터, DPB 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되는 소정의 픽처를 엠프티 또는 제거하기 위한 엠프티 모듈(550) 및 현재 픽처의 디코딩을 위한 디코딩 모듈(560)을 더 포함하여 구성된다. 추가적으로, 디코더(500)는, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하기 위한 수 결정 모듈(560) 및, 옵션으로, 하지만, 바람직하게는, 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서, 수 결정 모듈(560)에 의해 결정됨에 따라, 수를 비교하기 위한 비교 모듈(570)을 포함하여 구성된다.
실시예에 있어서, 더욱이, 출력 모듈(540)은, 옵션으로, 하지만, 바람직하게는 비교 모듈(570)에 의해 결정됨에 따라, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하기 위한 것이다. 더욱이, 마킹 모듈(530)은, 옵션으로, 하지만, 바람직하게는 비교 모듈(570)에 의해 결정됨에 따라, 수가 값보다 크면, 출력을 위해 필요하지 않는으로서 픽처를 마킹한다.
실시예에 있어서, 디코딩 모듈(560)이 현재 픽처를 디코딩한 후에, 수 결정 모듈(570)이 픽처의 수를 결정하고, 비교 모듈(580)이 수를 비교하며, 출력 모듈(540)이 픽처를 출력하며, 마킹 모듈(530)이 상기 픽처를 마킹한다.
도 19 및 20에 나타낸 바와 같이, 디코더(400, 500)의 실시예는, 옵션으로, 또한, 도 9, 10, 12-15를 참조해서와 같은, 본 명세서에 이전에 개시된 바와 같은 다양한 실행 실시예를 실행하도록 동작가능하다.
실시예에 있어서, 컴퓨터 프로그램은, 프로세서(110)(도 16 참조)에 의해 실행될 때, 컴퓨터가 프로세서(110) 또는 컴퓨터가 상기된 및 도 8-15에 나타낸 단계, 기능, 과정 및/또는 블록을 수행하게 하는 프로그램 코드를 포함하여 구성된다.
소프트웨어 또는 컴퓨터 프로그램은 컴퓨터 프로그램 제품으로서 실현될 수 있는데, 이는 정상적으로 컴퓨터-판독 가능한 매체 상에서 수행되거나 기억된다. 컴퓨터-판독 가능한 매체는, 이에 제한되지 않지만, ROM, RAM, CD(Compact Disc), DVD(Digital Versatile Disc), USB(Universal Serial Bus) 메모리, 하드 디스크 드라이브(HDD) 스토리지 장치, 플래시 메모리, 또는 소정의 다른 통상적인 메모리 장치를 포함하는, 하나 이상의 제거가능한 또는 비-제거가능한 메모리 장치를 포함할 수 있다. 따라서, 컴퓨터 프로그램은 그 처리 회로에 의해 실행하기 위한 컴퓨터의 동작 메모리 또는 등가의 처리 장치 내에 로드될 수 있다.
도 16-20에 나타낸 바와 같은 디코더(100, 200, 300, 400, 500)는, 바람직하게는 HEVC-컴플라이언트 디코더이다. 그런데, 실시예는 HEVC에 제한되지 않는 것에 유의해야 한다.
한 측면에 따라서, 인코더에 의해 수행된 방법이 제공된다. 본 발명에 있어서, 인코더는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하고, 그 수를 비트스트림 내의 신택스 엘리먼트에 의해 나타낸 값에 대해서 비교한다. 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출된 값보다 크면, 수정된 출력 마킹 처리가 수행되거나, 출력 순서로 제1픽처인, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처들 중의 픽처가 출력을 위해 필요하지 않는으로서 마크된다.
도 21은 실시예에 따른 인코더에 의해 수행된 방법의 흐름도이다. 본 방법은, 단계 S60에서 그리고 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, 출력을 위해 필요한으로서 마크된, DPB 내의 픽처 수를 결정하는 단계를 포함하여 구성된다. 다음 단계 S61은 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하는 단계를 포함하여 구성되고, 여기서 HighestTid는 비디오 시퀀스의 인코더에 의해 디코딩된 가장 높은 계층을 특정한다. 수가 값보다 크면, 본 방법은 단계 S62로 계속되는데, 이 단계는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하는 단계를 포함하여 구성된다.
도 21의 인코더에서 수행된 바와 같은 본 방법은, 매칭 디코더에서 수행된 대응하는 방법과 근본적으로 유사하다, 도 8 참조. 그럼에도, 차이는, 인코더는, 일반적으로 디코더에서 수행된 소정의 픽처를 출력하지 않는 것이다. 그러므로, 도 21에 나타낸 본 방법의 실시예는, 바람직하게는, 도 8의 디코더에 의해 수행된 대응하는 방법의 출력 단계 S3가 없다.
실시예에 있어서, 현재 픽처가 디코딩된 때, 2개의 마킹이, 바람직하게는 출력에 대해서 하나 및 기준을 위해서 하나 발생한다. 그러므로, 실시예에서 이들 마킹은, 이것이 출력을 위해 필요한으로서 마크된 픽처의 수에 영향을 미치므로, 바람직하게는 단계 S60에 우선해서 수행된다. 현재 픽처가 PicOutputFlag=1이면, 바람직하게는, 현재 픽처도 역시 카운트된다.
실시예에 있어서, 단계 S61의 비교에서 결정된 바와 같이 수가 값보다 크면, 본 방법은 바람직하게는 종료되고, 마크된 픽처는 없게 된다. 따라서, 이 경우, 단계 S62는 생략되고 수행되지 않는다, 우측 해칭된 라인 참조.
실시예에 있어서, 도 21의 단계 S61-S62는, 현재 픽처가 디코딩되고 DPB 내에 기억된 후에만 수행될 수 있다. 한편, 단계 S61-S62에 의해 형성된 루프(좌측 해칭된 라인 참조)는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 값 sps_max_num_reorder_pics[ HighestTid ]보다 더 이상 크지 않을 때까지 수행될 수 있다. 단계 S61-S62의 루프가 수행될 때마다, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수는 단계 S62의 마킹을 통해 하나 감소된다.
도 22는 다른 실시예에 따른 인코더에 의해 수행된 방법의 흐름도이다. 본 방법은, 비디오 시퀀스 세트의 현재 픽처에 대해서, RPS 내에 존재하지 않는 DPB 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하는 단계 S70을 포함하여 구성된다. 본 방법은, 또한, DPB 내의 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를, 출력을 위해 필요하지 않는으로서 마킹하는 단계 S71을 포함하여 구성된다. DPB 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되는 소정의 픽처는, 단계 S72에서 DPB로부터 엠프티 또는 제거된다. 뒤따르는 단계 S73은 현재 픽처의 디코딩을 포함하여 구성된다. 본 방법은, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하는 단계 S74 및 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하는 단계 S75를 더 포함하여 구성된다. 이 수가 값보다 크면, 본 방법은 단계 S76으로 계속되는데, 이 단계는, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 단계를 포함하여 구성된다. 바람직한 실시예에 있어서, 단계 S74의 픽처의 수를 결정하는 단계, 단계 S75의 수를 비교하는 단계 및 단계 S76의 픽처를 마킹하는 단계는, 단계 S73의 현재 픽처의 디코딩 후에 수행된다.
도 22의 인코더에서 수행된 바와 같은 본 방법은, 매칭 디코더에서 수행된 대응하는 방법과 근본적으로 유사하다, 도 11 참조. 그럼에도, 차이는, 인코더가 디코더에서 수행된 소정의 픽처를 일반적으로 출력하지 않는 것이다. 그러므로, 도 22에 나타낸 본 방법의 실시예는, 바람직하게는 도 11의 디코더에 의해 수행된 대응하는 방법의 출력 단계 S33 및 S38이 없다. 더욱이, 도 22의 본 방법에서, 인코더는 소정의 비트스트림을 수신하지 않고 이에 의해 현재 픽처에 대한 RPS를 결정하기 위해 정보를 획득하기 위해 슬라이스 헤더를 파싱할 필요가 없다. 명확한 대조에 있어서, 인코더 자체는 현재 픽처에 대한 RPS를 생성 및 결정한다. 그러므로, 도 11의 디코더에 의해 수행된 대응하는 방법의 단계 S30 및 S31은, 전형적으로 인코더에 의해 수행되지 않는다.
실시예에 있어서, 단계 S75의 비교에서 결정된 바와 같이 수가 값보다 크면, 본 방법은 바람직하게는 종료되고 마크된 픽처는 없게 된다. 따라서, 이 경우, 단계 S76은 생략되고 수행되지 않는다, 우측 해칭된 라인 참조.
실시예에 있어서, 단계 S75-S76은, 현재 픽처가 디코딩되고 DPB 내에 기억된 후에만 수행될 수 있다. 한편, 단계 S75-S76에 의해 형성된 루프(좌측 해칭된 라인 참조)는, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 값보다 더 이상 크지 않을 때까지, 수행될 수 있다. 단계 S75-S76의 루프가 수행될 때마다, 단계 S76에서 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수가 마킹을 통해 하나 감소된다.
디코더에 의해 수행된 방법과 관련해서 상기 논의된 실시예가 또한 인코더에 의해 수행될 수 있다.
예를 들어, 인코더 방법 및/또는 인코더는 실시예에 따른 다음의 순서 단계를 수행하도록 구성될 수 있다:
1 픽처 P가 인코딩된다.
2 픽처 P가 인코딩된 후에, 인코더는 "출력을 위해 필요한"으로 마크되는 DPB 내의 픽처의 수를 결정하고, 그 수를 비트스트림 내의 신택스 엘리먼트로부터 도출될 수 있는 값에 대해서 비교한다. 이것이 인코더 내의 DPB를 참조하는 것에 유의해야 한다. 인코더 및 디코더 내의 DPB 상태는 동일하다. 디코더에서의 비교는 정확하게 동일하게 된다. HEVC 사양은, 디코더가 하게 되지만 인코더가 이를 추적하게 되는, 예를 들어 인코더가 디코더가 하게 되는 것을 하는, 것을 특정한다.
3 "출력을 위해 필요한"으로 마크된 DPB 내의 픽처의 수가 비트스트림 내의 신택스 엘리먼트로부터 도출될 수 있는 값보다 크면, 출력 순서로 제1인 "출력을 위해 필요한"으로 마크된 DPB 내의 픽처들 중의 픽처는 "출력을 위해 필요하지 않는"으로 마크된다. 픽처는, 옵션으로 인코더로부터 출력된다.
4 다음 픽처 Q가 인코딩된다.
도 21 및 22와 관련해서 상기된 단계, 기능, 과정, 모듈 및/또는 블록은, 일반적인-목적의 전자 회로 및 애플리케이션-특정 회로 양쪽을 포함하는 이산 회로 또는 집적 회로 기술과 같은 소정의 통상적인 기술을 사용해서 하드웨어로 실행될 수 있다.
특정 예는, 하나 이상의 적합하게 구성된 디지털 신호 프로세서 및 다른 공지된 전자 회로는, 예를 들어 특화된 기능을 수행하기 위해서 상호 접속된 이산 논리 게이트 또는 ASIC를 포함한다.
한편, 도 21 및 22와 관련해서 상기된 적어도 몇몇의 단계, 기능, 과정, 모듈 및/또는 블록은, 하나 이상의 프로세서를 포함하는 적합한 처리 회로에 의한 실행을 위한 컴퓨터 프로그램과 같은 소프트웨어로 실행될 수 있다.
프로세서는, 예를 들어 메모리 형태로 컴퓨터 프로그램 제품 내에 기억된 컴퓨터 프로그램 내에 포함된 소프트웨어 명령을 실행할 수 있다. 각 컴퓨터 프로그램 제품은 RAM 및 ROM의 소정의 조합인 메모리가 될 수 있다. 각 메모리는, 예를 들어 자기 메모리, 광학 메모리, 솔리드 상태 메모리 또는 심지어 원격 탑재된 메모리의 소정의 단일 하나의 또는 조합이 될 수 있는, 영구 스토리지를 포함하여 구성된다.
그러므로, 상기 제시하고 및 도 21 및 22에 나타낸 흐름도 또는 도면들은, 하나 이상의 프로세서에 의해 수행될 때, 컴퓨터 흐름도 또는 도면들로서 간주될 수 있다. 대응하는 장치는 기능 모듈의 그룹으로서 규정될 수 있는데, 여기서 프로세서에 의해 수행된 각각의 단계는 기능 모듈에 대응한다. 이 경우, 기능 모듈은 프로세서상에서 구동하는 컴퓨터 프로그램으로서 실행될 수 있다.
예의 처리 회로는, 이에 제한되지 않지만, 하나 이상의 마이크로프로세서, 하나 이상의 DSP, 하나 이상의 CPU, 비디오 가속 하드웨어, 및/또는 하나 이상의 FPGA, 또는 하나 이상의 PLC와 같은 소정의 적합한 프로그램가능한 논리 회로를 포함한다.
또한, 제안된 기술이 실행되는 소정의 통상적인 장치 또는 유닛의 일반적인 처리 능력을 재사용하는 것이 가능한 것으로 이해해야 한다. 또한, 예를 들어 현존하는 소프트웨어를 재프로그래밍함으로써 또는 새로운 소프트웨어 컴포넌트를 부가함으로써, 현존하는 소프트웨어를 재사용할 수 있다.
한 측면에 따라서, 본 방법을 수행하도록 구성된 인코더가 제공된다. 인코더는 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, 출력을 위해 필요한으로서 마크된, DPB 내의 픽처 수를 결정하도록 구성된다. 또한, 인코더는, 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된다. 더욱이, 인코더는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 더 구성된다.
인코더(600)는, 실시예에 있어서, 본 명세서에서 이전에 개시된 방법 단계를 수행하도록 구성된 프로세서(610)를 포함하여 구성된다, 도 21 참조. 또한, 디코더(600)는 프로세서(610)에 접속된 메모리(620)를 포함하여 구성될 수 있다, 도 23 참조.
도 23은 실시예에 따른 인코더(600)의 개략적인 블록도이다. 인코더(600)는 비디오 시퀀스의 픽처를 비트스트림(10) 내에 인코딩하도록 구성된다. 인코더(600)는 프로세서(610) 및 메모리(620)를 포함하여 구성된다. 메모리(620)는 DPB(625)를 포함하여 구성된다. 실시예에 있어서, 프로세서(610)는, 현재 픽처가 디코딩되고 DPB(625) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 DPB(625) 내의 픽처의 수를 결정하도록 구성된다. 또한, 프로세서(610)는, 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된다. 프로세서(610)는 DPB(625) 내의 픽처의 수가 값보다 크면, 출력을 위해 필요한으로서 마크된, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 더 구성된다.
도 23에 있어서, 인코더(600)는 프로세서(610)를 포함하여 구성되는 것으로서 도시되었다. 이 프로세서(610)는 처리 회로의 형태와 같은 단일 프로세서 또는 다수의 프로세서로서 실행될 수 있다.
이에 의해, 도 23은 인코더(600)의 컴퓨터 실행을 도시한다. 이 특정 예에 있어서, 상기된 적어도 몇몇의 단계, 기능, 과정, 모듈 및/또는 블록은, 프로세서(610)에 의해 실행하기 위해 메모리(620) 내에 로드된 컴퓨터 프로그램으로 실행된다. 프로세서(610) 및 메모리(620)는 서로 상호 접속되어, 정상적인 소프트웨어 실행을 할 수 있게 한다. 또한, 옵션의 입력/출력 장치(도시 생략)가 프로세서(610) 및/또는 메모리(620)에 상호 접속되어, 인코딩되는 픽처의 입력 및 비트스트림(10)의 출력이 가능하게 된다.
실시예의 다른 측면은 비디오 시퀀스의 현재 픽처에 대해서 RPS 내에 존재하지 않는 DPB 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 구성된 인코더와 관련된다. 또한, 인코더는, DPB 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하고, DPB로부터, DPB 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되는 소정의 픽처를 엠프티 또는 제거하도록 구성된다. 인코더는, 현재 픽처를 디코딩하고 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하도록 더 구성된다. 추가적으로, 인코더는, 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하고, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크한다. 실시예에 있어서, 인코더는 현재 픽처의 디코딩 후에 픽처의 수를 결정, 수를 비교 및 픽처를 마크하도록 구성된다.
인코더(600)는, 실시예에 있어서, 본 명세서에서 이전에 개시된 방법 단계를 수행하도록 구성된 프로세서(610)를 포함하여 구성된다, 도 22 참조. 또한, 디코더(600)는 프로세서(610)에 접속된 메모리(620)를 포함하여 구성될 수 있다, 도 23 참조.
도 23은 실시예에 따른 인코더(600)의 개략적인 블록도이다. 인코더(600)는 비디오 시퀀스의 픽처를 비트스트림(10) 내에 인코딩하도록 구성된다. 인코더(600)는 프로세서(610) 및 메모리(620)를 포함하여 구성된다. 메모리(620)는 DPB(625)를 포함하여 구성된다. 실시예에 있어서, 프로세서(610)는 비디오 시퀀스의 현재 픽처에 대해서 RPS 내에 존재하지 않는 DPB(625) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 구성된다. 또한, 프로세서(610)는, DPB(625) 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 더욱이, 프로세서(610)는, DPB(625)로부터, DPB(625) 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티 또는 제거하도록 구성된다. 또한, 이 실시예에서, 프로세서(610)는, 현재 픽처를 디코딩하고 출력을 위해 필요한으로서 마크된 DPB(625) 내의 픽처의 수를 결정하도록 구성된다. 프로세서(610)는, 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 더 구성된다. 추가적으로, 프로세서(610)는, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(625) 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 이 실시예에서, 프로세서(610)는 현재 픽처의 디코딩 후에 픽처의 수를 결정, 수를 비교 및 픽처를 마크하도록 구성된다.
도 24는 인코더(700)의 다른 실행 예의 개략적인 블록도이다. 이 예는, 인코더(700)의 하드웨어 실행에 대해서 특히 적합하다. 인코더(700)는 DPB(725)를 포함하여 구성되는 메모리(720)에 접속된 수 결정 유닛(730)을 포함하여 구성된다. 수 결정 유닛(730)는, 비디오 시퀀스의 현재 픽처가 디코딩되고 DPB(725) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 DPB(725) 내의 픽처의 수를 결정하도록 구성된다. 또한, 인코더(700)는 수 결정 유닛(730) 및 바람직하게는 메모리(720)에 접속된 비교기(740)를 포함하여 구성된다. 비교기(740)는 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대항해서 비교하도록 구성된다. 인코더의 마킹 유닛(760)은 메모리(720)에 접속되어, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(725) 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다.
바람직하게는, 비교기(740)는, 수 결정 유닛(730)에 의해 결정된 픽처의 수를 수신하기 위해서, 수 결정 유닛(730)에 접속된다.
도 25는, 하드웨어 실행을 위해 특히 적합한 인코더(800)의 또 다른 실행 예의 개략적인 블록도이다. 인코더(800)는 DPB(825)를 포함하여 구성되는 메모리(830)에 접속된 마킹 유닛(860)을 포함하여 구성된다. 마킹 유닛(860)은, i) 비디오 시퀀스의 현재 픽처에 대해서 RPS 내에 존재하지 않는 DPB 내의 모든 픽처(825)를 기준용으로 사용되지 않는으로서 마크하고, ii) DPB(825) 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된다. 픽처 엠프티 유닛(890)은 메모리(830)에 접속되고, DPB로부터(825), DPB(825) 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티 또는 제거하도록 구성된다. 또한, 인코더(800)는 메모리(820)에 접속된 디코딩 유닛(805)을 포함하여 구성되고, 현재 픽처를 디코딩하도록 구성된다. 인코더(800)의 수 결정 유닛(830)은 메모리(830)에 접속되고 출력을 위해 필요한으로서 마크된 DPB(825) 내의 픽처의 수를 결정하도록 구성된다. 더욱이, 인코더(800)는 수 결정 유닛(830) 및 바람직하게는 메모리(830)에 접속된 비교기(840)를 포함하여 구성된다. 비교기(840)는 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 구성된다. 이 실시예에서, 또한, 마킹 유닛(860)은, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB(825) 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하도록 구성된다. 바람직한 실시예에 있어서, 디코딩 유닛(805)이 현재 픽처를 디코딩한 후에, 수 결정 유닛(830)은 픽처의 수를 결정하도록 구성되고, 비교기(840)는 수를 비교하도록 구성되며, 마킹 유닛(840)은 픽처를 마크하도록 구성된다.
비교기(840)는, 바람직하게는, 수 결정 유닛(830)에 의해 결정된 픽처의 수를 수신하기 위해서 수 결정 유닛(830)에 접속된다.
상기된 바와 같이, 인코더는 기능 모듈의 그룹으로서 대안적으로 규정될 수 있는데, 여기서 기능 모듈은 프로세서상에서 구동하는 컴퓨터 프로그램으로서 실행될 수 있다.
도 23은 프로세서(610) 및 연관된 메모리(620)를 포함하여 구성되는 일례의 인코더(600)를 도시하는 개략적인 블록도이다.
따라서, 메모리(620) 내에 거주하는 컴퓨터 프로그램은, 프로세서(610)에 의해 실행될 때, 상기된 단계 및/또는 태스크의 적어도 부분을 수행하도록 구성된 적절한 기능 모듈로서 수립될 수 있다. 일례의 이러한 기능 모듈이 도 26에 도시된다. 이에 의해, 도 26은 기능 모듈(910-930)의 그룹을 포함하여 구성되는 일례의 인코더(900)를 도시하는 개략적인 블록도이다. 이들 모듈은, 비디오 시퀀스의 픽처를 나타내는 비트스트림의 현재 픽처가 디코딩되고 DPB 내에 기억된 후에, 출력을 위해 필요한으로서 마크된, DPB 내의 픽처 수를 결정하기 위해 수 결정 모듈(910)을 포함하여 구성된다. 또한, 인코더(900)는, 수를, 옵션으로, 하지만, 바람직하게는 수 결정 모듈(910)에 의해 결정함에 따라, 값 sps_max_num_reorder_pics[ HighesTId ]에 대해서 비교하기 위한 비교 모듈(920)을 포함하여 구성된다. 인코더(900)는, 옵션으로, 하지만, 바람직하게는 비교 모듈(920)에 의해 결정됨에 따라, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하기 위한 마킹 모듈(930)을 더 포함하여 구성된다.
도 27은 기능 모듈(1000-1050)의 그룹으로 다른 예의 인코더(1000)를 도시하는 개략적인 블록도이다. 인코더(1000)는, 기준용으로 사용되지 않는으로서 비디오 시퀀스의 현재 픽처에 대해서 RPS 세트 내에 존재하지 않는 DPB 내의 모든 픽처를 마킹하고, DPB 내의 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹하기 위한 마킹 모듈(1010)을 포함하여 구성된다. 인코더(1000)는, DPB로부터, DPB 내의 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크되는 소정의 픽처를 엠프티 또는 제거하기 위한 엠프티 모듈(1020) 및 현재 픽처를 디코딩하기 위한 디코딩 모듈(1030)을 더 포함하여 구성된다. 추가적으로, 인코더(1000)는 출력을 위해 필요한으로서 마크된 DPB 내의 픽처 수를 결정하기 위한 수 결정 모듈(1040) 및, 옵션으로, 하지만, 바람직하게는 수 결정 모듈(1040)에 의해 결정됨에 따라, 수를 비트스트림 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하는 비교 모듈(1050)을 포함하여 구성된다.
실시예에 있어서, 더욱이, 마킹 모듈(1010)은, 옵션으로, 하지만, 바람직하게는 비교 모듈(1050)에 의해 결정됨에 따라, 수가 값보다 크면, 출력을 위해 필요한으로서 마크된 DPB 내의 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하기 위한 것이다.
실시예에 있어서, 디코딩 모듈(1030)이 현재 픽처를 디코딩한 후에, 수 결정 모듈(1040)이 픽처의 수를 결정하고, 비교 모듈(1050)이 수를 비교하며, 마킹 모듈(1010)이 상기 픽처를 마킹한다.
실시예에 있어서, 컴퓨터 프로그램은, 프로세서(610)(도 23 참조)에 의해 실행될 때, 컴퓨터가 프로세서(610) 또는 컴퓨터가 상기되고 도 21 또는 22에 나타낸 단계, 기능, 과정 및/또는 블록을 수행하게 하는, 프로그램 코드를 포함하여 구성된다.
소프트웨어 또는 컴퓨터 프로그램은 정상적으로 컴퓨터-판독 가능한 매체 상에서 수행되거나 기억된 컴퓨터 프로그램 제품으로서 실현될 수 있다. 컴퓨터-판독 가능한 매체는, 이에 제한되지 않지만 ROM, RAM, CD, DVD, USB 메모리, HDD 스토리지 장치, 플래시 메모리, 또는 소정의 다른 통상적인 메모리 장치를 포함하는, 하나 이상의 제거가능한 또는 비-제거가능한 메모리 장치를 포함할 수 있다. 따라서, 컴퓨터 프로그램은 그 처리 회로에 의해 실행하기 위해 컴퓨터의 동작 메모리 또는 등가의 처리 장치에 로드될 수 있다.
도 23-27에 나타낸 바와 같은 인코더(600, 700, 800, 900, 1000)는, 바람직하게는, HEVC-컴플라이언트 인코더이다. 그런데, 실시예는 HEVC에 제한되지 않는 것에 유의해야 한다.
소정의 도 16-20의 디코더(100, 200, 300, 400, 500) 및 소정의 도 23-27의 인코더(600, 700, 800, 900, 1000)는, 예를 들어 모바일 단말로 실행될 수 있다. 예를 들어, 디코더(100, 200, 300, 400, 500)는 비디오 스트림을 디스플레이하기 위한 비디오 카메라 또는 소정의 다른 장치 내의 수신기 내에 위치될 수 있다. 인코더(600, 700, 800, 900, 1000)는, 예를 들어 모바일 장치 내의 비디오 카메라 내의 전송기 내에 위치될 수 있다.
도 28은 실시예에 따른 모바일 단말(1100)의 개략적인 블록도이다. 모바일 단말(1100)은, 소정의 도 16-20에 나타낸 바와 같은 디코더 및/또는 소정의 도 23-27에 나타낸 바와 같은 인코더와 같은, 실시예에 따른 디코더(100, 200, 300, 400, 500) 및/또는 실시예에 따른 인코더(600, 700, 800, 900, 1000)를 포함하여 구성된다.
모바일 단말(1100)은, 바람직하게는, 또한, 외부 유닛과의 통신, 전형적으로 와이어리스 통신만 아니라 대안적으로, 또는 추가적으로, 와이어 통신을 가능하게 하기 위한 입력 및 출력(I/O) 유닛(1110)을 포함하여 구성된다. I/O 유닛(1110)은, 와이어리스 통신을 위한 전송기 및 수신기, 또는 송수신기로서 실행될 수 있다. 한편, I/O 유닛(1110)는, 와이어 통신을 수행할 수 있는, 일반적인 I/O 유닛 또는 포트(1110)로 될 수 있다. 모바일 단말(1100)이 인코더(600, 700, 800, 900, 1000)로 실행되면, I/O 유닛(1110)는, 바람직하게는, 인코더(600, 700, 800, 900, 1000)에 의해 생성됨에 따라 코딩된 비디오 시퀀스를 나타내는 비트스트림을 전송 또는 출력하도록 구성된다. 대응해서, 모바일 단말(1100)이 디코더(100, 200, 300, 400, 500)를 포함하여 구성되면, I/O 유닛(1110)은, 바람직하게는, 코딩된 비디오 시퀀스를 나타내는 비트스트림을 수신 또는 입력하도록 구성된다.
모바일 단말(1100)은 코딩된 비디오 시퀀스의 코딩된 픽처를 기억하도록 구성된 메모리(1120)를 포함하여 구성된다. 이들 코딩된 픽처는 모바일 단말(1100) 자체에 의해 생성될 수도 있다. 이 경우, 모바일 단말(1100)은, 바람직하게는, 접속된 인코더(600, 700, 800, 900, 1000)와 함께 미디어 엔진 또는 레코더(도시 생략)를 포함하여 구성된다. 한편, 코딩된 비디오 시퀀스는 몇몇 다른 장치에 의해 생성되어, 모바일 단말(1100)에 전송된다.
코딩된 픽처는 메모리(1120)로부터 디코더(100, 200, 300, 400, 500)로 유입된다. 그 다음, 디코더(100, 200, 300, 400, 500)는, 코딩된 픽처를 디코딩된 픽처로 디코딩한다. 디코딩된 픽처는 미디어 플레이어(1130)에 제공되는데, 이는 비디오 시퀀스의 디코딩된 픽처를 모바일 단말(1100)의 또는 이에 접속된 디스플레이 또는 스크린(1140) 상에 디스플레이 가능한 비디오 데이터로 렌더링하도록 구성된다.
도 28에서, 모바일 단말(1100)은, 디코더(100, 200, 300, 400, 500) 및 미디어 플레이어(1130)의 부분으로서 실행된 디코더(100, 200, 300, 400, 500)를 갖는 미디어 플레이어(1130) 양쪽을 포함하여 구성되는 것으로서 도시되었다. 그런데, 이는, 단지 예시적으로 나타낸 것이고, 모바일 단말(1100)에 대한 예의 실행 실시예를 제한하는 것은 아니다. 또한, 분산된 실행이 가능한데, 여기서 디코더(100, 200, 300, 400, 500) 및 미디어 플레이어(1130)는 2개의 물리적으로 분리된 장치로 제공되고, 본 명세서에서 사용된 바와 같이 모바일 단말(1100)의 범위 내에서 가능하게 된다. 또한, 디스플레이(1140)는 모바일 단말(1100)에 접속된 분리 장치로서 제공될 수 있는데, 여기서 실재 데이터 처리가 발생한다.
모바일 단말(1100)은 코딩된 픽처의 코딩된 비디오 시퀀스 상에서 동작하는 미디어 디코딩 기능을 갖는 소정의 장치가 될 수 있으므로, 이에 의해 픽처를 디코딩하고, 비디오 데이터를 이용가능하게 한다. 이러한 모바일 단말(1100)의 비 제한적인 예는 모바일 텔레폰 및 다른 포터블 미디어 플레이어, 컴퓨터, 디코더, 게임 콘솔 등을 포함한다.
소정의 도 23-27에 나타낸 바와 같은 실시예의 인코더(600, 700, 800, 900, 1000) 및/또는 소정의 도 16-20에 나타낸 바와 같은 실시예의 디코더(100, 200, 300, 400, 500)가, 도 29에 나타낸 바와 같이, 네트워크 노드(2)에서 실행될 수 있다.
도 29에 도시한 바와 같이, 인코더(600, 700, 800, 900, 1000) 및/또는 디코더(100, 200, 300, 400, 500)는 송신 유닛(3)과 수신 유닛(4) 간의 통신 네트워크(1) 내의 네트워크 노드(2)에서 실행될 수 있다. 이러한 네트워크 노드(2)는, 예를 들어, 다른 비디오 레졸루션, 프레임 레이트, 퀄리티, 비트 레이트 및 코딩 표준 사이에서 비디오를 변환하기 위한 장치가 될 수 있다. 네트워크 노드(2)는, 무선-기반 네트워크와 같은, 통신 네트워크(1) 내의 무선 기지국, 노드-B 또는 소정의 다른 네트워크 노드 형태로 될 수 있다.
또한, 실시예의 인코더 및/또는 디코더는 미디어 어웨어 네트워크 엘리먼트(Media Aware Network Element)와 같은 비트스트림 상에서 동작하는 소정의 엘리먼트로 제공될 수 있다.
실시예는 HEVC에 제한되지 않지만, 스케일러블 확장 또는 멀티뷰 확장과 같은 소정의 HEVC의 확장 또는 다른 비디오 코덱에 적용될 수 있다.
상기된 실시예는 본 발명의 몇몇 예시적인 예로서 이해된다. 본 기술 분야의 당업자는, 다양한 수정, 조합 및 변화가 본 발명의 범위로부터 벗어남이 없이 실시예로 만들어질 수 있는 것으로 이해한다. 특히, 다른 실시예의 다른 부분 해결책은 기술적으로 가능한 다른 구성으로 조합될 수 있다. 그런데, 본 발명의 범위는 첨부된 청구항에 의해 규정된다.
100 - 디코더, 110 - 프로세서,
125 - DPB,
600 - 인코더,

Claims (37)

  1. 디코더(100, 200, 400)에 의해 수행된 방법으로서, 상기 방법은:
    현재 픽처가 디코딩되고 디코딩된 픽처 버퍼(125, 225) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 225) 내의 픽처의 수를 결정(S1)하는 단계와;
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교(S2)하는 단계로서, HighestTid가 비디오 시퀀스의 상기 디코더(100, 200, 400)에 의해 디코딩된 가장 높은 계층을 특정하는, 비교하는 단계와;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 225) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력(S3)하는 단계와;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마킹(S4)하는 단계를 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  2. 제1항에 있어서,
    상기 값 sps_max_num_reorder_pics[ HighestTid ]는, 디코딩 순서로 픽처에 선행하고 출력 순서로 픽처를 후속하는 상기 디코더(100, 200, 400)에 의해 디코딩된 상기 더 높은 계층과 동일한 또는 보다 낮은 계층 내의 픽처의 최대 허용된 수를 가리키는 것을 특징으로 하는 디코더의 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱(S10)하는 단계와;
    상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트를 결정(S11)하는 단계와;
    상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼(125, 225) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹(S12)하는 단계와;
    상기 디코딩된 픽처 버퍼(125, 225) 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력(S13)하고, 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 단계와;
    상기 디코딩된 픽처 버퍼(125, 225)로부터, 상기 디코딩된 픽처 버퍼(125, 225) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티(S14)하는 단계와;
    상기 현재 픽처를 디코딩(S15)하는 단계로서, 상기 현재 픽처를 디코딩(S15)하는 단계 후에, 픽처의 상기 수를 결정(S1)하는 단계와, 상기 수를 비교(S2)하는 단계와, 상기 픽처를 출력(S3)하는 단계와, 상기 픽처를 마킹(S4)하는 단계가 수행되는, 디코딩하는 단계를 더 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  4. 디코더(100, 300, 500)에 의해 수행된 방법으로서, 상기 방법은:
    비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱(S30)하는 단계와;
    상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트를 결정(S31)하는 단계와;
    상기 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼(125, 325) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹(S32)하는 단계와;
    상기 디코딩된 픽처 버퍼(125, 325) 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력(S33)하고, 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 단계와;
    상기 디코딩된 픽처 버퍼(125, 325)로부터, 상기 디코딩된 픽처 버퍼(125, 325) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티(S34)하는 단계와;
    상기 현재 픽처를 디코딩(S35)하는 단계와;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 325) 내의 픽처의 수를 결정(S36)하는 단계와;
    상기 수를 상기 비디오 시퀀스의 픽처를 나타내는 비트스트림(10) 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교(S37)하는 단계와;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 325) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력(S38)하는 단계와;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마킹(S39)하는 단계로서, 상기 현재 픽처를 디코딩(S35)하는 단계 후에, 픽처의 상기 수를 결정(S36)하는 단계와, 상기 수를 비교(S37)하는 단계, 상기 픽처를 출력(S38)하는 단계와, 상기 픽처를 마킹(S39)하는 단계가 수행되는, 마킹하는 단계를 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 디코딩된 현재 픽처를 상기 디코딩된 픽처 버퍼(125, 325) 내에 기억(S40)하는 단계와;
    상기 디코딩된 현재 픽처를 출력을 위해 필요한 또는 출력을 위해 필요하지 않는으로서 마킹(S41)하는 단계로서, 상기 디코딩된 현재 픽처를 마킹(S41)하는 단계 후에, 픽처의 상기 수를 결정(S1, S36)하는 단계가 수행되는 마킹하는 단계를 더 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 수를 비교(S2, S37)하는 단계는, 상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교(S2, S37)하는 단계를 포함하여 구성되고, HighestTid가 상기 디코더(100, 200, 300, 400)에 의해 디코딩된 가장 높은 계층을 특정하는, 비교하는 단계를 포함하여 구성되고;
    상기 픽처를 출력(S3, S38)하는 단계는, 상기 수가 상기 값 sps_max_num_reorder_pics[ HighestTid ]보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 225, 325) 내의 모든 픽처의 PicOrdderCntVal의 가장 작은 값을 갖는 상기 디코딩된 픽처 버퍼(125, 225, 325) 내의 픽처를 출력(S3, S38)하는 단계로서, PicOrdderCntVal이 픽처 순서 카운트 값을 나타내는, 출력하는 단계를 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이고, 상기 다수의 계층의 각각의 계층은 각각의 값을 규정하는 연관된 신택스 엘리먼트를 가지며, 상기 방법은
    상기 다수의 계층의 상기 디코더(100, 200, 300, 400, 500)에 의해 디코딩된 가장 높은 계층과 연관된 신택스 엘리먼트로부터 도출된 값을 선택(S50)하는 단계를 더 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 픽처를 출력(S3, S38)하는 단계는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 225, 325) 내의 상기 픽처의 가장 작은 픽처 순서 카운트 값을 갖는 픽처를 출력(S3, S38)하는 단계를 포함하여 구성되는 것을 특징으로 하는 디코더의 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 픽처를 출력(S3, S38)하는 단계가, 상기 비디오 시퀀스의 디코딩되는 다음 픽처의 슬라이스 헤더를 파싱하기 전에 수행되는 것을 특징으로 하는 디코더의 방법.
  10. 디코더(100, 200)로서:
    비디오 시퀀스의 픽처를 나타내는 비트스트림(10)의 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼(125, 225) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 225) 내의 픽처의 수를 결정하고;
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하며, HighestTid가 상기 비디오 시퀀스의 상기 디코더(100, 200)에 의해 디코딩된 가장 높은 계층을 특정하고;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 225) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하며;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되는 것을 특징으로 하는 디코더.
  11. 제10항에 있어서,
    상기 비디오 시퀀스의 픽처를 나타내는 상기 비트스트림(10)을 수신하고, 상기 비트스트림(10)을 상기 디코딩된 픽처 버퍼(225)를 포함하여 구성되는 접속된 메모리(220) 내에 기억하도록 구성된 입력 유닛(210)과;
    상기 메모리(220)에 접속되고, 상기 현재 픽처가 디코딩되고 상기 디코딩된 픽처 버퍼(225) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(225) 내의 픽처의 상기 수를 결정하도록 구성된 수 결정 유닛(230)과;
    상기 수 결정 유닛(230)에 접속되고, 상기 수를 상기 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된 비교기(240)와;
    상기 비교기(240)에 접속되고, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(225) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력하도록 구성된 출력 유닛(250)과;
    상기 메모리(220)에 접속되고, 상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된 마킹 유닛(260)을 포함하여 구성되는 것을 특징으로 하는 디코더.
  12. 제10항에 있어서,
    프로세서(110)와;
    상기 디코딩된 픽처 버퍼(125)를 포함하여 구성되는 메모리(120)를 포함하여 구성되고, 상기 프로세서(110)는:
    상기 현재 픽처가 디코딩되고 상기 디코딩된 픽처 버퍼(125) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125) 내의 픽처의 상기 수를 결정하고;
    상기 수를 상기 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력하고;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되는 것을 특징으로 하는 디코더.
  13. 제12항에 있어서,
    상기 프로세서(110)는:
    상기 비디오 시퀀스의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하고;
    상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트를 결정하며;
    상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼(125) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하고;
    상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고, 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하며;
    상기 디코딩된 픽처 버퍼(125)로부터, 상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하고;
    상기 현재 픽처를 디코딩하도록 구성되고, 상기 프로세서(110)는, 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교, 상기 픽처를 출력 및 상기 픽처를 마크하도록 구성되는 것을 특징으로 하는 디코더.
  14. 디코더(100, 300)로서:
    비디오 시퀀스의 픽처를 나타내는 비트스트림(10)의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하고;
    상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트를 결정하며;
    상기 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼(125, 325) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하고;
    상기 디코딩된 픽처 버퍼(125, 325) 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고, 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하며;
    상기 디코딩된 픽처 버퍼(125, 325)로부터, 상기 디코딩된 픽처 버퍼(125, 325) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하고;
    상기 현재 픽처를 디코딩하며;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 325) 내의 픽처의 수를 결정하고;
    상기 수를 상기 비트스트림(10) 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125, 325) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하고;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되고, 상기 디코더(100, 300)는 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교, 상기 픽처를 출력 및 상기 픽처를 마크하도록 구성되는 것을 특징으로 하는 디코더.
  15. 제14항에 있어서,
    상기 비디오 시퀀스의 픽처를 나타내는 상기 비트스트림(10)을 수신하고, 상기 디코딩된 픽처 버퍼(325)를 포함하여 구성되는 접속된 메모리(320) 내에 상기 비트스트림(10)을 기억하도록 구성된 입력 유닛(310)과;
    상기 메모리(320)에 접속되고, 상기 비디오 시퀀스의 디코딩되는 상기 현재 픽처의 슬라이스 헤더를 파싱하도록 구성된 파싱 유닛(370)과;
    상기 파싱 유닛(370)에 접속되고, 상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 상기 기준 픽처 세트를 결정하도록 구성된 기준 픽처 세트 결정 유닛(380)과;
    상기 메모리(320)에 접속되고, 상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼(325) 내의 상기 모든 픽처를 기준용으로 사용되지 않는으로서 마크하도록 구성된 마킹 유닛(360)과;
    상기 메모리(320)에 접속되고, 상기 디코딩된 픽처 버퍼(325) 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하도록 구성되고, 상기 마킹 유닛(360)은 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된 출력 유닛(350)과;
    상기 메모리(320)에 접속되고, 상기 디코딩된 픽처 버퍼(325)로부터, 상기 디코딩된 픽처 버퍼(325) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 상기 소정의 픽처를 엠프티하도록 구성된 픽처 엠프티 유닛(390)과;
    상기 메모리(320)에 접속되고, 상기 현재 픽처를 디코딩하도록 구성된 디코딩 유닛(305)과;
    상기 메모리(320)에 접속되고, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(325) 내의 픽처의 상기 수를 결정하도록 구성된 수 결정 유닛(330)과;
    상기 수 결정 유닛(330)에 접속되고, 상기 수를 상기 비트스트림(10) 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 상기 값에 대해서 비교하도록 구성된 비교기(340)를 포함하여 구성되고,
    상기 출력 유닛(350)은, 또한, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(325) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력하도록 구성되며;
    상기 마킹 유닛(360)은, 또한, 상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되고, 상기 디코딩 유닛(305)이 상기 현재 픽처를 디코딩한 후에, 상기 수 결정 유닛(330)은 픽처의 상기 수를 결정하도록 구성되고, 상기 비교기(340)는 상기 수를 비교하도록 구성되며, 상기 출력 유닛(350)은 상기 픽처를 출력하도록 구성되고, 상기 마킹 유닛(360)은 상기 픽처를 마크하도록 구성되는 것을 특징으로 하는 디코더.
  16. 제14항에 있어서,
    프로세서(110)와;
    상기 디코딩된 픽처 버퍼(125)를 포함하여 구성되는 메모리(120)를 포함하여 구성되고, 상기 프로세서(110)는:
    상기 현재 픽처의 상기 슬라이스 헤더를 파싱하고;
    상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 상기 기준 픽처 세트를 결정하며;
    상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼(125) 내의 상기 모든 픽처를 기준용으로 사용되지 않는으로서 마크하고;
    상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하고, 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하며;
    상기 디코딩된 픽처 버퍼(125)로부터, 상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 상기 소정의 픽처를 엠프티하고;
    상기 현재 픽처를 디코딩하며;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125) 내의 픽처의 상기 수를 결정하고;
    상기 수를 상기 비트스트림(10) 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 상기 값에 대해서 비교하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력하고;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되고, 상기 프로세서(110)는, 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교, 상기 픽처를 출력 및 상기 픽처를 마크하도록 구성되는 것을 특징으로 하는 디코더.
  17. 제13항 또는 제16항에 있어서,
    상기 프로세서(110)는:
    상기 디코딩된 현재 픽처를 상기 디코딩된 픽처 버퍼(125) 내에 기억하고;
    상기 디코딩된 현재 픽처를 출력을 위해 필요한 또는 출력을 위해 필요하지 않는으로서 마크하도록 구성되는 것을 특징으로 하는 디코더.
  18. 제12항, 제13항, 제16항 또는 제17항 중 어느 한 항에 있어서,
    상기 프로세서(110)는:
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하고, HighestTid가 상기 디코더(100)에 의해 디코딩된 가장 높은 계층을 특정하며;
    상기 수가 상기 값 sps_max_num_reorder_pics[ HighestTid ]보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125) 내의 모든 픽처의 PicOrdderCntVal의 가장 작은 값을 갖는 상기 디코딩된 픽처 버퍼(125) 내의 픽처를 출력하며, PicOrdderCntVal이 픽처 순서 카운트 값을 나타내도록 구성되는 것을 특징으로 하는 디코더.
  19. 제12항, 제13항, 제16항, 제17항 또는 제18항 중 어느 한 항에 있어서,
    상기 비디오 시퀀스는 픽처의 다수의 계층을 포함하여 구성되는 멀티-계층 비디오 시퀀스이고, 상기 다수의 계층의 각각의 계층은 각각의 값을 규정하는 연관된 신택스 엘리먼트를 가지며, 상기 프로세서(110)는 상기 다수의 계층의 상기 디코더(100)에 의해 디코딩된 가장 높은 계층과 연관된 신택스 엘리먼트로부터 도출된 값을 선택하도록 구성되는 것을 특징으로 하는 디코더.
  20. 제12항, 제13항, 제16항, 제17항, 제18항 또는 제19항 중 어느 한 항에 있어서,
    상기 프로세서(110)는, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(125) 내의 상기 픽처의 가장 작은 픽처 순서 카운트 값을 갖는 픽처를 출력하도록 구성되는 것을 특징으로 하는 디코더.
  21. 제11항, 제12항, 제15항, 제16항, 제17항, 제18항, 제19항 또는 제20항 중 어느 한 항에 있어서,
    상기 프로세서(110)는 상기 비디오 시퀀스의 디코딩되는 다음 픽처의 슬라이스 헤더를 파싱하기 전에 상기 픽처를 출력하도록 구성되는 것을 특징으로 하는 디코더.
  22. 제10항 내지 제21항 중 어느 한 항에 있어서,
    상기 디코더(100, 200, 300, 400, 500)는 고효율 비디오 코딩, HEVC, 컴플라이언트 디코더(100, 200, 300, 400, 500)인 것을 특징으로 하는 디코더.
  23. 인코더(600, 700, 900)에 의해 수행된 방법으로서, 상기 방법은:
    현재 픽처가 디코딩되고 디코딩된 픽처 버퍼(625, 725) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 725) 내의 픽처의 수를 결정(S60)하는 단계와;
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교(S61)하는 단계로서, HighestTid가 비디오 시퀀스의 상기 인코더(600, 700, 900)에 의해 디코딩된 가장 높은 계층을 특정하는, 비교하는 단계와;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 725) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹(S62)하는 단계를 포함하여 구성되는 것을 특징으로 하는 인코더의 방법.
  24. 인코더(600, 800)에 의해 수행된 방법으로서, 상기 방법은:
    비디오 시퀀스의 현재 픽처에 대해서 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼(625, 825) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹(S70)하는 단계와;
    상기 디코딩된 픽처 버퍼(625, 825) 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹(S71)하는 단계와;
    상기 디코딩된 픽처 버퍼(625, 825)로부터, 상기 디코딩된 픽처 버퍼(625, 825) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티(S72)하는 단계와;
    상기 현재 픽처를 디코딩(S73)하는 단계와;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 825) 내의 픽처의 수를 결정(S74)하는 단계와;
    상기 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교(S75)하는 단계와;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 825) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹(S76)하는 단계로서, 픽처의 상기 수를 결정(S74)하는 단계, 상기 수를 비교(S75)하는 단계 및 상기 픽처를 마킹(S76)하는 단계가 상기 현재 픽처를 디코딩(S73)하는 단계 후에, 수행되는, 마킹하는 단계를 포함하여 구성되는 것을 특징으로 하는 인코더의 방법.
  25. 인코더(600, 700)로서:
    현재 픽처가 디코딩되고 디코딩된 픽처 버퍼(625, 725) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 725) 내의 픽처의 수를 결정하고;
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하고, HighestTid가 비디오 시퀀스의 상기 인코더(600, 700)에 의해 디코딩된 가장 높은 계층을 특정하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 725) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하는 것을 특징으로 하는 인코더.
  26. 제25항에 있어서,
    프로세서(610)와;
    상기 디코딩된 픽처 버퍼(625)를 포함하여 구성되는 메모리(620) 포함하여 구성되고, 상기 프로세서(610)는:
    상기 현재 픽처가 디코딩되고 상기 디코딩된 픽처 버퍼(625) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625) 내의 픽처의 상기 수를 결정하고;
    상기 수를 상기 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된상기 디코딩된 픽처 버퍼(625) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하는 것을 특징으로 하는 인코더.
  27. 제25항에 있어서,
    상기 디코딩된 픽처 버퍼(725)를 포함하여 구성되는 메모리(720)에 접속되고, 상기 비디오 시퀀스의 상기 현재 픽처가 디코딩되고 상기 디코딩된 픽처 버퍼(725) 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(725) 내의 픽처의 상기 수를 결정하도록 구성된 수 결정 유닛(730)과;
    상기 수 결정 유닛(730)에 접속되고, 상기 수를 상기 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하도록 구성된 비교기(540)와;
    상기 메모리(720)에 접속되고, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(725) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된 마킹 유닛(560)을 포함하여 구성되는 것을 특징으로 하는 인코더.
  28. 인코더(600, 800)로서:
    비디오 시퀀스의 현재 픽처에 대해서 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼(625, 825) 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마크하고;
    상기 디코딩된 픽처 버퍼(625, 825) 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하며;
    상기 디코딩된 픽처 버퍼(625, 825)로부터, 상기 디코딩된 픽처 버퍼(625, 825) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하고;
    상기 현재 픽처를 디코딩하며;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 825) 내의 픽처의 수를 결정하고;
    상기 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625, 825) 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되고, 상기 인코더(600, 800)는, 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교 및 상기 픽처의 마크를 수행하도록 구성되는 것을 특징으로 하는 인코더.
  29. 제28항에 있어서,
    프로세서(610)와;
    디코딩된 픽처 버퍼(625)를 포함하여 구성되는 메모리(620) 포함하여 구성되고, 상기 프로세서(610)는:
    상기 비디오 시퀀스의 상기 현재 픽처에 대한 상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼(625) 내의 상기 모든 픽처를 기준용으로 사용되지 않는으로서 마크하고;
    상기 디코딩된 픽처 버퍼(625) 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하며;
    상기 디코딩된 픽처 버퍼(625)로부터, 상기 디코딩된 픽처 버퍼(625) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 상기 소정의 픽처를 엠프티하고;
    상기 현재 픽처를 디코딩하며;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625) 내의 픽처의 상기 수를 결정하고;
    상기 수를 상기 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하며;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(625) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성되며, 상기 프로세서(610)는, 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정, 상기 수를 비교 및 상기 픽처를 마크하는 것을 특징으로 하는 인코더.
  30. 제28항에 있어서,
    상기 디코딩된 픽처 버퍼(825)를 포함하여 구성된 메모리(820)에 접속되고, i) 상기 비디오 시퀀스의 상기 현재 픽처에 대한 상기 기준 픽처 세트 내에 존재하지 않는 상기 디코딩된 픽처 버퍼(825) 내의 상기 모든 픽처를 기준용으로 사용되지 않는으로서 마크하고, ii) 상기 디코딩된 픽처 버퍼(825) 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마크하도록 구성된 마킹 유닛(860)과;
    상기 메모리(820)에 접속되고, 상기 디코딩된 픽처 버퍼(825)로부터, 상기 디코딩된 픽처 버퍼(825) 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 상기 소정의 픽처를 엠프티하도록 구성된 픽처 엠프티 유닛(890)과;
    상기 메모리(820)에 접속되고, 상기 현재 픽처를 디코딩하도록 구성된 디코딩 유닛(805)과;
    상기 메모리(820)에 접속되고, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(825) 내의 픽처의 상기 수를 결정하도록 구성된 수 결정 유닛(830)과;
    상기 수 결정 유닛(840)에 접속되고, 상기 수를 상기 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하도록 구성된 비교기(840)를 포함하여 구성되고, 상기 마킹 유닛(860)은, 상기 수가 상기 값보다 크면, 상기 픽처 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼(825) 내의 상기 픽처의, 출력 순서로 제1픽처인, 상기 픽처를 출력을 위해 필요하지 않는으로서 마크하며, 상기 디코딩 유닛(805)이 상기 현재 픽처를 디코딩한 후에, 상기 수 결정 유닛(830)은 픽처의 상기 수를 결정하도록 구성되고, 상기 비교기(840)는 상기 수를 비교하도록 구성되며, 상기 마킹 유닛(840)은 상기 픽처를 마크하도록 구성되는 것을 특징으로 하는 인코더.
  31. 제25항 내지 제30항 중 어느 한 항에 있어서,
    상기 인코더(600, 700, 800, 900, 1000)는 고효율 비디오 코딩, HEVC, 컴플라이언트 인코더(600, 700, 800, 900, 1000)인 것을 특징으로 하는 인코더.
  32. 모바일 단말(1100)로서,
    제10항 내지 제22항 중 어느 한 항에 따른 디코더(100, 200, 300, 400, 500) 및/또는 제25항 내지 제31항 중 어느 한 항에 따른 인코더(600, 700, 800, 900, 1000)를 포함하여 구성되는 것을 특징으로 하는 모바일 단말.
  33. 네트워크 노드(2)로서,
    제10항 내지 제22항 중 어느 한 항에 따른 디코더(100, 200, 300, 400, 500) 및/또는 제25항 내지 제31항 중 어느 한 항에 따른 인코더(600, 700, 800, 900, 1000)를 포함하여 구성되는 것을 특징으로 하는 네트워크 노드.
  34. 디코더(400)로서:
    비디오 시퀀스의 픽처를 나타내는 비트스트림(10)의 현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하기 위한 수 결정 모듈(410)과;
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하기 위한 비교 모듈(420)로서, HighestTid가 상기 비디오 시퀀스의 상기 디코더(400)에 의해 디코딩된 가장 높은 계층을 특정하는, 비교 모듈과;
    상기 수가 상기 값보다 크면,
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력하기 위한 출력 모듈(430)과;
    상기 수가 상기 값보다 크면, 상기 픽처를 출력을 위해 필요하지 않는으로서 마킹하기 위한 마킹 모듈(440)을 포함하여 구성되는 것을 특징으로 하는 디코더.
  35. 디코더(500)로서:
    비디오 시퀀스의 픽처를 나타내는 비트스트림(10)의 디코딩되는 현재 픽처의 슬라이스 헤더를 파싱하기 위한 파싱 모듈(510)과;
    상기 파싱된 슬라이스 헤더에 기반해서 상기 현재 픽처에 대한 기준 픽처 세트를 결정하기 위한 기준 픽처 세트 결정 모듈(520)과;
    상기 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하기 위한 마킹 모듈(530)과;
    상기 디코딩된 픽처 버퍼 내의 상기 픽처의 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력하기 위한 출력 모듈(540)로서, 상기 마킹 모듈(530)은 상기 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 더 마킹하는, 출력 모듈과;
    상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하기 위한 엠프티 모듈(550)과;
    상기 현재 픽처를 디코딩하기 위한 디코딩 모듈(560)과;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하기 위한 수 결정 모듈(560)과;
    상기 수를 상기 비트스트림(10) 내에 존재하는 적어도 하나의 신택스 엘리먼트로부터 도출된 값에 대해서 비교하기 위한 비교 모듈(570)을 포함하여 구성되고,
    상기 출력 모듈(540)은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 더 출력하고,
    상기 마킹 모듈(530)은, 상기 수가 상기 값보다 크면, 출력을 위해 필요하지 않는으로서 상기 픽처를 더 마킹하며, 상기 디코딩 모듈(560)이 상기 현재 픽처를 디코딩한 후에, 상기 수 결정 모듈(570)은 픽처의 상기 수를 결정하고, 상기 비교 모듈(580)은 상기 수를 비교하며, 상기 출력 모듈(540)은 상기 픽처를 출력하고, 상기 마킹 모듈(530)은 상기 픽처를 마킹하는 것을 특징으로 하는 디코더.
  36. 인코더(900)로서:
    현재 픽처가 디코딩되고 디코딩된 픽처 버퍼 내에 기억된 후에, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하는 수 결정 모듈(910)과;
    상기 수를 값 sps_max_num_reorder_pics[ HighestTid ]에 대해서 비교하는 비교 모듈(920)로서, HighestTid가 비디오 시퀀스의 상기 인코더(900)에 의해 디코딩된 가장 높은 계층을 특정하는, 비교 모듈과;
    상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 마킹 모듈(930)을 포함하여 구성되는 것을 특징으로 하는 디코더.
  37. 인코더(1000)로서:
    비디오 시퀀스의 현재 픽처에 대해서 기준 픽처 세트 내에 존재하지 않는 디코딩된 픽처 버퍼 내의 모든 픽처를 기준용으로 사용되지 않는으로서 마킹하고, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력을 위해 필요한으로서 마크된, 제로, 하나의 또는 많은 픽처를 출력을 위해 필요하지 않는으로서 마킹하는 마킹 모듈(1010)과;
    상기 디코딩된 픽처 버퍼로부터, 상기 디코딩된 픽처 버퍼 내의 상기 픽처의 기준용으로 사용되지 않는 및 출력을 위해 필요하지 않는으로서 마크된 소정의 픽처를 엠프티하는 엠프티 모듈(1020)과;
    상기 현재 픽처를 디코딩하는 디코딩 모듈(1030)과;
    출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 픽처의 수를 결정하는 수 결정 모듈(1040)과;
    상기 수를 적어도 하나의 규정된 신택스 엘리먼트로부터 도출된 값에 대해서 비교하는 비교 모듈(1050)을 포함하여 구성되고, 상기 마킹 모듈(1010)은, 상기 수가 상기 값보다 크면, 출력을 위해 필요한으로서 마크된 상기 디코딩된 픽처 버퍼 내의 상기 픽처의, 출력 순서로 제1픽처인, 픽처를 출력을 위해 필요하지 않는으로서 더 마킹하고, 상기 디코딩 모듈(1030)이 상기 현재 픽처를 디코딩한 후에, 픽처의 상기 수를 결정하는 상기 수 결정 모듈(1040), 상기 수를 비교하는 상기 비교 모듈(1050) 및 상기 픽처를 마킹하는 상기 마킹 모듈(1010)을 수행하는 것을 특징으로 하는 인코더.
KR1020157010551A 2012-09-28 2013-09-26 비디오 시퀀스의 픽처의 디코딩 및 인코딩 KR101561012B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261706869P 2012-09-28 2012-09-28
US61/706,869 2012-09-28
PCT/EP2013/070093 WO2014049066A1 (en) 2012-09-28 2013-09-26 Decoding and encoding of pictures of a video sequence

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020157011085A Division KR101729425B1 (ko) 2012-09-28 2013-09-26 비디오 시퀀스의 픽처의 디코딩 및 인코딩

Publications (2)

Publication Number Publication Date
KR20150050597A true KR20150050597A (ko) 2015-05-08
KR101561012B1 KR101561012B1 (ko) 2015-10-15

Family

ID=49261548

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157010551A KR101561012B1 (ko) 2012-09-28 2013-09-26 비디오 시퀀스의 픽처의 디코딩 및 인코딩
KR1020157011085A KR101729425B1 (ko) 2012-09-28 2013-09-26 비디오 시퀀스의 픽처의 디코딩 및 인코딩

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157011085A KR101729425B1 (ko) 2012-09-28 2013-09-26 비디오 시퀀스의 픽처의 디코딩 및 인코딩

Country Status (23)

Country Link
US (3) US9407932B2 (ko)
EP (2) EP3076673B1 (ko)
JP (2) JP5820551B1 (ko)
KR (2) KR101561012B1 (ko)
CN (2) CN105025303B (ko)
AP (2) AP3943A (ko)
AU (1) AU2013322607B2 (ko)
BR (1) BR112015006535B1 (ko)
CA (1) CA2886688C (ko)
CL (3) CL2015000758A1 (ko)
DK (2) DK3076673T3 (ko)
ES (2) ES2627741T3 (ko)
HK (1) HK1206896A1 (ko)
IL (2) IL237488A (ko)
IN (2) IN2015DN02716A (ko)
MX (2) MX338311B (ko)
MY (1) MY155923A (ko)
PH (1) PH12015500413B1 (ko)
PL (1) PL2901680T3 (ko)
RU (3) RU2623896C2 (ko)
SG (2) SG10201502830WA (ko)
WO (1) WO2014049066A1 (ko)
ZA (2) ZA201501654B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220063271A (ko) * 2019-09-24 2022-05-17 후아웨이 테크놀러지 컴퍼니 리미티드 다층 비디오 비트스트림에 대한 dpb 파라미터의 시그널링 기법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AP3943A (en) 2012-09-28 2016-12-16 Ericsson Telefon Ab L M Decoding and encoding of pictures of a video sequence
US9942545B2 (en) * 2013-01-03 2018-04-10 Texas Instruments Incorporated Methods and apparatus for indicating picture buffer size for coded scalable video
US10264272B2 (en) * 2013-10-15 2019-04-16 Qualcomm Incorporated Device and method for scalable coding of video information
US9712843B2 (en) * 2013-10-23 2017-07-18 Qualcomm Incorporated Multi-layer video file format designs
US20150195564A1 (en) * 2014-01-03 2015-07-09 Qualcomm Incorporated Method for coding a reference picture set (rps) in multi-layer coding
US9654794B2 (en) * 2014-01-03 2017-05-16 Qualcomm Incorporated Methods for coding an inter-layer reference picture set (RPS) and coding end of bitstream (EOB) network access layer (NAL) units in multi-layer coding
CN104053002A (zh) * 2014-06-05 2014-09-17 乐视网信息技术(北京)股份有限公司 视频解码方法和视频解码装置
US10116576B2 (en) * 2015-10-19 2018-10-30 Samsung Electronics Co., Ltd. Methods and apparatus for random access of HEVC bitstream for MMT
US10575013B2 (en) * 2015-10-19 2020-02-25 Mediatek Inc. Method and apparatus for decoded picture buffer management in video coding system using intra block copy
US10516891B2 (en) * 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
WO2017154563A1 (ja) * 2016-03-07 2017-09-14 ソニー株式会社 符号化装置および符号化方法
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
CN107592543B (zh) * 2016-07-06 2019-12-24 北京大学 视频解码处理方法及装置
TWI690202B (zh) * 2018-12-28 2020-04-01 瑞昱半導體股份有限公司 用於控制媒體播放器中之串流緩衝器的方法與相關的緩衝裝置
CN114788291A (zh) 2019-11-05 2022-07-22 Lg 电子株式会社 用于处理图像信息以进行图像/视频编译的方法和装置
US20230171419A1 (en) * 2020-05-18 2023-06-01 Lg Electronics Inc. Image or video coding on basis of information related to picture output
CN115917978A (zh) 2020-06-08 2023-04-04 字节跳动有限公司 对解码图片缓冲器的约束
CN112055231B (zh) * 2020-08-31 2021-10-15 浙江大华技术股份有限公司 视频解码方法、解码装置、解码器及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000013790A (ja) 1998-06-19 2000-01-14 Sony Corp 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体
RU2374787C2 (ru) * 2005-03-10 2009-11-27 Квэлкомм Инкорпорейтед Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
EP1869896B1 (en) 2005-03-10 2010-01-20 QUALCOMM Incorporated A decoder architecture for optimized error management in streaming multimedia
KR101158439B1 (ko) 2005-07-08 2012-07-13 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
JP2009510807A (ja) * 2005-07-08 2009-03-12 エルジー エレクトロニクス インコーポレイティド ビデオ信号のコーディング情報を圧縮/展開するためにコーディング情報モデリング方法
WO2007008018A1 (en) 2005-07-08 2007-01-18 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
US7656410B2 (en) 2006-03-31 2010-02-02 Intel Corporation Image buffering techniques
US7991236B2 (en) 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
JP2010252151A (ja) * 2009-04-17 2010-11-04 Renesas Electronics Corp 再生装置、及び同期再生方法
US20110235709A1 (en) 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
RS64742B1 (sr) * 2011-06-30 2023-11-30 Microsoft Technology Licensing Llc Smanjenje kašnjenja kod video kodiranja i dekodiranja
PT3229474T (pt) 2011-06-30 2019-02-04 Ericsson Telefon Ab L M Sinalização de imagem de referência
US9241158B2 (en) 2012-09-24 2016-01-19 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
AP3943A (en) * 2012-09-28 2016-12-16 Ericsson Telefon Ab L M Decoding and encoding of pictures of a video sequence

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220063271A (ko) * 2019-09-24 2022-05-17 후아웨이 테크놀러지 컴퍼니 리미티드 다층 비디오 비트스트림에 대한 dpb 파라미터의 시그널링 기법

Also Published As

Publication number Publication date
EP2901680B1 (en) 2016-07-06
RU2015115939A (ru) 2016-11-20
PL2901680T3 (pl) 2017-01-31
US9407932B2 (en) 2016-08-02
ES2627741T3 (es) 2017-07-31
CA2886688C (en) 2020-01-07
SG11201501396RA (en) 2015-03-30
AP2015008469A0 (en) 2015-05-31
US9848203B2 (en) 2017-12-19
ZA201501654B (en) 2016-02-24
RU2607979C2 (ru) 2017-01-11
IN2015DN01879A (ko) 2015-08-07
DK2901680T3 (en) 2016-09-19
EP3076673B1 (en) 2017-03-01
AU2013322607B2 (en) 2015-06-18
DK3076673T3 (en) 2017-06-06
MX351197B (es) 2017-10-05
CN105025303B (zh) 2018-05-29
EP3076673A1 (en) 2016-10-05
CL2015000758A1 (es) 2015-11-27
CN105025303A (zh) 2015-11-04
ES2596268T3 (es) 2017-01-05
PH12015500413A1 (en) 2015-04-20
KR101561012B1 (ko) 2015-10-15
BR112015006535B1 (pt) 2022-11-29
IL237488A (en) 2016-06-30
AU2013322607A1 (en) 2015-03-26
CL2015000952A1 (es) 2015-12-18
US9706225B2 (en) 2017-07-11
JP5820551B1 (ja) 2015-11-24
JP2015534384A (ja) 2015-11-26
JP2015216638A (ja) 2015-12-03
IN2015DN02716A (ko) 2015-09-04
MX338311B (es) 2016-04-12
CN104685889A (zh) 2015-06-03
US20140161181A1 (en) 2014-06-12
ZA201502295B (en) 2017-08-30
AP2015008308A0 (en) 2015-03-31
KR20150054009A (ko) 2015-05-19
KR101729425B1 (ko) 2017-04-21
IL237488A0 (en) 2015-04-30
CA2886688A1 (en) 2014-04-03
AP3943A (en) 2016-12-16
EP2901680A1 (en) 2015-08-05
PH12015500413B1 (en) 2015-04-20
US20150319457A1 (en) 2015-11-05
MY155923A (en) 2015-12-16
SG10201502830WA (en) 2015-05-28
RU2016140556A (ru) 2018-12-14
RU2015121357A (ru) 2015-12-10
HK1206896A1 (zh) 2016-01-15
US20170264916A1 (en) 2017-09-14
JP6058736B2 (ja) 2017-01-11
IL238190B (en) 2018-01-31
CL2019000428A1 (es) 2019-06-07
BR112015006535A2 (pt) 2017-07-04
MX2015003724A (es) 2015-06-24
CN104685889B (zh) 2016-08-24
RU2623896C2 (ru) 2017-06-29
WO2014049066A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
KR101561012B1 (ko) 비디오 시퀀스의 픽처의 디코딩 및 인코딩
US11653011B2 (en) Decoded picture buffer removal
US10986357B2 (en) Signaling change in output layer sets
US10284862B2 (en) Signaling indications and constraints
US20170134742A1 (en) Slice type and decoder conformance
US20150103895A1 (en) Electronic devices for signaling multiple initial buffering parameters
AU2015224479B2 (en) Decoding and encoding of pictures of a video sequence

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 5