KR102173508B1 - 픽처 블록의 코딩 및 디코딩 방법, 대응하는 디바이스 및 데이터 스트림 - Google Patents
픽처 블록의 코딩 및 디코딩 방법, 대응하는 디바이스 및 데이터 스트림 Download PDFInfo
- Publication number
- KR102173508B1 KR102173508B1 KR1020157022436A KR20157022436A KR102173508B1 KR 102173508 B1 KR102173508 B1 KR 102173508B1 KR 1020157022436 A KR1020157022436 A KR 1020157022436A KR 20157022436 A KR20157022436 A KR 20157022436A KR 102173508 B1 KR102173508 B1 KR 102173508B1
- Authority
- KR
- South Korea
- Prior art keywords
- reference picture
- picture
- reconstructed
- information
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000010410 layer Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 9
- 239000002356 single layer Substances 0.000 description 9
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 101001006871 Homo sapiens Kelch-like protein 25 Proteins 0.000 description 7
- 102100027800 Kelch-like protein 25 Human genes 0.000 description 7
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 6
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 6
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 6
- 102100035087 Ectoderm-neural cortex protein 1 Human genes 0.000 description 6
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 6
- 101000877456 Homo sapiens Ectoderm-neural cortex protein 1 Proteins 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 101001001462 Homo sapiens Importin subunit alpha-5 Proteins 0.000 description 4
- 102100035692 Importin subunit alpha-1 Human genes 0.000 description 4
- 101100206899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) TIR2 gene Proteins 0.000 description 4
- 101100534242 Schizosaccharomyces pombe (strain 972 / ATCC 24843) srp2 gene Proteins 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 240000002791 Brassica napus Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2355—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
- H04N21/2358—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
픽처 블록을 디코딩하기 위한 방법이 개시되어 있다. 본 디코딩 방법은 - 적어도 하나의 스트림(S_diff)을 디코딩된 데이터와 디코더 픽처 버퍼에서 재구성된 참조 픽처를 식별하기 위한 하나의 정보로 디코딩하는 단계(10); - 적어도 식별된 재구성된 참조 픽처와 디코딩된 데이터로부터 특수 참조 픽처를 재구성하는 단계(12); - 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처를 특수 참조 픽처로 대체하는 단계(14); 및 - 적어도 특수 참조 픽처로부터 픽처 블록을 재구성하는 단계(16)를 포함한다.
Description
특수한 재구성된 참조 픽처로부터 픽처 블록(picture block)을 디코딩하는 방법이 개시되어 있다. 대응하는 코딩 방법과 대응하는 인코딩 및 디코딩 디바이스가 추가로 개시되어 있다.
비디오 스트리밍 동안, 이용가능한 대역폭이 시간에 따라 변할 수 있다. 결과적으로, 혼잡을 피하기 위해 스트리밍 애플리케이션의 발신 비트 레이트(outgoing bit rate)가 실시간으로 이용가능한 대역폭에 적합(fit)하도록 조절될 필요가 있다. 실시간 비트 레이트 조절을 가능하게 하는 하나의 방식은 실시간 인코더를 사용하는 것이지만, 이는 클라이언트마다 하나의 인코딩 시스템을 할당하는 것을 필요로 하여, 예를 들어, VOD 서비스에서와 같이 수많은 클라이언트들이 있는 경우에 용납되지 않을 수 있다. 실시간 비트 레이트 조절을 가능하게 하는 다른 방식은 스케일러블 비디오 코딩(scalable video coding)을 사용하는 것이다. 스케일러블 코딩에서, 비디오 소스는 몇 개의 계층으로 인코딩된다. 전송 동안 발신 비트 레이트를 조절하기 위해, 서버가 송신될 계층들을 선택하거나["푸시(push)" 모드], 디코더가 송신될 계층들을 요구한다["풀(pull)" 모드]. 이 방법은 이종 채널(heterogeneous channel)을 통한 스트리밍에는 적당하지만, 스케일러블 비디오 코딩은 단일 계층 비디오 코딩에 비해 전체 압축 효율을 열화시키고 인코더 및 디코더 둘 모두의 계산 복잡도를 증가시킨다. 비트 레이트 조절을 실현하는 간단한 방법은 동일한 비디오 시퀀스의 다수의 버전들을 인코딩하는 것이다. 이들 버전은 상이한 해상도 및/또는 품질 수준을 가지며 따라서 상이한 비트 레이트를 가진다. 스트리밍 동안, 발신 비트 레이트를 조절할 필요가 있을 때, 도 1에 도시된 바와 같이, 전송될 스트림이 대역폭 요구사항 또는 사용자의 능력에 적합하도록 하나의 버전으로부터 다른 버전으로 동적으로 전환될 수 있다. 이 해결 방안은 "스트림 전환(stream switching)"이라고 알려져 있다. 그러나, 인터 코딩된 픽처(inter-coded picture)(P 또는 B 픽처)에서 스트림들 간에 직접 전환하는 것은 재구성된 참조 픽처들의 불일치(mismatch)를 야기할 수 있고, 그 결과 픽처 재구성이 부정확하게 된다. 재구성된 비디오의 품질이 상당히 열화될 수 있다. 문제를 해결하는 하나의 방법은 비트 스트림(전형적으로 I 픽처 또는 IDR 픽처 또는 CRA 픽처)에서 RAP(Random Access Point)를 사용하는 것이다. IDR은 "Instantaneous Decoder Refresh"의 두문자어이고, CRA는 "Clean Random Access"의 두문자어이다. 이들 RAP에서만 전환이 일어날 수 있기 때문에, 즉각적인 스트림 전환을 실현하기 위해서는 비트 스트림에서 RAP가 빈번히 할당될 필요가 있다. 그러나, 이러한 I/IDR 픽처를 인코딩하는 것은 상당한 비트 레이트 오버헤드를 유입시킨다. 또한, RAP 이전에 위치된 재구성된 참조 픽처를 사용하는 RAP 이후의 픽처는, 도 2에 도시된 바와 같이, 인코딩에서 사용되는 것(들)과 상이한 재구성된 참조 픽처(들)를 사용하기 때문에, 스킵되거나 정확하게 디코딩되지 않는다. 도 2에서, Ic가 재구성된 참조 픽처 I1 및 I2로부터 재구성되는 반면, Ic는 재구성된 참조 픽처 i1 및 i2로부터 인코딩되었다.
AVC에서, 다른 스트림으로부터 픽처를 동일하게 재구성하는 것을 가능하게 하고 따라서 스트림 전환을 용이하게 하는 특수 픽처 유형(SI/SP)이 설계되었다. 도 3에 도시된 바와 같이, 비디오 픽처가 이와 같이 전환 지점에서 인트라 코딩된 픽처들(intra-coded pictures) 대신에 SP 픽처들로 인코딩된다. SP 픽처의 코딩 효율은 인트라 코딩된 픽처보다 더 높지만, 일반 P 픽처(normal P picture)보다 훨씬 덜 효율적이다. 따라서, 많은 전환 지점들이 할당되는 경우, 전체 코딩 효율이 여전히 열화된다.
proc. of SPIE vol.5909 (2005)에서 발표된 "Efficient bit stream switching of H.264 coded video"라는 제목의 Zhou 등의 문헌에서, 그다지 비트 레이트 오버헤드 없이 언제라도 전환하는 것을 가능하게 하는 해결 방안이 공개되었다. 이 해결 방안은 IPPP GOP 구조에 대해서만 제공된다. 상이한 비트 레이트로 되어 있는 동일한 비디오 시퀀스의 다수의 버전들에 부가하여, 도 4에 도시된 바와 같이, 전환이 일어나는 현재 픽처의 재구성된 참조 픽처에 대해 DIFF 픽처가 인코딩된다. DIFF 픽처는 현재 픽처의 재구성된 참조 픽처와 다른 스트림에서의 시기적절하게 대응하는(timely corresponding) 픽처의 차분이다. 차분 픽처가 불일치를 보상하기 위해 디코더로 전송된다. 상기 문헌의 5 페이지에 언급된 바와 같이 전환이 일어날 때에만 DIFF 픽처가 전송되기 때문에, 상기 방식에 의해 유입되는 비트 레이트 오버헤드가 작다. 다른 한편으로, 이 해결 방안은 단일의 재구성된 참조 픽처로부터 예측된 P-픽처에 대해서만 효과가 있다. 또한, 이 해결 방안은 인코딩 순서와 디스플레이 순서가 동일할 것을 요구한다.
픽처 블록을 디코딩하기 위한 방법이 개시되어 있다. 본 디코딩 방법은
- 적어도 하나의 스트림 S_diff를 디코딩된 데이터와 디코더 픽처 버퍼에서 재구성된 참조 픽처를 식별하기 위한 하나의 정보로 디코딩하는 단계;
- 적어도 식별된 재구성된 참조 픽처와 디코딩된 데이터로부터 특수 참조 픽처(special reference picture)를 재구성하는 단계;
- 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처를 특수 참조 픽처로 대체하는 단계; 및
- 적어도 특수 참조 픽처로부터 픽처 블록을 재구성하는 단계를 포함한다.
구체적인 특징에 따르면, 디코더 픽처 버퍼에서 대체되는 하나의 재구성된 참조 픽처는 식별된 재구성된 참조 픽처이다.
유익하게도, 본 디코딩 방법은 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처가 특수 참조 픽처로 대체되는 순간을 나타내는 정보를 디코딩하는 단계를 더 포함한다.
본 발명의 다른 양태에 따르면, 본 디코딩 방법은 특수 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 디코딩하는 단계를 더 포함한다.
구체적인 특징에 따르면, 식별된 재구성된 참조 픽처는 계층화된 스트림의 기본 계층(base layer)으로부터 디코딩된다.
유익하게도, 디코딩된 데이터 및 디코더 픽처 버퍼에서 재구성된 참조 픽처를 식별해주는 정보는 계층화된 스트림의 향상 계층(enhancement layer)으로부터 디코딩된다.
픽처 블록을 인코딩하기 위한 방법이 또한 개시되어 있다. 본 인코딩 방법은
- 적어도 하나의 재구성된 참조 픽처로부터 픽처 블록을 인코딩하는 단계; 및
- 다른 재구성된 참조 픽처 및 디코더 픽처 버퍼에서 다른 재구성된 참조 픽처를 식별하기 위한 정보로부터 적어도 하나의 재구성된 참조 픽처를 특수 참조 픽처로서 인코딩하는 단계를 포함하고, 특수 참조 픽처는, 재구성될 때, 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처를 대체한다.
구체적인 특징에 따르면, 디코더 픽처 버퍼에서 대체되는 하나의 재구성된 참조 픽처는 식별된 다른 재구성된 참조 픽처이다.
유익하게도, 본 인코딩 방법은 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처가 특수 참조 픽처로 대체되는 순간을 나타내는 정보를 인코딩하는 단계를 더 포함한다.
본 발명의 다른 양태에 따르면, 본 인코딩 방법은 특수 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 인코딩하는 단계를 더 포함한다.
구체적인 특징에 따르면, 식별된 재구성된 참조 픽처는 계층화된 스트림의 기본 계층에 인코딩된다.
유익하게도, 적어도 하나의 재구성된 참조 픽처 및 디코더 픽처 버퍼에서 다른 재구성된 참조 픽처를 식별하기 위한 정보는 계층화된 스트림의 향상 계층에 인코딩된다.
픽처 블록을 디코딩하기 위한 디코딩 디바이스가 추가로 개시되어 있다. 본 디코딩 디바이스는
- 적어도 하나의 스트림 S_diff를 디코딩된 데이터와 디코더 픽처 버퍼에서 재구성된 참조 픽처를 식별하기 위한 하나의 정보로 디코딩하는 수단;
- 적어도 식별된 재구성된 참조 픽처와 디코딩된 데이터로부터 특수 참조 픽처를 재구성하는 수단;
- 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처를 특수 참조 픽처로 대체하는 수단; 및
- 적어도 특수 참조 픽처로부터 픽처 블록을 재구성하는 수단을 포함한다.
디코딩 디바이스는 디코딩 방법의 단계들을 실행하도록 구성되어 있다.
픽처 블록을 인코딩하기 위한 코딩 디바이스가 개시되어 있다. 본 코딩 디바이스는
- 적어도 하나의 재구성된 참조 픽처로부터 픽처 블록을 인코딩하는 수단; 및
- 다른 재구성된 참조 픽처 및 디코더 픽처 버퍼에서 다른 재구성된 참조 픽처를 식별하기 위한 정보로부터 적어도 하나의 재구성된 참조 픽처를 특수 참조 픽처로서 인코딩하는 수단을 포함하고, 특수 참조 픽처는, 재구성될 때, 디코더 픽처 버퍼에서 하나의 재구성된 참조 픽처를 대체한다.
코딩 디바이스는 인코딩의 단계들을 실행하도록 구성되어 있다.
마지막으로, 디코더 픽처 버퍼에서 재구성된 참조 픽처를 식별하기 위한 하나의 정보 및 식별된 재구성된 참조 픽처로부터 특수 참조 픽처의 재구성을 가능하게 하는 데이터를 인코딩하여 포함하는 데이터 스트림 - 특수 참조 픽처는 디코더 픽처 버퍼에서 재구성된 참조 픽처를 대체함 - 이 개시되어 있다.
본 발명의 다른 특징들 및 장점들이 그의 실시예들 중 일부에 대한 이하의 설명에 나올 것이고, 이 설명은 도면과 관련하여 기술되어 있다.
도 1 및 도 2는 스트림 전환의 일반 원리들을 나타낸 도면이다.
도 3은 종래 기술에 따른 SI/SP 픽처를 사용하는 스트림 전환의 원리들을 나타낸 도면이다.
도 4는 종래 기술에 따른 DIFF 픽처를 사용하는 스트림 전환의 원리들을 나타낸 도면이다.
도 5는 본 발명에 따른 디코딩 방법의 플로우차트를 나타낸 도면이다.
도 6은 본 발명에 따른 인코딩 방법의 플로우차트를 나타낸 도면이다.
도 7은 본 발명에 따른 단일 계층(mono-layer) 비디오 디코더를 나타낸 도면이다.
도 8은 본 발명에 따른 단일 계층 비디오 인코더를 나타낸 도면이다.
도 9는 본 발명에 따른 SRP 픽처를 사용하는 스트림 전환의 원리들을 나타낸 도면이다.
도 10은 본 발명에 따른 디코딩 방법의 추가의 실시예를 나타낸 도면이다.
도 11은 본 발명에 따른 다중 계층(multi-layer) 비디오 디코더를 나타낸 도면이다.
도 12는 본 발명에 따른 다중 계층 비디오 인코더를 나타낸 도면이다.
도 13은 본 발명에 따른 다중 계층화된 스트림을 나타낸 도면이다.
도 1 및 도 2는 스트림 전환의 일반 원리들을 나타낸 도면이다.
도 3은 종래 기술에 따른 SI/SP 픽처를 사용하는 스트림 전환의 원리들을 나타낸 도면이다.
도 4는 종래 기술에 따른 DIFF 픽처를 사용하는 스트림 전환의 원리들을 나타낸 도면이다.
도 5는 본 발명에 따른 디코딩 방법의 플로우차트를 나타낸 도면이다.
도 6은 본 발명에 따른 인코딩 방법의 플로우차트를 나타낸 도면이다.
도 7은 본 발명에 따른 단일 계층(mono-layer) 비디오 디코더를 나타낸 도면이다.
도 8은 본 발명에 따른 단일 계층 비디오 인코더를 나타낸 도면이다.
도 9는 본 발명에 따른 SRP 픽처를 사용하는 스트림 전환의 원리들을 나타낸 도면이다.
도 10은 본 발명에 따른 디코딩 방법의 추가의 실시예를 나타낸 도면이다.
도 11은 본 발명에 따른 다중 계층(multi-layer) 비디오 디코더를 나타낸 도면이다.
도 12는 본 발명에 따른 다중 계층 비디오 인코더를 나타낸 도면이다.
도 13은 본 발명에 따른 다중 계층화된 스트림을 나타낸 도면이다.
본 발명은 픽셀들의 픽처 블록을 디코딩하는 방법 및 이러한 픽처 블록을 코딩하는 방법에 관한 것이다. 픽처 블록은 픽처들의 시퀀스의 픽처에 속한다. 각각의 픽처는 각각이 적어도 하나의 픽처 데이터 항목(item of picture data)과 연관되어 있는 픽셀들 또는 픽처 점(picture point)들을 포함한다. 픽처 데이터 항목은, 예를 들어, 루미넌스 데이터 항목(item of luminance data) 또는 크로미넌스 데이터 항목(item of chrominance data)이다. 이하에서, 코딩 방법 및 디코딩 방법이 픽처 블록을 참조하여 기술된다. 이들 방법이 하나 이상의 픽처들의 코딩 또는 디코딩을 위해 픽처의 몇 개의 픽처 블록들에 그리고 시퀀스의 몇 개의 픽처들에 적용될 수 있다는 것은 명백하다. 픽처 블록은 임의의 형태의 픽셀 집합이다. 이는 정사각형이나 직사각형일 수 있다. 그러나, 본 발명이 이러한 형태들로 제한되지 않는다. 이하의 섹션에서, 워드 블록(word block)이 픽처 블록에 사용된다. HEVC에서, 블록은 코딩 단위(Coding Unit, CU)를 지칭한다.
"예측자(predictor)"라는 용어는 다른 데이터를 예측하는 데 사용되는 데이터를 나타낸다. 예측자는 픽처 블록을 예측하는 데 사용된다. 예측자 또는 예측 블록은 그가 예측하는 블록이 속하는 픽처와 동일한 픽처의 하나의 또는 몇 개의 재구성된 참조 샘플(들)로부터[공간 예측(spatial prediction) 또는 픽처내 예측(intra-picture prediction)] 또는 재구성된 참조 픽처들의 하나의 참조 블록[단방향 예측(mono-directional prediction)] 또는 몇 개의 참조 블록들[양방향 예측(bi-directional prediction 또는 bi-prediction)]로부터[시간 예측(temporal prediction) 또는 픽처간 예측(inter-picture prediction)] 획득된다. 참조 블록은 재구성된 참조 픽처에서 움직임 벡터에 의해 식별된다. 예측은 또한 일루미네이션 변동 모델(illumination variation model)을 고려하기 위해 가중될 수 있다(가중 예측(weighted prediction)이라고도 함).
"잔차"라는 용어는 소스 데이터로부터 예측자를 감산한 후에 획득되는 데이터를 의미한다.
"재구성"이라는 용어는 잔차와 예측자를 병합한 후에 획득되는 데이터(예컨대, 픽셀, 블록)를 나타낸다. 병합은 일반적으로 예측자와 잔차의 합산이다. 그러나, 병합이 더 일반적이고, 특히 재구성된 샘플의 부가의 포스트 필터링(post filtering) 단계 및/또는 재구성된 샘플에 오프셋을 가산하는 부가의 단계를 포함한다. 참조 픽처가 재구성될 때, 그 참조 픽처는 새로 재구성된 참조 픽처로서 DPB("Decoder Picture Buffer"의 두문자어)에 저장된다.
픽처의 디코딩과 관련하여, "재구성" 및 "디코딩"이라는 용어는 때때로 동의어로서 사용된다. 따라서, "재구성된 블록"은 "디코딩된 블록"이라는 용어로도 지칭된다.
코딩이라는 용어는 가장 넒은 의미로 해석되어야 한다. 코딩은 가능하게는 변환을 적용하는 것 및/또는 데이터를 양자화하는 것을 포함한다. 이는 또한 엔트로피 코딩만을 나타낼 수 있다. DCT("Discrete Cosine Transform")는 이러한 변환의 일례이다. 동일한 방식으로, 디코딩이라는 용어는 가능하게는, 엔트로피 디코딩에 부가하여, 변환 및/또는 역양자화를 적용하는 것을 포함한다. 디코더측에서 적용되는 변환은 인코더측에서 적용된 변환의 역변환이다.
스트림은 코딩된 픽처들의 표현을 형성하는 비트들 및 하나 이상의 코딩된 비디오 시퀀스들을 형성하는 연관된 데이터의 시퀀스이다. 스트림은 NAL 단위 스트림 또는 바이트 스트림 중 어느 하나를 지칭하는 데 사용되는 총칭적 용어이다.
NAL("Network Abstraction Layer"의 두문자어) 단위는 후속하는 데이터의 유형의 표시 및 그 데이터를 포함하는 바이트들을 포함하는 구문 구조(syntax structure)이다. 다양한 통신 채널 또는 저장 매체를 통해 전달하는 데 적절한 방식으로 그 데이터를 포맷화(format)하고 헤더 정보를 제공하기 위해 NAL이 지정된다. 모든 데이터는 NAL 단위로 포함되고, 각각의 NAL 단위는 정수개의 바이트를 포함한다. NAL 단위는 패킷 지향성 시스템(packet-oriented system) 및 스트림 시스템 둘 모두에서 사용하기 위한 일반 포맷(generic format)을 지정한다. 패킷 지향성 전송 및 바이트 스트림 둘 모두에 대한 NAL 단위의 포맷은, 바이트 스트림 포맷에서 각각의 NAL 단위에 시작 코드 프리픽스(start code prefix) 및 추가 패딩 바이트(padding byte)가 선행될 수 있는 것을 제외하고는, 동일하다.
AU("Access Unit"의 두문자어)는, 지정된 분류 규칙에 따라 서로 연관되어 있고, 디코딩 순서에서 연속적이며, 정확히 하나의 코딩된 픽처를 포함하는 NAL 단위들의 집합이다. 액세스 단위의 디코딩의 결과는 항상 디코딩된 픽처이다.
도 5 및 도 6에서, 표현된 상자들은 순전히 기능 엔티티이고, 물리적 분리된 엔티티에 반드시 대응하는 것은 아니다. 통상의 기술자가 알 것인 바와 같이, 본 원리들의 양태들은 시스템, 방법 또는 컴퓨터 판독가능 매체로서 구현될 수 있다. 그에 따라, 본 원리들의 양태들은, 전적으로 하드웨어인 실시예, 전적으로 소프트웨어인 실시예(펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함함), 또는 소프트웨어 양태와 하드웨어 양태를 조합한 실시예(이들 모두가 일반적으로 본 명세서에서 "회로", "모듈", 또는 "시스템"으로서 지칭될 수 있음)의 형태를 취할 수 있다. 게다가, 본 원리들의 양태들은 컴퓨터 판독가능 저장 매체의 형태를 취할 수 있다. 하나 이상의 컴퓨터 판독가능 저장 매체(들)의 임의의 조합이 이용될 수 있다.
도면에서의 플로우차트 및/또는 블록도는 본 발명의 다양한 실시예들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현들의 구성, 동작 및 기능을 예시하고 있다. 이와 관련하여, 플로우차트 또는 블록도에서의 각각의 블록은 지정된 논리 기능(들)을 구현하는 하나 이상의 실행가능 명령어들을 포함하는 코드의 모듈, 세그먼트, 또는 일부분을 나타낼 수 있다. 또한 유의할 점은, 일부 대안의 구현들에서, 블록에 표시된 기능들이 도면에 표시된 순서와 다르게 행해질 수 있다는 것이다. 예를 들어, 관여된 기능에 따라, 연속하여 도시된 2개의 블록이 사실상 실질적으로 동시에 실행될 수 있거나, 블록들이 때때로 정반대 순서로 실행될 수 있거나, 블록들이 대안의 순서로 실행될 수 있다. 또한 유의할 점은, 블록도 및/또는 플로우차트 예시의 각각의 블록, 및 블록도 및/또는 플로우차트 예시에서의 블록들의 조합들이 지정된 기능들 또는 동작들을 수행하는 특수 목적 하드웨어 기반 시스템들 또는 특수 목적 하드웨어와 컴퓨터 명령어들의 조합들에 의해 구현될 수 있다는 것이다. 명시적으로 기술되어 있지는 않지만, 본 실시예들이 임의의 조합 또는 하위-조합으로 이용될 수 있다.
도 5는 구체적이고 비제한적인 실시예에 따른 디코딩 방법의 플로우차트를 도시한다. 본 방법은 스트림 S에 인코딩된 현재 픽처 블록 Bc를 디코딩하기 위한 것이다. 픽처 블록 Bc는 현재 픽처 Ic의 슬라이스 Sc에 속한다. 슬라이스는 픽처 블록들의 집합과 같은, 픽처의 일부이다.
단계(10)에서, 적어도 하나의 스트림 S_diff가 디코딩된 데이터(예컨대, 잔차 및 코딩 모드) 및 DPB에 저장된 재구성된 참조 픽처 R2를 식별하기 위한 정보 INFO로 디코딩된다.
단계(12)에서, 특수 참조 픽처(그의 두문자어는 SRP임) R1'은 식별된 재구성된 참조 픽처 R2 및 디코딩된 데이터로부터 재구성된다. SRP R1'을 재구성하는 것은, R1'의 각각의 픽처 블록에 대해, 예측자를 결정하고 잔차를 가산하는 것을 포함한다. 예측자는 (Bc와 동일 위치에 배치된 R2 내의 블록이거나 움직임 벡터에 의해 식별되는 R2 내의 움직임 보상된 블록인) 식별된 재구성된 참조 픽처 R2로부터 또는 고전적인 인트라 예측에서와 같이 이웃하는 재구성된 샘플들로부터 결정될 수 있다. R2 내의 블록은, R2 내에서의 그의 공간 위치가 Ic 내의 Bc의 공간 위치와 동일한 경우, Bc와 동일 위치에 배치되어 있다. 변형례에 따르면, 재구성된 참조 픽처 R2의 크기가 현재 픽처 Ic의 크기와 상이한 경우, 재스케일링된(rescaled) R2 픽처(가능하게는 적절한 패딩을 가짐)가 Ic와 동일한 크기를 갖도록, R2가 특수 참조 픽처의 재구성을 위해 재스케일링된다. 이 경우에, R1'이 F(R2)로부터 재구성되고, 여기서 F는 재스케일링 필터(rescaling filter)이다. 스트림 S_diff는 스트림 S의 일부일 수 있거나, 스트림 S와 무관할 수 있다.
일례로서, 스트림 S_diff는 R2와 상이한 다른 재구성된 참조 픽처 R1과 재구성된 참조 픽처 R2 간의 픽셀별 차분(pixel by pixel difference)을 인코딩한다. R1은, 예를 들어, 재구성된 참조 픽처이고, 그로부터 현재 픽처 블록 Bc가 인코딩된다. 이 경우에, 스트림 S_diff를 디코딩하는 것은 보통 엔트로피 디코딩, 역양자화 및 변환에 의해 차분 픽처 DIFF를 디코딩하는 것을 포함한다. 변환은, 예를 들어, 역 DCT이다. 차분 픽처는 보통 재구성된 참조 픽처 R1과 재구성된 참조 픽처 R2 간의 차분의 근사이다. 근사는 (예컨대, 양자화로 인한) 인코딩 동안의 손실로 인한 것이다. 차분 픽처 DIFF가 무손실 인코딩되는 경우, 디코딩된 차분 픽처 DIFF는 재구성된 참조 픽처 R1과 재구성된 참조 픽처 R2 간의 차분과 같다. 변형례에 따르면, R1 및 R2가 상이한 크기를 갖는 경우, 차분 픽처는 재구성된 참조 픽처 R1과 재스케일링된 재구성된 참조 픽처 R2 간의 차분이다. 일례로서, R2가 R1보다 큰 경우, R2가 다운스케일링(downscale)되고, R2가 R1보다 작은 경우, R2는 업스케일링(up-scale)된다. 이 경우에, 특수 참조 픽처 R1'은 F(R2)+DIFF와 같고, F는 R2와 Ic가 동일한 크기를 갖는 경우 항등 함수(identity)이고 그렇지 않은 경우 F는 재스케일링 함수이다.
변형례에 따르면, 디코딩 방법은 차분 픽처 DIFF와 연관된 부호의 선택적인 디코딩을 더 포함한다. 이러한 부호가 디코딩되면, 특수 참조 픽처 R1'은 부호가 플러스일 때는 F(R2)+DIFF와 같고, 부호가 마이너스일 때는 F(R2)-DIFF와 같다.
다른 변형례에 따르면, 스트림 S_diff는, R1의 어떤 블록들에 대해, 이들 블록과 R2 내의 동일 위치에 배치된 블록들 간의 차분을 인코딩한다. R1의 다른 블록들은 고전적인 인트라 예측을 사용하여, 즉 이웃하는 재구성된 샘플들로부터 S_diff에 인코딩된다.
다른 변형례에 따르면, 스트림 S_diff는, R1의 어떤 블록들에 대해, 이들 블록과 R2 내의 대응하는 블록들 간의 차분을 인코딩한다. R2 내의 대응하는 블록들은 동일 위치에 배치된 블록들 또는 움직임 보상된 블록들이다. R1의 다른 블록들은 고전적인 인트라 예측을 사용하여, 즉 이웃하는 재구성된 샘플들로부터 S_diff에 인코딩된다.
정보 INFO를 디코딩하는 것은 상이한 사용 사례들을 처리하는 것을 가능하게 만든다. 일례로서, 현재 픽처 블록 Bc가 2개의 재구성된 참조 픽처 R1 및 r1로부터 인코딩되는 경우, 2개의 특수 참조 픽처 R1' 및 r1'과 2개의 정보 INFO 및 info가 단계(10)에서 디코딩된다. 특수 참조 픽처 R1' 및 r1'은, 각각, R2 및 r2에 대응하고, 여기서 R2 및 r2는 DPB에 저장된 2개의 재구성된 참조 픽처이고, 그로부터 Bc가 재구성되어야 한다. 결과적으로, INFO는 R1'이 R2로부터 재구성되어야 한다는 것을 디코더에 알려주는 반면, info는 r1'이 r2로부터 재구성되어야 한다는 것을 알려준다.
각각의 특수 픽처는, 예를 들어, 전통적인 I, P, B 픽처/슬라이스 유형과 상이한 픽처/슬라이스 유형을 나타내는 전용 플래그에 의해 스트림 S_diff에서 식별된다. 이 픽처/슬라이스 유형은 현재 AU가 DPB 내의 픽처를 대체하기 위해 사용되어야 하는 특수 참조 픽처를 포함한다는 것을 나타낸다. 변형례에 따르면, 각각의 특수 픽처는 슬라이스 헤더 내의 전용 플래그에 의해 식별된다.
DPB에서 재구성된 참조 픽처 R2를 식별하기 위한 정보 INFO는, 예를 들어, 문헌 ISO/IEC 14496-10(섹션 3.104)에 규정된 바와 같은, POC("Picture Order Count"의 두문자어)이다. 변형례에 따르면, 재구성된 참조 픽처를 식별하기 위한 정보는 재구성된 참조 픽처 인덱스이다.
단계(14)에서, 특수 참조 픽처 R1'은 DPB 내의 재구성된 참조 픽처 중 하나를 대체한다. 구체적인 실시예에 따르면, 특수 참조 픽처 R1'에 의해 대체되는 DPB 내의 재구성된 참조 픽처는 R2이다. 이와 같이, 특수 참조 픽처 R1'이 R2를 대신하여 DPB에 저장된다. Bc가 인코딩에서 사용되는 재구성된 참조 픽처 R1 및 r1과 상이할 수 있는 2개의 재구성된 참조 픽처 R2 및 r2에 속하는 2개의 참조 블록으로부터 양방향 예측되는 경우, R2 및 r2 둘 모두가 DPB에서 R1' 및 r1'에 의해 대체된다. 특수 참조 픽처 R1' 및 r1'은 이와 같이 Bc에 대한 참조 픽처로서 사용된다. Bc는 또한 하나의 특수 참조 픽처 R1'으로부터 그리고 r1(r1이 Bc를 재구성할 때 DPB에서 이용가능한 경우)으로부터 재구성될 수 있다.
단계(16)에서, 현재 픽처 블록 Bc가 R2 대신에 특수 참조 픽처 R1'으로부터 재구성된다. 보통, 특수 참조 픽처가 콘텐츠의 면에서 R2보다 R1에 더 가깝기 때문에, 따라서, 드리프트(drift)가 감소된다. 단계(14)의 대체가 행해지지 않는 경우, Bc는 R1' 대신에 R2로부터 재구성된다. 보통, 픽처 블록을 재구성하는 것은 스트림 S로부터 잔차를 디코딩하고 잔차를 예측자에 가산하는 것을 포함한다. 스킵 모드의 경우에 잔차는 0일 수 있다. 잔차를 디코딩하는 것은 엔트로피 디코딩, 역양자화 및 인코더측에서 적용되는 변환의 역변환을 적용하는 것을 포함한다. 이들 단계는 비디오 압축/코딩의 통상의 기술자에게 공지되어 있으며, 더 이상 개시되지 않는다. 특수 참조 픽처 R1'에서의 참조 블록은 스트림 S로부터 디코딩되는 움직임 벡터에 의해 식별된다. 참조 블록이 예측자로서 사용된다. 양방향 예측의 경우에, 가능하게는 동일한 재구성된 참조 픽처인 2개의 재구성된 참조 픽처에서 2개의 참조 블록이 식별된다. 예측자는 이들 2개의 참조 블록의 가중합이다.
다른 변형례에 따르면, 본 디코딩 방법은 재구성된 참조 픽처 R2가 특수 참조 픽처 R1'에 의해 대체되는 때를 나타내는 시각 Ts 또는 디코딩 순서 번호를 나타내는 정보가 스트림 S로부터 디코딩되는 선택적인 단계(13)를 더 포함한다. 이 데이터는 스트림 S_diff가 스트림 S를 전송하는 데 사용되는 것과 별개의 수단을 사용하여 전송될 때 특히 유용하다. 이 데이터는, 예를 들어, 그의 재구성을 위해 DPB 내의 이 특수 참조 픽처를 사용하는 첫 번째 픽처의 POC이다. 이 경우에, 재구성된 참조 픽처 R2는 이 첫 번째 픽처의 디코딩을 시작하기 바로 전의 특수 참조 픽처로 대체된다. 변형례에 따르면, 이 데이터는, 예를 들어, 그의 재구성을 위해 DPB 내의 재구성된 참조 픽처 R2를 사용하는 마지막 픽처의 POC이다. 이 경우에, 재구성된 참조 픽처 R2는 이 마지막 픽처의 디코딩을 완료한 직후의 특수 참조 픽처로 대체된다.
또 다른 변형례에 따르면, 특수 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그 FG는 스트림 S_diff로부터 디코딩된다. 다른 변형례에 따르면, 이 플래그가 디코딩되지 않고, SRP는 정의에 의해 디스플레이되지 않는다. INFO, 부호, 플래그 FG, 타이밍 정보가 각각의 특수 참조 픽처에 대해 (슬라이스 헤더에 또는 슬라이스 세그먼트 헤더에) 디코딩될 수 있거나, 몇 개의 특수 참조 픽처들에 대해 하나의 단일 헤더에 그룹화될 수 있다. INFO, 부호, 플래그 FG, 타이밍 정보는, 예를 들어, SEI 메시지, VPS(Video Parameter Set HEVC)로부터 또는 Sc의 슬라이스 헤더로부터 디코딩된다.
도 6은 구체적이고 비제한적인 실시예에 따른 인코딩 방법의 플로우차트를 도시한다. 본 방법은 현재 픽처 블록 Bc를 스트림 S에 인코딩하기 위한 것이다.
단계(20)에서, 현재 픽처 블록 Bc는 스트림 S에서의 적어도 하나의 제1 재구성된 참조 픽처 R1로부터 인코딩된다. 보통, 현재 픽처 블록을 인코딩하는 것은 잔차를 결정하는 것, 잔차를 변환하는 것, 및 변환된 잔차를 양자화된 데이터로 양자화하는 것을 포함한다. 양자화된 데이터가 스트림 S에 추가로 엔트로피 코딩된다. 잔차는 현재 픽처 블록 Bc로부터 예측자를 감산하는 것에 의해 획득된다. 예측자가 제1 재구성된 참조 픽처 R1로부터 결정된다. 보다 상세하게는, 예측자는 재구성된 참조 픽처 R1에서 움직임 벡터에 의해 결정된다. 현재 블록이 2개의 참조 블록으로부터 양방향 예측되는 경우, 예측자는 이들 2개의 참조 블록을 평균하는 것에 의해 획득된다. 2개의 참조 블록이 2개의 상이한 재구성된 참조 픽처 R1 및 r1에 속하거나 동일한 재구성된 참조 픽처에 속한다. 움직임 벡터가 또한 스트림 S에 인코딩된다. 이들 단계는 비디오 압축의 통상의 기술자에게 공지되어 있으며, 더 이상 개시되지 않는다.
단계(24)에서, 재구성된 참조 픽처 R1 및 정보 INFO가 스트림 S_diff 내에 인코딩된다. S_diff의 디코딩은 SRP이다. 스트림 S_diff는 스트림 S의 일부일 수 있거나, 스트림 S와 무관할 수 있다. 재구성된 참조 픽처 R1은 INFO에 의해 식별되는 R1과 상이한 제2 재구성된 참조 픽처 R2로부터 S_diff에 인코딩된다. 변형례에 따르면, 재구성된 참조 픽처 R2의 크기가 현재 픽처 Ic의 크기와 상이하고 따라서 R1의 크기와 상이한 경우, 재스케일링된 R2 픽처(가능하게는 적절한 패딩을 가짐)가 Ic와 동일한 크기를 갖도록, R2가 재구성된 참조 픽처 R1의 인코딩을 위해 재스케일링된다. 이 경우에, R1이 F(R2)로부터 인코딩되고, 여기서 F는 재스케일링 필터이다.
일례로서, 스트림 S_diff는 R1과 R2 사이의 픽셀별 차분 DIFF를 인코딩한다. DIFF 픽처는 변환(예컨대, DCT를 사용함), 양자화 및 엔트로피 코딩에 의해 인코딩된다. 변형례에 따르면, R1 및 R2가 상이한 크기를 갖는 경우, 차분 픽처는 재구성된 참조 픽처 R1과 재스케일링된 제2 재구성된 참조 픽처 R2 간의 차분이다. 일례로서, R2가 R1보다 큰 경우, R2가 다운스케일링되고, R2가 R1보다 작은 경우, R2는 업스케일링된다. 이 경우에, DIFF= R1-F(R2)이고, F는 R2와 Ic가 동일한 크기일 때 항등 함수이고, 그렇지 않은 경우, 재스케일링 함수이다.
변형례에 따르면, 디코딩 방법은 차분 픽처와 연관된 부호의 선택적인 디코딩을 더 포함한다. 이러한 부호가 디코딩되면, 특수 참조 픽처 R1'은 부호가 플러스일 때는 F(R2)+DIFF와 같고, 부호가 마이너스일 때는 F(R2)-DIFF와 같다.
다른 변형례에 따르면, 스트림 S_diff는, R1의 어떤 블록들에 대해, 이들 블록과 R2 내의 블록들(즉, Bc와 동일 위치에 배치된 블록들 또는 움직임 보상된 블록들) 간의 차분을 인코딩한다. R1의 다른 블록들은 고전적인 인트라 예측을 사용하여, 즉 이웃하는 재구성된 샘플들로부터 S_diff에 인코딩된다.
정보 INFO를 인코딩하는 것은 상이한 사용 사례를 처리하는 것을 가능하게 만든다. 일례로서, 현재 픽처 블록 Bc가 2개의 재구성된 참조 픽처 R1 및 r1로부터 인코딩되는 경우, 2개의 재구성된 참조 픽처가 2개의 다른 재구성된 참조 픽처 R2 및 r2로부터 인코딩된다. INFO는 특수 참조 픽처 R1'이 R2로부터 재구성되어야 한다는 것을 디코더에 알려주는 반면, info는 다른 특수 참조 픽처 r1'이 r2로부터 재구성되어야 한다는 것을 알려준다. 각각의 특수 참조 픽처는, 예를 들어, 전통적인 I, P, B 픽처/슬라이스 유형과 상이한 픽처/슬라이스 유형을 나타내는 전용 플래그에 의해 스트림 S_diff에서 식별된다. 이 픽처/슬라이스 유형은 현재 AU가 DPB 내의 픽처를 대체하기 위해 사용되어야 하는 특수 참조 픽처라는 것을 나타낸다. 변형례에 따르면, 각각의 특수 픽처는 슬라이스 헤더 내의 전용 플래그에 의해 식별된다. 특정의 실시예에서, DPB의 재구성된 참조 픽처의 몇 개의 또는 각각의 가능한 쌍에 대해 하나의 특수 참조 픽처 및 정보 INFO가 인코딩된다. 결과적으로, 드리프트를 제한하면서, 언제라도 블록 Bc가 DPB의 임의의 픽처로부터 - 그 픽처로부터 자신이 인코딩되지 않았더라도 - 디코딩될 수 있다. 실제로, Bc를 재구성할 때, R1이 DPB에서 이용가능하지 않은 경우, Bc가 R2 대신에 특수 참조 픽처 R1'으로부터 재구성될 수 있다. 따라서 드리프트가 제한되는데, 그 이유는 R1'이 콘텐츠 면에서 R2보다 R1에 더 가깝기 때문이다.
제2 재구성된 참조 픽처를 식별해주는 정보는, 예를 들어, POC이다. 변형례에 따르면, 제2 재구성된 참조 픽처를 식별해주는 정보는 재구성된 참조 픽처 인덱스이다.
디코딩 방법에 대해 개시된 변형례들 및 옵션들 모두가 인코딩 방법에 적용가능하다. 상세하게는, 인코딩 방법은 차분 픽처와 연관된 부호의 선택적인 인코딩을 포함한다. 다른 변형례에 따르면, 본 인코딩 방법은 재구성된 참조 픽처 R2가 DPB 내의 특수 참조 픽처에 의해 대체되어야 하는 때를 나타내는 시각 Ts 또는 디코딩 순서 번호를 나타내는 정보가 인코딩되는 선택적인 단계(22)를 더 포함한다. 이 데이터는, 예를 들어, 그의 재구성을 위해 DPB 내의 이 특수 참조 픽처를 사용하는 첫 번째 픽처의 POC이다.
또 다른 변형례에 따르면, 특수 참조 픽처가 디스플레이되어야 하는지 여부를 나타내는 플래그 FG가 인코딩된다. 이 플래그가 각각의 특수 참조 픽처에 대해 (슬라이스 헤더에 또는 슬라이스 세그먼트 헤더에) 코딩될 수 있거나, 몇 개의 특수 참조 픽처들에 대해 하나의 단일 헤더에 그룹화될 수 있다. 다른 변형례에 따르면, 정의에 의해 SRP가 디스플레이되지 않는 경우 그 플래그는 인코딩되지 않는다.
INFO, 부호, 플래그 FG, 타이밍 정보는, 예를 들어, SEI 메시지, VPS(Video Parameter Set HEVC)로부터 또는 Sc의 슬라이스 헤더로부터 디코딩된다.
구체적이고 비제한적인 실시예에 따른 디코더가 도 7에 도시되어 있다. 본 디코더는 도 5와 관련하여 개시된 디코딩 방법을 구현하도록 구성되어 있다. 스트림 S가 디코딩 모듈 DEC0에 의해 수신된다. 디코딩 모듈 DEC0는 현재 픽처 블록 Bc에 대한 잔차를 디코딩하도록 구성되어 있다. 스킵 모드의 경우에 잔차는 0일 수 있다. 디코딩 모듈 DEC0는 예측자를 잔차에 가산하도록 구성된 가산기 ADD에 연결되어 있다. 예측자는 이전에 재구성되어 DPB에 저장된 참조 픽처로부터 예측 모듈 PRED에 의해 결정된다. 예측 모듈 PRED는 디코딩 모듈 DEC0에 의해 디코딩된 적어도 하나의 움직임 벡터로부터 현재 픽처 블록에 대한 예측자를 결정한다. DPB는 스트림 S_diff를 디코딩된 데이터 및 정보 INFO로 디코딩하도록 구성된 디코딩 모듈 DEC1에 연결되어 있다. 디코딩 모듈 DEC1은 디코딩된 스트림 및 DPB에 저장되고 INFO에 의해 식별되는 재구성된 참조 픽처로부터 특수 참조 픽처를 재구성하도록 추가로 구성되어 있다. 모듈 DEC1에 의해 재구성된 특수 참조 픽처는 DPB에서 INFO에 의해 식별되는 픽처를 대체하는 데 사용된다. 도 7에 나타내지 않은 변형례에 따르면, S_diff는 스트림 S의 일부이다.
구체적이고 비제한적인 실시예에 따른 인코더가 도 8에 도시되어 있다. 본 인코더는 도 6과 관련하여 개시된 인코딩 방법을 구현하도록 구성되어 있다. 감산 모듈 SUBT는 현재 픽처 블록 Bc로부터 예측자를 감산한다. 감산 모듈의 출력은 잔차이다. 예측자는 이전에 재구성되어 DPB에 저장된 참조 픽처로부터 예측 모듈 PRED에 의해 결정된다. 예측 모듈 PRED는 움직임 추정 모듈 ME에 의해 결정된 적어도 하나의 움직임 벡터로부터 현재 픽처 블록에 대한 예측자를 결정한다. 잔차는 이어서 코딩 모듈 ENC0에 의해 스트림 S로 코딩된다. 참조 픽처는 인코딩될 때 모듈 REC에 의해 추가로 재구성되고 DPB에 저장된다. DPB는, 예컨대, 차분 픽처 R1-R2 및 R2를 식별해주는 정보 INFO를 인코딩하는 것에 의해, 다른 재구성된 참조 픽처 R2로부터의 재구성된 참조 픽처 R1을 스트림 S_diff에 인코딩하도록 구성되어 있는 모듈 ENC1에 연결되어 있다. 도면에 나타내지 않은 변형례에 따르면, S_diff는 스트림 S의 일부이다.
변형례에 따르면, 인코딩 방법 및 디코딩 방법은 도 9에 예시된 바와 같이 스트림 전환과 관련하여 사용된다. 이 경우에, 제1 픽처 시퀀스는 스트림 S0에 인코딩된다. 제2 픽처 시퀀스는 스트림 S1에 인코딩된다. 보통, 제2 픽처 시퀀스는 제1 시퀀스와 동일하지만, 상이한 비트 레이트로, 즉 상이한 양자화 계단(quantization step)을 사용하여 인코딩된다. 변형례에 따르면, 제2 픽처 시퀀스는 제1 시퀀스의 재스케일링된 버전, 즉 업스케일링된 또는 다운스케일링된 버전이다. 구체적인 실시예에 따르면, S0 및 S1은 동일한 GOP 구조(즉, HEVC 표준의 섹션 8.3.1 및 섹션 8.3.2에 규정된 바와 같은 동일한 디코딩 순서 및 동일한 참조 픽처 목록)를 가진다.
스트림 S0 및 스트림 S1에 부가하여, 도 9에 도시된 바와 같이, 각각의 시각 tn에서, S1의 재구성된 참조 픽처 은 S0의 시기적절하게 대응하는, 즉 시간적으로 정렬된(예컨대, 동일한 픽처 순서 카운트(picture order count) 또는 동일한 디스플레이 시간) 재구성된 참조 픽처 으로부터 SRP로서 스트림 S_diff에 추가로 인코딩된다. 재구성된 참조 픽처 은 대응하는 재구성된 참조 픽처 을 식별하기 위한 정보 info_tn와 함께 S_diff에 인코딩된다. 유의할 점은, 에 대응하는 소스 픽처가 S1에 인코딩되고 에 대응하는 소스 픽처가 S0에 인코딩된다는 것이다.
도 5와 관련하여 개시된 디코딩 방법은 제1 스트림 S0로부터 제2 스트림 S1으로 전환한 후에 픽처 블록 Bc를 디코딩하는 데 사용된다. 도 9와 관련하여, 픽처가 시간 t2까지는 스트림 S0로부터 디코딩되어 디스플레이된다. t2와 t3 사이에서 전환이 일어난다. 전환 후에, 픽처가 스트림 S1으로부터 디코딩되어 디스플레이된다. 전환 시에, DBP는 S0로부터 디코딩된 몇 개의 재구성된 참조 픽처를 포함한다. 도 9와 관련하여, DPB는 전환 시간에서 3개의 재구성된 참조 픽처 , 및 를 포함한다.
단계(10)에서, S_diff1, S_diff2 및 S_diff3는 디코딩된 데이터(예컨대, 잔차 및 코딩 모드) 및 DPB에 저장된 재구성된 참조 픽처 , 및 를 식별해주는 정보 info_t0, info_t1 및 info_t2로 디코딩된다.
단계(12)에서, 3개의 특수 참조 픽처 SRP_t0, SRP_t1, SRP_t2가 대응하는 디코딩된 데이터 및 대응하는 재구성된 참조 픽처 , 및 로부터 재구성된다. 제1 구체적인 실시예에 따르면, S_diff는 과 가능하게는 재스케일링되어 있는 시기적절하게 대응하는 픽처 사이의 픽셀별 차분을 인코딩한다. 이 경우에, 재구성된 SRP는 SRP_t0= +, SRP_t1= +, SRP_t2= +이고, 여기서 , , 는 S_diff로부터 디코딩된다. 필요한 경우, 는, 그의 크기가 현재 픽처 Ic의 크기와 같도록, F에 의해 재스케일링된다. 재스케일링이 일어나지 않는 경우, F는 항등 함수이다. 제2 구체적인 실시예에 따르면, S_diff는 가능하게는 F에 의해 재스케일링되어 있는 을 사용하여 을 인코딩한다. 이 경우에, 에서의 블록의 예측자는 픽처 에서 공간적으로 동일한 위치에 있는 블록 또는 에서의 움직임 보상된 블록이거나 에서의 공간적으로 이웃하는 블록들로부터 도출된다(공간 인트라 예측). 제1 구체적인 실시예의 경우에, 재스케일링이 필요하지 않을 때, 즉 제1 및 제2 스트림의 픽처들의 크기가 동일할 때, S0로부터 S1으로 또는 S1으로부터 S0로 전환하기 위해 동일한 차분 픽처 diff_t0, diff_t1 및 diff_t2가 사용될 수 있다. 이전의 예에서, diff_t0가 와 스트림 S1에서의 시기적절하게 대응하는 픽처 사이의 차분을 인코딩하는 경우, 대신에 SRP_t0를 재구성하기 위해 반전 diff_t0가 가산되는 대신에 로부터 감산된다. 따라서, 재구성된 참조 픽처가 차분 픽처를 가산하는 것에 의해 또는 감산하는 것에 의해 수정되는지를 지정하기 위해 부호가 디코딩된다.
단계(16)에서, DPB 내의 픽처가 특수 참조 픽처로 대체된다. 정보 info_t0는 SRP_t0가 DPB 내의 을 대체하는 데 사용된다는 것을 나타내고, info_t1은 SRP_t1이 DPB 내의 을 대체하는 데 사용된다는 것을 나타내며, info_t2는 SRP_t2가 DPB 내의 를 대체하는 데 사용된다는 것을 나타낸다. 이 경우에, 각각의 SRP는 이와 같이 DPB에서 재구성된 참조 픽처 - 이로부터 각각의 SRP가 재구성됨 - 를 대체한다. 본 발명이 3개의 재구성된 참조 픽처의 경우로 제한되지 않는다는 것은 명백하다. 본 발명의 구체적인 실시예에 따르면, 스트림 S0로부터 나오는 DPB 내의 모든 재구성된 참조 픽처는 단계(16)에서 특수 참조 픽처로 대체된다. 변형례에 따르면, 전환 후에 참조 픽처로서 사용되어야 하는 DPB 내의 재구성된 참조 픽처만이 단계(16)에서 특수 참조 픽처로 대체된다.
도 10은 본 발명에 따른 디코딩 방법의 추가의 구체적이고 비제한적인 실시예를 나타낸 것이다. 디코더는 상이한 액세스 단위들을 수신한다. 액세스 단위 AU1이 먼저 수신되어 디코딩된다. 제1 픽처 I1이 디코딩된 AU1으로부터 재구성된다. 이어서 제2 액세스 단위 AU2가 수신되어 디코딩된다. 제2 픽처 I2가 디코딩된 AU2로부터 재구성된다. 픽처 I1 및 I2는 동일한 스트림 S0에 속하고, 그들이 참조 픽처로서 사용되는 것으로 신호되는 경우, DPB에 저장된다. 이어서, 전환이 일어난다. 전환은 S_diff 스트림을 수신하기 위한 요청을 인코더로 송신하는 디코더에 의해 요청될 수 있다. 변형례에 따르면, 전환이 인코더에 의해 개시된다. 전환 후에, 디코더는 2개의 AU 단위 S_diff1 및 S_diff2를 수신한다. 픽처 I1 및 I2를 사용하여, 각각, SRP1 및 SRP2를 재구성[단계(12)]하기 위해 S_diff1 및 S_diff2가 디코딩[단계(10)]된다. SRP1 및 SRP2가 2개의 특수 참조 픽처이다. SRP1 및 SRP2는 이어서, 각각, 픽처 I1 및 I2 대신에 DPB에 저장된다[단계(14)]. 이어서, 디코더는 AU3를 수신하여 디코딩한다. 픽처 I3는 디코딩된 AU3로부터 그리고 가능하게는 DPB의 적어도 하나의 픽처(즉, SRP1 또는 SRP2)로부터(시간 예측) 재구성된다. I3는 제2 스트림 S1에 속하고, 가능하게는 장래의 사용을 위해 재구성된 참조 픽처로서 DPB에 저장된다. 디코더는 이어서 AU4를 수신하여 디코딩한다. 픽처 I4는 디코딩된 AU4로부터 그리고 가능하게는 DPB의 적어도 하나의 픽처로부터(시간 예측) 재구성된다.
본 발명의 구체적인 실시예에 따르면, 제1 및 제2 시퀀스의 픽처 및 특수 참조 픽처가 다중 계층화된 스트림으로 인코딩된다. 특정의 예로서, 특수 참조 픽처로서 식별된 픽처는 스케일러블 스트림의 향상 계층으로서 인코딩된다. S0 스트림은 기본 계층이다. 향상 계층은 S1의 픽처를 재구성하는 데 사용될 특수 참조 픽처를 S0의 재구성된 참조 픽처로부터 재구성할 수 있게 한다. 이 향상 계층은, 예를 들어, SVC 또는 SHVC 코딩 표준과 호환된다. 본 발명의 구체적인 실시예에 따르면, 특수 참조 픽처가 향상 계층을 인코딩하기 위해 SVC 또는 SHVC에 의해 제공되는 인코딩 도구들/모드들의 서브셋으로 인코딩된다. 상세하게는, 계층내 움직임 벡터 예측(intra-layer motion vector prediction)(시간 예측)이 SVC 또는 SHVC 코딩 표준에서 디스에이블된다. 그와 달리, 기본 계층으로부터의 인트라 예측은 활성화된다. 픽처내 예측도 역시 활성화될 수 있다. 본 발명의 다른 구체적인 실시예에 따르면, S0 및 S1을 코딩하기 위해, 예를 들어, HEVC 플래그 slice_temporal_mvp_enable_flag를 거짓으로 설정하는 것에 의해, 시간 움직임 벡터 예측이 디스에이블된다. 이것은 움직임 벡터 예측(MV 예측)이 이전에 재구성된 참조 픽처의 MV를 사용하는 것이 아니라 재구성된 이웃 코딩 단위로부터의 MV를 사용하여 구축된다는 것을 의미한다.
이하의 도 11 및 도 12에서, 인코딩 모듈 및 디코딩 모듈이 인코더 및 디코더로서 지칭된다.
도 11은 구체적이고 비제한적인 실시예에 따른 다중 계층 인코더를 나타낸 것이다. 제1 시퀀스의 픽처들은 단일 계층 인코더, 예를 들어, MPEG2, H.264 또는 HEVC 호환 인코더인 제1 인코더 ENC0를 사용하여 S0에 인코딩된다. 본 발명이 사용되는 단일 계층 인코더에 의해 제한되지 않는다. ENC0에 의해 인코딩되는 참조 픽처는 R2로서 재구성되고, 가능하게는 선택적인 재스케일링 모듈 F에 의해 재스케일링된 후에, 제3 인코더 ENC2에 입력으로서 제공된다. 재스케일링된 픽처 R2는 F(R2)로 표기되어 있다. 제2 인코더 ENC1은 제2 시퀀스의 픽처들을 S1에 인코딩하는 데 사용된다. 제2 인코더는 ENC0와 동일하거나 상이할 수 있다. 본 발명이 사용되는 인코더에 의해 제한되지 않는다. 재구성된 참조 픽처 R2에 시기적절하게 대응하는, ENC1으로 인코딩되는 참조 픽처는 R1로서 재구성되고 제3 인코더 ENC2에 입력으로서 제공된다. 따라서, ENC0의 DPB 내의 각각의 재구성된 참조 픽처 R2에 대해, 시기적절하게 대응하는 참조 픽처 R1이 재구성된다. 이와 같이, 인코더 ENC2는, 가능하게는 재스케일링된 시기적절하게 대응하는 재구성된 참조 픽처 R2로부터, 재구성된 참조 픽처 R1을 스트림 S_diff으로 인코딩한다. 구체적인 실시예에 따르면, 인코더 ENC2는 R2 또는 F(R2)를 R1로부터 감산하는 감산기를 포함하고 이와 같이 획득되어 가능하게는 변환되고 양자화된 차분 픽처를 인코딩하는 엔트로피 코더를 더 포함한다. 변형례에 따르면, R1의 각각의 블록으로부터 예측자가 감산되고, 여기서 예측자는 픽처 R2[또는 F(R2)] 내의 공간적으로 동일한 위치에 있는 블록 또는 R2[또는 F(R2)] 내의 움직임 보상된 블록이거나, R1 내의 공간적으로 이웃한 블록들로부터 도출된다(공간 인트라 예측). 이와 같이, 잔차가 획득되고, 가능하게는 변환되고 양자화된 후에 추가로 엔트로피 코딩된다. 이 경우에, S_diff에 인코딩되는 것은 R1과 R2 간의 간단한 픽셀별 차분이 아니다. 재구성된 참조 픽처 R1을 인코딩하는 데 사용되는 재구성된 참조 픽처 R2[또는 F(R2)]를 식별해주는 정보 INFO가 또한 S_diff에 인코딩된다. 인코더 ENC2는, 예를 들어, SVC 또는 SHVC와 같은 스케일러블 비디오 인코더와 호환된다. 본 발명이 사용되는 스케일러블 인코더에 의해 제한되지 않는다. 스케일러블 비디오 코덱 표준은 기본 계층(BL)에 속하는 AU를 향상 계층에 속하는 것과 분리/구분하기 위해 layer_id 지시자를 정의한다. 구체적인 실시예에 따르면, ENC0로부터 나오는 AU는 ENC2로부터 나오는 AU를 인코딩하는 데 사용되는 layer_id와 상이한 주어진 layer_id로 인코딩된다. ENC0 및 ENC1으로부터 나오는 AU는 동일한 layer_id를 가진다. ENC0 및 ENC1은, 예를 들어, 단일 계층 AVC 또는 HEVC 인코더이다. 도 11에 나타내지 않은 바람직한 실시예에 따르면, 인코더 ENC0 및 ENC1은 동일한 인코더이다. 따라서, 제1 및 제2 시퀀스로부터의 픽처들이 동일한 인코더로 인코딩되고, 적절한 재구성된 참조 픽처[R1, R2, F(R2)]가 제2 인코더 ENC2에 입력으로서 제공된다.
도 12는 본 발명의 구체적이고 비제한적인 실시예에 따른 다중 계층 디코더를 나타낸 것이다. 제1 스트림 S0는 단일 계층 디코더, 예를 들어, MPEG2, H.264 또는 HEVC 호환 디코더인 제1 디코더 DEC0를 사용하여 디코딩된다. 본 발명이 사용되는 단일 계층 디코더에 의해 제한되지 않는다. 디코더 DEC0는 제1 스트림 S0, 상세하게는 DPB0에 저장되어 있는 참조 픽처 R2로부터 픽처를 재구성한다. 제2 디코더 DEC1은 DPB1에 저장되어 있는 제2 스트림 S1으로부터 픽처를 재구성하는 데 사용된다. 제2 디코더는 DEC0와 동일하거나 상이할 수 있다. 본 발명이 사용되는 디코더에 의해 제한되지 않는다. S0로부터 S1으로의 전환 후에, 가능하게는 선택적인 재스케일링 모듈 F에 의해 재스케일링된 DPB0 내의 재구성된 참조 픽처 R2가 DPB1으로 복사된다. 재스케일링된 픽처 R2는 F(R2)로 표기되어 있다. 디코더 DEC2는 DPB1 내의 재구성된 참조 픽처 R2[또는 F(R2)]를 식별하기 위한 정보 INFO를 스트리밍 S_diff로부터 디코딩한다[단계(10)]. 디코더 DEC2는, 예를 들어, SVC 또는 SHVC와 같은 스케일러블 비디오 디코더와 호환된다. 본 발명이 사용되는 스케일러블 디코더에 의해 제한되지 않는다. 디코더 DEC2는 시간적으로 정렬된 재구성된 참조 픽처 R2[또는 F(R2)] 및 S_diff로부터 디코딩된 데이터(예컨대, 잔차, 코딩 모드)로부터 특수 참조 픽처 R1'을 추가로 재구성한다[단계(12)]. 구체적인 실시예에 따르면, 디코더 DEC2는 S_diff로부터 잔차를 디코딩하는 엔트로피 디코더 및 잔차를 예측자에 가산하는 가산기를 포함하고, 여기서 예측자는 R2[또는 F(R2)] 내의 동일 위치에 있는 또는 움직임 보상된 블록으로부터 또는 R1' 내의 재구성된 샘플로부터(픽처내 예측) 도출된다. 특수 참조 픽처 R1'은 이어서 INFO에 의해 식별되는 R2[또는 F(R2)] 대신에 DPB1에 저장된다[단계(14)].
DEC0 및 DEC1은, 예를 들어, 단일 계층 AVC 또는 HEVC 디코더이다. 도 11에 나타내지 않은 바람직한 실시예에 따르면, 디코더 DEC0 및 DEC1은 동일한 디코더이다. 따라서, 픽처가 동일한 DPB를 갖는 동일한 디코더 DEC에 의해 S0 및 S1으로부터 재구성된다. S0로부터 S1으로의 전환 이전에, 픽처가 DEC에 의해 S0로부터 재구성되고 가능하게는 DPB에 저장된다. 전환 후에, 적절한 재구성된 참조 픽처[R2, F(R2)]가 SRP R1'을 재구성하기 위해 제2 디코더 DEC2에 입력으로서 제공된다. 재구성된 SRP R1'은 이어서 재구성된 참조 픽처 R2 대신에 DPB에 저장된다. 이어서, 픽처가 DPB에 저장된 픽처(고전적인 재구성된 참조 픽처 또는 SRP)를 사용하여 DEC에 의해 S1으로부터 재구성된다.
도 13은 본 발명의 구체적이고 비제한적인 실시예에 따른 다중 계층화된 스트림을 나타낸 것이다. 이 도면에서, 파선은 픽처 의존 관계를 나타낸다. layer_id=Layer_A를 갖는 AU1 및 AU2가 수신되어 디코딩된다. 참조 픽처 b1 및 b2가 디코딩된 AU로부터 재구성되고 DPB에 저장된다. 전환 시에, layer_id=Layer_B를 갖는 AU(S_diff1 및 S_diff2)가 수신되고 디코딩된다. 디코더 DEC2는 이어서 S_diff1 및 S_diff2로부터 그리고 추가로 b1 및 b2로부터, 각각, 디코딩된 데이터로부터 특수 참조 픽처 e'1 및 e'2를 재구성한다. S_diff1 및 S_diff2로부터, 각각, 디코딩된 정보 info_1 및 info_2는, 각각, b1 및 b2를 식별하는 데 사용된다. b1 및 b2와, 각각, 시간적으로 정렬되어 있는 특수 참조 픽처 e'1 및 e'2는 재구성된 참조 픽처 b1 및 b2 대신에 DPB에 저장된다. 이어서, AU3가 수신되고 디코딩된다. 픽처 e3는 이 디코딩된 AU3 및 추가로 특수 참조 픽처 e'1 및 e'2로부터 재구성된다. 재구성된 픽처 e3는 DPB에 저장되는데, 그 이유는 e3가 e4에 대한 재구성된 참조 픽처로서 사용되기 때문이다. AU4가 수신되고 디코딩된다. 픽처 e4는 디코딩된 AU4 및 추가로 특수 참조 픽처 e'2 및 재구성된 참조 픽처 e3로부터 재구성된다. 후속하는 AU5 및 AU6가 수신되고 디코딩된다. 대응하는 픽처 e5 및 e6가 디코딩된 AU5 및 AU6로부터 재구성된다. 재구성된 픽처가 참조 픽처로서 사용되는 경우 DPB가 가능하게는 업데이트된다. e'1은 바람직하게는 e3를 인코딩할 때 사용되는 재구성된 참조 픽처들 중 하나인 e1의 근사이다. e'2는 바람직하게는 e3 및 e4를 인코딩할 때 사용되는 재구성된 참조 픽처들 중 하나인 e2의 근사이다.
본 발명에 따른 인코딩 및 디코딩 방법들은 전환이 일어날 때만 작은 비트 레이트 오버헤드를 가지면서 유연한 스트림 전환을 실현하는 것을 가능하게 한다. 이들 방법은 임의의 GOP 구조, 임의의 수의 재구성된 참조 픽처에, 그리고 디코딩 순서가 디스플레이 순서와 상이할 때에도 적당하다.
S_diff 스트림에 대한 SHVC 코딩 표준 프레임워크 내에서의 구문의 일례가 이하에 제공되어 있다.
slice_type은 특수 참조 픽처의 슬라이스를 식별하기 위해 추가되어 있다.
sign_ diff _ pic = 1은 잔차가 예측에 가산되어야만 한다는 것을 나타내고, 그렇지 않은 경우, 잔차가 예측으로부터 감산되어야 한다.
pic _order_ cnt _ diffpic _ lsb는 픽처 순서 카운트 modulo 이 특수 참조 픽처에 대한 MaxPicOrderCntLsb를 나타낸다. 이어서, 인트라 BL 예측(intra BL prediction)은 동일한 pic_order_cnt를 갖는 DPB 내의 참조 픽처를 사용할 것이다. 이 재구성된 특수 참조 픽처는 동일한 pic_order_cnt를 갖는 DPB 내의 참조 픽처를 대체할 것이다. pic_order_cnt_lsb 구문 요소의 길이는 log2_max_pic_order_cnt_lsb_minus4 + 4 비트이다. pic_order_cnt_diffpic_lsb의 값은 0부터 MaxPicOrderCntLsb - 1까지의 범위(경계 포함)에 있을 것이다. pic_order_cnt_diffpic_lsb가 존재하지 않을 때, pic_order_cnt_diffpic_lsb는 0인 것으로 추론된다.
delta_ poc _ msb _ diffpic _cycle_ lt는 이 재구성된 특수 참조 픽처가 DPB에서 대체하게 될 DPB 내의 장기 재구성된 참조 픽처의 픽처 순서 카운트 값의 최상위 비트의 값을 결정하는 데 사용된다. delta_poc_msb_cycle_lt가 존재하지 않을 때, 그는 0인 것으로 추론된다.
pic_order_cnt_diffpic_apply_lsb는 픽처 순서 카운트 modulo 현재 픽처에 대한 MaxPicOrderCntLsb를 나타낸다. 이어서, POC = pic_order_cnt_diffpic_apply_lsb를 갖는 픽처를 디코딩하기 직전에, 이 특수 참조 픽처가 DPB에서 POC = pic _order_ cnt _ diffpic를 갖는 참조 픽처를 대체할 것이다. pic_order_cnt_lsb 구문 요소의 길이는 log2_max_pic_order_cnt_lsb_minus4 + 4 비트이다. pic_order_cnt_diffpic_lsb의 값은 0부터 MaxPicOrderCntLsb - 1까지의 범위(경계 포함)에 있을 것이다. pic_order_cnt_diffpic_lsb가 존재하지 않을 때, pic_order_cnt_diffpic_lsb는 0인 것으로 추론된다.
no_output_diffpic_flag = 1은 이 특수 참조 픽처가 아니라 DPB에서 대체될 픽처가 디스플레이되어야만 한다는 것을 나타내고, 그렇지 않은 경우, 대체된 재구성된 참조 픽처가 아니라 이 특수 참조 픽처가 디스플레이되어야만 한다.
num _layer_id_ diffpic _apply는 이 특수 참조 픽처를 디코딩하는 데 사용되는 재구성된 참조 픽처의 num_layer_id를 나타낸다.
구문의 예( vps _extension):
diff _ pic _flag_enabled = 1은 나타낸다.
no_output_diffpic_flag = 1은 이 특수 참조 픽처가 아니라 DPB에서 대체될 픽처가 디스플레이되어야만 한다는 것을 나타내고, 그렇지 않은 경우, 대체된 참조 픽처가 아니라 이 특수 참조 픽처가 디스플레이되어야만 한다.
inter_layer_pred_for_non_diff_picture_flag = 1은 유형 I, P 또는 B의 임의의 후속 픽처가 계층간 예측을 사용하지 않지만, 유형 SRP의 픽처는 시간적 계층내 예측(temporal intra layer prediction)이 아니라 계층간 예측을 사용할 수 있다는 것을 나타낸다.
도 7, 도 8, 도 11 및 도 12에 도시된, 본 발명에 따른 비디오 코더 및 디코더는, 스케일러블이든 그렇지 않든 간에, 예를 들어, 다양한 형태의 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서, 또는 이들의 조합으로 구현된다. 바람직하게는, 본 원리들이 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 게다가, 소프트웨어는 바람직하게는 프로그램 저장 디바이스에 유형적으로 구현되는 애플리케이션 프로그램으로서 구현될 수 있다. 애플리케이션 프로그램은 임의의 적당한 아키텍처를 포함하는 기계에 업로드되어 기계에 의해 실행될 수 있다. 바람직하게는, 기계는 하나 이상의 CPU(central processing unit), 랜덤 액세스 메모리(RAM), 및 입출력(I/O) 인터페이스(들)와 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에 구현된다. 컴퓨터 플랫폼은 또한 운영 체제 및 마이크로명령어 코드(microinstruction code)도 포함한다. 본 명세서에 기술된 다양한 프로세스 및 기능이, 운영 체제를 통해 실행되는, 마이크로명령어 코드의 일부 또는 애플리케이션 프로그램의 일부(또는 이들의 조합)일 수 있다. 또한, 부가의 데이터 저장 디바이스 및 인쇄 디바이스와 같은 다양한 다른 주변 디바이스들이 컴퓨터 플랫폼에 연결될 수 있다.
변형례에 따르면, 본 발명에 따른 코딩 및 디코딩 디바이스는 순전히 하드웨어적인 실현에 따라, 예를 들어, 전용 구성요소[예를 들어, ASIC(Application Specific Integrated Circuit) 또는 FPGA(Field-Programmable Gate Array) 또는 VLSI(Very Large Scale Integration)]의 형태로 또는 디바이스에 통합되어 있는 몇 개의 전자 구성요소들의 형태로 또는 심지어 하드웨어 요소와 소프트웨어 요소의 혼합의 형태로 구현된다.
Claims (29)
- 픽처 블록을 디코딩하기 위한 방법으로서,
- 디코더 픽처 버퍼(decoder picture buffer)에서 재구성된 참조 픽처를 식별하는 것을 허용하는 스트림으로부터의 정보를 디코딩하고(10), 상기 스트림으로부터의 데이터를 추가로 디코딩하는 단계 - 상기 정보는 픽처 순서 카운트(picture order count) 또는 참조 픽처 인덱스를 포함함 -;
- 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처로부터 그리고 상기 디코딩된 데이터로부터 다른 참조 픽처를 재구성하는 단계(12);
- 상기 디코더 픽처 버퍼에서 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처를 상기 다른 참조 픽처로 대체하는 단계(14); 및
- 상기 다른 참조 픽처로부터 픽처 블록(picture block)을 재구성하는 단계(16)
를 포함하는 디코딩 방법. - 제1항에 있어서, 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처와 상기 다른 참조 픽처는 시간적으로 정렬되어 있는 것을 특징으로 하는 디코딩 방법.
- 제1항 또는 제2항에 있어서, 상기 디코더 픽처 버퍼에서 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처가 상기 다른 참조 픽처로 대체되는 순간을 나타내는 정보를 디코딩하는 단계(13)를 더 포함하는 디코딩 방법.
- 제1항 또는 제2항에 있어서, 상기 다른 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 디코딩하는 단계를 더 포함하는 디코딩 방법.
- 제1항 또는 제2항에 있어서, 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처는 계층화된 스트림의 기본 계층(base layer)으로부터 디코딩되는 것을 특징으로 하는 디코딩 방법.
- 제5항에 있어서, 상기 디코딩된 데이터 및 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처를 식별하기 위한 상기 정보는 상기 계층화된 스트림의 향상 계층(enhancement layer)으로부터 디코딩되는 것을 특징으로 하는 디코딩 방법.
- 픽처 블록을 인코딩하기 위한 방법으로서,
- 다른 재구성된 참조 픽처 및 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 식별하기 위한 정보로부터 참조 픽처를 인코딩하는 단계 - 적어도 하나의 상기 참조 픽처는, 재구성될 때, 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 대체하고, 상기 정보는 픽처 순서 카운트 또는 참조 픽처 인덱스를 포함함 -; 및
- 상기 참조 픽처로부터 상기 픽처 블록을 인코딩하는 단계
를 포함하는, 픽처 블록의 인코딩 방법. - 제7항에 있어서, 상기 다른 재구성된 참조 픽처와 상기 참조 픽처는 시간적으로 정렬되어 있는 것을 특징으로 하는, 픽처 블록의 인코딩 방법.
- 제7항 또는 제8항에 있어서, 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처가 상기 참조 픽처로 대체되는 순간을 나타내는 정보를 인코딩하는 단계(22)를 더 포함하는, 픽처 블록의 인코딩 방법.
- 제7항 또는 제8항에 있어서, 상기 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 인코딩하는 단계를 더 포함하는, 픽처 블록의 인코딩 방법.
- 제7항 또는 제8항에 있어서, 상기 다른 재구성된 참조 픽처는 계층화된 스트림의 기본 계층에 인코딩되는 것을 특징으로 하는, 픽처 블록의 인코딩 방법.
- 제11항에 있어서, 상기 참조 픽처 및 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 식별하기 위한 상기 정보는 상기 계층화된 스트림의 향상 계층에 인코딩되는 것을 특징으로 하는, 픽처 블록의 인코딩 방법.
- 디코딩 디바이스로서,
- 디코더 픽처 버퍼에서 재구성된 참조 픽처를 식별하는 것을 허용하는 스트림으로부터의 정보를 디코딩하는 수단, 및 상기 스트림으로부터의 데이터를 디코딩하는 수단 - 상기 정보는 픽처 순서 카운트 또는 참조 픽처 인덱스를 포함함 -;
- 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처로부터 그리고 상기 디코딩된 데이터로부터 다른 참조 픽처를 재구성하는 수단;
- 상기 디코더 픽처 버퍼에서 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처를 상기 다른 참조 픽처로 대체하는 수단; 및
- 적어도 상기 다른 참조 픽처로부터 픽처 블록을 재구성하는 수단
을 포함하는, 디코딩 디바이스. - 제13항에 있어서, 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처와 상기 다른 참조 픽처는 시간적으로 정렬되어 있는 것을 특징으로 하는, 디코딩 디바이스.
- 제13항 또는 제14항에 있어서, 상기 디코더 픽처 버퍼에서 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처가 상기 다른 참조 픽처로 대체되는 순간을 나타내는 정보를 디코딩하기 위한 수단을 더 포함하는 디코딩 디바이스.
- 제13항 또는 제14항에 있어서, 상기 다른 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 디코딩하기 위한 수단을 더 포함하는 디코딩 디바이스.
- 제13항 또는 제14항에 있어서, 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처는 계층화된 스트림의 기본 계층(base layer)으로부터 디코딩되는 것을 특징으로 하는 디코딩 디바이스.
- 제17항에 있어서, 상기 디코딩된 데이터 및 상기 정보에 의해 식별되는 상기 재구성된 참조 픽처를 식별하기 위한 상기 정보는 상기 계층화된 스트림의 향상 계층(enhancement layer)으로부터 디코딩되는 것을 특징으로 하는 디코딩 디바이스.
- 코딩 디바이스로서,
- 다른 재구성된 참조 픽처 및 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 식별하기 위한 정보로부터 참조 픽처를 인코딩하는 수단 - 적어도 하나의 상기 참조 픽처는, 재구성될 때, 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 대체하고, 상기 정보는 픽처 순서 카운트 또는 참조 픽처 인덱스를 포함함 -; 및
- 상기 참조 픽처로부터 픽처 블록을 인코딩하는 수단
을 포함하는 코딩 디바이스. - 제19항에 있어서, 상기 다른 재구성된 참조 픽처와 상기 참조 픽처는 시간적으로 정렬되어 있는 것을 특징으로 하는 코딩 디바이스.
- 제19항 또는 제20항에 있어서, 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처가 상기 참조 픽처로 대체되는 순간을 나타내는 정보를 인코딩하는 수단을 더 포함하는 코딩 디바이스.
- 제19항 또는 제20항에 있어서, 상기 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 인코딩하는 수단을 더 포함하는 코딩 디바이스.
- 제19항 또는 제20항에 있어서, 상기 다른 재구성된 참조 픽처는 계층화된 스트림의 기본 계층(base layer)에서 인코딩되는 것을 특징으로 하는 코딩 디바이스.
- 제23항에 있어서, 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 식별하기 위한 정보 및 상기 참조 픽처는 상기 계층화된 스트림의 향상 계층(enhancement layer)에서 인코딩되는 것을 특징으로 하는 코딩 디바이스.
- 데이터 스트림이 방법에 의해 인코딩되어 있는 비-일시적 저장 매체로서,
상기 방법은,
다른 재구성된 참조 픽처 및 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 식별하기 위한 정보로부터 참조 픽처를 인코딩하는 단계 - 적어도 하나의 상기 참조 픽처는, 재구성될 때, 상기 디코더 픽처 버퍼에서 상기 다른 재구성된 참조 픽처를 대체하고, 상기 정보는 픽처 순서 카운트 또는 참조 픽처 인덱스를 포함함 -; 및
- 상기 참조 픽처로부터 픽처 블록을 인코딩하는 단계
를 포함하는 비-일시적 저장 매체. - 제25항에 있어서, 상기 다른 재구성된 참조 픽처와 상기 참조 픽처는 시간적으로 정렬되어 있는 것을 특징으로 하는, 비-일시적 저장 매체.
- 제25항 또는 제26항에 있어서, 상기 데이터 스트림은 상기 디코더 픽처 버퍼에서 상기 재구성된 참조 픽처가 상기 참조 픽처로 대체되는 순간을 나타내는 정보를 더 포함하는 것을 특징으로 하는, 비-일시적 저장 매체.
- 제25항 또는 제26항에 있어서, 상기 데이터 스트림은 상기 참조 픽처가 디스플레이되는지 여부를 나타내는 플래그를 더 포함하는 것을 특징으로 하는, 비-일시적 저장 매체.
- 제1항, 제2항, 제7항, 또는 제8항의 중 어느 한 항의 방법을 구현하기 위한 프로그램 코드 명령들을 저장하는 비-일시적 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13305201.9A EP2804374A1 (en) | 2013-02-22 | 2013-02-22 | Coding and decoding methods of a picture block, corresponding devices and data stream |
EP13305201.9 | 2013-02-22 | ||
PCT/EP2014/052998 WO2014128074A1 (en) | 2013-02-22 | 2014-02-17 | Coding and decoding methods of a picture block, corresponding devices and data stream |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150120988A KR20150120988A (ko) | 2015-10-28 |
KR102173508B1 true KR102173508B1 (ko) | 2020-11-03 |
Family
ID=47877955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157022436A KR102173508B1 (ko) | 2013-02-22 | 2014-02-17 | 픽처 블록의 코딩 및 디코딩 방법, 대응하는 디바이스 및 데이터 스트림 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10701373B2 (ko) |
EP (2) | EP2804374A1 (ko) |
JP (1) | JP6310947B2 (ko) |
KR (1) | KR102173508B1 (ko) |
CN (1) | CN105009593A (ko) |
BR (1) | BR112015018420B1 (ko) |
WO (1) | WO2014128074A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2804375A1 (en) | 2013-02-22 | 2014-11-19 | Thomson Licensing | Coding and decoding methods of a picture block, corresponding devices and data stream |
JP6365924B2 (ja) * | 2013-05-09 | 2018-08-01 | サン パテント トラスト | 画像復号方法及び画像復号装置 |
MX360655B (es) * | 2014-05-21 | 2018-11-12 | Arris Entpr Llc | Gestión individual de memorias intermedias en transporte de video escalable. |
MX364550B (es) * | 2014-05-21 | 2019-04-30 | Arris Entpr Llc | Señalización y selección para la mejora de capas en vídeo escalable. |
US9807419B2 (en) * | 2014-06-25 | 2017-10-31 | Qualcomm Incorporated | Recovery point SEI message in multi-layer video codecs |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480541B1 (en) * | 1996-11-27 | 2002-11-12 | Realnetworks, Inc. | Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts |
FR2782437B1 (fr) * | 1998-08-14 | 2000-10-13 | Thomson Multimedia Sa | Procede de commutation de flux mpeg |
US6466624B1 (en) * | 1998-10-28 | 2002-10-15 | Pixonics, Llc | Video decoder with bit stream based enhancements |
US7017176B1 (en) | 1999-06-10 | 2006-03-21 | Cisco Technology, Inc. | Data transmission over multiple upstream channels within a cable modem system |
US20060093045A1 (en) * | 1999-06-29 | 2006-05-04 | Roger Anderson | Method and apparatus for splicing |
US6850568B1 (en) * | 2000-01-12 | 2005-02-01 | Sony Corporation | Method and apparatus for decoding mpeg video signals |
US6542541B1 (en) * | 2000-01-12 | 2003-04-01 | Sony Corporation | Method and apparatus for decoding MPEG video signals using multiple data transfer units |
US6574273B1 (en) * | 2000-01-12 | 2003-06-03 | Sony Corporation | Method and apparatus for decoding MPEG video signals with continuous data transfer |
US20020122491A1 (en) | 2001-01-03 | 2002-09-05 | Marta Karczewicz | Video decoder architecture and method for using same |
US6920175B2 (en) | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
KR100878812B1 (ko) * | 2005-05-26 | 2009-01-14 | 엘지전자 주식회사 | 영상신호의 레이어간 예측에 대한 정보를 제공하고 그정보를 이용하는 방법 |
JP4574444B2 (ja) * | 2005-05-27 | 2010-11-04 | キヤノン株式会社 | 画像復号装置及び方法、画像符号化装置及び方法、コンピュータプログラム及び記憶媒体 |
WO2006129184A1 (en) * | 2005-06-03 | 2006-12-07 | Nokia Corporation | Residual prediction mode in scalable video coding |
US8335226B2 (en) | 2005-08-03 | 2012-12-18 | Broadcom Corporation | Systems and methods to transmit information among a plurality of physical upstream channels |
JP2009508454A (ja) | 2005-09-07 | 2009-02-26 | ヴィドヨ,インコーポレーテッド | スケーラブルなビデオ符号化を用いたスケーラブルで低遅延のテレビ会議用システムおよび方法 |
US8213452B2 (en) | 2006-07-18 | 2012-07-03 | Broadcom Corporation | Optimized scheduling method using ordered grants from a central controller |
US8311102B2 (en) | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
EP1933563A1 (en) * | 2006-12-14 | 2008-06-18 | Thomson Licensing | Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer residual prediction |
US20080212673A1 (en) | 2007-03-01 | 2008-09-04 | Peisong Chen | Systems and Methods for Adaptively Determining I Frames for Acquisition and Base and Enhancement Layer Balancing |
CN101094406B (zh) | 2007-07-23 | 2010-09-29 | 北京中星微电子有限公司 | 一种视频数据流的传输方法及装置 |
US8126054B2 (en) | 2008-01-09 | 2012-02-28 | Motorola Mobility, Inc. | Method and apparatus for highly scalable intraframe video coding |
WO2009136681A1 (en) | 2008-05-08 | 2009-11-12 | Lg Electronics Inc. | Method for encoding and decoding image, and apparatus for displaying image |
US20100118938A1 (en) | 2008-11-12 | 2010-05-13 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Encoder and method for generating a stream of data |
US8201207B2 (en) | 2008-12-15 | 2012-06-12 | Cisco Technology, Inc. | Apparatus and methods for moving cable modems between upstream channels |
US20120075436A1 (en) * | 2010-09-24 | 2012-03-29 | Qualcomm Incorporated | Coding stereo video data |
GB2500835B (en) * | 2010-12-10 | 2014-02-12 | Ibm | High-dynamic range video tone mapping |
CN108391135B (zh) | 2011-06-15 | 2022-07-19 | 韩国电子通信研究院 | 可伸缩解码方法/设备、可伸缩编码方法/设备和介质 |
WO2012173440A2 (ko) | 2011-06-15 | 2012-12-20 | 한국전자통신연구원 | 스케일러블 비디오 코딩 및 디코딩 방법과 이를 이용한 장치 |
MX2014000159A (es) * | 2011-07-02 | 2014-02-19 | Samsung Electronics Co Ltd | Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada. |
US10003817B2 (en) * | 2011-11-07 | 2018-06-19 | Microsoft Technology Licensing, Llc | Signaling of state information for a decoded picture buffer and reference picture lists |
EP2804375A1 (en) | 2013-02-22 | 2014-11-19 | Thomson Licensing | Coding and decoding methods of a picture block, corresponding devices and data stream |
WO2015085575A1 (en) * | 2013-12-13 | 2015-06-18 | Mediatek Singapore Pte. Ltd. | Methods for background residual prediction |
-
2013
- 2013-02-22 EP EP13305201.9A patent/EP2804374A1/en not_active Withdrawn
-
2014
- 2014-02-17 KR KR1020157022436A patent/KR102173508B1/ko active IP Right Grant
- 2014-02-17 EP EP14705136.1A patent/EP2959688B1/en active Active
- 2014-02-17 CN CN201480009848.9A patent/CN105009593A/zh active Pending
- 2014-02-17 WO PCT/EP2014/052998 patent/WO2014128074A1/en active Application Filing
- 2014-02-17 JP JP2015558408A patent/JP6310947B2/ja active Active
- 2014-02-17 BR BR112015018420-0A patent/BR112015018420B1/pt active IP Right Grant
- 2014-02-17 US US14/769,087 patent/US10701373B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2959688B1 (en) | 2022-05-18 |
US10701373B2 (en) | 2020-06-30 |
EP2959688A1 (en) | 2015-12-30 |
WO2014128074A1 (en) | 2014-08-28 |
CN105009593A (zh) | 2015-10-28 |
BR112015018420A2 (pt) | 2017-07-18 |
BR112015018420B1 (pt) | 2023-04-11 |
JP6310947B2 (ja) | 2018-04-11 |
KR20150120988A (ko) | 2015-10-28 |
EP2804374A1 (en) | 2014-11-19 |
US20160014419A1 (en) | 2016-01-14 |
JP2016511591A (ja) | 2016-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750830B2 (en) | Coding and decoding methods of a picture block, corresponding devices and data stream | |
US20220086497A1 (en) | Subpicture entity group signaling in coded video | |
KR102173508B1 (ko) | 픽처 블록의 코딩 및 디코딩 방법, 대응하는 디바이스 및 데이터 스트림 | |
KR20230150284A (ko) | 효율적인 비디오 인코더 아키텍처 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |